Skip to content

一个可以快速实现多语言切换的 Android 第三方库 An android library with kotlin for fast changing multi-language.

License

Notifications You must be signed in to change notification settings

RebornQ/Plugin-Locale-Kotlin

Repository files navigation

Plugin-Locale-Kotlin

Android Version Language Releases Download license

An android library with kotlin for changing multi-language.

Now we support any language but need you to define the connection between language's key and value !

一个用 Kotlin 写的多语言切换的 Android 第三方库。

现在我们支持任何一种语言啦!但是需要你自己定义你要支持的语言列表(Key 与 Value 间的关系),详情请看👉 Wiki (🚪传送门)。

背景

项目历经9个月的演化,终于从一开始为宝可梦的那样记账研究的语言切换而写的Demo进化成第三方库。

这是我的第一个开源第三方库,说起来还挺激动的(嗯...失眠了...)~

Demo

效果图

默认第二种刷新界面方式

MultiLanguageDemo-NoRestartToLaunche

下载

更多请查看 Demo 的 源码地址,下载 Demo.apk(网络有问题可以下载这个 Demo.apk

使用文档

引入依赖

Bintray

在 app.gradle 中加入以下内容:

repositories {
    jcenter()
}
dependencies {
    implementation 'com.mallotec.reb:plugin-locale:${last-version}'
}
混淆规则

添加混淆规则(可选)

# LocalePlugin 混淆规则
-keep class com.mallotec.reb.localeplugin.** { *; }
-dontwarn com.mallotec.reb.localeplugin.**

只需三步即可食用

  1. 在 Application 中初始化

    LocalePlugin.init(this)
  2. 定义好支持的语言列表对应关系,详情请看👉 Wiki (🚪传送门),如:

    private fun getLocale(which : String): Locale {
        return when (which) {
            "0" -> Locale.ROOT  // 跟随系统
            "1" -> Locale.ENGLISH
            "2" -> Locale.SIMPLIFIED_CHINESE
            "3" -> Locale.TRADITIONAL_CHINESE
            else -> Locale.SIMPLIFIED_CHINESE
        }
    }
  3. 一句代码调用切换语言:

    // 应用切换的语言
    LocaleHelper.getInstance()
        .language(getLocale(which.toString()))
        .apply(this)

    注意:这里的this必须是当前ActivityContextwhich是所选的语言标记,详情请看下方注意事项的对应关系

注意事项、常见问题和更多用法

注意事项、常见问题以及更多用法,请转战 Wiki :🚪传送门

写在最后

欢迎大家 Star、Fork 和提 Issue 提 PR 呀~

Thanks

以下不分排名先后

About

一个可以快速实现多语言切换的 Android 第三方库 An android library with kotlin for fast changing multi-language.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages