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

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


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

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

Очень, очень нужно!!Помогите, пожалуйста... :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

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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