IteX 0 03/20/09 22:29 Необходимо установить функцию транслита чтобы юзеры не писали на латинице,так как она запрещена на форуме.Ни у кого нет скрипта для версии 2.3.6? Вообще расскажите о транслите кто что знает.Спасибо Поделиться сообщением Ссылка на сообщение
ARMAgeddoN 0 03/23/09 12:45 (изменено) +-------------------------------------------------------------------------- | Кнопка "Транслит" | ======================================== | Сотворено: 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')" /> Все готово!Надеюсь то. По идее должно подойти.Сделайте бэкап!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-Так же нашел это. Изменено 23 марта 2009 пользователем ARMAgeddoN Поделиться сообщением Ссылка на сообщение
andaril 4 03/23/09 13:01 если вы не автор мода, то запрещается выкладывать чужие моды.Это кстати любых модов касается.Лично мои моды запрещено выкладывать без разрешения Поделиться сообщением Ссылка на сообщение
IteX 0 03/26/09 23:15 скачаный кривой.пробовал ставить,то ли сам ошибся...этот попробую отпишусь Поделиться сообщением Ссылка на сообщение
Buskopan 56 10/17/10 15:00 А есть что-то подобное для 3.1.2.? Поделиться сообщением Ссылка на сообщение
nasty 0 10/19/10 18:24 Плиизз, помогите с транслитом, работает только в опере, в мозиле вообще не работает, а в эксплоере видно с кодировкой что-то не так, переводит, но непонятными символами, ставила вот этот мод http://ipbskins.ru/forum/topic1205.html/page__view__findpost__p__6258 Поделиться сообщением Ссылка на сообщение