استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
بدءاً من الدمج مع خادم MCP Intlayer ، يمكن لمساعدك الذكي الاسترجاع من جميع المستندات مباشرة من ChatGPT ، DeepSeek ، Cursor ، VSCode ، إلخ.
عرض الوثائق الخاصة بالخادم MCPتمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
إعلان محتوى "لكل لغة" في Intlayer
يدعم Intlayer طريقتين لإعلان المحتوى متعدد اللغات:
- ملف واحد يحتوي على جميع الترجمات
- ملف واحد لكل لغة (تنسيق لكل لغة)
تتيح هذه المرونة:
- سهولة الترحيل من أدوات التدويل الأخرى
- دعم سير عمل الترجمة الآلية
- تنظيم واضح للترجمات في ملفات منفصلة خاصة بكل لغة
ملف واحد مع ترجمات متعددة
هذا التنسيق مثالي لـ:
- التكرار السريع في الكود.
- التكامل السلس مع نظام إدارة المحتوى (CMS).
هذه هي الطريقة الموصى بها لمعظم حالات الاستخدام. فهو يركز الترجمات في مكان واحد، مما يسهل التكرار والتكامل مع نظام إدارة المحتوى.
نسخ الكود إلى الحافظة
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", content: { multilingualContent: t({ en: "Title of my component", es: "Título de mi componente", }), },} satisfies Dictionary;export default helloWorldContent;
موصى به: هذا التنسيق هو الأفضل عند استخدام محرر Intlayer المرئي أو إدارة الترجمات مباشرة في الكود.
تنسيق حسب اللغة
هذا التنسيق مفيد عندما:
- تريد إصدار أو تجاوز الترجمات بشكل مستقل.
- تقوم بدمج سير عمل الترجمة الآلية أو البشرية.
يمكنك أيضًا تقسيم الترجمات إلى ملفات لغة فردية عن طريق تحديد حقل اللغة:
نسخ الكود إلى الحافظة
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, // مهم content: { multilingualContent: "عنوان المكون الخاص بي" },} satisfies Dictionary;export default helloWorldContent;
نسخ الكود إلى الحافظة
import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.SPANISH, // مهم content: { multilingualContent: "Título de mi componente" },} satisfies Dictionary;export default helloWorldContent;
مهم: تأكد من تعريف حقل locale. فهو يخبر Intlayer باللغة التي يمثلها الملف.
ملاحظة: في كلتا الحالتين، يجب أن يتبع ملف إعلان المحتوى نمط التسمية *.content.{ts,tsx,js,jsx,mjs,cjs,json} ليتم التعرف عليه من قبل Intlayer. اللاحقة .[locale] اختيارية وتستخدم فقط كاتفاقية تسمية.
مزج الصيغ
يمكنك دمج كلا النهجين للإعلان عن نفس مفتاح المحتوى. على سبيل المثال:
- أعلن عن المحتوى الأساسي الخاص بك بشكل ثابت في ملف مثل index.content.ts.
- أضف أو استبدل الترجمات المحددة في ملفات منفصلة مثل index.fr.content.ts أو index.content.json.
هذا الإعداد مفيد بشكل خاص عندما:
- تريد تعريف هيكل المحتوى الأولي في الكود.
- تخطط لإثراء أو إكمال الترجمات لاحقًا باستخدام نظام إدارة المحتوى (CMS) أو الأدوات الآلية.
نسخ الكود إلى الحافظة
.└── Components └── MyComponent ├── index.content.ts ├── index.content.json └── index.ts
مثال
هنا ملف إعلان محتوى متعدد اللغات:
نسخ الكود إلى الحافظة
import { t, type Dictionary } from "intlayer";const helloWorldContent = { key: "hello-world", locale: Locales.ENGLISH, content: { multilingualContent: "عنوان المكون الخاص بي", projectName: "مشروعي", },} satisfies Dictionary;export default helloWorldContent;
نسخ الكود إلى الحافظة
{ "$schema": "https://intlayer.org/schema.json", "key": "hello-world", "content": { "multilingualContent": { "nodeType": "translation", "translation": { "fr": "Titre de mon composant", "es": "Título de mi componente" } } }}
يقوم Intlayer بدمج الملفات متعددة اللغات وملفات كل لغة تلقائيًا.
نسخ الكود إلى الحافظة
import { getIntlayer, Locales } from "intlayer";const intlayer = getIntlayer("hello-world"); // اللغة الافتراضية هي الإنجليزية، لذا ستُرجع المحتوى باللغة الإنجليزيةconsole.log(JSON.stringify(intlayer, null, 2));// النتيجة:// {// "multilingualContent": "عنوان المكون الخاص بي",// "projectName": "مشروعي"// }const intlayer = getIntlayer("hello-world", Locales.SPANISH);console.log(JSON.stringify(intlayer, null, 2));// النتيجة:// {// "multilingualContent": "Título de mi componente",// "projectName": "مشروعي"// }const intlayer = getIntlayer("hello-world", Locales.FRENCH);console.log(JSON.stringify(intlayer, null, 2));// النتيجة:// {// "multilingualContent": "Titre de mon composant",// "projectName": "مشروعي"// }
التوليد التلقائي للترجمة
استخدم intlayer CLI لملء الترجمات المفقودة تلقائيًا بناءً على الخدمات المفضلة لديك.
تاريخ الوثيقة
- 5.5.10 - 2025-06-29: بدء التاريخ