Aller au contenu

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.

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

Ajoutez l'intégration Astro officielle :

Fenêtre de terminal
npm install @sonenta/astro

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.

astro.config.mjs
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"],
}),
],
});

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 :

src/pages/index.astro
---
import { getT } from "sonenta:i18n";
const t = getT(Astro.currentLocale ?? "en");
---
<h1>{t("home.title")}</h1>
<p>{t("home.greeting", { name: "Ada" })}</p>

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 :

Fenêtre de terminal
# push your source strings to Sonenta + publish a release
npx @sonenta/cli push # or let your agent do it over MCP

CLI