3. 三步食用法 - RebornQ/Plugin-Locale-Kotlin GitHub Wiki

  1. 在 Application 中初始化

    LocalePlugin.init(this)
    

    LocalePlugin.init(this, { 刷新界面的方式 })
    

    其中{ 刷新界面的方式 }有三种:

    1. LocaleConstant.RESTART_TO_LAUNCHER_ACTIVITY: 清空栈中所有Activity并重启到LauncherActivity
    2. LocaleConstant.RECREATE_CURRENT_ACTIVITY: 重新创建当前Activity默认是这种方式,可不填写
    3. LocaleConstant.CUSTOM_WAY_TO_UPDATE_INTERFACE: 自定义刷新界面, 如果选这种方式的朋友请务必👉查看Wiki
  2. 定义好支持的语言列表对应关系,详情请看下方👉注意事项,如:

    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)
    

    { 刷新界面的方式 }选择了第一种LocaleConstant.RESTART_TO_LAUNCHER_ACTIVITY,请使用下面的方式:

    // 应用切换的语言
    val intent = Intent(this, TargetActivity::class.java)
    LocaleHelper.getInstance()
        .language(getLocale(which.toString()))
        .apply(this, intent)
    

    { 刷新界面的方式 }选择了第三种LocaleConstant.CUSTOM_WAY_TO_UPDATE_INTERFACE,请使用下面的方式:

    上面有写,查看下方👉更多用法或👉Wiki

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