كيفية العمل
تُغلف واجهة سطر أوامر Lingo.dev سير عمل معالجة التوطين المعقد خلف واجهة سطر أوامر أنيقة.
عندما تقوم بتشغيل npx lingo.dev@latest i18n
، تقرأ واجهة سطر الأوامر ملف التكوين القياسي i18n.json
وتنفذ الخطوات الخمس التالية:
1. اكتشاف المحتوى
تتعامل واجهة سطر أوامر Lingo.dev مع مشروعك كمصدر للحقيقة. تقوم بمسح المشروع بشكل متكرر بحثًا عن ملفات مصدر الترجمة والملفات المستهدفة بناءً على تكوينات الحاويات الخاصة بك، وقراءتها في الذاكرة للمعالجة.
تحترم مرحلة الاكتشاف:
- أنماط التضمين مثل
locales/[locale].json
- أنماط الاستبعاد للملفات التي تريد تخطيها
- تكوينات حاويات متعددة لأنواع ملفات مختلفة
2. تنظيف البيانات
ليس كل المحتوى يتطلب ترجمة. تحتوي تطبيقات الإنتاج على أرقام وقيم منطقية وتواريخ ومعرفات UUID ومقتطفات برمجية تظل عادةً دون تغيير عبر اللغات المختلفة.
تقوم واجهة سطر أوامر Lingo.dev بتصفية ذكية لـ:
- القيم الرقمية مثل
42
أو3.14
- القيم المنطقية (
true
/false
) - تواريخ ISO والطوابع الزمنية
- معرفات UUID وما شابهها
- كتل الشفرة والمقتطفات التقنية
تقلل هذه التصفية من تكاليف استدلال نماذج اللغة الكبيرة وتحسن سرعة المعالجة من خلال التركيز فقط على المحتوى القابل للترجمة.
3. حساب الفروق
المحتوى الذي لم يتغير لا ينبغي إعادة ترجمته. تقوم واجهة سطر أوامر Lingo.dev بتنفيذ نظام تحكم بالإصدارات متطور يقوم بما يلي:
- إنشاء بصمات للمحتوى باستخدام تجزئة SHA-256
- مقارنة المحتوى الحالي مع الحالة السابقة المخزنة في
i18n.lock
- تحديد مفاتيح الترجمة الجديدة والمعدلة والمحذوفة
- إرسال التغييرات فقط إلى محرك الترجمة
يعني هذا النهج التدريجي أنك تدفع فقط مقابل ما هو جديد أو تم تغييره، وليس مقابل مكتبة المحتوى بأكملها في كل مرة.
اعرف المزيد: ملف القفل i18n.lock
4. التوطين
يجب أن تكون الترجمة موثوقة، حتى مع اتصالات الإنترنت غير المستقرة أو انقطاعات مزود نماذج اللغة الكبيرة (LLM). في هذه الخطوة، تأخذ واجهة سطر أوامر Lingo.dev الفرق وترسله إلى خلفية الترجمة المُكوّنة لديك.
تنفذ واجهة سطر الأوامر:
- استراتيجية إعادة المحاولة بتأخير أسي لفشل الشبكة
- استعادة تلقائية للأخطاء وحفظ التقدم الجزئي
- دعم لكل من واجهات برمجة التطبيقات الخام لنماذج اللغة الكبيرة (OpenAI، Anthropic) ومحرك Lingo.dev
- معالجة متزامنة للغات الهدف المتعددة
يتضمن كل طلب ترجمة معلومات سياقية لضمان الاتساق والجودة عبر مشروعك بأكمله.
5. حقن المحتوى
للحفاظ على مجموعات تغييرات نظيفة وقابلة للمراجعة، تقوم واجهة سطر أوامر Lingo.dev بحقن الترجمات في المواقع الدقيقة حيث يوجد المحتوى المصدر. هذا النهج:
- يحافظ على بنية الملف وتنسيقه
- يتجنب تعارضات git غير الضرورية
- ينشئ اختلافات مركزة ومحدودة
- يحترم تكوين Prettier الحالي إذا كان موجودًا
النتيجة هي ملفات مترجمة تبدو وكأنها صُنعت يدويًا، جاهزة لمراجعة الكود والنشر.
سير العمل الكامل
تنتج هذه الخطوات الخمس عادةً نوعين من التغييرات:
- ملفات التوطين — يتم تحديثها بالترجمات الجديدة والمعدلة
- ملف i18n.lock — يتم تحديثه ببصمات المحتوى لتتبع الحالة
يجب الالتزام بكليهما في المستودع الخاص بك، إما يدويًا أو تلقائيًا من خلال تكاملات CI/CD.
تضمن هذه البنية أن واجهة سطر أوامر Lingo.dev تتوسع بكفاءة من مطور واحد يترجم بضعة سلاسل نصية إلى فرق تدير ملايين الكلمات عبر عشرات اللغات.
الخطوات التالية
الآن بعد أن فهمت كيف تعمل واجهة سطر أوامر Lingo.dev داخليًا، يمكنك:
- الانضمام إلى مجتمعنا: Discord — تواصل مع المطورين الآخرين الذين يستخدمون واجهة سطر أوامر Lingo.dev، وشارك ملاحظاتك، واحصل على المساعدة في تحديات الترجمة لديك؛
- المساهمة في المشروع: المشكلات المفتوحة — واجهة سطر أوامر Lingo.dev مفتوحة المصدر وترحب بالمساهمات. تصفح المشكلات المفتوحة، اقترح ميزات، أو قدم طلبات سحب للمساعدة في تحسين الأداة للجميع.