Перейти к контенту

Очень прошу помочь...транслит.


Рекомендуемые сообщения

Дайте ссылку, плиз, где можно скачать стабильно рабочий мод Транслит'а. ;)

Очень, очень нужно!!Помогите, пожалуйста... :D

Заранее благодарен.

 

\\IPB 2.1.7

Ссылка на комментарий
Поделиться на других сайтах

Блин, ну причем здесь раздел «Модификации в разработке»?

 

FriZZ-man, что вы хотите видеть в моде транслита, как он работать по вашему должен?

 

поиско по слову транслит

Ссылка на комментарий
Поделиться на других сайтах

это сложный вопрос...

надо брать два имеющихся здесь мода и серьезно дорабатывать

могу свою доработку дать

Дай пожалуйста, если не сложно.Просто очень нужен рабочий мод. :D

Блин, ну причем здесь раздел «Модификации в разработке»?

 

FriZZ-man, что вы хотите видеть в моде транслита, как он работать по вашему должен?

 

поиско по слову транслит

Я искал в поиске.Ничего рабочего.

А мне нужно

"privet - привет"

Ссылка на комментарий
Поделиться на других сайтах

ок

изменяем 3 файла для работоспособности и 1*x шаблон и 1*x файл для добавления кнопки

 

файл ./jscripts/ipb_editor.js

в начале файла добавляем

//==========================================
// 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)
{
//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-'+String.fromCharCode(35)+'-y-'+String.fromCharCode(39)+'-'+String.fromCharCode(96)+'-q').split('-');
//translit

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;
}

файл ./jscripts/ipb_editor_std.js

в начале добавляем

//==========================================
// TRANSLITIRATE (Main)
//==========================================

function translit()
{

var obj_ta = document.REPLIER.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;
}

 

файл ./jscripts/ipb_editor_rte.js

в начале добавляем

//==========================================
// TRANSLITIRATE (Main)
//==========================================

function translit()
{

if ( ! isRichText )
{
	return;
}

if ( isIE )
{
	var sel = rtewindow.document.selection;
	var ts  = rtewindow.document.selection.createRange();
	ts.colapse;
	if ( (sel.type == "Text" || sel.type == "None") )
	{
		ts.text = dotranslate(ts.text);
	}
	else
	{
		rtewindow.document.body.innerHTML = dotranslate(rtewindow.document.body.innerHTML);
	}
}
else
{
	//-------------------------------
	// FRAGment, not a game of UT
	//-------------------------------

	var frag = rtewindow.document.createDocumentFragment();
	var span = rtewindow.document.createElement("span");

	//-------------------------------
	// Apply tags...
	//-------------------------------

	sel_html = _gecko_get_html();

	//-------------------------------
	// Remove empty span tags
	//-------------------------------

	if ( sel_html )
	{
		span.innerHTML = dotranslate(sel_html);
	}
	else
	{
		span.innerHTML = dotranslate(span.innerHTML);
	}

	while ( span.firstChild )
	{
		frag.appendChild(span.firstChild);
	}

	_gecko_insert_node_at_selection( frag );
}


rtewindow.focus();

return;
}

 

шаблон

skin_editors (Редактор сообщений) -- editor_std

ищем

<td><div id='do_code'><img class="rteimage" src="{ipb.vars['img_url']}/folder_rte_images/code.gif" width="21" height="21 alt="{ipb.lang['js_tt_code']}" title="{ipb.lang['js_tt_code']}" onclick="simpletag('code')"></div></td>

добавляем после

<td><div><a href="java script:translit()"><img class="rteimage" src="{ipb.vars['img_url']}/folder_rte_images/rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

 

файл ./style_images/папка_с_картинками_скина/folder_rte_files/rte_html.js

ищем

button_code		= '<td><div><img class="rteimage" src="' + g_imagesPath + 'code.gif"  width="21" height="21" alt="'+js_tt_code+'" title="'+js_tt_code+'" onclick="wrap_tags(\'[code]\',\'[ СЛИТНО!!! /code]\')"></div></td>';

добавляем после

button_translit	= '<td><div><img class="rteimage" src="' + g_imagesPath + 'rte-translit.gif" alt="Translit" title="Translit" onclick="translit()"></div></td>';

ищем

button_quote + button_code

добавляем

 + button_translit

 

сама кнопка: rtetranslitnz3.gif

ПЕРЕИМЕНОВЫВАЕМ в rte-translit.gif и кладем в папку ./style_images/папка_с_картинками_скина/folder_rte_images/

 

получилось?

у меня работает на ие7 , фф 2.0.0.3, опера 8.54

в опере пришлось принудительно поставить кодировку при просмотре страниц windows-1251 для корректной работы

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Не получилось :D

Скриншот

Появившееся слово translit вообще "мертвое", а нажатие на кнопку приводит к http://домен/forum/java%20script:translit(), и в результате Page Not Found

Ссылка на комментарий
Поделиться на других сайтах

В шаблоне java script нужно написать слитно :D

(это парсер вставляет пробел в целях безопасности)

Ссылка на комментарий
Поделиться на других сайтах

В шаблоне java script нужно написать слитно ;)

(это парсер вставляет пробел в целях безопасности)

В каком "шаблоне"? Где этот шаблон? Что надо написать слитно? :D

Ссылка на комментарий
Поделиться на других сайтах

в skin_editors (Редактор сообщений) -- editor_std

в админке

javascript

Я там не нашел раздельного написания javascript. Вот код, который надо было вставить в editor_std

 

<td><div class="rte-normal"><a href="java script:translit()"><img src="{$images_path}rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

 

Должно быть тут что-то не то...

У меня 2.1.7 Русская версия.

Ссылка на комментарий
Поделиться на других сайтах

АЙС!
<td><div class="rte-normal"><a href="javascript:translit()"><img src="{$images_path}rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

Оказывается таких кусков ДВА.

В любом случае НЕ получается. Странно, что скрипт приводит к появлению двух дополнений

1) Слово Translit между U b S

2) Кнопки транслит в самом конце.

 

Нажатие ни к чему не приводит. Я выделаю текст "proverka" жми и туда, и туда - НИЧЕГО. :D

Ссылка на комментарий
Поделиться на других сайтах

делай все по инструкции тчк

Так и сделал. Точь-в-точь по инструкции... Увы... видать руки у меня кривые.

 

делай все по инструкции тчк

Так и сделал. Точь-в-точь по инструкции... Увы... видать руки у меня кривые.

Еще раз все проверил. Делаю все по инструкции. Нема :D

Ссылка на комментарий
Поделиться на других сайтах

АЙС!
<td><div class="rte-normal"><a href="javascript:translit()"><img src="{$images_path}rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

Повторил все заново уже в 4-ый раз... Кстати, раздельное написание javascript указано в Вашем же коде:

 

<td><div><a href="java script:translit()"><img class="rteimage" src="{ipb.vars['img_url']}/folder_rte_images/rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

 

Кто знает в чем может быть причина? Помогите, плиз :D

Ссылка на комментарий
Поделиться на других сайтах

АЙС!

<td><div class="rte-normal"><a href="javascript:translit()"><img src="{$images_path}rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

Повторил все заново уже в 4-ый раз... Кстати, раздельное написание javascript указано в Вашем же коде:

 

<td><div><a href="java script:translit()"><img class="rteimage" src="{ipb.vars['img_url']}/folder_rte_images/rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

 

Кто знает в чем может быть причина? Помогите, плиз :D

Получилось, но не понятно почему появились целые ДВЕ кнопки для этого. Можно оставить только ту, что последняя скриншот ?

 

Кстати, на лисе не пашет ;)

Ссылка на комментарий
Поделиться на других сайтах

мой код работает у меня в силу особенностей моего форума

это не гарантирует правильную работу у вас

RC

Все заработало, Arhar, и на лисе тоже! ОГРОМНОЕ СПАСИБО!!! :D

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.