yii2: i18n plural not working for russian language

My env: http://i.imgur.com/o7ic3u2.jpg

$ locale -a
C
C.UTF-8
en_US.utf8
POSIX
ru_RU
ru_RU.iso88595
ru_RU.utf8
 <?= \Yii::t('app',
    '{n, plural,
     =0{У вас нет новых сообщений}
     =1{У вас одно новое сообщение}
     one{У вас # непрочитанное сообщение}
     few{У вас # непрочитанных сообщения}
     many{У вас # непрочитанных сообщений}
     other{У вас # сообщений}}!',
     ['n' => 3]
) ?> // return "other" need "few"

I tried:

<?= MessageFormatter::formatMessage("ru_RU",
    '{n, plural,
                                     =0{У вас нет новых сообщений}
                                     =1{У вас одно новое сообщение}
                                    one{У вас # непрочитанное сообщение}
                                    few{У вас # непрочитанных сообщения}
                                    many{У вас # непрочитанных сообщений}
                                    other{У вас # сообщений}}!',
    ['n' => 3]
) ?>
<?= MessageFormatter::formatMessage("ru_RU",
    '{n, spellout}',    ['n' => 3]
) ?>

// This code return `У вас 3 сообщений! три`

When I change language ru to be(belarus) or uk(ukraine), then I get true few variant.

The bug look to related with ICU but not Yii. @cebe requested to open.

About this issue

  • Original URL
  • State: closed
  • Created 9 years ago
  • Comments: 24 (17 by maintainers)

Most upvoted comments

@luciuz there are in ICU. Update it.