django在不同的机器上编译翻译字符串

时间:2014-04-30 09:48:13

标签: python django django-templates translation

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

1 个答案:

答案 0 :(得分:0)

通常.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]和runserver来测试翻译)
  5. 提交代码和.po
  6. 的更改
  7. 推送掌握
  8. 在生产机器中:

    1. 从原点拉
    2. python manage.py compilemessages -l [language]
    3. 此时,.mo是从你从主人那里提取的.po创建的。

      自动执行此操作的一种方法是使用Fabric,一个用于编写自动脚本的python库,用于在服务器上部署代码(例如Django)。