要运行示例项目,请克隆 repo,并首先从 Example 目录运行 pod install
。
LocalizableUI 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile
pod 'LocalizableUI'
将 github "weiss19ja/LocalizableUI"
添加到您的 Cartfile。
dependencies: [
.package(url: "https://github.com/weiss19ja/LocalizableUI.git", from: "0.3.1")
]
使用 LocalizableUI 最简单的方法是 Storyboard。 您可以在此处输入您的 Localizable.strings 键。
对于 SegmentedControl,您可以输入以“,”分隔的 Localizable.strings 键数组。
BackButton 可以在之前的 ViewController 中设置。您可以在此处使用 Storyboard 中的 ViewController 字段。
如果您正在使用 NavigationItem,这将覆盖 ViewController 的标题和 BackButton。
也可以在代码中设置 LocalizableKeys。 这包括 Stotyboard LocalizableKeys 的所有功能
let newLabel = UILabel(frame: frame)
newLabel.localizedKey = "LocalizedKey"
AlertView 必须在代码中配置。
let alertController = UIAlertController(localizedTitle: Constants.titleKey, localizedMessage: Constants.messagekey, preferredStyle: .alert)
let action = UIAlertAction(localzedTitleKey: Constants.buttonKey, style: .cancel, handler: nil)
alertController.addAction(action)
// #1
let localizedText = LocalizationManager.localizedStringFor("LocalizedKey")
// #2
let localizedText = LocalizationManager.localizedStringFor("LocalizedKey", bundle: bundle, value: "", comment: "")
// #3
let localizedText = "LocalizedKey".localized
要本地化任何类或结构体,您可以简单地实现 Localizable 协议
extension CustomView: Localizable {
func updateLocalizedStrings() {
/// do your localization stuff
text = LocalizationManager.localizedStringFor("LocalizedKey")
}
}
您可以在应用程序活动时更改语言。 您只需使用 LocalizationManager changeLanguage(...) 方法。 您的所有视图都将更新,无需任何进一步的调整。
do {
let tableName = "Localizable"
let bundle = Bundle(for: type(of: self))
let languageCode = "en"
try LocalizationManager.sharedInstance.changeLanguage(to: tableName, from: bundle, languageCode: languageCode)
} catch {
...
}
Jan Weiß, Philipp Weiß
LocalizableUI 在 MIT 许可证下可用。 有关更多信息,请参阅 LICENSE 文件。