mirror of
https://github.com/lainbo/component-party.git
synced 2026-04-04 20:39:02 +08:00
3.9 KiB
3.9 KiB
Component Party 中文版 - 项目维护指南
项目概述
本项目是 component-party.dev 的中文汉化 fork,用于对比不同 JavaScript 框架的语法差异,面向中文母语开发者。
分支策略
- main: 与上游
matschik/component-party.dev的 main 分支保持完全同步,不做任何修改 - deploy: 基于 main 的汉化分支,包含所有中文翻译,用于部署
- upstream: 远程仓库,指向
https://github.com/matschik/component-party.dev.git
同步上游与汉化工作流
# 1. 同步上游到 main
git fetch upstream
git checkout main
git merge upstream/main --ff-only
git push origin main
# 2. 将 main 合并到 deploy
git checkout deploy
git merge main
# 解决冲突(通常是代码内容冲突,不会有 rename 冲突)
# 汉化新增内容
git push origin deploy
汉化架构(重要)
汉化分为两层,设计目标是最小化与上游的合并冲突:
第一层:标题翻译(零冲突)
- 翻译映射文件:
i18n/zh-CN.json - 构建脚本修改:
build/lib/generateContent.ts中的dirNameToTitle()函数 - 不修改 content 目录名,通过映射表将英文标题转换为中文
- 上游新增的 section/snippet 会自动显示英文原文,只需在 JSON 中补充翻译即可
第二层:代码内容汉化(可控冲突)
- 直接修改
content/目录下各框架代码文件中的字符串字面量 - 不改文件名和路径,只改文件内容
- 翻译规则参考
i18n/zh-CN.json中的约定
UI 文案汉化
src/components/Header.svelte- 站点标题src/Index.svelte- 页面文案、SEO meta、空状态提示等
常用翻译对照表
| 英文 | 中文 |
|---|---|
| John | 张三 |
| Jane | 李四 |
| Hello {name} | 你好 {name} |
| Hello world | 你好,世界 |
| red/green/blue | 红/绿/蓝 |
| red/orange/green (交通灯) | 红灯/黄灯/绿灯 |
| Counter: | 计数器: |
| Page title: | 页面标题: |
| Current time: | 当前时间: |
| Are you happy? | 你快乐吗? |
| YES / NO | 是的!/ 不是! |
| Click me! | 点我! |
| unicorn42 | abcdefg |
完整对照见 i18n/zh-CN.json。
技术栈
- 包管理器: pnpm
- 框架: Svelte 5 + Vite
- 构建:
content/目录由 Vite 插件在buildStart时扫描生成到src/generatedContent/ src/generatedContent/是自动生成的,不要手动编辑,不需要提交
关键文件
| 文件 | 说明 |
|---|---|
i18n/zh-CN.json |
标题翻译映射 + UI 文案翻译 |
build/lib/generateContent.ts |
内容生成脚本(已添加翻译查表逻辑) |
build/generateContentVitePlugin.ts |
Vite 插件,负责触发内容生成 |
content/ |
各框架代码示例(汉化在此目录的文件内容中) |
frameworks.ts |
框架定义列表 |
src/Index.svelte |
主页面组件 |
src/components/Header.svelte |
头部组件 |
注意事项
- content 目录下的文件只改内容不改路径,这是避免合并地狱的核心原则
- 翻译只针对用户可见的字符串字面量,不翻译变量名、API 名、组件名
- 上游可能会新增框架目录(如 emberPolaris、svelte5),合并后需要检查新文件是否需要汉化