Pose una domanda e ottieni un riassunto del documento facendo riferimento a questa pagina e al provider AI di tua scelta
Cronologia delle versioni
- "Cronologia iniziale"v9.7.103/11/2026
Il contenuto di questa pagina è stato tradotto con un'IA.
Vedi l'ultima versione del contenuto originale in ingleseSe hai un’idea per migliorare questa documentazione, non esitare a contribuire inviando una pull request su GitHub.
Collegamento GitHub alla documentazioneCopia il Markdown del documento nella porta-documenti
Plugin Prettier
prettier-plugin-intlayer organizza le chiavi delle tue traduzioni in un ordine fisso ogni volta che Prettier formatta un file. I diff restano ridotti, i conflitti di merge diventano più rari e individuare una lingua mancante diventa immediato.
Copiare il codice nella clipboard
Installazione
Copiare il codice nella clipboard
Richiede Prettier 3 o versioni successive.
Se il tuo progetto utilizza già Prettier, intlayer init prettier installa il plugin e lo aggiunge automaticamente alla tua configurazione.
Utilizzo
Aggiungi il plugin alla tua configurazione di Prettier:
Copiare il codice nella clipboard
Per applicarlo unicamente alle dichiarazioni di contenuto, usa un override:
Copiare il codice nella clipboard
Cosa viene ordinato
t(): lingue (locales)
Le lingue fissate compaiono per prime (en per impostazione predefinita). Le altre lingue seguono in ordine alfabetico.
Copiare il codice nella clipboard
plural(): ordine CLDR
Le categorie vanno dalla quantità più piccola fino al fallback: zero, one, two, few, many, other.
Copiare il codice nella clipboard
enu(): soglie crescenti
Le condizioni sono ordinate in base al valore numerico e successivamente per operatore (<1, <=1, 1, >=1, >1). fallback va posizionato per ultimo.
Copiare il codice nella clipboard
Durante l'esecuzione prevale la prima condizione corrispondente. Il plugin applica il nuovo ordine solo quando ogni quantità restituisce comunque lo stesso contenuto. Nel caso in cui l'ordine determini il risultato, l'oggetto non viene modificato. Ad esempio, in { '<1': …, '<=-2.3': … } la chiave '<1' intercetta qualsiasi numero negativo.
select(): alfabetico
I casi sono ordinati alfabeticamente e fallback viene posto per ultimo.
Copiare il codice nella clipboard
Senza una chiave fallback o other, l'ultimo caso funge da fallback. Tale caso rimane in fondo e vengono ordinati unicamente i casi precedenti.
File .content.json
La forma serializzata viene ordinata allo stesso modo: { "nodeType": "translation", "translation": { … } }, così come i nodi plural, enumeration e select.
Chiavi di contenuto (opzionale)
Con intlayerSortContentKeys: true, il plugin ordina inoltre alfabeticamente le chiavi di content del dizionario a ogni livello di annidamento. Questa opzione ha effetto solo sui file *.content.*.
Copiare il codice nella clipboard
L'ordinamento continua all'interno di ciascun helper (t, plural, enu, select, cond, gender, md, insert, nest, file…) per raggiungere gli oggetti in essi contenuti. La struttura interna di ciascun helper mantiene il proprio ordinamento. Le chiavi passate a cond() e gender() non vengono mai riordinate poiché l'ultima chiave funge da fallback. I campi adiacenti a content (key, title, locale…) rimangono inalterati.
Opzioni
Apri la tabella in una finestra modale per visualizzare tutti i dati in modo chiaro
| Opzione | Predefinito | Descrizione |
|---|---|---|
intlayerPinnedLocales | ["en"] | Lingue mantenute in testa in t(), in questo ordine. Passa [] per ordinare ogni lingua. |
intlayerSortContentKeys | false | Nei file *.content.*, ordina anche le chiavi di contenuto del dizionario e gli oggetti annidati. |
Cosa rimane invariato
- Oggetti contenenti spread (
...base), chiavi calcolate ([key]), metodi o chiavi duplicate. - Mappe
plural()aventi una chiave che non corrisponde a una categoria CLDR. - Mappe
enu()il cui nuovo ordine modificherebbe il contenuto risolto. - Chiamate ad altre funzioni con nome analogo a un helper a cui viene passato un argomento diverso da un oggetto.
I commenti si spostano insieme alla chiave a cui appartengono.
Parser supportati
babel, babel-flow, babel-ts, typescript, flow, acorn, espree, meriyah, json, json5 e jsonc. I blocchi <script> dei file Vue, Svelte e Astro vengono formattati con questi parser.
Limitazione nota. Prettier esegue un solo plugin per parser. Se un altro plugin sostituisce a sua volta i parser JavaScript/TypeScript (ad esempioprettier-plugin-tailwindcss), solo l'ultimo dell'elenco verrà applicato a tali file. Limita l'ambito diprettier-plugin-intlayerai file*.content.*tramite un override per prevenire conflitti.
