Lingo.dev + .jsonc (JSON مع التعليقات)

واجهة سطر أوامر Lingo.dev تترجم ملفات JSONC (JSON مع تعليقات)، وتدعم جميع ميزات JSON القياسية بالإضافة إلى التعليقات والفواصل النهائية. تستخرج واجهة سطر الأوامر التعليقات كتلميحات للترجمة، وتحافظ على التنسيق الدقيق، وتتعامل مع الهياكل المتداخلة بذكاء، وتعالج فقط المحتوى المعدل لتحقيق كفاءة التكلفة.

الإعداد السريع

قم بإنشاء ملف تكوين i18n.json:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de"]
  },
  "buckets": {
    "jsonc": {
      "include": ["locales/[locale].jsonc"]
    }
  }
}

تذكير: [locale] هو عنصر نائب يجب أن يبقى في التكوين حرفيًا، حيث يتم استبداله باللغة الفعلية أثناء تشغيل واجهة سطر الأوامر.

ترجمة كل شيء

npx lingo.dev@latest i18n

تعالج تلقائيًا الهياكل المتداخلة، وتستخرج التعليقات كتلميحات للترجمة، وتحدث فقط المحتوى المتغير.

تلميحات الترجمة المستندة إلى التعليقات

الميزة الرئيسية لـ JSONC هي استخدام التعليقات لتوفير سياق الترجمة:

{
  // هذا التعليق يوفر سياقًا للتحية
  "greeting": "Hello, world!",
  "button": "Click me" /* هذا يشرح الغرض من الزر */,
  /*
   * تعليق متعدد الأسطر للسياق المعقد
   * يشرح الفروق الثقافية
   */
  "welcome": "Welcome to our app"
}

يتم استخراج التعليقات تلقائيًا كتلميحات لتحسين جودة الترجمة وتوفير السياق للمترجمين الآليين.

الحفاظ الذكي على الهيكل

يحافظ على التسلسلات الهرمية المعقدة ويدعم الفواصل النهائية:

{
  "nav": {
    "home": "Home", // عنصر التنقل
    "about": {
      "team": "Our Team" // تنقل متداخل
    },
  },
  "items": {
    "one": "{{count}} item",
    "other": "{{count}} items", // دعم صيغ الجمع
  },
}

التكوين المتقدم

استبعاد الملفات

"jsonc": {
  "include": ["locales/[locale]/*.jsonc"],
  "exclude": ["locales/[locale]/config.jsonc"]
}

قفل المفاتيح التقنية

"jsonc": {
  "lockedKeys": ["app/version", "settings/apiKey"]
}

استخدم الشرطة المائلة للأمام (/) لمسارات المفاتيح المتداخلة أو النجمة (*) لمطابقة مسارات مفاتيح متعددة.