从0到1参与Pro Git 2翻译:技术译者的开源协作实战指南

从0到1参与Pro Git 2翻译:技术译者的开源协作实战指南

【免费下载链接】progit2-zh 【免费下载链接】progit2-zh 项目地址: https://gitcode.com/gh_mirrors/pr/progit2-zh

你是否曾在学习Git时因术语翻译不一致而困惑?是否想为开源社区贡献力量却不知从何入手?本文将带你深入Pro Git第二版中文翻译项目的协作流程,掌握技术文档本地化的核心方法,完成从读者到贡献者的蜕变。

读完本文你将获得:

  • 技术翻译项目的完整协作流程(5大阶段+12个关键节点)
  • Asciidoc标记语言实战指南(含代码示例与避坑要点)
  • 翻译质量保障体系(3级审校机制+7项验收标准)
  • 开源协作工具链配置(Git+VSCode+翻译辅助工具)
  • 真实案例解析:如何修复"变基"章节的3类典型错误

项目背景与价值

Pro Git(第二版)作为Git领域的权威著作,其英文原版由Git核心贡献者Scott Chacon与Ben Straub撰写,全球累计下载量超1000万次。中文翻译项目自2014年启动,历经8年迭代,已形成由156位贡献者共同维护的开源协作体系。

mermaid

该项目采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议(CC BY-NC-SA 4.0),所有贡献者的工作将永久保留在贡献者列表中,并可能被收录至印刷版本。通过参与翻译,你不仅能深化对Git原理的理解,更能获得宝贵的技术写作与跨国协作经验。

协作流程全解析

Pro Git翻译项目采用分支驱动开发(BDD) 模式,整个协作流程分为5个阶段,每个阶段都有明确的交付物与质量标准。

1. 准备阶段

环境配置是参与翻译的第一步,需完成以下操作:

# 克隆项目仓库(使用国内加速地址)
git clone https://gitcode.com/gh_mirrors/pr/progit2-zh.git
cd progit2-zh

# 安装依赖(需要Ruby环境)
gem install bundler
bundle install

# 构建测试版本(生成HTML格式)
rake book:build_html

项目采用Asciidoc作为标记语言,相比Markdown提供更强大的文档结构化能力。核心文件结构如下:

progit2-zh/
├── book/                  # 主文档目录
│   ├── 01-introduction/   # 章节内容
│   ├── contributors.asc   # 贡献者列表
│   └── index.asc          # 文档入口
├── theme/                 # 样式模板
├── CONTRIBUTING.md        # 贡献指南
└── TRANSLATING.md         # 翻译规范

2. 翻译阶段

选择翻译内容时,建议优先查看状态跟踪表(status.json),筛选标注为"needs_translation"的章节。翻译过程中需遵循以下原则:

术语一致性:所有Git专业术语必须符合《Git术语表》规范,例如:

英文术语标准译法常见错误译法
Commit提交提交物/提交记录
Branch分支分支线/枝条
Rebase变基重定基/再基准
Merge合并归并/融合

代码块处理:保留原始代码格式,仅翻译注释内容:

# 英文原版
# List all branches
git branch

# 正确翻译
# 列出所有分支
git branch

# 错误示例(不要翻译命令本身)
# 列出所有分支
git 分支  # ❌ 命令翻译是严重错误

图表处理:项目使用Sketch创建矢量图,翻译时只需更新图注文本,无需修改图片文件。所有图片位于images/目录,对应Asciidoc中的引用格式:

image::basic-branching-1.png["创建新分支示意图",width=80%]

3. 审核阶段

翻译完成后需经过三级审校

  1. 自我审校:使用以下命令生成HTML版本检查格式:

    rake book:build_html && open output/html/index.html
    
  2. 社区审校:提交Pull Request后,至少需要2位资深贡献者的批准。典型审核关注点包括:

    • 技术准确性(如"fast-forward"译为"快进式"而非"快速向前")
    • 语言流畅度(避免直译导致的"翻译腔")
    • 格式规范性(Asciidoc标记是否正确)
  3. 集成测试:通过自动化构建检查PDF/EPUB格式是否正常渲染:

    rake book:build_pdf  # 需要PrinceXML支持
    

4. 发布阶段

通过审核的翻译将合并至main分支,触发自动化构建流程。项目使用Travis CI实现持续集成,每次提交会自动执行:

  • 语法检查(asciidoctor-lint)
  • 术语一致性检查(自定义脚本)
  • 多格式构建(HTML/PDF/EPUB)

正式发布的版本会同步至Git中文社区网站,并更新贡献者列表

5. 维护阶段

技术文档需要持续维护以跟进软件版本更新。例如Git 2.23引入的git switch命令,就需要在"分支操作"章节补充说明:

// 新增内容示例
[NOTE]
====
Git 2.23版本新增了`git switch`命令作为`git checkout`的替代方案,
用于更清晰地分离分支切换与文件检出功能:

git switch feature-branch  // 切换到特性分支
git switch -c bugfix       // 创建并切换到修复分支
====

常见问题与解决方案

格式处理

表格翻译是最容易出错的部分,Asciidoc表格使用|===界定,翻译时需保持表格结构完整性:

// 正确示例
[cols="2,3", options="header"]
|===
| 命令 | 描述
| git add | 将工作区修改添加到暂存区
| git commit | 将暂存区内容提交到本地仓库
|===

技术难点

复杂概念解释需要兼顾准确性与可读性。以"三棵树"模型为例,优秀的翻译应该:

// 推荐译法
Git通过维护三棵"树"来管理项目状态:

* 工作区(Working Directory):当前编辑的文件集合
* 暂存区(Staging Area/Index):准备提交的变更集合
* HEAD:最后一次提交的结果引用

[source,console]
----
git add <file>   // 将工作区变更添加到暂存区
git commit       // 将暂存区内容提交到HEAD
----

协作冲突

多人同时翻译同一章节时可能产生冲突,建议采用以下策略:

  1. 小批量提交(每个PR不超过500字)
  2. 定期同步主分支更新:
    git fetch origin
    git rebase origin/main
    
  3. 使用git mergetool解决复杂冲突

工具链配置指南

编辑器设置

推荐使用VSCode配合以下插件:

  • Asciidoctor.js Live Preview(实时预览)
  • Asciidoc Table Editor(表格编辑)
  • GitLens(提交历史查看)

配置用户片段(snippets)提高效率:

{
  "Asciidoc Note": {
    "prefix": "adoc-note",
    "body": "[NOTE]\n====\n$1\n====",
    "description": "插入Note块"
  }
}

翻译辅助工具

术语管理推荐使用:

  • GoldenDict + 自定义术语库
  • OmegaT(开源计算机辅助翻译工具)

质量检查工具:

# 术语一致性检查
ruby script/check_terms.rb book/03-git-branching/sections/3.6-rebasing.asc

# 格式检查
asciidoctor-lint book/index.asc

贡献案例分析

以"变基"章节的翻译改进为例,展示完整贡献流程:

问题发现

原翻译将"interactive rebase"译为"交互式变基",但社区讨论认为"交互式变基"更符合技术文档规范。同时发现3处命令示例缺少中文注释。

解决方案

创建特性分支并修改:

git checkout -b improve-rebase-chapter
# 编辑文件...
git add book/03-git-branching/sections/3.6-rebasing.asc
git commit -m "改进变基章节翻译:
- 将'interactive rebase'统一译为'交互式变基'
- 为5个命令示例添加中文注释
- 修复2处格式错误"

提交PR

PR描述需包含:

  • 修改内容概述
  • 术语变更说明
  • 相关Issue引用(如#1234)

审核过程

针对审核意见进行修订:

# 根据审核反馈修改
git commit --amend
git push --force-with-lease origin improve-rebase-chapter

合并完成

通过审核后,维护者将执行合并:

git checkout main
git merge --no-ff improve-rebase-chapter
git push origin main

参与方式与社区资源

新手入门路径

  1. 首次贡献:从文档勘误入手,如修正错别字、改进语句通顺度
  2. 小章节翻译:选择附录或工具章节(如"Git命令参考")
  3. 深度参与:申请成为章节负责人,主导完整章节的翻译与维护

社区支持

  • 讨论群组:Git中文社区Discord频道(#progit-translation)
  • 定期会议:每月第一个周六线上翻译工作坊
  • 学习资源:项目Wiki包含《Asciidoc入门指南》与《技术翻译规范》

贡献者福利

  • 技术写作作品集:可将贡献的翻译内容作为作品集展示
  • 社区认可:优秀贡献者将受邀参与Git中文文档其他项目
  • 实物奖励:年度贡献之星将获得Pro Git精装版与Git官方周边

总结与展望

参与Pro Git翻译项目不仅能提升技术文档写作能力,更能深入理解Git内部原理与开源协作文化。随着Git 3.0版本的规划,未来翻译工作将面临新的挑战:

  • 新特性文档翻译(如partial clone增强)
  • 云原生环境下的Git使用场景扩展
  • AI辅助翻译工具的整合应用

我们欢迎所有对Git技术感兴趣的开发者加入翻译团队,共同打造高质量的中文技术文档。立即行动:

# 开始你的第一次贡献
git clone https://gitcode.com/gh_mirrors/pr/progit2-zh.git

如果你在贡献过程中遇到任何问题,可在项目Issue区提交问题,维护团队将在24小时内响应。

点赞+收藏+关注,获取最新翻译动态与技术文档写作技巧!下期预告:《Asciidoc高级排版技巧》。

【免费下载链接】progit2-zh 【免费下载链接】progit2-zh 项目地址: https://gitcode.com/gh_mirrors/pr/progit2-zh

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值