--- name: docs-i18n description: >- Sync GenUI SDK docs between Chinese and English when adding, editing, renaming, or deleting documentation under docs/. Use when the user modifies docs/src/, docs/demos/, docs/demos/en/, zh-theme.ts, en-theme.ts, or asks to update English docs, i18n docs, or mirror Chinese documentation changes. --- # GenUI SDK 文档国际化 完整约定见仓库根目录 `docs/I18N.md`。修改中文文档时(共享 demo、仅改图片等例外除外),**必须同步**英文镜像与导航配置。 ## 目录映射 | 类型 | 中文 | 英文 | |------|------|------| | Markdown | `docs/src/.md` | `docs/src/en/.md` | | Demo | `docs/demos/.vue` | `docs/demos/en/.vue` | | 图片 | `docs/src/public/`(共用,无需复制) | 同上 | | 中文导航 | `docs/.vitepress/config/zh-theme.ts` | — | | 英文导航 | — | `docs/.vitepress/config/en-theme.ts` | **路径规则**: - 文档:`docs/src/examples/chat/foo.md` → `docs/src/en/examples/chat/foo.md`(在 `src/` 后插入 `en/`) - Demo:`docs/demos/chat/foo.vue` → `docs/demos/en/chat/foo.vue`(在 `demos/` 后插入 `en/`,文件名相同) ## 工作流程 根据用户操作选择对应流程,完成后执行「验证清单」。 ### 新增文档 1. 编写中文 `docs/src/.md` 2. 有交互示例时: - 中文:`docs/demos/.vue` - 含中文 UI/文案时:`docs/demos/en/.vue`(翻译 UI 文案、alert、Schema label 等;代码注释可翻译或保留) - 纯英文、无文本、或 i18n 演示类 demo → 共用中文版,不建 `demos/en/` 镜像 3. 图片放入 `docs/src/public/`(中英文共用) 4. 在 `zh-theme.ts` 对应 sidebar 添加条目: ```ts { text: '中文标题', link: '/examples/chat/my-feature' }, ``` 5. 创建并翻译 `docs/src/en/.md` 6. 在 `en-theme.ts` 对应 sidebar 添加条目(链接带 `/en` 前缀): ```ts { text: 'English Title', link: '/en/examples/chat/my-feature' }, ``` 7. 本地预览:`cd docs && pnpm dev` ### 修改文档 | 变更类型 | 同步动作 | |----------|----------| | 改正文 / 标题 / 代码块 | 更新 `docs/src/en/` 下对应文件(翻译变更部分) | | 改 demo 引用或逻辑 | 同步 `docs/demos/` 与 `docs/demos/en/` 中对应 `.vue`(如有) | | 改 sidebar 文案或顺序 | 同步更新 `zh-theme.ts` 与 `en-theme.ts` 对应条目 | | 仅改图片 | 无需动英文 md(public 共用) | ### 重命名 / 移动 1. 移动中文 md → 同步移动 `docs/src/en/` 下镜像文件 2. 移动 demo → 同步移动 `docs/demos/en/` 下镜像文件(如存在) 3. 更新 `zh-theme.ts` 与 `en-theme.ts` 中所有相关 `link` 4. 检查文档内相对路径引用是否仍有效 ### 删除文档 1. 删除 `docs/src/.md` 2. 删除 `docs/src/en/.md` 3. 删除关联 demo(`docs/demos/` 与 `docs/demos/en/` 下对应文件) 4. 从 `zh-theme.ts` 与 `en-theme.ts` 移除对应 sidebar 条目 ## 英文文档编写规则 ### 路径调整(从中文复制时必改) 英文 md 比中文多一层 `en/`,`` 与图片的相对路径需**多加一层 `../`**,并将 demo 路径指向 `demos/en/`: ```markdown ``` - 文档内互相引用:相对路径写法与中文相同 - sidebar / nav 的 `link`:英文必须带 `/en` 前缀(如 `/en/guide/quick-start`) ### 翻译原则 - 翻译自然、技术准确的英文,勿逐字机翻 - 保留 API 名称、组件名、包名、文件名、路径(如 `@opentiny/genui-sdk-vue`、`GenuiChat`) - 代码块:仅翻译注释与字符串字面量;结构、导入、类型与中文一致 - 标题层级、章节顺序、代码块行高亮(如 `{12-19}`)与中文版对齐 ### Demo 需翻译的内容 | 类型 | 示例 | 处理 | |------|------|------| | UI 文案 | `` | 译成英文 | | 代码注释 | `// 获取会话对象` | 翻译或保留 | | Schema 内容 | `label: '姓名'` | 译成英文 | | alert 消息 | `alert('复制成功')` | 译成英文 | ### 无需国际化的 Demo 以下 demo 无需创建 `demos/en/` 镜像,直接共用中文版: - 纯英文内容的 demo - 国际化示例 demo(如 `i18n.vue`,本身演示 i18n 功能) - 无文本内容的 demo ## 导航配置对照 两个 theme 文件结构镜像,修改时成对维护: - `zh-theme.ts`:`nav` / `sidebar` 的 `link` 无 `/en` 前缀 - `en-theme.ts`:相同路径结构,`link` 以 `/en` 开头;`text` 为英文 sidebar 按路径前缀分组(`/guide/`、`/components/`、`/examples/`、`/schema/`、`/advanced/`),新增条目放入与中文版相同的分组与层级。 ## 验证清单 完成同步后逐项确认: ```markdown - [ ] docs/src/en/ 下存在对应的翻译文件,路径正确 - [ ] zh-theme.ts 与 en-theme.ts 均有对应 sidebar 条目且 link 正确 - [ ] zh-theme.ts 与 en-theme.ts 顶层 nav 映射一致,英文 link 带 /en 前缀 - [ ] 英文 md 中 路径多一层 ../,且指向 demos/en/ 下对应文件(如需) - [ ] demo 含中文内容时已在 docs/demos/en/ 提供镜像 - [ ] 删除场景下无残留英文文件、demo、sidebar 条目 - [ ] 可选:cd docs && pnpm dev 本地预览中英文页面 ``` ## 快速定位镜像文件 ```text 中文:docs/src/examples/chat/history.md 英文:docs/src/en/examples/chat/history.md 中文 demo:docs/demos/chat/history.vue 英文 demo:docs/demos/en/chat/history.vue ```