【发布时间】:2017-10-19 13:50:38
【问题描述】:
情况:
我们使用 XCode 导出/导入工具为我们的翻译人员生成可本地化的文件。这在 XCode 8 中运行良好。自从我们更新到 XCode 9 后,我们发现了一些问题。
问题:
- 通过编辑器导出本地化时-->为本地化导出...-->仅开发语言,不包括
NSLocalizedString()键/值,因为它应该 according to this documentation:When you export localizations, Xcode searches your code for the macros and includes the strings files in the exported localization file for translation. - 添加到 Localizable.strings 开发语言文件的注释在导出
.xliff文件中似乎不存在。 - 导入已翻译的
.xliff文件时,XCode 似乎删除了文件中的所有 cmets。它被"(No Comment)"取代
配置:
- XCode 9.0 (9A235)
- 开发语言:荷兰语
- 本地化语言:Base、NL、DE、BE、LU
- Objective-C 和 Swift 混合项目
我的尝试:
- 我已尝试查看 XCode 9 文档或更改日志,以了解本地化方面的变化,但我找不到任何提及此更改的内容
- 当我第一次手动生成开发
Localizable.strings文件时,我可以让我的NSLocalizedString()字符串显示在导出中,使用命令行命令find ./ -name "*.m" -print0 | xargs -0 xcrun extractLocStrings -o .(我第二次运行.swift文件为我的项目是一个 swift/objc 混合体)。然后结合结果,让我的字符串显示在导出中,但没有 cmets,这是翻译人员需要的指南。
问题:
这是 XCode 9 的错误吗?我是否错过了本地化导出/导入的任何文档或新功能/选项?有解决方法吗?
【问题讨论】:
-
在这个问题上有什么进展吗?我的本地化版本都没有在 Xcode 9 中导出。
-
不,很遗憾没有。我现在每次导出时都使用了我在问题中描述的解决方法('我尝试过的'的第二点)......希望这也适用于你作为一种解决方法
-
这太糟糕了。我在其他项目中导出字符串时运气不错。我认为问题出在与单个文件的“绝对路径”或“相对于组”相关的项目设置中。我已经修改了一些设置,但到目前为止,什么都没有。但是我过去在这个项目上遇到过问题,但其他的都很好。
-
不是答案,但 Xcode 9.3 似乎至少解决了其中一些问题 - 当然现在导入似乎已经修复。
-
Xcode 9.3 中的导出似乎仍然存在问题。使用 Xcode 10 beta 导出为完全不同的格式,但确实包含 9.3 导出中缺少的字符串。 ??????
标签: ios xcode localization export nslocalizedstring