هل هناك أي طريقة لتوليد ملف CSV توطين الإعصار مثل Django Makemessage؟
-
29-09-2019 - |
سؤال
يمكن لـ Django Makemessage إنشاء ملفات I18N ، ويجعل الترجمة أسهل.
كما أرى ، يدعم Tornado تنسيق CSV وتنسيق GetText ، لكن لا يمكنني استخدام إصدار CSV إلا ، لأنني سأستخدمه في AppEngine.
لذلك ، أبحث عن طريقة لإنشاء ملفات CSV لقاعدة Tornado على مسح الرموز والقوالب الخاصة بي.
المحلول
حسنًا ، أعتقد أنك مرتبك بعض الشيء. أنت يستطيع استخدم ملفات GetText و PO/MO من داخل Appengine ، حيث يتم تصدير GetText من تطبيق google django.util (يمكن العثور على مناقشة حول هذا في google-appengine google Group) :
from django.utils.translation import gettext as _
لست على دراية بتنسيق i18n من AppEngine CSV ، ولكن هناك طريقة سهلة للغاية لاستخراج السلاسل الدولية من رمز Tornado باستخدام قوالب باستخدام Tornado باستخدام XgetText, ، فقط بشكل أساسي يجبر بيثون من سطر الأوامر. كمثال:
xgettext -L Python -o myproject.pot *.html
سيحصل هذا الأمر على جميع الأوتار I18N'ed من *.html في دليلك الحالي وسيضعها على myProject.pot. يمكنك تهيئة هذا الملف والترجمة إلى Let's say ./it_it/myproject.po باستخدام أي أداة تجارية أو OpenSource (أوصي Poedit أو pootle) وبمجرد ترجمة جميع الأوتار ، يمكنك تحويل الملف إلى CVS باستخدام ترجمة مجموعة الأدوات PO2CSV, ، وهو مكتوب أيضًا في بيثون:
po2csv -i it_IT/myproject.po -o it_IT/myproject.csv
التنسيق هو location:codeLine,source,target
وهو أمر سهل للغاية سهل التحويل إلى أي تنسيق آخر تحتاجه (لست على دراية بتنسيق CSV من Appengine I18N) ، يمكنك استدعاء PO2CSV مع NO -O وسيطة من الإخراج من stdout.
لا أعرف ما إذا كان ذلك يحل سؤالك ، لكن في الأساس أعتقد أنه يجب عليك تبني رمز- اعمل مع ذكريات الترجمة/مبيدات الإملائية ، إلخ .... حاول إخباري إذا كنت بحاجة إلى المزيد من المساعدة في ذلك.
نصائح أخرى
لقد كتبت وحدة جديدة للهدف المسمى تورنادو-بابيل والذي يتضمن مستخرجًا لبابل لاستخراج السلاسل القابلة للترجمة من قوالب Tornado. لن ينشئ ملف CSV لك ، ولكن ملفات الوعاء القياسية.