我正在学习如何从Android背景制作IOS应用程序。在Android中,您应该将用户可见的大部分/全部字符串放在strings.xml
文件中,即使您的应用不会被翻译。
这意味着如果您设置按钮的标题/设置Android的等效文本" UILabel"您将从strings.xml
文件中获取字符串。
我不打算本地化我的IOS应用程序。既然如此,那么这样做是否正常:
exampleUIButton.setTitle("Test string", forState: .Normal)
或者应该"测试字符串"存储在Localized.strings
文件中?
答案 0 :(得分:1)
虽然不是强制使用Localized.strings是一个非常好的习惯。如果您以后改变主意,添加本地化会更容易,因为您不必在整个项目中搜索字符串。有了它,您可以在一个位置拥有所有字符串。而且代码的差异真的不大:
exampleUIButton.setTitle("Test string", forState: .Normal)
VS
exampleUIButton.setTitle(NSLocalizedString("str_test", comment: ""), forState: .Normal)
其他好处是可以轻松地在项目之间共享字符串集,拼写检查以及提高编辑器中字符串的可见性。
答案 1 :(得分:0)
如果您正在学习为iOS编程,那么您应该养成使用本地化字符串调用的习惯,即使您从未打算本地化您的应用程序。强迫自己这样做需要重复。
如果您对每个显示字符串使用NSLocalizedString
调用(或其变体)绝对一致,那么本地化您的应用程序就变得微不足道了。如果你错过任何一个,那么没有代码更改就无法对这些字符串进行本地化。
您绝对肯定永远不会再次使用的代码会继续存在,并且您确定永远不会进行本地化的代码有可能需要在将来某个日期进行本地化。
如果Localized.strings文件不存在,那么NSLocalizedString
调用实际上是一个无操作,但在宗教上使用它仍然是一个好主意。