better-i18n Assurance Qualité des Traductions : Vérifications Automatisées à Grande Échelle
Détectez les traductions manquantes, les placeholders brisés et les incohérences avant qu’ils n’atteignent la production.
Maintenir la cohérence de vos traductions
La qualité des traductions ne se limite pas à trouver les bons mots -- il s'agit de s'assurer que chaque clé est prise en compte, que les clés inutilisées sont nettoyées et que votre terminologie reste cohérente dans toutes les langues. better-i18n propose plusieurs outils qui fonctionnent ensemble pour maintenir la qualité des traductions dans votre projet.
CLI Scan : Détecter les chaînes hardcodées
La première ligne de défense est la commande scan. Elle analyse votre codebase à l'aide de l'analyse AST pour trouver les chaînes qui devraient être traduites mais ne sont pas encapsulées dans des fonctions de traduction.
better-i18n scan --dir ./src
Le scanner détecte :
- Le texte JSX hardcodé (
<h1>Hello</h1>) - Les attributs JSX hardcodés (
<img alt="Logo" />) - Les chaînes de toast et de notification
- Les expressions ternaires dépendantes du locale
- Les variables de chaîne contenant du texte destiné à l'utilisateur
Il est suffisamment intelligent pour ignorer les classes CSS, les URLs, les entités HTML et les constantes techniques -- de sorte que les résultats sont centrés sur les lacunes de traduction réelles, et non sur les faux positifs.
Utilisez --ci pour l'intégrer dans votre pipeline de build et bloquer les PRs qui introduisent de nouvelles chaînes hardcodées :
npx @better-i18n/cli scan --ci
CLI Sync : Trouver les clés manquantes et inutilisées
La commande sync compare l'utilisation des clés de traduction dans votre codebase avec ce qui existe dans le cloud de better-i18n :
better-i18n sync
Elle génère un rapport clair indiquant :
- Manquant en Remote : Les clés que votre code utilise mais qui n'ont pas encore été téléversées dans better-i18n
- Inutilisé dans le Code : Les clés dans better-i18n qui ne sont plus référencées dans votre code source
C'est très précieux après des refactorisations -- vous pouvez voir immédiatement quelles clés sont devenues orphelines et les nettoyer, et quelles nouvelles clés ont besoin de traductions avant le déploiement.
L'option --summary vous donne un rapide bilan de santé :
better-i18n sync --summary
Cela affiche les pourcentages de couverture (local-vers-remote et remote-utilisé) afin que vous sachiez en un coup d'œil à quel point vos traductions sont complètes.
Glossaire : Cohérence terminologique
Le Glossaire impose une terminologie cohérente dans toutes les traductions. Lorsque vous définissez des termes de marque, des noms de produits ou du vocabulaire spécifique au domaine dans le glossaire, les traductions IA respectent automatiquement ces définitions.
Cela évite le problème courant où le même concept est traduit différemment dans votre application -- "Workspace" à un endroit, "Espace de travail" à un autre et "Espace projet" à un troisième.
Visibilité de la couverture dans le dashboard
Le dashboard better-i18n affiche la couverture des traductions par langue et par namespace. Vous pouvez voir en un coup d'œil :
- Quelles langues sont entièrement traduites
- Quels namespaces présentent des lacunes
- Combien de clés existent dans chaque partie de votre projet
Cela donne aux product managers et aux responsables ingénierie une vue claire de l'état de la localisation sans avoir à exécuter des commandes CLI.
Intégration CI pour les Quality Gates
Combinez scan et sync dans votre pipeline CI pour créer des quality gates qui empêchent les problèmes de traduction d'atteindre la production :
name: i18n Quality
on: [push, pull_request]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx @better-i18n/cli scan --ci
- run: |
npx @better-i18n/cli sync --format json \
| jq -e '.comparison.missingCount == 0' > /dev/null || exit 1
Pour les hooks de pre-commit, scannez uniquement les fichiers stagés pour un retour rapide :
npx @better-i18n/cli scan --staged --ci
Ce que nous ne proposons pas (encore)
Pour être clairs sur la portée actuelle des outils de qualité :
- Pas de moteur QA inline -- il n'y a pas de validation en temps réel des placeholders, des balises HTML ou d'ICU MessageFormat dans l'éditeur. La CLI détecte les traductions manquantes au niveau du code.
- Pas de système de règles personnalisées -- vous ne pouvez pas définir de règles de validation personnalisées (comme des limites de longueur ou des caractères interdits) aujourd'hui.
- Pas de validation des placeholders -- le système ne vérifie pas que
{name}dans la source apparaît dans la traduction. - Pas de contexte visuel -- les vérifications de qualité opèrent sur des données clé/valeur, pas sur des captures d'écran de l'interface rendue.
Ce sont des domaines que nous évaluons pour les développements futurs.
Pour commencer
Installez la CLI et lancez votre première vérification de qualité :
npm install -g @better-i18n/cli
better-i18n scan --dir ./src
better-i18n sync --summary
Configurez des termes de glossaire dans le dashboard pour imposer la cohérence dans les traductions IA, et intégrez la CLI dans votre pipeline CI pour des quality gates automatisées. Gérez la qualité des traductions dans toutes vos langues grâce au repository centralisé.
Créez votre compte pour commencer à gérer la qualité des traductions dans vos projets.