想知道这里的人们是否可以与国际化和 git 分享他们的过程。我正在与一个国际化团队合作,该团队每次发送 .strings 文件时都需要差异。以下是我在流程方面的想法:
- 在代码库上运行 genstrings 以提取所有 NSLocalizedStrings。这将生成一个 .strings 文件。
- 将此 .strings 文件与同一文件的先前版本进行比较。上一次修订映射到我们上次将 .strings 文件发送给我们的国际化团队的时间。因此,差异应该包含自我们上次发送 .strings 文件以来项目中的所有字符串更改。
- 现在我有一个差异文件。使用脚本更改此差异文件以仅包含添加和修改。此脚本的输出将生成一个 .strings 文件。这是我们国际化团队想要的 .strings 文件。
- 国际化过程完成后,我留下了这个 .strings 文件的 n 个实例(每种语言一个)。我现在需要将这些 .strings 文件中的每一个都集成回项目中。
- 对于应用程序支持的每种语言,获取密钥并在原始 .strings 文件中搜索相同的密钥。如果密钥存在于原始 .strings 文件中,请将原始 .strings 文件中的值替换为 diff'ed 文件中的值。如果原始 .strings 文件中不存在该键,请将新的键/值对添加到原始 .strings 文件的末尾。
上面的数字三和五需要一些脚本,这引出了我的问题。
对于第三个问题,'git diff' 是否可配置以生成仅包含添加或修改的 .diff 文件?有谁知道只包含添加或修改的命令是什么样的?如果 'git diff' 不够灵活,无法产生我需要的输出,那么是否有人知道一些脚本会产生所需的输出。
对于第五个问题,是否有人知道一些已经解决这个问题的脚本?
如果有人可以建议一种更好的方法来处理 iOS 应用程序的国际化过程,我会全力以赴。
谢谢,
肖恩