मेरी models.py
फ़ाइल में मैं इस तरह के मॉडल पर एक फ़ील्ड परिभाषित करता हूं:
description = models.CharField(
max_length=40,
default=_('Bla bla bla'),
)
अब, _
django.utils.translation.ugettext
है, और मैं 'Bla bla bla'
के हिब्रू अनुवाद को डिफ़ॉल्ट मान के रूप में उपयोग करना चाहता हूं, जो 'בלה בלה בלה'
है। (वेबसाइट केवल हिब्रू में है।) संदेश फ़ाइल में स्ट्रिंग का ठीक से अनुवाद किया गया है। लेकिन जब मैं Django व्यवस्थापक चलाता हूं और एक नई वस्तु बनाता हूं, तो मुझे मैदान पर अंग्रेजी 'bla bla bla'
दिखाई देती है। मुझे लगता है कि models.py
मॉड्यूल को संकलित करते समय अंग्रेजी सक्रिय भाषा है। मैं इसे कैसे हल कर सकता हूं और इसे हिब्रू बना सकता हूं?
मुझे पता है कि एक समाधान ugettext
को छोड़ देना होगा और सिर्फ पायथन मॉड्यूल के अंदर हिब्रू लिखना होगा, लेकिन मैं इससे बचना पसंद करता हूं ताकि एन्कोडिंग नरक को रोका जा सके।
2 जवाब
कोशिश करें ugettext_lazy
https://docs.djangoproject.com/hi/1.3/topics/i18n/internationalization/#lazy-translation
Django मॉडल में हमेशा आलसी अनुवाद का उपयोग करें।
Ugettext केवल स्ट्रिंग्स को अनुवाद योग्य के रूप में चिह्नित करता है। यह आपके लिए कोई अनुवाद नहीं करता है। आपको भाषा फ़ाइलें (.mo और .po) बनानी होंगी और फिर LANGUAGE_CODE सेटिंग को मिलान करने के लिए सेट करना होगा। अधिक जानकारी के लिए अंतर्राष्ट्रीयकरण और स्थानीयकरण पर Django दस्तावेज़ पढ़ें।
संबंधित सवाल
नए सवाल
django
Django एक ओपन-सोर्स सर्वर-साइड वेब एप्लीकेशन फ्रेमवर्क है जिसे पायथन में लिखा गया है। यह कम कोड, विशेष-अतिरेक पर विशेष ध्यान देने और निहित से अधिक स्पष्ट होने के साथ जटिल डेटा-संचालित वेबसाइटों और वेब एप्लिकेशन बनाने के लिए आवश्यक प्रयास को कम करने के लिए डिज़ाइन किया गया है।