Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Historique des versions
- "Update compiler options, add FilePathPattern support"v8.2.010/03/2026
- "Mise à jour des options du compilateur"v8.1.725/02/2026
- "Sortie du Compiler"v7.3.127/11/2025
Le 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
Intlayer Compiler | Extraction Automatisée de Contenu pour i18n
Qu'est-ce que l'Intlayer Compiler ?
Le Intlayer Compiler est un outil puissant conçu pour automatiser le processus d'internationalisation (i18n) dans vos applications. Il analyse votre code source (JSX, TSX, Vue, Svelte) à la recherche de déclarations de contenu, les extrait, et génère automatiquement les fichiers de dictionnaire nécessaires. Cela vous permet de garder votre contenu localisé avec vos composants tandis qu'Intlayer gère la gestion et la synchronisation de vos dictionnaires.
Pourquoi utiliser le Intlayer Compiler ?
- Automatisation : Élimine le copier-coller manuel du contenu dans les dictionnaires.
- Rapidité : Extraction de contenu optimisée garantissant que votre processus de build reste rapide.
- Expérience développeur : Gardez les déclarations de contenu là où elles sont utilisées, améliorant ainsi la maintenabilité.
- Mises à jour en direct : Prend en charge le Hot Module Replacement (HMR) pour un retour instantané pendant le développement.
Consultez l'article de blog Compiler vs. Declarative i18n pour une comparaison plus approfondie.
Pourquoi ne pas utiliser l'Intlayer Compiler ?
Bien que le compilateur offre une excellente expérience "fonctionne tout seul", il introduit également certains compromis dont vous devez être conscient :
- Ambiguïté heuristique : Le compilateur doit deviner ce qui est du contenu destiné aux utilisateurs par rapport à la logique de l'application (par exemple,
className="active", codes de statut, identifiants de produits). Dans des bases de code complexes, cela peut conduire à de faux positifs ou à des chaînes manquées qui nécessitent des annotations manuelles et des exceptions. - Extraction statique uniquement : L'extraction basée sur le compilateur repose sur l'analyse statique. Les chaînes qui n'existent qu'à l'exécution (codes d'erreur API, champs CMS, etc.) ne peuvent pas être découvertes ou traduites par le compilateur seul, vous avez donc toujours besoin d'une stratégie i18n d'exécution complémentaire.
Pour une comparaison architecturale plus approfondie, consultez l'article de blog Compiler vs. Declarative i18n.
Comme alternative, pour automatiser votre processus i18n tout en gardant un contrôle total de votre contenu, Intlayer fournit également une commande d'auto-extraction intlayer extract (voir la documentation CLI), ou la commande Intlayer: extract content to Dictionary de l'extension Intlayer VS Code (voir la documentation de l'extension VS Code).
Utilisation
Vite
Pour les applications basées sur Vite (React, Vue, Svelte, etc.), la manière la plus simple d'utiliser le compilateur est via le plugin vite-intlayer.
Installation
Copier le code dans le presse-papiers
Configuration
Mettez à jour votre vite.config.ts pour inclure le plugin intlayerCompiler :
Copier le code dans le presse-papiers
See complete tutorial: Intlayer Compiler with Vite+React
Support des frameworks
Le plugin Vite détecte et gère automatiquement différents types de fichiers :
- React / JSX / TSX : Pris en charge nativement.
- Vue : Nécessite
@intlayer/vue-compiler. - Svelte : Nécessite
@intlayer/svelte-compiler.
Assurez-vous d'installer le paquet compilateur approprié pour votre framework :
Copier le code dans le presse-papiers
Configuration personnalisée
Pour personnaliser le comportement du compilateur, vous pouvez mettre à jour le fichier intlayer.config.ts à la racine de votre projet.
Copier le code dans le presse-papiers
Référence de la configuration du compilateur
Les propriétés suivantes peuvent être configurées dans le bloc compiler de votre fichier intlayer.config.ts :
enabled:
- Type:
boolean | 'build-only' - Par défaut:
true - Description: Indique si le compilateur doit être activé.
- Type:
dictionaryKeyPrefix:
- Type:
string - Par défaut:
'' - Description: Préfixe pour les clés de dictionnaire extraites.
- Type:
transformPattern:
- Type:
string | string[] - Par défaut:
['**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}', '!**/node_modules/**'] - Description: (Obsolète : utilisez
build.traversePatternà la place) Modèles pour parcourir le code à optimiser.
- Type:
excludePattern:
- Type:
string | string[] - Par défaut:
['**/node_modules/**'] - Description: (Obsolète : utilisez
build.traversePatternà la place) Modèles à exclure de l'optimisation.
- Type:
output:
- Type:
FilePathPattern - Par défaut:
({ key }) => 'compiler/${key}.content.json' - Description: Définit le chemin des fichiers de sortie. Remplace
outputDir. Gère les variables dynamiques telles que{{locale}},{{key}},{{fileName}},{{extension}},{{format}},{{dirPath}},{{componentFileName}},{{componentExtension}},{{componentFormat}}. Peut être configuré sous forme de chaîne à l'aide du format'my/{{var}}/path'ou sous forme de fonction. - Note:
./**/*Les chemins sont résolus par rapport au composant./**/*les chemins sont résolus par rapport aubaseDird'Intlayer. - Note: Si la locale est définie dans le chemin, cela générera des dictionnaires par locale.
- Exemple:
output: ({ locale, key }) => 'compiler/${locale}/${key}.json'
- Type:
noMetadata:
- Type:
boolean - Par défaut:
false - Description: Indique si les métadonnées doivent être enregistrées dans le fichier. Si vrai, le compilateur n'enregistrera pas les métadonnées des dictionnaires (clé, enveloppe de contenu). Utile pour les sorties JSON i18next ou ICU MessageFormat par locale.
- Note: Utile si utilisé avec le plugin
loadJSON. - Exemple:
Si
true:json { "key": "value" }Sifalse:json { "key": "value", "content": { "key": "value" } }
- Type:
saveComponents:
- Type:
boolean - Par défaut:
false - Description: Indique si les composants doivent être enregistrés après avoir été transformés.
- Si
true, le compilateur réécrira le fichier du composant sur le disque. La transformation sera permanente et le compilateur pourra ensuite être supprimé. - Si
false, le compilateur injectera l'appel de fonctionuseIntlayer()dans le code du build uniquement et gardera la base de code intacte. La transformation sera effectuée uniquement en mémoire.
- Si
- Type:
Remplir les traductions manquantes
Intlayer fournit un outil CLI pour vous aider à remplir les traductions manquantes. Vous pouvez utiliser la commande intlayer pour tester et remplir les traductions manquantes à partir de votre code.
Copier le code dans le presse-papiers
Copier le code dans le presse-papiers
Extraction
Intlayer propose un outil CLI pour extraire le contenu de votre code. Vous pouvez utiliser la commande intlayer extract pour extraire le contenu de votre code.
Copier le code dans le presse-papiers
Pour plus de détails, consultez la documentation CLI