参与 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
相关文章
|
2月前
【Qt 学习笔记】使用QtCreator创建及运行项目 | 项目初始代码解释
【Qt 学习笔记】使用QtCreator创建及运行项目 | 项目初始代码解释
301 1
|
2月前
【QT】创建、打开QT项目只显示.pro文件的问题解决
【QT】创建、打开QT项目只显示.pro文件的问题解决
275 0
|
2月前
|
数据挖掘 C++
QT基础入门——项目案例(七)
QT基础入门——项目案例(七)
146 0
QT基础入门——项目案例(七)
|
2月前
|
机器学习/深度学习 API 计算机视觉
Qt5 和 OpenCV4 计算机视觉项目:6~9
Qt5 和 OpenCV4 计算机视觉项目:6~9
127 0
|
2月前
|
机器学习/深度学习 存储 文字识别
Qt5 和 OpenCV4 计算机视觉项目:1~5(5)
Qt5 和 OpenCV4 计算机视觉项目:1~5(5)
55 0
|
1月前
|
C++ Windows
第1个Qt项目:计算器
第1个Qt项目:计算器
第1个Qt项目:计算器
|
14天前
|
机器学习/深度学习 人工智能 计算机视觉
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
好的资源-----打卡机+Arm+Qt+OpenCV嵌入式项目-基于人脸识别的考勤系统-----B站神经网络与深度学习,商城
|
1月前
|
关系型数据库 MySQL 项目管理
数据库大作业——基于qt开发的图书管理系统(四)项目目录的整理与绘制登录页面
数据库大作业——基于qt开发的图书管理系统(四)项目目录的整理与绘制登录页面
|
1月前
|
安全 BI 数据库
数据库大作业——基于qt开发的图书管理系统 (一)环境的配置与项目需求的分析
数据库大作业——基于qt开发的图书管理系统 (一)环境的配置与项目需求的分析
|
1月前
第3个Qt项目:秒表
第3个Qt项目:秒表

推荐镜像

更多