LocalizeTo 0.0.7

LocalizeTo 0.0.7

WhiteTown 维护。



  • WhiteTown

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"])
        }
    }