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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6

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

MVY

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что-то забили все на эту тему , так и не докончив её . А вы посмотрите как интересно и очень даже удобно реализовали транслит на kamrad.ru форуме http://www.kamrad.ru/kvb/ . Не ныжны никакие тэги и т.д. Неужели нельзя сделать так же для ib . Ведь здесь столько умных голов сидит .

Всего записей: 297 | Зарегистр. 02-02-2002 | Отправлено: 23:23 17-03-2002
suslik_s_gitaroy



Хомяк под кайфом
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexander Ipp
не работает твой тег...
 
Добавлено
Извиняюсь, все ок...

Всего записей: 1791 | Зарегистр. 23-12-2001 | Отправлено: 08:04 23-03-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MVY
А как там сделано? Мне на камрады идти неохта, они у меня тормозят по-страшному. Мой диалап их не любит.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 21:16 23-03-2002
MVY

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexander Ipp
Там у них кнопочка прямо над формой ответа. Пишешь мессагу на транслите
   
и сразу нажимаешь на эту кнопку . Мессага сразу автоматически переводится без всяких тэгов .  
   
И можешь отправлять уже переведённый ответ.
 
Добавлено
Кстате мне прислали эту вещицу для vbulletin . Вот , если есть желание , скачай и глянь , может быть можно будет как-то впендюрить в ikonboard http://wrz.bip.ru/ut/transl.txt

Всего записей: 297 | Зарегистр. 02-02-2002 | Отправлено: 22:21 23-03-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MVY
Аааа, вон оно как. Ну дык выдрать не проблема, JS же в исходниках паги есть.
 
Добавлено
Сделаю. Ждите.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 23:09 23-03-2002
MVY

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexander Ipp
Ждём-с
 
Добавлено
Кстате , мне и тот хак прислали для vbulletin, который показывает текст последнего сообщения во всплывающем окошке . Если будет желание глянуть и переделать его для ib , выложу и его

Всего записей: 297 | Зарегистр. 02-02-2002 | Отправлено: 23:42 23-03-2002
suslik_s_gitaroy



Хомяк под кайфом
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А я так уже давно и сделал...
MVY
давай... реализую...

Всего записей: 1791 | Зарегистр. 23-12-2001 | Отправлено: 19:18 24-03-2002
MVY

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
suslik_s_gitaroy
Дава . А как ?

Всего записей: 297 | Зарегистр. 02-02-2002 | Отправлено: 22:50 24-03-2002
suslik_s_gitaroy



Хомяк под кайфом
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MVY
простая жаба... щас кода нет... потом дам...

Всего записей: 1791 | Зарегистр. 23-12-2001 | Отправлено: 09:03 25-03-2002
suslik_s_gitaroy



Хомяк под кайфом
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
свой скрипт светить не буду, покажу на примере приведенного тут скрипта...
объясняю...
в topic.cgi, post.cgi, postings.cgi (может еще где надо...) ищим кусок

Код:
 
</font>  
     
     
</td>
                  <td bgcolor=$miscbackone valign=middle><textarea cols=60 rows=15 wrap="soft" name="inpost">$inpost</textarea>

(помоему так... я не помню у меня там дофига всего понапихано...)
 
перед ним добавляем

Код:
 
                   <SCRIPT LANGUAGE="JavaScript">
var lat=new Array("jo","zh","y'","ch","sh","xh","ie","ju","ja","a","b","v","g","d","e","z","i","k","l","m","n","o","p","r","s","t","u","f","h","c","mz","ii","tz","j","w","x");
var cyr=new Array("ё","ж","й","ч","ш","щ","э","ю","я","а","б","в","г","д","е","з","и","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ь","ы","ъ","ж","в","кс");
 
var latcap=new Array("JO","Jo","ZH","Zh","Y","Ch","CH","Sh","SH","Xh","XH","Ie","IE","Ju","JU","Ja","JA","A","B","V","G","D","E","Z","I","K","L","M","N","O","P","R","S","T","U","F","H","C","II","Ii","J","W","X");
var cyrcap=new Array("Ё","Ё","Ж","Ж","Й","Ч","Ч","Ш","Ш","Щ","Щ","Э","Э","Ю","Ю","Я","Я","А","Б","В","Г","Д","Е","З","И","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ы","Ы","Ж","В","Кс");
 
function translate(tex)
{
var buf=tex;
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);
  }
 
tex=buf;
return tex;
}
 
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>
 
 
<FORM METHOD="POST">
<textarea name=text2 cols=55 rows=17 wrap=virtual>Perevod</textarea><BR>
<input type=button value="Перевести" onclick="document.forms[0].text2.value=translate(document.forms[0].text2.value);">
<input type=button value="Очистить" onclick="document.forms[0].text2.value='';">
</FORM>

 
да, еще... везде text2 надо заменить на inpost

Всего записей: 1791 | Зарегистр. 23-12-2001 | Отправлено: 09:02 26-03-2002
MVY

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А вот теперь мне прислали точно такой же хак транслита как на камраде . http://wrz.bip.ru/ut/translit_hack_for_vb.zip Первый был не таким . Здесь в архиве 3 файла tanslit.js , translit.html и readme по установке .  
Alexander Ipp
глянь как и на этот хак . Может сможешь его прикрутить ?

Всего записей: 297 | Зарегистр. 02-02-2002 | Отправлено: 13:41 26-03-2002
suslik_s_gitaroy



Хомяк под кайфом
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MVY

Цитата:
Alexander Ipp  
глянь как и на этот хак . Может сможешь его прикрутить ?

это я ваще-то был...
прикручу, но не щас...

Всего записей: 1791 | Зарегистр. 23-12-2001 | Отправлено: 15:31 26-03-2002
MVY

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
suslik_s_gitaroy
А , понятно Ну буду ждать

Всего записей: 297 | Зарегистр. 02-02-2002 | Отправлено: 16:35 26-03-2002
KinoFan



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я как понимаю этот скрипт для VBulletin можно прикрутить к любому форуму написанному на PHP??

Всего записей: 471 | Зарегистр. 25-01-2002 | Отправлено: 20:23 26-03-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KinoFan
Вообще к любому. JS свободно портируется.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 21:54 26-03-2002
batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zapimir
твоя идея сделать два textarea "в одном пишу- в другом вижу" мне понравилась.
Сам придумал? Идею я имею ввиду, скрипт там пустяковый, но вот идея!!! Думаю может ее у тебя попросить для руборда...
 
Кстати, вот так вот в лоб делать я бы не стал
 

Код:
 
opener.document.REPLIER.Post.value=str
 

 
представим, что я пишу текст транслитом, и потом мне нужно написать слово на английском без транслитерации, я его пишу в основной форме топика, потом иду опять в окно транслита, продолжаю писать, и слово затирается...
 
 
 
Далее я бы репласил по другому, ибо при твоем варианте замена только один к одному, один пример:
 x = x (икс), а нужно, чтобы также х = h работал.

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 22:19 26-03-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
batva

Цитата:
твоя идея сделать два textarea "в одном пишу- в другом вижу" мне понравилась

Да идея довольно старая. Я по-моему даже на хоботе когда-то предлагал.

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 22:26 26-03-2002
KinoFan



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ребят, срочно нужна помощь - поставил себе транслитор на форум, так там один попытля написать с помощью него, и вот что вышло:
 
   
 
В чём проблема?? Помогите пожалуйста!!!

Всего записей: 471 | Зарегистр. 25-01-2002 | Отправлено: 07:54 01-04-2002 | Исправлено: KinoFan, 08:02 01-04-2002
Alexander Ipp



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот вам как на камрадах:
Приступаем к установке:
Откройте topic.cgi.
Найдите код:
Код:
 
     <SCRIPT language=Javascript>  
function paste(name){  
var input=document.mt.elements[7];  
input.value=input.value+"[b]"+name+"[/b]$rt";  
}  
function paste2(name){  
var input=document.mt.elements[7]  
if (name!="") input.value=input.value+"[quote]"+name+"[/quote]$rt"  
}  
</SCRIPT>  

Ниже добавьте:
Код:
 
<SCRIPT language=Javascript src="$imagesurl/translit.js"></SCRIPT>
   
Найдите код:
Код:
 
<SCRIPT language=JavaScript>  
if (navigator.appVersion.indexOf("MSIE")!= -1) document.writeln("Для вставки цитаты, выделите её и <a href='VBScript:paste2(document.selection.createRange().Text)'>нажмите эту ссылку</a><br></span>")  
</SCRIPT></font>

Ниже добавьте:
Код:
 
<INPUT accessKey=t class=bginput onclick="with(document.mt.inpost) { value=translit2win(value); focus(); } return false;" title="Преобразовать транслит (Alt + t)" type=button value="Translit2RUS">

Закройте, сохраните.
Откройте ikon.lib.
Найдите:
Код:
 
<SCRIPT language=JavaScript src=$imagesurl/codebuttons.js></script>

Ниже добавьте:
Код:
 
<SCRIPT language=Javascript src="$imagesdir/translit.js"></SCRIPT>
Код:
 
Найдите:

} else {
$endcb =  qq~
</TD></TR><TR><TD align=middle>
</FONT></FONT></TD></TR></TBODY></TABLE></table>
~;
} ### end if

Ниже добавьте:
Код:
 
$transliterationcb = qq~<INPUT accessKey=t class=bginput onclick="with(document.PostTopic.inpost) { value=translit2win(value); focus(); } return false;" title="Преобразовать транслит (Alt + t)" type=button value="Translit2RUS">~;

Откройте post.cgi.
Найдите:
Код:
 
$ibtxt{'1422'} <b>$htmlstate</b> $ibtxt{'1423'}<p>$ibtxt{'1424'} <b>$idmbcodestate</b> $ibtxt{'1423'}<p>$emoticonslink</font>

Ниже добавьте:
Код:
 
<br>$transliterationcb

Повторите это ещё два раза (этот код повторяется).
Закройте, сохраните.
Откройте postings.cgi
Найдите:
Код:
 
$ibtxt{'1422'} <b>$htmlstate</b> $ibtxt{'1423'}<p>$ibtxt{'1424'} <b>$idmbcodestate</b> $ibtxt{'1423'}<p>$emoticonslink</font>

Ниже добавьте:
Код:
 
<br>$transliterationcb

Создайте файл translit.js следующего содержания:
Код:
 
// One character letters
t_table1 = "ABVGDEZIJKLMNOPRSTUFHXCYabvgdezijklmnoprstufhxcy'";
w_table1 = "юабцдегхийклмнопярстуужшЮАБЦДЕГХИЙКЛМНОПЯРСТУУЖШЭ";
 
// Two character letters
t_table2 = "YOJOZHCHSHYUJUYAJAyojozhchshyujuyajaYoYoZhChShYuJuYaJa";
w_table2 = "„„фвьччъъ™™ФВЬЧЧЪЪ„„фвьччъъ";
 
 
function translit2win(str)  
{
 var len = str.length;
 var new_str="";
 
 for (i = 0; i < len; i++)
 {
  // Check for 2-character letters
  is2char=false;
  if (i < len-1) {
   for(j = 0; j < w_table2.length; j++)
   {
    if(str.substr(i, 2) == t_table2.substr(j*2,2)) {
     new_str+= w_table2.substr(j, 1);
     i++;
     is2char=true;
     break;
    }
   }
  }
 
  if(!is2char) {
   // Convert one-character letter
   var c = str.substr(i, 1);
   var pos = t_table1.indexOf(c);
   if (pos < 0)
    new_str+= c;
   else  
    new_str+= w_table1.substr(pos, 1);
  }
 }
 
 return new_str;
}

Положите его в директорию картинок (та директория, где находятся папки emoticons, images, cb и avatars).
Это всё. Можно пользоваться.
Удачи!  
 
Добавлено
За идею (стыренную мной) спасибо kamrad.ru. :)
Кстати, первод может быть осуществлён нажатием комбинации клавиш Alt+t. ;)

Всего записей: 1943 | Зарегистр. 20-08-2001 | Отправлено: 21:01 01-04-2002 | Исправлено: Alexander Ipp, 22:48 05-04-2002
KinoFan



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexander Ipp
 
А моё сообщение нельзя никак непроигнорировать?? Помогите, плиз...

Всего записей: 471 | Зарегистр. 25-01-2002 | Отправлено: 22:01 01-04-2002
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » перевод транслита в русский


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru