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

标签 php wordpress

我正在使我们的 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"

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

关于php - Wordpress PHP 函数_n() 只翻译单数文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34770349/

相关文章:

php - 使用 codeigniter 在非对象上调用成员函数 num_rows()

php - pdf封面制作

ruby-on-rails - 如何编辑 .htaccess 以允许 rails 和 wordpress 请求?

wordpress - 在网页中查找 Google Adsense 标签

html - CSS(WordPress)不同浏览器的不同图像位置

php - Google 机器人是否有元数据可以忽略 apple-app-site-association 和 assetlinks.json?

wordpress - htaccess 密码保护干扰 Wordpress 功能

php - 什么时候需要在 PHP 中使用 Classes

php - 如何根据日期选择上一行

php - MySQL根据两个时间戳列获取结果集