使用 IBLocalizable 容易地在 Interface Builder 中本地化视图。
使用 IBLocalizable
,您可以在 Interface Builder
中轻松本地化视图。只需将出现在 Interface builder 中的新 本地化字符串
属性设置为在您的本地化 .string 文件
中添加的值。大多数视图都可以通过这种方式进行本地化,而无需单独的一行代码。
安装
Swift 包管理器
将 .Package(url: "https://github.com/PiXeL16/IBLocalizable.git",majorVersion: 1)
添加到您的 Package.swift
CocoaPods
在您的 Podfile 中添加 pod 'IBLocalizable'
Carthage
将 github "PiXeL16/IBLocalizable"
添加到您的Cartfile中。
手动安装
- 请注意,通过CocoaPods或Carthage进行安装要简单得多,并且推荐使用。
下载并将 /IBLocalizable
拖放到您的项目中。
支持的视图
- UILabel
- UIButton
- UINavigationItem (导航标题)
- UIBarItem (UIBarButtonItem, TabBarItem等)
- UITextField
- UITextView
- UISearchBar
支持自定义视图
自定义视图可以轻松支持。只需创建一个 扩展
并实现 Localizable
协议。
如果您的自定义视图扩展自 UIView
,则只需扩展您的自定义视图并实现 localizableProperty
。
例如:假设我有一个包含几个 UILabel
和一个 UIImageView
的自定义视图。我想本地化其中之一 UILabel
。
import UIKit
extension MyCustomView {
public override var localizableProperty: String?{
get{
return self.label.text
}
set{
self.label.text = newValue
}
}
}
就这样!
使用方法
安装包后,打开您的 Storyboard
或 Interface Builder
。所有支持的视图都将显示一个 新的
可本地化字符串
属性。
由于一切都是基于扩展的,所以 IBLocalizable
应该可以很好地与其他库或 pods
一起使用。
构建性能
由于IBLocalizable
仅使用IBInspectable
而不使用IBDesignable
,您的增量构建将照常工作。(http://www.openradar.me/20690594)
示例工程
在Xcode Project
中,您可以找到简单的登录
视图控制器的示例工程。所有这些都可以通过使用IBLocalizable
自动本地化为英语和西班牙语。
英语
西班牙语
待办事项
- 支持更多视图(表格单元格等)
- 改进示例工程。
作者
Chris Jimenez - http://code.chrisjimenez.net,@chrisjimeneznat
🍺 捐赠
如果您想请我喝啤酒,可以向我以下硬币地址捐赠
BTC
1BeGBew4CBdLgUSmvoyiU1LrM99GpkXgkj
ETH
0xa59a3793E3Cb5f3B1AdE6887783D225EDf67192d
LTC
Ld6FB3Tqjf6B8iz9Gn9sMr7BnowAjSUXaV
License
IBLocalizable
使用MIT协议发布。详细信息请见LICENSE。