Como configurar roteamento baseado em domínio com Intlayer em vez de caminhos /[locale]/?
Resposta rápida
O roteamento baseado em domínio é mais simples do que o roteamento baseado em caminho (example.com/[locale]/) porque você pode pular toda a configuração de middleware e roteamento. Basta implantar seu app em cada domínio de idioma e definir uma variável de ambiente por domínio.
Passo a passo
- Implante uma vez por domínio (
example.com,exemple.fr,ejemplo.es, …). - Para cada implantação, defina
LOCALE(e as variáveis de ambiente usuais do Intlayer) para o idioma que aquele domínio deve servir. - Referencie essa variável como
defaultLocaleno seuintlayer.config.[ts|js].
Copiar o código para a área de transferência
É só isso - funciona da mesma forma para Next.js, Vite + React, Vite + Vue, etc.
E se todos os domínios acessarem a mesma implantação?
Se todos os domínios apontarem para o mesmo pacote de aplicação, você precisará detectar o host em tempo de execução e passar o idioma manualmente através do provedor.
Para Next.js
Copiar o código para a área de transferência
Para Vue
Copiar o código para a área de transferência
Substitua getLocaleFromHostname() pela sua própria lógica de busca.
Atualize seu seletor de idioma
Ao usar roteamento baseado em domínio, mudar de idioma significa navegar para outro domínio:
Copiar o código para a área de transferência
Benefícios do roteamento baseado em domínio
- Configuração mais simples: Não é necessário configurar
intlayerProxy,generateStaticParams,react-routerouvue-router - Melhor SEO: Cada idioma possui seu próprio domínio
- URLs mais limpas: Sem prefixo de localidade no caminho
- Manutenção mais fácil: Cada implantação de idioma é independente