Сегодня впервые столкнулся с проблемой правильного склонения множественного числа. Для английского языка данная проблема не актуальна, так как там всего два варианта: 1 item, 5 items.
В русском же языке существует 3 формы множественного числа: 1 элемент, 2 элемента, 11 элементов.
Напомню, что в Drupal числа во множественном числе выводятся с помощью функции format_plural($count, $singular, $plural, array $args = array(), array $options).
Параметры
- $count - число для подстановки;
- $singular - строка в единственном числе. Не используйте @count в этой строке;
- $plural - строка для множественного значения;
- $args - ассоциативный массив подстановок для перевода; При встрече ключей массива в строке перевода, они заменяются на соответствующие значения;
- $options - ассоциативный массив дополнительных опций. См. t() для разрешенных ключей.
Пример
format_plural($count, '1 item', '@count items');
Чтобы теперь сделать правильное склонение на русском языке, необходимо в переводы (admin/config/regional/translate) добавить следующие строки:
1 item - 1 элемент
@count items — @count элемента
@count[2] items — @count[2] элементов
Таким образом для определенных значений @count будет выводится нужная форма множественного числа (1 элемент, 2 элемента, 11 элементов т.д.).