Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Invision Board » Как на IPB 2.1.4 заставить работать Транслит?

Модерирует : Antuan, Dekker

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Kolovrat

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
На старых версиях IPB всё вроде работало нормально, а на новом IPB 2.1.4 Траслит ни в какую не хочет работать.
 
Кто может подсказать как выйти из данного положения?
 
Для начала... вот что я делал согласно инструкции, которую помещаю ниже...
 
| Кнопка "Транслит"
| ========================================
| Сотворено: d1 для своего форума  
| Проверялось на IPB2 (PF2)
| Дата: 12 Aug 2004
| Демо: http://rhh4room.ovl.ru
+---------------------------------------------------------------------------
| Добавляет в формы ответа кнопку "TRANSLIT". При нажатии выделенный в  
| форме текст преобразуется в кириллический с учетом правил транслитерации.
| Игнорирует BBCode и html-тэги.
+---------------------------------------------------------------------------
| Для транслитерации используется часть кода (2 функции с небольшой  
| переделкой) с сайта translit.ru. Автор: Игорь Ильин 2002-2004.
| Действительно удобная и качественная транслит-перекодировка  
| на translit.ru!
+---------------------------------------------------------------------------
1. Редактирование файлов:
 
Отредактируйте следующим образом файл /lang/*/lang_post.php
!!!ВНИМАНИЕ!!! Если у вас установлено несолько языков, эти изменения нужно  
проделать для каждого!
 
Найдите:
 
$lang = array (
 
Добавьте ниже:
 
//translit
'hb_translit'=> "Convert selected text from translitiration to cyrillic (alt + t)",
//translit
 
Для русского языка можно добавить:
 
//translit
'hb_translit'=> "Преобразовать выделенный текст из транслитерации в кириллицу (alt + t)",
//translit
 
Отредактируйте следующим образом файл /jscripts/ipb_bbcode.js
 
Найдите:
 
var HTML_open = 0;
 
Добавьте ниже:
 
//translit
var rus_lr2 = ('Е-е-О-о-Ё-Ё-Ё-Ё-Ж-Ж-Ч-Ч-Ш-Ш-Щ-Щ-Ъ-Ь-Э-Э-Ю-Ю-Я-Я-Я-Я-ё-ё-ж-ч-ш-щ-э-ю-я-я').split('-');
var lat_lr2 = ('/E-/e-/O-/o-ЫO-Ыo-ЙO-Йo-ЗH-Зh-ЦH-Цh-СH-Сh-ШH-Шh-ъ'+String.fromCharCode(35)+'-ь'+String.fromCharCode(39)+'-ЙE-Йe-ЙU-Йu-ЙA-Йa-ЫA-Ыa-ыo-йo-зh-цh-сh-шh-йe-йu-йa-ыa').split('-');
var rus_lr1 = ('А-Б-В-Г-Д-Е-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Х-Ц-Щ-Ы-Я-а-б-в-г-д-е-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-х-ц-щ-ъ-ы-ь-ь-я').split('-');
var lat_lr1 = ('A-B-V-G-D-E-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-X-C-W-Y-Q-a-b-v-g-d-e-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-x-c-w-'+String.fromCharCode(35)+'-y-'+String.fromCharCode(39)+'-'+String.fromCharCode(96)+'-q').split('-');
//translit
 
В конце файла добавьте:
 
//==========================================
// TRANSLITIRATE (Main)
//==========================================
 
function translit()
{
var obj_ta = fombj.Post;
 
//----------------------------------------
// It's IE!
//----------------------------------------
if ( (ua_vers >= 4) && is_ie && is_win)
{
if (obj_ta.isTextEdit)
{
obj_ta.focus();
var sel = document.selection;
var rng = sel.createRange();
rng.colapse;
if((sel.type == "Text" || sel.type == "None") && rng != null)
{
rng.text = dotranslate(rng.text);
}
}
else
{
obj_ta.value = dotranslate(obj_ta.value);
}
}
//----------------------------------------
// It's MOZZY!
//----------------------------------------
 
else if ( obj_ta.selectionEnd )
{
var ss = obj_ta.selectionStart;
var st = obj_ta.scrollTop;
var es = obj_ta.selectionEnd;
 
if (es <= 2)
{
es = obj_ta.textLength;
}
 
var start = (obj_ta.value).substring(0, ss);
var middle = (obj_ta.value).substring(ss, es);
var end = (obj_ta.value).substring(es, obj_ta.textLength);
 
//-----------------------------------
// text range?
//-----------------------------------
 
if (obj_ta.selectionEnd - obj_ta.selectionStart > 0)
{
middle = dotranslate(middle);
}
 
obj_ta.value = start + middle + end;
 
var cpos = ss + (middle.length);
 
obj_ta.selectionStart = cpos;
obj_ta.selectionEnd = cpos;
obj_ta.scrollTop = st;
 
 
}
//----------------------------------------
// It's CRAPPY!
//----------------------------------------
else
{
obj_ta.value = dotranslate(obj_ta.value);
}
 
obj_ta.focus();
 
return;
}
 
//==========================================
// TRANSLITIRATE (String convertion)
//------------------------------------------
// Original code from translit.ru
// by Igor Ilyin (2002-2004)
//==========================================
 
 
function dotranslate(text)
{
var txtnew = "";
var symb = 0;
var subsymb = "";
var trans = 1;
for (kk=0;kk<text.length;kk++)
{
subsymb = text.substr(kk,1);
if ((subsymb=="[") || (subsymb=="<"))
{
trans = 0;
}
if ((subsymb=="]") || (subsymb==">"))
{
trans = 1;
}
if (trans)
{
symb = transsymbtocyr(txtnew.substr(txtnew.length-1,1), subsymb);
}
else
{
symb = txtnew.substr(txtnew.length-1,1) + subsymb;
}
txtnew = txtnew.substr(0,txtnew.length-1) + symb;
}
return txtnew;
}
 
//==========================================
// TRANSLITIRATE (Symbol convertion)
//------------------------------------------
// Original code from translit.ru
// by Igor Ilyin (2002-2004)
//==========================================
 
function transsymbtocyr(pretxt,txt)
{
var doubletxt = pretxt+txt;
var code = txt.charCodeAt(0);
if (!(((code>=65) && (code<=123))||(code==35)||(code==39))) return doubletxt;
var ii;
for (ii=0; ii<lat_lr2.length; ii++)
{
if (lat_lr2[ii]==doubletxt) return rus_lr2[ii];
}
for (ii=0; ii<lat_lr1.length; ii++)
{
if (lat_lr1[ii]==txt) return pretxt+rus_lr1[ii];
}
return doubletxt;
}
 
2. Редактирование скинов:
!!!ВНИМАНИЕ!!! Если у вас установлено несолько скинов, эти изменения нужно  
проделать для каждого!
 
Действия выполняются в Admin CP > Skins & Templates  
> Skin Manager > Edit Skin Template HTML > Post Screen
 
Шаблон get_java script:
 
Найдите:
 
var list_prompt = "{ipb.lang['js_tag_list']}";
 
Добавьте ниже:
 
var help_translit = "{ipb.lang['hb_translit']}";
 
Шаблоны postbox_buttons и pm_postbox_buttons:
 
Найдите:
<input type='button' accesskey='l' value=' LIST ' onclick='tag_list()' class='codebuttons' name="LIST" onmouseover="hstat('list')" />
 
Добавьте ниже:
 
<input type='button' accesskey='t' value=' TRANSLIT ' onclick='translit()' class='codebuttons' name='TRANSLIT' onmouseover="hstat('translit')" />
 
Все готово!
____________________________________________
 
Всё что тут написано, я сделал, но ни кнопки не появилось, ни транслитерации не происходит...
Повторюсь, у меня русский IPB 2.1.4 со скином IBR Prestige Style от Fisana V.2.1.

Всего записей: 25 | Зарегистр. 23-04-2004 | Отправлено: 00:44 20-02-2006
CAHEKC



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
внимательнее надо смотреть, это мод d1 для линейки 2.0.Х
потому он и не работает, если б вы на офсайте инвижна досмотрели тему до конца, то там есть правка этого мода под версию 2.1.4 по крайней мере у меня с теми поправками на 2.1.4 рус работает транслит нормально. и кнопка есть, даже в быстром ответе.

Всего записей: 134 | Зарегистр. 14-01-2004 | Отправлено: 13:04 27-02-2006
Voden



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ссылочкой на мод транслита для IPB 2.1.x не поделитесь?

Всего записей: 15 | Зарегистр. 21-02-2006 | Отправлено: 14:45 22-03-2006
CAHEKC



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ну где ж ещё находятся моды для ipb?
на ibresource.ru
поиск по форуму даст результат.
и дальше в теме обсуждения как раз сказано как транслит установить на 2.1.3 и 2.1.4 и на 2.1.5 у меня тоже работает.

Всего записей: 134 | Зарегистр. 14-01-2004 | Отправлено: 17:16 22-03-2006
HunterDD



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CAHEKC
На IBR есть транслит для 2.1, но он кривой в хлам. Чего-то там наверчено несусветное...

----------
dot13: антиблог для мизантропа | антикризис шоу

Всего записей: 397 | Зарегистр. 29-01-2004 | Отправлено: 16:38 23-03-2006
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Invision Board » Как на IPB 2.1.4 заставить работать Транслит?


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru