Astro
L'intégration officielle @sonenta/astro récupère vos bundles de traduction publiés depuis le CDN Sonenta au build et les injecte dans votre HTML statique : zéro JS client, SSG pur, pas de contenu non traduit qui clignote. Ce site tourne dessus.
1. Créez un projet et récupérez vos clés
Section intitulée « 1. Créez un projet et récupérez vos clés »Connectez-vous, créez un projet, copiez son UUID. Vous gérez clés et traductions dans Sonenta : en parlant à votre agent via MCP, avec la CLI, ou dans le dashboard.
Ouvrir le dashboard · Configuration MCP
2. Installez le package
Section intitulée « 2. Installez le package »Ajoutez l'intégration Astro officielle :
npm install @sonenta/astro3. Ajoutez l'intégration
Section intitulée « 3. Ajoutez l'intégration »Déclarez-la dans astro.config.mjs avec votre UUID de projet, vos langues et vos namespaces. Les bundles sont récupérés une fois au build (langue × namespace). Options : version (défaut "main"), cdnBase, fallbackLng.
import { defineConfig } from "astro/config";import sonenta from "@sonenta/astro";
export default defineConfig({ integrations: [ sonenta({ project: "<your-project-uuid>", locales: ["en", "fr"], defaultLocale: "en", // source / fallback locale namespaces: ["common"], }), ],});4. Utilisez getT() dans vos pages
Section intitulée « 4. Utilisez getT() dans vos pages »Importez getT du module virtuel sonenta:i18n et liez-le à une langue. Passez la langue que vous voulez : compatible avec le routing i18n natif d'Astro ou le vôtre. Ciblez d'autres namespaces avec la syntaxe "ns:key" (ex. t("docs:intro")) ; les chaînes sont injectées dans le HTML statique :
---import { getT } from "sonenta:i18n";const t = getT(Astro.currentLocale ?? "en");---<h1>{t("home.title")}</h1><p>{t("home.greeting", { name: "Ada" })}</p>5. Publiez, puis rebuild
Section intitulée « 5. Publiez, puis rebuild »Gérez les chaînes source dans Sonenta et publiez une release (via votre agent, la CLI ou le dashboard). Le prochain astro build récupère le dernier bundle :
# push your source strings to Sonenta + publish a releasenpx @sonenta/cli push # or let your agent do it over MCP