L10n-swift 是一个简单的框架,可以改进 Swift 应用中的本地化,提供更简洁的语法和应用内语言切换功能。
![]() |
![]() |
![]() |
Localizable
文件名。*.plist
, *.json
, *.stringsdict
, *.strings
。NonLocalized
, DoubleLength
, Accented
, Bounded
, ForcedRightToLeft
。.l10n()
来本地化任何字符串、日期和数字。pod try L10n-swift
核心 | 扩展 | IBInspectable | |
---|---|---|---|
L10n-swift | ✔️ | ✔️ | ✔️ |
L10n-swift/Core | ✔️ | ||
L10n-swift/Extension | ✔️ | ✔️ | |
L10n-swift/IBInspectable | ✔️ | ✔️ |
pod 'L10n-swift', '~> 5.10'
github "Decybel07/L10n-swift", ~> 5.10
.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 格式的更多信息,请阅读 wiki。
有关 .stringsdict 格式的更多信息,请阅读 wiki。
有关 .json 格式的更多信息,请阅读 wiki。
有关 .strings 格式的更多信息,请阅读 wiki。
Adrian Bobrowski (Decybel07), adrian071993@gmail.com
L10n-swift 在 MIT 许可证下可用。 有关更多信息,请参见 LICENSE 文件。