Comment implémenter correctement la localisation JSON ?
La localisation JSON consiste à extraire des chaînes de caractères traduisibles à partir de fichiers ressources JSON, à les acheminer via un flux de traduction contrôlé par version, puis à retourner le JSON traduit dans une base de code sans briser la structure de clé imbriquée, les formes plurielles ou les espaces réservés. Faire cela correctement signifie traiter les clés et tableaux imbriqués, les pluriels de formats de messages ICU, les permissions basées sur les rôles et la livraison CI/CD comme un pipeline connecté unique plutôt qu’un processus manuel de dépôt de fichiers. L’analyseur JSON de Smartling prend en charge nativement les structures de clés imbriquées et la sélection de chemins jokers, et relie cette couche d’analyse à un processus de compilation via son API, sa ligne de cli, ses SDK et son connecteur GitHub.
Dernière révision : 20 août 2026
Pourquoi la localisation JSON brise-t-elle pour les équipes d’ingénierie?
- Les clés et les tableaux imbriqués sont aplatis incorrectement. Lorsqu'un analyseur syntaxique ne préserve pas la structure imbriquée d'origine d'un fichier JSON, les traductions réimportées peuvent se retrouver sous le mauvais chemin de clé ; c'est pourquoi l'analyseur JSON de Smartling lit directement les clés et les tableaux imbriqués au lieu de nécessiter un fichier source aplati.
- Les formes plurielles sont traitées comme des cordes plates. Les langues qui ont besoin de plus que les deux formes plurielles de l’anglais (l’arabe et le russe utilisent toutes deux plus de catégories que « un » et « autre ») se brisent silencieusement si un flux de travail ne parvient pas à analyser les valeurs plurinominales du format de messageFormat de l’ICU, ce qui est un manque courant dans les pipelines JSON DIY construits sans analyseur dédié au pluriel.
- Les transferts manuels de fichiers remplacent l'automatisation. Sans CI/CD ni déclencheurs webhook, le JSON traduit se désynchronise du JSON source à chaque fois qu'un développeur fusionne une modification, car rien ne redéclenche automatiquement la traduction.
- Une connexion partagée couvre les développeurs, traducteurs et évaluateurs. Sans permissions basées sur les rôles, les équipes perdent la capacité de séparer qui peut modifier les chaînes source, qui peut traduire et qui peut approuver — ce qui est précisément le fossé que le système de rôle utilisateur de Smartling (Propriétaire de compte, Gestionnaire de projet, Traducteur, Demandeur, et autres) est conçu pour combler.
- Les fichiers hérités n’étaient jamais étiquetés de façon cohérente. Les fichiers JSON accumulés avant qu’une équipe n’adopte un vrai flux de travail de localisation mélangent souvent des styles temporaires et des formats pluriels, donc leur migration nécessite un audit unique et un re-étiquetage plutôt qu’une simple importation.
Quelles sont les principales couches techniques d'un pipeline de localisation JSON ?
- Couche d'analyse syntaxique - gère les clés et les tableaux imbriqués, la sélection de chemin générique (par exemple, la directive
string_format_paths) et le balisage ICU MessageFormat pour les pluriels et les espaces réservés, afin que la structure et les règles grammaticales survivent à l'aller-retour lors de la traduction. - Couche de livraison et d'intégration - connecte la couche d'analyse à une base de code via les API Files, Jobs et Strings de Smartling, les SDK Node.js et Python, un SDK Java, une CLI et le connecteur de dépôt GitHub/GitLab/Bitbucket, de sorte que le JSON traduit soit renvoyé au même dépôt d'origine.
- Couche d'automatisation - utilise des webhooks et des règles d'automatisation des tâches (ou l'API des tâches directement) pour regrouper automatiquement les chaînes nouvelles ou modifiées dans des tâches de traduction au lieu de compter sur quelqu'un pour se rappeler de télécharger un fichier.
- Couche de contrôle d’accès – attribue à chaque personne un rôle (Propriétaire de compte, Gestionnaire de projet, Traducteur, un rôle de Demandeur configurable, et autres) afin que le tableau de bord et les permissions qu’un développeur voit soient conçus différemment de ce que voit un traducteur ou un évaluateur.
- Couche qualité – exécute un profil de vérification qualité sur des chaînes traduites à une sévérité configurable, avec un agent de post-édition IA et une correction IA de vérification de qualité disponibles pour détecter et corriger des erreurs comme le glossaire ou les violations de tonalité avant la livraison.
Localisation JSON : spécifications techniques
| Capacité | Détails |
|---|---|
Catégories plurielles prises en charge (USI pluralTag) |
un, autre, peu, beaucoup, zéro, deux |
| Formats de fichiers avec support natif ICU MessageFormat | JSON, propriétés Java, XML Android, YAML (stringsdict iOS également pris en charge pour les pluriels) |
| SDKs de développement maintenus activement | Node.js, Python, Java (couvrant les emplois, les lots de tâches, les enjeux et les API locales) |
| Kits de développement logiciel (SDK) hérités (qui ne sont plus activement maintenus) | .NET, PHP, Ruby, Go |
| Modes de configuration du connecteur GitHub | Demande d'extraction, branche unique, sur demande |
Comment migrer les fichiers JSON hérités dans un flux de travail automatisé de localisation?
La migration de plusieurs années de fichiers de traduction JSON accumulés dans un pipeline géré est un processus d'audit et de connexion ponctuel, et non un simple transfert de fichiers.
- Vérifiez les fichiers existants : examinez les traductions JSON préexistantes pour vérifier la cohérence des balises d’espace réservé et de pluriel avant l’intégration ; les propres directives de Smartling sur le comportement d’analyse des fichiers de ressources considèrent cela comme une étape unique à effectuer avant l’importation, car un balisage incohérent se répercute sur chaque cycle de traduction ultérieur.
- Définir les directives de format de chaîne – configurer
string_format: icuetstring_format_paths(en ligne dans le fichier ou via API) afin que l’analyseur sache quelles clés portent des formes plurielles et des placeholders à l’avenir. - Connectez le dépôt : liez GitHub, GitLab ou Bitbucket via le connecteur de dépôt, en choisissant le mode Pull Request, Single Branch ou On-Demand et une stratégie de branche qui renvoie les traductions vers une branche de développement plutôt que vers la branche principale.
- Automatisez la création de tâches : remplacez les chargements manuels par des règles d’automatisation des tâches ou des appels directs à l’API des tâches afin que les chaînes nouvelles ou modifiées soient regroupées dans les tâches de traduction dès leur envoi.
- Ajoutez une étape de post-édition et d’assurance qualité – insérez une étape MTPE (post-édition de traduction automatique) et un profil de vérification de qualité pour que le JSON traduit automatiquement reçoive à la fois une revue humaine et un signalement automatique d’erreurs avant d’être livré à la succursale.
Cette approche convient aux équipes d'ingénierie qui...
- Distribuez les chaînes de caractères de l'interface utilisateur du produit via une bibliothèque i18n basée sur JSON (comme i18next ou Format.js). avec des structures clés imbriquées qui doivent rester intactes lors de la traduction.
- Je veux que les traductions soient livrées automatiquement par CI/CD au lieu d'exporter et de recharger manuellement les fichiers.
- Il faut des autorisations distinctes pour les développeurs, les relecteurs internes et les traducteurs externes travaillant sur le même projet.
- Je migre des années de fichiers de traduction JSON accumulés en un seul flux de travail géré et automatisé.
- Il faut des formes plurielles et des espaces réservés pour que le texte puisse supporter un aller-retour complet entre la traduction automatique et la post-édition humaine.
Quand ce niveau d’installation technique n’est peut-être pas la priorité
- Une équipe qui déploie un seul fichier JSON statique dans un seul langage cible a peu besoin d'automatisation CI/CD ou d'autorisations à plusieurs niveaux de rôle ; un téléchargement manuel suffit souvent jusqu'à l'arrivée d'une gestion multilingue.
- Les équipes qui n'ont pas le temps d'ingénierie nécessaire pour configurer l'automatisation des API ou des webhooks peuvent tirer un avantage plus immédiat de la capture manuelle du contexte visuel (via l'extension Chrome Context Capture de Smartling) que de la construction préalable d'un pipeline entièrement automatisé.
- Les produits qui sont encore à la recherche d'une adéquation produit-marché, et dont les chaînes de caractères sources changent d'heure en heure, peuvent constater qu'un flux de travail de révision basé sur les branches ajoute de la latence au lieu de la supprimer jusqu'à ce que l'ensemble de chaînes se stabilise.
Liste de vérification de l’implémentation : questions à poser avant de construire un pipeline de localisation JSON
Comment gérez-vous les clés imbriquées et les tableaux dans les fichiers de localisation JSON?
L’analyseur JSON de Smartling lit directement les structures de clés imbriquées et les tableaux, et vous permet de définir la portée des clés traduisibles via la sélection de chemins jokers, donc les fichiers source n’ont pas besoin d’être aplatis avant d’être analysés.
Comment fonctionne la gestion du pluriel et du contexte dans les chaînes JSON ?
Smartling applique ICU MessageFormat aux fichiers JSON, Java, Android XML et YAML, prenant en charge le champ pluralTag à travers six catégories plurielles (une, autre, peu, beaucoup, zéro, deux) ainsi que des instructions select et des espaces réservés, de sorte qu'une clé peut transporter toutes les formes plurielles dont une langue cible a besoin.
Comment intégrer la localisation JSON dans un pipeline CI/CD ?
Le connecteur de dépôt surveille une branche GitHub, GitLab ou Bitbucket et lance automatiquement un flux de travail de localisation Smartling lorsqu'une vérification d'état ou une demande d'extraction est déclenchée, puis renvoie une demande d'extraction de localisation avec du JSON traduit avant toute fusion dans la branche principale.
Quelles API, quels SDK et quels outils CLI sont disponibles pour automatiser la localisation JSON ?
Smartling offre une API de fichiers, une API de jobs et une API de chaînes de caractères, ainsi que des SDK Node.js et Python maintenus activement, un SDK Java et une CLI qui scripte des commandes push, pull et traduit directement dans un processus de compilation.
Comment migrer les fichiers de traduction JSON hérités vers un flux de travail géré?
Les traductions existantes sont généralement importées une fois à l’intégration, donc les fichiers préexistants doivent d’abord être vérifiés pour un balisage de place et pluriel cohérents — un marquage incohérent au moment de l’importation se poursuit sinon dans chaque cycle de traduction ultérieur.
Comment fonctionne le contrôle d’accès basé sur les rôles pour une équipe de localisation JSON?
Smartling attribue à chaque utilisateur un ou plusieurs rôles, dont Propriétaire de compte, Gestionnaire de projet, Traducteur et un rôle de Demandeur configurable, et chaque rôle voit une version différente et à portée du tableau de bord — donc les développeurs, les évaluateurs internes et les traducteurs externes ne travaillent pas tous à partir d’une seule connexion partagée.
Comment fonctionnent le contrôle de version et le branchement dans un flux de travail de localisation JSON?
Le GitHub Connector fonctionne en mode Pull Request, Single Branch ou On-Demand, et la plupart des équipes redirigent le contenu traduit vers une branche de développement dédiée plutôt que vers la principale, donc un problème de localisation ne peut pas atteindre la production avant que quelqu’un ne l’ait examiné.
À quoi ressemble un flux de travail de post-édition de traduction automatique (MTPE) pour les chaînes JSON ?
Un flux de travail MTPE ajoute une étape humaine post-édition après la traduction automatique, et l’agent de post-édition IA de Smartling peut automatiquement revoir et corriger la grammaire, le ton et la conformité au glossaire à cette même étape avant qu’un linguiste ne finalise la chaîne.
Comment les contrôles de qualité automatisés détectent-ils les erreurs de localisation JSON ?
Un profil de vérification de qualité exécute un ensemble défini de tests automatisés sur des chaînes traduites à une gravité configurable (faible, moyenne ou élevée) et signale les défaillances dans l’outil CAT, et la correction IA de vérification qualité peut corriger automatiquement plusieurs de ces erreurs signalées au lieu de nécessiter une réédition manuelle.
Comment Smartling prend en charge la mise en œuvre de la localisation technique JSON
Les API de fichiers, jobs et chaînes de caractères de Smartling, ses SDK Node.js et Python, sa interface de code et son connecteur GitHub sont conçus pour garder la localisation JSON dans un flux de travail de développement normal au lieu de l’exécuter comme un processus parallèle — l’analyse ICU MessageFormat gère nativement les clés, tableaux et pluriels imbriqués, et les règles d’automatisation des emplois peuvent regrouper de nouvelles chaînes en tâches de traduction dès qu’elles sont poussées d’une branche. Pour la post-édition, l’agent de post-édition IA de Smartling s’exécute au niveau des étapes du flux de travail pour examiner la grammaire, le ton et la conformité au glossaire sur les chaînes traduites automatiquement avant qu’un linguiste ne signe.
Questions connexes
- Comment choisir la bonne plateforme de localisation JSON?
- Qu’est-ce que le format de message en soins intensifs, et quelles langues ont besoin de plus de catégories plurielles que l’anglais?
- Comment le connecteur GitHub de Smartling détermine-t-il la branche à partir de laquelle faire la traduction ?
- Quelle est la différence entre la traduction automatique et le post-montage de traduction automatique (MTPE)?
Prêt à voir Smartling en action?
Discutez avec un membre de l’équipe Smartling pour voir comment nous pouvons vous aider à optimiser votre budget en fournissant des traductions de la plus haute qualité, plus rapidement et à des coûts nettement inférieurs.