2010-12-29 15 views
6

मैं अपने Django परियोजना का अनुवाद करने के लिए एक रास्ता तलाश रहा हूँ। Django के साथ प्रदान की गई तंत्र में निर्मित बहुत अच्छा है, लेकिन इसमें कई कमजोर बिंदु हैं जो मुझे एक विकल्प की तलाश में लाते हैं।Django i18n: क्या कोई गेटटेक्स्ट विकल्प है?

प्रोजेक्ट स्वामी अंग्रेजी (मूल अनुवाद) सहित प्रत्येक अनुवाद को संपादित करने में सक्षम होना चाहिए। गेटटेक्स्ट के साथ Pootle जैसे टूल के साथ अनुवाद संपादित करना संभव है, लेकिन मूल स्ट्रिंग्स फ़ाइल स्रोतों या टेम्पलेट्स के अंदर हार्डकोडेड रहती हैं। ऐसा कोई तरीका नहीं है कि उत्पाद स्वामी उन्हें बदल सके।

संभव समाधान इस तरह, gettext कुछ अद्वितीय पहचानकर्ता का अनुवाद करने के लिए, और सिर्फ अंग्रेजी सहित सभी भाषाओं में उन्हें अनुवाद है:

_('form_sumbit_button') 

लेकिन इस pootle अनुवादकों के लिए उपयोग करने के लिए लगभग असंभव जैसे उपकरणों बनाता है।

प्रश्न: क्या Django परियोजना अनुवाद के लिए कोई उपकरण हैं जो मेरी आवश्यकताओं के अनुरूप हो सकता है?

उत्तर

1

आप पुटल को कस्टमाइज़ करना आसान बनाने के आधार पर _ ("message_id") दृष्टिकोण के साथ पुटल का उपयोग करने में सक्षम हो सकते हैं (मुझे आंतरिक नहीं पता है इसलिए मैं नहीं कह सकता, लेकिन IIUC यह Django का उपयोग करता है टेम्पलेट परिवर्तन आमतौर पर सीधा होते हैं)।

उदाहरण के लिए, पुटल की अनुवाद स्क्रीन में "मूल" और "अनुवाद" अनुभाग होते हैं; आप शायद "मूल" खंड के तहत टेम्पलेट को अनुकूलित कर सकते हैं, एक "संदर्भ" खंड जो एक विशिष्ट संदर्भ भाषा (उदा। अंग्रेजी) का उपयोग करके कुछ कैनोलिक अनुवाद प्रदर्शित करता है।

या आप पुटल को अनुकूलित करने की आवश्यकता के बिना, Pootle की alternative source language कार्यक्षमता का उपयोग करने में सक्षम हो सकते हैं। आप एक अप्रयुक्त भाषा कोड (या एक निर्मित एक) का उपयोग कर अनुवाद के कैनोलिक संस्करणों को स्टोर कर सकते हैं।

2

यदि आप कुछ संदेश आईडी का उपयोग करते हैं, तो वे या तो समझ में नहीं आएंगे ("message_2215") या आपको संदेश संदेशों को वास्तविक संदेशों ("कृपया कोई भी कुंजी दबाएं" = "कृपया_प्रेस_any_की" => " जारी रखने के लिए कोई भी कुंजी "=" any_key_to_continue ")। किसी भी तरह से, प्रोग्रामर और टूल्स के लिए वास्तविक तार बेहतर होते हैं।

  1. एक अंग्रेजी बनाएँ "अनुवाद" फ़ाइल (हाँ, यह काम करता है)
  2. अपने proof- करते हैं:

    हालांकि, अगर आप अपने तार के लिए एक अलग प्रमाण-रीडर को रोजगार, आप निम्न कर सकते पूटल या किसी अन्य उपकरण का उपयोग करके अंग्रेजी से अंग्रेजी में पाठक "अनुवाद"

  3. सुनिश्चित करें कि आपके प्रोग्रामर उस अनुवाद फ़ाइल को कोड में स्ट्रिंग अपडेट करके अप्रतिबंधित रखते हैं।
  4. (वैकल्पिक) अपने मुख्य कोड से स्वतंत्र रूप से अनुवादों को तैनात करने का एक तरीका बनाएं ताकि आप एक टाइपो को तुरंत ठीक कर सकें।
0

मैं अपने ही समस्या थी और मैं किसी भी तीसरे पक्ष समाधान स्थापित नहीं किया है तो मैं इस पुस्तकालय ने लिखा है: https://github.com/fabiocaccamo/django-kway

आशा है कि किसी को Wil इसे उपयोगी पाया।

0

गेटटेक्स्ट के साथ पहचानकर्ताओं का उपयोग करना निश्चित रूप से संभव है और ऐसे उपकरण हैं जो इसका समर्थन करते हैं। हालांकि कुछ अनुवादकों के लिए यह असामान्य हो सकता है क्योंकि इन्हें ऑफ़लाइन अनुवाद के लिए केवल .po फ़ाइल डाउनलोड करने के लिए उपयोग किया जाता है, जो मोनोलिंगुअल अनुवादों के साथ काम नहीं करता है।https://docs.weblate.org/en/latest/formats.html#monolingual-gettext

:

उदाहरण Weblate के लिए एकल-gettext ठीक फ़ाइलों का समर्थन करता (मैं इस उपकरण के लेखक हूँ)

संबंधित मुद्दे