返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Thinkphp多语言最佳解决方案
  • 161
分享到

Thinkphp多语言最佳解决方案

服务器servletphp 2023-08-31 09:08:09 161人浏览 独家记忆
摘要

一、配置 创建 中英繁多语言切换    简体中文  zh-cn  繁体中文   zh-hk    英语          en-us 文件配置和放置 以 index模块为例         第一步 配置语言文件 文件地址  config/l

一、配置

创建 中英繁多语言切换   

简体中文  zh-cn 

繁体中文   zh-hk   

英语          en-us

文件配置和放置 以 index模块为例

        第一步 配置语言文件 文件地址  config/lang.PHP

                

use think\facade\Env;return [    'lang_switch_on' => true,    // 默认语言    'default_lang'    => 'en-us',    // 允许的语言列表    'allow_lang_list' => ['zh-cn', 'en-us',"zh-hk"],    // 多语言自动侦测变量名    'detect_var'      => 'lang',    // 是否使用Cookie记录    'use_cookie'      => true,    // 多语言cookie变量    'cookie_var'      => 'think_lang',    // 多语言header变量    'header_var' => 'think-lang',    // 扩展语言包    'extend_list'     => [],    // Accept-Language转义为对应语言包名称    'accept_language' => [        'zh-hans-cn' => 'en-us',    ],    // 是否支持语言分组    'allow_group'     => true,];

 2、在模块目录下创建语言文件  

配置中间件 middleware.php  在模块主目录下创建以index为例  app/index/middleware.php 

return [    // 多语言加载    \think\middleware\LoadLangPack::class,];

配置语言应用文件地址 app/index/config/lang.php

return [    'default_lang'    => 'en-us',    // 扩展语言包    'extend_list' => [        'zh-cn' => [            app()->getAppPath() . 'lang/zh-cn/api.php',            app()->getAppPath() . 'lang/zh-cn/common.php',            app()->getAppPath() . 'lang/zh-cn/index.php',            app()->getAppPath() . 'lang/zh-cn/zh-cn.php',        ],        'en-us' => [            app()->getAppPath() . 'lang/en-us/api.php',            app()->getAppPath() . 'lang/en-us/common.php',            app()->getAppPath() . 'lang/en-us/index.php',            app()->getAppPath() . 'lang/en-us.php',        ],        'zh-hk' => [            app()->getAppPath() . 'lang/zh-hk/api.php',            app()->getAppPath() . 'lang/zh-hk/common.php',            app()->getAppPath() . 'lang/zh-hk/index.php',            app()->getAppPath() . 'lang/zh-hk.php',        ],    ],];

 二、应用

在接口中使用则调用接口时在header头参数加入 配置文件设置的字段  

'header_var' => 'think-lang',

mvc模式下调用则使用cookie 识别当前使用的语言 

'cookie_var'      => 'think_lang',

三、调用示例

thinkphp模板调用

{:lang('hello')}

来源地址:https://blog.csdn.net/weixin_38049705/article/details/127459789

--结束END--

本文标题: Thinkphp多语言最佳解决方案

本文链接: https://lsjlt.com/news/385051.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作