iOS应用国际化教程(2014版)
本文转载至 http://www.cocoachina.com/industry/20140526/8554.html
这篇教程将通过一款名为iLikeIt的应用带你了解最基础的国际化概念,并为你的应用添加国际化的支持。该示例应用有一个标签和一个You Like?按钮,用户无论何时点击You Like?,一些乐观的销售数
“”
应用国际化
本文最初由Sean Berry撰写,由Ali Hafizji针对iOS 7进行了更新。
注意:国际化另一个重要的方面是使用Auto Layout改变文本的大小。不过为了让本教程尽可能地简单,我们不会主要关注Auto Layout。对于Auto Layout这个话题,我们另有其他教程。 |
注意:Localizable.strings是iOS用来本地化文本默认的文件名称。请抑制以其他内容给它命名的冲动,否则以后你每次引用本地化字符串的时候要一次次输入.strings 文件名。 |
- "KEY" = "CONTENT";
- "You like?" = "You like?";
- "Yesterday you sold %@ apps" = "Yesterday you sold %@ apps";
- _salesCountLabel.text = [NSString stringWithFormat:@"Yesterday you sold %@ apps", @(1000000)];
- [_likeButton setTitle:@"You like?" forState:UIControlStateNormal];
- _salesCountLabel.text = [NSString stringWithFormat:NSLocalizedString(@"Yesterday you sold %@ apps", nil), @(1000000)];
- [_likeButton setTitle:NSLocalizedString(@"You like?", nil) forState:UIControlStateNormal];
- #define NSLocalizedString(key, comment)
- [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
注意:这个宏把注释作为一个参数,但似乎没什么用。不像此前那样需要手动把每个key/value对键入Localizable.strings,你还可以使用iOS SDK带的一个叫做genstrings的工具来自动处理(非常适用于大型项目)。 |
- "Yesterday you sold %@ apps" = "Ayer le vendió %@ aplicaciones";
- "You like?" = "~Es bueno?~";
- NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
- [numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
- NSString *numberString = [numberFormatter stringFromNumber:@(1000000)];
- _salesCountLabel.text = [NSString stringWithFormat:NSLocalizedString(@"Yesterday you sold %@ apps", nil), numberString];
- /* Class = "IBUILabel"; text = "Hello"; ObjectID = "pUp-yc-27W"; */
- "pUp-yc-27W.text" = "Hello";
- /* Class = "IBUILabel"; text = "Hola"; ObjectID = "pUp-yc-27W"; */
- "pUp-yc-27W.text" = "Hola";
注意:绝对不要直接改变自动生成的ObjectID,也不要复制和粘贴上边的代码行,因为标签的ObjectID可能已经跟上边展示的不一样了。 |
- "imageName" = "ilike";
- "imageName" = "megusta";
- [_imageView setImage:[UIImage imageNamed:NSLocalizedString(@"imageName", nil)]];
注意:这仅适用于每种语言有不同文件名的情况。一个更好的方法是本地化资源文件夹,如这篇文章所描述的那样。 |
- "CFBundleDisplayName" = "Me Gusta";
iOS应用国际化教程(2014版)相关推荐
- AutoCAD ObjectARX(VC)开发基础与实例教程2014版光盘镜像
AutoCAD ObjectARX(VC)开发基础与实例教程2014,最新版,光盘镜像 作者:张帆 朱文俊 编著 出版社:中国电力出版社 出版时间:2014年6月 点击一下 转载于:https://w ...
- ios开发基础教程 2014传智播客iOS培训第4期 基础+就业班
ios培训肯定是靠谱的,因为你想要从事这个行业就必须经过培训,这样才是你进入这个行业的最佳路径.ios现在行业还是挺不错的,企业对ios的人才需求量也大. ios软件工程师月薪多少? ios开发工程师 ...
- c语言程序设计教程2014版,C语言程序设计案例教程(第3版)
领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...
- iOS游戏框架Sprite Kit基础教程——Swift版上册
iOS游戏框架Sprite Kit基础教程--Swift版上册 试读下载地址:http://pan.baidu.com/s/1qWBdV0C 介绍:本教程是国内唯一的Swift版的Spritekit ...
- 零积分下载,2014年辛星mysql教程秋季版第一本已经完工,期待您的支持
经过一段时间的不懈努力.终于,2014年辛星mysql教程秋季版的第一本,即夯实基础已经完工,在csdn的下载地址为:去下载地址 ,假设左边地址跪了,能够去http://download.csdn.n ...
- ios关联启动_部落冲突电脑版与IOS设备关联教程
如何在电脑版上玩IOS的部落冲突,现阶段虽然有许多的安卓虚拟机可以实现在电脑上玩手机游戏,但是在电脑上玩IOS手机游戏还是非常有难度的,不过部落冲突有点不一样,这款游戏无论在哪个设备上都可以玩,下面魔 ...
- 【MC教程】iPad启动Java版mc(无需越狱)(保姆级?) Jitterbug启动iOS我的世界Java版启动器 PojavLauncher
[MC教程]iPad启动Java版mc(无需越狱)(保姆级?) Jitterbug启动iOS我的世界Java版启动器 PojavLauncher 文章目录 [MC教程]iPad启动Java版mc(无需 ...
- IOS版aplayer使用教程_Y Y的使用教程视频版/图片版(手机版。电脑版。楚恒上课必用软件)...
手机版YY使用教程文字版 第一步:下载YY这个软件. 下载YY.是英文字母YY.不是汉字丫丫.苹果手机在APP Store.其他手机在相应的应用商店.没有的.下载360手机助手.在360手机助手里下载 ...
- iOS 12系统安装教程:开发者预览版抢先体验
6月5日凌晨,苹果正式给大家带来了iOS 12操作系统,同时演示了其很多的新功能.看了这些功能之后,你是否已经跃跃欲试了呢?不过需要提醒大家的是,本次苹果提供的是iOS 12开发者预览版,其中还有很多 ...
最新文章
- 怎么判断ajax返回是否成功,如何判断jquery的ajax请求已经返回
- 2.cocos2d-x坐标体系(UI坐标系,GL坐标系,本地坐标,世界坐标,节点坐标)
- MYSQL进入客户端后切换服务器的简单做法试验
- LDAP命令介绍---dsconfig子命令----help-distribution显示与分发相关的子命令
- 《网络攻防》 第六周学习总结
- 文本输入框input将输入转换为统一大小写
- knight tour java,Knight Tour Problem
- nginx 失败问题集合
- 全新开始fighting
- python计算机视觉编程——sift特征提取和ransac减少错配
- 金税盘显示frm000013_开票软件提示FRM-000013怎么回事?
- sql 2000简体中文企业版下载(含SP3 SP4 下载地址)
- pearson特征选择matlab,常用的特征选择方法之 Pearson 相关系数
- 关于Microsoft Project默认开始时间错误问题
- Python实现将mp3音频格式转换为wav格式
- 任正非:一个人对自己都不狠,哪来的战斗力?
- 线程上下文切换扫盲文
- C++EXCEL排序
- tcp粘包及如何解决
- mybatis-day04-改进多表查询collection配置、延迟加载、缓存、注解开发(★)
热门文章
- java jni linux_java jni实现linux环境下绑定硬件的License
- hadoop put命令的格式_HDFS常用命令
- 581. 最短无序连续子数组 golang
- C++ 拷贝构造函数的使用场景
- c语言中 %.2s,C2S是什么意思
- Educational Codeforces Round 73 (Rated for Div. 2)
- 用C语言操作MySQL数据库
- 1003 我要通过!(20)(20 分)
- java环境变量的配置步骤,实现原理分析
- 餐厅点餐系统:测试与部署