0921 iOS本地化

1、本地化介绍

1、本地化分类

使用本地化功能,可以轻松地将应用程序翻译成多种语言,甚至可以翻译成同一语言的多种方言。原理是当本地化的应用程序需要载入某一资源时,如图像、属性列表、nib文件,应用程序会检查用户的语言和地区,并查找相匹配的本地化文件夹。如果找到了相应的文件夹,就会载入这个文件夹中的资源

Xcode 8 iOS 10

  • 1、xib和storyBoard本地化
  • 2、App应用名称本地化
  • 3、图片本地化
  • 4、字符串本地化

2、Demo

Snip20160921_27.png
](http://upload-images.jianshu.io/upload_images/1742830-8c2508901fd5ff9d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2、stroyBoard本地化

一、创建好中文、英文和日本语的本地化文件夹

D49E55C6-27AC-4186-998E-B01075E29913.png
Snip20160921_6.png
Snip20160921_7.png
Snip20160921_8.png

二、配置lable的文字

Snip20160921_9.png
Snip20160921_11.png

三、显示效果

Snip20160921_12.png

2、App应用名字本地化

一、Info.plist中有个叫CFBundleDisplayName的key决定了应用程序的名称

让应用程序支持名称本地化,Info.plist就会去InfoPlist.strings加载CFBundleDisplayName对应的字符串,(这里需要注意不能直接本地化Info.plist,因为这样做之后Info.plist文件会存在各自的本地化文件夹中(像en.lproj)中,这样系统会报Info.plist文件不存在的问题,虽然可以去指定Info.plist文件的位置,但是这样就不能实现本地化的目的了,所以需要用到InfoPlist.strings文件)

Snip20160921_13.png
Snip20160921_14.png
Snip20160921_15.png
Snip20160921_17.png
Snip20160921_18.png

二、配置App名称

Snip20160921_19.png
Snip20160921_20.png

三、App名称显示效果(日语)

Snip20160921_21.png

3、图片本地化

一、Xcode配置需要本地化的素材

Snip20160921_23.png
Snip20160921_24.png
Snip20160921_27.png

二、Clean然后重新跑起来

Snip20160921_25.png
Snip20160921_26.png

不要问我怎么clean, command + option + shift +K

三、显示效果(美国)

Snip20160921_28.png

注意: 使用Assets.xcassets或者Images.xcassets管理图片本地化
因为iOS暂不支持.xcassets的本地化,所以这里需要结合字符串的本地化来处理(这里也放在后面介绍)

4、字符串的本地化

一、字符串资源文件名Localizable.strings

也可以使用其他名字,但是需要终端生成Xcode可识的字符串资源文件文件,具体可参考本文末尾链接,这里只使用Localizable.strings

Snip20160921_29.png

在代码中使用NSLocalizedString(key, comment)来读取本地化字符串,key是Localizable.strings文件中等号左边的字符串,comment纯粹是注释。

Snip20160921_30.png

二、读取Localizable.strings中的key

Snip20160921_31.png
Snip20160921_33.png
Snip20160921_34.png

注意:Xcode只能读取字符串和单个单词的key,所以通一用" "来表示key,这样不容易错,毕竟资源文件是没有查错功能的

Snip20160921_35.png

如果没有对字符串进行本地化 或者 找不到key对应的值,NSLocalizedString将直接返回key这个字符串

Snip20160921_36.png

三、通过Localizable.strings中的key,读取.xcassets的图片(日本)

Snip20160921_37.png
Snip20160921_44.png
Snip20160921_38.png
Snip20160921_41.png

参考链接

千叶的博客->iOS应用本地化国际化

M了个J -> 应用程序本地化

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容