Thinkphp 多语言功能完善

发布时间:2022-09-07 12:28:25

thinkphp是PHP国内最火的框架没有之一,但是原生代码对多语言识别有点不方便,今天百分网小编为大家整理的Thinkphp多语言功能完善,仅供学习参考,欢迎大家阅读浏览!

thinkphp原生代码对多语言识别有点不方便。下面代码增加的对语种的识别。

Thinkphp 多语言功能完善

publicstaticfunctiondetect()

{

//自动侦测设置获取语言选择

$langSet='';

if(isset($_GET[self::$langDetectVar])){

//url中设置了语言变量

$langSet=strtolower($_GET[self::$langDetectVar]);

}elseif(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){

//自动侦测浏览器语言

preg_match('/^([a-z\d\-]+)/i',$_SERVER['HTTP_ACCEPT_LANGUAGE'],$matches);

$langSet=strtolower($matches[1]);

$acceptLangs=Config::get('header_accept_lang');

if(isset($acceptLangs[$langSet])){

$langSet=$acceptLangs[$langSet];

}elseif(isset(self::$acceptLanguage[$langSet])){

$langSet=self::$acceptLanguage[$langSet];

}

}

if(!empty($langSet)){

if(empty(self::$allowLangList)||in_array($langSet,self::$allowLangList)){

self::$range=$langSet;

}else{

$tmp=explode('-',$langSet);

if(count($tmp)>2)$langSet=$tmp[0].'-'.$tmp[count($tmp)-1];

if(in_array($langSet,self::$allowLangList))self::$range=$langSet;//只包含语种+地区

else{

//只包含语种

$langSet=$tmp[0];

if(in_array($langSet,self::$allowLangList))self::$range=$langSet;

}

}

}

returnself::$range;

}

看了Thinkphp 多语言功能完善还看了:
  • 自我评价的功能(四)自我完善功能

    3)自我完善功能自我评价有利于主体的自我完善。根据心理学的有关研究成果,当人们形成自我评价之后,有的时候会感到自我评价的某个方面受到威胁(挑战)。在这样的情况下,他/她就会加倍努力地寻求对这种自我评价的社会承认。例如,高尔威泽(gollwi...

  • 多功能室标语

    轻声慢步静悄悄,勤奋多练技艺高。下面我们来看看多功能室标语,欢迎阅读借鉴。1、放眼未来、把握现在。2、日月乾坤,*指一挥间。3、垃圾不落地,机房更美丽。4、网络在生活中,而非生活在网络中。5、网络连接世界,信息沟通心灵。6、网络一线牵,冲浪...

  • 多功能铲

        寒假里,大家坐在一起津津有味的谈着寒假趣事,可陈阿姨却说:“我家的小孩去滑雪,本来很开心的,结果刚下车,踩到雪,哗啦一下摔了一跤,半边衣服都湿透了,好心情也*消云散了??????”听到这儿,我便想起了去年玩雪摔倒的景象,要是带上一把...

  • 多功能笔

    大家好!我是一支多功能笔,我的发明者是海陵实验小学的夏天一同学,你?e看我个头小,我的作用可大着呢,我可以变*、照明……我的变*技术可谓一流。你只要按下我身上的七*按钮,我就可以变成你想要的任何颜*,赤橙黄绿青蓝紫,各种颜*应有尽有。我的照...

  • 多功能笔

    现在我们已经发明了许多有趣又奇特的笔,但每一种笔都有一个不方便的地方。比如水笔,它的笔水是有限的,用完了要及时更换笔芯,才能继续使用。而笔芯是要用钱买的,这样是不是又费钱又费时。我就想发明一种又节能又环保,而且能录音的笔!这种笔的材料很坚固...