استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
هذه الوثيقة غير محدثة، تم تحديث النسخة الأساسية في ٢٥ يونيو ٢٠٢٦.
الانتقال إلى الوثيقة الإنجليزيةتاريخ الإصدارات
- "تهيئة المستند"v8.0.0٢١/١/٢٠٢٦
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
توثيق مكوّن Vite الخاص بـ intlayer
يقوم مكوّن Vite intlayer بدمج إعدادات Intlayer في عملية البناء. يتعامل مع اختصارات القواميس (dictionary aliases)، ويشغّل مراقب القواميس في وضع التطوير، ويجهّز القواميس للبناء.
الاستخدام
نسخ الكود إلى الحافظة
// ملف vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [intlayer()],});الخيارات
نسخ الكود إلى الحافظة
import type { IntlayerPluginOptions } from "vite-intlayer";IntlayerPluginOptions يوسع GetConfigurationOptions (انظر @intlayer/config) مع الحقول الإضافية التالية:
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| الخيار | النوع | القيمة الافتراضية | الوصف |
|---|---|---|---|
compatCallers | CompatCallerConfig[] | [] | أنماط استدعاء إضافية لحزم compat-adapter (مثل @intlayer/react-i18next). يتم تمريرها إلى محلل استخدام الحقول في وقت البناء. |
proxy | { ignore?: (req) => boolean } | undefined | خيارات يتم تمريرها إلى وكيل توجيه المنطقة المرفقة. استخدم ignore لاستبعاد المسارات المحددة (مثل مسارات API) من توجيه المنطقة. |
يتم تمرير جميع الخيارات الأخرى (override, configFile, …) مباشرة إلى getConfiguration().
أمثلة
تجاهل مسارات API من توجيه اللغة
نسخ الكود إلى الحافظة
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [ intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api"), }, }), ],});مع مسار ملف config مخصص
نسخ الكود إلى الحافظة
export default defineConfig({ plugins: [ intlayer({ configFile: "./config/intlayer.config.ts", }), ],});مع استدعاءات compat-adapter
نسخ الكود إلى الحافظة
import { intlayer } from "vite-intlayer";import { reactI18nextCallerConfig } from "@intlayer/react-i18next/plugin";export default defineConfig({ plugins: [ intlayer({ compatCallers: [reactI18nextCallerConfig], }), ],});ما يفعله البرنامج الإضافي
1. تحضير القاموس
قبل بدء البناء (وكل ساعة واحدة في بيئة التطوير)، يستدعي intlayer الدالة prepareIntlayer لترجمة جميع ملفات .content.ts إلى قواميس JSON محسنة مخزنة في .intlayer/.
2. أسماء مستعارة للوحدات
يضيف البرنامج الإضافي أسماء مستعارة لحل Vite بحيث يتم حل import { myDict } from 'intlayer/dictionaries/my-dict' إلى ملف JSON مترجم على القرص. تستخدم عمليات بناء SSR ssr.noExternal للتأكد من أن جميع حزم @intlayer/* موجودة مع تطبيق الأسماء المستعارة.
3. مراقب خادم التطوير
في وضع التطوير، يتم بدء مراقب chokidar. عند تغيير ملف .content.ts، يتم إعادة تجميع القواميس وينتشر تحديث Vite's HMR إلى المتصفح.
4. وسيط توجيه المنطقة المدمج (v9+)
منذ إصدار Intlayer v9، يتم تسجيل middleware intlayerProxy تلقائياً داخل intlayer(). يتعامل مع:
- كشف المنطقة من بادئة URL والكوكيز ورأس
Accept-Language. - إعادة توجيه 301 عندما لا تتطابق المنطقة المكتشفة مع عنوان URL الحالي.
- إعادة كتابة URL داخلية بحيث يرى الإطار معامل المسار
[locale]الصحيح.
يتم التحكم في الوسيط بواسطة routing.enableProxy (الافتراضي true) في إعدادات Intlayer الخاصة بك. لتعطيله بالكامل:
نسخ الكود إلى الحافظة
// intlayer.config.tsimport { defineConfig } from "intlayer";export default defineConfig({ routing: { enableProxy: false },});لتخصيص سلوك الوسيط دون استدعاء intlayerProxy() منفصل، مرر خيارات proxy إلى المكون الإضافي الرئيسي:
نسخ الكود إلى الحافظة
intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api") } });راجع وثائق intlayerProxy للحصول على مرجع سلوك التوجيه الكامل.
5. مجمِّع مرفق (v9+)
عندما يكون compiler.enabled هو true و يتم تعيين compiler.output في إعدادات Intlayer الخاصة بك، يسجل intlayer() intlayerCompiler تلقائياً. يستخرج المجمِّع إعلانات المحتوى المضمنة المكتوبة مباشرة داخل ملفات المكونات ويكتبها إلى القواميس في وقت التحويل. انظر وثائق intlayerCompiler.
6. تحسينات البناء
أثناء بناء الإنتاج، تضيف الإضافة:
- intlayerOptimize – تحويل Babel الذي يعيد كتابة
useIntlayer('key')→useDictionary(hash)وحقن واردات JSON المباشرة. - intlayerPrune – يزيل حقول المحتوى غير المستخدمة من قاموس JSON.
- intlayerMinify – يضغط قاموس JSON ويمكن أن يعيد تسمية أسماء الحقول اختياريًا.
هذه غير نشطة في وضع التطوير.
الأسماء المستعارة المهجورة
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| الصادرات المهجورة | البديل |
|---|---|
intlayerPlugin | intlayer |
intLayerPlugin | intlayer |