import { i18next } from '@tencentcloud/uikit-base-component-react'; import { message as enMessage } from './en-US/index'; import { message as jaMessage } from './ja-JP/index'; import { message as koMessage } from './ko-KR/index'; import { message as zhMessage } from './zh-CN/index'; import { message as twMessage } from './zh-TW/index'; const resources: Record = { 'en-US': { translation: enMessage, }, 'zh-CN': { translation: zhMessage, }, 'ja-JP': { translation: jaMessage, }, 'ko-KR': { translation: koMessage, }, 'zh-TW': { translation: twMessage, }, }; /** * Register all built-in i18n resource bundles (TUIChat/TUIProfile/etc.) to i18next. * Exported as an explicit function instead of a module-level side effect, * so that bundlers (Rollup tree-shaking) can never drop it when the entry * module is loaded. Safe to call multiple times (idempotent guard included). */ export function registerUIKitI18n(): void { Object.entries(resources).forEach(([lng, resource]) => { i18next.addResourceBundle(lng, 'translation', resource.translation, true, false); }); }