Chki18n
Un outil en ligne de commande qui vérifie les fichiers de traduction au regard des conventions i18n, publié pour JavaScript, Dart et Python. Il signale les clés manquantes, les valeurs en double et d’autres erreurs courantes, et s’exécute aussi bien en CI que sur un poste.
À propos de ce projet
Chki18n est un outil en ligne de commande qui vérifie les fichiers de traduction au regard des conventions dont dépend un projet internationalisé. Il lit les fichiers de langue que le projet possède déjà et signale ce qui ne va pas — un contrôle qui, autrement, n’a lieu que lorsqu’un texte manquant apparaît à l’écran.
Il mène vingt-cinq vérifications et signale chaque problème à la mesure du tort qu’il cause. Compte comme erreur ce qui casse l’interface : un fichier illisible ou impossible à analyser, une clé définie deux fois, une langue absente d’un groupe, une clé présente dans une langue et absente d’une autre, et des marqueurs d’interpolation qui ne correspondent pas à la langue de référence par leur nom ou par leur nombre. Compte comme avertissement ce qui est seulement embarrassant : une valeur vide, deux clés portant le même texte, une valeur identique à la langue source et donc non traduite, des chiffres perdus ou modifiés lors de la traduction, un balisage perdu, un même original traduit de deux façons, un caractère invisible, une forme plurielle manquante, et une clé qu’aucune autre langue n’utilise plus. Lancé aussi sur le code source, il signale les clés auxquelles rien ne fait référence et celles que le code demande sans qu’aucun fichier ne les définisse.
Il fonctionne en commande, dans une tâche d’intégration continue ou depuis votre propre code, et il est publié pour JavaScript, Dart et Python, les trois menant les mêmes vérifications dans le même ordre et rendant le même rapport. Il lit aujourd’hui les fichiers de traduction au format JSON, et il vérifie au lieu de traduire : l’exécuter ne réécrit rien dans un fichier.
Fonctionnalités
Site de documentation
Types TypeScript
Plusieurs langues
Vérifié par des tests
Multiplateforme
Interface en ligne de commande
