تلقي إشعارات حول الإصدارات القادمة من Intlayer
    إنشاء:2024-08-13آخر تحديث:2025-09-16

    وثائق تهيئة Intlayer

    نظرة عامة

    تتيح ملفات تهيئة Intlayer تخصيص جوانب مختلفة من الإضافة، مثل التدويل، والوسائط الوسيطة، والتعامل مع المحتوى. يوفر هذا المستند وصفًا تفصيليًا لكل خاصية في التهيئة.


    دعم ملفات التهيئة

    يدعم Intlayer تنسيقات ملفات التهيئة JSON و JS و MJS و TS:

    • intlayer.config.ts
    • intlayer.config.js
    • intlayer.config.json
    • intlayer.config.cjs
    • intlayer.config.mjs
    • .intlayerrc

    مثال على ملف التهيئة

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH], // اللغات المدعومة  },  content: {    autoFill: "./{{fileName}}.content.json", // تعبئة المحتوى تلقائيًا من ملف JSON    contentDir: ["src", "../ui-library"], // مجلدات المحتوى  },  middleware: {    noPrefix: false, // استخدام بادئة في الوسائط الوسيطة  },  editor: {    applicationURL: "https://example.com", // رابط التطبيق للمحرر  },  ai: {    apiKey: process.env.OPENAI_API_KEY, // مفتاح API للذكاء الاصطناعي    applicationContext: "This is a test application", // سياق التطبيق للذكاء الاصطناعي  },  build: {    importMode: "dynamic", // وضع الاستيراد أثناء البناء  },};export default config;

    مرجع التهيئة

    تصف الأقسام التالية إعدادات التهيئة المختلفة المتاحة لـ Intlayer.


    تهيئة التدويل

    تعريف الإعدادات المتعلقة بالتدويل، بما في ذلك اللغات المتاحة واللغة الافتراضية للتطبيق.

    الخصائص

    • locales:

      • النوع: string[]
      • الافتراضي: ['en']
      • الوصف: قائمة اللغات المدعومة في التطبيق.
      • مثال: ['en', 'fr', 'es']
    • requiredLocales:
      • النوع: string[]
      • الافتراضي: []
      • الوصف: قائمة اللغات المطلوبة في التطبيق.
      • مثال: []
      • ملاحظة: إذا كانت فارغة، فكل اللغات مطلوبة في وضع strict.
      • ملاحظة: تأكد من أن اللغات المطلوبة معرفة أيضًا في حقل locales.
    • strictMode:

      • النوع: string
      • الافتراضي: inclusive
      • الوصف: ضمان تنفيذ قوي للمحتوى الدولي باستخدام typescript.
      • ملاحظة: إذا تم تعيينها إلى "strict"، فإن دالة الترجمة t ستتطلب تعريف كل اللغات المعلنة. إذا كانت لغة مفقودة، أو إذا لم يتم إعلان لغة في التهيئة الخاصة بك، فسيتم رمي خطأ.
      • ملاحظة: إذا تم تعيينها إلى "inclusive"، فإن دالة الترجمة t ستتطلب تعريف كل اللغات المعلنة. إذا كانت لغة مفقودة، فستصدر تحذيرًا. لكنها ستقبل إذا كانت اللغة غير معلنة في التهيئة الخاصة بك، لكنها موجودة.
      • ملاحظة: إذا تم تعيينها إلى "loose"، فإن دالة الترجمة t ستقبل أي لغة موجودة.
    • defaultLocale:

      • النوع: string
      • الافتراضي: 'en'
      • الوصف: اللغة الافتراضية المستخدمة كخيار احتياطي إذا لم يتم العثور على اللغة المطلوبة.
      • مثال: 'en'
      • ملاحظة: يُستخدم هذا لتحديد اللغة عندما لا يتم تحديد أي لغة في عنوان URL أو ملف تعريف الارتباط أو الرأس.

    تكوين المحرر

    يحدد الإعدادات المتعلقة بالمحرر المتكامل، بما في ذلك منفذ الخادم وحالة التفعيل.

    الخصائص

    • applicationURL:

      • النوع: string
      • الافتراضي: http://localhost:3000
      • الوصف: عنوان URL الخاص بالتطبيق. يُستخدم لتقييد أصل المحرر لأسباب أمنية.
      • مثال:
        • 'http://localhost:3000'
        • 'https://example.com'
        • process.env.INTLAYER_EDITOR_URL
      • ملاحظة: عنوان URL الخاص بالتطبيق. يُستخدم لتقييد أصل المحرر لأسباب أمنية. إذا تم تعيينه إلى '*'، يكون المحرر متاحًا من أي أصل.
    • port:

      • النوع: number
      • الافتراضي: 8000
      • الوصف: المنفذ المستخدم من قبل خادم المحرر المرئي.
    • editorURL:

      • النوع: string
      • الافتراضي: 'http://localhost:8000'
      • الوصف: عنوان URL الخاص بخادم المحرر. يُستخدم لتقييد أصل المحرر لأسباب أمنية.
        • 'http://localhost:3000'
        • 'https://example.com'
        • process.env.INTLAYER_EDITOR_URL
      • ملاحظة: عنوان URL الخاص بخادم المحرر الذي يتم الوصول إليه من التطبيق. يُستخدم لتقييد الأصول التي يمكنها التفاعل مع التطبيق لأسباب أمنية. إذا تم تعيينه إلى '*'، يكون المحرر متاحًا من أي أصل. يجب تعيينه إذا تم تغيير المنفذ، أو إذا كان المحرر مستضافًا على نطاق مختلف.
    • cmsURL:

      • النوع: string
      • الافتراضي: 'https://intlayer.org'
      • الوصف: عنوان URL الخاص بنظام إدارة المحتوى Intlayer.
      • مثال: 'https://intlayer.org'
      • ملاحظة: عنوان URL الخاص بنظام إدارة المحتوى Intlayer.
    • backendURL:

      • النوع: string
      • الافتراضي: https://back.intlayer.org
      • الوصف: عنوان URL الخاص بخادم الواجهة الخلفية.
      • مثال: http://localhost:4000
    • enabled:

      • النوع: boolean
      • الافتراضي: true
      • الوصف: يشير إلى ما إذا كان التطبيق يتفاعل مع المحرر المرئي.
      • مثال: process.env.NODE_ENV !== 'production'
      • ملاحظة: إذا كانت القيمة صحيحة، سيتمكن المحرر من التفاعل مع التطبيق. إذا كانت خاطئة، فلن يتمكن المحرر من التفاعل مع التطبيق. في جميع الأحوال، يمكن تمكين المحرر فقط من خلال المحرر المرئي. تعطيل المحرر لبيئات محددة هو وسيلة لتعزيز الأمان.
    • clientId:

      • النوع: string | undefined
      • الافتراضي: undefined
      • الوصف: يسمح كل من clientId و clientSecret لحزم intlayer بالمصادقة مع الخادم الخلفي باستخدام مصادقة oAuth2. يتم استخدام رمز وصول للمصادقة على المستخدم المرتبط بالمشروع. للحصول على رمز وصول، انتقل إلى https://intlayer.org/dashboard/project وأنشئ حسابًا.
      • مثال: true
      • ملاحظة: مهم: يجب الحفاظ على سرية clientId و clientSecret وعدم مشاركتهما علنًا. يرجى التأكد من الاحتفاظ بهما في مكان آمن، مثل متغيرات البيئة.
    • clientSecret:

      • النوع: string | undefined
      • الافتراضي: undefined
      • الوصف: يسمح كل من clientId و clientSecret لحزم intlayer بالمصادقة مع الخادم الخلفي باستخدام مصادقة oAuth2. يتم استخدام رمز وصول للمصادقة على المستخدم المرتبط بالمشروع. للحصول على رمز وصول، انتقل إلى https://intlayer.org/dashboard/project وأنشئ حسابًا.
      • مثال: true
      • ملاحظة: مهم: يجب الحفاظ على سرية clientId و clientSecret وعدم مشاركتهما علنًا. يرجى التأكد من الاحتفاظ بهما في مكان آمن، مثل متغيرات البيئة.
    • dictionaryPriorityStrategy:

      • النوع: string
      • الافتراضي: 'local_first'
      • الوصف: الاستراتيجية لتحديد أولوية القواميس في حالة وجود كل من القواميس المحلية والقواميس البعيدة. إذا تم تعيينها إلى 'distant_first'، ستعطي التطبيق أولوية للقواميس البعيدة على القواميس المحلية. إذا تم تعيينها إلى 'local_first'، ستعطي التطبيق أولوية للقواميس المحلية على القواميس البعيدة.
      • مثال: 'distant_first'
    • liveSync:

      • النوع: boolean
      • الافتراضي: false
      • الوصف: يشير إلى ما إذا كان يجب على خادم التطبيق إعادة تحميل محتوى التطبيق تلقائيًا عند اكتشاف تغيير في نظام إدارة المحتوى / المحرر المرئي / الخلفية.
      • مثال: true
      • ملاحظة: على سبيل المثال، عندما يتم إضافة قاموس جديد أو تحديثه، سيقوم التطبيق بتحديث المحتوى ليتم عرضه في الصفحة.
      • ملاحظة: تحتاج المزامنة الحية إلى تعريض محتوى التطبيق على خادم آخر. هذا يعني أنه قد يؤثر قليلاً على أداء التطبيق. للحد من ذلك، نوصي باستضافة التطبيق وخادم المزامنة الحية على نفس الجهاز. أيضًا، يمكن أن يؤدي الجمع بين المزامنة الحية وoptimize إلى تطبيق عدد كبير من الطلبات على خادم المزامنة الحية. اعتمادًا على البنية التحتية الخاصة بك، نوصي باختبار كلا الخيارين وتركيبتهما.
    • liveSyncPort:

      • النوع: number
      • الافتراضي: 4000
      • الوصف: منفذ خادم المزامنة الحية.
      • مثال: 4000
      • ملاحظة: منفذ خادم المزامنة الحية.
    • liveSyncURL:

      • النوع: string
      • الافتراضي: 'http://localhost:{liveSyncPort}'
      • الوصف: عنوان URL الخاص بخادم المزامنة الحية.
      • مثال: 'https://example.com'
      • ملاحظة: يشير إلى localhost بشكل افتراضي ولكن يمكن تغييره إلى أي عنوان URL في حالة وجود خادم مزامنة حية عن بُعد.

    تكوين الوسيط

    الإعدادات التي تتحكم في سلوك الوسيط، بما في ذلك كيفية تعامل التطبيق مع ملفات تعريف الارتباط، والرؤوس، والبادئات في عناوين URL لإدارة اللغة.

    الخصائص

    • headerName:

      • النوع: string
      • الافتراضي: 'x-intlayer-locale'
      • الوصف: اسم رأس HTTP المستخدم لتحديد اللغة.
      • مثال: 'x-custom-locale'
      • ملاحظة: هذا مفيد لتحديد اللغة بناءً على واجهة برمجة التطبيقات (API).
    • cookieName:

      • النوع: string
      • الافتراضي: 'intlayer-locale'
      • الوصف: اسم ملف تعريف الارتباط المستخدم لتخزين اللغة.
      • مثال: 'custom-locale'
      • ملاحظة: يُستخدم للحفاظ على اللغة عبر الجلسات.
    • prefixDefault:

      • النوع: boolean
      • الافتراضي: false
      • الوصف: ما إذا كان يجب تضمين اللغة الافتراضية في عنوان URL.
      • مثال: true
      • ملاحظة:
        • إذا كانت القيمة true و defaultLocale = 'en': المسار = /en/dashboard أو /fr/dashboard
        • إذا كانت القيمة false و defaultLocale = 'en': المسار = /dashboard أو /fr/dashboard
    • basePath:

      • النوع: string
      • الافتراضي: ''
      • الوصف: المسار الأساسي لعناوين URL الخاصة بالتطبيق.
      • مثال: '/my-app'
      • ملاحظة:
        • إذا كان التطبيق مستضافًا على https://example.com/my-app
        • يكون المسار الأساسي هو '/my-app'
        • سيكون عنوان URL هو https://example.com/my-app/en
        • إذا لم يتم تعيين المسار الأساسي، سيكون عنوان URL هو https://example.com/en
    • serverSetCookie:

      • النوع: string
      • الافتراضي: 'always'
      • الوصف: قاعدة تعيين ملف تعريف الارتباط للغة على الخادم.
      • الخيارات: 'always'، 'never'
      • مثال: 'never'
      • ملاحظة: تتحكم فيما إذا كان يتم تعيين ملف تعريف الارتباط للغة عند كل طلب أو لا يتم تعيينه أبدًا.
    • noPrefix:

      • النوع: boolean
      • الافتراضي: false
      • الوصف: ما إذا كان يجب حذف بادئة اللغة من عناوين URL.
      • مثال: true
      • ملاحظة:
        • إذا كانت القيمة true: لا توجد بادئة في عنوان URL
        • إذا كانت القيمة false: توجد بادئة في عنوان URL
        • مثال مع basePath = '/my-app':
          • إذا كانت noPrefix = false: سيكون عنوان URL هو https://example.com/my-app/en
          • إذا كانت noPrefix = true: سيكون عنوان URL هو https://example.com
    • detectLocaleOnPrefetchNoPrefix:

      • النوع: boolean
      • الافتراضي: false
      • الوصف: يتحكم فيما إذا كان يتم اكتشاف اللغة أثناء طلبات التحميل المسبق في Next.js.
      • مثال: true
      • ملاحظة: تؤثر هذه الإعدادات على كيفية تعامل Next.js مع التحميل المسبق للغة:
        • سيناريو المثال:
          • لغة متصفح المستخدم هي 'fr'
          • الصفحة الحالية هي /fr/about
          • الرابط يقوم بالتحميل المسبق لـ /about
        • مع detectLocaleOnPrefetchNoPrefix: true:
          • يكتشف التحميل المسبق لغة 'fr' من المتصفح
          • يعيد توجيه التحميل المسبق إلى /fr/about
        • مع detectLocaleOnPrefetchNoPrefix: false (الافتراضي):
          • يستخدم التحميل المسبق اللغة الافتراضية
          • يعيد توجيه التحميل المسبق إلى /en/about (بافتراض أن 'en' هي اللغة الافتراضية)
        • متى تستخدم القيمة true:
          • تطبيقك يستخدم روابط داخلية غير مخصصة للغة (مثل <a href="/about">)
          • تريد سلوك اكتشاف اللغة متسق بين الطلبات العادية وطلبات التحميل المسبق
        • متى تستخدم القيمة false (الافتراضي):
          • تطبيقك يستخدم روابط مخصصة للغة (مثل <a href="/fr/about">)
          • تريد تحسين أداء التحميل المسبق
          • تريد تجنب حلقات إعادة التوجيه المحتملة

    تكوين المحتوى

    إعدادات تتعلق بمعالجة المحتوى داخل التطبيق، بما في ذلك أسماء الدلائل، امتدادات الملفات، والتكوينات المشتقة.

    الخصائص

    • autoFill:

      • النوع: boolean | string | { [key in Locales]?: string }
      • الافتراضي: undefined
      • الوصف: يشير إلى كيفية ملء المحتوى تلقائيًا باستخدام الذكاء الاصطناعي. يمكن الإعلان عنه عالميًا في ملف intlayer.config.ts.
      • مثال: true
      • مثال: './{{fileName}}.content.json'
      • مثال: { fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }
      • ملاحظة: تكوين الملء التلقائي. يمكن أن يكون:
        • boolean: تمكين الملء التلقائي لجميع اللغات
        • string: مسار إلى ملف واحد أو قالب مع متغيرات
        • object: مسارات ملفات لكل لغة
    • watch:

      • النوع: boolean
      • الافتراضي: process.env.NODE_ENV === 'development'
      • الوصف: يشير إلى ما إذا كان يجب على Intlayer مراقبة التغييرات في ملفات إعلان المحتوى داخل التطبيق لإعادة بناء القواميس ذات الصلة.
    • fileExtensions:

      • النوع: string[]
      • الافتراضي: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']
      • الوصف: امتدادات الملفات التي يجب البحث عنها عند بناء القواميس.
      • مثال: ['.data.ts', '.data.js', '.data.json']
      • ملاحظة: تخصيص امتدادات الملفات يمكن أن يساعد في تجنب التعارضات.
    • baseDir:

      • النوع: string
      • الافتراضي: process.cwd()
      • الوصف: الدليل الأساسي للمشروع.
      • مثال: '/path/to/project'
      • ملاحظة: يُستخدم هذا لحل جميع الدلائل المتعلقة بـ Intlayer.
    • dictionaryOutput:

      • النوع: string[]
      • الافتراضي: ['intlayer']
      • الوصف: نوع إخراج القاموس المستخدم، مثل 'intlayer' أو 'i18next'.
    • contentDir:

      • النوع: string[]
      • الافتراضي: ['.']
      • مثال: ['src', '../../ui-library', require.resolve("@my-package/content")]
      • الوصف: مسار الدليل حيث يتم تخزين المحتوى.
    • dictionariesDir:

      • النوع: string
      • الافتراضي: '.intlayer/dictionaries'
      • الوصف: مسار الدليل لتخزين النتائج الوسيطة أو الناتجة.
    • moduleAugmentationDir:

      • النوع: string
      • الافتراضي: '.intlayer/types'
      • الوصف: دليل لتوسيع الوحدات، مما يسمح بتحسين اقتراحات IDE وفحص الأنواع.
      • مثال: 'intlayer-types'
      • ملاحظة: تأكد من تضمين هذا في tsconfig.json.
    • unmergedDictionariesDir:

      • النوع: string
      • الافتراضي: '.intlayer/unmerged_dictionary'
      • الوصف: الدليل لتخزين القواميس غير المدمجة.
      • مثال: 'translations'
    • dictionariesDir:

      • النوع: string
      • الافتراضي: '.intlayer/dictionary'
      • الوصف: الدليل لتخزين قواميس التوطين.
      • مثال: 'translations'
    • i18nextResourcesDir:

      • النوع: string
      • الافتراضي: 'i18next_dictionary'
      • الوصف: الدليل لتخزين قواميس i18n.
      • مثال: 'translations'
      • ملاحظة: تأكد من تكوين هذا الدليل لنوع الإخراج i18next.
    • typesDir:

      • النوع: string
      • الافتراضي: 'types'
      • الوصف: الدليل لتخزين أنواع القواميس.
      • مثال: 'intlayer-types'
    • mainDir:

      • النوع: string
      • الافتراضي: 'main'
      • الوصف: الدليل الذي تُخزن فيه ملفات التطبيق الرئيسية.
      • مثال: 'intlayer-main'
    • excludedPath:

      • النوع: string[]
      • الافتراضي: ['node_modules']
      • الوصف: الأدلة المستبعدة من البحث في المحتوى.
      • ملاحظة: هذا الإعداد غير مستخدم حالياً، لكنه مخطط لتطبيقه في المستقبل.

    إعدادات المسجل (Logger)

    الإعدادات التي تتحكم في المسجل، بما في ذلك البادئة التي تُستخدم.

    الخصائص

    • mode:

      • النوع: string
      • الافتراضي: default
      • الوصف: يشير إلى وضع المسجل.
      • الخيارات: default، verbose، disabled
      • مثال: default
      • ملاحظة: وضع المسجل. الوضع المفصل (verbose) يسجل معلومات أكثر، ويمكن استخدامه لأغراض التصحيح. الوضع المعطل (disabled) يعطل المسجل.
    • prefix:

      • النوع: string
      • الافتراضي: '[intlayer] '
      • الوصف: بادئة المسجل.
      • مثال: '[my custom prefix] '
      • ملاحظة: بادئة المسجل.

    تكوين الذكاء الاصطناعي

    الإعدادات التي تتحكم في ميزات الذكاء الاصطناعي في Intlayer، بما في ذلك المزود، النموذج، ومفتاح API.

    هذا التكوين اختياري إذا كنت مسجلاً في لوحة تحكم Intlayer باستخدام مفتاح وصول. ستدير Intlayer تلقائيًا الحل الأكثر كفاءة وفعالية من حيث التكلفة لاحتياجاتك في الذكاء الاصطناعي. يضمن استخدام الخيارات الافتراضية صيانة أفضل على المدى الطويل حيث تقوم Intlayer بالتحديث المستمر لاستخدام النماذج الأكثر ملاءمة.

    إذا كنت تفضل استخدام مفتاح API الخاص بك أو نموذج معين، يمكنك تعريف تكوين الذكاء الاصطناعي المخصص الخاص بك. سيتم استخدام تكوين الذكاء الاصطناعي هذا على مستوى بيئة Intlayer الخاصة بك بشكل عام. ستستخدم أوامر CLI هذه الإعدادات كقيم افتراضية للأوامر (مثل fill)، وكذلك SDK، والمحرر المرئي، ونظام إدارة المحتوى (CMS). يمكنك تجاوز هذه القيم الافتراضية لحالات استخدام محددة باستخدام معلمات الأوامر.

    يدعم Intlayer عدة مزودي ذكاء اصطناعي لزيادة المرونة والاختيار. المزودون المدعومون حاليًا هم:

    • OpenAI (الافتراضي)
    • Anthropic Claude
    • Mistral AI
    • DeepSeek
    • Google Gemini
    • Meta Llama

    الخصائص

    • provider:

      • النوع: string
      • الافتراضي: 'openai'
      • الوصف: المزود المستخدم لميزات الذكاء الاصطناعي في Intlayer.
      • الخيارات: 'openai'، 'anthropic'، 'mistral'، 'deepseek'، 'gemini'
      • مثال: 'anthropic'
      • ملاحظة: قد تتطلب مزودات مختلفة مفاتيح API مختلفة ولها نماذج تسعير مختلفة.
    • model:

      • النوع: string
      • الافتراضي: لا شيء
      • الوصف: النموذج المستخدم لميزات الذكاء الاصطناعي في Intlayer.
      • مثال: 'gpt-4o-2024-11-20'
      • ملاحظة: يختلف النموذج المحدد المستخدم حسب المزود.
    • temperature:

      • النوع: number
      • الافتراضي: لا شيء
      • الوصف: تتحكم درجة الحرارة في عشوائية استجابات الذكاء الاصطناعي.
      • مثال: 0.1
      • ملاحظة: درجة حرارة أعلى تجعل الذكاء الاصطناعي أكثر إبداعًا وأقل قابلية للتنبؤ.
    • apiKey:

      • النوع: string
      • الافتراضي: لا شيء
      • الوصف: مفتاح API الخاص بك للمزود المحدد.
      • مثال: process.env.OPENAI_API_KEY
      • ملاحظة: مهم: يجب الحفاظ على سرية مفاتيح API وعدم مشاركتها علنًا. يرجى التأكد من الاحتفاظ بها في مكان آمن، مثل متغيرات البيئة.
    • applicationContext:

      • النوع: string
      • الافتراضي: لا شيء
      • الوصف: يوفر سياقًا إضافيًا حول تطبيقك لنموذج الذكاء الاصطناعي، مما يساعده على توليد ترجمات أكثر دقة وملاءمة للسياق. يمكن أن يشمل ذلك معلومات حول مجال تطبيقك، الجمهور المستهدف، النغمة، أو المصطلحات الخاصة.

    إعدادات البناء

    الإعدادات التي تتحكم في كيفية تحسين Intlayer وبناء التدويل في تطبيقك.

    تنطبق خيارات البناء على الإضافات @intlayer/babel و @intlayer/swc.

    في وضع التطوير، يستخدم Intlayer الاستيراد الثابت للقواميس لتبسيط تجربة التطوير.

    عند التهيئة للتحسين، سيقوم Intlayer باستبدال استدعاءات القواميس لتحسين تقسيم الحزم، بحيث يقوم الحزمة النهائية باستيراد القواميس التي يتم استخدامها فقط.

    الخصائص

    • optimize:

      • النوع: boolean
      • الافتراضي: process.env.NODE_ENV === 'production'
      • الوصف: يتحكم فيما إذا كان يجب تحسين عملية البناء.
      • المثال: true
      • ملاحظة: عند التفعيل، سيقوم Intlayer باستبدال جميع استدعاءات القواميس لتحسين تقسيم الحزم. بهذه الطريقة، ستقوم الحزمة النهائية باستيراد القواميس المستخدمة فقط. ستبقى جميع الاستيرادات استيرادًا ثابتًا لتجنب المعالجة غير المتزامنة عند تحميل القواميس.
      • ملاحظة: سيقوم Intlayer باستبدال جميع استدعاءات useIntlayer بالنمط المحدد بواسطة خيار importMode وgetIntlayer بـ getDictionary.
      • ملاحظة: يعتمد هذا الخيار على الإضافات @intlayer/babel و @intlayer/swc.
      • ملاحظة: تأكد من إعلان جميع المفاتيح بشكل ثابت في استدعاءات useIntlayer، على سبيل المثال useIntlayer('navbar').
    • importMode:
      • النوع: 'static' | 'dynamic' | 'live'
      • الافتراضي: 'static'
      • الوصف: يتحكم في كيفية استيراد القواميس.
      • مثال: 'dynamic'
      • ملاحظة: الأنماط المتاحة:
        • "static": يتم استيراد القواميس بشكل ثابت. يستبدل useIntlayer بـ useDictionary.
        • "dynamic": يتم استيراد القواميس بشكل ديناميكي باستخدام Suspense. يستبدل useIntlayer بـ useDictionaryDynamic.
    • "live": يتم جلب القواميس ديناميكيًا باستخدام واجهة برمجة التطبيقات للمزامنة الحية. يستبدل useIntlayer بـ useDictionaryFetch.
    • ملاحظة: تعتمد الاستيرادات الديناميكية على Suspense وقد تؤثر قليلاً على أداء العرض.
    • ملاحظة: إذا تم تعطيلها، سيتم تحميل جميع اللغات مرة واحدة، حتى لو لم تُستخدم.
    • ملاحظة: تعتمد هذه الخيار على الإضافات @intlayer/babel و @intlayer/swc.
    • ملاحظة: تأكد من إعلان جميع المفاتيح بشكل ثابت في استدعاءات useIntlayer، مثل useIntlayer('navbar').
    • ملاحظة: سيتم تجاهل هذا الخيار إذا تم تعطيل optimize.

      • ملاحظة: إذا تم تعيينه إلى "live"، فسيتم تحويل القواميس التي تحتوي على محتوى عن بُعد والمحددة كعلامات "live" فقط إلى وضع البث المباشر. وسيتم استيراد القواميس الأخرى ديناميكيًا كـ "dynamic" لتحسين عدد استعلامات الجلب وأداء التحميل.
      • ملاحظة: سيستخدم وضع البث المباشر واجهة برمجة التطبيقات للمزامنة الحية لجلب القواميس. إذا فشل استدعاء واجهة برمجة التطبيقات، فسيتم استيراد القواميس ديناميكيًا كـ "dynamic".
      • ملاحظة: لن تؤثر هذه الخيار على الدوال getIntlayer، getDictionary، useDictionary، useDictionaryAsync و useDictionaryDynamic.
    • traversePattern:

      • النوع: string[]
      • الافتراضي: ['**/*.{js,ts,mjs,cjs,jsx,tsx,mjx,cjx}', '!**/node_modules/**']
      • الوصف: أنماط تحدد الملفات التي يجب استعراضها أثناء التحسين.
        • مثال: ['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']
      • ملاحظة: استخدم هذا لتحديد التحسين لملفات الكود ذات الصلة وتحسين أداء البناء.
      • ملاحظة: سيتم تجاهل هذا الخيار إذا تم تعطيل optimize.
      • ملاحظة: استخدم نمط glob.

    تاريخ الوثيقة

    الإصدار التاريخ التغييرات
    6.0.0 2025-09-16 إضافة وضع الاستيراد live
    6.0.0 2025-09-04 استبدال حقل hotReload بـ liveSync وإضافة حقلي liveSyncPort و liveSyncURL
    5.6.1 2025-07-25 استبدال activateDynamicImport بخيار importMode
    5.6.0 2025-07-13 تغيير الدليل الافتراضي للمحتوى من ['src'] إلى ['.']
    5.5.11 2025-06-29 إضافة أوامر docs
    تلقي إشعارات حول الإصدارات القادمة من Intlayer