开发者

Error while localizing Javascript content in Django

I AM getting the following error:

ReferenceError: Can't find variable: gettext

I have added the following in my urls.py:

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

I marked the string for localization as :

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

开发者_如何学PythonI have added the following line in my template:

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

To generate the language file for the text inside javascript file, I use the following command:

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

I am able to generate the djangojs.po file for the desired language. And I also get all the strings marked in the JS file. When I see the output in Firebug, I see the above error i.e.:

ReferenceError: Can't find variable: gettext

Can anybody tell me where am I going wrong? Am I having the problem with the path for jsi18n ?

Thanks in advance.


getext() is provided by the {% url django.views.i18n.javascript_catalog %} script, so make sure it is included before your own code is, e.g.

<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>
    ...
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜