Localize.To Swift 客户端
此模块允许您从 Localize.to 服务中获取本地化字符串。它是本地 iOS 本地化文件的一个好用的灵活替代品。
Localize.To REST API
GET /language/{language}
GET /languages/{language1,language2}
GET /snapshots
GET /snapshot/latest/info
GET /snapshot/latest
GET /snapshot/{version}
GET /snapshot/{version}/language/{language}
GET /snapshot/{version}/languages/{language1,language2}
目前,此模块仅实现了以下 API 调用
GET /languages/{language1,language2}
GET /snapshot/{version}
GET /snapshot/{version}/languages/{language1,language2}
这对大多数情况来说已经足够了。
安装
使用 CocoaPods
pod 'LocalizeTo'
使用API密钥初始化模块
import LocalizeTo
LocalizeTo.shared.configure(apiKey: PROJECT_API_KEY)
//additional parameters:
LocalizeTo.shared.configure(apiKey: PROJECT_API_KEY,
currentLanguageCode: "es", //by default "en"
defaultLanguageCode: "en", //could be nil, by default "en"
localizationFolderName: "LocalizeTo", // by default "LocalizeTo"
)
从“文档”或应用程序包中加载先前下载的语言
LocalizeTo.shared.load(languages: ["en", "de", "es", ..., ])
设置当前和/或默认语言
LocalizeTo.shared.setCurrentLanguageCode("fr")
LocalizeTo.shared.setDefaultLanguageCode("en")
如果没有当前语言翻译,则使用默认语言。即首先尝试寻找法语翻译,然后是英语翻译
获取本地化字符串
//for current language
let value = LocalizeTo.shared.localize("localization_key")
//for particular language
let value = LocalizeTo.shared.localize("localization_key", to: "de")
使用字符串扩展会更方便
//for current language
let value = "localization_key".localized
//or
let value = "localization_key".localize()
//for particular language
let value = "localization_key".localize(to: "de")
特殊未本地化扩展
let value = "localization_key".unlocalized
在DEBUG模式下不起作用,但在RELEASE模式下会产生警告。当您不知道本地化密钥时使用它,然后可以轻松地在项目中找到所有的密钥。
从服务中下载新的本地化字符串
Get localized strings for particular languages
LocalizeTo.shared.download(languages: ["en", "fr", "de", ...]) { (errors) in
if let errors = errors {
print(errors)
} else {
LocalizeTo.shared.reload(languages: ["en", "fr", "de", ...])
}
}
获取快照(所有语言)的本地化字符串
LocalizeTo.shared.download(version: "v1.0.0") { (errors) in
if let errors = errors {
print(errors)
} else {
LocalizeTo.shared.reload(languages: ["en", "fr", "de", ...])
}
}
获取特定语言的快照(本地化字符串)
LocalizeTo.shared.download(version: "v1.0.0", language: "en") { (errors) in
if let errors = errors {
print(errors)
} else {
LocalizeTo.shared.load(languages: ["en"])
}
}
LocalizeTo.shared.download(version: "v1.0.0", languages: ["en", "de"]) { (errors) in
if let errors = errors {
print(errors)
} else {
LocalizeTo.shared.load(languages: ["en", "de"])
}
}