Aller au contenu
Sonenta
← Toute la documentation

Quickstart · Astro

Utiliser Sonenta dans un site 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

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.

2 · Installez le package

Ajoutez l’intégration Astro officielle :

npm install @sonenta/astro

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.

// 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"],
    }),
  ],
});

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 :

---
// 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>

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 release
npx @sonenta/cli push   # or let your agent do it over MCP
CLI →

On l’utilise nous-mêmes : ce site tourne dessus

Sonenta.com — cette page comprise — est construit avec @sonenta/astro : 13 langues sur plusieurs namespaces, chaînes source poussées dans Sonenta via MCP, publiées sur le CDN, récupérées au build, injectées en HTML statique. Exactement la config ci-dessus, à l’échelle.

La suite (0.2.0)

Surfaces d’accessibilité (t.aria, t.alt), pluriels CLDR, et variantes de surface responsive (desktop / mobile via <SurfaceText>) arrivent de façon additive en 0.2.0 — sans casser l’API ci-dessus.