Dúvida nextjs 15
Boa meus amigos!, preciso de uma ajuda que pode parecer meio besta
Tenha uma landing page, que é uma página de venda que eu queria fazer o seguinte
Se a página fosse acessada aqui no Brasil eu queria mostrar a página em português e o preço em Real e direcionar para um link de compra
E se fosse acessado fora do Brasil queria mostrar a página em inglês, outro valor em dolar e direcionar para outro link de compra
É possível algo parecido usando Nextjs 15?
Desde já agraço pela força rsrsrs
Como você tá com o Next.js 15
, talvez seja uma boa tentar com algum desses jeitos:
Lado do Server:
import { headers } from 'next/headers';
export default function TuaPágina() {
const listaDosHeaders = headers();
const acceptLanguage = headersList.get('accept-language');
const linguaATUAL = acceptLanguage?.split(',')[0] || 'en';
return (
<div>
<p>Lingua: {language}</p>
</div>
);
}
Lado do Cliente
'use client'
import { useState, useEffect } from 'react'
export default function TuaPagina() {
const [linguaDoUser, setLinguaDoUser] = useState('en');
useEffect(() => {
setLinguaDoUser(navigator.language || 'en');
}, []);
return (
<div>
<p>Lingua: {linguaDoUser}</p>
</div>
);
}
Algo assim!
Veja alguma biblioteca de i18n como essa aqui.
Se não funcionar automaticamente: Leia o valor do header accept-language
do navegador, ele tem as linguagens preferidas pelo usuário
já pensou em pegar direto do navegador o idioma? Outra opção é usar um serviço de GeoIp, existem grátis e como voce precisa da precisão por país não terá dificuldades.