iOS国际化设置

作者: Assen阿森纳 | 来源:发表于2016-10-25 11:23 被阅读2043次

    大家好,我是Assen!自个打滚学习iOS也半年之多了,现在想把自己平时的一些心得分享给大家(如果有地方描述粗略,还请大家指出改善)。    iOS国际化:听到这个词我们就可以想是为了苹果应用多语言支持的。现在就开始来实现它吧。   首页创建了一个叫iOS国际化的小项目,接下来就是设置多语言了,在Project的info里添加所需要支持的语言:

�多语言设置-01 多语言设置-02

第一步、在info中添加所需要的语言(我们这边添加了英语和繁体中文),这边包括了故事板和控制页代码的多语言性。

第二步、先设置应用程序名称,创建一个.strings扩展名的文件,并将文件命名为InfoPlist.strings(注意:这边文件名确定下来后就不要随意修改)然后保存。

多语言设置-03

第三步、选中strings文件,打开右边栏,找到Localization,点击进行语言选择。需要的语言进行打钩即可。

多语言设置-04 多语言设置-05

第四步、我们可以开始对strings文件进行内容设置了,注意內容是"key" = "value"; 的格式,记得加分号。对应的语言文件

>Traditional:CFBundleDisplayName ="iOS多語言";  > English:CFBundleDisplayName ="Many Language"; 

运行模拟器之后就会根据模拟器的语言不同,应用程序名称跟着改变。

多语言设置-06 多语言设置-07 多语言设置-08

第五步、多语言: 按照上面的步骤我们新建一个strings文件命名为Localizable(Localizable. strings是系统默认名字)。一样首先勾选我们需要的语言添加进来,然后对不同的strings文件进行内容编写。(还是进行"key" = "value"; 的格式内容,记得加分号)。                                                 

 分别对Traditional和English的内容文件进行编写。

多语言设置-09 多语言设置-10

第六步、 很关键的一步就是内容要怎么多语言呈现出来呢? 我们这边就需要用到iOS本地化中NSLocalizedString的使用。

很简单的一个实现,就是比较繁琐,每个你需要呈现多语言的地方进行添加即可:用到的一个代码就是:NSLocalizedString(@"�key",nil);  第一个参数key就是为了从Localizable.strings这个文件中读取对应的键值。第二个参数comment可以设置为nil,也可以设置对key的注释。

多语言设置-11

运行之后效果图:

多语言设置-12

总结:这篇文章就是对iOS国际化的设置进行了简单描述,过程中我们要搞清楚是通过iOS本地化中NSLocalizedString的设置来完成多语言。当你的strings文件不是系统默认自带的Localizable.strings时,你自定义一个strings文件。例如:People.strings,那么我们就得要NSLocalizedStringFromTable()来读取本地化字符串。                                                                      

 NSLocalizedStringFromTable(@"我要飞得更高",@"People", nil)。

相关文章

  • iOS多语言配置

    iOS 多语言配置(国际化) iOS app包显示名称可以国际化,具体方法如下: 基础设置 在info.plist...

  • InfoPlist

    iOS 设置国际化的时候,必须将strings文件命名为InfoPlist,要不然国际化是没有用的。

  • iOS 项目内国际化详解

    iOS 项目内国际化,即不用到iOS系统设置界面去选择对应的语言,而是在自己的项目中进行设置。 先看看我写的一个小...

  • iOS国际化设置

    国际化主要包括三个部分: 1.icon模块:桌面图标下的文字变化 2.程序内文字的变化 3.程序内图片的变化 1....

  • iOS国际化设置

    大家好,我是Assen!自个打滚学习iOS也半年之多了,现在想把自己平时的一些心得分享给大家(如果有地方描述粗...

  • iOS程序内部切换语言

    iOS系统的国际化需要在设置中进行切换,切换完成后会杀死APP,给用户体验不是很好,好在系统给了我们自己建国际化文...

  • iOS10 权限设置国际化语言

    最近有人问我:“iOS中权限设置怎么做到国际化语言”。其实很简单,实现的方法跟App名称的国际化大同小异。下面就来...

  • 项目开发相关文章

    iOS国际化

  • springboot知识点(一)

    国际化设置:

  • iOS语言本地化/国际化(图文详解)

    3分钟实现iOS语言本地化/国际化(图文详解)前言语言本地化,又叫做语言国际化。是指根据用户操作系统的语言设置,自...

网友评论

  • 引擎雪:"排行榜-动态收益" = "您的动态收益超越了%@的账户"; 请问各位大神 这个做国际化怎么放参数呢?
  • 梁森的简书:现在公司有个App就是普通的中文版的,如果要加个英文版,那么这个工作量是不是很大?
    1.增加适配中英文的文件
    2.所有涉及到需要中英文切换的文字的代码都要进行修噶
    Assen阿森纳:@Aacmr 网络请求得到的数据那是服务端处理了,apple端只是把界面上死的东西实现多语言,这个操作是很麻烦。就是要一个一个在本地加。
    Aacmr:@Assen阿森纳 如果增加英文版的app。 那这样岂不是很麻烦呀!所有的label网络请求的数据都要这样按这句代码 NSLocalizedStringFromTable(@"我要飞得更高",@"People", nil),设置吗? 没有简便的方法吗?
    Assen阿森纳:@阳光黑 是的,前端涉及到的文字都要添加多语言,都要修改。
  • coder小鹏:楼主你好,你做国际化的时候有没有国际化infoplist中的内容,比如访问定位权限和相册等信息的国际化??
    梁森的简书:访问相册的时候有个提示,也需要适配吧,毕竟提示内容是我们自己写的
    coder小鹏:@Assen阿森纳 嗯嗯,好的,谢谢
    Assen阿森纳:@coder小鹏 单单使用国际化是不需要去改info.plist文件的。
  • 谁是黄子明:楼主 你文中有个 ‘Locallzation’ 写错了~~ 应该是 -> Localization, I -> i

    :sob: 找了老半天都不知道问题出在哪里了
    b1603ac0f11e:@谁是黄子明
    Assen阿森纳:@谁是黄子明 谢谢你的提醒了,接下来写的文章会更加专心的:smile:

本文标题:iOS国际化设置

本文链接:https://www.haomeiwen.com/subject/lgcokttx.html