iOS开发-国际化-配置App多语言
来源:互联网 发布:复杂网络 pdf 编辑:程序博客网 时间:2024/05/16 01:46
作者:大慈大悲大熊猫
链接:http://www.jianshu.com/p/1edd4bda6fe5
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
基本设置
第一步:先在Project的info里添加所需要支持的语言,这里选择的是Chinese(Simplified)和English-Development Language。
第二步:创建Localizable.strings文件(注意:文件名最好不要随意更改)作为多语言对应的词典,存储多种语言。
继续在Localization里添加所要支持的语言,将其勾选上。
第三步:最后就可以在Localizable.strings里随意设置所需要支持的语言啦。
格式
Localizable.strings内设置格式:”testName” = “测试名称”
NSLocalizedString代替String:NSLocalizedString(@”testName”,nil)
StoryBoard设置
storyboard同Localizable.strings类似。
第一步:选中storyboard,选择ShowtheFileInspector,在Localization选择所需要支持的语言。
第二步:在Main.strings(Chinese(Simplified))和Main.strings(English)里设置语言。
格式
Main.strings里的格式比较特殊,如下所示:
/* Class = "UILabel"; text = "testName"; ObjectID = "pUp-yc-27W"; */"pUp-yc-27W.text" = "testName";
需要注意的是,不要直接改变自动生成的ObjectID,也不要复制和粘贴上边的代码行,因为标签的ObjectID可能已经跟上边展示的不一样了。
图片设置
图片设置也和Localizable.strings类似,图片资源存放在Images.xcassets里,使用时将不同语言的图片资源在Localizable.strings里一一对应设置,如下所示:
Localizable.strings (English)"imageName" = "pic-en";Localizable.strings (Chinese(Simplified))"imageName" = "pic-cn";
货币值设置
货币显示在不同的国家是有区别的,例如:10000可以写作”10,000”也能写作”10.000”。针对这种情况可以使用NSNumberFormatter格式化,例如:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSString *numberString = [numberFormatter stringFromNumber:@(10000)];
testLabel.text = [NSString stringWithFormat:NSLocalizedString(@”testNum:%@”, nil), numberString];
应用名设置
Info.plist有一个特殊的文件(InfoPlist.strings),在里边用字符串覆盖其他语言,如下所示:
InfoPlist.strings (English)"CFBundleDisplayName" = "EnglishName";InfoPlist.strings (Chinese(Simplified))"imageName" = "中文名";
- iOS开发-国际化-配置App多语言
- iOS开发-国际化-配置App多语言
- iOS APP多语言开发(国际化)
- iOS开发-APP语言国际化
- iOS App多语言国际化
- iOS-生成国际化包-配置App多语言支持
- iOS-生成国际化包-配置App多语言支持
- iOS-生成国际化包-配置App多语言支持
- iOS-生成国际化包-配置App多语言支持
- iOS-生成国际化包-配置App多语言支持
- iOS-生成国际化包-配置App多语言支持
- iOS 生成国际化包 APP支持多语言配置
- IOS-App国际化配置
- iOS开发-app国际化
- iOS开发:国际化之app支持多种语言切换
- iOS开发:国际化之app支持多种语言切换
- App语言国际化(iOS)
- iOS多语言(国际化)开发(跟随系统 + APP内手动设置)
- 数据处理样例
- 关于cocos2d-x3.0和2.0之间的区别
- Head First设计模式1----------策略模式
- Count the Number(set 金马五校赛-东华大学)
- 21个最具代表性的英国著名地标建筑
- iOS开发-国际化-配置App多语言
- 跨进程通信中AIDL文件的理解
- 经验 | 游戏人成长唯一有效的途径:接触更多更优秀的人
- IDE中配置文件导入和打开新文件的一些问题
- 打印hibernate的SQL语句的几种办法
- Java学习之反射
- js中__proto__和prototype的区别和关系?
- RTMP开发记录 测试服务器搭建篇
- 几种软件滤波方法