استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تاريخ الإصدارات
- "مدمج في intlayer()؛ بدء التوثيق"v9.0.025/6/2026
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
intlayerCompiler
intlayerCompiler هو عبارة عن إضافة لـ Vite يقوم بفحص ملفات المكونات البرمجية بحثًا عن إعلانات محتوى Intlayer المضمنة — وهو المحتوى المعرف مباشرة داخل المكون بدلاً من ملف منفصل .content.ts — ويكتبها في ملفات قاموس JSON خلال مرحلة التحويل (transform).
بدءاً من إطلاق Intlayer v9 يتم تضمينintlayerCompilerتلقائيًا داخل الإضافة الأساسيةintlayer()عندما يكون كل منcompiler.enabledهوtrueوتحديد مسار المخرجاتcompiler.outputفي إعدادات Intlayer الخاصة بك. تحتاج فقط إلى تسجيلها بشكل منفصل إذا كنت تريد التحكم الكامل في إعدادات المترجم المحددة.
الاستخدام
كجزء من intlayer() (موصى به، الإصدار 9+)
قم بتمكين المترجم (compiler) من خلال إعدادات Intlayer الخاصة بك:
نسخ الكود إلى الحافظة
ثم استخدم الإضافة القياسية بدون تسجيل إضافي:
نسخ الكود إلى الحافظة
منفصل (عند الحاجة)
نسخ الكود إلى الحافظة
الخيارات
نسخ الكود إلى الحافظة
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| الخيار | النوع | الوصف |
|---|---|---|
configOptions | GetConfigurationOptions | تجاوزات إعدادات Intlayer التي يتم تمريرها إلى getConfiguration(). |
compilerConfig | Partial<CompilerConfig> | تجاوزات لقسم الإعدادات الخاص بالمترجم (مثل enabled و output و filesList). |
مثال
نسخ الكود إلى الحافظة
كيف يعمل
مرحلة التحويل (Transform phase)
لكل ملف مصدر يطابق compiler.filesList ، تقوم إضافة المترجم بـ:
- تمرير محتوى الملف عبر دالة
extractContentمن الحزمة@intlayer/babel. - استدعاء
onExtractلكل إعلان يتم العثور عليه، والذي يقوم بكتابة قاموس JSON الناتج إلىcompiler.output. - إرجاع الكود المصدري المحول مع استبدال الإعلانات المضمنة باستدعاءات قياسية مثل
useIntlayer('key')/getIntlayer('key').
أنواع الملفات المدعومة: .ts, .tsx, .js, .jsx, .vue, .svelte, .astro.
تحديث الوحدات الساخن HMR (Hot Module Replacement)
عندما يتم حفظ ملف مكون في وضع التطوير، يقوم المترجم بـ:
- الكشف عن تغيير الملف عبر خطاف
handleHotUpdateالخاص بـ Vite. - إعادة استخراج المحتوى من الملف المحدث.
- كتابة قاموس JSON المحدث.
- تحفيز إعادة تحميل الصفحة بالكامل (
server.ws.send({ type: 'full-reload' })).
يمنع مؤقت debounce بمقدار 500 مللي ثانية عملية كتابة القاموس نفسها (التي تؤدي أيضًا إلى حدث تغيير الملف) من التسبب في حلقة لا نهائية لإعادة الاستخراج.
إزالة التكرار (Deduplication)
يستخدم intlayerCompiler نفس آلية إزالة التكرار createPrimaryInstanceGuard المستخدمة في الإضافات المدمجة الأخرى. عندما يتواجد كل من intlayer() (الذي يتضمن المترجم) واستدعاء يدوي لـ intlayerCompiler() ، يتم تشغيل المثيل الأول المسجل فقط — ولا يتم كتابة أي قواميس مرتين.
