时间:2020-3-26 编辑:37°5 点个赞呗
\think\middleware\LoadLangPack,
文档说的开启其实就是让你去全局中间件middleware.php里把注释掉的多语言加载给打开
类代码为:
namespace langs; class GetLang{ function get_lang(){ $lang=null; if(input('?lang')){ $lang=input('lang'); } if($lang==null){ if(\think\facade\Cookie::has('think_lang')){ $lang = \think\facade\Cookie::get('think_lang'); }else{ $lang = 'zh-cn'; } } $lang =lang($lang); //设定当前语言 \think\facade\Lang::load("app\你的应用\lang\\".$lang.'.php',$lang);//加载当前语言包 \think\facade\Cookie::set('think_lang',$lang); return $lang; } }
function set_lang() { $lang = new GetLang(); $now_lang = $lang->get_lang();//获取当前语言 if ($now_lang == 'zh-cn') { $now_lang = 'en-us'; } elseif ($now_lang == 'en-us') { $now_lang = 'zh-cn'; } View::assign('set_lang', $now_lang); }
{:lang('TITLE')}<a href="?lang={$set_lang}">{:lang('NOW_LANG')}</a>
<?php /** * Created by PhpStorm. * User: 764417604 * Date: 2020/3/26 * Time: 16:28 */ return [ 'TITLE'=>'语言切换', 'NOW_LANG'=>'切换', ];
<?php /** * Created by PhpStorm. * User: 764417604 * Date: 2020/3/26 * Time: 16:28 */ return [ 'TITLE'=>'Language switching', 'NOW_LANG'=>' Switch', ];
a图汉字:
b.图英文:
点击“切换”或“Switch”就会自动切换中英了。
本文由37°5【https://www.alvinxiao.com】原创,转载请注明来源。请尊重原创和营造和谐的网络环境,谢谢!
thinkphp6进行多语言切换【这里只做中英文切换的介绍】
时间:2020-3-26 编辑:37°5 点个赞呗
一、当然先看看文档配置【这是必须的】官方文档出出来也是有他的道理的
1.开启和加载语言包
文档说的开启其实就是让你去全局中间件middleware.php里把注释掉的多语言加载给打开
2.然后到你的应用目录里找到lang.php文件,添加下如图所示的东东,当然如果你想修改其它也行。
3.到extend文件配置一个类:
类代码为:
4.然后到你想调用的类方法里建一个方法:
5.在视图模板里这么调用就行了
6.还有设置两个文件,在应用目录里新建个lang文件夹,里面包含zh-cn.php和en-us.php两个文件。
zh-cn.php:
en-us.php:
7.最终呈现的结果:
a图汉字:
b.图英文:
点击“切换”或“Switch”就会自动切换中英了。
本文由37°5【https://www.alvinxiao.com】原创,转载请注明来源。请尊重原创和营造和谐的网络环境,谢谢!