Lingo.dev + .strings (Xcode)

تقوم واجهة سطر أوامر Lingo.dev بترجمة ملفات Xcode .strings مع الحفاظ على بنية المفتاح-القيمة والتعليقات واتفاقيات توطين iOS. تعمل واجهة سطر الأوامر مع مشاريع وسير عمل Xcode القديمة، وتحافظ على سياق المطور والتعليمات في التعليقات، وتحافظ على محددات تنسيق iOS مثل %@ و %d، وتتعامل مع ترميزات UTF-16 وUTF-8 بشكل صحيح، وتتكامل مع خطوط أنابيب توطين iOS القياسية.

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

التكوين لملفات Xcode strings القديمة:

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

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

ترجمة ملفات Strings

npx lingo.dev@latest i18n

يحافظ على تنسيق ملف strings وتعليقات المطورين واتفاقيات iOS المحددة أثناء ترجمة القيم.

بنية ملف Strings

أزواج المفتاح-القيمة الأساسية

/* التنقل الرئيسي */
"nav.home" = "الرئيسية";
"nav.settings" = "الإعدادات";
"nav.profile" = "الملف الشخصي";

/* المصادقة */
"auth.login" = "تسجيل الدخول";
"auth.logout" = "تسجيل الخروج";
"auth.register" = "التسجيل";

محددات التنسيق

/* رسائل المستخدم مع العناصر النائبة */
"welcome.user" = "مرحبًا بعودتك، %@!";
"items.count" = "لديك %d عنصر في سلة التسوق الخاصة بك";
"download.progress" = "جارٍ التنزيل... اكتمل %.1f%%";

النصوص متعددة الأسطر

/* محتوى طويل */
"terms.agreement" = "باستخدام هذا التطبيق، فإنك توافق على شروط الخدمة وسياسة الخصوصية الخاصة بنا. يرجى قراءتها بعناية قبل المتابعة.";

"help.description" = "تساعدك هذه الميزة على إدارة مهامك بكفاءة. يمكنك إنشاء وتحرير وتنظيم عناصر عملك.";

ميزات خاصة بنظام iOS

تعليقات الترجمة

/* تظهر في شريط التبويب في الأسفل */
"tab.home" = "الرئيسية";

/* نص زر إرسال النموذج */
"button.submit" = "إرسال";

/* رسالة خطأ عند عدم توفر الشبكة */
"error.network" = "يرجى التحقق من اتصالك بالإنترنت";

توفر تعليقات المطورين سياقًا للمترجمين.

الأحرف الخاصة

/* النصوص مع علامات الاقتباس والأحرف الخاصة */
"message.quote" = "قالت، \"مرحبًا!\"";
"path.file" = "Documents\\MyFile.txt";
"symbol.copyright" = "© 2024 اسم الشركة";

يتم الحفاظ على الهروب المناسب لعلامات الاقتباس والشرطات المائلة العكسية.

تكامل Storyboard

/* ترجمات Storyboard */
"A8K-3L-9X7.text" = "مرحبًا";
"B9M-4N-0Y8.placeholder" = "أدخل اسمك";
"C0P-5Q-1Z9.title" = "الإعدادات";

يتم التعامل مع مفاتيح Interface Builder المُنشأة بشكل صحيح.

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

ملفات Strings متعددة

"xcode-strings": {
  "include": [
    "Resources/[locale].lproj/Localizable.strings",
    "Resources/[locale].lproj/InfoPlist.strings"
  ]
}

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

"xcode-strings": {
  "include": ["Resources/[locale].lproj/Localizable.strings"],
  "lockedKeys": ["CFBundleName", "CFBundleDisplayName"]
}