我是Objective-C编码的新手,但我来自移动开发的Java世界.在Android中,我们使用字符串资源,然后指向Java类中的那些资源.我们应该使用iOS中的类似过程,还是将字符串"硬编码"到实现文件中?我还没有找到一个使用localizable字符串(和.strings)文件的好教程.
小智 6
您可以使用Foundation中的NSLocalizedString宏来检索本地化字符串.请在此处阅读:http: //www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide/
示例:构建双语(英语 - 法语)应用程序.每当遇到要向用户显示的字符串时,请使用NSLocalizedString而不是实际的字符串常量.例如:
代替
self.title = @"Welcome";
Run Code Online (Sandbox Code Playgroud)
使用
self.title = NSLocalizedString(@"Welcome");
Run Code Online (Sandbox Code Playgroud)
在应用包中创建两个目录,如下所示:
MyApp.app
English.lproj
Localizable.strings
French.lproj
Localizable.strings
Run Code Online (Sandbox Code Playgroud)
在第一个Localizable.strings文件中,您可以像这样编写键值对:
"Welcome" = "Welcome";
Run Code Online (Sandbox Code Playgroud)
在第二个:
"Welcome" = "Bienvenus";
Run Code Online (Sandbox Code Playgroud)
将这些文件和文件夹添加到应用程序时,使用NSLocalizedString宏重新编译它,当系统语言为法语时,您也可以使用法语使用您的应用程序.