在CVS中,根据多个.po文件创建一个单独的po文件
在一个CVS文件夹中,包含了所有的小的po文件,如果你想把它们合并到一个po文件中的话,那么可以使用下面的命令(仅适用于linux/unix)。你需要在这个CVS文件夹下执行这一命令。
drupal翻译的状态
本部分是用来讲解如何显示drupal核心界面翻译的状态的.不幸的是,随着drupal的发展,这种方式已经过时了,google的夏季代码项目本地化服务器,提供了一种新的方式.不过在没有采用这种方式以前,你还可以使用这里讲述的方式.
大家共同翻译drupal
为了方便大家一起翻译,可以将Drupal的POT文件切成多个子部分,每个部分之间都不重复.
在drupal核心中,多次出现的字符串都被放到了general.pot文件中了.这样就保证了,这些字符串将被翻译成同样的字符串.如果模块里面包含的可翻译的字符串少于或者等于10个的话,那么这个模块就不能拥有自己独立的POT文件,而它们的字符串将被添加到general.pot文件中.
当然,项目组成员之间还需要密切配合,这样才能保证翻译的质量.
如果一个语言,对某些语句,存在多种译法的话,那么就可以单独创建一个PO文件,来放置这些可被修改的字符串.比如在汉语中,可以将you翻译成你或者您,这个需要根据你站点具体情况来决定。
在Windows上搭建带有po模式的XEmacs
XEmacs很早就支持Windows,你可以在这里下载它http://www.xemacs.org/Download/win3. XEmacs绑定了po模式(po-mode)(无需GNU gettext).
然而如果要编辑UTF-8编码的PO文件的话,还是会遇到一点麻烦的,我是这样设置的:
使用poEdit时出现的问题
poEdit的windows版本1.3.1(原作者写作时的最新版本,现在1.4.2了),看起来需要额外的步骤才能识别复数形式(如果你编辑的一个词语是复数形式的话,即便是你翻译了它,当你移到其它词语时,翻译的结果也不会出现在poedit中,同样即便是你保存了,也不会)
复数解决方案#1
如果你找到了一个复数形式的单词,那么关闭poedit,使用一个普通的文本编辑器比如写字板(不能用word)来打开你正在翻译的文件,然后查找复数形式的单词,比如你可以看到类似下面的形式:
Drupal版本:
汉化手记
我打算汉化drupal的网店购物车模块Ubercart,版本为drupal5.首先,我先通读了drupal手册的译者指南部分.对汉化大致有了一个印象.在以前的工作中,很少与中文打交道,唯一的一次是给香港的客户做项目,遇到过汉化,不过那时仅仅用到了drupal5内核的汉化包,直接导入就可以了.现在想要做的是汉化drupal第3方模块.
除了阅读译者指南以外,我还到drupal中国论坛的汉化栏目里面转过,里面重要的文章差不多都读了个遍.从昨天开始,汉化Ubercart模块的子模块uc_store.由于是5.x,所以翻译包所在的目录为modules\ubercart\uc_store\po,目录名为po,而在drupal6.x中,这个目录名改为了translations. uc_store\po目录下面有两个文件,一个是uc_store.pot,一个是es.po,后者为另一语言的翻译包.我要使用的就是uc_store.pot.为了怕出乱子,我先给uc_store.pot做了个备份.
如何合并翻译
假如你有一个fr.po文件,里面包含了几个drupal模块的翻译.这些drupal模块更新了,有些字符串被修改了.那么现在更新后的module.pot文件里面就是空的.你需要把这些修改,合并到你的翻译中,从而 充分的利用原有的翻译成果.
首先,检查你使用的PO编辑器,看它是不是有一个合并的功能.
没有的话,你可以试试UNIX CLI工具msgmerge,它和GNU gettext是一起的.
页面
