POEditorSwift
此库仍处于 Alpha 版本。
这是一个非官方的 POEditor Swift 库。此库的主要目的是提供字符串翻译,而无需被迫将字符串静态地存储在只能通过新版本更新才能更新的 Localizable.strings 文件中。
POEditorSwift 使用 POEditor API 下载翻译并存储在本地上。仅在远程可用特定语言的最新版本时才会执行新的更新。
示例
要运行示例项目,请首先克隆仓库,然后在 Example 目录中运行 pod install
要求
安装
POEditorSwift 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行即可
pod 'POEditorSwift'
使用
初始化
在您的AppDelegate的didFinishLaunchingWithOptions方法中,使用API密钥初始化POEditorSwift。您可以在POEditor账户设置页面找到您的API密钥。
import POEditorSwift
POEditor.start(withKey: "YOUR-API-KEY")
更新翻译
现在您只需要为特定的项目ID加载翻译。完成块将通知您更新过程中是否出现错误。如果错误为nil,则表示所有内容均正确更新。
do {
try POEditor.updateLanguages(for: PROJECT-ID) { error in
//check error on completion
}
} catch {
//probably you forgot to start POEditor with API key
}
查找项目
如果您不知道您的项目编号或者您选择使用程序方式加载,您可以使用以下方式获取您账户中的所有项目:
POEditor.getProjects { (result) in
switch result{
case .success(let projects):
//All projects
return
case .failure(let error):
//Error
return
}
}
翻译字符串
要翻译一个字符串,请使用String类扩展。
// Use Locale.current language code
"myString".localize()
// Force a specific language code
"myString".localize(in: "Language code, IE: en")
如果请求的翻译不可用,它将回退到NsLocalizedString。
待办事项
在宣布这个库为测试版之前,还有一些工作要做
- 对整个库进行单元测试
- 添加 Travis CI
- 添加 swiftlint
- 我相信这个列表还更长,但我不知道如何填补
作者
Giuseppe Travasoni,[email protected]
许可协议
POEditorSwift 在 MIT 许可协议下可用。更多信息请参阅 LICENSE 文件。