Auteur:
    Création:2026-06-12Dernière mise à jour:2026-06-12

    Collections

    Une collection est un ensemble de fichiers de contenu qui partagent la même clé de dictionnaire (key) mais déclarent chacun un index d'élément (item) différent. Intlayer les fusionne en une seule liste ordonnée au moment de la compilation.

    Déclarer des éléments de collection

    Chaque fichier représente un élément. Le champ item correspond à sa position dans la liste (basée sur 1).

    faq.1.content.ts
    import { t, type Dictionary } from "intlayer";
    
    const dictionary = {
      key: "faq",
      item: 1,
      content: {
        question: t({ en: "What is Intlayer?", fr: "Qu'est-ce qu'Intlayer ?" }),
        answer: t({ en: "An i18n toolkit.", fr: "Une boîte à outils i18n." }),
      },
    } satisfies Dictionary;
    
    export default dictionary;
    faq.2.content.ts
    import { t, type Dictionary } from "intlayer";
    
    const dictionary = {
      key: "faq",
      item: 2,
      content: {
        question: t({ en: "Is it free?", fr: "Est-ce gratuit ?" }),
        answer: t({ en: "Yes, open-source.", fr: "Oui, open-source." }),
      },
    } satisfies Dictionary;
    
    export default dictionary;

    Consommer une collection

    Tous les éléments

    FAQ.tsx
    import { useIntlayer } from "react-intlayer";export const FAQ = () => {  const items = useIntlayer("faq"); // { question: string; answer: string }[]  return (    <ul>      {items.map((item, index) => (        <li key={index}>          <strong>{item.question}</strong>          <p>{item.answer}</p>        </li>      ))}    </ul>  );};

    Un seul élément par index

    tsx
    const faq2 = useIntlayer("faq", { item: 2 });// → { question: string; answer: string }

    Un seul élément avec une locale explicite

    tsx
    const faq2Fr = useIntlayer("faq", { item: 2, locale: "fr" });

    Cas d'utilisation typiques

    • Listes de FAQ (Questions Fréquentes)
    • Grilles de tarifs / offres commercialisables
    • Diapositives de carrousel / slider
    • Instructions étape par étape