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.