Tutoriels · pour les devs
Traduisez votre app avec Sonenta
Un parcours par scénario. Chaque tutoriel a deux parties : Intégration & init (brancher Sonenta dans votre dépôt) et une séquence de travail (les prompts IA et les revues qui font le boulot). Les commandes et les prompts sont exacts, copiez-les tels quels.
La v1 couvre la Traduction. D’autres scénarios (accessibilité, évaluation, diffusion) arriveront une fois ce format validé.
Traduction
Branchez Sonenta dans votre dépôt, puis lancez la boucle générer, relire, publier avec votre IA locale.
Intégration & init
-
Installez le CLI
shellnpm install -g @sonenta/cli # fournit la commande `sonenta`
-
Authentifiez-vous
Créez une clé API dans le dashboard (Réglages → Clés API) avec le scope
mcp:*pour que les agents IA locaux puissent agir.shellsonenta login --token vrb_live_<prefix>.<secret> # --host vaut https://api.sonenta.dev par défaut
-
Initialisez le projet
À lancer à la racine de votre dépôt. Cela génère
sonenta.config.json, un bloc géré dansCLAUDE.md/AGENTS.mdpour que votre IA locale connaisse le projet, et branche automatiquement le serveur MCP dans.mcp.json(sans secret, le serveur lit les identifiants de votresonenta login).shellsonenta init --project <PROJECT_UUID>
sonenta.config.json{ "host": "https://api.sonenta.dev", "project_uuid": "<PROJECT_UUID>", "version_slug": "main" }.mcp.json{ "mcpServers": { "sonenta": { "command": "npx", "args": ["-y", "@sonenta/mcp"], "env": { "SONENTA_BASE_URL": "https://api.sonenta.dev", "SONENTA_PROJECT": "<PROJECT_UUID>" } } } } -
Installez l’agent IA local
Écrit
.claude/agents/sonenta-i18n.mdet s’assure que.mcp.jsonest branché.sonenta agents listaffiche tous les agents fournis, p. ex.sonenta-a11y.shellsonenta agents add sonenta-i18n # l’agent de traduction
-
Vérifiez l’installation
shellsonenta doctor # vérifie MCP branché, joignable, scopé
-
Ajoutez le SDK runtime
Enveloppez votre app une fois avec le provider, puis affichez vos chaînes avec le hook
t()comme d’habitude. Les traductions publiées arrivent par le CDN sans changement de code.shellnpm install @sonenta/react-i18next
entrée de l’appimport { SonentaProvider } from "@sonenta/react-i18next"; <SonentaProvider apiBase="https://api.sonenta.dev" projectUuid="<PROJECT_UUID>" token="vrb_live_<prefix>.<secret>" // a key with the missing:write scope defaultLocale="en" namespaces={["common"]} > <App /> </SonentaProvider>un composantconst { t } = useTranslation(); return <button>{t("checkout.pay")}</button>; -
Ou tout configurer en un seul prompt
Confiez toute l’installation à votre IA locale :
Demandez à votre IA Configure Sonenta dans ce dépôt : lance sonenta login avec ma clé API, puis sonenta init --project <PROJECT_UUID> (branche le serveur MCP et écris le bloc CLAUDE.md), installe l’agent sonenta-i18n, lance sonenta doctor, et ajoute le SDK @sonenta/react-i18next avec un SonentaProvider autour de mon app.
La séquence de traduction
Une boucle simple en trois étapes : générer des brouillons, relire, publier.
-
1. Générez les traductions (brouillons)
L’agent tourne en local (0 crédit IA) :
coverage_report→list_untranslated_keys→propose_translations_bulk, en respectant votre glossaire et le contexte du projet. Le résultat : des traductions en brouillon dans Sonenta, rien n’est encore en ligne.Demandez à votre IA Avec sonenta-i18n, traduis mes clés non traduites en français et en espagnol, puis soumets-les pour ma relecture.
-
2. Relisez dans Sonenta
Ouvrez l’éditeur Traductions du dashboard (
/translations). Validez ou modifiez chaque brouillon. Seul ce que vous validez devient publiable. -
3. Publiez sur le CDN
L’agent appelle
publish_cdn. Les traductions publiées sont servies par le CDN et reprises automatiquement par votre app via@sonenta/react-i18next, sans changement de code, sans redéploiement.Demandez à votre IA Publie les traductions validées sur le CDN.
La publication passe par l’outil publish_cdn de l’agent (ou le prompt ci-dessus). Il n’y a pas de commande sonenta publish séparée, les commandes push / pull du CLI synchronisent des fichiers de langue locaux, pas le flux IA ci-dessus.