2012-09-10 9 views
5

मैंने here में निर्देशों को पढ़ और पालन किया, लेकिन पीओ फ़ाइल में जावास्क्रिप्ट में स्ट्रिंग को नहीं देख पा रहे हैं।जावास्क्रिप्ट फ़ाइलों में अनुवाद के लिए Django का समर्थन

structure of my project is: 
cb/  
    cb_app  
    cb  
    static_files  
    templates 

सबसे पहले मैं अपने url.py में इन की नकल की:

js_info_dict = { 
    'packages': ('cb_app',), 
} 

urlpatterns = patterns('', 
    (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), 
) 

तब मैं अपने एचटीएमएल करने के लिए इस स्क्रिप्ट कहा:

<script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script> 

वास्तविक स्क्रिप्ट जहाँ मैं प्राप्त करना चाहते हैं अनुवाद, जितना आसान है:

$(document).ready(function() { 
    $('#id_sales_item').chosen({no_results_text: gettext('No results match')}); 
}); 

... और एक ही एचटीएमएल में उपयोग किया जाता है।

तो क्या मुझे और कुछ करने की ज़रूरत है?

तब मैंने cb/cb और cb/cb_app से नीचे की रेखा को चलाने के लिए किया था।

django-admin.py makemessages -l en_GB 

लेकिन फिर भी या तो cb/cb/locale में है और न ही cb/cb_app/locale

कोई युक्ति में 'कोई परिणाम मैच' का कोई संकेत नहीं?

उत्तर

4

मुझे अंततः समस्या मिली है।

दस्तावेज एक बार Django परियोजना से संदेश और एक बार Django ऐप से संदेश बनाने का सुझाव देता है। इस तरह आप दो locale निर्देशिका के साथ समाप्त होते हैं। और उनमें से किसी भी में जावास्क्रिप्ट अनुवादों को वैसे भी उठाया जाएगा। यह काफी गड़बड़ है।

साफ समाधान मैं पाया है settings.py के पास जाकर इस लाइन डालने के लिए (ऊपर भी अपने प्रोजेक्ट पदानुक्रम देखें):

LOCALE_PATHS = ('/home/kave/projects/cb/locale',) 

फिर एक निर्देशिका परियोजना रूट निर्देशिका में locale बनाएं जिसका नाम है (देखें ऊपर पथ)

प्रविष्टियों को url.py और html में भी लागू करना न भूलें (ऊपर देखें)।

अंत में अब है कि स्थानीय के एक ही स्थान पर एकीकृत कर रहे हैं, परियोजना रूट निर्देशिका पर जाएँ: /home/kave/projects/cb और इन दो आदेशों को चलाने: दोनों परियोजना और एप्लिकेशन सब-फ़ोल्डरों के

अनुवाद ग्रंथों
django-admin.py makemessages -l en_GB 
django-admin.py makemessages -d djangojs -l en_GB 

पहले आदेश प्राप्त । दूसरा दूसरी पीओ फ़ाइल में जावास्क्रिप्ट अनुवाद प्राप्त करता है।

यह बात करता है।

+1

आप मेरे उद्धारक हैं !, यह दुख की बात है कि मुझे यह django दस्तावेज़ों में नहीं मिला :( –

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