如果没有pot
如果我用rpm装了个软件,没有源码包,能不能在系统里找它出来汉化?还是说一定要到它的网站上找到pot文件汉化?
我在i18n.linux.net.cn里看了一下,有些发行版里的小软件在那里没有那个汉化的项目,如果我汉化了要提交到哪里? 不能!你至少要有源文件,通过 xgettext 工具可以生成新的 pot,然后才可以翻译。而且自己生成的 pot 常常夹有一大堆垃圾。如果作者提供了 pot,那么祝贺你。不过翻译要提交给他们就必须加入他们的开发者邮件列表。而且只能用 yahoo、msn 等等海外邮箱,否则会受到屏蔽,发不出信。整个中国地区的 ip 地址好像都被欧洲屏蔽掉了,因为垃圾邮件泛滥的缘故。 比如gaim的cvs位于sourceforge上,你就要和他们的team leader取得联系,看怎么生成POT。而且大多数的小项目仍然将翻译员归为开发者一类,你必须抓下所有的cvs,然后自己用po目录下的update.pl自己生成POT。
至于国外的邮件列表,倒不是因为中国的垃圾邮件泛滥,主要是因为国内的mx服务器都没有设置域名反向查找记录,所以发出的邮件被认为是未经服务器许可的邮件,就弹回了。 至于如何翻译,各家有各家的方法。有些采用自动脚本创建 po 文件,例如 update.pl。然而并非所有的开发者都采用 PO 的形式!尽管这是不明智的,因为很难继承翻译成果。好在可以将多数别的格式转换成 po 格式,日后还可以转换回去。通常生成 pot 的方法为:
解开源码压缩包,进入源码目录,通常都有一个 po 目录,内有一个 POTFILES.in 文本文件,记录着所有包含待翻译消息的源程序文件,通常还应该有 软件名称.pot 的文件,直接复制成 zh_CN.po 就可以使用。如果没有,在源码目录下执行:
xgettext -a -f po/POTFILES.IN -o po/xxx.pot
即可得到新的 xxx.pot 文件。不过由于软件作者错误地使用 gettext 工具,可能导致生成的 pot 文件带有很多垃圾。需要根据经验手工去除那些假的 msgid。
最后,翻译要提交给开发者就必须加入他们的开发者邮件列表。而且只能用 yahoo、msn 等等海外邮箱,否则会发不出信。至于原因,王原说得好:“至于国外的邮件列表,倒不是因为中国的垃圾邮件泛滥,主要是因为国内的mx服务器都没有设置域名反向查找记录,所以发出的邮件被认为是未经服务器许可的邮件,就弹回了。”
页:
[1]