哪位大神会thinkphp5.0多语言切换? 我来答 可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。 thinkphp 大神 语言 切换 搜索资料 1个回答 #热议# 发烧为什么不能用酒精擦身体来退烧? 张恺阳 2017-05-11 · 知道合伙人软件行家 张恺阳 知道合伙人软件行家 采纳数:166 获赞数:532 开发过各种类型网站及APP等,如有相关问题可以随时向我提问。 向TA提问 私信TA 关注 展开全部 在Thinkphp5.0中,使用多语言的话,一般使用自动检测就可以了。开启自动检测只需要设置一下lang_switch_on参数就可以了。设置步骤如下:1、在根目录找到application文件中找到config.php。2、在config.php文件中找到lang_switch_on参数。3、将lang_switch_on参数的值设置为true即可。设置完毕后,Thinkphp会根据用户的实际所在地区,自动切换语言包。 更多追问追答 追问 这些我都设置好了,不知道怎么用 大神指点迷津 追答 设置好就可以了,由于我们的浏览器肯定识别为中文,所以自动切换不能自然实验,得人为干预一下,在URL地址中携带参数lang,可以改变当前的语言环境! 追问 不行的 是这样子的,thinkphp5多语言切换,Lang::setAllowLangList(['zh-cn','en-us']);这段代码放哪里的的? 我看手册有这个 追答 这个是设置允许的语言范围,超出这个范围的语言环境不会被切换,而是使用默认的语言环境,这个你可以放在任意位置,如果是希望全局设置,可以放在common.php里 追问 是吗?好像我放过common.php,但是会报错 今晚我在试试 追答 要在common中 use think\Lang;后才能使用Lang::set...... 追问 今晚我试试 谢谢 大神帮分析一下图片 有什么方法可以定义一个控制器语言包? 追答 可以自己加载任何额外的语言包!用load方法,Lang::load(语言包路径); 追问 哦,也就只有这个方法了吗?如果是这样的话就不方便了,那么多控制器,每个控制器都要加载一个语言包,没有thinkphp3.2的好 追答 可以写在父类进行判断呀,为这些需要增加控制器语言包的类增加一个父类,并在父类根据控制器名来识别加载,这样的话,基本就和3.2的加载模式就差不多啦! 追问 可不可以不用继承的方法进行判断?我想让整个项目都能用 追答 如果不想在父类进行判断,那么就只能在需要加载额外语言包的控制器中调用了,不过可以封装一个分层控制器,对这样的重复行为进行操作,只要使用controller或者action助手函数来调用这个分层控制器的方法就可以了! 如果说是整个项目,每个控制器都要加载额外语言包的话,可以把这个加载行为写在common.php里也行! 追问 对了,你说的行为是thinkphp5 扩展里边的行为吗?刚才我直接把load方法,Lang::load(语言包路径);放到common.php里不起作用 追答 以上是示例截图,在common.php里可以加载语言包! 追问 奇怪,不应该啊!难道只能放common文件夹下吗? 你把路径换成这个看看,Lang::load(AP_PATH.'index/lang/zh-cn/lan.php'); 是不是有文件夹限制的? 追答 按照你给的路径,一样有效! 而且应该不是文件夹权限的问题,因为load只是加载,使用的是读的权限,无论是Windows还是Linux,读的权限都是默认开放的! 追问 我等下试试 加一下我 1397589021 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询 其他类似问题 2017-04-14 thinkphp实现多语言切换时,数据库数据如何也实现多语言? 2 更多类似问题 > 为你推荐: