Il contenuto di questa pagina è stato tradotto con un'IA.
Vedi l'ultima versione del contenuto originale in ingleseIntlayer supporta due modi per dichiarare contenuti multilingue:
- File unico con tutte le traduzioni
- Un file per locale (formato per-locale)
Questa flessibilità consente:
- Migrazione semplice da altri strumenti i18n
- Supporto per flussi di lavoro di traduzione automatizzati
- Organizzazione chiara delle traduzioni in file separati e specifici per locale
File Unico con Traduzioni Multiple
Questo formato è ideale per:
- Iterazioni rapide nel codice.
- Integrazione senza problemi con il CMS.
Questo è l'approccio raccomandato per la maggior parte dei casi d'uso. Centralizza le traduzioni, rendendo facile iterare e integrare con il CMS.
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", content: { multilingualContent: t({ it: "Titolo del mio componente", en: "Title of my component", es: "Título de mi componente", }), },} satisfies Dictionary;export default helloWorldContent;
Raccomandato: Questo formato è il migliore quando si utilizza l'editor visivo di Intlayer o si gestiscono le traduzioni direttamente nel codice.
Formato Per-Locale
Questo formato è utile quando:
- Si desidera versionare o sovrascrivere traduzioni in modo indipendente.
- Si stanno integrando flussi di lavoro di traduzione automatica o manuale.
È possibile anche suddividere le traduzioni in file individuali per locale specificando il campo locale:
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, // Importante content: { multilingualContent: "Title of my component" },} satisfies Dictionary;export default helloWorldContent;
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.SPANISH, // Importante content: { multilingualContent: "Título de mi componente" },};
Importante: Assicurarsi che il campo locale sia definito. Indica a Intlayer quale lingua rappresenta il file.
Nota: In entrambi i casi, il file di dichiarazione del contenuto deve seguire il pattern di denominazione *.content.{ts,tsx,js,jsx,mjs,cjs,json} per essere riconosciuto da Intlayer. Il suffisso .[locale] è opzionale e utilizzato solo come convenzione di denominazione.
Formati Misti
È possibile mescolare entrambi gli approcci per la stessa chiave di contenuto. Ad esempio:
Dichiarare contenuti predefiniti o di base staticamente (es. index.content.ts)
Aggiungere o sovrascrivere contenuti specifici per locale in index.content.json, index.fr.content.ts, ecc.
Questo è particolarmente utile quando:
- Si desidera dichiarare il contenuto di base staticamente nel proprio codice e riempire automaticamente con traduzioni nel CMS.
.└── Components └── MyComponent ├── index.content.ts ├── index.content.json └── index.ts
Esempio
Ecco un file di dichiarazione di contenuto multilingue:
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, content: { multilingualContent: "Title of my component", projectName: "My project", },} satisfies Dictionary;export default helloWorldContent;
{ "$schema": "/schema.json", "key": "hello-world", "content": { "multilingualContent": { "nodeType": "translation", "translation": { "it": "Titolo del mio componente", "fr": "Titre de mon composant", "es": "Título de mi componente" } } }}
Intlayer unisce automaticamente file multilingue e per-locale.
import { getIntlayer, Locales } from "intlayer";const intlayer = getIntlayer("hello-world"); // La lingua predefinita è ENGLISH, quindi restituirà il contenuto in ENGLISHconsole.log(JSON.stringify(intlayer, null, 2));// Risultato:// {// "multilingualContent": "Title of my component",// "projectName": "My project"// }const intlayer = getIntlayer("hello-world", Locales.SPANISH);console.log(JSON.stringify(intlayer, null, 2));// Risultato:// {// "multilingualContent": "Título de mi componente",// "projectName": "My project"// }const intlayer = getIntlayer("hello-world", Locales.FRENCH);console.log(JSON.stringify(intlayer, null, 2));// Risultato:// {// "multilingualContent": "Titre de mon composant",// "projectName": "My project"// }
Generazione Automatica delle Traduzioni
Utilizza il CLI di Intlayer per riempire automaticamente le traduzioni mancanti in base ai tuoi servizi preferiti.
Se hai un’idea per migliorare questa documentazione, non esitare a contribuire inviando una pull request su GitHub.
Collegamento GitHub alla documentazione