NSLocalizedString(二)
来源:互联网 发布:网络电视盒的安装方法 编辑:程序博客网 时间:2024/05/18 17:59
程序本地化是扩展应用市场的重要砝码.iOS提供了简便的方法来实现本地化,其中用的最多的就是NSLocalizedString.
首先查看下NSLocalizedString是什么:
#define NSLocalizedString(key, comment) \ [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
这是一个宏,本质上是调用了函数 locakizedStrigForKey:.这样,这个宏做的其实就是在当前bundle中查找资源文件名Localizable.strings
中键值key所指向的字符串.这样就不难理解还有诸如:NSLocalizedStringFromTable的宏了.
下面我们就来具体实现一下.
新建任一工程,然后添加新文件Localizable.strings,如图:
然后选择文件属性中的"Make File Localizable",页面自然跳转,再选择"General"选项卡时就会发现"Add Localization"了.
默认有English,我们可以添加zh-hans ,然后在相应的文件中输入: "TITLE" = "你好",这样在代码中只需要简单的调用:
label.text = NSLocalizedString(@"TITLE",nil);
此时在工程文件下出现了 *.lpjo的文件夹,下面安置了相应的本地化文件.由此可以判断,对于其他资源文件如图片,xib文件都可以进行本地化.
最后,我们再实现对程序名称的本地化.
在工程的info.plist文件的属性中选择"Make File Localizable",然后会发现工程下出现InfoPlist.strings的文件,如法炮制,添加zh-hans,并在
相应的文件中添加"CFBundleDisplayName" = "中文名称" 即可.这样,你会发现你的机器上程序名称变成了中文.
PS:我还遇到一个问题,就是在本地化的时候语言代码是需要手工添加的,apple的文档上说所有的语言代码可以从ISO639( 点击打开链接)查询,可这个列表上中文对应的是chi/zho.而这显然没有区分简体和繁体中文.
不解,希望有了解的麻烦告知下.
转载地址:点击打开链接
- NSLocalizedString(二)
- 国际化NSLocalizedString(续)
- NSLocalizedString
- NSLocalizedString
- NSLocalizedString
- NSLocalizedString
- NSLocalizedString
- iOS 本地化应用程序(NSLocalizedString)
- iOS 应用程序字符串本地化(NSLocalizedString)
- NSLocalizedString不起作用
- iOS NSLocalizedString
- 国际化NSLocalizedString
- NSLocalizedString 实现国际化
- NSLocalizedString 实现国际化
- 为何使用NSLocalizedString
- NSLocalizedString 实现国际化
- ios国际化-NSLocalizedString
- NSLocalizedString 国际化失败
- GridView的行颜色高亮显示(包括满足条件的行)
- Beacon Mountain 测试版 – 常见问题解答
- SWT背景图片透明色变黑,边框问题
- Android Toast.makeText().show()无法正常显示
- VC读取和写入配置文件
- NSLocalizedString(二)
- SharePoint Server 2013开发之旅(四):配置工作流开发和测试环境
- struts2 从一个action 跳转到另一个action的两种方法
- Eclipse EasyExplorer打开文件夹的插件
- 2011级java第一周(春)项目---求2个整数的最大公约数
- 网络IPC之套接字
- 人之所以有一张嘴,而有两只耳朵,原因是听的要比说的多一倍
- 电脑断电文件损坏怎么恢复
- 淘宝低价游戏币内幕