refactor: add onLanguageLoaded event on setWebMetaFormConfig

pull/105/merge
moonrailgun 2 years ago
parent f0235cf062
commit 9c73d5cf12

@ -123,10 +123,19 @@ export function getLanguage(): AllowedLanguage {
return i18next.language as AllowedLanguage;
}
/**
*
*/
export function onLanguageLoaded(
cb: (loaded: { [language: string]: { [namespace: string]: boolean } }) => void
) {
i18next.on('loaded', cb);
}
/**
*
*/
export function onLanguageChange(cb: (lang: string) => void) {
export function onLanguageChanged(cb: (lang: string) => void) {
i18next.on('languageChanged', cb);
}

@ -51,6 +51,7 @@ export {
setLanguage,
getLanguage,
useTranslation,
onLanguageLoaded,
} from './i18n';
export type { AllowedLanguage } from './i18n';
export { Trans } from './i18n/Trans';

@ -2,7 +2,7 @@ import dayjs from 'dayjs';
import relativeTime from 'dayjs/plugin/relativeTime'; // 导入插件
import duration from 'dayjs/plugin/duration'; // 导入插件
import 'dayjs/locale/zh-cn'; // 导入本地化语言
import { onLanguageChange } from '../i18n';
import { onLanguageChanged } from '../i18n';
/**
* Reference: https://day.js.org/
@ -11,7 +11,7 @@ import { onLanguageChange } from '../i18n';
dayjs.extend(relativeTime);
dayjs.extend(duration);
dayjs.locale('zh-cn'); // 默认使用中文
onLanguageChange((lang) => {
onLanguageChanged((lang) => {
if (lang === 'en-US') {
dayjs.locale('en');
return;

@ -15,6 +15,7 @@ import {
setErrorHook,
showToasts,
parseUrlStr,
onLanguageLoaded,
} from 'tailchat-shared';
import { getPopupContainer } from './utils/dom-helper';
import { getUserJWT } from './utils/jwt-helper';
@ -72,8 +73,10 @@ setGlobalLoading((text) => {
setImageUrlParser(parseUrlStr);
setWebMetaFormConfig({
submitLabel: t('提交'),
onLanguageLoaded(() => {
setWebMetaFormConfig({
submitLabel: t('提交'),
});
});
const backToLoginPage = (() => {

Loading…
Cancel
Save