我应该将 *.mo 翻译文件签入我的版本控制系统吗?
这是一个普遍的问题。但特别是我正在使用 git 存储库处理 Django 项目。
我应该将 *.mo 翻译文件签入我的版本控制系统吗?
这是一个普遍的问题。但特别是我正在使用 git 存储库处理 Django 项目。
一般的答案是:
如果您确实需要这些文件来编译或部署(在镜头中:“使用”)您的组件(从您的 VCS 查询的文件集),那么是的,它们应该存储在其中(这里:在 Git 中)。
对于其他类型的文件(例如项目文件)也是如此
.mo 文件是特别的:
django-admin.py compilemessages utility.
此工具运行所有可用的 .po 文件并创建 .mo 文件,这些文件是为 gettext 使用而优化的二进制文件
意义:
所以具体的答案就不是那么明确了:
一般的答案是不在版本控制中存储生成的内容。
如果它需要稀有工具,您可以将它包含在 tarball 中,或者甚至具有单独的存储库或仅包含那些生成的文件的断开连接的分支(例如 git.git 存储库中的“html”和“man”分支)。
对于提出的问题, Jakub 的回答非常简洁。
但有人可能会问:
那么我应该在哪里存储这些文件呢?我应该在每次部署代码时生成它们吗?
为此......这取决于。您可以将它部署在 tarball 中(正如 Jakub 所建议的那样),甚至更好 -创建 pip 或系统包(对于 fedora 的 RPM,对于 debian 的 DEB 等)。