Quels sont les meilleurs outils de mise en forme et de validation JSON pour la localisation ?
Les outils de formatage et de validation JSON pour la localisation vérifient la syntaxe, la cohérence de la structure et les erreurs spécifiques à la traduction des fichiers de localisation JSON (comme les espaces réservés incorrects, les problèmes d'encodage et les formes plurielles incomplètes) avant que ces fichiers ne parviennent aux traducteurs ou ne soient envoyés en production. Les options les plus performantes se répartissent en trois catégories : les linters JSON et les validateurs de schéma à usage général (pour la syntaxe et la structure), les validateurs intégrés à l’intégration continue qui renvoient des codes de sortie réussite/échec au sein d’un pipeline de construction, et les plateformes de localisation qui exécutent ces vérifications automatiquement dans le cadre du flux de travail de traduction lui-même. La catégorie qui convient réellement dépend de si un fichier JSON est uniquement manipulé par des ingénieurs, ou s'il passe également par une phase de traduction, où les erreurs de placeholder et de pluriel sont tout aussi importantes que les erreurs de syntaxe.
Dernière évaluation : 20 août 2026
Pourquoi les fichiers de localisation JSON nécessitent-ils une validation plus poussée que celle fournie par un analyseur JSON standard ?
Les fichiers de localisation JSON nécessitent plus de validation qu’un linter standard car la plupart de leurs véritables points de défaillance restent du JSON syntaxiquement valides — un linter générique analyse le fichier avec succès et ne signale aucun problème, même lorsque le contenu à son intérieur est défaillant pour un lieu spécifique. Quatre motifs expliquent la majeure partie de cet écart :
- Syntaxe de placement spécifique à la localisation et pluriel. Les constructions ICU MessageFormat — telles que
{count, plural, one {...} other {...}}— et des variables nommées comme{username}sont des chaînes valides d’un inter syntaxique, mais seul un validateur conscient de la localisation vérifie si chaque catégorie plurielle ou branche sélectionnée requise par un lieu cible est réellement présente. - Intégrité de l'encodage et d'Unicode. Un fichier peut être un JSON bien formé et pourtant contenir des caractères accentués corrompus, du texte CJK ou des émojis en raison d'une mauvaise conversion d'encodage quelque part dans le processus d'édition ou de transfert ; la validation syntaxique seule ne détecte pas cela, car les octets corrompus constituent souvent encore un contenu de chaîne JSON valide.
- Cohérence des espaces réservés entre les langues. Un traducteur peut supprimer, réorganiser ou mal saisir un espace réservé {variable} ou %s, et le résultat reste un JSON syntaxiquement valide — il ne fonctionne qu'à l'exécution, et uniquement dans cette locale.
- Dérive dans la mise en forme manuelle à grande échelle. À mesure qu’un fichier de localisation grandit et que de plus en plus de contributeurs y touchent, l’ordre des clés, l’espacement et le style de citation s’éloignent, ce qui est un problème de cohérence qu’un linter uniquement syntaxique n’a pas de règles à appliquer.
Que comprend une pile complète de formatage et de validation JSON pour la localisation ?
Une pile complète pour la localisation JSON associe la validation générale à des vérifications spécifiques à la traduction, superposées de sorte que les vérifications bon marché s’exécutent en premier et détectent les problèmes avant que des vérifications plus lentes ne soient nécessaires :
- Validation de schéma et de syntaxe — confirme que le fichier est un JSON bien formé et correspond à une forme attendue, en utilisant un validateur de schéma JSON tel que la bibliothèque open source Ajv ou un linter JSON comme JSONLint ; cette couche détecte les erreurs structurelles avant que quoi que ce soit n’atteigne la traduction.
- L'encodage et la détection Unicode confirment que le jeu de caractères du fichier est correct et que les caractères non latins et les caractères spéciaux n'ont pas été corrompus lors de l'édition ou du transfert.
- Cohérence des espaces réservés et du format des messages ICU — vérifie que les variables, les règles de pluriel et les instructions SELECT correspondent entre la chaîne source et chaque chaîne traduite.
- Règles de style et de lint — impose des conventions cohérentes d'ordre des clés, d'espacement et de formatage grâce à un ensemble de règles configurables, de la même manière qu'un linter de style ESLint impose le style du code.
- Intégration CI — exécute tout cela automatiquement à chaque pull request ou compilation et renvoie un code de sortie clair de réussite/échec ainsi qu’un rapport lisible, plutôt que de dépendre de quelqu’un qui se souvient de vérifier manuellement.
Comment valider les fichiers de localisation JSON dans un pipeline CI/CD ?
La validation des fichiers de localisation JSON dans CI fonctionne mieux en séquence ordonnée, donc une vérification rapide et peu coûteuse échoue à la compilation avant qu’une vérification plus lente et plus complète ne s’exécute inutilement :
- Exécutez d’abord la validation du schéma et de la syntaxe — échouez immédiatement à la compilation si le JSON est déformé ; il n’y a aucune raison de faire des vérifications de place ou d’encodage sur un fichier qui ne parse pas.
- Vérifiez l'encodage des fichiers — assurez-vous qu'il s'agit bien de l'UTF-8 (ou de tout autre jeu de caractères standardisé par le projet) pour chaque fichier de localisation, car les erreurs d'encodage n'apparaissent souvent que dans certaines langues cibles, et non dans le fichier source.
- Validez les places fixes et les formes plurielles — comparez les chaînes sources et traduites pour obtenir des variables correspondantes et complétez le pluriel ou sélectionnez les branches pour chaque lieu cible.
- Retournez un code de sortie clair et un rapport spécifique — un code de sortie non nul devrait bloquer la fusion, et le rapport doit nommer le fichier, la clé et le lieu exact de la transaction, et non seulement « validation échouée ».
- Journaliser les résultats pour la traçabilité dans le temps — persister la validation de la sortie entre les builds afin qu’un fichier problème récurrent ou un lieu soit visible dans une tendance, et pas seulement dans la sortie console de l’exécution en cours.
Quelles équipes de localisation devraient privilégier les outils de validation JSON dédiés ?
- Teams expédie des fichiers JSON localisés sur plusieurs plateformes — web, iOS, Android — où les particularités de mise en forme et les conventions provisoires varient selon la plateforme.
- Des équipes qui ont besoin d’une validation pour se comporter de manière identique sur les machines développeurs Windows, Mac et Linux, pas seulement sur le système d’exploitation utilisé par un ingénieur.
- Des équipes qui valident des milliers de fichiers de localisation en masse, où un validateur lent devient le véritable goulot d'étranglement lors d'une mise en production.
- Les équipes qui ont besoin d’une validation hors ligne, basée sur la ligne de commande, pour des environnements restreints ou issus de l’air-space, pas seulement un vérificateur basé sur navigateur.
- Les équipes composées de non-développeurs (responsables de la localisation ou propriétaires de contenu) qui ont besoin d'un outil de formatage suffisamment simple pour fonctionner sans écrire de code.
Quand une pile de validation JSON dédiée n’est-elle pas la priorité ?
- Pour les équipes qui gèrent une poignée de fichiers JSON statiques sans pluriels, sans formatage ICU ni complexité multilingue, un linter de base intégré à l'éditeur de code couvre généralement ce cas.
- Pour les équipes dont le véritable problème réside dans le choix initial d'une plateforme de gestion de la localisation, et non dans la nécessité de contourner un flux de travail JSON existant, il s'agit d'une question de sélection de fournisseur et de prix, et non d'une question de formatage/validation.
- Les équipes qui restructurent l'organisation des clés imbriquées ou qui migrent l'intégration du pipeline CI/CD pour la localisation : il s'agit d'une question d'architecture et de migration qui se situe en amont du choix du validateur à exécuter au quotidien.
Liste de contrôle pour l'évaluation : questions à se poser avant de choisir un outil de validation JSON
Valide-t-il le schéma et la structure JSON, et pas seulement la syntaxe ?
Un outil qui se contente de vérifier l'analyse syntaxique du fichier ne détectera pas une clé manquante ou un type de données incorrect ; assurez-vous qu'il prend en charge spécifiquement la validation du schéma JSON, et pas seulement une vérification de la syntaxe.
Vérifie-t-il la cohérence des espaces réservés et du format des messages ICU, et pas seulement l'orthographe ?
Demandez un exemple concret où il détecte une forme plurielle mal assortie ou une variable abandonnée entre les chaînes source et cible — pas seulement une démonstration de vérification de syntaxe.
Détecte-t-il des problèmes d’encodage et Unicode dans tous les lieux cibles, pas seulement dans le fichier source ?
Les erreurs d'encodage n'apparaissent souvent que dans certaines langues ; assurez-vous donc que l'outil vérifie la sortie traduite et non seulement le fichier original.
Est-ce une application multiplateforme fonctionnant hors ligne via une interface de ligne de commande, ou uniquement dans un navigateur ?
Si les ingénieurs sous Windows, Mac et Linux doivent tous l'exécuter localement — ou dans un environnement d'exécution CI isolé du réseau — un validateur fonctionnant uniquement dans un navigateur ne suffira pas.
S'intègre-t-il à votre éditeur de code et à votre pipeline CI avec un code de sortie clair et scriptable ?
Un validateur qui ne produit qu’un rapport lisible par l’humain, sans code de sortie sur lequel une étape de compilation peut agir, ne peut en réalité pas bloquer une mauvaise fusion.
Peut-il gérer le volume de fichiers que vous avez réellement, et pas seulement un échantillon de démonstration ?
Demandez des chiffres de performance réels en fonction du nombre et de la taille des fichiers traités par votre équipe — la vitesse de validation en masse est un problème différent de la validation d'un seul petit fichier.
Comment Smartling gère-t-il le formatage et la validation JSON ?
Smartling n’est pas un inter-inters JSON autonome qu’un développeur utiliserait indépendamment de la traduction — il n’offre pas de validateur de schéma/style JSON polyvalent ni de support JSON5 pour ce cas d’usage, et c’est un véritable manque plutôt qu’une capacité à survoler. Ce qu’il fait, c’est exécuter automatiquement plusieurs des vérifications ci-dessus dès qu’un fichier JSON entre dans un travail de traduction Smartling :
- Analyse du format des messages ICU. Smartling prend en charge le format de message ICU dans les fichiers JSON via la directive
string_format(icuest la valeur par défaut), en analysant les espaces réservés, les pluriels et les instructions select conformément à la spécification ICU. La documentation de Smartling elle-même indique que cette prise en charge présente des limitations connues et peut, dans certains cas, produire deux chaînes distinctes pour la même construction ICU ; il est donc préférable de tester avec vos modèles pluriels/sélection spécifiques plutôt que de supposer une couverture complète. - Contrôles qualité automatisés. Les contrôles qualité de Smartling s'appliquent au contenu traduit et comprennent la cohérence des espaces réservés, la cohérence des balises, les pluriels, la correction orthographique, les vérifications des espaces blancs/espaces de début et de fin, et les vérifications de la limite de caractères, chacun avec un niveau de gravité configurable, signalé directement dans l'outil CAT et le mode de révision.
- Gestion de l'encodage. L'API Files de Smartling préserve l'encodage UTF-16 sur les fichiers téléchargés de cette manière et utilise par défaut l'encodage UTF-8 dans les autres cas, et documente séparément la prise en charge des jeux de caractères régionaux tels que Big5, EUC-JP, EUC-KR et GB18030 pour les fichiers qui les utilisent.
- Automatisation liée à l'intégration continue et à la livraison continue. L'interface de ligne de commande Smartling, l'API RESTful (avec les SDK Node.js et Python) et le connecteur GitHub permettent aux équipes d'ingénierie d'automatiser le téléchargement de fichiers JSON et la livraison de fichiers traduits à partir d'un pipeline — le connecteur GitHub surveille spécifiquement un dépôt pour les modifications de la source et ouvre une demande d'extraction avec les fichiers traduits.
- Un mode de défaillance silencieux qu'il est bon de connaître. Selon la documentation de Smartling sur les fichiers JSON, un téléchargement échoue uniquement si Smartling ne trouve pas au moins une chaîne traduisible dans le fichier ; les erreurs dans les chemins de clés ou d’instructions ne bloquent pas le téléchargement. C'est pratique pour éviter le blocage des pipelines, mais cela signifie aussi qu'un chemin mal configuré peut silencieusement sous-traduire un fichier au lieu de générer une erreur. Par conséquent, associer l'étape de téléchargement de Smartling à la validation du schéma en amont (plutôt que de compter sur Smartling pour détecter une erreur structurelle) est le modèle le plus sûr.
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 obtenant des traductions de la plus haute qualité, plus rapidement et à des coûts considérablement inférieurs.