استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تاريخ الإصدارات
- "Update Solid useIntlayer API usage to direct property access"v8.9.04/5/2026
- "Update compiler options, add FilePathPattern support"v8.2.09/3/2026
- "Initial release"v8.1.623/2/2026
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
كيفية جعل تطبيق Vite و React الحالي متعدد اللغات (i18n) لاحقاً (دليل i18n لعام 2026)
يعد تضمين التدويل (i18n) في مشروع Vite و React منذ البداية أمراً بسيطاً نسبياً. ولكن ماذا يحدث عندما يكون لديك بالفعل تطبيق ناضج ويعمل في بيئة الإنتاج بلغة واحدة، وتحتاج إلى جعله متعدد اللغات لاحقاً؟
إذا حاولت القيام بذلك باستخدام المكتبات التقليدية مثل react-i18next أو react-intl، فأنت تدرك حجم المشقة:
- البحث اليدوي عن النصوص الثابتة داخل مئات ملفات JSX و TSX.
- إنشاء ملفات JSON المتداخلة يدوياً وابتكار مفاتيح ترجمة عشوائية (
components.header.titleوغيرها). - استبدال نصوص الواجهة باستدعاءات دوال الترجمة (
t('...')). - إعادة هيكلة التوجيه من جانب العميل، إدارة الحالة ومنطق تبديل اللغة.
في عام 2026، لا يتعين عليك إعادة كتابة التعليمات البرمجية لتطبيقك. باستخدام Intlayer، يمكنك إضافة التدويل إلى تطبيق Vite و React القائم في دقائق معدودة، عبر الاستخراج التلقائي، والترجمة المدعومة بالذكاء الاصطناعي، والتكامل السلس مع Vite.
هل تبحث عن الدليل الفني الشامل خطوة بخطوة لـ Vite و React؟ راجع وثائقنا المخصصة: ترجمة Vite و React باستخدام Intlayer.
جدول المحتويات
معضلة التعديل اللاحق: لماذا يصعب جعل التطبيق القائم متعدد اللغات؟
عند إضافة التدويل إلى تطبيق Vite و React موجود مسبقاً، يواجه المطورون ثلاث عقبات رئيسية:
- اضطراب الكود البرمجي: يتطلب الاستخراج اليدوي للنصوص إلى قواميس JSON تعديل كل ملف مكوّن تقريباً. ينتج عن ذلك فوارق Git هائلة ومخاطر تعارضات الدمج وخلل في التخطيط.
- عبء إدارة المفاتيح: ابتكار مفاتيح مثل
dashboard.hero.ctaButtonلكل نص يؤدي إلى إبطاء سير العمل وزيادة العبء الذهني مع كل تعديل في الواجهة. - أعمال الترجمة المرهقة: بعد استخراج النصوص، يتطلب تعبئة القواميس بـ 5 أو 10 أو 20 لغة عمليات نسخ ولصق لا نهائية أو خدمات ترجمة خارجية مكلفة.
يعالج Intlayer هذه التحديات هندسياً عبر الاستخراج بمساعدة المترجم، القواميس التوضيحية على مستوى المكون، والتكامل المباشر مع Vite.
الاستخراج التلقائي للمحتوى (وداعاً للبحث اليدوي عن النصوص)
بدلاً من استخراج كل نص يدوي من كود JSX، يوفر Intlayer مسارين فائقَي السهولة:
الخيار أ: أداة الاستخراج عبر السطر البرمجي (npx intlayer extract)
يمكنك تشغيل أداة الاستخراج الخاصة بـ Intlayer مباشرة على كود تطبيقك:
نسخ الكود إلى الحافظة
يقوم هذا الأمر بفحص مكونات React، واكتشاف النصوص المعروضة للمستخدمين، وإنشاء ملفات تعريف المحتوى (.content.ts) تلقائياً بجانب كل مكون. يظل منطق المكونات واضحاً وآمناً برمجياً دون الحاجة إلى كتابة مفتاح ترجمة يدوي واحد.
الخيار ب: مترجم Intlayer (الاستخراج أثناء البناء)
عند تفعيل مترجم Intlayer في إعداداتك، يمكنك ببساطة الاستمرار في كتابة مكوناتك بنصوص عادية بلغتك الافتراضية. في وقت البناء، يستخرج المترجم النص ويدمج المحتوى المترجم تلقائياً:
نسخ الكود إلى الحافظة
في الخلفية، يقوم Intlayer بإنشاء القاموس وربط المكون بالمحتوى المترجم، مما يلغي خطوة إعادة الهيكلة اليدوية بالكامل.
في هذه الحالة، ينشئ ملف إعلان src/App.content.ts بالهيكل التالي:
نسخ الكود إلى الحافظة
الترجمة المدعومة بالذكاء الاصطناعي مع نموذجك المفضل
بمجرد استخراج المحتوى، لا ينبغي أن تستغرق ترجمته إلى عشرات اللغات أياماً طويلة. يحتوي Intlayer على سطر أوامر مدمج للترجمة بالذكاء الاصطناعي يتصل مباشرة مع OpenAI أو Anthropic أو DeepSeek أو Mistral باستخدام مفاتيح API الخاصة بك:
نسخ الكود إلى الحافظة
قم بتهيئة اللغات ومزود الذكاء الاصطناعي في intlayer.config.ts:
نسخ الكود إلى الحافظة
يؤدي تشغيل npx intlayer fill إلى ملء ملفات المحتوى بترجمات عالية الجودة لجميع اللغات المحددة:
نسخ الكود إلى الحافظة
نظراً لأن Intlayer يمرر سياق التطبيق applicationContext إلى النموذج، فإن الترجمات الناتجة تحافظ على المصطلحات التقنية وهوية العلامة التجارية والتفاصيل النحوية بصورة أدق بكثير من الأدوات العادية.
للتحقق من اكتمال كافة النصوص قبل النشر في بيئة الإنتاج:
نسخ الكود إلى الحافظة
التكامل مع Vite وإعداد الـ Provider
يتطلب دمج Intlayer في Vite مجرد إضافة المكوّن الإضافي إلى vite.config.ts وإحاطة المكون الرئيسي بـ IntlayerProvider:
نسخ الكود إلى الحافظة
بدءاً من Intlayer v9، أصبح المترجم مدمجاً مباشرة في إضافةintlayer()ويتم تفعيله تلقائياً عند ضبطcompiler.enabledفيintlayer.config.ts.
أحط تطبيقك بـ IntlayerProvider في المكون الجذر:
نسخ الكود إلى الحافظة
تغيير اللغة ديناميكياً
قم بتبديل اللغة بسهولة في أي مكان داخل تطبيقك باستخدام خطاف useLocale:
نسخ الكود إلى الحافظة
تحسين محركات البحث متعدد اللغات (Sitemap و Robots.txt)
يتضمن Intlayer أدوات مساعدة مثل generateSitemap و getMultilingualUrls لإنشاء ملفات sitemap.xml و robots.txt متعددة اللغات ومتوافقة مع محركات البحث لمشاريع Vite الثابتة:
نسخ الكود إلى الحافظة
أضف خطاف prebuild في package.json لتشغيل هذا السكربت قبل تنفيذ vite build:
نسخ الكود إلى الحافظة
تعمق أكثر: هل أنت مستعد للتنفيذ خطوة بخطوة؟
قدم هذا الدليل نظرة عامة وشاملة حول كيفية إضافة التدويل إلى تطبيق Vite و React قائم في عام 2026 دون تعقيدات بنية الكود.
إذا كنت مستعداً لتهيئة كل جزء من تطبيقك بالتفصيل، بما في ذلك أمان الأنواع الكامل مع TypeScript والقواميس الديناميكية والمحرر المرئي، تفضل بالانتقال إلى دليلنا التفصيلي:
👉 الدليل الكامل لترجمة Vite و React باستخدام Intlayer
الأسئلة الشائعة (FAQ)
نعم. يمكنك تشغيل npx intlayer extract لاكتشاف النصوص الثابتة واستخراجها تلقائياً في ملفات تعريف محتوى محلية، أو استخدام مترجم Intlayer لتحويل المكونات أثناء البناء مع استمرارك في كتابة JSX القياسي.
يستخدم Intlayer تعريفات القواميس على مستوى المكون والتحسين باستخدام الماكرو أثناء البناء. لا تتلقى الحزم سوى النصوص المحددة التي تحتاجها المكونات المعروضة على الصفحة بدلاً من استيراد ملفات JSON ضخمة. كما تتيح القواميس الديناميكية تحميل اللغات عند الطلب فقط.
نعم. يتضمن سطر أوامر Intlayer أمر npx intlayer fill الذي يتصل بمزود الذكاء الاصطناعي المفضل لديك (OpenAI, Anthropic, Mistral, DeepSeek) لتوليد ترجمات متوافقة مع السياق لجميع اللغات المطلوبة.
نعم. يوفر Intlayer محولات توافق لـ react-i18next و react-intl، بالإضافة إلى إضافات لمزامنة ملفات ترجمة JSON الحالية في الاتجاهين (sync-json).
التعليقات
لا توجد تعليقات بعد. كن أول من يشارك أفكاره.
