欢迎光临
我们一直在努力

iOS项目的本地化处理(多国语言)

iOS项目的本地化处理(多国语言)

项目的本地化就是:iOS系统在不同语言环境下自动切换语言,从而实现一个app发布到全世界各个国家的AppStore上。

我们不仅仅需要在iOS项目中做本地化处理,在上架iOS APP的时候,也需要做对应的本地化设置哦。

iOS项目中需要处理的本地化大概有以下几点:

1.APP名称

2.字符串

3.图片

4.storyboard/xib文件

5.上架设置

前置工作

首先我们要在?PROJECT?->?project name?->?Localizations?下添加我们需要适配的语言,这里我添加中文和英文。

关于默认语言的设置:Localization native development region

Xcode建立工程时,默认语言环境是英文,所以在调用一些系统空间时(例如相机相册),其控制按键的标题都是英文显示的状态,快速的设置方法就是设置Localization native development region的值,具体步骤可以参考此文:Localization native development region 更改语言无效?中的第一段内容。

一、APP名称

项目名称的本地化是以?InfoPlist.strings?文件来控制的,所以我们先创建 InfoPlist.strings ,注意命名不要写错了。

选中刚创建的 InfoPlist.strings 并在右边属性面板点击 Localize… 。

选择需要本地化的语言,这个时候会发现在 InfoPlist.strings 下出现了几个本地化文件,这些文件就是做本地化的配置文件了。

项目名称本地化的 key 为?CFBundleDisplayName?,一定不能弄错,然后格式按照下面截图,注意分号不能少,否则无法识别。

设置模拟器的语言地区,分别在英文、中文环境下运行,看看是不是已经本地化成功了呢。

storyboard/xib文件

storyboard/xib的本地化处理方式是一样的,比如这里选中 Main.storyboard 并在右侧属性面板点击 Localize… 并勾选对应的语言,开启这个文件的本地化。

二、字符串

iOS项目可以用代码创建控件,也能用 storyboard/xib 创建控件,所以我们适配文字就得分2种情况。下面是代码创建一个Label,并做本地化处理的方式。

1.代码创建

创建?Localizable.strings?文件,然后再类似上面的操作,在右侧属性面板勾选需要适配的语言。

我们在对应的本地化文件中先定义好本地化所需要的键值对,图片如上图所示,这里的键就可以随自己喜好自定义了,不过建议有自己的格式和规范哦

最后使用?NSLocalizedString(key, comment)?调用即可。

三、图片

assest不支持本地化图片 只能通过本地化字符串形式,项目开发一般都是每个图片photo_en,

photo_cn这种形式来国际化图片

1、字符串形式国际化图片

和上面本地化字符串类似,因为我们创建图片是根据图片的名称来创建的,所以我们直接本地化图片的名称即可。

然后在代码中调用本地化文件中对应的 key 即可。

  • UIImageView*testImageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:NSLocalizedString(@”photo”,“测试图片备注”)]];
  • testImageView.frame=CGRectMake(100,300,100,100);
  • [self.view addSubview:testImageView];

效果如下:

2.xib或storyboard

还有一种比较高大上的方式,拖进去一张图片,选中图片在右侧属性面板中点击 Localize… ,并选则对应的语言。然后真实文件夹中,这两个图片是分别在不同的目录下的,所以重新拖进去对应的图片

 

使用的时候也是直接用图片名称即可,会自动根据当前语言环境去选择对应的图片

  1. UIImageView*testImageView=[[UIImageViewalloc]initWithImage:[UIImageimageNamed:@”photo.png”]];
  2. testImageView.frame=CGRectMake(100,300,100,100);
  3. [self.viewaddSubview:testImageView];

效果如下:

五、上架设置

上架的时候,为了发布到各个地区的AppStore上去,我们也需要在上架的时候做一些本地化设置。在语言的选项处,添加我们需要适配的语言。

然后分别完善对应的APP标题、应用截图、应用描述、应用关键词等信息,最后提交审核即可。应用截图需要美工根据不同语言做不同的图片素材,根据实际情况而定。其他文字类的,就随便了。不过考虑到ASO优化和后期推广成本,具体按照公司实际要求去做本地化设置即可。

项目地址:https://github.com/lsmakethebest/local

参考文章:
1.Localization native development region 更改语言无效
2.在iOS中如何设置默认语言
3.Xcode 6 关于 iOS App 国际化问题
4.iOS学习之iOS程序名称及内容国际化(本地化)
5.如何修改已完成的工程的app名?
6.如何修改iOS APP的项目名称
7.iOS修改app名称
8.ios xcode如何修改应用的名称
9.请问如何修改app显示的名字?
10.Bundle Name and Bundle Display Name
11.iOS应用国际化教程(2014版)

未经允许不得转载:松哥博客 » iOS项目的本地化处理(多国语言)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址