ryan
|
3de0a54d47
|
feat(a11y): 设置页无障碍审计并修复开关可访问名称
axe 结构性规则扩展到设置页(安全 Tab + 其他 Tab):
- security-tab 8 个 Switch/SelectTrigger 补可访问名称(Label htmlFor 关联 + aria-label)
- other-tab / auth-source-modal 各 1 个未命名 Switch 补 aria-label
- 新增 2 个 axe 测试,vitest 126 全绿
- 翻译键 loginCaptchaEnabled 加入 fragments(admin.zh-CN/en)
|
2026-08-17 00:02:51 +08:00 |
|
ryan
|
497edfd564
|
refactor(i18n): fragments 为唯一源,主包改为生成物
- 一次性回灌:主包最新内容(含 565 个未同步键)全量写回 6 个 fragment 文件,fragments 成为完整唯一源;新增 core fragment(common/docs/home 等 9 个此前仅存在于主包的命名空间)
- merge-i18n-fragments.mjs 改为从零重建主包(不再以主包为基础),重建结果与原主包语义零差异
- 主包 messages/{zh-CN,en}.json 移出跟踪并加入 .gitignore
- 生成接入入口:predev/prebuild/prebuild:embed/precheck:i18n 钩子 + Makefile code-check 与 checks.sh vitest 前置生成
- 修复既有漂移:configVersions.title 现以 fragments(Config versions)为准
|
2026-08-16 22:38:50 +08:00 |
|
ryan
|
f4ec58c0e6
|
Revert "chore(i18n): simplify cleanup and previewPublish labels in ops files"
This reverts commit 2ba28417b3.
|
2026-08-16 21:53:23 +08:00 |
|
ryan
|
2ba28417b3
|
chore(i18n): simplify cleanup and previewPublish labels in ops files
|
2026-08-16 21:52:50 +08:00 |
|
ryan
|
5a8722ff07
|
feat(frontend): 控制台 next-intl 中英双语
接入无 URL 前缀的 zh-CN/en,顶栏与外观设置可切换语言;选择写入 cookie 后刷新生效。
|
2026-08-16 16:49:16 +08:00 |
|