这是基于vue-vben-admin 模板适用于abp vNext的前端管理项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

38 lines
1.1 KiB

import i18n from "i18next";
import LanguageDetector from "i18next-browser-languagedetector";
import { initReactI18next } from "react-i18next";
import { getStringItem } from "@/utils/storage";
import en_US from "./lang/en_US";
import zh_CN from "./lang/zh_CN";
import { LocalEnum, StorageEnum } from "#/enum";
const defaultLng = getStringItem(StorageEnum.I18N) || (LocalEnum.en_US as string);
i18n
// detect user language
// learn more: https://github.com/i18next/i18next-browser-languageDetector
.use(LanguageDetector)
// pass the i18n instance to react-i18next.
.use(initReactI18next)
// init i18next
// for all options read: https://www.i18next.com/overview/configuration-options
.init({
debug: true,
nsSeparator: false, // 禁用冒号作为命名空间分隔符,abp中很多这样的
lng: defaultLng, // localstorage -> i18nextLng: en-US
fallbackLng: LocalEnum.en_US,
interpolation: {
escapeValue: false, // not needed for react as it escapes by default
prefix: "{",
suffix: "}",
},
resources: {
en_US: { translation: en_US },
zh_CN: { translation: zh_CN },
},
});
export default i18n;
export const { t } = i18n;