5

में एक फिल्टर के उत्पादन का अनुवाद कैसे करूं मैं कुछ टेम्पलेट कोड ऐसा दिखता है जैसे है:मैं Django

<input type='submit' value='{{ need.satisfied|yesno:"Resend this document now,Send this document now" }}' /> 

मैं इसे अनुवाद करने में सक्षम होना चाहते हैं लेकिन यह है कि पूरा करने के लिए मुश्किल प्रतीत होता है।

http://code.djangoproject.com/ticket/3804 उल्लेख

{{ _("Some String") }} 

शाब्दिक तार के लिए काम करने के लिए प्रकट होता है जो, लेकिन जब

{{ _(Variable) }} 

की तरह इस्तेमाल किया त्रुटि

Variables and attributes may not begin with underscores: '_' 

देता है तो, आप इसे कैसे करते हो?

ओह हां, मैं कर रहा करने की कोशिश की:

'{% if blah %}{% trans "Resend..." %}{% else %}{% trans "Send..." %}{% endif %}' 

जो काम करता है, लेकिन इतना बदसूरत मैं नहीं करना चाहती है। Django के साथ निश्चित रूप से वहाँ यह करने के लिए कुछ और सुरुचिपूर्ण तरीका .....

एक की तरह लगता है है | ट्रांस फिल्टर क्रम में हो सकता है, लेकिन यह है कि http://code.djangoproject.com/ticket/3804

उत्तर

11

डॉक्स में उदाहरण के द्वारा निर्णय करने की कोशिश की, तो वह ऐसा यह करने के लिए संभव हो सकता है:

<input type='submit' value='{{ need.satisfied|yesno:_("Resend this document now,Send this document now") }}' /> 

स्रोत: https://docs.djangoproject.com/en/1.11/topics/i18n/translation/#string-literals-passed-to-tags-and-filters

+0

धन्यवाद दिया, यह वही है जो मैं ढूंढ रहा था। – boatcoder

1

साथ एक गैर मुद्दे के रूप में मार गिराया गया आपके पास , का उपयोग कर blocktrans

{% blocktrans %} 
    string to translate with {{ vars }} 
{% endblocktrans %} 
+0

समस्या का हिस्सा अनिवार्य रूप से {% spaceless%} होने की आवश्यकता से आता है क्योंकि यह मान विशेषता में है, रिक्त स्थान महत्वपूर्ण हैं (और न्यूलाइन)। {% spaceless%} टैग काम नहीं करेगा क्योंकि यह केवल HTML टैग के बीच रिक्त स्थान हटा देता है, और इसलिए यहां प्रभाव नहीं पड़ता है। वोल्प ने इसे – boatcoder