我一直在客户端上进行本地化。所以我想从python和html文件收集djangojs的消息,但是没有用

Django版本是1.3,
Gettext utilitest已安装在系统中
django-admin.py makemessages -d djangojs -l ru -e html,py
有谁知道如何从django.po中为JavaScript(djangojs)生成/使用翻译消息?

例如,出于测试原因,我仅将ngettext("Hello world")消息放入某些js文件中,最后它没有进入djangojs.po文件。

苏丹

最佳答案

我是这个问题的作者:Django 1.2.3 - Internationalization - makemessages does not detect all strings

您的问题可能与我的原因相同。这是因为javascript的makemessages是一个hack,有时无法获取标记为要翻译的字符串。由于gettext工具不支持javascript,因此代码首先经过简单的转换,然后作为Perl处理。

您可以在此处找到有关它的文章:A Javascript lexer in Python, and the saga behind it

此处的错误报告为:Ticket 7704。它在Django 1.4中已修复。

由于我的项目很小,我直接编辑了PO文件,但是如果您的PO文件较大,则应使用django 1.4 RC或错误报告中链接的补丁。

10-06 14:12