如何使用php将gettext复数形式存储在变量中

时间:2014-02-01 09:13:36

标签: php gettext

我是PHP的新手。我刚开始研究它。

我正在尝试使用gettext和PHP获取复数形式。我的代码如下:

printf (ngettext ("%d product", "%d products", 2), 2);       

输出:

2 products

但是,我希望在变量中使用此o / p。当我尝试将其作为:

$totalItemsCount = printf (ngettext ("%d product", "%d products", 2), 2);
echo "Total count msgs::",$totalItemsCount;

输出:

10

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

printf()显示一个字符串,sprintf()将其返回。但是,printf()具有返回值 - 它返回字符串长度。在这种情况下,结果字符串为2 products,此字符串的长度为10

来自documentation for printf()

  

返回值:

     

返回输出字符串的长度。

如果要将输出存储在变量中,请改用sprintf()

$totalItemsCount = sprintf (ngettext ("%d product", "%d products", 2), 2);