可以根据手册提示,在应用的配置目录下面的行为定义文件tags.php
array('Behavior\CheckLang'),);
在项目配置文件里,添加
'LANG_SWITCH_ON' => true, // 开启语言包功能'LANG_AUTO_DETECT' => true, // 自动侦测语言 开启多语言功能后有效'LANG_LIST' => 'zh-cn,zh-en', // 允许切换的语言列表 用逗号分隔'VAR_LANGUAGE' => 'l', // 默认语言切换变量
然后,你就可以在项目里添加Lang这个语言文件夹了,里面可以放你的语言包
分别对应中文,和英文语言包文件
但是一般网站来说,都是交由编辑人员来处理的。不可能改个字,又找到程序员,打开文件来改动
要实现后台对于中英文的修改,可在后台,添加一个控制器,来进行程序
思路是,创建一个lang表,来存字段
lang_name为前台调用时用的
cn_name为该字段的中文
en_name为该字段的英文
控制器里代码如下
index只是做后台列出来而已
update为字段中英文的更新
updateLangCache为生成语言包文件,也就是zh-cn.php和zh-en.php文件修改过后的重新生成
页面代码,就是用ajax来进行修改
ID | 字段名 | cn_name | en_name |
---|---|---|---|
{$vo.id} | {$vo.lang_name} |
因为是thinkphp根据浏览器自动判断当前用户的浏览器支持语言来定位,中英文。
测试的时候,可以, 域名/?l=zh-en或者 域名/?l=zh-cn 来测试中英文
也可以<?php echo cookie('think_'language); ?>来知道当前的浏览器语言
后台,完成后的,效果如下