Estratégia de URL i18n para site Astro
Decisão
- Usar estrutura de URL com prefixo em subdiretório.
- Definir
prefixDefaultLocale: falseno i18n do Astro. - O idioma padrão (ja) permanece na raiz (ex.:
/posts/slug). - Idiomas adicionais (en etc.) usam prefixos (ex.:
/en/posts/slug). - Manter o mesmo slug em todos os idiomas.
Contexto
Precisávamos oferecer suporte a conteúdo multilíngue com fluxos de IA/tradução preservando as seguintes restrições:
- Manter intactas as URLs japonesas existentes para preservar SEO e links de entrada.
- Permanecer alinhado ao roteamento baseado em arquivos do Astro para menor manutenção.
- Tratar o japonês como fonte da verdade.
Opções
- Opção A (sufixo):
/posts/slug/en- Baixa aderência ao roteamento i18n padrão do Astro.
- Opção B (inglês na raiz):
/em inglês e mover japonês para/ja/- Exige alterar URLs japonesas existentes.
- Opção C (prefixo + JA padrão): manter
/em japonês e colocar inglês em/en/- Preserva URLs e habilita i18n.
Justificativa
- Compatibilidade retroativa: nenhuma alteração de URL para conteúdo japonês existente.
- Menor custo de implementação: viável com a configuração i18n nativa do Astro.
- Qualidade e confiança: facilita separar conteúdo original de traduções.
Consequências
- Visitantes não japoneses que acessarem
/verão japonês. - Se necessário, adicionar UI de sugestão de idioma ou redirecionamento por Accept-Language.
hreflange links entre idiomas são fáceis de gerar com helpers do Astro.- Exigir slugs idênticos entre idiomas passa a ser regra de gestão de conteúdo.
hsb.horse