Plugin-Locale-Kotlin

Introduction: 一个可以快速实现多语言切换的 Android 第三方库 An android plugin with kotlin for changing multi-language.
More: Author   ReportBugs   OfficialWebsite   
Tags:

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}'
}
混淆规则 ### 添加混淆规则(可选) shell # 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

以下不分排名先后

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools