Плюральные формы
Языки разные. То, как в них используются формы множественного числа (плюральные формы), отличается от языка к языку. Это может создавать трудности при локализации.
Чтобы узнать больше о формах множественного числа и о том, как их использовать в локализации продуктов AdGuard, читайте в этой статье.
Что такое плюральные формы?
Существительные в некоторых языках могут иметь несколько форм множественного числа. Использование той или иной формы в основном зависит от количества называемых предметов или свойства числительных.
For instance, English words have two word forms when speaking about something in the singular, like one star, and in the plural — two stars. Неважно, скажете ли вы пять, двадцать шесть или даже пятьсот тридцать две звезды — окончание «s» останется прежним. Но некоторые языки могут содержать только одну плюральную форму или наоборот — больше, чем две.
В отличие от английского, в польском языке есть три формы множественного числа существительных. Одна из них используется, когда говорят о чём-либо в единственном числе, другая — во множественном числе, но с числами, оканчивающимися на 2–4, не включая 12–14, а третья форма — для слов, перед которыми стоят все остальные числа.
Ниже показано разделение на плюральные формы в зависимости от числительных в польском языке. Группы числительных определяют форму слова, которое к ним относится.

Вот таблица сравнения плюральных форм в английском и польском:
Английская версия: Польские эквиваленты:
1. форма — It takes one hour. 1. форма — Zajmuje to godzinę.
2. форма — It takes two hours. 2. форма — Zajmuje to dwie godziny.
3. форма — It takes five hours. 3. форма — Zajmuje to pięć godzin.
Польское 'godzinę' (час) имеет три разные формы, английское слово с теми же числительными склоняется только по двум формам.
Кроме польского, есть много других языков, которые имеют три и более форм множественного числа: например, русский, сербский, словацкий, чешский и т. д. Но не все они подчиняются одному и тому же правилу. Поэтому важно знать, сколько плюральных форм содержится в вашем языке и как их правильно применять.
Где можно узнать о количестве форм множественного числа?
В некоторых переводах нужны плюральные формы. Не всегда можно сразу понять, сколько форм нужно применить.
Вот некоторые источники информации, которые можно использовать.
Localization Guide contains a wide list of languages. Количество форм множественного числа для разных языков показано так: nplurals=2, nplurals=4 и так далее. Цифра после знака равенства = означает количество форм множественного числа соответствующего языка.
Also, you can get information about plural forms in the Unicode Common Locale Data Repository (CLDR). В правилах плюральных форм CLDR указана дополнительная форма слова для десятичных чисел (1,5; 2,3; 100,1…), но мы не используем их в переводах AdGuard.
Плюральные формы в переводах AdGuard
Не в каждом переводе нужны плюральные формы.
На платформе Crowdin у нас есть 4 типа строк, в которых используются плюральные формы.
Рассмотрим их поближе.
1. Фразы с ключами (string keys), оканчивающимися на .singular, .dual, .plural

Большинство из них представлены в проекте AdGuard для Windows и состоят из одного-двух слов:
days;extensions;hours
Обращайте внимание на ключи таких фраз и на поле Context, где бывают комментарии об употреблении множественного числа. Ключи могут содержать слова Singular, Dual и Plural (напр. FormatDayDeclensionDual). В этом случае используйте ту форму, которая указана в ключе.
2. Строки с существительными в единственном и множественном числе, разделённые запятыми
Этот тип строк в основном можно найти в проекте AdGuard для Android.
Вот пример:

Если в вашем языке 3 плюральные формы (как в польском), укажите их все через запятую.
час, часа, часов — godzinę, godziny, godzin
Если ваш язык предполагает использование трёх форм, а фраза, которую вам нужно перевести, предполагает только две (напр. до 1 дня, до 2 дней, до 5 дней), не обязательно писать одну и ту же форму дважды. Это касается только данного типа строк. Но не будет ошибкой, если вы это сделаете.
3. Строки, в которых используется паттерн, разработанный Crowdin
Это наиболее удобная схема перевода строк с множественным числом.
Некоторые фразы Crowdin предлагает подставить в разные плюральные формы.
Если в вашем языке только одна форма множественного числа, вы увидите только одну фразу для перевода. Если в языке их две и больше, то Crowdin разделит строку на столько частей, сколько форм в языке.
Например:

Будьте внимательны, когда переводите такие строки. Если вы не знаете, что означает поле Other, просто вставьте ту же форму, что и в поле Many. Переводы полей Many и Other могут быть одинаковыми.
4. Строки, разделённые вертикальной чертой
Это самый сложный тип строк AdGuard, который в основном используется в проекте AdGuard Websites.
Обратите внимание на знак вертикальной черты между предложениями и плейсхолдер %count% в оригинальных фразах — это поможет вам определить фразы, в которых перевод требует использования форм множественного числа.

Теперь представим, что вы столкнулись с такой фразой: Standard license for %count% computer | Standard license for %count% computers.
Что нужно знать, чтобы перевести её правильно?
Назовём предложения, разделённые вертикальной чертой,«шаблонами», поскольку фактически они служат шаблонами для фраз с разными числами.
Возвращаясь к примеру, поскольку в английском языке есть только две плюральные формы, то и шаблонов должно быть два:
Standard license for *%count%* computer | Standard license for *%count%* computers
где шаблон 1 — Standard license for %count% computer,
и шаблон 2 — Standard license for %count% computers
Обратите внимание на плейсхолдеры %count%. Они обычно располагаются перед словами, которые определяют. Вместо %count% в итоге будут отображаться разные числа в зависимости от того, какие шаблоны выбираются.
Если в языке три формы множественного числа, в переводе должно быть три шаблона с двумя вертикальными линиями между ними.
For example, when we translate the above mentioned phrase into Slovak, that according to the rule of Localization Guide has three word forms, the correct translation will look so:
Štandartná licencia pre %count% počítač | Štandartná licencia pre %count% počítače | Štandartná licencia pre %count% počítačov

Получается, если вы переводите на словацкий, вам нужно использовать три шаблона с тремя формами слова počítač" (компьютер).
Если мы проигнорируем одну из форм и будем использовать только два шаблона для словацкого языка вместо трёх, некоторые числа система подставит неправильно. В результате появятся грамматические ошибки: Standard license for 5 computer.
Всегда используйте столько форм, сколько есть в вашем языке, даже если в самом слове меньше словоформ.
Например, сербское слово računar (компьютер) имеет только две формы. Но в сербском есть 3 плюральные формы.

Поэтому перевод с английского на словацкий должен быть таким:
Standardna licenca za %count% računar|Standardna licenca za %count% računara | Standardna licenca za %count% računara
Даже несмотря на то, что последние два шаблона одинаковые, соблюдайте правило: в переводе должно быть столько шаблонов, сколько плюральных форм в языке. Особенно это касается данного типа строк.
В заключение
При переводе проектов AdGuard обращайте особое внимание на фразы, требующие использования форм множественного числа.
Если первые три типа таких строк более или менее просты в исполнении, то четвёртый тип требует большей аккуратности.
И ещё раз: если вы встретите оригинальную фразу с двумя важными элементами: вертикальной чертой и плейсхолдером %count%, пожалуйста, сделайте следующее:
- Обратитесь к правилам употребления множественного числа в языке, на который переводите;
Количество шаблонов должно соответствовать количеству форм множественного числа в вашем языке. Это касается даже тех случаев, когда слово не меняется в зависимости от числительных. Две формы множественного числа — два шаблона в переводе; пять форм множественного числа — пять шаблонов и т. д.
Не забывайте использовать знак вертикальной черты между шаблонами, как в оригинальных строках;
Не переводите, не заполняйте и не удаляйте такие плейсхолдеры, как %count%.
Если переводы выполнены по правилам, система верно считает форматирование и покажет нужную форму с нужным числительным, а у разработчиков AdGuard будет меньше трудностей.