iOS开发:国际化之app支持多种语言切换
2015-11-28 21:51
811 查看
iOS国际化:如何切换语言
1、国际化就是将标签、提示信息等信息放到资源文件中,随着程序需要的语言提供对应的资源文件。以key/value对存储,每个资源的key值不变,value随着需求改变。
一般改变的都是写“死”的东西,网络请求的不能改变。
2、添加多语言:
新建工程(国际化)——> 国际化——>project——>info——>Localizations——> "+"Chinese(Simplified)
——> finish:
3、创建InfoPlist.strings:修改工程名语言
cmd+N(新建)——>Resource——> Strings File ——>Next
——>命名为InfoPlist.strings ——> creates ——>Finish
添加属性:
点击InfoPlist.strings——>右侧Locatize ——> Locatize
——>取消Base,勾选English, Chinses(Simplified):
——>点击左侧InfoPlist.strings下三角添加属性:
InfoPlist.string(English)里面输入:CFBundleDisplayName = "Localizable";
InfoPlist.string(Chinese(Simplified))里面输入:CFBundleDisplayName = "国际化";
此时:工程的名字改为国际化(中文下),对应的英文下变为:Localizable
4.同理创建Localizable.strings(步骤同3):修改标签显示语言
在Localizable.strings(Simplified)下写:"labelText" = "简体中文";
在Localizable.strings(English)下写:"labelText" = "Now is English";
在VC中创建一个labelText(label的对象):
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 175, 50)];
label.backgroundColor = [UIColor grayColor];
label.text = NSLocalizedString(@"labelText", nil);
[self.view addSubview:label];
结果如下:
获取所有语言和当前语言:
1、国际化就是将标签、提示信息等信息放到资源文件中,随着程序需要的语言提供对应的资源文件。以key/value对存储,每个资源的key值不变,value随着需求改变。
一般改变的都是写“死”的东西,网络请求的不能改变。
2、添加多语言:
新建工程(国际化)——> 国际化——>project——>info——>Localizations——> "+"Chinese(Simplified)
——> finish:
3、创建InfoPlist.strings:修改工程名语言
cmd+N(新建)——>Resource——> Strings File ——>Next
——>命名为InfoPlist.strings ——> creates ——>Finish
添加属性:
点击InfoPlist.strings——>右侧Locatize ——> Locatize
——>取消Base,勾选English, Chinses(Simplified):
——>点击左侧InfoPlist.strings下三角添加属性:
InfoPlist.string(English)里面输入:CFBundleDisplayName = "Localizable";
InfoPlist.string(Chinese(Simplified))里面输入:CFBundleDisplayName = "国际化";
此时:工程的名字改为国际化(中文下),对应的英文下变为:Localizable
4.同理创建Localizable.strings(步骤同3):修改标签显示语言
在Localizable.strings(Simplified)下写:"labelText" = "简体中文";
在Localizable.strings(English)下写:"labelText" = "Now is English";
在VC中创建一个labelText(label的对象):
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 175, 50)];
label.backgroundColor = [UIColor grayColor];
label.text = NSLocalizedString(@"labelText", nil);
[self.view addSubview:label];
结果如下:
获取所有语言和当前语言:
相关文章推荐
- Android之自定义View的封装
- 微信学习系列
- Android Studio 版权信息编辑
- 关于iOS的剪贴板基本知识
- [转载]微信企业号:企业客户的移动应用入口
- Android ANR分析
- Android官方文档翻译 六 1.4Starting Another Activity
- 微信服务号、订阅号、企业号差别
- 006CheckBox复选框的使用
- androidStudio 自定义代码模板
- logback logback.xml常用配置详解(二)<appender>
- Xcode 7打包的应用与iOS 9的兼容问题
- 蓝懿 iOS 技术交流和心得分享 11.28
- 程序猿进化必读:让App的运行速度与响应速度趋于一流(iOS)
- 从今天开始学习ios,入门第二天(Object-C学习笔记)内存管理
- HDU 2617 Happy 2009
- GitHub Android 常用第三方框架源码地址
- 从今天开始学习ios,入门第一天(Object-C学习笔记)
- The following classes could not be found: android.support.v7.internal.app.WindowDecorActionBar
- 如何查看Android应用使用的内存