【问题标题】:django compiling translation string in different machinesdjango 在不同的机器上编译翻译字符串
【发布时间】:2014-06-16 13:58:48
【问题描述】:

在我的系统上,我更改了 django.po 中的 mgstr 并编译了它,我得到了预期的翻译。现在我的问题是我应该在生产机器上运行 manage.py compilemessages 还是签入二进制文件 (django.mo)这样当它在 prod 机器上检出时,编译步骤可能会被跳过。解决这个问题的标准方法是什么

【问题讨论】:

    标签: python django django-templates translation


    【解决方案1】:

    通常是.mo files are git-ignored。这意味着在签出最新版本后重新编译消息是有意义的。

    编辑:

    我使用的程序如下:.po 是 git rep 的一部分,.mo 是 git-ignored。

    开发中:

    1. 更改代码(可能包含翻译字符串),
    2. 运行python manage.py makemessages -l [language]
    3. 编辑.po
    4. (可选,检查可能的错误:运行python manage.py compilemessages -l [language] 并运行服务器来测试翻译)
    5. 提交代码和.po的更改
    6. 推送到master

    在生产机器中:

    1. 从原点拉出
    2. python manage.py compilemessages -l [language]

    此时,.mo 已在您从母版中提取的 .po 的产品上创建。

    一种实现自动化的方法是使用Fabric,这是一个python库,用于编写用于在服务器上部署代码(例如Django)的自动化脚本。

    【讨论】:

    • 在生产中我看不到翻译。可能是什么问题?还有消息是如何以及何时在任何新机器上编译的
    • @Rajeev,我添加了更详细的程序描述。
    猜你喜欢
    • 2011-12-25
    • 2012-12-29
    • 2012-05-01
    • 2015-09-04
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 2019-06-30
    • 2010-10-23
    相关资源
    最近更新 更多