我正在将一个 iOS 项目翻译成葡萄牙语,我创建了一个 pt.lproj/Localizable.strings 文件,并将 NSLocalizedString() 添加到源代码中。一切正常!有一个小问题——XIB 文件中的字符串没有被翻译……不过我知道这是设计使然。
我已经看到 ibtool 命令可用于从名为 x 的 XIB 文件中提取字符串并将其放入名为 x.strings 的文件中...但我的问题是,有没有办法从中提取字符串所有的 xib 文件并将它们全部放入一个 .strings 文件中(例如 Localizable.strings?或者甚至另一个名为 XIBs.strings 的文件都可以吗?)
最佳答案
您有两种选择如何翻译 xib 文件。一种是将 UI 元素连接到 socket ,并使用 NSLocalizedString
宏在 viewDidLoad 方法中设置字符串。
第二种选择是为您的应用支持的每种语言提供单独的 xib。您不必手动创建它们,您可以使用 ibtool
命令(我假设您的源语言是英语,目标语言是葡萄牙语):
ibtool --strings-file pt.lproj/Example.strings en.lproj/Example.xib –write pt.lproj/Example.xib
要收集在您的项目中找到的字符串,您可以使用 genstrings
命令 - 但我建议使用此 python script收集所有字符串 - 当您需要向应用添加/删除字符串而无需翻译和/或手动合并所有以前的字符串时,它可以很好地处理这种情况
编辑
哦,我找到了 article我从中学到了这个技巧
关于objective-c - XIB 文件的 iOS Localizable.strings 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8343313/