| | |
| | | * @version: |
| | | * @Date: 2024-06-18 15:09:47 |
| | | * @LastEditors: Ben Lin |
| | | * @LastEditTime: 2024-06-18 16:12:57 |
| | | * @LastEditTime: 2024-07-17 03:58:09 |
| | | */ |
| | | import { i18n } from '@/locales/setupI18n'; |
| | | import { isObject, isString } from '/@/utils/is'; |
| | |
| | | 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 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 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 { |
| | | ...methods, |