Autor:
    Creación:2026-09-19Última actualización:2026-09-19

    Documentación del hook useDictionary

    El hook useDictionary resuelve un objeto de diccionario importado o en línea y devuelve su contenido para el locale actual en aplicaciones Astro.

    A diferencia de useIntlayer, que recupera diccionarios por clave desde el registro global de diccionarios, useDictionary funciona directamente con un objeto de diccionario.

    Uso

    src/pages/index.astro
    ---
    import { useDictionary } from "astro-intlayer";
    import homeContent from "../content/home.content";
    
    const content = useDictionary(homeContent);
    ---
    
    <main>
      <h1>{content.title}</h1>
      <p>{content.description}</p>
    </main>
    

    También puedes pasar diccionarios en línea definidos con t():

    src/components/Footer.astro
    ---
    import { useDictionary } from "astro-intlayer";
    import { t } from "intlayer";
    
    const footer = useDictionary({
      key: "footer",
      content: {
        copyright: t({
          es: "Todos los derechos reservados.",
          en: "All rights reserved.",
          fr: "Tous droits réservés.",
        }),
      },
    });
    ---
    
    <footer>
      <p>{footer.copyright}</p>
    </footer>
    

    Parámetros

    ts
    useDictionary(dictionary, localeOrSelector?)
    
    1. dictionary: Un objeto de diccionario o grupo de diccionarios calificado.
    2. localeOrSelector (opcional): Un locale específico o un objeto selector ({ item }, { variant }, opcionalmente con locale).

    Descripción

    El hook realiza las siguientes tareas:

    1. Detección de Locale: En el servidor, obtiene el locale de Astro.locals.intlayer. En el navegador, utiliza el locale del store del cliente.
    2. Procesamiento de contenido: Resuelve traducciones (t()), enumeraciones, condiciones y estructuras anidadas según el locale resuelto.
    3. Selectores: Aplica cualquier selector de elemento o variante proporcionado en los argumentos.

    Documentación relacionada