\n\n \n ```\n\n \n \n ```svelte fileName=\"FAQ.svelte\"\n \n\n \n ```\n\n \n \n ```tsx fileName=\"FAQ.tsx\"\n import { useIntlayer } from \"preact-intlayer\";\n\n export const FAQ = () => {\n const items = useIntlayer(\"faq\"); // { question: string; answer: string }[]\n\n return (\n \n );\n };\n ```\n\n \n \n ```tsx fileName=\"FAQ.tsx\"\n import { useIntlayer } from \"solid-intlayer\";\n import { For } from \"solid-js\";\n\n export const FAQ = () => {\n const items = useIntlayer(\"faq\"); // { question: string; answer: string }[]\n\n return (\n \n );\n };\n ```\n\n \n \n ```typescript fileName=\"faq.component.ts\"\n import { Component } from \"@angular/core\";\n import { useIntlayer } from \"angular-intlayer\";\n\n @Component({\n selector: \"app-faq\",\n template: `\n \n `,\n })\n export class FAQComponent {\n items = useIntlayer(\"faq\");\n }\n ```\n\n \n \n ```javascript fileName=\"faq.js\"\n import { useIntlayer } from \"vanilla-intlayer\";\n\n const faq = useIntlayer(\"faq\");\n\n faq.forEach((item) => {\n console.log(item.question);\n console.log(item.answer);\n });\n ```\n\n \n\n\n### Item tunggal berdasarkan indeks\n\n```tsx\nconst faq2 = useIntlayer(\"faq\", { item: 2 });\n// → { question: string; answer: string }\n```\n\n### Item tunggal dengan lokalitas eksplisit\n\n```tsx\nconst faq2Id = useIntlayer(\"faq\", { item: 2, locale: \"id\" });\n```\n\n## Kasus penggunaan umum\n\n- Daftar FAQ (Pertanyaan Umum)\n- Tingkatan harga / paket harga\n- Slide karousel / slider\n- Petunjuk langkah demi langkah\n","description":"Gunakan bidang metadata item di file konten Intlayer untuk membangun koleksi terurut dari item yang dilokalkan yang dapat dipilih berdasarkan indeks saat runtime.","url":"https://intlayer.org/id/doc/concept/collections","datePublished":"2026-06-12","dateModified":"2026-06-12","version":"9.0.0","keywords":"Koleksi, Daftar Konten, Konten Dinamis, Intlayer, Internasionalisasi","license":"https://raw.githubusercontent.com/aymericzip/intlayer/refs/heads/main/LICENSE","audience":{"@type":"Audience","audienceType":"Pengembang, Manajer Konten"}}
    Penulis:
    Dibuat:2026-06-12Terakhir diperbarui:2026-06-12

    Koleksi

    Sebuah koleksi (collection) adalah sekumpulan file konten yang memiliki kunci kamus (key) yang sama tetapi masing-masing mendeklarasikan indeks item (item) yang berbeda. Intlayer menggabungkannya menjadi satu daftar terurut pada waktu build.

    Mendeklarasikan item koleksi

    Setiap file mewakili satu item. Bidang item adalah posisinya dalam daftar (dimulai dari 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;

    Mengonsumsi koleksi

    Semua item

    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 tunggal berdasarkan indeks

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

    Item tunggal dengan lokalitas eksplisit

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

    Kasus penggunaan umum

    • Daftar FAQ (Pertanyaan Umum)
    • Tingkatan harga / paket harga
    • Slide karousel / slider
    • Petunjuk langkah demi langkah