\n\n \n ```\n\n \n \n ```svelte fileName=\"Hero.svelte\" contentDeclarationFormat={[\"typescript\", \"esm\", \"commonjs\"]}\n \n\n
\n

{$content.headline}

\n {$content.cta}\n
\n ```\n\n
\n \n ```tsx fileName=\"Hero.tsx\" contentDeclarationFormat={[\"typescript\", \"esm\", \"commonjs\"]}\n import { useIntlayer } from \"preact-intlayer\";\n\n export const Hero = () => {\n const { headline, cta } = useIntlayer(\"hero-banner\");\n // → varian default\n\n return (\n
\n

{headline}

\n {cta}\n
\n );\n };\n ```\n\n
\n \n ```tsx fileName=\"Hero.tsx\" contentDeclarationFormat={[\"typescript\", \"esm\", \"commonjs\"]}\n import { useIntlayer } from \"solid-intlayer\";\n\n export const Hero = () => {\n const content = useIntlayer(\"hero-banner\");\n // → varian default\n\n return (\n
\n

{content().headline}

\n {content().cta}\n
\n );\n };\n ```\n\n
\n \n ```typescript fileName=\"hero.component.ts\" contentDeclarationFormat={[\"typescript\", \"esm\", \"commonjs\"]}\n import { Component } from \"@angular/core\";\n import { useIntlayer } from \"angular-intlayer\";\n\n @Component({\n selector: \"app-hero\",\n template: `\n
\n

{{ content().headline }}

\n {{ content().cta }}\n
\n `,\n })\n export class HeroComponent {\n content = useIntlayer(\"hero-banner\");\n }\n ```\n\n
\n \n ```javascript fileName=\"hero.js\"\n import { useIntlayer } from \"vanilla-intlayer\";\n\n const { headline, cta } = useIntlayer(\"hero-banner\");\n\n document.body.innerHTML = `\n
\n

${headline}

\n ${cta}\n
\n `;\n ```\n\n
\n\n\n### Varian bernama\n\n```tsx\nconst { headline, cta } = useIntlayer(\"hero-banner\", {\n variant: \"black_friday\",\n});\n```\n\n### Varian bernama dengan lokalitas eksplisit\n\n```tsx\nconst content = useIntlayer(\"hero-banner\", {\n variant: \"black_friday\",\n locale: \"id\",\n});\n```\n\n## Kasus penggunaan umum\n\n- Pengujian salinan A/B yang didorong oleh kunci eksperimen\n- Spanduk musiman atau promosi\n- Pesan yang menggunakan bendera fitur (feature flags)\n- Kampanye pemasaran khusus wilayah\n","description":"Gunakan bidang metadata variant dalam file konten Intlayer untuk mendeklarasikan alternatif konten bernama (pengujian A/B, spanduk musiman, salinan berbendera fitur) – dan beralih di antaranya saat runtime tanpa perubahan kode.","url":"https://intlayer.org/id/doc/concept/variants","datePublished":"2026-06-12","dateModified":"2026-06-12","version":"9.0.0","keywords":"Varian, Pengujian A/B, Bendera Fitur, 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

    Varian

    Sebuah varian (variant) adalah sekumpulan file konten yang memiliki kunci kamus (key) yang sama tetapi masing-masing membawa nama variant yang berbeda. Intlayer menyajikan file yang sesuai berdasarkan selektor yang diteruskan ke useIntlayer.

    Mendeklarasikan varian

    Setiap file mewakili satu alternatif bernama. Mengabaikan variant (atau menyetelnya ke "default") menandainya sebagai fallback default.

    hero-banner.content.ts
    import { t, type Dictionary } from "intlayer";
    
    const dictionary = {
      key: "hero-banner",
      variant: "default",
      content: {
        headline: t({
          en: "Build faster with Intlayer",
          fr: "Développez plus vite avec Intlayer",
        }),
        cta: t({ en: "Get started", fr: "Commencer" }),
      },
    } satisfies Dictionary;
    
    export default dictionary;
    hero-banner.black-friday.content.ts
    import { t, type Dictionary } from "intlayer";
    
    const dictionary = {
      key: "hero-banner",
      variant: "black_friday",
      content: {
        headline: t({
          en: "50 % off — today only",
          fr: "−50 % — aujourd'hui seulement",
        }),
        cta: t({ en: "Shop now", fr: "Acheter maintenant" }),
      },
    } satisfies Dictionary;
    
    export default dictionary;

    Mengonsumsi varian

    Varian default

    Hero.tsx
    import { useIntlayer } from "react-intlayer";
    
    export const Hero = () => {
      const { headline, cta } = useIntlayer("hero-banner");
      // → varian default
    
      return (
        <section>
          <h1>{headline}</h1>
          <a>{cta}</a>
        </section>
      );
    };

    Varian bernama

    tsx
    const { headline, cta } = useIntlayer("hero-banner", {  variant: "black_friday",});

    Varian bernama dengan lokalitas eksplisit

    tsx
    const content = useIntlayer("hero-banner", {  variant: "black_friday",  locale: "id",});

    Kasus penggunaan umum

    • Pengujian salinan A/B yang didorong oleh kunci eksperimen
    • Spanduk musiman atau promosi
    • Pesan yang menggunakan bendera fitur (feature flags)
    • Kampanye pemasaran khusus wilayah