Swift本地化:Genstrings

7
我正在为我的应用程序准备本地化,但遇到了一些问题。我已将 "Localizable.strings" 文件添加到我的项目中,并勾选了 "使用基础国际化" 选项。
然而,在Xcode中查看我的应用程序时,我没有看到任何语言的“Base.lproj”或“en.lproj”或.lproj文件,尽管当我在Finder中打开我的应用程序时,可以看到“en.lproj”和“es.lproj”文件夹。
我猜这可能是genstrings实用程序无法正常工作的原因。我在我的代码中有很多像 self.navigationItem.title = NSLocalizedString(...) 这样的调用,但当我执行 genstrings *.swift 时,在 Localizable.strings 中什么也没有改变,我仍然看不到任何 .lproj 文件夹。

你不应该直接使用genstrings;你应该在Xcode中选择你的项目,然后选择编辑器 -> 导出本地化... - wakachamo
@wakachamo,所以如果我只是在我的文件中调用NSLocalizedString,然后导出它就可以了吗?当我现在导出它时,我得到了一个“en.xliff”,可能是因为我没有添加更多的语言,但没有localizable.strings,我认为这是传递给翻译者的内容。 - Randoms
你可以将.xliff文件交给翻译人员。是的,在导出其他语言的XLIFF文件之前,您需要在项目检查器中添加语言。 - wakachamo
要实现“即时”更改语言,您可以使用http://cocoapods.org/pods/L10n-swift。 - Adrian Bobrowski
1个回答

0

Xcode不会自动将你生成的文件添加到构建路径中,你必须手动添加它们。此外,genstrings会生成Localizable.strings文件,然后你可以进行本地化。要生成你所说的lproj文件,你必须对Main.storyboard文件进行本地化。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接