المؤلف:
    إنشاء: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)
    • الحملات التسويقية الخاصة بمنطقة معينة