Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django在不同机器上编译翻译字符串_Python_Django_Django Templates_Translation - Fatal编程技术网

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

Python django在不同机器上编译翻译字符串,python,django,django-templates,translation,Python,Django,Django Templates,Translation,在我的系统上,我在django.po中更改了mgstr并编译了它,我得到了预期的翻译。现在我的问题是,我应该在生产机器上运行manage.py compilemessages还是签入二进制文件(django.mo)这样,当它在prod机器上签出时,编译步骤可能会被跳过。通常,这方面的标准方法是什么。这意味着在签出最新版本后重新编译消息是有意义的 编辑: 我使用的过程如下:.po是git rep的一部分,.mo被git忽略 发展中: 更改代码(可能有翻译字符串) 运行python manage.p

在我的系统上,我在
django.po
中更改了mgstr并编译了它,我得到了预期的翻译。现在我的问题是,我应该在生产机器上运行
manage.py compilemessages
还是签入二进制文件(
django.mo
)这样,当它在prod机器上签出时,编译步骤可能会被跳过。通常,这方面的标准方法是什么。这意味着在签出最新版本后重新编译消息是有意义的

编辑:

我使用的过程如下:.po是git rep的一部分,.mo被git忽略

发展中:

  • 更改代码(可能有翻译字符串)
  • 运行
    python manage.py makemessages-l[语言]
  • 编辑
    .po
  • (可选,检查可能的错误:运行
    python manage.py compilemessages-l[语言]
    并运行服务器测试翻译)
  • 提交对代码和.po的更改
  • 推演大师
  • 生产中的机器:

  • 从原点拉
  • python manage.py compilemessages-l[语言]
  • 此时,.mo将根据从主控形状中提取的.po在生产上创建


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

    在生产环境中,我看不到翻译。可能是什么问题?以及如何以及何时在任何新数据库上编译消息machine@Rajeev,我添加了更详细的过程描述。