我过去经常使用Localizable.string文件来本地化我的应用程序,并为我的项目中的每一个文本提供一个键。
目前,我正在使用Xcode 9和Swift 4进行一个项目,这是我第一次使用故事板(是的,听起来很奇怪,但我总是使用SpriteKit而不使用故事板),我有点困惑如何用它来处理本地化问题。基本上我的问题是:
我是应该为UILabel使用Storyboard本地化,还是应该在Localizable.string中实现所有内容,并通过代码给标签一个值?
为了了解哪种方法是本地化的最好的方法,有什么建议吗?
发布于 2017-09-25 13:36:18
我建议您使用Localizable.string而不是Storyboard本地化,因为故事板中标签的ids可能会更改。
发布于 2017-09-25 13:48:31
没有更好/更糟的解决办法。这取决于您的UILabel的目的。如果它是一个在应用程序生命周期内不发生变化的元素,那么您可能更喜欢直接使用Storyboard本地化。相反,如果标签可能有不同的值,我建议您以编程方式设置本地化字符串。
发布于 2017-09-26 05:17:51
我发现的最可靠的解决方案之一,这正是我的工作。
第一,我们需要使用故事板并创建本地化字符串文件。它将自动为所有对象创建ID。遵循这个教程
然后我们可以使用一个库MCLocaliztion,它将根据ID选择相应的转换字符串,我们需要根据对象ID准备一个合适的json。
希望能帮上忙。
https://stackoverflow.com/questions/46406540
复制相似问题