Lingo.dev + .arb (فلاتر)
تقوم واجهة سطر أوامر Lingo.dev بترجمة ملفات حزمة موارد تطبيق فلاتر (ARB) مع الحفاظ على البيانات الوصفية وتعريفات العناصر النائبة واتفاقيات l10n الخاصة بفلاتر. تعمل واجهة سطر الأوامر بسلاسة مع flutter gen-l10n
، وتحافظ على تعريفات أنواع العناصر النائبة للإكمال التلقائي في بيئة التطوير المتكاملة، وتحافظ على سياق المطور والتوثيق، وتتبع معايير مواصفات ARB بدقة.
الإعداد السريع
التكوين لبنية ملف ARB القياسية لفلاتر:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"flutter": {
"include": ["lib/l10n/app_[locale].arb"]
}
}
}
تذكير: [locale]
هو عنصر نائب يجب أن يبقى في التكوين حرفيًا، حيث يتم استبداله باللغة الفعلية أثناء تشغيل واجهة سطر الأوامر.
ترجمة ملفات ARB
npx lingo.dev@latest i18n
يحافظ على البيانات الوصفية لـ ARB وتعريفات العناصر النائبة والتنسيق الخاص بفلاتر أثناء ترجمة المحتوى.
ميزات فلاتر ARB
العناصر النائبة مع الأنواع
{
"welcomeMessage": "Hello {name}, you have {count} messages",
"@welcomeMessage": {
"description": "Welcome message with user name and count",
"placeholders": {
"name": {
"type": "String"
},
"count": {
"type": "int"
}
}
}
}
صيغ الجمع
{
"itemCount": "{count, plural, =0{no items} =1{one item} other{{count} items}}",
"@itemCount": {
"description": "Number of items",
"placeholders": {
"count": {
"type": "int"
}
}
}
}
الحفاظ على البيانات الوصفية
تبقى البيانات الوصفية لـ ARB (إدخالات @key
) دون ترجمة:
- الأوصاف: يتم الحفاظ على سياق المطور
- العناصر النائبة: يتم الحفاظ على تعريفات الأنواع
- الأمثلة: يتم الاحتفاظ بأمثلة الاستخدام
- السمات المخصصة: يتم الحفاظ على أي بيانات وصفية إضافية
التكوين المتقدم
ملفات ARB متعددة
"flutter": {
"include": [
"lib/l10n/app_[locale].arb",
"lib/l10n/errors_[locale].arb"
]
}
قفل مفاتيح البيانات الوصفية
"flutter": {
"include": ["lib/l10n/app_[locale].arb"],
"lockedKeys": ["@@locale", "@@last_modified"]
}