Answer the question
In order to leave comments, you need to log in
Translations, how to work with quantity names in Yii2?
Made a test output:
for($i=0; $i<100; $i++) {
echo \Yii::t('app', 'Тут {n, plural, =0{нет собак} =1{одна собака} few{# собаки1} many{# собак2} other{# собак3} }!', ['n' => $i]);
echo '<br/>';
}
Тут нет собак!
Тут одна собака!
Тут 2 собак3!
Тут 3 собак3!
Тут 4 собак3!
Тут 5 собак3!
Тут 6 собак3!
Тут 7 собак3!
Тут 8 собак3!
Тут 9 собак3!
Тут 10 собак3!
Тут 11 собак3!
Тут 12 собак3!
Тут 13 собак3!
Тут 14 собак3!
Тут 15 собак3!
Тут 16 собак3!
Тут 17 собак3!
Тут 18 собак3!
Тут 19 собак3!
Тут 20 собак3!
Тут 21 собак3!
Тут 22 собак3!
Тут 23 собак3!
Тут 24 собак3!
Тут 25 собак3!
Тут 26 собак3!
Тут 27 собак3!
Тут 28 собак3!
Тут 29 собак3!
Тут 30 собак3!
Тут 31 собак3!
Тут 32 собак3!
Тут 33 собак3!
Тут 34 собак3!
Тут 35 собак3!
Тут 36 собак3!
Тут 37 собак3!
Тут 38 собак3!
Тут 39 собак3!
Тут 40 собак3!
Тут нет собак!
Тут одна собака!
Тут 2 собаки!
Тут 10 собак!
Тут 21 собака!
Answer the question
In order to leave comments, you need to log in
as I understand it, few and many are given as an example of the fact that in languages other than English, there may be complex rules that do not fall under an unambiguous interpretation.
function getLabel($count)
{
if ($count == 0)
return "Нет собак";
if ($count == 1)
return "Одна собака";
if ($count % 100 > 10 && $count % 100 < 20)
return $count . " собак";
switch ($count % 10)
{
case 0: return $count . " собак";
case 1: return $count . " собака";
case 2: return $count . " собаки";
case 3: return $count . " собаки";
case 4: return $count . " собаки";
case 5: return $count . " собак";
case 6: return $count . " собак";
case 7: return $count . " собак";
case 8: return $count . " собак";
case 9: return $count . " собак";
}
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question