我正在使我们的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
翻译就在那里,如果我颠倒复数/单数文本,仍然只有单数被翻译。
有没有想过我做错了什么,我应该如何让它发挥作用?
我似乎没有正确存储复数翻译。我已经修改了插件代码以使用translate.wordpress.org,现在该翻译被视为同时具有单数和复数版本。
将其存储在.po/.mo文件中的解决方案是这样的(未测试):
msgid "size"
msgid_plural "sizes"
msgstr[0] "afmeting"
msgstr[1] "afmetingen"
另请参阅:为什么在gettext翻译文件中需要msgid_plural?。