CSV
ترجمة ملفات CSV بالذكاء الاصطناعي باستخدام واجهة سطر أوامر Lingo.dev
ما هو CSV؟
CSV (القيم المفصولة بفواصل) هو تنسيق ملف نصي بسيط يخزن البيانات الجدولية، حيث يمثل كل سطر صفًا والقيم داخل كل صف مفصولة بفواصل.
على سبيل المثال:
KEY,en
welcome_message,Welcome to our application
button_save,Save
error_invalid_email,Please enter a valid email address
ما هي واجهة سطر أوامر Lingo.dev؟
واجهة سطر أوامر Lingo.dev هي واجهة سطر أوامر مجانية ومفتوحة المصدر لترجمة التطبيقات والمحتوى باستخدام الذكاء الاصطناعي. تم تصميمها لتحل محل برامج إدارة الترجمة التقليدية مع التكامل مع خطوط الإنتاج الحالية.
لمعرفة المزيد، راجع نظرة عامة.
حول هذا الدليل
يشرح هذا الدليل كيفية ترجمة ملفات CSV باستخدام واجهة سطر أوامر Lingo.dev.
ستتعلم كيفية:
- إنشاء مشروع من الصفر
- تكوين خط إنتاج الترجمة
- إنشاء ترجمات باستخدام الذكاء الاصطناعي
المتطلبات الأساسية
لاستخدام واجهة سطر أوامر Lingo.dev، تأكد من تثبيت Node.js الإصدار 18 أو أحدث:
❯ node -v
v22.17.0
الخطوة 1. إعداد مشروع
في دليل مشروعك، قم بإنشاء ملف i18n.json:
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.10",
"locale": {
"source": "en",
"targets": ["es"]
},
"buckets": {}
}
يحدد هذا الملف سلوك خط إنتاج الترجمة، بما في ذلك اللغات التي سيتم الترجمة بينها وأين يوجد المحتوى القابل للترجمة في نظام الملفات.
لمعرفة المزيد حول الخصائص المتاحة، راجع i18n.json.
الخطوة 2. تكوين اللغة المصدر
اللغة المصدر هي اللغة والمنطقة الأصلية التي تمت كتابة المحتوى الخاص بك بها. لتكوين اللغة المصدر، قم بتعيين خاصية locale.source في ملف i18n.json:
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.10",
"locale": {
"source": "en",
"targets": ["es"]
},
"buckets": {}
}
يجب توفير اللغة المصدر كـ علامة لغة BCP 47.
للحصول على القائمة الكاملة لرموز اللغات التي تدعمها واجهة سطر أوامر Lingo.dev، راجع رموز اللغات المدعومة.
الخطوة 3. تكوين اللغات المستهدفة
تعتبر اللغات المستهدفة هي اللغات والمناطق التي ترغب في ترجمة المحتوى الخاص بك إليها. لتكوين اللغات المستهدفة، قم بتعيين خاصية locale.targets في ملف i18n.json:
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.10",
"locale": {
"source": "en",
"targets": ["es"]
},
"buckets": {}
}
الخطوة 4. إنشاء المحتوى المصدر
إذا لم تقم بذلك بالفعل، قم بإنشاء ملف CSV يحتوي على المحتوى المراد ترجمته.
في حالة ملفات CSV، تنطبق المتطلبات التالية:
- يجب تسمية العمود الأول "KEY".
- يجب أن يحدد كل صف في عمود "KEY" معرفات فريدة لرسائل الترجمة.
- يجب أن يكون العمود الثاني مساويًا للغة المصدر المحددة في ملف
i18n.json. - يجب أن يحتوي كل صف في العمود الثاني على المحتوى الذي سيتم ترجمته.
ملاحظة: أثناء عملية الترجمة، سيتم إعادة كتابة ملفات المحتوى المصدر لتشمل المحتوى المترجم (بالإضافة إلى المحتوى المصدر).
الخطوة 5. إنشاء حاوية
-
في ملف
i18n.json، أضف كائن"csv"إلى كائنbuckets:{ "$schema": "https://lingo.dev/schema/i18n.json", "version": "1.10", "locale": { "source": "en", "targets": ["es"] }, "buckets": { "csv": {} } } -
في كائن
"csv"، حدد مصفوفة تحتوي على نمطincludeواحد أو أكثر:{ "$schema": "https://lingo.dev/schema/i18n.json", "version": "1.10", "locale": { "source": "en", "targets": ["es"] }, "buckets": { "csv": { "include": ["./example.csv"] } } }تحدد هذه الأنماط الملفات التي سيتم ترجمتها ويمكن إما:
- الإشارة إلى مسارات ملفات محددة (مثل
"some/dir/file.csv") - استخدام علامات النجمة كعلامات بديلة (مثل
"some/dir/*.csv")
أنماط glob المتكررة (مثل
**/*.csv) غير مدعومة. - الإشارة إلى مسارات ملفات محددة (مثل
الخطوة 6. تكوين نموذج لغوي كبير (LLM)
تستخدم واجهة سطر أوامر Lingo.dev نماذج اللغة الكبيرة (LLMs) لترجمة المحتوى باستخدام الذكاء الاصطناعي. لاستخدام أحد هذه النماذج، تحتاج إلى مفتاح API من مزود مدعوم.
للبدء بأسرع وقت ممكن، نوصي باستخدام محرك Lingo.dev — منصتنا المستضافة التي توفر 10,000 رمز من الاستخدام المجاني الشهري:
-
قم بتشغيل الأمر التالي:
npx lingo.dev@latest loginسيؤدي هذا إلى فتح متصفحك الافتراضي ويطلب منك المصادقة.
-
اتبع التعليمات.
الخطوة 7. إنشاء الترجمات
في الدليل الذي يحتوي على ملف i18n.json، قم بتشغيل الأمر التالي:
npx lingo.dev@latest run
هذا الأمر:
- يقرأ ملف
i18n.json. - يجد الملفات التي تحتاج إلى ترجمة.
- يستخرج المحتوى القابل للترجمة من الملفات.
- يستخدم نموذج اللغة الكبير (LLM) المكوّن لترجمة المحتوى المستخرج.
- يكتب المحتوى المترجم مرة أخرى إلى نظام الملفات.
عند إنشاء الترجمات لأول مرة، يتم إنشاء ملف i18n.lock. يحتفظ هذا الملف بسجل للمحتوى الذي تمت ترجمته، مما يمنع إعادة الترجمة غير الضرورية في عمليات التشغيل اللاحقة.
مثال
example.csv (قبل الترجمة)
KEY,en
welcome_message,Welcome to our application
button_save,Save
error_invalid_email,Please enter a valid email address
product_name,Premium Widget
empty_row_key,
whitespace_only,
new_feature,This is a new feature
example.csv (بعد الترجمة)
KEY,en,es
welcome_message,Welcome to our application,Bienvenido a nuestra aplicación
button_save,Save,Guardar
error_invalid_email,Please enter a valid email address,"Por favor, introduce una dirección de correo electrónico válida"
product_name,Premium Widget,Widget Premium
empty_row_key,,
whitespace_only, ,
new_feature,This is a new feature,Esta es una nueva función
i18n.json
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.10",
"locale": {
"source": "en",
"targets": ["es"]
},
"buckets": {
"csv": {
"include": ["./example.csv"]
}
}
}
i18n.lock
version: 1
checksums:
e8b273672f895de0944f0a2317670d7c:
welcome_message: 1308168cca4fa5d8d7a0cf24e55e93fc
button_save: f7a2929f33bc420195e59ac5a8bcd454
error_invalid_email: 8de4bc8832b11b380bc4cbcedc16e48b
product_name: d3d99b147cc363dc6db8a48e8a13d4c1
new_feature: 7cd986af1fe5e89abe7ecffba5413110
d0f33bd41270762260010c4723a564f5:
welcome_message: 1308168cca4fa5d8d7a0cf24e55e93fc
button_save: f7a2929f33bc420195e59ac5a8bcd454
error_invalid_email: 8de4bc8832b11b380bc4cbcedc16e48b
product_name: d3d99b147cc363dc6db8a48e8a13d4c1
new_feature: 7cd986af1fe5e89abe7ecffba5413110