NumberFormatter с единственным / множественным числом слова

Можно ли использовать PHP NumberFormatter класс для отображения слов в единственном или множественном числе в зависимости от значения числа, используя setPattern метод?

Этот метод использует ICU DecimalFormat библиотека, но я не знаком с этим.

Я хотел бы использовать множественное число на page слово, когда значение больше 1:

$sizeFormatter = new NumberFormatter('fr_FR', NumberFormatter::DECIMAL);
$sizeFormatter->setPattern('#0.# page(s)');

6

Решение

Шаблон DecinalFormat поддерживает выбор подшаблона по числовому знаку.
Таким образом, вы можете использовать маленький взломать, как $number > 1 ? $number : -$number установить единственное / множественное число с ним. Номер выхода будет положительным.

$sizeFormatter = new NumberFormatter('fr_FR', NumberFormatter::DECIMAL);
$sizeFormatter->setPattern('0 pages; 0 page');

$number = 3;
echo $sizeFormatter->format($number > 1  ? $number : -$number);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]