iOS 项目的本地化处理(多语言开发)
来源:互联网 发布:陕西师范大学网络 编辑:程序博客网 时间:2024/05/16 09:12
iOS 项目的本地化处理(多语言开发)
什么是本地化处理?
本地化处理就是我们的应用程序有可能发布到世界的很多国家去,因为每个国家应用的语言是不一样的,所以我们要把我们的应用程序的语言要进行本地化处理一下。
本地化处理需要处理那些文件?
(1):本地化应用程序名称(我的的项目名称)
(2):本地化字符串处理(项目中所涉及的字符串)
(3):本地化图片
(4):XIB文件本地化处理
(5):其他文件
下面进行本地化处理:
1 . 设置我们的工程支持多语言
为什么:因为只有设置成支持多语言了,我们才能在展示项目名称和项目中的字符串等将语言进行切换
(1): 首先创建一个项目,以“苹果”为项目名做测试
(2):为工程添加可支持的语言,只有项目具有我们想要用的语言,我们才能讲项目切换成这种语言
如图所示:
2:设置项目名称本地化处理
(1):InfoPlist.strings文件是对我们应用程序的名字进行管理的
(2):设置InfoPlist.strings其实很简单,就是借助我们上一步设置的语言环境,将我们想要支持的语言添加到InfoPlist.strings文件之下就可以了
(3):如图所示添加过程:
(4)接下来我们只需要将CFBundleDisplayName属性和它所对应的值分别写在我们在InfoPlist下创建的文件中
例如:
在InfoPlist.strings(English)中我们写入:CFBundleDisplayName = "apple";
在InfoPlist.strings(Chinese(Simplified))中我们写入:CFBundleDisplayName = "苹果";
在InfoPlist.strings(English)中我们写入:CFBundleDisplayName = "リンゴ";
注意:后面的“”前面不加@
(5):在Info.Plist文件中添加一个属性Application has localized display name然后设置成Boolean类型的Yes就可以了
(6):在模拟器中更改模拟器的语言就会看到以下三种效果:
3:本地化字符串处理(项目中所涉及的字符串)
提示:本地化字符串处理和2中讲的项目名本地化处理基本上是一样的,只不过我们需要在创建一个像Info.Plist文件一样的文件来管理我们的本地化字符串
就是创建一个Localizable.strings文件,然后同样是在这个文件夹下创建多种支持语言
(1):创建Localizable.strings文件的方式和上面创建Info.Plist的方式是一样的,只是文件名不一样
(2):在Localizable.strings文件下添加支持的语言
如图所示:
(3):然后我们在Localizable.strings下得各个文件添加类似于如下的内容:
例如:
Localizable.strings(English)中 “Login”=“Login”;
Localizable.strings(Chinese(Simplified)) 中 “Login” = “登陆”;
Localizable.strings(Japanese) 中 “Login” = “登録”;
然后有人可能问了我们每个等号前的"Login"是怎么确定的? :往下看
然后我们怎么用呢?
就是每次我们在用到我们设定的字符串的时候不用NSString了,我们需要用到一个函数代替它:NSLocalizedString(key, comment)
例如我们要再一个Button上设定主题:button.title = NSLocalizedString(@“Login”, nil);
这个里面的@“Login”就会自动检索于设备相同语言的Localizable.strings下得文件夹,然后在里面找到与@“Login”相同的Key值,然后就输出出来
其实我们在Localizable.strings下得文件夹中设置的内容就像一个字典一样,前面是Key值后面是对应的值,然后就是通过NSLocalizedString(@“Login”, nil);函数进行检索,将key对应的值返回过来。
有人会文NSLocalizedString(key, comment)中的comment是什么,很明显根据字义判断是注释的意思
如图所示:
总结:
其实很简单,就是我们把Localizable.strings下面设置好我们所需要的语言,然后我们在将我们在项目中用到的字符串都用"Three"="3";的形式整理到各个对应的文件里面,然后我们要是用到我们需要的字符串的时候我们就通过NSLocalizedString(key, comment)函数以key值的形式找里面的值,然后将我们自己设置的语言对应的值展现出来,这就是本地化处理.
转自简书深山老林飞 :http://www.jianshu.com/p/b053bbd8c339
- iOS 项目的本地化处理(多语言开发)
- iOS 项目的本地化处理(多语言开发)
- iOS项目本地化-(多语言处理)
- iOS开发--项目的本地化处理(多语言开发)
- iOS项目的本地化处理(多国语言)
- 关于多语言本地化的ios app开发教程
- 多语言本地化操作的ios app开发教程
- ios的本地化处理
- 本地化处理(IOS)
- ios多语言本地化
- iOS 多语言本地化
- iOS 本地化(多语言支持)
- iOS开发-多语言本地化和手动切换
- 【iOS开发】iOS根据不同的语言,显示不同的APP名字--即:app名字多语言本地化
- iOS 本地化多语言支持
- iOS 本地化多语言支持
- iOS开发总结-----项目名字本地化
- IOS应用程序多语言本地化的一点个人总结
- 一句话概括下spring框架及spring cloud框架主要组件
- Android性能优化之管理应用的内存
- Core Animation核心动画(1)
- 第六届河南省赛 zzulioj 1483: 最舒适的路线 (并查集)好题 nyoj 711
- POJ 2392 Space Elevator(排序处理多重背包)
- iOS 项目的本地化处理(多语言开发)
- Android数据存储
- Adapter的一个坑
- 设计并实现一个LRU Cache (java)
- 2016·曙光之年
- 写在首页
- 数据结构 JAVA描述(十) 交换排序
- 大数据系列第三课:scala基础
- Xamarin: UITableView设置DataSource后没有自动刷新的问题