Swift 2 中的本地化
Posted
技术标签:
【中文标题】Swift 2 中的本地化【英文标题】:Localization in Swift 2 【发布时间】:2015-06-11 08:40:13 【问题描述】:我想本地化我的应用程序;我正在使用 Swift 2。我关注了 this tutorial,但遇到了 2 个问题。
1。两种语言的本地化图像都会消失
我以相同的方式为 德语 和 英语 本地化了多个图像。对于两种语言,一组图像(图像的 en 和 de 版本)都会消失。我添加了它们,它们在项目的文件夹中,我无法发现与我本地化的其他图像有任何区别。
我试过了
清理并运行项目(没有错误) 删除图片并重新添加 删除并添加了本地化……没有任何帮助。有什么想法吗?
2。错误 w/ NSLocalizedString
& Localizable.strings
我创建了一个Localizable.strings
来本地化我的应用程序的字符串。以下是我使它们可本地化的方法:
button.setTitle(NSLocalizedString("buttonTitle", comment: "MyButton"), forState: .Normal)
在 English 的Localizable.strings
中我添加了:
"buttonTitle" = "MyButton"
…对于德语:
"buttonTitle" = "MeinButton"
现在,Xcode 不会在代码中显示任何错误,但会显示
读取失败: 无法读取数据,因为它的格式不正确。
有任何想法吗? 谢谢提前:)
编辑
问题 #2 已解决,我在那里错过了 ;
。感谢codingVoldemort!
【问题讨论】:
要“即时”更改语言,您可以使用cocoapods.org/pods/L10n-swift。 酷,谢谢。我会试试的! @AdrianBobrowski 【参考方案1】:-
我认为您错过了 Localizable.strings 每个键值对后的分号。
【讨论】:
该死 :( 谢谢,我以为我不需要它。第一期有什么想法吗? 确实;字符串文件的名称不容错过!如果您希望在不更改手机系统语言的情况下使用本地化,这里是一个示例库 - github.com/pr0gramm3r8hai/DGLocalization【参考方案2】:在英语和德语的Localizable.strings
中您错过了语句末尾的分号。
应该是这样的:
"buttonTitle" = "MyButton";
和
"buttonTitle" = "MeinButton";
您可以参考Apple docs。
【讨论】:
感谢您的回答。第二个问题——你在这里解决的——已经解决了。【参考方案3】:我有点晚了,但如果您仍在为任务 #1 寻找解决方案:
您可以使用tutorial 中提供的解决方案;有一个图像国际化部分。
“在项目导航器中选择 [您的图像] 后,单击文件检查器下的本地化按钮。这将为您提供以英语和德语本地化文件的选项。”
话虽如此,我不确定这是否适用于 Swift 2(如果你还在的话);但这应该可以使用最新的 Xcode/IDE。
【讨论】:
以上是关于Swift 2 中的本地化的主要内容,如果未能解决你的问题,请参考以下文章