php 2024-10-09

thinkphp8多应用模式下多语言不能正常使用

Acyc
热爱技术分享,擅长用通俗易懂的语言解析复杂概念

按tp8文档里面的来设置,然后切换失败

兜兜转转,不停测试,最终还是得靠搜索引擎,最终的解决方法是在/app/middleware.php中添加下面这行,没有该文件就自己创建一下

// 这是系统自动生成的middleware定义文件
return [
	// 自定义全局中间件
	//多语言添加下面这一行即可
	think\middleware\LoadLangPack::class,
];

然后是config/lang.php配置里面将default_lang设置为空

// +----------------------------------------------------------------------
// | 多语言设置
// +----------------------------------------------------------------------

return [
    // 默认语言
    'default_lang'    => '',  //设置为空
    // 允许的语言列表
    'allow_lang_list' => ['zh-cn', 'en-us'],
    // 多语言自动侦测变量名
    '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' => 'zh-cn',
    ],
    // 是否支持语言分组
    'allow_group'     => true,
];

切换只需要入cookie里面写入就OK了

cookie('think_lang',‘en-us’);

京东云无线宝边缘计算家用路由器 AX3000哪吒 WiFi6千兆无线路由器 5G双频 Mesh 3000M无线速率

到手价¥99 99

京东云无线宝边缘计算家用路由器 AX1800鲁班64G畅享版 WiFi6 无线路由器 5G双频 Mesh 千兆路由器

到手价¥99 109

京东云无线宝AX3000哪吒边缘计算路由器 WiFi6 5G双频全屋Mesh组网3000M无线速率疾速超千兆家用路由器高通三核

到手价¥119 119

京东云无线宝ER1 太乙 有线路由 边缘计算家用路由器 千兆路由器

到手价¥229 229

京东云无线宝ER1 太乙 有线路由 千兆路由器黑色 5核高通处理器 USB3.0 全千兆网口 2GB 大内存 金属外壳

到手价¥229 229

京东云无线宝AX6600雅典娜64G 边缘计算家用路由器 WIFI6 高通5核 1G内存 LED点阵屏 三频Mesh

到手价¥344 359

京东云无线宝边缘计算家用路由器 BE6500 高通4核WiFi7 千兆无线路由器2.5G网口 两频三频自由切换 Mesh组网

到手价¥376.6 386.6

评论 (0)

用户头像

暂无评论

作者头像
Acyc
隐形洁癖 时间管理大师

热爱技术分享,擅长用通俗易懂的语言解析复杂概念

文章目录