现象
页面已配置为中文,浏览器Cookie中的NEXT_LOCALE值为zh-CN,但进入对话页面后该Cookie值会被自动覆盖为en;切换回其他页面后,所有页面的语言都会变为英文,无法保持预设的中文设置。
可能原因
该问题的直接原因为对话页面的语言处理逻辑异常,错误覆盖了浏览器存储的NEXT_LOCALE Cookie值,未按预期保留用户设置的语言标识。具体根因需结合项目代码进一步排查确认。
排查步骤
- 打开浏览器开发者工具,进入「应用」标签页的「存储-Cookie」菜单,查看初始状态下
NEXT_LOCALE的Cookie值是否为zh-CN。 - 进入对话页面后,再次查看
NEXT_LOCALE的Cookie值,确认是否被修改为en。 - 切换回非对话页面,检查所有页面的语言是否均变为英文,验证异常影响范围。
- 确认当前使用的FastGPT版本为V4.14.20私有部署版,排除版本差异导致的问题。
解决与验证
解决该问题需调整对话页面的语言处理逻辑,优先读取现有NEXT_LOCALE Cookie中的语言值,避免强制重置该Cookie值。具体修复代码需结合项目代码逻辑调整。 验证步骤:
- 部署修复后的代码,确认进入对话页面时
NEXT_LOCALE仍保持初始的zh-CN值。 - 切换至其他页面,确认页面语言仍为中文,未被强制改为英文。
- 手动修改
NEXT_LOCALE为其他合法语言值,验证页面可正确适配对应语言设置。
来源:https://github.com/labring/FastGPT/issues/7007