Skip to content

أوامر اللغات

تدير أوامر اللغات إعدادات تعدد اللغات لمشروع FORGE — إضافة وإزالة اللغات، وتعيين اللغة الافتراضية، ومزامنة سلاسل الترجمة عبر الخلفية والواجهة الأمامية.

forge lang:add

إضافة لغة جديدة إلى المشروع.

الاستخدام

bash
forge lang:add <CODE> [OPTIONS]

الخيارات

الخيارالنوعالافتراضيالوصف
CODEstringرمز اللغة ISO 639-1 (مثل ar، fr، de).
--namestringيُكتشف تلقائياًالاسم الإنجليزي للغة.
--nativestringيُكتشف تلقائياًالاسم الأصلي للغة (مثل العربية للعربية).
--directionstringltrاتجاه النص: ltr (من اليسار لليمين) أو rtl (من اليمين لليسار).
--defaultflagfalseتعيين هذه اللغة كافتراضية للمشروع.

أمثلة

bash
# Add Arabic with RTL support
forge lang:add ar --direction=rtl

# Add French as new default language
forge lang:add fr --default

عند إضافة لغة، يُحدّث FORGE ملف forge.yaml، ويُولّد قوالب ترجمة للمفاتيح الموجودة، ويُحدّث بذرة قاعدة البيانات لجدول languages.

نصيحة

يكتشف FORGE تلقائياً اسم اللغة والاسم الأصلي والاتجاه لرموز ISO 639-1 الشائعة. تحتاج فقط لتحديد هذه الخيارات للغات مخصصة أو غير شائعة.


forge lang:remove

إزالة لغة من المشروع.

الاستخدام

bash
forge lang:remove <CODE>

مثال

bash
forge lang:remove fr

تحذير

إزالة لغة لا تحذف بيانات الترجمة الموجودة من قاعدة البيانات. شغّل forge translations:sync --no-prune بعد الإزالة إذا كنت تريد الاحتفاظ بصفوف الترجمة اليتيمة، أو احذف الخيار للسماح للمزامنة بتنظيفها.


forge lang:list

عرض جميع اللغات المُعدّة وإعداداتها.

الاستخدام

bash
forge lang:list

مثال على المخرجات

┌──────┬──────────┬───────────┬───────────┬─────────┐
│ الرمز │ الاسم    │ الأصلي    │ الاتجاه   │ افتراضي │
├──────┼──────────┼───────────┼───────────┼─────────┤
│ en   │ English  │ English   │ ltr       │ نعم     │
│ ar   │ Arabic   │ العربية   │ rtl       │ لا      │
│ fr   │ French   │ Français  │ ltr       │ لا      │
└──────┴──────────┴───────────┴───────────┴─────────┘

forge lang:default

تغيير اللغة الافتراضية للمشروع.

الاستخدام

bash
forge lang:default <CODE>

مثال

bash
forge lang:default ar

هذا يُحدّث forge.yaml، ويُعيد توليد بذرة اللغات، ويُعدّل إعدادات اللغة الافتراضية في كل من تطبيقي API والواجهة الأمامية.


forge lang:supported

عرض جميع اللغات التي يمكن لـ FORGE التعرف عليها تلقائياً (الرمز، الاسم، الاسم الأصلي، والاتجاه). مفيد لاكتشاف رموز اللغات الصالحة قبل إضافتها لمشروعك.

الاستخدام

bash
forge lang:supported

مثال على المخرجات

┌──────┬──────────────┬──────────────┬───────────┐
│ الرمز │ الاسم        │ الأصلي       │ الاتجاه   │
├──────┼──────────────┼──────────────┼───────────┤
│ ar   │ Arabic       │ العربية      │ rtl       │
│ de   │ German       │ Deutsch      │ ltr       │
│ en   │ English      │ English      │ ltr       │
│ es   │ Spanish      │ Español      │ ltr       │
│ fr   │ French       │ Français     │ ltr       │
│ ...  │ ...          │ ...          │ ...       │
└──────┴──────────────┴──────────────┴───────────┘

الإجمالي: 25 لغة مدعومة

نصيحة

عند إضافة لغة باستخدام رمز مدعوم، يملأ FORGE تلقائياً الاسم والاسم الأصلي والاتجاه. تحتاج فقط لتحديدها يدوياً للغات مخصصة أو غير مدعومة.


أوامر الترجمة

تدير أوامر الترجمة سلاسل الترجمة مفتاح-قيمة المستخدمة بواسطة طبقة استجابة API وواجهة Next.js الأمامية.

forge translations:sync

مزامنة ملفات الترجمة عبر جميع اللغات المُعدّة. تُضاف المفاتيح الجديدة بقيم فارغة؛ اختيارياً، المفاتيح غير الموجودة في المصدر تُحذف.

bash
forge translations:sync [OPTIONS]
الخيارالنوعالافتراضيالوصف
--no-pruneflagfalseالاحتفاظ بمفاتيح الترجمة غير الموجودة في لغة المصدر.

مثال

bash
forge translations:sync
جاري مزامنة الترجمات...
  en: 142 مفتاح (المصدر)
  ar: 138 مفتاح → 142 مفتاح (+4 مُضافة)
  fr: 135 مفتاح → 142 مفتاح (+7 مُضافة)

اكتملت المزامنة.

forge translations:export

تصدير الترجمات إلى ملف للمترجمين الخارجيين أو أنظمة إدارة الترجمة.

bash
forge translations:export [OPTIONS]
الخيارالنوعالافتراضيالوصف
--outputstringtranslations/مجلد المخرجات أو مسار الملف.

مثال

bash
forge translations:export --output=./exports/

يُولّد ملفات JSON لكل لغة:

exports/
  en.json
  ar.json
  fr.json

forge translations:import

استيراد الترجمات من ملفات خارجية إلى المشروع.

bash
forge translations:import [OPTIONS]
الخيارالنوعالافتراضيالوصف
--inputstringمسار المجلد أو الملف الذي يحتوي الترجمات.
--forceflagfalseالكتابة فوق قيم الترجمة الموجودة. بدون هذا الخيار، القيم الفارغة فقط تُملأ.

مثال

bash
forge translations:import --input=./exports/ --force

تحذير

استخدام --force يُستبدل جميع الترجمات الموجودة للغات المستوردة. تأكد من وجود نسخة احتياطية أو تحكم بالإصدارات قبل تشغيل هذا.


مثال سير العمل

سير عمل كامل لإضافة لغة جديدة لمشروع موجود:

bash
# 1. Add the language
forge lang:add de --name=German --native=Deutsch

# 2. Sync translation keys (creates templates with empty values)
forge translations:sync

# 3. Export for translation team
forge translations:export --output=./to-translate/

# 4. After translators return files, import them
forge translations:import --input=./translated/ --force

# 5. Update the database
forge seed --class translations

انظر أيضاً

Released under the MIT License.