Skip to main content
AI agent network visualization

ترجم ملفات .strings دون كسر تطبيقك

تبقى المفاتيح دون تغيير. تُحفَظ محدِّدات التنسيق. قواعد الجمع صحيحة. تُترجم Localizable.strings في ثوانٍ، لا أيام.

ترجمة Apple .strings مملة ومعرّضة للأخطاء

تُصدّر Localizable.strings، ثم تسلّمها لمترجم أو تلصقها في أداة عامة، لتعود إليك محدِّدات تنسيق تالفة، وتسلسلات هروب مكسورة، وقواعد جمع مشوّهة. ثم تقضي ساعات في تصحيح سبب تعطل تطبيقك عند الإطلاق باللغة اليابانية.

تُترجم محدِّدات التنسيق مثل %@ و %d و %1$@ أو يُعاد ترتيبها أو تُحذف بواسطة الأدوات العامة

تتلف تسلسلات الهروب (\n, \", \t) أو تُضاعَف، ما يكسر تحليل السلاسل النصية

تحتاج قواعد جمع Stringsdict إلى فئات CLDR الخاصة باللغة، والتي تتجاهلها معظم الأدوات تمامًا

تُحذف تعليقات المترجم وتلميحات السياق، ما يؤدي إلى ترجمات خاطئة

المصدر (English)
Base.lproj/Localizable.strings
/* Localizable.strings (English) */

"welcome_title" = "Welcome to MyApp";
"login_button" = "Sign In";
"greeting" = "Hello, %@!";
"items_count" = "%d items in your cart";
"transfer" = "Send %1$@ to %2$@";
المترجَم (Japanese)
ja.lproj/Localizable.strings
/* Localizable.strings (Japanese) */

"welcome_title" = "MyAppへようこそ";
"login_button" = "サインイン";
"greeting" = "%@さん、こんにちは!";
"items_count" = "カートに%d個のアイテム";
"transfer" = "%2$@に%1$@を送信";

ما الذي يحفظه i18n Agent

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

تُكتشف المحدِّدات الموضعية (%1$@) والمحدِّدات الخاصة بالنوع (%d, %f, %@) وتُترك دون تغيير

تسلسلات الهروب

تُحفَظ الأسطر الجديدة (\n) وعلامات الجدولة (\t) وعلامات الاقتباس (\") وتسلسلات هروب Unicode بشكل صحيح

قواعد جمع Stringsdict

تُضبَط فئات CLDR للجمع (zero, one, two, few, many, other) بشكل صحيح لكل لغة مستهدفة

التعليقات والسياق

تُحفَظ تعليقات المترجم وملاحظات المطوّر للحفاظ على سياق الترجمة

يعمل عبر منصات Apple

SwiftUI
UIKit / AppKit
كتالوجات سلاسل Xcode
تطبيقات macOS
watchOS / tvOS
حِزم Swift

أدوات مفتوحة المصدر لتوطين iOS

i18n Agent لـ Xcode

تطبيق لشريط القوائم في macOS يضيف التوطين إلى Xcode بنقرة واحدة. يكتشف مشروع Xcode النشط تلقائيًا، ويترجم ملفات .strings و .xcstrings و .stringsdict، ويكتبها في مجلدات .lproj الصحيحة. يرفع الترجمات الحالية كذاكرة ترجمة لنتائج متسقة عبر مشروعك.

يكتشف مشروع Xcode النشط تلقائيًا عبر AppleScript
Pull: يترجم الملفات ويكتبها في مجلدات .lproj الصحيحة
Push: يرفع الترجمات الحالية كذاكرة ترجمة
يعمل من شريط القوائم لديك، ويدعم .strings و .xcstrings و .stringsdict
عرض على GitHub

LocaleChain

في iOS فجوة معروفة: عندما تكون اللغة الإقليمية للمستخدم (مثل pt-BR) غير متاحة، يتخطى النظام مباشرةً إلى الإنجليزية بدلًا من تجربة لغة ذات صلة (مثل pt-PT). LocaleChain هي حزمة Swift تُصلح ذلك عبر سلاسل تراجع قابلة للتهيئة. سطر إعداد واحد، دون أي تغييرات على الشيفرة الحالية.

إعداد بسطر واحد: LocaleChain.configure()
يعمل بشفافية مع NSLocalizedString و SwiftUI Text و .stringsdict
سلاسل تراجع مضمّنة للبرتغالية والإسبانية والفرنسية والألمانية وغيرها
يُثبَّت عبر Swift Package Manager، مرخّص بموجب MIT
عرض على GitHub

كيف يعمل

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

لا نسخ ولصق يدوياً. لا استخراج للسلاسل. فقط ملفات مترجمة.

جرّب i18n Agent الآن

أفلت ملف الترجمة هنا

JSON, YAML, PO, XML, CSV, Markdown, Properties

أو انقر للاستعراض

اللغات المستهدفة

لا حاجة إلى التسجيلتقدير فوري

الأسئلة الشائعة

هل أنت مطوّر؟

ثبّت أداة CLI وترجِم ملفك الأول خلال دقيقتين.

تثبيت أداة CLI

هل لديك فريق مؤسسي؟

هل ما زلت عالقاً في عقد TMS؟ لنتحدث عن الترحيل.