- 09/30草莓互联2024年国庆假期...
- 09/15草莓互联2024年中秋节放...
- 08/10宝塔控制面板手动安装Ope...
- 06/07草莓互联2024年端午节放...
- 04/30草莓互联2024年五一劳动...
- 04/03草莓互联2024年清明放假...
- 03/24宝塔控制面板Nginx后端...
- 02/27宝塔面板python2.7升级...
- 02/19宝塔面板站点PCI DSS不合...
- 02/19宝塔面板站点站长工具中点亮HT...
- 02/14宝塔面板https协议无法获取...
- 02/11宝塔Windows面板下SQL...
- 02/02宝塔控制面板利用nginx实现...
- 09/18宝塔控制面板FTP增加Flas...
phpweb已经是国内最强的的开源电子商务系统了,但并非完美,因为任何...
互联网3年一轮回,京东凡客等电商品牌在三年之前也不过是小打小闹,而如...
电商已经成为趋势,传统行业的竞争已经逐渐演变到网络上,也有不少用Weboss...
phpweb系统是固定的模式,适用于大部分行业与需求。但有一些行业还是有自己...
Thinkphp5增加语言包进行多语言切换?
Thinkphp5增加语言包进行多语言切换?
这里以Thinkphp5.0.5举例,5.x版本大同小异。
以登录模块为例子,涉及到修改的页面如下:
1、/application/config.php
查看是否存在以下配置,如果没有,就自己复制添加进去。
// 是否开启多语言功能
'lang_switch_on' => true,
// 多语言包列表(可以自己添加多个,可自定义根据语言包文件同名)
'lang_list' => ['zh-cn','en-us','id-id'],
// 打开站点默认调用的语言包
'default_lang' => 'zh-cn',
2、/application/index/view/head.html(这里我直接添加到了统一的头部)
添加前端切换代码:
<div style="color:#FFF;width:100%;height:20px;padding-right:20px;;padding-top:10px;">
<span style="color:#FFF;display:block;float:right;" ><img alt="" src="/img/indonesian.jpg" style="width:16px;vertical-align:middle;" ></span>
<span style="color:#FFF;display:block;float:right;width:25px" ><img alt="" src="/img/eng.png" style="width:16px;vertical-align:middle;" ></span>
</div>
<script>
$('.btnClick').click(function(){
var data={'lang':$(this).attr('lang')};
$.get("{:url('Index/lang')}",data,function(){
location.reload(); //重新加载下语言包
})
})
</script>
3、/application/index/controller/ 中对应的php控制器也要对应添加一下;
假如你的是登录页面,那就是login.php
代码如下:
public function lang()
{
switch ($_GET['lang']) {
case 'cn':
cookie('think_var', 'zh-cn');
break;
case 'en':
cookie('think_var', 'en-us');
break;
}
}
4、/application/lang/ 增加语言包,以英文语言包en-us.php 为例
return array(
// 添加下面一行定义即可
'dlzx' => 'Login center', //中文意思是登录中心,这里自己
'dlcg' => 'Login successful!',
);
5、需要去前端对应html 里面将 对应变量进行替换,以/application/index/view/login/login.html 为例
{$Think.lang.dlzx} 这个变量中的dlzx就是语言包中的 dlzx;
6、/application/index/controller/控制器中的文字怎么改为变量调用?
以/application/index/controller/Login.php为例
hinkLang::get('dlcg') 变量中的dlcg 就是对应语言包中的 dlcg。
到这里就整个流程结束了,最大的工作量在于对整个输出的文字的变量替换,一个页面可能十几二十个变量,搬砖工作是蛮大的。
假如我们资讯/文章对您有所帮助,您可以通过扫描捐赠二维码支持一下我们~
感谢您对我们的支持,您的小小支持让我们有信心走得更远!