Przypadek użycia
Wielojęzyczna strona statyczna
Budujesz w Astro, chcesz dziesięć języków i nie chcesz ciężkiego runtime, żeby je podać.
Problem
- i18n po stronie klienta dokłada wagi i miga przy pierwszym renderze.
- Ręczne trzymanie dziesięciu drzew plików w zgodzie staje się zawodem.
- Każda poprawka tekstu uruchamia pełną przebudowę i wdrożenie.
Co zmienia Sonenta
@sonenta/astropobiera bundle przy budowaniu i wstawia je do statycznego HTML. Zero JavaScriptu po stronie klienta.- Moduł wirtualny
sonenta:i18nudostępnia katalogi, z zapasem na język źródłowy. - Warianty na ekran przychodzą jako nakładka z CDN, bez drugiego drzewa do utrzymania.
Ta strona jest dowodem: sonenta.com na tym działa, w 13 językach. Tekst, który czytasz, został pobrany z CDN w chwili budowania.
Od czego zacząć
// astro.config.mjs
import sonenta from "@sonenta/astro";
export default defineConfig({
integrations: [
sonenta({ project: "proj_xxx", version: "main",
locales: ["fr","en","es"], defaultLocale: "fr" }),
],
});
// dans un composant : zéro JavaScript client
import { getT } from "sonenta:i18n"; Znane ograniczenia
- Bundle są zamrożone przy budowaniu. Opublikowanie tłumaczenia później wymaga nowego zbudowania strony statycznej, inaczej niż w aplikacji, która ładuje w czasie działania.
- Podzbiory fontów i ustawienia dla systemów pisma zostają po Twojej stronie. Sonenta dostarcza tekst, nie typografię.
Aż po ostatnie słowo.
Gotowy, by dopasować swój produkt do każdego użytkownika?
Zacznij za darmo w kilka minut. Bez karty kredytowej, bez zobowiązań, z eksportami zawsze otwartymi.