[Swift]国际化
一、添加本地化语言
比如这里,我们添加了联合国六种工作语言(汉语,英语,法语,俄语,阿拉伯语和西班牙语)。
二、纯代码本地化
1. 创建本地化文件
默认文件名为“Localizable”,不要去修改。
2. 关联对应的本地化语言
右侧点击"Localize...",关联本地化语言。
关联多个语言时
3. 在本地化文件中设置Key-Value
// tabbar-色库取色
"tabbar_library" = "色库取色";
// tabbar-图片取色
"tabbar_picture" = "图片取色";
// tabbar-绘制图片
"tabbar_draw" = "绘制图片";
// tabbar-其它功能
"tabbar_other" = "其它功能";
4. 调用本地化
代码中调用
let tempLibrary = "tabbar_library".localizable()
let tempPicture = "tabbar_picture".localizable()
let tempDraw = "tabbar_draw".localizable()
let tempOther = "tabbar_other".localizable()
对String拓展一个localizable方法去取值,便于使用。
import Foundation
extension String {
/// 调用本地化
func localizable() -> String {
return Bundle.main.localizedString(forKey: self, value: nil, table: nil)
}
}
三、XIB和Storyboard本地化
1. 为xib文件关联本地化语言,storyboard同理。
2. 对需要本地化的视图进行配置
点击视图,右侧查询Object ID。
本地化文件中,对value进行配置。
/* Class = "UISearchBar"; placeholder = "搜索颜色"; ObjectID = "mRj-Ar-rIz"; */
"mRj-Ar-rIz.placeholder" = "搜索颜色";