操作方法:使用PoEdit翻译主题/插件的复数形式


8

如标题所述:您将如何翻译...

  • _n()
  • _n_noop()
  • _nc()
  • _nx()
  • _nx_noop()

...在您的.mo文件中?

Answers:


17

步骤1

PoEdit中打开文件。

第2步

转到“ 目录 ”»“ 设置

第三步

填写“ 语言国家/地区1)

第四步

填写“ Pluralform ”(最后一个字段)。

// For 2 plural forms
nplurals=2; plural=n != 1;

// For 3 plural forms (for e.g. russian), use:
nplurals=3; plural=(n%10==1 && n%100!=11) ? 0 : ((n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20)) ? 1 : 2);

// For 4 plural forms (for e.g. slovenian), use:
nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;

第四步

转到第三个标签“ 关键字 ”。

添加以下列表。2)当然,您必须扩展到1,2,3具有三种不同复数形式的语言,依此类推。

_n:1,2
_n_noop:1,2
_nx:1,2
_nx_noop:1,2

链接

  • Mark Jaquith的这篇文章可能很有趣。
  • Heiko Rabe解释了如何很好地使用翻译文件(德语)。他还提供了一个有趣的PDF。

外挂程式

(再次)由Heiko Rabe编写的此插件在帮助翻译您的插件方面做得很好。


脚注

1)例如,英国和美国有不同形式的“颜色/颜色”

2)每行都进入一个(新)条目。


1
_nc已在WP中弃用,与_n相同
onetrickpony

1
“例如,英国和美国具有不同的“颜色/颜色”形式“-还有更多。美国人喜欢用Z而不是S拼写很多单词;)因此,为什么要使用en_GB和en_US当地人。
斯科特,

@OneTrickPony看到了不_c推荐使用的东西,但监督了那一个。谢谢。
kaiser

1
“对于具有三种不同复数形式的语言,您当然必须扩展到1,2,3,以此类推。” 根本不是这样,无论翻译的语言如何,gettext API都保持不变。阅读文档。
瓦茨拉夫·斯拉维克

0

您只需要在PO文件(已编译为MO)中定义翻译语言的复数形式

例如,英语有两种形式,因此对于带有msgid_plural的每个字符串,您的PO文件应具有两个“ msgstr”定义。

如果您使用的是PoEdit,则更加简单,只需将复数形式定义粘贴到目录设置中,您将获得用于复数字符串的额外字段...


2
没那么容易。您必须知道如何设置po文件...
kaiser
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.