Ajout de langues
Lingo.dev CLI simplifie l'expansion de votre projet vers de nouvelles langues en ajoutant des locales cibles à votre configuration i18n.json
et en exécutant une seule commande.
Lorsque vous ajoutez de nouvelles langues, le CLI génère des fichiers de traduction complets pour les nouvelles locales tout en préservant toutes les traductions existantes et en maintenant le même système d'empreinte digitale du contenu.
Ajout de votre première nouvelle langue
Pour ajouter une nouvelle langue, mettez à jour le tableau targets
dans votre configuration i18n.json
:
Configuration d'origine :
{
"locale": {
"source": "en",
"targets": ["es", "fr"]
},
"buckets": {
"json": {
"include": ["locales/[locale].json"]
}
}
}
Configuration mise à jour avec l'allemand :
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"json": {
"include": ["locales/[locale].json"]
}
}
}
L'exécution de npx lingo.dev@latest i18n
crée le nouveau fichier de traduction allemand :
locales/
en.json (source - inchangé)
es.json (existant - inchangé)
fr.json (existant - inchangé)
de.json (nouveau - entièrement traduit)
Comment fonctionne la génération de nouvelles langues
Lingo.dev CLI traite les nouvelles langues différemment des langues existantes :
- Langues existantes — Seules les traductions manquantes sont générées
- Nouvelles langues — Des fichiers de traduction complets sont créés à partir de zéro
Exemple avec des traductions existantes partielles :
// locales/en.json (source)
{
"welcome": "Welcome",
"button.save": "Save",
"error.network": "Network error"
}
// locales/es.json (existant avec traductions manquantes)
{
"welcome": "Bienvenido"
}
Après avoir ajouté l'allemand et exécuté le CLI :
// locales/es.json (lacunes comblées)
{
"welcome": "Bienvenido",
"button.save": "Guardar",
"error.network": "Error de red"
}
// locales/de.json (nouveau fichier complet)
{
"welcome": "Willkommen",
"button.save": "Speichern",
"error.network": "Netzwerkfehler"
}
Ajout de plusieurs langues
Vous pouvez ajouter plusieurs langues simultanément :
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja", "zh"]
}
}
Le CLI traite toutes les nouvelles langues, créant des fichiers de traduction complets pour chaque nouvelle locale.
Variantes régionales
Lingo.dev CLI prend en charge les variantes régionales des langues en utilisant les balises de langue BCP 47 :
{
"locale": {
"source": "en-US",
"targets": ["en-GB", "es-ES", "es-MX", "fr-FR", "fr-CA"]
}
}
Cela génère des fichiers de traduction distincts pour chaque variante régionale, tenant compte des différences de terminologie, d'orthographe et de contexte culturel.
Impact sur la structure des fichiers
Le CLI crée de nouveaux fichiers selon vos modèles de bucket. Pour différents formats de fichiers :
Buckets JSON :
locales/[locale].json → locales/de.json, locales/ja.json
Buckets Markdown :
content/[locale]/*.md → content/de/*.md, content/ja/*.md
Structures imbriquées :
app/[locale]/messages.json → app/de/messages.json, app/ja/messages.json
Ajout ciblé de langues
Vous pouvez générer des traductions pour de nouvelles langues spécifiques en utilisant le flag --locale
:
npx lingo.dev@latest i18n --locale de
Cela génère uniquement les traductions en allemand, laissant les autres nouvelles langues pour un traitement ultérieur.
Suppression de langues
Pour supprimer une langue, retirez-la simplement du tableau targets
. Le CLI ne supprimera pas les fichiers existants, mais il cessera de traiter cette locale :
{
"locale": {
"source": "en",
"targets": ["es", "fr"]
}
}
Vous pouvez supprimer manuellement les fichiers de traduction correspondants si nécessaire.