多语言开关
FastAdmin默认是开启多语言的,如果需要关闭多语言并默认语言类型为中文,需要在config.php
文件中将lang_switch_on
设置为false
。
语言自动加载机制
有的时候,我们使用浏览器打开FastAdmin制作的后台可能会发现语言变成了英文,这是因为浏览器将accept-language:en,zh-CN;q=0.9,zh;q=0.8
之类的en放在最前的HTTP头发送给了服务器。而这可能是因为你将浏览器的语言设置成了英文,或者可能开启了科学上网等因素造成的。
在给浏览器默认语言设置为英文后打开FastAdmin制作的后台可以看到这一现象,可以看到控制台中浏览器发送的HTTP头中的accept-language设置。
在APP.php
文件的第98至107行,可以看到相关的配置。
其中Lang:detect()
方法的调用就是通过$_SERVER['HTTP_ACCEPT_LANGUAGE']
变量从浏览器中获取了accept-language
,当然这种获取语言的方式是在没有在url中或者Cookie中设置语言变量的前提下才会生效的。