InicioEntorno de pruebasExhibiciónAppDocBlog
    • Englishinglés
      EN
    • русскийruso
      RU
    • 日本語japonés
      JA
    • françaisfrancés
      FR
    • 한국어coreano
      KO
    • 中文chino
      ZH
    • españolespañol
      ES
    • Deutschalemán
      DE
    • العربيةárabe
      AR
    • italianoitaliano
      IT
    • British Englishinglés británico
      EN-GB
    • portuguêsportugués
      PT
    • हिन्दीhindi
      HI
    • Türkçeturco
      TR
    • polskipolaco
      PL
    • Indonesiaindonesio
      ID
    • Tiếng Việtvietnamita
      VI
    • українськаucraniano
      UK
    /
    Filtrar documentación por framework
    Alt+←
    ¿Por qué Intlayer?
    Empezar
    Concepto
    • Cómo funciona Intlayer
    • Configuración
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Editor visual
    • CMS
    • Integración CI/CD
    • TraducciónPluralEnumeraciónCondiciónGéneroInserciónArchivoAnidaciónMarkdownHTMLObtención de función
    • Archivo por locale
    • Compilador
    • Autocompletado
    • Pruebas
    • Optimización de bundle
    Entornos
    • Next.js 14 y App Router
      Next.js 15
      Next.js sin locale URL
      Next.js y Page Router
      Compiler
    • Tanstack Start Solid
    • Astro y React
      Astro y Svelte
      Astro y Vue
      Astro y Solid
      Astro y Preact
      Astro y Lit
      Astro y Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt y Vue
    • Vite y Solid
    • SvelteKit
    • Vite y Preact
    • Vite y Vanilla JS
    • Vite y Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native y Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx y React
    Plugins
    • JSON
    • gettext (.po)
    Extensión VS Code
    Agente
    • Servidor MCP
    • Habilidades del agente
    Versiones
    • v8
    • v7
    • v6
    Benchmark
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Blog
    Preguntar una pregunta
    1. Documentation
    2. Packages
    3. Next intlayer
    4. UseLocale
    Creación:2024-08-11Última actualización:2026-01-26
    Referencia esta doc a tu asistente AI favorito
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección

    Historial de versiones

    1. "`onLocaleChange` por defecto a `replace`"
      v8.0.026/1/2026
    2. "Historial inicial"
      v5.5.1029/6/2025

    El contenido de esta página ha sido traducido con una IA.

    Ver la última versión del contenido original en inglés
    Editar esta documentación

    Si tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.

    Enlace de GitHub a la documentación
    Copiar

    Copiar el Markdown del documento a la portapapeles

    Integración con Next.js: Documentación del Hook useLocale para next-intlayer

    Esta sección ofrece documentación detallada sobre el hook useLocale diseñado para aplicaciones Next.js dentro de la biblioteca next-intlayer. Está pensado para manejar cambios de idioma y enrutamiento de manera eficiente.

    Importando useLocale en Next.js

    Para utilizar el hook useLocale en tu aplicación Next.js, impórtalo como se muestra a continuación:

    javascript
    Copiar código

    Copiar el código al portapapeles

    import { useLocale } from "next-intlayer"; // Usado para gestionar locales y enrutamiento en Next.js

    Uso

    Aquí se muestra cómo implementar el hook useLocale dentro de un componente Next.js:

    src/components/LocaleSwitcher.tsx
    Copiar código

    Copiar el código al portapapeles

    "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>Idioma Actual: {locale}</h1>
          <p>Idioma Predeterminado: {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

    El hook useLocale acepta los siguientes parámetros:

    • onLocaleChange: Una cadena que determina cómo debe actualizarse la URL cuando cambia el locale. Puede ser "replace", "push" o "none".

      Tomemos un ejemplo:

      1. Estás en /fr/home
      2. Navegas a /fr/about
      3. Cambias el locale a /es/about
      4. Haces clic en el botón "atrás" del navegador

      El comportamiento variará según el valor de onLocaleChange:

      • "replace" (predeterminado): Reemplaza la URL actual con la nueva URL localizada y establece la cookie. -> El botón "atrás" irá a /es/home
      • "push": Agrega la nueva URL localizada al historial del navegador y establece la cookie. -> El botón "atrás" irá a /fr/about
      • "none": Solo actualiza el locale en el contexto del cliente y establece la cookie, sin cambiar la URL. -> El botón "atrás" irá a /fr/home
      • (locale) => void: Establece la cookie y activa una función personalizada que se llamará cuando cambie el locale.

        La opción undefined es el comportamiento predeterminado, ya que recomendamos usar el componente Link para navegar al nuevo locale. Ejemplo:

        tsx
        Copiar código

        Copiar el código al portapapeles

        <Link href="/es/about" replace>  Acerca de</Link>

    Valores de Retorno

    • locale: La configuración regional actual establecida en el contexto de React.
    • defaultLocale: La configuración regional principal definida en la configuración.
    • availableLocales: Una lista de todas las configuraciones regionales disponibles según lo definido en la configuración.
    • setLocale: Una función para cambiar la configuración regional de la aplicación y actualizar la URL en consecuencia. Se encarga de las reglas de prefijo, ya sea para añadir o no la configuración regional en la ruta según la configuración. Utiliza useRouter de next/navigation para funciones de navegación como push y refresh.
    • pathWithoutLocale: Una propiedad calculada que devuelve la ruta sin la configuración regional. Es útil para comparar URLs. Por ejemplo, si la configuración regional actual es fr, y la URL es fr/my_path, la ruta sin configuración regional es /my_path. Utiliza usePathname de next/navigation para obtener la ruta actual.

    Conclusión

    El hook useLocale de next-intlayer es una herramienta crucial para gestionar configuraciones regionales en aplicaciones Next.js. Ofrece un enfoque integrado para adaptar tu aplicación a múltiples configuraciones regionales manejando de manera fluida el almacenamiento de la configuración regional, la gestión del estado y las modificaciones de la URL.

    ¿Por qué Intlayer?
    Alt+→

    En esta página

      Las conversaciones son anónimas y se revisan regularmente para abordar problemas comunes. No dudes en compartir ideas de funcionalidades, comentarios sobre la documentación o cualquier cosa relacionada con Intlayer, usamos esta información para definir nuestra hoja de ruta y mejorar el producto.

      import { useLocale } from "next-intlayer"; // Usado para gestionar locales y enrutamiento en Next.js
      <Link href="/es/about" replace>  Acerca de</Link>