2017-09-25 15 views
0

我曾经使用Localizable.string文件本地化我的应用程序,并为我的项目上的每个文本提供一个键。用Xcode 9和Swift 4本地化应用程序的最佳方式是什么?

目前我正在使用Xcode 9和Swift 4进行一个项目,并且第一次使用Storyboards(是的,听起来很奇怪,但我总是在不使用Storyboard的情况下使用SpriteKit),而且我有一点点困惑如何处理与本地化。基本上我的问题是:

我应该使用Storyboard本地化为UILabel还是应该实现Localizable.string中的所有内容并通过代码为该标签赋予一个值?

任何提示,以了解哪些是本地化的最佳途径?

+0

请问你是怎么得到Xcode 9的? –

+0

@Llg我刚刚通过Apple Store进行了更新。如果你有麻烦,你可以从苹果网站下载它 – user3582537

+0

你收到来自App Store的通知?你最近的Xcode版本是什么? –

回答

0

我建议您使用Localizable.string而不是故事板本地化,因为故事板中标签的ID可能会更改。

+0

请问如何获取Xcode 9更新?因为我有Xcode 8.3.3,当我检查应用商店的更新时,我没有得到Xcode。 –

+0

谢谢你的回答!那么我肯定会使用'Localizable.strings'文件 – user3582537

0

没有更好/更糟糕的解决方案。这取决于你的目的UILabel。如果它是一个在应用程序生命周期中不会更改的元素,那么您可能更愿意直接使用Storyboard本地化。相反,如果标签可能具有不同的值,我建议您以编程方式设置您的本地化字符串。

0

我发现最可靠的解决方案之一,这对我来说确实很有用。

1我们需要使用故事板并创建本地化字符串文件。它会自动为所有对象创建ID。 按照这个tutorial

然后我们可以使用一个库MCLocaliztion,它将根据ID选择相应的转换字符串。我们必须做的,我们需要准备一个基于对象ID的正确的json。

希望它有帮助。

相关问题