انتقل إلى المحتوى الرئيسي

المقدمة

🎯 ماذا يفعل هذا الموديل؟

يتيح لك موديل Locales إدارة دعم اللغات المتعددة في مشروع OneEntry الخاص بك - استرجاع اللغات المتاحة، اكتشاف لغة المستخدم، وبناء تطبيقات دولية تقدم محتوى بعدة لغات.

فكر في الأمر كمدير لغاتك - بدلاً من ترميز اللغات بشكل ثابت في تطبيقك، يمكنك جلب قائمة اللغات النشطة من OneEntry بشكل ديناميكي، مما يسمح لمحتواك بالتكيف تلقائيًا مع مواقع مختلفة (الإنجليزية، الروسية، العربية، الإسبانية، إلخ).


📖 شرح بسيط

في التطبيقات الحديثة، تحتاج غالبًا إلى دعم لغات متعددة:

  • 🌍 مواقع التجارة الإلكترونية - خدمة العملاء في دول مختلفة (الإنجليزية، الفرنسية، الألمانية)
  • 📱 تطبيقات الهواتف المحمولة - تكييف واجهة المستخدم مع لغة جهاز المستخدم
  • 🌐 المواقع الإلكترونية - عرض المحتوى بلغة الزائر المفضلة
  • 📚 التوثيق - تقديم المساعدة بعدة لغات
  • 🎮 الألعاب - ترجمة الواجهة والمحتوى

المشكلة مع ترميز اللغات بشكل ثابت:

المشاكل:

  • 🔄 صعب التحديث - تحتاج إلى إعادة نشر لإضافة لغات جديدة
  • 🌍 غير متزامنة - قد تختلف لغات التطبيق عن لغات نظام إدارة المحتوى
  • تباينات في الترجمة - المحتوى موجود في نظام إدارة المحتوى ولكن ليس في التطبيق
  • 🔧 صيانة يدوية - تحديث الكود في كل مرة تتغير فيها اللغات

حل Locales:

الفوائد:

  • 🔄 دائمًا متزامن - اللغات تتطابق مع ما هو مكون في OneEntry
  • 🌍 ديناميكي - إضافة/إزالة اللغات دون تغييرات في الكود
  • مُعتمد - عرض اللغات التي تحتوي على محتوى فقط
  • 🎯 مركزي - إدارة اللغات في مكان واحد

✨ المفاهيم الأساسية

ما هي Locale؟

Locale هي مزيج من اللغة والمنطقة يحدد كيفية عرض المحتوى:

  • رمز اللغة - رمز اللغة ISO 639-1 (مثل en, ru, ar)
  • رمز المنطقة - رمز الدولة ISO 3166-1 (مثل US, GB, RU)
  • معرف Locale - تنسيق مجمع: language_REGION (مثل en_US, ru_RU, ar_SA)

أمثلة:

رمز Localeاللغةالمنطقةالوصف
en_USالإنجليزيةالولايات المتحدةالإنجليزية الأمريكية
en_GBالإنجليزيةبريطانيا العظمىالإنجليزية البريطانية
ru_RUالروسيةروسياالروسية
es_ESالإسبانيةإسبانياالإسبانية الأوروبية
es_MXالإسبانيةالمكسيكالإسبانية المكسيكية
ar_SAالعربيةالمملكة العربية السعوديةالعربية (المملكة العربية السعودية)
fr_FRالفرنسيةفرنساالفرنسية
de_DEالألمانيةألمانياالألمانية

هيكل Locale

كل Locale في OneEntry يحتوي على:

{
id: 146, // معرف فريد
shortCode: 'en', // رمز قصير
code: 'en_US', // رمز كامل
name: 'English (USA)', // الاسم
nativeName: 'English (USA)', // الاسم الأصلي
isActive: true, // نشط
image: null, // صورة
position: 1, // الموضع
}

لماذا تستخدم موديل Locales؟

الفائدةالوصف
دعم متعدد اللغاتتقديم المحتوى بلغة المستخدم المفضلة
قائمة لغات ديناميكيةاللغات تتزامن مع تكوين OneEntry
كشف اللغة الافتراضيةتحديد اللغة الافتراضية تلقائيًا
تصفية اللغات النشطةعرض اللغات المفعلة فقط
إدارة مركزيةتحديث اللغات في لوحة الإدارة، وليس في الكود
تجربة المستخدمالسماح للمستخدمين باختيار لغتهم

حالات الاستخدام الشائعة

حالة الاستخدامالوصفالمثال
محدد اللغةقائمة منسدلة لتبديل اللغاترأس الموقع مع أعلام اللغات
توطين المحتوىجلب المحتوى بلغة المستخدممنشورات المدونة باللغة الإنجليزية أو الروسية
التوجيههيكل URL لكل لغة/en/about, /ru/about
منطق التراجععرض اللغة الافتراضية إذا كانت الترجمة مفقودةعرض الإنجليزية إذا لم تكن الإسبانية متاحة
تفضيلات المستخدمتذكر اختيار اللغة للمستخدمحفظ locale في الكوكيز/localStorage

📋 ما تحتاج لمعرفته

تكوين Locales في لوحة الإدارة

لا يمكنك إنشاء locales عبر SDK - يتم تكوينها في لوحة إدارة OneEntry:

OneEntry Admin Panel → Settings → Languages → Add Language → Select Locale

SDK مخصص لـ جلب معلومات locale، وليس لإنشاء locales.

Locales النشطة مقابل غير النشطة

ليس كل locales المكونة قد تكون نشطة:

الحالةالمعنىمتى تستخدم
نشط (isActive: true)locale مفعل ويحتوي على محتوىعرض في محدد اللغة
غير نشط (isActive: false)locale معطل أو قيد الإعدادإخفاء عن المستخدمين

أفضل ممارسة: دائمًا قم بالتصفية حسب isActive عند بناء محددات اللغة

اللغة الافتراضية

كل مشروع OneEntry يحتوي على locale افتراضية واحدة:

  • locale الافتراضية (isDefault: true) - اللغة الأساسية
  • تستخدم عندما لا يتم تحديد locale
  • تستخدم كاحتياطي عندما تكون الترجمة مفقودة

رمز Locale مقابل رمز قصير

كل locale له تنسيقين للرمز:

الحقلالتنسيقالمثالالاستخدام
codelanguage_REGIONen_US, ru_RUتحديد locale الكامل
shortCodelanguageen, ruتحديد اللغة فقط

📊 جدول مرجعي سريع

الطريقةالوصفحالة الاستخدام
getLocales()الحصول على جميع locales (نشطة وغير نشطة)جلب اللغات المتاحة

❓ الأسئلة الشائعة (FAQ)

كيف أضيف لغات جديدة إلى مشروعي؟

لا يمكنك إضافة locales عبر SDK. يتم تكوين locales في لوحة إدارة OneEntry.


كيف أضبط اللغة الافتراضية؟

لا يمكنك ضبط locale الافتراضية عبر SDK. يتم تكوين locale الافتراضية في لوحة إدارة OneEntry:

ملاحظة: يمكن أن يكون هناك locale افتراضية واحدة فقط في كل مرة.


هل يجب أن أظهر locales غير النشطة للمستخدمين؟

لا! دائمًا قم بالتصفية حسب isActive:

لماذا؟ قد تكون locales غير النشطة:

  • قيد التطوير (المحتوى غير جاهز)
  • معطلة مؤقتًا
  • لا تحتوي على ترجمات لكل المحتوى

كيف أتعامل مع الترجمات المفقودة؟

استخدم منطق التراجع


هل يمكنني تخزين locales في الذاكرة المؤقتة؟

نعم! نادرًا ما تتغير locales، لذا يُوصى بالتخزين المؤقت.


هل يمكنني استخدام Locales مع Next.js i18n؟

نعم! دمج locales من OneEntry مع Next.js.


كيف أجمع locales حسب اللغة؟

اجمع المتغيرات لنفس اللغة


ماذا لو كنت بحاجة لترجمة عناصر واجهة المستخدم (وليس محتوى نظام إدارة المحتوى)؟

موديل Locales من OneEntry مخصص فقط لمحتوى نظام إدارة المحتوى. لترجمة واجهة المستخدم:

الخيار 1: استخدم مكتبة i18n (react-i18next، next-i18next)

الخيار 2: تخزين ترجمات واجهة المستخدم في OneEntry

إنشاء نوع صفحة "ترجمات" وجلب سلاسل الترجمة


💡 ملاحظات مهمة

Locales للقراءة فقط

موديل Locales هو للقراءة فقط:

  • ✅ جلب locales
  • ✅ تصفية حسب الحالة النشطة
  • ✅ العثور على locale الافتراضية
  • ❌ لا يمكن إنشاء locales
  • ❌ لا يمكن تحديث locales
  • ❌ لا يمكن حذف locales

لإجراء التعديلات: استخدم لوحة إدارة OneEntry.


دائمًا قم بتصفية locales النشطة

عرض فقط locales النشطة للمستخدمين

لماذا؟ قد لا تحتوي locales غير النشطة على ترجمات كاملة.


يُوصى بالتخزين المؤقت

Naderًا ما تتغير locales - نفذ التخزين المؤقت


تزامن مع محتوى locales

تأكد من تطابق لغات واجهة المستخدم مع المحتوى المتاح


🎓 أفضل الممارسات

  • دائمًا قم بتصفية locales النشطة - عرض اللغات المفعلة فقط
  • تخزين locales في الذاكرة المؤقتة - نادرًا ما تتغير، خزّنها لأداء أفضل
  • استخدم locale الافتراضية كاحتياطي - التعامل مع الترجمات المفقودة
  • احفظ تفضيل المستخدم - تذكر اختيار اللغة
  • تحقق من رموز locales - تحقق من وجود locale قبل الاستخدام
  • اكتشف لغة المتصفح - اختر لغة المستخدم تلقائيًا
  • اجمع حسب اللغة - عرض المتغيرات اللغوية بشكل منطقي

مزيد من المعلومات حول واجهة المستخدم للموديل https://doc.oneentry.cloud/docs/category/languages

تعريف موديل Locales

يمكن موديل 'Locales' من دعم اللغات المتعددة في OneEntry.

بفضل دعم اللغات المتعددة في منصة OneEntry، يمكنك تخصيص واجهة لوحة التحكم الخاصة بك بشكل مرن وإدارة اللغات في مشروعك بشكل مريح. في هذا القسم، يمكنك التعرف على مبادئ العمل مع اللغات.


const { Locales } = defineOneEntry(
"your-project-url", {
"token": "your-app-token"
}
);


🔗 الوثائق ذات الصلة