iOS 国际化多语言设置

方式一:

1. 在storyboard中创建好UI,然后在 project 里面  Localizables 栏目里面,添加你需要的语言;默认是Englist; 比如这里我添加了 简体中文

2.添加完之后,原来的Main.storyboard 就会多了一个国际化的语言配置文件

3. 点击 Main.strings 文件,就可以在这里配置中文的语言;里面自动添加现在storyboard上面创建好的UI控件的代码,直接在这里修改即可;此时sotyboard上设计的理解为 英文状态;这里是运行时的中文状态;

/* Class = "UILabel"; text = "LABEL A"; ObjectID = "I0M-DM-Gzt"; */
"I0M-DM-Gzt.text" = "标题 A"; /* Class = "UIButton"; normalTitle = "BUTTON B"; ObjectID = "XJX-jB-S2s"; */
"XJX-jB-S2s.normalTitle" = "按钮 B"; "cRs-Hi-BTS.text" = "标题 C";

4. 那么以后我们在storyboard上另外添加新的ui控件时,这里的文件不会自动更新怎么办呢;

这时我们就要自己找到新添加控件的 object-id; 就是上面 cRs-Hi-BTS 这样的东西,标识id,然后手动添加上述类似的代码;

如何回去已经添加新控件的 object-id; 在storybrad上选中相应的控件,然后右边属性栏里面找 object-id

方式二:手动创建 Localizable.strings文件

新建文件,创建 Localizable.strings 文件; 先选中一个 English 或是 添加的中文;最后 点击 文件;在右边属性栏的 反正是勾选你需要国际化的语言;

我这里就是 中文 和英文;选中之后,同样  Localizable.strings 就会展开变成国际化开发的两个文件

分别在这两个文件 里面以 key = value 写;

english 里面: TName = "Name";

Simplified 里面:TName = "名字";

在代码中使用的时候:

self.titleLabel.text = NSLocalizedString(@"TName", nil);

即可

三:另外关于 app 显示名称的国际化处理

和上面差不多;只需要手动创建一个 InfoPlist.strings 文件;同样选中 需要国际化的语言;

在 English文件和 中文文件 里面;

写上对应的

CFBundleDisplayName = "ABS-EN";

CFBundleDisplayName = "ABS-CN";

即可;

四:另外关于图片的国际化

可以准备多套图片,然后在 strings 文件 里面,处理名称即可

参考:http://www.cocoachina.com/ios/20150114/10911.html

iOS 国际化多语言设置 xcode7的更多相关文章

  1. iOS国际化多语言设置

    一.创建工程.添加语言

  2. Unity 国际化 多语言设置

    很多游戏中都有语言设置选项,NGUI插件中自带了国际化脚本,但是灵活性较低,而且目前项目是UGUI,以下是修改后,以便记录. Localization和NGUI中用法一样,挂在在一个不销毁的游戏物体上 ...

  3. iOS应用的语言设置

    首先需要明确两个名词的区别:“当前手机的系统语言”.“应用内部的语言设置” 要解决的问题的情景: 在iOS应用中,有时候会调用系统的一些UI控件,例如: 1.在UIWebView中长按会弹出系统的上下 ...

  4. yii2 api接口 实现国际化多语言设置

    1) 在 /config/main.php 下添加如下代码: 'components' => [ 'language' => 'zh-CN', 'i18n' => [ 'transl ...

  5. 【Swift 3.0】iOS 国际化切换语言

    有的 App 可能有切换语言的选项,结合系统自动切换最简单的办法: fileprivate var localizedBundle: Bundle = { return Bundle(path: Bu ...

  6. iOS开发——iOS国际化 APP内语言切换

    最近一个一直在迭代的老项目收到一份新的开发需求,项目需要做国际化适配,简体中文+英文.由于项目中采用了storyboard和纯代码两种布局方式,所以国际化也要同时实现.上网查了些资料,实现了更改系统语 ...

  7. iOS多语言设置

    最近公司做的项目需要向国外推广,因此app需要添加相应的语言设置,为此整理记录下多语言设置的过程.如有不对的地方,欢迎各位大神指正.下面就详细介绍下设置的过程: 1.基本设置 第一步:首先在 项目工程 ...

  8. iOS 学习笔记六 【APP中的文字和APP名字的国际化多语言处理】

    今天为新手解决下APP中的文字和APP名字的国际化多语言处理, 不多说了,直接上步骤: 1.打开你的项目,单机project名字,选中project,直接看图吧: 2.创建Localizable.st ...

  9. 详述iOS国际化

    在真正将国际化实践前,只知道通过NSLocalizedString方法将相应语言的字符串加载进来即可.但最近公司项目的新需求增加英文版本,并支持应用内无死角切换~,这才跳过各种坑实现了应用内切换语言, ...

随机推荐

  1. 北邀 E Elegant String

    E. Elegant String Time Limit: 1000ms Case Time Limit: 1000ms Memory Limit: 65536KB   64-bit integer ...

  2. java-cmd-命令行编译和运行java文件

    一.使用的工具 1.javac 2.java 二.命令 项目目录只这样的 D:/project/src/com/example/Child.java D:/project/src/com/exampl ...

  3. 安卓开发之json解析

    1.从网页获取json返回字符串 public class ReadNet extends AsyncTask<URL, Integer, String> { @Override      ...

  4. 使用JavaScript输出

    使用JavaScript输出 1.如果需要JavaScript访问html元素,我们可以通过为html元素添加id属性,然后通过JavaScript的document.getElementById(i ...

  5. 复旦大学2013--2014学年第一学期(13级)高等代数I期末考试第七大题解答

    七.(本题10分)设 \(A\) 为数域 \(K\) 上的 \(n\) 阶非异阵, 证明: 对任意的对角阵 \(B\in M_n(K)\),  \(A^{-1}BA\) 均为对角阵的充分必要条件是 \ ...

  6. 错题集锦(二) -- Java专项

    错题集锦(二) -- Java专项 标签(空格分隔): 找工作 JVM的内存模型 线程共享: 堆(Heap):主要存放一些对象实例 方法区(Method Area / Non-Heap):用于存储已被 ...

  7. Linux的查找命令

    1. 文件搜索find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find [搜索路径] [搜索条件][搜索文件名] 如果什么参数也不加,fi ...

  8. poj 2007 Scrambled Polygon(极角排序)

    http://poj.org/problem?id=2007 Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 6701   A ...

  9. git学习笔记10-新开发的功能不想要了-强行删除分支

    添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支. 现在,你终于接 ...

  10. 细心看完这篇文章,刷新对Javascript Prototype的理解

    var person={name:'ninja'}; person.prototype.sayName=function(){ return this.name; } 分析上面这段代码,看看有没有问题 ...