2

想知道这里的人们是否可以与国际化和 git 分享他们的过程。我正在与一个国际化团队合作,该团队每次发送 .strings 文件时都需要差异。以下是我在流程方面的想法:

  1. 在代码库上运行 genstrings 以提取所有 NSLocalizedStrings。这将生成一个 .strings 文件。
  2. 将此 .strings 文件与同一文件的先前版本进行比较。上一次修订映射到我们上次将 .strings 文件发送给我们的国际化团队的时间。因此,差异应该包含自我们上次发送 .strings 文件以来项目中的所有字符串更改。
  3. 现在我有一个差异文件。使用脚本更改此差异文件以仅包含添加和修改。此脚本的输出将生成一个 .strings 文件。这是我们国际化团队想要的 .strings 文件。
  4. 国际化过程完成后,我留下了这个 .strings 文件的 n 个实例(每种语言一个)。我现在需要将这些 .strings 文件中的每一个都集成回项目中。
  5. 对于应用程序支持的每种语言,获取密钥并在原始 .strings 文件中搜索相同的密钥。如果密钥存在于原始 .strings 文件中,请将原始 .strings 文件中的值替换为 diff'ed 文件中的值。如果原始 .strings 文件中不存在该键,请将新的键/值对添加到原始 .strings 文件的末尾。

上面的数字三和五需要一些脚本,这引出了我的问题。

对于第三个问题,'git diff' 是否可配置以生成仅包含添加或修改的 .diff 文件?有谁知道只包含添加或修改的命令是什么样的?如果 'git diff' 不够灵活,无法产生我需要的输出,那么是否有人知道一些脚本会产生所需的输出。

对于第五个问题,是否有人知道一些已经解决这个问题的脚本?

如果有人可以建议一种更好的方法来处理 iOS 应用程序的国际化过程,我会全力以赴。

谢谢,

肖恩

4

1 回答 1

0

如果您上传包含英文字符串文件的原始存储库,那么任何进行本地化的人都可以分叉项目,调整字符串,提交到他们的分叉并打开拉取请求。您提取他们的更改并与您的原始文件合并。Git/GitHub 为您完成了所有这些令人讨厌的合并。

如果字符串来自 XIB,那么您可以再次使用 GENStrings 将您的 repo 中的新合并字符串文件与您的 XIB 集成。

来自 Applingua(使用 Git 的应用程序本地化机构!)的 Rob

于 2012-10-30T12:48:41.203 回答