如何获得需要上下文的字符串的复数翻译?

How to get plural translation for string that requires context?

我知道 gettext 库有 pgettext() which can be used to translate a piece of string for given context. I also know that it has ngettext() 可以用来翻译应该有不同单数和复数形式的字符串。

如何根据上下文翻译单复数不同的字符串?似乎名为 pngettext() 的逻辑扩展名不存在。

我想使用 PHP 中的这种行为,但我很高兴知道仅适用于纯 C 的解决方案。

Python 的 gettext 文档中似乎有 npgettext(),对于 C,在 gettext.h 中定义了同名的宏(但 libintl.h ).