Faça sua pergunta e obtenha um resumo do documento referenciando esta página e o provedor AI de sua escolha
Histórico de versões
- "Padrão `onLocaleChange` para `replace`"v8.0.026/01/2026
- "Histórico inicial"v5.5.1029/06/2025
O conteúdo desta página foi traduzido com uma IA.
Veja a última versão do conteúdo original em inglêsSe você tiver uma ideia para melhorar esta documentação, sinta-se à vontade para contribuir enviando uma pull request no GitHub.
Link do GitHub para a documentaçãoCopiar o Markdown do documento para a área de transferência
Integração com Next.js: Documentação do Hook useLocale para next-intlayer
Esta seção oferece documentação detalhada sobre o hook useLocale adaptado para aplicações Next.js dentro da biblioteca next-intlayer. Ele é projetado para gerenciar mudanças de localidade e roteamento de forma eficiente.
Importando useLocale no Next.js
Para utilizar o hook useLocale em sua aplicação Next.js, importe-o conforme mostrado abaixo:
Copiar o código para a área de transferência
import { useLocale } from "next-intlayer"; // Usado para gerenciar localidades e roteamento no Next.jsUso
Veja como implementar o hook useLocale dentro de um componente Next.js:
Copiar o código para a área de transferência
"use client";
import type { FC } from "react";
import { Locales } from "intlayer";
import { useLocale } from "next-intlayer";
const LocaleSwitcher: FC = () => {
const { locale, defaultLocale, availableLocales, setLocale } = useLocale();
return (
<div>
<h1>Local Atual: {locale}</h1>
<p>Local Padrão: {defaultLocale}</p>
<select value={locale} onChange={(e) => setLocale(e.target.value)}>
{availableLocales.map((loc) => (
<option key={loc} value={loc}>
{loc}
</option>
))}
</select>
</div>
);
};Parâmetros
O hook useLocale aceita os seguintes parâmetros:
onLocaleChange: Uma string que determina como a URL deve ser atualizada quando o local muda. Pode ser"replace","push"ou"none".Vamos dar um exemplo:
- Você está em
/fr/home - Você navega para
/fr/about - Você altera o local para
/es/about - Você clica no botão "voltar" do navegador
O comportamento será diferente com base no valor de
onLocaleChange:"replace"(padrão): Substitui a URL atual pela nova URL localizada e define o cookie. -> O botão "voltar" irá para/es/home"push": Adiciona a nova URL localizada ao histórico do navegador e define o cookie. -> O botão "voltar" irá para/fr/about"none": Apenas atualiza o local no contexto do cliente e define o cookie, sem alterar a URL. -> O botão "voltar" irá para/fr/home(locale) => void: Define o cookie e aciona uma função personalizada que será chamada quando o local mudar.A opção
undefinedé o comportamento padrão, pois recomendamos o uso do componenteLinkpara navegar para o novo local. Exemplo:tsxCopiar códigoCopiar o código para a área de transferência
<Link href="/es/about" replace> Sobre</Link>
- Você está em
Valores de Retorno
locale: O local atual definido no contexto do React.defaultLocale: O local principal definido na configuração.availableLocales: Uma lista de todos os locais disponíveis conforme definido na configuração.setLocale: Uma função para alterar o local da aplicação e atualizar a URL de acordo. Ela cuida das regras de prefixo, se deve ou não adicionar o local ao caminho com base na configuração. UtilizauseRouterdonext/navigationpara funções de navegação comopusherefresh.pathWithoutLocale: Uma propriedade computada que retorna o caminho sem o local. É útil para comparar URLs. Por exemplo, se o local atual forfr, e a URL forfr/my_path, o caminho sem local é/my_path. UtilizausePathnamedonext/navigationpara obter o caminho atual.
Conclusão
O hook useLocale do next-intlayer é uma ferramenta crucial para gerenciar locais em aplicações Next.js. Ele oferece uma abordagem integrada para adaptar sua aplicação a múltiplos locais, lidando de forma fluida com o armazenamento do local, gerenciamento de estado e modificações na URL.