\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 // → المتغير الافتراضي\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 // → المتغير الافتراضي\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### متغير مسمى\n\n```tsx\nconst { headline, cta } = useIntlayer(\"hero-banner\", {\n variant: \"black_friday\",\n});\n```\n\n### متغير مسمى مع لغة محددة صراحة\n\n```tsx\nconst content = useIntlayer(\"hero-banner\", {\n variant: \"black_friday\",\n locale: \"ar\",\n});\n```\n\n## حالات الاستخدام الشائعة\n\n- اختبارات النصوص A/B الموجهة بمفتاح التجربة\n- اللافتات الترويجية أو الموسمية\n- الرسائل المرتبطة بأعلام الميزات (feature flags)\n- الحملات التسويقية الخاصة بمنطقة معينة\n","description":"استخدم حقل البيانات التعريفية variant في ملفات محتوى Intlayer للإعلان عن بدائل محتوى مسماة (اختبارات A/B، واللافتات الموسمية، والنصوص المرتبطة بأعلام الميزات) والتبديل بينها في وقت التشغيل دون تغيير الكود.","url":"https://intlayer.org/ar/doc/concept/variants","datePublished":"2026-06-12","dateModified":"2026-06-12","version":"9.0.0","keywords":"المتغيرات, اختبارات A/B, أعلام الميزات, المحتوى الديناميكي, Intlayer, تدويل","license":"https://raw.githubusercontent.com/aymericzip/intlayer/refs/heads/main/LICENSE","audience":{"@type":"Audience","audienceType":"المطورون ومديرو المحتوى"}}
    المؤلف:
    إنشاء:2026-06-12آخر تحديث:2026-06-12

    المتغيرات

    المتغير (Variant) هو عبارة عن مجموعة من ملفات المحتوى التي تشترك في نفس مفتاح القاموس (key) ولكن كل منها يحمل اسم متغير (variant) مختلف. يقوم Intlayer بتقديم الملف المناسب بناءً على المحدد الممرر إلى useIntlayer.

    الإعلان عن المتغيرات

    يمثل كل ملف بديلاً مسمى واحدًا. يؤدي حذف variant (أو تعيينه إلى "default") إلى تعيين الملف كمتغير افتراضي (fallback).

    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;

    استهلاك المتغيرات

    المتغير الافتراضي

    Hero.tsx
    import { useIntlayer } from "react-intlayer";
    
    export const Hero = () => {
      const { headline, cta } = useIntlayer("hero-banner");
      // → المتغير الافتراضي
    
      return (
        <section>
          <h1>{headline}</h1>
          <a>{cta}</a>
        </section>
      );
    };

    متغير مسمى

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

    متغير مسمى مع لغة محددة صراحة

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

    حالات الاستخدام الشائعة

    • اختبارات النصوص A/B الموجهة بمفتاح التجربة
    • اللافتات الترويجية أو الموسمية
    • الرسائل المرتبطة بأعلام الميزات (feature flags)
    • الحملات التسويقية الخاصة بمنطقة معينة