Сколько форм множественного числа бывает
Международный стандарт CLDR описывает шесть категорий: zero, one, two, few, many и other. Названия служат условными обозначениями: категории показывают, в каких случаях фраза должна изменяться при изменении числа, и не всегда совпадают с традиционной грамматикой. Категория other обязательна для любого языка: она используется для большинства чисел и как запасной вариант.
У английского языка две формы: one («1 day») и other («2 days»). У русского их четыре. Форма one относится к числам, оканчивающимся на 1, кроме 11 («1 книга», «21 книга»). Форма few используется для чисел, оканчивающихся на 2–4, кроме 12–14 («2 книги»). Форма many охватывает остальные целые числа («5 книг», «11 книг»), а other — дробные значения («1,5 книги»). В японском и китайском языках форма одна: слово не меняется после числа. В арабском их шесть.
Как плюральные формы задают в разных технологиях
В Android для этого используют ресурс plurals, где для каждой категории указан вариант строки:
<plurals name="files">
<item quantity="one">%d файл</item>
<item quantity="few">%d файла</item>
<item quantity="many">%d файлов</item>
<item quantity="other">%d файла</item>
</plurals>
В PO-файлах используют msgid_plural и несколько строк msgstr[n], а количество форм и правило выбора задаются в заголовке Plural-Forms. В формате ICU MessageFormat формы записывают внутри самой строки: {count, plural, one {# файл} few {# файла} many {# файлов} other {# файла}}. Во всех случаях важно заполнить все формы целевого языка, а не только те, что есть в исходнике.
Почему плюральные формы важны для локализации
Исходный английский текст содержит две формы, а для русского их нужно четыре. Если переводчик заполнит только две, приложение покажет ошибку или неверную форму слова для части чисел. Поэтому система локализации должна показывать переводчику все формы, которые требует целевой язык, и подсказывать, к каким числам относится каждая.
Нельзя заменять плюральные формы склейкой вроде «Файлов: 5» или «файл(ов)»: так текст выглядит неестественно, а перевод на другие языки становится невозможным. Лучше всегда использовать полноценную строку с формами.
Как выстроить работу с плюральными формами
Разработчикам стоит выносить такие строки в ресурсы с поддержкой множественного числа и не склеивать их из частей. Переводчику нужны контекст и примеры чисел для каждой формы, а также плейсхолдеры для подстановки значения. Автоматические проверки помогают найти пустые формы, а тестирование на реальных числах (1, 2, 5, 11, 21, 1,5) — неверные склонения. Эти вопросы особенно важны при локализации мобильных приложений.
Подробнее о возможностях работы с форматами — на странице Платформы перевода.
Частые ошибки
Распространенные ошибки — пропущенная форма, из-за которой для части чисел показывается пустая строка, неверный порядок форм и копирование одной и той же формы во все поля. Еще одна проблема — тексты, где число и существительное хранятся в разных строках: перевод таких строк не учитывает согласование.
FAQ
Сколько форм множественного числа в русском языке?
По правилам CLDR в русском четыре формы: one, few, many и other.
Почему нельзя использовать одну форму для всех чисел?
Для части чисел слово будет стоять в неверной форме, и текст будет выглядеть как ошибка.
Что такое категория other?
Это универсальная форма, которая обязательна для любого языка. Она используется для большинства чисел и как запасной вариант.
Как проверить плюральные формы?
Проверьте строку на разных числах — 1, 2, 5, 11, 21 и дробных — и убедитесь, что форма слова во всех случаях верная.