ملف قفل i18n.lock

i18n.lock هو ملف قفل يتتبع المجاميع الاختبارية للمحتوى لمنع إعادة الترجمة غير الضرورية وتحسين أداء واجهة سطر أوامر Lingo.dev.

i18n.lock يخزن المجاميع الاختبارية للمحتوى المصدر ومفاتيح الترجمة لتحديد ما تغير بين عمليات الترجمة. ونتيجة لذلك، يتم ترجمة المحتوى الجديد أو المعدل فقط، مما يقلل من وقت المعالجة وتكاليف الترجمة.

بنية ملف القفل

يستخدم i18n.lock تنسيق YAML منظم لتخزين المجاميع الاختبارية للمحتوى:

version: 1
checksums:
  a07974ea09011daa56f9df706530e442:
    key: f8692d39317193acf0e2e47172703c46
  b18975fb19122ebb67g0ef817641f553:
    key: g9703e40428204bdf1f3f58283814d57

عناصر التكوين:

  • version — إصدار مخطط ملف القفل لتوافق الترحيل
  • checksums — خريطة المجاميع الاختبارية للمحتوى إلى المجاميع الاختبارية للمفاتيح التي تتتبع المحتوى المترجم
  • checksums.[content-hash] — تجزئة SHA-256 للمحتوى المصدر التي تعمل كمعرف فريد
  • checksums.[content-hash].key — تجزئة SHA-256 لمفتاح الترجمة التي تمكن اكتشاف إعادة تسمية المفتاح

واجهة سطر أوامر Lingo.dev تحافظ على الترجمات الموجودة عندما تكتشف محتوى متطابقًا بمجاميع اختبارية مختلفة للمفاتيح. لا تحدث إعادة ترجمة، مما يحافظ على اتساق الترجمة مع السماح بتغييرات تنظيم المفاتيح. اقرأ المزيد حول إعادة تسمية المفاتيح.

تكامل سير العمل

يعمل i18n.lock تلقائيًا أثناء سير عمل الترجمة:

التشغيل الأول — ينشئ ملف قفل بالمجاميع الاختبارية الأولية للمحتوى:

npx lingo.dev@latest i18n

# ينشئ i18n.lock مع جميع المجاميع الاختبارية للمحتوى المصدر

إعادة إنشاء ملف القفل — يعيد إنشاء ملف القفل من الصفر:

npx lingo.dev@latest lockfile --force

# يعيد إنشاء i18n.lock مع جميع المجاميع الاختبارية للمحتوى المصدر

نصيحة: يمكنك استخدام هذا الأمر بأمان لإعادة تعيين ملف القفل إلى حالته الحقيقية أثناء حل تعارضات الدمج.

عمليات التشغيل اللاحقة — تعالج فقط المحتوى المتغير:

npx lingo.dev@latest i18n

# يقارن المحتوى الحالي مع i18n.lock

# يترجم فقط المحتوى الجديد أو المعدل

إعادة الترجمة القسرية — تتجاوز تحسين ملف القفل وتعيد ترجمة كل المحتوى، مع إعادة إنشاء ملف القفل:

npx lingo.dev@latest i18n --force

# تتجاهل ملف i18n.lock وتعيد ترجمة كل المحتوى

التحقق المجمد — يتحقق من اكتمال الترجمة:

npx lingo.dev@latest i18n --frozen

# يفشل إذا كان أي محتوى يتطلب الترجمة

# يستخدم في CI/CD للتأكد من اكتمال الترجمات

تكامل نظام التحكم بالإصدارات

يجب الالتزام بملف i18n.lock في نظام التحكم بالإصدارات جنبًا إلى جنب مع ملفات الترجمة.

ملف القفل هو جزء أساسي من نظام الترجمة التدريجي لـ Lingo.dev CLI، مما يجعله عمليًا لمشاريع من أي حجم.