[size=16]Как сделать, чтобы кириллица преобразовывалась в латиницу автоматически[/size]
(решение для сайтов, работающих в UTF-8)
На основе патча от Алексея Тутубалина ( http://blog.lexa.ru/files/patch-dirify.gz ) сделан следующий хак, который позволит преобразовать кириллицу в латиницу автоматически. Патч Алексея предназначен для опытных пользователей, а эта инструкция для всех, кто умеет редактировать файлы.
Я немного подправил патч, чтобы транлитерация происходила в соответствии с ГОСТ 7.79-2000 (см. ссылку: http://orwell.ru/info/tliter.html )
Необходимые действия:
1. Открыть файл lib/MT/Util.pm и найти следующую строку (~765):
"\xc5\xba" => 'z', # latin small letter z with acute
2. После неё добавить:
# Russian Language
"\xd1\x91" => 'jo',
"\xd0\x81" => 'JO',
"\xd1\x8e" => 'ju',
"\xd0\xb0" => 'a',
"\xd0\xb1" => 'b',
"\xd1\x86" => 'c',
"\xd0\xb4" => 'd',
"\xd0\xb5" => 'e',
"\xd1\x84" => 'f',
"\xd0\xb3" => 'g',
"\xd1\x85" => 'kh',
"\xd0\xb8" => 'i',
"\xd0\xb9" => 'jj',
"\xd0\xba" => 'k',
"\xd0\xbb" => 'l',
"\xd0\xbc" => 'm',
"\xd0\xbd" => 'n',
"\xd0\xbe" => 'o',
"\xd0\xbf" => 'p',
"\xd1\x8f" => 'ja',
"\xd1\x80" => 'r',
"\xd1\x81" => 's',
"\xd1\x82" => 't',
"\xd1\x83" => 'u',
"\xd0\xb6" => 'zh',
"\xd0\xb2" => 'v',
"\xd1\x8c" => '_',
"\xd1\x8b" => 'y',
"\xd0\xb7" => 'z',
"\xd1\x88" => 'sh',
"\xd1\x8d" => 'eh',
"\xd1\x89" => 'sch',
"\xd1\x87" => 'ch',
"\xd1\x8a" => '_',
"\xd0\xae" => 'Ju',
"\xd0\x90" => 'A',
"\xd0\x91" => 'B',
"\xd0\xa6" => 'C',
"\xd0\x94" => 'D',
"\xd0\x95" => 'E',
"\xd0\xa4" => 'F',
"\xd0\x93" => 'G',
"\xd0\xa5" => 'KH',
"\xd0\x98" => 'I',
"\xd0\x99" => 'JJ',
"\xd0\x9a" => 'K',
"\xd0\x9b" => 'L',
"\xd0\x9c" => 'M',
"\xd0\x9d" => 'N',
"\xd0\x9e" => 'O',
"\xd0\x9f" => 'P',
"\xd0\xaf" => 'Ja',
"\xd0\xa0" => 'R',
"\xd0\xa1" => 'S',
"\xd0\xa2" => 'T',
"\xd0\xa3" => 'U',
"\xd0\x96" => 'Zh',
"\xd0\x92" => 'V',
"\xd0\xac" => '_',
"\xd0\xab" => 'Y',
"\xd0\x97" => 'Z',
"\xd0\xa8" => 'Sh',
"\xd0\xad" => 'EH',
"\xd0\xa9" => 'Sch',
"\xd0\xa7" => 'Ch',
"\xd0\xaa" => '_',
Если используется только статическая публикация, то на этом можно остановиться. Но если используется также и динамическая, то:
1. Открыть файл php/lib/MTUtil.php и найти следующую строку (~ 465):
"\xc5\xba" => 'z', # latin small letter z with acute
2. После неё добавить тот же код из второго пункта, что и при статической публикации.
Примечания:
Movable Type вырезает символы «'» и «"» из URL, поэтому вместо «ь» и «ъ» использовано нижнее подчёркивание («_»).
После выполнения этого знаки кириллицы русского языка (некоторые символы из украинского, сербского и других языков не влючены в этот хак) будут преобразованы в латиницу.
И ещё мой совет: используйте UTF-8, вам же в дальнейшем будет проще.