2009-12-26 25 views
6

從Django文檔:如何將包名稱提供給django javascript_catalog視圖?

js_info_dict = { '包':( 'your.app.package',),}

urlpatterns的=模式( '', (R'^ jsi18n/$」,‘django.views.i18n.javascript_catalog’, js_info_dict))

在包中的每個字符串應該是Python的 點綴包語法(在 INSTALLED_APPS相同 格式的字符串),並應參考到 包含一個語言環境 目錄的軟件包。

它說「包含locale目錄的包」。 ,但我用djangoadmin.py makemessages -a創建了翻譯文件,它只是在項目目錄內創建語言環境。不在我的任何應用程序目錄下。我嘗試設置包爲

js_info_dict = { '包'( 'my_project_dir',),}

顯然,這不是爲我工作。每個來自django域的字符串都會被翻譯,但是我從javascript_catalog視圖中得到一個空的翻譯目錄。我在這裏錯過了什麼?

+2

你的問題是非常不清楚..你應該提供更多信息 – 2009-12-26 21:23:20

+0

我有同樣的問題。我想這是與這個錯誤http://code.djangoproject.com/ticket/5494 – pocoa 2010-08-26 03:25:29

回答

7

首先,你需要確保你的js_info_dict是這樣的:

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

而作爲@daonb建議,添加 'my_project_name' 來settings.py中的INSTALLED_APPS。

請確保您編譯你這樣的信息:

django-admin.py makemessages -a -d djangojs 

這一切!

我不知道爲什麼Django沒有將這些信息寫入文檔。我可以用下面使用這些文章中找到了解決方案:

http://www.aminche.com/blog/2010/07/06/playground-editor http://code.djangoproject.com/ticket/5494 http://osdir.com/ml/django-users/2010-04/msg00231.html

+1

謝謝。我的錯誤是在項目目錄的頂層調用django-admin.py makemessages。這爲entrire項目創建了翻譯目錄。但事實證明,javascript目錄需要django應用程序目錄上的語言環境目錄。因此,使用後 1. CD /家庭/ MY_PROJECT/my_app應用 2的mkdir區域 3. django-admin.py makemessages -d djangojs -l EN 它只是my_app應用目錄創建翻譯字符串,我可以使用: js_info_dict = { 'domain':'djangojs', 'packages':('my_app',), } – hamdiakoguz 2010-08-26 20:12:26

+1

不客氣。通常它必須支持應用程序區域設置。所以,這不是你的錯,這是一個錯誤:http://code.djangoproject.com/ticket/5494 乾杯! – pocoa 2010-08-27 13:14:31

3

嘗試增加 'my_project_dir' 到INSTALLED_APPS中的settings.py

+0

嗨,我有同樣的問題。將這個項目名稱添加到INSTALLED_APPS是什麼意思? – pocoa 2010-08-26 03:23:39

+0

是的,它必須解決問題,但事實並非如此。 http://code.djangoproject.com/attachment/ticket/5494/root-locale-js-catalog.diff – pocoa 2010-08-26 03:30:06

+0

該故障單上的修補程序比將項目添加到INSTALLED_APP更清潔。不過,它解決了我的項目中的問題。 – daonb 2010-08-29 05:10:12

0

對於其他人與我的特殊情況下,產生JS的消息和編譯OK,但不會呈現在模板或頁面當您使用國際化語言網址。

這是因爲javascript目錄應該添加到i18n url模式,而不是正常模式。

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

=>

urlpatterns += i18n_patterns('', (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),) 
相關問題