Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
En intégrant le serveur MCP Intlayer à votre assistant AI, vous pouvez récupérer tous les documents directement depuis ChatGPT, DeepSeek, Cursor, VSCode, etc.
Voir la documentation du serveur MCPLe contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisSi vous avez une idée d’amélioration pour améliorer cette documentation, n’hésitez pas à contribuer en submitant une pull request sur GitHub.
Lien GitHub de la documentationCopier le Markdown du doc dans le presse-papiers
Déclaration de contenu Par-Langue dans Intlayer
Intlayer prend en charge deux manières de déclarer du contenu multilingue :
- Un seul fichier avec toutes les traductions
- Un fichier par langue (format par-langue)
Cette flexibilité permet :
- Migration facile depuis d'autres outils i18n
- Support des flux de travail de traduction automatisés
- Organisation claire des traductions dans des fichiers distincts spécifiques à chaque langue
Fichier unique avec plusieurs traductions
Ce format est idéal pour :
- Itération rapide dans le code.
- Intégration fluide avec le CMS.
C'est l'approche recommandée pour la plupart des cas d'utilisation. Elle centralise les traductions, ce qui facilite l'itération et l'intégration avec le CMS.
Copier le code dans le presse-papiers
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", content: { multilingualContent: t({ en: "Title of my component", es: "Título de mi componente", }), },} satisfies Dictionary;export default helloWorldContent;
Recommandé : Ce format est idéal lorsque vous utilisez l'éditeur visuel d'Intlayer ou que vous gérez les traductions directement dans le code.
Format par locale
Ce format est utile lorsque :
- Vous souhaitez versionner ou remplacer les traductions de manière indépendante.
- Vous intégrez des flux de travail de traduction automatique ou humaine.
Vous pouvez également répartir les traductions dans des fichiers individuels par locale en spécifiant le champ locale :
Copier le code dans le presse-papiers
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, // Important content: { multilingualContent: "Titre de mon composant" }, // Titre traduit en français dans le commentaire} satisfies Dictionary;export default helloWorldContent;
Copier le code dans le presse-papiers
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.SPANISH, // Important content: { multilingualContent: "Título de mi componente" }, // Texte original en espagnol conservé} satisfies Dictionary;export default helloWorldContent;
Important : Assurez-vous que le champ locale est défini. Il indique à Intlayer la langue que représente le fichier.
Remarque : Dans les deux cas, le fichier de déclaration de contenu doit suivre le modèle de nommage *.content.{ts,tsx,js,jsx,mjs,cjs,json} pour être reconnu par Intlayer. Le suffixe .[locale] est optionnel et utilisé uniquement comme convention de nommage.
Mélange des formats
Vous pouvez combiner les deux approches de déclaration pour la même clé de contenu. Par exemple :
- Déclarez votre contenu de base de manière statique dans un fichier comme index.content.ts.
- Ajoutez ou remplacez des traductions spécifiques dans des fichiers séparés tels que index.fr.content.ts ou index.content.json.
Cette configuration est particulièrement utile lorsque :
- Vous souhaitez définir la structure initiale du contenu dans le code.
- Vous prévoyez d'enrichir ou de compléter les traductions plus tard en utilisant le CMS ou des outils automatisés.
Copier le code dans le presse-papiers
.└── Components └── MyComponent ├── index.content.ts ├── index.content.json └── index.ts
Exemple
Voici un fichier de déclaration de contenu multilingue :
Copier le code dans le presse-papiers
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, content: { multilingualContent: "Titre de mon composant", projectName: "Mon projet", },} satisfies Dictionary;export default helloWorldContent;
Copier le code dans le presse-papiers
{ "$schema": "https://intlayer.org/schema.json", "key": "hello-world", "content": { "multilingualContent": { "nodeType": "translation", "translation": { "fr": "Titre de mon composant", "es": "Título de mi componente" } } }}
Intlayer fusionne automatiquement les fichiers multilingues et par locale.
Copier le code dans le presse-papiers
import { getIntlayer, Locales } from "intlayer";const intlayer = getIntlayer("hello-world"); // La locale par défaut est ANGLAIS, donc cela retournera le contenu en ANGLAISconsole.log(JSON.stringify(intlayer, null, 2));// Résultat :// {// "multilingualContent": "Titre de mon composant",// "projectName": "Mon projet"// }const intlayer = getIntlayer("hello-world", Locales.SPANISH);console.log(JSON.stringify(intlayer, null, 2));// Résultat :// {// "multilingualContent": "Título de mi componente",// "projectName": "Mon projet"// }const intlayer = getIntlayer("hello-world", Locales.FRENCH);console.log(JSON.stringify(intlayer, null, 2));// Résultat :// {// "multilingualContent": "Titre de mon composant",// "projectName": "Mon projet"// }
Génération automatique de traduction
Utilisez le intlayer CLI pour remplir automatiquement les traductions manquantes en fonction de vos services préférés.
Historique de la documentation
- 5.5.10 - 2025-06-29 : Historique initial