Aller au contenu
Sonenta
← Toutes les capacités

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é.

Partie A

Intégration & init

  1. 1. Installez le CLI

    shell
    npm install -g @sonenta/cli      # fournit la commande `sonenta`
  2. 2. 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.

    shell
    sonenta login --token snt_live_<prefix>.<secret>
    # --host vaut https://api.sonenta.dev par défaut
  3. 3. Initialisez le projet

    À lancer à la racine de votre dépôt. Cela génère sonenta.config.json, un bloc géré dans CLAUDE.md / AGENTS.md pour que votre IA locale connaisse le projet, et branche automatiquement le serveur MCP dans .mcp.json (sans secret, le serveur lit les identifiants de votre sonenta login). Dans Claude Code, quittez votre session et démarrez-en une nouvelle ensuite : Claude Code lit .mcp.json au démarrage de la session, une session déjà ouverte continue donc sans les outils Sonenta.

    shell
    sonenta 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>"
          }
        }
      }
    }
  4. 4. Installez l’agent IA local

    Écrit .claude/agents/sonenta-i18n.md et s’assure que .mcp.json est branché. sonenta agents list affiche tous les agents fournis, p. ex. sonenta-a11y.

    shell
    sonenta agents add sonenta-i18n      # l’agent de traduction
  5. 5. Vérifiez l’installation

    shell
    sonenta doctor                       # vérifie MCP branché, joignable, scopé
  6. 6. 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.

    shell
    npm install @sonenta/react-i18next
    entrée de l’app
    import { SonentaProvider } from "@sonenta/react-i18next";
    
    <SonentaProvider
      apiBase="https://api.sonenta.dev"
      projectUuid="<PROJECT_UUID>"
      token="snt_live_<prefix>.<secret>"   // a key with the missing:write scope
      defaultLocale="en"
      namespaces={["common"]}
    >
      <App />
    </SonentaProvider>
    un composant
    const { t } = useTranslation();
    return <button>{t("checkout.pay")}</button>;
Partie B

La séquence de traduction

Une boucle simple en trois étapes : générer des brouillons, relire, publier.

  1. 1. Générez les traductions (brouillons)

    L’agent tourne en local (0 crédit IA) : coverage_reportlist_untranslated_keyspropose_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, traduisez chaque clé non traduite dans toutes mes langues cibles, en suivant mon glossaire et mon ton.
  2. 2. Relisez dans Sonenta

    Ouvrez l’éditeur Traductions du dashboard (/translations). Validez ou modifiez chaque brouillon. Seul ce que vous validez devient publiable.

  3. 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
    Publiez 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.