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/

相关文章:

django - 无法在 Mac 上卸载 Python 2.7.16

unicode - 中文 <-> 英文翻译/字符含义数据库

python - PyMongo:更新,$multi:false,获取更新文档的 _id?

python - 用较低的拉丁字母生成大随机字符串的最快方法

Django - 获取每个外键 ID 的单个时间戳(MySQL)

python - 运行Django-Viewflow更新节点?

python - BigQuery - 在分区内嵌套操作,以便聚合具有 170 亿条记录的表中的连续记录

python - 如何正确使用Python模块

c# - Silverlight 4 中 System.Windows.Input.Key 枚举的翻译?

django - Django-无法在Alpine中编译消息?