【问题标题】:django-rosetta translated phrases not appearing on pagesdjango-rosetta 翻译的短语没有出现在页面上
【发布时间】:2013-05-10 11:49:22
【问题描述】:

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

例如:

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

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

【问题讨论】:

    标签: python django django-templates django-rosetta


    【解决方案1】:

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

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

    另外,_ 是否别名为 ugettextugettext_lazy?应该是后者吧。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我的系统管理员确认服务器已重新启动。有趣的是,相同的翻译出现在表单标签中,但不在占位符中。
      • 尝试找出问题出在哪里,即:翻译是否编译,之后服务器是否重新启动。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 2011-02-04
      • 2017-07-30
      • 2014-08-17
      • 2022-01-13
      相关资源
      最近更新 更多