Menu
Авторизация:
Зарегистрироваться.
Русификация
Пользователь: Fedor F Lejepkov
Дата: 30-марта-2006 9:56 pm
Просмотров: 44717
Оценка: 0    Оценить [
|
]

Здравствуйте, я только что вроде как настроил cms последней версии 6.5.6 до рабочего состояния и после убил импортом русского create_UTF-8_6.2.8_sql.zip. Возможно ли прикручивать старый перевод и какова порцедура?

Re: Русификация
Пользователь: Admin
Дата: 30-марта-2006 9:56 pm
Просмотров: 7528
Оценка: -1    Оценить [
|
]

Фёдор,

Файл create_UTF-8_6.2.8_sql.zip является переводом изначального содержимого сайта, но не содержит файлы перевода интерфейса. Кроме того, этот дамп базы подходит только для версии 6.2.8, что cледует из названия. Данная база данных обращается к файлам перевода по имени Russian (на сайте, каюсь, выложены только файлы перевода для Windows-1251 для версий 6.2.*). Для версий новее, чем 6.3.0 файла перевода несколько отличаются по структуре. В течение дня я выложу варианты с Юникодом для разных версий, но пока далеко не полные.

Правда есть одна загвоздка. Для формирования "дружественного" URL с помощью регулярных выражений выполняется транслитерация русских символов в латинские.

Re: Русификация
Пользователь: Fedor F.
Дата: 30-марта-2006 9:56 pm
Просмотров: 7435
Оценка: -1    Оценить [
|
]

Врядли будет порблемой поставить iconv, Тем более, что на русских хостингах он наверняка ставится в придачу к "русскому" unix/linux-окружению.

Из запасников могу предложить альтернативный вариант, найденный в инете, но его надо будет дорихтовать. Это модули проситьт не должно.

#-----------------------------------------------------------------------------------------#
# Перекодировщик win <-> koi <-> iso <-> dos
# $str=encoder($str,"win","dos");
# $str=encoder($str,"dos","uc");
# $str=encoder($str,"dos","lc");
#
sub encoder {
my ($enstring,$cfrom,$cto)=@_;
my %codefunk=(
win=>"\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF",
koi=>"\xE1\xE2\xF7\xE7\xE4\xE5\xF6\xFA\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF2\xF3\xF4\xF5\xE6\xE8\xE3\xFE\xFB\xFD\xFF\xF9\xF8\xFC\xE0\xF1\xC1\xC2\xD7\xC7\xC4\xC5\xD6\xDA\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD2\xD3\xD4\xD5\xC6\xC8\xC3\xDE\xDB\xDD\xDF\xD9\xD8\xDC\xC0\xD1",
iso=>"\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF",
dos=>"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF",

koi_lc=>"tr/\xB3\xE0-\xFF/\xA3\xC0-\xDF/", koi_uc=>"tr/\xA3\xC0-\xDF/\xB3\xE0-\xFF/",
win_lc=>"tr/\xA8\xC0-\xDF/\xB8\xE0-\xFF/", win_uc=>"tr/\xB8\xE0-\xFF/\xA8\xC0-\xDF/",
alt_lc=>"tr/\xF0\x80-\x9F/\xF1\xA0-\xAF\xE0-\xEF/", alt_uc=>"tr/\xF1\xA0-\xAF\xE0-\xEF/\xF0\x80-\x9F/",
iso_lc=>"tr/\xA1\xB0-\xCF/\xF1\xD0-\xEF/", iso_uc=>"tr/\xF1\xD0-\xEF/\xA1\xB0-\xCF/",
dos_lc=>"tr/\x80-\x9F/\xA0-\xAF\xE0-\xEF/", dos_uc=>"tr/\xA0-\xAF\xE0-\xEF/\x80-\x9F/",
mac_lc=>"tr/\xDD\x80-\xDF/\xDE\xE0-\xFE\xDF/", mac_uc=>"tr/\xDE\xE0-\xFE\xDF/\xDD\x80-\xDF/"
);

if (!$enstring or !$cfrom or !$cto) {return ''}
else {
    if ($cfrom ne "" and $cto ne "lc" and $cto ne "uc") {
       $_=$enstring;$cfrom=$codefunk{$cfrom};$cto=$codefunk{$cto};
       eval "tr/$cfrom/$cto/"; return $_;
    }
    elsif (($cfrom ne "") and ($cto eq "lc" or $cto eq "uc")) {
       $_=$enstring; $cfrom=$codefunk{"$cfrom\_$cto"};
       eval $cfrom; return $_;
    }
}
return $enstring;

--- (Отредактировано в 8-Май-2005 8:18 pm от Admin) ---
Re: Русификация
Пользователь: Admin
Дата: 30-марта-2006 9:56 pm
Просмотров: 7396
Оценка: 2    Оценить [
|
]

Надо подумать....

Дело в том, что заменяются не только буквы, но и сочетания букв.

Вот регулярные выражения:

        $value =~ s/Сх/S\'h/;
        $value =~ s/сх/s\'h/;
        $value =~ s/СХ/S\'H/;
        $value =~ s/Ш/Sh/g;
        $value =~ s/

Re: Русификация
Пользователь: Peter
Дата: 30-марта-2006 9:56 pm
Просмотров: 9970
Оценка: -1    Оценить [
|
]

Друзья!

Тут говорят,. что WebGUI может отдавать кириллицу только  в UTF-8.

Так ли это?

У меня 6.7.7g и следующее на площадке (mysql-4.0.18):

===

 character_set         | utf8 

| character_sets        | utf8 dec8 dos german1 hp8 koi8_ru latin1 latin2 swe7 usa7 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5

===

Юникода там нету, это значит что не будет работать поиск без учёта регистра?  и что-нибудь ещё?

© 2004-2024 WebGUI на русском. | Powered by WebGUI
& use Foundation framework | Расположен на WebGUI hosting