umade.ru

Русские даты в Movable Type

Я был удивлён, когда ещё в первых версиях Movable Type не обнаружил возможность выбора русифицированной даты в настройках (preferences) движка. Но удивило ещё больше то, что этот недостаток остался и сегодня. В списке выбора на данный момент 18 языков, но нет русского?

Тем не менее, это можно осуществить известным и единственным способом — достаточно лёгкой модификацией некоторых файлов, что позволяет прописывать самые разные даты с любыми окончаниями.

Для этого нужно найти файл Util.pm, который находится в директории /lib/MT/.

В версии 2.64 файл Util.pm занимает почти на 10 килобайт меньше места чем 3.0D, поэтому я не стал выкладывать измененные файлы для скачки из-за разных размеров и соответственно отличий этих файлов, что может привести к неправильному функционированию Movable Type.

В Util.pm, ближе к 900-ой строчке, появиться список с названиями дней и месяцев на различных языках. Теперь выбираем любой ненужный язык (например итальянский) и заменяем буквы "it" на "ru", после чего можно спокойно заменять итальянские названия на русские. Пример:

'it' => [
[ ('Domenica', "Lunedì", "Martedì", "Mercoledì",
"Giovedì", "Venerdì", 'Sabato') ],
[ qw( Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio
Agosto Settembre Ottobre Novembre Dicembre ) ],
[ qw( AM PM ) ],
"%d.%m.%y %H:%M",
"%d.%m.%y",
"%H:%M",
],

заменяем на:

'ru' => [
[ qw( воскресенье понедельник вторник среда четверг пятница суббота ) ],
[ qw( Январь Февраль Март Апрель Май Июнь
Июль Август Сентябрь Октябрь Ноябрь Декабрь ) ],
[ qw( AM PM ) ],
"%d.%m.%y %H:%M",
"%d.%m.%y",
"%H:%M",
],

Теперь прописываем language="ru" в тэге даты. Например:

<mtentryDate format="%B %d, %Y" language="ru">

И всё будет чудесно :)

Как вы уже наверно догадались, можно ещё раз заменить или скопировать любой другой язык и таким же способом заменить окончания слов. Только уже нужно будет ставить не "ru", а любое другое значение. Таким образом можно иметь несколько дат с разными окончаниями.

Вместо того, чтобы прописывать language="ru" для каждой даты, можно выбрать русский язык из списка в настройках (preferences) блога, но тогда нужно прописать ещё одну строку в другом файле.

Этот файл находится в директории tmpl/cms/ и называется cfg_prefs.tmpl — шаблон настроек. Ближе к 90-ой строке находится список языков, там и нужно добавить:

<option value="ru"<tmpl_IF NAME=LANGUAGE_RU>selected="selected"</tmpl_IF>><mt_TRANS phrase="Russian"></option>

Готово.

Всего оставлено 2 комментария

  1. subayev 4 марта 2005

    О! Мегареспект! Как вас благодарить? =))

  2. Никита 4 марта 2005

    Уже отблагодарили :)

Поиск по сайту

Следующая запись

Предыдущая запись

Из последнего

Архив статей и записей