首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当单数形式和复数形式相同时,如何使用php-gettext的ngettext()?

当单数形式和复数形式相同时,如何使用php-gettext的ngettext()?
EN

Stack Overflow用户
提问于 2016-12-17 22:40:56
回答 1查看 659关注 0票数 2

我正在使用库php-gettext来解决谷歌云AppEngine上缺少的gettext扩展。单数和复数形式在英语中相同,但在其他语言中不同。

代码语言:javascript
复制
ngettext("%d correct", "%d correct", $n)

西班牙语的翻译应该是

代码语言:javascript
复制
"%d correcto" (singular)
"%d correctos" (plural)

表示给出正确答案的数量。

但这给了我一个错误,因为单数msgid与复数msgid完全相同。即使是允许在翻译中添加上下文的函数dngettext()也不能做到这一点:

代码语言:javascript
复制
dngettext("Number of correct answers", "%d correct", "%d correct", $n)

它会在gettext库中触发警告和错误:

代码语言:javascript
复制
PHP Notice:  Undefined offset: -1
PHP Parse error: syntax error, unexpected '!=' (T_IS_NOT_EQUAL)
PHP Notice:  Undefined variable: number
PHP Warning:  Missing argument 4 for gettext_reader::npgettext()

我正在使用英语句子作为msgid,现在不能将我的整个项目改为使用神秘的I,例如

代码语言:javascript
复制
ngettext("%d-correct-singular", "%d-correct-plural", $n) 

在原始语言中处理相同的单数和复数形式的适当方式是什么?

EN

回答 1

Stack Overflow用户

发布于 2016-12-17 23:22:30

我刚刚发现它实际上是gettext库中的一个已知错误:https://bugs.launchpad.net/php-gettext/+bug/1415873?comments=all

您需要手动修复此错误,才能正确使用ngettext函数。

这个问题与一般的gettext扩展无关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41199724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档