Автор:
    Создание:2026-06-12Последнее обновление:2026-06-12

    Коллекции

    Коллекция (Collection) — это набор файлов контента, которые используют один и тот же ключ словаря (key), но каждый объявляет свой индекс элемента item. Intlayer объединяет их в единый упорядоченный список во время сборки.

    Объявление элементов коллекции

    Каждый файл представляет собой один элемент. Поле item указывает на его позицию в списке (начиная с 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;

    Использование коллекции

    Все элементы

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

    Один элемент по индексу

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

    Один элемент с явным указанием локали

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

    Типичные варианты использования

    • Списки FAQ (Часто задаваемые вопросы)
    • Тарифные сетки / ценовые планы
    • Слайды каруселей / слайдеров
    • Пошаговые инструкции