poEdit的windows版本1.3.1(原作者写作时的最新版本,现在1.4.2了),看起来需要额外的步骤才能识别复数形式(如果你编辑的一个词语是复数形式的话,即便是你翻译了它,当你移到其它词语时,翻译的结果也不会出现在poedit中,同样即便是你保存了,也不会)
复数解决方案#1
如果你找到了一个复数形式的单词,那么关闭poedit,使用一个普通的文本编辑器比如写字板(不能用word)来打开你正在翻译的文件,然后查找复数形式的单词,比如你可以看到类似下面的形式:
#: modules/comment.module:187 modules/node.module:89
msgid "1 comment"
msgid_plural "%count comments"
msgstr[0] "1 commento"
msgstr[1] "%count commenti"
这个时候,我们只需要简单得把msgid文本翻译到msgstr[0],把msgid_plural文本翻译到msgstr[1]中,保存文件,然后关闭编辑器,然后再使用poedit打开.这种方案就是,把复数形式的提前用别的编辑器翻译好后,然后再使用poedit编辑器.
复数解决方案#2
为了在poedit中使用复数,你可以先在类目里面将语言设为英语,之后再对其修改.
语法是:
nplurals=2; plural=(n != 1);
这样就解决了我在翻译成瑞典语时的问题:
#: modules/aggregator.module:100;711;722
msgid "1 item"
msgid_plural "items"
msgstr[0] "1 inlägg"
msgstr[1] "%count inlägg"
我在PO Edit 1.3.1中这样用,没有报错,即便是保存时也不出错.
复数解决方案#2
你可以在类目设置里看到PO edit用到的复数形式:
nplural=INTEGER; plural=EXPRESSION
仅有一种形式的情况:
有些语言,单复数同形,就是没有分别.此时PO edit用到的复数形式就应该为:
Plural-Forms: nplurals=1; plural=0;
此类语言包括:
芬兰乌戈尔语系
匈牙利语
亚洲语系
日语,
韩语
汉语
突厥/阿尔泰语系
土耳其语
译者注:
下面所讲的就是其它类别的语言的设置了,我们用不到,我在poedit1.4.2把复数形式设为nplurals=1; plural=0就搞定了。