2011-03-27 16 views
5

में प्रतिशत-चिह्न (%) को संभालना मैं वर्तमान में अपने Django ऐप को स्थानीयकृत कर रहा हूं। अन्य सभी अनुवाद ब्लॉक-चिह्न टैग के अंदर प्रतिशत-चिह्न को छोड़कर ठीक काम करते हैं।Django ब्लॉकट्रान टैग

मेरे टेम्पलेट में मेरे पास {% blocktrans %}Original % blocktrans{endblocktrans %} है।

django-admin makemessages django.po में इस का उत्पादन:

#: templates/index.html:78 
#, python-format 
msgid "Original %% blocktrans" 
msgstr "" 

मैं msgstr "Translated %% blocktrans" करने के लिए अद्यतन कि, चलाने django-admin compilemessages, पुनः आरंभ डेव सर्वर और पेज को ताज़ा, लेकिन मैं अभी भी उत्पादन में Original % blocktrans देखते हैं। अन्य अनुवाद ठीक से दिखाए जाते हैं।

संदर्भ के लिए, {% trans "Original % trans" %} भी ठीक काम करता है। Makemessages और अनुवाद के बाद मेरे पास है:

#: templates/index.html:72 
msgid "Original % trans" 
msgstr "Translated % trans" 

यह अपेक्षाकृत काम करता है - अनुवादित संस्करण दिखाया गया है।

मुझे ब्लॉकट्रान का उपयोग करना चाहिए क्योंकि मुझे तारों में चर को एम्बेड करने की भी आवश्यकता है। मैं Django 1.2.5 का उपयोग कर रहा हूँ।

मैं ब्लॉक-चिह्न कैसे प्रतिशत-चिह्नों के साथ काम कर सकता हूं?

उत्तर

2

समस्या का वास्तविक समाधान नहीं खोजा जा सका, तो मैं एक समाधान के लिए प्रयोग किया जाता: एक निरंतर PERCENT_SIGN = यू '% बनाने 'और ब्लॉकट्रान-ब्लॉक के अंदर {{PERCENT_SIGN}} के रूप में इसका उपयोग करें।

+3

html इकाई % उपयोग के बारे में क्या? –

+0

शायद यह काम करेगा, लेकिन मुझे लगता है कि यह {{{PERCENT_SIGN}} की तुलना में अनुवादक के लिए और भी भ्रमित होगा, हालांकि छोटे। इसके अलावा, मैं सादा पाठ ईमेल टेम्पलेट्स के लिए इसका उपयोग कर रहा हूं, इसलिए इकाई कोई नहीं है। – anttikoo

+0

ठीक है .. ठीक है, सबसे अच्छा समाधान Django ट्रंक में 'ब्लॉकट्रान' को ठीक करना होगा :) –

3
बाहर

चेक this ticket - यह एक समाधान नहीं है, लेकिन यह क्या हो रहा है पर प्रकाश डालता है

2

इस विशेष मुद्दे के लिए एक और टिकट खोला गया है, जिसमें एक पैच है जो इसे ठीक करता है। उम्मीद है कि यह Django 1.4 के लिए तय किया जाएगा।

https://code.djangoproject.com/ticket/16721

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