码迷,mamicode.com
首页 > Web开发 > 详细

thinkphp5.0中英文切换

时间:2017-06-18 13:15:13      阅读:527      评论:0      收藏:0      [点我收藏+]

标签:extend   多语言   extends   lan   function   text   body   lis   head   

thinkphp为我们提供了多语言类

首先来看下它的配置:

// 是否开启多语言
‘lang_switch_on‘ => true,

//语音列表
‘lang_list‘ => [‘zh-cn‘,‘en-us‘],

// 获取当前选择语言的方法类

GetLang.php

<?php

namespace app\index\controller;

 

use think\Cookie;

use think\Lang;

use think\Request;

class GetLang{

public function get_lang(){

 

$lang = null;

if(input(‘?lang‘)){

$lang = input(‘lang‘);

}

if($lang==null){

if(Cookie::has(‘think_var‘)){

$lang = Cookie::get(‘think_var‘);

}else{

$lang = ‘zh-cn‘;

}

}

$lang = Lang::range($lang);

Lang::load(APP_PATH.DS.‘index‘.DS.‘lang‘.DS.$lang.EXT,$lang);

Cookie::set(‘think_var‘,$lang);

return $lang;

}

}

 

?>

// 显示效果的控制器类

Index.php

<?php

namespace app\index\controller;

 

use think\Controller;

 

class Index extends Controller 

{

public function index(){

$lang = new \app\index\controller\GetLang;

$now_lang = $lang->get_lang();

var_dump($now_lang);

if($now_lang==‘zh-cn‘){

$now_lang=‘en-us‘;

}elseif($now_lang==‘en-us‘){

$now_lang=‘zh-cn‘;

}

var_dump($now_lang);

$this->assign(‘set_lang‘,$now_lang);

return $this->fetch();

}

}

// 视图页

index.html

<html>

  <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>{:lang(‘TITLE‘)}</title>

  </head>

  <body>

    <a href="?lang={$set_lang}">{:lang(‘NOW_LANG‘)}</a>

    

  </body>

</html>

//语言包文件

zh-cn.php

<?php

return [

‘TITLE‘=>‘语言切换‘,

‘NOW_LANG‘=>‘切换‘,

]

?>

en-us.php

<?php

return [

‘TITLE‘=>‘Language switching‘,

‘NOW_LANG‘=>‘Switch‘,

];

?>

<?phpnamespace app\index\controller;
use think\Cookie;use think\Lang;use think\Request;class GetLang{public function get_lang(){
$lang = null;if(input(‘?lang‘)){$lang = input(‘lang‘);}if($lang==null){if(Cookie::has(‘think_var‘)){$lang = Cookie::get(‘think_var‘);}else{$lang = ‘zh-cn‘;}}$lang = Lang::range($lang);Lang::load(APP_PATH.DS.‘index‘.DS.‘lang‘.DS.$lang.EXT,$lang);Cookie::set(‘think_var‘,$lang);return $lang;}}
?>

thinkphp5.0中英文切换

标签:extend   多语言   extends   lan   function   text   body   lis   head   

原文地址:http://www.cnblogs.com/xwlong/p/6993040.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!