gemercheung 2 роки тому
батько
коміт
1adaa8ecd7

+ 51 - 50
src/hooks/useI18n.ts

@@ -1,50 +1,51 @@
-import { i18n } from '/@/locales/setupI18n';
-
-type I18nGlobalTranslation = {
-  (key: string): string;
-  (key: string, locale: string): string;
-  (key: string, locale: string, list: unknown[]): string;
-  (key: string, locale: string, named: Record<string, unknown>): string;
-  (key: string, list: unknown[]): string;
-  (key: string, named: Record<string, unknown>): string;
-};
-
-type I18nTranslationRestParameters = [string, any];
-
-function getKey(namespace: string | undefined, key: string) {
-  if (!namespace) {
-    return key;
-  }
-  if (key.startsWith(namespace)) {
-    return key;
-  }
-  return `${namespace}.${key}`;
-}
-
-export function useI18n(namespace?: string): {
-  t: I18nGlobalTranslation;
-} {
-  const normalFn = {
-    t: (key: string) => {
-      return getKey(namespace, key);
-    },
-  };
-
-  if (!i18n) {
-    return normalFn;
-  }
-
-  const { t, ...methods } = i18n.global;
-
-  const tFn: I18nGlobalTranslation = (key: string, ...arg: any[]) => {
-    if (!key) return '';
-    if (!key.includes('.') && !namespace) return key;
-    return t(getKey(namespace, key), ...(arg as I18nTranslationRestParameters));
-  };
-  return {
-    ...methods,
-    t: tFn,
-  };
-}
-
-export const t = (key: string) => key;
+// import { i18n } from '/@/locales/setupI18n';
+
+// type I18nGlobalTranslation = {
+//   (key: string): string;
+//   (key: string, locale: string): string;
+//   (key: string, locale: string, list: unknown[]): string;
+//   (key: string, locale: string, named: Record<string, unknown>): string;
+//   (key: string, list: unknown[]): string;
+//   (key: string, named: Record<string, unknown>): string;
+// };
+
+// type I18nTranslationRestParameters = [string, any];
+
+// function getKey(namespace: string | undefined, key: string) {
+//   if (!namespace) {
+//     return key;
+//   }
+//   if (key.startsWith(namespace)) {
+//     return key;
+//   }
+//   return `${namespace}.${key}`;
+// }
+
+// export function useI18n(namespace?: string): {
+//   t: I18nGlobalTranslation;
+// } {
+//   const normalFn = {
+//     t: (key: string) => {
+//       return getKey(namespace, key);
+//     },
+//   };
+
+//   if (!i18n) {
+//     return normalFn;
+//   }
+
+//   const { t, ...methods } = i18n.global;
+
+//   const tFn: I18nGlobalTranslation = (key: string, ...arg: any[]) => {
+//     if (!key) return '';
+//     if (!key.includes('.') && !namespace) return key;
+//     const res = t(getKey(namespace, key), ...(arg as I18nTranslationRestParameters));
+//     return res;
+//   };
+//   return {
+//     ...methods,
+//     t: tFn,
+//   };
+// }
+
+// export const t = (key: string) => key;

src/locale/helper.ts → src/locales/helper.ts


src/locale/lang/en/index.ts → src/locales/lang/en/index.ts


src/locale/lang/zh-CN/index.ts → src/locales/lang/zh-CN/index.ts


src/locale/setupI18n.ts → src/locales/setupI18n.ts


src/locale/useLocale.ts → src/locales/useLocale.ts


src/setting/localeSetting.ts → src/settings/localeSetting.ts