मेरे पास एक मौजूदा बहुभाषी Django ऐप है जो मैं Django 1.4 पर पोर्ट कर रहा हूं। I18n समर्थन वर्तमान में कुछ बदसूरत हैक्स पर आधारित है, मैं इसे Django के अंतर्निहित i18n मॉड्यूल का उपयोग करना चाहता हूं।डीजेगो i18n पथ उपसर्ग के बिना डिफ़ॉल्ट भाषा
एक बाधा है कि मैं यूआरएल उस जगह में पहले से ही कर रहे हैं बदलने के लिए नहीं करना चाहती है। यह साइट थोड़ी देर के लिए सक्रिय रही है और इसके लिए बाहरी लिंक हैं कि मैं 'तोड़ना या पुनर्निर्देशित करना नहीं चाहता हूं। यूआरएल योजना इस तरह काम करता है: अंग्रेजी सामग्री, साइट के रूट पर है, जबकि अन्य भाषाओं डोमेन नाम में उपसर्गों का उपयोग करें:
अंग्रेजी यूआरएल:
/
/articles/
/suggestions/
स्पेनिश यूआरएल:
/es/
/es/articulos/
/es/sugerencias/
मुझे अनुवादित पृष्ठ Django 1.4 के i18n मॉड्यूल के साथ काम कर रहे हैं, लेकिन वास्तव में, वास्तव में, वास्तव में, वास्तव में सभी अंग्रेजी यूआरएल/en/मैं अंग्रेजी संस्करण के लिए गैर अंतरराष्ट्रीयकरण यूआरएल को परिभाषित करने सहित कुछ भिन्न हैक्स, की कोशिश की है:
def build(callback):
return callback('',
url(_(r'^$'), home.index, name="home"),
url(_(r'^articles/$'), content.article_list, name='article_list'),
url(_(r'^suggestions/$'), suggestions.suggestions, name='suggestions'),
)
urlpatterns = build(patterns)
urlpatterns += build(i18n_patterns)
यह URL सही ढंग से हल करता है, लेकिन {% यूआरएल%} टैग रिवर्स संकल्प करने के लिए काम नहीं करता है ।
गैर-प्रीफ़िक्स्ड अंग्रेजी-भाषा यूआरएल को पूरा करने का सबसे अच्छा तरीका क्या है?
सिर्फ एक सवाल: अपने '_' गैर आलसी gettext के लिए संस्करण है? i.e. 'django.utils.translation आयात ugettext से _' –
नहीं, यह आलसी संस्करण है: django.utils.translation.ugettext_lazy –
क्या आप इसे गैर-आलसी संस्करण के साथ आज़मा सकते हैं और देख सकते हैं कि यह काम करता है या नहीं? –