Auto-I18n: أداة ترجمة متعددة اللغات التلقائي باستخدام ChatGpt
Auto-I18N هي أداة تترجم تلقائيًا ملفات Markdown إلى متعدد اللغات باستخدام chatgpt. وهو ينفذ الأتمتة الكاملة لمدونة منشور I18N (التدويل). تحتاج فقط إلى دفع منشور المدونة الخاص بك إلى مستودع GitHub الخاص بك للترجمة تلقائيًا إلى لغات متعددة مع إجراءات github. (يتم دعم اللغة الإنجليزية والإسبانية والعربية حاليًا ، وسيتم توفير المزيد من الدعم اللغوي في المستقبل)
الميزات الرئيسية لـ Auto-I18n:
- ترجمة متعددة اللغات : توفر Auto-I18N وظيفة ترجمة الدُفعات ، مما يتيح لك ترجمة جميع مستندات التخفيض في مسار كامل إلى لغات متعددة اللغات في وقت واحد ، مما يحسن بشكل كبير من كفاءة المشاريع متعددة اللغات.
- متوافق مع المادة الأمامية : Auto-I18N متوافق مع بناء جملة Morkdown Front Matter ، يمكنك تخصيص قواعد الترجمة أو الاستبدال لحقول مختلفة.
- استبدال المحتوى الثابت : يدعم Auto-I18N أيضًا استبدال المحتوى الثابت. إذا كنت تريد أن تظل ترجمة بعض الحقول المكررة في المستند لم تتغير ، فيمكن أن تساعدك هذه الميزة على تحقيق وثائق متسقة.
- سير العمل الآلي : يمكنك استخدام إجراءات GitHub لتنفيذ عملية ترجمة آلية. بدون تدخل يدوي ، ستستمر أعمال الترجمة تلقائيًا وتحديث المستندات ، مما يتيح لك التركيز أكثر على المحتوى.
ابدأ بسرعة
- استنساخ المستودع محليًا ، إعادة تسمية
env_template.py إلى env.py وتوفير واجهة برمجة تطبيقات chatgpt الخاصة بك. إذا لم يكن لديك واجهة برمجة التطبيقات الخاصة بك ، فيمكنك التقدم بطلب للحصول على واحدة مجانية في gpt_api_free ؛ يمكنك أيضًا استخدام GO-CHATGPT-API لتحويل إصدار الويب من ChatGPT إلى API للاستخدام. - تثبيت الوحدات النمطية المطلوبة:
pip install -r requirements.txt . - قم بتشغيل أمر
python auto-translater.py لتشغيل البرنامج ، والذي سيعالج تلقائيًا جميع ملفات Markdown في دليل الاختبار testdir/to-translate ، وترجمته الدفعة إلى اللغة الإنجليزية والإسبانية والعربية. (سيتم توفير المزيد من دعم اللغة في المستقبل)
وصف مفصل
المنطق الجاري للبرنامج auto-translater.py كما يلي:
- سيقوم البرنامج تلقائيًا بمعالجة جميع ملفات Markdown في دليل الاختبار
testdir/to-translate . يمكنك استبعاد الملفات التي لا تحتاج إلى ترجمة في متغير exclude_list . - سيتم تسجيل اسم الملف المعالج في
processed_list.txt التي تم إنشاؤها تلقائيًا. لن يتم ترجمة الملفات المصنعة مرة أخرى في المرة القادمة التي يتم فيها تشغيل البرنامج. - بالنسبة للمقالات المكتوبة أصلاً باللغة الإنجليزية ، لن يتم إعادة النقل إلى اللغة الإنجليزية ، ولن يتم ترجمته إلى الصينية ، ولكن سيتم ترجمته إلى لغات أخرى. تحتاج إلى إضافة حقول في المقالة
> This post was originally written in English. (لاحظ أن هناك خطًا فارغًا في كل أعلى وأقل) ليتعرفه البرنامج. يرجى الرجوع إلى اختبار article_en.md. - إذا كنت بحاجة إلى إعادة نقل المقالة المحددة (على سبيل المثال ، تكون نتائج الترجمة غير دقيقة ، أو تم تغيير محتوى المقالة ، وما إلى ذلك) ، يمكنك إضافة حقل
[translate] إلى المقالة (تحتاج أيضًا إلى ترك سطر فارغ في الأعلى والأسفل). سيتجاهل هذا قواعد exclude_list و processed_list ومعالجة ترجمة القوة. يرجى الرجوع إلى اختبار article_force-mark.md. - إذا كان ملف Markdown يحتوي على المادة الأمامية ، فسيتم تحديد طريقة المعالجة التالية وفقًا للقواعد الواردة في البرنامج
front_matter_translation_rules :- الترجمة التلقائية: ترجمتها ChatGPT. ينطبق على عنوان المقالة أو وصف المقالة.
- استبدال الحقل الثابت: ينطبق على حقول الفئة أو الملصقات. على سبيل المثال ، إذا كان اسم التسمية الصيني نفسه لا يريد ترجمة إلى ملصقات إنجليزية مختلفة ، فإنه يتسبب في أخطاء الفهرس.
- لا يتم إجراء أي معالجة: إذا لم يظهر الحقل في قاعدتي أعلاه ، فسيتم الاحتفاظ بالنص الأصلي ولن يتم إجراء أي معالجة. ينطبق حتى الآن ، عنوان URL ، إلخ.
دليل أتمتة إجراءات Github
يمكنك إنشاء .github/workflows/ci.yml ضمن مستودع مشروعك. عند اكتشاف مستودع GitHub ، يمكنك استخدام إجراءات GitHub لترجمة ومعالجتها تلقائيًا والالتزام تلقائيًا بالمستودع الأصلي.
يمكن الرجوع إلى محتوى ci.yml كقالب: ci_template.yml
تحتاج إلى إضافة أسرار في Settings المستودع - Secrets and variables - Repository secrets : CHATGPT_API_BASE و CHATGPT_API_KEY ، والتعليق على عبارة import env في البرنامج auto-translater.py .
خطأ استكشاف الأخطاء وإصلاحها
- إذا كنت بحاجة إلى التحقق من توفر مفتاح atgpt API ، فيمكنك استخدام البرنامج VERIFY-API-key.py لاختباره. إذا كنت تستخدم واجهة برمجة التطبيقات الرسمية في البلاد ، فأنت بحاجة إلى وكيل محلي.
- إذا كان لا يمكن التعرف على المادة الأمامية في Markdown بشكل طبيعي ، فيمكنك استخدام البرنامج detect_front_matter.py للاختبار.
- عندما تواجه مشكلات باستخدام إجراءات github ، حدد الأولوية للتحقق من أن مرجع المسار صحيح (على سبيل المثال ،
dir_to_translate dir_translated_en dir_translated_es dir_translated_ar processed_list ).
مشاكل يجب حلها
- في بعض الظروف الخاصة ، قد تكون الترجمة غير دقيقة أو لم يتم ترجمة بعض الحقول. يوصى بالتحقق من المقالة يدويًا بعد الترجمة.
- (حل)
إذا تم تضمين المادة الأمامية في Markdown ، فسيتم الاحتفاظ بالمحتوى الأصلي للمادة الأمامية. المادة الأمامية بعض وظائف ترجمة المعلمة قيد التطوير.
يساهم
مرحبًا بك في المشاركة في تحسين هذا المشروع! إذا كنت ترغب في المساهمة في الكود أو الإبلاغ عن الأسئلة أو تقديم اقتراحات ، تحقق من دليل المساهمة.
حقوق الطبع والنشر والترخيص
هذا المشروع يتبنى ترخيص معهد ماساتشوستس للتكنولوجيا.
الأسئلة والدعم
إذا واجهت أي مشاكل مع Auto-I18N أو تحتاج إلى دعم فني ، فلا تتردد في تقديم المشكلة.
تستخدم مدونتي Auto-I18N لتنفيذ الدعم متعدد اللغات ، ويمكنك الذهاب إلى Wiki في Power لعرض التأثيرات التجريبية.
شكر وتقدير
- بفضل chatanywhere/gpt_api_free لمفتاح atgpt API المجاني.
- بفضل Linweiyuan/Go-Chatgpt-API على طريقة تحويل ChatGPT إلى API على الويب.