Django प्रलेखन से:का उपयोग settings.LANGUAGES
आप एक कस्टम
LANGUAGES
सेटिंग को परिभाषित है, यह (अनुवाद तारों के रूप में भाषाओं चिह्नित करने के लिए डिफ़ॉल्ट के रूप में ठीक है ऊपर प्रदर्शित मूल्य) - लेकिन एक "डमी"gettext()
फ़ंक्शन का उपयोग करें,django.utils.translation
में से एक नहीं। आप आयात करना चाहिए कभी नहींdjango.utils.translation
अपनी सेटिंग्स फ़ाइल के भीतर से, क्योंकि अपने आप में है कि मॉड्यूल सेटिंग्स पर निर्भर करता है, और है कि एक परिपत्र आयात का कारण होगा। समाधान एक "डमी"gettext()
फ़ंक्शन का उपयोग करें। यहां एक नमूना सेटिंग्स फ़ाइल है:इस व्यवस्था के साथ
gettext = lambda s: s LANGUAGES = (
('de', gettext('German')),
('en', gettext('English')),
)
,
django-admin.py makemessages
अभी भी खोजने के लिए और निशान अनुवाद के लिए इन तार, लेकिन अनुवाद रनटाइम पर नहीं होगा होगा - -LANGUAGES
का उपयोग करने वाले किसी भी कोड में वास्तविकgettext()
में भाषाओं को लपेटने के लिए आपको याद रखना होगा। चलने के समय पर।
असली gettext()
में भाषाओं को लपेटने का क्या अर्थ है? कोड में इसे कैसे कहा जाना चाहिए?
इस विधि बहुत stright आगे और समझा जा सकता है। लेकिन इस मामले में, सेटिंग्स में एक डमी रैपर का उपयोग करने का क्या मतलब है। LANGUAGES? चूंकि आपको कोड में हर पंक्ति को लपेटना है, फिर भी ट्यूटोरियल द्वारा सुझाए गए रैपर फ़ंक्शन का बिंदु क्या है। –
क्योंकि जब आप अपने स्रोत पेड़ (शायद ./manage.py makemessages के माध्यम से) gettext कमांडलाइन उपकरण चलाते हैं, तो आप चाहते हैं कि वे तारों को "अनुवाद की आवश्यकता" के रूप में पहचानें ताकि यह उन्हें आपकी पीओ फ़ाइल में जोड़ देगा। –