Как представить правила множественного числа для русского или других сложных множественных языков в ICU MessageFormat

Как мы можем представить русский язык в ICU MessageFormat, учитывая необычный характер правил плюрализации?

MessageFormat поддерживает множественное число, например {arg, plural, =1 {one} other {other}} и более сложные {arg, plural, =0 {none} =1 {one} =2 {few} other {several}}.

Однако иногда текст для использования не может быть напрямую определен по номеру без некоторых вычислений; Как мы это делаем? В русском языке существует три правила множественного числа, основанные на последней цифре числа, за исключением 11–14.

Информация, которую я просмотрел:

Множественное число русского языка

http://www.russianlessons.net/lessons/lesson11_main.php

Правила формата сообщений

http://userguide.icu-project.org/formatparse/messages

Количество правил множественного числа для разных языков

https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_and_Plurals


person Samuel Neff    schedule 20.06.2020    source источник


Ответы (1)


Пример плюрализации русского ICU для яблок (яблоко).

{arg, plural, =0 {нет яблок} one {одно яблоко} few {{arg} яблока} other {{arg} яблок}}

one работает для чисел, заканчивающихся на 1, кроме 11

few работает для чисел, оканчивающихся на 2, 3, 4, опять же, кроме 12, 13 и 14.

other - это просто множество форм

person Minchenko Valery    schedule 15.12.2020