Powered by Invision Power Board
Здравствуйте Гость ( Вход | Регистрация ) Выслать повторно письмо для активации

Forum Rules Правила раздела

В этом разделе пользователи форума могут только оставлять сообщения в темах.
Перед отправлением сообщений, пожалуйста, прочитайте правила форума.
В темах раздела задавайте вопросы правильно и, соблюдайте знаки препинания.

Страницы: (2) [1] 2   ( Перейти к первому непрочитанному сообщению ) Reply to this topicStart new topicStart Poll

> Транслит
Duka
Отправлено: Апр 2 2008, 11:30
Quote Post


HTML, xHTML, CSS, JavaScript, AJAX, PHP, MySQL
Group Icon

Группа: Пользователи
Сообщений: 206
Пользователь №: 691
Регистрация: 2-Апреля 08
Из: Москва
Member Offline

Репутация: 15




Сегодня одна очень хорошая знакомая попросила меня найти транслит на форум ipb.
Нашел, вроде адаптировал.
Есть косяк, говорят в Мазиле не фурычит.
В опере и ИЕ все отлично

Настройка скинов - [скин] - HTML - Topic View Section - quick_reply_box_open

В самое начало вставляет основной скрипт транслита
CODE

<script language=JavaScript>
<!--
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('-');
var rus_rl = ('А-Б-В-Г-Д-Е-Ё-Ж-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Ц-Ч-Ш-Щ-Ъ-Ы-Ь-Э-Ю-Я-а-б-в-г-д-е-ё-ж-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-ц-ч-ш-щ-ъ-ы-ь-э-ю-я').split('-');
var lat_rl = ('A-B-V-G-D-E-JO-ZH-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-C-CH-SH-SHH-'+String.fromCharCode(35)+String.fromCharCode(35)+'-Y-'+String.fromCharCode(39)+String.fromCharCode(39)+'-JE-JU-JA-a-b-v-g-d-e-jo-zh-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-c-ch-sh-shh-'+String.fromCharCode(35)+'-y-'+String.fromCharCode(39)+'-je-ju-ja').split('-');
var translitown=0;var language = 0;
if (document.images) {swrus_src = new Image; swrus_src = "pict/swrus.gif";swlat_src = new Image; swlat_src = "pict/swlat.gif";}
function setfoc(){document.post.message.focus();}
function compbelongs(isprivate)
{
translitown = isprivate;
if (translitown==1) {document.post.message.createTextRange().execCommand("Copy");}
document.cookie = "trowncomputer=" + escape(isprivate);
return true;
}
function upgradeclipboard()
{
if (translitown==1) {document.post.message.createTextRange().execCommand("Copy");}
return true;
}
function setlangpicture(){document.ruslat.src = swrus_src;}
function changelanguage(){if (language==1) {language=0; document.images['ruslat'].src = swrus_src; document.post.message.focus();return;}if (language==0) {language=1; document.images['ruslat'].src = swlat_src; document.post.message.focus();return;}}
function AkeyIsDown()
{
if (event.ctrlKey && event.altKey) changelanguage();
if (window.event.keyCode==27) event.returnValue=false;
return false;
}
function translate_letter()
{
if (language==1) return; //no transliteration necessary
//the entered character
var code = event.keyCode;
txt=String.fromCharCode(code);
//make selection
cursor_pos_selection = document.selection.createRange();
//delete something is selected before
cursor_pos_selection.text="";
//get the previous character
cursor_pos_selection.moveStart("character",-1);
pretxt = cursor_pos_selection.text;
if (pretxt.length>1) {pretxt="";}
event.keyCode = 0;
result = translatesymboltocyrillic(pretxt,txt)
//delete the previous symbol if it is exists (if the entered symbol is not the first one)
if (pretxt!="") { cursor_pos_selection.select(); cursor_pos_selection.collapse();}
with(document.selection.createRange()) {text = result; collapse(); select()}
return;
}
function translatesymboltocyrillic(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;
}
function translatesymboltolatin(symb)
{
var ii;
for (ii=0; ii<rus_rl.length; ii++)
{
if (rus_rl[ii]==symb)
return lat_rl[ii];
}
return symb;
}
function translateAlltoCyrillic()
{
var is_selection_flag = 1;
var userselection = document.selection.createRange();
var txt = userselection.text;
if (userselection==null || userselection.text==null || userselection.parentElement==null || userselection.parentElement().type!="textarea")
{
// no text selected, all the text in the textarea is to be processed
is_selection_flag = 0;
txt = document.post.message.value;
}
var txtnew = translatesymboltocyrillic("",txt.substr(0,1));
var symb = "";
for (kk=1;kk<txt.length;kk++)
{
symb = translatesymboltocyrillic(txtnew.substr(txtnew.length-1,1),txt.substr(kk,1));
txtnew = txtnew.substr(0,txtnew.length-1) + symb;
}
if (is_selection_flag)
{
userselection.text = txtnew; userselection.collapse(); userselection.select();
}
else
{
document.post.message.value = txtnew;
document.post.message.focus();
}
return;
}
function translateAlltoLatin()
{
var is_selection_flag = 1;
var userselection = document.selection.createRange();
var txt = userselection.text;

if (userselection==null || userselection.text==null || userselection.parentElement==null || userselection.parentElement().type!="textarea")
{
// no text selected, all the text in the textarea is to be processed
is_selection_flag = 0;
txt = document.post.message.value;
}
txtnew="";
var symb = "";
for (kk=0;kk<txt.length;kk++)
{
symb = translatesymboltolatin(txt.substr(kk,1));
txtnew = txtnew.substr(0,txtnew.length) + symb;
}
if (is_selection_flag)
{
userselection.text = txtnew; userselection.collapse(); userselection.select();
}
else
{
document.post.message.value = txtnew;
document.post.message.focus();
}
return;
}
//-->
</SCRIPT>

Выводим кнопку в панель быстрых сообщений:
Находим
CODE
<select name='ffont' class='codebuttons' onchange="alterfont(this.options[this.selectedIndex].value, 'FONT')"  onmouseover="hstat('font')">

Вставляем Перед:
CODE
<br /> <INPUT class=button onclick=translateAlltoCyrillic();upgradeclipboard(); type=button value="В кирилицу">&nbsp;&nbsp;&nbsp;
<INPUT class=button onclick=translateAlltoLatin();upgradeclipboard(); type=button value="В латиницу"><br />


Это сообщение отредактировал Duka - Апр 2 2008, 11:31


--------------------
<style>
#dom2 {display: none}
</style>
Top
Amira
Отправлено: Апр 2 2008, 11:32
Quote Post


RWC
Group Icon

Группа: Пользователи
Сообщений: 68
Пользователь №: 658
Регистрация: 21-Марта 08
Member Offline

Репутация: 2




QUOTE (Duka @ Апр 2 2008, 00:29)
Сегодня одна очень хорошая знакомая

=) ...
Top
Добрый
Отправлено: Апр 3 2008, 17:05
Quote Post


Админ-пенсионер, тревожить только по особо важным делам
Group Icon

Группа: Пользователи
Сообщений: 4 935
Пользователь №: 296
Регистрация: 5-Декабря 07
Из: Москва
Member Offline

Репутация: 77




Закреплено


--------------------
Уважаемые посетители, используйте ПОИСК прежде чем что-то спросить, может быть вы найдете ТАМ ответ.

user posted image - Мне будет приятно, если вы оцените мою помощь вам=)
Top
Stimaxel
Отправлено: Апр 18 2008, 08:04
Quote Post


Ученик форумов
Group Icon

Группа: Пользователи
Сообщений: 58
Пользователь №: 727
Регистрация: 17-Апреля 08
Из: Германия
Member Offline

Репутация: нет




Duka,
у меня что то не идет, а тут
QUOTE
Выводим кнопку в панель быстрых сообщений:
Находим

обязательно надо тоже поменять?
Top
Duka
Отправлено: Апр 18 2008, 11:06
Quote Post


HTML, xHTML, CSS, JavaScript, AJAX, PHP, MySQL
Group Icon

Группа: Пользователи
Сообщений: 206
Пользователь №: 691
Регистрация: 2-Апреля 08
Из: Москва
Member Offline

Репутация: 15




Stimaxel,Так ничего менять не надо, я написал "Вставляем Перед:"


--------------------
<style>
#dom2 {display: none}
</style>
Top
Stimaxel
Отправлено: Апр 18 2008, 16:32
Quote Post


Ученик форумов
Group Icon

Группа: Пользователи
Сообщений: 58
Пользователь №: 727
Регистрация: 17-Апреля 08
Из: Германия
Member Offline

Репутация: нет




QUOTE
Выводим кнопку в панель быстрых сообщений:
Находим

а это где найти?
Top
Alex Okonnor
Отправлено: Апр 18 2008, 16:59
Quote Post


[Адмирал]
Group Icon

Группа: Пользователи
Сообщений: 1 661
Пользователь №: 518
Регистрация: 7-Февраля 08
Из: провинциальной деревушки на краю ада
Member Offline

Репутация: 83




QUOTE (Stimaxel @ Апр 18 2008, 16:31)
а это где найти?

Topic View Section
quick_reply_box_open


--------------------
Помог ? Тогда жмите user posted image
=========================
user posted image310-950-543 сюда стучать, если у вас есть предложение ко мне.. [в аське крайне редко]
user posted image ник : zse_gm по пустякам не беспокоить. [Обычно в онлайне до 5-6 вечера по мск]
За приделами форума тех. поддержки, за "спасибо" нечего не делаю!
=========================
user posted image
=========================
Из 1.3 в 3.1, возможно или нет?!
Возможно... Сделано... Проверено... Доказано =)


Один из Основателей Saint people
Top
Feyd
Отправлено: Июн 29 2008, 15:57
Quote Post


Участник
Group Icon

Группа: Пользователи
Сообщений: 66
Пользователь №: 443
Регистрация: 2-Января 08
Member Offline

Репутация: нет




QUOTE
Выводим кнопку в панель быстрых сообщений:
Находим
CODE
<select name='ffont' class='codebuttons' onchange="alterfont(this.options[this.selectedIndex].value, 'FONT')"  onmouseover="hstat('font')">

Вставляем Перед:
CODE
<br /> <INPUT class=button onclick=translateAlltoCyrillic();upgradeclipboard(); type=button value="В кирилицу">&nbsp;&nbsp;&nbsp;
<INPUT class=button onclick=translateAlltoLatin();upgradeclipboard(); type=button value="В латиницу"><br />


Ну не могу найти и все smile.gif Это точно в Topic View Section
quick_reply_box_open ?

ctrl+F Не помогает! dry.gif


--------------------
user posted image
Top
Fiona
Отправлено: Июн 29 2008, 16:15
Quote Post


Вредина
Group Icon

Группа: Пользователи
Сообщений: 857
Пользователь №: 508
Регистрация: 3-Февраля 08
Из: Альдога
Member Offline

Репутация: 15




Feyd, 8 строка сверху.


--------------------
Пилою моя бабушка была, и мамочка моя была пилою...
Top
Alex Okonnor
Отправлено: Июн 29 2008, 17:03
Quote Post


[Адмирал]
Group Icon

Группа: Пользователи
Сообщений: 1 661
Пользователь №: 518
Регистрация: 7-Февраля 08
Из: провинциальной деревушки на краю ада
Member Offline

Репутация: 83




Так подождите, если "быстрый ответ" не трогали там такова не будет smile.gif
Это если тока уже мод "быстрого ответа" ставили, тогда такое будет smile.gif

Конечно могу и ошибаться laugh.gif


--------------------
Помог ? Тогда жмите user posted image
=========================
user posted image310-950-543 сюда стучать, если у вас есть предложение ко мне.. [в аське крайне редко]
user posted image ник : zse_gm по пустякам не беспокоить. [Обычно в онлайне до 5-6 вечера по мск]
За приделами форума тех. поддержки, за "спасибо" нечего не делаю!
=========================
user posted image
=========================
Из 1.3 в 3.1, возможно или нет?!
Возможно... Сделано... Проверено... Доказано =)


Один из Основателей Saint people
Top
Feyd
Отправлено: Июн 29 2008, 19:11
Quote Post


Участник
Group Icon

Группа: Пользователи
Сообщений: 66
Пользователь №: 443
Регистрация: 2-Января 08
Member Offline

Репутация: нет




Попытался установить Мод, Быстрого Ответа, терь вобще БЫСТРЫЕ ОТВЕТЫ не работают! sad.gif


--------------------
user posted image
Top
Vanilla
Отправлено: Июл 1 2008, 22:00
Quote Post


Cuique suum
Group Icon

Группа: Пользователи
Сообщений: 170
Пользователь №: 804
Регистрация: 25-Май 08
Member Offline

Репутация: 2




Всё работет прекрасно

Один нюанс - после того, как поставлен сам скрипт, кнопочки можно пихать куда угодно - ибо строчки
CODE
select name='ffont' class='codebuttons' onchange="alterfont(this.options[this.selectedIndex].value, 'FONT')"  onmouseover="hstat('font')">
я тоже не нашла в том топике. но оно и без неё прекрасно работает - поставила после тегов.... smile.gif


--------------------
user posted image
Top
joman
Отправлено: Сен 3 2009, 10:32
Quote Post


Новичок
Group Icon

Группа: Пользователи
Сообщений: 17
Пользователь №: 1 499
Регистрация: 25-Май 09
Member Offline

Репутация: нет




QUOTE (Duka @ Апр 2 2008, 11:31)
Сегодня одна очень хорошая знакомая попросила меня найти транслит на форум ipb.
Нашел, вроде адаптировал.
Есть косяк, говорят в Мазиле не фурычит.
В опере и ИЕ все отлично
...

Нашел и подправил один скрипт транслита в лисе работает. Думаю в других браузерах тоже будет. Если кому интересно, могу выложить.
Top
Добрый
Отправлено: Сен 3 2009, 11:15
Quote Post


Админ-пенсионер, тревожить только по особо важным делам
Group Icon

Группа: Пользователи
Сообщений: 4 935
Пользователь №: 296
Регистрация: 5-Декабря 07
Из: Москва
Member Offline

Репутация: 77




QUOTE (joman @ Сегодня, 11:33)
Нашел и подправил один скрипт транслита в лисе работает. Думаю в других браузерах тоже будет. Если кому интересно, могу выложить.
выкладывайте


--------------------
Уважаемые посетители, используйте ПОИСК прежде чем что-то спросить, может быть вы найдете ТАМ ответ.

user posted image - Мне будет приятно, если вы оцените мою помощь вам=)
Top
joman
Отправлено: Сен 3 2009, 18:28
Quote Post


Новичок
Group Icon

Группа: Пользователи
Сообщений: 17
Пользователь №: 1 499
Регистрация: 25-Май 09
Member Offline

Репутация: нет




Вставлял по аналогии со скриптом спускающис автора в быстрый ответ
Настройка скинов - [скин] - HTML - Topic View Section - Header
Вставляем:
CODE
<script language='javascript' type='text/javascript'>

var lat=new Array([COLOR=blue]"jo","zh","i'","ch","sh","xh","je","ju","ja","a","b","v","g","d","e","z","i","k","l","m","n","o","p","r","s","t","u","f","x","c","'","      y","`","j","h"[/COLOR]);
var cyr=new Array([COLOR=blue]"ё","ж","й","ч","ш","щ","э","ю","я","а","б","в","г","д","е","з","и","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ь","ы","ъ","ж      ","х"[/COLOR]);
var latcap=new Array([COLOR=blue]"JO","Jo","ZH","Zh","I'","Ch","CH","Sh","SH","Xh","XH","Je","JE","Ju","JU","Ja","JA","A","B","V","G","D","E","Z","I","K","L","M","N","      O","P","R","S","T","U","F","X","C","Y","J","H"[/COLOR]);
var cyrcap=new Array([COLOR=blue]"Ё","Ё","Ж","Ж","Й","Ч","Ч","Ш","Ш","Щ","Щ","Э","Э","Ю","Ю","Я","Я","А","Б","В","Г","Д","Е","З","И","К","Л","М","Н","О","П","Р","С","Т      ","У","Ф","Х","Ц","Ы","Ж","Х"[/COLOR]);

function translate(sText)
{
var buf=sText;
var i;
for (i=0;i<latcap.length;i++)
   {
      buf=replace(buf,latcap[i],cyrcap[i],1,0);
   }

for (i=0;i<lat.length;i++)
   {
      buf=replace(buf,lat[i],cyr[i],1,0);
   }

sText=buf;
return sText;
}

function replace(target,oldTerm,newTerm,caseSens,wordOnly) {

var work = target;
var ind = 0;
var next = 0;

if (!caseSens) {
   oldTerm = oldTerm.toLowerCase();
   work = target.toLowerCase();
   }

while ((ind = work.indexOf(oldTerm,next)) >= 0) {
   if (wordOnly) {
      var before = ind - 1;
      var after = ind + oldTerm.length;
      if (!(space(work.charAt(before)) && space(work.charAt(after)))) {
         next = ind + oldTerm.length;
         continue;
         }
      }
   target = target.substring(0,ind) + newTerm +
   target.substring(ind+oldTerm.length,target.length);
   work = work.substring(0,ind) + newTerm +
   work.substring(ind+oldTerm.length,work.length);
   next = ind + newTerm.length;
   if (next >= work.length) { break; }
   }

return target;

}
</script>

Или можно вставить это же без 1 и последней строчек в уже имеющееся там тело ява скрипта.
Выделенной синим - алфавит. Можно поменять по своему усмотрению. Замена - понятна: 1 буква первого алфавита заменяется на 1-ю букву 2-го алфавита.

Дальше - кнопочка:
Настройка скинов - [скин] - HTML - Topic View Section - quick_reply_box_open
CODE
<input type=button value="Транслит" onclick="document.REPLIER.Post.value=translate(document.REPLIER.Post.value);">

можно вставить перед этим:
CODE
<select name='ffont' class='codebuttons' onchange="alterfont(this.options[this.selectedIndex].value, 'FONT')"  onmouseover="hstat('font')">

Думаю каждый сам сможет разобраться куда кнопку вставлять. У меня расширенный ввод, я вставил после выбора цвета, т.е. после этого куска:
CODE

<select name='fcolor' class='codebuttons' onchange="alterfont(this.options[this.selectedIndex].value, 'COLOR')" onmouseover="hstat('color')">
 <option value='0'>{ibf.lang.ct_color}</option>
 <option value='blue' style='color:blue'>{ibf.lang.ct_blue}</option>
 <option value='red' style='color:red'>{ibf.lang.ct_red}</option>
 <option value='purple' style='color:purple'>{ibf.lang.ct_purple}</option>
 <option value='orange' style='color:orange'>{ibf.lang.ct_orange}</option>
 <option value='yellow' style='color:yellow'>{ibf.lang.ct_yellow}</option>
 <option value='gray' style='color:gray'>{ibf.lang.ct_grey}</option>
 <option value='green' style='color:green'>{ibf.lang.ct_green}</option>
</select>

P.S. переводит все в текстарете и теги тоже. Т.е. сперва лучше набрать текст, перевести его а потом форматировать.
Top
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Страницы: (2) [1] 2  Reply to this topicStart new topicStart Poll