3

我的 python 代码中标记了一堆要翻译的字符串。

例如:

remarks_sample = forms.CharField(
label = _('Remarks'),
widget = forms.Textarea(attrs = {
        'placeholder': _("Remarks"),
    })
)

我已经成功运行了 django-admin.py makemessages 并翻译了 Rosetta admin 中的短语。我试图弄清楚为什么翻译后的短语没有出现在我的页面上。

4

2 回答 2

5

这些文件实际上是由 django-rosetta 写入的吗?如果 Rosetta 无法将内容写回 .po 文件(例如,因为 Web 服务器进程无法写入它们),它只会将它们保存在内存中(您可以下载翻译并替换文件。)

此外,您可以django-admin.py compilemessages在重新启动网络服务器之前运行将更新的 .po 文件显式编译为 .mo 文件,这些文件由 Django 读取。

此外,_别名为ugettextor ugettext_lazy?应该是后者。

于 2013-05-10T16:08:06.093 回答
0

如果您使用的是开发服务器,则必须重新启动它,因为它本身不会检测到更新的翻译。

如果您在生产服务器上,您可能想告诉 Rosetta 自动重新加载(请参阅:Rosetta 配置)。

于 2013-05-10T13:27:06.547 回答