Skip to content

T2: 实现首次语言检测逻辑 (closes #109) - #121

Merged
devcxl merged 1 commit into
devfrom
feat/implement-language-detector
Jun 29, 2026
Merged

T2: 实现首次语言检测逻辑 (closes #109)#121
devcxl merged 1 commit into
devfrom
feat/implement-language-detector

Conversation

@devcxl

@devcxl devcxl commented Jun 29, 2026

Copy link
Copy Markdown
Owner

变更说明

实现语言检测 infrastructure,首次启动自动检测浏览器语言。

  • detectLanguage() — navigator.language 匹配逻辑
  • detectAndSetLanguage() — 首次启动写入 ConfigStore

验收标准

  • zh/zh-CN → zh-CN, en/en-US → en, 其他 → zh-CN
  • 有偏好时跳过,不覆盖
  • 使用 raw storage 检查避免默认值干扰
  • 15 个测试全部通过

Closes #109

@devcxl devcxl left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

审查结论:有条件通过 ✅

验证结果

  • 全部 781 个测试通过(含 15 个语言检测测试)
  • detectLanguage() 逻辑正确:zh→zh-CN, en→en, 其它→zh-CN
  • detectAndSetLanguage() raw storage 策略正确,成功避免默认值干扰
  • 无越界修改,仅新增 2 个文件

发现问题:3 Medium + 1 Low(均不阻塞合并)

级别 问题
MEDIUM mockBrowserStorage 与 config-store 测试重复,建议抽取共享 mock
MEDIUM 缺少 preferences key 不存在的边界测试(逻辑正确但无显式覆盖)
MEDIUM detectAndSetLanguage 无错误处理,极端情况下可能抛出未捕获异常
LOW 测试中断言风格轻微不一致

详细审查报告见 docs/review/pr-121-review.md

@devcxl
devcxl force-pushed the feat/implement-language-detector branch from daa1505 to b584aa7 Compare June 29, 2026 01:17
@devcxl
devcxl merged commit 15d67b3 into dev Jun 29, 2026
@devcxl
devcxl deleted the feat/implement-language-detector branch July 18, 2026 21:55
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.

1 participant