参与 Qt 文档翻译项目

简介:

Qt 是一个开源的 C++ 库,源代码十分庞大。如果你想为 Qt 作出自己的贡献,却又苦于找不到入手点,那么,就从文档翻译开始吧!

以前我曾经在 sourceforge.net 上面开启过一个翻译项目,而今天,我们试图完成一个真正的文档工程:其结果是提交到 Qt 的代码库,让全世界所有人都阅读到你翻译的代码。

Qt 的源代码使用 git 作为版本控制系统。git 是一个分布式版本控制系统,类似于 SVN(而后者是中央集权式的版本控制系统)。简单来说,就是可以把你的文件的每个版本详尽的记录下来,并且可以恢复到任意版本;同时,如果多人同时修改同一文件,git 可以保证你的修改不会丢失。由于 Qt 的代码库已经建立完全,所以,我们的工作流程是,从 Qt 的 git 版本库 pull 下来所有的源文件(这一过程在 SVN 中称为 check out,也就是签出),然后做自己的修改,修改完毕后 commit 到自己的 git 库(这是与 SVN 不同的地方,SVN 的 commit 会将你的修改提交到 SVN 代码库,而 git 的 commit 只是将修改提交到本地资源库。也就是说,每个客户端都有一个完整的 git 资源库,这也就是“分布式”的含义),最后将本地库修改的部分一次性全部 push 到远程资源库(这一步才相当于 SVN 的 commit 操作)。这就是 git 的简单使用步骤,了解了这些之后,我们才能将自己的翻译提交到 Qt 代码库。

git 在 Linux 下应用广泛,Linux kernel 即使用 git 做版本控制的。Windows 下,你可以通过安装 MSYSGIT 从而使用 git。如果你希望为 Qt 做出自己的贡献,建议先仔细学习下 git 的使用。

我们的项目地址是在 http://gitorious.org/~cavendish/qt/qt-l10n-zh_cn。打开这个网页,可以看到页面上方有我们项目的地址:

这里有三个选项。如果你的账号没有加入 commiter,那么就只有两个: GIT 和 HTTP。首先,我们根据它给出的地址,使用下面的命令将所有源文件下载到本地:

        git clone git://gitorious.org/~cavendish/qt/qt-l10n-zh_cn.git

注意,这一过程会很慢,鉴于国内网络的速度,大概要有半个小时或者更长的时间,总计大约 800M 以上。这时,你就有了所有的源文件。下面来到 doc/src,这里面放置的就是 Qt 文档的源代码。我们所要做的,就是将这里面的所有文件翻译成中文。在 src 下面已经建立了 zh_CN 文件夹,这里面就是我们的工作目录。当你翻译某一文档的时候,先将它复制到 zh_CN 文件夹下,然后对其进行翻译。注意,不要修改文件中的标签,例如 \list 或者 {} 内的数据,这些都是在生成文档的时候所必需的。我们要做的是将其中的显示内容(如果你不确定哪些是显示出来,或者显示到什么地方的,不妨打开生成的文件对照着翻译)翻译成中文。当你完成之后,使用

        git commit

将所作修改提交到本地资源库。最后,使用 git push 即可提交到远程资源库。这样,我们的 qt-l10n-zh_CN 资源库就有了你所做的工作。然后,你要做的是,点击页面右侧的 Request merge 连接,向 Qt 资源库提交一个合并请求。这一操作只需要做一次,目的是要你同一一个法律条款。当你提交了合并请求并获得许可之后,你的代码就已经加入到 Qt 代码库之中了。别人在 pull 最新代码的时候,就可以获得你所提交的代码。最后说明一点,为了便于管理,我们希望你只提交唯一一次 merge request,目的就是同意那个法律条款,之后,你所要做的就是将自己的修改 push 到 qt-l10n-zh_CN 资源库,由资源库的 creator 在 Qt 发布之前向 Qt 做 merge request。这样就不需要每个人都做这一请求了。

这就是我们大体的流程。如果你还不是 commiter,你是没有权限进行 push 操作的。此时,你可以使用页面右侧的 Clone repository 连接创建自己的资源库,翻译结束后做 qt-l10n-zh_CN 的 merge request,这样,我们就可以将你的修改 merge 到 qt-l10n-zh_CN,然后再进行统一的提交。

我们希望能够通过这一项目,将中文版的 Qt 文档提交到 Qt 源代码库中,让更多人了解、学习 Qt。如果你不熟悉版本控制系统,或许会感到十分不便,不过,如果你试着去学习,就会发现版本控制系统的好处,也会越来越多地在自己的项目中应用起来。



本文转自 FinderCheng 51CTO博客,原文链接: 

http://blog.51cto.com/devbean/389439
相关文章
|
4月前
|
网络协议 容器
【qt】 TCP编程小项目
【qt】 TCP编程小项目
74 0
|
1月前
|
存储 文件存储 数据库
【QT项目】QT项目综合练习之简易计数器(QT6+文件存储)
【QT项目】QT项目综合练习之简易计数器(QT6+文件存储)
|
1月前
|
XML 数据可视化 C语言
001 Qt_从零开始创建项目
本文是Qt专栏的第一篇,介绍了如何创建一个Qt项目。
75 4
|
4月前
【qt】平面CAD(计算机辅助设计 )项目 上
【qt】平面CAD(计算机辅助设计 )项目 上
50 0
|
4月前
【qt】项目移植
【qt】项目移植
35 0
【qt】项目移植
|
4月前
【Qt项目专栏】贪吃蛇小游戏1.0
【Qt项目专栏】贪吃蛇小游戏1.0
102 5
|
4月前
CMake自动打包--Qt项目
CMake自动打包--Qt项目
61 0
|
4月前
|
数据安全/隐私保护
【qt】考试系统项目
【qt】考试系统项目
47 0
|
4月前
|
XML Linux 程序员
【Qt】项目代码
【Qt】项目代码
|
6月前
|
C++ Windows
第1个Qt项目:计算器
第1个Qt项目:计算器
第1个Qt项目:计算器