استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
هذه الوثيقة غير محدثة، تم تحديث النسخة الأساسية في 29 أغسطس 2026.
الانتقال إلى الوثيقة الإنجليزيةتاريخ الإصدارات
- "تحديث استخدام واجهة برمجة تطبيقات useIntlayer في Solid للوصول المباشر إلى الخصائص"v8.9.04/5/2026
- "التاريخ الأولي"v8.0.426/1/2026
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
ترجمة تطبيق Analog (Angular) الخاص بك باستخدام Intlayer | التدويل (i18n)
جدول المحتويات
لماذا Intlayer على البدائل؟
بالمقارنة مع الحلول الرئيسية مثل ngx-translate أو angular-l10n، يعد Intlayer حلاً يأتي مزودًا بتحسينات متكاملة مثل:
تم تحسين Intlayer للعمل بشكل مثالي مع Analog من خلال تقديم توجيه متعدد اللغات، دعم SSR، وجميع الميزات اللازمة لتوسيع نطاق التدويل (i18n).
بدلاً من تحميل ملفات JSON ضخمة إلى صفحاتك، قم بتحميل المحتوى الضروري فقط. يساعد Intlayer في تقليل أحجام البندل وصفحاتك بنسبة تصل إلى 50%.
يؤدي تحديد نطاق محتوى تطبيقك إلى تسهيل الصيانة للتطبيقات واسعة النطاق. يمكنك تكرار أو حذف مجلد ميزات واحد دون العبء العقلي لمراجعة قاعدة بيانات المحتوى بالكامل. بالإضافة إلى ذلك، تتم كتابة Intlayer بالكامل لضمان دقة المحتوى الخاص بك.
يؤدي تحديد موقع المحتوى المشترك إلى تقليل السياق المطلوب بواسطة نماذج اللغات الكبيرة (LLMs). يأتي Intlayer أيضًا مزودًا بمجموعة من الأدوات، مثل CLI لاختبار الترجمات المفقودة،LSP، MCP وagent skills، لجعل تجربة المطور (DX) أكثر سلاسة للذكاء الاصطناعي وكلاء.
استخدم الأتمتة للترجمة في مسار CI/CD الخاص بك باستخدام LLM من اختيارك على حساب مزود الذكاء الاصطناعي الخاص بك. يقدم Intlayer أيضًا مترجمًا لأتمتة استخراج المحتوى، بالإضافة إلى منصة ويب للمساعدة في الترجمة في الخلفية.
يمكن أن يؤدي ربط ملفات JSON الضخمة بالمكونات إلى حدوث مشكلات في الأداء والتفاعل. يعمل Intlayer على تحسين تحميل المحتوى الخاص بك في وقت الإنشاء.
أكثر من مجرد حل i18n، يوفر Intlayer [محررًا مرئيًا] مستضافًا ذاتيًا](/ar/doc/concept/editor) وكامل CMS لمساعدتك في إدارة المحتوى متعدد اللغات في الوقت الفعلي، مما يجعل التعاون مع المترجمين ومؤلفي النصوص وأعضاء الفريق الآخرين سلسًا. يمكن تخزين المحتوى محليًا و/أو عن بعد.
دليل خطوة بخطوة لإعداد Intlayer في تطبيق Analog
انظر قالب التطبيق على GitHub.
تثبيت التبعيات
قم بتثبيت الحزم اللازمة باستخدام npm:
bashنسخ الكودنسخ الكود إلى الحافظة
علامة
--interactiveاختيارية. استخدمintlayer-cli initإذا كنت وكيل ذكاء اصطناعي.سيقوم هذا الأمر باكتشاف بيئتك وتثبيت الحزم المطلوبة. على سبيل المثال:
bashنسخ الكودنسخ الكود إلى الحافظة
intlayer
الحزمة الأساسية التي توفر أدوات التدويل لإدارة التكوين، الترجمة، إعلان المحتوى، التحويل، و أوامر CLI.
angular-intlayer الحزمة التي تدمج Intlayer مع تطبيق Angular. توفر موفري السياق وخطافات لتدويل Angular.
vite-intlayer الحزمة التي تدمج Intlayer مع Vite. توفر مكونًا إضافيًا للتعامل مع ملفات إعلان المحتوى وتعد المسارات البديلة (aliases) لتحقيق الأداء الأمثل.
تكوين مشروعك
أنشئ ملف تكوين لتكوين لغات تطبيقك:
intlayer.config.tsنسخ الكودنسخ الكود إلى الحافظة
import { Locales, type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { internationalization: { locales: [ Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH, // لغاتك الأخرى ], defaultLocale: Locales.ENGLISH, }, }; export default config;من خلال ملف التكوين هذا، يمكنك إعداد عناوين URL الموطنة، وإعادة توجيه البرامج الوسيطة، وأسماء ملفات تعريف الارتباط، وموقع وامتداد إعلانات المحتوى الخاصة بك، وتعطيل سجلات Intlayer في وحدة التحكم، والمزيد. للحصول على قائمة كاملة بالمعلمات المتاحة، راجع توثيق التكوين.
دمج Intlayer في تكوين Vite الخاص بك
لدمج Intlayer مع Analog، تحتاج إلى استخدام مكون
vite-intlayerالإضافي.قم بتعديل ملف
vite.config.tsالخاص بك:vite.config.tsنسخ الكودنسخ الكود إلى الحافظة
يقوم مكون
intlayer()الإضافي بتكوين Vite مع Intlayer. يتعامل مع ملفات إعلان المحتوى ويقوم بإعداد المسارات البديلة (aliases) لتحقيق الأداء الأمثل.الإعلان عن المحتوى الخاص بك
قم بإنشاء وإدارة إعلانات المحتوى الخاصة بك لتخزين الترجمات:
يمكن تعريف إعلانات المحتوى الخاصة بك في أي مكان في تطبيقك طالما تم تضمينها في دليل
contentDir(افتراضيًا،./src). وتطابق امتداد ملف إعلان المحتوى (افتراضيًا،.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}).لمزيد من التفاصيل، راجع توثيق إعلان المحتوى.
استخدام Intlayer في كودك
لاستخدام ميزات التدويل الخاصة بـ Intlayer في تطبيق Analog الخاص بك، تحتاج إلى توفير Intlayer في تكوين تطبيقك.
src/app/app.config.tsنسخ الكودنسخ الكود إلى الحافظة
بعد ذلك، يمكنك استخدام وظيفة
useIntlayerداخل أي مكون.src/app/pages/index.page.tsنسخ الكودنسخ الكود إلى الحافظة
يتم إرجاع محتوى Intlayer كـ
Signal، لذا يمكنك الوصول إلى القيم عن طريق استدعاء الإشارة:content().title.تغيير لغة المحتوى الخاص بك
اختياريلتغيير لغة المحتوى الخاص بك، يمكنك استخدام وظيفة
setLocaleالتي توفرها وظيفةuseLocale. يتيح لك هذا تعيين لغة التطبيق وتحديث المحتوى وفقًا لذلك.قم بإنشاء مكون للتبديل بين اللغات:
src/app/locale-switcher.component.tsنسخ الكودنسخ الكود إلى الحافظة
ثم استخدم هذا المكون في صفحاتك:
src/app/pages/index.page.tsنسخ الكودنسخ الكود إلى الحافظة
تكوين TypeScript
يستخدم Intlayer تعزيز الوحدات (module augmentation) للاستفادة من مزايا TypeScript وجعل كودك أقوى.


تأكد من أن تكوين TypeScript الخاص بك يتضمن الأنواع التي يتم إنشاؤها تلقائيًا.
نسخ الكود إلى الحافظة
تكوين Git
يوصى بتجاهل الملفات التي تم إنشاؤها بواسطة Intlayer. يتيح لك ذلك تجنب الالتزام بها في مستودع Git الخاص بك.
للقيام بذلك، يمكنك إضافة التعليمات التالية إلى ملف .gitignore الخاص بك:
نسخ الكود إلى الحافظة
إضافة VS Code
لتحسين تجربة التطوير الخاصة بك مع Intlayer، يمكنك تثبيت إضافة Intlayer VS Code الرسمية.
توفر هذه الإضافة:
- إكمال تلقائي لمفاتيح الترجمة.
- كشف الأخطاء في الوقت الفعلي للترجمات المفقودة.
- معاينات مضمنة للمحتوى المترجم.
- إجراءات سريعة لإنشاء وتحديث الترجمات بسهولة.
لمزيد من التفاصيل حول كيفية استخدام الإضافة، راجع توثيق إضافة Intlayer VS Code.
اذهب أبعد من ذلك
للمضي قدمًا، يمكنك تنفيذ المحرر المرئي أو استخراج محتواك باستخدام نظام إدارة المحتوى (CMS).
الأسئلة الشائعة
يعتبر Analog إطار عمل متكامل (meta-framework) لـ Angular مبنيًا على Vite، لذا فهو يرث خيارات Angular ويضيف إليها خيارات Vite:
ngx-translate/Transloco: مكتبات عميل تتطلب إعدادًا يدويًا لـ Analog SSR.Intlayer: متكامل تمامًا مع Vite و SSR والتوجيه المعتمد على الملفات، تحسين وقت البناء، وترجمة بالذكاء الاصطناعي.
انظر لماذا Intlayer.
أقل بكثير من الحلول القائمة على فضاءات الأسماء، لأن الصفحة لا تُحمل أبدًا كتالوجًا لا تعرضه. يستبدل مترجم وقت البناء استدعاءات useIntlayer بإدخالات القاموس الدقيقة التي يستخدمها المكون، وتفصل القواميس الديناميكية الباقي حسب اللغة، مما يقلل الحزمة بنسبة تصل إلى 50%. انظر تحسين الحزم و المقارنة المعيارية.
إلى حد كبير نعم. انظر نظرة عامة على محولات التوافق.
نعم. تحافظ مكونة مزامنة JSON على ملفات /messages/{locale}/{namespace}.json الخاصة بك كمصدر الحقيقة وتُنشئ قواميس Intlayer منها، في كلا الاتجاهين. وتقوم مكونة مزامنة PO بنفس الشيء لكتالوجات gettext، وتسمح لك الملفات المقسمة حسب اللغة بتقسيم المحتوى حسب اللغة بدلاً من تجميع كل اللغات في ملف واحد.
لا. قم بتشغيل npx intlayer extract وسيقرأ Intlayer ملفات المصدر الخاصة بك، ويسحب السلاسل النصية الموجهة للمستخدم ويكتب ملف .content بجانب كل منها، بحيث تراجع diff بدلاً من نسخ السلاسل إلى كتالوج يدويًا. راجع أمر extract.
لأتمتة كاملة، يقوم Intlayer Compiler بالشيء نفسه في وقت البناء وينشئ القواميس عند كل تغيير.
خمس أدوات، كلها اختيارية:
- امتداد VS Code: الانتقال من مفتاح
useIntlayerإلى ملف المحتوى المصرح به، استخراج المحتوى من المكون، وتشغيل build و fill و test و push و pull من لوحة الأوامر أو علامة تبويب Intlayer. - خادم LSP: نفس التجربة في أي محرر يدعم LSP، مع الانتقال إلى التعريف وعروض القيمة المترجمة عند التمرير والإكمال التلقائي للمفاتيح. يدعم أيضًا استدعاءات
i18nextوreact-i18nextوnext-intlوuse-intl. - خادم MCP: يكشف وثائق Intlayer و CLI إلى Cursor و VS Code و Claude Desktop و Claude Code و ChatGPT.
- Agent skills: مهارات مخصصة مثل
intlayer-configوintlayer-cliوintlayer-content. - ESLint plugin: قاعدة
no-raw-textترصد النصوص المكتوبة مباشرة بدون تدويل.
