From f73947395184fd635df3d74c1c4b2701d0c708c1 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期二, 25 六月 2024 14:51:04 +0800 Subject: [PATCH] 动态Import更新 --- src/hooks/web/useI18n.ts | 29 +++++++++++++++++++---------- 1 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/hooks/web/useI18n.ts b/src/hooks/web/useI18n.ts index 3e54829..b1b7ed7 100644 --- a/src/hooks/web/useI18n.ts +++ b/src/hooks/web/useI18n.ts @@ -1,4 +1,12 @@ -import { i18n } from '/@/locales/setupI18n'; +/* + * @Description: file content + * @Author: Ben Lin + * @version: + * @Date: 2024-06-18 15:09:47 + * @LastEditors: Ben Lin + * @LastEditTime: 2024-06-18 16:12:57 + */ +import { i18n } from '@/locales/setupI18n'; import { isObject, isString } from '/@/utils/is'; type I18nGlobalTranslation = { @@ -8,11 +16,9 @@ (key: string, locale: string, named: Record<string, unknown>): string; (key: string, list: unknown[]): string; (key: string, named: Record<string, unknown>): string; - (locale: TigerLocale): string; }; type TigerLocale = { Key: string; Args: unknown[] }; - type I18nTranslationRestParameters = [string, any]; function getKey(namespace: string | undefined, key: string) { @@ -49,15 +55,18 @@ const { t, ...methods } = i18n.global; const tFn: I18nGlobalTranslation = (key: string | TigerLocale, ...arg: any[]) => { - if (isString(key)) { + if (isString(key)){ if (!key) return ''; if (!key.includes('.') && !namespace) return key; - return t(getKey(namespace, key), ...(arg as I18nTranslationRestParameters)); - } else if (isObject(key)) { - if (!key) return ''; - if (!key.Key) return ''; - return t(getKey(namespace, key.Key), key.Args); - } + + return (t as (arg0: string, ...arg: I18nTranslationRestParameters) => string)( + getKey(namespace, key), + ...(arg as I18nTranslationRestParameters), + );}else if (isObject(key)) { + if (!key) return ''; + if (!key.Key) return ''; + return t(getKey(namespace, key.Key), key.Args); + } }; return { ...methods, -- Gitblit v1.9.3