Forumlar / National / Russian / Зоопарк с окончаниями

dervan
#7471 2009-02-10 02:52
Почти так - я только что поправил свой предыдцущий пост. :) Т.е. теперь с проверкой у меня написано так
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;
а для case 'xbr': - другое
            return (($plural == 0) || ($plural == 1)) ? 1 : 0;