Import xinha so we can switch from htmlarea and fix a bunch of in-browser issues that htmlarea has

This commit is contained in:
Chris Morgan
2005-09-30 02:25:07 +00:00
committed by WineHQ
parent 2311d4d572
commit 9242a68c4a
375 changed files with 26623 additions and 0 deletions

38
xinha/plugins/ContextMenu/1.pl Executable file
View File

@@ -0,0 +1,38 @@
#! /usr/bin/perl -w
use strict;
my $file = 'context-menu.js';
my $outfile = $file.'-i18n';
my $langfile = 'en.js';
open FILE, "<$file";
#open OUTFILE, ">$outfile";
#open LANGFILE, ">$langfile";
my %texts = ();
while (<FILE>) {
if (/"(.*?)"/) {
my $inline = $_;
chomp $inline;
my $key = $1;
my $val = $1;
print "Key: [$key]: ";
my $line = <STDIN>;
if (defined $line) {
chomp $line;
if ($line =~ /(\S+)/) {
$key = $1;
print "-- using $key\n";
}
$texts{$val} = $key;
} else {
print " -- skipped...\n";
}
}
}
#close LANGFILE;
#close OUTFILE;
close FILE;
print "\n\n\n";
print '"', join("\"\n\"", sort keys %texts), '"', "\n";

View File

@@ -0,0 +1,448 @@
// Context Menu Plugin for HTMLArea-3.0
// Sponsored by www.americanbible.org
// Implementation by Mihai Bazon, http://dynarch.com/mishoo/
//
// (c) dynarch.com 2003.
// 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 selection = editor.hasSelectedText();
if (selection)
menu.push([ HTMLArea._lc("Cut", "ContextMenu"), function() { editor.execCommand("cut"); }, null, config.btnList["cut"][1] ],
[ HTMLArea._lc("Copy", "ContextMenu"), function() { editor.execCommand("copy"); }, null, config.btnList["copy"][1] ]);
menu.push([ HTMLArea._lc("Paste", "ContextMenu"), function() { editor.execCommand("paste"); }, null, config.btnList["paste"][1] ]);
var currentTarget = target;
var elmenus = [];
var link = null;
var table = null;
var tr = null;
var td = null;
var img = null;
function tableOperation(opcode) {
tbo.buttonPress(editor, opcode);
};
function insertPara(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,
[ HTMLArea._lc("_Image Properties...", "ContextMenu"),
function() {
editor._insertImage(img);
},
HTMLArea._lc("Show the image properties dialog", "ContextMenu"),
config.btnList["insertimage"][1] ]
);
break;
case "a":
link = target;
elmenus.push(null,
[ HTMLArea._lc("_Modify Link...", "ContextMenu"),
function() { editor.config.btnList['createlink'][3](editor); },
HTMLArea._lc("Current URL is", "ContextMenu") + ': ' + link.href,
config.btnList["createlink"][1] ],
[ HTMLArea._lc("Chec_k Link...", "ContextMenu"),
function() { window.open(link.href); },
HTMLArea._lc("Opens this link in a new window", "ContextMenu") ],
[ HTMLArea._lc("_Remove Link...", "ContextMenu"),
function() {
if (confirm(HTMLArea._lc("Please confirm that you want to unlink this element.", "ContextMenu") + "\n" +
HTMLArea._lc("Link points to:", "ContextMenu") + " " + link.href)) {
while (link.firstChild)
link.parentNode.insertBefore(link.firstChild, link);
link.parentNode.removeChild(link);
}
},
HTMLArea._lc("Unlink the current element", "ContextMenu") ]
);
break;
case "td":
td = target;
if (!tbo) break;
elmenus.push(null,
[ HTMLArea._lc("C_ell Properties...", "ContextMenu"),
function() { tableOperation("TO-cell-prop"); },
HTMLArea._lc("Show the Table Cell Properties dialog", "ContextMenu"),
config.btnList["TO-cell-prop"][1] ]
);
break;
case "tr":
tr = target;
if (!tbo) break;
elmenus.push(null,
[ HTMLArea._lc("Ro_w Properties...", "ContextMenu"),
function() { tableOperation("TO-row-prop"); },
HTMLArea._lc("Show the Table Row Properties dialog", "ContextMenu"),
config.btnList["TO-row-prop"][1] ],
[ HTMLArea._lc("I_nsert Row Before", "ContextMenu"),
function() { tableOperation("TO-row-insert-above"); },
HTMLArea._lc("Insert a new row before the current one", "ContextMenu"),
config.btnList["TO-row-insert-above"][1] ],
[ HTMLArea._lc("In_sert Row After", "ContextMenu"),
function() { tableOperation("TO-row-insert-under"); },
HTMLArea._lc("Insert a new row after the current one", "ContextMenu"),
config.btnList["TO-row-insert-under"][1] ],
[ HTMLArea._lc("_Delete Row", "ContextMenu"),
function() { tableOperation("TO-row-delete"); },
HTMLArea._lc("Delete the current row", "ContextMenu"),
config.btnList["TO-row-delete"][1] ]
);
break;
case "table":
table = target;
if (!tbo) break;
elmenus.push(null,
[ HTMLArea._lc("_Table Properties...", "ContextMenu"),
function() { tableOperation("TO-table-prop"); },
HTMLArea._lc("Show the Table Properties dialog", "ContextMenu"),
config.btnList["TO-table-prop"][1] ],
[ HTMLArea._lc("Insert _Column Before", "ContextMenu"),
function() { tableOperation("TO-col-insert-before"); },
HTMLArea._lc("Insert a new column before the current one", "ContextMenu"),
config.btnList["TO-col-insert-before"][1] ],
[ HTMLArea._lc("Insert C_olumn After", "ContextMenu"),
function() { tableOperation("TO-col-insert-after"); },
HTMLArea._lc("Insert a new column after the current one", "ContextMenu"),
config.btnList["TO-col-insert-after"][1] ],
[ HTMLArea._lc("De_lete Column", "ContextMenu"),
function() { tableOperation("TO-col-delete"); },
HTMLArea._lc("Delete the current column", "ContextMenu"),
config.btnList["TO-col-delete"][1] ]
);
break;
case "body":
elmenus.push(null,
[ HTMLArea._lc("Justify Left", "ContextMenu"),
function() { editor.execCommand("justifyleft"); }, null,
config.btnList["justifyleft"][1] ],
[ HTMLArea._lc("Justify Center", "ContextMenu"),
function() { editor.execCommand("justifycenter"); }, null,
config.btnList["justifycenter"][1] ],
[ HTMLArea._lc("Justify Right", "ContextMenu"),
function() { editor.execCommand("justifyright"); }, null,
config.btnList["justifyright"][1] ],
[ HTMLArea._lc("Justify Full", "ContextMenu"),
function() { editor.execCommand("justifyfull"); }, null,
config.btnList["justifyfull"][1] ]
);
break;
}
}
if (selection && !link)
menu.push(null, [ HTMLArea._lc("Make lin_k...", "ContextMenu"),
function() { editor.config.btnList['createlink'][3](editor); },
HTMLArea._lc("Create a link", "ContextMenu"),
config.btnList["createlink"][1] ]);
for (var i = 0; i < elmenus.length; ++i)
menu.push(elmenus[i]);
if (!/html|body/i.test(currentTarget.tagName))
menu.push(null,
[ HTMLArea._lc({string: "Remove the $elem Element...", replace: {elem: "&lt;" + currentTarget.tagName + "&gt;"}}, "ContextMenu"),
function() {
if (confirm(HTMLArea._lc("Please confirm that you want to remove this element:", "ContextMenu") + " " +
currentTarget.tagName)) {
var el = currentTarget;
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;
}
}
}
},
HTMLArea._lc("Remove this node from the document", "ContextMenu") ],
[ HTMLArea._lc("Insert paragraph before", "ContextMenu"),
function() { insertPara(false); },
HTMLArea._lc("Insert a paragraph before the current node", "ContextMenu") ],
[ HTMLArea._lc("Insert paragraph after", "ContextMenu"),
function() { insertPara(true); },
HTMLArea._lc("Insert a paragraph after the current node", "ContextMenu") ]
);
return menu;
};
ContextMenu.prototype.popupMenu = function(ev) {
var self = this;
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(HTMLArea._lc("How did you get here? (Please report!)", "ContextMenu"));
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._htmlArea);//_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'>&nbsp;";
}
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)
{
var t = HTMLArea.makeBtnImg(item.__msh.icon, doc);
td1.appendChild(t);
// 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 || '&nbsp;';
};
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) {
/* FIXME: I think this is to stop the popup from running off the bottom of the screen?
var dx = x + div.offsetWidth - window.innerWidth + 4;
var dy = y + div.offsetHeight - window.innerHeight + 4;
// alert('dy= (' + y + '+' + div.offsetHeight + '-' + window.innerHeight + ' + 4 ) = ' + dy);
if (dx > 0) x -= dx;
if (dy > 0) y -= dy;
*/
div.style.left = x + "px";
div.style.top = y + "px";
} else {
// To get the size we need to display the popup with some width/height
// then we can get the actual size of the div and redisplay the popup at the
// correct dimensions.
this.iePopup.show(ev.screenX, ev.screenY, 300,50);
var w = div.offsetWidth;
var h = div.offsetHeight;
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;
};

View File

@@ -0,0 +1,54 @@
// I18N constants
// LANG: "de", ENCODING: UTF-8
// translated: Raimund Meyer xinha@ray-of-light.org
{
"Cut": "Ausschneiden",
"Copy": "Kopieren",
"Paste": "Einfügen",
"_Image Properties...": "Eigenschaften",
"Show the image properties dialog": "Fenster für die Bildoptionen anzeigen",
"_Modify Link...": "Link ändern",
"Current URL is": "Aktuelle URL ist",
"Chec_k Link...": "Link testen",
"Opens this link in a new window": "Diesen Link in neuem Fenster öffnen",
"_Remove Link...": "Link entfernen",
"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",
"C_ell Properties...": "Zellenoptionen",
"Show the Table Cell Properties dialog": "Zellenoptionen anzeigen",
"Ro_w Properties...": "Zeilenoptionen",
"Show the Table Row Properties dialog": "Zeilenoptionen anzeigen",
"I_nsert Row Before": "Zeile einfügen vor Position",
"Insert a new row before the current one": "Zeile einfügen vor der aktuellen Position",
"In_sert Row After": "Zeile einügen nach Position",
"Insert a new row after the current one": "Zeile einfügen nach der aktuellen Position",
"_Delete Row": "Zeile löschen",
"Delete the current row": "Zeile löschen",
"_Table Properties...": "Tabellenoptionen",
"Show the Table Properties dialog": "Tabellenoptionen anzeigen",
"Insert _Column Before": "Spalte einfügen vor Position",
"Insert a new column before the current one": "Spalte einfügen vor der aktuellen Position",
"Insert C_olumn After": "Spalte einfügen nach Position",
"Insert a new column after the current one": "Spalte einfügen nach der aktuellen Position",
"De_lete Column": "Spalte löschen",
"Delete the current column": "Spalte löschen",
"Justify Left": "Linksbündig",
"Justify Center": "Zentriert",
"Justify Right": "Rechtsbündig",
"Justify Full": "Blocksatz",
"Make lin_k...": "Link erstellen",
"Create a link": "Link erstellen",
"Remove the $elem Element...": "Element $elem entfernen...",
"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",
"Insert paragraph before": "Absatz einfügen vor Position",
"Insert a paragraph before the current node": "Absatz einfügen vor der aktuellen Position",
"Insert paragraph after": "Absatz einfügen hinter Position",
"Insert a paragraph after the current node": "Absatz einfügen hinter der aktuellen Position",
"How did you get here? (Please report!)": "Wie sind Sie denn hier hin gekommen? (Please report!)"
}

View File

@@ -0,0 +1,49 @@
// I18N constants
// LANG: "el", ENCODING: UTF-8
// Author: Dimitris Glezos, dimitris@glezos.com
{
"Cut": ‘ποκοπΞ<C280>",
"Copy": ‘ντιγραφΞ<C286>",
"Paste": "Ξ•Ο€ΞΉΞΊΟŒΞ»Ξ»Ξ·ΟƒΞ·",
"_Image Properties...": "Ξ™Ξ΄ΞΉΟŒΟ„Ξ·Ο„Ξ΅Ο‚ Ξ•ΞΉΞΊΟŒΞ½Ξ±Ο‚...",
"_Modify Link...": <>ροποποίηση συνδέσμου...",
"Chec_k Link...": "ΞˆΞ»Ξ΅Ξ³Ο‡ΞΏΟ‚ συνδέσμων...",
"_Remove Link...": ”ιαγραφΞ<C286> συνδέσμου...",
"C_ell Properties...": "Ξ™Ξ΄ΞΉΟŒΟ„Ξ·Ο„Ξ΅Ο‚ κΡλιού...",
"Ro_w Properties...": "Ξ™Ξ΄ΞΉΟŒΟ„Ξ·Ο„Ξ΅Ο‚ γραμμΞ<CE8C>Ο‚...",
"I_nsert Row Before": •ισαγωγΞ<C2B3> γραμμΞ<CE8C>Ο‚ πριν",
"In_sert Row After": •ισαγωγΞ<C2B3> γραμμΞ<CE8C>Ο‚ μΡτά",
"_Delete Row": ”ιαγραφΞ<C286> γραμμΞ<CE8C>Ο‚",
"_Table Properties...": "Ξ™Ξ΄ΞΉΟŒΟ„Ξ·Ο„Ξ΅Ο‚ πίνακα...",
"Insert _Column Before": •ισαγωγΞ<C2B3> στΞ<C284>λης πριν",
"Insert C_olumn After": •ισαγωγΞ<C2B3> στΞ<C284>λης μΡτά",
"De_lete Column": ”ιαγραφΞ<C286> στΞ<C284>λης",
"Justify Left": "Στοίχηση ΑριστΡρά",
"Justify Center": "Στοίχηση ΞšΞ­Ξ½Ο„ΟΞΏ",
"Justify Right": "Στοίχηση ΔΡξιά",
"Justify Full":  Ξ»Ξ<C2BB>ρης Στοίχηση",
"Make lin_k...": "Δημιουργία συνδέσμου...",
"Remove the $elem Element...": "ΑφαίρΡση $elem στοιχΡίου...",
"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": "Εμφάνιση Ξ΄ΞΉΞ±Ξ»ΟŒΞ³ΞΏΟ… ΞΌΞ΅ τις Ξ™Ξ΄ΞΉΟŒΟ„Ξ·Ο„Ξ΅Ο‚ γραμμΞ<CE8C>Ο‚ Ξ Ξ―Ξ½Ξ±ΞΊΞ±",
"Insert a new row before the current one": •ισαγωγΞ<C2B3> ΞΌΞΉΞ±Ο‚ Ξ½Ξ­Ξ±Ο‚ γραμμΞ<CE8C>Ο‚ πριν την ΡπιλΡγμένη",
"Insert a new row after the current one": •ισαγωγΞ<C2B3> ΞΌΞΉΞ±Ο‚ Ξ½Ξ­Ξ±Ο‚ γραμμΞ<CE8C>Ο‚ μΡτά την ΡπιλΡγμένη",
"Delete the current row": ”ιαγραφΞ<C286> ΡπιλΡγμένης γραμμΞ<CE8C>Ο‚",
"Show the Table Properties dialog": "Εμφάνιση Ξ΄ΞΉΞ±Ξ»ΟŒΞ³ΞΏΟ… ΞΌΞ΅ τις Ξ™Ξ΄ΞΉΟŒΟ„Ξ·Ο„Ξ΅Ο‚ Ξ Ξ―Ξ½Ξ±ΞΊΞ±",
"Insert a new column before the current one": •ισαγωγΞ<C2B3> Ξ½Ξ­Ξ±Ο‚ στΞ<C284>λης πριν την ΡπιλΡγμένη",
"Insert a new column after the current one": •ισαγωγΞ<C2B3> Ξ½Ξ­Ξ±Ο‚ στΞ<C284>λης μΡτά την ΡπιλΡγμένη",
"Delete the current column": ”ιαγραφΞ<C286> ΡπιλΡγμένης στΞ<C284>λης",
"Create a link": "Δημιουργία συνδέσμου"
}

View File

@@ -0,0 +1,50 @@
// I18N constants
// LANG: "fr", ENCODING: UTF-8
{
"Cut": "Couper",
"Copy": "Copier",
"Paste": "Coller",
"_Image Properties...": "_Propriétés de l'image...",
"_Modify Link...": "_Modifier le lien...",
"Chec_k Link...": "_Vérifier le lien...",
"_Remove Link...": "_Supprimer le lien...",
"C_ell Properties...": "P_ropriétés de la cellule...",
"Ro_w Properties...": "Pr_opriétés de la rangée...",
"I_nsert Row Before": "Insérer une rangée a_vant",
"In_sert 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 C_olumn After": "Insérer une colonne après",
"De_lete Column": "_Supprimer la colonne",
"Justify Left": "Aligner à gauche",
"Justify Center": "Aligner au centre",
"Justify Right": "Aligner à droite",
"Justify Full": "Justifier",
"Make lin_k...": "Convertir en lien...",
"Remove the $elem Element...": "Supprimer Élément $elem...",
"Insert paragraph before": "Insérer un paragraphe avant",
"Insert paragraph after": "Insérer un paragraphe après",
"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 ? (Reportez le bug SVP !)",
"Show the image properties dialog": "Afficher le dialogue des propriétés d'image",
"Modify URL": "Modifier l'URL",
"Current URL is": "L'URL courante 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:": "Le lien pointe sur:",
"Unlink the current element": "Enlever le lien sur cet élément",
"Show the Table Cell Properties dialog": "Afficher la boite de propriété des cellules",
"Show the Table Row Properties dialog": "Afficher la boite de propriété 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 la boite de propriété de tableau",
"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",
"Insert a paragraph before the current node": "Insérer un paragraphe avant le noeud courant",
"Insert a paragraph after the current node": "Insérer un paragraphe après le noeud courant"
}

View File

@@ -0,0 +1,58 @@
// 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.)
{
"Cut": "גזור",
"Copy": "העתק",
"Paste": "הדבק",
"_Image Properties...": "_מאפייני תמונה...",
"_Modify Link...": "_שנה קישור...",
"Chec_k Link...": "בדו_ק קישור...",
"_Remove Link...": "_הסר קישור...",
"C_ell Properties...": "מאפייני ת_א...",
"Ro_w Properties...": "מאפייני _טור...",
"I_nsert Row Before": "ה_כנס שורה לפני",
"In_sert Row After": "הכנ_ס שורה אחרי",
"_Delete Row": "_מחק שורה",
"_Table Properties...": "מאפייני ט_בלה...",
"Insert _Column Before": "הכנס _טור לפני",
"Insert C_olumn After": "הכנס ט_ור אחרי",
"De_lete Column": "מח_ק טור",
"Justify Left": "ישור לשמאל",
"Justify Center": "ישור למרכז",
"Justify Right": "ישור לימין",
"Justify Full": "ישור לשורה מלאה",
"Make lin_k...": "צור קיור...",
"Remove the $elem Element...": "הסר את אלמנט ה- $elem...",
"Please confirm that you want to remove this element:": "אנא אשר שברצונך להסיר את האלמנט הזה:",
"Remove this node from the document": "הסרה של node זה מהמסמך",
"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": "יצירת קישור"
}

View File

@@ -0,0 +1,58 @@
// I18N constants
// LANG: "nl", ENCODING: UTF-8
// 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.)
{
"Cut": "Knippen",
"Copy": "Kopiëren",
"Paste": "Plakken",
"_Image Properties...": "Eigenschappen afbeelding...",
"_Modify Link...": "Hyperlin_k aanpassen...",
"Chec_k Link...": "Controleer hyperlin_k...",
"_Remove Link...": "Ve_rwijder hyperlink...",
"C_ell Properties...": "C_eleigenschappen...",
"Ro_w Properties...": "Rijeigenscha_ppen...",
"I_nsert Row Before": "Rij invoegen boven",
"In_sert Row After": "Rij invoegen onder",
"_Delete Row": "Rij _verwijderen",
"_Table Properties...": "_Tabeleigenschappen...",
"Insert _Column Before": "Kolom invoegen voor",
"Insert C_olumn After": "Kolom invoegen na",
"De_lete Column": "Kolom verwijderen",
"Justify Left": "Links uitlijnen",
"Justify Center": "Centreren",
"Justify Right": "Rechts uitlijnen",
"Justify Full": "Uitvullen",
"Make lin_k...": "Maak hyperlin_k...",
"Remove the $elem Element...": "Verwijder het $elem element...",
"Please confirm that you want to remove this element:": "Is het werkelijk de bedoeling dit element te verwijderen:",
"Remove this node from the document": "Verwijder dit punt van het document",
"How did you get here? (Please report!)": "Hoe kwam je hier? (A.U.B. doorgeven!)",
"Show the image properties dialog": "Laat het afbeeldingseigenschappen dialog zien",
"Modify URL": "Aanpassen URL",
"Current URL is": "Huidig URL is",
"Opens this link in a new window": "Opend deze hyperlink in een nieuw venster",
"Please confirm that you want to unlink this element.": "Is het werkelijk de bedoeling dit element te unlinken.",
"Link points to:": "Hyperlink verwijst naar:",
"Unlink the current element": "Unlink het huidige element",
"Show the Table Cell Properties dialog": "Laat de tabel celeigenschappen dialog zien",
"Show the Table Row Properties dialog": "Laat de tabel rijeigenschappen dialog zien",
"Insert a new row before the current one": "Voeg een nieuwe rij in boven de huidige",
"Insert a new row after the current one": "Voeg een nieuwe rij in onder de huidige",
"Delete the current row": "Verwijder de huidige rij",
"Show the Table Properties dialog": "Laat de tabel eigenschappen dialog zien",
"Insert a new column before the current one": "Voeg een nieuwe kolom in voor de huidige",
"Insert a new column after the current one": "Voeg een nieuwe kolom in na de huidige",
"Delete the current column": "Verwijder de huidige kolom",
"Create a link": "Maak een hyperlink"
}

View File

@@ -0,0 +1,55 @@
// I18N constants
// LANG: "no", ENCODING: UTF-8
// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com
// Used key commands
// C,D,e, ,I, ,k,k,l,M, ,n,o,R, ,s,T, ,w : English
// H B j R m F v : Norwegian
{
"Cut": "Klipp ut",
"Copy": "Kopier",
"Paste": "Lim inn",
"_Image Properties...": "_Bilde Egenskaper...",
"Show the image properties dialog": "Vis bildeegenskaper",
"_Modify Link...": "_Rediger Link...",
"Current URL is": "Gjeldende URL er",
"Chec_k Link...": "Sje_kk Link...",
"Opens this link in a new window": "Åpner denne link i nytt vindu",
"_Remove Link...": "_Fjerne Link...",
"Please confirm that you want to unlink this element.": "Vennligst bekreft at du ønsker å fjerne link på elementet",
"Link points to:": "Link peker til:",
"Unlink the current element": "Fjerne link på gjeldende element",
"C_ell Properties...": "C_elle Egenskaper...",
"Show the Table Cell Properties dialog": "Vis egenskaper for celle",
"Ro_w Properties...": "Rad Egenskaper... (_w)",
"Show the Table Row Properties dialog": "Vis egenskaper for rad",
"I_nsert Row Before": "Sett I_nn rad før",
"Insert a new row before the current one": "Sett inn ny rad før gjeldende",
"In_sert Row After": "_Sett inn rad etter",
"Insert a new row after the current one": "Sett inn ny rad etter gjeldende",
"_Delete Row": "Slett rad (_d)",
"Delete the current row": "Slett gjeldende rad",
"_Table Properties...": "_Tabell Egenskaper...",
"Show the Table Properties dialog": "Vis egenskaper for tabellen",
"Insert _Column Before": "Sett inn kolonne etter (_c)",
"Insert a new column before the current one": "Sett inn kolonne før gjeldende",
"Insert C_olumn After": "Sett inn k_olonne etter",
"Insert a new column after the current one": "Sett inn kolonne etter gjeldende",
"De_lete Column": "S_lett kolonne",
"Delete the current column": "Slett gjeldende kolonne",
"Justify Left": "_Venstrejuster",
"Justify Center": "_Midtjuster",
"Justify Right": "_Høyrejuster",
"Justify Full": "Blokk_juster",
"Make lin_k...": "Lag len_ke...",
"Create a link": "Lag ny link",
"Remove the $elem Element...": "Fjerne $elem elementet...",
"Please confirm that you want to remove this element:": "Vennligst bekreft at du ønsker å fjerne elementet:",
"Remove this node from the document": "Fjerne denne node fra dokumentet",
"Insert paragraph before": "Sett inn paragraf før",
"Insert a paragraph before the current node": "Sett inn paragraf før gjeldende node",
"Insert paragraph after": "Sett inn paragraf etter",
"Insert a paragraph after the current node": "Sett inn paragraf etter gjeldende node",
"How did you get here? (Please report!)": "Hva skjedde? (Vennligst beskriv)"
}

View File

@@ -0,0 +1,51 @@
// I18N constants
// LANG: "pl", ENCODING: UTF-8
// translated: Krzysztof Kotowicz, http://www.eskot.krakow.pl/portfolio/, koto@webworkers.pl
{
"Cut": "Wytnij",
"Copy": "Kopiuj",
"Paste": "Wklej",
"_Image Properties...": "Właściwości obrazka",
"Show the image properties dialog": "Pokaż okienko właściwości obrazka",
"_Modify Link...": "Zmień odnośnik",
"Current URL is": "Bieżący URL odnośnika",
"Chec_k Link...": "Sprawdź odnośnik",
"Opens this link in a new window": "Otwiera ten odnośnik w nowym oknie",
"_Remove Link...": "Usuń odnośnik",
"Please confirm that you want to unlink this element.": "Na pewno chcesz usunąć odnośnik?",
"Link points to:": "Odnośnik wskazuje na:",
"Unlink the current element": "Usuń odnośnik z zaznaczonego elementu",
"C_ell Properties...": "Właściwości komórki",
"Show the Table Cell Properties dialog": "Pokaż okno właściwości komórki",
"Ro_w Properties...": "Właściwości wiersza",
"Show the Table Row Properties dialog": "Pokaż okno właściwości wiersza",
"I_nsert Row Before": "Wstaw wiersz przed",
"Insert a new row before the current one": "Wstaw nowy wiersz przed bieżącym",
"In_sert Row After": "Wstaw wiersz po",
"Insert a new row after the current one": "Wstaw nowy wiersz po bieżącym",
"_Delete Row": "Usuń wiersz",
"Delete the current row": "Usuń bieżący wiersz",
"_Table Properties...": "Właściwości tabeli",
"Show the Table Properties dialog": "Pokaż okienko właściwości tabeli",
"Insert _Column Before": "Wstaw kolumnę przed",
"Insert a new column before the current one": "Wstaw nową kolumnę przed bieżącą",
"Insert C_olumn After": "Wstaw kolumnę po",
"Insert a new column after the current one": "Wstaw nową kolumnę po bieżącej",
"De_lete Column": "Usuń kolumnę",
"Delete the current column": "Usuwa bieżącą kolumnę",
"Justify Left": "Wyrównaj do lewej",
"Justify Center": "Wycentruj",
"Justify Right": "Wyrównaj do prawej",
"Justify Full": "Wyjustuj",
"Make lin_k...": "Utwórz odnośnik",
"Create a link": "Utwórz odnośnik",
"Remove the": "Usuń",
"Element...": "element...",
"Please confirm that you want to remove this element:": "Na pewno chcesz usunąć ten element?",
"Remove this node from the document": "Usuń ten element z dokumentu",
"Insert paragraph before": "Wstaw akapit przed",
"Insert a paragraph before the current node": "Wstaw akapit przed bieżącym elementem",
"Insert paragraph after": "Wstaw akapit po",
"Insert a paragraph after the current node": "Wstaw akapit po bieżącym elemencie",
"How did you get here? (Please report!)": "Jak tu trafiłeś (Proszę, podaj okoliczności!)"
}

View File

@@ -0,0 +1,67 @@
/* 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 {
/* taken care of by xinha.makeBtnImg() */
/* width: 18px; */
/* height: 18px; */
}
div.htmlarea-context-menu tr.item td.icon {
padding: 0px 3px;
width: 18px;
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;
}