Lingo.dev + .xcstrings (Xcode)

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

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

التكوين لتنسيق كتالوج السلاسل النصية الحديث في Xcode:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "xcode-xcstrings": {
      "include": ["Resources/Localizable.xcstrings"]
    }
  }
}

ترجمة كتالوجات السلاسل النصية

npx lingo.dev@latest i18n

يتعامل تلقائيًا مع صيغ الجمع، واختلافات الأجهزة، والبيانات الوصفية الخاصة بـ Xcode مع الحفاظ على اتفاقيات iOS.

ميزات كتالوج السلاسل النصية

التوطين الأساسي

{
  "sourceLanguage": "en",
  "strings": {
    "welcome_message": {
      "localizations": {
        "en": {
          "stringUnit": {
            "state": "translated",
            "value": "Welcome to our app!"
          }
        }
      }
    }
  }
}

اختلافات صيغ الجمع

{
  "item_count": {
    "localizations": {
      "en": {
        "variations": {
          "plural": {
            "zero": {
              "stringUnit": {
                "state": "translated",
                "value": "No items"
              }
            },
            "one": {
              "stringUnit": {
                "state": "translated",
                "value": "%d item"
              }
            },
            "other": {
              "stringUnit": {
                "state": "translated",
                "value": "%d items"
              }
            }
          }
        }
      }
    }
  }
}

اختلافات الأجهزة

يدعم السلاسل النصية الخاصة بالأجهزة لـ iPhone وiPad وApple Watch ومنصات Apple الأخرى.

الحفاظ على التنسيق

  • البيانات الوصفية سليمة: يتم الحفاظ على الحالة والتعليقات وحالة الاستخراج
  • الاختلافات آمنة: يتم الحفاظ على جميع اختلافات صيغ الجمع والأجهزة
  • الهيكل محفوظ: تبقى تسلسل JSON والمفاتيح الخاصة بـ Xcode دون تغيير
  • العناصر النائبة آمنة: يتم الحفاظ على محددات تنسيق iOS مثل %@ و%d

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

كتالوجات متعددة

"xcode-xcstrings": {
  "include": [
    "Resources/Localizable.xcstrings",
    "Resources/InfoPlist.xcstrings"
  ]
}

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

"xcode-xcstrings": {
  "include": ["Resources/Localizable.xcstrings"],
  "lockedKeys": ["CFBundleName", "NSHumanReadableCopyright"]
}