Wordpress PHP函数_n()只翻译单数文本

时间:2016-01-13 15:19:29

标签: php wordpress wordpress-plugin

我正在使我们的Wordpress插件与translate.wordpress.org兼容,并使用此代码进行简单的多元化/翻译:

echo _n( 'size', 'sizes', $count, 'my-domain' );

我们仍然有包含例如。:

的.po / .mo文件
msgid "size"
msgstr "afmeting"

msgid "sizes"
msgstr "afmetingen"

这是我得到的输出:

echo _n( 'size', 'sizes', 1, 'my-domain' );
// expected: 1 afmeting 
// actual: 1 afmeting 

echo _n( 'size', 'sizes', 2, 'my-domain' );
// expected: 2 afmetingen
// actual: 2 sizes

翻译在那里,如果我翻转复数/单个文本仍然只翻译单个。

有什么想法我做错了什么以及我应该如何让它发挥作用?

1 个答案:

答案 0 :(得分:2)

似乎我没有正确存储多个翻译。我修改了插件代码以使用translate.wordpress.org,现在翻译被视为具有单数和复数版本的翻译。

将它存储在.po / .mo文件中的解决方案就是这样(未经测试):

msgid "size"
msgid_plural "sizes"
msgstr[0] "afmeting"
msgstr[1] "afmetingen"

另见:Why is msgid_plural necessary in gettext translation files?