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)

EnglishLocalizable.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 中的本地化的主要内容,如果未能解决你的问题,请参考以下文章

Swift 中的本地化

Swift 用户交互翻译,本地化代码中的字符串

swift 优雅地处理Swift中可本地化的字符串。注意:此代码在Swift 2中,需要在现代Swift中使用更新。

swift中的本地通知警报声

Swift:多个本地通知,但只显示最新的

如何在 Swift 中的 UIWebView 中加载本地 PDF