说明 | 时间 |
---|---|
首次发布 | 2017年01月02日 |
最近更新 | 2020年04月24日 |
一、本地化应用程序名称
-
1、先添加需要的语言
-
2、像应用名字、获取权限等字符串的映射,必须放到这里面
如:
//InfoPlist.strings(English) CFBundleDisplayName = "BeautySwift"; NSCameraUsageDescription = "Please take a photo to set the avatar"; NSPhotoLibraryUsageDescription = "Please allow access to the album to set the avatar"; NSLocationAlwaysUsageDescription = "Please allow access to the location to set the shipping address"; NSLocationWhenInUseUsageDescription = "Please allow access to the location to set the shipping address"; NSPhotoLibraryAddUsageDescription = "Please allow access to the album to save the image"; //InfoPlist.strings(Chinese(Simplified)) CFBundleDisplayName = "雨燕"; NSCameraUsageDescription = "请允许拍照以便设置头像"; NSPhotoLibraryUsageDescription = "请允许访问相册以便设置头像"; NSLocationAlwaysUsageDescription = "请允许访问位置以便设置收货地址"; NSLocationWhenInUseUsageDescription = "请允许访问位置以便设置收货地址"; NSPhotoLibraryAddUsageDescription = "请允许访问相册便于保存图片";
二、本地化字符串
1、类似【本地化应用程序名称】第一步,创建这个文件,命名为Localizable(一定是这个文件名否则后面调用会有一些区别)就生成一个Localizable.strings文件;
-
2、类似“本地化应用程序名称”第二步,在文件中加入:
//Localizable.strings(english) home_title = "Home Title"; //Localizable.strings(chinese) home_title = "首页标题";
-
3、在代码中使用NSLocalizedString(<#key#>, <#comment#>)来读取本地化字符串,代码如下:
self.navigationItem.title = NSLocalizedString(@"home_title", comment: "")
注意:如果你的strings文件名字不是
Localizable
而是自定义的话,如Lynn.strings
,那么你就得使用NSLocalizedStringFromTable()
来读取本地化字符串:NSLocalizedStringFromTable(@"home_title", @"Lynn", nil) ;
三、本地化图片
方法一:和本地化字符串方法类似,把中英文图片的名字分别存到中英文对应的strings文件,然后通过NSLocalizedString)来获取图片。
-
方法二:在
Assets.xcassets
里选中我们要本地化的图片,然后在Attributes Inspector
下面的Localization
的选项中,勾选所有的语言,然后添加对应语言的图片。具体如下图所示:
四、本地化其他文件
本地化其他文件和本地化图片第二种方法类似,先在 Localization
中添加语言,然后把对应版本拷贝到 en.lproj
和 zh-Hans.lproj
文件夹中,再引用就行了。