一、配置 创建 中英繁多语言切换 简体中文 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
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0