for Russian:
Не нашел на форуме ответа на вопрос, как сделать чтобы МОД воспринимал русский язык, пришлось разбираться как работает функция
ImageString и как ее приучить к русскому языку.
Вот, что нашел и придумал:
Шаг 1С помощью программы
phpfont делаем из любого кириллического шрифта шрифт формата .phpfon
Кладем их в папку
/signatures(У меня это были два шрифта с названиями файлов
verdana.phpfont и
CourierNew.phpfont)
Шаг 2В файле
signature.php находим строку
ImageString($im, 3, $offset2+$tiny, 4, $sitename, $text_color);
Вставляем
Над ней $m = imageloadfont ('./signatures/verdana.phpfont');
$m2 = imageloadfont ('./signatures/CourierNew.phpfont');
Находим строку
ImageString($im, 3, $offset2+$tiny, 4, $sitename, $text_color);
Заменяем ее на:
ImageString($im, [color=red]$m[/color], $offset2+$tiny, 4, $sitename, $text_color);
Находим строку
ImageString($im, $val[0], $val[1], $i, $val[2], $$val[3]);
Заменяем ее на:
ImageString($im, $m2, $val[1], $i, $val[2], $$val[3]);
Само собой нужно поменять:
$lang_images = "Фотографий : ";
$lang_users = "Участников: ";
$lang_cat = "Категорий: ";
$lang_new_user = "Новый участник: ";
$lang_online = "На сайте: ";
$lang_comments = "Комментариев: ";
и далее по тексту файла английские записи поменять на русские "новые", "зарегистрированные", "активные" и т.п.
ВНИМАНИЕ!!!
У меня база данных в UFT-8 (почему то у меня только в этой кодировке нормально работает поиск
)
Если у вас база тоже в UTF-8 то нужно немного изменить код, т.к. данные в UTF-8 будут крокозябрами на картинке:
ImageString($im, $m2, $val[1], $i, $val[2], $$val[3]);
На:
ImageString($im, $m2, utf8tocyr($val[1]), $i, utf8tocyr($val[2]), utf8tocyr($$val[3]));
и добавить в конец файла
/includes/functions.php (перед закрывающей ?>) следующий код:
function utf8tocyr($string) {
for ($c = 0; $c < strLen($string); $c=$c+2) {
$ub = ord(subStr($string, $c, 1));
$lb = ord(subStr($string, $c+1, 1));
if ($ub == 208) {
if ($lb != 81) {
$result = $result.chr($lb + 48);
}
else {
$result = $result.'Ё';
}
}
if ($ub == 209) {
if ($lb != 91) {
$result = $result.chr($lb + 112);
}
else {
$result = $result.'ё';
}
}
if (($ub != 208) AND ($ub != 209) AND ($lb != 91) AND ($lb != 81)) {
$result = $result.chr($ub);
$c = $c-1; }
}
return $result;
}
Собственно вот результат работы: