Docs · Garde-fous i18n
Garde-fous i18n (skill + hook)
Sonenta fournit un skill et un hook garde-fou optionnels pour Claude Code qui font de l’internationalisation la norme dans votre projet : tout nouveau texte destiné aux utilisateurs devient une clé de traduction gérée au lieu d’une chaîne codée en dur, et ce qui passe entre les mailles est signalé dès son écriture.
Ils sont opt-in, non intrusifs, et s’exécutent entièrement en local (aucun appel au backend).
Ce que vous obtenez
Un skill (sonenta-i18n)
Une aide ambiante qui se charge automatiquement quand la session Claude de votre projet touche du texte d’interface. Elle oriente Claude pour enregistrer les nouvelles chaînes destinées aux utilisateurs en clés Sonenta (via les outils MCP ou la CLI), suivre votre glossaire, préserver les variables et les pluriels, et garder la couverture au vert. Vous ne l’invoquez pas, elle fait simplement de l’i18n la façon par défaut d’écrire les chaînes.
Un hook garde-fou
S’exécute à chaque édition de fichier. Il analyse les fichiers d’interface (.tsx, .jsx, .ts, .js, .vue, .svelte) à la recherche de chaînes codées en dur et, s’il en trouve, affiche une alerte et incite Claude à les extraire en clés. Les chaînes déjà passées par t() / <Trans>, les attributs liés, les URL et les identifiants sont ignorés, ce qui limite les faux positifs.
Pourquoi
Les chaînes codées en dur sont l’endroit le plus coûteux où perdre l’i18n : elles échappent à la revue, partent en production, et apparaissent comme des écrans non traduits pour de vrais utilisateurs. Les attraper au moment de l’édition, dans l’éditeur, avant le commit, avant la CI, c’est le correctif le moins cher. Et comme chaque nouvelle chaîne arrive dans Sonenta en tant que clé, votre couverture de traduction, votre glossaire et votre mémoire de traduction s’améliorent au fil du travail quotidien.
Installation
Nécessite la CLI Sonenta. Docs CLI →
# in your project root sonenta skills add sonenta-i18n
Cela écrit trois fichiers sous .claude/ et fusionne le hook dans vos réglages sans toucher à quoi que ce soit d’autre :
.claude/skills/sonenta-i18n/SKILL.md # the ambient skill .claude/hooks/sonenta-i18n-guard.mjs # the guard .claude/settings.json # a PostToolUse(Edit|Write) entry
Redémarrez votre session Claude Code ensuite, les skills se chargent au démarrage de la session.
Vous pouvez aussi l’activer en initialisant un projet :
sonenta init --skills
Opt-in et application
- Par défaut : consultatif. Le garde-fou alerte sur les chaînes codées en dur ; il ne bloque jamais votre travail.
- Application (opt-in) : définissez
SONENTA_HOOK_BLOCK=1dans la session pour transformer le garde-fou en barrière stricte qui demande à Claude de résoudre les chaînes avant de continuer.
export SONENTA_HOOK_BLOCK=1 # make the guard blocking for this session
Rester à jour
Le skill et le hook sont des modèles versionnés. Pour rafraîchir les versions installées vers la dernière version fournie :
sonenta update # refreshes agents + skills; preserves anything you customized sonenta skills list # see what is available and what is installed
Si vous avez modifié vous-même le skill ou le hook installé, sonenta update le laisse intact et le signale comme personnalisé, relancez avec --force pour écraser.
Supprimer
sonenta skills remove sonenta-i18n
Cela supprime les fichiers du skill et du hook et retire uniquement son entrée de .claude/settings.json, en laissant intacts les autres hooks et réglages.
Référence des commandes
| Commande | Ce qu’elle fait |
|---|---|
| sonenta skills list | Liste les skills fournis et lesquels sont installés |
| sonenta skills add sonenta-i18n | Installe le skill + le hook garde-fou (fusion sûre) ; --force pour écraser |
| sonenta skills remove sonenta-i18n | Supprime le skill, le hook et son entrée de réglages |
| sonenta init --skills | Active l’option en initialisant un projet |
| sonenta update | Rafraîchit les skills installés (et les agents) vers la dernière version |
| SONENTA_HOOK_BLOCK=1 | Variable d’environnement, rend le garde-fou bloquant pour la session |
Redémarrez toujours votre session Claude Code après add / remove / update, les skills se chargent au démarrage de la session.