作为一个小白,一开始做中后台项目用的就是Antdv 百度找不到什么资料的情况下还是蛮绝望的,慢慢的搞懂一些框架用法之后写一下自己的踩坑日志,希望能帮助到别人。如有不正确的地方,敬请提出指正。谢谢各位。
以下正文:
在百度上搜索了一下,Antd关闭国际化最多的答案是找到“src\config\defaultSettings.js”文件,修改menu的locale选项设置为false。
/** * 项目默认配置项 * primaryColor - 默认主题色, 如果修改颜色不生效,请清理 localStorage * navTheme - sidebar theme ['dark', 'light'] 两种主题 * colorWeak - 色盲模式 * layout - 整体布局方式 ['sidemenu', 'topmenu'] 两种布局 * fixedHeader - 固定 Header : boolean * fixSiderbar - 固定左侧菜单栏 : boolean * contentWidth - 内容区布局: 流式 | 固定 * * storageOptions: {} - Vue-ls 插件配置项 (localStorage/sessionStorage) * */ export default { navTheme: 'dark', // theme for nav menu primaryColor: '#52C41A', // primary color of ant design layout: 'sidemenu', // nav menu position: `sidemenu` or `topmenu` contentWidth: 'Fluid', // layout of content: `Fluid` or `Fixed`, only works when layout is topmenu fixedHeader: false, // sticky header fixSiderbar: false, // sticky siderbar colorWeak: false, menu: { // 实验证明,并没有什么用 locale: false }, title: 'Ant Design Pro', pwa: false, iconfontUrl: '', production: process.env.NODE_ENV === 'production' && process.env.VUE_APP_PREVIEW !== 'true' }试了一下,发现好像不太行,自己研究了一下它的介绍文档发现还需要修改“src\locales\index”把默认的语言改成中文,才能生效。
import Vue from 'vue' import VueI18n from 'vue-i18n' import storage from 'store' import moment from 'moment' // default lang 默认语言改为中文 import zhCN from './lang/zh-CN' Vue.use(VueI18n) // defaultLang 改为中文 export const defaultLang = 'zh-CN' // 消息也改为中文 const messages = { 'zh-CN': { ...zhCN } } const i18n = new VueI18n({ silentTranslationWarn: true, locale: defaultLang, fallbackLocale: defaultLang, messages }) const loadedLanguages = [defaultLang] function setI18nLanguage(lang) { i18n.locale = lang // request.headers['Accept-Language'] = lang document.querySelector('html').setAttribute('lang', lang) return lang } export function loadLanguageAsync(lang = defaultLang) { return new Promise(resolve => { // 缓存语言设置 storage.set('lang', lang) if (i18n.locale !== lang) { if (!loadedLanguages.includes(lang)) { return import(/* webpackChunkName: "lang-[request]" */ `./lang/${lang}`).then(msg => { const locale = msg.default i18n.setLocaleMessage(lang, locale) loadedLanguages.push(lang) moment.updateLocale(locale.momentName, locale.momentLocale) return setI18nLanguage(lang) }) } return resolve(setI18nLanguage(lang)) } return resolve(lang) }) } export function i18nRender(key) { return i18n.t(`${key}`) } export default i18n