Evgheni Опубликовано 3 Ноября 2005 Жалоба Поделиться Опубликовано 3 Ноября 2005 Translit есть? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Belyj Опубликовано 14 Ноября 2005 Жалоба Поделиться Опубликовано 14 Ноября 2005 Мне тоже очень нужен. Но думаю помогать здесь некто не будет. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Pupil23 Опубликовано 14 Ноября 2005 Жалоба Поделиться Опубликовано 14 Ноября 2005 Есть мод http://www.ibresource.ru/db/332/ его можно попытаться приделать на версии 2.1.хнапример для быстрого ответа можно так1.редактируем файл forum\cache\lang_cache\russ\lang_editorsнаходим:$lang['js_bbeasy_toggle'] = "Подсказка: Расширенный режим используется для полезных подсказок";после добавляем:$lang['hb_translit'] = "Преобразовать выделенный текст из транслитерации в кириллицу (alt + t)";или может быть так:находим: 'js_bbeasy_toggle' => 'Нажмите для переключения между режимами', после добавляем: 'hb_translit' => 'Преобразовать выделенный текст из транслитерации в кириллицу (alt + t)',2. Отредактируйте следующим образом файл forum\jscripts\ipb_topic.jsнайдите://------------------------------------------ // Invision Power Board v2.1 // Topics JS File // (c) 2005 Invision Power Services, Inc. // // http://www.invisionboard.com //------------------------------------------ниже добавьте://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-'+Strin g.fromCharCode(35)+'-y-'+String.fromCharCode(39)+'-'+String.fromCharCode(96)+'-q').split('-'); //translitпотом, в конец этого файла, добавьте://========================================== // TRANSLITIRATE (Main) //========================================== function translit() { var obj_ta = document.getElementById( 'fastreplyarea' ); //---------------------------------------- // 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; }3. Редактируем скины: LOOK & FEEL -> Edit Template HTML -> Topic View -> quick_reply_box_open найдите:<input type="submit" name="submit" value="{ipb.lang['qr_submit']}" class="button" tabindex="2" accesskey="s" /> добавьте перед ней:<input type='button' accesskey='t' value=' TRANSLIT ' title='{ipb.lang['hb_translit']}' onclick='translit()' class='button'name='TRANSLIT' /> Теперь жмем: Save Template Bit и все работает в форие быстрого ответа.d1pro - большое спасибо. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Evgheni Опубликовано 16 Ноября 2005 Автор Жалоба Поделиться Опубликовано 16 Ноября 2005 Нужно имено в обычной функции ответа.Быстрый ответ у меня никогда никто не юзал. И почему бы полностью не переделать мод под 2.1.x ? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Pupil23 Опубликовано 16 Ноября 2005 Жалоба Поделиться Опубликовано 16 Ноября 2005 EvgheniДля простой формы можно так попытаться:1.редактируем файл forum\cache\lang_cache\russ\lang_editors - как и раньше 2. Отредактируйте следующим образом файл forum\jscripts\ipb_editor_std.js найдите://------------------------------------------ // Invision Power Board v2 // STD Editor Functions // (c) 2005 Invision Power Services, Inc. // // http://www.invisionboard.com // SHOULD BE CALLED AFTER ipb_editor.js //------------------------------------------ниже добавьте://translit var fombj = document.REPLIER; 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; }3. Редактирование скинов:LOOK & FEEL -> Edit Template HTML -> Post / PM Editor -> editor_std найдите:<input type="button" value=" Initializing... " title='{ipb.lang['js_bbeasy_toggle']}' onclick='toggle_bbmode(); return false;' id="togglebbmode" class="rtebottombutton" />добавьте перед ней:<input type='button' accesskey='t' value=' TRANSLIT ' title='{ipb.lang['hb_translit']}' onclick='translit()' class='rtebottombutton'name='TRANSLIT' />Теперь жмем: Save Template Bit и все работает в простой форие. Полностью переделать мод я не могу - знаний не хватает:Например расширеная форма - кнопку поставить - пожалуйстав файл style_images\1\folder_rte_files\rte_html.js после строки: document.writeln('<tr><td style="padding:0px;margin:0px;" align="left" width="1%" valign="top" nowrap="nowrap">'); добавить: document.writeln( '<input type="button" value=" TRANSLIT " onclick=\'translit()\' class="button" />');теперь есть кнопка в расширеной форме. А вот как воткнуть функции в файл ipb_editor_rte.js И потом, наверное можно не лепить функции транслита в несколько файлов, а сделать в одном и в нужном месте просто вызывать. И еще, ведь это только вариант - можно влепить функции транслита в файл ipb_editor.jsНадеюсь ответил, почему не могу мод сделать. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Evgheni Опубликовано 19 Ноября 2005 Автор Жалоба Поделиться Опубликовано 19 Ноября 2005 Кто-то может дать более компетентный ответ?А лучше переделать весь мод и залить в архив. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
-SAiNT- Опубликовано 23 Ноября 2005 Жалоба Поделиться Опубликовано 23 Ноября 2005 да, было бы хорошо получить готовый мод http://xthost.info/bestmusic/pix/smiles/vzdoh.gif Pupil23, спасибо за старания http://www.click-smilies.de/sammlung0304/verkleidung/costumed-smiley-067.gif Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DaLiV Опубликовано 21 Декабря 2005 Жалоба Поделиться Опубликовано 21 Декабря 2005 раньше чем поможете здесь:Transliteratorдо конца не получится сделатьна текущий момент проблемы заявлены в сафари и в опереIE/mozilla - rabotajut normaljno Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
cahekc Опубликовано 21 Декабря 2005 Жалоба Поделиться Опубликовано 21 Декабря 2005 DaLiV,не работает в IE ваш мод,в мозиле не проверял. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
catbegemot.net Опубликовано 22 Января 2006 Жалоба Поделиться Опубликовано 22 Января 2006 Только в Firefox заработал, по крайней мере - у меня. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
EasyBot Опубликовано 22 Января 2006 Жалоба Поделиться Опубликовано 22 Января 2006 тот мод работает тока в лисе Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dimsan Опубликовано 5 Июля 2006 Жалоба Поделиться Опубликовано 5 Июля 2006 k soschaleniju rabotaet tolko w feirfox ;( u kogo est rabo4ij mod dlja translita kinte pls nado o4en Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
emuka Опубликовано 12 Октября 2006 Жалоба Поделиться Опубликовано 12 Октября 2006 форум делается для всех браузеров, тек зачем же мод, который будет работать только на лисе?Никто не ставит Вам в упрёк вашу работу, наооборот, спасибо за старания. Но нужен мод, который будет рабочим во всех браузерах. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.