---
layout: post
title: io.js 如何在一天时间内吸引 146 人参与，被翻译成 27 种语言？
author: mikeal
reference: https://medium.com/@mikeal/65e5b1c49a62
---

当我第一次到韩国时，我惊讶地发现这里不仅有一个很大的 Node 社区，而且还有他们自己建立的支持网络和资源，而这一点我们之前并不知道。迄今为止大型的多语言社区都是如此运营，各自为孤岛地为自己本地社区提供支持。

io.js 的愿景之一是它可以成为一个能够通过社区的贡献与推动来成长并蓬勃发展的项目。当我们需要做本土化的时候，我并不想仅仅是建立一个小组来翻译网站和文档。

我更想要的是为社区的成员们营造一个空间，使得他们可以自由地用他们自己熟悉的语言来和其他人合作。利用这样的空间，他们能做的不仅仅只是翻译文档，而且还能够为他们本地的社区提供帮助，并将社区和项目联系起来。io.js 通过开放协作的方式来驱动技术布道，社交媒体推广，甚至我们的路线图。为什么非英语的社区不能加入进来呢？

<!--more-->

## 噢，周六！

有一些 website 项目的成员将网站和我们最近发表的博客翻译成了西班牙语。之前在 NodeSchool 项目中本地的聚会会有专门的项目仓库和团队，建立在这样的经验上，我问他们是否需要一个西班牙语本地化的项目仓库和团队来组织和整理他们的成果。

我在 website 项目仓库发了个新 issue，问有没有其他人想要参与进来。我在推特上宣传了这个 issue，然后非常多的人开始报名了。

每个通过评论那个 issue 来报名的人都会被加入到与其语言对应的团队。这个团队是 iojs GitHub 组织中相应语言的项目仓库的管理员。每当我创建完一个仓库后，我就会发一个 issue 说明如何开始。能让人感到他们真正拥有这个空间是相当困难的。我有意地给每个项目仓库的描述和 README 留空，这样每个语言社区的第一个工作就是用自己的母语来创建这些东西。

我也会指导他们为自己的语言注册一个 Twitter 账号以及其他和他们的社区有关的社交媒体账号。io.js 使用社交媒体来吸引贡献者，效果非常好，并且我们也会用社交媒体介绍我们取得的成果来让人们保持兴趣与积极性。我们的目标是尽力在其他语言社区创造相似的效果来使得这些团队从“翻译者”真正地变成“社区组织者”。

最后一步，我鼓励这些团队发布一个新的 issue，内容是翻译最新的 [io.js 周报](https://medium.com/node-js-javascript/io-js-week-of-february-6th-2015-e185388549a4)。以此来推动他们按照他们的确定和分配工作的流程开始工作。一些动作较快的社区争先恐后，同一篇文章甚至有多个人同时在翻译。当然他们很快就把这个任务完成了，并且因为他们沟通了自己的协作方法，比起我或其他人把这个任务交给他们，自己制定的工作模式让他们有着更强的责任感。

最有意思的是看到人们在没有任何指引下都做了什么。在那天结束前，人们在翻译网站、自己添加更多的合作者，建立共享邮箱账号以及提出不同的策略来在团队成员之间分享账号资格。

## 语言 vs. 本地化

人们很快地注意到团队是以语言划分的，而不是细化到本地化（即 es 而不是 es_ES）。这些团队和项目仓库是是合作的端点，我希望让尽可能多的能够相互理解对方语言的人来参与其中。举例来说，西班牙语团队（iojs-es）能够很容易地与其他的每一个人交流并且足够有效率地完成多个语言本地化（es_ES, es_MX, es_CO 等等）。他们还能够共享聚会和会议的演讲者来帮助我们实现国际化的技术传道。 

## 网络影响

我花了大半天的时间使用 GitHub 的管理工具来建立团队、增加成员、建立项目以及发布 issue。

一波又一波的新朋友加了进来。有些人在 Twitter 上看到这个项目，告诉了他们的朋友，然后就有新人加入。一旦团队开始按照第一个 issue 的步骤行动起来，他们会注册一个新的 Twitter 账号，关注 @official_ios，然后 @official_ios 会发一条 tweet 告诉那些想获取这种语言的信息的人们关注这个新账号。每条关于新语言账号的 tweet 都会被转推、扩散，带来另一波的注册。。

每过一个小时跨越一个新的时区，这种情况就会重演一次，从而带来一些使用新的语言的加入者。星期日早上（太平洋时间）我醒来后，加了在我睡觉时注册的所有人。汇总了上一天的数据后，我惊讶地发现仅仅一天时间就已经有横跨 27 个语言团队的 146 人加入了进来。

既然我们能够在一天之内完成上述所有内容，我迫不及待地想看的这个社区在下个月能带来什么。
