Autor:
    Criação:2026-06-12Última atualização:2026-06-12

    Coleções

    Uma coleção é um conjunto de arquivos de conteúdo que compartilham a mesma chave de dicionário (key), mas cada um declara um índice de item (item) diferente. O Intlayer os mescla em uma única lista ordenada no momento da compilação.

    Declarando itens de coleção

    Cada arquivo representa um item. O campo item é a sua posição na lista (baseada em 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;

    Consumindo uma coleção

    Todos os itens

    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>  );};

    Item único por índice

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

    Item único com localidade explícita

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

    Casos de uso típicos

    • Listas de FAQ (Perguntas Frequentes)
    • Níveis de preços
    • Slides de carrossel / slider
    • Instruções passo a passo