إضافة لغات
تجعل واجهة سطر أوامر Lingo.dev توسيع مشروعك إلى لغات جديدة أمرًا بسيطًا من خلال إضافة لغات مستهدفة إلى تكوين i18n.json
الخاص بك وتشغيل أمر واحد فقط.
عند إضافة لغات جديدة، تقوم واجهة سطر الأوامر بإنشاء ملفات ترجمة كاملة للغات الجديدة مع الحفاظ على جميع الترجمات الموجودة والحفاظ على نفس نظام بصمة المحتوى.
إضافة لغتك الجديدة الأولى
لإضافة لغة جديدة، قم بتحديث مصفوفة targets
في تكوين i18n.json
الخاص بك:
التكوين الأصلي:
{
"locale": {
"source": "en",
"targets": ["es", "fr"]
},
"buckets": {
"json": {
"include": ["locales/[locale].json"]
}
}
}
التكوين المحدث مع الألمانية:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"json": {
"include": ["locales/[locale].json"]
}
}
}
تشغيل npx lingo.dev@latest i18n
ينشئ ملف الترجمة الألماني الجديد:
locales/
en.json (المصدر - لم يتغير)
es.json (موجود - لم يتغير)
fr.json (موجود - لم يتغير)
de.json (جديد - مترجم بالكامل)
كيفية عمل إنشاء اللغة الجديدة
تتعامل واجهة سطر أوامر Lingo.dev مع اللغات الجديدة بشكل مختلف عن اللغات الموجودة:
- اللغات الموجودة — يتم إنشاء الترجمات المفقودة فقط
- اللغات الجديدة — يتم إنشاء ملفات ترجمة كاملة من الصفر
مثال مع ترجمات موجودة جزئية:
// locales/en.json (المصدر)
{
"welcome": "Welcome",
"button.save": "Save",
"error.network": "Network error"
}
// locales/es.json (موجود مع ترجمات مفقودة)
{
"welcome": "Bienvenido"
}
بعد إضافة الألمانية وتشغيل واجهة سطر الأوامر:
// locales/es.json (تم ملء الفجوات)
{
"welcome": "Bienvenido",
"button.save": "Guardar",
"error.network": "Error de red"
}
// locales/de.json (ملف جديد كامل)
{
"welcome": "Willkommen",
"button.save": "Speichern",
"error.network": "Netzwerkfehler"
}
إضافة لغات متعددة
يمكنك إضافة لغات متعددة في وقت واحد:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja", "zh"]
}
}
تقوم واجهة سطر الأوامر بمعالجة جميع اللغات الجديدة، وإنشاء ملفات ترجمة كاملة لكل لغة جديدة.
المتغيرات الإقليمية
تدعم واجهة سطر أوامر Lingo.dev المتغيرات الإقليمية للغات باستخدام علامات لغة BCP 47:
{
"locale": {
"source": "en-US",
"targets": ["en-GB", "es-ES", "es-MX", "fr-FR", "fr-CA"]
}
}
هذا ينشئ ملفات ترجمة مميزة لكل متغير إقليمي، مع مراعاة الاختلافات في المصطلحات والإملاء والسياق الثقافي.
تأثير هيكل الملفات
تنشئ واجهة سطر الأوامر ملفات جديدة تتبع أنماط الحاويات الخاصة بك. بالنسبة لتنسيقات الملفات المختلفة:
حاويات JSON:
locales/[locale].json → locales/de.json, locales/ja.json
حاويات Markdown:
content/[locale]/*.md → content/de/*.md, content/ja/*.md
الهياكل المتداخلة:
app/[locale]/messages.json → app/de/messages.json, app/ja/messages.json
إضافة لغة مستهدفة
يمكنك إنشاء ترجمات للغات جديدة محددة باستخدام علامة --locale
:
npx lingo.dev@latest i18n --locale de
هذا ينشئ ترجمات اللغة الألمانية فقط، تاركًا اللغات الجديدة الأخرى لمعالجتها لاحقًا.
إزالة اللغة
لإزالة لغة، ما عليك سوى إزالتها من مصفوفة targets
. لن تقوم واجهة سطر الأوامر بحذف الملفات الموجودة، ولكنها ستتوقف عن معالجة تلك اللغة المحلية:
{
"locale": {
"source": "en",
"targets": ["es", "fr"]
}
}
يمكنك حذف ملفات الترجمة المقابلة يدويًا إذا لزم الأمر.