django - gettext 翻译不适用于生产系统

标签 django translation gettext production-environment devserver

我在使用 django 的 gettext 翻译字符串(在管理员中)时遇到了一个奇怪的问题。 : 在本地运行开发服务器,所有翻译都在管理中正确显示,但是当项目部署在生产服务器上时,一些字符串根本没有翻译。我无法确定哪些字符串受到影响而哪些不受影响的任何系统!

给你一个印象,例如。模型定义如下:

class Company(models.Model):

    ....

    class Meta:
        verbose_name = _('Company Profile')
        verbose_name_plural = _('Company Profiles')

使用开发服务器,模型的名称在管理员中以不同的语言正确显示,在生产服务器上没有!这会影响某些模型,而其他模型则不会……这让我非常抓狂,因为我几乎不知道如何调试它……

最佳答案

几种可能:

  • 生产服务器没有看到编译的消息
  • 未翻译的消息标记为 fuzzy
  • _() 解析为 ugettext而不是 ugettext_lazy
  • 关于django - gettext 翻译不适用于生产系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4102478/

    相关文章:

    xml - XSLT 问题。当原始 XML 在单独的部分中有字段标签时,如何将它们与数据配对?

    c++ - 在 UI 编辑器创建的按钮标题中使用 tr( )

    git - .PO (gettext) 文件的 3 向 Git merge 驱动程序在哪里?

    c++ - GNU Gettext 和宽字符

    python - 属性错误 : 'Manager' object has no attribute 'get_by_natural_key' error in Django?

    python - 将 nginx 和 Gunicorn 连接在一起

    python - 如何修复 "plural forms could be dangerous"django 错误?

    php - 如何在 gettext 驱动的多语言站点上实现搜索?

    django - 在 Django 中提供静态 HTML

    python - Django 应用程序在容器内部运行,但无法解析容器外部的数据库