Множественная плюрализация в Laravel
В разных языках существуют разные правила образования множественного числа. Например, в английском языке только две формы: единственная и множественная. Однако есть языки, в которых форм множественного числа больше. К таким языкам относится русский язык.
Давайте для примера сделаем три формы для слова "яблоко". Для этого в файле локализации укажем три формы слова, разделенные вертикальной чертой:
<?php
return [
'apples' => 'яблоко|яблока|яблок'
];
?>
Теперь проверим, как Laravel
автоматически выбирает нужную
форму в зависимости от числа.
Вызовем trans_choice с разными
значениями:
<p>
{{ trans_choice('test.apples', 0) }} <br>
{{ trans_choice('test.apples', 1) }} <br>
{{ trans_choice('test.apples', 2) }} <br>
{{ trans_choice('test.apples', 3) }} <br>
{{ trans_choice('test.apples', 5) }} <br>
{{ trans_choice('test.apples', 11) }} <br>
{{ trans_choice('test.apples', 12) }} <br>
{{ trans_choice('test.apples', 20) }} <br>
{{ trans_choice('test.apples', 21) }} <br>
{{ trans_choice('test.apples', 121) }} <br>
</p>
Laravel сам определит правильную форму. Для этого фреймворк использует встроенные правила плюрализации для каждого языка. Вам достаточно просто перечислить формы через вертикальную черту в правильном порядке, а Laravel сделает всё остальное.
Создайте файл локализации для русского языка. Сделайте сообщение о количестве комментариев с тремя формами. Проверьте работу для разных чисел.