Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
ngettext("%d comment", "%d comments", $n)ngettext("Do you really want to delete %d comment? Operation can't be undone.", "Do you really want to delete %d comments? Operation can't be undone.", $n)ngettext("Do you really want to delete %d comment?", "Do you really want to delete %d comments?", $n) + gettext("Operation can't be undone.")localize("string", ('param1' => 'value1', 'param2' => 'value2'))function smarty_function_decline($params, &$smarty) {
$titles = split(",", $params['titles']);
return Decliner::declOfNum($params['num'], $titles);
}
static function declOfNum($number, $titles) {
$cases = array (2, 0, 1, 1, 1, 2);
return $titles[($number % 100 > 4 && $number % 100 < 20) ? 2 : $cases[min($number % 10, 5)]];
}
В {%D%|0 папках|1 папке|%D% папках|%D% папках} {%F%|файлов не найдено|найден 1 файл|найдено %F% файла|найдено %F% файлов}.
Идея: функция форматирования для удобной локализации строк