我应该签入 *.mo 文件吗?

问题描述 投票:0回答:3

我应该将 *.mo 翻译文件签入我的版本控制系统吗?

这是一个一般性问题。但特别是我正在使用 git 存储库开发 Django 项目。

version-control internationalization translation project-structure
3个回答
20
投票

一般答案是在版本控制中存储生成的内容

如果需要罕见的工具,您可以将其包含在 tarball 中,或者甚至拥有单独的存储库或仅包含那些生成的文件的断开分支(例如 git.git 存储库中的“html”和“man”分支)。


20
投票

一般答案是:
如果您确实需要这些文件来编译或部署(在镜头中:“使用”)您的组件(从 VCS 查询的文件集),那么是的,它们应该存储在其中(此处:在 Git 中)。
对于其他类型的文件也是如此(例如项目文件

.mo 文件 很特别:

django-admin.py compilemessages utility.

此工具运行所有可用的 .po 文件并创建 .mo 文件,这些文件是针对 gettext 使用而优化的二进制文件

含义:

  • 您应该能够在每次需要它们时重建它们(实际上保证它们与其 .po 对应部分同步)
  • Git 不太擅长二进制存储,这会避免它为每次更改存储完整版本

所以具体答案不是那么明确:

  • 如果您的 po 文件是稳定的并且不会经常演变,您可以明确存储 .mo 文件
  • 你应该绝对存储一个大的README文件,解释如何从po文件生成mo。

0
投票

对于所问的问题Jakub 的回答非常简洁。

但是有人可能会问:

那么我应该在哪里存储这些文件呢?我应该在每次部署代码时生成它们吗?

为此......这取决于。您可以将其部署在 tarball 中(如 Jakub 建议的那样),甚至更好 - 创建wheel或系统包(fedora 为 RPM,debian 为 DEB 等)。

© www.soinside.com 2019 - 2024. All rights reserved.