php ngettext多个变量

时间:2015-01-09 12:18:17

标签: php gettext php-gettext

manual复制示例,ngettext的工作原理如下:

ngettext("%d window", "%d windows", 1); //'1 window';
ngettext("%d window", "%d windows", 2); //'2 windows';

但是,如果我想使用2个变量,例如%d windows %d doors怎么办?有没有一种标准的方法来实现它,以便根据2个变量出现正确的字符串(4种组合)?

1 个答案:

答案 0 :(得分:4)

ngettext()不支持多个变量。你必须确保编写可以逐块正确翻译的句子(如果可能的话,可以使用多个句子来避免与语言相关的排序问题)。

至少有一个原因导致不支持这一点的原因是必需的后备句子(ngettext()的第一个参数)的数量会随着变量的数量呈指数增长(即2个变量需要4个这样的句子:奇异单数,奇数复数,复数 - 奇数和复数 - 复数,然后是3变量,等等。)

您可以在https://stackoverflow.com/a/1893929/4457767找到类似问题的答案。