Skip to content

Latest commit

 

History

History
99 lines (60 loc) · 5.52 KB

翻译流程详细说明.md

File metadata and controls

99 lines (60 loc) · 5.52 KB

翻译流程

为什么我们需要有流程?

下面是没有流程会导致的问题:

  1. 译者不知道哪些文章正在翻译,导致多人翻译同一篇
  2. 校对不知道哪些文章需要校对,哪些文章已经完成校对
  3. 发布不知道哪些文章可以发布

之前的流程存在的问题

翻译组目前使用过三个流程,简单列举如下:

  1. Tower 管理文章,在 Tower 认领任务,改变状态的方式是拖拽任务到不同的状态列表(比如翻译中、校对中),校对完毕后上传新文件
  2. GitHub Issue 管理文章,使用 Issue Assignee 认领任务,通过标签表示状态,校对直接在 Issue 进行
  3. GitHub Issue 管理文章 + GitHub Pull Request 校对,使用 Issue Assignee 认领任务,不同流程的负责人把 Assignee 设置为自己,通过标签表示状态,校对使用通用的 code review 流程

1 -> 2 的原因是 Tower 使用比较麻烦,毕竟是独立的网站,每次都要登录。

2 -> 3 的原因是 Issue 做校对不方便,也不方便译者对比改动内容,所以采用标准的 Code Review 流程

那 3 存在什么问题?

3 的问题在于,标签和 Assignee 的改动其实是多余的,流程本身已经能解决我们遇到的问题,加上标签和 Assignee 反而增加了无用操作,而且可能漏改,造成其他人误解。

去掉标签和 Assignee 改动之后,不同角色要做的操作如下:


文章收集

  1. 直接创建新 Issue,标题是文章标题,内容是文章链接。

翻译

  1. 查看 Issue 列表,从 Assignee 为空的文章中寻找自己感兴趣的文章
  2. 确定要翻译的文章之后,点击打开 Issue,在右侧的“Assignees”栏点击“assign yourself”
  3. 开始翻译。翻译的文章统一放在网站对应的文件夹下,例如 appcode 站点的文章放在 appcode 文件夹下。文件命名方法:原文日期_原文标题.md,比如 20160726_simple-barcode-reader-app-swift.md。如果不确定文章放在哪里,群里问@BigNerdCoding
  4. 翻译的时候要注意格式,尤其是中英文和代码,可以参看 这个说明
  5. 翻译过程中,文章头部需要添加通用头部,具体格式可以参考 这个说明,还有 这个例子
  6. 翻译完成后,在进行下一步之前务必自查这三件事1. 文章头部格式符合文档要求2. 文章内容格式符合文档要求3. 翻译完成后,至少间隔一天,重新阅读整篇译文,从读者角度阅读,出声阅读,把所有读着别扭、不通顺的句子都修改好
  7. 完成上一步之后,按照 这个说明 创建 Pull Request,在 Pull Request 的内容里关联对应的 Issue,关联方式:把 Issue 页面的网址复制到 Pull Request 信息中,或者直接在 Pull Request 信息中评论 #11,11 是对应的 Issue 号

下面是关联方式的图解:


校对

  1. 查看 Pull Request 列表,选择有“review required”标识的 PR 进行校对(详细说明见下图)
  2. 校对过程中,发现问题就直接评论在对应行
  3. 校对结束后,点击页面右上角的“Review changes”,如果需要译者修改就勾选“Request changes”,如果不需要译者修改就勾选“Approve”,然后点击“Submit review”
  4. 等待译者修改完毕再次提交后,要再去校对,直到你发现的所有问题都被修复才可以选择“Approve”

第 1 步的 PR 说明如下图:

注意:校对不需要修改 Issue 和 PR 的 Assignee,按照上面四步流程操作即可。


发布

  1. 查看 Pull Request 列表,选择有“Approved”标识的 PR(详细说明见下图)
  2. 打开 PR,点击底部“Merge”按钮旁边的小三角,选择“Squash and merge”,然后点击“Squash and merge”按钮,执行合并操作(操作说明见下图);这样做的目的是把这个 PR 的所有 commit 合并成一个并 merge,让 repo 的 commit 记录更加简洁
  3. 发布文章
  4. close PR 对应的 Issue,表示文章已经发布结束

第 1 步的 PR 说明如下图:

第 2 步的操作说明如下图:


新流程是否解决问题?

新流程去掉了标签,也不需要再根据阶段更改 Assignee。我们来看看,新流程是否解决了我们的问题。

首先,我们要解决的问题是:

  1. 译者不知道哪些文章正在翻译,导致多人翻译同一篇
  2. 校对不知道哪些文章需要校对,哪些文章已经完成校对
  3. 发布不知道哪些文章可以发布

对应的,新流程的解决方法:

  1. 译者通过 Issue 的 Assignee 可以判断文章是否有人认领
  2. 校对可以通过 PR 状态判断哪些需要校对,哪些完成校对
  3. 发布可以通过 PR 状态判断哪些文章可以发布