LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2790|回复: 5

再次发起GTK2 API 参考手册翻译计划

[复制链接]
发表于 2006-8-27 03:22:46 | 显示全部楼层 |阅读模式
想再次发起翻译GTK+ Reference Manual文档计划,不知有没人响应?

历史:

早在2002年,中国Linux论坛的孔晖(时任linux论坛RAD版版主)发起了一个计划:翻译GTK2 API参考手册(http://www.linuxforum.net/forum/ ... =collapsed&sb=5),并且很快得到一群热爱GNOME和GTK的中国年轻人的支持。于是在共创联盟建立了CFFD项目(http://cosoft.org.cn/projects/cffd/)。项目开始之初,他们发现需要一个功能齐备的字典,来协调多人翻译,于是这个项目就成为GTK2 API参考手册翻译计划的先期项目:首先要做一个 GTK 词库,包含 GTK2 中所有术语。
这个项目从2002年7月初启动,8月16日发布了第一版本,然后在半个多月的时间里连续发布了两个版本(cffd0.02,cffd0.03)。此项目最终完成了GTK+ 2.0 Tutorial的翻译(http://www.mjhy.cn/gtk/book1.html),不过遗憾的是,这个项目在2002年12月停止了。计划中其它部分的翻译没有再进行下去。

准备:

一、确定字典及词库
星际译王如何?用哪个字典?不过它不能对词库进行编辑

二、为了以后方便维护和转换成其它格式,只翻译docbook形式的文档(sgml/xml)
这个已经取出来了:http://www.osprg.org/uploads/yetist/gtk-doc-reference.tar.gz
解压,运行以下命令就可以在当前目录生成html格式文件:
  1. wget http://www.osprg.org/uploads/yetist/gtk-doc-reference.tar.gz
  2. tar -jxvf gtk-doc-reference.tar.gz
  3. cd gtk-doc-reference/gtk-cn/html/
  4. gtkdoc-mkhtml gtk ../gtk-docs.sgml
  5. firefox index.html
复制代码
三、为了多人共同翻译,采用wiki的形式进行合作。
文档内容已经添加了部分:
http://www.gtk.org.cn/modules/do ... tk_reference_manual

对于这样一个工程来说,前期的准备工作很重要,对此我并没有多少经验,只是有想法而已,还望高人支招。
 楼主| 发表于 2006-8-28 13:54:42 | 显示全部楼层
这两天服务器有点问题,今天我们网管才弄好,辛苦他了。

昨天写了翻译文档的同步程序,今天调试了一下,已经可以运行。

这个程序可以自动分析网站wiki中的最新翻译结果,然后编译成html文件并上传至服务器,方便大家查看,同时能保护大家的激情。现在打算每天同步一次,以后同步周期可以适当放长一些。

对应的同步地址如下:

gdk:http://osprg.org/uploads/doc/gtk/gdk-cn/

gdk-pixbuf:http://osprg.org/uploads/doc/gtk/gdk-pixbuf-cn/

gtk:http://osprg.org/uploads/doc/gtk/gtk-cn/
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-5 20:54:36 | 显示全部楼层
看了linux公社的KDE和cavendish两位兄弟的回贴以后,我已经意识到了这样翻译后果很严重。也尝试过 xml2po 工具, 但是无法完成这个任务,所以之前的翻译已经停止了。
由于gtk+(以及其它gnome开发包)的文档都使用了gtkdoc, 文档是写在源文件中的, 通过gtkdoc工具转换生成html.  因此最近在尝试写一个工具,通过直接读取源文件, 根据gtkdoc格式标准从中取出需要翻译的内容,直接产生pot文件。然后就可以把这个po文件翻译成不同语言(不仅仅局限于中文)。 最后将翻译的po文件合并到源文件中,再编译产生html等格式。
如果这项工作能完成的话,那么只要使用gtkdoc产生的文档都可以翻译成多国语言,呵呵。
目前,这个工具只实现了从源代码文件产生po文件这一步骤, 具体可以下载这个文件看一下:
ftp://download.inlsd.org/gtk+-2.10.6.po.tgz
这是从gtk+-2.10.6的源代码产生的相应po文件, 其中的PACKAGE.pot是一个总的文件,也就是通过msgcat把其它po文件合并后产生的。

为了便于后面再将po文件合并到源代码中,我对po文件做了一点加工,比如:

  1. # #-#-#-#-#  gtkwidget.pott (PACKAGE VERSION)  #-#-#-#-#
  2. # used by: GtkWidget::parent-set:
  3. # #-#-#-#-#  gtkwidget.pott (PACKAGE VERSION)  #-#-#-#-#
  4. # used by: GtkWidget::style-set:
  5. #: /tmp/gtk+-2.10.6/gtk/gtkwidget.c:626@1
  6. #: /tmp/gtk+-2.10.6/gtk/gtkwidget.c:653@1
  7. msgid "@widget: the object on which the signal is emitted"
  8. msgstr ""
复制代码

以# #-#-#-#-#开头的不用管。
#used by:GtkWidget::style-set: :表示这个msgid被GtkWidget::style-set使用。如果使用poedit翻译的话,就能看到这是个注释。
/tmp/gtk+-2.10.6/gtk/gtkwidget.c:653@1: 表示这个条目在源文件中的行号及从本行起共占用的行数。像这行的内容表示在gtkwidget.c文件中第653行,只占一行。同时也出现在第626行。后面的@1是我加上去的,目前看来用gettext工具可以正常处理。
像@widget是gtkdoc的格式,翻译时要保留原样。
再如:

  1. # #used by: GtkWidget::drag-data-get:
  2. #: /tmp/gtk+-2.10.6/gtk/gtkwidget.c:1245@4
  3. msgid ""
  4. "The ::drag-data-get signal is emitted on the drag source when the drop site "
  5. "requests the data which is dragged. It is the responsibility of the signal "
  6. "handler to fill @data with the data in the format which is indicated by "
  7. "@info. See gtk_selection_data_set() and gtk_selection_data_set_text()."
  8. msgstr ""
复制代码

说明这个条目被函数GtkWidget::drag-data-get使用,开始于源文件gtkwidget.c的1245行,共4行内容,即1245到1248行。

关于正式翻译中要注意的事项,  等我把这个工具做完以后 ,再写一个详细的手册。

现在希望能有更多的人关注, 等一切准备妥当以后大家再讨论具体的翻译事项, 也许可以请i18n上面的人帮忙或者直接提交到i18n。
回复 支持 反对

使用道具 举报

发表于 2010-3-16 15:42:56 | 显示全部楼层
就这么无声无息了吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-4-23 21:49:17 | 显示全部楼层
Post by 子虚乌有;2075752
就这么无声无息了吗?


一直在努力,努力在更新!

    libgksu参考手册: http://gtk-doc-cn.googlecode.com/svn/docs/libgksu/index.html
    glib参考手册: http://gtk-doc-cn.googlecode.com/svn/docs/glib/index.html
    gobject参考手册: http://gtk-doc-cn.googlecode.com/svn/docs/gobject/index.html
    gdk-pixbuf参考手册: http://gtk-doc-cn.googlecode.com/svn/docs/gdk-pixbuf/index.html
    gdk参考手册: http://gtk-doc-cn.googlecode.com/svn/docs/gdk/index.html
    gdk3参考手册: http://gtk-doc-cn.googlecode.com/svn/docs/gdk3/index.html
    gtk3参考手册: http://gtk-doc-cn.googlecode.com/svn/docs/gtk3/index.html

如何参与:

1. 请在这里注册:https://www.transifex.net/accounts/register/

2. 选择一个翻译项目组,加入相应的翻译团队。目前已经存在的项目有:

    GLib Reference Manual
    GTK+ Reference Manual
    ......

以上项目都存在相应的简体中文翻译团队,请先加入翻译团队。

3. 在项目页面选择一个po文件开始翻译(可以在线翻译,也可以离线翻译)。

我们诚邀您加入项目管理团队或翻译团队!!!
回复 支持 反对

使用道具 举报

发表于 2011-4-25 08:04:06 | 显示全部楼层
非常感谢楼主等各兄弟的无私奉献。我英语比较菜,先努力些了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表