HomeAmbiente di testVetrinaAppDocBlog
    • Englishinglese
      EN
    • русскийrusso
      RU
    • 日本語giapponese
      JA
    • françaisfrancese
      FR
    • 한국어coreano
      KO
    • 中文cinese
      ZH
    • españolspagnolo
      ES
    • Deutschtedesco
      DE
    • العربيةarabo
      AR
    • italianoitaliano
      IT
    • British Englishinglese britannico
      EN-GB
    • portuguêsportoghese
      PT
    • हिन्दीhindi
      HI
    • Türkçeturco
      TR
    • polskipolacco
      PL
    • Indonesiaindonesiano
      ID
    • Tiếng Việtvietnamita
      VI
    • українськаucraino
      UK
    /
    Filtra la documentazione per framework
    Alt+←
    Perché Intlayer?
    Iniziare
    Concetto
    • Come funziona Intlayer
    • Configurazione
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Editor visuale
    • CMS
    • Integrazione CI/CD
    • TraduzionePluraleEnumerazioneCondizioneGenereInserimentoFileAnnidamentoMarkdownHTMLRecupero funzione
    • File per locale
    • Compilatore
    • Compilazione automatica
    • Test
    • Ottimizzazione del bundle
    Ambiente
    • Next.js 14 e App Router
      Next.js 15
      Next.js senza locale URL
      Next.js e Page Router
      Compiler
    • Tanstack Start Solid
    • Astro e React
      Astro e Svelte
      Astro e Vue
      Astro e Solid
      Astro e Preact
      Astro e Lit
      Astro e Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt e Vue
    • Vite e Solid
    • SvelteKit
    • Vite e Preact
    • Vite e Vanilla JS
    • Vite e Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native e Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx e React
    Plugins
    • JSON
    • gettext (.po)
    Estensione VS Code
    Agente
    • Server MCP
    • Abilità dell’agente
    Versioni
    • v8
    • v7
    • v6
    Benchmark
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Blog
    Fai una domanda
    1. Documentation
    2. Versioni
    3. v6
    Creazione:2025-09-22Ultimo aggiornamento:2025-09-22
    Riferimento a questa documentazione al tuo assistente AI preferito
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    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 inglese

    Cronologia delle versioni

      Il contenuto di questa pagina è stato tradotto con un'IA.

      Vedi l'ultima versione del contenuto originale in inglese
      Modifica questa documentazione

      Se hai un’idea per migliorare questa documentazione, non esitare a contribuire inviando una pull request su GitHub.

      Collegamento GitHub alla documentazione
      Copia

      Copia il Markdown del documento nella porta-documenti

      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.

      Punti salienti

      • Nuovo comando: npx intlayer content test per rilevare le traduzioni mancanti
      • Nuova opzione globale autoFill per 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' e pnpm 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.

      bash
      Copiare il codice

      Copiare il codice nella clipboard

      npx intlayer content test

      Output:

      bash
      Copiare il codice

      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: 0

      Consulta 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.

      intlayer.config.ts
      Copiare il codice

      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.

      bash
      Copiare il codice

      Copiare il codice nella clipboard

      npx intlayer fill
      bash
      Copiare il codice

      Copiare 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.ts

      Esempi 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
      • 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
      bash
      Copiare il codice

      Copiare il codice nella clipboard

      npx intlayer build

      Output:

      bash
      Copiare il codice

      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.
      intlayer.config.ts
      Copiare il codice

      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.

      1. Abilita la modalità di importazione live:
      intlayer.config.ts
      Copiare il codice

      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;
      1. Esegui la tua app e il processo live affiancati:
      bash
      Copiare il codice

      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.


      Note sulla migrazione

      • Rimosso: dictionaryOutput (precedentemente i18next o next-intl). Tornerà come adattatori pluggabili nelle versioni future. Rimuovi il campo dalla tua configurazione.
      • Rimozione correlata: i18nextResourcesDir (vedi changelog in doc/configuration).
      • Preferisci la nuova opzione globale content.autoFill per generare traduzioni mancanti su larga scala.
      • Usa npx intlayer content test per 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

      Link utili

      • Riferimento CLI
      • Compilazione automatica
      • Configurazione
      • Riferimento file di contenuto
      • Estensione ufficiale per VS Code
      • CMS e Sincronizzazione Live
      v7
      Benchmark
      Alt+→

      In questa pagina

        Le discussioni sono anonime e vengono regolarmente esaminate per affrontare problemi comuni. Sentiti libero di condividere idee per nuove funzionalità, feedback sulla documentazione o qualsiasi cosa relativa a Intlayer, utilizziamo questi input per definire la nostra roadmap e migliorare il prodotto.

        npx intlayer content test
        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: 0
        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;
        npx intlayer fill
        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.ts
        npx intlayer build
        [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)
        export default {  log: {    mode: "verbose", // opzioni: "default" | "verbose" | "disabled"  },};
        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;
        npx intlayer live --with 'vite preview'