Fastadmin中的语言加载机制

多语言开关

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设置。
Fastadmin中的语言加载机制_第1张图片
APP.php文件的第98至107行,可以看到相关的配置。Fastadmin中的语言加载机制_第2张图片
其中Lang:detect()方法的调用就是通过$_SERVER['HTTP_ACCEPT_LANGUAGE']变量从浏览器中获取了accept-language,当然这种获取语言的方式是在没有在url中或者Cookie中设置语言变量的前提下才会生效的。
Fastadmin中的语言加载机制_第3张图片

你可能感兴趣的:(Fastadmin中的语言加载机制)