Ricevi notifiche sui prossimi lanci di Intlayer
    Creazione:2025-09-22Ultimo aggiornamento:2025-09-22

    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 = 'live' 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
    npx intlayer content test

    Output:

    bash
    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
    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
    npx intlayer fill
    bash
    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
    npx intlayer build

    Output:

    bash
    [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
    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
    import { type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  build: {    importMode: "live", // "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
    npx intlayer live --process '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

    Ricevi notifiche sui prossimi lanci di Intlayer