استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
بدءاً من الدمج مع خادم MCP Intlayer ، يمكن لمساعدك الذكي الاسترجاع من جميع المستندات مباشرة من ChatGPT ، DeepSeek ، Cursor ، VSCode ، إلخ.
عرض الوثائق الخاصة بالخادم MCPتاريخ الإصدارات
- إضافة مكون loadJSONv7.0.61/11/2025
- التغيير إلى مكون syncJSON وإعادة كتابة شاملةv7.0.029/10/2025
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
التدويل في Vue.js (i18n) باستخدام vue-i18n و Intlayer
جدول المحتويات
ما هو Intlayer؟
Intlayer هي مكتبة تدويل مبتكرة ومفتوحة المصدر مصممة لمعالجة أوجه القصور في حلول i18n التقليدية. تقدم نهجًا حديثًا لإدارة المحتوى في تطبيقات Vue.js و Nuxt.
اطلع على مقارنة ملموسة مع vue-i18n في منشور مدونتنا vue-i18n مقابل Intlayer.
لماذا الجمع بين Intlayer و vue-i18n؟
بينما يوفر Intlayer حلاً مستقلاً ممتازًا للتدويل (راجع دليل التكامل مع Vue.js الخاص بنا دليل التكامل مع Vue.js)، قد ترغب في دمجه مع vue-i18n لأسباب عدة:
- قاعدة الشيفرة الحالية: لديك تنفيذ قائم لـ vue-i18n وترغب في الانتقال تدريجيًا إلى تجربة المطور المحسنة التي يقدمها Intlayer.
- متطلبات قديمة: يتطلب مشروعك التوافق مع الإضافات أو سير العمل الحالي لـ vue-i18n.
- ألفة الفريق: فريقك معتاد على vue-i18n ولكنه يرغب في إدارة محتوى أفضل.
- استخدام ميزات Intlayer: تريد استخدام ميزات Intlayer مثل إعلان المحتوى، وأتمتة الترجمة، واختبار الترجمات، والمزيد.
لهذا، يمكن تنفيذ Intlayer كمحول لـ vue-i18n لمساعدتك في أتمتة ترجمات JSON الخاصة بك في واجهة الأوامر أو خطوط أنابيب CI/CD، واختبار ترجماتك، وأكثر من ذلك.
يوضح هذا الدليل كيفية الاستفادة من نظام إعلان المحتوى المتفوق في Intlayer مع الحفاظ على التوافق مع vue-i18n.
دليل خطوة بخطوة لإعداد Intlayer مع vue-i18n
الخطوة 1: تثبيت التبعيات
قم بتثبيت الحزم اللازمة باستخدام مدير الحزم المفضل لديك:
npm install intlayer @intlayer/sync-json-pluginتوضيحات الحزم:
- intlayer: المكتبة الأساسية لإعلان المحتوى وإدارته
- @intlayer/sync-json-plugin: مكون إضافي لمزامنة إعلانات محتوى Intlayer إلى تنسيق JSON الخاص بـ vue-i18n
الخطوة 2: تنفيذ مكون Intlayer لتغليف JSON
قم بإنشاء ملف تكوين Intlayer لتعريف اللغات المدعومة لديك:
إذا كنت ترغب أيضًا في تصدير قواميس JSON لـ vue-i18n، أضف مكون syncJSON الإضافي:
نسخ الكود إلى الحافظة
import { Locales, type IntlayerConfig } from "intlayer";import { syncJSON } from "@intlayer/sync-json-plugin";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, }, plugins: [ syncJSON({ source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`, }), ],};export default config;سيقوم مكون الإضافة syncJSON تلقائيًا بتغليف JSON. سيقرأ ويكتب ملفات JSON دون تغيير هيكل المحتوى.
إذا كنت ترغب في جعل JSON يتعايش مع ملفات إعلان محتوى intlayer (.content ملفات)، فسيعمل Intlayer بهذه الطريقة:
1. تحميل كل من ملفات JSON وملفات إعلان المحتوى وتحويلها إلى قاموس intlayer.2. إذا كانت هناك تعارضات بين JSON وملفات إعلان المحتوى، فسيقوم Intlayer بدمج جميع القواميس. وذلك اعتمادًا على أولوية المكونات الإضافية، وأولوية ملف إعلان المحتوى (كلها قابلة للتكوين).إذا تم إجراء تغييرات باستخدام CLI لترجمة JSON، أو باستخدام CMS، فسيقوم Intlayer بتحديث ملف JSON بالترجمات الجديدة.
للاطلاع على مزيد من التفاصيل حول مكون syncJSON الإضافي، يرجى الرجوع إلى توثيق مكون syncJSON الإضافي.
(اختياري) الخطوة 3: تنفيذ ترجمات JSON لكل مكون على حدة
بشكل افتراضي، سيقوم Intlayer بتحميل ودمج ومزامنة كل من ملفات JSON وملفات إعلان المحتوى. راجع توثيق إعلان المحتوى لمزيد من التفاصيل. ولكن إذا كنت تفضل، باستخدام مكون إضافي من Intlayer، يمكنك أيضًا تنفيذ إدارة JSON المترجمة لكل مكون في أي مكان في قاعدة الشيفرة الخاصة بك.
لهذا الغرض، يمكنك استخدام مكون loadJSON الإضافي.
نسخ الكود إلى الحافظة
import { Locales, type IntlayerConfig } from "intlayer";import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], defaultLocale: Locales.ENGLISH, }, // حافظ على تزامن ملفات JSON الحالية مع قواميس Intlayer plugins: [ /** * سيقوم بتحميل جميع ملفات JSON في مجلد src التي تطابق النمط {key}.i18n.json */ loadJSON({ source: ({ key }) => `./src/**/${key}.i18n.json`, locale: Locales.ENGLISH, priority: 1, // يضمن أن هذه الملفات JSON لها أولوية على الملفات في `./locales/en/${key}.json` }), /** * سيقوم بتحميل، وكتابة المخرجات والترجمات مرة أخرى إلى ملفات JSON في مجلد locales */ syncJSON({ source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`, priority: 0, }), ],};export default config;سيقوم هذا بتحميل جميع ملفات JSON في مجلد src التي تطابق النمط {key}.i18n.json وتحميلها كقاموسات Intlayer.
إعدادات Git
استثناء الملفات المُولدة من نظام التحكم في الإصدارات:
نسخ الكود إلى الحافظة
# تجاهل الملفات التي تم إنشاؤها بواسطة Intlayer.intlayerintlيتم إعادة إنشاء هذه الملفات تلقائيًا أثناء عملية البناء ولا تحتاج إلى الالتزام بها في مستودعك.
إضافة VS Code
لتحسين تجربة المطور، قم بتثبيت إضافة Intlayer الرسمية لـ VS Code: