В Movable Type эти ссылки на отдельные посты тоже берутся из их заголовков, и если название на русском, то мы получим к счастью не полную абракадабру, но все равно результат глаз не радует своими post-1, post-2. И конечно же тут тоже есть возможность привести все к более оптимальному на мой взгляд виду, благодаря Алексею Тутубалину.
Но позволю себе сначало небольшое отступление.
Если вы не знаете что такое патч и как его применять, используйте пожалуйста настроенный по-умолчанию MTВот так вот просто отшиваются те, кто не знает как. И даже на вопрос в коментариях о том, как же все-таки это сделать, опять ссылаются на эту фразу. Мне несколько ненравится такой подход. Для своих, для тех кто знает. А остальные даже и не пытайтесь. То ли это желание отмахнутся от незнаек, то ли нежелание "пускать новичков в клуб своих". Думаю, что первый вариант.
Я например знаю что такое патч. По крайней мере в применении к различным программам. Но в применении к Movable Type задачка меня поставила в тупик.
Итак, собственно прочесть как получить читаемые URL (вроде movabletype_soset.html) для MT вы можете прочесть здесь. А далее мы с вами, а точнее я некоторое время ранее разберемся как же тот непонятный большой кусок кода применить в жизнь и получить желаемый результат.
По ссылке можно прочесть и другую полезную интересную информацию по теме русификации. Но например я не вижу смысла делать что-либо с календарем. Так как я им в WordPress не пользовался, видя в нем ненужную вещь.
Итак, возвращаясь к установке патча.
Ткнувшись по предложенной автором ссылке, получаем следующий длинный текст. Приведу лишь начало.
Index: lib/MT/Util.pm
===================================================================
RCS file: /export/group/httpd/CVS/mt/lib/MT/Util.pm,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -c -r1.1.1.1 -r1.2
*** lib/MT/Util.pm 30 Dec 2006 07:57:27 -0000 1.1.1.1
--- lib/MT/Util.pm 30 Dec 2006 19:12:14 -0000 1.2
***************
*** 763,768 ****
--- 763,835 ----
"\xc5\xbc" => 'z', # latin small letter z with dot above
"\xc5\xb9" => 'Z', # latin capital letter z with acute
"\xc5\xba" => 'z', # latin small letter z with acute
+ "\xd1\x91" => 'e',
+ "\xd0\x81" => 'E',
+ "\xd1\x8e" => 'ju',
+ "\xd0\xb0" => 'a',
+ "\xd0\xb1" => 'b',Я долго пробовал различные варианты, то просто добавляя весь этот код в нужные файлы, то взамен другого. Но все никак. Но все оказалось просто.Index: lib/MT/Util.pmВ первой строке указан относительный путь к файлу, который нам необходимо изменить. Берем его или из архива на вашем компьютере, либо скачиваем с сервера со своей инсталляции. Рекомендую сделать резервную копию. Всякое может случится. Мне в моих попытках разобраться, без резервной копии бы не вышло.
Далее идет много полезной и нужной информации, но основное это
*************** *** 763,768 **** --- 763,835 ----Указывает какие строки в исходном файле нам нужны и по какие.
"\xc5\xbc" => 'z', # latin small letter z with dot above
"\xc5\xb9" => 'Z', # latin capital letter z with acute
"\xc5\xba" => 'z', # latin small letter z with acuteВот собственно эти строки мы должны найти.+ "\xd1\x91" => 'e', + "\xd0\x81" => 'E', + "\xd1\x8e" => 'ju', + "\xd0\xb0" => 'a',А вот эти плюсики указывают то, что собственно после тех строк мы и должны добавить в файл. Но!! Без этих самых плюсиков!!!
+ "\xd0\xa7" => 'Ch',
+ "\xd0\xaa" => '_',
+
);
$str =~ s/([\200-\377]{2})/$utf8_table{$1}||''/ge;И в самом конце, где заканчиваются строки текста которые мы должны добавит (обозначенные плюсиками) идет строка опять без плюсиков. Обозначая тот код, перед которым мы все это должны втиснуть.Дальше по тексту идет уже вот это:
Index: php/lib/MTUtil.php =================================================================== RCS file: /export/group/httpd/CVS/mt/php/lib/MTUtil.php,v retrieving revision 1.1.1.1 retrieving revision 1.4Это необходимые изменения уже для следующего файла. Но если вы используете в своем Movable Type только статичный контент, то достаточно внести изменения в первый файл. Второй файл - для динамично формируемого контента, и если такого контента у вас нет, то и файл этот вы наприме даже не найдете (по крайней мере я не нашел).
Ну вот и все. Сохранив изменения, закачиваем измененный файл взамен старого. И если вы все сделали правильно, то ура, все заработает как надо.
Как оказалось все не так страшно, и у меня вроде бы все работает после внесенных изменений, и работает как и надо. Так что если вы тоже, как и я оказались посланным, то надеюсь то вам мой этот опыт поможет. ;)