在 config/config.js 中做如下配置
plugins:[
...,
locale: {
enable: false,
default: 'zh-CN',
baseNavigator: true,
},
....
]
这不是关闭了国际化这个功能吗,为啥还是会报 [React Intl] Missing message: "menu.商品管理" for locale: "zh-CN" 这个错,而且菜单前面多了个'menu.' ? 还是要在其他地方配置?
代码中也需要关闭,不是删除插件就可以了
你需要删除所有引用了 umi/local 的代码
这着实令人难过。。
嗯,确实是看着比较烦能一键关闭就好了
// defaultSettings.js 里
menu: {
disableLocal: true, // 禁用多语言功能
}
国际化真让人有点头秃。。
移除国际化,我试了把所有关于local的代码全删了,后来发现报错了,我经过2小时漫长的debug,终于解决了:
<pro-layout
:title="title"
:menus="menus"
:collapsed="collapsed"
:mediaQuery="query"
:isMobile="isMobile"
:handleMediaQuery="handleMediaQuery"
:handleCollapse="handleCollapse"
:logo="logoRender"
+ :i18nRender="key => key"
v-bind="settings"
>
增加i18nRender玩意,为什么?
因为这个属性的默认值是key => undefined
!!!