Lingo.dev + .json (Vue.js)
تقوم واجهة سطر أوامر Lingo.dev بترجمة ملفات Vue.js i18n JSON مع الحفاظ على تنسيق الرسائل وصيغة الاستيفاء والاصطلاحات الخاصة بـ Vue. تعمل واجهة سطر الأوامر بسلاسة مع مكتبة vue-i18n، وتحافظ على جميع تنسيقات رسائل Vue، وتحافظ على العناصر النائبة مثل {name}
، وتتعامل بشكل صحيح مع ربط الرسائل بصيغة @:
، وتحافظ على العناصر النائبة لاستيفاء المكونات.
الإعداد السريع
التكوين لملفات اللغات المحلية Vue.js i18n:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"vue-json": {
"include": ["src/locales/[locale].json"]
}
}
}
تذكير: [locale]
هو عنصر نائب يجب أن يبقى في التكوين حرفيًا، حيث يتم استبداله باللغة المحلية الفعلية أثناء تشغيل واجهة سطر الأوامر.
ترجمة ملفات Vue i18n
npx lingo.dev@latest i18n
يحافظ على تنسيق رسائل Vue.js، والعناصر النائبة للاستيفاء، وصيغة vue-i18n المحددة.
ميزات Vue i18n
استيفاء الرسائل
{
"message": {
"hello": "Hello {name}!",
"welcome": "Welcome {name}, you have {count} messages"
}
}
قواعد الجمع
{
"car": "car | cars",
"apple": "no apples | one apple | {count} apples"
}
الرسائل المرتبطة
{
"common": {
"name": "Application Name"
},
"welcome": "Welcome to @:common.name"
}
يتم الحفاظ على صيغة ربط رسائل Vue @:
.
ميزات Vue المتقدمة
دعم رسائل HTML
{
"message": {
"title": "Welcome to <strong>our platform</strong>",
"link": "Visit our <a href='/help'>help center</a>"
}
}
استيفاء المكونات
{
"message": {
"terms": "I agree to {0}terms of service{/0} and {1}privacy policy{/1}"
}
}
تبقى صيغة العناصر النائبة لاستيفاء المكونات سليمة.
تنسيق التاريخ والوقت والأرقام
{
"datetime": {
"short": "{value}",
"long": "{value}"
},
"number": {
"currency": "{value}"
}
}
التكوين المتقدم
دلائل اللغات المتعددة
"vue-json": {
"include": [
"src/locales/[locale].json",
"src/i18n/[locale]/*.json"
]
}
قفل المفاتيح الخاصة بـ Vue
"vue-json": {
"include": ["src/locales/[locale].json"],
"lockedKeys": ["$vuetify", "dateTimeFormats", "numberFormats"]
}