Pose una domanda e ottieni un riassunto del documento facendo riferimento a questa pagina e al provider AI di tua scelta
Integrando il server MCP Intlayer al tuo assistente AI, puoi recuperare tutti i documenti direttamente da ChatGPT, DeepSeek, Cursor, VSCode, ecc.
Vedi la documentazione del server MCPCronologia delle versioni
- Aggiunto il plugin loadJSONv7.0.601/11/2025
- Modificato in plugin syncJSONv7.0.029/10/2025
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
Come automatizzare le traduzioni JSON di react-intl usando Intlayer
Indice
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-intl nel nostro post sul blog react-i18next vs. react-intl vs. Intlayer.
Perché combinare Intlayer con react-intl?
Sebbene Intlayer offra una soluzione i18n autonoma eccellente (vedi la nostra guida all'integrazione con React), potresti volerlo combinare con react-intl per diversi motivi:
- Codice esistente: Hai un'implementazione consolidata di react-intl e desideri migrare gradualmente verso la migliore esperienza di sviluppo offerta da Intlayer.
- Requisiti legacy: Il tuo progetto richiede la compatibilità con plugin o flussi di lavoro esistenti di react-intl.
- Familiarità del team: Il tuo team è abituato a react-intl ma desidera una migliore gestione dei contenuti.
- Utilizzo delle funzionalità di Intlayer: Vuoi sfruttare le 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-intl per aiutarti 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-intl.
Guida passo-passo per configurare Intlayer con react-intl
Passo 1: Installa le dipendenze
Installa i pacchetti necessari:
npm install intlayer @intlayer/sync-json-pluginDescrizione dei pacchetti:
- intlayer: Libreria core per la gestione dell'internazionalizzazione, la dichiarazione dei contenuti e la compilazione
- @intlayer/sync-json-plugin: Plugin per esportare le dichiarazioni di contenuto di Intlayer in un formato JSON compatibile con react-intl
Passo 2: Implementa il plugin Intlayer per incapsulare il JSON
Crea un file di configurazione Intlayer per definire le tue localizzazioni supportate:
Se vuoi anche esportare dizionari JSON per react-intl, aggiungi il plugin syncJSON:
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 }) => `./intl/messages/${locale}/${key}.json`, }), ],};export default config;Il plugin syncJSON incapsulerà 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:
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 effettuate modifiche usando 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, utilizzando un plugin Intlayer, puoi anche implementare la gestione per componente di JSON localizzati ovunque nel tuo codice.
Per questo, puoi usare il plugin loadJSON.
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 nuovamente nei file JSON nella directory delle localizzazioni */ syncJSON({ source: ({ key, locale }) => `./messages/${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:
Copiare il codice nella clipboard
# Ignora i file generati da Intlayer.intlayerQuesti file possono essere rigenerati durante il processo di build e non devono essere inseriti nel controllo di versione.
Estensione VS Code
Per migliorare l'esperienza dello sviluppatore, installa l'Estensione ufficiale Intlayer per VS Code: