");
-}
-if(Xinha.is_gecko){
-_18=_18.replace(/ \n$/,"");
-}
-_18=_18.replace(/\s*(<\/(li|dd|dt)>)/g,"$1");
-if(_16){
-_18+=""+_1e+">";
-}
-_18=Xinha.indent(_18);
-}
-return _18;
-};
-Xinha._escapeDollars=function(str){
-return str.replace(/\$/g,"$$$$");
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/insert_image.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/insert_image.js
deleted file mode 100644
index c25225c631..0000000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/insert_image.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/InsertImage/insert_image.js */
-InsertImage._pluginInfo={name:"InsertImage",origin:"Xinha Core",version:"$LastChangedRevision: 1239 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/InsertImage/insert_image.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};
-function InsertImage(_1){
-this.editor=_1;
-var _2=_1.config;
-var _3=this;
-if(typeof _1._insertImage=="undefined"){
-_1._insertImage=function(){
-_3.show();
-};
-}
-};
-InsertImage.prototype._lc=function(_4){
-return Xinha._lc(_4,"Xinha");
-};
-InsertImage.prototype.onGenerateOnce=function(){
-InsertImage.loadAssets();
-};
-InsertImage.loadAssets=function(){
-var _5=InsertImage;
-if(_5.loading){
-return;
-}
-_5.loading=true;
-Xinha._getback(_editor_url+"modules/InsertImage/dialog.html",function(_6){
-_5.html=_6;
-_5.dialogReady=true;
-});
-Xinha._getback(_editor_url+"modules/InsertImage/pluginMethods.js",function(_7){
-eval(_7);
-_5.methodsReady=true;
-});
-};
-InsertImage.prototype.onUpdateToolbar=function(){
-if(!(InsertImage.dialogReady&&InsertImage.methodsReady)){
-this.editor._toolbarObjects.insertimage.state("enabled",false);
-}else{
-this.onUpdateToolbar=null;
-}
-};
-InsertImage.prototype.prepareDialog=function(){
-var _8=this;
-var _9=this.editor;
-var _a=this.dialog=new Xinha.Dialog(_9,InsertImage.html,"Xinha",{width:410});
-_a.getElementById("ok").onclick=function(){
-_8.apply();
-};
-_a.getElementById("cancel").onclick=function(){
-_8.dialog.hide();
-};
-_a.getElementById("preview").onclick=function(){
-var _b=_a.getElementById("f_url");
-var _c=_b.value;
-if(!_c){
-alert(_a._lc("You must enter the URL"));
-_b.focus();
-return false;
-}
-_a.getElementById("ipreview").src=_c;
-return false;
-};
-this.dialog.onresize=function(){
-var _d=parseInt(this.height,10)-this.getElementById("h1").offsetHeight-this.getElementById("buttons").offsetHeight-this.getElementById("inputs").offsetHeight-parseInt(this.rootElem.style.paddingBottom,10);
-this.getElementById("ipreview").style.height=((_d>0)?_d:0)+"px";
-this.getElementById("ipreview").style.width=this.width-2+"px";
-};
-this.dialogReady=true;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/pluginMethods.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/pluginMethods.js
deleted file mode 100644
index 40b2f7dad4..0000000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/pluginMethods.js
+++ /dev/null
@@ -1,113 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/InsertImage/pluginMethods.js */
-InsertImage.prototype.show=function(_1){
-if(!this.dialog){
-this.prepareDialog();
-}
-var _2=this.editor;
-if(typeof _1=="undefined"){
-_1=_2.getParentElement();
-if(_1&&_1.tagName.toLowerCase()!="img"){
-_1=null;
-}
-}
-if(_1){
-function getSpecifiedAttribute(_3,_4){
-var a=_3.attributes;
-for(var i=0;iInsert Table
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/insert_table.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/insert_table.js
deleted file mode 100644
index 427340de0d..0000000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/insert_table.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/InsertTable/insert_table.js */
-InsertTable._pluginInfo={name:"InsertTable",origin:"Xinha Core",version:"$LastChangedRevision: 1085 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/InsertTable/insert_table.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};
-function InsertTable(_1){
-this.editor=_1;
-var _2=_1.config;
-var _3=this;
-_1.config.btnList.inserttable[3]=function(){
-_3.show();
-};
-};
-InsertTable.prototype._lc=function(_4){
-return Xinha._lc(_4,"Xinha");
-};
-InsertTable.prototype.onGenerateOnce=function(){
-InsertTable.loadAssets();
-};
-InsertTable.loadAssets=function(){
-var _5=InsertTable;
-if(_5.loading){
-return;
-}
-_5.loading=true;
-Xinha._getback(_editor_url+"modules/InsertTable/dialog.html",function(_6){
-_5.html=_6;
-_5.dialogReady=true;
-});
-Xinha._getback(_editor_url+"modules/InsertTable/pluginMethods.js",function(_7){
-eval(_7);
-_5.methodsReady=true;
-});
-};
-InsertTable.prototype.onUpdateToolbar=function(){
-if(!(InsertTable.dialogReady&&InsertTable.methodsReady)){
-this.editor._toolbarObjects.inserttable.state("enabled",false);
-}else{
-this.onUpdateToolbar=null;
-}
-};
-InsertTable.prototype.prepareDialog=function(){
-var _8=this;
-var _9=this.editor;
-var _a=this.dialog=new Xinha.Dialog(_9,InsertTable.html,"Xinha",{width:400});
-_a.getElementById("ok").onclick=function(){
-_8.apply();
-};
-_a.getElementById("cancel").onclick=function(){
-_8.dialog.hide();
-};
-this.borderColorPicker=new Xinha.colorPicker.InputBinding(_a.getElementById("border_color"));
-this.dialog.onresize=function(){
-this.getElementById("layout_fieldset").style.width=(this.width/2)+50+"px";
-this.getElementById("spacing_fieldset").style.width=(this.width/2)-120+"px";
-};
-this.dialogReady=true;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/pluginMethods.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/pluginMethods.js
deleted file mode 100644
index 1c898e4cda..0000000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/pluginMethods.js
+++ /dev/null
@@ -1,81 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/InsertTable/pluginMethods.js */
-InsertTable.prototype.show=function(_1){
-if(!this.dialog){
-this.prepareDialog();
-}
-var _2=this.editor;
-var _3={"caption":"","rows":"2","cols":"4","width":"100","unit":"%","fixed":"","align":"","border":"1","border_style":"dotted","border_color":"#000000","border_collapse":"on","spacing":"","padding":"5"};
-this.borderColorPicker.setColor("#000000");
-this.dialog.show(_3);
-this.dialog.onresize();
-};
-InsertTable.prototype.apply=function(){
-var _4=this.editor;
-var _5=_4._doc;
-var _6=this.dialog.getValues();
-if(!_6.rows||!_6.cols){
-if(!_6.rows){
-this.dialog.getElementById("rows_alert").style.display="";
-}
-if(!_6.cols){
-this.dialog.getElementById("columns_alert").style.display="";
-}
-return;
-}
-this.dialog.hide();
-var _7=_5.createElement("table");
-for(var _8 in _6){
-var _9=_6[_8];
-if(!_9){
-continue;
-}
-switch(_8){
-case "width":
-_7.style.width=_9+_6.unit.value;
-break;
-case "align":
-_7.align=_9.value;
-break;
-case "border":
-_7.style.border=_9+"px "+_6.border_style.value+" "+_6.border_color;
-break;
-case "border_collapse":
-_7.style.borderCollapse=(_9=="on")?"collapse":"";
-break;
-case "spacing":
-_7.cellSpacing=parseInt(_9,10);
-break;
-case "padding":
-_7.cellPadding=parseInt(_9,10);
-break;
-}
-}
-if(_6.caption){
-var _a=_7.createCaption();
-_a.appendChild(_5.createTextNode(_6.caption));
-}
-var _b=0;
-if(_6.fixed){
-_b=Math.floor(100/parseInt(_6.cols,10));
-}
-var _c=_5.createElement("tbody");
-_7.appendChild(_c);
-for(var i=0;i<_6.rows;++i){
-var tr=_5.createElement("tr");
-_c.appendChild(tr);
-for(var j=0;j<_6.cols;++j){
-var td=_5.createElement("td");
-if(_b&&i===0){
-td.style.width=_b+"%";
-}
-if(_6.border){
-td.style.border=_6.border+"px "+_6.border_style.value+" "+_6.border_color;
-}
-tr.appendChild(td);
-td.appendChild(_5.createTextNode(" "));
-}
-}
-_4.insertNodeAtSelection(_7);
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InternetExplorer/InternetExplorer.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InternetExplorer/InternetExplorer.js
deleted file mode 100644
index 855507be79..0000000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InternetExplorer/InternetExplorer.js
+++ /dev/null
@@ -1,477 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/InternetExplorer/InternetExplorer.js */
-InternetExplorer._pluginInfo={name:"Internet Explorer",origin:"Xinha Core",version:"$LastChangedRevision: 1260 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/InternetExplorer/InternetExplorer.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};
-function InternetExplorer(_1){
-this.editor=_1;
-_1.InternetExplorer=this;
-};
-InternetExplorer.prototype.onKeyPress=function(ev){
-if(this.editor.isShortCut(ev)){
-switch(this.editor.getKey(ev).toLowerCase()){
-case "n":
-this.editor.execCommand("formatblock",false,"
");
-Xinha._stopEvent(ev);
-return true;
-break;
-case "1":
-case "2":
-case "3":
-case "4":
-case "5":
-case "6":
-this.editor.execCommand("formatblock",false,"");
-Xinha._stopEvent(ev);
-return true;
-break;
-}
-}
-switch(ev.keyCode){
-case 8:
-case 46:
-if(this.handleBackspace()){
-Xinha._stopEvent(ev);
-return true;
-}
-break;
-case 9:
-Xinha._stopEvent(ev);
-return true;
-}
-return false;
-};
-InternetExplorer.prototype.handleBackspace=function(){
-var _3=this.editor;
-var _4=_3.getSelection();
-if(_4.type=="Control"){
-var _5=_3.activeElement(_4);
-Xinha.removeFromParent(_5);
-return true;
-}
-var _6=_3.createRange(_4);
-var r2=_6.duplicate();
-r2.moveStart("character",-1);
-var a=r2.parentElement();
-if(a!=_6.parentElement()&&(/^a$/i.test(a.tagName))){
-r2.collapse(true);
-r2.moveEnd("character",1);
-r2.pasteHTML("");
-r2.select();
-return true;
-}
-};
-InternetExplorer.prototype.inwardHtml=function(_9){
-_9=_9.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");
-_9=_9.replace(/()"),"$1$3$2");
-ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*]*>)(.*?)"),"$1$3$2$4");
-}else{
-var sel=this.getSelection();
-var r=sel.createRange();
-if(sel.type=="Control"){
-var _50=r.item(0);
-_50.outerHTML+=cc;
-}else{
-r.collapse();
-r.text=cc;
-}
-}
-};
-Xinha.prototype.findCC=function(_51){
-var _52=(_51=="textarea")?this._textArea:this._doc.body;
-range=_52.createTextRange();
-if(range.findText(escape(Xinha.cc))){
-range.select();
-range.text="";
-range.select();
-}
-if(range.findText(Xinha.cc)){
-range.select();
-range.text="";
-range.select();
-}
-if(_51=="textarea"){
-this._textArea.focus();
-}
-};
-Xinha.getDoctype=function(doc){
-return (doc.compatMode=="CSS1Compat"&&Xinha.ie_version<8)?"":"";
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Opera/Opera.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Opera/Opera.js
deleted file mode 100644
index ce08b45b22..0000000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Opera/Opera.js
+++ /dev/null
@@ -1,471 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/Opera/Opera.js */
-Opera._pluginInfo={name:"Opera",origin:"Xinha Core",version:"$LastChangedRevision: 1084 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/Opera/Opera.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"Gogo Internet Services Limited",sponsor_url:"http://www.gogo.co.nz/",license:"htmlArea"};
-function Opera(_1){
-this.editor=_1;
-_1.Opera=this;
-};
-Opera.prototype.onKeyPress=function(ev){
-var _3=this.editor;
-var s=_3.getSelection();
-if(_3.isShortCut(ev)){
-switch(_3.getKey(ev).toLowerCase()){
-case "z":
-if(_3._unLink&&_3._unlinkOnUndo){
-Xinha._stopEvent(ev);
-_3._unLink();
-_3.updateToolbar();
-return true;
-}
-break;
-case "a":
-sel=_3.getSelection();
-sel.removeAllRanges();
-range=_3.createRange();
-range.selectNodeContents(_3._doc.body);
-sel.addRange(range);
-Xinha._stopEvent(ev);
-return true;
-break;
-case "v":
-if(!_3.config.htmlareaPaste){
-return true;
-}
-break;
-}
-}
-switch(_3.getKey(ev)){
-case " ":
-var _5=function(_6,_7){
-var _8=_6.nextSibling;
-if(typeof _7=="string"){
-_7=_3._doc.createElement(_7);
-}
-var a=_6.parentNode.insertBefore(_7,_8);
-Xinha.removeFromParent(_6);
-a.appendChild(_6);
-_8.data=" "+_8.data;
-s.collapse(_8,1);
-_3._unLink=function(){
-var t=a.firstChild;
-a.removeChild(t);
-a.parentNode.insertBefore(t,a);
-Xinha.removeFromParent(a);
-_3._unLink=null;
-_3._unlinkOnUndo=false;
-};
-_3._unlinkOnUndo=true;
-return a;
-};
-if(_3.config.convertUrlsToLinks&&s&&s.isCollapsed&&s.anchorNode.nodeType==3&&s.anchorNode.data.length>3&&s.anchorNode.data.indexOf(".")>=0){
-var _b=s.anchorNode.data.substring(0,s.anchorOffset).search(/\S{4,}$/);
-if(_b==-1){
-break;
-}
-if(_3._getFirstAncestor(s,"a")){
-break;
-}
-var _c=s.anchorNode.data.substring(0,s.anchorOffset).replace(/^.*?(\S*)$/,"$1");
-var _d=_c.match(Xinha.RE_email);
-if(_d){
-var _e=s.anchorNode;
-var _f=_e.splitText(s.anchorOffset);
-var _10=_e.splitText(_b);
-_5(_10,"a").href="mailto:"+_d[0];
-break;
-}
-RE_date=/([0-9]+\.)+/;
-RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;
-var _11=_c.match(Xinha.RE_url);
-if(_11){
-if(RE_date.test(_c)){
-break;
-}
-var _12=s.anchorNode;
-var _13=_12.splitText(s.anchorOffset);
-var _14=_12.splitText(_b);
-_5(_14,"a").href=(_11[1]?_11[1]:"http://")+_11[2];
-break;
-}
-}
-break;
-}
-switch(ev.keyCode){
-case 27:
-if(_3._unLink){
-_3._unLink();
-Xinha._stopEvent(ev);
-}
-break;
-break;
-case 8:
-case 46:
-if(!ev.shiftKey&&this.handleBackspace()){
-Xinha._stopEvent(ev);
-}
-default:
-_3._unlinkOnUndo=false;
-if(s.anchorNode&&s.anchorNode.nodeType==3){
-var a=_3._getFirstAncestor(s,"a");
-if(!a){
-break;
-}
-if(!a._updateAnchTimeout){
-if(s.anchorNode.data.match(Xinha.RE_email)&&a.href.match("mailto:"+s.anchorNode.data.trim())){
-var _16=s.anchorNode;
-var _17=function(){
-a.href="mailto:"+_16.data.trim();
-a._updateAnchTimeout=setTimeout(_17,250);
-};
-a._updateAnchTimeout=setTimeout(_17,1000);
-break;
-}
-var m=s.anchorNode.data.match(Xinha.RE_url);
-if(m&&a.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(s.anchorNode.data.trim())))){
-var _19=s.anchorNode;
-var _1a=function(){
-m=_19.data.match(Xinha.RE_url);
-if(m){
-a.href=(m[1]?m[1]:"http://")+m[2];
-}
-a._updateAnchTimeout=setTimeout(_1a,250);
-};
-a._updateAnchTimeout=setTimeout(_1a,1000);
-}
-}
-}
-break;
-}
-return false;
-};
-Opera.prototype.handleBackspace=function(){
-var _1b=this.editor;
-setTimeout(function(){
-var sel=_1b.getSelection();
-var _1d=_1b.createRange(sel);
-var SC=_1d.startContainer;
-var SO=_1d.startOffset;
-var EC=_1d.endContainer;
-var EO=_1d.endOffset;
-var _22=SC.nextSibling;
-if(SC.nodeType==3){
-SC=SC.parentNode;
-}
-if(!(/\S/.test(SC.tagName))){
-var p=document.createElement("p");
-while(SC.firstChild){
-p.appendChild(SC.firstChild);
-}
-SC.parentNode.insertBefore(p,SC);
-Xinha.removeFromParent(SC);
-var r=_1d.cloneRange();
-r.setStartBefore(_22);
-r.setEndAfter(_22);
-r.extractContents();
-sel.removeAllRanges();
-sel.addRange(r);
-}
-},10);
-};
-Opera.prototype.inwardHtml=function(_25){
-_25=_25.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");
-return _25;
-};
-Opera.prototype.outwardHtml=function(_26){
-return _26;
-};
-Opera.prototype.onExecCommand=function(_27,UI,_29){
-switch(_27){
-case "removeformat":
-var _2a=this.editor;
-var sel=_2a.getSelection();
-var _2c=_2a.saveSelection(sel);
-var _2d=_2a.createRange(sel);
-var els=_2a._doc.body.getElementsByTagName("*");
-var _2f=(_2d.startContainer.nodeType==1)?_2d.startContainer:_2d.startContainer.parentNode;
-var i,el;
-if(sel.isCollapsed){
-_2d.selectNodeContents(_2a._doc.body);
-}
-for(i=0;isel.anchorOffset&&sel.anchorNode.childNodes[sel.anchorOffset].nodeType==1){
-return sel.anchorNode.childNodes[sel.anchorOffset];
-}else{
-if(sel.anchorNode.nodeType==1){
-return sel.anchorNode;
-}else{
-return null;
-}
-}
-}
-return null;
-};
-Xinha.prototype.selectionEmpty=function(sel){
-if(!sel){
-return true;
-}
-if(typeof sel.isCollapsed!="undefined"){
-return sel.isCollapsed;
-}
-return true;
-};
-Xinha.prototype.saveSelection=function(){
-return this.createRange(this.getSelection()).cloneRange();
-};
-Xinha.prototype.restoreSelection=function(_3e){
-var sel=this.getSelection();
-sel.removeAllRanges();
-sel.addRange(_3e);
-};
-Xinha.prototype.selectNodeContents=function(_40,_41){
-this.focusEditor();
-this.forceRedraw();
-var _42;
-var _43=typeof _41=="undefined"?true:false;
-var sel=this.getSelection();
-_42=this._doc.createRange();
-if(_43&&_40.tagName&&_40.tagName.toLowerCase().match(/table|img|input|textarea|select/)){
-_42.selectNode(_40);
-}else{
-_42.selectNodeContents(_40);
-}
-sel.removeAllRanges();
-sel.addRange(_42);
-if(typeof _41!="undefined"){
-if(_41){
-sel.collapse(_42.startContainer,_42.startOffset);
-}else{
-sel.collapse(_42.endContainer,_42.endOffset);
-}
-}
-};
-Xinha.prototype.insertHTML=function(_45){
-var sel=this.getSelection();
-var _47=this.createRange(sel);
-this.focusEditor();
-var _48=this._doc.createDocumentFragment();
-var div=this._doc.createElement("div");
-div.innerHTML=_45;
-while(div.firstChild){
-_48.appendChild(div.firstChild);
-}
-var _4a=this.insertNodeAtSelection(_48);
-};
-Xinha.prototype.getSelectedHTML=function(){
-var sel=this.getSelection();
-if(sel.isCollapsed){
-return "";
-}
-var _4c=this.createRange(sel);
-return Xinha.getHTML(_4c.cloneContents(),false,this);
-};
-Xinha.prototype.getSelection=function(){
-var sel=this._iframe.contentWindow.getSelection();
-if(sel&&sel.focusNode&&sel.focusNode.tagName&&sel.focusNode.tagName=="HTML"){
-var bod=this._doc.getElementsByTagName("body")[0];
-var rng=this.createRange();
-rng.selectNodeContents(bod);
-sel.removeAllRanges();
-sel.addRange(rng);
-sel.collapseToEnd();
-}
-return sel;
-};
-Xinha.prototype.createRange=function(sel){
-this.activateEditor();
-if(typeof sel!="undefined"){
-try{
-return sel.getRangeAt(0);
-}
-catch(ex){
-return this._doc.createRange();
-}
-}else{
-return this._doc.createRange();
-}
-};
-Xinha.prototype.isKeyEvent=function(_51){
-return _51.type=="keypress";
-};
-Xinha.prototype.getKey=function(_52){
-return String.fromCharCode(_52.charCode);
-};
-Xinha.getOuterHTML=function(_53){
-return (new XMLSerializer()).serializeToString(_53);
-};
-Xinha.cc=String.fromCharCode(8286);
-Xinha.prototype.setCC=function(_54){
-var cc=Xinha.cc;
-try{
-if(_54=="textarea"){
-var ta=this._textArea;
-var _57=ta.selectionStart;
-var _58=ta.value.substring(0,_57);
-var _59=ta.value.substring(_57,ta.value.length);
-if(_59.match(/^[^<]*>/)){
-var _5a=_59.indexOf(">")+1;
-ta.value=_58+_59.substring(0,_5a)+cc+_59.substring(_5a,_59.length);
-}else{
-ta.value=_58+cc+_59;
-}
-ta.value=ta.value.replace(new RegExp("(&[^"+cc+"]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2");
-ta.value=ta.value.replace(new RegExp("()"),"$1$3$2");
-ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*]*>)(.*?)"),"$1$3$2$4");
-ta.value=ta.value.replace(cc,"MARK");
-}else{
-var sel=this.getSelection();
-var _5c=this._doc.createElement("span");
-_5c.id="XinhaOperaCaretMarker";
-sel.getRangeAt(0).insertNode(_5c);
-}
-}
-catch(e){
-}
-};
-Xinha.prototype.findCC=function(_5d){
-if(_5d=="textarea"){
-var ta=this._textArea;
-var pos=ta.value.search(/(((\s|(MARK))*<\/span>)?)/);
-if(pos==-1){
-return;
-}
-var cc=RegExp.$1;
-var end=pos+cc.length;
-var _62=ta.value.substring(0,pos);
-var _63=ta.value.substring(end,ta.value.length);
-ta.value=_62;
-ta.scrollTop=ta.scrollHeight;
-var _64=ta.scrollTop;
-ta.value+=_63;
-ta.setSelectionRange(pos,pos);
-ta.focus();
-ta.scrollTop=_64;
-}else{
-var _65=this._doc.getElementById("XinhaOperaCaretMarker");
-if(_65){
-this.focusEditor();
-var rng=this.createRange();
-rng.selectNode(_65);
-var sel=this.getSelection();
-sel.addRange(rng);
-sel.collapseToStart();
-this.scrollToElement(_65);
-_65.parentNode.removeChild(_65);
-return;
-}
-}
-};
-Xinha.getDoctype=function(doc){
-var d="";
-if(doc.doctype){
-d+="";
-}
-return d;
-};
-Xinha.prototype._standardInitIframe=Xinha.prototype.initIframe;
-Xinha.prototype.initIframe=function(){
-if(!this._iframeLoadDone){
-if(this._iframe.contentWindow&&this._iframe.contentWindow.xinhaReadyToRoll){
-this._iframeLoadDone=true;
-this._standardInitIframe();
-}else{
-var _6a=this;
-setTimeout(function(){
-_6a.initIframe();
-},5);
-}
-}
-};
-Xinha._addEventOperaOrig=Xinha._addEvent;
-Xinha._addEvent=function(el,_6c,_6d){
-if(el.tagName&&el.tagName.toLowerCase()=="select"&&_6c=="change"){
-return Xinha.addDom0Event(el,_6c,_6d);
-}
-return Xinha._addEventOperaOrig(el,_6c,_6d);
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/WebKit/WebKit.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/WebKit/WebKit.js
deleted file mode 100644
index 6e37e1ae53..0000000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/WebKit/WebKit.js
+++ /dev/null
@@ -1,485 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/WebKit/WebKit.js */
-WebKit._pluginInfo={name:"WebKit",origin:"Xinha Core",version:"$LastChangedRevision: 1146 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/WebKit/WebKit.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};
-function WebKit(_1){
-this.editor=_1;
-_1.WebKit=this;
-};
-WebKit.prototype.onKeyPress=function(ev){
-var _3=this.editor;
-var s=_3.getSelection();
-if(_3.isShortCut(ev)){
-switch(_3.getKey(ev).toLowerCase()){
-case "z":
-if(_3._unLink&&_3._unlinkOnUndo){
-Xinha._stopEvent(ev);
-_3._unLink();
-_3.updateToolbar();
-return true;
-}
-break;
-case "a":
-break;
-case "v":
-if(!_3.config.htmlareaPaste){
-return true;
-}
-break;
-}
-}
-switch(_3.getKey(ev)){
-case " ":
-var _5=function(_6,_7){
-var _8=_6.nextSibling;
-if(typeof _7=="string"){
-_7=_3._doc.createElement(_7);
-}
-var a=_6.parentNode.insertBefore(_7,_8);
-Xinha.removeFromParent(_6);
-a.appendChild(_6);
-_8.data=" "+_8.data;
-s.collapse(_8,1);
-_3._unLink=function(){
-var t=a.firstChild;
-a.removeChild(t);
-a.parentNode.insertBefore(t,a);
-Xinha.removeFromParent(a);
-_3._unLink=null;
-_3._unlinkOnUndo=false;
-};
-_3._unlinkOnUndo=true;
-return a;
-};
-if(_3.config.convertUrlsToLinks&&s&&s.isCollapsed&&s.anchorNode.nodeType==3&&s.anchorNode.data.length>3&&s.anchorNode.data.indexOf(".")>=0){
-var _b=s.anchorNode.data.substring(0,s.anchorOffset).search(/\S{4,}$/);
-if(_b==-1){
-break;
-}
-if(_3._getFirstAncestor(s,"a")){
-break;
-}
-var _c=s.anchorNode.data.substring(0,s.anchorOffset).replace(/^.*?(\S*)$/,"$1");
-var _d=_c.match(Xinha.RE_email);
-if(_d){
-var _e=s.anchorNode;
-var _f=_e.splitText(s.anchorOffset);
-var _10=_e.splitText(_b);
-_5(_10,"a").href="mailto:"+_d[0];
-break;
-}
-RE_date=/([0-9]+\.)+/;
-RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;
-var _11=_c.match(Xinha.RE_url);
-if(_11){
-if(RE_date.test(_c)){
-break;
-}
-var _12=s.anchorNode;
-var _13=_12.splitText(s.anchorOffset);
-var _14=_12.splitText(_b);
-_5(_14,"a").href=(_11[1]?_11[1]:"http://")+_11[2];
-break;
-}
-}
-break;
-}
-switch(ev.keyCode){
-case 13:
-if(ev.shiftKey){
-}
-break;
-case 27:
-if(_3._unLink){
-_3._unLink();
-Xinha._stopEvent(ev);
-}
-break;
-case 8:
-case 46:
-if(!ev.shiftKey&&this.handleBackspace()){
-Xinha._stopEvent(ev);
-}
-break;
-default:
-_3._unlinkOnUndo=false;
-if(s.anchorNode&&s.anchorNode.nodeType==3){
-var a=_3._getFirstAncestor(s,"a");
-if(!a){
-break;
-}
-if(!a._updateAnchTimeout){
-if(s.anchorNode.data.match(Xinha.RE_email)&&a.href.match("mailto:"+s.anchorNode.data.trim())){
-var _16=s.anchorNode;
-var _17=function(){
-a.href="mailto:"+_16.data.trim();
-a._updateAnchTimeout=setTimeout(_17,250);
-};
-a._updateAnchTimeout=setTimeout(_17,1000);
-break;
-}
-var m=s.anchorNode.data.match(Xinha.RE_url);
-if(m&&a.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(s.anchorNode.data.trim())))){
-var _19=s.anchorNode;
-var _1a=function(){
-m=_19.data.match(Xinha.RE_url);
-if(m){
-a.href=(m[1]?m[1]:"http://")+m[2];
-}
-a._updateAnchTimeout=setTimeout(_1a,250);
-};
-a._updateAnchTimeout=setTimeout(_1a,1000);
-}
-}
-}
-break;
-}
-return false;
-};
-WebKit.prototype.handleBackspace=function(){
-var _1b=this.editor;
-setTimeout(function(){
-var sel=_1b.getSelection();
-var _1d=_1b.createRange(sel);
-var SC=_1d.startContainer;
-var SO=_1d.startOffset;
-var EC=_1d.endContainer;
-var EO=_1d.endOffset;
-var _22=SC.nextSibling;
-if(SC.nodeType==3){
-SC=SC.parentNode;
-}
-if(!(/\S/.test(SC.tagName))){
-var p=document.createElement("p");
-while(SC.firstChild){
-p.appendChild(SC.firstChild);
-}
-SC.parentNode.insertBefore(p,SC);
-Xinha.removeFromParent(SC);
-var r=_1d.cloneRange();
-r.setStartBefore(_22);
-r.setEndAfter(_22);
-r.extractContents();
-sel.removeAllRanges();
-sel.addRange(r);
-}
-},10);
-};
-WebKit.prototype.inwardHtml=function(_25){
-return _25;
-};
-WebKit.prototype.outwardHtml=function(_26){
-return _26;
-};
-WebKit.prototype.onExecCommand=function(_27,UI,_29){
-this.editor._doc.execCommand("styleWithCSS",false,false);
-switch(_27){
-case "paste":
-alert(Xinha._lc("The Paste button does not work in the Safari browser for security reasons. Press CTRL-V on your keyboard to paste directly."));
-return true;
-break;
-case "removeformat":
-var _2a=this.editor;
-var sel=_2a.getSelection();
-var _2c=_2a.saveSelection(sel);
-var _2d=_2a.createRange(sel);
-var els=_2a._doc.getElementsByTagName("*");
-els=Xinha.collectionToArray(els);
-var _2f=(_2d.startContainer.nodeType==1)?_2d.startContainer:_2d.startContainer.parentNode;
-var i,el,_32,_33,_34,r2=_2a._doc.createRange();
-function clean(el){
-if(el.nodeType!=1){
-return;
-}
-el.removeAttribute("style");
-for(var j=0;jsel.anchorOffset&&sel.anchorNode.childNodes[sel.anchorOffset].nodeType==1){
-return sel.anchorNode.childNodes[sel.anchorOffset];
-}else{
-if(sel.anchorNode.nodeType==1){
-return sel.anchorNode;
-}else{
-return null;
-}
-}
-}
-return null;
-};
-Xinha.prototype.selectionEmpty=function(sel){
-if(!sel){
-return true;
-}
-if(typeof sel.isCollapsed!="undefined"){
-return sel.isCollapsed;
-}
-return true;
-};
-Xinha.prototype.saveSelection=function(){
-return this.createRange(this.getSelection()).cloneRange();
-};
-Xinha.prototype.restoreSelection=function(_44){
-var sel=this.getSelection();
-sel.removeAllRanges();
-sel.addRange(_44);
-};
-Xinha.prototype.selectNodeContents=function(_46,_47){
-this.focusEditor();
-this.forceRedraw();
-var _48;
-var _49=typeof _47=="undefined"?true:false;
-var sel=this.getSelection();
-_48=this._doc.createRange();
-if(_49&&_46.tagName&&_46.tagName.toLowerCase().match(/table|img|input|textarea|select/)){
-_48.selectNode(_46);
-}else{
-_48.selectNodeContents(_46);
-}
-sel.removeAllRanges();
-sel.addRange(_48);
-if(typeof _47!="undefined"){
-if(_47){
-sel.collapse(_48.startContainer,_48.startOffset);
-}else{
-sel.collapse(_48.endContainer,_48.endOffset);
-}
-}
-};
-Xinha.prototype.insertHTML=function(_4b){
-var sel=this.getSelection();
-var _4d=this.createRange(sel);
-this.focusEditor();
-var _4e=this._doc.createDocumentFragment();
-var div=this._doc.createElement("div");
-div.innerHTML=_4b;
-while(div.firstChild){
-_4e.appendChild(div.firstChild);
-}
-var _50=this.insertNodeAtSelection(_4e);
-};
-Xinha.prototype.getSelectedHTML=function(){
-var sel=this.getSelection();
-if(sel.isCollapsed){
-return "";
-}
-var _52=this.createRange(sel);
-if(_52){
-return Xinha.getHTML(_52.cloneContents(),false,this);
-}else{
-return "";
-}
-};
-Xinha.prototype.getSelection=function(){
-return this._iframe.contentWindow.getSelection();
-};
-Xinha.prototype.createRange=function(sel){
-this.activateEditor();
-if(typeof sel!="undefined"){
-try{
-return sel.getRangeAt(0);
-}
-catch(ex){
-return this._doc.createRange();
-}
-}else{
-return this._doc.createRange();
-}
-};
-Xinha.prototype.isKeyEvent=function(_54){
-return _54.type=="keydown";
-};
-Xinha.prototype.getKey=function(_55){
-var key=String.fromCharCode(parseInt(_55.keyIdentifier.replace(/^U\+/,""),16));
-if(_55.shiftKey){
-return key;
-}else{
-return key.toLowerCase();
-}
-};
-Xinha.getOuterHTML=function(_57){
-return (new XMLSerializer()).serializeToString(_57);
-};
-Xinha.cc=String.fromCharCode(8286);
-Xinha.prototype.setCC=function(_58){
-var cc=Xinha.cc;
-try{
-if(_58=="textarea"){
-var ta=this._textArea;
-var _5b=ta.selectionStart;
-var _5c=ta.value.substring(0,_5b);
-var _5d=ta.value.substring(_5b,ta.value.length);
-if(_5d.match(/^[^<]*>/)){
-var _5e=_5d.indexOf(">")+1;
-ta.value=_5c+_5d.substring(0,_5e)+cc+_5d.substring(_5e,_5d.length);
-}else{
-ta.value=_5c+cc+_5d;
-}
-ta.value=ta.value.replace(new RegExp("(&[^"+cc+";]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2");
-ta.value=ta.value.replace(new RegExp("()"),"$1$3$2");
-ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*]*>)(.*?)"),"$1$3$2$4");
-}else{
-var sel=this.getSelection();
-sel.getRangeAt(0).insertNode(this._doc.createTextNode(cc));
-}
-}
-catch(e){
-}
-};
-Xinha.prototype.findCC=function(_60){
-var cc=Xinha.cc;
-if(_60=="textarea"){
-var ta=this._textArea;
-var pos=ta.value.indexOf(cc);
-if(pos==-1){
-return;
-}
-var end=pos+cc.length;
-var _65=ta.value.substring(0,pos);
-var _66=ta.value.substring(end,ta.value.length);
-ta.value=_65;
-ta.scrollTop=ta.scrollHeight;
-var _67=ta.scrollTop;
-ta.value+=_66;
-ta.setSelectionRange(pos,pos);
-ta.focus();
-ta.scrollTop=_67;
-}else{
-var _68=this;
-try{
-var doc=this._doc;
-doc.body.innerHTML=doc.body.innerHTML.replace(new RegExp(cc),"");
-var _6a=doc.getElementById("XinhaEditingPostion");
-this.selectNodeContents(_6a);
-this.scrollToElement(_6a);
-_6a.parentNode.removeChild(_6a);
-this._iframe.contentWindow.focus();
-}
-catch(e){
-}
-}
-};
-Xinha.prototype._standardToggleBorders=Xinha.prototype._toggleBorders;
-Xinha.prototype._toggleBorders=function(){
-var _6b=this._standardToggleBorders();
-var _6c=this._doc.getElementsByTagName("TABLE");
-for(var i=0;i<_6c.length;i++){
-_6c[i].style.display="none";
-_6c[i].style.display="table";
-}
-return _6b;
-};
-Xinha.getDoctype=function(doc){
-var d="";
-if(doc.doctype){
-d+="";
-}
-return d;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/popups/popup.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/popups/popup.js
deleted file mode 100644
index dd37c8d45a..0000000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/popups/popup.js
+++ /dev/null
@@ -1,107 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/popups/popup.js */
-if(typeof Xinha=="undefined"){
-Xinha=window.opener.Xinha;
-}
-HTMLArea=Xinha;
-function getAbsolutePos(el){
-var r={x:el.offsetLeft,y:el.offsetTop};
-if(el.offsetParent){
-var _3=getAbsolutePos(el.offsetParent);
-r.x+=_3.x;
-r.y+=_3.y;
-}
-return r;
-};
-function comboSelectValue(c,_5){
-var _6=c.getElementsByTagName("option");
-for(var i=_6.length;--i>=0;){
-var op=_6[i];
-op.selected=(op.value==_5);
-}
-c.value=_5;
-};
-function __dlg_onclose(){
-opener.Dialog._return(null);
-};
-function __dlg_init(_9,_a){
-__xinha_dlg_init(_a);
-};
-function __xinha_dlg_init(_b){
-if(window.__dlg_init_done){
-return true;
-}
-if(window.opener._editor_skin){
-var _c=document.getElementsByTagName("head")[0];
-var _d=document.createElement("link");
-_d.type="text/css";
-_d.href=window.opener._editor_url+"skins/"+window.opener._editor_skin+"/skin.css";
-_d.rel="stylesheet";
-_c.appendChild(_d);
-}
-if(!window.dialogArguments&&opener.Dialog._arguments){
-window.dialogArguments=opener.Dialog._arguments;
-}
-var _e=Xinha.pageSize(window);
-if(!_b){
-_b={width:_e.x,height:_e.y};
-}
-window.resizeTo(_b.width,_b.height);
-var _f=Xinha.viewportSize(window);
-window.resizeBy(0,_e.y-_f.y);
-if(_b.top&&_b.left){
-window.moveTo(_b.left,_b.top);
-}else{
-if(!Xinha.is_ie){
-var x=opener.screenX+(opener.outerWidth-_b.width)/2;
-var y=opener.screenY+(opener.outerHeight-_b.height)/2;
-}else{
-var x=(self.screen.availWidth-_b.width)/2;
-var y=(self.screen.availHeight-_b.height)/2;
-}
-window.moveTo(x,y);
-}
-Xinha.addDom0Event(document.body,"keypress",__dlg_close_on_esc);
-window.__dlg_init_done=true;
-};
-function __dlg_translate(_12){
-var _13=["input","select","legend","span","option","td","th","button","div","label","a","img"];
-for(var _14=0;_14<_13.length;++_14){
-var _15=document.getElementsByTagName(_13[_14]);
-for(var i=_15.length;--i>=0;){
-var _17=_15[i];
-if(_17.firstChild&&_17.firstChild.data){
-var txt=Xinha._lc(_17.firstChild.data,_12);
-if(txt){
-_17.firstChild.data=txt;
-}
-}
-if(_17.title){
-var txt=Xinha._lc(_17.title,_12);
-if(txt){
-_17.title=txt;
-}
-}
-if(_17.tagName.toLowerCase()=="input"&&(/^(button|submit|reset)$/i.test(_17.type))){
-var txt=Xinha._lc(_17.value,_12);
-if(txt){
-_17.value=txt;
-}
-}
-}
-}
-document.title=Xinha._lc(document.title,_12);
-};
-function __dlg_close(val){
-opener.Dialog._return(val);
-window.close();
-};
-function __dlg_close_on_esc(ev){
-ev||(ev=window.event);
-if(ev.keyCode==27){
-__dlg_close(null);
-return false;
-}
-return true;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/skins/blue-look/skin.css b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/skins/blue-look/skin.css
deleted file mode 100644
index b0d478c3a8..0000000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/skins/blue-look/skin.css
+++ /dev/null
@@ -1,105 +0,0 @@
-.htmlarea .toolbar, .htmlarea .toolbar .button
-{
- background-color:#f7f8fd;
-}
-
-.htmlarea .toolbarRow
-{
- margin-top:2px;
- margin-bottom:2px;
- border:1px dotted #DEDEDE;
- padding:2px;
- -moz-border-radius:3px;
- margin:4px;
- height:25px;
-}
-
-.htmlarea .toolbar .button
-{
- background-image: url(button-background.png);
- width:20px;
- height:20px;
- padding:0px;
- border:1px solid #f7f8fd;
-}
-
-.buttonImageContainer
-{
- position:relative;
- left:1px;
- top :1px;
-}
-
-.htmlarea .toolbar .separator {
- margin:0px;
- background-image: url(separator.gif);
- border:1px #f7f8fd;
- width: 7px;
- height: 20px;
- padding: 0px;
-}
-
-.htmlarea .toolbar a.button:hover
-{
- border: 1px solid;
- border-color: white #CCC #CCC white;
-}
-
-.htmlarea .toolbar a.buttonDisabled:hover
-{
- border-color: #f7f8fd;
-}
-
-.htmlarea .toolbar .button.buttonActive,
-.htmlarea .toolbar .button.buttonPressed
-{
- border: 1px solid;
- border-color: #CCC white white #CCC;
-}
-
-.htmlarea .statusBar {
- border-color: #CCC white white #CCC;
- padding: 0px;
- height:20px;
- background-image: url(button-background.png);
- background-repeat: repeat-x;
- background-color: #f7f8fd;
- color: ButtonText;
- font: 11px helvetica,arial,sans-serif;
-}
-
-.htmlarea .statusBar .statusBarWidgetContainer
-{
- background-image: url(button-background.png);
- background-repeat: repeat-x;
- background-color: #f7f8fd;
-}
-
-.htmlarea .statusBar .statusBarTree
-{
- display:block;
- margin: 3px;
-}
-
-.htmlarea .statusBar .statusBarTree a
-{
- padding: 2px 5px;
- color: #00f;
- text-decoration:none;
-}
-
-.htmlarea .panel h1
-{
- background-image: url('button-background.png');
- background-repeat: repeat-x;
- background-color: #f7f8fd;
-}
-.dialog {
- background-color:#f7f8fd;
-}
-.dialog .title {
- background-image: url(button-background.png);
-}
-.dialog button{
- background-image: url(button-background.png);
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/README_TRANSLATORS.TXT b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/README_TRANSLATORS.TXT
new file mode 100644
index 0000000000..5a2bc719a7
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/README_TRANSLATORS.TXT
@@ -0,0 +1,166 @@
+Translating Xinha
+################################################################################
+
+Hello you multi-lingual person you, so you would like to help translate Xinha
+or create your own special translation to use?
+
+It's really easy!
+
+In the Xinha distribution you will find some files under the following directory
+
+ /lang/merged/*.js
+
+you can see that there is a file for every currently existing translation there
+and also one called "__new__.js". You will also see there are other lang files
+around the place, they are used only when not using a merged file, you don't need
+to touch them, just work on /lang/merged/*.js !
+
+If your language is there already, simply open that .js file in your favourite
+UTF-8 compliant text editor.
+
+If your language is not there, copy the __new__.js file and create a new one called
+[yourlanguagecode].js, for example if you are translating into Klingon, perhaps
+"kl.js" and then open it in your favourite UTF-8 compliant text editor.
+
+Please note that all translation is in UTF-8 Encoding, do not try to use other
+character encodings (character sets), it's not going to end well.
+
+To actually test or use your translation, in your code right before you load
+Xinha specify the language and file like this...
+
+
+
+
+that's it, try out Xinha and your language file should provide the translations.
+
+When you have made your translation file and would like to submit it
+to Xinha for inclusion in a future distibution of Xinha, please just open a
+ticket at http://trac.xinha.org/ and attach your new or improved language file,
+be sure to let us know your details to add the the contributors list below!
+
+Tools
+################################################################################
+
+In the contrib directory there are a few scripts written in PHP to handle the
+translation setup tasks.
+
+lc_parse_strings.php
+--------------------------------------------------------------------------------
+
+This script goes through all the Xinha files, javascript, php, html, and pulls
+out the strings which should get translated. These are written into lc_base.js
+translation files spread through the system, eg /lang/lc_base.js,
+/modules/.../lang/lc_base.js, /plugins/.../lang/lc_base.js and so forth.
+
+lc_base.js files do not get committed to the Subversion repository they are
+just temporary working files.
+
+lc_create_merged_file.php
+--------------------------------------------------------------------------------
+
+This script takes all the lc_base.js files and the existing lang files for a given
+language and creates a merged language file, for example
+
+ php contrib/lc_create_merged_file.php fr /tmp/fr.js
+
+creates the French translation merged file /tmp/fr.js
+
+Note that existing merged files are not consulted during this process.
+
+Translators can then work on the merged file to do their translation work.
+
+To make things easy the `lang/merged/` directory contains pre-generated merged
+language files of each language of the release, again these are not committed
+to the subversion repository.
+
+If you run this script without arguments it will give you some help showing how
+you can generate all the merged language files at once, this is done as part of
+the release process.
+
+lc_split_merged_file.php
+--------------------------------------------------------------------------------
+
+This script takes a merged file and splits it into the constituent lang files
+these files are written into a temporary directory structure so that you can
+use a diff/merge tool if you wish to compare them rather than actually copying
+them into place. For example,
+
+ php contrib/lc_split_merged_file.php /tmp/fr.js fr
+
+will create a directory structure (it will be printed at completion) in /tmp,
+
+ /tmp/something-unique-here/lang/fr.js
+ /tmp/something-unique-here/modules/.../lang/fr.js
+ /tmp/something-unique-here/plugins/.../lang/fr.js
+ /tmp/something-unique-here/unsupported_plugins/.../lang/fr.js
+
+the directory and some instructions for easily "installing" the generated files
+is printed.
+
+Contributors
+################################################################################
+
+The following people are thanked for providing and updating translations!
+
+ch: Samuel Stone, http://stonemicro.com/
+cz: Jiri Löw,
+da: Bjarke M. Lauridsen, http://www.detailx.dk, detailx@gmail.com
+da: rene,
+da: Steen Sønderup,
+de: Broxx,
+de: Holger Hees, , http://www.systemconcept.de
+de: Mihai Bazon, http://dynarch.com/mishoo
+de: Raimund Meyer xinha@ray-of-light.org
+de: sven schomacker, http://www.hilope.de, mail@hilope.de
+de: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de
+ee: Martin Raie,
+el: Dimitris Glezos, dimitris@glezos.com
+es: Derick Leony
+es: michael Hauptmnn (mhauptma73) , http://www.azahost.com/, miguel@azalorea.com
+eu: Unkown
+fa: Unknown
+fi: Unknown
+fr: Kevin Huppert - Créabilis, http://www.creabilis.com, kevin.huppert@worldonline.fr
+he: Liron Newman, http://www.eesh.net,
+he: Mihai Bazon, http://dynarch.com/mishoo
+hu: Miklós Somogyi,
+it: Fabio Rotondo
+it: Mattia Landoni, http://www.webpresident.org/
+it: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de
+ja: Unknown
+lt: Jaroslav Šatkevič,
+lv: Mihai Bazon, http://dynarch.com/mishoo
+nb: Kim Steinhaug, http://www.steinhaug.com/, http://www.easycms.no/, kim@easycms.no
+nb: Mihai Bazon,
+nb: Håvard Wigtil
+nb: ses
+nl: A.H van den Broek http://www.kontaktfm.nl, tonbroek@kontaktfm.nl
+nl: Arthur Bogaart a.bogaart@onehippo.org
+nl: Holger Hees,
+nl: Maarten Molenschot, maarten@nrgmm.nl
+nl: Michel Weegeerink (info@mmc-shop.nl), http://mmc-shop.nl
+nl: Mihai Bazon, http://dynarch.com/mishoo
+nl: Raimund Meyer xinha@ray-of-light.org
+nl: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de
+pl: Krzysztof Kotowicz, http://www.web.eskot.pl, http://www.eskot.krakow.pl/portfolio/, koto@webworkers.pl, koto1sa@o2.pl
+pt_br: Cau guanabara (independent developer), caugb@ibest.com.br
+pt_br: Marcio Barbosa, , http://www.mpg.com.br/
+ro: Mihai Bazon, http://dynarch.com/mishoo
+ru: Andrei Blagorazumov, a@fnr.ru
+ru: Helen Mitkina (zerok)
+ru: Yulya Shtyryakova,
+sh: Ljuba Ranković, http://www.rankovic.net/ljubar
+si: Tomaz Kregar, x_tomo_x@email.si
+sr: Ljuba Ranković, http://www.rankovic.net/ljubar
+sv: Erik Dalén,
+th: Suchin Prasongbundit,
+tr: Serdar Domurcuk, , http://www.km.co.at/
+vn: Nguyễn Đình Nam,
+zh_cn: Dave Lo, dlo@interactivetools.com
+b5: Dave Lo, dlo@interactivetools.com
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/VERSION.TXT b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/VERSION.TXT
new file mode 100644
index 0000000000..85cfd47de7
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/VERSION.TXT
@@ -0,0 +1 @@
+xinha-1.5.1
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/Xinha.css b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/Xinha.css
similarity index 85%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/Xinha.css
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/Xinha.css
index d845cf386e..5f378dcacb 100644
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/Xinha.css
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/Xinha.css
@@ -1,5 +1,5 @@
.htmlarea { background: #fff; }
-.htmlarea td { margin:0;padding:0; }
+.htmlarea td { margin:0 !important;padding:0 !important; }
.htmlarea .toolbarRow {
width:1px;
@@ -35,7 +35,7 @@
.htmlarea .toolbar .buttonActive,
.htmlarea .toolbar .buttonPressed
{
- padding: 2px 0 0 2px;
+ /*padding: 2px 0 0 2px;*/ padding:0;
border: 1px solid;
border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
}
@@ -94,6 +94,10 @@
font: 11px Tahoma,Verdana,sans-serif;
height:16px;
overflow: hidden;
+
+ /* Fix #1601 Incorrect sized status statusBar*/
+ box-sizing:border-box;
+ height:22px; /* 4px pad + 1x border additional to the 16px which was used above */
}
.htmlarea .statusBar .statusBarTree a {
@@ -348,7 +352,7 @@ form { margin: 0; border: none; }
{
font-family:sans-serif;
position:absolute;
- z-index:998;
+ z-index:1000;
text-align:center;
width:212px;
padding: 55px 0 5px 0;
@@ -386,92 +390,3 @@ display: none;
{
display: none;
}
-
-.placesmanager
-{
- width: 95%;
- overflow: auto;
-}
-
-.filemanager
-{
- width: 95%;
- height: 200px;
- overflow: auto;
- background-color: #fff;
-}
-.filemanager div.file
-{
- min-width: 80px;
- height: 100px;
- position: relative;
- float: left;
- border: 1px outset #666;
- margin: 4px;
-}
-.placesmanager div.file
-{
- min-width: 60px;
- height: 70px;
- position: relative;
- float: left;
- border: 1px outset #666;
- margin: 4px;
-}
-.filemanager div.file:hover,
-.placesmanager div.file:hover
-{
- border: 1px solid #333;
- background: #fffff3;
-}
-
-.filemanager div.selected,
-.filemanager div.selected:hover,
-.placesmanager div.selected,
-.placesmanager div.selected:hover
-{
- background: #ffffda;
- border: 1px solid #000;
-}
-.filemanager .filename {
- margin: 0.5em;
- color: #222;
-}
-.filemanager div.selected .filename {
- color: #000;
-}
-.filemanager img.thumb
-{
- width: 50px;
- height: 50px;
- position: absolute;
- top: 50%;
- left: 50%;
- margin: -25px 0 0 -25px;
- border: 1px solid black;
-}
-.filemanager img.icon
-{
- width: 32px;
- height: 32px;
- position: absolute;
- top: 50%;
- left: 50%;
- margin: -16px 0 0 -16px;
-}
-.filemanager img.action
-{
- width: 15px;
- height: 15px;
- position: absolute;
-}
-.filemanager img.delete
-{
- bottom: 3px;
- left: 20px;
-}
-.filemanager img.copy
-{
- bottom: 3px;
- left: 3px;
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/XinhaCore.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/XinhaCore.js
new file mode 100644
index 0000000000..af6ce902b3
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/XinhaCore.js
@@ -0,0 +1,9671 @@
+
+ /*--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
+ -- Xinha (is not htmlArea) - http://xinha.org
+ --
+ -- Use of Xinha is granted by the terms of the htmlArea License (based on
+ -- BSD license) please read license.txt in this package for details.
+ --
+ -- Copyright (c) 2005-2008 Xinha Developer Team and contributors
+ --
+ -- Xinha was originally based on work by Mihai Bazon which is:
+ -- Copyright (c) 2003-2004 dynarch.com.
+ -- Copyright (c) 2002-2003 interactivetools.com, inc.
+ -- This copyright notice MUST stay intact for use.
+ --
+ -- Developers - Coding Style:
+ -- Before you are going to work on Xinha code, please see http://trac.xinha.org/wiki/Documentation/StyleGuide
+ --
+ -- $HeadURL: http://svn.xinha.org/trunk/XinhaCore.js $
+ -- $LastChangedDate: 2018-03-29 11:13:25 +1300 (Thu, 29 Mar 2018) $
+ -- $LastChangedRevision: 1433 $
+ -- $LastChangedBy: gogo $
+ --------------------------------------------------------------------------*/
+/*jslint regexp: false, rhino: false, browser: true, bitwise: false, forin: true, adsafe: false, evil: true, nomen: false,
+glovar: false, debug: false, eqeqeq: false, passfail: false, sidebar: false, laxbreak: false, on: false, cap: true,
+white: false, widget: false, undef: true, plusplus: false*/
+/*global Dialog , _editor_css , _editor_icons, _editor_lang , _editor_skin , _editor_url, dumpValues, ActiveXObject, HTMLArea, _editor_lcbackend*/
+
+/** Information about the Xinha version
+ * @type Object
+ */
+Xinha.version =
+{
+ 'Release' : 'Trunk',
+ 'Head' : '$HeadURL: http://svn.xinha.org/trunk/XinhaCore.js $'.replace(/^[^:]*:\s*(.*)\s*\$$/, '$1'),
+ 'Date' : '$LastChangedDate: 2018-03-29 11:13:25 +1300 (Thu, 29 Mar 2018) $'.replace(/^[^:]*:\s*([0-9\-]*) ([0-9:]*) ([+0-9]*) \((.*)\)\s*\$/, '$4 $2 $3'),
+ 'Revision' : '$LastChangedRevision: 1433 $'.replace(/^[^:]*:\s*(.*)\s*\$$/, '$1'),
+ 'RevisionBy': '$LastChangedBy: gogo $'.replace(/^[^:]*:\s*(.*)\s*\$$/, '$1')
+};
+
+//must be here. it is called while converting _editor_url to absolute
+Xinha._resolveRelativeUrl = function( base, url )
+{
+ if(url.match(/^([^:]+\:)?\/\//))
+ {
+ return url;
+ }
+ else
+ {
+ var b = base.split("/");
+ if(b[b.length - 1] === "")
+ {
+ b.pop();
+ }
+ var p = url.split("/");
+ if(p[0] == ".")
+ {
+ p.shift();
+ }
+ while(p[0] == "..")
+ {
+ b.pop();
+ p.shift();
+ }
+ return b.join("/") + "/" + p.join("/");
+ }
+};
+
+// Automatically determine editor_url from our script src if it is not supplied
+if ( typeof _editor_url == 'undefined' || _editor_url == null)
+{
+ // Because of the way the DOM is loaded, this is guaranteed to always pull our script tag.
+ var scripts = document.getElementsByTagName('script');
+ var this_script = scripts[scripts.length - 1];
+ _editor_url = this_script.src.split('?')[0].split('/').slice(0, -1).join('/').replace(/\x2f*$/, '/');
+}
+
+if ( typeof _editor_url == "string" )
+{
+ // Leave exactly one backslash at the end of _editor_url
+ _editor_url = _editor_url.replace(/\x2f*$/, '/');
+
+ // convert _editor_url to absolute
+ if(!_editor_url.match(/^([^:]+\:)?\//))
+ {
+ (function()
+ {
+ var tmpPath = window.location.toString().replace(/\?.*$/,'').split("/");
+ tmpPath.pop();
+ _editor_url = Xinha._resolveRelativeUrl(tmpPath.join("/"), _editor_url);
+ })();
+ }
+}
+
+// make sure we have a language
+if ( typeof _editor_lang == "string" )
+{
+ _editor_lang = _editor_lang.toLowerCase();
+}
+else
+{
+ _editor_lang = "en";
+}
+
+// skin stylesheet to load
+if ( typeof _editor_skin !== "string" )
+{
+ _editor_skin = "";
+}
+
+if ( typeof _editor_icons !== "string" )
+{
+ _editor_icons = "";
+}
+/**
+* The list of Xinha editors on the page. May be multiple editors.
+* You can access each editor object through this global variable.
+*
+* Example:
+*
+* var html = __xinhas[0].getEditorContent(); // gives you the HTML of the first editor in the page
+*
+*/
+var __xinhas = [];
+
+// browser identification
+/** Cache the user agent for the following checks
+ * @type String
+ * @private
+ */
+Xinha.agt = navigator.userAgent.toLowerCase();
+/** Browser is Microsoft Internet Explorer
+ *
+ * WARNING Starting with Internet Explorer 11, this no longer detects as IE, but instead
+ * detects as Gecko. Oddly enough, it seems to work pretty much fine under
+ * Xinha's Gecko Engine, so I don't think we should change this to match IE11
+ * and continue to just pretend it is Gecko.
+ *
+ * https://blogs.msdn.microsoft.com/ieinternals/2013/09/21/internet-explorer-11s-many-user-agent-strings/
+ *
+ * WARNING Starting with Microsoft Edge (what a silly name for a browser) this no longer
+ * detects as Gecko but instead detects as Webkit. I can't really see any obvious
+ * behavioural differences between using Gecko and using Webkit (you can force
+ * this by, after loading XinhaCore.js but before configuring/initialising setting
+ * Xinha.is_webkit = false; Xinha.is_gecko = true;
+ *
+ * Quoting from Wikipedia:
+ * EdgeHTML is meant to be fully compatible with the WebKit layout engine
+ * used by Safari, Chrome and other browsers. Microsoft has stated that
+ * "any Edge-WebKit differences are bugs that we’re interested in fixing."[24]
+ *
+ * So I think that we best have it detect as Webkit, seems that should in theory
+ * be closest to the mark (vs Gecko). Chrome also uses the Webkit Xinha module..
+ *
+ * It should be noted that the old InternetExplorer engine absolutely does not work
+ * with edge (and probably not with IE11 I expect but I have not tried).
+ *
+ * @type Boolean
+ */
+Xinha.is_ie = ((Xinha.agt.indexOf("msie") != -1) && (Xinha.agt.indexOf("opera") == -1));
+/** Version Number, if browser is Microsoft Internet Explorer
+ * @type Float
+ */
+Xinha.ie_version= parseFloat(Xinha.agt.substring(Xinha.agt.indexOf("msie")+5));
+/** Browser is Opera
+ * @type Boolean
+ */
+Xinha.is_opera = (Xinha.agt.indexOf("opera") != -1);
+/** Version Number, if browser is Opera
+ * @type Float
+ */
+if(Xinha.is_opera && Xinha.agt.match(/opera[\/ ]([0-9.]+)/))
+{
+ Xinha.opera_version = parseFloat(RegExp.$1);
+}
+else
+{
+ Xinha.opera_version = 0;
+}
+/** Browserengine is KHTML (Konqueror, Safari)
+ * @type Boolean
+ */
+Xinha.is_khtml = (Xinha.agt.indexOf("khtml") != -1);
+/** Browser is WebKit
+ * @type Boolean
+ */
+Xinha.is_webkit = (Xinha.agt.indexOf("applewebkit") != -1);
+/** Webkit build number
+ * @type Integer
+ */
+Xinha.webkit_version = parseInt(navigator.appVersion.replace(/.*?AppleWebKit\/([\d]).*?/,'$1'), 10);
+
+/** Browser is Safari
+ * @type Boolean
+ */
+Xinha.is_safari = (Xinha.agt.indexOf("safari") != -1);
+
+/** Browser is Google Chrome
+ * @type Boolean
+ */
+Xinha.is_chrome = (Xinha.agt.indexOf("chrome") != -1);
+
+/** OS is MacOS
+ * @type Boolean
+ */
+Xinha.is_mac = (Xinha.agt.indexOf("mac") != -1);
+Xinha.is_ios = (Xinha.agt.indexOf("iphone") != -1) || (Xinha.agt.indexOf("ipad") != -1) ;
+
+/** Browser is Microsoft Internet Explorer Mac
+ * @type Boolean
+ */
+Xinha.is_mac_ie = (Xinha.is_ie && Xinha.is_mac);
+/** Browser is Microsoft Internet Explorer Windows
+ * @type Boolean
+ */
+Xinha.is_win_ie = (Xinha.is_ie && !Xinha.is_mac);
+/** Browser engine is Gecko (Mozilla), applies also to Safari and Opera which work
+ * largely similar.
+ *@type Boolean
+ */
+Xinha.is_gecko = (navigator.product == "Gecko") || Xinha.is_opera;
+/** Browser engine is really Gecko, i.e. Browser is Firefox (or Netscape, SeaMonkey, Flock, Songbird, Beonex, K-Meleon, Camino, Galeon, Kazehakase, Skipstone, or whatever derivate might exist out there...)
+ * @type Boolean
+ */
+Xinha.is_real_gecko = (navigator.product == "Gecko" && !Xinha.is_webkit);
+
+/** Gecko version lower than 1.9
+ * @type Boolean
+ */
+// http://trac.xinha.org/ticket/1620
+Xinha.is_ff2 = Xinha.is_real_gecko && navigator.productSub && parseInt(navigator.productSub.substr(0,10), 10) < 20071210;
+
+/** File is opened locally opened ("file://" protocol)
+ * @type Boolean
+ * @private
+ */
+Xinha.isRunLocally = document.URL.toLowerCase().search(/^file:/) != -1;
+/** Editing is enabled by document.designMode (Gecko, Opera), as opposed to contenteditable (IE)
+ * @type Boolean
+ * @private
+ */
+Xinha.is_designMode = (typeof document.designMode != 'undefined' && !Xinha.is_ie); // IE has designMode, but we're not using it
+
+/** Check if Xinha can run in the used browser, otherwise the textarea will be remain unchanged
+ * @type Boolean
+ * @private
+ */
+Xinha.checkSupportedBrowser = function()
+{
+ return Xinha.is_real_gecko || (Xinha.is_opera && Xinha.opera_version >= 9.2) || Xinha.ie_version >= 5.5 || Xinha.webkit_version >= 522;
+};
+/** Cache result of checking for browser support
+ * @type Boolean
+ * @private
+ */
+Xinha.isSupportedBrowser = Xinha.checkSupportedBrowser();
+
+if ( Xinha.isRunLocally && Xinha.isSupportedBrowser)
+{
+ alert('Xinha *must* be installed on a web server. Locally opened files (those that use the "file://" protocol) cannot properly function. Xinha will try to initialize but may not be correctly loaded.');
+}
+
+/** Creates a new Xinha object
+ * @version $Rev: 1433 $ $LastChangedDate: 2018-03-29 11:13:25 +1300 (Thu, 29 Mar 2018) $
+ * @constructor
+ * @param {String|DomNode} textarea the textarea to replace; can be either only the id or the DOM object as returned by document.getElementById()
+ * @param {Xinha.Config} config optional if no Xinha.Config object is passed, the default config is used
+ */
+function Xinha(textarea, config)
+{
+ if ( !Xinha.isSupportedBrowser )
+ {
+ return;
+ }
+
+ if ( !textarea )
+ {
+ throw new Error ("Tried to create Xinha without textarea specified.");
+ }
+
+ if ( typeof config == "undefined" )
+ {
+ /** The configuration used in the editor
+ * @type Xinha.Config
+ */
+ this.config = new Xinha.Config();
+ }
+ else
+ {
+ this.config = config;
+ }
+
+ if ( typeof textarea != 'object' )
+ {
+ textarea = Xinha.getElementById('textarea', textarea);
+ }
+ /** This property references the original textarea, which is at the same time the editor in text mode
+ * @type DomNode textarea
+ */
+ this._textArea = textarea;
+ this._textArea.spellcheck = false;
+ Xinha.freeLater(this, '_textArea');
+
+ //
+ /** Before we modify anything, get the initial textarea size
+ * @private
+ * @type Object w,h
+ */
+ this._initial_ta_size =
+ {
+ w: textarea.style.width ? textarea.style.width : ( textarea.offsetWidth ? ( textarea.offsetWidth + 'px' ) : ( textarea.cols + 'em') ),
+ h: textarea.style.height ? textarea.style.height : ( textarea.offsetHeight ? ( textarea.offsetHeight + 'px' ) : ( textarea.rows + 'em') )
+ };
+
+ if ( document.getElementById("loading_" + textarea.id) || this.config.showLoading )
+ {
+ if (!document.getElementById("loading_" + textarea.id))
+ {
+ Xinha.createLoadingMessage(textarea);
+ }
+ this.setLoadingMessage(Xinha._lc("Constructing object"));
+ }
+
+ /** the current editing mode
+ * @private
+ * @type string "wysiwyg"|"text"
+ */
+ this._editMode = "wysiwyg";
+ /** this object holds the plugins used in the editor
+ * @private
+ * @type Object
+ */
+ this.plugins = {};
+ /** periodically updates the toolbar
+ * @private
+ * @type timeout
+ */
+ this._timerToolbar = null;
+ /** periodically takes a snapshot of the current editor content
+ * @private
+ * @type timeout
+ */
+ this._timerUndo = null;
+ /** holds the undo snapshots
+ * @private
+ * @type Array
+ */
+ this._undoQueue = [this.config.undoSteps];
+ /** the current position in the undo queue
+ * @private
+ * @type integer
+ */
+ this._undoPos = -1;
+ /** use our own undo implementation (true) or the browser's (false)
+ * @private
+ * @type Boolean
+ */
+ this._customUndo = true;
+ /** the document object of the page Xinha is embedded in
+ * @private
+ * @type document
+ */
+ this._mdoc = document; // cache the document, we need it in plugins
+ /** doctype of the edited document (fullpage mode)
+ * @private
+ * @type string
+ */
+ this.doctype = '';
+ /** running number that identifies the current editor
+ * @public
+ * @type integer
+ */
+ this.__htmlarea_id_num = __xinhas.length;
+ __xinhas[this.__htmlarea_id_num] = this;
+
+ /** holds the events for use with the notifyOn/notifyOf system
+ * @private
+ * @type Object
+ */
+ this._notifyListeners = {};
+
+ // Panels
+ var panels =
+ {
+ right:
+ {
+ on: true,
+ container: document.createElement('td'),
+ panels: []
+ },
+ left:
+ {
+ on: true,
+ container: document.createElement('td'),
+ panels: []
+ },
+ top:
+ {
+ on: true,
+ container: document.createElement('td'),
+ panels: []
+ },
+ bottom:
+ {
+ on: true,
+ container: document.createElement('td'),
+ panels: []
+ }
+ };
+
+ for ( var i in panels )
+ {
+ if(!panels[i].container) { continue; } // prevent iterating over wrong type
+ panels[i].div = panels[i].container; // legacy
+ panels[i].container.className = 'panels panels_' + i;
+ Xinha.freeLater(panels[i], 'container');
+ Xinha.freeLater(panels[i], 'div');
+ }
+ /** holds the panels
+ * @private
+ * @type Array
+ */
+ // finally store the variable
+ this._panels = panels;
+
+ // Init some properties that are defined later
+ /** The statusbar container
+ * @type DomNode statusbar div
+ */
+ this._statusBar = null;
+ /** The DOM path that is shown in the statusbar in wysiwyg mode
+ * @private
+ * @type DomNode
+ */
+ this._statusBarTree = null;
+ /** The message that is shown in the statusbar in text mode
+ * @private
+ * @type DomNode
+ */
+ this._statusBarTextMode = null;
+ /** Holds the items of the DOM path that is shown in the statusbar in wysiwyg mode
+ * @private
+ * @type Array tag names
+ */
+ this._statusBarItems = [];
+ /** Holds the parts (table cells) of the UI (toolbar, panels, statusbar)
+
+ * @type Object framework parts
+ */
+ this._framework = {};
+ /** Them whole thing (table)
+ * @private
+ * @type DomNode
+ */
+ this._htmlArea = null;
+ /** This is the actual editable area.
+ * Technically it's an iframe that's made editable using window.designMode = 'on', respectively document.body.contentEditable = true (IE).
+ * Use this property to get a grip on the iframe's window features
+ *
+ * @type window
+ */
+ this._iframe = null;
+ /** The document object of the iframe.
+ * Use this property to perform DOM operations on the edited document
+ * @type document
+ */
+ this._doc = null;
+ /** The toolbar
+ * @private
+ * @type DomNode
+ */
+ this._toolBar = this._toolbar = null; //._toolbar is for legacy, ._toolBar is better thanks.
+ /** Holds the botton objects
+ * @private
+ * @type Object
+ */
+ this._toolbarObjects = {};
+
+ //hook in config.Events as as a "plugin"
+ this.plugins.Events =
+ {
+ name: 'Events',
+ developer : 'The Xinha Core Developer Team',
+ instance: config.Events
+ };
+};
+// ray: What is this for? Do we need it?
+Xinha.onload = function() { };
+Xinha.init = function() { Xinha.onload(); };
+
+// cache some regexps
+/** Identifies HTML tag names
+* @type RegExp
+*/
+Xinha.RE_tagName = /(<\/|<)\s*([^ \t\n>]+)/ig;
+/** Exracts DOCTYPE string from HTML
+* @type RegExp
+*/
+Xinha.RE_doctype = /()\n?/i;
+/** Finds head section in HTML
+* @type RegExp
+*/
+Xinha.RE_head = /((.|\n)*?)<\/head>/i;
+/** Finds body section in HTML
+* @type RegExp
+*/
+Xinha.RE_body = /]*>((.|\n|\r|\t)*?)<\/body>/i;
+/** Special characters that need to be escaped when dynamically creating a RegExp from an arbtrary string
+* @private
+* @type RegExp
+*/
+Xinha.RE_Specials = /([\/\^$*+?.()|{}\[\]])/g;
+/** When dynamically creating a RegExp from an arbtrary string, some charactes that have special meanings in regular expressions have to be escaped.
+* Run any string through this function to escape reserved characters.
+* @param {string} string the string to be escaped
+* @returns string
+*/
+Xinha.escapeStringForRegExp = function (string)
+{
+ return string.replace(Xinha.RE_Specials, '\\$1');
+};
+/** Identifies email addresses
+* @type RegExp
+*/
+Xinha.RE_email = /^[_a-z\d\-\.]{3,}@[_a-z\d\-]{2,}(\.[_a-z\d\-]{2,})+$/i;
+/** Identifies URLs
+* @type RegExp
+*/
+Xinha.RE_url = /(https?:\/\/)?(([a-z0-9_]+:[a-z0-9_]+@)?[a-z0-9_\-]{2,}(\.[a-z0-9_\-]{2,}){2,}(:[0-9]+)?(\/\S+)*)/i;
+
+/** This object records for known plugins where they can be found
+ * this is used by loadPlugin to avoid having to test multiple locations
+ * when we can reasonably know where the plugin is because it is
+ * part of the distribution.
+ *
+ * This becomes important because of CoRS and a problem with Amazon S3
+ * in which it does not poroduce a necessary header to Chrome if Chrome
+ * first requests a script as part of loading a
+ *
+ * And it will convert all textareas on the page.
+ *
+ * See examples/Newbie.html for a complete configuration example
+ *
+ */
+
+_editor_url = typeof _editor_url != 'undefined' ? _editor_url : null;
+_editor_lang = typeof _editor_lang != 'undefined' ? _editor_lang : 'en';
+_editor_skin = typeof _editor_skin != 'undefined' ? _editor_skin : 'silva';
+_editor_icons = typeof _editor_icons != 'undefined' ? _editor_icons : null;
+_editor_css = typeof _editor_css != 'undefined' ? _editor_css : null;
+
+xinha_init = null;
+xinha_editors = null;
+xinha_config = null;
+xinha_toolbar = null;
+xinha_plugins = null;
+
+// Auto detect _editor_url if it's not set.
+(function() // wrap this in an ad-hoc function to avoid unecessary pollution of global namespace
+{
+ // Because of the way the DOM is loaded, this is guaranteed to always pull our script tag.
+ var scripts = document.getElementsByTagName('script');
+ var this_script = scripts[scripts.length - 1];
+
+ var xinha_options = null;
+
+ // We can grab the script innerHTML and execute that to cut down on script
+ // tags. Thanks John Resig!
+ // http://ejohn.org/blog/degrading-script-tags/
+ if (this_script.innerHTML.replace(/\s+/, ''))
+ {
+ try // DEBUGGING: Comment out this line and the catch(e) below
+ {
+ eval(this_script.innerHTML);
+
+
+ // Because the setup options might reference _editor_url, we treat that first...
+ // Chop off any query string. Chop the filename off of the URL
+ // Leave exactly one backslash at the end of _editor_url
+ _editor_url = xinha_options._editor_url || this_script.src.split('?')[0].split('/').slice(0, -1).join('/').replace(/\x2f*$/, '/');
+
+ // then reload the options...
+ xinha_options = eval(this_script.innerHTML);
+ delete xinha_options.editor_url;
+ }
+ catch(e) // DEBUGGING: Comment out this line and the try below
+ {
+ if(typeof console != 'undefined' && typeof console.log == 'function')
+ {
+ var warn = typeof console.error == 'function' ? function(w){console.error(w);} : function(w){console.log(w);};
+ warn(e);
+ warn("Xinha: There is a problem loading your configuration data.");
+ warn("Xinha: Check for common problems like a missing comma after a configuration section, or semicolons instead of commas after configuration sections.");
+ warn("Xinha: If you get really stuck, comment the try and catch lines around here and the native error might be more useful.");
+ warn("Xinha: Default configuration is being used.");
+ }
+ else
+ {
+ throw e;
+ }
+ xinha_options = null;
+ }
+ }
+
+ if(_editor_url == null)
+ {
+ _editor_url = this_script.src.split('?')[0].split('/').slice(0, -1).join('/');
+ }
+
+ // Default values
+ if(xinha_options != null)
+ {
+ for(var i in xinha_options)
+ {
+ if(xinha_options[i] !== null)
+ {
+ window[i] = xinha_options[i];
+ }
+ }
+ }
+})()
+
+_editor_url = _editor_url.replace(/\x2f*$/, '/');
+
+// It may be that we already have the XinhaCore.js loaded, if so, we don't need this stuff
+// and setting it would override the proper stuff.
+if(typeof Xinha == 'undefined')
+{
+ var Xinha = {};
+
+ Xinha.agt = navigator.userAgent.toLowerCase();
+ Xinha.is_ie = ((Xinha.agt.indexOf("msie") != -1) && (Xinha.agt.indexOf("opera") == -1));
+ Xinha.ie_version= parseFloat(Xinha.agt.substring(Xinha.agt.indexOf("msie")+5));
+ Xinha.is_opera = (Xinha.agt.indexOf("opera") != -1);
+ Xinha.is_khtml = (Xinha.agt.indexOf("khtml") != -1);
+ Xinha.is_webkit = (Xinha.agt.indexOf("applewebkit") != -1);
+ Xinha.is_safari = (Xinha.agt.indexOf("safari") != -1);
+ Xinha.opera_version = navigator.appVersion.substring(0, navigator.appVersion.indexOf(" "))*1;
+ Xinha.is_mac = (Xinha.agt.indexOf("mac") != -1);
+ Xinha.is_mac_ie = (Xinha.is_ie && Xinha.is_mac);
+ Xinha.is_win_ie = (Xinha.is_ie && !Xinha.is_mac);
+ Xinha.is_gecko = (navigator.product == "Gecko" && !Xinha.is_safari); // Safari lies!
+ Xinha.isRunLocally = document.URL.toLowerCase().search(/^file:/) != -1;
+ Xinha.is_designMode = (typeof document.designMode != 'undefined' && !Xinha.is_ie); // IE has designMode, but we're not using it
+ Xinha.isSupportedBrowser = Xinha.is_gecko || (Xinha.is_opera && Xinha.opera_version >= 9.1) || Xinha.ie_version >= 5.5 || Xinha.is_safari;
+
+ Xinha.loadPlugins = function(plugins, callbackIfNotReady)
+ {
+ if ( !Xinha.isSupportedBrowser ) return;
+
+ Xinha.loadStyle(typeof _editor_css == "string" ? _editor_css : "Xinha.css","XinhaCoreDesign");
+ Xinha.createLoadingMessages(xinha_editors);
+ var loadingMessages = Xinha.loadingMessages;
+ Xinha._loadback(_editor_url + "XinhaCore.js",function () {
+ // Xinha.removeLoadingMessages(xinha_editors);
+ // Xinha.createLoadingMessages(xinha_editors);
+ callbackIfNotReady()
+ });
+ return false;
+ }
+
+ Xinha._loadback = function(Url, Callback, Scope, Bonus)
+ {
+ var T = !Xinha.is_ie ? "onload" : 'onreadystatechange';
+ var S = document.createElement("script");
+ S.type = "text/javascript";
+ S.src = Url;
+ if ( Callback )
+ {
+ S[T] = function()
+ {
+ if ( Xinha.is_ie && ( ! ( /loaded|complete/.test(window.event.srcElement.readyState) ) ) )
+ {
+ return;
+ }
+
+ Callback.call(Scope ? Scope : this, Bonus);
+ S[T] = null;
+ };
+ }
+ document.getElementsByTagName("head")[0].appendChild(S);
+ };
+
+ Xinha.getElementTopLeft = function(element)
+ {
+ var curleft = 0;
+ var curtop = 0;
+ if (element.offsetParent)
+ {
+ curleft = element.offsetLeft
+ curtop = element.offsetTop
+ while (element = element.offsetParent)
+ {
+ curleft += element.offsetLeft
+ curtop += element.offsetTop
+ }
+ }
+ return { top:curtop, left:curleft };
+ }
+
+ // find X position of an element
+ Xinha.findPosX = function(obj)
+ {
+ var curleft = 0;
+ if ( obj.offsetParent )
+ {
+ return Xinha.getElementTopLeft(obj).left;
+ }
+ else if ( obj.x )
+ {
+ curleft += obj.x;
+ }
+ return curleft;
+ };
+
+ // find Y position of an element
+ Xinha.findPosY = function(obj)
+ {
+ var curtop = 0;
+ if ( obj.offsetParent )
+ {
+ return Xinha.getElementTopLeft(obj).top;
+ }
+ else if ( obj.y )
+ {
+ curtop += obj.y;
+ }
+ return curtop;
+ };
+
+ Xinha.createLoadingMessages = function(xinha_editors)
+ {
+ if ( Xinha.loadingMessages || !Xinha.isSupportedBrowser )
+ {
+ return;
+ }
+ Xinha.loadingMessages = [];
+
+ for (var i=0;i= 0)
+ {
+ this.splice(idx, 1);
+ }
+
+ return this;
+ };
+
+ PluginsArray.prototype.only = function(p)
+ {
+ // Enpty ourself
+ if(this.length)
+ {
+ this.splice(0,this.length);
+ }
+
+ // Add them in
+ if(typeof p == 'string')
+ {
+ p = [ p ];
+ }
+
+ for(var i = 0; i < p.length; i++)
+ {
+ this.push(p[i]);
+ }
+ }
+
+ for(var i in xinha_editors)
+ {
+ var specific_plugins = new PluginsArray(xinha_plugins);
+ var plugins_returned = xinha_plugins_specific(specific_plugins, xinha_editors[i]._textArea, xinha_editors[i]);
+
+ // Note that if they don't return anything, it will probably still work
+ // due to references and such
+ if(typeof plugins_returned == 'object')
+ {
+ specific_plugins = plugins_returned;
+ }
+ xinha_editors[i].registerPlugins(parse_plugins(specific_plugins));
+ }
+ }
+ else
+ {
+ xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
+ }
+
+
+ /** STEP 5 ***************************************************************
+ * If you want to change the configuration variables of any of the
+ * editors, this is the place to do that, for example you might want to
+ * change the width and height of one of the editors, like this...
+ *
+ * xinha_editors.myTextArea.config.width = '640px';
+ * xinha_editors.myTextArea.config.height = '480px';
+ *
+ ************************************************************************/
+
+ if(typeof xinha_config_specific == 'function')
+ {
+ for(var i in xinha_editors)
+ {
+ var returned_config = xinha_config_specific(xinha_editors[i].config, xinha_editors[i]._textArea, xinha_editors[i]);
+
+ // If the function doesn't return an object, it will stil work probably
+ // as xinha_config.XXX in the function will be working on a reference
+ if(typeof returned_config == 'object')
+ {
+ xinha_editors[i].config = returned_config;
+ }
+ }
+ }
+
+
+ /** STEP 6 ***************************************************************
+ * Finally we "start" the editors, this turns the textareas into
+ * Xinha editors.
+ ************************************************************************/
+
+ Xinha.startEditors(xinha_editors);
+}
+
+Xinha.addOnloadHandler(xinha_init); // this executes the xinha_init function on page load
+ // and does not interfere with window.onload properties set by other scripts
+
+
+
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/XinhaLoader.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/XinhaLoader.js
new file mode 100755
index 0000000000..ac83ad7daf
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/XinhaLoader.js
@@ -0,0 +1,283 @@
+var Xinha = {};
+
+// Auto detect _editor_url if it's not set.
+if (!window._editor_url)
+{
+ (function() // wrap this in an ad-hoc function to avoid unecessary pollution of global namespace
+ {
+ // Because of the way the DOM is loaded, this is guaranteed to always pull our script tag.
+ var scripts = document.getElementsByTagName('script');
+ var this_script = scripts[scripts.length - 1];
+
+ // We'll allow two ways to specify arguments. We'll accept them in the
+ // argument of the script, or we'll accept them embedded into our script tag.
+ var args = this_script.src.split('?');
+ args = args.length == 2 ? args[1].split('&') : '';
+ for (var index = 0; index < args.length; ++index)
+ {
+ var arg = args[index].split('=');
+ if (arg.length == 2)
+ {
+ switch (arg[0])
+ {
+ case 'lang':
+ case 'icons':
+ case 'skin':
+ case 'url':
+ window['_editor_' + arg[0]] = arg[1];
+ break;
+ }
+ }
+ }
+
+ // We can grab the script innerHTML and execute that to cut down on script
+ // tags. Thanks John Resig!
+ // http://ejohn.org/blog/degrading-script-tags/
+ if (this_script.innerHTML.replace(/\s+/, ''))
+ {
+ eval(this_script.innerHTML);
+ }
+
+ // Default values
+ _editor_lang = window._editor_lang || 'en';
+
+ // Chop off any query string. Chop the filename off of the URL.
+ _editor_url = window._editor_url || this_script.src.split('?')[0].split('/').slice(0, -1).join('/');
+
+ })()
+}
+_editor_url = _editor_url.replace(/\x2f*$/, '/');
+
+Xinha.agt = navigator.userAgent.toLowerCase();
+Xinha.is_ie = ((Xinha.agt.indexOf("msie") != -1) && (Xinha.agt.indexOf("opera") == -1));
+Xinha.ie_version= parseFloat(Xinha.agt.substring(Xinha.agt.indexOf("msie")+5));
+Xinha.is_opera = (Xinha.agt.indexOf("opera") != -1);
+Xinha.is_khtml = (Xinha.agt.indexOf("khtml") != -1);
+Xinha.is_webkit = (Xinha.agt.indexOf("applewebkit") != -1);
+Xinha.is_safari = (Xinha.agt.indexOf("safari") != -1);
+Xinha.opera_version = navigator.appVersion.substring(0, navigator.appVersion.indexOf(" "))*1;
+Xinha.is_mac = (Xinha.agt.indexOf("mac") != -1);
+Xinha.is_mac_ie = (Xinha.is_ie && Xinha.is_mac);
+Xinha.is_win_ie = (Xinha.is_ie && !Xinha.is_mac);
+Xinha.is_gecko = (navigator.product == "Gecko" && !Xinha.is_safari); // Safari lies!
+Xinha.isRunLocally = document.URL.toLowerCase().search(/^file:/) != -1;
+Xinha.is_designMode = (typeof document.designMode != 'undefined' && !Xinha.is_ie); // IE has designMode, but we're not using it
+Xinha.isSupportedBrowser = Xinha.is_gecko || (Xinha.is_opera && Xinha.opera_version >= 9.1) || Xinha.ie_version >= 5.5 || Xinha.is_safari;
+
+Xinha.loadPlugins = function(plugins, callbackIfNotReady)
+{
+ if ( !Xinha.isSupportedBrowser ) return;
+
+ Xinha.loadStyle(typeof _editor_css == "string" ? _editor_css : "Xinha.css","XinhaCoreDesign");
+ Xinha.createLoadingMessages(xinha_editors);
+ var loadingMessages = Xinha.loadingMessages;
+ Xinha._loadback(_editor_url + "XinhaCore.js",function () {
+ Xinha.removeLoadingMessages(xinha_editors);
+ Xinha.createLoadingMessages(xinha_editors);
+ callbackIfNotReady()
+ });
+ return false;
+}
+
+Xinha._loadback = function(Url, Callback, Scope, Bonus)
+{
+ var T = !Xinha.is_ie ? "onload" : 'onreadystatechange';
+ var S = document.createElement("script");
+ S.type = "text/javascript";
+ S.src = Url;
+ if ( Callback )
+ {
+ S[T] = function()
+ {
+ if ( Xinha.is_ie && ( ! ( /loaded|complete/.test(window.event.srcElement.readyState) ) ) )
+ {
+ return;
+ }
+
+ Callback.call(Scope ? Scope : this, Bonus);
+ S[T] = null;
+ };
+ }
+ document.getElementsByTagName("head")[0].appendChild(S);
+};
+
+Xinha.getElementTopLeft = function(element)
+{
+ var curleft = 0;
+ var curtop = 0;
+ if (element.offsetParent)
+ {
+ curleft = element.offsetLeft
+ curtop = element.offsetTop
+ while (element = element.offsetParent)
+ {
+ curleft += element.offsetLeft
+ curtop += element.offsetTop
+ }
+ }
+ return { top:curtop, left:curleft };
+}
+
+// find X position of an element
+Xinha.findPosX = function(obj)
+{
+ var curleft = 0;
+ if ( obj.offsetParent )
+ {
+ return Xinha.getElementTopLeft(obj).left;
+ }
+ else if ( obj.x )
+ {
+ curleft += obj.x;
+ }
+ return curleft;
+};
+
+// find Y position of an element
+Xinha.findPosY = function(obj)
+{
+ var curtop = 0;
+ if ( obj.offsetParent )
+ {
+ return Xinha.getElementTopLeft(obj).top;
+ }
+ else if ( obj.y )
+ {
+ curtop += obj.y;
+ }
+ return curtop;
+};
+
+Xinha.createLoadingMessages = function(xinha_editors)
+{
+ if ( Xinha.loadingMessages || !Xinha.isSupportedBrowser )
+ {
+ return;
+ }
+ Xinha.loadingMessages = [];
+
+ for (var i=0;i
+
+
+
+ Custom Plugins Xinha Loading Example
+
+
+
+
+
+
+
+
Custom Plugins Newbie Guide Example
+
This example shows how you can load custom plugins which are outside of the Xinha standard plugins location.
+
+
You can do this even if you use Xinha from a CDN and have your custom plugins locally.
+
+
Click into the editor and look in the status bar, on the right you will see the message printed by this (silly) custom plugin which has been loaded from /examples/custom_plugins.
+
+
+
+
+
+
+
+
You can see in the source of this page how we do this, simply by specifying...
... as an option to Xinha, which says, to load the standard 'minimal' plugins and also, from '/examples/custom_plugins' directory, load 'StatusBarMessage' plugin, you could of course load: ['StatusBarMessage', 'AnotherCustom' ] to load more than one thing from the same directory.
+
+
+
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/ExtendedDemo.html b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/ExtendedDemo.html
new file mode 100644
index 0000000000..0c30370b49
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/ExtendedDemo.html
@@ -0,0 +1,16 @@
+
+Xinha Extended Example
+
+
+
+
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Newbie.html b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Newbie.html
new file mode 100644
index 0000000000..eeb043e075
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Newbie.html
@@ -0,0 +1,158 @@
+
+
+
+
+ Standard Xinha Loading Example (Newbie Guide)
+
+
+
+
+
+
+
+
Newbie Guide Example
+
This example shows how a more complete usage of Xinha may look, view the source of this page and in the <head> section you will find all the code, mostly it's just comments!
+
+
We can see below that some Xinha areas have been created, with different sizes, different toolbars and different plugins.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Old_Newbie_Guide/Newbie.html b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Old_Newbie_Guide/Newbie.html
new file mode 100644
index 0000000000..ed1b3779b5
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Old_Newbie_Guide/Newbie.html
@@ -0,0 +1,23 @@
+
+
+
+ Xinha Newbie Guide
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Old_Newbie_Guide/XinhaConfig.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Old_Newbie_Guide/XinhaConfig.js
new file mode 100644
index 0000000000..4e76be0f12
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Old_Newbie_Guide/XinhaConfig.js
@@ -0,0 +1,136 @@
+xinha_editors = null;
+xinha_init = null;
+xinha_config = null;
+xinha_plugins = null;
+
+// This contains the names of textareas we will make into Xinha editors
+xinha_init = xinha_init ? xinha_init : function()
+{
+ /** STEP 1 ***************************************************************
+ * First, specify the textareas that shall be turned into Xinhas.
+ * For each one add the respective id to the xinha_editors array.
+ * I you want add more than on textarea, keep in mind that these
+ * values are comma seperated BUT there is no comma after the last value.
+ * If you are going to use this configuration on several pages with different
+ * textarea ids, you can add them all. The ones that are not found on the
+ * current page will just be skipped.
+ ************************************************************************/
+
+ xinha_editors = xinha_editors ? xinha_editors :
+ [
+ 'myTextArea', 'anotherOne'
+ ];
+
+ /** STEP 2 ***************************************************************
+ * Now, what are the plugins you will be using in the editors on this
+ * page. List all the plugins you will need, even if not all the editors
+ * will use all the plugins.
+ *
+ * The list of plugins below is a good starting point, but if you prefer
+ * a simpler editor to start with then you can use the following
+ *
+ * xinha_plugins = xinha_plugins ? xinha_plugins : [ ];
+ *
+ * which will load no extra plugins at all.
+ ************************************************************************/
+
+ xinha_plugins = xinha_plugins ? xinha_plugins :
+ [
+ 'CharacterMap',
+ 'ContextMenu',
+ 'FancySelects',
+ 'SmartReplace',
+ 'Stylist',
+ 'Linker',
+ 'SuperClean',
+ 'TableOperations',
+ 'ListOperations',
+ 'WebKitResize'
+ ];
+
+ // THIS BIT OF JAVASCRIPT LOADS THE PLUGINS, NO TOUCHING :)
+ if(!Xinha.loadPlugins(xinha_plugins, xinha_init)) return;
+
+
+ /** STEP 3 ***************************************************************
+ * We create a default configuration to be used by all the editors.
+ * If you wish to configure some of the editors differently this will be
+ * done in step 5.
+ *
+ * If you want to modify the default config you might do something like this.
+ *
+ * xinha_config = new Xinha.Config();
+ * xinha_config.width = '640px';
+ * xinha_config.height = '420px';
+ *
+ *
+ * For a list of the available configuration options, see:
+ * http://trac.xinha.org/wiki/Documentation/ConfigVariablesList
+ *
+ *************************************************************************/
+
+ xinha_config = xinha_config ? xinha_config() : new Xinha.Config();
+
+ //this is the standard toolbar, feel free to remove buttons as you like
+ xinha_config.toolbar =
+ [
+ ["popupeditor"],
+ ["separator","formatblock","fontname","fontsize","bold","italic","underline","strikethrough"],
+ ["separator","forecolor","hilitecolor","textindicator"],
+ ["separator","subscript","superscript"],
+ ["linebreak","separator","justifyleft","justifycenter","justifyright","justifyfull"],
+ ["separator","insertorderedlist","insertunorderedlist","outdent","indent"],
+ ["separator","inserthorizontalrule","createlink","insertimage","inserttable"],
+ ["linebreak","separator","undo","redo","selectall","print"], (Xinha.is_gecko ? [] : ["cut","copy","paste","overwrite","saveas"]),
+ ["separator","killword","clearfonts","removeformat","toggleborders","splitblock","lefttoright", "righttoleft"],
+ ["separator","htmlmode","showhelp","about"]
+ ];
+
+ // To adjust the styling inside the editor, we can load an external stylesheet like this
+ // NOTE : YOU MUST GIVE AN ABSOLUTE URL
+ xinha_config.pageStyleSheets = [ _editor_url + "examples/files/full_example.css" ];
+ //if you're using Stylist, import a stylesheet like this
+ xinha_config.stylistLoadStylesheet(_editor_url + "examples/files/stylist.css");
+
+
+ /** STEP 4 ***************************************************************
+ * We first create editors for the textareas.
+ *
+ * You can do this in two ways, either
+ *
+ * xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
+ *
+ * if you want all the editor objects to use the same set of plugins, OR;
+ *
+ * xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config);
+ * xinha_editors.myTextArea.registerPlugins(['Stylist']);
+ * xinha_editors.anotherOne.registerPlugins(['CSS','SuperClean']);
+ *
+ * if you want to use a different set of plugins for one or more of the
+ * editors.
+ ************************************************************************/
+
+ xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins);
+
+ /** STEP 5 ***************************************************************
+ * If you want to change the configuration variables of any of the
+ * editors, this is the place to do that, for example you might want to
+ * change the width and height of one of the editors, like this...
+ *
+ * xinha_editors.myTextArea.config.width = '640px';
+ * xinha_editors.myTextArea.config.height = '480px';
+ *
+ ************************************************************************/
+
+
+ /** STEP 6 ***************************************************************
+ * Finally we "start" the editors, this turns the textareas into
+ * Xinha editors.
+ ************************************************************************/
+
+ Xinha.startEditors(xinha_editors);
+}
+
+Xinha.addOnloadHandler(xinha_init); // this executes the xinha_init function on page load
+ // and does not interfere with window.onload properties set by other scripts
+
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Old_Newbie_Guide/simple_example.html b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Old_Newbie_Guide/simple_example.html
new file mode 100644
index 0000000000..6126ba1402
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/Old_Newbie_Guide/simple_example.html
@@ -0,0 +1,61 @@
+
+
+
+
+Simple example of Xinha
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/OneLine.html b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/OneLine.html
new file mode 100644
index 0000000000..c66c7fbf68
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/OneLine.html
@@ -0,0 +1,40 @@
+
+
+
+
+ Example of Easy Loading Xinha With No Configuration
+
+
+
+
+
+
+
+ This demonstration shows how you only need to add one single line to your page to enable Xinha for the textareas on it, the only code added is...
+
and that will cause all the textareas to be converted into Xinha areas with default options and commonly useful plugins.
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/UsingPhpPlugins.php b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/UsingPhpPlugins.php
new file mode 100644
index 0000000000..28db596e81
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/UsingPhpPlugins.php
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+ Example of Xinha
+
+
+
+
+
+
+
+
Demonstration of MootoolsFileManager and Linker with Xinha integration
+
MootoolsFileManager (for uploading Images and Files) and Linker (for browsing files on the server and making a link to them) plugins require PHP configuration to be passed in a secure way, this example shows you how to do this! View the source, all the code is in the head.
+
+
+
+
+
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/custom_plugins/StatusBarMessage/StatusBarMessage.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/custom_plugins/StatusBarMessage/StatusBarMessage.js
new file mode 100644
index 0000000000..f386c17d72
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/custom_plugins/StatusBarMessage/StatusBarMessage.js
@@ -0,0 +1,29 @@
+// A sily little demo plugin that puts a message in the status bar
+
+function StatusBarMessage(editor) {
+ this.editor = editor;
+}
+
+StatusBarMessage._pluginInfo = {
+ name : "StatusBarMessage",
+ version : "0.1",
+ developer : "James Sleeman",
+ license : "htmlArea"
+};
+
+StatusBarMessage.prototype._lc = function(string) {
+ return Xinha._lc(string, "StatusBarMessage");
+};
+
+StatusBarMessage.prototype.onGenerateOnce = function() {
+ var self = this;
+ if (this.message==null) {
+ var message = self.editor.registerStatusWidget('StatusBarMessage', ['wysiwyg']);
+ this.message = message;
+ }
+};
+
+StatusBarMessage.prototype.onUpdateToolbar = function() {
+ this.message.innerHTML = this._lc("Hello World, This Is The Custom Plugin Speaking");
+};
+
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/files/Extended.html b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/files/Extended.html
new file mode 100644
index 0000000000..f9c22ea9bf
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/files/Extended.html
@@ -0,0 +1,320 @@
+
+
+
+ Settings
+
+
+
+
+
+
+
+
+
These examples are mostly for testing out the plugins and used during development of Xinha, they don't necessarily follow "the way" to use Xinha in your own code.
These examples follow some older initialisation styles for Xinha, they still work fine and you can do it this way if you like (or have existing code that does), but it's probably easier to use the first three examples above to base your work on.
+
+
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/render-mode-developer-help.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/render-mode-developer-help.js
new file mode 100644
index 0000000000..1f63220b43
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/render-mode-developer-help.js
@@ -0,0 +1,87 @@
+/** Load this javascript at the bottom of the page to output some information about what
+ * rendering mode is being used by the browser (based on doctype detection).
+ */
+
+window.setTimeout(function(){
+ if(typeof document.doctype == 'undefined' || document.doctype == null) return;
+ var doctypeHelp = '\
+ ');
+ document.getElementById('doctypeHelpText').innerHTML = doctypeHelp;
+}, 500);
+
+// Because adding the above to the document after it's loaded will quite possibly
+// introduce a vertical scrollbar, of which Xinha won't be aware, we would have
+// to issue a sizeEditors
+document.write('');
+
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/require-password.php b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/require-password.php
new file mode 100644
index 0000000000..e1c4f160a1
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/require-password.php
@@ -0,0 +1,271 @@
+
+
+
+
Demo Disabled
+
For security, to enable the demo you need to set a password, a simple 2 step process...
+
First, enter your choice of password:
+
+
And now, create a file as below:
+
Save As:
+
+
+
Once you have created/uploaded the file, reload the page and you should be prompted for the password.
+
+
Password Required
+
Accessing this demo requires you specify your Xinha Demo Password.
+
If you have forgotten your password, then you can delete the file and refresh this page.
+
+
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/testbed.php b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/testbed.php
new file mode 100644
index 0000000000..bbd44a464c
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/examples/testbed.php
@@ -0,0 +1,159 @@
+
+';
+ break;
+
+ case 'standards':
+ default:
+ echo '';
+ break;
+
+ }
+?>
+
+
+
+
+ Example of Xinha
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/htmlarea.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/htmlarea.js
new file mode 100644
index 0000000000..f1f7de8f19
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/htmlarea.js
@@ -0,0 +1,23 @@
+
+ /*--------------------------------------:noTabs=true:tabSize=2:indentSize=2:--
+ -- COMPATABILITY FILE
+ -- htmlarea.js is now XinhaCore.js
+ --
+ -- $HeadURL:http://svn.xinha.webfactional.com/trunk/htmlarea.js $
+ -- $LastChangedDate:2007-01-15 15:28:57 +0100 (Mo, 15 Jan 2007) $
+ -- $LastChangedRevision:659 $
+ -- $LastChangedBy:gogo $
+ --------------------------------------------------------------------------*/
+
+if ( typeof _editor_url == "string" )
+{
+ // Leave exactly one backslash at the end of _editor_url
+ _editor_url = _editor_url.replace(/\x2f*$/, '/');
+}
+else
+{
+ alert("WARNING: _editor_url is not set! You should set this variable to the editor files path; it should preferably be an absolute path, like in '/htmlarea/', but it can be relative if you prefer. Further we will try to load the editor files correctly but we'll probably fail.");
+ _editor_url = '';
+}
+
+document.write('');
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/de/bold.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/de/bold.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/de/bold.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/de/bold.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/de/italic.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/de/italic.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/de/italic.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/de/italic.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/de/underline.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/de/underline.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/de/underline.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/de/underline.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_buttons_main.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/ed_buttons_main.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_buttons_main.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/ed_buttons_main.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_charmap.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/ed_charmap.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_charmap.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/ed_charmap.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_selectall.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/ed_selectall.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_selectall.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/ed_selectall.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/fr/bold.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/fr/bold.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/fr/bold.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/fr/bold.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/fr/strikethrough.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/fr/strikethrough.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/fr/strikethrough.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/fr/strikethrough.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/fr/underline.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/fr/underline.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/fr/underline.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/fr/underline.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/iconset.xml b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/iconset.xml
new file mode 100644
index 0000000000..10b9b8ce5c
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Classic/iconset.xml
@@ -0,0 +1,263 @@
+
+
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 3
+ 2
+
+
+ iconsets/Classic/de/bold.gif
+
+
+ iconsets/Classic/fr/bold.gif
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 2
+ 2
+
+
+ iconsets/Classic/de/italic.gif
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 2
+ 0
+
+
+ iconsets/Classic/fr/underline.gif
+
+
+ iconsets/Classic/de/underline.gif
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 3
+ 0
+
+
+ iconsets/Classic/fr/strikethrough.gif
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 3
+ 1
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 2
+ 1
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 4
+ 2
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 5
+ 2
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 5
+ 0
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 4
+ 0
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 4
+ 1
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 3
+ 3
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 2
+ 3
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 0
+ 2
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 1
+ 2
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 6
+ 3
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 0
+ 3
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 1
+ 3
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 0
+ 0
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 0
+ 1
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 1
+ 1
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 1
+ 0
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 6
+ 1
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 0
+ 4
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 1
+ 4
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 8
+ 1
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 9
+ 1
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 4
+ 4
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 8
+ 2
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 9
+ 2
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 8
+ 0
+
+
+
+
+ iconsets/Classic/ed_buttons_main.gif
+ 9
+ 0
+
+
+
+
+ iconsets/Classic/ed_selectall.gif
+
+
+
+
+ iconsets/Classic/ed_charmap.gif
+
+
+
+
+ plugins/SmartReplace/img.gif
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/LICENSE b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/LICENSE
new file mode 100644
index 0000000000..ca2dca49ec
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/LICENSE
@@ -0,0 +1,121 @@
+License
+
+The Crystal Project are released under LGPL.
+
+GNU General Public License.
+
+ 0.
+
+ This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
+
+ Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.
+ 1.
+
+ You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.
+
+ You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+ 2.
+
+ You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+ 1. The modified work must itself be a software library.
+ 2. You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
+ 3. You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
+ 4. If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
+
+ These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+ Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.
+
+ In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+ 3.
+
+ You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.
+
+ Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
+ 4.
+
+ You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
+ 5.
+
+ A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
+ However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.
+ 6.
+
+ As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
+ 1. Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) .
+ 2. Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
+ 3. Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
+ 4. If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
+ 5. Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+ It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.
+ 7.
+
+ You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
+ 1.
+
+ Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
+ 2.
+
+ Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
+ 8.
+
+ You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+ 9.
+
+ You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.
+ 10.
+
+ Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.
+ 11.
+
+ If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.
+
+ If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
+
+ It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+ This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+ 12.
+
+ If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+ 13.
+
+ The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
+ 14.
+
+ If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+No Warranty
+
+ 15.
+
+ Because the library is licensed free of charge, there is no warranty for the library, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide the library "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the library is with you. Should the library prove defective, you assume the cost of all necessary servicing, repair or correction.
+ 16.
+
+ In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify and/or redistribute the library as permitted above, be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the library (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the library to operate with any other software), even if such holder or other party has been advised of the possibility of such damages.
+
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/README b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/README
new file mode 100644
index 0000000000..a55ebed47d
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/README
@@ -0,0 +1,3 @@
+These icons are from everaldo.com, in particular from the Open Office Crystal Icons set
+
+The Crystal Project are released under LGPL.
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/ed_buttons_main.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/ed_buttons_main.png
new file mode 100644
index 0000000000..40bd054d03
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/ed_buttons_main.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/iconset.xml b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/iconset.xml
new file mode 100644
index 0000000000..6833d326aa
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Crystal/iconset.xml
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 3
+ 2
+
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 2
+ 2
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 2
+ 0
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 3
+ 0
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 3
+ 1
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 2
+ 1
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 4
+ 2
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 5
+ 2
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 5
+ 0
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 4
+ 0
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 4
+ 1
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 3
+ 3
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 2
+ 3
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 0
+ 2
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 1
+ 2
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 6
+ 3
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 0
+ 3
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 1
+ 3
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 0
+ 0
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 0
+ 1
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 1
+ 1
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 1
+ 0
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 6
+ 1
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 0
+ 4
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 1
+ 4
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 8
+ 1
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 9
+ 1
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 4
+ 4
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 8
+ 2
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 9
+ 2
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 8
+ 0
+
+
+
+
+ iconsets/Crystal/ed_buttons_main.png
+ 9
+ 0
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Tango/README b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Tango/README
new file mode 100644
index 0000000000..a098e598bb
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Tango/README
@@ -0,0 +1,3 @@
+These icons are from the Tango Desktop Project. The icons are released to the Public Domain. From http://tango.freedesktop.org:
+
+The Tango Desktop Project exists to help create a consistent graphical user interface experience for free and Open Source software.
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_buttons_main.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Tango/ed_buttons_main.png
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_buttons_main.png
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Tango/ed_buttons_main.png
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Tango/iconset.xml b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Tango/iconset.xml
new file mode 100644
index 0000000000..cc4ee75ca3
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/iconsets/Tango/iconset.xml
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 3
+ 2
+
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 2
+ 2
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 2
+ 0
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 3
+ 0
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 3
+ 1
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 2
+ 1
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 4
+ 2
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 5
+ 2
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 5
+ 0
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 4
+ 0
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 4
+ 1
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 3
+ 3
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 2
+ 3
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 0
+ 2
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 1
+ 2
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 6
+ 3
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 0
+ 3
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 1
+ 3
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 0
+ 0
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 0
+ 1
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 1
+ 1
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 1
+ 0
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 6
+ 1
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 0
+ 4
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 1
+ 4
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 8
+ 1
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 9
+ 1
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 4
+ 4
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 8
+ 2
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 9
+ 2
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 8
+ 0
+
+
+
+
+ iconsets/Tango/ed_buttons_main.png
+ 9
+ 0
+
+
+
+
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/de/bold.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/de/bold.gif
new file mode 100644
index 0000000000..21d286fc43
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/de/bold.gif differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/de/italic.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/de/italic.gif
new file mode 100644
index 0000000000..0bf794722e
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/de/italic.gif differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/de/underline.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/de/underline.gif
new file mode 100644
index 0000000000..05454894af
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/de/underline.gif differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_about.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_about.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_about.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_about.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_align.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_align.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_align.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_align.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_align_center.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_align_center.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_align_center.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_align_center.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_align_justify.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_align_justify.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_align_justify.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_align_justify.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_align_left.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_align_left.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_align_left.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_align_left.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_align_right.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_align_right.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_align_right.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_align_right.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_blank.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_blank.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_blank.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_blank.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_buttons_main.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_buttons_main.gif
new file mode 100644
index 0000000000..bc1962ba1f
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_buttons_main.gif differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_buttons_main.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_buttons_main.png
new file mode 100644
index 0000000000..7f73f65a50
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_buttons_main.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_charmap.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_charmap.gif
new file mode 100644
index 0000000000..289aa7cda5
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_charmap.gif differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_clearfonts.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_clearfonts.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_clearfonts.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_clearfonts.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_color_bg.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_color_bg.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_color_bg.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_color_bg.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_color_fg.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_color_fg.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_color_fg.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_color_fg.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_copy.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_copy.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_copy.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_copy.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_custom.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_custom.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_custom.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_custom.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_cut.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_cut.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_cut.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_cut.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_delete.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_delete.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_delete.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_delete.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_bold.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_bold.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_bold.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_bold.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_italic.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_italic.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_italic.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_italic.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_strike.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_strike.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_strike.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_strike.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_sub.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_sub.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_sub.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_sub.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_sup.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_sup.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_sup.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_sup.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_underline.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_underline.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_format_underline.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_format_underline.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_help.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_help.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_help.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_help.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_hr.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_hr.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_hr.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_hr.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_html.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_html.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_html.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_html.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_image.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_image.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_image.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_image.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_indent_less.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_indent_less.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_indent_less.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_indent_less.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_indent_more.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_indent_more.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_indent_more.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_indent_more.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_killword.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_killword.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_killword.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_killword.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_left_to_right.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_left_to_right.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_left_to_right.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_left_to_right.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_link.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_link.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_link.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_link.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_list_bullet.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_list_bullet.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_list_bullet.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_list_bullet.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_list_num.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_list_num.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_list_num.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_list_num.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_overwrite.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_overwrite.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_overwrite.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_overwrite.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_paste.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_paste.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_paste.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_paste.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_print.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_print.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_print.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_print.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_redo.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_redo.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_redo.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_redo.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_right_to_left.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_right_to_left.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_right_to_left.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_right_to_left.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_rmformat.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_rmformat.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_rmformat.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_rmformat.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_save.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_save.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_save.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_save.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_save.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_save.png
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_save.png
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_save.png
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_saveas.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_saveas.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_saveas.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_saveas.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_selectall.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_selectall.gif
new file mode 100644
index 0000000000..9acf0a0389
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_selectall.gif differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_show_border.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_show_border.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_show_border.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_show_border.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_splitblock.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_splitblock.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_splitblock.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_splitblock.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_splitcel.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_splitcel.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_splitcel.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_splitcel.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_undo.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_undo.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_undo.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_undo.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_word_cleaner.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_word_cleaner.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/ed_word_cleaner.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/ed_word_cleaner.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fr/bold.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fr/bold.gif
new file mode 100644
index 0000000000..8a0f6574f9
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fr/bold.gif differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fr/strikethrough.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fr/strikethrough.gif
new file mode 100644
index 0000000000..5707aefca4
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fr/strikethrough.gif differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fr/underline.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fr/underline.gif
new file mode 100644
index 0000000000..4ecaf22126
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fr/underline.gif differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/fullscreen_maximize.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fullscreen_maximize.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/fullscreen_maximize.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fullscreen_maximize.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/fullscreen_minimize.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fullscreen_minimize.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/fullscreen_minimize.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/fullscreen_minimize.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/insert_table.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/insert_table.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/insert_table.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/insert_table.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/insertfilelink.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/insertfilelink.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/insertfilelink.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/insertfilelink.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/insertmacro.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/insertmacro.png
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/insertmacro.png
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/insertmacro.png
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-new.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-new.png
new file mode 100644
index 0000000000..4c3efdd6fa
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-new.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-open.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-open.png
new file mode 100644
index 0000000000..69dd8d4830
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-open.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-print.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-print.png
new file mode 100644
index 0000000000..35c37bd73e
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-print.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-save.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-save.png
new file mode 100644
index 0000000000..22ff495710
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/document-save.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-copy.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-copy.png
new file mode 100644
index 0000000000..8dd48c4949
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-copy.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-redo.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-redo.png
new file mode 100644
index 0000000000..c3b0df0396
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-redo.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-select-all.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-select-all.png
new file mode 100644
index 0000000000..f4b0b19e09
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-select-all.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-undo.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-undo.png
new file mode 100644
index 0000000000..8b0fef9a83
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/edit-undo.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/folder-new.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/folder-new.png
new file mode 100644
index 0000000000..628f4d50ff
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/folder-new.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-direction-left-to-right.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-direction-left-to-right.png
new file mode 100755
index 0000000000..a8808127db
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-direction-left-to-right.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-direction-right-to-left.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-direction-right-to-left.png
new file mode 100755
index 0000000000..9a2b7b4bc6
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-direction-right-to-left.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-indent-less.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-indent-less.png
new file mode 100644
index 0000000000..1787a7ff48
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-indent-less.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-indent-more.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-indent-more.png
new file mode 100644
index 0000000000..6bad6bbacb
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-indent-more.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-center.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-center.png
new file mode 100644
index 0000000000..207dc4cd84
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-center.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-fill.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-fill.png
new file mode 100644
index 0000000000..663cbaddde
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-fill.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-left.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-left.png
new file mode 100644
index 0000000000..d9b40a76f7
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-left.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-right.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-right.png
new file mode 100644
index 0000000000..c3013073cf
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-justify-right.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-background-color.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-background-color.png
new file mode 100644
index 0000000000..857b0475db
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-background-color.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-bold.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-bold.png
new file mode 100644
index 0000000000..c9cb630343
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-bold.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-color.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-color.png
new file mode 100644
index 0000000000..7362e3eb1a
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-color.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-italic.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-italic.png
new file mode 100644
index 0000000000..977ea82176
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-italic.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-strikethrough.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-strikethrough.png
new file mode 100644
index 0000000000..ccee76e29e
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-strikethrough.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-subscript.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-subscript.png
new file mode 100644
index 0000000000..da1d9e1fe1
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-subscript.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-superscript.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-superscript.png
new file mode 100644
index 0000000000..ea87557466
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-superscript.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-underline.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-underline.png
new file mode 100644
index 0000000000..0c48721002
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/format-text-underline.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/go-up.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/go-up.png
new file mode 100644
index 0000000000..fa9a7d71b5
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/go-up.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/insert-link.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/insert-link.png
new file mode 100755
index 0000000000..d6b2ab8fa8
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/insert-link.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/insert-table.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/insert-table.png
new file mode 100755
index 0000000000..80d24eb331
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/insert-table.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/toggle-borders.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/toggle-borders.png
new file mode 100755
index 0000000000..a86679fcb4
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/toggle-borders.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/view-fullscreen.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/view-fullscreen.png
new file mode 100644
index 0000000000..ffdabd4e97
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/view-fullscreen.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/view-restore.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/view-restore.png
new file mode 100644
index 0000000000..1997ce2f47
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/actions/view-restore.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/apps/accessories-character-map.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/apps/accessories-character-map.png
new file mode 100644
index 0000000000..5dd11246f2
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/apps/accessories-character-map.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/apps/help-browser.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/apps/help-browser.png
new file mode 100644
index 0000000000..f25fc3fbf1
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/apps/help-browser.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/mimetypes/image-x-generic.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/mimetypes/image-x-generic.png
new file mode 100644
index 0000000000..68da5027cf
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/mimetypes/image-x-generic.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/places/user-trash.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/places/user-trash.png
new file mode 100644
index 0000000000..0e0953c73c
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/16x16/places/user-trash.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/apps/internet-web-browser.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/apps/internet-web-browser.png
new file mode 100644
index 0000000000..10d2ed4f47
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/apps/internet-web-browser.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/mimetypes/text-html.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/mimetypes/text-html.png
new file mode 100644
index 0000000000..a896697d78
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/mimetypes/text-html.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/mimetypes/text-x-generic.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/mimetypes/text-x-generic.png
new file mode 100644
index 0000000000..928a67995e
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/mimetypes/text-x-generic.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/mimetypes/x-office-document.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/mimetypes/x-office-document.png
new file mode 100644
index 0000000000..daf84b2860
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/mimetypes/x-office-document.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/places/folder.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/places/folder.png
new file mode 100644
index 0000000000..0171b09fa2
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/places/folder.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/places/network-server.png b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/places/network-server.png
new file mode 100644
index 0000000000..1d38e4f9c8
Binary files /dev/null and b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/32x32/places/network-server.png differ
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/COPYING b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/COPYING
new file mode 100644
index 0000000000..e709d0c050
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tango/COPYING
@@ -0,0 +1,67 @@
+Creative Commons Attribution-ShareAlike 2.5 License Agreement
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ 1. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+ 2. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+ 3. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+ 4. "Original Author" means the individual or entity who created the Work.
+ 5. "Work" means the copyrightable work of authorship offered under the terms of this License.
+ 6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+ 7. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ 1. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+ 2. to create and reproduce Derivative Works;
+ 3. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+ 4. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
+ 5.
+
+ For the avoidance of doubt, where the work is a musical composition:
+ 1. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
+ 2. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
+ 6. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ 1. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(c), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(c), as requested.
+ 2. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.5 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License.
+ 3. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+ 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ 1. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+ 2. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+ 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+ 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+ 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/tidy.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tidy.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/tidy.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/tidy.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/toggle_borders.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/toggle_borders.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/toggle_borders.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/toggle_borders.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/xinha-small-icon.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/xinha-small-icon.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/xinha-small-icon.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/xinha-small-icon.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/xinha_logo.gif b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/xinha_logo.gif
similarity index 100%
rename from app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/images/xinha_logo.gif
rename to app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/images/xinha_logo.gif
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/b5.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/b5.js
new file mode 100644
index 0000000000..1ca7a13daf
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/b5.js
@@ -0,0 +1,39 @@
+// I18N constants
+// LANG: "b5", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "關於 Xinha",
+ "Background Color": "背景顏色",
+ "Bold": "粗體",
+ "Bulleted List": "無序清單",
+ "Current style": "字體例子",
+ "Decrease Indent": "減小行前空白",
+ "Font Color": "文字顏色",
+ "Help using editor": "說明",
+ "Horizontal Rule": "水平線",
+ "Increase Indent": "加寬行前空白",
+ "Insert Table": "插入表格",
+ "Insert Web Link": "插入連結",
+ "Insert/Modify Image": "插入圖形",
+ "Italic": "斜體",
+ "Justify Center": "位置居中",
+ "Justify Full": "位置左右平等",
+ "Justify Left": "位置靠左",
+ "Justify Right": "位置靠右",
+ "Ordered List": "順序清單",
+ "Strikethrough": "刪除線",
+ "Subscript": "下標",
+ "Superscript": "上標",
+ "Toggle HTML Source": "切換HTML原始碼",
+ "Underline": "底線",
+ "__OBSOLETE__": {
+ "Enlarge Editor": "放大"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/ch.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/ch.js
new file mode 100644
index 0000000000..e3c4e98cdc
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/ch.js
@@ -0,0 +1,62 @@
+// I18N constants
+// LANG: "ch", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "關於 Xinha",
+ "Background Color": "背景顏色",
+ "Bold": "粗體",
+ "Bulleted List": "無序清單",
+ "Copy selection": "复制选项",
+ "Current style": "字體例子",
+ "Cut selection": "剪制选项",
+ "Decrease Indent": "伸排",
+ "Direction left to right": "从左到右",
+ "Direction right to left": "从右到左",
+ "Font Color": "文字顏色",
+ "Help using editor": "說明",
+ "Horizontal Rule": "水平線",
+ "Increase Indent": "縮排",
+ "Insert Table": "插入表格",
+ "Insert Web Link": "插入連結",
+ "Insert/Modify Image": "插入圖像",
+ "Italic": "斜體",
+ "Justify Center": "居中",
+ "Justify Full": "整齊",
+ "Justify Left": "靠左",
+ "Justify Right": "靠右",
+ "Ordered List": "順序清單",
+ "Paste from clipboard": "贴上",
+ "Path": "途徑",
+ "Redoes your last action": "重来",
+ "Strikethrough": "刪線",
+ "Subscript": "下標",
+ "Superscript": "上標",
+ "Toggle HTML Source": "切換HTML原始碼",
+ "Underline": "底線",
+ "Undoes your last action": "回原",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "你在用純字編輯方式. 用 [<>] 按鈕轉回 所見即所得 編輯方式.",
+ "__OBSOLETE__": {
+ "Cancel": "取消",
+ "Enlarge Editor": "伸出編輯系統",
+ "Insert/Modify Link": "插入/改寫連結",
+ "New window (_blank)": "新窗户(_blank)",
+ "None (use implicit)": "無(use implicit)",
+ "OK": "好",
+ "Other": "其他",
+ "Same frame (_self)": "本匡 (_self)",
+ "Target:": "目標匡:",
+ "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.",
+ "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "整頁式在Internet Explorer 上常出問題, 因為這是 Internet Explorer 的無名問題,我們無法解決。你可能看見一些垃圾,或遇到其他問題。我們已警告了你. 如果要轉到 正頁式 請按 好.",
+ "Title (tooltip):": "主題 (tooltip):",
+ "Top frame (_top)": "上匡 (_top)",
+ "URL:": "網址:",
+ "You must enter the URL where this link points to": "你必須輸入你要连结的網址"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/cz.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/cz.js
new file mode 100644
index 0000000000..1f41feae0a
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/cz.js
@@ -0,0 +1,48 @@
+// I18N constants
+// LANG: "cz", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "O této aplikaci",
+ "Background Color": "Barva pozadí",
+ "Bold": "Tučně",
+ "Bulleted List": "Odrážky",
+ "Copy selection": "Kopírovat",
+ "Current style": "Zvolený styl",
+ "Cut selection": "Vyjmout",
+ "Decrease Indent": "Předsadit",
+ "Font Color": "Barva písma",
+ "Help using editor": "Nápověda aplikace",
+ "Horizontal Rule": "Vodorovná čára",
+ "Increase Indent": "Odsadit",
+ "Insert Table": "Vložit tabulku",
+ "Insert Web Link": "Vložit odkaz",
+ "Insert/Modify Image": "Vložit obrázek",
+ "Italic": "Kurzíva",
+ "Justify Center": "Na střed",
+ "Justify Full": "Zarovnat do stran",
+ "Justify Left": "Zarovnat doleva",
+ "Justify Right": "Zarovnat doprava",
+ "Ordered List": "Seznam",
+ "Paste from clipboard": "Vložit",
+ "Path": "Cesta",
+ "Redoes your last action": "Opakuje poslední akci",
+ "Strikethrough": "Přeškrtnutí",
+ "Subscript": "Dolní index",
+ "Superscript": "Horní index",
+ "Toggle HTML Source": "Přepnout HTML",
+ "Underline": "Podtržení",
+ "Undoes your last action": "Vrátí poslední akci",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Jste v TEXTOVÉM REŽIMU. Použijte tlačítko [<>] pro přepnutí do WYSIWIG.",
+ "__OBSOLETE__": {
+ "Cancel": "Zrušit",
+ "Enlarge Editor": "Nové okno editoru",
+ "OK": "OK"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/da.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/da.js
new file mode 100644
index 0000000000..853e83f13a
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/da.js
@@ -0,0 +1,160 @@
+// I18N constants
+// LANG: "da", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "Om Xinha",
+ "Address": "Adresse",
+ "Background Color": "Baggrundsfarve",
+ "Bold": "Fed",
+ "Bulleted List": "Punktliste",
+ "Clean content pasted from Word": "Rens indhold kopieret fra Word",
+ "Clear Inline Font Specifications": "Fjern skrift valg",
+ "Clear MSOffice tags": "MSOffice filter",
+ "Close": "Luk",
+ "Constructing object": "Objekt registreres",
+ "Copy selection": "Kopier",
+ "Create Statusbar": "Opretter statuslinje",
+ "Create Toolbar": "Opretter værktøjslinje",
+ "Current style": "Anvendt stil",
+ "Cut selection": "Klip",
+ "Decrease Indent": "Formindsk indrykning",
+ "Direction left to right": "Tekst venstre mod højre",
+ "Direction right to left": "Tekst højre mod venstre",
+ "Finishing": "Afslutter",
+ "Font Color": "Skriftfarve",
+ "Formatted": "Formateret",
+ "Generate Xinha framework": "Xinha Framework genereres",
+ "Heading 1": "Overskrift 1",
+ "Heading 2": "Overskrift 2",
+ "Heading 3": "Overskrift 3",
+ "Heading 4": "Overskrift 4",
+ "Heading 5": "Overskrift 5",
+ "Heading 6": "Overskrift 6",
+ "Headings": "Overskrift 1 til 6",
+ "Help using editor": "Hjælp",
+ "Horizontal Rule": "Vandret streg",
+ "Increase Indent": "Forøg indrykning",
+ "Init editor size": "Størrelsen beregnes",
+ "Insert Table": "Indsæt tabel",
+ "Insert Web Link": "Indsæt hyperlink",
+ "Insert/Modify Image": "Indsæt/udskift billede",
+ "Insert/Overwrite": "Indsæt/Overskriv",
+ "Italic": "Kursiv",
+ "Justify Center": "Centrer",
+ "Justify Full": "Lige margener",
+ "Justify Left": "Venstrejuster",
+ "Justify Right": "Højrejuster",
+ "Keyboard shortcuts": "Tastaturgenveje",
+ "Loading in progress. Please wait!": "Editoren hentes ind. Vent venligst.",
+ "Loading plugin $plugin": "Plugin $plugin hentes",
+ "Normal": "Normal",
+ "Ordered List": "Ordnet liste",
+ "Paste from clipboard": "Indsæt",
+ "Path": "STi",
+ "Print document": "Udskriv dokument",
+ "Redoes your last action": "Gentag sidste ændring",
+ "Register plugin $plugin": "Plugin $plugin registreres",
+ "Remove formatting": "Fjern formatering",
+ "Save as": "Gem som",
+ "Select all": "Vælg alt",
+ "Set format to paragraph": "Formater afsnit",
+ "Split Block": "Del blok",
+ "Strikethrough": "Gennemstregning",
+ "Subscript": "Sænket skrift",
+ "Superscript": "Hævet skrift",
+ "The editor provides the following key combinations:": "Editoren kender følgende kombinationer:",
+ "Toggle Borders": "Tabelkanter til/fra",
+ "Toggle HTML Source": "HTML visning",
+ "Underline": "Understregning",
+ "Undoes your last action": "Fortryd sidste ændring",
+ "Would you like to clear font colours?": "Vil du fjerne skriftfarve valg",
+ "Would you like to clear font sizes?": "Vil du fjerne skriftstørrelse valg",
+ "Would you like to clear font typefaces?": "Vil du fjern skriftsnit valg",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Du er i TEXT mode. Brug [<>] knappen til at skifte til visuel editering.",
+ "insert linebreak": "Indsæt linjeskift",
+ "new paragraph": "Nyt afsnit",
+ "__OBSOLETE__": {
+ "— format —": "— Format —",
+ "Absbottom": "Bund",
+ "Absmiddle": "Centreret",
+ "Alignment:": "Justering:",
+ "Alternate text:": "Alternativ text:",
+ "Baseline": "Grundlinje",
+ "Border thickness:": "Kantbredde:",
+ "Bottom": "Tekstbund",
+ "Cancel": "Fortryd",
+ "Cell padding:": "Cellefyld:",
+ "Cell spacing:": "Celleafstand:",
+ "Click a color...": "Vælg farve",
+ "Color: ": "Farve: ",
+ "Cols:": "Søjler:",
+ "Em": "Geviert (Em)",
+ "Enlarge Editor": "Vis editor i popup",
+ "Enter the image URL here": "Angiv billedets URL",
+ "Fixed width columns": "Fast-bredde søjler",
+ "For browsers that don't support images": "for browsere der ikke understøtter billeder",
+ "Horizontal padding": "Vandret fyld",
+ "Horizontal:": "vandret:",
+ "Image Preview:": "Billede smugkig:",
+ "Image URL:": "Billede URL:",
+ "Insert Image": "Indsæt billede",
+ "Insert/Modify Link": "Indsæt/rediger hyperlink",
+ "Layout": "Layout",
+ "Leave empty for no border": "Tom hvis ingen kant",
+ "Left": "Venstre",
+ "Middle": "Midt",
+ "New window (_blank)": "Nyt vindue (_blank)",
+ "None (use implicit)": "ingen (implicit)",
+ "Not set": "Ubestemt",
+ "Number of columns": "Antal søjler",
+ "Number of rows": "Antal rækker",
+ "OK": "OK",
+ "Other": "Andet",
+ "Percent": "Procent",
+ "Pixels": "Pixel",
+ "Positioning of this image": "Placering af billedet",
+ "Positioning of this table": "Placering af tabel",
+ "Preview": "Smugkig",
+ "Preview the image in a new window": "Smugkig af billedet i et nyt vindue",
+ "Register bottom panel": "Registrerer nederste panel",
+ "Register left panel": "Registrerer venstre panel",
+ "Register right panel": "Registrerer højre panel",
+ "Register top panel": "Registrerer øverste panel",
+ "Right": "Højre",
+ "Rows:": "Rækker:",
+ "Same frame (_self)": "Samme ramme (_self)",
+ "Sample": "Eksempel",
+ "Space between adjacent cells": "Afstand mellem celler",
+ "Space between content and border in cell": "Luft mellem indhold og kanter",
+ "Spacing": "Afstand",
+ "Target:": "Placering:",
+ "Texttop": "Teksttop",
+ "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Indsæt-knappen virker ikke i Mozilla-baserede browsere. Brug Ctrl-V på tastaturet for at indsætte.",
+ "Title (tooltip):": "Titel (Tooltip):",
+ "Top": "Top",
+ "Top frame (_top)": "Topramme (_top)",
+ "URL:": "URL:",
+ "Vertical padding": "Lodret fyld",
+ "Vertical:": "lodret:",
+ "Web Safe: ": "Web Safe: ",
+ "Width of the table": "Tabelbredde",
+ "Width unit": "Breddeenhed",
+ "Width:": "Bredde:",
+ "You must enter a number of columns": "Du skal skrive antallet af søjler",
+ "You must enter a number of rows": "Du skal skrive antallet af rækker",
+ "You must enter the URL": "Du skal angive en URL",
+ "You must enter the URL where this link points to": "Du skal angive en mål-URL for linket",
+ "You need to select some text before create a link": "Du skal markere noget tekst for at indsætte et hyperlink",
+ "Your Document is not well formed. Check JavaScript console for details.": "Dit dokument er ikke syntaktisk korrekt. Åbn Javascript konsollen for at få flere detaljer.",
+ "button_bold": "de/bold.gif",
+ "button_italic": "de/italic.gif",
+ "button_underline": "de/underline.gif"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/de.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/de.js
new file mode 100644
index 0000000000..69c38431ea
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/de.js
@@ -0,0 +1,157 @@
+// I18N constants
+// LANG: "de", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "— format —": "— Format —",
+ "About this editor": "Über diesen Editor",
+ "Address": "Adresse",
+ "Background Color": "Hindergrundfarbe",
+ "Bold": "Fett",
+ "Bulleted List": "Aufzählungsliste",
+ "Clean content pasted from Word": "Von Word eingefügter Text bereinigen",
+ "Clear Inline Font Specifications": "Zeichensatz Formatierungen entfernen",
+ "Clear MSOffice tags": "MSOffice filter",
+ "Close": "Schließen",
+ "Constructing object": "Objekt wird generiert",
+ "Copy selection": "Kopieren",
+ "Create Statusbar": "Statusleiste wird generiert",
+ "Create Toolbar": "Werkzeugleiste wird generiert",
+ "Current style": "Derzeitiger Stil",
+ "Cut selection": "Ausschneiden",
+ "Decrease Indent": "Einzug verkleinern",
+ "Direction left to right": "Textrichtung von Links nach Rechts",
+ "Direction right to left": "Textrichtung von Rechts nach Links",
+ "Finishing": "Laden wird abgeschlossen",
+ "Font Color": "Schriftfarbe",
+ "Formatted": "Formatiert",
+ "Generate Xinha framework": "Xinha Framework wird generiert",
+ "Heading 1": "Überschrift 1",
+ "Heading 2": "Überschrift 2",
+ "Heading 3": "Überschrift 3",
+ "Heading 4": "Überschrift 4",
+ "Heading 5": "Überschrift 5",
+ "Heading 6": "Überschrift 6",
+ "Headings": "Überschrift Typ 1 bis 6",
+ "Help using editor": "Hilfe",
+ "Horizontal Rule": "Horizontale Linie",
+ "Increase Indent": "Einzug vergrößern",
+ "Init editor size": "Größe wird berechnet",
+ "Insert Table": "Tabelle einfügen",
+ "Insert Web Link": "Hyperlink einfügen",
+ "Insert/Modify Image": "Bild einfügen/verändern",
+ "Insert/Overwrite": "Einfügen/Überschreiben",
+ "Italic": "Kursiv",
+ "Justify Center": "Zentriert",
+ "Justify Full": "Blocksatz",
+ "Justify Left": "Linksbündig",
+ "Justify Right": "Rechtsbündig",
+ "Keyboard shortcuts": "Tastaturkürzel",
+ "Loading in progress. Please wait!": "Editor wird geladen. Bitte warten !",
+ "Loading plugin $plugin": "Plugin $plugin wird geladen",
+ "Normal": "Normal (Absatz)",
+ "Ordered List": "Nummerierte Liste",
+ "Paste from clipboard": "Einfügen aus der Zwischenablage",
+ "Path": "Pfad",
+ "Print document": "Dokument ausdrucken",
+ "Redoes your last action": "Wiederholen",
+ "Register plugin $plugin": "Plugin $plugin wird registriert",
+ "Remove formatting": "Formatierung entfernen",
+ "Save as": "speichern unter",
+ "Select all": "Alles markieren",
+ "Set format to paragraph": "Setze Formatierung auf Absatz",
+ "Split Block": "Block teilen",
+ "Strikethrough": "Durchgestrichen",
+ "Subscript": "Tiefgestellt",
+ "Superscript": "Hochgestellt",
+ "The editor provides the following key combinations:": "Der Editor unterstützt die folgenden kombinationen:",
+ "Toggle Borders": "Tabellenränder ein/ausblenden",
+ "Toggle HTML Source": "HTML Quelltext ein/ausschalten",
+ "Underline": "Unterstrichen",
+ "Undoes your last action": "Rückgängig",
+ "Would you like to clear font colours?": "Wollen sie Zeichensatzfarben entfernen",
+ "Would you like to clear font sizes?": "Wollen Sie Zeichensatzgrößen entfernen",
+ "Would you like to clear font typefaces?": "Wollen Sie Zeichensatztypen entfernen",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Sie sind im Text-Modus. Benutzen Sie den [<>] Button, um in den visuellen Modus (WYSIWIG) zu gelangen.",
+ "insert linebreak": "Harter Umbruch einfügen",
+ "new paragraph": "Neuer Absatz(Paragraph)",
+ "__OBSOLETE__": {
+ "Absbottom": "unten bündig",
+ "Absmiddle": "mittig",
+ "Alignment:": "Ausrichtung:",
+ "Alternate text:": "Alternativer Text:",
+ "Baseline": "Grundlinie",
+ "Border thickness:": "Randstärke:",
+ "Bottom": "unten",
+ "Cancel": "Abbrechen",
+ "Cell padding:": "Innenabstand:",
+ "Cell spacing:": "Zellenabstand:",
+ "Click a color...": "Farbe wählen",
+ "Color: ": "Farbe: ",
+ "Cols:": "Spalten:",
+ "Em": "Geviert",
+ "Enlarge Editor": "Editor vergrößern",
+ "Enter the image URL here": "Bitte geben sie hier die Bild URL ein",
+ "Fixed width columns": "Spalten mit fester Breite",
+ "For browsers that don't support images": "für Browser, die keine Bilder unterstützen",
+ "Horizontal padding": "horizontaler Inhaltsabstand",
+ "Horizontal:": "horizontal:",
+ "Image Preview:": "Bild Voransicht:",
+ "Image URL:": "Bild URL:",
+ "Insert Image": "Bild einfügen",
+ "Insert/Modify Link": "Verknüpfung hinzufügen/ändern",
+ "Layout": "Layout",
+ "Leave empty for no border": "leer lassen für keinen Rand",
+ "Left": "links",
+ "Middle": "zentriert",
+ "New window (_blank)": "Neues Fenster (_blank)",
+ "None (use implicit)": "k.A. (implizit)",
+ "Not set": "nicht eingestellt",
+ "Number of columns": "Spaltenanzahl",
+ "Number of rows": "Zeilenanzahl",
+ "OK": "OK",
+ "Other": "Anderes",
+ "Percent": "Prozent",
+ "Pixels": "Pixel",
+ "Positioning of this image": "Positionierung dieses Bildes",
+ "Positioning of this table": "Positionierung der Tabelle",
+ "Preview": "Voransicht",
+ "Preview the image in a new window": "Voransicht des Bildes in einem neuen Fenster",
+ "Register bottom panel": "Unteres Panel wird generiert",
+ "Register left panel": "Linkes Panel wird generiert",
+ "Register right panel": "Rechtes Panel wird generiert",
+ "Register top panel": "Oberes Panel wird generiert",
+ "Right": "rechts",
+ "Rows:": "Zeilen:",
+ "Same frame (_self)": "Selber Rahmen (_self)",
+ "Sample": "Beispiel",
+ "Space between adjacent cells": "Raum zwischen angrenzenden Zellen",
+ "Space between content and border in cell": "Raum zwischen Inhalt und Rand der Zelle",
+ "Spacing": "Abstand",
+ "Target:": "Ziel:",
+ "Texttop": "oben bündig",
+ "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Aus Sicherheitsgründen dürfen Skripte normalerweise nicht auf Ausschneiden/Kopieren/Einfügen zugreifen. Benutzen Sie bitte die entsprechenden Tastatur-Kommandos (Strg + x/c/v).",
+ "Title (tooltip):": "Titel (Tooltip):",
+ "Top": "oben",
+ "Top frame (_top)": "Oberster Rahmen (_top)",
+ "URL:": "URL:",
+ "Vertical padding": "vertikaler Inhaltsabstand",
+ "Vertical:": "vertikal:",
+ "Web Safe: ": "Web Safe: ",
+ "Width of the table": "Tabellenbreite",
+ "Width unit": "Größeneinheit",
+ "Width:": "Breite:",
+ "You must enter a number of columns": "Bitte geben Sie die Anzahl der Spalten an",
+ "You must enter a number of rows": "Bitte geben Sie die Anzahl der Zeilen an",
+ "You must enter the URL": "Bitte geben Sie die URL ein",
+ "You must enter the URL where this link points to": "Sie müssen eine Ziel-URL angeben für die Verknüpfung angeben",
+ "You need to select some text before create a link": "Sie müssen einen Text markieren, um einen Link zu erstellen",
+ "Your Document is not well formed. Check JavaScript console for details.": "Ihr Dokument ist in keinem sauberen Format. Benutzen Sie die Javascript Console für weitere Informationen."
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/ee.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/ee.js
new file mode 100644
index 0000000000..01874349bd
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/ee.js
@@ -0,0 +1,48 @@
+// I18N constants
+// LANG: "ee", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "Teave toimeti kohta",
+ "Background Color": "Tausta värv",
+ "Bold": "Paks",
+ "Bulleted List": "Täpploend",
+ "Copy selection": "Kopeeri",
+ "Current style": "Kirjastiil",
+ "Cut selection": "Lõika",
+ "Decrease Indent": "Vähenda taanet",
+ "Font Color": "Fondi värv",
+ "Help using editor": "Spikker",
+ "Horizontal Rule": "Horisontaaljoon",
+ "Increase Indent": "Suurenda taanet",
+ "Insert Table": "Lisa tabel",
+ "Insert Web Link": "Lisa viit",
+ "Insert/Modify Image": "Lisa pilt",
+ "Italic": "Kursiiv",
+ "Justify Center": "Joonda keskele",
+ "Justify Full": "Rööpjoonda",
+ "Justify Left": "Joonda vasakule",
+ "Justify Right": "Joonda paremale",
+ "Ordered List": "Nummerdus",
+ "Paste from clipboard": "Kleebi",
+ "Path": "Path",
+ "Redoes your last action": "Tee uuesti",
+ "Strikethrough": "Läbikriipsutatud",
+ "Subscript": "Allindeks",
+ "Superscript": "Ülaindeks",
+ "Toggle HTML Source": "HTML/tavaline vaade",
+ "Underline": "Allakriipsutatud",
+ "Undoes your last action": "Võta tagasi",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Sa oled tekstireziimis. Kasuta nuppu [<>] lülitamaks tagasi WYSIWIG reziimi.",
+ "__OBSOLETE__": {
+ "Cancel": "Loobu",
+ "Enlarge Editor": "Suurenda toimeti aken",
+ "OK": "OK"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/el.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/el.js
new file mode 100644
index 0000000000..eb89b56c64
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/el.js
@@ -0,0 +1,61 @@
+// I18N constants
+// LANG: "el", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "Πληροφορίες",
+ "Background Color": "Χρώμα Φόντου",
+ "Bold": "Έντονα",
+ "Bulleted List": "Κουκκίδες",
+ "Copy selection": "Αντιγραφή",
+ "Current style": "Παρών στυλ",
+ "Cut selection": "Αποκοπή",
+ "Decrease Indent": "Μείωση Εσοχής",
+ "Direction left to right": "Κατεύθυνση αριστερά προς δεξιά",
+ "Direction right to left": "Κατεύθυνση από δεξιά προς τα αριστερά",
+ "Font Color": "Χρώμα Γραμματοσειράς",
+ "Help using editor": "Βοήθεια",
+ "Horizontal Rule": "Οριζόντια Γραμμή",
+ "Increase Indent": "Αύξηση Εσοχής",
+ "Insert Table": "Εισαγωγή Πίνακα",
+ "Insert Web Link": "Εισαγωγή Συνδέσμου",
+ "Insert/Modify Image": "Εισαγωγή/Τροποποίηση Εικόνας",
+ "Italic": "Πλάγια",
+ "Justify Center": "Στοίχιση Κέντρο",
+ "Justify Full": "Πλήρης Στοίχιση",
+ "Justify Left": "Στοίχιση Αριστερά",
+ "Justify Right": "Στοίχιση Δεξιά",
+ "Ordered List": "Αρίθμηση",
+ "Paste from clipboard": "Επικόλληση",
+ "Path": "Διαδρομή",
+ "Redoes your last action": "Επαναφορά από αναίρεση",
+ "Strikethrough": "Διαγραμμένα",
+ "Subscript": "Δείκτης",
+ "Superscript": "Δείκτης",
+ "Toggle HTML Source": "Εναλλαγή σε/από HTML",
+ "Underline": "Υπογραμμισμένα",
+ "Undoes your last action": "Αναίρεση τελευταίας ενέργειας",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Είστε σε TEXT MODE. Χρησιμοποιήστε το κουμπί [<>] για να επανέρθετε στο WYSIWIG.",
+ "__OBSOLETE__": {
+ "Cancel": "Ακύρωση",
+ "Enlarge Editor": "Μεγένθυνση επεξεργαστή",
+ "Insert/Modify Link": "Εισαγωγή/Τροποποίηση σύνδεσμου",
+ "New window (_blank)": "Νέο παράθυρο (_blank)",
+ "None (use implicit)": "Κανένα (χρήση απόλυτου)",
+ "OK": "Εντάξει",
+ "Other": "Αλλο",
+ "Same frame (_self)": "Ίδιο frame (_self)",
+ "Target:": "Target:",
+ "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Η κατάσταση πλήρης οθόνης έχει προβλήματα με τον Internet Explorer, λόγω σφαλμάτων στον ίδιο τον browser. Αν το σύστημα σας είναι Windows 9x μπορεί και να χρειαστείτε reboot. Αν είστε σίγουροι, πατήστε ΟΚ.",
+ "Title (tooltip):": "Τίτλος (tooltip):",
+ "Top frame (_top)": "Πάνω frame (_top)",
+ "URL:": "URL:",
+ "You must enter the URL where this link points to": "Πρέπει να εισάγετε το URL που οδηγεί αυτός ο σύνδεσμος"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/es.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/es.js
new file mode 100644
index 0000000000..96b235f4a5
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/es.js
@@ -0,0 +1,159 @@
+// I18N constants
+// LANG: "es", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "— font —": "— fuente —",
+ "— format —": "— formato —",
+ "— size —": "— tamaño —",
+ "About this editor": "Sobre este Editor",
+ "Address": "Dirección",
+ "Background Color": "Color de fondo",
+ "Bold": "Negrita",
+ "Bulleted List": "Lista no numerada",
+ "Clean content pasted from Word": "Limpiar el contenido pegado desde Word",
+ "Clear Inline Font Specifications": "Borrar las etiquetas de fuente",
+ "Clear MSOffice tags": "Borrar etiquetas de MSOffice",
+ "Close": "Cerrar",
+ "Constructing object": "Construyendo objeto",
+ "Copy selection": "Copiar",
+ "Create Statusbar": "Crear barra de estado",
+ "Create Toolbar": "Crear barra de herramientas",
+ "Current style": "Estilo actual",
+ "Cut selection": "Cortar",
+ "Decrease Indent": "Reducir sangría",
+ "Direction left to right": "Dirección de izquierda a derecha",
+ "Direction right to left": "Dirección de derecha a izquierda",
+ "Finishing": "Finalizando",
+ "Font Color": "Color de la fuente",
+ "Formatted": "Formateado",
+ "Generate Xinha framework": "Generar Xinha framework",
+ "Heading 1": "Cabecera 1",
+ "Heading 2": "Cabecera 2",
+ "Heading 3": "Cabecera 3",
+ "Heading 4": "Cabecera 4",
+ "Heading 5": "Cabecera 5",
+ "Heading 6": "Cabecera 6",
+ "Headings": "Cabeceras",
+ "Help using editor": "Ayuda",
+ "Horizontal Rule": "Regla horizontal",
+ "Increase Indent": "Aumentar sangría",
+ "Init editor size": "Iniciar el tamaño del editor",
+ "Insert Table": "Añadir una tabla",
+ "Insert Web Link": "Insertar enlace web",
+ "Insert/Modify Image": "Insertar/modificar imagen",
+ "Insert/Overwrite": "Insertar/Sobreescribir",
+ "Italic": "Cursiva",
+ "Justify Center": "Alinear al centro",
+ "Justify Full": "Justificar",
+ "Justify Left": "Alinear a la izquierda",
+ "Justify Right": "Alinear a la derecha",
+ "Keyboard shortcuts": "Atajos de teclado",
+ "Loading in progress. Please wait!": "Carga en proceso. Por favor espere.",
+ "Loading plugin $plugin": "Cargando el plugin $plugin",
+ "Normal": "Normal",
+ "Ordered List": "Lista numerada",
+ "Paste from clipboard": "Pegar desde el portapapeles",
+ "Path": "Ruta",
+ "Print document": "Imprimir documento",
+ "Redoes your last action": "Rehacer",
+ "Register plugin $plugin": "Registro de plugin $plugin",
+ "Remove formatting": "Borrar formato",
+ "Save as": "Guardar como",
+ "Select all": "Seleccionar todo",
+ "Set format to paragraph": "EStablecer el formato a parrafo",
+ "Split Block": "Dividir el bloque",
+ "Strikethrough": "Tachado",
+ "Subscript": "Subíndice",
+ "Superscript": "Superíndice",
+ "The editor provides the following key combinations:": "El editor proporciona las siguientes combinaciones:",
+ "Toggle Borders": "Añadir/Quitar bordes",
+ "Toggle HTML Source": "Ver HTML",
+ "Underline": "Subrayado",
+ "Undoes your last action": "Deshacer",
+ "Would you like to clear font colours?": "¿Desea eliminar las definiciones de color de fuente?",
+ "Would you like to clear font sizes?": "¿Desea eliminar las definiciones de tamaño de fuente?",
+ "Would you like to clear font typefaces?": "¿Desea eliminar las definiciaones de tipo de fuente?",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Se encuentra en MODO TEXTO. Use el botón [<>] para cambiar de nuevo al modo WYSIWYG",
+ "insert linebreak": "Insertar salto de línea",
+ "new paragraph": "Nuevo parrafo",
+ "__OBSOLETE__": {
+ "Absbottom": "Inferior absoluto",
+ "Absmiddle": "Medio Absoluto",
+ "Alignment:": "Alineación:",
+ "Alternate text:": "Texto alternativo:",
+ "Baseline": "Línea base",
+ "Border thickness:": "Tamaño del borde:",
+ "Bottom": "Inferior",
+ "Cancel": "Cancelar",
+ "Cell padding:": "Relleno de celdas:",
+ "Cell spacing:": "Espaciado entre celdas:",
+ "Click a color...": "Seleccione un color...",
+ "Color: ": "Color: ",
+ "Cols:": "Columnas:",
+ "Em": "Em",
+ "Enlarge Editor": "Editor a pantalla completa",
+ "Enter the image URL here": "",
+ "Fixed width columns": "Columnas de ancho fijo",
+ "For browsers that don't support images": "Para navegadores que no soportan imágenes",
+ "Horizontal padding": "Relleno horizontal",
+ "Horizontal:": "horizontal:",
+ "Image Preview:": "Previsualización de la imagen:",
+ "Image URL:": "Imagen URL:",
+ "Insert Image": "Insertar una imagen",
+ "Insert/Modify Link": "Insertar/Modificar un enlace",
+ "Layout": "Distribución",
+ "Leave empty for no border": "Vacío si no desea ningún borde",
+ "Left": "Izquierda",
+ "Middle": "Medio",
+ "New window (_blank)": "Nueva ventana (_blank)",
+ "None (use implicit)": "Vacío ( usar implícito )",
+ "Not set": "No definido",
+ "Number of columns": "Número de columnas",
+ "Number of rows": "Número de filas",
+ "OK": "Aceptar",
+ "Other": "Otro",
+ "Percent": "Porcentaje",
+ "Pixels": "Pixels",
+ "Positioning of this image": "Posición de la imagen",
+ "Positioning of this table": "Posición de esta tabla",
+ "Preview": "Previsualizar",
+ "Preview the image in a new window": "Previsualizar en una nueva ventana",
+ "Register bottom panel": "Registar panel inferior",
+ "Register left panel": "Registrar panel izquierdo",
+ "Register right panel": "Registrar panel derecho",
+ "Register top panel": "Registar panel superior",
+ "Right": "Derecha",
+ "Rows:": "Filas:",
+ "Same frame (_self)": "Mismo marco (_self)",
+ "Sample": "Muestra",
+ "Space between adjacent cells": "Espaciado entre celdas adyacentes",
+ "Space between content and border in cell": "Escapcio entre el contenido y el borde de la celda",
+ "Spacing": "Espaciado",
+ "Target:": "Destino:",
+ "Texttop": "Texto Superior",
+ "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "El botón de pegar no funciona en los navegadores de Mozilla por motivos de seguridad. Presione CTRL-V en su teclado para pegarlo directamente",
+ "Title (tooltip):": "Título (Tooltip):",
+ "Top": "Superior",
+ "Top frame (_top)": "Marco superior (_top)",
+ "URL:": "URL:",
+ "Vertical padding": "Relleno Vertical",
+ "Vertical:": "Vertical:",
+ "Web Safe: ": "Color web: ",
+ "Width of the table": "Ancho de la tabla",
+ "Width unit": "Unidad de anchura",
+ "Width:": "Ancho:",
+ "You must enter a number of columns": "Debe introducir un número de columnas",
+ "You must enter a number of rows": "Debe introducir un número de filas",
+ "You must enter the URL": "Debe introducir la URL",
+ "You must enter the URL where this link points to": "Debe introducir la URL a donde apunta este enlace",
+ "You need to select some text before create a link": "Necesita seleccionar algún texto antes de crear un link",
+ "Your Document is not well formed. Check JavaScript console for details.": "Su documento no está bien formado. Compruebe la consola de JavaScript para obtener más detalles"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/eu.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/eu.js
new file mode 100644
index 0000000000..3a962ae061
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/eu.js
@@ -0,0 +1,160 @@
+// I18N constants
+// LANG: "eu", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "— format —": "— Formatua —",
+ "About this editor": "Editoreari buruz...",
+ "Address": "Helbidea",
+ "Background Color": "Atzeko kolorea",
+ "Bold": "Lodia",
+ "Bulleted List": "Zerrenda ez ordenatua",
+ "Clean content pasted from Word": "Word-etik itsatsitako edukia ezabatu",
+ "Clear Inline Font Specifications": "Ezabatu testuaren ezaugarriak",
+ "Clear MSOffice tags": "MSOffice etiketak ezabatu",
+ "Close": "Itxi",
+ "Constructing object": "Objektua eraikitzen",
+ "Copy selection": "Kopiatu hautaketa",
+ "Create Statusbar": "Egoera-barra sortu",
+ "Create Toolbar": "Tresna-barra sortu",
+ "Current style": "Uneko estiloa",
+ "Cut selection": "Ebaki hautaketa",
+ "Decrease Indent": "Koska handitu",
+ "Direction left to right": "Ezkerretik eskuinetarako norabidea",
+ "Direction right to left": "Eskuinetik ezkerretarako norabidea",
+ "Finishing": "Bukatzen",
+ "Font Color": "Testu-kolorea",
+ "Formatted": "Formateatua",
+ "Generate Xinha framework": "Xinha Framework sortzen",
+ "Heading 1": "Goiburua 1",
+ "Heading 2": "Goiburua 2",
+ "Heading 3": "Goiburua 3",
+ "Heading 4": "Goiburua 4",
+ "Heading 5": "Goiburua 5",
+ "Heading 6": "Goiburua 6",
+ "Headings": "Goiburuak",
+ "Help using editor": "Laguntza",
+ "Horizontal Rule": "Marra horizontala",
+ "Increase Indent": "Koska txikitu",
+ "Init editor size": "Editorearen hasierako neurria",
+ "Insert Table": "Taula txertatu",
+ "Insert Web Link": "Lotura txertatu",
+ "Insert/Modify Image": "Irudia txertatu",
+ "Insert/Overwrite": "Txertatu/Gainidatzi",
+ "Italic": "Etzana",
+ "Justify Center": "Zentratu",
+ "Justify Full": "Justifikatu",
+ "Justify Left": "Ezkerretara lerrokatu",
+ "Justify Right": "Eskuinetara lerrokatu",
+ "Keyboard shortcuts": "Laster-teklak",
+ "Loading in progress. Please wait!": "Kargatzen. Itxaron mesedez",
+ "Loading plugin $plugin": "$plugin plugina kargatzen",
+ "Normal": "Normala",
+ "Ordered List": "Zerrenda ordenatua",
+ "Paste from clipboard": "Itsatsi arbelean dagoena",
+ "Path": "Bidea",
+ "Print document": "Dokumentua inprimatu",
+ "Redoes your last action": "Berregin",
+ "Register plugin $plugin": "$plugin plugina erregistratu",
+ "Remove formatting": "Formatoa kendu",
+ "Save as": "Gorde honela:",
+ "Select all": "Dena aukeratu",
+ "Set format to paragraph": "Formatua ezarri paragrafoari",
+ "Split Block": "Blokea zatitu",
+ "Strikethrough": "Marratua",
+ "Subscript": "Azpindizea",
+ "Superscript": "Goi-indizea",
+ "The editor provides the following key combinations:": "Editoreak ondorengo tekla-konbinazioak eskaintzen ditu:",
+ "Toggle Borders": "Ertzak trukatu",
+ "Toggle HTML Source": "Ikusi dokumentua HTML-n",
+ "Underline": "Azpimarratua",
+ "Undoes your last action": "Desegin",
+ "Would you like to clear font colours?": "Letra-tipoen koloreak ezabatu nahi al dituzu?",
+ "Would you like to clear font sizes?": "Letra-tipoen neurriak ezabatu nahi al dituzu?",
+ "Would you like to clear font typefaces?": "Letra-tipoak ezabatu nahi al dituzu?",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "TESTU eran ari zara. Erabil ezazu [<>] botoia WYSIWIG erara itzultzeko.",
+ "insert linebreak": "Lerro-jauzia txertatu",
+ "new paragraph": "Paragrafo berria",
+ "__OBSOLETE__": {
+ "Absbottom": "Irudiaren behekaldean",
+ "Absmiddle": "Irudiaren erdian",
+ "Alignment:": "Lerrokatzea:",
+ "Alternate text:": "Testu alternatiboa:",
+ "Baseline": "Irudiaren oinean",
+ "Border thickness:": "Ertzaren lodiera:",
+ "Bottom": "Behean",
+ "Cancel": "Utzi",
+ "Cell padding:": "Gelaxkaren betegarria:",
+ "Cell spacing:": "Gelaxka-tartea:",
+ "Click a color...": "Kolore bat aukeratu...",
+ "Color: ": "Kolorea: ",
+ "Cols:": "Zutabeak:",
+ "Em": "Em",
+ "Enlarge Editor": "Editorea handitu",
+ "Enter the image URL here": "Idatz ezazu irudiaren URL-a hemen",
+ "Fixed width columns": "Zabalera finkodun zutabeak",
+ "For browsers that don't support images": "Irudirik onartzen ez duten nabigatzaileentzat",
+ "Horizontal padding": "Betegarri horizontala",
+ "Horizontal:": "Horizontala:",
+ "Image Preview:": "Irudiaren aurrebista:",
+ "Image URL:": "Irudiaren URL-a:",
+ "Insert Image": "Irudia txertatu",
+ "Insert/Modify Link": "Lotura txertatu/aldatu",
+ "Layout": "Diseinua",
+ "Leave empty for no border": "Uztazu hutsik ertzik ez sortzeko",
+ "Left": "Ezkerretara",
+ "Middle": "Erdian",
+ "New window (_blank)": "Lehio berrian (_blank)",
+ "None (use implicit)": "Bat ere ez (implizituki erabili)",
+ "Not set": "Ez gaitua",
+ "Number of columns": "Zutabe-kopurua",
+ "Number of rows": "Lerro-kopurua",
+ "OK": "Ados",
+ "Other": "Beste bat",
+ "Percent": "Portzentaia",
+ "Pixels": "Pixelak",
+ "Positioning of this image": "Irudiaren kokapena",
+ "Positioning of this table": "Taula honen kokapena",
+ "Preview": "Aurrebista",
+ "Preview the image in a new window": "Aurreikusi irudia beste lehio batean",
+ "Register bottom panel": "Beheko panela erregistratu",
+ "Register left panel": "Ezker-panela erregistratu",
+ "Register right panel": "Eskuin-panela erregistratu",
+ "Register top panel": "Goiko panela erregistratu",
+ "Right": "Eskuinetara",
+ "Rows:": "Lerroak:",
+ "Same frame (_self)": "Frame berean (_self)",
+ "Sample": "Lagina",
+ "Space between adjacent cells": "Gelaxka auzokideen arteko tartea",
+ "Space between content and border in cell": "Gelaxkaren edukia eta ertzaren arteko tartea",
+ "Spacing": "Tartea",
+ "Target:": "Helburua:",
+ "Texttop": "Irudiaren goialdean",
+ "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Itsatsi botoia ez dabil Mozillan oinarritutako nabigatzaileetan (arrazoi teknikoengatik). Sacatu CTRL-V zure teklatuan, zuzenean itsasteko.",
+ "Title (tooltip):": "Izenburua (argibidea):",
+ "Top": "Goian",
+ "Top frame (_top)": "Goiko frame-an (_top)",
+ "URL:": "URL-a:",
+ "Vertical padding": "Betegarri bertikala",
+ "Vertical:": "Bertikala:",
+ "Web Safe: ": "Web Safe: ",
+ "Width of the table": "Taularen zabalera",
+ "Width unit": "Zabalera-unitatea",
+ "Width:": "Zabalera:",
+ "You must enter a number of columns": "Zutabe-kopurua idatzi behar duzu",
+ "You must enter a number of rows": "Lerro-kopurua idatzi behar duzu",
+ "You must enter the URL": "URL-a idatzi behar duzu",
+ "You must enter the URL where this link points to": "Loturaren helburu den URL-a idatzi behar duzu",
+ "You need to select some text before create a link": "Testu-atal bat aukeratu behar duzu lehendabizi, lotura bat sortzeko",
+ "Your Document is not well formed. Check JavaScript console for details.": "Zure dokumentuak ez du formatu zuzena. Begira ezazu JavaScript kontsola xehetasunetarako.",
+ "button_bold": "de/bold.gif",
+ "button_italic": "de/italic.gif",
+ "button_underline": "de/underline.gif"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/fa.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/fa.js
new file mode 100644
index 0000000000..2f9f3b4bf3
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/fa.js
@@ -0,0 +1,157 @@
+// I18N constants
+// LANG: "fa", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "— format —": "— قالب —",
+ "About this editor": "درباره این ویرایش گر",
+ "Address": "آدرس",
+ "Background Color": "رنگ پس زمینه",
+ "Bold": "ضخیم",
+ "Bulleted List": "فهرست گلوله ای",
+ "Clean content pasted from Word": "تمیز کردن محتوای چسبانده شده از Word",
+ "Clear Inline Font Specifications": "پاک کردن متن از مشخصات فونت",
+ "Clear MSOffice tags": "پاک کردن متن از برچسب های MSOffice",
+ "Close": "بستن",
+ "Constructing object": "ساختن شیء",
+ "Copy selection": "کپی انتخاب شده",
+ "Create Toolbar": "ساخت نوار ابزار",
+ "Current style": "شیوه کنونی",
+ "Cut selection": "بریدن انتخاب شده",
+ "Decrease Indent": "کاهش سر خط",
+ "Direction left to right": "جهت از چپ به راست",
+ "Direction right to left": "جهت از راست به چپ",
+ "ENTER": "ENTREE",
+ "Editor Help": "راهنمای ویرایشگر",
+ "Font Color": "رنگ فلم",
+ "Formatted": "قالب بندی شده",
+ "Heading 1": "تیتر 1",
+ "Heading 2": "تیتر 2",
+ "Heading 3": "تیتر 3",
+ "Heading 4": "تیتر 4",
+ "Heading 5": "تیتر 5",
+ "Heading 6": "تیتر 6",
+ "Headings": "عنوان گذاری",
+ "Help using editor": "راهنمای استفاده ویرایش گر",
+ "Horizontal Rule": "خط افقی",
+ "Increase Indent": "افزایش سر خط",
+ "Init editor size": "مقدار دهی اندازه ویرایشگر",
+ "Insert Table": "افزودن جدول",
+ "Insert Web Link": "افزودن لینک وب",
+ "Insert/Modify Image": "افزودن یا ویرایش تصویر",
+ "Insert/Overwrite": "افزودن/جانویسی",
+ "Italic": "مورب",
+ "Justify Center": "تراز در وسط",
+ "Justify Full": "تراز از چپ و راست",
+ "Justify Left": "تراز از چپ",
+ "Justify Right": "تراز در راست",
+ "Keyboard shortcuts": "میانبرهای صفحه کلید",
+ "Normal": "معمولی",
+ "Ordered List": "فهرست مرتب",
+ "Paste from clipboard": "چسباندن از تخته کار",
+ "Path": "مسیر",
+ "Print document": "چاپ سند",
+ "Redoes your last action": "انجام مجدد آخرین عمل",
+ "Register plugin $plugin": "ثبت پلاگین $plugin",
+ "Remove formatting": "حذف فرمت بندی",
+ "SHIFT-ENTER": "SHIFT+ENTREE",
+ "Save as": "ذخیره مانند...",
+ "Select all": "انتخاب همه",
+ "Set format to paragraph": "تغییر قالب به پاراگراف",
+ "Split Block": "بلاک جداسازی",
+ "Strikethrough": "رو خط",
+ "Subscript": "زیروند",
+ "Superscript": "بالاوند",
+ "The editor provides the following key combinations:": "ویرایشگر استفاده از کلید های گروهی زیر را مسیر می سازد :",
+ "Toggle Borders": "فعال/غیر فعال کردن لبه ها",
+ "Toggle HTML Source": "مشاهده یا عدم مشاهده متن در قالب HTML",
+ "Underline": "زیر خط",
+ "Undoes your last action": "برگرداندن آخرین عمل",
+ "Would you like to clear font colours?": "آیا تمایل دارید رنگ قلم را پاک کنید؟",
+ "Would you like to clear font sizes?": "آیا تمایل دارید اندازه قلم را پاک کنید",
+ "Would you like to clear font typefaces?": "آیا تمایل دارید ظاهر فلم را پاک کنید؟",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "در مد متنی هستید. از دکمه [<>] استفاده نمایید تا به مد WYSIWYG برگردید.",
+ "insert linebreak": "افزودن جدا کننده خط",
+ "new paragraph": "پاراگراف جدید",
+ "__OBSOLETE__": {
+ "Absbottom": "دقیقا پایین",
+ "Absmiddle": "دقیقا وسط",
+ "Alignment:": "تراز بندی",
+ "Alternate text:": "متن جایگزین",
+ "Baseline": "ابتدای خط",
+ "Border thickness:": "ضخامت لبه",
+ "Bottom": "پایین",
+ "Cancel": "انصراف",
+ "Cell padding:": "پر کننده سلول",
+ "Cell spacing:": "فاصله سلول ها",
+ "Cols:": "ستون ها",
+ "Constructing main object": "ساختن شیء اصلی",
+ "Create StatusBar": "ساخت نوار وضعیت",
+ "Em": "Em",
+ "Enlarge Editor": "بزرگ کردن ویرایش گر",
+ "Enter the image URL here": "URL تصویر را اینجا وارد کنید",
+ "Fixed width columns": "ستون های طول ثابت",
+ "For browsers that don't support images": "برای مرورگرهایی که از تصاویر پشتیبانی نمی کنند",
+ "Generate Xinha object": "تولید شیء Xinha",
+ "Horizontal padding": "پرکننده افقی",
+ "Horizontal:": "افقی",
+ "Image Preview:": "پیش نمایش تصویر",
+ "Image URL:": "URL تصویر",
+ "Init IFrame": "مقدار دهی IFrame",
+ "Insert Image": "افزودن تصویر",
+ "Insert/Modify Link": "افزودن / ویرایش لینک",
+ "Layout": "لایه",
+ "Leave empty for no border": "برای بدون لبه خالی رها کن",
+ "Left": "چپ",
+ "Loading in progress. Please wait !": "بارگذاری در حال انجام است. لطفا صبر کنید !",
+ "Middle": "وسط",
+ "New window (_blank)": "پنجره جدید (_blank)",
+ "None (use implicit)": "هیچکدام (استفاده از بدون شرط)",
+ "Not set": "تنظیم نشده",
+ "Number of columns": "تعداد ستون ها",
+ "Number of rows": "تعداد ردیف ها",
+ "OK": "بله",
+ "Other": "سایر",
+ "Percent": "درصد",
+ "Pixels": "پیکسل ها",
+ "Positioning of this image": "موقعیت یابی تصویر",
+ "Positioning of this table": "موقعیت یابی این جدول",
+ "Preview": "پیش نمایش",
+ "Preview the image in a new window": "پیش نمایش تصویر در پنجره ای جدید",
+ "Register panel bottom": "ثبت قاب پایین",
+ "Register panel left": "ثبت قاب چپ",
+ "Register panel right": "ثبت قاب راست",
+ "Register panel top": "ثبت قاب بالا",
+ "Right": "راست",
+ "Rows:": "ردیف ها",
+ "Same frame (_self)": "فریم یکسان (_self)",
+ "Space between adjacent cells": "فاصله بین سلول های همجوار",
+ "Space between content and border in cell": "فاصله بین محتوا و لبه در سلول",
+ "Spacing": "فاصله گذاری",
+ "Target:": "هدف",
+ "Texttop": "بالای متن",
+ "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "دکمه چسباندن در مرورگرهای سری Mozilla کار نمی کند (به دلایل فنی امنیتی).برای چسباندن مستقیم ، دکمه CTRL-V را در صفحه کلید بزنید.",
+ "Title (tooltip):": "عنوان (راهنمای یک خطی)",
+ "Top": "بالا",
+ "Top frame (_top)": "فریم بالایی (_top)",
+ "URL:": "URL:",
+ "Vertical padding": "پرکننده عمودی",
+ "Vertical:": "عمودی",
+ "Width of the table": "طول جدول",
+ "Width unit": "واحد طول",
+ "Width:": "طول",
+ "Xinha Help": "راهنمای Xinha",
+ "You must enter a number of columns": "باید تعداد ستون ها را وارد کنید",
+ "You must enter a number of rows": "باید تعداد ردیف ها را وارد کنید",
+ "You must enter the URL": "شما باید URL را وارد کنید",
+ "You must enter the URL where this link points to": "باید URLی که این لینک به آن اشاره دارد را وارد کنید",
+ "You need to select some text before creating a link": "باید قبل از ساخت لینک ، متنی را انتخاب نمایید",
+ "Your Document is not well formed. Check JavaScript console for details.": "سند شما بدرستی قالب بندی نشده است. برای اطلاعات بیشتر پایانه نمایش جاوااسکریپت را بررسی کنید."
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/fi.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/fi.js
new file mode 100644
index 0000000000..77b29d355e
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/fi.js
@@ -0,0 +1,46 @@
+// I18N constants
+// LANG: "fi", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "Tietoja editorista",
+ "Background Color": "Taustaväri",
+ "Bold": "Lihavoitu",
+ "Bulleted List": "Luettelomerkit",
+ "Copy selection": "Kopioi maalattu",
+ "Current style": "Nykyinen tyyli",
+ "Cut selection": "Leikkaa maalattu",
+ "Decrease Indent": "Pienennä sisennystä",
+ "Font Color": "Fontin väri",
+ "Help using editor": "Näytä ohje",
+ "Horizontal Rule": "Vaakaviiva",
+ "Increase Indent": "Lisää sisennystä",
+ "Insert Table": "Lisää taulukko",
+ "Insert Web Link": "Lisää linkki",
+ "Insert/Modify Image": "Lisää kuva",
+ "Italic": "Kursivoitu",
+ "Justify Center": "Keskitä",
+ "Justify Full": "Tasaa molemmat reunat",
+ "Justify Left": "Tasaa vasemmat reunat",
+ "Justify Right": "Tasaa oikeat reunat",
+ "Ordered List": "Numerointi",
+ "Paste from clipboard": "Liitä leikepyödältä",
+ "Redoes your last action": "Palauta viimeinen toiminto",
+ "Strikethrough": "Yliviivattu",
+ "Subscript": "Alaindeksi",
+ "Superscript": "Yläindeksi",
+ "Toggle HTML Source": "HTML-lähdekoodi vs WYSIWYG",
+ "Underline": "Alleviivattu",
+ "Undoes your last action": "Peruuta viimeinen toiminto",
+ "__OBSOLETE__": {
+ "Cancel": "Peruuta",
+ "Enlarge Editor": "Suurenna editori",
+ "OK": "Hyväksy"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/fr.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/fr.js
new file mode 100644
index 0000000000..3ea48f5986
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/fr.js
@@ -0,0 +1,158 @@
+// I18N constants
+// LANG: "fr", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "— format —": "— Format —",
+ "About this editor": "A propos",
+ "Address": "Adresse",
+ "Background Color": "Surlignage",
+ "Bold": "Gras",
+ "Bulleted List": "Liste à puces",
+ "Clean content pasted from Word": "Nettoyage du contenu copié depuis Word",
+ "Clear Inline Font Specifications": "Supprimer paramètres inline de la police",
+ "Clear MSOffice tags": "Supprimer tags MSOffice",
+ "Close": "Fermer",
+ "Constructing object": "Construction de l'objet",
+ "Copy selection": "Copier la sélection",
+ "Create Statusbar": "Construction de la barre de status",
+ "Create Toolbar": "Construction de la barre d'icones",
+ "Current style": "Style courant",
+ "Cut selection": "Couper la sélection",
+ "Decrease Indent": "Diminuer le retrait",
+ "Direction left to right": "Direction de gauche à droite",
+ "Direction right to left": "Direction de droite à gauche",
+ "ENTER": "ENTREE",
+ "Editor Help": "Aide de l'éditeur",
+ "Finishing": "Chargement bientôt terminé",
+ "Font Color": "Couleur de police",
+ "Formatted": "Formaté",
+ "Generate Xinha framework": "Génération de Xinha",
+ "Heading 1": "Titre 1",
+ "Heading 2": "Titre 2",
+ "Heading 3": "Titre 3",
+ "Heading 4": "Titre 4",
+ "Heading 5": "Titre 5",
+ "Heading 6": "Titre 6",
+ "Headings": "Titres",
+ "Help using editor": "Aide",
+ "Horizontal Rule": "Ligne horizontale",
+ "Increase Indent": "Augmenter le retrait",
+ "Init editor size": "Initialisation de la taille d'édition",
+ "Insert Table": "Insérer un tableau",
+ "Insert Web Link": "Insérer un lien",
+ "Insert/Modify Image": "Insérer / Modifier une image",
+ "Insert/Overwrite": "Insertion / Remplacement",
+ "Italic": "Italique",
+ "Justify Center": "Centrer",
+ "Justify Full": "Justifier",
+ "Justify Left": "Aligner à gauche",
+ "Justify Right": "Aligner à droite",
+ "Keyboard shortcuts": "Raccourcis clavier",
+ "Loading in progress. Please wait!": "Chargement en cours. Veuillez patienter!",
+ "Loading plugin $plugin": "Chargement du plugin $plugin",
+ "Normal": "Normal",
+ "Ordered List": "Liste numérotée",
+ "Paste from clipboard": "Coller depuis le presse-papier",
+ "Path": "Chemin",
+ "Print document": "Imprimer document",
+ "Redoes your last action": "Répéter la dernière action",
+ "Register plugin $plugin": "Enregistrement du plugin $plugin",
+ "Remove formatting": "Supprimer mise en forme",
+ "SHIFT-ENTER": "SHIFT+ENTREE",
+ "Save as": "Enregistrer sous",
+ "Select all": "Tout sélectionner",
+ "Set format to paragraph": "Applique le format paragraphe",
+ "Split Block": "Séparer les blocs",
+ "Strikethrough": "Barré",
+ "Subscript": "Indice",
+ "Superscript": "Exposant",
+ "The editor provides the following key combinations:": "L'éditeur fournit les combinaisons de touches suivantes :",
+ "Toggle Borders": "Afficher / Masquer les bordures",
+ "Toggle HTML Source": "Afficher / Masquer code source",
+ "Underline": "Souligné",
+ "Undoes your last action": "Annuler la dernière action",
+ "Would you like to clear font colours?": "Voulez-vous supprimer les couleurs ?",
+ "Would you like to clear font sizes?": "Voulez-vous supprimer les tailles ?",
+ "Would you like to clear font typefaces?": "Voulez-vous supprimer les types ?",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Vous êtes en MODE TEXTE. Appuyez sur le bouton [<>] pour retourner au mode WYSIWYG.",
+ "insert linebreak": "Insère un saut de ligne",
+ "new paragraph": "Nouveau paragraphe",
+ "__OBSOLETE__": {
+ "Absbottom": "Absbottom",
+ "Absmiddle": "Absmiddle",
+ "Alignment:": "Alignement",
+ "Alternate text:": "Texte alternatif",
+ "Baseline": "Baseline",
+ "Border thickness:": "Epaisseur de bordure",
+ "Bottom": "Bas",
+ "Cancel": "Annuler",
+ "Cell padding:": "Marge interne",
+ "Cell spacing:": "Espacement",
+ "Cols:": "Colonnes",
+ "Em": "Em",
+ "Enlarge Editor": "Agrandir l'éditeur",
+ "Enter the image URL here": "Entrer l'URL de l'image ici",
+ "Fixed width columns": "Colonnes à taille fixe",
+ "For browsers that don't support images": "Pour les navigateurs qui ne supportent pas les images",
+ "Horizontal padding": "Marge horizontale interne",
+ "Horizontal:": "Horizontal",
+ "Image Preview:": "Prévisualisation",
+ "Image URL:": "URL image",
+ "Init IFrame": "Initialisation de l'iframe",
+ "Insert Image": "Insérer une image",
+ "Insert/Modify Link": "Insérer / Modifier un lien",
+ "Layout": "Mise en page",
+ "Leave empty for no border": "Laisser vide pour pas de bordure",
+ "Left": "Gauche",
+ "Middle": "Milieu",
+ "New window (_blank)": "Nouvelle fenêtre (_blank)",
+ "None (use implicit)": "Aucune (implicite)",
+ "Not set": "Indéfini",
+ "Number of columns": "Nombre de colonnes",
+ "Number of rows": "Nombre de lignes",
+ "OK": "OK",
+ "Other": "Autre",
+ "Percent": "Pourcent",
+ "Pixels": "Pixels",
+ "Positioning of this image": "Position de l'image",
+ "Positioning of this table": "Position du tableau",
+ "Preview": "Prévisualiser",
+ "Preview the image in a new window": "Prévisualiser l'image dans une nouvelle fenêtre",
+ "Register bottom panel": "Enregistrement du panneau supérieur",
+ "Register left panel": "Enregistrement du panneau gauche",
+ "Register right panel": "Enregistrement du panneau droit",
+ "Register top panel": "Enregistrement du panneau inférieur",
+ "Right": "Droite",
+ "Rows:": "Lignes",
+ "Same frame (_self)": "Même frame (_self)",
+ "Space between adjacent cells": "Espace entre les cellules adjacentes",
+ "Space between content and border in cell": "Espace entre le contenu et la bordure d'une cellule",
+ "Spacing": "Espacement",
+ "Target:": "Cible",
+ "Texttop": "Texttop",
+ "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Le bouton Coller ne fonctionne pas sur les navigateurs basés sur Mozilla (pour des raisons de sécurité). Pressez CTRL-V au clavier pour coller directement.",
+ "Title (tooltip):": "Texte alternatif",
+ "Top": "Haut",
+ "Top frame (_top)": "Frame principale (_top)",
+ "URL:": "URL:",
+ "Vertical padding": "Marge verticale interne",
+ "Vertical:": "Vertical",
+ "Width of the table": "Largeur du tableau",
+ "Width unit": "Unités de largeur",
+ "Width:": "Largeur",
+ "Xinha Help": "Aide Xinha",
+ "You must enter a number of columns": "Vous devez entrer le nombre de colonnes",
+ "You must enter a number of rows": "Vous devez entrer le nombre de lignes",
+ "You must enter the URL": "Vous devez entrer l'URL",
+ "You must enter the URL where this link points to": "Vous devez entrer l'URL de ce lien",
+ "You need to select some text before creating a link": "Vous devez sélectionner du texte avant de créer un lien",
+ "Your Document is not well formed. Check JavaScript console for details.": "Le document est mal formé. Vérifiez la console JavaScript pour plus de détails."
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/he.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/he.js
new file mode 100644
index 0000000000..855def6395
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/he.js
@@ -0,0 +1,61 @@
+// I18N constants
+// LANG: "he", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "אודות עורך זה",
+ "Background Color": "צבע רקע",
+ "Bold": "מודגש",
+ "Bulleted List": "רשימה לא ממוספרת",
+ "Copy selection": "העתק בחירה",
+ "Current style": "סגנון נוכחי",
+ "Cut selection": "גזור בחירה",
+ "Decrease Indent": "הקטן כניסה",
+ "Direction left to right": "כיוון משמאל לימין",
+ "Direction right to left": "כיוון מימין לשמאל",
+ "Font Color": "צבע גופן",
+ "Help using editor": "עזרה לשימוש בעורך",
+ "Horizontal Rule": "קו אנכי",
+ "Increase Indent": "הגדל כניסה",
+ "Insert Table": "הכנס טבלה",
+ "Insert Web Link": "הכנס היפר-קישור",
+ "Insert/Modify Image": "הכנס/שנה תמונה",
+ "Italic": "נטוי",
+ "Justify Center": "ישור למרכז",
+ "Justify Full": "ישור לשורה מלאה",
+ "Justify Left": " ישור לשמאל",
+ "Justify Right": "ישור לימין",
+ "Ordered List": "רשימה ממוספרת",
+ "Paste from clipboard": "הדבק מהלוח",
+ "Path": "נתיב עיצוב",
+ "Redoes your last action": "מבצע מחדש את הפעולה האחרונה שביטלת",
+ "Strikethrough": "קו אמצע",
+ "Subscript": "כתב עילי",
+ "Superscript": "כתב תחתי",
+ "Toggle HTML Source": "שנה מצב קוד HTML",
+ "Underline": "קו תחתי",
+ "Undoes your last action": "מבטל את פעולתך האחרונה",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "אתה במצב טקסט נקי (קוד). השתמש בכפתור [<>] כדי לחזור למצב WYSIWYG (תצוגת עיצוב).",
+ "__OBSOLETE__": {
+ "Cancel": "ביטול",
+ "Enlarge Editor": "הגדל את העורך",
+ "Insert/Modify Link": "הוסף/שנה קישור",
+ "New window (_blank)": "חלון חדש (_blank)",
+ "None (use implicit)": "ללא (השתמש ב-frame הקיים)",
+ "OK": "אישור",
+ "Other": "אחר",
+ "Same frame (_self)": "אותו frame (_self)",
+ "Target:": "יעד:",
+ "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "מצב מסך מלא יוצר בעיות בדפדפן Internet Explorer, עקב באגים בדפדפן לא יכולנו לפתור את זה. את/ה עלול/ה לחוות תצוגת זבל, בעיות בתפקוד העורך ו/או קריסה של הדפדפן. אם המערכת שלך היא Windows 9x סביר להניח שתקבל/י ",
+ "Title (tooltip):": "כותרת (tooltip):",
+ "Top frame (_top)": "Frame עליון (_top)",
+ "URL:": "URL:",
+ "You must enter the URL where this link points to": "חובה לכתוב URL שאליו קישור זה מצביע"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/hu.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/hu.js
new file mode 100644
index 0000000000..a5bea8f322
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/hu.js
@@ -0,0 +1,61 @@
+// I18N constants
+// LANG: "hu", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "Névjegy",
+ "Background Color": "Háttérszín",
+ "Bold": "Félkövér",
+ "Bulleted List": "Számozatlan lista",
+ "Copy selection": "Másolás",
+ "Current style": "Aktuális stílus",
+ "Cut selection": "Kivágás",
+ "Decrease Indent": "Behúzás csökkentése",
+ "Direction left to right": "Irány balról jobbra",
+ "Direction right to left": "Irány jobbról balra",
+ "Font Color": "Karakterszín",
+ "Help using editor": "Súgó",
+ "Horizontal Rule": "Elválasztó vonal",
+ "Increase Indent": "Behúzás növelése",
+ "Insert Table": "Táblázat beszúrása",
+ "Insert Web Link": "Hiperhivatkozás beszúrása",
+ "Insert/Modify Image": "Kép beszúrása",
+ "Italic": "Dőlt",
+ "Justify Center": "Középre zárt",
+ "Justify Full": "Sorkizárt",
+ "Justify Left": "Balra zárt",
+ "Justify Right": "Jobbra zárt",
+ "Ordered List": "Számozott lista",
+ "Paste from clipboard": "Beillesztés",
+ "Path": "Hierarchia",
+ "Redoes your last action": "Újra végrehajtás",
+ "Strikethrough": "Áthúzott",
+ "Subscript": "Alsó index",
+ "Superscript": "Felső index",
+ "Toggle HTML Source": "HTML forrás be/ki",
+ "Underline": "Aláhúzott",
+ "Undoes your last action": "Visszavonás",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Forrás mód. Visszaváltás [<>] gomb",
+ "__OBSOLETE__": {
+ "Cancel": "Mégsem",
+ "Enlarge Editor": "Szerkesztő külön ablakban",
+ "Insert/Modify Link": "Hivatkozás Beszúrása/Módosítása",
+ "New window (_blank)": "Új ablak (_blank)",
+ "None (use implicit)": "Nincs (use implicit)",
+ "OK": "Rendben",
+ "Other": "Más",
+ "Same frame (_self)": "Ugyanabba a keretbe (_self)",
+ "Target:": "Cél:",
+ "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "A teljesképrenyős szerkesztés hibát okozhat Internet Explorer használata esetén, ez a böngésző a hibája, amit nem tudunk kikerülni. Szemetet észlelhet a képrenyőn, illetve néhány funkció hiányozhat és/vagy véletlenszerűen lefagyhat a böngésző. Windows 9x operaciós futtatása esetén elég valószínű, hogy ",
+ "Title (tooltip):": "Cím (tooltip):",
+ "Top frame (_top)": "Felső keret (_top)",
+ "URL:": "URL:",
+ "You must enter the URL where this link points to": "Be kell írnia az URL-t, ahova a hivatkozás mutasson"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/it.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/it.js
new file mode 100644
index 0000000000..f1cf15dc83
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/it.js
@@ -0,0 +1,61 @@
+// I18N constants
+// LANG: "it", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "Informazioni su Xinha",
+ "Background Color": "Colore sfondo",
+ "Bold": "Grassetto",
+ "Bulleted List": "Lista non numerata",
+ "Copy selection": "Copia",
+ "Current style": "Stile corrente",
+ "Cut selection": "Taglia",
+ "Decrease Indent": "Diminuisci indentazione",
+ "Direction left to right": "Testo da sx a dx",
+ "Direction right to left": "Testo da dx a sx",
+ "Font Color": "Colore font",
+ "Help using editor": "Aiuto",
+ "Horizontal Rule": "Righello orizzontale",
+ "Increase Indent": "Aumenta indentazione",
+ "Insert Table": "Inserisci tabella",
+ "Insert Web Link": "Inserisci link",
+ "Insert/Modify Image": "Inserisci/modifica Immagine",
+ "Italic": "Corsivo",
+ "Justify Center": "Centrato",
+ "Justify Full": "Giustificato",
+ "Justify Left": "Sinistra",
+ "Justify Right": "Destra",
+ "Ordered List": "Lista numerata",
+ "Paste from clipboard": "Incolla",
+ "Path": "Percorso",
+ "Redoes your last action": "Ripeti ultima azione",
+ "Strikethrough": "Barrato",
+ "Subscript": "Pedice",
+ "Superscript": "Apice",
+ "Toggle HTML Source": "Visualizza/nascondi sorgente HTML",
+ "Underline": "Sottolineato",
+ "Undoes your last action": "Annulla ultima azione",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Sei in MODALITA",
+ "__OBSOLETE__": {
+ "Cancel": "Annulla",
+ "Enlarge Editor": "Allarga editor",
+ "Insert/Modify Link": "Inserisci/modifica link",
+ "New window (_blank)": "Nuova finestra (_blank)",
+ "None (use implicit)": "Niente (usa implicito)",
+ "OK": "OK",
+ "Other": "Altro",
+ "Same frame (_self)": "Stessa frame (_self)",
+ "Target:": "Target:",
+ "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "E",
+ "Title (tooltip):": "Title (suggerimento):",
+ "Top frame (_top)": "Pagina intera (_top)",
+ "URL:": "URL:",
+ "You must enter the URL where this link points to": "Devi inserire l'indirizzo a cui punta il link"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/ja.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/ja.js
new file mode 100644
index 0000000000..1692901b59
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/ja.js
@@ -0,0 +1,163 @@
+// I18N constants
+// LANG: "ja", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "— font —": "— フォント —",
+ "— format —": "— 書式 —",
+ "— size —": "— サイズ —",
+ "About this editor": "バージョン情報",
+ "Address": "アドレス",
+ "Background Color": "背景色",
+ "Bold": "太字",
+ "Bulleted List": "記号付き箇条書き",
+ "Clean content pasted from Word": "Wordから貼り付けられた内容の清書",
+ "Clear Inline Font Specifications": "インラインフォント指定をクリア",
+ "Clear MSOffice tags": "MSOfficeタグをクリア",
+ "Close": "閉じる",
+ "Constructing object": "オブジェクト構築中",
+ "Copy selection": "コピー",
+ "Create Statusbar": "ステータスバーの作成",
+ "Create Toolbar": "ツールバーの作成",
+ "Current style": "現在のスタイル",
+ "Cut selection": "切り取り",
+ "Decrease Indent": "インデント解除",
+ "Direction left to right": "左から右へ",
+ "Direction right to left": "右から左へ",
+ "ENTER": "ENTER",
+ "Editor Help": "エディタのヘルプ",
+ "Finishing": "完了",
+ "Font Color": "文字色",
+ "Formatted": "整形済み",
+ "Generate Xinha framework": "Xinhaフレームワーク生成中",
+ "Heading 1": "見出し1",
+ "Heading 2": "見出し2",
+ "Heading 3": "見出し3",
+ "Heading 4": "見出し4",
+ "Heading 5": "見出し5",
+ "Heading 6": "見出し6",
+ "Headings": "見出し",
+ "Help using editor": "ヘルプ",
+ "Horizontal Rule": "水平線",
+ "Increase Indent": "インデント設定",
+ "Init editor size": "エディタサイズの初期化",
+ "Insert Table": "テーブルの挿入",
+ "Insert Web Link": "リンクの挿入",
+ "Insert/Modify Image": "画像の挿入/修正",
+ "Insert/Overwrite": "挿入/上書き",
+ "Italic": "斜体",
+ "Justify Center": "中央寄せ",
+ "Justify Full": "均等割付",
+ "Justify Left": "左寄せ",
+ "Justify Right": "右寄せ",
+ "Keyboard shortcuts": "キーボードショートカット",
+ "Loading in progress. Please wait!": "ロード中です。しばらくお待ちください",
+ "Loading plugin $plugin": "ロード中プラグイン $plugin",
+ "Normal": "標準",
+ "Ordered List": "番号付き箇条書き",
+ "Paste from clipboard": "貼り付け",
+ "Path": "パス",
+ "Print document": "印刷",
+ "Redoes your last action": "やり直し",
+ "Register plugin $plugin": "登録中プラグイン $plugin",
+ "Remove formatting": "書式削除",
+ "SHIFT-ENTER": "SHIFT+ENTER",
+ "Save as": "名前をつけて保存",
+ "Select all": "すべて選択",
+ "Set format to paragraph": "段落書式の設定",
+ "Split Block": "領域分割",
+ "Strikethrough": "打ち消し線",
+ "Subscript": "下付き添え字",
+ "Superscript": "上付き添え字",
+ "The editor provides the following key combinations:": "エディタは以下のキー操作を提供しています:",
+ "Toggle Borders": "境界線の切替",
+ "Toggle HTML Source": "HTML編集モードを切替",
+ "Underline": "下線",
+ "Undoes your last action": "元に戻す",
+ "Would you like to clear font colours?": "色をクリアしますか?",
+ "Would you like to clear font sizes?": "サイズをクリアしますか?",
+ "Would you like to clear font typefaces?": "フォント名をクリアしますか?",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "テキストモードで操作しています。WYSIWYG編集に戻るには[<>]ボタンを使ってください。",
+ "insert linebreak": "段落内改行の挿入",
+ "new paragraph": "新規段落",
+ "__OBSOLETE__": {
+ "Absbottom": "下(絶対的)",
+ "Absmiddle": "中央(絶対的)",
+ "Alignment:": "行揃え:",
+ "Alternate text:": "代替テキスト:",
+ "Baseline": "ベースライン",
+ "Border thickness:": "境界線の太さ:",
+ "Bottom": "下",
+ "Cancel": "中止",
+ "Cell padding:": "セル余白:",
+ "Cell spacing:": "セル間隔:",
+ "Click a color...": "色をクリック...",
+ "Color: ": "色: ",
+ "Cols:": "列:",
+ "Em": "相対値(em)",
+ "Enlarge Editor": "エディタを最大化",
+ "Enter the image URL here": "画像のURLをここに入力します",
+ "Fixed width columns": "列の幅を固定",
+ "For browsers that don't support images": "画像表示をサポートしないブラウザに必要です",
+ "Horizontal padding": "水平余白",
+ "Horizontal:": "水平:",
+ "Image Preview:": "画像表示:",
+ "Image URL:": "画像URL:",
+ "Insert Image": "画像の挿入",
+ "Insert/Modify Link": "リンクの挿入/修正",
+ "Layout": "レイアウト",
+ "Leave empty for no border": "境界線がない場合は空のままにする",
+ "Left": "左",
+ "Middle": "中央",
+ "New window (_blank)": "新しいウィンドウ (_blank)",
+ "None (use implicit)": "なし (デフォルトに任せる)",
+ "Not set": "なし",
+ "Number of columns": "列数",
+ "Number of rows": "行数",
+ "OK": "OK",
+ "Other": "その他",
+ "Percent": "パーセント(%)",
+ "Pixels": "ピクセル(px)",
+ "Positioning of this image": "画像の配置",
+ "Positioning of this table": "このテーブルの配置",
+ "Preview": "表示",
+ "Preview the image in a new window": "ウィンドウで画像を表示",
+ "Register bottom panel": "登録 下パネル",
+ "Register left panel": "登録 左パネル",
+ "Register right panel": "登録 右パネル",
+ "Register top panel": "登録 上パネル",
+ "Right": "右",
+ "Rows:": "行:",
+ "Same frame (_self)": "自己フレーム内 (_self)",
+ "Sample": "サンプル",
+ "Space between adjacent cells": "隣接するセル間の距離",
+ "Space between content and border in cell": "セル内における内容と境界線との距離",
+ "Spacing": "間隔",
+ "Target:": "ターゲット:",
+ "Texttop": "テキスト上部",
+ "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "MozillaベースのWebブラウザでは、貼り付けボタンは機能しません(技術的なセキュリティ上の理由で)。Ctrl+Vキーを押して直接貼り付けてください。",
+ "Title (tooltip):": "タイトル:",
+ "Top": "上",
+ "Top frame (_top)": "最上位フレーム (_top)",
+ "URL:": "URL:",
+ "Vertical padding": "垂直余白",
+ "Vertical:": "垂直:",
+ "Web Safe: ": "Webセーフ: ",
+ "Width of the table": "テーブルの幅",
+ "Width unit": "幅の単位",
+ "Width:": "幅:",
+ "Xinha Help": "ヘルプ",
+ "You must enter a number of columns": "列数を入力してください",
+ "You must enter a number of rows": "行数を入力してください",
+ "You must enter the URL": "URLを入力する必要があります",
+ "You must enter the URL where this link points to": "このリンクが指し示すURLを入力してください",
+ "You need to select some text before creating a link": "リンクを作成するにはテキストを選択する必要があります",
+ "Your Document is not well formed. Check JavaScript console for details.": "この文書には構文的な問題があります。詳細はJavaScriptコンソールを参照してください。"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/lc_base.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/lc_base.js
new file mode 100644
index 0000000000..ecc0386f1b
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/lc_base.js
@@ -0,0 +1,141 @@
+// I18N constants
+//
+// LANG: "en", ENCODING: UTF-8
+// Author: Translator-Name,
+//
+// Last revision: 2018-04-12
+// Please don´t remove this information
+// If you modify any source, please insert a comment with your name and e-mail
+//
+// Distributed under the same terms as HTMLArea itself.
+// This notice MUST stay intact for use (see license.txt).
+//
+// (Please, remove information below)
+// 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.)
+
+{
+ "— font —": "",
+ "— format —": "",
+ "— size —": "",
+ "1 (8 pt)": "",
+ "2 (10 pt)": "",
+ "3 (12 pt)": "",
+ "4 (14 pt)": "",
+ "5 (18 pt)": "",
+ "6 (24 pt)": "",
+ "7 (36 pt)": "",
+ "About this editor": "",
+ "Address": "",
+ "Arial": "",
+ "Background Color": "",
+ "Bold": "",
+ "Bulleted List": "",
+ "CTRL-0 (zero)": "",
+ "CTRL-1 .. CTRL-6": "",
+ "CTRL-A": "",
+ "CTRL-B": "",
+ "CTRL-C": "",
+ "CTRL-E": "",
+ "CTRL-I": "",
+ "CTRL-J": "",
+ "CTRL-L": "",
+ "CTRL-N": "",
+ "CTRL-R": "",
+ "CTRL-S": "",
+ "CTRL-U": "",
+ "CTRL-V": "",
+ "CTRL-X": "",
+ "CTRL-Y": "",
+ "CTRL-Z": "",
+ "Clean content pasted from Word": "",
+ "Clear Inline Font Specifications": "",
+ "Clear MSOffice tags": "",
+ "Close": "",
+ "Constructing object": "",
+ "Copy selection": "",
+ "Courier New": "",
+ "Create Statusbar": "",
+ "Create Toolbar": "",
+ "Current style": "",
+ "Cut selection": "",
+ "Decrease Indent": "",
+ "Direction left to right": "",
+ "Direction right to left": "",
+ "ENTER": "",
+ "Editor Help": "",
+ "Error Loading Xinha. Developers, check the Error Console for information.": "",
+ "Finishing": "",
+ "Font Color": "",
+ "Formatted": "",
+ "Generate Xinha framework": "",
+ "Georgia": "",
+ "Heading 1": "",
+ "Heading 2": "",
+ "Heading 3": "",
+ "Heading 4": "",
+ "Heading 5": "",
+ "Heading 6": "",
+ "Headings": "",
+ "Help using editor": "",
+ "Horizontal Rule": "",
+ "Impact": "",
+ "Increase Indent": "",
+ "Init editor size": "",
+ "Insert Table": "",
+ "Insert Web Link": "",
+ "Insert/Modify Image": "",
+ "Insert/Overwrite": "",
+ "Italic": "",
+ "Justify Center": "",
+ "Justify Full": "",
+ "Justify Left": "",
+ "Justify Right": "",
+ "Keyboard shortcuts": "",
+ "Loading Core": "",
+ "Loading in progress. Please wait!": "",
+ "Loading plugin $plugin": "",
+ "Loading plugins": "",
+ "MS Word Cleaner": "",
+ "Normal": "",
+ "Ordered List": "",
+ "Paste from clipboard": "",
+ "Path": "",
+ "Print document": "",
+ "Redoes your last action": "",
+ "Register plugin $plugin": "",
+ "Remove formatting": "",
+ "SHIFT-ENTER": "",
+ "Save as": "",
+ "Select Color": "",
+ "Select all": "",
+ "Set format to paragraph": "",
+ "Split Block": "",
+ "Strikethrough": "",
+ "Subscript": "",
+ "Superscript": "",
+ "Tahoma": "",
+ "The editor provides the following key combinations:": "",
+ "Times New Roman": "",
+ "Toggle Borders": "",
+ "Toggle HTML Source": "",
+ "Touch here first to activate editor.": "",
+ "Underline": "",
+ "Undoes your last action": "",
+ "Verdana": "",
+ "Waiting for Iframe to load...": "",
+ "WingDings": "",
+ "Would you like to clear font colours?": "",
+ "Would you like to clear font sizes?": "",
+ "Would you like to clear font typefaces?": "",
+ "Xinha": "",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "",
+ "insert linebreak": "",
+ "new paragraph": ""
+}
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/lt.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/lt.js
new file mode 100644
index 0000000000..ad1b99929e
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/lt.js
@@ -0,0 +1,59 @@
+// I18N constants
+// LANG: "lt", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "Apie redaktorių",
+ "Background Color": "Fono spalva",
+ "Bold": "Paryškinti",
+ "Bulleted List": "Suženklintas sąrašas",
+ "Copy selection": "Kopijuoti",
+ "Current style": "Dabartinis stilius",
+ "Cut selection": "Iškirpti",
+ "Decrease Indent": "Sumažinti paraštę",
+ "Font Color": "Šrifto spalva",
+ "Help using editor": "Pagalba naudojant redaktorių",
+ "Horizontal Rule": "Horizontali linija",
+ "Increase Indent": "Padidinti paraštę",
+ "Insert Table": "Įterpti lentelę",
+ "Insert Web Link": "Įterpti nuorodą",
+ "Insert/Modify Image": "Įterpti paveiksliuką",
+ "Italic": "Kursyvas",
+ "Justify Center": "Lygiavimas pagal centrą",
+ "Justify Full": "Lygiuoti pastraipą",
+ "Justify Left": "Lygiavimas pagal kairę",
+ "Justify Right": "Lygiavimas pagal dešinę",
+ "Ordered List": "Numeruotas sąrašas",
+ "Paste from clipboard": "Įterpti",
+ "Path": "Kelias",
+ "Redoes your last action": "Pakartoja paskutinį atšauktą jūsų veiksmą",
+ "Strikethrough": "Perbraukti",
+ "Subscript": "Apatinis indeksas",
+ "Superscript": "Viršutinis indeksas",
+ "Toggle HTML Source": "Perjungti į HTML/WYSIWYG",
+ "Underline": "Pabraukti",
+ "Undoes your last action": "Atšaukia paskutini jūsų veiksmą",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Jūs esete teksto režime. Naudokite [<>] mygtuką grįžimui į WYSIWYG.",
+ "__OBSOLETE__": {
+ "Cancel": "Atšaukti",
+ "Enlarge Editor": "Išplėstas redagavimo ekranas/Enlarge Editor",
+ "Insert/Modify Link": "Idėti/Modifikuoti",
+ "New window (_blank)": "Naujas langas (_blank)",
+ "None (use implicit)": "None (use implicit)",
+ "OK": "OK",
+ "Other": "Kitas",
+ "Same frame (_self)": "Same frame (_self)",
+ "Target:": "Target:",
+ "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren",
+ "Title (tooltip):": "Pavadinimas (tooltip):",
+ "Top frame (_top)": "Top frame (_top)",
+ "URL:": "URL:",
+ "You must enter the URL where this link points to": "Jus privalote nurodyti URL į kuri rodo šitą nuoroda"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/lv.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/lv.js
new file mode 100644
index 0000000000..1a51ab80de
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/lv.js
@@ -0,0 +1,48 @@
+// I18N constants
+// LANG: "lv", ENCODING: UTF-8
+//
+// IMPORTANT NOTICE FOR TRANSLATORS
+// ============================================================================
+//
+// Please be sure you read the README_TRANSLATORS.TXT in the Xinha Root
+// Directory. Unless you are making a new plugin or module it is unlikely
+// that you want to be editing this file directly.
+//
+{
+ "About this editor": "Par ðo rediìçtâju",
+ "Background Color": "Fona krâsa",
+ "Bold": "Trekniem burtiem",
+ "Bulleted List": "Saraksts",
+ "Copy selection": "Kopçt iezîmçto",
+ "Current style": "Patreizçjais stils",
+ "Cut selection": "Izgriezt iezîmçto",
+ "Decrease Indent": "Samazinât atkâpi",
+ "Font Color": "Burtu krâsa",
+ "Help using editor": "Rediìçtâja palîgs",
+ "Horizontal Rule": "Horizontâla atdalîtâjsvîtra",
+ "Increase Indent": "Palielinât atkâpi",
+ "Insert Table": "Ievietot tabulu",
+ "Insert Web Link": "Ievietot hipersaiti",
+ "Insert/Modify Image": "Ievietot attçlu",
+ "Italic": "Kursîvâ",
+ "Justify Center": "Izlîdzinât centrâ",
+ "Justify Full": "Izlîdzinât pa visu lapu",
+ "Justify Left": "Izlîdzinât pa kreisi",
+ "Justify Right": "Izlîdzinât pa labi",
+ "Ordered List": "Numurçts saraksts",
+ "Paste from clipboard": "Ievietot iezîmçto",
+ "Path": "Ceïð",
+ "Redoes your last action": "Atkârtot pçdçjo darbîbu",
+ "Strikethrough": "Pârsvîtrots",
+ "Subscript": "Novietot zem rindas",
+ "Superscript": "Novietot virs rindas",
+ "Toggle HTML Source": "Skatît HTML kodu",
+ "Underline": "Pasvîtrots",
+ "Undoes your last action": "Atcelt pçdçjo darbîbu",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": "Jûs patlaban darbojaties TEKSTA REÞÎMÂ. Lai pârietu atpakaï uz GRAFISKO REÞÎMU (WYSIWIG), lietojiet [<>] pogu.",
+ "__OBSOLETE__": {
+ "Cancel": "Atcelt",
+ "Enlarge Editor": "Palielinât Rediìçtâju",
+ "OK": "Labi"
+ }
+};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/merged/__new__.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/merged/__new__.js
new file mode 100644
index 0000000000..f3673e9df9
--- /dev/null
+++ b/app/src/main/webapp/roller-ui/authoring/editors/xinha-1.5.1/lang/merged/__new__.js
@@ -0,0 +1,1503 @@
+// Xinha Language Combined Translation File
+//
+// LANG: "NEW", ENCODING: UTF-8
+//
+// INSTRUCTIONS TO TRANSLATORS
+// ===========================================================================
+//
+// Your translation must be in UTF-8 Character Encoding.
+//
+// This is a JSON encoded file (plus comments), strings should be double-quote
+// only, do not use single quotes to surround strings - "hello", not 'hello'
+// do not have a trailing comma after the last entry in a section.
+//
+// Only full line comments are allowed (that a comments occupy entire lines).
+//
+// Search for the __NEW_TRANSLATIONS__ section below, this is where you will
+// want to focus, this section includes things that do not presently have a
+// translation or for which the translation needs to be checked for accuracy.
+//
+// In the New Translations section a translation string is one of the following
+//
+// "English String Here" : ""
+// This means it is not translated yet, add your translation...
+// "English String Here" : "Klingon String Here"
+//
+// "English String Here" : "Translated String Here"
+// This means that an existing translation for this string, in some other
+// section has been found, and used. Check that it is approprite for this
+// section and if it is, that's fine leave it as is, otherwise change as
+// appropriate.
+//
+// "English String Here" : "<>"
+// This means use the same translation for this string as <>
+// this saves you re-tranlating strings. If the Context of this section
+// and the context of AnotherSection seem the same, that's fine leave it
+// using that translation, but if this section needs a different translation,
+// you can provide it by replacing the link (<>) with that
+// new translation. For example - a "Table" in say "DataPlugin" is
+// perhaps translated differently to "Table" in "FurniturePlugin".
+//
+// TESTING YOUR TRANSLATION
+// ===========================================================================
+// Simply place your translation file on your webserver somewhere for example
+//
+// /xinha/lang/merged/NEW.js
+//
+// and then tell Xinha where to get it (before loading XinhaCore.js) by
+//
+// _editor_lang = 'NEW';
+// _editor_lang_merged_file = '/xinha/lang/merged/NEW.js';
+//
+// Xinha will load your new language definition.
+//
+// SUBMITTING YOUR TRANSLATION
+// ===========================================================================
+// Simply create a Ticket on the Xinha website and attach your translation
+// file.
+//
+// The Xinha developers will take your file and use the
+// contrib/lc_split_merged_file.php
+// script to load it into the Xinha distribution.
+
+{
+ "__NEW_TRANSLATIONS__": {
+ "Abbreviation": {
+ "Abbreviation": "",
+ "Cancel": "",
+ "Delete": "",
+ "Expansion:": "",
+ "OK": ""
+ },
+ "AboutBox": {
+ "About this editor": "<>",
+ "Close": "<>"
+ },
+ "CharCounter": {
+ "... in progress": "",
+ "Chars": "",
+ "HTML": "",
+ "Words": ""
+ },
+ "CharacterMap": {
+ "Insert special character": ""
+ },
+ "ColorPicker": {
+ "Click a color...": "",
+ "Color: ": "",
+ "Sample": "",
+ "Web Safe: ": "",
+ "Close": "<>",
+ "OK": "<>"
+ },
+ "ContextMenu": {
+ "_Delete Row": "",
+ "_Image Properties...": "",
+ "_Modify Link...": "",
+ "_Remove Link...": "",
+ "_Table Properties...": "",
+ "C_ell Properties...": "",
+ "Chec_k Link...": "",
+ "Copy": "",
+ "Create a link": "",
+ "Current URL is": "",
+ "Cut": "",
+ "De_lete Column": "",
+ "Delete Cell": "",
+ "Delete the current column": "",
+ "Delete the current row": "",
+ "How did you get here? (Please report!)": "",
+ "I_nsert Row Before": "",
+ "In_sert Row After": "",
+ "Insert _Column Before": "",
+ "Insert a new column after the current one": "",
+ "Insert a new column before the current one": "",
+ "Insert a new row after the current one": "",
+ "Insert a new row before the current one": "",
+ "Insert a paragraph after the current node": "",
+ "Insert a paragraph before the current node": "",
+ "Insert C_olumn After": "",
+ "Insert Cell After": "",
+ "Insert Cell Before": "",
+ "Insert paragraph after": "",
+ "Insert paragraph before": "",
+ "Link points to:": "",
+ "Make lin_k...": "",
+ "Merge Cells": "",
+ "Opens this link in a new window": "",
+ "Paste": "",
+ "Please confirm that you want to remove this element:": "",
+ "Please confirm that you want to unlink this element.": "",
+ "Remove the $elem Element...": "",
+ "Remove this node from the document": "",
+ "Ro_w Properties...": "",
+ "Show the image properties dialog": "",
+ "Show the Table Cell Properties dialog": "",
+ "Show the Table Properties dialog": "",
+ "Show the Table Row Properties dialog": "",
+ "Unlink the current element": "",
+ "Justify Center": "<>",
+ "Justify Full": "<>",
+ "Justify Left": "<>",
+ "Justify Right": "<>"
+ },
+ "CreateLink": {
+ "Are you sure you wish to remove this link?": "",
+ "Insert/Modify Link": "",
+ "New window (_blank)": "",
+ "None (use implicit)": "",
+ "Other": "",
+ "Same frame (_self)": "",
+ "Target:": "",
+ "Title (tooltip):": "",
+ "Top frame (_top)": "",
+ "URL:": "",
+ "You need to select some text before creating a link": "",
+ "Cancel": "<>",
+ "OK": "<>"
+ },
+ "DefinitionList": {
+ "definition description": "",
+ "definition list": "",
+ "definition term": ""
+ },
+ "Dialogs": {
+ "Some Text Here": ""
+ },
+ "DynamicCSS": {
+ "Choose stylesheet": "",
+ "Default": "",
+ "Undefined": ""
+ },
+ "EditTag": {
+ "Edit HTML for selected text": "",
+ "Edit Tag By Peg": "",
+ "Tag Editor": "",
+ "Cancel": "<>",
+ "OK": "<>"
+ },
+ "Equation": {
+ "!=": "",
+ "!in": "",
+ ">-": "",
+ ">=": "",
+ "<=": "",
+ "<=>": "",
+ "<x>": "",
+ " `!` ": "",
+ " `.` ": "",
+ " `0` ": "",
+ " `2` ": "",
+ " `3` ": "",
+ " `4` ": "",
+ " `5` ": "",
+ " `6` ": "",
+ " `7` ": "",
+ " `8` ": "",
+ " `9` ": "",
+ " `e` ": "",
+ " `1` ": "",
+ " `+{::}` ": "",
+ " `-:\\ `": "",
+ " `-{::}` ": "",
+ " `C` ": "",
+ " `cos`": "",
+ " `ln` ": "",
+ " `pi` ": "",
+ " `sin`": "",
+ " `tan`": "",
+ " `times` ": "",
+ ""text"": "",
+ "'+formula+'": "",
+ "((n),(k))": "",
+ "(x+1)/(x-1)": "",
+ "*": "",
+ "**": "",
+ "+-": "",
+ "->": "",
+ "-<": "",
+ "-:": "",
+ "-=": "",
+ "//": "",
+ "/_": "",
+ ":.": "",
+ "=>": "",
+ "@": "",
+ "[[a,b],[c,d]]": "",
+ "\\\\": "",
+ "\\nClick in the box to use your keyboard or use the buttons\\n": "",
+ "^^": "",
+ "^^^": "",
+ "__|": "",
+ "_|_": "",
+ "`!=`": "",
+ "`!in`": "",
+ "`∧`": "",
+ "`∩`": "",
+ "`∪`": "",
+ "`>-`": "",
+ "`>=`": "",
+ "`<=>`": "",
+ "`<=`": "",
+ "`<x>`": "",
+ "`∨`": "",
+ "`"text"`": "",
+ "`((n),(k))`": "",
+ "`(x+1)/(x-1)`": "",
+ "`**`": "",
+ "`*`": "",
+ "`+-`": "",
+ "`->`": "",
+ "`-<`": "",
+ "`-:`": "",
+ "`-=`": "",
+ "`//`": "",
+ "`/_`": "",
+ "`:.`": "",
+ "`=>`": "",
+ "`@`": "",
+ "`[[a,b],[c,d]]`": "",
+ "`\\\\`": "",
+ "`__|`": "",
+ "`_|_`": "",
+ "`AA`": "",
+ "`aleph`": "",
+ "`alpha`": "",
+ "`and`": "",
+ "`bara`": "",
+ "`bba`": "",
+ "`bbba`": "",
+ "`beta`": "",
+ "`CC`": "",
+ "`cca`": "",
+ "`chi`": "",
+ "`darr`": "",
+ "`ddota`": "",
+ "`del`": "",
+ "`Delta`": "",
+ "`delta`": "",
+ "`diamond`": "",
+ "`dota`": "",
+ "`dy/dx`": "",
+ "`EE`": "",
+ "`epsi`": "",
+ "`eta`": "",
+ "`fra`": "",
+ "`Gamma`": "",
+ "`gamma`": "",
+ "`grad`": "",
+ "`hArr`": "",
+ "`harr`": "",
+ "`hata`": "",
+ "`if`": "",
+ "`in`": "",
+ "`int`": "",
+ "`iota`": "",
+ "`kappa`": "",
+ "`Lambda`": "",
+ "`lambda`": "",
+ "`larr`": "",
+ "`lArr`": "",
+ "`lim_(x->oo)`": "",
+ "`log`": "",
+ "`mu`": "",
+ "`NN`": "",
+ "`nn`": "",
+ "`not`": "",
+ "`nu`": "",
+ "`o+`": "",
+ "`o.`": "",
+ "`O/`": "",
+ "`oint`": "",
+ "`Omega`": "",
+ "`omega`": "",
+ "`oo`": "",
+ "`or`": "",
+ "`ox`": "",
+ "`phi`": "",
+ "`Phi`": "",
+ "`Pi`": "",
+ "`pi`": "",
+ "`prod`": "",
+ "`prop`": "",
+ "`psi`": "",
+ "`Psi`": "",
+ "`QQ`": "",
+ "`quad`": "",
+ "`rArr`": "",
+ "`rho`": "",
+ "`root(n)(x)`": "",
+ "`RR`": "",
+ "`sfa`": "",
+ "`Sigma`": "",
+ "`sigma`": "",
+ "`sqrt(x)`": "",
+ "`square`": "",
+ "`stackrel(->)(+)`": "",
+ "`sub`": "",
+ "`sube`": "",
+ "`sum`": "",
+ "`sup`": "",
+ "`supe`": "",
+ "`tau`": "",
+ "`theta`": "",
+ "`Theta`": "",
+ "`TT`": "",
+ "`tta`": "",
+ "`uarr`": "",
+ "`ula`": "",
+ "`upsilon`": "",
+ "`uu`": "",
+ "`veca`": "",
+ "`vv`": "",
+ "`x_(mn)`": "",
+ "`xi`": "",
+ "`Xi`": "",
+ "`xx`": "",
+ "`zeta`": "",
+ "`ZZ`": "",
+ "`|->`": "",
+ "`|--`": "",
+ "`|==`": "",
+ "`|__`": "",
+ "`|~`": "",
+ "`~=`": "",
+ "`~|`": "",
+ "`~~`": "",
+ "AA": "",
+ "aleph": "",
+ "alpha": "",
+ "and": "",
+ "AsciiMath Formula Input": "",
+ "AsciiMathML Example": "",
+ "bara": "",
+ "Based on ASCIIMathML by": "",
+ "bba": "",
+ "bbba": "",
+ "beta": "",
+ "CC": "",
+ "cca": "",
+ "chi": "",
+ "darr": "",
+ "ddota": "",
+ "del": "",
+ "delta": "",
+ "Delta": "",
+ "diamond": "",
+ "dota": "",
+ "dy/dx": "",
+ "EE": "",
+ "epsi": "",
+ "eta": "",
+ "For more information on AsciiMathML visit this page:": "",
+ "Formula Editor": "",
+ "fra": "",
+ "gamma": "",
+ "Gamma": "",
+ "grad": "",
+ "hArr": "",
+ "harr": "",
+ "hata": "",
+ "if": "",
+ "in": "",
+ "Input": "",
+ "int": "",
+ "int_a^bf(x)dx": "",
+ "iota": "",
+ "kappa": "",
+ "lambda": "",
+ "Lambda": "",
+ "lArr": "",
+ "larr": "",
+ "lim_(x->oo)": "",
+ "mu": "",
+ "nn": "",
+ "NN": "",
+ "nnn": "",
+ "not": "",
+ "nu": "",
+ "o+": "",
+ "o.": "",
+ "O/": "",
+ "oint": "",
+ "Omega": "",
+ "omega": "",
+ "oo": "",
+ "or": "",
+ "ox": "",
+ "Phi": "",
+ "phi": "",
+ "pi": "",
+ "Pi": "",
+ "Preview": "",
+ "prod": "",
+ "prop": "",
+ "psi": "",
+ "Psi": "",
+ "QQ": "",
+ "quad": "",
+ "rArr": "",
+ "rho": "",
+ "root(n)(x)": "",
+ "RR": "",
+ "sfa": "",
+ "Sigma": "",
+ "sigma": "",
+ "sqrt(x)": "",
+ "square": "",
+ "stackrel(->)(+)": "",
+ "sub": "",
+ "sube": "",
+ "sum": "",
+ "sum_(n=1)^oo": "",
+ "sup": "",
+ "supe": "",
+ "tau": "",
+ "Theta": "",
+ "theta": "",
+ "TT": "",
+ "tta": "",
+ "uarr": "",
+ "ula": "",
+ "upsilon": "",
+ "uu": "",
+ "uuu": "",
+ "veca": "",
+ "vv": "",
+ "vvv": "",
+ "x^(m+n)": "",
+ "x_(mn)": "",
+ "Xi": "",
+ "xi": "",
+ "xx": "",
+ "zeta": "",
+ "ZZ": "",
+ "|->": "",
+ "|--": "",
+ "|==": "",
+ "|__": "",
+ "|~": "",
+ "~=": "",
+ "~|": "",
+ "~~": "",
+ "Cancel": "<>",
+ "OK": "<>"
+ },
+ "FancySelects": {
+ "'+opt.text+'": ""
+ },
+ "FindReplace": {
+ "';\r\n var tagc = '": "",
+ "Case sensitive search": "",
+ "Clear": "",
+ "Done": "",
+ "Enter the text you want to find": "",
+ "Find and Replace": "",
+ "found item": "",
+ "found items": "",
+ "Highlight": "",
+ "Inform a replacement word": "",
+ "Next": "",
+ "not found": "",
+ "Options": "",
+ "Replace with:": "",
+ "replaced item": "",
+ "replaced items": "",
+ "Search for:": "",
+ "Substitute all occurrences": "",
+ "Substitute this occurrence?": "",
+ "Undo": "",
+ "Whole words only": ""
+ },
+ "FormOperations": {
+ "Enter the name for new option.": "",
+ "Form Editor": "",
+ "Insert a check box.": "",
+ "Insert a Form.": "",
+ "Insert a multi-line text field.": "",
+ "Insert a radio button.": "",
+ "Insert a select field.": "",
+ "Insert a submit/reset button.": "",
+ "Insert a text, password or hidden field.": "",
+ "Message Sent": "",
+ "Please Select...": ""
+ },
+ "Forms": {
+ "'onClick'=": "",
+ "Access Key:": "",
+ "Action URL:": "",
+ "Button Script": "",
+ "Checked": "",
+ "Columns:": "",
+ "Default text (optional)": "",
+ "Dimensions": "",
+ "Disabled": "",
+ "Encoding:": "",
+ "For Control:": "",
+ "Form": "",
+ "Form Element: FIELDSET": "",
+ "Form Element: INPUT": "",
+ "Form Element: LABEL": "",
+ "Form Element: SELECT": "",
+ "Form Element: TEXTAREA": "",
+ "Form handler script": "",
+ "Form Name:": "",
+ "Get": "",
+ "Hard": "",
+ "Height in number of rows": "",
+ "HTML-Form to CGI (default)": "",
+ "Image source": "",
+ "Image URL:": "",
+ "Initial Text:": "",
+ "Insert/Edit Form": "",
+ "Insert/Edit Form Element FIELDSET": "",
+ "Insert/Edit Form Element INPUT": "",
+ "Insert/Edit Form Element LABEL": "",
+ "Insert/Edit Form Element SELECT": "",
+ "Insert/Edit Form Element TEXTAREA": "",
+ "Javascript for button click": "",
+ "Label:": "",
+ "Legend:": "",
+ "Max length:": "",
+ "Maximum number of characters accepted": "",
+ "Method:": "",
+ "multipart Form Data (File-Upload)": "",
+ "Name": "",
+ "Name of the form input": "",
+ "Name of the form select": "",
+ "name of the textarea": "",
+ "Name/ID:": "",
+ "normal": "",
+ "nowrap": "",
+ "Off": "",
+ "Physical": "",
+ "Please enter a Label": "",
+ "Post": "",
+ "pre": "",
+ "Read Only": "",
+ "Rows:": "",
+ "Size of text box in characters": "",
+ "Size:": "",
+ "Soft": "",
+ "Tab Index:": "",
+ "Target Frame:": "",
+ "Text:": "",
+ "URL of image": "",
+ "Value of the form input": "",
+ "Value:": "",
+ "Virtual": "",
+ "Width in number of characters": "",
+ "Wrap Mode:": "",
+ "You must enter a Name": "",
+ "Cancel": "<>",
+ "OK": "<>",
+ "Options": "<>"
+ },
+ "FullPage": {
+ "...": "",
+ "Alternate style-sheet:": "",
+ "Background color:": "",
+ "Character set:": "",
+ "cyrillic (ISO-8859-5)": "",
+ "cyrillic (KOI8-R)": "",
+ "cyrillic (WINDOWS-1251)": "",
+ "Description:": "",
+ "DOCTYPE:": "",
+ "Document properties": "",
+ "Document title:": "",
+ "Keywords:": "",
+ "Primary style-sheet:": "",
+ "Text color:": "",
+ "UTF-8 (recommended)": "",
+ "western (ISO-8859-1)": "",
+ "Cancel": "<>",
+ "OK": "<>"
+ },
+ "FullScreen": {
+ "Maximize/Minimize Editor": ""
+ },
+ "Gecko": {
+ "The Paste button does not work in this browser for security reasons. Press CTRL-V on your keyboard to paste directly.": ""
+ },
+ "HorizontalRule": {
+ "×": "",
+ " ": "",
+ "Alignment:": "",
+ "Center": "",
+ "Color:": "",
+ "Height:": "",
+ "Insert/Edit Horizontal Rule": "",
+ "Insert/edit horizontal rule": "",
+ "Layout": "",
+ "Left": "",
+ "No shading": "",
+ "percent": "",
+ "pixels": "",
+ "Right": "",
+ "Style": "",
+ "Width:": "",
+ "Cancel": "<>",
+ "Horizontal Rule": "<>",
+ "OK": "<>"
+ },
+ "InlineStyler": {
+ "Background": "",
+ "Baseline": "",
+ "Border": "",
+ "Bottom": "",
+ "Char": "",
+ "Collapsed borders": "",
+ "CSS Style": "",
+ "FG Color": "",
+ "Float": "",
+ "Justify": "",
+ "Margin": "",
+ "Middle": "",
+ "None": "",
+ "Padding": "",
+ "Text align": "",
+ "Top": "",
+ "Vertical align": "",
+ "-": "<>",
+ "Center": "<>",
+ "Height": "<>",
+ "Image URL": "<>",
+ "Layout": "<>",
+ "Left": "<>",
+ "percent": "<>",
+ "pixels": "<>",
+ "Right": "<>",
+ "Width": "<>"
+ },
+ "InsertAnchor": {
+ "Anchor name": "",
+ "Insert Anchor": "",
+ "Cancel": "<>",
+ "Delete": "<>",
+ "OK": "<>"
+ },
+ "InsertImage": {
+ "Absbottom": "",
+ "Absmiddle": "",
+ "Alternate text:": "",
+ "Border thickness:": "",
+ "Enter the image URL here": "",
+ "For browsers that don't support images": "",
+ "Horizontal padding": "",
+ "Horizontal:": "",
+ "Image Preview:": "",
+ "Insert Image": "",
+ "Leave empty for no border": "",
+ "Not set": "",
+ "Positioning of this image": "",
+ "Preview the image in a new window": "",
+ "Spacing": "",
+ "Texttop": "",
+ "Vertical padding": "",
+ "Vertical:": "",
+ "You must enter the URL": "",
+ "Alignment:": "<>",
+ "Baseline": "<>",
+ "Bottom": "<>",
+ "Cancel": "<>",
+ "Image URL:": "<>",
+ "Layout": "<>",
+ "Left": "<>",
+ "Middle": "<>",
+ "OK": "<>",
+ "Preview": "<>",
+ "Right": "<>",
+ "Top": "<>"
+ },
+ "InsertNote": {
+ "Insert": "",
+ "Insert footnote": "",
+ "Insert Note": "",
+ "Cancel": "<>"
+ },
+ "InsertPagebreak": {
+ "Page break": "",
+ "Page Break": ""
+ },
+ "InsertSmiley": {
+ "Insert Smiley": ""
+ },
+ "InsertSnippet": {
+ "\\n This is an information about something\\n": "",
+ "Hide preview": "",
+ "Insert as": "",
+ "Insert Snippet": "",
+ "InsertSnippet for Xinha": "",
+ "Link1": "",
+ "Link2": "",
+ "Link3": "",
+ "Link4": "",
+ "Link5": "",
+ "Show preview": "",
+ "This is an information about something": "",
+ "Variable": "",
+ "Cancel": "<>"
+ },
+ "InsertSnippet2": {
+ "All Categories": "",
+ "Filter": "",
+ "Insert as HTML": "",
+ "Insert as template variable": "",
+ "Only search word beginning": "",
+ "Cancel": "<>",
+ "HTML": "<>",
+ "Insert Snippet": "<>",
+ "InsertSnippet for Xinha": "<>",
+ "Variable": "<>"
+ },
+ "InsertTable": {
+ "Caption": "",
+ "Caption for the table": "",
+ "Cell padding:": "",
+ "Cell spacing:": "",
+ "Collapse borders:": "",
+ "Cols:": "",
+ "Em": "",
+ "Fixed width columns": "",
+ "Layou": "",
+ "Number of columns": "",
+ "Number of rows": "",
+ "Positioning of this table": "",
+ "Space between adjacent cells": "",
+ "Space between content and border in cell": "",
+ "Style of the border": "",
+ "Width of the table": "",
+ "Width unit": "",
+ "You must enter a number of columns": "",
+ "You must enter a number of rows": "",
+ "Absbottom": "<>",
+ "Absmiddle": "<>",
+ "Alignment:": "<>",
+ "Baseline": "<>",
+ "Border": "<>",
+ "Border thickness:": "<>",
+ "Bottom": "<>",
+ "Cancel": "<>",
+ "Insert Table": "<>",
+ "Layout": "<>",
+ "Leave empty for no border": "<>",
+ "Left": "<>",
+ "Middle": "<>",
+ "Not set": "<>",
+ "OK": "<>",
+ "Percent": "<>",
+ "Pixels": "<>",
+ "Right": "<>",
+ "Rows:": "<>",
+ "Spacing": "<>",
+ "Texttop": "<>",
+ "Top": "<>",
+ "Width:": "<>"
+ },
+ "LangMarks": {
+ "— language —": "",
+ "', '": "",
+ "English": "",
+ "French": "",
+ "Greek": "",
+ "language select": "",
+ "Latin": ""
+ },
+ "Linker": {
+ "(px)": "",
+ "Anchor-Link": "",
+ "Anchor:": "",
+ "Email Address:": "",
+ "Email Link": "",
+ "Location Bar:": "",
+ "Menu Bar:": "",
+ "Message Template:": "",
+ "New Window": "",
+ "Ordinary Link": "",
+ "Popup Window": "",
+ "PopupWindow": "",
+ "Remove Link": "",
+ "Resizeable:": "",
+ "Same Window (jump out of frames)": "",
+ "Scrollbars:": "",
+ "Shows On Hover": "",
+ "Status Bar:": "",
+ "Subject:": "",
+ "Title:": "",
+ "Toolbar:": "",
+ "URL Link": "",
+ "You must select some text before making a new link.": "",
+ "Are you sure you wish to remove this link?": "<>",
+ "Cancel": "<>",
+ "Insert/Modify Link": "<>",
+ "Name:": "<>",
+ "OK": "<>",
+ "Size:": "<>",
+ "Target:": "<>",
+ "URL:": "<>"
+ },
+ "ListType": {
+ "Choose list style type (for ordered lists)": "",
+ "Decimal numbers": "",
+ "Lower greek letters": "",
+ "Lower latin letters": "",
+ "Lower roman numbers": "",
+ "Upper latin letters": "",
+ "Upper roman numbers": ""
+ },
+ "MootoolsFileManager": {
+ "Insert File Link": "",
+ "You must select some text before making a new link.": "<>"
+ },
+ "Opera": {
+ "MARK": "",
+ "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": ""
+ },
+ "PasteText": {
+ "Insert text in new paragraph": "",
+ "Paste as Plain Text": "",
+ "Cancel": "<>",
+ "OK": "<>"
+ },
+ "PreserveScripts": {
+ "JavaScript": "",
+ "PHP": ""
+ },
+ "QuickTag": {
+ "',\r\n 'cl': '": "",
+ "ATTRIBUTES": "",
+ "Colors": "",
+ "Enter the TAG you want to insert": "",
+ "No CSS class avaiable": "",
+ "Ok": "",
+ "OPTIONS": "",
+ "Quick Tag Editor": "",
+ "TAGs": "",
+ "There are some unclosed quote": "",
+ "This attribute already exists in the TAG": "",
+ "You have to select some text": "",
+ "Cancel": "<>"
+ },
+ "SaveSubmit": {
+ "in progress": "",
+ "Ready": "",
+ "Save": "",
+ "Saving...": ""
+ },
+ "SetId": {
+ "ID/Name:": "",
+ "Set Id and Name": "",
+ "Set Id/Name": "",
+ "Set ID/Name": "",
+ "Cancel": "<>",
+ "Delete": "<>",
+ "OK": "<>"
+ },
+ "SmartReplace": {
+ "ClosingDoubleQuotes": "",
+ "ClosingSingleQuote": "",
+ "Convert all quotes and dashes in the current document": "",
+ "Enable automatic replacements": "",
+ "OpeningDoubleQuotes": "",
+ "OpeningSingleQuote": "",
+ "SmartReplace": "",
+ "SmartReplace Settings": "",
+ "OK": "<>"
+ },
+ "Stylist": {
+ "Styles": ""
+ },
+ "SuperClean": {
+ "Clean bad HTML from Microsoft Word.": "",
+ "Clean Selection Only": "",
+ "Clean up HTML": "",
+ "Cleaning Scope": "",
+ "General tidy up and correction of some problems.": "",
+ "Please select from the following cleaning options...": "",
+ "Please stand by while cleaning in process...": "",
+ "Remove alignment (left/right/justify).": "",
+ "Remove all classes (CSS).": "",
+ "Remove All HTML Tags": "",
+ "Remove all styles (CSS).": "",
+ "Remove custom font sizes.": "",
+ "Remove custom text colors.": "",
+ "Remove custom typefaces (font \"styles\").": "",
+ "Remove emphasis and annotations.": "",
+ "Remove lang attributes.": "",
+ "Remove Paragraphs": "",
+ "Remove superscripts and subscripts.": "",
+ "Replace directional quote marks with non-directional quote marks.": "",
+ "Vigorously purge HTML from Microsoft Word.": "",
+ "Cancel": "<>",
+ "OK": "<>"
+ },
+ "TableOperations": {
+ "All four sides": "",
+ "Borders": "",
+ "Cell Properties": "",
+ "Cell properties": "",
+ "Cell Type:": "",
+ "Cells down": "",
+ "Cells to the right, and": "",
+ "Delete cell": "",
+ "Delete column": "",
+ "Delete row": "",
+ "Do Not Change": "",
+ "Frame and borders": "",
+ "Frames": "",
+ "Header (th)": "",
+ "Insert cell after": "",
+ "Insert cell before": "",
+ "Insert column after": "",
+ "Insert column before": "",
+ "Insert row after": "",
+ "Insert row before": "",
+ "Merge cells": "",
+ "Merge current cell with:": "",
+ "No rules": "",
+ "No sides": "",
+ "Normal (td)": "",
+ "Please click into some cell": "",
+ "Row Properties": "",
+ "Row properties": "",
+ "Rules will appear between all rows and columns": "",
+ "Rules will appear between columns only": "",
+ "Rules will appear between rows only": "",
+ "Spacing and padding": "",
+ "Split column": "",
+ "Split row": "",
+ "Summary": "",
+ "Table properties": "",
+ "Table Properties": "",
+ "The bottom side only": "",
+ "The left-hand side only": "",
+ "The right and left sides only": "",
+ "The right-hand side only": "",
+ "The top and bottom sides only": "",
+ "The top side only": "",
+ "Xinha cowardly refuses to delete the last cell in row.": "",
+ "Xinha cowardly refuses to delete the last column in table.": "",
+ "Xinha cowardly refuses to delete the last row in table.": "",
+ "Cancel": "<>",
+ "Caption": "<>",
+ "Columns": "<>",
+ "Description": "<>",
+ "Merge Cells": "<>",
+ "OK": "<>",
+ "Padding": "<>",
+ "pixels": "<>",
+ "Rows": "<>",
+ "Spacing": "<>"
+ },
+ "UnsavedChanges": {
+ "You have unsaved changes in the editor": ""
+ },
+ "WebKit": {
+ "The Paste button does not work in this browser for security reasons. Press CTRL-V on your keyboard to paste directly.": "<>"
+ },
+ "Xinha": {
+ "— font —": "",
+ "— format —": "",
+ "— size —": "",
+ "1 (8 pt)": "",
+ "2 (10 pt)": "",
+ "3 (12 pt)": "",
+ "4 (14 pt)": "",
+ "5 (18 pt)": "",
+ "6 (24 pt)": "",
+ "7 (36 pt)": "",
+ "About this editor": "",
+ "Address": "",
+ "Arial": "",
+ "Background Color": "",
+ "Bold": "",
+ "Bulleted List": "",
+ "Clean content pasted from Word": "",
+ "Clear Inline Font Specifications": "",
+ "Clear MSOffice tags": "",
+ "Close": "",
+ "Constructing object": "",
+ "Copy selection": "",
+ "Courier New": "",
+ "Create Statusbar": "",
+ "Create Toolbar": "",
+ "CTRL-0 (zero)": "",
+ "CTRL-1 .. CTRL-6": "",
+ "CTRL-A": "",
+ "CTRL-B": "",
+ "CTRL-C": "",
+ "CTRL-E": "",
+ "CTRL-I": "",
+ "CTRL-J": "",
+ "CTRL-L": "",
+ "CTRL-N": "",
+ "CTRL-R": "",
+ "CTRL-S": "",
+ "CTRL-U": "",
+ "CTRL-V": "",
+ "CTRL-X": "",
+ "CTRL-Y": "",
+ "CTRL-Z": "",
+ "Current style": "",
+ "Cut selection": "",
+ "Decrease Indent": "",
+ "Direction left to right": "",
+ "Direction right to left": "",
+ "Editor Help": "",
+ "ENTER": "",
+ "Error Loading Xinha. Developers, check the Error Console for information.": "",
+ "Finishing": "",
+ "Font Color": "",
+ "Formatted": "",
+ "Generate Xinha framework": "",
+ "Georgia": "",
+ "Heading 1": "",
+ "Heading 2": "",
+ "Heading 3": "",
+ "Heading 4": "",
+ "Heading 5": "",
+ "Heading 6": "",
+ "Headings": "",
+ "Help using editor": "",
+ "Horizontal Rule": "",
+ "Impact": "",
+ "Increase Indent": "",
+ "Init editor size": "",
+ "insert linebreak": "",
+ "Insert Table": "",
+ "Insert Web Link": "",
+ "Insert/Modify Image": "",
+ "Insert/Overwrite": "",
+ "Italic": "",
+ "Justify Center": "",
+ "Justify Full": "",
+ "Justify Left": "",
+ "Justify Right": "",
+ "Keyboard shortcuts": "",
+ "Loading Core": "",
+ "Loading in progress. Please wait!": "",
+ "Loading plugin $plugin": "",
+ "Loading plugins": "",
+ "MS Word Cleaner": "",
+ "new paragraph": "",
+ "Normal": "",
+ "Ordered List": "",
+ "Paste from clipboard": "",
+ "Path": "",
+ "Print document": "",
+ "Redoes your last action": "",
+ "Register plugin $plugin": "",
+ "Remove formatting": "",
+ "Save as": "",
+ "Select all": "",
+ "Select Color": "",
+ "Set format to paragraph": "",
+ "SHIFT-ENTER": "",
+ "Split Block": "",
+ "Strikethrough": "",
+ "Subscript": "",
+ "Superscript": "",
+ "Tahoma": "",
+ "The editor provides the following key combinations:": "",
+ "Times New Roman": "",
+ "Toggle Borders": "",
+ "Toggle HTML Source": "",
+ "Touch here first to activate editor.": "",
+ "Underline": "",
+ "Undoes your last action": "",
+ "Verdana": "",
+ "Waiting for Iframe to load...": "",
+ "WingDings": "",
+ "Would you like to clear font colours?": "",
+ "Would you like to clear font sizes?": "",
+ "Would you like to clear font typefaces?": "",
+ "Xinha": "",
+ "You are in TEXT MODE. Use the [<>] button to switch back to WYSIWYG.": ""
+ },
+ "BackgroundImage": {
+ "__ TRANSLATOR NOTE __": "*** BACKGROUNDIMAGE IS UNSUPPORTED (TRANSLATE AT YOUR DISCRETION) ***",
+ "Remove Current Background": "",
+ "Set Background": "",
+ "Set page background image": "",
+ "Set Page Background Image": "",
+ "Cancel": "<>"
+ },
+ "ClientsideSpellcheck": {
+ "__ TRANSLATOR NOTE __": "*** CLIENTSIDESPELLCHECK IS UNSUPPORTED (TRANSLATE AT YOUR DISCRETION) ***",
+ "Spell Check using ieSpell": ""
+ },
+ "ExtendedFileManager": {
+ "__ TRANSLATOR NOTE __": "*** EXTENDEDFILEMANAGER IS UNSUPPORTED (TRANSLATE AT YOUR DISCRETION) ***",
+ "10%": "",
+ "100%": "",
+ "200%": "",
+ "25%": "",
+ "50%": "",
+ "75%": "",
+ ">List View": "",
+ ">Thumbnail View": "",
+ "A:": "",
+ "Align": "",
+ "Alt": "",
+ "Border Color": "",
+ "Constrain Proportions": "",
+ "Crop": "",
+ "D:": "",
+ "Directory": "",
+ "Directory Up": "",
+ "Edit": "",
+ "File List": "",
+ "File Manager": "",
+ "Filename:": "",
+ "Filesize:": "",
+ "Flip Horizontal": "",
+ "Flip Image": "",
+ "Flip Vertical": "",
+ "Folder": "",
+ "GIF": "",
+ "GIF format is not supported, image editing not supported.": "",
+ "H:": "",
+ "Image Editor": "",
+ "Image Selection": "",
+ "Invalid base directory:": "",
+ "JPEG High": "",
+ "JPEG Low": "",
+ "JPEG Medium": "",
+ "Loading": "",
+ "Lock": "",
+ "Marker": "",
+ "Maximum folder size limit reached. Upload disabled.": "",
+ "Measure": "",
+ "New Folder": "",
+ "No Files Found": "",
+ "No Image Available": "",
+ "Please enter value": "",
+ "PNG": "",
+ "Preset": "",
+ "Quality:": "",
+ "Refresh": "",
+ "Rename": "",
+ "Resize": "",
+ "Rotate": "",
+ "Rotate 180 °": "",
+ "Rotate 90 ° CCW": "",
+ "Rotate 90 ° CW": "",
+ "Rotate Image": "",
+ "Start X:": "",
+ "Start Y:": "",
+ "Target Window": "",
+ "Toggle marker color": "",
+ "Trash": "",
+ "Upload": "",
+ "W:": "",
+ "X:": "",
+ "Xinha Image Editor": "",
+ "Y:": "",
+ "Zoom": "",
+ "Absbottom": "<>",
+ "Absmiddle": "<>",
+ "Baseline": "<>",
+ "Border": "<>",
+ "Bottom": "<>",
+ "Cancel": "<>",
+ "Clear": "<>",
+ "Color": "<>",
+ "Copy": "<>",
+ "Cut": "<>",
+ "Height": "<>",
+ "Height:": "<>",
+ "Insert File Link": "<>",
+ "Left": "<>",
+ "Margin": "<>",
+ "Middle": "<>",
+ "New window (_blank)": "<>",
+ "None (use implicit)": "<>",
+ "Not set": "<>",
+ "OK": "<>",
+ "Padding": "<>",
+ "Positioning of this image": "<>",
+ "Preview": "<>",
+ "Right": "<>",
+ "Same frame (_self)": "<>",
+ "Save": "<>",
+ "Texttop": "<>",
+ "Title (tooltip)": "<>",
+ "Top": "<>",
+ "Top frame (_top)": "<>",
+ "Width": "<>",
+ "Width:": "<>",
+ "You must select some text before making a new link.": "<>"
+ },
+ "Filter": {
+ "__ TRANSLATOR NOTE __": "*** FILTER IS UNSUPPORTED (TRANSLATE AT YOUR DISCRETION) ***",
+ "Filter": "<>"
+ },
+ "HtmlTidy": {
+ "__ TRANSLATOR NOTE __": "*** HTMLTIDY IS UNSUPPORTED (TRANSLATE AT YOUR DISCRETION) ***",
+ "Auto-Tidy": "",
+ "Don't Tidy": "",
+ "HTML Tidy": "",
+ "Tidy failed. Check your HTML for syntax errors.": ""
+ },
+ "ImageManager": {
+ "__ TRANSLATOR NOTE __": "*** IMAGEMANAGER IS UNSUPPORTED (TRANSLATE AT YOUR DISCRETION) ***",
+ "Angle:": "",
+ "Flickr Picture List": "",
+ "Flickr Pictures": "",
+ "Flickr Selection": "",
+ "Flickr Username/Email": "",
+ "Folder Name:": "",
+ "Image Format": "",
+ "Image List": "",
+ "Keyword": "",
+ "No Images Found": "",
+ "No Photos Found": "",
+ "No Videos Found": "",
+ "This Server": "",
+ "YouTube Selection": "",
+ "YouTube Username": "",
+ "YouTube Video List": "",
+ "YouTube Videos": "",
+ "A:": "<>",
+ "Absbottom": "<>",
+ "Absmiddle": "<>",
+ "Baseline": "<>",
+ "Bottom": "<>",
+ "Cancel": "<>",
+ "Clear": "<>",
+ "Constrain Proportions": "<>",
+ "Crop": "<>",
+ "D:": "<>",
+ "Directory": "<>",
+ "Directory Up": "<>",
+ "Edit": "<>",
+ "Filename:": "<>",
+ "Flip Horizontal": "<>",
+ "Flip Image": "<>",
+ "Flip Vertical": "<>",
+ "GIF": "<>",
+ "GIF format is not supported, image editing not supported.": "<>",
+ "H:": "<>",
+ "Height:": "<>",
+ "Image Editor": "<>",
+ "Image Selection": "<>",
+ "Insert Image": "<>",
+ "Invalid base directory:": "<>",
+ "JPEG High": "<>",
+ "JPEG Low": "<>",
+ "JPEG Medium": "<>",
+ "Left": "<>",
+ "Lock": "<>",
+ "Marker": "<>",
+ "Measure": "<>",
+ "Middle": "<>",
+ "New Folder": "<>",
+ "No Image Available": "<>",
+ "Not set": "<>",
+ "OK": "<>",
+ "PNG": "<>",
+ "Positioning of this image": "<>",
+ "Quality:": "<>",
+ "Refresh": "<>",
+ "Resize": "<>",
+ "Right": "<>",
+ "Rotate": "<>",
+ "Rotate 180 °": "<>",
+ "Rotate 90 ° CCW": "<>",
+ "Rotate 90 ° CW": "<>",
+ "Rotate Image": "<>",
+ "Save": "<>",
+ "Start X:": "<>",
+ "Start Y:": "<>",
+ "Texttop": "<>",
+ "Top": "<>",
+ "Trash": "<>",
+ "W:": "<>",
+ "Width:": "<>",
+ "X:": "<>",
+ "Y:": "<>"
+ },
+ "InsertMarquee": {
+ "__ TRANSLATOR NOTE __": "*** INSERTMARQUEE IS UNSUPPORTED (TRANSLATE AT YOUR DISCRETION) ***",
+ "Alternate": "",
+ "Background-Color:": "",
+ "Behavior:": "",
+ "Continuous": "",
+ "Direction:": "",
+ "Insert scrolling marquee": "",
+ "Marquee Editor": "",
+ "Scroll Amount:": "",
+ "Scroll Delay:": "",
+ "Slide": "",
+ "Speed Control": "",
+ "Cancel": "<>",
+ "Height:": "<>",
+ "Left": "<>",
+ "Name": "<>",
+ "Name/ID:": "<>",
+ "OK": "<>",
+ "Right": "<>",
+ "Text:": "<>",
+ "Width:": "<>"
+ },
+ "InsertPicture": {
+ "__ TRANSLATOR NOTE __": "*** INSERTPICTURE IS UNSUPPORTED (TRANSLATE AT YOUR DISCRETION) ***",
+ "Leave empty for not defined": "",
+ " Open file in new window": "",
+ "Open file in new window": "",
+ "Upload file": "",
+ "Absbottom": "<>",
+ "Absmiddle": "<>",
+ "Alignment:": "<>",
+ "Alternate text:": "<>",
+ "Baseline": "<>",
+ "Border thickness:": "<>",
+ "Bottom": "<>",
+ "Cancel": "<>",
+ "Enter the image URL here": "<>",
+ "For browsers that don't support images": "<>",
+ "Height:": "<>",
+ "Horizontal padding": "<>",
+ "Horizontal:": "<>",
+ "Image Preview:": "<