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