前言 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
谢谢整理,非常实用
太棒的教程!!!
谢谢鼓励!
谢谢整理
这篇主要就是把自己摸索的过程和经验记录下来了,适合入门参考。
很详细的教程,谢谢这么用心整理。
希望对大家能有些许帮助!
谢谢哦,辛苦了,给你点赞
哈哈,谢谢亲!
学习了,想不到还要用到GitHub哈哈😄正在学习
Very useful contribution thank you ....
Your contribution cannot be approved because it does not follow the Utopian Rules.
We have update new rule
Contents of the contributions (post content) must be in plain English and fully understandable.
You can contact us on Discord.
[utopian-moderator]
谢谢你!去实践一下有问题再请教你