关于Drupal的汉化

 

Drupal 4.6 汉化的CVS版彻底完成,修正了所有已知错误,点击这里从Drupal总站下载。或从本站下载未经合并的汉化文件。如果有任何问题,欢迎到汉化论坛讨论。

Drupal 4.5.x的汉化是由Hiweed做的,大致完成了百分之六十几,现在Drupal下载页面里提供的汉化翻译是我根据tnds的翻译,重新制作的,只完成了技术上的更新,内容上还有不少不确之处,我在使用中也发现了不少问题,譬如 管理->评论 中关于评论显示的选项的翻译出现了笔误等等。但是考虑到Drupal几千条的翻译量,TNDS能做到这样已经很不错了,还是要由衷地赞一下!现在所要做的工作就是校正:更正一些错误的和不合习惯的翻译。所以如果你发现了现在的翻译中有任何的错误,请“添加评论”指出,或是到 drupal.org 提交bug,最新的更正只在CVS中体现,目前的4.6.x的汉化仍然是TNDS的原始翻译,等对Drupal的核心文件的校正完成,我会做一个新的4.6.x的release的,多谢多谢!:)

Update 1: 把这个帖子置顶了,以后方便随时报告进度:)

Update 2:在Drupal的中文化项目下新建立了一个Additional Modules的文件夹,用来存放非核心的Drupal模块汉化文件。另外在论坛中开放了注册用户的上穿文件权限,可以上传 .po .pot .rar .zip文件,方便大家交流。开源软件的好处就是人多力量大,Drupal的中文化也不例外,需要大家一起努力,所以打算仿照Linux的汉化草拟一个大致的规则,方便大家一起努力把Drupal的汉化做好:)

 Drupal 4.6汉化最终更新: 这里

Comments

问一个POEdit里单复数

问一个POEdit里单复数的问题,我试着导入了一下CVS里的archive-module.po(v1.3),总是出现‘复数形式不能解析’的错误。一般来说中文不分单复数,所以plural form是这样的:Plural-Forms: nplurals=1; plural=0;
但是drupal里一般复数形式是这样写的: msgid "1 post"
msgid_plural "%count posts"

在archive-module.po里的翻译写作: msgstr[0] "%篇文章",多半是msgstr[0] "%count篇文章" 的笔误,但即便是这样也是不对的,因为如果是单数,msgstr里是1而不是%count,这个%count从何而来?也许我的理解错了,但感觉msgid像这样写才对:

msgid "%count post"
msgid_plural "%count posts"

如果不修改模块本身的话,就只好作如下调整:
首先不得不采用类似英文的两种复数形式:"Plural-Forms: nplurals=2; plural=n!=1;\n"
然后翻译时分别翻译单复数:
msgstr[0] "1 篇文章"
msgstr[1] "%count 篇文章"

看起来实在比较笨,不知道我的理解对不对。

关于单复数问题

呵呵,archive-module.po(v1.3)是我调整过单复数的版本啊,本地打开没有提示“复数形式不能解析”的错误啊。tnds的翻译中复数形式没有定义,所以我现在正在逐一的加入,一般来说汉语的复数形式应该是像你的说得那样的:

"Plural-Forms: nplurals=1; plural=0;\n"

这个语句的意思是说 汉语单复数变化只有一种,用msgstr[0]来表示。

msgid "1 post" 没有问题,因为即便是你写作 %count post,实际上仍然是 1 post。

msgstr[0] "%篇文章" 是错误的,你注意看这条翻译的上面一行,有一个 #,fuzzy, 说明这个是模糊翻译,在正式的汉化文件里是不出现的。

模糊翻译的出现是因为在用 msmerge时无法100%匹配时出现的猜测翻译。因为tnds没有定义单复数,所以凡是和单复数有关的翻译都有可能出现fuzzy。

正确的正如你猜测的那样,应该是 msgstr[0] "%count篇文章"

所以这个string的正确翻译应该是:

#: modules/archive.module:136
msgid "1 post"
msgid_plural "%count posts"
msgstr[0] "%count 篇文章"

谢谢。我又试了一下ar

谢谢。我又试了一下archive-module.po(CVS里那个v1.3的版本),导入是出现如下错误:
Translation file archive-module.po broken: syntax error in line 6.
Translation file archive-module.po broken: Could not be read.
Translation import of archive-module.po failed.
奇怪。

BTW:我大概改了改user-module.po,你可以diff看看是不是合适,供你参考。

BTW2:archive-module.po里星期的翻译,如Mo是否可以从‘周一’改成‘一’,这个好像是在archive calendar里用的,一个字比较符合日历的习惯,也比较好看。别的模块里的星期的短格式用的是Mon,还是‘周一’,所以应该不受影响。

呵呵,我又仔细研究

呵呵,我又仔细研究了一下 Drupal 的单复数形式,发现先前我的那种方法是有问题的,因为Drupal的单数全部给的是 "1 post/read/trackback" 这样的形式,而非 %count 所以我觉得复数表达式应该是这样的:

"Plural-Forms: nplurals=2; plural=1;\n"

而复数的相关翻译应该是:

#: modules/archive.module:136
msgid "1 post"
msgid_plural "%count posts"
msgstr[0] "1篇文章"
msgstr[1] "%count posts"

我重新更新了一下 archive-module.po ,现在的最新版本是 v1.4,可以在[url=http://cvs.drupal.org/viewcvs/*checkout*/drupal/contributions/translations/zh-hans/archive-module.po?rev=1.4]这里[/url],你测试一下看看怎样,我在我的测试站点里导入了,没有问题。另外我更该了周一、周二的显示方式,我也觉得一、二、这样子比较好,不然 calendar的那个框子会被撑得很大。

多谢你更正的user-module.po,呵呵,我还没有更新到user-module.po,这下子可以拿来用了,多谢,多谢!:)

请问一下,http://drupal.

请问一下,http://drupal.org/project/zh-hans 这里的版本是最新版本麽?

呵呵,不是,那个版

呵呵,不是,那个版本基本上还是tnds的,我现在正在做cvs,等都弄完了在正式发表:)

期待ing...

期待ing...

多谢站长的工作,我

多谢站长的工作,我还有三个小问题,想问一下,希望能够解答:
1,添加的评论的时候,如果没有自己写标题,怎样在提交之后,自动把此评论的前面几个字作为此评论的标题显示?我自己安装的系统现在如果没有写评论标题的话,那么提交之后,此评论的标题栏就是空的,在"Recent comments"里面显示也是空的。
2,我已经安装并启用了taxonomy_menu模块,怎样在菜单里面显示”Categories“(也就是文章分类)呢?我在板块里面没有找到。
3,我已经安装并启用了gallery模块,请问怎样在发表的blog中贴图。

还望指教!

呵呵,关于评论无法

呵呵,关于评论无法截取标题的问题,可以参看这篇blog;文章分类的区块是自己写的,可以参看这篇blog;就插图而言还是觉得 image.module + img_assist.module比较好用,配合 img_filter.module效果就更好了:)

还有个小问题

谢谢站长,评论的问题已经解决了,
不过我加入文章分类这个模块的时候,出现:
Fatal error: Call to undefined function: user_access() in /var/www/drupal-4.6.1/modules/category.module on line 2

Post new comment

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.