Traduire

Comment traduire votre projet

Utilisation

Exécutez ceci dans votre pipeline CI avant de construire votre application pour la production.

npx gtx-cli translate

Remarque : Cette commande nécessite une clé API de production ! Obtenez-en une sur la plateforme.

Aperçu

La commande gtx-cli translate traduit votre projet.
Elle parcourt l'arborescence de fichiers de votre projet et traduit tout contenu encapsulé dans un composant <T>
ou utilisant les fonctions useGT().

De plus, elle inclut le contenu du fichier dictionnaire (si un est fourni).

Cette commande est le principal moyen d'utiliser l'API de traduction générale et les services associés.

À utiliser uniquement en production !

Cette commande est destinée aux builds de production et ne doit pas être utilisée en développement. Avant d'exécuter cette commande, veuillez vous assurer que vous êtes sur la branche qui sera utilisée pour la production. N'oubliez pas non plus d'indiquer votre clé API de production (GT_API_KEY) et l'ID du projet (GT_PROJECT_ID) dans vos variables d'environnement.

Utilisation

Il existe 3 façons d'utiliser la commande translate. Les méthodes 1 et 2 nécessitent une clé API de production :

Nous recommandons d'exécuter l'assistant de configuration : npx gtx-cli configure pour vous aider à configurer votre projet avant d'exécuter la commande translate. Selon la configuration de votre projet, le comportement de la commande translate peut varier.

Méthode 1 : Traduisez les fichiers JSON de votre projet.

Si vous utilisez d'autres bibliothèques i18n telles que next-intl, react-i18next ou next-i18next, vous pouvez utiliser cette méthode pour traduire les fichiers JSON de votre projet.

Les traductions seront automatiquement enregistrées dans votre base de code.

Pour utiliser l'outil CLI afin de traduire les fichiers JSON de votre projet, modifiez votre fichier gt.config.json pour inclure json dans la propriété files. Consultez la documentation de configuration CLI pour plus de détails.

npx gtx-cli translate

L'outil CLI détectera automatiquement votre bibliothèque i18n en lisant votre fichier package.json, et traduira vos fichiers JSON tout en respectant la syntaxe de votre bibliothèque i18n.

Méthode 2 : Traduisez votre projet GT.

Si votre projet utilise gt-next ou gt-react, vous pouvez utiliser cette méthode pour générer des traductions pour votre projet.

npx gtx-cli translate

Par défaut, les traductions sont enregistrées sur le CDN de GT.

Cependant, si vous souhaitez enregistrer les traductions dans votre base de code, ajoutez la propriété gt à l'objet files dans le fichier gt.config.json.

gt-next et gt-react prennent en charge la diffusion des traductions en local, ainsi que l'utilisation du CDN public de General Translation. Nous recommandons d'utiliser le CDN pour réduire la latence, améliorer les performances et diminuer la taille des bundles.

Consultez la documentation de configuration CLI pour plus de détails.

Méthode 3 : Validez les composants <T> et le fichier dictionnaire de votre projet.

Cette méthode est utile pour valider les composants <T> et le fichier dictionnaire de votre projet.

Cela garantit que votre projet est correctement configuré et que les traductions seront valides et précises.

Aucune traduction ne sera générée si l'option --dry-run est utilisée.

npx gtx-cli translate --dry-run

Flags

ParamètreDescriptionTypeOptionnelDéfaut
--api-keySpécifier une clé API de productionstringtrue
--project-idSpécifier l'ID du projetstringtrue
--version-idSpécifier un ID de version (par défaut, un hash du contenu)stringtrue
--config <path>Spécifier un chemin vers le fichier de configuration GTstringtrue"gt.config.json"
--tsconfig, --jsconfig <path>Spécifier un chemin vers le fichier de configuration TS ou JSstringtrue
--src <paths>Spécifier le(s) répertoire(s) source à analyser[string]true./src && ./app && ./pages && ./components
--dictionary <path>Spécifier un chemin vers le fichier dictionnairestringtrue
--inlineInclure les balises <T> en ligne en plus du dictionnairebooleantruetrue
--timeoutLe délai d'expiration pour la requête de traduction en secondesnumbertrue600
--new, --locales <locales>Locales vers lesquelles traduire votre projet[string]true
--default-locale <locale>La locale source pour le projetstringtrueen
--ignore-errorsIgnorer les erreurs et forcer la traduction pour le contenu valideflagtruefalse
--dry-runExécuter la commande en mode testflagtruefalse

Tous ces paramètres sont optionnels.

N'ajoutez pas votre clé API au fichier gt.config.json ! Vous devriez plutôt la définir comme variable d'environnement. Le CLI lira automatiquement GT_API_KEY si elle est définie.

Il y a quelques paramètres clés :

ParamètreDescription
--dry-runCe flag fera que le CLI analysera et validera votre projet, mais ne communiquera pas avec l'API GT. Ceci est utile pour valider votre base de code.
--api-keyÀ moins que vous n'utilisiez --dry-run, vous devez fournir une clé API de production.
--project-idDe même, à moins que vous n'utilisiez --dry-run, vous devez fournir un ID de projet.
--new, --locales <locales>Locales vers lesquelles traduire votre projet. Celles-ci seront ajoutées aux locales spécifiées dans votre fichier gt.config.json.

Fichier de configuration

Lors de la première exécution de l'outil CLI, il tentera de créer un fichier gt.config.json à la racine de votre projet. Ce fichier contient des métadonnées sur votre projet qui sont utilisées pour traduire votre contenu.

En savoir plus sur le fichier gt.config.json ici.

Conseils Importants

Sources de Contenu

La commande translate recherchera récursivement le contenu traduisible dans votre projet.

Par défaut, elle recherche dans les répertoires suivants :

  • ./src
  • ./app
  • ./pages
  • ./components

Vous pouvez spécifier des répertoires alternatifs à rechercher en utilisant le flag --src, ou en modifiant la propriété src dans votre fichier gt.config.json.

Fichier Dictionnaire

La commande translate détectera automatiquement le fichier dictionnaire dans votre projet.

Par défaut, elle recherche un fichier nommé dictionary.[json|ts|js] dans les répertoires suivants :

  • ./src
  • ./

Vous pouvez spécifier un fichier dictionnaire alternatif en utilisant le flag --dictionary, ou en modifiant la propriété dictionary dans votre fichier gt.config.json.

Comment trouvez-vous ce guide ?