SwiftI18n 1.3.2

SwiftI18n 1.3.2

VlahoJasmin Abou Aldan 维护。



SwiftI18n 1.3.2

  • 作者
  • Vlaho Poluta

SwiftI18n

Version License Platform

示例

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install

要求

  • Xcode 8.0
  • Swift 5.0
  • iOS 9.0+

安装

SwiftI18n 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'SwiftI18n/I18n'
pod 'SwiftI18n/I18n+Case'

用法

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install

添加

import SwiftI18n

I18nManager.instance.language

设置或获取当前选定的语言

I18nManager.instance.availableLanguages = ["en_US", "hr"]
I18nManager.instance.defaultLanguage = "hr"

设置可用语言和默认语言

处理语言变更:订阅 I18nManager.subscribeForLocaleDidChange(block: { ... }) -> NSObjectProtocol 或如果您更倾向于使用通知,可以使用

NSNotification.Name.loc_LanguageDidChangeNotification

乐趣真正开始的地方

someLabel.locTitleKey = "some_key"

现在当语言变更时,您 someLabel 的标题将自动更改。这难道不酷吗!?

支持的元素: UILabel UIButton UITextField UITextView UIViewController UIBarButtonItem UITabBarItem UINavigationItem

最重要的是,所有这些 locTitleKey 都在 Storyboard 中以 @IBInspectable 的形式支持。

处理情况

有时您必须处理全小写的翻译,但是您希望它们是全大写或者可能是首字母大写。要处理这种情况,使用

pod 'SwiftI18n/I18n+Case'

现在您有一个枚举

enum I18nCaseTransform: String {
    case uppercased = "up"
    case lowercased = "low"
    case capitalized = "cap"
}

您可以使用它如下所示

someButton.setCaseTransform(.uppercased, for: .normal)

您还可以在 Storyboard 中设置大小写转换

处理多语言客户端字符串枚举

为了使用 SwiftI18n 美丽地与多语言客户端创建的 Strings 枚举一起工作,您需要将: SwiftI18n/Polyglot/PolyglotSwiftI18Extensions.swift 复制到您的项目中。

通过这样做,您现在可以轻松地为 UI 元素设置翻译

someLabe.loc.titleKey = .somePolygotKey

不受支持

Attributed strings

作者

Vlaho Poluta, [email protected]

许可协议

SwiftI18n遵照MIT许可协议。更多信息请参阅LICENSE文件。