Add htmlarea http://www.htmlarea.com/ tool to appdb
This commit is contained in:
451
htmlarea/plugins/ContextMenu/context-menu.js
Normal file
451
htmlarea/plugins/ContextMenu/context-menu.js
Normal file
@@ -0,0 +1,451 @@
|
||||
// Context Menu Plugin for HTMLArea-3.0
|
||||
// Sponsored by www.americanbible.org
|
||||
// Implementation by Mihai Bazon, http://dynarch.com/mishoo/
|
||||
//
|
||||
// (c) dynarch.com 2003-2005.
|
||||
// Distributed under the same terms as HTMLArea itself.
|
||||
// This notice MUST stay intact for use (see license.txt).
|
||||
//
|
||||
// $Id$
|
||||
|
||||
HTMLArea.loadStyle("menu.css", "ContextMenu");
|
||||
|
||||
function ContextMenu(editor) {
|
||||
this.editor = editor;
|
||||
};
|
||||
|
||||
ContextMenu._pluginInfo = {
|
||||
name : "ContextMenu",
|
||||
version : "1.0",
|
||||
developer : "Mihai Bazon",
|
||||
developer_url : "http://dynarch.com/mishoo/",
|
||||
c_owner : "dynarch.com",
|
||||
sponsor : "American Bible Society",
|
||||
sponsor_url : "http://www.americanbible.org",
|
||||
license : "htmlArea"
|
||||
};
|
||||
|
||||
ContextMenu.prototype.onGenerate = function() {
|
||||
var self = this;
|
||||
var doc = this.editordoc = this.editor._iframe.contentWindow.document;
|
||||
HTMLArea._addEvents(doc, ["contextmenu"],
|
||||
function (event) {
|
||||
return self.popupMenu(HTMLArea.is_ie ? self.editor._iframe.contentWindow.event : event);
|
||||
});
|
||||
this.currentMenu = null;
|
||||
};
|
||||
|
||||
ContextMenu.prototype.getContextMenu = function(target) {
|
||||
var self = this;
|
||||
var editor = this.editor;
|
||||
var config = editor.config;
|
||||
var menu = [];
|
||||
var tbo = this.editor.plugins.TableOperations;
|
||||
if (tbo) tbo = tbo.instance;
|
||||
var i18n = ContextMenu.I18N;
|
||||
|
||||
var selection = editor.hasSelectedText();
|
||||
if (selection)
|
||||
menu.push([ i18n["Cut"], function() { editor.execCommand("cut"); }, null, config.btnList["cut"][1] ],
|
||||
[ i18n["Copy"], function() { editor.execCommand("copy"); }, null, config.btnList["copy"][1] ]);
|
||||
menu.push([ i18n["Paste"], function() { editor.execCommand("paste"); }, null, config.btnList["paste"][1] ]);
|
||||
|
||||
var currentTarget = target;
|
||||
var elmenus = [];
|
||||
var tmp;
|
||||
|
||||
var link = null;
|
||||
var table = null;
|
||||
var tr = null;
|
||||
var td = null;
|
||||
var img = null;
|
||||
|
||||
function tableOperation(opcode) {
|
||||
tbo.buttonPress(editor, opcode);
|
||||
};
|
||||
|
||||
function insertPara(currentTarget, after) {
|
||||
var el = currentTarget;
|
||||
var par = el.parentNode;
|
||||
var p = editor._doc.createElement("p");
|
||||
p.appendChild(editor._doc.createElement("br"));
|
||||
par.insertBefore(p, after ? el.nextSibling : el);
|
||||
var sel = editor._getSelection();
|
||||
var range = editor._createRange(sel);
|
||||
if (!HTMLArea.is_ie) {
|
||||
sel.removeAllRanges();
|
||||
range.selectNodeContents(p);
|
||||
range.collapse(true);
|
||||
sel.addRange(range);
|
||||
} else {
|
||||
range.moveToElementText(p);
|
||||
range.collapse(true);
|
||||
range.select();
|
||||
}
|
||||
};
|
||||
|
||||
for (; target; target = target.parentNode) {
|
||||
var tag = target.tagName;
|
||||
if (!tag)
|
||||
continue;
|
||||
tag = tag.toLowerCase();
|
||||
switch (tag) {
|
||||
case "img":
|
||||
img = target;
|
||||
elmenus.push(null,
|
||||
[ i18n["Image Properties"],
|
||||
function() {
|
||||
editor._insertImage(img);
|
||||
},
|
||||
i18n["Show the image properties dialog"],
|
||||
config.btnList["insertimage"][1] ]
|
||||
);
|
||||
break;
|
||||
case "a":
|
||||
link = target;
|
||||
elmenus.push(null,
|
||||
[ i18n["Modify Link"],
|
||||
function() { editor.execCommand("createlink", true); },
|
||||
i18n["Current URL is"] + ': ' + link.href,
|
||||
config.btnList["createlink"][1] ],
|
||||
|
||||
[ i18n["Check Link"],
|
||||
function() { window.open(link.href); },
|
||||
i18n["Opens this link in a new window"] ],
|
||||
|
||||
[ i18n["Remove Link"],
|
||||
function() {
|
||||
if (confirm(i18n["Please confirm that you want to unlink this element."] + "\n" +
|
||||
i18n["Link points to:"] + " " + link.href)) {
|
||||
while (link.firstChild)
|
||||
link.parentNode.insertBefore(link.firstChild, link);
|
||||
link.parentNode.removeChild(link);
|
||||
}
|
||||
},
|
||||
i18n["Unlink the current element"] ]
|
||||
);
|
||||
break;
|
||||
case "td":
|
||||
td = target;
|
||||
if (!tbo) break;
|
||||
elmenus.push(null,
|
||||
[ i18n["Cell Properties"],
|
||||
function() { tableOperation("TO-cell-prop"); },
|
||||
i18n["Show the Table Cell Properties dialog"],
|
||||
config.btnList["TO-cell-prop"][1] ],
|
||||
[ i18n["Delete Cell"],
|
||||
function() { tableOperation("TO-cell-delete"); }, null,
|
||||
config.btnList["TO-cell-delete"][1] ]
|
||||
);
|
||||
break;
|
||||
case "tr":
|
||||
tr = target;
|
||||
if (!tbo) break;
|
||||
elmenus.push(null,
|
||||
[ i18n["Row Properties"],
|
||||
function() { tableOperation("TO-row-prop"); },
|
||||
i18n["Show the Table Row Properties dialog"],
|
||||
config.btnList["TO-row-prop"][1] ],
|
||||
|
||||
[ i18n["Insert Row Before"],
|
||||
function() { tableOperation("TO-row-insert-above"); },
|
||||
i18n["Insert a new row before the current one"],
|
||||
config.btnList["TO-row-insert-above"][1] ],
|
||||
|
||||
[ i18n["Insert Row After"],
|
||||
function() { tableOperation("TO-row-insert-under"); },
|
||||
i18n["Insert a new row after the current one"],
|
||||
config.btnList["TO-row-insert-under"][1] ],
|
||||
|
||||
[ i18n["Delete Row"],
|
||||
function() { tableOperation("TO-row-delete"); },
|
||||
i18n["Delete the current row"],
|
||||
config.btnList["TO-row-delete"][1] ]
|
||||
);
|
||||
break;
|
||||
case "table":
|
||||
table = target;
|
||||
if (!tbo) break;
|
||||
elmenus.push(null,
|
||||
[ i18n["Table Properties"],
|
||||
function() { tableOperation("TO-table-prop"); },
|
||||
i18n["Show the Table Properties dialog"],
|
||||
config.btnList["TO-table-prop"][1] ],
|
||||
|
||||
[ i18n["Insert Column Before"],
|
||||
function() { tableOperation("TO-col-insert-before"); },
|
||||
i18n["Insert a new column before the current one"],
|
||||
config.btnList["TO-col-insert-before"][1] ],
|
||||
|
||||
[ i18n["Insert Column After"],
|
||||
function() { tableOperation("TO-col-insert-after"); },
|
||||
i18n["Insert a new column after the current one"],
|
||||
config.btnList["TO-col-insert-after"][1] ],
|
||||
|
||||
[ i18n["Delete Column"],
|
||||
function() { tableOperation("TO-col-delete"); },
|
||||
i18n["Delete the current column"],
|
||||
config.btnList["TO-col-delete"][1] ]
|
||||
);
|
||||
break;
|
||||
case "body":
|
||||
elmenus.push(null,
|
||||
[ i18n["Justify Left"],
|
||||
function() { editor.execCommand("justifyleft"); }, null,
|
||||
config.btnList["justifyleft"][1] ],
|
||||
[ i18n["Justify Center"],
|
||||
function() { editor.execCommand("justifycenter"); }, null,
|
||||
config.btnList["justifycenter"][1] ],
|
||||
[ i18n["Justify Right"],
|
||||
function() { editor.execCommand("justifyright"); }, null,
|
||||
config.btnList["justifyright"][1] ],
|
||||
[ i18n["Justify Full"],
|
||||
function() { editor.execCommand("justifyfull"); }, null,
|
||||
config.btnList["justifyfull"][1] ]
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (selection && !link)
|
||||
menu.push(null, [ i18n["Make link"],
|
||||
function() { editor.execCommand("createlink", true); },
|
||||
i18n["Create a link"],
|
||||
config.btnList["createlink"][1] ]);
|
||||
|
||||
for (var i = 0; i < elmenus.length; ++i)
|
||||
menu.push(elmenus[i]);
|
||||
|
||||
if (!/html|body/i.test(currentTarget.tagName)) {
|
||||
table ? (tmp = table, table = null) : (tmp = currentTarget);
|
||||
menu.push(null,
|
||||
[ i18n["Remove the"] + " <" + tmp.tagName + "> " + i18n["Element"],
|
||||
function() {
|
||||
if (confirm(i18n["Please confirm that you want to remove this element:"] + " " +
|
||||
tmp.tagName)) {
|
||||
var el = tmp;
|
||||
var p = el.parentNode;
|
||||
p.removeChild(el);
|
||||
if (HTMLArea.is_gecko) {
|
||||
if (p.tagName.toLowerCase() == "td" && !p.hasChildNodes())
|
||||
p.appendChild(editor._doc.createElement("br"));
|
||||
editor.forceRedraw();
|
||||
editor.focusEditor();
|
||||
editor.updateToolbar();
|
||||
if (table) {
|
||||
var save_collapse = table.style.borderCollapse;
|
||||
table.style.borderCollapse = "collapse";
|
||||
table.style.borderCollapse = "separate";
|
||||
table.style.borderCollapse = save_collapse;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
i18n["Remove this node from the document"] ],
|
||||
[ i18n["Insert paragraph before"],
|
||||
function() { insertPara(tmp, false); },
|
||||
i18n["Insert a paragraph before the current node"] ],
|
||||
[ i18n["Insert paragraph after"],
|
||||
function() { insertPara(tmp, true); },
|
||||
i18n["Insert a paragraph after the current node"] ]
|
||||
);
|
||||
}
|
||||
return menu;
|
||||
};
|
||||
|
||||
ContextMenu.prototype.popupMenu = function(ev) {
|
||||
var self = this;
|
||||
var i18n = ContextMenu.I18N;
|
||||
if (this.currentMenu)
|
||||
this.currentMenu.parentNode.removeChild(this.currentMenu);
|
||||
function getPos(el) {
|
||||
var r = { x: el.offsetLeft, y: el.offsetTop };
|
||||
if (el.offsetParent) {
|
||||
var tmp = getPos(el.offsetParent);
|
||||
r.x += tmp.x;
|
||||
r.y += tmp.y;
|
||||
}
|
||||
return r;
|
||||
};
|
||||
function documentClick(ev) {
|
||||
ev || (ev = window.event);
|
||||
if (!self.currentMenu) {
|
||||
alert(i18n["How did you get here? (Please report!)"]);
|
||||
return false;
|
||||
}
|
||||
var el = HTMLArea.is_ie ? ev.srcElement : ev.target;
|
||||
for (; el != null && el != self.currentMenu; el = el.parentNode);
|
||||
if (el == null)
|
||||
self.closeMenu();
|
||||
//HTMLArea._stopEvent(ev);
|
||||
//return false;
|
||||
};
|
||||
var keys = [];
|
||||
function keyPress(ev) {
|
||||
ev || (ev = window.event);
|
||||
HTMLArea._stopEvent(ev);
|
||||
if (ev.keyCode == 27) {
|
||||
self.closeMenu();
|
||||
return false;
|
||||
}
|
||||
var key = String.fromCharCode(HTMLArea.is_ie ? ev.keyCode : ev.charCode).toLowerCase();
|
||||
for (var i = keys.length; --i >= 0;) {
|
||||
var k = keys[i];
|
||||
if (k[0].toLowerCase() == key)
|
||||
k[1].__msh.activate();
|
||||
}
|
||||
};
|
||||
self.closeMenu = function() {
|
||||
self.currentMenu.parentNode.removeChild(self.currentMenu);
|
||||
self.currentMenu = null;
|
||||
HTMLArea._removeEvent(document, "mousedown", documentClick);
|
||||
HTMLArea._removeEvent(self.editordoc, "mousedown", documentClick);
|
||||
if (keys.length > 0)
|
||||
HTMLArea._removeEvent(self.editordoc, "keypress", keyPress);
|
||||
if (HTMLArea.is_ie)
|
||||
self.iePopup.hide();
|
||||
};
|
||||
var target = HTMLArea.is_ie ? ev.srcElement : ev.target;
|
||||
var ifpos = getPos(self.editor._iframe);
|
||||
var x = ev.clientX + ifpos.x;
|
||||
var y = ev.clientY + ifpos.y;
|
||||
|
||||
var div;
|
||||
var doc;
|
||||
if (!HTMLArea.is_ie) {
|
||||
doc = document;
|
||||
} else {
|
||||
// IE stinks
|
||||
var popup = this.iePopup = window.createPopup();
|
||||
doc = popup.document;
|
||||
doc.open();
|
||||
doc.write("<html><head><style type='text/css'>@import url(" + _editor_url + "plugins/ContextMenu/menu.css); html, body { padding: 0px; margin: 0px; overflow: hidden; border: 0px; }</style></head><body unselectable='yes'></body></html>");
|
||||
doc.close();
|
||||
}
|
||||
div = doc.createElement("div");
|
||||
if (HTMLArea.is_ie)
|
||||
div.unselectable = "on";
|
||||
div.oncontextmenu = function() { return false; };
|
||||
div.className = "htmlarea-context-menu";
|
||||
if (!HTMLArea.is_ie)
|
||||
div.style.left = div.style.top = "0px";
|
||||
doc.body.appendChild(div);
|
||||
|
||||
var table = doc.createElement("table");
|
||||
div.appendChild(table);
|
||||
table.cellSpacing = 0;
|
||||
table.cellPadding = 0;
|
||||
var parent = doc.createElement("tbody");
|
||||
table.appendChild(parent);
|
||||
|
||||
var options = this.getContextMenu(target);
|
||||
for (var i = 0; i < options.length; ++i) {
|
||||
var option = options[i];
|
||||
var item = doc.createElement("tr");
|
||||
parent.appendChild(item);
|
||||
if (HTMLArea.is_ie)
|
||||
item.unselectable = "on";
|
||||
else item.onmousedown = function(ev) {
|
||||
HTMLArea._stopEvent(ev);
|
||||
return false;
|
||||
};
|
||||
if (!option) {
|
||||
item.className = "separator";
|
||||
var td = doc.createElement("td");
|
||||
td.className = "icon";
|
||||
var IE_IS_A_FUCKING_SHIT = '>';
|
||||
if (HTMLArea.is_ie) {
|
||||
td.unselectable = "on";
|
||||
IE_IS_A_FUCKING_SHIT = " unselectable='on' style='height=1px'> ";
|
||||
}
|
||||
td.innerHTML = "<div" + IE_IS_A_FUCKING_SHIT + "</div>";
|
||||
var td1 = td.cloneNode(true);
|
||||
td1.className = "label";
|
||||
item.appendChild(td);
|
||||
item.appendChild(td1);
|
||||
} else {
|
||||
var label = option[0];
|
||||
item.className = "item";
|
||||
item.__msh = {
|
||||
item: item,
|
||||
label: label,
|
||||
action: option[1],
|
||||
tooltip: option[2] || null,
|
||||
icon: option[3] || null,
|
||||
activate: function() {
|
||||
self.closeMenu();
|
||||
self.editor.focusEditor();
|
||||
this.action();
|
||||
}
|
||||
};
|
||||
label = label.replace(/_([a-zA-Z0-9])/, "<u>$1</u>");
|
||||
if (label != option[0])
|
||||
keys.push([ RegExp.$1, item ]);
|
||||
label = label.replace(/__/, "_");
|
||||
var td1 = doc.createElement("td");
|
||||
if (HTMLArea.is_ie)
|
||||
td1.unselectable = "on";
|
||||
item.appendChild(td1);
|
||||
td1.className = "icon";
|
||||
if (item.__msh.icon)
|
||||
td1.innerHTML = "<img align='middle' src='" + item.__msh.icon + "' />";
|
||||
var td2 = doc.createElement("td");
|
||||
if (HTMLArea.is_ie)
|
||||
td2.unselectable = "on";
|
||||
item.appendChild(td2);
|
||||
td2.className = "label";
|
||||
td2.innerHTML = label;
|
||||
item.onmouseover = function() {
|
||||
this.className += " hover";
|
||||
self.editor._statusBarTree.innerHTML = this.__msh.tooltip || ' ';
|
||||
};
|
||||
item.onmouseout = function() { this.className = "item"; };
|
||||
item.oncontextmenu = function(ev) {
|
||||
this.__msh.activate();
|
||||
if (!HTMLArea.is_ie)
|
||||
HTMLArea._stopEvent(ev);
|
||||
return false;
|
||||
};
|
||||
item.onmouseup = function(ev) {
|
||||
var timeStamp = (new Date()).getTime();
|
||||
if (timeStamp - self.timeStamp > 500)
|
||||
this.__msh.activate();
|
||||
if (!HTMLArea.is_ie)
|
||||
HTMLArea._stopEvent(ev);
|
||||
return false;
|
||||
};
|
||||
//if (typeof option[2] == "string")
|
||||
//item.title = option[2];
|
||||
}
|
||||
}
|
||||
|
||||
if (!HTMLArea.is_ie) {
|
||||
var dx = x + div.offsetWidth - window.innerWidth + 4;
|
||||
var dy = y + div.offsetHeight - window.innerHeight + 4;
|
||||
if (dx > 0) x -= dx;
|
||||
if (dy > 0) y -= dy;
|
||||
div.style.left = x + "px";
|
||||
div.style.top = y + "px";
|
||||
} else {
|
||||
// determine the size (did I mention that IE stinks?)
|
||||
var foobar = document.createElement("div");
|
||||
foobar.className = "htmlarea-context-menu";
|
||||
foobar.innerHTML = div.innerHTML;
|
||||
document.body.appendChild(foobar);
|
||||
var w = foobar.offsetWidth;
|
||||
var h = foobar.offsetHeight;
|
||||
document.body.removeChild(foobar);
|
||||
this.iePopup.show(ev.screenX, ev.screenY, w, h);
|
||||
}
|
||||
|
||||
this.currentMenu = div;
|
||||
this.timeStamp = (new Date()).getTime();
|
||||
|
||||
HTMLArea._addEvent(document, "mousedown", documentClick);
|
||||
HTMLArea._addEvent(this.editordoc, "mousedown", documentClick);
|
||||
if (keys.length > 0)
|
||||
HTMLArea._addEvent(this.editordoc, "keypress", keyPress);
|
||||
|
||||
HTMLArea._stopEvent(ev);
|
||||
return false;
|
||||
};
|
||||
59
htmlarea/plugins/ContextMenu/lang/de.js
Normal file
59
htmlarea/plugins/ContextMenu/lang/de.js
Normal file
@@ -0,0 +1,59 @@
|
||||
// I18N constants
|
||||
|
||||
// LANG: "de", ENCODING: UTF-8 | ISO-8859-1
|
||||
|
||||
// translated: <]{MJ}[> i@student.ethz.ch
|
||||
|
||||
|
||||
ContextMenu.I18N = {
|
||||
// Items that appear in menu. Please note that an underscore (_)
|
||||
// character in the translation (right column) will cause the following
|
||||
// letter to become underlined and be shortcut for that menu option.
|
||||
|
||||
"Cut" : "Ausschneiden",
|
||||
"Copy" : "Kopieren",
|
||||
"Paste" : "Einfügen",
|
||||
"Image Properties" : "_Bild Einstellungen...",
|
||||
"Modify Link" : "_Link ändern...",
|
||||
"Check Link" : "Link testen...",
|
||||
"Remove Link" : "Link entfernen...",
|
||||
"Cell Properties" : "Z_ellen Einstellungen...",
|
||||
"Row Properties" : "Ze_ilen Einstellungen...",
|
||||
"Insert Row Before" : "Zeile einfügen v_or Position",
|
||||
"Insert Row After" : "Zeile einfügen n_ach Position",
|
||||
"Delete Row" : "Zeile löschen",
|
||||
"Table Properties" : "_Tabellen Einstellungen...",
|
||||
"Insert Column Before" : "Spalte einfügen vo_r Position",
|
||||
"Insert Column After" : "Spalte einfügen na_ch Position",
|
||||
"Delete Column" : "Spalte löschen",
|
||||
"Justify Left" : "Links ausrichten",
|
||||
"Justify Center" : "Zentriert",
|
||||
"Justify Right" : "Rechts ausrichten",
|
||||
"Justify Full" : "Blocksatz",
|
||||
"Make link" : "Lin_k erstellen...",
|
||||
"Remove the" : "",
|
||||
"Element" : "Element entfernen...",
|
||||
|
||||
// Other labels (tooltips and alert/confirm box messages)
|
||||
|
||||
"Please confirm that you want to remove this element:" : "Wollen sie dieses Element wirklich entfernen ?",
|
||||
"Remove this node from the document" : "Dieses Element aus dem Dokument entfernen",
|
||||
"How did you get here? (Please report!)" : "How did you get here? (Please report!)",
|
||||
"Show the image properties dialog" : "Fenster für die Bild-Einstellungen anzeigen",
|
||||
"Modify URL" : "URL ändern",
|
||||
"Current URL is" : "Aktuelle URL ist",
|
||||
"Opens this link in a new window" : "Diesen Link in neuem Fenster öffnen",
|
||||
"Please confirm that you want to unlink this element." : "Wollen sie diesen Link wirklich entfernen ?",
|
||||
"Link points to:" : "Link zeigt auf:",
|
||||
"Unlink the current element" : "Link auf Element entfernen",
|
||||
"Show the Table Cell Properties dialog" : "Zellen-Einstellungen anzeigen",
|
||||
"Show the Table Row Properties dialog" : "Zeilen-Einstellungen anzeigen",
|
||||
"Insert a new row before the current one" : "Zeile einfügen vor der aktuellen Position",
|
||||
"Insert a new row after the current one" : "Zeile einfügen nach der aktuellen Position",
|
||||
"Delete the current row" : "Zeile löschen",
|
||||
"Show the Table Properties dialog" : "Show the Table Properties dialog",
|
||||
"Insert a new column before the current one" : "Spalte einfügen vor der aktuellen Position",
|
||||
"Insert a new column after the current one" : "Spalte einfügen nach der aktuellen Position",
|
||||
"Delete the current column" : "Spalte löschen",
|
||||
"Create a link" : "Link erstellen"
|
||||
};
|
||||
57
htmlarea/plugins/ContextMenu/lang/el.js
Normal file
57
htmlarea/plugins/ContextMenu/lang/el.js
Normal file
@@ -0,0 +1,57 @@
|
||||
// I18N constants
|
||||
|
||||
// LANG: "el", ENCODING: UTF-8 | ISO-8859-7
|
||||
// Author: Dimitris Glezos, dimitris@glezos.com
|
||||
|
||||
ContextMenu.I18N = {
|
||||
// Items that appear in menu. Please note that an underscore (_)
|
||||
// character in the translation (right column) will cause the following
|
||||
// letter to become underlined and be shortcut for that menu option.
|
||||
|
||||
"Cut" : "Αποκοπή",
|
||||
"Copy" : "Αντιγραφή",
|
||||
"Paste" : "Επικόλληση",
|
||||
"Image Properties" : "Ιδιότητες Εικόνας...",
|
||||
"Modify Link" : "Τροποποίηση συνδέσμου...",
|
||||
"Check Link" : "Έλεγχος συνδέσμων...",
|
||||
"Remove Link" : "Διαγραφή συνδέσμου...",
|
||||
"Cell Properties" : "Ιδιότητες κελιού...",
|
||||
"Row Properties" : "Ιδιότητες γραμμής...",
|
||||
"Insert Row Before" : "Εισαγωγή γραμμής πριν",
|
||||
"Insert Row After" : "Εισαγωγή γραμμής μετά",
|
||||
"Delete Row" : "Διαγραφή γραμμής",
|
||||
"Table Properties" : "Ιδιότητες πίνακα...",
|
||||
"Insert Column Before" : "Εισαγωγή στήλης πριν",
|
||||
"Insert Column After" : "Εισαγωγή στήλης μετά",
|
||||
"Delete Column" : "Διαγραφή στήλης",
|
||||
"Justify Left" : "Στοίχηση Αριστερά",
|
||||
"Justify Center" : "Στοίχηση Κέντρο",
|
||||
"Justify Right" : "Στοίχηση Δεξιά",
|
||||
"Justify Full" : "Πλήρης Στοίχηση",
|
||||
"Make link" : "Δημιουργία συνδέσμου...",
|
||||
"Remove the" : "Αφαίρεση",
|
||||
"Element" : "στοιχείου...",
|
||||
|
||||
// Other labels (tooltips and alert/confirm box messages)
|
||||
|
||||
"Please confirm that you want to remove this element:" : "Είστε βέβαιος πως θέλετε να αφαιρέσετε το στοιχείο ",
|
||||
"Remove this node from the document" : "Αφαίρεση αυτού του κόμβου από το έγγραφο",
|
||||
"How did you get here? (Please report!)" : "Πώς ήρθατε μέχρι εδώ; (Παρακαλούμε αναφέρετε το!)",
|
||||
"Show the image properties dialog" : "Εμφάνιση διαλόγου με τις Ιδιότητες εικόνας",
|
||||
"Modify URL" : "Τροποποίηση URL",
|
||||
"Current URL is" : "Το τρέχων URL είναι",
|
||||
"Opens this link in a new window" : "Ανοίγει αυτό τον σύνδεσμο σε ένα νέο παράθυρο",
|
||||
"Please confirm that you want to unlink this element." : "Είστε βέβαιος πως θέλετε να αφαιρέσετε τον σύνδεσμο από αυτό το στοιχείο:",
|
||||
"Link points to:" : "Ο σύνδεμος οδηγεί εδώ:",
|
||||
"Unlink the current element" : "Αφαίρεση συνδέσμου από το παρών στοιχείο",
|
||||
"Show the Table Cell Properties dialog" : "Εμφάνιση διαλόγου με τις Ιδιότητες κελιού Πίνακα",
|
||||
"Show the Table Row Properties dialog" : "Εμφάνιση διαλόγου με τις Ιδιότητες γραμμής Πίνακα",
|
||||
"Insert a new row before the current one" : "Εισαγωγή μιας νέας γραμμής πριν την επιλεγμένη",
|
||||
"Insert a new row after the current one" : "Εισαγωγή μιας νέας γραμμής μετά την επιλεγμένη",
|
||||
"Delete the current row" : "Διαγραφή επιλεγμένης γραμμής",
|
||||
"Show the Table Properties dialog" : "Εμφάνιση διαλόγου με τις Ιδιότητες Πίνακα",
|
||||
"Insert a new column before the current one" : "Εισαγωγή νέας στήλης πριν την επιλεγμένη",
|
||||
"Insert a new column after the current one" : "Εισαγωγή νέας στήλης μετά την επιλεγμένη",
|
||||
"Delete the current column" : "Διαγραφή επιλεγμένης στήλης",
|
||||
"Create a link" : "Δημιουργία συνδέσμου"
|
||||
};
|
||||
71
htmlarea/plugins/ContextMenu/lang/en.js
Normal file
71
htmlarea/plugins/ContextMenu/lang/en.js
Normal file
@@ -0,0 +1,71 @@
|
||||
// I18N constants
|
||||
|
||||
// LANG: "en", ENCODING: UTF-8 | ISO-8859-1
|
||||
// Author: Mihai Bazon, http://dynarch.com/mishoo
|
||||
|
||||
// FOR TRANSLATORS:
|
||||
//
|
||||
// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
|
||||
// (at least a valid email address)
|
||||
//
|
||||
// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
|
||||
// (if this is not possible, please include a comment
|
||||
// that states what encoding is necessary.)
|
||||
|
||||
ContextMenu.I18N = {
|
||||
// Items that appear in menu. Please note that an underscore (_)
|
||||
// character in the translation (right column) will cause the following
|
||||
// letter to become underlined and be shortcut for that menu option.
|
||||
|
||||
"Cut" : "Cut",
|
||||
"Copy" : "Copy",
|
||||
"Paste" : "Paste",
|
||||
"Image Properties" : "_Image Properties...",
|
||||
"Modify Link" : "_Modify Link...",
|
||||
"Check Link" : "Chec_k Link...",
|
||||
"Remove Link" : "_Remove Link...",
|
||||
"Cell Properties" : "C_ell Properties...",
|
||||
"Row Properties" : "Ro_w Properties...",
|
||||
"Insert Row Before" : "I_nsert Row Before",
|
||||
"Insert Row After" : "In_sert Row After",
|
||||
"Delete Row" : "_Delete Row",
|
||||
"Delete Cell" : "Delete Cell",
|
||||
"Table Properties" : "_Table Properties...",
|
||||
"Insert Column Before" : "Insert _Column Before",
|
||||
"Insert Column After" : "Insert C_olumn After",
|
||||
"Delete Column" : "De_lete Column",
|
||||
"Justify Left" : "Justify Left",
|
||||
"Justify Center" : "Justify Center",
|
||||
"Justify Right" : "Justify Right",
|
||||
"Justify Full" : "Justify Full",
|
||||
"Make link" : "Make lin_k...",
|
||||
"Remove the" : "Remove the",
|
||||
"Element" : "Element...",
|
||||
"Insert paragraph before" : "Insert paragraph before",
|
||||
"Insert paragraph after" : "Insert paragraph after",
|
||||
|
||||
// Other labels (tooltips and alert/confirm box messages)
|
||||
|
||||
"Please confirm that you want to remove this element:" : "Please confirm that you want to remove this element:",
|
||||
"Remove this node from the document" : "Remove this node from the document",
|
||||
"How did you get here? (Please report!)" : "How did you get here? (Please report!)",
|
||||
"Show the image properties dialog" : "Show the image properties dialog",
|
||||
"Modify URL" : "Modify URL",
|
||||
"Current URL is" : "Current URL is",
|
||||
"Opens this link in a new window" : "Opens this link in a new window",
|
||||
"Please confirm that you want to unlink this element." : "Please confirm that you want to unlink this element.",
|
||||
"Link points to:" : "Link points to:",
|
||||
"Unlink the current element" : "Unlink the current element",
|
||||
"Show the Table Cell Properties dialog" : "Show the Table Cell Properties dialog",
|
||||
"Show the Table Row Properties dialog" : "Show the Table Row Properties dialog",
|
||||
"Insert a new row before the current one" : "Insert a new row before the current one",
|
||||
"Insert a new row after the current one" : "Insert a new row after the current one",
|
||||
"Delete the current row" : "Delete the current row",
|
||||
"Show the Table Properties dialog" : "Show the Table Properties dialog",
|
||||
"Insert a new column before the current one" : "Insert a new column before the current one",
|
||||
"Insert a new column after the current one" : "Insert a new column after the current one",
|
||||
"Delete the current column" : "Delete the current column",
|
||||
"Create a link" : "Create a link",
|
||||
"Insert a paragraph before the current node" : "Insert a paragraph before the current node",
|
||||
"Insert a paragraph after the current node" : "Insert a paragraph after the current node"
|
||||
};
|
||||
66
htmlarea/plugins/ContextMenu/lang/fr.js
Normal file
66
htmlarea/plugins/ContextMenu/lang/fr.js
Normal file
@@ -0,0 +1,66 @@
|
||||
// I18N constants
|
||||
|
||||
// LANG: "fr", ENCODING: UTF-8 | ISO-8859-1
|
||||
// Author: Cédric Guillemette, http://www.ebdata.com
|
||||
|
||||
// FOR TRANSLATORS:
|
||||
//
|
||||
// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
|
||||
// (at least a valid email address)
|
||||
//
|
||||
// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
|
||||
// (if this is not possible, please include a comment
|
||||
// that states what encoding is necessary.)
|
||||
|
||||
ContextMenu.I18N = {
|
||||
// Items that appear in menu. Please note that an underscore (_)
|
||||
// character in the translation (right column) will cause the following
|
||||
// letter to become underlined and be shortcut for that menu option.
|
||||
|
||||
"Cut" : "Couper",
|
||||
"Copy" : "Copier",
|
||||
"Paste" : "Coller",
|
||||
"Image Properties" : "_Propriétés de l'image...",
|
||||
"Modify Link" : "_Modifier le lien...",
|
||||
"Check Link" : "_Vérifier le lien...",
|
||||
"Remove Link" : "_Supprimer le lien...",
|
||||
"Cell Properties" : "P_ropriétés de la cellule...",
|
||||
"Row Properties" : "Pr_opriétés de la rangée...",
|
||||
"Insert Row Before" : "Insérer une rangée a_vant",
|
||||
"Insert Row After" : "Insér_er une rangée après",
|
||||
"Delete Row" : "Suppr_imer une rangée",
|
||||
"Table Properties" : "Proprié_tés de la table...",
|
||||
"Insert Column Before" : "I_nsérer une colonne avant",
|
||||
"Insert Column After" : "Insérer une colonne _après",
|
||||
"Delete Column" : "_Supprimer la colonne",
|
||||
"Justify Left" : "Justifier _gauche",
|
||||
"Justify Center" : "Justifier _centre",
|
||||
"Justify Right" : "Justifier _droit",
|
||||
"Justify Full" : "Justifier p_lein",
|
||||
"Make link" : "Convertir en lien...",
|
||||
"Remove the" : "Supprimer",
|
||||
"Element" : "Élément...",
|
||||
|
||||
// Other labels (tooltips and alert/confirm box messages)
|
||||
|
||||
"Please confirm that you want to remove this element:" : "Confirmer la suppression de cet élément:",
|
||||
"Remove this node from the document" : "Supprimer ce noeud du document",
|
||||
"How did you get here? (Please report!)" : "Comment êtes-vous arrivé ici? (Please report!)",
|
||||
"Show the image properties dialog" : "Afficher le dialogue des propriétés d'image",
|
||||
"Modify URL" : "Modifier le URL",
|
||||
"Current URL is" : "Le URL courant est",
|
||||
"Opens this link in a new window" : "Ouvrir ce lien dans une nouvelle fenêtre",
|
||||
"Please confirm that you want to unlink this element." : "Voulez-vous vraiment enlever le lien présent sur cet élément.",
|
||||
"Link points to:" : "Lier les points jusqu'à:",
|
||||
"Unlink the current element" : "Enlever le lien sur cet élément",
|
||||
"Show the Table Cell Properties dialog" : "Afficher le dialogue des propriétés des cellules",
|
||||
"Show the Table Row Properties dialog" : "Afficher le dialogue des propriétés des rangées",
|
||||
"Insert a new row before the current one" : "Insérer une nouvelle rangée avant celle-ci",
|
||||
"Insert a new row after the current one" : "Insérer une nouvelle rangée après celle-ci",
|
||||
"Delete the current row" : "Supprimer la rangée courante",
|
||||
"Show the Table Properties dialog" : "Afficher le dialogue des propriétés de table",
|
||||
"Insert a new column before the current one" : "Insérer une nouvelle rangée avant celle-ci",
|
||||
"Insert a new column after the current one" : "Insérer une nouvelle colonne après celle-ci",
|
||||
"Delete the current column" : "Supprimer cette colonne",
|
||||
"Create a link" : "Créer un lien"
|
||||
};
|
||||
66
htmlarea/plugins/ContextMenu/lang/he.js
Normal file
66
htmlarea/plugins/ContextMenu/lang/he.js
Normal file
@@ -0,0 +1,66 @@
|
||||
// I18N constants
|
||||
|
||||
|
||||
|
||||
// LANG: "he", ENCODING: UTF-8
|
||||
|
||||
// Author: Liron Newman, http://www.eesh.net, <plastish at ultinet dot org>
|
||||
|
||||
|
||||
|
||||
// FOR TRANSLATORS:
|
||||
|
||||
//
|
||||
|
||||
// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
|
||||
|
||||
// (at least a valid email address)
|
||||
|
||||
//
|
||||
|
||||
// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
|
||||
|
||||
// (if this is not possible, please include a comment
|
||||
|
||||
// that states what encoding is necessary.)
|
||||
|
||||
|
||||
|
||||
ContextMenu.I18N = {
|
||||
|
||||
// Items that appear in menu. Please note that an underscore (_)
|
||||
|
||||
// character in the translation (right column) will cause the following
|
||||
|
||||
// letter to become underlined and be shortcut for that menu option.
|
||||
|
||||
|
||||
|
||||
"Cut" : "גזור",
|
||||
|
||||
"Copy" : "העתק",
|
||||
|
||||
"Paste" : "הדבק",
|
||||
|
||||
"Image Properties" : "_מאפייני תמונה...",
|
||||
|
||||
"Modify Link" : "_שנה קישור...",
|
||||
|
||||
"Check Link" : "בדו_ק קישור...",
|
||||
|
||||
"Remove Link" : "_הסר קישור...",
|
||||
|
||||
"Cell Properties" : "מאפייני ת_א...",
|
||||
|
||||
"Row Properties" : "מאפייני _טור...",
|
||||
|
||||
"Insert Row Before" : "ה_כנס שורה לפני",
|
||||
|
||||
"Insert Row After" : "הכנ_ס שורה אחרי",
|
||||
|
||||
"Delete Row" : "_מחק שורה",
|
||||
|
||||
"Table Properties" : "מאפייני ט_בלה...",
|
||||
|
||||
"Insert Column Before" : "הכנס _טור לפני",
|
||||
|
||||
66
htmlarea/plugins/ContextMenu/lang/nl.js
Normal file
66
htmlarea/plugins/ContextMenu/lang/nl.js
Normal file
@@ -0,0 +1,66 @@
|
||||
// I18N constants
|
||||
|
||||
|
||||
|
||||
// LANG: "nl", ENCODING: UTF-8 | ISO-8859-1
|
||||
|
||||
// Author: Michel Weegeerink (info@mmc-shop.nl), http://mmc-shop.nl
|
||||
|
||||
|
||||
|
||||
// FOR TRANSLATORS:
|
||||
|
||||
//
|
||||
|
||||
// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
|
||||
|
||||
// (at least a valid email address)
|
||||
|
||||
//
|
||||
|
||||
// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
|
||||
|
||||
// (if this is not possible, please include a comment
|
||||
|
||||
// that states what encoding is necessary.)
|
||||
|
||||
|
||||
|
||||
ContextMenu.I18N = {
|
||||
|
||||
// Items that appear in menu. Please note that an underscore (_)
|
||||
|
||||
// character in the translation (right column) will cause the following
|
||||
|
||||
// letter to become underlined and be shortcut for that menu option.
|
||||
|
||||
|
||||
|
||||
"Cut" : "Knippen",
|
||||
|
||||
"Copy" : "Kopi<70>ren",
|
||||
|
||||
"Paste" : "Plakken",
|
||||
|
||||
"Image Properties" : "Eigenschappen afbeelding...",
|
||||
|
||||
"Modify Link" : "Hyperlin_k aanpassen...",
|
||||
|
||||
"Check Link" : "Controleer hyperlin_k...",
|
||||
|
||||
"Remove Link" : "Ve_rwijder hyperlink...",
|
||||
|
||||
"Cell Properties" : "C_eleigenschappen...",
|
||||
|
||||
"Row Properties" : "Rijeigenscha_ppen...",
|
||||
|
||||
"Insert Row Before" : "Rij invoegen boven",
|
||||
|
||||
"Insert Row After" : "Rij invoegen onder",
|
||||
|
||||
"Delete Row" : "Rij _verwijderen",
|
||||
|
||||
"Table Properties" : "_Tabeleigenschappen...",
|
||||
|
||||
"Insert Column Before" : "Kolom invoegen voor",
|
||||
|
||||
65
htmlarea/plugins/ContextMenu/menu.css
Normal file
65
htmlarea/plugins/ContextMenu/menu.css
Normal file
@@ -0,0 +1,65 @@
|
||||
/* styles for the ContextMenu /HTMLArea */
|
||||
/* The ContextMenu plugin is (c) dynarch.com 2003. */
|
||||
/* Distributed under the same terms as HTMLArea itself */
|
||||
|
||||
div.htmlarea-context-menu {
|
||||
position: absolute;
|
||||
border: 1px solid #aca899;
|
||||
padding: 2px;
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
cursor: default;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
div.htmlarea-context-menu table {
|
||||
font: 11px tahoma,verdana,sans-serif;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
div.htmlarea-context-menu tr.item td.icon img {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
div.htmlarea-context-menu tr.item td.icon {
|
||||
padding: 0px 3px;
|
||||
height: 18px;
|
||||
background-color: #cdf;
|
||||
}
|
||||
|
||||
div.htmlarea-context-menu tr.item td.label {
|
||||
padding: 1px 10px 1px 3px;
|
||||
}
|
||||
|
||||
div.htmlarea-context-menu tr.separator td {
|
||||
padding: 2px 0px;
|
||||
}
|
||||
|
||||
div.htmlarea-context-menu tr.separator td div {
|
||||
border-top: 1px solid #aca899;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
div.htmlarea-context-menu tr.separator td.icon {
|
||||
background-color: #cdf;
|
||||
}
|
||||
|
||||
div.htmlarea-context-menu tr.separator td.icon div {
|
||||
/* margin-left: 3px; */
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
div.htmlarea-context-menu tr.separator td.label div {
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
div.htmlarea-context-menu tr.item.hover {
|
||||
background-color: #316ac5;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
div.htmlarea-context-menu tr.item.hover td.icon {
|
||||
background-color: #619af5;
|
||||
}
|
||||
Reference in New Issue
Block a user