Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.01.2011, 22:01
Интересующийся
Отправить личное сообщение для PashaTurok Посмотреть профиль Найти все сообщения от PashaTurok
 
Регистрация: 29.12.2010
Сообщений: 18

Мультиязычные пагины на JS как в TinyMCE
Эта тема является продолжением темы Передача данных в IFRAME (по аналогии TinyMCE) . Чтобы было видно что здесь, сделал новую тему. Кому интересно читайте.

Вопрос стоял как сделать плагины(ифреймы, попапы) мультиязычными ТОЛЬКО средствами жс. То есть без серверной стороны!

Пишу плагин:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{#advhr.advhr_desc}</title>
<script type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script type="text/javascript" src="js/rule.js"></script>
<script type="text/javascript" src="../../utils/mctabs.js"></script>
<script type="text/javascript" src="../../utils/form_utils.js"></script>
<link href="css/advhr.css" rel="stylesheet" type="text/css" />
</head>
<body style="display: none">
<form onsubmit="AdvHRDialog.update();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab',' general_panel');" onmousedown="return false;">{#advhr.advhr_desc}</a></span></li>
</ul>
</div>

<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td><label for="width">{#advhr_dlg.width}</label></td>
<td class="nowrap">
<input id="width" name="width" type="text" value="" class="mceFocus" />
<select name="width2" id="width2">
<option value="">px</option>
<option value="%">%</option>
</select>
</td>
</tr>
<tr>
<td><label for="size">{#advhr_dlg.size}</label></td>
<td><select id="size" name="size">
<option value="">Normal</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select></td>
</tr>
<tr>
<td><label for="noshade">{#advhr_dlg.noshade}</label></td>
<td><input type="checkbox" name="noshade" id="noshade" class="radio" /></td>
</tr>
</table>
</div>
</div>

<div class="mceActionPanel">
<div style="float: left">
<input type="submit" id="insert" name="insert" value="{#insert}" />
</div>

<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>

Последний раз редактировалось PashaTurok, 01.01.2011 в 22:07.
Ответить с цитированием
  #2 (permalink)  
Старый 01.01.2011, 22:03
Интересующийся
Отправить личное сообщение для PashaTurok Посмотреть профиль Найти все сообщения от PashaTurok
 
Регистрация: 29.12.2010
Сообщений: 18

В tiny_mce_popup.js к бади призяывается событие онлоад

.....
_onDOMLoaded:function()
{
var b=tinyMCEPopup,d=document.title,e,c,a;
if(b.domLoaded)
{
return
}
b.domLoaded=1;
if (b.features.translate_i18n!==false)
{
c=document.body.innerHTML;if(tinymce.isIE)
{
c=c.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')
}document.dir=b.editor.getParam("directionality"," ");
if((a=b.editor.translate(c))&&a!=c){document.body. innerHTML=a}
if((a=b.editor.translate(d))&&a!=d){document.title =d=a}
}
document.body.style.display="";
if(tinymce.isIE)
{
document.attachEvent("onmouseup",tinyMCEPopup._res toreSelection);
b.dom.add(b.dom.select("head")[0],"base",{target:"_self"})}
b.restoreSelection();b.resizeToInnerSize();
if(!b.isWindow)
{
b.editor.windowManager.setTitle(window,d)
}
else{window.focus()}
if(!tinymce.isIE&&!b.isWindow)
{
tinymce.dom.Event._add(document,"focus",function()
{
b.editor.windowManager.focus(b.id)})
}
tinymce.each(b.dom.select("select"),function(f){f. onkeydown=tinyMCEPopup._accessHandler});
tinymce.each(b.listeners,function(f){f.func.call(f .scope,b.editor)});
if(b.getWindowArg("mce_auto_focus",true))
{
window.focus();tinymce.each(document.forms,functio n(g)
{
tinymce.each(g.elements,function(f){if(b.dom.hasCl ass(f,"mceFocus")&&!f.disabled){f.focus();return false}})
})
}
document.onkeyup=tinyMCEPopup._closeWinKeyHandler
}
Ответить с цитированием
  #3 (permalink)  
Старый 01.01.2011, 22:06
Интересующийся
Отправить личное сообщение для PashaTurok Посмотреть профиль Найти все сообщения от PashaTurok
 
Регистрация: 29.12.2010
Сообщений: 18

Ну и в tiny_mce.js
...
translate : function(s) {
var c = this.settings.language || 'en', i18n = EditorManager.i18n;

if (!s)
return '';

return i18n[c + '.' + s] || s.replace(/{\#([^}]+)\}/g, function(a, b) {
return i18n[c + '.' + b] || '{#' + b + '}';
});
},
Ответить с цитированием
  #4 (permalink)  
Старый 01.01.2011, 22:08
Интересующийся
Отправить личное сообщение для PashaTurok Посмотреть профиль Найти все сообщения от PashaTurok
 
Регистрация: 29.12.2010
Сообщений: 18

Ну и последнее для этого плагина английский язык:
tinyMCE.addI18n('en.advhr_dlg',{
width:"Width",
size:"Height",
noshade:"No shadow"
});
Ответить с цитированием
  #5 (permalink)  
Старый 01.01.2011, 22:08
Интересующийся
Отправить личное сообщение для PashaTurok Посмотреть профиль Найти все сообщения от PashaTurok
 
Регистрация: 29.12.2010
Сообщений: 18

Надеюсь данная информация пригодится кому-нибудь
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите как при помощи JS hta в трею свернуть kimboo Общие вопросы Javascript 4 11.07.2008 16:00
Как защитить файл js от скачивания с сервера? slon Общие вопросы Javascript 2 02.07.2008 01:14
Обращение к элементам js, как в xsl GOll Общие вопросы Javascript 1 27.06.2008 14:47
Как передавать переданные в js файлы параметры? Mattias Общие вопросы Javascript 4 26.06.2008 16:58
Как с помощью JS "на-лету" менять часть HTML кода greendoc Общие вопросы Javascript 2 18.03.2008 20:43