2011-06-28 48 views
1

本地化JavaScript內容我收到以下錯誤:錯誤而在Django

ReferenceError: Can't find variable: gettext

我加入下面的我urls.py

js_info_dict = { 'domain': 'djangojs', 'packages': ('my_project_name',), } 
urlpatterns += patterns('', (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),) 

我標記爲本地化的字符串:

var lingualText = gettext("Are you sure you want to delete the photo?"); 
var statusConfirm = confirm(lingualText); 

我已添加在我的模板下面一行:

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

要生成的JavaScript文件中的文本語言文件,我用下面的命令:

python /usr/bin/django-admin.py makemessages -d djangojs -l de 

我能夠生成djangojs.po文件所需語言。而且我還獲得了JS文件中標記的所有字符串。當我看到在Firebug輸出,我看到上面的錯誤即:

ReferenceError: Can't find variable: gettext

誰能告訴我我要去哪裏錯了?我是否遇到jsi18n的問題?

在此先感謝。

回答

0

getext(){% url django.views.i18n.javascript_catalog %}腳本提供,因此請確保它包含在您自己的代碼之前,例如,

<html> 
<head> 
    <script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script> 
    <!-- gettext() is now available --> 
    <script src="{{ STATIC_URL }}my_script_using_gettext.js"></script> 
    ...