这篇文章给大家分享的是有关ThinkPHP后台实现多语言的示例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
使用框架为v5.1.38 LTS
来到配置文件config/app.php
可以看到关于语言的配置信息就只有这俩个参数。
lang_switch_on
这个参数是自动监听的浏览器语言,
default_lang关于这个参数就是在没有切换其它语言之前就直接默认中文配置文件了解之后我们需要在需要的模块创建lang目录,并且配置对应语言的语言包。
这里咔咔只配置了英文和中文 如还需要其它语言可自行添加即可。到这一步你会发现从头到尾都没有一个参数说是配置语言列表的参数。配置文件也没有找到。
但是在文档里你可以看到这行代码。我们去源码看看
在源码中就可以看得明白,语言的cookie的name值也是固定的,并且cookie的有效期时间为3600,这些都是需要根据自己项目进行调整的。
最重要的是看允许语言列表。我们继续追溯这个变量在文件thinkphp/library/think/Lang.php
最后我们就可以看到一个方法,这个方法也正是文档给出的一个方法由于我们整个后台都需要使用多语言,所以我们需要在common中进行配置
在视图模板里直接调用languageChange
方法在视图中有一个变量为$languageName
,这个变量是咔咔直接从配置文件直接取出来的,后期会调整到数据库中。
然后在控制器写方法changeLanguage
,用来处理语言切换后的cookie改变此时我们的后台页面就是这样的
在经过上面的操作之后,我们就可以根据自己设置的语言包来进行语言切换了
在模板中我们就需要使用lang这个模板标签进行获取数据这个是英文状态这个是中文状到这关于多语言的实现就完成了。
感谢各位的阅读!关于ThinkPHP后台实现多语言的示例就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。