跳到主要内容
新版 Web IMKit SDKWeb IMKit SDK 从 5.36.0 版本开始升级了 UI 和 SDK 结构。如果您集成的版本低于 5.36.0,请参考旧版 Web IMKit 文档

国际化

Web IMKit 内置支持 zh_CNen_US 两种语言,默认优先展示 zh_CN

修改默认语言

您可以根据业务需求,在 SDK 初始化时,通过 language 参数修改默认语言配置。

JavaScript
import { RCKitInstaller } from '@rongcloud/im-kit';

const kitApp = RongIMLib.installPlugin(RCKitInstaller, {
// ...
language: 'en_US', // 默认为 'zh_CN'
// ...
});

切换语言

Web IMKit 支持在运行时切换语言。您可以通过 setLanguage 方法更改语言,SDK 将立即更新 UI 界面中的语言显示。

JavaScript
kitApp.setLanguage('zh_CN');

同时,SDK 也提供了 getLanguage 方法,用于获取当前语言环境标识。

JavaScript
const language = kitApp.getLanguage();

自定义语言包

提示

自定义语言包功能仅限于 kitApp.ready() 前调用生效。

Web IMKit 支持自定义语言包扩展,以便于业务层自行适配更多语言环境。核心 API 包含以下两个:

  • cloneLanguageEntries:用于获取 Web IMKit 内置语言包词条的拷贝,以便于基于内置语言包进行扩展或修改。
  • registerLanguagePack:用于注册语言包,也可用于覆盖既有语言包,如 zh_CN

代码示例

JavaScript
// 获取内置简体中文语言包词条拷贝
const entries = kitApp.cloneLanguageEntries('zh_CN');

// 修改词条内容为繁体中文
// ...
entries['alert.send.message.maxcount'] = '內容超過 {0} 字,請刪除部分內容後再嘗試發送';
// ...

// 新增注册语言包 zh_HK
kitApp.registerLanguagePack('zh_HK', entries);

如果您是 TypeScript 开发者,也可以通过 IRCKitLanguageEntries 接口定义,从零开始编写自定义语言包。

TypeScript
import { IRCKitLanguageEntries } from '@rongcloud/im-kit';

const entries: IRCKitLanguageEntries = {
// ...
'alert.send.message.maxcount': '內容超過 {0} 字,請刪除部分內容後再嘗試發送',
// ...
};

// 新增注册语言包 zh_HK
kitApp.registerLanguagePack('zh_HK', entries);

获取语言包列表

您可以通过 getSupportedLanguages 方法获取 Web IMKit 内置支持的语言标识列表。如果业务层增加了自定义语言包,也会被包含在返回结果中。

JavaScript
const list = kitApp.getSupportedLanguages(); // ['zh_CN', 'en_US']