Groovy 中文文档, 源文档来自 groovy-core, 效果请移步至 http://groovy.zeroleaf.com.
-
英文原始文档 - src/spec/doc 文件夹下, 拓展名为 .adoc
-
build.sh - 生成当前文档对应的 html, 主要用于发布, 可忽略.
-
cmp.sh - 判断前后两个文档之间的差异, 记录这些文件并保存到 todolist 文件中, 可忽略.
-
current文件夹 - 最后翻译的中文文档所对应的英文版本, 当前请忽略.
-
next文件夹 - 最新的英文文档, 当前也请忽略.
该项目主要有如下3个分支:
-
master - 主分支, 用来保存最近一次的完整翻译版本.
-
trans - 翻译分支, 此次翻译所对的分支.
-
gh-pages - 存放 html 文件, 用于网页访问.
master 分支保存的是最近完整翻译的版本, 对其的 commit 一般发生在 merge trans 分支 或者 构建基础工具上.
以下以一次完整的文档翻译过程对此进行说明.
-
首先是发现有文档更新了, 则从 master 分支中检出一个 trans 分支, 用于此次文档更新的翻译工作, 也即你可以认为所有的翻译工作都是在 trans 分支上完成.
-
检出 trans 分支后用 cmp.sh 脚本生成 todolist 文件, 判断前后两次文档发生的变化.
-
查看 todolist 文件, 在你要翻译的那篇文章前面填入你的名字, 保存然后 commit 与 push. 之所以这样做是避免一篇文档有多人同时翻译, 浪费时间又容易产生冲突.
-
在当前的 trans 分支上检出一个开发分支, 名字建议命名为所翻译的文档名, 假设为 syntax, 在这个 syntax 分支上进行那篇文章的翻译工作.
-
在翻译的过程中你可能有多次的 commit, 但请注意不要对这个分支 syntax 进行 push.
-
当你完成文章的翻译工作之后, checkout trans 分支, merge syntax 分支, 然后 push trans 分支, 之后你就可以删除 syntax 分支了.
-
当 trans 分支有了新的 commit 时, 执行 build.sh 脚本, 生成最新的 html 文件, gh-pages 分支 push 之后访问 http://groovy.zeroleaf.com 即可看到最新的中文文档.
-
重复步骤 3 ~ 7, 直到文档全部翻译完成.
-
文档翻译完成之后, checkout master 分支, merge trans 分支, push.
于是就完成了此次翻译工作.
Note
|
一般翻译而言, 可以忽略步骤2与7. |
Note
|
根目录下有2个有用的 adoc 文件:
如果需要, 也可以添加新的文件, 不过请说明好文件的用途以及格式. |
以下, 从命令的角度对上述过程再一次的说明
# 准备工作
## 克隆版本库
# git clone https://github.com/zeroleaf/groovy-doc.git
## 转到所克隆的版本库中
# cd groovy-core
## 检出 trans 分支
# git checkout trans
# 修改 todolist 文件之后
git add todolist
git commit -m "这里键入提交信息, 如 xx start translate xx"
git push
# 假设我想翻译 core-syntax 这篇文档
# 当前应该在 trans 分支中, 不是可以用 git checkout trans 检出
git checkout -b core-syntax
# 然后打开你喜欢的编辑器, 对 src/spec/core-syntax.adoc 进行翻译.
# 完成翻译, commit, 较长的文章可能需要多次 commit
git add src/spec/core-syntax.adoc
git commit -m "键入提交信息"
# 合并到 trans 分支
git checkout trans
git push
# 如果不需要 core-syntax 分支了, 删除
# git branch -d core-syntax
# 继续修改 todolist 到删除分支的过程, 直到完成全部翻译工作
# 将 trans 合并到 master 分支, push
git checkout master
git merge trans
git push
关于 Git 的使用可以参考 Pro Git.
最后, 我的邮件地址为 [email protected]. 欢迎你的任何意见或建议.