下面是没有流程会导致的问题:
- 译者不知道哪些文章正在翻译,导致多人翻译同一篇
- 校对不知道哪些文章需要校对,哪些文章已经完成校对
- 发布不知道哪些文章可以发布
翻译组目前使用过三个流程,简单列举如下:
- Tower 管理文章,在 Tower 认领任务,改变状态的方式是拖拽任务到不同的状态列表(比如翻译中、校对中),校对完毕后上传新文件
- GitHub Issue 管理文章,使用 Issue Assignee 认领任务,通过标签表示状态,校对直接在 Issue 进行
- GitHub Issue 管理文章 + GitHub Pull Request 校对,使用 Issue Assignee 认领任务,不同流程的负责人把 Assignee 设置为自己,通过标签表示状态,校对使用通用的 code review 流程
1 -> 2 的原因是 Tower 使用比较麻烦,毕竟是独立的网站,每次都要登录。
2 -> 3 的原因是 Issue 做校对不方便,也不方便译者对比改动内容,所以采用标准的 Code Review 流程
那 3 存在什么问题?
3 的问题在于,标签和 Assignee 的改动其实是多余的,流程本身已经能解决我们遇到的问题,加上标签和 Assignee 反而增加了无用操作,而且可能漏改,造成其他人误解。
去掉标签和 Assignee 改动之后,不同角色要做的操作如下:
- 直接创建新 Issue,标题是文章标题,内容是文章链接。
- 查看 Issue 列表,从 Assignee 为空的文章中寻找自己感兴趣的文章
- 确定要翻译的文章之后,点击打开 Issue,在右侧的“Assignees”栏点击“assign yourself”
- 开始翻译。翻译的文章统一放在网站对应的文件夹下,例如 appcode 站点的文章放在 appcode 文件夹下。文件命名方法:
原文日期_原文标题.md
,比如20160726_simple-barcode-reader-app-swift.md
。如果不确定文章放在哪里,群里问@BigNerdCoding - 翻译的时候要注意格式,尤其是中英文和代码,可以参看 这个说明
- 翻译过程中,文章头部需要添加通用头部,具体格式可以参考 这个说明,还有 这个例子
- 翻译完成后,在进行下一步之前务必自查这三件事:1. 文章头部格式符合文档要求,2. 文章内容格式符合文档要求,3. 翻译完成后,至少间隔一天,重新阅读整篇译文,从读者角度阅读,出声阅读,把所有读着别扭、不通顺的句子都修改好
- 完成上一步之后,按照 这个说明 创建 Pull Request,在 Pull Request 的内容里关联对应的 Issue,关联方式:把 Issue 页面的网址复制到 Pull Request 信息中,或者直接在 Pull Request 信息中评论
#11
,11 是对应的 Issue 号
下面是关联方式的图解:
- 查看 Pull Request 列表,选择有“review required”标识的 PR 进行校对(详细说明见下图)
- 校对过程中,发现问题就直接评论在对应行
- 校对结束后,点击页面右上角的“Review changes”,如果需要译者修改就勾选“Request changes”,如果不需要译者修改就勾选“Approve”,然后点击“Submit review”
- 等待译者修改完毕再次提交后,要再去校对,直到你发现的所有问题都被修复才可以选择“Approve”
第 1 步的 PR 说明如下图:
注意:校对不需要修改 Issue 和 PR 的 Assignee,按照上面四步流程操作即可。
- 查看 Pull Request 列表,选择有“Approved”标识的 PR(详细说明见下图)
- 打开 PR,点击底部“Merge”按钮旁边的小三角,选择“Squash and merge”,然后点击“Squash and merge”按钮,执行合并操作(操作说明见下图);这样做的目的是把这个 PR 的所有 commit 合并成一个并 merge,让 repo 的 commit 记录更加简洁
- 发布文章
- close PR 对应的 Issue,表示文章已经发布结束
第 1 步的 PR 说明如下图:
第 2 步的操作说明如下图:
新流程去掉了标签,也不需要再根据阶段更改 Assignee。我们来看看,新流程是否解决了我们的问题。
首先,我们要解决的问题是:
- 译者不知道哪些文章正在翻译,导致多人翻译同一篇
- 校对不知道哪些文章需要校对,哪些文章已经完成校对
- 发布不知道哪些文章可以发布
对应的,新流程的解决方法:
- 译者通过 Issue 的 Assignee 可以判断文章是否有人认领
- 校对可以通过 PR 状态判断哪些需要校对,哪些完成校对
- 发布可以通过 PR 状态判断哪些文章可以发布