iOS多语言国际化总结

 一、 字符串国际化

1.首先在应用程序中新建一个StringFile,命名为Localizable.strings,并且在文件属性里将所需要的多国语言勾上。

2. Project-Info-Localizations添加需要的语言,在弹出框里勾选Localizable.strings,根据实际情况勾选Main.storyboard和launchScreen.storyboard

3. 在Localizable.strings(english)添加

"Text"="This is a text";

在Localizable.strings(chinese)文件中添加

"Text"="这是一个文本";

4. 在代码中使用NSLocalizedString来读取本地化字符串,示例如下

let label = UILabel(frame: CGRect(x:0, y:100, width:320, height:40))

view.addSubview(label)

label.text = NSLocalizedString("LabelText", comment: "")

二、 应用程序名app name国际化

1.在Info.plist里添加一项Application has localized display name,并设置值为YES

2. 类似字符串国际化的第一步和第二部,创建一个InfoPlist.strings,并在右侧文件属性添加多语言

3. 在InfoPlish.strings(english)文件中添加

"CFBundleDisplayName" ="Name";

在InfoPlish.strings(simplified)文件中添加

"CFBundleDisplayName" ="名字";

三、隐私数据访问权限多语言

1、创建一个InfoPlist.strings,并在右侧文件属性添加多语言

2、在InfoPlish.strings(english)文件中添加

"NSCameraUsageDescription" = "应用程序要使用照相机";

3、各权限申请名称与Info.plist的key值一致,如下

"NSCameraUsageDescription" = "相机";

"NSPhotoLibraryUsageDescription"= "相册";

"NSLocationWhenInUseUsageDescription"= "使用中定位";

"NSLocationAlwaysUsageDescription"= "后台定位";

四、 本地化图片

1. 如果是直接使用图片可以在图片的文件属性里勾选需要的多语言

2. 如果是使用Assets.xcassets管理图片,因为iOS暂时不支持对xcassets的国际化,可以结合字符串国际化来实现

你可能感兴趣的:(iOS多语言国际化总结)