Clés de traduction

Mis à jour le : le trimestre dernier · 2 min de lecture

Déconseillé

Cette documentation couvre l’ancien CLI (v0). La version actuelle du CLI est la v1. Voir la documentation actuelle du CLI

Le CLI Lingo.dev propose quatre contrôles au niveau des clés qui déterminent le comportement de chaque clé de traduction pendant le traitement. Chacun répond à un usage précis :

ContrôleChamp de configurationComportement
Verrouillage des cléslockedKeysCopie les valeurs source dans toutes les langues cibles, sans les traduire. Les clés apparaissent dans les fichiers cibles avec des valeurs identiques.
Exclusion des clésignoredKeysExclut complètement les clés du traitement. Elles n'apparaissent pas dans les fichiers cibles.
Préservation des cléspreservedKeysInitialise les clés une seule fois à partir de la source, puis les protège des mises à jour automatiques. Idéal pour les contenus qui nécessitent une traduction manuelle.
Renommage des clésAutomatiqueDétecte les clés renommées et conserve les traductions existantes. Aucune configuration n'est nécessaire.

Quand utiliser chaque option#

Lock une clé lorsque sa valeur doit rester identique dans toutes les langues — noms de marque, identifiants techniques, valeurs de configuration :

json
{ "lockedKeys": ["brand/name", "config/apiUrl"] }

Ignore une clé lorsqu'elle ne doit pas apparaître du tout dans les fichiers cibles — chaînes de débogage, indicateurs internes, données de test :

json
{ "ignoredKeys": ["internal/debug", "dev/testData"] }

Preserve une clé lorsqu'elle nécessite une traduction manuelle — textes juridiques, contenus de conformité, textes marketing qui nécessitent une relecture humaine :

json
{ "preservedKeys": ["legal/privacy", "legal/terms"] }

Le renommage est automatique — le CLI détecte lorsqu'une clé change de nom mais que son contenu reste identique, et réutilise la traduction existante sans la retraduire.

Notation des chemins de clés#

Tous les tableaux de clés utilisent la barre oblique (/) pour les chemins imbriqués et l'astérisque (*) comme joker :

json
{
  "lockedKeys": ["brand/name"],
  "ignoredKeys": ["internal/*"],
  "preservedKeys": ["legal/privacy/full"]
}

Les clés dont le nom contient des points sont gérées naturellement — la barre oblique sépare les niveaux de hiérarchie, donc modules/ai.translation cible correctement la clé "ai.translation" à l'intérieur de l'objet "modules".

Étapes suivantes#