docs: 添加实体语义化配置规范及别名使用说明

This commit is contained in:
seahi committed 2026-09-15 11:16:22 +08:00
1 parent 8fedbdbe52
commit e379a97163
1 file changed
+17
+17
View File
@@ -12,6 +12,23 @@
- 必须运行 `pnpm run check && pnpm run lint`,并确保 0 错误、0 警告。
- 没有实际运行并通过这些检查,不得宣布任务完成。
## 语义化配置(别名 Aliases,重要)
项目中的实体名称(文章、页面、分类、标签、系列)全部支持后台自定义别名,**禁止在任何前端文案中硬编码这些中文名称**,必须统一走 `aliases` 语义化配置。
- 别名来源:数据库 `settings` 表中 `alias.*` 键,由 `src/routes/admin/+layout.server.ts` 注入,管理端页面通过 `$page.data.aliases` 读取。
- 支持的别名 key:`post`、`page`、`category`、`tag`、`series`。
- 使用 `$page.data.aliases?.<key> || '<默认值>'` 形式读取,默认值必须与 `+layout.server.ts` 中保持一致。
```svelte
<h2>新{$page.data.aliases?.post || '文章'}</h2>
<h3>{$page.data.aliases?.tag || '标签'}</h3>
placeholder="+ 添加{$page.data.aliases?.tag || '标签'}..."
```
- 适用范围包括但不限于:标题、标签页签、按钮文案、占位符(placeholder)、提示语(title / aria-label)、空状态、确认弹窗等所有用户可见文本。
- 后台设置项在 `src/routes/admin/settings/+page.server.ts` 中以 `alias.<key>` 形式保存,默认值需同步维护。
## 核心原则
1. **渐进式开发优于大爆炸式开发**:小步提交,每次都能编译通过和测试通过。