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的国际化,可以结合字符串国际化来实现