QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4278|回复: 20

如何翻译docbook类型的手册(转贴)

[复制链接]
发表于 2004-9-14 22:51:32 | 显示全部楼层 |阅读模式
下面是一个转贴,来自:
http://kde.ground.cz/tiki-editpage.php?page=Quick+and+dirty+translation+of+manuals+using+KBabel

[code:1]
Translating a docbook manual


I was in the need of translating the english manual for my application to spanish. Looking in the web I didn't find anything besides the internationalization howto, so I expect this may be useful.

This is probably not the right way or the best way, but it worked for me.

I started with files already in XML format. The header in index.docbook is

<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd"

and all the other .docbook files are included from it as entities. If the file is still in SGML convertion will be required; the i18n HOWTO covers that part.

From here I'll define four variables to make easier to understand the commands.

$PODIR is $HOME/src/kde/po;
$POTDIR is $HOME/src/kde/pot;
$ENDIR is $HOME/src/myapp/doc/en and
$ESDIR is $HOME/src/myapp/doc/es.

Using KBabel, I set $PODIR and $PODIR as the po and pot directory in KBabel's catalog manager. Probably a bad idea, but I'm not translating anything except my own application.

Then, for *.docbook in $ENDIR, I run 'xml2pot file.docbook > $POTDIR/file.pot'.

The .pot files are then in place. Using KBabel open the catalog manager and translate each and every message. After saving the .po file will be in $PODIR.

Once all the .po files are ready, it's time to use them to create new .docbook files. For every .po file run 'po2xml $ENDIR/file.docbook $PODIR/file.po > $ESDIR/file.docbook'.

The generated index.docbook required too setting the language. Change it in the line that says

<!ENTITY % English "INCLUDE"><!-- change language only here -->

I replaced English for Spanish.

With everything ready it's time to  properly configure the autotools backend. The Makefile.am in $ESDIR should contain

KDE_LANG = es
KDE_DOCS = myapp

for spanish language. Don't forget either to add $ESDIR to the "SUBDIRS =" directive in the upper directory.

The last thing to do should be to run 'make -f Makefile.cvs' in top level; this will create the appropiate makefiles for the new directory. After doing "./configure; make; make install" calling 'help:/myapp' should display the documentation properly translated.[/code:1]
 楼主| 发表于 2004-9-14 22:57:14 | 显示全部楼层
我的MagicLinux没有xml2pot和po2xml这两个程序,请大家帮帮忙,把如下的index.docbook转换一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2004-9-14 23:14:26 | 显示全部楼层
这两个程序应该是在kdesdk-xml2pot这个软件包里,不知道MagicLinux管这个包叫什么。
回复

使用道具 举报

发表于 2004-9-15 17:04:35 | 显示全部楼层
为什么要先把 xml 转成 pot,在翻译之后再转回来呢?
直接翻译不能么?这么做难道有什么好处?
回复

使用道具 举报

发表于 2004-9-15 20:21:45 | 显示全部楼层
如果原文变化了怎么办?重新来过吗?

相比之下,gettext技术比较成熟,尤其是msgmerge程序,可以实现对已有翻译资源的充分利用。
回复

使用道具 举报

 楼主| 发表于 2004-9-15 21:19:32 | 显示全部楼层
我转化成pot文件翻译后,再转成xml格式之后,用kwrite查看中文变成了乱码。
编码格式都是UTF-8。
郁闷啊
回复

使用道具 举报

发表于 2004-9-15 22:09:01 | 显示全部楼层
UTF-8格式是通用的格式,没啥可奇怪的。Kwrite的打开对话框中有地方让你选择编码,仔细找找。
回复

使用道具 举报

 楼主| 发表于 2004-9-15 23:55:09 | 显示全部楼层
好的。
xml2pot和po2xml是你开发的吧?
回复

使用道具 举报

发表于 2004-9-16 00:06:57 | 显示全部楼层
我还没这个本事。
回复

使用道具 举报

发表于 2004-9-16 13:12:48 | 显示全部楼层
[quote:8418ee9d57="mandrakechina"]如果原文变化了怎么办?重新来过吗?

相比之下,gettext技术比较成熟,尤其是msgmerge程序,可以实现对已有翻译资源的充分利用。[/quote]
作 diff 合并修改啊
回复

使用道具 举报

发表于 2004-9-16 19:46:06 | 显示全部楼层
[quote:55ad13e627="Gavin_tju"][quote:55ad13e627="mandrakechina"]如果原文变化了怎么办?重新来过吗?

相比之下,gettext技术比较成熟,尤其是msgmerge程序,可以实现对已有翻译资源的充分利用。[/quote]
作 diff 合并修改啊[/quote]
你想得倒简单,如果那么简单,官方要使用 po 格式,岂不都是弱智?不信你就试试。
回复

使用道具 举报

发表于 2004-9-16 19:49:05 | 显示全部楼层
[quote:921c950553="bamfox"]我转化成pot文件翻译后,再转成xml格式之后,用kwrite查看中文变成了乱码。
编码格式都是UTF-8。
郁闷啊[/quote]
标准翻译环境应该使用 UTF-8 编码,这是国际惯例。你看看 i18n 主页上工作流程部分的说明。使用 GB2312 会带来兼容问题。
回复

使用道具 举报

发表于 2004-9-16 21:49:27 | 显示全部楼层
[quote:1059b1f0e6="Gavin_tju"][quote:1059b1f0e6="mandrakechina"]如果原文变化了怎么办?重新来过吗?

相比之下,gettext技术比较成熟,尤其是msgmerge程序,可以实现对已有翻译资源的充分利用。[/quote]
作 diff 合并修改啊[/quote]
我们做个假设。如果原文的第一版没有经过tidy的缩进处理,而第二版经过了tidy的缩进美化。那么拿第二版和第一版来做diff,必然是全篇完全不同。这样的diff结果又有什么参考意义呢?
回复

使用道具 举报

发表于 2004-9-16 22:39:55 | 显示全部楼层
哦,原来是这个样子,看来具体情况还真要具体分析。
回复

使用道具 举报

 楼主| 发表于 2004-9-19 14:30:23 | 显示全部楼层
[quote:7b0e7fb7c5="KDE"][quote:7b0e7fb7c5="bamfox"]我转化成pot文件翻译后,再转成xml格式之后,用kwrite查看中文变成了乱码。
编码格式都是UTF-8。
郁闷啊[/quote]
标准翻译环境应该使用 UTF-8 编码,这是国际惯例。你看看 i18n 主页上工作流程部分的说明。使用 GB2312 会带来兼容问题。[/quote]

ok,今天打算搞定它。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-22 02:48 , Processed in 0.086595 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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