【问题标题】:Django javascript catalog view for i18n internationalization用于 i18n 国际化的 Django javascript 目录视图
【发布时间】:2014-03-18 13:21:20
【问题描述】:

我正在尝试让 i18n 工作的 javascript_catalog,没有骰子。

遵循官方指南here

我在运行时得到以下信息:

./manage.py makemessages -d djangojs -l fr_CA --settings=settings.local

"CommandError: errors happened while running msguniq".
msguniq: error while opening "/webapps/.../djangojs.pot" for reading: No such file or directory

我的项目的 urls.py 中有这个

js_info_dict = {
    'packages': ('project_name',),
}

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

添加了这是我的基本模板:

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

我的 INSTALLED_APPS 中也有 project_name。

我从包级别以及单个应用程序级别进行了尝试,创建了区域设置目录并将应用程序放入“包”等。但是常规的 makemessages 只是不适用于 djangojs 域的 js 目录。

请帮忙。

【问题讨论】:

  • 您运行的是哪个版本的 Django?你能粘贴 LOCALE_PATHS 的值吗
  • 我使用的是 1.6 版,我的 LOCALE_PATHS 的输出是“/webapps/project_name/locale”,我目前有我的 fr_CA 翻译,它确实有效,但不是 js 目录。跨度>
  • 抱歉没有提到我也将我的 settings.py 重命名为 base.py 并移至“/webapps/project_name/settings”,它还有一个导入上述基础的 local.py。 py.

标签: python django internationalization django-views django-i18n


【解决方案1】:

好的,我认为包含“脚本”js 标记的 html 文件也由 javascript 目录处理。事实上,据我所知,只有 .js 文件会被扫描。当我把

gettext('Text to translate');

在一个 .js 文件中它起作用了。上面的错误消息表明没有要翻译的内容。

【讨论】:

  • 我认为翻译 html 文件的正确方法是使用 {% trans %}{% blocktrans %} 标签,很好。
猜你喜欢
  • 2019-08-05
  • 1970-01-01
  • 1970-01-01
  • 2017-11-16
  • 2011-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多