Documentación de la integración Next.js: 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 forma eficiente.

    Importación de useLocale en Next.js

    Para utilizar el hook useLocale en tu aplicación Next.js, impórtalo de la siguiente manera:

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

    Uso

    Aquí tienes un ejemplo de cómo implementar el hook useLocale en un componente Next.js:

    "use client"; import { Locales } from "intlayer"; import { useLocale } from "next-intlayer"; const LocaleSwitcher = () => { 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> ); }; export default LocaleSwitcher;

    Parámetros y valores devueltos

    Al invocar el hook useLocale, devuelve un objeto con las siguientes propiedades:

    • locale: El idioma actual definido en el contexto de React.
    • defaultLocale: El idioma principal definido en la configuración.
    • availableLocales: Una lista de todos los idiomas disponibles definidos en la configuración.
    • setLocale: Una función para cambiar el idioma de la aplicación y actualizar la URL en consecuencia. Se encarga de las reglas de prefijos, ya sea agregando o no el idioma 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 el idioma. Es útil para comparar URLs. Por ejemplo, si el idioma actual es es y la URL es es/mi_ruta, la ruta sin idioma será /mi_ruta. Utiliza usePathname de next/navigation para obtener la ruta actual.

    Conclusión

    El hook useLocale de next-intlayer es una herramienta esencial para gestionar idiomas en aplicaciones Next.js. Ofrece un enfoque integrado para adaptar tu aplicación a múltiples idiomas, manejando el almacenamiento del idioma, la gestión de estados y las modificaciones de URL de manera transparente.

    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

    En esta página