iPhone中使用NSLocalizedString实现国际化
2010-02-08, Posted in Objective-c | 4 回复
一、获取系统所支持的国际化信息
在国际化之前,你可以在iphone中的”设置->通用->多语言环境->语言”中来查看你的iphone支持哪些语言,当然也可以写一段代码测试一下你的iphone都支持哪些语言.测试代码如下:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSArray *languages = [defaults objectForKey:@"AppleLanguages"]; NSLog(@"%@", languages);
注:NSUserDefaults类用来取得用户人默认信息.
二、在Xcode中建立多语言文档
1.在Resources分类下新建文档(右鍵/Add/New File…)
2.在模板对话框中选择Other,然后再选择Strings File
3.将文件保存名设置为Localizable.strings
4.在Localizable.strings 文件上按右键并选择 Get Info
5.点击信息界面的Make File Localizable,然后再将Tab标签切换到General
6.输入新的语言名称 zh 後按 Add,些时有English与zh两种语言,你还可以增加其它语言.
三、在源代码中使用NSLocalizedString来引用国际化文件
//括号里第一个参数是要显示的内容,与各Localizable.strings中的id对应 //第二个是对第一个参数的注释,一般可以为空串 [_alertView setTitle:NSLocalizedString(@"Submitted successfully",@"")];
四、使用Terminal的genstrings命令进行生成资源文件
打开Terminal,然后cd到工程所在的目录,然后使用genstrings来生成自动从源代码中生成资源文件.
例如,项目的目录为:/user/project/test01,则命令如下:
genstrings -o English.lproj ./classes/*.m genstrings -o zh.lproj ./classes/*.m
五、编辑各Localizable.strings文件
从第四步中得到了与代码对应的资源文件,最后我们需要对这些资源文件翻译成对应的语言就可以了.如在Localizable.strings(zh)中,把等号后的文字进行编译成中文.
"Submitted successfully" = "提交成功"
重新编译整个工程后,就会在不同的语言环境下得到相应的语言显示.
相关日志
2 Comments for this entry
2 Trackbacks / Pingbacks for this entry
-
国际化Iphone的应用程序名称 - Voland.com.cn
四月 15th, 2010 on 10:27:04[...] 在前面的文章,有一文章叫做《iPhone 中使用NSLocalizedString实现国际化》,它主要介绍了在应用程序中,字符等信息的国际化(本地化),很多情况下,我们希望应用程序的名称也能够做到国际化,让不同国家的人一看程序名,基本就能了解到本程序的用途,比如,方都化工网出品的化工贸易行情软件i16ds,如果看英文名,我们是没有办法了解它的用途的,除非对方都化工网非常熟悉。 [...]
-
iPhone中使用NSLocalizedString实现国际化 | 第三极 | 移动开发者
四月 23rd, 2011 on 12:19:52[...] 原文链接:http://www.voland.com.cn/iphone-use-nslocalizedstring-internationalization >>> 进入[Android2D游戏开发]主题文章列表 转载编辑: Fgamers 转载地址:http://disanji.net/2011/04/23/iphone-nslocalizedstring-international/ 分享到 | blog comments powered by Disqus /* [...]
一月 28th, 2011 on 17:27:09
按照上面说的没有试出来。不知道怎么回事。
只显示id. 比如:在Localization.strings中
“start_game” = “开始游戏”;
运行时只显示“start_game”
三月 6th, 2011 on 16:35:47
理论上应该会出来,因为这个我用在已经上线的项目了,大家请在苹果商店上搜索“方都化工”就能搜索到这个软件