iOS本地化学习小结
来源:互联网 发布:js时间戳与php时间戳 编辑:程序博客网 时间:2024/06/06 02:32
国际化学习
国际化也称作本地化,为了使不同国家和地区的用户能够有良好的体验,需要对自己所开发的应用进行不同语言的适配。
iOS中的NSBundle.h
中提供了本地化的实现方法:
/* Method for retrieving localized strings. */- (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName NS_FORMAT_ARGUMENT(1);
- key 查找的字符串的唯一标识
- value 查找的字符串的默认值
- tableName 查找的文件名,传入的文件名参数不应包含后缀名 strings,若为nil或空,则默认查找文件
Localizable.strings
一般可以直接使用NSBundle.h
中定义的宏
#define NSLocalizedString(key, comment) [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]#define NSLocalizedStringFromTable(key, tbl, comment) [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:(tbl)]#define NSLocalizedStringFromTableInBundle(key, tbl, bundle, comment) [bundle localizedStringForKey:(key) value:@"" table:(tbl)]#define NSLocalizedStringWithDefaultValue(key, tbl, bundle, val, comment) [bundle localizedStringForKey:(key) value:(val) table:(tbl)]
- NSLocalizedString(key, comment)
NSLocalizedStringFromTable(key, tbl, comment)
使用这两个宏时,都是使用与系统语言相同的语言资源包,但前者是使用默认的字符串文件
Localizable.strings
,而后者使用传入的文件进行查找。NSLocalizedStringFromTableInBundle(key, tbl, bundle, comment)
- NSLocalizedStringWithDefaultValue(key, tbl, bundle, val, comment)
使用这两个宏,可以指定资源包,即可以加载自己想要显示的语言的资源,从而实现应用内语言的切换。
在实现应用内语言切换,需要监听用户切换语言的动作,当用户切换语言时,发送通知,加载相应语言的资源包,再去刷新界面,显示正确的语言。
测试程序
0 0
- iOS本地化学习小结
- IOS应用本地化小结
- IOS应用本地化小结
- ios学习--xcode4.2本地化
- iOS 开发学习35 本地化
- 【初学】iOS学习笔记-字符串本地化实现
- iOS本地化
- ios本地化
- [IOS]本地化
- ios本地化
- iOS 本地化
- iOS本地化
- iOS本地化
- iOS 本地化
- iOS本地化
- iOS本地化
- IOS 本地化
- C++本地化小结
- 轻松突破,二分查找
- js中的原型链
- 判断两个链表是否存在交点 并求出位置
- Django在网页显示本地静态资源
- gradle编译启动项目时报错Could not find tools.jar
- iOS本地化学习小结
- 向Retrofit打响第一炮
- 《ACM程序设计》书中题目U(美丽数字)
- 二叉树的遍历算法实现、以及所有简单操作
- MVPExample--Android MVP开发见解
- 安装和使用Karma-Jasmine进行自动化测试
- 海航持续并购正向发展,集团破产消息是假的
- Spark RDD持久化策略
- java 学习总结