Можно ли использовать PHP NumberFormatter
класс для отображения слов в единственном или множественном числе в зависимости от значения числа, используя setPattern
метод?
Этот метод использует ICU DecimalFormat
библиотека, но я не знаком с этим.
Я хотел бы использовать множественное число на page
слово, когда значение больше 1:
$sizeFormatter = new NumberFormatter('fr_FR', NumberFormatter::DECIMAL);
$sizeFormatter->setPattern('#0.# page(s)');
Шаблон 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);
Других решений пока нет …