Pose una domanda e ottieni un riassunto del documento facendo riferimento a questa pagina e al provider AI di tua scelta
Questo documento non è aggiornato, la versione base è stata aggiornata il 23 settembre 2025.
Vai alla documentazione in ingleseCronologia delle versioni
Il contenuto di questa pagina è stato tradotto con un'IA.
Vedi l'ultima versione del contenuto originale in ingleseIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Nuovo Intlayer v6 - Novità
Benvenuto in Intlayer v6! Questa versione si concentra su prestazioni, esperienza dello sviluppatore e affidabilità. Di seguito i punti salienti, con note di migrazione ed esempi da copiare e incollare.
Sommario
Punti salienti
- Nuovo comando:
npx intlayer content testper rilevare le traduzioni mancanti - Nuova opzione globale
autoFillper generare automaticamente le traduzioni mancanti - Il comando Fill salta per impostazione predefinita le traduzioni esistenti:
npx intlayer fill - Estensione VS Code: nuova Intlayer Activity Bar (Ricerca e Dizionari), azioni sulla toolbar/context, auto-rivelazione, comandi Fill/Test
- Build 10× più veloci grazie alla parallelizzazione delle promise
- Caching remoto del dizionario per evitare il refetch all'avvio dell'app
- Logging migliorato: imposta
log.mode: 'verbose'per ispezionare il comportamento - Validazione più rigorosa per prevenire crash dell'app su problemi di dizionario
- Aggiornamenti live con CMS usando
build.importMode = 'fetch'epnpm intlayer live - Correzioni: integrazione Vue.js, adattatore Lynx, Visual Editor su Windows
Nuovo: Test delle traduzioni mancanti
Esegui rapidamente un audit del tuo progetto per trovare quali chiavi/locali mancano.
Copiare il codice nella clipboard
npx intlayer content testOutput:
Copiare il codice nella clipboard
pnpm intlayer content testTraduzioni mancanti: - blog-data - Giapponese (ja), Coreano (ko), Cinese (zh), Tedesco (de), Italiano (it) - src/components/BlogPage/blogData.content.ts - demo-page - Francese (fr), Italiano (it) - src/components/DemoPage/demo.content.ts - locale-switcher - Italiano (it), Portoghese (pt) - src/components/LocaleSwitcher/localeSwitcher.content.tsLocali: Inglese (en), Russo (ru), Giapponese (ja), Francese (fr), Coreano (ko), Cinese (zh), Spagnolo (es), Tedesco (de), Arabo (ar), Italiano (it), Inglese britannico (en-GB), Portoghese (pt), Hindi (hi)Locali richieste: Inglese (en)Locali mancanti: Giapponese (ja), Coreano (ko), Cinese (zh), Tedesco (de), Italiano (it), Francese (fr), Portoghese (pt)Locali richieste mancanti: -Totale locali mancanti: 7Totale locali richiesti mancanti: 0Consulta più opzioni nella documentazione CLI: Riferimento CLI → "Test traduzioni mancanti". Così come la guida Testing.
Novità: autoFill globale per completare le traduzioni mancanti
Ora puoi abilitare l'auto‑fill globalmente in modo che qualsiasi dizionario con traduzioni mancanti venga completato automaticamente.
Copiare il codice nella clipboard
import { type IntlayerConfig, Locales } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, requiredLocales: [Locales.ENGLISH, Locales.FRENCH], }, content: { // Genera automaticamente le traduzioni mancanti per tutti i dizionari autoFill: "./{{fileName}}.content.ts", // // autoFill: "/messages/{{locale}}/{{key}}/{{fileName}}.content.json", // // autoFill: true, // genera automaticamente le traduzioni mancanti per tutti i dizionari come usando "./{{fileName}}.content.json" // // autoFill: { // en: "./{{fileName}}.en.content.json", // fr: "./{{fileName}}.fr.content.json", // es: "./{{fileName}}.es.content.json", // }, },};export default config;Puoi ancora perfezionare per dizionario utilizzando il campo autoFill nei file di contenuto. Consulta la documentazione completa in doc/autoFill e doc/dictionary/content_file.
Comando fill: impostazioni predefinite più sicure
Il comando fill ora, per impostazione predefinita, riempie solo le traduzioni mancanti e salta il contenuto esistente.
Copiare il codice nella clipboard
npx intlayer fillCopiare il codice nella clipboard
Chiavi del dizionario interessate per l'elaborazione: access-key-creation-form-schema, doc-search-metadata, doc-search-page - [access-key-creation-form-schema] Il dizionario non ha un percorso file. Saltando. - [access-key-creation-form-schema] Elaborazione della dichiarazione di contenuto: src/components/Dashboard/ProjectForm/AccessKey/useAccessKeyCreationFormSchema.content.ts - [access-key-creation-form-schema] Nessuna locale da riempire - Dizionario saltato - [doc-search-metadata] Il dizionario non ha un percorso file. Saltato. - [doc-search-metadata] Elaborazione della dichiarazione di contenuto: src/app/[locale]/(docs)/doc/search/metadata.content.ts - [doc-search-metadata] Nessuna localizzazione da riempire - Dizionario saltato - [doc-search-page] Il dizionario non ha un percorso file. Saltato. - [doc-search-page] Elaborazione della dichiarazione di contenuto: src/app/[locale]/(docs)/doc/search/page.content.ts - [doc-search-page] [Russo (ru)] Preparazione della traduzione per il dizionario da Inglese (en) a Russo (ru)[intlayer] Applicata la formattazione Prettier a src/app/[locale]/(docs)/doc/search/page.content.ts - [doc-search-page] Dichiarazione di contenuto scritta in src/app/[locale]/(docs)/doc/search/page.content.tsEsempi di CI sono disponibili in CI/CD.
Estensione VS Code aggiornata
L'estensione ora include una scheda Intlayer dedicata nella Barra delle Attività e diversi miglioramenti del flusso di lavoro:
- Barra delle Attività Intlayer con due viste:
- Webview di ricerca (
intlayer.searchBar) per la ricerca live nel dizionario/contenuto - Albero dei dizionari (
intlayer.dictionaries) che elenca ambienti, dizionari e file contributori
- Webview di ricerca (
- Barra degli strumenti nella vista Dizionari: Build, Pull, Push, Fill, Refresh, Test, Create Dictionary File
- Menu contestuali: Pull/Push sui dizionari; Fill sui file
- Rilevamento automatico: il file corrente nell'editor è evidenziato nell'albero dei Dizionari quando applicabile
- Nuovi comandi disponibili dalla Command Palette: Riempi Dizionari e Testa Dizionari
Consulta i dettagli nella documentazione della Estensione Ufficiale per VS Code.
Prestazioni: 10× più veloce
- Risoluzione parallela dei dizionari locali e remoti
- I dizionari remoti sono memorizzati nella cache per evitare di essere recuperati nuovamente all'avvio dell'app
Copiare il codice nella clipboard
npx intlayer buildOutput:
Copiare il codice nella clipboard
[intlayer] Preparazione di Intlayer (v6.0.1)[intlayer] Dizionari:[intlayer] ✓ Contenuto locale: 163/163[intlayer] ✓ Contenuto remoto: 100/100[intlayer] - access-key-creation-form [locale: ✔ costruito] [remoto: ✔ importato][intlayer] - access-key-creation-form-schema [local: ✔ built] [distant: ✔ imported][intlayer] - access-key-form [local: ✔ built] [distant: ✔ imported][intlayer] - ai-ab-testing-section [distant: ✔ imported][intlayer] - application-not-running-view [local: ✔ built] [distant: ✔ imported][intlayer] - application-template-message [local: ✔ built] [distant: ✔ fetched][intlayer] - aside-navigation [local: ✔ built] [distant: ✔ imported][intlayer] - ask-reset-password [local: ✔ built] [distant: ✔ imported][intlayer] - ask-reset-password-schema [local: ✔ built] [distant: ✔ imported][intlayer] - sezione-autocompletamento [local: ✔ built] [distant: ✔ fetched][intlayer] - sezione-tecnologie-disponibili [local: ✔ built] [distant: ✔ imported][intlayer] - dati-blog [local: ✔ built][intlayer] - metadati-blog [local: ✔ built][intlayer] - lista-navigazione-blog [local: ✔ built] [distant: ✔ imported][intlayer] - pagina-blog [distant: ✔ fetched][intlayer] - metadati-ricerca-blog [local: ✔ built] [distant: ✔ imported][intlayer] - pagina-ricerca-blog [local: ✔ built] [distant: ✔ imported]...[intlayer] Contenuto caricato (Totale: 8401ms - Locale: 4050ms - Remoto: 4222ms)Miglioramenti al sistema di logging
Il sistema di logging è stato migliorato per fornire informazioni più dettagliate su ciò che accade durante le trasformazioni in fase di build e runtime.
Abilita i log dettagliati per comprendere meglio cosa accade durante le trasformazioni in fase di build e runtime.
Copiare il codice nella clipboard
export default { log: { mode: "verbose", // opzioni: "default" | "verbose" | "disabled" },};Consulta la Configurazione per tutte le opzioni di logging.
Validazione più rigorosa
Il processo di gestione dei dizionari ora esegue una validazione più robusta. Quando un dizionario non riesce a essere processato, Intlayer evita di interrompere la tua applicazione e mostra errori azionabili.
Aggiornamenti live con CMS (Sicuro per la produzione)
Fornisci aggiornamenti di contenuto in tempo reale (ad esempio, aggiornamenti editoriali) in produzione senza ricostruire la tua applicazione.
- Abilita la modalità di importazione live:
Copiare il codice nella clipboard
import { type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { build: { importMode: "fetch", // "static" | "dynamic" | "live" }, editor: { liveSync: true, // abilita la sincronizzazione live lato server },};export default config;- Esegui la tua app e il processo live affiancati:
Copiare il codice nella clipboard
npx intlayer live --with 'vite preview'Note:
- Solo i dizionari contrassegnati per usare la modalità live saranno recuperati in tempo reale. Gli altri sono ottimizzati per le prestazioni.
- Torna all'importazione dinamica se l'API live non è raggiungibile.
Vedi CMS e Live Sync e Configurazione per una guida completa.
Processo parallelo per monitorare i file su turbopack
Quando si utilizza Turbopack su Next.js 14 e versioni successive come server di sviluppo con il comando next dev --turbopack, le modifiche al dizionario non verranno rilevate automaticamente per impostazione predefinita.
Questa limitazione si verifica perché Turbopack non può eseguire plugin webpack in parallelo per monitorare le modifiche nei file di contenuto.
Per aggirare questo problema, abbiamo utilizzato il comando intlayer watch, usando l'opzione --with per eseguire contemporaneamente sia il server di sviluppo che il watcher di build di Intlayer.
Copiare il codice nella clipboard
{ "scripts": { "dev": "npx intlayer watch --with 'next dev --turbopack'", },}Note sulla migrazione
- Rimosso:
dictionaryOutput(precedentementei18nextonext-intl). Tornerà come adattatori pluggabili nelle versioni future. Rimuovi il campo dalla tua configurazione. - Rimozione correlata:
i18nextResourcesDir(vedi changelog indoc/configuration). - Preferisci la nuova opzione globale
content.autoFillper generare traduzioni mancanti su larga scala. - Usa
npx intlayer content testper bloccare le PR in caso di traduzioni mancanti. - Per una diagnostica dettagliata, imposta
log.mode = 'verbose'.
Correzioni
- Stabilità dell'integrazione con Vue.js
- Miglioramenti all'adattatore Lynx
- Editor Visivo su Windows
Note sulla migrazione da v6 a v7
Consulta le note sulla migrazione da v6 a v7 per ulteriori informazioni.