Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Quando trabalhamos com NextJS e next-i18next, a dúvida recorrente é como pegar a linguagem atual dentro de um componente ou página.
Se você já usou o withTranslation, sabe que ele facilita a integração, mas muitas vezes a necessidade é acessá-la sem depender do contexto de tradução. A decisão fica mais saudável quando o time consegue medir o impacto depois.
O método mais direto é usar o hook useTranslation, que retorna o objeto de tradução e o idioma atual. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
import { useTranslation } from 'react-i18next'. const MinhaPagina = () => {
const { i18n } = useTranslation(). const idiomaAtual = i18n.language. return <div>Idioma atual: {idiomaAtual}</div>. }.
Isso ajuda a evitar chamadas mais complexas ou dependências de props e facilita o controle dinâmico de conteúdo, especialmente em aplicações multilíngues. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois.
Mas a grande questão é: em ambientes de produção, quanto esse tipo de consulta impacta na performance e na complexidade? Afinal, cada consulta ao i18n pode acrescentar carga, especialmente se o projeto crescer. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
No seu time, já passou por esse ponto de equilíbrio? Como vocês lidam com a manutenção dessas informações de idioma em escala? A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois.
Concordo, Rafael. O uso do hook é mais leve mesmo. Mas em apps maiores, às vezes a gente precisa de um cache ou uma lógica centralizada pra evitar fetch repetido.
No meu projeeto, usar o hook direto ajuda bastante pra performance. Evita montar todo o contexto toda hora. Mas o risco é esquecer de atualizar o estado ao trocar de idioma, aí pode ficar bugado.
lol
A questão do impacto na performance é real, Wesley. Principalmente se a aplicação tiver muitos componentes que precisam dessa info. Pode valer a pena pensar em uma estratégia de cache ou até mesmo um hook mais inteligente.