العودة إلى مركز الوثائق

اللغات

20 لغة بشرية مع دعم كامل للغة العربية والفارسية.

20
اللغات
2
لغات من اليمين لليسار

Aura Work مبني لجمهور عالمي. نظام التدويل يستخدم فهارس TypeScript مصدرية تُنتج ملفات JSON متوافقة مع Weblate. إضافة لغة جديدة على بعد PR واحد.

لماذا يهم التدويل (i18n)

يُستخدم Aura Work من قِبل مطورين حول العالم. من خلال دعم 20 لغة، نضمن ما يلي:

  • سهولة الوصول — يمكن للمطورين استخدام الأداة بلغتهم الأم
  • الشمولية — لغات الكتابة من اليمين لليسار (العربية، الفارسية) مدعومة بالكامل
  • المجتمع — يمكن للمساهمين إضافة ترجمات للغتهم
  • الانتشار العالمي — يمكن استخدام الأداة في أي بلد

كيف يعمل التدويل

يستخدم نظام التدويل هيكلية طبقية مبنية بـ TypeScript:

  1. 1. كتالوج المصدر — سلاسل الترجمة تُعرَّف في packages/i18n/src/catalog.ts ككائن TypeScript مُنمَّط
  2. 2. خطوة البناء — تشغيل npm run build:locales يُصدِر ملفات JSON إلى packages/i18n/locales/
  3. 3. التحميل وقت التشغيل — يكتشف التطبيق لغة النظام عند التشغيل الأول ويحمّل ملف JSON المناسب
  4. 4. الرجوع الافتراضي — إذا كانت الترجمة مفقودة، يرجع النظام إلى الإنجليزية

🌐 إضافة لغة جديدة

المساهمة بلغة جديدة عملية مباشرة:

  1. 1. انسخ packages/i18n/locales/en.json إلى ملف جديد (مثلاً hi.json للهندية)
  2. 2. ترجم القيم فقط — أبقِ جميع المفاتيح بالإنجليزية
  3. 3. أضف لغتك إلى SUPPORTED_LOCALES في packages/i18n/src/catalog.ts
  4. 4. شغّل npm run build:locales -w @aura-os/i18n
  5. 5. اختبر ترجماتك في التطبيق
  6. 6. أرسل طلب سحب (PR) بالتغييرات

يستخدم المشروع Weblate للترجمات المجتمعية. يمكنك المساهمة بالترجمات عبر Weblate أو مباشرة عبر PR.

📐 دعم RTL

تستخدم العربية والفارسية تخطيط dir="rtl". يشمل دعم RTL:

  • اتجاه التخطيط — تنعكس الواجهة بأكملها أفقياً
  • محاذاة النص — يُحاذى النص لليمين
  • التنقل — الشريط الجانبي والقوائم تعكس اتجاهها
  • الطباعة — خطوط IBM Plex Sans Arabic و Tajawal
  • الأيقونات — الأيقونات الاتجاهية تُعكس (الأسهم، الشيفرونات)
  • الحركات — حركات الانزلاق تحترم اتجاه RTL

يتضمن نظام التصميم طباعة عربية صحيحة مع استبدال خطوط مدمج للمحتوى ثنائي اللغة.

🔧 مفاتيح الترجمة

تتبع مفاتيح الترجمة هيكلية هرمية:

{
  "common": {
    "save": "حفظ",
    "cancel": "إلغاء",
    "delete": "حذف"
  },
  "dashboard": {
    "title": "لوحة التحكم",
    "welcome": "مرحباً بعودتك، {{name}}",
    "stats": {
      "tasks": "المهام",
      "projects": "المشاريع"
    }
  },
  "errors": {
    "network": "خطأ في الشبكة. يرجى التحقق من الاتصال.",
    "auth": "فشلت المصادقة. يرجى تسجيل الدخول مجدداً."
  }
}

استخدم الترميز النقطي للإشارة للمفاتيح: t('dashboard.stats.tasks'). المتغيرات تُحاط بأقواس معقوفة مزدوجة: {{name}}.

📝 أفضل ممارسات الترجمة

  • أبقِ المفاتيح بالإنجليزية — ترجم القيم فقط
  • استخدم العناصر النائبة — للمحتوى الديناميكي (مثل {{count}})
  • راعِ السياق — بعض الكلمات لها ترجمات مختلفة حسب السياق
  • اختبر جيداً — تحقق من فيض النص ومشاكل المحاذاة
  • استخدم Weblate — للترجمات المجتمعية والاتساق
  • راجع الترجمات الموجودة — تفقد en.json للقائمة الكاملة

كيف تساهم بلغة جديدة

يمكن لأي شخص إضافة لغة جديدة إلى Aura Work. العملية بسيطة ومفتوحة للجميع:

  1. 1. افتح نقاشاً أو مشكلة (issue) على GitHub لإعلام الفريق برغبتك بإضافة لغة
  2. 2. اتبع دليل "إضافة لغة جديدة" أعلاه لإنشاء ملف الترجمة
  3. 3. استخدم أدوات الترجمة الآلية كنقطة بداية، ثم راجعها يدوياً لضمان الدقة والسياق الثقافي
  4. 4. اختبر لغتك في جميع صفحات التطبيق للتأكد من عدم وجود نصوص مقطوعة
  5. 5. أرسل طلب السحب وانتظر مراجعة الفريق

جميع المساهمات مُقدَّرة، سواء كانت ترجمة كاملة أو تصحيحات بسيطة على ترجمات موجودة.