Lingo.dev + مكونات Vue.js أحادية الملف
تدعم واجهة سطر الأوامر Lingo.dev مكونات Vue I18n أحادية الملف، مما يتيح لك الاحتفاظ بالترجمات داخل ملفات .vue
الخاصة بك.
ملاحظة: إذا كان تطبيق Vue.js الخاص بك يستخدم ملفات JSON للغات المحلية، استخدم تنسيق .json للواجهة الأمامية.
الإعداد السريع
قم بإنشاء ملف تكوين i18n.json
في جذر مشروعك:
{
"version": 1,
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"vue-json": {
"include": ["src/**/*.vue"]
}
}
}
يحدد هذا التكوين اللغة الإنجليزية كلغة المصدر، ويستهدف الإسبانية والفرنسية والألمانية، ويعالج جميع ملفات .vue
في دليل src
.
البحث عن اللغات المدعومة
قائمة لغات المصدر والهدف المتاحة:
npx lingo.dev@latest show locale sources
npx lingo.dev@latest show locale targets
ترجمة كل شيء
قم بتشغيل الأمر التالي لترجمة جميع مكونات Vue:
npx lingo.dev@latest i18n
تقوم واجهة سطر الأوامر بفحص مكوناتك بحثًا عن كتل <i18n>
، وترجمة المحتوى الجديد أو المتغير، وتحديث الترجمات في مكانها.
كيف يعمل مع مكونات Vue
يعمل Lingo.dev مباشرة مع بنية i18n القياسية لـ Vue:
<template>
<div>
<h1>{{ $t("welcome") }}</h1>
<p>{{ $t("description") }}</p>
</div>
</template>
<i18n>
{
"en": {
"welcome": "Welcome",
"description": "This is a Vue component"
}
}
</i18n>
بعد الترجمة، سيحتوي المكون الخاص بك على جميع اللغات المستهدفة:
<i18n>
{
"en": {
"welcome": "Welcome",
"description": "This is a Vue component"
},
"es": {
"welcome": "Bienvenido",
"description": "Este es un componente Vue"
},
"fr": {
"welcome": "Bienvenue",
"description": "Ceci est un composant Vue"
}
}
</i18n>
التكوين المتقدم
استبعاد الملفات
استبعاد مكونات محددة من الترجمة:
"vue-json": {
"include": ["src/**/*.vue"],
"exclude": ["src/components/NoTranslate.vue"]
}
الترجمة الهجينة
دمج الترجمات القائمة على المكونات والترجمات القائمة على الملفات:
"buckets": {
"vue-json": {
"include": ["src/**/*.vue"]
},
"json": {
"include": ["src/locales/[locale].json"]
}
}
يحافظ هذا الإعداد على الترجمات الخاصة بالمكونات داخل المكونات نفسها ويخزن الترجمات العامة في ملفات JSON منفصلة.
لماذا نستخدم هذا النهج
- يحتفظ بالترجمات مع المكونات التي تستخدمها
- لا حاجة لاستخراج النصوص إلى ملفات منفصلة
- الذكاء الاصطناعي يفهم سياق المكون لترجمات أفضل
- يترجم فقط ما تم تغييره
- يعمل مع الأنماط الموصى بها في Vue I18n
توفر Lingo.dev ترجمات مدعومة بالذكاء الاصطناعي مع الحفاظ على البنية المعمارية القائمة على المكونات في Vue.