وثائق تكوين Intlayer
نظرة عامة
تتيح ملفات تكوين Intlayer تخصيص جوانب مختلفة من البرنامج المساعد، مثل التدويل، وواجهة الاستخدام، ومعالجة المحتوى. توفر هذه الوثيقة وصفًا تفصيليًا لكل خاصية في التكوين.
دعم ملف التكوين
تقبل Intlayer تنسيقات ملفات التكوين JSON وJS وMJS وTS:
- intlayer.config.ts
- intlayer.config.js
- intlayer.config.json
- intlayer.config.cjs
- intlayer.config.mjs
- .intlayerrc
مثال على ملف التكوين
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH], }, content: { typesDir: "content/types", }, middleware: { noPrefix: false, },};export default config;
مرجع التكوين
تص describe the various configuration settings available for Intlayer.
تكوين التدويل
يحدد الإعدادات ذات الصلة بالتدويل، بما في ذلك المواقع المتاحة والموقع الافتراضي للتطبيق.
الخصائص
- locales:
- النوع: string[]
- القيمة الافتراضية: ['en']
- الوصف: قائمة المواقع المدعومة في التطبيق.
- مثال: ['en', 'fr', 'es']
strictMode:
- النوع: string
- القيمة الافتراضية: required_only
- الوصف: ضمان تنفيذ دقيق للمحتوى الدولي باستخدام typescript.
- ملاحظة: إذا تم تعيينه على "strict"، ستتطلب دالة الترجمة t تعريف كل المواقع المصرح بها. إذا كانت واحدة من المواقع مفقودة، أو إذا لم يكن هناك موقع تم التصريح به في التكوين الخاص بك، فسيتم إلقاء خطأ.
- ملاحظة: إذا تم تعيينه على "required_only"، ستتطلب دالة الترجمة t تعريف كل المواقع المصرح بها. إذا كانت واحدة من المواقع مفقودة، فسيتم إلقاء تحذير. ولكن ستقبل وجود موقع غير مقرر في التكوين الخاص بك، لكن موجود.
- ملاحظة: إذا تم تعيينه على "loose"، ستقبل دالة الترجمة t أي موقع موجود.
defaultLocale:
- النوع: string
- القيمة الافتراضية: 'en'
- الوصف: الموقع الافتراضي المستخدم كبديل إذا لم يتم العثور على الموقع المطلوب.
- مثال: 'en'
- ملاحظة: يتم استخدام هذا لتحديد الموقع عندما لا يتم تحديده في عنوان URL، أو الكعكة، أو الرأس.
تكوين المحرر
يحدد الإعدادات ذات الصلة بالمحرر المدمج، بما في ذلك منفذ الخادم وحالة النشاط.
الخصائص
backendURL:
- النوع: string
- القيمة الافتراضية: https://back.intlayer.org
- الوصف: عنوان URL لخادم الخلفية.
- مثال: http://localhost:4000
enabled:
- النوع: boolean
- القيمة الافتراضية: true
- الوصف: يشير إلى ما إذا كان المحرر نشطًا.
- مثال: true
- ملاحظة: يمكن تعيينه باستخدام NODE_ENV، أو متغير بيئي مخصص آخر
clientId:
- النوع: string | undefined
- القيمة الافتراضية: undefined
- الوصف: يسمح clientId وclientSecret لحزم intlayer بالمصادقة مع الخلفية باستخدام مصادقة oAuth2. يتم استخدام رمز الوصول للمصادقة مع المستخدم المرتبط بالمشروع. للحصول على رمز وصول، انتقل إلى /dashboard/project وأنشئ حسابًا.
- مثال: true
- ملاحظة: مهم: يجب أن تظل clientId وclientSecret سريتين ولا تتشاركان علنًا. يرجى التأكد من الاحتفاظ بهما في موقع آمن، مثل المتغيرات البيئية.
clientSecret:
- النوع: string | undefined
- القيمة الافتراضية: undefined
- الوصف: يسمح clientId وclientSecret لحزم intlayer بالمصادقة مع الخلفية باستخدام مصادقة oAuth2. يتم استخدام رمز الوصول للمصادقة مع المستخدم المرتبط بالمشروع. للحصول على رمز وصول، انتقل إلى /dashboard/project وأنشئ حسابًا.
- مثال: true
- ملاحظة: مهم: يجب أن تظل clientId وclientSecret سريتين ولا تتشاركان علنًا. يرجى التأكد من الاحتفاظ بهما في موقع آمن، مثل المتغيرات البيئية.
تكوين واجهة الاستخدام
الإعدادات التي تتحكم في سلوك واجهة الاستخدام، بما في ذلك كيفية معالجة التطبيق للكعكات، والرؤوس، والبادئات الخاصة بإدارة المواقع.
الخصائص
- headerName:
- النوع: string
- القيمة الافتراضية: 'x-intlayer-locale'
- الوصف: اسم رأس HTTP المستخدم لتحديد الموقع.
- مثال: 'x-custom-locale'
- ملاحظة: هذا مفيد لتحديد المواقع القائمة على API.
- cookieName:
- النوع: string
- القيمة الافتراضية: 'intlayer-locale'
- الوصف: اسم الكعكة المستخدمة لتخزين الموقع.
- مثال: 'custom-locale'
- ملاحظة: يستخدم للحفاظ على الموقع عبر الجلسات.
- prefixDefault:
- النوع: boolean
- القيمة الافتراضية: true
- الوصف: ما إذا كان يجب تضمين الموقع الافتراضي في عنوان URL.
- مثال: false
- ملاحظة: إذا كان false، فلن تحتوي عناوين URL للموقع الافتراضي على بادئة الموقع.
- basePath:
- النوع: string
- القيمة الافتراضية: ''
- الوصف: المسار الأساسي لعنوان URL في التطبيق.
- مثال: '/my-app'
- ملاحظة: يؤثر ذلك على كيفية بناء عناوين URL للتطبيق.
- serverSetCookie:
- النوع: string
- القيمة الافتراضية: 'always'
- الوصف: قاعدة لتعيين كعكة الموقع على الخادم.
- الخيارات: 'always', 'never'
- مثال: 'never'
- ملاحظة: تتحكم فيما إذا كانت كعكة الموقع يتم تعيينها في كل طلب أو لا يتم تعيينها أبدًا.
- noPrefix:
- النوع: boolean
- القيمة الافتراضية: false
- الوصف: ما إذا كان يجب حذف بادئة الموقع من عناوين URL.
- مثال: true
- ملاحظة: إذا كانت true، فلن تحتوي عناوين URL على معلومات الموقع.
تكوين المحتوى
الإعدادات المتعلقة بمعالجة المحتوى ضمن التطبيق، بما في ذلك أسماء الدلائل، وامتدادات الملفات، والتكوينات المشتقة.
الخصائص
- 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'.
- contentDirName:
- النوع: string
- القيمة الافتراضية: 'src'
- الوصف: اسم الدليل الذي يتم تخزين المحتوى فيه.
- مثال: 'data', 'content', 'locales'
- ملاحظة: إذا لم يكن عند مستوى الدليل الأساسي، قم بتحديث contentDir.
contentDir:
- النوع: string
- المشتقة من: 'baseDir' / 'contentDirName'
- الوصف: مسار الدليل حيث يتم تخزين المحتوى.
- resultDirName:
- النوع: string
- القيمة الافتراضية: '.intlayer'
- الوصف: اسم الدليل حيث يتم تخزين النتائج.
- مثال: 'outputOFIntlayer'
- ملاحظة: إذا لم يكن هذا الدليل عند المستوى الأساسي، قم بتحديث resultDir.
resultDir:
- النوع: string
- المشتقة من: 'baseDir' / 'resultDirName'
- الوصف: المسار للدليل لتخزين النتائج الوسيطة أو المخرجات.
moduleAugmentationDirName:
- النوع: string
- القيمة الافتراضية: 'types'
- الوصف: الدليل لتوسيع الوحدة، مما يسمح باقتراحات IDE أفضل والتحقق من الأنواع.
- مثال: 'intlayer-types'
- ملاحظة: تأكد من تضمين ذلك في tsconfig.json.
moduleAugmentationDir:
- النوع: string
- المشتقة من: 'baseDir' / 'moduleAugmentationDirName'
- الوصف: المسار لتوسيع الوحدة والتعريفات الإضافية للنوع.
- dictionariesDirName:
- النوع: string
- القيمة الافتراضية: 'dictionary'
- الوصف: الدليل لتخزين القواميس.
- مثال: 'translations'
- ملاحظة: إذا لم يكن عند مستوى الدليل الناتج، قم بتحديث dictionariesDir.
dictionariesDir:
- النوع: string
- المشتقة من: 'resultDir' / 'dictionariesDirName'
- الوصف: الدليل لتخزين قواميس التوطين.
- i18nextResourcesDirName:
- النوع: string
- القيمة الافتراضية: 'i18next_dictionary'
- الوصف: الدليل لتخزين قواميس i18n.
- مثال: 'translations'
- ملاحظة: إذا لم يكن عند مستوى الدليل الناتج، قم بتحديث i18nextResourcesDir.
- ملاحظة: تأكد من أن مخرجات القواميس i18n تشمل i18next لبناء القواميس لـ i18next
i18nextResourcesDir:
- النوع: string
- المشتقة من: 'resultDir' / 'i18nextResourcesDirName'
- الوصف: الدليل لتخزين قواميس i18n.
- ملاحظة: تأكد من تكوين هذا الدليل لنوع الإخراج الخاص بـ i18next.
typeDirName:
- النوع: string
- القيمة الافتراضية: 'types'
- الوصف: الدليل لتخزين أنواع القاموس.
- مثال: 'intlayer-types'
- ملاحظة: إذا لم يكن عند مستوى الدليل الناتج، قم بتحديث typesDir.
typesDir:
- النوع: string
- المشتقة من: 'resultDir' / 'typeDirName'
- الوصف: الدليل لتخزين أنواع القاموس.
- mainDirName:
- النوع: string
- القيمة الافتراضية: 'main'
- الوصف: الدليل لتخزين الملفات الرئيسية.
- مثال: 'intlayer-main'
- ملاحظة: إذا لم يكن عند مستوى الدليل الناتج، قم بتحديث mainDir.
- mainDir:
- النوع: string
- المشتقة من: 'resultDir' / 'mainDirName'
- الوصف: الدليل حيث يتم تخزين ملفات التطبيق الرئيسية.
- excludedPath:
- النوع: string[]
- القيمة الافتراضية: ['node_modules']
- الوصف: الأدلة المستبعدة من البحث عن المحتوى.
- ملاحظة: لم يتم استخدام هذا الإعداد بعد، ولكنه مخطط للتنفيذ في المستقبل.
تكوين المسجل
الإعدادات التي تتحكم في المسجل، بما في ذلك مستوى تسجيل الدخول والبادئة التي يجب استخدامها.
الخصائص
- enabled:
- النوع: boolean
- القيمة الافتراضية: true
- الوصف: يشير إلى ما إذا كان المسجل مفعلًا.
- مثال: true
- ملاحظة: يمكن تعيينه باستخدام NODE_ENV، أو متغير بيئي مخصص آخر
- level:
- النوع: 'info' | 'warn' | 'debug' | 'log'
- القيمة الافتراضية: 'log'
- الوصف: مستوى المسجل.
- مثال: 'info'
- ملاحظة: مستوى المسجل. يمكن أن يكون إما 'log' أو 'info' أو 'warn' أو 'error' أو 'debug'.
- prefix:
- النوع: string
- القيمة الافتراضية: '[intlayer] '
- الوصف: بادئة المسجل.
- مثال: '[my custom prefix] '
- ملاحظة: بادئة المسجل.
إذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيق