2010-07-27 18 views
9

मैं Internationalization of JavaScript code in my Django application सेट अप करने का प्रयास कर रहा हूं।जावास्क्रिप्ट कोड अंतर्राष्ट्रीयकरण करते समय खाली सूची

मेरे Django ऐप में locale उपनिर्देशिका है जो ठीक से उत्पन्न djangojs.po फ़ाइल के साथ है। पैकेज परिभाषा इस प्रकार है:

# urls.py 
js_info_dict = { 
    'packages': ('my_project',), 
} 

./manage.py makemessages अच्छी तरह से काम .po फ़ाइल के रूप में सभी के लिए होने वाली अनुवाद तार हैं लेकिन उसकी कोई जावास्क्रिप्ट स्ट्रिंग कभी वेबसाइट पर अनुवाद हो जाता है और सूची हमेशा खाली है।

उत्तर

3

मैं settings.py में इंस्टॉल किए गए एप्लिकेशन को my_project जोड़ा गया है और है कि चाल

+0

मैं पहले से ही "my_project" my_project के इंस्टॉल किए गए एप्लिकेशन में में है settings.py और अभी भी कैटलॉग खाली है। क्या आपको पता चल सकता है कि और क्या करने की आवश्यकता है? – urig

+0

मुझे पता चला है कि मेरे लिए क्या गलत है। मैंने अपनी पीओ फाइलों को <प्रोजेक्ट रूट>/conf/locale के तहत रखा था जब यह /locale होना चाहिए था। – urig

5

मैं भी साथ कुछ समस्या थी करने के लिए लग रहा था। इस तरह यह मेरे लिए काम करता है:

साल जड़ urls.py को यह करें:

js_info_dict = { 'domain': 'djangojs', 
       'packages': ('YOUR_PROJECT_NAME',), } 


urlpatterns = patterns('',     

    #enable using translation strings in javascript 
    #source: https://docs.djangoproject.com/en/dev/topics/i18n/translation/#module-django.views.i18n 
    (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), 

) 

जे एस फ़ाइलों में उपयोग करें:

var somevar = gettext('Text to translate'); 

Django अनुवाद फ़ाइलें संकलन करने के लिए: एक खोल में/परियोजना जड़ से टर्मिनल रन (जहां 'क्षुधा', 'सेटिंग', आदि झूठ):

#for "normal django files" (.py, .html): 
django-admin.py makemessages --locale=de 
#for javascript files. source: http://stackoverflow.com/a/3571954/268125 
django-admin.py makemessages -a -d djangojs --locale=de 
#to compile the translation files to machine code 
django-admin.py compilemessages --locale=de 
+0

अभी भी मेरी परियोजना को INSTALLED_APPS में जोड़ना पड़ा। (जो मुझे पसंद नहीं है) – bjunix

+0

यह अभी भी मेरे लिए काम नहीं करता है। और ऐसा लगता है कि 'djangojs' डिफ़ॉल्ट डोमेन है। इसे स्पष्ट रूप से लिखने की जरूरत नहीं है। – azmeuk

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