Skip to content

fix(i18n): match browser locale tags precisely - #39

Merged
zhengkunwang223 merged 1 commit into
1Panel-dev:mainfrom
fanfan1233:codex/fix-i18n-single-file
Sep 23, 2026
Merged

zhengkunwang223 merged 1 commit into
1Panel-dev:mainfrom
fanfan1233:codex/fix-i18n-single-file

Conversation

@fanfan1233

Copy link
Copy Markdown
Contributor

修复首次访问时浏览器语言偏好的匹配问题。原实现按字符串前缀匹配,会把 zha 误判为中文,并让格式错误的标签抢占后续有效偏好。

在 frontend/src/i18n.tsx 内使用 Intl.Locale 解析并规范化标签,精确匹配中文和英文,跳过不支持或格式错误的标签。保留显式字形优先、中文地区回退和最终英文回退规则,以及手动语言选择的优先级。

本 PR 只修改 frontend/src/i18n.tsx,无需额外的 locale.ts 模块。

验证:

  • 本地验证脚本直接加载该文件的实际导出,24 项语言匹配检查全部通过(原实现 7 项失败)。验证脚本不包含在本 PR 中。
  • pnpm build:TypeScript 类型检查和 Vite 生产构建通过。

@zhengkunwang223
zhengkunwang223 merged commit e34ff8c into 1Panel-dev:main Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants