artikus11
1/6/2017 - 2:31 PM

Руссифицирует месяца и недели в дате

Руссифицирует месяца и недели в дате

/**
 * Руссифицирует месяца и недели в дате.
 * Функция для фильтра date_i18n.
 * @param строка $date        Дата в принятом формате
 * @param строка $req_format  Формат передаваемой даты
 * @return Дату в русском формате
 */
function russify_months( $date, $req_format ){
	// в формате есть "строковые" неделя или месяц
	if( ! preg_match('~[FMlSD]~', $req_format ) ) return $date;

	$replace = array (
		"январь" => "января", "Февраль" => "февраля", "Март" => "марта", "Апрель" => "апреля", "Май" => "мая", "Июнь" => "июня", "Июль" => "июля", "Август" => "августа", "Сентябрь" => "сентября", "Октябрь" => "октября", "Ноябрь" => "ноября", "Декабрь" => "декабря",
		"January" => "января", "February" => "февраля", "March" => "марта", "April" => "апреля", "May" => "мая", "June" => "июня", "July" => "июля", "August" => "августа", "September" => "сентября", "October" => "октября", "November" => "ноября", "December" => "декабря",
		"Jan" => "янв.", "Feb" => "фев.", "Mar" => "март.", "Apr" => "апр.", "May" => "мая", "Jun" => "июня", "Jul" => "июля", "Aug" => "авг.", "Sep" => "сен.", "Oct" => "окт.", "Nov" => "нояб.", "Dec" => "дек.",
		"Sunday" => "воскресенье", "Monday" => "понедельник", "Tuesday" => "вторник", "Wednesday" => "среда", "Thursday" => "четверг", "Friday" => "пятница", "Saturday" => "суббота",
		"Sun" => "вс", "Mon" => "пн", "Tue" => "вт", "Wed" => "ср", "Thu" => "чт", "Fri" => "пт", "Sat" => "сб", "th" => "", "st" => "", "nd" => "", "rd" => "",

	);
	return strtr( $date, $replace );
}
add_filter('date_i18n', 'russify_months', 11, 2);