Flux de travail de l'application
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
Si notre guide Installation vous aide à démarrer, ce document vous présente une vue d'ensemble de votre flux de travail quotidien de traduction.
Il existe deux types d'outils et services de traduction :
-
Les outils fonctionnant localement sur votre machine, comme votre IDE.
-
Les services de traduction cloud nécessitant un téléversement de vos fichiers. Ils impliquent un pipeline de traduction avec un flux complexe.
Ce guide vous expliquera comment travailler avec ces deux types d'outils.
Flux de travail simple avec un outil de traduction local
projectRoot
|-- src
| |-- App.js
|-- extracted
| |-- en.json
|-- lang
| |-- fr.json
| |-- de.json
|-- package.json
|-- .eslintrc.js
Les fichiers de traduction extraits résident dans le dossier extracted car leur structure interne diffère (ils contiennent par exemple des informations supplémentaires comme des commentaires). Les fichiers produits lors de la traduction sont stockés dans le dossier lang.
Le flux de travail
Le processus se déroule ainsi :
-
Extraction : Cette étape agrège tous les
defaultMessagede votre application dans un seul fichier JSON avec lesdescription, prêt pour traduction. -
Édition : Modifiez les traductions, sauvegardez une fois terminé.
-
Les modifications apparaissent immédiatement dans votre build
Flux de travail complexe avec un service de traduction cloud
Structure du projet
Un projet minimal compatible i18n peut avoir cette structure :
projectRoot
|-- src
| |-- App.js
|-- lang
| |-- en-US.json
| |-- fr.json
|-- package.json
|-- .eslintrc.js
où le dossier lang contient les fichiers de chaînes agrégées. L'intégration avec un prestataire de traduction tiers peut consommer le fichier en-US.json pour produire fr.json ou d'autres fichiers de locale.
Pipeline
Un pipeline de traduction générique ressemble à ceci :
-
Extraction : Cette étape agrège tous les
defaultMessagede votre application dans un seul fichier JSON avec lesdescription, prêt pour traduction. -
Téléversement des messages : Envoie le fichier JSON à votre prestataire de traduction.
-
Téléchargement des traductions : Interroge ou s'intègre avec le prestataire pour récupérer les messages traduits dans les locales configurées.
-
Commit : Réintègre les messages traduits dans le codebase.
Le rôle de formatjs
L'objectif n'est pas de fournir une solution complète mais d'améliorer l'expérience développeur via des outils et bonnes pratiques pour une prise en compte native de l'i18n :
-
Déclaration de messages compatibles i18n
-
Linter pour imposer ces messages
-
CLI pour l'extraction et la compilation
-
Polyfills pour des environnements d'exécution i18n stables
-
Plugin de bundler pour compiler TypeScript/JavaScript