Caso de uso
Site estático multilingue
Constrói com Astro, quer dez línguas, e não quer um runtime pesado para as servir.
O problema
- A i18n do lado do cliente acrescenta peso e um piscar no primeiro desenho.
- Manter dez árvores de ficheiros alinhadas à mão torna-se uma profissão.
- Cada correção de texto desencadeia uma reconstrução e uma implantação completas.
O que a Sonenta muda
@sonenta/astrovai buscar os bundles no build e insere-os no HTML estático. Zero JavaScript de cliente.- Um módulo virtual
sonenta:i18nexpõe os catálogos, com recurso à língua de origem. - As variantes por ecrã chegam em sobreposição do CDN, sem uma segunda árvore para manter.
Esta página é a prova: sonenta.com corre sobre isso, em 13 línguas. O texto que está a ler foi obtido do CDN no momento do build.
Por onde começar
// 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"; Limites conhecidos
- Os bundles ficam congelados no build. Publicar uma tradução depois exige uma nova construção do site estático, ao contrário de uma app que carrega em tempo de execução.
- Os subconjuntos de tipos de letra e os ajustes por escrita continuam a seu cargo. A Sonenta entrega o texto, não a tipografia.
Para ir mais longe
Até à última palavra.
Pronto para adaptar o seu produto a cada utilizador?
Comece gratuitamente em poucos minutos. Sem cartão de crédito, sem compromisso, com as suas exportações sempre abertas.