L10n-swift

Build Status CocoaPods Version Language Swift4 CocoaPods License Pod method Compatible Mentioned in Awesome-swift

L10n-swift 是一个简单的框架,可以改进 Swift 应用中的本地化,提供更简洁的语法和应用内语言切换功能。

概述

Change language Simple translator Plurals

🌟 功能特性

💻 演示

pod try L10n-swift

⚠️要求

👥 交流

📗 安装

核心 扩展 IBInspectable
L10n-swift ✔️ ✔️ ✔️
L10n-swift/Core ✔️
L10n-swift/Extension ✔️ ✔️
L10n-swift/IBInspectable ✔️ ✔️

CocoaPods

pod 'L10n-swift', '~> 5.10'

Carthage

github "Decybel07/L10n-swift", ~> 5.10

Swift Package Manager

.Package(url: "https://github.com/Decybel07/L10n-swift.git", majorVersion: 5)

📘 用法

在使用框架的每个 Swift 文件的顶部导入 L10n_swift。

import L10n_swift

获取本地化文本

在任何想要本地化的 String 对象之后添加 .l10()

"hello.world".l10n()

获取本地化数字

在您要本地化的数字后添加 .l10()。 使用当前语言的数字格式

12.l10n()
24.l10n(minIntegerDigits: 4)
1.61803.l10n()
2.71828.l10n(fractionDigits: 2)

3.14.l10n { formatter in
    formatter.numberStyle = .currency
}

获取本地化日期

在任何想要本地化的 Date 对象之后添加 .l10(),使用当前语言的日期格式

Date().l10n()

Date().l10n { formatter in
    formatter.dateStyle = .medium
}

获取复数

在任何想要使用复数翻译的 String 对象之后添加 .l10nPlural(CVarArg...)

"numberOfApples".l10nPlural(2)

有关复数的更多信息,请阅读 wiki

观察语言更改

为通知 L10nLanguageChanged 添加观察者。 当语言发生更改时,将调用此通知。

NotificationCenter.default.addObserver(
    self, selector: #selector(self.yourFunction), name: .L10nLanguageChanged, object: nil
)

设置语言

L10n.shared.language = "en"
L10n.shared.language = "en-GB"

在运行时,您可以通过设置语言属性随时切换语言。

获取当前语言

L10n.shared.language

获取当前语言的区域设置

L10n.shared.locale

获取支持的语言列表

L10n.supportedLanguages

主 Bundle 中包含的所有语言的列表。

获取首选语言

L10n.preferredLanguage

主 Bundle 中包含的首选语言。

支持的格式

.plist, .stringsdict

Sample .plist and .stringsdict file

有关 .plist 格式的更多信息,请阅读 wiki

有关 .stringsdict 格式的更多信息,请阅读 wiki

.json

Sample .json file

有关 .json 格式的更多信息,请阅读 wiki

.strings

Sample .strings file

有关 .strings 格式的更多信息,请阅读 wiki

📙 常见问题解答

🤓 作者

Adrian Bobrowski (Decybel07), adrian071993@gmail.com

🔑 许可证

L10n-swift 在 MIT 许可证下可用。 有关更多信息,请参见 LICENSE 文件。