gtx-cli@2.10.0
Vue d’ensemble
gtx-cli 2.10.0 ajoute la prise en charge des métadonnées par clé dans les fichiers de traduction JSON et YAML. Il s’agit d’instructions de traduction définies pour chaque clé, qui vous donnent un contrôle fin sur la manière dont chaque chaîne est traduite.
Jusqu’à présent, le contexte de traduction des fichiers basés sur des clés était géré au niveau du projet. Les règles de style, les entrées de glossaire et les règles propres à chaque locale s’appliquaient globalement à l’ensemble de votre contenu. Les métadonnées par clé vous permettent d’aller un niveau plus loin en associant directement des indications de traduction spécifiques à certaines clés de vos fichiers.
À quoi cela ressemble
Vous créez un fichier de métadonnées associé, placé à côté de votre fichier source, qui en reproduit la structure de clés. Au niveau le plus bas, au lieu de chaînes de caractères, vous fournissez des objets de métadonnées contenant des instructions de traduction :
{
"nav": {
"home": "Home",
"bank": "Bank",
"save": "Save"
},
"alerts": {
"new_lead": "You have a new lead!"
}
}{
"nav": {
"home": {
"context": "Terme de baseball — le marbre sur un terrain. PAS une maison."
},
"bank": {
"context": "Berge — le bord d'une rivière. PAS un établissement financier."
},
"save": {
"context": "Terme sportif — un gardien de but arrêtant un tir. PAS une sauvegarde de données.",
"maxChars": 12
}
},
"alerts": {
"new_lead": {
"context": "Contexte ventes/CRM. Un 'lead' est un client potentiel.",
"maxChars": 30
}
}
}Le fichier associé doit se trouver dans le même répertoire que le fichier source et suivre la convention de nommage {name}.metadata.json (ou .metadata.yaml pour les fichiers YAML). La CLI le détecte automatiquement lorsque vous exécutez npx gt translate.
Avec un contexte par clé, "Bank" se traduit par "Ribera" (rive) plutôt que par le possible "Banco" (établissement financier), et "Save" devient "Parada" (arrêt du gardien) au lieu de "Guardar" (enregistrer). Pour les chaînes qui sont déjà sans ambiguïté, vous n’avez pas besoin de fournir de métadonnées — ajoutez simplement des entrées pour les clés qui en tirent parti.
Champs pris en charge
Nous prenons actuellement en charge trois champs de métadonnées :
context— instructions de traduction pour une chaîne donnée. C’est le champ qui a le plus d’impact : utilisez-le pour lever les ambiguïtés, préciser la terminologie métier ou clarifier l’intention.maxChars— nombre maximal de caractères pour le texte traduit. Il s’agit d’un objectif à respecter dans la mesure du possible : le moteur utilisera des synonymes plus courts et une formulation concise pour s’y conformer, mais ne tronquera pas une traduction pour la faire tenir dans une longueur irréaliste.sourceCode— contexte du code source entourant une chaîne. Il vous permet d’indiquer au moteur où et comment la chaîne est utilisée dans votre base de code, ce qui l’aide à prendre de meilleures décisions en matière de ton, de terminologie et de formulation.
Tous les champs sont facultatifs pour chaque clé. Pour obtenir des informations complètes et des exemples pour chaque champ, consultez la référence des métadonnées par clé.
Prise en charge du format YAML
La même approche fonctionne pour les fichiers YAML. Créez un fichier compagnon .metadata.yaml avec la même structure de clés :
ui:
buttons:
save:
context: "Sports term — a goalkeeper's save. NOT saving data."
draft:
context: "Beer on tap, as in 'draft beer'. NOT a document version."
labels:
date:
context: "The edible fruit of the date palm. NOT a calendar date."
chips:
context: "British English: hot fried potato strips (french fries). NOT crisps or microchips."