dervan |
|
---|---|
Почти так - я только что поправил свой предыдцущий пост. :) Т.е. теперь с проверкой у меня написано так
function declension($digit, $expr, $onlyword = false)
{
if (!is_array($expr))
{
return trim(($onlyword ? '' : "$digit ") . $expr);
}
global $lang;
$i = preg_replace('#[^0-9]+#', '', $digit);
$plural = get_plural($i, $lang);
$cnt = count($expr);
return trim(($onlyword ? '' : "$digit ") . (($cnt > 0 && $plural < $cnt) ? $expr[$plural] : ''));
}
C 'xbr' как 'uk' что-то не понял. Для case 'en': имеем
return ($plural == 1) ? 1 : 0;
return (($plural == 0) || ($plural == 1)) ? 1 : 0;
|