Auteur:
    Création:2026-09-19Dernière mise à jour:2026-09-19

    Documentation du hook useDictionary

    Le hook useDictionary résout un objet dictionnaire importé ou inline et retourne son contenu pour la locale actuelle dans les applications Astro.

    Contrairement à useIntlayer, qui récupère les dictionnaires par clé depuis le registre global de dictionnaires, useDictionary fonctionne directement avec un objet dictionnaire.

    Utilisation

    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>
    

    Vous pouvez également passer des dictionnaires inline définis avec t() :

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

    Paramètres

    ts
    useDictionary(dictionary, localeOrSelector?)
    
    1. dictionary : Un objet dictionnaire ou un groupe de dictionnaires qualifié.
    2. localeOrSelector (optionnel) : Une locale spécifique ou un objet sélecteur ({ item }, { variant }, éventuellement avec locale).

    Description

    Le hook effectue les tâches suivantes :

    1. Détection de la locale : Côté serveur, il obtient la locale depuis Astro.locals.intlayer. Dans le navigateur, il utilise la locale du store côté client.
    2. Traitement du contenu : Résout les traductions (t()), énumérations, conditions et structures imbriquées selon la locale résolue.
    3. Sélecteurs : Applique les sélecteurs d'éléments ou de variantes fournis dans les arguments.

    Documentation associée