Ben Lin
2024-08-04 b47d3515cadac800e5b38bb1368cb0600f25907a
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-07-17 03:58:09
 */
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) {
@@ -52,6 +58,7 @@
    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 '';