# 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";

<ConfigProvider locale={zhCN}>
  <App />
</ConfigProvider>
```

这确保了 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，改动范围可控
