Бесплатный форум: форум поддержки
Добро пожаловать на форум поддержки сервиса Forum2x2 !

Для полноценной работы с форумом,
пожалуйста, войдите на форум под своим логином (если вы уже зарегистрированы) или же зарегистрируйтесь.


С нашей помощью вы можете создать форум,
похожий на этот!
Мы в социальных сетях

Правила форума

для обязательного прочтения!


Внимание! Важная информация для РЕГИСТРАЦИИ на форуме:

Пожалуйста, не регистрируйтесь на этом форуме с электронными адресами mail.ru, bk.ru, inbox.ru, list.ru - вам может не прийти письмо со ссылкой активации!
Вы можете воспользоваться адресами типа yandex.ru, rambler.ru, gmail.com и т.д.
Интересные решения
Быстрый переход к сервисам: j-p-g.net Видео фоторедактор Транслит

Скрипт. Транслитерация.

Страница 2 из 3 Предыдущий  1, 2, 3  Следующий

Предыдущая тема Следующая тема Перейти вниз

Скрипт. Транслитерация.

Сообщение автор Irbis в Вс 10 Май - 16:42

Первое сообщение в теме :

Не буду рассказывать, что меня подтолкнуло к написанию (точнее к оптимизации под наш сервис) скрипта транслита, кому надо тот догадается wink
скрин:


Установка:
Как всегда, создаем новый виджет главной страницы или берем любой созданный до этого и втыкаем в него:

Код:
<SCRIPT language=JavaScript>
var content="<INPUT class=button onclick=translateAlltoCyrillic();upgradeclipboard(); type=button value='в кириллицу'><INPUT class=button onclick=translateAlltoLatin();upgradeclipboard(); type=button value='в латиницу'>";
var arr=document.getElementsByTagName("form");
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;
var code = event.keyCode;
txt=String.fromCharCode(code);
cursor_pos_selection = document.selection.createRange();
cursor_pos_selection.text="";
cursor_pos_selection.moveStart("character",-1);
pretxt = cursor_pos_selection.text;
if (pretxt.length>1) {pretxt="";}
event.keyCode = 0;
result = translatesymboltocyrillic(pretxt,txt);
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")
{
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")
{
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;
}
iiiii=0;
while(arr[iiiii] )
{if(arr[iiiii].id=="quick_reply")
{name=arr[iiiii].innerHTML;
name=name.substring(0);
arr[iiiii].innerHTML=name+"<div id=buttontrans>"+content+"</div>"}
iiiii++}
</script>
Скрипт конечно не маленький, но и функцию выполняет такую же. Для транслита надо выделить нужный текст в форме ответа и нажать кнопку "В латиницу" или "В кириллицу".
Тестировалось на версии PhpBB3 из под Internet Explorer'a. С другими версиями форумов по идее проблем быть не должно, а вот из под других браузеров не уверен, поэтому выкладываю не в туториалах, а здесь.


Последний раз редактировалось: Irbis (Вт 12 Май - 22:45), всего редактировалось 3 раз(а)
avatar
Irbis
 

Мужчина

Сообщения : 583
Возраст : 31
Регистрация : 2008-02-10
Благодарности : 216

Без предупреждений

http://help.forum2x2.ru/u849

Вернуться к началу Перейти вниз


Re: Скрипт. Транслитерация.

Сообщение автор tuci_iv в Ср 13 Май - 2:03

Понимаю.

Возьми код и поставь его в виджет (включи их). Но это не будет работать в браузере Firefox. В этом браузере бутонов не увидишь.
- Я СДЕЛАЛА ЕТА, КНОПКИ НЕ ВИЖУ

21

tuci_iv
 

Сообщения : 41
Регистрация : 2008-04-14

http://mama-zavinagi.com

Вернуться к началу Перейти вниз

Автор этого сообщения в настоящий момент забанен. - Посмотреть сообщение

Re: Скрипт. Транслитерация.

Сообщение автор tuci_iv в Ср 13 Май - 2:12

ВВ2 - ОК



ВВ3 21



Спасибо за все! лека нощ! sad
avatar
tuci_iv
 

Женщина

Сообщения : 41
Возраст : 37
Регистрация : 2008-04-14
Благодарности : 0

Без предупреждений

http://mama-zavinagi.com

Вернуться к началу Перейти вниз

Re: Скрипт. Транслитерация.

Сообщение автор Irbis в Ср 13 Май - 2:17

Я его под bb3 и делал не знаю почему у тебя не выходит, хочешь сейчас тестовый перекину на bb3, поставлю и все будет работать.
avatar
Irbis
 

Мужчина

Сообщения : 583
Возраст : 31
Регистрация : 2008-02-10
Благодарности : 216

Без предупреждений

http://help.forum2x2.ru/u849

Вернуться к началу Перейти вниз

Автор этого сообщения в настоящий момент забанен. - Посмотреть сообщение

Re: Скрипт. Транслитерация.

Сообщение автор Irbis в Ср 13 Май - 2:25

Сейчас
avatar
Irbis
 

Мужчина

Сообщения : 583
Возраст : 31
Регистрация : 2008-02-10
Благодарности : 216

Без предупреждений

http://help.forum2x2.ru/u849

Вернуться к началу Перейти вниз

Автор этого сообщения в настоящий момент забанен. - Посмотреть сообщение

Автор этого сообщения в настоящий момент забанен. - Посмотреть сообщение

Re: Скрипт. Транслитерация.

Сообщение автор Irbis в Ср 13 Май - 2:43

хорошо yes а сейчас спокойной ночи
avatar
Irbis
 

Мужчина

Сообщения : 583
Возраст : 31
Регистрация : 2008-02-10
Благодарности : 216

Без предупреждений

http://help.forum2x2.ru/u849

Вернуться к началу Перейти вниз

Re: Скрипт. Транслитерация.

Сообщение автор Sunnyta в Ср 13 Май - 10:03

Irbis пишет:Sunnyta, перевел тестовый на bb2, поставил все пишется unknown
Ирбис, думала со свежей головы что-то получится, НО... никак!
Скажи, что луууче-вернее: поставить в шаблон, котоорый ты указал, или в модуль на форуме (кстати там появляется пустая колонка и не оччч-то красиво выглядит)
А пока все по-прежнему: появляются кнопки в окне Быстрого ответа, но писАть в окне не получается ни в каком браузере (оно неактивное)
Как только убираю скрипт, то все становится нормально
Что я могу делать неправильно? unknown
avatar
Sunnyta
 

Сообщения : 1577
Регистрация : 2008-03-20
Благодарности : 63

Без предупреждений

http://www.sun-place.com/

Вернуться к началу Перейти вниз

Re: Скрипт. Транслитерация.

Сообщение автор Irbis в Ср 13 Май - 10:39

Sunnyta пишет:
Скажи, что луууче-вернее: поставить в шаблон, котоорый ты указал, или в модуль на форуме
Лучше в шаблон smile
А еще лучше, давай зарегистрируюсь на твоем форуме, сделаешь меня админом на 10 минут, я сам поставлю
avatar
Irbis
 

Мужчина

Сообщения : 583
Возраст : 31
Регистрация : 2008-02-10
Благодарности : 216

Без предупреждений

http://help.forum2x2.ru/u849

Вернуться к началу Перейти вниз

Re: Скрипт. Транслитерация.

Сообщение автор Sunnyta в Ср 13 Май - 10:52

ОК
avatar
Sunnyta
 

Сообщения : 1577
Регистрация : 2008-03-20
Благодарности : 63

Без предупреждений

http://www.sun-place.com/

Вернуться к началу Перейти вниз

Автор этого сообщения в настоящий момент забанен. - Посмотреть сообщение

Re: Скрипт. Транслитерация.

Сообщение автор Sunnyta в Ср 13 Май - 13:36

А у меня и в 3 колонке появились только кнопки, а в окне писать не получалось - неактивное ...
*плохой день?
avatar
Sunnyta
 

Сообщения : 1577
Регистрация : 2008-03-20
Благодарности : 63

Без предупреждений

http://www.sun-place.com/

Вернуться к началу Перейти вниз

Автор этого сообщения в настоящий момент забанен. - Посмотреть сообщение

Re: Скрипт. Транслитерация.

Сообщение автор Yerdna в Ср 13 Май - 19:21

А у меня не получается. Версия bb2 ставлю в в шаблон overall_footer в конце перед </body> и кнопок не появляется?
Сайт http://forum-yerdna.gip-gip.ru
Помогите 21
avatar
Yerdna
 

Мужчина

Сообщения : 120
Возраст : 22
Регистрация : 2009-05-10
Благодарности : 6

Без предупреждений

http://forum-yerdna.gip-gip.ru

Вернуться к началу Перейти вниз

Re: Скрипт. Транслитерация.

Сообщение автор Sunnyta в Ср 13 Май - 20:49

Иванилла, объясни, как и куда ты поставила в bb2:
- Виджет на Портал или Главную страничку?
- В шаблон?

Я все перепробовала и все доступные браузерах unknown
avatar
Sunnyta
 

Сообщения : 1577
Регистрация : 2008-03-20
Благодарности : 63

Без предупреждений

http://www.sun-place.com/

Вернуться к началу Перейти вниз

Автор этого сообщения в настоящий момент забанен. - Посмотреть сообщение

Re: Скрипт. Транслитерация.

Сообщение автор Sunnyta в Ср 13 Май - 21:36

уфффф! Получилось, наконец!!!
*чего и всем желаю
**медаль получает Irbis
avatar
Sunnyta
 

Сообщения : 1577
Регистрация : 2008-03-20
Благодарности : 63

Без предупреждений

http://www.sun-place.com/

Вернуться к началу Перейти вниз

Re: Скрипт. Транслитерация.

Сообщение автор Yerdna в Чт 14 Май - 16:25

Пасибо у меня показывает, но только в окне с ограниченными возможностями!
avatar
Yerdna
 

Мужчина

Сообщения : 120
Возраст : 22
Регистрация : 2009-05-10
Благодарности : 6

Без предупреждений

http://forum-yerdna.gip-gip.ru

Вернуться к началу Перейти вниз

Re: Скрипт. Транслитерация.

Сообщение автор Irbis в Чт 14 Май - 16:55

Andre-4667 пишет:но только в окне с ограниченными возможностями!
Так и должно быть
avatar
Irbis
 

Мужчина

Сообщения : 583
Возраст : 31
Регистрация : 2008-02-10
Благодарности : 216

Без предупреждений

http://help.forum2x2.ru/u849

Вернуться к началу Перейти вниз

Re: Скрипт. Транслитерация.

Сообщение автор Yerdna в Чт 14 Май - 18:19

Тогда просто спасибо!
avatar
Yerdna
 

Мужчина

Сообщения : 120
Возраст : 22
Регистрация : 2009-05-10
Благодарности : 6

Без предупреждений

http://forum-yerdna.gip-gip.ru

Вернуться к началу Перейти вниз

Re: Скрипт. Транслитерация.

Сообщение автор Sunnyta в Пт 15 Май - 12:50

Не знаю, как быть... в Опере никак не активное окно становиться после установки скрипта?
Хотя вчера вроде б что-то и получилось?
Какие есть мысли по поводу приспособления скрипта для данного браузера?
avatar
Sunnyta
 

Сообщения : 1577
Регистрация : 2008-03-20
Благодарности : 63

Без предупреждений

http://www.sun-place.com/

Вернуться к началу Перейти вниз

Автор этого сообщения в настоящий момент забанен. - Посмотреть сообщение

Re: Скрипт. Транслитерация.

Сообщение автор Sunnyta в Пт 15 Май - 13:25

Вот ничего не зацепила!
Может попросить Лику или Луз посмотреть? smile
avatar
Sunnyta
 

Сообщения : 1577
Регистрация : 2008-03-20
Благодарности : 63

Без предупреждений

http://www.sun-place.com/

Вернуться к началу Перейти вниз

Автор этого сообщения в настоящий момент забанен. - Посмотреть сообщение

Re: Скрипт. Транслитерация.

Сообщение автор Irbis в Пт 15 Май - 15:31

Скрипт Транслита версия 1.2 zvezda
Тестировалось на работоспособность на версиях phpBB2, phpBB3 в браузерах IE, Firefox, Opera. Ставить так же как и первый, у кого стоит первая версия, то просто заменить.

Код:
<script language=JavaScript>
var content="<INPUT class=button onclick='document.post.message.value=translate(document.post.message.value);' type='button' value='в кириллицу'>";
var arrl=document.getElementsByTagName("form");
var lat=new Array("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"); 
var cyr=new Array("ё","ж","й","ч","ш","щ","э","ю","я","а","б","в","г","д","е","з","и","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ь","ы","ъ","ж      ","х");  var latcap=new Array("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");  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;  }
 iiiii=0;
while(arrl[iiiii] ){
if(arrl[iiiii].id=="quick_reply"){
name=arrl[iiiii].innerHTML;name=name.substring(0);
arrl[iiiii].innerHTML=name+"<div id=buttontrans>"+content+"</div>"}iiiii++}
</script>
avatar
Irbis
 

Мужчина

Сообщения : 583
Возраст : 31
Регистрация : 2008-02-10
Благодарности : 216

Без предупреждений

http://help.forum2x2.ru/u849

Вернуться к началу Перейти вниз

Автор этого сообщения в настоящий момент забанен. - Посмотреть сообщение

Re: Скрипт. Транслитерация.

Сообщение автор Irbis в Пт 15 Май - 15:52

Та я подумал просто, что она не нужна pardon
avatar
Irbis
 

Мужчина

Сообщения : 583
Возраст : 31
Регистрация : 2008-02-10
Благодарности : 216

Без предупреждений

http://help.forum2x2.ru/u849

Вернуться к началу Перейти вниз

Автор этого сообщения в настоящий момент забанен. - Посмотреть сообщение

Re: Скрипт. Транслитерация.

Сообщение автор Sunnyta в Пт 15 Май - 18:08

Слава Irbisу!!!
Как здОрово быть таким умным! 31
avatar
Sunnyta
 

Сообщения : 1577
Регистрация : 2008-03-20
Благодарности : 63

Без предупреждений

http://www.sun-place.com/

Вернуться к началу Перейти вниз

Страница 2 из 3 Предыдущий  1, 2, 3  Следующий

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения