InícioAmbiente de testeVitrineAppDocBlog
    • Englishinglês
      EN
    • русскийrusso
      RU
    • 日本語japonês
      JA
    • françaisfrancês
      FR
    • 한국어coreano
      KO
    • 中文chinês
      ZH
    • españolespanhol
      ES
    • Deutschalemão
      DE
    • العربيةárabe
      AR
    • italianoitaliano
      IT
    • British Englishinglês (Reino Unido)
      EN-GB
    • portuguêsportuguês
      PT
    • हिन्दीhindi
      HI
    • Türkçeturco
      TR
    • polskipolonês
      PL
    • Indonesiaindonésio
      ID
    • Tiếng Việtvietnamita
      VI
    • українськаucraniano
      UK
    /
    Filtrar documentação por framework
    Alt+←
    Por que Intlayer?
    Começar
    Conceito
    • Como o Intlayer funciona
    • Configuração
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Editor visual
    • CMS
    • Integração CI/CD
    • TraduçãoPluralEnumeraçãoCondiçãoGêneroInserçãoArquivoAninhamentoMarkdownHTMLBusca de função
    • Arquivo por locale
    • Compilador
    • Preenchimento automático
    • Testes
    • Otimização de bundle
    Ambiente
    • Next.js 14 e App Router
      Next.js 15
      Next.js sem locale URL
      Next.js e Page Router
      Compiler
    • Tanstack Start Solid
    • Astro e React
      Astro e Svelte
      Astro e Vue
      Astro e Solid
      Astro e Preact
      Astro e Lit
      Astro e Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt e Vue
    • Vite e Solid
    • SvelteKit
    • Vite e Preact
    • Vite e Vanilla JS
    • Vite e Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native e Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx e React
    Plugins
    • JSON
    • gettext (.po)
    Extensão VS Code
    Agente
    • Servidor MCP
    • Habilidades do agente
    Versões
    • v8
    • v7
    • v6
    Benchmark
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Blog
    Faça uma pergunta
    1. Documentation
    2. Packages
    3. Next intlayer
    4. UseLocale
    Criação:2025-08-23Última atualização:2026-01-26
    Referência esta documentação ao seu assistente AI favorito
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    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

    1. "Padrão `onLocaleChange` para `replace`"
      v8.0.026/01/2026
    2. "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ês
    Editar esta documentação

    Se 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ção
    Copiar

    Copiar 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:

    javascript
    Copiar código

    Copiar o código para a área de transferência

    import { useLocale } from "next-intlayer"; // Usado para gerenciar localidades e roteamento no Next.js

    Uso

    Veja como implementar o hook useLocale dentro de um componente Next.js:

    src/components/LocaleSwitcher.tsx
    Copiar código

    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:

      1. Você está em /fr/home
      2. Você navega para /fr/about
      3. Você altera o local para /es/about
      4. 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 componente Link para navegar para o novo local. Exemplo:

        tsx
        Copiar código

        Copiar o código para a área de transferência

        <Link href="/es/about" replace>  Sobre</Link>

    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. Utiliza useRouter do next/navigation para funções de navegação como push e refresh.
    • pathWithoutLocale: Uma propriedade computada que retorna o caminho sem o local. É útil para comparar URLs. Por exemplo, se o local atual for fr, e a URL for fr/my_path, o caminho sem local é /my_path. Utiliza usePathname do next/navigation para 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.

    Por que Intlayer?
    Alt+→

    Nesta página

      As discussões são anônimas e regularmente revisadas para resolver problemas comuns. Sinta-se à vontade para compartilhar ideias de funcionalidades, feedback sobre a documentação ou qualquer coisa relacionada ao Intlayer, usamos essas informações para moldar nosso roadmap e melhorar o produto.

      import { useLocale } from "next-intlayer"; // Usado para gerenciar localidades e roteamento no Next.js
      <Link href="/es/about" replace>  Sobre</Link>