Skip to content
能力中心
产品中心
应用市场
WebOffice
开发者后台

国际化

获取当前支持的语言选项

接口定义

kotlin
fun supportedLanguages(): MutableList<KIMLanguage>

代码示例

kotlin
// 1. 通过 languageCtrl 访问
KIM.getControl().languageCtrl.supportedLanguages()
// 2. 也可以简写为
KIM.getControl().supportedLanguages()

获取当前的语言设置

接口定义

kotlin
fun currentLanguage(context: Context): KIMLanguage

参数说明

参数类型值说明
contextContext应用上下文

代码示例

kotlin
// 1. 通过 languageCtrl 访问
KIM.getControl().languageCtrl.currentLanguage(context)
// 2. 也可以简写为
KIM.getControl().currentLanguage(context)

修改当前语言

注:设置语言后如果想全局生效,需要重启App;在App重启前留意一下是否需要数据保存或清理操作,避免数据丢失或产生脏数据问题;

接口定义

kotlin
fun changeLanguage(
    context: Context,
    language: KIMLanguage,
    restart: Boolean = false,
    beforeRestart: Runnable? = null,
    restartAction: Runnable? = null
)

参数说明

参数类型说明
contextContext应用上下文
languageKIMLanguage需要设置的目标语言
restartBoolean是否重启App;
• true:重启;
• false:不重启;
beforeRestartRunnable?重启App前的回调,需要restart参数为true时才执行;(注意:此接口会在子线程中执行)
restartActionRunnable?重启动作(注意:此接口会在主线程执行);

代码示例

kotlin
// 1. 使用默认重启逻辑
KIM.getControl().languageCtrl.changeLanguage(requireContext(), language, true) {
   // TODO: 重启前的附加操作(注意:该回调在子线程中执行)
}

// 2. 自定义重启逻辑
KIM.getControl().languageCtrl.changeLanguage(requireContext(), language, true, {
    // TODO: 重启前的附加操作(注意:该回调在子线程中执行)
}) {
    // TODO: 自定义的重启动作(注意:此接口会在主线程执行);
}

支持的语言配置

语言类型定义在枚举类KIMLanguage:

语言说明
FOLLOW_SYSTEM跟随系统
ENGLISH英文
SIMPLIFIED_CHINESE简体中文
TRADITIONAL_CHINESE繁体中文

Locale转换

接口定义

kotlin
// 转换成 local,跟随系统则返回系统默认语言
fun toLocale(): Locale

// 转换成 local,跟随系统则返回 null
fun toLocaleOrSysNull(): Locale?

代码示例

kotlin
val locale = KIMLanguage.SIMPLIFIED_CHINESE.toLocale()
val locale = KIM.getControl().currentLanguage(context).toLocale()
val locale = KIM.getControl().currentLanguage(context).toLocaleOrSysNull()