Aller au contenu
Sonenta
← Toute la documentation

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=1 dans 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.