gtx-cli@2.3.0
Vue d’ensemble
Dans gtx-cli 2.3.0, nous avons mis à jour le comportement des commandes translate et upload et accru la visibilité sur le pipeline de traduction.
Translate
Historiquement, translate déclenchait à la fois les traductions et une configuration initiale unique du projet en arrière-plan (génération du contexte et du glossaire visibles dans votre tableau de bord).
Sur les petits projets, c’était rapide ; sur les bases de code plus volumineuses, cette configuration pouvait prendre assez de temps pour provoquer un délai d’expiration, donnant l’impression que la traduction avait échoué.
Les utilisateurs avaient donc l’impression que translate avait échoué, alors que la configuration se terminait de manière asynchrone et que les traductions étaient bien générées, mais pas téléchargées, ce qui entraînait une expérience utilisateur incomplète et déroutante.
Configuration
La configuration est désormais une étape distincte. Nous l’avons optimisée pour que les dépassements de délai soient rares.
Mais comme nous savons qu’elle peut quand même échouer, la traduction ne « dépend » plus de la fin de la configuration. Le pipeline ressemble maintenant à ceci :
- Envoi : envoyez les fichiers et confirmez que l’opération a réussi.
- Configuration (uniquement si nécessaire) : lancez une tâche de configuration et attendez ; si elle échoue ou dépasse le délai, nous passons à la suite.
- Traduction : créez des tâches de traduction à partir des fichiers que vous avez déjà envoyés.
Si la configuration se termine à temps, parfait. Si elle échoue ou dépasse le délai, nous continuons et nous vous indiquons ce qui s’est passé. Vous obtenez quand même vos traductions.
Voici ce que vous verrez lorsque vous exécuterez npx gtx-cli translate :
Starting translation...
Files to translate:
- your/file/path.mdx
- ...
Uploading files to General Translation API...
✔ Files uploaded successfully
Setting up project...
# Si la configuration réussit
Setup successfully completed.
# Si la configuration expire
⚠ Setup timed out — proceeding without setup: Timed out while waiting for setup generation
# Si la configuration échoue
⚠ Setup failed — proceeding without setup: <error message>
# Dans tous les cas, on passe aux traductions
Creating 12 translation(s)
[0/12] translations completed
your/file/path.mdx [es]Avec ce changement, nous pouvons désormais garantir que vos traductions seront générées, même dans le cas peu probable où la configuration échouerait.
Nous apprécions aussi le fait que cela vous donne davantage de visibilité sur la façon et l’endroit dont nous générons le contenu qui influence vos traductions, et que l’ajout de nouvelles étapes de configuration se fasse sans crainte, puisqu’elles n’empêcheront jamais la traduction de s’exécuter.
Téléversement
Nous avons également rendu upload plus flexible. Les versions précédentes partaient du principe que vous envoyiez toujours un fichier source avec ses traductions. Ce modèle ne convenait pas à tous les flux de travail. Vous pouvez maintenant :
- Téléverser uniquement des fichiers source (sans traductions pour le moment).
- Téléverser les sources et les traductions en même temps.
Nous continuons à détecter automatiquement les traductions à partir de la structure de votre dépôt et de la configuration. Une fois le téléversement effectué, vous verrez immédiatement les fichiers dans votre tableau de bord.
Si votre gt.config.json ressemble à ceci :
{
"defaultLocale": "en",
"locales": ["es", "fr"],
"files": {
"json": { "include": ["src/i18n/en/**/*.json"] }
}
}En exécutant npx gtx-cli upload :
# Sources uniquement (aucune traduction locale trouvée) :
Starting upload...
Files to upload:
- src/i18n/en/common.json -> es, fr
...
Uploading 1 file(s) to General Translation...
✔ Files uploaded successfully
Done!
# Dans votre tableau de bord, vous verrez :
# src/i18n/en/common.json
# sans traductions correspondantes pour l'instant.Si des traductions locales sont présentes et automatiquement détectées :
Starting upload...
Files to upload:
- src/i18n/en/common.json -> es, fr
Uploading 3 file(s) to General Translation...
✔ Files uploaded successfully
Done!
# Dans votre tableau de bord, vous verrez :
# src/i18n/en/common.json
# ainsi que les versions traduites en espagnol et en français dans le menu déroulant des paramètres régionaux.Si le fichier de traduction d’un paramètre régional est manquant, nous téléversons la source et ignorons cette traduction.
Si vous avez des traductions locales mais souhaitez uniquement téléverser les sources, supprimez locales de gt.config.json avant d’exécuter upload :
{
"defaultLocale": "en",
"locales": [],
"files": {
"json": { "include": ["src/i18n/en/**/*.json"] }
}
}Les téléversements écrasent les traductions existantes
Attention : lorsque vous exécutez
upload, tout fichier traduit que nous détectons et téléversons pour un fichier/paramètre régional donné remplace ce qui est actuellement enregistré pour ce fichier/paramètre régional.
- Pour téléverser uniquement les sources, supprimez les paramètres régionaux cibles de
gt.config.jsonavant d’exécuterupload.- Si vous devez d’abord vérifier les modifications, utilisez un projet distinct ou exportez les traductions actuelles avant de téléverser.
- Les traductions manquantes sont ignorées ; les traductions présentes sont remplacées.