iOS国际化适配

2020-08-09  本文已影响0人  伶俐ll
添加应用需要国际化的语言

在Project的Localizations选项,点击加号(+),添加需要国际化的语言。如果需要适配storyboard和启动页可以勾选。


Snip20200809_10.png Snip20200809_11.png

一、语言适配

步骤一、批量替换字符串
步骤二、生成多语言文件
cd 工程目录
mkdir en.lproj
mkdir zh-Hans.lproj
find . -name *.m | xargs genstrings -o en.lproj
find . -name *.m | xargs genstrings -o zh-Hans.lproj

二、权限提示文字适配

Snip20200809_6.png Snip20200809_8.png
CFBundleDisplayName = "InternationalTest";
NSPhotoLibraryUsageDescription = "InternationalTest needs to access your photo album so that you can use photo saving and publishing dynamic services normally";
.
.
.
CFBundleDisplayName = "国际化适配";
NSPhotoLibraryUsageDescription = "使用相册";
.
.
.

三、图片适配

方法1、指定不同图片名字

在不同语言的Localizable.strings中指定不同的图片名称,通过NSLocalizedString(key, comment)获取不同的图片名称后进行显示不同的图片

//en.lproj/Localizable.strings
"im_service_zh" = "im_service_en";

//zh-Hans.lproj/Localizable.strings
"im_service_zh" = "im_service_zh";

//xxx.m
imgView.image = [UIImage imageNamed:NSLocalizedString(@"im_service_zh", nil)];
2、方法2、利用xcode生成

这种方法不用对代码进行改动,只需要在工程目录中新建一个Group,放入所有需要国际化的原有图片。然后选中图片,点击右侧的Localization,选中需要支持的语言即可在原有图片下生成选中语言所对应的子文件。然后替换掉对应语言的子图片即可。

Snip20200809_15.png
上一篇 下一篇

猜你喜欢

热点阅读