feat(i18n): restrict public routes and metadata to enabled locales
- Add ENABLED_LOCALES configuration in i18n/links.js (currently ["pt"]) - Redirect inactive locale prefixes to /pt via 307 in middleware.js - Restrict root locale negotiation to active locales with fallback to pt - Hide LanguageSelector when only one locale is enabled - Generate sitemap, hreflang alternates, and og:locale only for active locales - Generate static SSG pages only for active locales in build - Adapt check:i18n and smoke-imagem.sh to validate active vs inactive locales Co-Authored-By: Antigravity <noreply@google.com>
This commit is contained in:
1 parent
3a1a095e97
commit
d479a8d361
9 files changed
+219
-79
No files matched your search
@@ -17,6 +17,12 @@ Tudo o que muda de relevante no ESPDocs está aqui. O formato segue o
|
||||
- Catálogo de mensagens canônico `messages/pt.json` cobrindo 15 namespaces de páginas e componentes sem alteração de conteúdo.
|
||||
- Conjunto de dados canônicos em `data/pt/` (`series.json`, `frameworks.json`, `conexoes/*.json`) e módulos em `lib/data/pt/` (`glossario.js`, `diagnostico.js`, `componentes.js`, `topicos.js`) com carregadores por locale em `lib/data/index.js`.
|
||||
- Script automatizado de validação `check:i18n` integrado ao `npm run check`, verificando paridade de chaves, ausência de valores vazios e garantia estrita de ausência de referências ao livro fora do português.
|
||||
- Controle de idiomas ativos e proteção contra conteúdo não traduzido:
|
||||
- Configuração centralizada em `i18n/links.js` (`ENABLED_LOCALES`), atualmente restrita a `["pt"]`.
|
||||
- Redirecionamento 307 de qualquer prefixo de idioma inativo para `/pt` preservando o caminho ou mapeamento equivalente.
|
||||
- Negociação de idioma na raiz selecionando unicamente entre os idiomas ativos (com fallback em `pt`).
|
||||
- Seletor de idiomas no cabeçalho oculto enquanto apenas um idioma estiver ativo.
|
||||
- Sitemap, hreflang/alternates e build SSG restritos aos idiomas ativos.
|
||||
|
||||
### Alterado
|
||||
|
||||
|
||||
Reference in new issue
Block a user