[Bug] 国际化配置默认语言为英文不生效
在.umirc.ts文件配置国际化默认英文,页面进去还是默认中文,需要调用setLocale手动切换英文,下次进页面才是英文。
清除掉localStorage的值后,再刷新还是默认中文。
解决了吗?是这个吗
自定义获取语言。默认是读取的浏览器语言
@zhangxinyong12 通过判断localStorage的值来手动默认是暂时方案,配置项不生效的Bug还是存在的。
你本来有一个 localStorage 的值是吧?你清空 localStorage 之后,配置就生效了。你有修改默认方案的时候,可以改一个 localStorage 的 key
@xiaohuoni 是我描述过于繁琐了😂,这么说吧,localStorage没任何值的情况下,config里面配置的default值为英文不生效。
@xiaohuoni 是我描述过于繁琐了😂,这么说吧,localStorage没任何值的情况下,config里面配置的default值为英文不生效。
因为localStore取值不到getLocal的函数就返回了或运算的'zh-cn'。可以这么说 你本地初始化的情况下就是中文。因为代码就是默认中文。要么你就去改那个getLocal的函数本地缓存为空返回英文
@xiaohuoni 是我描述过于繁琐了😂,这么说吧,localStorage没任何值的情况下,config里面配置的default值为英文不生效。
因为localStore取值不到getLocal的函数就返回了或运算的'zh-cn'。可以这么说 你本地初始化的情况下就是中文。因为代码就是默认中文。要么你就去改那个getLocal的函数本地缓存为空返回英文
那config里面提供default配置意义是什么?
locale: { default: 'en-US', baseNavigator: false, //开启浏览器语言检测 默认是true 不填写也是 true },
开启浏览器语言检测。默认情况下,当前语言环境的识别按照:localStorage 中 umi_locale 值 > 浏览器检测 > default 设置的默认语言 > zh-CN
locale: { default: 'en-US', baseNavigator: false, //开启浏览器语言检测 默认是true 不填写也是 true },
开启浏览器语言检测。默认情况下,当前语言环境的识别按照:localStorage 中 umi_locale 值 > 浏览器检测 > default 设置的默认语言 > zh-CN
太棒了。多语言,默认是用户浏览器的语言标识