ThinkPHP框架多语言切换功能开发管理后台

2020-08-1021:49:34后端程序开发Comments2,241 views字数 930阅读模式

一、后台实现多语言

使用框架为v5.1.38 LTS文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

来到配置文件config/app.php可以看到关于语言的配置信息就只有这俩个参数。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

lang_switch_on这个参数是自动监听的浏览器语言,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

default_lang关于这个参数就是在没有切换其它语言之前就直接默认中文 ThinkPHP框架多语言切换功能开发管理后台 配置文件了解之后我们需要在需要的模块创建lang目录,并且配置对应语言的语言包。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

这里咔咔只配置了英文和中文 如还需要其它语言可自行添加即可。 ThinkPHP框架多语言切换功能开发管理后台 到这一步你会发现从头到尾都没有一个参数说是配置语言列表的参数。配置文件也没有找到。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

但是在文档里你可以看到这行代码。我们去源码看看文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

ThinkPHP框架多语言切换功能开发管理后台 在源码中就可以看得明白,语言的cookie的name值也是固定的,并且cookie的有效期时间为3600,这些都是需要根据自己项目进行调整的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

最重要的是看允许语言列表。我们继续追溯这个变量 ThinkPHP框架多语言切换功能开发管理后台 在文件thinkphp/library/think/Lang.php最后我们就可以看到一个方法,这个方法也正是文档给出的一个方法 ThinkPHP框架多语言切换功能开发管理后台 由于我们整个后台都需要使用多语言,所以我们需要在common中进行配置 ThinkPHP框架多语言切换功能开发管理后台文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

二、视图切换语言

在视图模板里直接调用languageChange方法 ThinkPHP框架多语言切换功能开发管理后台 ThinkPHP框架多语言切换功能开发管理后台 在视图中有一个变量为$languageName,这个变量是咔咔直接从配置文件直接取出来的,后期会调整到数据库中。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

ThinkPHP框架多语言切换功能开发管理后台 然后在控制器写方法changeLanguage,用来处理语言切换后的cookie改变 ThinkPHP框架多语言切换功能开发管理后台 此时我们的后台页面就是这样的 ThinkPHP框架多语言切换功能开发管理后台文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

三、测试

在经过上面的操作之后,我们就可以根据自己设置的语言包来进行语言切换了文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

在模板中我们就需要使用lang这个模板标签进行获取数据 ThinkPHP框架多语言切换功能开发管理后台 这个是英文状态 ThinkPHP框架多语言切换功能开发管理后台 这个是中文状态 ThinkPHP框架多语言切换功能开发管理后台 到这关于多语言的实现就完成了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

四、总结

上面说了这么多,只是把每一步的步骤给大家写出来了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

其中关键点如下文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

  • application/config.php配置文件修改
  • 在对应的模块里添加lang目录,并且创建需要的语言包
  • 视图进行语言切换调用后台接口存储cookie值。保存在think_var
  • 模板使用lang标签即可

作者:原来是咔咔
链接:https://juejin.im/post/6859242027868618765
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/19985.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/19985.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定