首页 > 移动平台 > 详细

iOS国际化详解

时间:2016-02-15 18:26:54      阅读:370      评论:0      收藏:0      [点我收藏+]

对于iOS国际化,一般包括:

1. 工程项目名称国际化

2. 工程内控件内容国际化

3. 工程内图片的国际化

4. 工程中其它文件的国际化

 

首先我们对于第一种情况 工程项目名称国际化进行说明:(我使用的是iOS 8.4系统 Xcode 版本是6.4)

1.1 首先创建一个Single View Application模板项目, 并命名为LocalizationDemo。技术分享

1.2  点击工程PROJECT 在Info列表下的Localizations下点击加号 添加国际化语言。这里为了演示方便只添加了Chinese(Simplified)

技术分享

1.3 然后在Supporting Files 文件夹下 只发现了两个文件 一个Info.plist 一个main.m文件,如果要进行工程名称国际化需要有一个InfoPlist。strings文件(Xcode6之前有) 这里我们创建一个就行了, 然后选中该文件在右侧的inspector下点击Localizetion添加需要的语言即可。

技术分享

 

然后在InfoPlist.strings(Englist)添加代码:

CFBundleDisplayName = "China";

 

在InforPlist.strings(Chinese Simplifified)添加代码:

CFBundleDisplayName = "中国";

 

然后运行项目 即可, 当改变手机中的语言环境的时候工程的名称就会出现不同的中英文。

 

2.1 对于工程内的控件,这里我们需要为工程添加一个UILabel 一个UIImageView 控件,并命名为nameLabel与myImageView, 然后同InfoPlist.strings类似 创建一个Localizable.strings并在Localizable.strings(English)添加代码:

 

name = "name";

image = "qsmyEn.png";

 

 

 

在Localizable.strings(Chinese Simplified)中添加代码:

name = "名字";

image = "qsmyCh.png";

 

2.2 然后使用的时候 只需使用NSLocalizedString即可:

self.nameLabel.text = NSLocalizedString(@"name", nil);
    
self.myImageView.image = [UIImage imageNamed:NSLocalizedString(@"image", nil)];

 

 如果你的Location文件是自己自定义的,而且名称不是Localizable是其它的,那么你需要使用这样的代码:

self.nameLabel.text = NSLocalizedStringFromTable(@"name", @"你的Localization名称", nil);
    
self.myImageView.image = [UIImage imageNamed:NSLocalizedStringFromTable(@"image", @"你的Localization名称", nil)];

 

 然后运行即可。

 

3.1 对于图片的国际化 一种是上面提到的 使用Localizable文件进行使用,通过NSLocalizedString来获取图片名称,另一种方法就比较正规化了,点中你要本地化的图片,如“icon.png”, 然后在右侧的inspector下点击Localization选中需要国际化得语言即可。

 

4.1 对于其他文件的国际化,同图片进行国际化的第二种方法即可。

最后运行结果:

技术分享                        技术分享

 

iOS国际化详解

原文:http://www.cnblogs.com/love0610/p/5190941.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!