Comments 22
Неудачный пример с файлами, так как глагол «скопирован» в Plural и Dual формах одинаков
Singular: 1 файл скопирован
Dual: 22 файла скопировано (не скопированы)
Plural: 26 файлов скопировано
Singular: 1 файл скопирован
Dual: 22 файла скопировано (не скопированы)
Plural: 26 файлов скопировано
+2
да он и в отношении файлов некорректный:
три файлов скопировано
три это же не Dual, как я понимаю
три файлов скопировано
три это же не Dual, как я понимаю
0
Dual
0
Если сходить по ссылке в конце статьи, то можно увидеть, что для русского языка форма Dual применяется для следующих n:
n % 10 >= 2
&& n % 10 <= 4
&& (n % 100 < 10 || n % 100 > 20)
0
Спасибо, исправил.
0
Большое спасибо, давно интересовала эта проблема. И не смотря на не самый маленький опыт использования Qt, почему-то до этого момента не сталкивался с решением.
+1
Для пхп. Функция из двух строк. Может кому пригодится.
Функция:
function declOfNum($number, $titles)
{
$cases = array (2, 0, 1, 1, 1, 2);
return $number." ".$titles[ ($number%100>4 && $number%100<20)? 2: $cases[min($number%10, 5)] ];
}
Пример использования:
echo 'Я знаю '.declOfNum(5, array('иностранный язык', 'иностранных языка', 'иностранных языков'));
Функция:
function declOfNum($number, $titles)
{
$cases = array (2, 0, 1, 1, 1, 2);
return $number." ".$titles[ ($number%100>4 && $number%100<20)? 2: $cases[min($number%10, 5)] ];
}
Пример использования:
echo 'Я знаю '.declOfNum(5, array('иностранный язык', 'иностранных языка', 'иностранных языков'));
+1
Помнится я тоже пытался придумать что-то похожее. Не понял только что делать, если числа два:
«Скопировано 5 файлов и 2 папки.»
Количество вариантов растет очень быстро. Что делать не понятно.
«Скопировано 5 файлов и 2 папки.»
Количество вариантов растет очень быстро. Что делать не понятно.
0
Sign up to leave a comment.
Локализация и числительные