استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
بدءاً من الدمج مع خادم MCP Intlayer ، يمكن لمساعدك الذكي الاسترجاع من جميع المستندات مباشرة من ChatGPT ، DeepSeek ، Cursor ، VSCode ، إلخ.
عرض الوثائق الخاصة بالخادم MCPتاريخ الإصدارات
- إضافة ملحق loadJSONv7.0.61/11/2025
- التغيير إلى ملحق syncJSONv7.0.029/10/2025
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
كيفية أتمتة ترجمات JSON الخاصة بـ react-i18next باستخدام Intlayer
ما هو Intlayer؟
Intlayer هي مكتبة تدويل مبتكرة ومفتوحة المصدر مصممة لمعالجة أوجه القصور في حلول i18n التقليدية. تقدم نهجًا حديثًا لإدارة المحتوى في تطبيقات React.
اطلع على مقارنة ملموسة مع react-i18next في منشور مدونتنا react-i18next مقابل react-intl مقابل Intlayer.
لماذا الجمع بين Intlayer و react-i18next؟
بينما يوفر Intlayer حلاً ممتازًا مستقلاً لـ i18n (راجع دليل التكامل مع React الخاص بنا React integration guide)، قد ترغب في دمجه مع react-i18next لأسباب عدة:
- قاعدة الشيفرة الحالية: لديك تنفيذ قائم لـ react-i18next وتريد الانتقال تدريجيًا إلى تجربة المطور المحسنة التي يقدمها Intlayer.
- متطلبات قديمة: يتطلب مشروعك التوافق مع الإضافات أو سير العمل الحالي لـ react-i18next.
- ألفة الفريق: فريقك معتاد على react-i18next لكنه يرغب في إدارة محتوى أفضل.
- استخدام ميزات Intlayer: تريد استخدام ميزات Intlayer مثل إعلان المحتوى، وأتمتة الترجمة، واختبار الترجمات، والمزيد.
لهذا، يمكن تنفيذ Intlayer كمحول لـ react-i18next للمساعدة في أتمتة ترجمات JSON الخاصة بك في واجهة الأوامر أو خطوط أنابيب CI/CD، واختبار ترجماتك، والمزيد.
يوضح هذا الدليل كيفية الاستفادة من نظام إعلان المحتوى المتفوق في Intlayer مع الحفاظ على التوافق مع react-i18next.
جدول المحتويات
دليل خطوة بخطوة لإعداد Intlayer مع react-i18next
الخطوة 1: تثبيت التبعيات
قم بتثبيت الحزم اللازمة:
npm install intlayer @intlayer/sync-json-pluginوصف الحزم:
- intlayer: المكتبة الأساسية لإدارة التدويل، وإعلان المحتوى، والبناء
- @intlayer/sync-json-plugin: مكون إضافي لتصدير إعلانات محتوى Intlayer إلى تنسيق JSON المتوافق مع react-i18next
الخطوة 2: تنفيذ مكون Intlayer الإضافي لتغليف JSON
أنشئ ملف تكوين Intlayer لتعريف اللغات المدعومة لديك:
إذا كنت ترغب أيضًا في تصدير قواميس JSON لـ react-i18next، أضف مكون 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 }) => `./locales/${locale}/${key}.json`, }), ],};export default config;سيقوم مكون الإضافة syncJSON تلقائيًا بتغليف ملفات JSON. سيقرأ ويكتب ملفات JSON دون تغيير بنية المحتوى.
إذا كنت ترغب في جعل ملفات JSON تتعايش مع ملفات إعلان المحتوى الخاصة بـ Intlayer (.content files)، فسيتم التعامل معها بهذه الطريقة:
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 }) => `./locales/${locale}/${key}.json`, priority: 0, }), ],};export default config;سيقوم هذا بتحميل جميع ملفات JSON في مجلد src التي تطابق النمط {key}.i18n.json وتحميلها كقواميس Intlayer.
إعدادات Git
يوصى بتجاهل ملفات Intlayer التي يتم إنشاؤها تلقائيًا:
نسخ الكود إلى الحافظة
# تجاهل الملفات التي تم إنشاؤها بواسطة Intlayer.intlayerيمكن إعادة إنشاء هذه الملفات أثناء عملية البناء الخاصة بك ولا تحتاج إلى الالتزام بها في نظام التحكم في الإصدارات.
إضافة VS Code
لتحسين تجربة المطور، قم بتثبيت إضافة Intlayer الرسمية لـ VS Code: