Internacionalização
Por decisão arquitetural estratégica (consulte ADR-012 e ADR-024 em DECISIONS.md), este portal opera nativamente com arquitetura monolíngue direta na raiz focada em Português do Brasil (pt-BR).
Essa escolha elimina fricção de SEO nacional, evita prefixos artificiais nas URLs (/cursos, /calendario, /noticias, /sobre, /contato) e proporciona máxima simplicidade para a equipe escolar gerenciar o portal através do Pages CMS sem campos redundantes de idioma.
Como as Traduções de Interface São Organizadas
Section titled “Como as Traduções de Interface São Organizadas”Embora o site opere em pt-BR, os textos fixos de interface e componentes continuam estruturados de forma modular em src/i18n/:
- Dicionários Semânticos: Os textos residem em
src/i18n/pt-BR.json(com espelho de compatibilidade emsrc/i18n/en.json); - Helper
t(): Acesso tipado aos textos através da função utilitáriat():
---import { t } from "../i18n/ui";const locale = (Astro.currentLocale || "pt-BR") as "pt-BR";---<p>{t(locale, "nav.home")}</p>- Fallback Automático: Caso alguma chave não seja encontrada, o helper retorna a própria chave, evitando quebras em tempo de execução.
Expansão Sob Demanda para Múltiplos Idiomas
Section titled “Expansão Sob Demanda para Múltiplos Idiomas”Se no futuro houver necessidade de suporte a outros idiomas:
-
Configuração de Locales em
astro.config.ts: Ative o roteamento i18n nativo do Astro definindo os idiomas desejados:i18n: {defaultLocale: "pt-BR",locales: ["pt-BR", "en"],} -
Dicionários em
src/i18n/: Adicione as novas chaves no respectivo arquivo de tradução (ex.:src/i18n/en.json) e registre emsrc/i18n/ui.ts. -
Validação Automatizada: Execute a validação contínua para garantir que os dicionários possuam exatamente as mesmas chaves:
Terminal window pnpm run validate:i18n
A validação de dicionários é executada automaticamente pelo pipeline de CI (pnpm run lint).