前言 Preface
Recently Utopian.io updated the rules of Translation category, a merged pull request on Github is a must. In this post I'll introduce a powerful tool TortoiseGit to help users feeling much easier with Github operations.
相信有不少朋友在Utopian.io获得了不错的收益,也体验到了开源社区的魅力。对于技术背景较弱的朋友,做设计与翻译就显得更容易些,然而最近Utopian再次修改了翻译类别的要求,必须提供在GitHub上已合并的Pull Request才行,就是说,以后翻译工作很难离开Github这个平台了。
Github被戏称为世界最大的同性交友社区,寓意为里面聚集的都是以男性为主的程序员。所以如果没有接触过Github的话,一下子会觉得难以入手。
本教程旨在通过图文并茂的方式,将在Github上做翻译工作的主要操作流程予以介绍。目标读者是入门者,大牛也请不要绕路,请多指正。
0:准备工作
在开始之前,我们需要一些准备工作。
GitHub账号
要想在Github上进行各种操作,需要先有一个账号。具体过程本篇不做阐述,请自行搜索网络。Git的基本概念
建议花时间了解一下Github中的一些基本概念,否则下面的内容可能还是会看得一头雾水。推荐廖雪峰的简明教程。Git软件
Github的各种操作,都是基于git的。git最初被设计为一个命令行工具。但是,众多Windows用户更喜欢使用图形化操作界面,而且git在Windows下的操作不是太友好。
于是请出这次教程中的主角:TortoiseGit。这也是个开源软件,安装后与资源管理器集成,通过右键菜单就可以实现各种操作。该软件有中文界面,但为了更贴近Github的原始动作,本文采用英文界面。
下载地址:https://tortoisegit.org/download/
在此之前,需要先安装Git for Windows:http://gitforwindows.org/
具体的安装与使用教程,可以参考微软资料库文章。
上面的准备工作都好了之后,就整理好心情开始翻译工作吧!
1:Fork项目
找到待翻译的项目后,先fork一份到自己的账号下。这排按钮在项目首页的右上方,很容易找到。
2:Clone项目到本地
经过第1步的fork后,会转到自己账户下面的项目页面。需要注意地址栏中是否是自己的账户名字。因为我们将要clone的是fork到自己账户下的代码。
找到克隆按钮然后点击copy to clipboard
图标。
接下来就要用到TortoiseGit了。在要clone到的文件夹(建议单独建一个哈)点击右键,点击Git Clone...
。
在弹出的窗口中,将刚刚复制的链接填入'URL'栏中。目标文件夹应该已经自动填好了。其余选项可不必理会。
点击确定后,就会开始复制文件到本地,期间有过程显示,完成后整个项目就完成clone了。正常情况下本地会看到一个项目同名的文件夹。
这一步,通过命令行的执行方式为:
git clone https://github.com/this-is-you/first-contributions.git
3. 建立分支(Branch)
我们为翻译工作创建独立的分支,以免影响到主分支的代码。
点击进入刚刚clone后生成的项目文件夹。在空白处点击右键,选择TortoiseGit
> Create Branch...
。
在弹出的窗口中,为新的分支起一个名字,比如可以用项目原名+translate+cn的模式。
选上下面的Switch to new branch
切换到新建的分支。
这个步骤对应的命令行:
运行git branch OriginalProject-translate-cn
创建新分支;
运行git checkout OriginalProject-translate-cn
切换到新分支。
4:翻译过程
这部分没什么好说的。找到对应的多语言文件,使用工具翻译即可。
有的是普通的文本文件,可以用记事本编辑。这里推荐Notepad++之类的编辑软件,使用也比较方便,而且还可以加装Markdown等插件。
还有的可能是后缀为mo、po这样的文件,需要使用Poedit软件打开操作。
保存修改后,相应的文件和文件夹会被标记一个红色的叹号,说明有修改。
5:提交变化的内容
好,我们现在已经准备提交翻译成果了。
在提交之前,我们需要先执行一次commit,说明变更的内容。
在项目文件夹上点击右键,选择Git Commit ->
。在弹出的窗口中填写Message
栏,说明这次变更的内容。
点击下面的Commit
按钮后,相应的信息就记录下来了,本次勾选的文件也会标记为绿色的对号。接下来我们可以直接在弹出窗口中点击Push...
按钮,将本地的变更推送到Github自己的账户下。
该步骤对应的命令行:
使用git commit -m "update translations of Chinese"
进行commit操作;
使用git push origin OriginalProject-translate-cn
进行push操作。前面是本地的分支名,后面是远程仓库的分支名。
6:向原项目推送自己的翻译(Pull Request)
打开Github上自己的项目分支,注意检查当前的分支是否是新建的分支。正常情况下,在上方会有一个Compare & pull request
按钮。
点击后会进入最后一步。填写此次pull request的相关内容就行了。不过要注意提交的目标项目分支,因为大多数情况下,项目所有者都会单独创建一个dev或者translate之类的分支,用于合并翻译及模块开发工作,确认无误后才会合并到主分支。
接下来,就是等原项目所有者的合并咯。
写在最后
除了上面写到的主要内容,还有一个本地仓库与项目仓库同步的操作,利用TortoiseGit也可以很方便的完成。就留给大家自己摸索吧。
这篇文章,可能会有些写得不对的地方,还请各位指正。如果对照教程遇到什么问题,可以互相交流,或者搜索相关建议。
目前最大的困扰,应该是如何找到可供翻译的开源项目。这方面大家有什么好的思路呢?
Posted on Utopian.io - Rewarding Open Source Contributors