ThinkPhp中怎么实现多语言

ThinkPhp中怎么实现多语言,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

目前创新互联建站已为成百上千的企业提供了网站建设、域名、雅安服务器托管网站运营、企业网站设计、微山网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

一、后台实现多语言

使用框架为v5.1.38 LTS

来到配置文件config/app.php可以看到关于语言的配置信息就只有这俩个参数。

lang_switch_on这个参数是自动监听的浏览器语言,

default_lang关于这个参数就是在没有切换其它语言之前就直接默认中文ThinkPhp中怎么实现多语言配置文件了解之后我们需要在需要的模块创建lang目录,并且配置对应语言的语言包。

这里咔咔只配置了英文和中文  如还需要其它语言可自行添加即可。ThinkPhp中怎么实现多语言到这一步你会发现从头到尾都没有一个参数说是配置语言列表的参数。配置文件也没有找到。

但是在文档里你可以看到这行代码。我们去源码看看

ThinkPhp中怎么实现多语言在源码中就可以看得明白,语言的cookie的name值也是固定的,并且cookie的有效期时间为3600,这些都是需要根据自己项目进行调整的。

最重要的是看允许语言列表。我们继续追溯这个变量ThinkPhp中怎么实现多语言在文件thinkphp/library/think/Lang.php最后我们就可以看到一个方法,这个方法也正是文档给出的一个方法ThinkPhp中怎么实现多语言由于我们整个后台都需要使用多语言,所以我们需要在common中进行配置ThinkPhp中怎么实现多语言

二、视图切换语言

在视图模板里直接调用languageChange方法ThinkPhp中怎么实现多语言ThinkPhp中怎么实现多语言在视图中有一个变量为$languageName,这个变量是咔咔直接从配置文件直接取出来的,后期会调整到数据库中。

ThinkPhp中怎么实现多语言然后在控制器写方法changeLanguage,用来处理语言切换后的cookie改变ThinkPhp中怎么实现多语言此时我们的后台页面就是这样的ThinkPhp中怎么实现多语言

三、测试

在经过上面的操作之后,我们就可以根据自己设置的语言包来进行语言切换了

在模板中我们就需要使用lang这个模板标签进行获取数据ThinkPhp中怎么实现多语言这个是英文状态ThinkPhp中怎么实现多语言这个是中文状态ThinkPhp中怎么实现多语言到这关于多语言的实现就完成了。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


名称栏目:ThinkPhp中怎么实现多语言
链接分享:http://ybzwz.com/article/jehgdj.html