# P10-NS4-08:管理后台的国际化预留 ## 简要结论 - 状态:✅ 已解决 - Ant Design 组件已配置 `zhCN` locale,项目无国际化框架需求,中文硬编码符合项目规范,当前方案合理。 ## 详细审查 ### 前端代码 #### 1. Ant Design ConfigProvider locale 配置 `apps/tenant-admin/src/main.tsx` 已在根节点配置 Ant Design 中文 locale: ```tsx import { ConfigProvider } from "antd"; import zhCN from "antd/locale/zh_CN"; ``` 这确保了 Table 空状态文案、DatePicker 日期选择器、Pagination 分页器、Modal 确认/取消按钮等所有 Ant Design 内置组件均显示中文。 `apps/admin-web/src/main.tsx` 采用完全相同的配置方式,两个管理后台保持一致。 #### 2. i18n 框架依赖 `apps/tenant-admin/package.json` 和 `apps/admin-web/package.json` 均未引入任何 i18n 框架(如 `react-intl`、`i18next`、`react-i18next` 等)。 全局搜索 `i18n`、`intl`、`useIntl`、`formatMessage`、`i18next`、`react-intl` 关键词,两个项目中均无 i18n 框架使用痕迹。`locale` 关键词仅出现在 Ant Design ConfigProvider 配置和 `toLocaleString()` 日期格式化调用中。 #### 3. 中文硬编码情况 tenant-admin 所有页面中的 UI 文案均为中文硬编码,包括: - 导航菜单:`"用户审核"`、`"用户管理"`、`"Excel 上传"`、`"维客线索管理"` - 表格列标题:`"昵称"`、`"手机号"`、`"状态"` 等 - 操作按钮:`"审核"`、`"编辑"`、`"绑定"`、`"删除"`、`"登录"` - 表单标签:`"请输入用户名"`、`"请输入密码"`、`"请选择角色"` - 提示消息:`"审核通过成功"`、`"用户名或密码错误"`、`"账号已被禁用"` - 状态标签:`"待审核"`、`"已通过"`、`"已拒绝"` admin-web 同样采用中文硬编码方式,两个项目风格一致。 #### 4. 与 admin-web 的对比 | 维度 | tenant-admin | admin-web | |------|-------------|-----------| | ConfigProvider zhCN | ✅ 已配置 | ✅ 已配置 | | i18n 框架 | 无 | 无 | | UI 文案方式 | 中文硬编码 | 中文硬编码 | | 日期格式化 | dayjs 依赖已安装 | `toLocaleString('zh-CN')` | 两个管理后台在国际化处理上完全一致。 ### 差距分析 P10 标杆文件(`docs/prd/specs/P10-tenant-admin-web.md`)中没有独立的"国际化"章节,也未提出任何多语言支持要求。标杆文件明确定义的用户群体是"租户管理员",即国内台球门店的管理人员。 结合项目 steering 规则: - `language-zh.md`:说明性文字一律简体中文 - `project-overview.md`:领域语言中文,货币 CNY 项目定位为面向国内台球门店的垂直业务系统,目标用户群体单一(国内门店管理员),不存在多语言需求场景。 ### 建议 当前方案已满足项目需求,无需额外改动: 1. Ant Design `ConfigProvider locale={zhCN}` 已正确配置,组件内置文案为中文 — **已完成** 2. 无需引入 i18n 框架 — 项目面向国内市场,中文硬编码是合理选择,引入 i18n 框架反而增加不必要的复杂度 3. 如未来确有国际化需求(概率极低),可后续引入 `react-intl` 或 `i18next`,将硬编码文案提取为 message key,改动范围可控