python - Django JavaScript 翻译不起作用

标签 python django translation gettext

我试过 follow the guide但还不够清楚。

  1. 我将其添加到我的 urls.py

    urlpatterns = patterns('',
        (r'^jsi18n/(?P<packages>\S+?)/$', 'django.views.i18n.javascript_catalog'),
    )
    
  2. 使用此命令生成 lang 文件:

    django-admin.py makemessages -d djangojs -l fr
    

root_folder/locale/fr/LC_MESSAGES 现在包含 django.po & djangojs.poalert(gettext('this将被翻译')); 在我的一个 js 文件中被提取到 djangojs.po

  1. 我运行了 django-admin.py compilemessages 并重新启动了服务器。

  2. 将此添加到我的 base.html:

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

请注意,我添加了“locale”以避免动态加载翻译时不传递包名称的异常。

  1. 从我的浏览器访问 /jsi18n/locale/,我得到的只是 Django 翻译功能:

    /* gettext library */
    
    var catalog = new Array();
    
    function pluralidx(count) { return (count == 1) ? 0 : 1; }
    
    
    function gettext(msgid) {
    ....
    

为什么“this is to be translated”没有显示,它会根据什么显示特定语言而不用 URL 传递它?

最佳答案

我不知道如何解决你的问题,但我可以告诉你,事情对我来说是如何工作的:

locale 文件夹在我的 tickets 应用中。

网址.py

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

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

基础.html

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

并创建消息文件:

python -m django-admin makemessages -d djangojs -l fr
python -m django-admin compilemessages

希望您能从中有所收获。

关于python - Django JavaScript 翻译不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19625102/

相关文章:

python - 如何将整数列表插入数据库查询的字符串中 - Python 3

angular - 如何在嵌套延迟加载模块中实现 ngx 翻译(App Module->(Module 1->(Module 2)))

python - 字符串和整数之间的转换。 Python

python - 使用 Python 修复 HTML 字符串中的开括号问题

python - 在基于类的 View 中覆盖 GET 请求时如何引用表单?

python - 在 Django 中加入两个查询集

android - 将 fragment 部分移出屏幕

python - 翻译我的序列?

python - 使用 matplot 库绘制图形时,直方图的哪一部分引用二维数组的行?

python - 优化 numpy 数组乘法 : * faster than numpy. 点?