Version control 我应该签入*.mo文件吗?
我是否应该将*.mo翻译文件签入我的版本控制系统 这是一个一般性问题。但特别是我正在使用git存储库处理Django项目。一般的答案是:Version control 我应该签入*.mo文件吗?,version-control,internationalization,translation,project-structure,Version Control,Internationalization,Translation,Project Structure,我是否应该将*.mo翻译文件签入我的版本控制系统 这是一个一般性问题。但特别是我正在使用git存储库处理Django项目。一般的答案是: 如果您确实需要这些文件来编译或部署您的组件(从VCS查询的一组文件),那么是的,它们应该存储在其中(此处:Git)。 对于其他类型的文件也是如此(例如) 特别是: django-admin.py compilemessages utility. 此工具运行所有可用的.po文件并创建.mo文件,这些文件是为gettext使用而优化的二进制文件 意思是: 您应
如果您确实需要这些文件来编译或部署您的组件(从VCS查询的一组文件),那么是的,它们应该存储在其中(此处:Git)。
对于其他类型的文件也是如此(例如) 特别是:
django-admin.py compilemessages utility.
此工具运行所有可用的.po文件并创建.mo文件,这些文件是为gettext使用而优化的二进制文件
意思是:
- 您应该能够在每次需要它们时重建它们(实际上保证它们与.po couterparts同步)
- Git不太适合二进制存储,这将避免每次更改都存储完整版本
- 如果您的po文件是稳定的,不会太频繁地演变,那么您可以最终存储.mo文件
- 您应该绝对地存储一个大的自述文件,解释如何从po文件生成mo
为此。。。视情况而定。您可以在tarball中部署它(正如Jakub所建议的那样),或者更好地创建pip或系统包(RPM用于fedora,DEB用于debian,等等)。“如果您确实需要这些文件来编译或部署”->这意味着您还应该提交您的库和所有依赖项。“这是一个大诺诺。”拉文温(差不多12年后)。我同意:最好的做法是声明其依赖项,而不是包含它们,并确保第三方工具将从外部引用获取这些依赖项(如
maven/mvn
does frompom.xml
和Nexus.org)