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
    /
    Alt+←
    Cos'è l'internazionalizzazione (i18n)?
    SEO e i18n
    Guida
    • i18n con next-i18next
    • i18n con next-intl
    Usa Intlayer sulla tua soluzione
    • Automatizza next-i18next
    • Automatizza react-i18next
    • Automatizza next-intl
    • Automatizza react-intl
    • Automatizza vue-i18n
    Comparazioni
    • next-i18next vs next-intl vs Intlayer
    • react-i18next vs react-intl vs Intlayer
    Documentazione
    1. Blog
    2. Intlayer with react i18next
    Creazione:2025-01-02Ultimo aggiornamento:2025-10-29
    Guarda il video tutorial

    Questa pagina ha un video tutorial disponibile.

    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

    Cronologia delle versioni

    1. Aggiunto plugin loadJSON
      v7.0.601/11/2025
    2. Cambiato in plugin syncJSON
      v7.0.029/10/2025

    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

    Come automatizzare le traduzioni JSON di react-i18next usando Intlayer

    www.youtube.com

    Cos'è Intlayer?

    Intlayer è una libreria di internazionalizzazione innovativa e open-source progettata per superare le limitazioni delle soluzioni i18n tradizionali. Offre un approccio moderno alla gestione dei contenuti nelle applicazioni React.

    Consulta un confronto concreto con react-i18next nel nostro post sul blog react-i18next vs. react-intl vs. Intlayer.

    Perché combinare Intlayer con react-i18next?

    Sebbene Intlayer offra una soluzione i18n autonoma eccellente (vedi la nostra guida all'integrazione con React), potresti volerlo combinare con react-i18next per diversi motivi:

    1. Codice esistente: Hai un'implementazione consolidata di react-i18next e desideri migrare gradualmente alla migliore esperienza sviluppatore offerta da Intlayer.
    2. Requisiti legacy: Il tuo progetto richiede compatibilità con plugin o flussi di lavoro esistenti di react-i18next.
    3. Familiarità del team: Il tuo team è abituato a react-i18next ma desidera una migliore gestione dei contenuti.
    4. Utilizzo delle funzionalità di Intlayer: Vuoi utilizzare funzionalità di Intlayer come la dichiarazione dei contenuti, l'automazione delle traduzioni, il testing delle traduzioni e altro ancora.

    Per questo, Intlayer può essere implementato come un adattatore per react-i18next per aiutare ad automatizzare le tue traduzioni JSON in CLI o pipeline CI/CD, testare le tue traduzioni e altro ancora.

    Questa guida ti mostra come sfruttare il sistema superiore di dichiarazione dei contenuti di Intlayer mantenendo la compatibilità con react-i18next.

    Indice

    Guida passo-passo per configurare Intlayer con react-i18next

    Passo 1: Installa le dipendenze

    Installa i pacchetti necessari:

    bash
    Copiare il codice

    Copiare il codice nella clipboard

    npm install intlayer @intlayer/sync-json-plugin --save-devnpx intlayer init

    Descrizione dei pacchetti:

    • intlayer: Libreria core per la gestione dell'internazionalizzazione, dichiarazione dei contenuti e build
    • @intlayer/sync-json-plugin: Plugin per esportare le dichiarazioni di contenuto di Intlayer in un formato JSON compatibile con react-i18next

    Passo 2: Implementa il plugin Intlayer per avvolgere il JSON

    Crea un file di configurazione Intlayer per definire le tue localizzazioni supportate:

    Se vuoi anche esportare dizionari JSON per react-i18next, aggiungi il plugin syncJSON:

    intlayer.config.ts
    Copiare il codice

    Copiare il codice nella clipboard

    import { Locales, type IntlayerConfig } from "intlayer";import { syncJSON } from "@intlayer/sync-json-plugin";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    defaultLocale: Locales.ENGLISH,  },  plugins: [    syncJSON({      source: ({ key, locale }) => `./locales/${locale}/${key}.json`,    }),  ],};export default config;

    Il plugin syncJSON avvolgerà automaticamente il JSON. Leggerà e scriverà i file JSON senza modificare l'architettura del contenuto.

    Se vuoi far coesistere quel JSON con i file di dichiarazione del contenuto di Intlayer (file .content), Intlayer procederà in questo modo:

    plaintext
    Copiare il codice

    Copiare il codice nella clipboard

    1. caricherà sia i file JSON che i file di dichiarazione del contenuto e li trasformerà in un dizionario Intlayer.2. se ci sono conflitti tra i file JSON e i file di dichiarazione del contenuto, Intlayer procederà alla fusione di tutti quei dizionari. A seconda della priorità dei plugin e di quella del file di dichiarazione del contenuto (tutti configurabili).

    Se vengono apportate modifiche utilizzando la CLI per tradurre il JSON, o utilizzando il CMS, Intlayer aggiornerà il file JSON con le nuove traduzioni.

    Per maggiori dettagli sul plugin syncJSON, si prega di fare riferimento alla documentazione del plugin syncJSON.

    (Opzionale) Passo 3: Implementare traduzioni JSON per componente

    Per impostazione predefinita, Intlayer caricherà, unirà e sincronizzerà sia i file JSON che i file di dichiarazione del contenuto. Vedi la documentazione sulla dichiarazione del contenuto per maggiori dettagli. Ma se preferisci, usando un plugin Intlayer, puoi anche implementare la gestione per componente di JSON localizzati ovunque nel tuo codice.

    Per questo, puoi usare il plugin loadJSON.

    intlayer.config.ts
    Copiare il codice

    Copiare il codice nella clipboard

    import { Locales, type IntlayerConfig } from "intlayer";import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    defaultLocale: Locales.ENGLISH,  },  // Mantieni i tuoi file JSON attuali sincronizzati con i dizionari Intlayer  plugins: [    /**     * Caricherà tutti i file JSON nella cartella src che corrispondono al pattern {key}.i18n.json     */    loadJSON({      source: ({ key }) => `./src/**/${key}.i18n.json`,      locale: Locales.ENGLISH,      priority: 1, // Garantisce che questi file JSON abbiano la precedenza sui file in `./locales/en/${key}.json`    }),    /**     * Caricherà e scriverà l'output e le traduzioni nei file JSON nella directory delle localizzazioni     */    syncJSON({      source: ({ key, locale }) => `./locales/${locale}/${key}.json`,      priority: 0,    }),  ],};export default config;

    Questo caricherà tutti i file JSON nella directory src che corrispondono al modello {key}.i18n.json e li caricherà come dizionari Intlayer.

    Configurazione Git

    Si consiglia di ignorare i file generati automaticamente da Intlayer:

    .gitignore
    Copiare il codice

    Copiare il codice nella clipboard

    # Ignora i file generati da Intlayer.intlayer

    Questi file possono essere rigenerati durante il processo di build e non è necessario includerli nel controllo di versione.

    Estensione VS Code

    Per migliorare l'esperienza dello sviluppatore, installa l'Estensione ufficiale Intlayer per VS Code:

    Installa dal Marketplace di VS Code

    Automatizza next-i18next
    Automatizza next-intl
    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.

      npm install intlayer @intlayer/sync-json-plugin --save-devnpx intlayer init
      import { Locales, type IntlayerConfig } from "intlayer";import { syncJSON } from "@intlayer/sync-json-plugin";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    defaultLocale: Locales.ENGLISH,  },  plugins: [    syncJSON({      source: ({ key, locale }) => `./locales/${locale}/${key}.json`,    }),  ],};export default config;
      1. caricherà sia i file JSON che i file di dichiarazione del contenuto e li trasformerà in un dizionario Intlayer.2. se ci sono conflitti tra i file JSON e i file di dichiarazione del contenuto, Intlayer procederà alla fusione di tutti quei dizionari. A seconda della priorità dei plugin e di quella del file di dichiarazione del contenuto (tutti configurabili).
      import { Locales, type IntlayerConfig } from "intlayer";import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    defaultLocale: Locales.ENGLISH,  },  // Mantieni i tuoi file JSON attuali sincronizzati con i dizionari Intlayer  plugins: [    /**     * Caricherà tutti i file JSON nella cartella src che corrispondono al pattern {key}.i18n.json     */    loadJSON({      source: ({ key }) => `./src/**/${key}.i18n.json`,      locale: Locales.ENGLISH,      priority: 1, // Garantisce che questi file JSON abbiano la precedenza sui file in `./locales/en/${key}.json`    }),    /**     * Caricherà e scriverà l'output e le traduzioni nei file JSON nella directory delle localizzazioni     */    syncJSON({      source: ({ key, locale }) => `./locales/${locale}/${key}.json`,      priority: 0,    }),  ],};export default config;
      # Ignora i file generati da Intlayer.intlayer