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

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


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

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

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


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

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

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

Страница 1 из 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: Скрипт. Транслитерация.

Сообщение автор Sunnyta в Вс 10 Май - 19:24

Irbis пишет: кому надо тот догадается wink
В bb2 пока ничего не получается ... смотрела во всех браузерах. Кнопок "в латиницу" и " в кириллицу" не появилось и вообще никак?
А нам надо!!! wink
avatar
Sunnyta
 

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

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

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

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

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

Сообщение автор Sunnyta в Пн 11 Май - 11:04

Подскажите, как подправить, чтоб в bb2 нАчало радовать транслитом?
35
avatar
Sunnyta
 

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

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

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

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

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

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

Сообщение автор Иосиф Виссарионович в Пн 11 Май - 12:17

А куда ещё этот скрипт засунуть... Только в виджет и то при условии что он будет на всех страницах форума (кроме портала, думаю) pardon

Иосиф Виссарионович
 

Мужчина

Сообщения : 331
Регистрация : 2009-05-08
Благодарности : 78

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

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

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

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

Сообщение автор Иосиф Виссарионович в Пн 11 Май - 12:26

хм... веб-страница она вся взаимосвязана, то что её часть обозвали виджетом, сути не меняет... smile жди Ирбиса) скоро придёт)

Иосиф Виссарионович
 

Мужчина

Сообщения : 331
Регистрация : 2009-05-08
Благодарности : 78

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

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

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

Сообщение автор Sunnyta в Пн 11 Май - 23:26

Кстати, у него на тесте все отлично работает в ИЭ и Опере (ФФ - нет), самолично "транскриптила" туда и обратно! good
Ждем-с...
avatar
Sunnyta
 

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

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

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

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

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

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

Сообщение автор Sunnyta в Пн 11 Май - 23:43

VanillaSky пишет:Ааа, может потому, что я через лису смотрела...
Отпишись, если удачно будет...
41 А у меня не получается может из-за bb2?
avatar
Sunnyta
 

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

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

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

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

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

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

Сообщение автор Irbis в Вт 12 Май - 22:46

Сорри, что долго не было, защита диплома на носу, училсо немножко))

Всё-таки я не понимаю, зачем ставить в виджет?
Потому что больше некуда pardon Верно связи между виджетом и формой никакого, скрипт ищет на странице форму с именем post и под нее ставит кнопки.

И ещё, эти кнопки стоят немного не в том месте, где показано на скрине.
положение кнопок можно в CSS регулировать
Код:
#buttontrans{...}

41 А у меня не получается может из-за bb2?
Второй движок вообще под все скрипты отдельная история. Сейчас гляну, если там код виджета после формы ответа идет то приспособим, если до нее, то про bb2 придется забыть.
avatar
Irbis
 

Мужчина

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

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

http://help.forum2x2.ru/u849

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

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

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

Сообщение автор Irbis в Вт 12 Май - 23:47

В лисе не работает ни на одной версии к сожалению.
Sunnyta, в бб2 работает, ничего менять не надо.

3. А если виджеты не активированы на форуме?
Если bb2, то можно поставить в шаблон overall_footer в конце перед </body>, проверял работает. На других версиях придется забыть.
avatar
Irbis
 

Мужчина

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

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

http://help.forum2x2.ru/u849

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

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

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

УУУРРРЯЯЯ!!!! 22
Но я пока в окне Быстрого ответа ничего написать не смогла


Последний раз редактировалось: Sunnyta (Ср 13 Май - 0:17), всего редактировалось 1 раз(а)
avatar
Sunnyta
 

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

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

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

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

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

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

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

VanillaSky пишет:Шо ж уря, если лиса отдыхает? biggrin
Да и вообще пока никакого "Уррря" - писАть в окне не получается никаких букаффф!!!
Ирбис, вернись! mad
avatar
Sunnyta
 

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

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

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

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

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

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

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

Sunnyta, перевел тестовый на bb2, поставил все пишется unknown
avatar
Irbis
 

Мужчина

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

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

http://help.forum2x2.ru/u849

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

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

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

type=button value='в кириллицу'><INPUT class=button onclick=translateAlltoLatin();upgradeclipboard(); type=button value='в латиницу'>";

Тут, текст ли стоит или адрес бутон - в кирилицу(в латиницу)?
И в каком виждетам я сложила вашия код и нигде не видела ети бутони. pardon
Версия вв3 и виждета не включена, как я поступит. scratch

П.П За проба, виждета бьла вкл.
avatar
tuci_iv
 

Женщина

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

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

http://mama-zavinagi.com

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

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

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

Спойлер:
А перевод будет?
avatar
Irbis
 

Мужчина

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

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

http://help.forum2x2.ru/u849

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

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

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

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

VanillaSky, спасибо.

tuci_iv
Тут текст или адрес кнопки из кириллицы в латиницу?
В скрипте ничего менять и подписывать не надо.
В какой виджет бы не ставила коды, нигде не вижу этих кнопок.
1. Ставить нужно в виджет НЕ на портале, а на форуме.
2. Какой у вас браузер? Если Mozilla Firefox, то работать не будет.
У меня 3 версия и виджеты не включены, как быть?
Либо включать виджеты, либо отказаться от скрипта.
avatar
Irbis
 

Мужчина

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

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

http://help.forum2x2.ru/u849

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

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

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

В скрипте ничего менять и подписывать не надо.
ОК


1. Ставить нужно в виджет НЕ на портале, а на форуме.
2. Какой у вас браузер? Если Mozilla Firefox, то работать не будет.

1. когда пробовала, то виджеты были включены на форуме- нигде не вижу этих кнопок.
2. IE


Дай мне адрес теста я посмотрю.
avatar
tuci_iv
 

Женщина

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

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

http://mama-zavinagi.com

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

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

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

кинул в личку
avatar
Irbis
 

Мужчина

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

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

http://help.forum2x2.ru/u849

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

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

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

Тут

версия 3, а на тестовике - ВВ2 nea
avatar
tuci_iv
 

Женщина

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

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

http://mama-zavinagi.com

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

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

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

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

Я хачу заработает във версия ВВ3 smile
avatar
tuci_iv
 

Женщина

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

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

http://mama-zavinagi.com

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

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

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

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

Понимаю.

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

21
avatar
tuci_iv
 

Женщина

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

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

http://mama-zavinagi.com

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

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

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


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