diff --git a/phpgwapi/js/ckeditor3/CHANGES.html b/phpgwapi/js/ckeditor3/CHANGES.html index b30594741c..62da0a3186 100644 --- a/phpgwapi/js/ckeditor3/CHANGES.html +++ b/phpgwapi/js/ckeditor3/CHANGES.html @@ -1,6 +1,6 @@ @@ -34,6 +34,121 @@ For licensing, see LICENSE.html or http://ckeditor.com/license

CKEditor Changelog

+

+ CKEditor 3.6.4

+

+ Fixed issues:

+ +

+ CKEditor 3.6.3

+

+ New features:

+ +

+ Fixed issues:

+

CKEditor 3.6.2

@@ -1425,7 +1540,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for Internet - http://ckeditor.com

- Copyright © 2003-2011, CKSource - Frederico + Copyright © 2003-2012, CKSource - Frederico Knabben. All rights reserved.

diff --git a/phpgwapi/js/ckeditor3/INSTALL.html b/phpgwapi/js/ckeditor3/INSTALL.html index fd2440edd5..aed6a4750b 100644 --- a/phpgwapi/js/ckeditor3/INSTALL.html +++ b/phpgwapi/js/ckeditor3/INSTALL.html @@ -1,6 +1,6 @@ @@ -84,7 +84,7 @@ http://www.example.com/ckeditor/_samples/index.html CKEditor - The text editor for Internet - http://ckeditor.com

- Copyright © 2003-2011, CKSource - Frederico + Copyright © 2003-2012, CKSource - Frederico Knabben. All rights reserved.

diff --git a/phpgwapi/js/ckeditor3/LICENSE.html b/phpgwapi/js/ckeditor3/LICENSE.html index 90222429b8..67572d5bbb 100644 --- a/phpgwapi/js/ckeditor3/LICENSE.html +++ b/phpgwapi/js/ckeditor3/LICENSE.html @@ -7,7 +7,7 @@ Software License Agreement ========================== CKEditor - The text editor for Internet - http://ckeditor.com -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. Licensed under the terms of any of the following licenses at your choice: @@ -1279,7 +1279,7 @@ EXHIBIT A -Mozilla Public License.

CKEditor™ - The text editor for Internet™ - http://ckeditor.com
- Copyright © 2003-2011, CKSource - Frederico Knabben. All rights reserved. + Copyright © 2003-2012, CKSource - Frederico Knabben. All rights reserved.

Licensed under the terms of any of the following licenses at your choice: diff --git a/phpgwapi/js/ckeditor3/_source/adapters/jquery.js b/phpgwapi/js/ckeditor3/_source/adapters/jquery.js index 1b0a994ea4..d958426410 100644 --- a/phpgwapi/js/ckeditor3/_source/adapters/jquery.js +++ b/phpgwapi/js/ckeditor3/_source/adapters/jquery.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/_bootstrap.js b/phpgwapi/js/ckeditor3/_source/core/_bootstrap.js index 1fa5f5e3bb..c2a0cf7d17 100644 --- a/phpgwapi/js/ckeditor3/_source/core/_bootstrap.js +++ b/phpgwapi/js/ckeditor3/_source/core/_bootstrap.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/ckeditor.js b/phpgwapi/js/ckeditor3/_source/core/ckeditor.js index 201c19570c..086a8668cd 100644 --- a/phpgwapi/js/ckeditor3/_source/core/ckeditor.js +++ b/phpgwapi/js/ckeditor3/_source/core/ckeditor.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/ckeditor_base.js b/phpgwapi/js/ckeditor3/_source/core/ckeditor_base.js index 58e245fe43..8ef941e9b9 100644 --- a/phpgwapi/js/ckeditor3/_source/core/ckeditor_base.js +++ b/phpgwapi/js/ckeditor3/_source/core/ckeditor_base.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -12,7 +12,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Must be updated on changes in the script as well as updated in the // ckeditor_source.js and ckeditor_basic_source.js files. -// if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.6.2',rev:'7275',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f=0?'&':'?')+('t=')+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})(); +// if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.6.4',revision:'7575',rnd:Math.floor(Math.random()*900)+100,_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})(); // #### Raw code // ATTENTION: read the above "Compressed Code" notes when changing this code. @@ -51,7 +51,7 @@ if ( !window.CKEDITOR ) // The production implementation contains a fixed timestamp, unique // for each release and generated by the releaser. // (Base 36 value of each component of YYMMDDHH - 4 chars total - e.g. 87bm == 08071122) - timestamp : 'B8DJ5M3', + timestamp : 'C6HH5UF', /** * Contains the CKEditor version number. @@ -59,7 +59,7 @@ if ( !window.CKEDITOR ) * @example * alert( CKEDITOR.version ); // e.g. 'CKEditor 3.4.1' */ - version : '3.6.2', + version : '3.6.4', /** * Contains the CKEditor revision number. @@ -69,7 +69,15 @@ if ( !window.CKEDITOR ) * @example * alert( CKEDITOR.revision ); // e.g. '3975' */ - revision : '7275', + revision : '7575', + + /** + * A 3-digit random integer, valid for the entire life of the CKEDITOR object. + * @type Number + * @example + * alert( CKEDITOR.rnd ); // e.g. '319' + */ + rnd : Math.floor( Math.random() * ( 999/*Max*/ - 100/*Min*/ + 1 ) ) + 100/*Min*/, /** * Private object used to hold core stuff. It should not be used outside of diff --git a/phpgwapi/js/ckeditor3/_source/core/ckeditor_basic.js b/phpgwapi/js/ckeditor3/_source/core/ckeditor_basic.js index be06db87df..6a2322f20c 100644 --- a/phpgwapi/js/ckeditor3/_source/core/ckeditor_basic.js +++ b/phpgwapi/js/ckeditor3/_source/core/ckeditor_basic.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/command.js b/phpgwapi/js/ckeditor3/_source/core/command.js index c0868f0f92..d58c684e93 100644 --- a/phpgwapi/js/ckeditor3/_source/core/command.js +++ b/phpgwapi/js/ckeditor3/_source/core/command.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -49,9 +49,25 @@ CKEDITOR.command = function( editor, commandDefinition ) if ( this.editorFocus ) // Give editor focus if necessary (#4355). editor.focus(); + if ( this.fire( 'exec' ) === true ) + return true; + return ( commandDefinition.exec.call( this, editor, data ) !== false ); }; + /** + * Explicitly update the status of the command, by firing the {@link CKEDITOR.command#event:refresh} event, + * as well as invoke the {@link CKEDITOR.commandDefinition.prototype.refresh} method if defined, this method + * is to allow different parts of the editor code to contribute in command status resolution. + */ + this.refresh = function() + { + if ( this.fire( 'refresh' ) === true ) + return true; + + return ( commandDefinition.refresh && commandDefinition.refresh.apply( this, arguments ) !== false ); + }; + CKEDITOR.tools.extend( this, commandDefinition, // Defaults /** @lends CKEDITOR.command.prototype */ diff --git a/phpgwapi/js/ckeditor3/_source/core/commanddefinition.js b/phpgwapi/js/ckeditor3/_source/core/commanddefinition.js index de078cab58..15e8118e5f 100644 --- a/phpgwapi/js/ckeditor3/_source/core/commanddefinition.js +++ b/phpgwapi/js/ckeditor3/_source/core/commanddefinition.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/config.js b/phpgwapi/js/ckeditor3/_source/core/config.js index db77f764e5..72599bac0d 100644 --- a/phpgwapi/js/ckeditor3/_source/core/config.js +++ b/phpgwapi/js/ckeditor3/_source/core/config.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -256,15 +256,18 @@ CKEDITOR.config = fullPage : false, /** - * The height of the editing area (that includes the editor content), - * in relative or absolute units, e.g. 30px, 5em. - * Note: Percentage units, like 30%, are not supported yet. + * The height of the editing area (that includes the editor content). This + * can be an integer, for pixel sizes, or any CSS-defined length unit.
+ *
+ * Note: Percent units (%) are not supported. * @type Number|String - * @default '200' + * @default 200 * @example - * config.height = 500; - * config.height = '25em'; - * config.height = '300px'; + * config.height = 500; // 500 pixels. + * @example + * config.height = '25em'; // CSS length. + * @example + * config.height = '300px'; // CSS length. */ height : 200, @@ -320,20 +323,20 @@ CKEDITOR.config = 'resize,' + 'save,' + 'scayt,' + - 'smiley,' + 'showblocks,' + 'showborders,' + + 'smiley,' + 'sourcearea,' + + 'specialchar,' + 'stylescombo,' + + 'tab,' + 'table,' + 'tabletools,' + - 'specialchar,' + - 'tab,' + 'templates,' + 'toolbar,' + 'undo,' + - 'wysiwygarea,' + - 'wsc', + 'wsc,' + + 'wysiwygarea', /** * A list of additional plugins to be loaded. This setting makes it easier @@ -400,13 +403,18 @@ CKEDITOR.config = skin : 'kama', /** - * The editor width in CSS-defined units or an integer denoting a value in pixels. + * The editor UI outer width. This can be an integer, for pixel sizes, or + * any CSS-defined unit.
+ *
+ * Unlike the {@link CKEDITOR.config.height} setting, this + * one will set the outer width of the entire editor UI, not for the + * editing area only. * @type String|Number * @default '' (empty) * @example - * config.width = 850; + * config.width = 850; // 850 pixels wide. * @example - * config.width = '75%'; + * config.width = '75%'; // CSS unit. */ width : '', diff --git a/phpgwapi/js/ckeditor3/_source/core/dataprocessor.js b/phpgwapi/js/ckeditor3/_source/core/dataprocessor.js index e8677ed784..6efe5a43c9 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dataprocessor.js +++ b/phpgwapi/js/ckeditor3/_source/core/dataprocessor.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/dom.js b/phpgwapi/js/ckeditor3/_source/core/dom.js index 06c5ae7f24..54832d8fdb 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/comment.js b/phpgwapi/js/ckeditor3/_source/core/dom/comment.js index 4c580da897..05c13cf147 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/comment.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/comment.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -8,19 +8,32 @@ For licensing, see LICENSE.html or http://ckeditor.com/license * a DOM comment node. */ -CKEDITOR.dom.comment = CKEDITOR.tools.createClass( +/** + * Represents a DOM comment node. + * @constructor + * @augments CKEDITOR.dom.node + * @param {Object|String} comment A native DOM comment node or a string containing + * the text to use to create a new comment node. + * @param {CKEDITOR.dom.document} [ownerDocument] The document that will contain + * the node in case of new node creation. Defaults to the current document. + * @example + * var nativeNode = document.createComment( 'Example' ); + * var comment = CKEDITOR.dom.comment( nativeNode ); + * @example + * var comment = CKEDITOR.dom.comment( 'Example' ); + */ +CKEDITOR.dom.comment = function( comment, ownerDocument ) { - base : CKEDITOR.dom.node, + if ( typeof comment == 'string' ) + comment = ( ownerDocument ? ownerDocument.$ : document ).createComment( comment ); - $ : function( text, ownerDocument ) - { - if ( typeof text == 'string' ) - text = ( ownerDocument ? ownerDocument.$ : document ).createComment( text ); + CKEDITOR.dom.domObject.call( this, comment ); +}; - this.base( text ); - }, +CKEDITOR.dom.comment.prototype = new CKEDITOR.dom.node(); - proto : +CKEDITOR.tools.extend( CKEDITOR.dom.comment.prototype, + /** @lends CKEDITOR.dom.comment.prototype */ { type : CKEDITOR.NODE_COMMENT, @@ -28,5 +41,4 @@ CKEDITOR.dom.comment = CKEDITOR.tools.createClass( { return ''; } - } -}); + }); diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/document.js b/phpgwapi/js/ckeditor3/_source/core/dom/document.js index 8880de8a4d..0b421183e5 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/document.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/document.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/documentfragment.js b/phpgwapi/js/ckeditor3/_source/core/dom/documentfragment.js index 6152031099..c08c640efb 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/documentfragment.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/documentfragment.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/domobject.js b/phpgwapi/js/ckeditor3/_source/core/dom/domobject.js index d37790fac1..e342dc893b 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/domobject.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/domobject.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -84,10 +84,10 @@ CKEDITOR.dom.domObject.prototype = (function() { var listener = nativeListeners[ eventName ] = getNativeListener( this, eventName ); - if ( this.$.attachEvent ) - this.$.attachEvent( 'on' + eventName, listener ); - else if ( this.$.addEventListener ) + if ( this.$.addEventListener ) this.$.addEventListener( eventName, listener, !!CKEDITOR.event.useCapture ); + else if ( this.$.attachEvent ) + this.$.attachEvent( 'on' + eventName, listener ); } // Call the original implementation. @@ -107,10 +107,10 @@ CKEDITOR.dom.domObject.prototype = (function() var listener = nativeListeners && nativeListeners[ eventName ]; if ( listener ) { - if ( this.$.detachEvent ) - this.$.detachEvent( 'on' + eventName, listener ); - else if ( this.$.removeEventListener ) + if ( this.$.removeEventListener ) this.$.removeEventListener( eventName, listener, false ); + else if ( this.$.detachEvent ) + this.$.detachEvent( 'on' + eventName, listener ); delete nativeListeners[ eventName ]; } diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/element.js b/phpgwapi/js/ckeditor3/_source/core/dom/element.js index 7adb189839..84498ba72b 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/element.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/element.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -466,6 +466,11 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, case 'style': // IE does not return inline styles via getAttribute(). See #2947. return this.$.style.cssText; + + case 'contenteditable': + case 'contentEditable': + return this.$.attributes.getNamedItem( 'contentEditable' ).specified ? + this.$.getAttribute( 'contentEditable' ) : null; } return standard.call( this, name ); @@ -580,7 +585,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, * in the future. * @returns {String} The text value. * @example - * var element = CKEDITOR.dom.element.createFromHtml( '<div>Same <i>text</i>.</div>' ); + * var element = CKEDITOR.dom.element.createFromHtml( '<div>Sample <i>text</i>.</div>' ); * alert( element.getText() ); // "Sample text." */ getText : function() @@ -730,7 +735,9 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, if ( this.isReadOnly() || this.getComputedStyle( 'display' ) == 'none' || this.getComputedStyle( 'visibility' ) == 'hidden' - || CKEDITOR.dtd.$nonEditable[ name ] ) + || this.is( 'a' ) && this.data( 'cke-saved-name' ) && !this.getChildCount() + || CKEDITOR.dtd.$nonEditable[ name ] + || CKEDITOR.dtd.$empty[ name ] ) { return false; } @@ -1068,6 +1075,8 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, this.$.tabIndex = value; else if ( name == 'checked' ) this.$.checked = value; + else if ( name == 'contenteditable' ) + standard.call( this, 'contentEditable', value ); else standard.apply( this, arguments ); return this; @@ -1142,6 +1151,8 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, name = 'className'; else if ( name == 'tabindex' ) name = 'tabIndex'; + else if ( name == 'contenteditable' ) + name = 'contentEditable'; standard.call( this, name ); }; } @@ -1173,9 +1184,9 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, */ removeStyle : function( name ) { - this.setStyle( name, '' ); - if ( this.$.style.removeAttribute ) - this.$.style.removeAttribute( CKEDITOR.tools.cssStyleToDomStyle( name ) ); + // Removes the specified property from the current style object. + var $ = this.$.style; + $.removeProperty ? $.removeProperty( name ) : $.removeAttribute( CKEDITOR.tools.cssStyleToDomStyle( name ) ); if ( !this.$.style.cssText ) this.removeAttribute( 'style' ); @@ -1226,7 +1237,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, */ setOpacity : function( opacity ) { - if ( CKEDITOR.env.ie ) + if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) { opacity = Math.round( opacity * 100 ); this.setStyle( 'filter', opacity >= 100 ? '' : 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + opacity + ')' ); @@ -1261,12 +1272,13 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, if ( CKEDITOR.env.ie || CKEDITOR.env.opera ) { var element = this.$, + elements = element.getElementsByTagName("*"), e, i = 0; element.unselectable = 'on'; - while ( ( e = element.all[ i++ ] ) ) + while ( ( e = elements[ i++ ] ) ) { switch ( e.tagName.toLowerCase() ) { @@ -1396,40 +1408,143 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, return { x : x, y : y }; }, - scrollIntoView : function( alignTop ) + /** + * Make any page element visible inside the browser viewport. + * @param {Boolean} [alignToTop] + */ + scrollIntoView : function( alignToTop ) { - // Get the element window. - var win = this.getWindow(), - winHeight = win.getViewPaneSize().height; + var parent = this.getParent(); + if ( !parent ) return; - // Starts from the offset that will be scrolled with the negative value of - // the visible window height. - var offset = winHeight * -1; - - // Append the view pane's height if align to top. - // Append element height if we are aligning to the bottom. - if ( alignTop ) - offset += winHeight; - else + // Scroll the element into parent container from the inner out. + do { - offset += this.$.offsetHeight || 0; + // Check ancestors that overflows. + var overflowed = + parent.$.clientWidth && parent.$.clientWidth < parent.$.scrollWidth + || parent.$.clientHeight && parent.$.clientHeight < parent.$.scrollHeight; - // Consider the margin in the scroll, which is ok for our current needs, but - // needs investigation if we will be using this function in other places. - offset += parseInt( this.getComputedStyle( 'marginBottom' ) || 0, 10 ) || 0; + if ( overflowed ) + this.scrollIntoParent( parent, alignToTop, 1 ); + + // Walk across the frame. + if ( parent.is( 'html' ) ) + { + var win = parent.getWindow(); + + // Avoid security error. + try + { + var iframe = win.$.frameElement; + iframe && ( parent = new CKEDITOR.dom.element( iframe ) ); + } + catch(er){} + } + } + while ( ( parent = parent.getParent() ) ); + }, + + /** + * Make any page element visible inside one of the ancestors by scrolling the parent. + * @param {CKEDITOR.dom.element|CKEDITOR.dom.window} parent The container to scroll into. + * @param {Boolean} [alignToTop] Align the element's top side with the container's + * when true is specified; align the bottom with viewport bottom when + * false is specified. Otherwise scroll on either side with the minimum + * amount to show the element. + * @param {Boolean} [hscroll] Whether horizontal overflow should be considered. + */ + scrollIntoParent : function( parent, alignToTop, hscroll ) + { + !parent && ( parent = this.getWindow() ); + + var doc = parent.getDocument(); + var isQuirks = doc.$.compatMode == 'BackCompat'; + + // On window is scrolled while quirks scrolls . + if ( parent instanceof CKEDITOR.dom.window ) + parent = isQuirks ? doc.getBody() : doc.getDocumentElement(); + + // Scroll the parent by the specified amount. + function scrollBy( x, y ) + { + // Webkit doesn't support "scrollTop/scrollLeft" + // on documentElement/body element. + if ( /body|html/.test( parent.getName() ) ) + parent.getWindow().$.scrollBy( x, y ); + else + { + parent.$[ 'scrollLeft' ] += x; + parent.$[ 'scrollTop' ] += y; + } } - // Append the offsets for the entire element hierarchy. - var elementPosition = this.getDocumentPosition(); - offset += elementPosition.y; + // Figure out the element position relative to the specified window. + function screenPos( element, refWin ) + { + var pos = { x: 0, y: 0 }; - // offset value might be out of range(nagative), fix it(#3692). - offset = offset < 0 ? 0 : offset; + if ( !( element.is( isQuirks ? 'body' : 'html' ) ) ) + { + var box = element.$.getBoundingClientRect(); + pos.x = box.left, pos.y = box.top; + } - // Scroll the window to the desired position, if not already visible(#3795). - var currentScroll = win.getScrollPosition().y; - if ( offset > currentScroll || offset < currentScroll - winHeight ) - win.$.scrollTo( 0, offset ); + var win = element.getWindow(); + if ( !win.equals( refWin ) ) + { + var outerPos = screenPos( CKEDITOR.dom.element.get( win.$.frameElement ), refWin ); + pos.x += outerPos.x, pos.y += outerPos.y; + } + + return pos; + } + + // calculated margin size. + function margin( element, side ) + { + return parseInt( element.getComputedStyle( 'margin-' + side ) || 0, 10 ) || 0; + } + + var win = parent.getWindow(); + + var thisPos = screenPos( this, win ), + parentPos = screenPos( parent, win ), + eh = this.$.offsetHeight, + ew = this.$.offsetWidth, + ch = parent.$.clientHeight, + cw = parent.$.clientWidth, + lt, + br; + + // Left-top margins. + lt = + { + x : thisPos.x - margin( this, 'left' ) - parentPos.x || 0, + y : thisPos.y - margin( this, 'top' ) - parentPos.y|| 0 + }; + + // Bottom-right margins. + br = + { + x : thisPos.x + ew + margin( this, 'right' ) - ( ( parentPos.x ) + cw ) || 0, + y : thisPos.y + eh + margin( this, 'bottom' ) - ( ( parentPos.y ) + ch ) || 0 + }; + + // 1. Do the specified alignment as much as possible; + // 2. Otherwise be smart to scroll only the minimum amount; + // 3. Never cut at the top; + // 4. DO NOT scroll when already visible. + if ( lt.y < 0 || br.y > 0 ) + { + scrollBy( 0, + alignToTop === true ? lt.y : + alignToTop === false ? br.y : + lt.y < 0 ? lt.y : br.y ); + } + + if ( hscroll && ( lt.x < 0 || br.x > 0 ) ) + scrollBy( lt.x < 0 ? lt.x : br.x, 0 ); }, setState : function( state ) diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/elementpath.js b/phpgwapi/js/ckeditor3/_source/core/dom/elementpath.js index 6dcd4d47a3..caf4d3811f 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/elementpath.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/elementpath.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -46,8 +46,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license this.lastElement = e; var elementName = e.getName(); - if ( CKEDITOR.env.ie && e.$.scopeName != 'HTML' ) - elementName = e.$.scopeName.toLowerCase() + ':' + elementName; if ( !blockLimit ) { diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/event.js b/phpgwapi/js/ckeditor3/_source/core/dom/event.js index 618a11035c..c63469c68b 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/event.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/event.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/node.js b/phpgwapi/js/ckeditor3/_source/core/dom/node.js index 6a4cbdef8c..90412e4b48 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/node.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/node.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -23,21 +23,13 @@ CKEDITOR.dom.node = function( domNode ) { if ( domNode ) { - switch ( domNode.nodeType ) - { - // Safari don't consider document as element node type. (#3389) - case CKEDITOR.NODE_DOCUMENT : - return new CKEDITOR.dom.document( domNode ); + var type = domNode.nodeType == CKEDITOR.NODE_DOCUMENT ? 'document' + : domNode.nodeType == CKEDITOR.NODE_ELEMENT ? 'element' + : domNode.nodeType == CKEDITOR.NODE_TEXT ? 'text' + : domNode.nodeType == CKEDITOR.NODE_COMMENT ? 'comment' + : 'domObject'; // Call the base constructor otherwise. - case CKEDITOR.NODE_ELEMENT : - return new CKEDITOR.dom.element( domNode ); - - case CKEDITOR.NODE_TEXT : - return new CKEDITOR.dom.text( domNode ); - } - - // Call the base constructor. - CKEDITOR.dom.domObject.call( this, domNode ); + return new CKEDITOR.dom[ type ]( domNode ); } return this; @@ -352,7 +344,10 @@ CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype, do { previous = previous.previousSibling; - retval = previous && new CKEDITOR.dom.node( previous ); + + // Avoid returning the doc type node. + // http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-412266927 + retval = previous && previous.nodeType != 10 && new CKEDITOR.dom.node( previous ); } while ( retval && evaluator && !evaluator( retval ) ) return retval; diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/nodelist.js b/phpgwapi/js/ckeditor3/_source/core/dom/nodelist.js index 42efafc70f..6c394dc251 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/nodelist.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/nodelist.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/range.js b/phpgwapi/js/ckeditor3/_source/core/dom/range.js index 67759c80ad..c8312b749b 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/range.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/range.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -349,7 +349,10 @@ CKEDITOR.dom.range = function( document ) // check(Start|End)OfBlock. function getCheckStartEndBlockEvalFunction( isStart ) { - var hadBr = false, bookmarkEvaluator = CKEDITOR.dom.walker.bookmark( true ); + var skipBogus = false, + bookmarkEvaluator = CKEDITOR.dom.walker.bookmark( true ), + nbspRegExp = /^[\t\r\n ]*(?: |\xa0)$/; + return function( node ) { // First ignore bookmark nodes. @@ -358,8 +361,16 @@ CKEDITOR.dom.range = function( document ) if ( node.type == CKEDITOR.NODE_TEXT ) { + // Skip the block filler NBSP. + if ( CKEDITOR.env.ie && + nbspRegExp.test( node.getText() ) && + !skipBogus && + !( isStart && node.getNext() ) ) + { + skipBogus = true; + } // If there's any visible text, then we're not at the start. - if ( node.hasAscendant( 'pre' ) || CKEDITOR.tools.trim( node.getText() ).length ) + else if ( node.hasAscendant( 'pre' ) || CKEDITOR.tools.trim( node.getText() ).length ) return false; } else if ( node.type == CKEDITOR.NODE_ELEMENT ) @@ -368,10 +379,14 @@ CKEDITOR.dom.range = function( document ) // at the start. if ( !inlineChildReqElements[ node.getName() ] ) { - // If we're working at the end-of-block, forgive the first
in non-IE - // browsers. - if ( !isStart && !CKEDITOR.env.ie && node.getName() == 'br' && !hadBr ) - hadBr = true; + // Skip the padding block br. + if ( !CKEDITOR.env.ie && + node.is( 'br' ) && + !skipBogus && + !( isStart && node.getNext() ) ) + { + skipBogus = true; + } else return false; } @@ -380,16 +395,23 @@ CKEDITOR.dom.range = function( document ) }; } + + var isBogus = CKEDITOR.dom.walker.bogus(); // Evaluator for CKEDITOR.dom.element::checkBoundaryOfElement, reject any // text node and non-empty elements unless it's being bookmark text. - function elementBoundaryEval( node ) + function elementBoundaryEval( checkStart ) { - // Reject any text node unless it's being bookmark - // OR it's spaces. (#3883) - return node.type != CKEDITOR.NODE_TEXT - && node.getName() in CKEDITOR.dtd.$removeEmpty - || !CKEDITOR.tools.trim( node.getText() ) - || !!node.getParent().data( 'cke-bookmark' ); + return function( node ) + { + // Tolerant bogus br when checking at the end of block. + // Reject any text node unless it's being bookmark + // OR it's spaces. + // Reject any element unless it's being invisible empty. (#3883) + return !checkStart && isBogus( node ) || + ( node.type == CKEDITOR.NODE_TEXT ? + !CKEDITOR.tools.trim( node.getText() ) || !!node.getParent().data( 'cke-bookmark' ) + : node.getName() in CKEDITOR.dtd.$removeEmpty ); + }; } var whitespaceEval = new CKEDITOR.dom.walker.whitespaces(), @@ -506,7 +528,7 @@ CKEDITOR.dom.range = function( document ) if ( serializable ) { baseId = 'cke_bm_' + CKEDITOR.tools.getNextNumber(); - startNode.setAttribute( 'id', baseId + 'S' ); + startNode.setAttribute( 'id', baseId + ( collapsed ? 'C' : 'S' ) ); } // If collapsed, the endNode will not be created. @@ -537,7 +559,7 @@ CKEDITOR.dom.range = function( document ) this.moveToPosition( startNode, CKEDITOR.POSITION_AFTER_END ); return { - startNode : serializable ? baseId + 'S' : startNode, + startNode : serializable ? baseId + ( collapsed ? 'C' : 'S' ) : startNode, endNode : serializable ? baseId + 'E' : endNode, serializable : serializable, collapsed : collapsed @@ -1014,7 +1036,12 @@ CKEDITOR.dom.range = function( document ) // whitespaces at the end. isWhiteSpace = false; - if ( sibling.type == CKEDITOR.NODE_TEXT ) + if ( sibling.type == CKEDITOR.NODE_COMMENT ) + { + sibling = sibling.getPrevious(); + continue; + } + else if ( sibling.type == CKEDITOR.NODE_TEXT ) { siblingText = sibling.getText(); @@ -1044,7 +1071,7 @@ CKEDITOR.dom.range = function( document ) sibling = null; else { - var allChildren = sibling.$.all || sibling.$.getElementsByTagName( '*' ); + var allChildren = sibling.$.getElementsByTagName( '*' ); for ( var i = 0, child ; child = allChildren[ i++ ] ; ) { if ( !CKEDITOR.dtd.$removeEmpty[ child.nodeName.toLowerCase() ] ) @@ -1183,7 +1210,7 @@ CKEDITOR.dom.range = function( document ) isWhiteSpace = /^[\s\ufeff]/.test( siblingText ); } - else + else if ( sibling.type == CKEDITOR.NODE_ELEMENT ) { // If this is a visible element. // We need to check for the bookmark attribute because IE insists on @@ -1204,7 +1231,7 @@ CKEDITOR.dom.range = function( document ) sibling = null; else { - allChildren = sibling.$.all || sibling.$.getElementsByTagName( '*' ); + allChildren = sibling.$.getElementsByTagName( '*' ); for ( i = 0 ; child = allChildren[ i++ ] ; ) { if ( !CKEDITOR.dtd.$removeEmpty[ child.nodeName.toLowerCase() ] ) @@ -1222,6 +1249,8 @@ CKEDITOR.dom.range = function( document ) sibling = null; } } + else + isWhiteSpace = 1; if ( isWhiteSpace ) { @@ -1793,7 +1822,7 @@ CKEDITOR.dom.range = function( document ) // Create the walker, which will check if we have anything useful // in the range. var walker = new CKEDITOR.dom.walker( walkerRange ); - walker.evaluator = elementBoundaryEval; + walker.evaluator = elementBoundaryEval( checkStart ); return walker[ checkStart ? 'checkBackward' : 'checkForward' ](); }, @@ -1814,11 +1843,6 @@ CKEDITOR.dom.range = function( document ) return false; } - // Antecipate the trim() call here, so the walker will not make - // changes to the DOM, which would not get reflected into this - // range otherwise. - this.trim(); - // We need to grab the block element holding the start boundary, so // let's use an element path for it. var path = new CKEDITOR.dom.elementPath( this.startContainer ); @@ -1848,11 +1872,6 @@ CKEDITOR.dom.range = function( document ) return false; } - // Antecipate the trim() call here, so the walker will not make - // changes to the DOM, which would not get reflected into this - // range otherwise. - this.trim(); - // We need to grab the block element holding the start boundary, so // let's use an element path for it. var path = new CKEDITOR.dom.elementPath( this.endContainer ); @@ -1920,16 +1939,14 @@ CKEDITOR.dom.range = function( document ) */ moveToElementEditablePosition : function( el, isMoveToEnd ) { + var nbspRegExp = /^[\t\r\n ]*(?: |\xa0)$/; + function nextDFS( node, childOnly ) { var next; - if ( node.type == CKEDITOR.NODE_ELEMENT - && node.isEditable( false ) - && !CKEDITOR.dtd.$nonEditable[ node.getName() ] ) - { + if ( node.type == CKEDITOR.NODE_ELEMENT && node.isEditable( false ) ) next = node[ isMoveToEnd ? 'getLast' : 'getFirst' ]( nonWhitespaceOrBookmarkEval ); - } if ( !childOnly && !next ) next = node[ isMoveToEnd ? 'getPrevious' : 'getNext' ]( nonWhitespaceOrBookmarkEval ); @@ -1937,6 +1954,15 @@ CKEDITOR.dom.range = function( document ) return next; } + // Handle non-editable element e.g. HR. + if ( el.type == CKEDITOR.NODE_ELEMENT && !el.isEditable( false ) ) + { + this.moveToPosition( el, isMoveToEnd ? + CKEDITOR.POSITION_AFTER_END : + CKEDITOR.POSITION_BEFORE_START ); + return true; + } + var found = 0; while ( el ) @@ -1944,7 +1970,11 @@ CKEDITOR.dom.range = function( document ) // Stop immediately if we've found a text node. if ( el.type == CKEDITOR.NODE_TEXT ) { - this.moveToPosition( el, isMoveToEnd ? + // Put cursor before block filler. + if ( isMoveToEnd && this.checkEndOfBlock() && nbspRegExp.test( el.getText() ) ) + this.moveToPosition( el, CKEDITOR.POSITION_BEFORE_START ); + else + this.moveToPosition( el, isMoveToEnd ? CKEDITOR.POSITION_AFTER_END : CKEDITOR.POSITION_BEFORE_START ); found = 1; @@ -1961,6 +1991,9 @@ CKEDITOR.dom.range = function( document ) CKEDITOR.POSITION_AFTER_START ); found = 1; } + // Put cursor before padding block br. + else if ( isMoveToEnd && el.is( 'br' ) && this.checkEndOfBlock() ) + this.moveToPosition( el, CKEDITOR.POSITION_BEFORE_START ); } el = nextDFS( el, found ); diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/rangelist.js b/phpgwapi/js/ckeditor3/_source/core/dom/rangelist.js index 2685506214..2e5a1b22a8 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/rangelist.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/rangelist.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/text.js b/phpgwapi/js/ckeditor3/_source/core/dom/text.js index 4abf8fc31e..dfb46d5037 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/text.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/text.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/walker.js b/phpgwapi/js/ckeditor3/_source/core/dom/walker.js index 7f430b8ad0..a9c4ebacb5 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/walker.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/walker.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -8,40 +8,50 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // This function is to be called under a "walker" instance scope. function iterate( rtl, breakOnFalse ) { + var range = this.range; + // Return null if we have reached the end. if ( this._.end ) return null; - var node, - range = this.range, - guard, - userGuard = this.guard, - type = this.type, - getSourceNodeFn = ( rtl ? 'getPreviousSourceNode' : 'getNextSourceNode' ); - // This is the first call. Initialize it. if ( !this._.start ) { this._.start = 1; - // Trim text nodes and optmize the range boundaries. DOM changes - // may happen at this point. - range.trim(); - // A collapsed range must return null at first call. if ( range.collapsed ) { this.end(); return null; } + + // Move outside of text node edges. + range.optimize(); } + var node, + startCt = range.startContainer, + endCt = range.endContainer, + startOffset = range.startOffset, + endOffset = range.endOffset, + guard, + userGuard = this.guard, + type = this.type, + getSourceNodeFn = ( rtl ? 'getPreviousSourceNode' : 'getNextSourceNode' ); + // Create the LTR guard function, if necessary. if ( !rtl && !this._.guardLTR ) { - // Gets the node that stops the walker when going LTR. - var limitLTR = range.endContainer, - blockerLTR = limitLTR.getChild( range.endOffset ); + // The node that stops walker from moving up. + var limitLTR = endCt.type == CKEDITOR.NODE_ELEMENT ? + endCt : + endCt.getParent(); + + // The node that stops the walker from going to next. + var blockerLTR = endCt.type == CKEDITOR.NODE_ELEMENT ? + endCt.getChild( endOffset ) : + endCt.getNext(); this._.guardLTR = function( node, movingOut ) { @@ -54,9 +64,16 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Create the RTL guard function, if necessary. if ( rtl && !this._.guardRTL ) { - // Gets the node that stops the walker when going LTR. - var limitRTL = range.startContainer, - blockerRTL = ( range.startOffset > 0 ) && limitRTL.getChild( range.startOffset - 1 ); + // The node that stops walker from moving up. + var limitRTL = startCt.type == CKEDITOR.NODE_ELEMENT ? + startCt : + startCt.getParent(); + + // The node that stops the walker from going to next. + var blockerRTL = startCt.type == CKEDITOR.NODE_ELEMENT ? + startOffset ? + startCt.getChild( startOffset - 1 ) : null : + startCt.getPrevious(); this._.guardRTL = function( node, movingOut ) { @@ -89,35 +106,33 @@ For licensing, see LICENSE.html or http://ckeditor.com/license else { // Get the first node to be returned. - if ( rtl ) { - node = range.endContainer; + node = endCt; - if ( range.endOffset > 0 ) + if ( node.type == CKEDITOR.NODE_ELEMENT ) { - node = node.getChild( range.endOffset - 1 ); - if ( guard( node ) === false ) - node = null; + if ( endOffset > 0 ) + node = node.getChild( endOffset - 1 ); + else + node = ( guard ( node, true ) === false ) ? + null : node.getPreviousSourceNode( true, type, guard ); } - else - node = ( guard ( node, true ) === false ) ? - null : node.getPreviousSourceNode( true, type, guard ); } else { - node = range.startContainer; - node = node.getChild( range.startOffset ); + node = startCt; - if ( node ) + if ( node.type == CKEDITOR.NODE_ELEMENT ) { - if ( guard( node ) === false ) - node = null; + if ( ! ( node = node.getChild( startOffset ) ) ) + node = ( guard ( startCt, true ) === false ) ? + null : startCt.getNextSourceNode( true, type, guard ) ; } - else - node = ( guard ( range.startContainer, true ) === false ) ? - null : range.startContainer.getNextSourceNode( true, type, guard ) ; } + + if ( node && guard( node ) === false ) + node = null; } while ( node && !this._.end ) @@ -431,6 +446,31 @@ For licensing, see LICENSE.html or http://ckeditor.com/license }; }; + CKEDITOR.dom.walker.bogus = function( isReject ) + { + function nonEmpty( node ) + { + return !isWhitespaces( node ) && !isBookmark( node ); + } + + return function( node ) + { + var isBogus = !CKEDITOR.env.ie ? node.is && node.is( 'br' ) : + node.getText && tailNbspRegex.test( node.getText() ); + + if ( isBogus ) + { + var parent = node.getParent(), next = node.getNext( nonEmpty ); + isBogus = parent.isBlockBoundary() && + ( !next || + next.type == CKEDITOR.NODE_ELEMENT && + next.isBlockBoundary() ); + } + + return !! ( isReject ^ isBogus ); + }; + }; + var tailNbspRegex = /^[\t\r\n ]*(?: |\xa0)$/, isWhitespaces = CKEDITOR.dom.walker.whitespaces(), isBookmark = CKEDITOR.dom.walker.bookmark(), diff --git a/phpgwapi/js/ckeditor3/_source/core/dom/window.js b/phpgwapi/js/ckeditor3/_source/core/dom/window.js index c5492b6fb6..755b658f7f 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dom/window.js +++ b/phpgwapi/js/ckeditor3/_source/core/dom/window.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/dtd.js b/phpgwapi/js/ckeditor3/_source/core/dtd.js index 51293a0f65..6636dca3d1 100644 --- a/phpgwapi/js/ckeditor3/_source/core/dtd.js +++ b/phpgwapi/js/ckeditor3/_source/core/dtd.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/editor.js b/phpgwapi/js/ckeditor3/_source/core/editor.js index ff17efb9a9..20e5d7c0e0 100644 --- a/phpgwapi/js/ckeditor3/_source/core/editor.js +++ b/phpgwapi/js/ckeditor3/_source/core/editor.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/editor_basic.js b/phpgwapi/js/ckeditor3/_source/core/editor_basic.js index 8d109c82de..da7ef1ff07 100644 --- a/phpgwapi/js/ckeditor3/_source/core/editor_basic.js +++ b/phpgwapi/js/ckeditor3/_source/core/editor_basic.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/env.js b/phpgwapi/js/ckeditor3/_source/core/env.js index 61df909302..e803371606 100644 --- a/phpgwapi/js/ckeditor3/_source/core/env.js +++ b/phpgwapi/js/ckeditor3/_source/core/env.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/event.js b/phpgwapi/js/ckeditor3/_source/core/event.js index fa19060376..7b2b55750b 100644 --- a/phpgwapi/js/ckeditor3/_source/core/event.js +++ b/phpgwapi/js/ckeditor3/_source/core/event.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/eventInfo.js b/phpgwapi/js/ckeditor3/_source/core/eventInfo.js index 0f313e86ec..2e38828fff 100644 --- a/phpgwapi/js/ckeditor3/_source/core/eventInfo.js +++ b/phpgwapi/js/ckeditor3/_source/core/eventInfo.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -118,3 +118,15 @@ For licensing, see LICENSE.html or http://ckeditor.com/license * }); * alert( someObject.fire( 'someEvent' ) ); // "true" */ + +/** + * Removes the current listener. + * @name CKEDITOR.eventInfo.prototype.removeListener + * @function + * @example + * someObject.on( 'someEvent', function( event ) + * { + * event.removeListener(); + * // Now this function won't be called again by 'someEvent' + * }); + */ diff --git a/phpgwapi/js/ckeditor3/_source/core/focusmanager.js b/phpgwapi/js/ckeditor3/_source/core/focusmanager.js index e59900ded0..812bc9b5fd 100644 --- a/phpgwapi/js/ckeditor3/_source/core/focusmanager.js +++ b/phpgwapi/js/ckeditor3/_source/core/focusmanager.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/htmlparser.js b/phpgwapi/js/ckeditor3/_source/core/htmlparser.js index 45808e398b..b652c6f5e3 100644 --- a/phpgwapi/js/ckeditor3/_source/core/htmlparser.js +++ b/phpgwapi/js/ckeditor3/_source/core/htmlparser.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/htmlparser/basicwriter.js b/phpgwapi/js/ckeditor3/_source/core/htmlparser/basicwriter.js index 010ae74e6b..6334e8fe21 100644 --- a/phpgwapi/js/ckeditor3/_source/core/htmlparser/basicwriter.js +++ b/phpgwapi/js/ckeditor3/_source/core/htmlparser/basicwriter.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/htmlparser/cdata.js b/phpgwapi/js/ckeditor3/_source/core/htmlparser/cdata.js index 422f603eb3..f8eb01c80a 100644 --- a/phpgwapi/js/ckeditor3/_source/core/htmlparser/cdata.js +++ b/phpgwapi/js/ckeditor3/_source/core/htmlparser/cdata.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/htmlparser/comment.js b/phpgwapi/js/ckeditor3/_source/core/htmlparser/comment.js index a55b489c8b..0cc5419645 100644 --- a/phpgwapi/js/ckeditor3/_source/core/htmlparser/comment.js +++ b/phpgwapi/js/ckeditor3/_source/core/htmlparser/comment.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/htmlparser/element.js b/phpgwapi/js/ckeditor3/_source/core/htmlparser/element.js index b1d5547505..2795eb7ce3 100644 --- a/phpgwapi/js/ckeditor3/_source/core/htmlparser/element.js +++ b/phpgwapi/js/ckeditor3/_source/core/htmlparser/element.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -25,7 +25,7 @@ CKEDITOR.htmlParser.element = function( name, attributes ) * @type Object * @example */ - this.attributes = attributes || ( attributes = {} ); + this.attributes = attributes || {}; /** * The nodes that are direct children of this element. @@ -34,29 +34,27 @@ CKEDITOR.htmlParser.element = function( name, attributes ) */ this.children = []; - var tagName = attributes[ 'data-cke-real-element-type' ] || name || ''; + // Reveal the real semantic of our internal custom tag name (#6639), + // when resolving whether it's block like. + var realName = name || '', + prefixed = realName.match( /^cke:(.*)/ ); + prefixed && ( realName = prefixed[ 1 ] ); - // Reveal the real semantic of our internal custom tag name (#6639). - var internalTag = tagName.match( /^cke:(.*)/ ); - internalTag && ( tagName = internalTag[ 1 ] ); + var isBlockLike = !!( CKEDITOR.dtd.$nonBodyContent[ realName ] + || CKEDITOR.dtd.$block[ realName ] + || CKEDITOR.dtd.$listItem[ realName ] + || CKEDITOR.dtd.$tableContent[ realName ] + || CKEDITOR.dtd.$nonEditable[ realName ] + || realName == 'br' ); - var dtd = CKEDITOR.dtd, - isBlockLike = !!( dtd.$nonBodyContent[ tagName ] - || dtd.$block[ tagName ] - || dtd.$listItem[ tagName ] - || dtd.$tableContent[ tagName ] - || dtd.$nonEditable[ tagName ] - || tagName == 'br' ), - isEmpty = !!dtd.$empty[ name ]; - - this.isEmpty = isEmpty; - this.isUnknown = !dtd[ name ]; + this.isEmpty = !!CKEDITOR.dtd.$empty[ name ]; + this.isUnknown = !CKEDITOR.dtd[ name ]; /** @private */ this._ = { isBlockLike : isBlockLike, - hasInlineStarted : isEmpty || !isBlockLike + hasInlineStarted : this.isEmpty || !isBlockLike }; }; diff --git a/phpgwapi/js/ckeditor3/_source/core/htmlparser/filter.js b/phpgwapi/js/ckeditor3/_source/core/htmlparser/filter.js index a1f16e2a9e..e4df3613dd 100644 --- a/phpgwapi/js/ckeditor3/_source/core/htmlparser/filter.js +++ b/phpgwapi/js/ckeditor3/_source/core/htmlparser/filter.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/htmlparser/fragment.js b/phpgwapi/js/ckeditor3/_source/core/htmlparser/fragment.js index f69f7cdca5..2d7f8ac1a2 100644 --- a/phpgwapi/js/ckeditor3/_source/core/htmlparser/fragment.js +++ b/phpgwapi/js/ckeditor3/_source/core/htmlparser/fragment.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -127,7 +127,7 @@ CKEDITOR.htmlParser.fragment = function() function sendPendingBRs() { while ( pendingBRs.length ) - currentNode.add( pendingBRs.shift() ); + addElement( pendingBRs.shift(), currentNode ); } /* @@ -194,6 +194,13 @@ CKEDITOR.htmlParser.fragment = function() target.add( element ); + if ( element.name == 'pre' ) + inPre = false; + + if ( element.name == 'textarea' ) + inTextarea = false; + + if ( element.returnPoint ) { currentNode = element.returnPoint; @@ -360,12 +367,6 @@ CKEDITOR.htmlParser.fragment = function() currentNode = candidate; - if ( currentNode.name == 'pre' ) - inPre = false; - - if ( currentNode.name == 'textarea' ) - inTextarea = false; - if ( candidate._.isBlockLike ) sendPendingBRs(); @@ -394,6 +395,24 @@ CKEDITOR.htmlParser.fragment = function() return; } + var currentName = currentNode.name, + currentDtd = currentName ? ( CKEDITOR.dtd[ currentName ] + || ( currentNode._.isBlockLike ? + CKEDITOR.dtd.div : CKEDITOR.dtd.span ) ) : rootDtd; + + // Fix orphan text in list/table. (#8540) (#8870) + if ( !inTextarea && + !currentDtd [ '#' ] && + currentName in nonBreakingBlocks ) + { + parser.onTagOpen( currentName in listBlocks ? 'li' : + currentName == 'dl' ? 'dd' : + currentName == 'table' ? 'tr' : + currentName == 'tr' ? 'td' : '' ); + parser.onText( text ); + return; + } + sendPendingBRs(); checkPending(); diff --git a/phpgwapi/js/ckeditor3/_source/core/htmlparser/text.js b/phpgwapi/js/ckeditor3/_source/core/htmlparser/text.js index 227e1c4f2c..4bf5fd6471 100644 --- a/phpgwapi/js/ckeditor3/_source/core/htmlparser/text.js +++ b/phpgwapi/js/ckeditor3/_source/core/htmlparser/text.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/lang.js b/phpgwapi/js/ckeditor3/_source/core/lang.js index 8c7f522192..e75909f3bd 100644 --- a/phpgwapi/js/ckeditor3/_source/core/lang.js +++ b/phpgwapi/js/ckeditor3/_source/core/lang.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/loader.js b/phpgwapi/js/ckeditor3/_source/core/loader.js index bf8d97ce7c..ade7c068bf 100644 --- a/phpgwapi/js/ckeditor3/_source/core/loader.js +++ b/phpgwapi/js/ckeditor3/_source/core/loader.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -105,7 +105,7 @@ if ( !CKEDITOR.loader ) return path; })(); - var timestamp = 'B8DJ5M3'; + var timestamp = 'C6HH5UF'; var getUrl = function( resource ) { diff --git a/phpgwapi/js/ckeditor3/_source/core/plugindefinition.js b/phpgwapi/js/ckeditor3/_source/core/plugindefinition.js index d9dc526d6e..f2cb536e45 100644 --- a/phpgwapi/js/ckeditor3/_source/core/plugindefinition.js +++ b/phpgwapi/js/ckeditor3/_source/core/plugindefinition.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/plugins.js b/phpgwapi/js/ckeditor3/_source/core/plugins.js index 9a55980a56..0bbe53f6b7 100644 --- a/phpgwapi/js/ckeditor3/_source/core/plugins.js +++ b/phpgwapi/js/ckeditor3/_source/core/plugins.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/resourcemanager.js b/phpgwapi/js/ckeditor3/_source/core/resourcemanager.js index 4dab1d70ec..53ffba246e 100644 --- a/phpgwapi/js/ckeditor3/_source/core/resourcemanager.js +++ b/phpgwapi/js/ckeditor3/_source/core/resourcemanager.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/scriptloader.js b/phpgwapi/js/ckeditor3/_source/core/scriptloader.js index c2df992d4c..3640fcd5df 100644 --- a/phpgwapi/js/ckeditor3/_source/core/scriptloader.js +++ b/phpgwapi/js/ckeditor3/_source/core/scriptloader.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/skins.js b/phpgwapi/js/ckeditor3/_source/core/skins.js index c23dcf2279..f91d45c5fb 100644 --- a/phpgwapi/js/ckeditor3/_source/core/skins.js +++ b/phpgwapi/js/ckeditor3/_source/core/skins.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/themes.js b/phpgwapi/js/ckeditor3/_source/core/themes.js index d412577474..0ac89526c8 100644 --- a/phpgwapi/js/ckeditor3/_source/core/themes.js +++ b/phpgwapi/js/ckeditor3/_source/core/themes.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/tools.js b/phpgwapi/js/ckeditor3/_source/core/tools.js index 5d0573c403..148c588cae 100644 --- a/phpgwapi/js/ckeditor3/_source/core/tools.js +++ b/phpgwapi/js/ckeditor3/_source/core/tools.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/core/ui.js b/phpgwapi/js/ckeditor3/_source/core/ui.js index b569d8a245..085815c01b 100644 --- a/phpgwapi/js/ckeditor3/_source/core/ui.js +++ b/phpgwapi/js/ckeditor3/_source/core/ui.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/lang/_languages.js b/phpgwapi/js/ckeditor3/_source/lang/_languages.js index 179e8a3ca3..bb882af918 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/_languages.js +++ b/phpgwapi/js/ckeditor3/_source/lang/_languages.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/lang/_translationstatus.txt b/phpgwapi/js/ckeditor3/_source/lang/_translationstatus.txt index 894ceb2842..467a73331e 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/_translationstatus.txt +++ b/phpgwapi/js/ckeditor3/_source/lang/_translationstatus.txt @@ -1,61 +1,64 @@ -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license -af.js Found: 549 Missing: 27 -ar.js Found: 467 Missing: 109 -bg.js Found: 291 Missing: 285 -bn.js Found: 292 Missing: 284 -bs.js Found: 175 Missing: 401 -ca.js Found: 550 Missing: 26 -cs.js Found: 550 Missing: 26 -cy.js Found: 573 Missing: 3 -da.js Found: 417 Missing: 159 -de.js Found: 576 Missing: 0 -el.js Found: 306 Missing: 270 -en-au.js Found: 345 Missing: 231 -en-ca.js Found: 345 Missing: 231 -en-gb.js Found: 518 Missing: 58 -eo.js Found: 270 Missing: 306 -es.js Found: 576 Missing: 0 -et.js Found: 575 Missing: 1 -eu.js Found: 417 Missing: 159 -fa.js Found: 576 Missing: 0 -fi.js Found: 576 Missing: 0 -fo.js Found: 551 Missing: 25 -fr-ca.js Found: 319 Missing: 257 -fr.js Found: 551 Missing: 25 -gl.js Found: 292 Missing: 284 -gu.js Found: 320 Missing: 256 -he.js Found: 576 Missing: 0 -hi.js Found: 322 Missing: 254 -hr.js Found: 419 Missing: 157 -hu.js Found: 573 Missing: 3 -is.js Found: 326 Missing: 250 -it.js Found: 573 Missing: 3 -ja.js Found: 494 Missing: 82 -ka.js Found: 569 Missing: 7 -km.js Found: 286 Missing: 290 -ko.js Found: 304 Missing: 272 -lt.js Found: 576 Missing: 0 -lv.js Found: 294 Missing: 282 -mn.js Found: 320 Missing: 256 -ms.js Found: 276 Missing: 300 -nb.js Found: 575 Missing: 1 -nl.js Found: 576 Missing: 0 -no.js Found: 575 Missing: 1 -pl.js Found: 576 Missing: 0 -pt-br.js Found: 576 Missing: 0 -pt.js Found: 293 Missing: 283 -ro.js Found: 317 Missing: 259 -ru.js Found: 576 Missing: 0 -sk.js Found: 365 Missing: 211 -sl.js Found: 426 Missing: 150 -sr-latn.js Found: 287 Missing: 289 -sr.js Found: 286 Missing: 290 -sv.js Found: 551 Missing: 25 -th.js Found: 298 Missing: 278 -tr.js Found: 536 Missing: 40 -uk.js Found: 544 Missing: 32 -vi.js Found: 493 Missing: 83 -zh-cn.js Found: 576 Missing: 0 -zh.js Found: 419 Missing: 157 +af.js Found: 548 Missing: 29 +ar.js Found: 470 Missing: 107 +bg.js Found: 394 Missing: 183 +bn.js Found: 292 Missing: 285 +bs.js Found: 175 Missing: 402 +ca.js Found: 549 Missing: 28 +cs.js Found: 577 Missing: 0 +cy.js Found: 575 Missing: 2 +da.js Found: 575 Missing: 2 +de.js Found: 575 Missing: 2 +el.js Found: 391 Missing: 186 +en-au.js Found: 347 Missing: 230 +en-ca.js Found: 345 Missing: 232 +en-gb.js Found: 517 Missing: 60 +eo.js Found: 577 Missing: 0 +es.js Found: 575 Missing: 2 +et.js Found: 577 Missing: 0 +eu.js Found: 417 Missing: 160 +fa.js Found: 575 Missing: 2 +fi.js Found: 575 Missing: 2 +fo.js Found: 575 Missing: 2 +fr-ca.js Found: 319 Missing: 258 +fr.js Found: 575 Missing: 2 +gl.js Found: 292 Missing: 285 +gu.js Found: 575 Missing: 2 +he.js Found: 575 Missing: 2 +hi.js Found: 327 Missing: 250 +hr.js Found: 575 Missing: 2 +hu.js Found: 572 Missing: 5 +id.js Found: 1 Missing: 576 +is.js Found: 326 Missing: 251 +it.js Found: 577 Missing: 0 +ja.js Found: 493 Missing: 84 +ka.js Found: 568 Missing: 9 +km.js Found: 286 Missing: 291 +ko.js Found: 304 Missing: 273 +lt.js Found: 575 Missing: 2 +lv.js Found: 294 Missing: 283 +mk.js Found: 0 Missing: 577 +mn.js Found: 320 Missing: 257 +ms.js Found: 276 Missing: 301 +nb.js Found: 577 Missing: 0 +nl.js Found: 575 Missing: 2 +no.js Found: 577 Missing: 0 +pl.js Found: 575 Missing: 2 +pt-br.js Found: 577 Missing: 0 +pt.js Found: 326 Missing: 251 +ro.js Found: 432 Missing: 145 +ru.js Found: 575 Missing: 2 +sk.js Found: 364 Missing: 213 +sl.js Found: 426 Missing: 151 +sr-latn.js Found: 287 Missing: 290 +sr.js Found: 286 Missing: 291 +sv.js Found: 550 Missing: 27 +th.js Found: 298 Missing: 279 +tr.js Found: 575 Missing: 2 +ug.js Found: 572 Missing: 5 +uk.js Found: 575 Missing: 2 +vi.js Found: 577 Missing: 0 +zh-cn.js Found: 577 Missing: 0 +zh.js Found: 433 Missing: 144 diff --git a/phpgwapi/js/ckeditor3/_source/lang/af.js b/phpgwapi/js/ckeditor3/_source/lang/af.js index 34227fc0ec..9b79693103 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/af.js +++ b/phpgwapi/js/ckeditor3/_source/lang/af.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['af'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Teksverwerker, %1, druk op ALT 0 vir hulp.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/ar.js b/phpgwapi/js/ckeditor3/_source/lang/ar.js index cf31ea0b1a..e04ad55ee7 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/ar.js +++ b/phpgwapi/js/ckeditor3/_source/lang/ar.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['ar'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING @@ -93,14 +94,14 @@ CKEDITOR.lang['ar'] = cssStyle : 'نمط', ok : 'موافق', cancel : 'إلغاء الأمر', - close : 'Close', // MISSING - preview : 'Preview', // MISSING + close : 'أغلق', + preview : 'استعراض', generalTab : 'عام', advancedTab : 'متقدم', validateNumberFailed : 'لايوجد نتيجة', confirmNewPage : 'ستفقد أي متغييرات اذا لم تقم بحفظها اولا. هل أنت متأكد أنك تريد صفحة جديدة؟', confirmCancel : 'بعض الخيارات قد تغيرت. هل أنت متأكد من إغلاق مربع النص؟', - options : 'Options', // MISSING + options : 'خيارات', target : 'Target', // MISSING targetNew : 'New Window (_blank)', // MISSING targetTop : 'Topmost Window (_top)', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/bg.js b/phpgwapi/js/ckeditor3/_source/lang/bg.js index ec7479fa87..2995ff4a4b 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/bg.js +++ b/phpgwapi/js/ckeditor3/_source/lang/bg.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,96 +31,97 @@ CKEDITOR.lang['bg'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Ленти с инструменти', + editor : 'Текстов редактор за форматиран текст', // Toolbar buttons without dialogs. - source : 'Код', + source : 'Източник', newPage : 'Нова страница', - save : 'Запази', - preview : 'Предварителен изглед', - cut : 'Изрежи', - copy : 'Запамети', + save : 'Запис', + preview : 'Преглед', + cut : 'Отрежи', + copy : 'Копирай', paste : 'Вмъкни', print : 'Печат', underline : 'Подчертан', bold : 'Удебелен', - italic : 'Курсив', - selectAll : 'Селектирай всичко', - removeFormat : 'Изтрий форматирането', - strike : 'Зачертан', - subscript : 'Индекс за база', - superscript : 'Индекс за степен', - horizontalrule : 'Вмъкни хоризонтална линия', - pagebreak : 'Вмъкни нов ред', - pagebreakAlt : 'Page Break', // MISSING - unlink : 'Изтрий връзка', - undo : 'Отмени', - redo : 'Повтори', + italic : 'Наклонен', + selectAll : 'Избери всичко', + removeFormat : 'Премахване на форматирането', + strike : 'Зачертан текст', + subscript : 'Индексиран текст', + superscript : 'Суперскрипт', + horizontalrule : 'Вмъкване на хоризонтална линия', + pagebreak : 'Вмъкване на нова страница при печат', + pagebreakAlt : 'Разделяне на страници', + unlink : 'Премахни връзката', + undo : 'Възтанови', + redo : 'Връщане на предишен статус', // Common messages and labels. common : { - browseServer : 'Разгледай сървъра', - url : 'Пълен път (URL)', + browseServer : 'Избор от сървъра', + url : 'URL', protocol : 'Протокол', - upload : 'Качи', - uploadSubmit : 'Прати към сървъра', - image : 'Изображение', - flash : 'Flash', - form : 'Формуляр', - checkbox : 'Поле за отметка', - radio : 'Поле за опция', + upload : 'Качване', + uploadSubmit : 'Изпращане към сървъра', + image : 'Снимка', + flash : 'Флаш', + form : 'Форма', + checkbox : 'Поле за избор', + radio : 'Радио бутон', textField : 'Текстово поле', - textarea : 'Текстова област', + textarea : 'Текстова зона', hiddenField : 'Скрито поле', button : 'Бутон', - select : 'Падащо меню с опции', - imageButton : 'Бутон-изображение', - notSet : '<не е настроен>', - id : 'Идентификатор', + select : 'Поле за избор', + imageButton : 'Бутон за снимка', + notSet : '<не е избрано>', + id : 'ID', name : 'Име', - langDir : 'посока на речта', - langDirLtr : 'От ляво на дясно', - langDirRtl : 'От дясно на ляво', + langDir : 'Посока на езика', + langDirLtr : 'Ляво на дясно (ЛнД)', + langDirRtl : 'Дясно на ляво (ДнЛ)', langCode : 'Код на езика', - longDescr : 'Описание на връзката', - cssClass : 'Клас от стиловите таблици', - advisoryTitle : 'Препоръчително заглавие', + longDescr : 'Уеб адрес за дълго описание', + cssClass : 'Класове за CSS', + advisoryTitle : 'Advisory Title', // MISSING cssStyle : 'Стил', ok : 'ОК', cancel : 'Отказ', - close : 'Close', // MISSING - preview : 'Preview', // MISSING - generalTab : 'General', // MISSING - advancedTab : 'Подробности...', - validateNumberFailed : 'This value is not a number.', // MISSING + close : 'Затвори', + preview : 'Преглед', + generalTab : 'Общо', + advancedTab : 'Разширено', + validateNumberFailed : 'Тази стойност не е число', confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING - cssClasses : 'Stylesheet Classes', // MISSING + options : 'Опции', + target : 'Цел', + targetNew : 'Нов прозорец (_blank)', + targetTop : 'Горна позиция (_top)', + targetSelf : 'Текущия прозорец (_self)', + targetParent : 'Основен прозорец (_parent)', + langDirLTR : 'Ляво на дясно (ЛнД)', + langDirRTL : 'Дясно на ляво (ДнЛ)', + styles : 'Стил', + cssClasses : 'Класове за CSS', width : 'Ширина', height : 'Височина', align : 'Подравняване', alignLeft : 'Ляво', alignRight : 'Дясно', alignCenter : 'Център', - alignTop : 'Отгоре', + alignTop : 'Горе', alignMiddle : 'По средата', alignBottom : 'Долу', - invalidHeight : 'Height must be a number.', // MISSING - invalidWidth : 'Width must be a number.', // MISSING + invalidHeight : 'Височината трябва да е число.', + invalidWidth : 'Ширина требе да е число.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING @@ -132,81 +133,81 @@ CKEDITOR.lang['bg'] = contextmenu : { - options : 'Context Menu Options' // MISSING + options : 'Опции на контекстното меню' }, // Special char dialog. specialChar : { - toolbar : 'Вмъкни специален символ', - title : 'Изберете специален символ', - options : 'Special Character Options' // MISSING + toolbar : 'Вмъкване на специален знак', + title : 'Избор на специален знак', + options : 'Опции за специален знак' }, // Link dialog. link : { - toolbar : 'Добави/Редактирай връзка', - other : '<друг>', - menu : 'Редактирай връзка', + toolbar : 'Връзка', + other : '<друго>', + menu : 'Промяна на връзка', title : 'Връзка', - info : 'Информация за връзката', + info : 'Инфо за връзката', target : 'Цел', - upload : 'Качи', - advanced : 'Подробности...', - type : 'Вид на връзката', - toUrl : 'URL', // MISSING - toAnchor : 'Котва в текущата страница', - toEmail : 'Е-поща', - targetFrame : '<рамка>', - targetPopup : '<дъщерен прозорец>', - targetFrameName : 'Име на целевия прозорец', - targetPopupName : 'Име на дъщерния прозорец', - popupFeatures : 'Параметри на дъщерния прозорец', - popupResizable : 'Resizable', // MISSING - popupStatusBar : 'Поле за статус', - popupLocationBar: 'Поле за адрес', - popupToolbar : 'Панел с бутони', - popupMenuBar : 'Меню', - popupFullScreen : 'Голям екран (MS IE)', - popupScrollBars : 'Плъзгач', - popupDependent : 'Зависим (Netscape)', - popupLeft : 'Координати - X', - popupTop : 'Координати - Y', - id : 'Id', // MISSING - langDir : 'посока на речта', - langDirLTR : 'От ляво на дясно', - langDirRTL : 'От дясно на ляво', - acccessKey : 'Бърз клавиш', + upload : 'Качване', + advanced : 'Разширено', + type : 'Тип на връзката', + toUrl : 'Уеб адрес', + toAnchor : 'Връзка към котва в текста', + toEmail : 'E-mail', + targetFrame : '', + targetPopup : '<изкачащ прозорец>', + targetFrameName : 'Име на целевият прозорец', + targetPopupName : 'Име на изкачащ прозорец', + popupFeatures : 'Функции на изкачащ прозорец', + popupResizable : 'Оразмеряем', + popupStatusBar : 'Статусна лента', + popupLocationBar: 'Лента с локацията', + popupToolbar : 'Лента с инструменти', + popupMenuBar : 'Лента за меню', + popupFullScreen : 'Цял екран (IE)', + popupScrollBars : 'Скролери', + popupDependent : 'Зависимост (Netscape)', + popupLeft : 'Лява позиция', + popupTop : 'Горна позиция', + id : 'ID', + langDir : 'Посока на езика', + langDirLTR : 'Ляво на Дясно (ЛнД)', + langDirRTL : 'Дясно на Ляво (ДнЛ)', + acccessKey : 'Ключ за достъп', name : 'Име', - langCode : 'посока на речта', - tabIndex : 'Ред на достъп', - advisoryTitle : 'Препоръчително заглавие', - advisoryContentType : 'Препоръчителен тип на съдържанието', - cssClasses : 'Клас от стиловите таблици', - charset : 'Тип на свързания ресурс', + langCode : 'Код за езика', + tabIndex : 'Tab Index', // MISSING + advisoryTitle : 'Advisory Title', // MISSING + advisoryContentType : 'Advisory Content Type', // MISSING + cssClasses : 'Класове за CSS', + charset : 'Linked Resource Charset', // MISSING styles : 'Стил', - rel : 'Relationship', // MISSING + rel : 'Връзка', selectAnchor : 'Изберете котва', - anchorName : 'По име на котвата', - anchorId : 'По идентификатор на елемент', - emailAddress : 'Адрес за е-поща', - emailSubject : 'Тема на писмото', - emailBody : 'Текст на писмото', - noAnchors : '(Няма котви в текущия документ)', - noUrl : 'Моля, напишете пълния път (URL)', - noEmail : 'Моля, напишете адреса за е-поща' + anchorName : 'По име на котва', + anchorId : 'По ID на елемент', + emailAddress : 'E-mail aдрес', + emailSubject : 'Тема', + emailBody : 'Съдържание', + noAnchors : '(No anchors available in the document)', // MISSING + noUrl : 'Моля въведете URL адреса', + noEmail : 'Моля въведете e-mail aдрес' }, // Anchor dialog anchor : { - toolbar : 'Добави/Редактирай котва', - menu : 'Параметри на котвата', - title : 'Параметри на котвата', - name : 'Име на котвата', - errorName : 'Моля, въведете име на котвата', - remove : 'Remove Anchor' // MISSING + toolbar : 'Котва', + menu : 'Промяна на котва', + title : 'Настройки на котва', + name : 'Име на котва', + errorName : 'Моля въведете име на котвата', + remove : 'Премахване на котва' }, // List style dialog @@ -214,39 +215,39 @@ CKEDITOR.lang['bg'] = { numberedTitle : 'Numbered List Properties', // MISSING bulletedTitle : 'Bulleted List Properties', // MISSING - type : 'Type', // MISSING - start : 'Start', // MISSING + type : 'Тип', + start : 'Старт', validateStartNumber :'List start number must be a whole number.', // MISSING - circle : 'Circle', // MISSING - disc : 'Disc', // MISSING - square : 'Square', // MISSING - none : 'None', // MISSING - notset : '', // MISSING - armenian : 'Armenian numbering', // MISSING - georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING - lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING - upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING - lowerAlpha : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING - upperAlpha : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING - lowerGreek : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING - decimal : 'Decimal (1, 2, 3, etc.)', // MISSING - decimalLeadingZero : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING + circle : 'Кръг', + disc : 'Диск', + square : 'Квадрат', + none : 'Няма', + notset : '<не е указано>', + armenian : 'Арменско номериране', + georgian : 'Грузинско номериране (an, ban, gan, и т.н.)', + lowerRoman : 'Малки римски числа (i, ii, iii, iv, v и т.н.)', + upperRoman : 'Големи римски числа (I, II, III, IV, V и т.н.)', + lowerAlpha : 'Малки букви (а, б, в, г, д и т.н.)', + upperAlpha : 'Големи букви (А, Б, В, Г, Д и т.н.)', + lowerGreek : 'Малки гръцки букви (алфа, бета, гама и т.н.)', + decimal : 'Числа (1, 2, 3 и др.)', + decimalLeadingZero : 'Числа с водеща нула (01, 02, 03 и т.н.)' }, // Find And Replace Dialog findAndReplace : { - title : 'Find and Replace', // MISSING - find : 'Търси', - replace : 'Замести', - findWhat : 'Търси:', - replaceWith : 'Замести с:', - notFoundMsg : 'Указания текст не беше намерен.', + title : 'Търсене и препокриване', + find : 'Търсене', + replace : 'Препокриване', + findWhat : 'Търси за:', + replaceWith : 'Препокрива с:', + notFoundMsg : 'Указаният текст не е намерен.', findOptions : 'Find Options', // MISSING - matchCase : 'Със същия регистър', - matchWord : 'Търси същата дума', - matchCyclic : 'Match cyclic', // MISSING - replaceAll : 'Замести всички', + matchCase : 'Съвпадение', + matchWord : 'Съвпадение с дума', + matchCyclic : 'Циклично съвпадение', + replaceAll : 'Препокрий всички', replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING }, @@ -254,26 +255,26 @@ CKEDITOR.lang['bg'] = table : { toolbar : 'Таблица', - title : 'Параметри на таблицата', - menu : 'Параметри на таблицата', - deleteTable : 'Изтрий таблицата', + title : 'Настройки на таблицата', + menu : 'Настройки на таблицата', + deleteTable : 'Изтриване на таблица', rows : 'Редове', columns : 'Колони', border : 'Размер на рамката', - widthPx : 'пиксели', - widthPc : 'проценти', - widthUnit : 'width unit', // MISSING - cellSpace : 'Разстояние между клетките', - cellPad : 'Отстъп на съдържанието в клетките', + widthPx : 'пиксела', + widthPc : 'процент', + widthUnit : 'единица за ширина', + cellSpace : 'Разтояние между клетките', + cellPad : 'Отделяне на клетките', caption : 'Заглавие', - summary : 'Резюме', - headers : 'Headers', // MISSING - headersNone : 'None', // MISSING - headersColumn : 'First column', // MISSING - headersRow : 'First Row', // MISSING - headersBoth : 'Both', // MISSING - invalidRows : 'Number of rows must be a number greater than 0.', // MISSING - invalidCols : 'Number of columns must be a number greater than 0.', // MISSING + summary : 'Обща информация', + headers : 'Хедъри', + headersNone : 'Няма', + headersColumn : 'Първа колона', + headersRow : 'Първи ред', + headersBoth : 'Заедно', + invalidRows : 'Броят редове трябва да е по-голям от 0.', + invalidCols : 'Броят колони трябва да е по-голям от 0.', invalidBorder : 'Border size must be a number.', // MISSING invalidWidth : 'Table width must be a number.', // MISSING invalidHeight : 'Table height must be a number.', // MISSING @@ -282,107 +283,107 @@ CKEDITOR.lang['bg'] = cell : { - menu : 'Cell', // MISSING - insertBefore : 'Insert Cell Before', // MISSING - insertAfter : 'Insert Cell After', // MISSING - deleteCell : 'Изтрий клетките', - merge : 'Обедини клетките', - mergeRight : 'Merge Right', // MISSING + menu : 'Клетка', + insertBefore : 'Вмъкване на клетка преди', + insertAfter : 'Вмъкване на клетка след', + deleteCell : 'Изтриване на клетки', + merge : 'Сливане на клетки', + mergeRight : 'Сливане в дясно', mergeDown : 'Merge Down', // MISSING splitHorizontal : 'Split Cell Horizontally', // MISSING splitVertical : 'Split Cell Vertically', // MISSING - title : 'Cell Properties', // MISSING - cellType : 'Cell Type', // MISSING + title : 'Настройки на клетката', + cellType : 'Тип на клетката', rowSpan : 'Rows Span', // MISSING colSpan : 'Columns Span', // MISSING - wordWrap : 'Word Wrap', // MISSING - hAlign : 'Horizontal Alignment', // MISSING - vAlign : 'Vertical Alignment', // MISSING - alignBaseline : 'Baseline', // MISSING - bgColor : 'Background Color', // MISSING - borderColor : 'Border Color', // MISSING - data : 'Data', // MISSING - header : 'Header', // MISSING - yes : 'Yes', // MISSING - no : 'No', // MISSING + wordWrap : 'Авто. пренос', + hAlign : 'Хоризонтално подравняване', + vAlign : 'Вертикално подравняване', + alignBaseline : 'Базова линия', + bgColor : 'Фон', + borderColor : 'Цвят на рамката', + data : 'Данни', + header : 'Хедър', + yes : 'Да', + no : 'Не', invalidWidth : 'Cell width must be a number.', // MISSING invalidHeight : 'Cell height must be a number.', // MISSING invalidRowSpan : 'Rows span must be a whole number.', // MISSING invalidColSpan : 'Columns span must be a whole number.', // MISSING - chooseColor : 'Choose' // MISSING + chooseColor : 'Изберете' }, row : { - menu : 'Row', // MISSING + menu : 'Ред', insertBefore : 'Insert Row Before', // MISSING - insertAfter : 'Insert Row After', // MISSING - deleteRow : 'Изтрий редовете' + insertAfter : 'Вмъкване на ред след', + deleteRow : 'Изтриване на редове' }, column : { - menu : 'Column', // MISSING - insertBefore : 'Insert Column Before', // MISSING - insertAfter : 'Insert Column After', // MISSING - deleteColumn : 'Изтрий колоните' + menu : 'Колона', + insertBefore : 'Вмъкване на колона преди', + insertAfter : 'Вмъкване на колона след', + deleteColumn : 'Изтриване на колони' } }, // Button Dialog. button : { - title : 'Параметри на бутона', - text : 'Текст (Стойност)', + title : 'Настройки на бутона', + text : 'Текст (стойност)', type : 'Тип', - typeBtn : 'Button', // MISSING - typeSbm : 'Submit', // MISSING - typeRst : 'Reset' // MISSING + typeBtn : 'Бутон', + typeSbm : 'Добави', + typeRst : 'Нулиране' }, // Checkbox and Radio Button Dialogs. checkboxAndRadio : { - checkboxTitle : 'Параметри на полето за отметка', - radioTitle : 'Параметри на полето за опция', + checkboxTitle : 'Checkbox Properties', // MISSING + radioTitle : 'Настройки на радиобутон', value : 'Стойност', - selected : 'Отметнато' + selected : 'Избрано' }, // Form Dialog. form : { - title : 'Параметри на формуляра', - menu : 'Параметри на формуляра', + title : 'Настройки на формата', + menu : 'Настройки на формата', action : 'Действие', method : 'Метод', - encoding : 'Encoding' // MISSING + encoding : 'Кодиране' }, // Select Field Dialog. select : { - title : 'Параметри на падащото меню с опции', - selectInfo : 'Информация', - opAvail : 'Възможни опции', + title : 'Selection Field Properties', // MISSING + selectInfo : 'Select Info', // MISSING + opAvail : 'Налични опции', value : 'Стойност', size : 'Размер', lines : 'линии', - chkMulti : 'Разрешено множествено селектиране', + chkMulti : 'Allow multiple selections', // MISSING opText : 'Текст', opValue : 'Стойност', btnAdd : 'Добави', btnModify : 'Промени', - btnUp : 'Нагоре', - btnDown : 'Надолу', - btnSetValue : 'Настрой като избрана стойност', - btnDelete : 'Изтрий' + btnUp : 'На горе', + btnDown : 'На долу', + btnSetValue : 'Set as selected value', // MISSING + btnDelete : 'Изтриване' }, // Textarea Dialog. textarea : { - title : 'Параметри на текстовата област', + title : 'Опции за текстовата зона', cols : 'Колони', rows : 'Редове' }, @@ -390,11 +391,11 @@ CKEDITOR.lang['bg'] = // Text Field Dialog. textfield : { - title : 'Параметри на текстовото-поле', + title : 'Настройки за текстово поле', name : 'Име', value : 'Стойност', - charWidth : 'Ширина на символите', - maxChars : 'Максимум символи', + charWidth : 'Ширина на знаците', + maxChars : 'Макс. знаци', type : 'Тип', typeText : 'Текст', typePass : 'Парола' @@ -403,7 +404,7 @@ CKEDITOR.lang['bg'] = // Hidden Field Dialog. hidden : { - title : 'Параметри на скритото поле', + title : 'Настройки за скрито поле', name : 'Име', value : 'Стойност' }, @@ -411,19 +412,19 @@ CKEDITOR.lang['bg'] = // Image Dialog. image : { - title : 'Параметри на изображението', - titleButton : 'Параметри на бутона-изображение', - menu : 'Параметри на изображението', - infoTab : 'Информация за изображението', - btnUpload : 'Прати към сървъра', - upload : 'Качи', + title : 'Настройки за снимка', + titleButton : 'Настойки за бутон за снимка', + menu : 'Настройки за снимка', + infoTab : 'Инфо за снимка', + btnUpload : 'Изпрати я на сървъра', + upload : 'Качване', alt : 'Алтернативен текст', - lockRatio : 'Запази пропорцията', - resetSize : 'Възстанови размера', + lockRatio : 'Заключване на съотношението', + resetSize : 'Нулиране на размер', border : 'Рамка', - hSpace : 'Хоризонтален отстъп', - vSpace : 'Вертикален отстъп', - alertUrl : 'Моля, въведете пълния път до изображението', + hSpace : 'HSpace', // MISSING + vSpace : 'VSpace', // MISSING + alertUrl : 'Please type the image URL', // MISSING linkTab : 'Връзка', button2Img : 'Do you want to transform the selected image button on a simple image?', // MISSING img2Button : 'Do you want to transform the selected image on a image button?', // MISSING @@ -436,41 +437,41 @@ CKEDITOR.lang['bg'] = // Flash Dialog flash : { - properties : 'Параметри на Flash обекта', - propertiesTab : 'Properties', // MISSING - title : 'Параметри на Flash обекта', - chkPlay : 'Автоматично стартиране', - chkLoop : 'Ново стартиране след завършването', - chkMenu : 'Разрешено Flash меню', + properties : 'Настройки за флаш', + propertiesTab : 'Настройки', + title : 'Настройки за флаш', + chkPlay : 'Авто. пускане', + chkLoop : 'Цикъл', + chkMenu : 'Enable Flash Menu', // MISSING chkFull : 'Allow Fullscreen', // MISSING - scale : 'Оразмеряване', - scaleAll : 'Покажи целия обект', + scale : 'Scale', // MISSING + scaleAll : 'Показва всичко', scaleNoBorder : 'Без рамка', - scaleFit : 'Според мястото', + scaleFit : 'Exact Fit', // MISSING access : 'Script Access', // MISSING - accessAlways : 'Always', // MISSING - accessSameDomain: 'Same domain', // MISSING - accessNever : 'Never', // MISSING - alignAbsBottom : 'Най-долу', - alignAbsMiddle : 'Точно по средата', - alignBaseline : 'По базовата линия', - alignTextTop : 'Върху текста', - quality : 'Quality', // MISSING - qualityBest : 'Best', // MISSING - qualityHigh : 'High', // MISSING - qualityAutoHigh : 'Auto High', // MISSING - qualityMedium : 'Medium', // MISSING - qualityAutoLow : 'Auto Low', // MISSING - qualityLow : 'Low', // MISSING - windowModeWindow: 'Window', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent : 'Transparent', // MISSING - windowMode : 'Window mode', // MISSING - flashvars : 'Variables for Flash', // MISSING - bgcolor : 'Цвят на фона', - hSpace : 'Хоризонтален отстъп', - vSpace : 'Вертикален отстъп', - validateSrc : 'Моля, напишете пълния път (URL)', + accessAlways : 'Винаги', + accessSameDomain: 'Същият домейн', + accessNever : 'Никога', + alignAbsBottom : 'Abs Bottom', // MISSING + alignAbsMiddle : 'Abs Middle', // MISSING + alignBaseline : 'Baseline', // MISSING + alignTextTop : 'Text Top', // MISSING + quality : 'Качество', + qualityBest : 'Отлично', + qualityHigh : 'Високо', + qualityAutoHigh : 'Авто. високо', + qualityMedium : 'Средно', + qualityAutoLow : 'Авто. ниско', + qualityLow : 'Ниско', + windowModeWindow: 'Прозорец', + windowModeOpaque: 'Плътност', + windowModeTransparent : 'Прозрачност', + windowMode : 'Режим на прозореца', + flashvars : 'Променливи за Флаш', + bgcolor : 'Background color', // MISSING + hSpace : 'HSpace', // MISSING + vSpace : 'VSpace', // MISSING + validateSrc : 'Уеб адреса не трябва да е празен.', validateHSpace : 'HSpace must be a number.', // MISSING validateVSpace : 'VSpace must be a number.' // MISSING }, @@ -478,60 +479,60 @@ CKEDITOR.lang['bg'] = // Speller Pages Dialog spellCheck : { - toolbar : 'Провери правописа', - title : 'Spell Check', // MISSING - notAvailable : 'Sorry, but service is unavailable now.', // MISSING + toolbar : 'Проверка на правопис', + title : 'Проверка на правопис', + notAvailable : 'Съжаляваме, но услугата не е достъпна за момента', errorLoading : 'Error loading application service host: %s.', // MISSING - notInDic : 'Липсва в речника', + notInDic : 'Не е в речника', changeTo : 'Промени на', btnIgnore : 'Игнорирай', - btnIgnoreAll : 'Игнорирай всички', - btnReplace : 'Замести', - btnReplaceAll : 'Замести всички', - btnUndo : 'Отмени', - noSuggestions : '- Няма предложения -', - progress : 'Извършване на проверката за правопис...', - noMispell : 'Проверката за правопис завършена: не са открити правописни грешки', - noChanges : 'Проверката за правопис завършена: няма променени думи', - oneChange : 'Проверката за правопис завършена: една дума е променена', - manyChanges : 'Проверката за правопис завършена: %1 думи са променени', - ieSpellDownload : 'Инструментът за проверка на правопис не е инсталиран. Желаете ли да го инсталирате ?' + btnIgnoreAll : 'Игнорирай всичко', + btnReplace : 'Препокриване', + btnReplaceAll : 'Препокрий всичко', + btnUndo : 'Възтанови', + noSuggestions : '- Няма препоръчани -', + progress : 'Проверява се правописа...', + noMispell : 'Spell check complete: No misspellings found', // MISSING + noChanges : 'Spell check complete: No words changed', // MISSING + oneChange : 'Spell check complete: One word changed', // MISSING + manyChanges : 'Spell check complete: %1 words changed', // MISSING + ieSpellDownload : 'Spell checker not installed. Do you want to download it now?' // MISSING }, smiley : { toolbar : 'Усмивка', - title : 'Добави усмивка', - options : 'Smiley Options' // MISSING + title : 'Вмъкване на усмивка', + options : 'Опции за усмивката' }, elementsPath : { - eleLabel : 'Elements path', // MISSING - eleTitle : '%1 element' // MISSING + eleLabel : 'Път за елементите', + eleTitle : '%1 елемент' }, - numberedlist : 'Нумериран списък', - bulletedlist : 'Ненумериран списък', - indent : 'Увеличи отстъпа', - outdent : 'Намали отстъпа', + numberedlist : 'Вмъкване/Премахване на номериран списък', + bulletedlist : 'Вмъкване/Премахване на точков списък', + indent : 'Увеличаване на отстъпа', + outdent : 'Намаляване на отстъпа', justify : { - left : 'Подравняване в ляво', - center : 'Подравнявне в средата', - right : 'Подравняване в дясно', - block : 'Двустранно подравняване' + left : 'Подравни в ляво', + center : 'Център', + right : 'Подравни в дясно', + block : 'Justify' // MISSING }, - blockquote : 'Block Quote', // MISSING + blockquote : 'Блок за цитат', clipboard : { - title : 'Вмъкни', - cutError : 'Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни изрязването. За целта използвайте клавиатурата (Ctrl/Cmd+X).', - copyError : 'Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни запаметяването. За целта използвайте клавиатурата (Ctrl/Cmd+C).', - pasteMsg : 'Вмъкнете тук съдъжанието с клавиатуарата (Ctrl/Cmd+V) и натиснете OK.', + title : 'Paste', // MISSING + cutError : 'Настройките за сигурност на Вашия браузър не позволяват на редактора автоматично да изъплни действията за отрязване. Моля ползвайте клавиатурните команди за целта (ctrl+x).', + copyError : 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', // MISSING + pasteMsg : 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', // MISSING securityMsg : 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING pasteArea : 'Paste Area' // MISSING }, @@ -539,32 +540,32 @@ CKEDITOR.lang['bg'] = pastefromword : { confirmCleanup : 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - toolbar : 'Вмъкни от MS Word', - title : 'Вмъкни от MS Word', + toolbar : 'Paste from Word', // MISSING + title : 'Paste from Word', // MISSING error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING }, pasteText : { - button : 'Вмъкни като чист текст', - title : 'Вмъкни като чист текст' + button : 'Paste as plain text', // MISSING + title : 'Paste as Plain Text' // MISSING }, templates : { - button : 'Шаблони', - title : 'Шаблони', + button : 'Templates', // MISSING + title : 'Content Templates', // MISSING options : 'Template Options', // MISSING insertOption : 'Replace actual contents', // MISSING - selectPromptMsg : 'Изберете шаблон
(текущото съдържание на редактора ще бъде загубено):', - emptyListMsg : '(Няма дефинирани шаблони)' + selectPromptMsg : 'Please select the template to open in the editor', // MISSING + emptyListMsg : '(No templates defined)' // MISSING }, - showBlocks : 'Show Blocks', // MISSING + showBlocks : 'Показва блокове', stylesCombo : { - label : 'Стил', + label : 'Styles', // MISSING panelTitle : 'Formatting Styles', // MISSING panelTitle1 : 'Block Styles', // MISSING panelTitle2 : 'Inline Styles', // MISSING @@ -573,19 +574,19 @@ CKEDITOR.lang['bg'] = format : { - label : 'Формат', - panelTitle : 'Формат', + label : 'Format', // MISSING + panelTitle : 'Paragraph Format', // MISSING - tag_p : 'Нормален', - tag_pre : 'Форматиран', - tag_address : 'Адрес', - tag_h1 : 'Заглавие 1', - tag_h2 : 'Заглавие 2', - tag_h3 : 'Заглавие 3', - tag_h4 : 'Заглавие 4', - tag_h5 : 'Заглавие 5', - tag_h6 : 'Заглавие 6', - tag_div : 'Параграф (DIV)' + tag_p : 'Normal', // MISSING + tag_pre : 'Formatted', // MISSING + tag_address : 'Address', // MISSING + tag_h1 : 'Heading 1', // MISSING + tag_h2 : 'Heading 2', // MISSING + tag_h3 : 'Heading 3', // MISSING + tag_h4 : 'Heading 4', // MISSING + tag_h5 : 'Heading 5', // MISSING + tag_h6 : 'Heading 6', // MISSING + tag_div : 'Normal (DIV)' // MISSING }, div : @@ -593,22 +594,22 @@ CKEDITOR.lang['bg'] = title : 'Create Div Container', // MISSING toolbar : 'Create Div Container', // MISSING cssClassInputLabel : 'Stylesheet Classes', // MISSING - styleSelectLabel : 'Style', // MISSING - IdInputLabel : 'Id', // MISSING - languageCodeInputLabel : ' Language Code', // MISSING + styleSelectLabel : 'Стил', + IdInputLabel : 'ID', + languageCodeInputLabel : ' Код на езика', inlineStyleInputLabel : 'Inline Style', // MISSING advisoryTitleInputLabel : 'Advisory Title', // MISSING langDirLabel : 'Language Direction', // MISSING langDirLTRLabel : 'Left to Right (LTR)', // MISSING langDirRTLLabel : 'Right to Left (RTL)', // MISSING - edit : 'Edit Div', // MISSING - remove : 'Remove Div' // MISSING + edit : 'Промяна на Div', + remove : 'Премахване на Div' }, iframe : { - title : 'IFrame Properties', // MISSING - toolbar : 'IFrame', // MISSING + title : 'IFrame настройки', + toolbar : 'IFrame', noUrl : 'Please type the iframe URL', // MISSING scrolling : 'Enable scrollbars', // MISSING border : 'Show frame border' // MISSING @@ -617,49 +618,49 @@ CKEDITOR.lang['bg'] = font : { label : 'Шрифт', - voiceLabel : 'Font', // MISSING - panelTitle : 'Шрифт' + voiceLabel : 'Шрифт', + panelTitle : 'Име на шрифт' }, fontSize : { label : 'Размер', - voiceLabel : 'Font Size', // MISSING - panelTitle : 'Размер' + voiceLabel : 'Размер на шрифт', + panelTitle : 'Размер на шрифт' }, colorButton : { - textColorTitle : 'Цвят на текста', - bgColorTitle : 'Цвят на фона', - panelTitle : 'Colors', // MISSING - auto : 'По подразбиране', - more : 'Други цветове...' + textColorTitle : 'Цвят на шрифт', + bgColorTitle : 'Фонов цвят', + panelTitle : 'Цветове', + auto : 'Автоматично', + more : 'Още цветове' }, colors : { - '000' : 'Black', // MISSING - '800000' : 'Maroon', // MISSING - '8B4513' : 'Saddle Brown', // MISSING + '000' : 'Черно', + '800000' : 'Кестеняво', + '8B4513' : 'Светлокафяво', '2F4F4F' : 'Dark Slate Gray', // MISSING '008080' : 'Teal', // MISSING '000080' : 'Navy', // MISSING - '4B0082' : 'Indigo', // MISSING - '696969' : 'Dark Gray', // MISSING - 'B22222' : 'Fire Brick', // MISSING - 'A52A2A' : 'Brown', // MISSING - 'DAA520' : 'Golden Rod', // MISSING - '006400' : 'Dark Green', // MISSING - '40E0D0' : 'Turquoise', // MISSING - '0000CD' : 'Medium Blue', // MISSING - '800080' : 'Purple', // MISSING - '808080' : 'Gray', // MISSING - 'F00' : 'Red', // MISSING - 'FF8C00' : 'Dark Orange', // MISSING - 'FFD700' : 'Gold', // MISSING - '008000' : 'Green', // MISSING - '0FF' : 'Cyan', // MISSING + '4B0082' : 'Индиго', + '696969' : 'Тъмно сиво', + 'B22222' : 'Огнено червено', + 'A52A2A' : 'Кафяво', + 'DAA520' : 'Златисто', + '006400' : 'Тъмно зелено', + '40E0D0' : 'Тюркуазено', + '0000CD' : 'Средно синьо', + '800080' : 'Пурпурно', + '808080' : 'Сиво', + 'F00' : 'Червено', + 'FF8C00' : 'Тъмно оранжево', + 'FFD700' : 'Златно', + '008000' : 'Зелено', + '0FF' : 'Светло синьо', '00F' : 'Blue', // MISSING 'EE82EE' : 'Violet', // MISSING 'A9A9A9' : 'Dim Gray', // MISSING @@ -701,70 +702,70 @@ CKEDITOR.lang['bg'] = allCaps : 'Ignore All-Caps Words', // MISSING ignoreDomainNames : 'Ignore Domain Names', // MISSING mixedCase : 'Ignore Words with Mixed Case', // MISSING - mixedWithDigits : 'Ignore Words with Numbers', // MISSING + mixedWithDigits : 'Игнорирани думи и цифри', - languagesTab : 'Languages', // MISSING + languagesTab : 'Езици', - dictionariesTab : 'Dictionaries', // MISSING - dic_field_name : 'Dictionary name', // MISSING - dic_create : 'Create', // MISSING - dic_restore : 'Restore', // MISSING - dic_delete : 'Delete', // MISSING - dic_rename : 'Rename', // MISSING + dictionariesTab : 'Речници', + dic_field_name : 'Име на речнк', + dic_create : 'Нов', + dic_restore : 'Възтановяване', + dic_delete : 'Изтриване', + dic_rename : 'Преименуване', dic_info : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING - aboutTab : 'About' // MISSING + aboutTab : 'Относно' }, about : { - title : 'About CKEditor', // MISSING - dlgTitle : 'About CKEditor', // MISSING - help : 'Check $1 for help.', // MISSING + title : 'Относно CKEditor', + dlgTitle : 'Относно CKEditor', + help : 'Проверете $1 за помощ.', userGuide : 'CKEditor User\'s Guide', // MISSING - moreInfo : 'For licensing information please visit our web site:', // MISSING - copy : 'Copyright © $1. All rights reserved.' // MISSING + moreInfo : 'За лицензионна информация моля посетете сайта ни:', + copy : 'Copyright © $1. All rights reserved.' }, - maximize : 'Maximize', // MISSING - minimize : 'Minimize', // MISSING + maximize : 'Максимизиране', + minimize : 'Минимизиране', fakeobjects : { - anchor : 'Anchor', // MISSING - flash : 'Flash Animation', // MISSING - iframe : 'IFrame', // MISSING - hiddenfield : 'Hidden Field', // MISSING - unknown : 'Unknown Object' // MISSING + anchor : 'Кука', + flash : 'Флаш анимация', + iframe : 'IFrame', + hiddenfield : 'Скрито поле', + unknown : 'Неизвестен обект' }, - resize : 'Drag to resize', // MISSING + resize : 'Влачете за да оразмерите', colordialog : { - title : 'Select color', // MISSING - options : 'Color Options', // MISSING - highlight : 'Highlight', // MISSING - selected : 'Selected Color', // MISSING - clear : 'Clear' // MISSING + title : 'Изберете цвят', + options : 'Цветови опции', + highlight : 'Осветяване', + selected : 'Изберете цвят', + clear : 'Изчистване' }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'Свиване на лентата с инструменти', + toolbarExpand : 'Разширяване на лентата с инструменти', toolbarGroups : { - document : 'Document', // MISSING + document : 'Документ', clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + editing : 'Промяна', + forms : 'Форми', + basicstyles : 'Базови стилове', + paragraph : 'Параграф', + links : 'Връзки', + insert : 'Вмъкване', + styles : 'Стилове', + colors : 'Цветове', + tools : 'Инструменти' }, bidi : @@ -775,18 +776,18 @@ CKEDITOR.lang['bg'] = docprops : { - label : 'Параметри на документа', - title : 'Параметри на документа', - design : 'Design', // MISSING - meta : 'Мета данни', - chooseColor : 'Choose', // MISSING - other : '<друг>', + label : 'Настройки на документа', + title : 'Настройки на документа', + design : 'Дизайн', + meta : 'Мета етикети', + chooseColor : 'Изберете', + other : 'Други...', docTitle : 'Заглавие на страницата', - charset : 'Кодиране на символите', - charsetOther : 'Друго кодиране на символите', - charsetASCII : 'ASCII', // MISSING - charsetCE : 'Central European', // MISSING - charsetCT : 'Chinese Traditional (Big5)', // MISSING + charset : 'Кодова таблица', + charsetOther : 'Друга кодова таблица', + charsetASCII : 'ASCII', + charsetCE : 'Централна европейска', + charsetCT : 'Китайски традиционен', charsetCR : 'Cyrillic', // MISSING charsetGR : 'Greek', // MISSING charsetJP : 'Japanese', // MISSING @@ -794,22 +795,22 @@ CKEDITOR.lang['bg'] = charsetTR : 'Turkish', // MISSING charsetUN : 'Unicode (UTF-8)', // MISSING charsetWE : 'Western European', // MISSING - docType : 'Тип на документа', - docTypeOther : 'Друг тип на документа', - xhtmlDec : 'Включи XHTML декларация', - bgColor : 'Цвят на фона', - bgImage : 'Пълен път до фоновото изображение', - bgFixed : 'Не-повтарящо се фоново изображение', - txtColor : 'Цвят на текста', - margin : 'Отстъпи на страницата', - marginTop : 'Горе', - marginLeft : 'Ляво', - marginRight : 'Дясно', - marginBottom : 'Долу', - metaKeywords : 'Ключови думи за документа (разделени със запетаи)', - metaDescription : 'Описание на документа', - metaAuthor : 'Автор', - metaCopyright : 'Авторски права', + docType : 'Document Type Heading', // MISSING + docTypeOther : 'Other Document Type Heading', // MISSING + xhtmlDec : 'Include XHTML Declarations', // MISSING + bgColor : 'Background Color', // MISSING + bgImage : 'Background Image URL', // MISSING + bgFixed : 'Non-scrolling (Fixed) Background', // MISSING + txtColor : 'Text Color', // MISSING + margin : 'Page Margins', // MISSING + marginTop : 'Top', // MISSING + marginLeft : 'Left', // MISSING + marginRight : 'Right', // MISSING + marginBottom : 'Bottom', // MISSING + metaKeywords : 'Document Indexing Keywords (comma separated)', // MISSING + metaDescription : 'Document Description', // MISSING + metaAuthor : 'Author', // MISSING + metaCopyright : 'Copyright', // MISSING previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/bn.js b/phpgwapi/js/ckeditor3/_source/lang/bn.js index e0a146c34a..f3bef9f732 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/bn.js +++ b/phpgwapi/js/ckeditor3/_source/lang/bn.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['bn'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/bs.js b/phpgwapi/js/ckeditor3/_source/lang/bs.js index b3317eefbb..6dbd9a0068 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/bs.js +++ b/phpgwapi/js/ckeditor3/_source/lang/bs.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['bs'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/ca.js b/phpgwapi/js/ckeditor3/_source/lang/ca.js index a50e27652f..236dcf2fc1 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/ca.js +++ b/phpgwapi/js/ckeditor3/_source/lang/ca.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['ca'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Editor de text enriquit, %1, prem ALT 0 per obtenir ajuda.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/cs.js b/phpgwapi/js/ckeditor3/_source/lang/cs.js index 09ea741e1c..98a02b03bf 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/cs.js +++ b/phpgwapi/js/ckeditor3/_source/lang/cs.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,10 +31,11 @@ CKEDITOR.lang['cs'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Textový editor, %1, nápovědu zobrazíte stiskem ALT 0.', + editorTitle : 'Textový editor, %1', + editorHelp : 'Stiskněte ALT 0 pro nápovědu', // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING + toolbars : 'Panely nástrojů editoru', editor : 'Textový editor', // Toolbar buttons without dialogs. @@ -83,29 +84,29 @@ CKEDITOR.lang['cs'] = notSet : '', id : 'Id', name : 'Jméno', - langDir : 'Orientace jazyka', - langDirLtr : 'Zleva do prava (LTR)', - langDirRtl : 'Zprava do leva (RTL)', + langDir : 'Směr jazyka', + langDirLtr : 'Zleva doprava (LTR)', + langDirRtl : 'Zprava doleva (RTL)', langCode : 'Kód jazyka', longDescr : 'Dlouhý popis URL', cssClass : 'Třída stylu', advisoryTitle : 'Pomocný titulek', cssStyle : 'Styl', ok : 'OK', - cancel : 'Storno', + cancel : 'Zrušit', close : 'Zavřít', preview : 'Náhled', generalTab : 'Obecné', advancedTab : 'Rozšířené', validateNumberFailed : 'Zadaná hodnota není číselná.', - confirmNewPage : 'Jakékoliv neuložené změny obsahu budou ztraceny. Skutečně chete otevrít novou stránku?', - confirmCancel : 'Některá z nastavení byla změněna. Skutečně chete zavřít dialogové okno?', + confirmNewPage : 'Jakékoliv neuložené změny obsahu budou ztraceny. Skutečně chcete otevřít novou stránku?', + confirmCancel : 'Některá z nastavení byla změněna. Skutečně chcete zavřít dialogové okno?', options : 'Nastavení', target : 'Cíl', targetNew : 'Nové okno (_blank)', targetTop : 'Okno nejvyšší úrovně (_top)', targetSelf : 'Stejné okno (_self)', - targetParent : 'Rodičovské onko (_parent)', + targetParent : 'Rodičovské okno (_parent)', langDirLTR : 'Zleva doprava (LTR)', langDirRTL : 'Zprava doleva (RTL)', styles : 'Styly', @@ -120,11 +121,11 @@ CKEDITOR.lang['cs'] = alignMiddle : 'Na střed', alignBottom : 'Dolů', invalidHeight : 'Zadaná výška musí být číslo.', - invalidWidth : 'Zadaná šířka musí být číslo.', - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidWidth : 'Šířka musí být číslo.', + invalidCssLength : 'Hodnota určená pro pole "%1" musí být kladné číslo bez nebo s platnou jednotkou míry CSS (px, %, in, cm, mm, em, ex, pt, nebo pc).', + invalidHtmlLength : 'Hodnota určená pro pole "%1" musí být kladné číslo bez nebo s platnou jednotkou míry HTML (px nebo %).', + invalidInlineStyle : 'Hodnota určená pro řádkový styl se musí skládat z jedné nebo více n-tic ve formátu "název : hodnota", oddělené středníky', + cssLengthTooltip : 'Zadejte číslo jako hodnotu v pixelech nebo číslo s platnou jednotkou CSS (px, %, v cm, mm, em, ex, pt, nebo pc).', // Put the voice-only part of the label in the span. unavailable : '%1, nedostupné' @@ -146,7 +147,7 @@ CKEDITOR.lang['cs'] = // Link dialog. link : { - toolbar : 'Vložit/změnit odkaz', + toolbar : 'Odkaz', other : '', menu : 'Změnit odkaz', title : 'Odkaz', @@ -157,7 +158,7 @@ CKEDITOR.lang['cs'] = type : 'Typ odkazu', toUrl : 'URL', toAnchor : 'Kotva v této stránce', - toEmail : 'E-Mail', + toEmail : 'E-mail', targetFrame : '', targetPopup : '', targetFrameName : 'Název cílového rámu', @@ -174,23 +175,23 @@ CKEDITOR.lang['cs'] = popupLeft : 'Levý okraj', popupTop : 'Horní okraj', id : 'Id', - langDir : 'Orientace jazyka', - langDirLTR : 'Zleva do prava (LTR)', - langDirRTL : 'Zprava do leva (RTL)', + langDir : 'Směr jazyka', + langDirLTR : 'Zleva doprava (LTR)', + langDirRTL : 'Zprava doleva (RTL)', acccessKey : 'Přístupový klíč', name : 'Jméno', - langCode : 'Orientace jazyka', + langCode : 'Kód jazyka', tabIndex : 'Pořadí prvku', advisoryTitle : 'Pomocný titulek', advisoryContentType : 'Pomocný typ obsahu', cssClasses : 'Třída stylu', charset : 'Přiřazená znaková sada', styles : 'Styl', - rel : 'Relationship', // MISSING + rel : 'Vztah', selectAnchor : 'Vybrat kotvu', anchorName : 'Podle jména kotvy', anchorId : 'Podle Id objektu', - emailAddress : 'E-Mailová adresa', + emailAddress : 'E-mailová adresa', emailSubject : 'Předmět zprávy', emailBody : 'Tělo zprávy', noAnchors : '(Ve stránce není definována žádná kotva!)', @@ -201,12 +202,12 @@ CKEDITOR.lang['cs'] = // Anchor dialog anchor : { - toolbar : 'Vložít/změnit záložku', + toolbar : 'Záložka', menu : 'Vlastnosti záložky', title : 'Vlastnosti záložky', name : 'Název záložky', errorName : 'Zadejte prosím název záložky', - remove : 'Remove Anchor' // MISSING + remove : 'Odstranit záložku' }, // List style dialog @@ -242,7 +243,7 @@ CKEDITOR.lang['cs'] = findWhat : 'Co hledat:', replaceWith : 'Čím nahradit:', notFoundMsg : 'Hledaný text nebyl nalezen.', - findOptions : 'Find Options', // MISSING + findOptions : 'Možnosti hledání', matchCase : 'Rozlišovat velikost písma', matchWord : 'Pouze celá slova', matchCyclic : 'Procházet opakovaně', @@ -275,8 +276,8 @@ CKEDITOR.lang['cs'] = invalidRows : 'Počet řádků musí být číslo větší než 0.', invalidCols : 'Počet sloupců musí být číslo větší než 0.', invalidBorder : 'Zdaná velikost okraje musí být číselná.', - invalidWidth : 'Zadaná šířka tabulky musí být číselná.', - invalidHeight : 'zadaná výška tabulky musí být číselná.', + invalidWidth : 'Šířka tabulky musí být číslo.', + invalidHeight : 'Zadaná výška tabulky musí být číselná.', invalidCellSpacing : 'Zadaná vzdálenost buněk musí být číselná.', invalidCellPadding : 'Zadané odsazení obsahu v buňce musí být číselné.', @@ -305,7 +306,7 @@ CKEDITOR.lang['cs'] = header : 'Hlavička', yes : 'Ano', no : 'Ne', - invalidWidth : 'Zadaná šířka buňky musí být číslená.', + invalidWidth : 'Šířka buňky musí být číslo.', invalidHeight : 'Zadaná výška buňky musí být číslená.', invalidRowSpan : 'Zadaný počet sloučených řádků musí být celé číslo.', invalidColSpan : 'Zadaný počet sloučených sloupců musí být celé číslo.', @@ -421,16 +422,16 @@ CKEDITOR.lang['cs'] = lockRatio : 'Zámek', resetSize : 'Původní velikost', border : 'Okraje', - hSpace : 'H-mezera', - vSpace : 'V-mezera', + hSpace : 'Horizontální mezera', + vSpace : 'Vertikální mezera', alertUrl : 'Zadejte prosím URL obrázku', linkTab : 'Odkaz', button2Img : 'Skutečně chcete převést zvolené obrázkové tlačítko na obyčejný obrázek?', img2Button : 'Skutečně chcete převést zvolený obrázek na obrázkové tlačítko?', urlMissing : 'Zadané URL zdroje obrázku nebylo nalezeno.', validateBorder : 'Okraj musí být nastaven v celých číslech.', - validateHSpace : 'H-mezera musí být nastavena v celých číslech.', - validateVSpace : 'V-mezera musí být nastavena v celých číslech.' + validateHSpace : 'Horizontální mezera musí být nastavena v celých číslech.', + validateVSpace : 'Vertikální mezera musí být nastavena v celých číslech.' }, // Flash Dialog @@ -468,11 +469,11 @@ CKEDITOR.lang['cs'] = windowMode : 'Režim okna', flashvars : 'Proměnné pro Flash', bgcolor : 'Barva pozadí', - hSpace : 'H-mezera', - vSpace : 'V-mezera', + hSpace : 'Horizontální mezera', + vSpace : 'Vertikální mezera', validateSrc : 'Zadejte prosím URL odkazu', - validateHSpace : 'Zadaná H-mezera musí být číslo.', - validateVSpace : 'Zadaná V-mezera musí být číslo.' + validateHSpace : 'Zadaná horizontální mezera musí být číslo.', + validateVSpace : 'Zadaná vertikální mezera musí být číslo.' }, // Speller Pages Dialog @@ -500,7 +501,7 @@ CKEDITOR.lang['cs'] = smiley : { - toolbar : 'Smajlíky', + toolbar : 'Smajlíci', title : 'Vkládání smajlíků', options : 'Nastavení smajlíků' }, @@ -529,11 +530,11 @@ CKEDITOR.lang['cs'] = clipboard : { title : 'Vložit', - cutError : 'Bezpečnostní nastavení Vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+X).', - copyError : 'Bezpečnostní nastavení Vašeho prohlížeče nedovolují editoru spustit funkci pro kopírování zvoleného textu do schránky. Prosím zkopírujte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+C).', + cutError : 'Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+X).', + copyError : 'Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro kopírování zvoleného textu do schránky. Prosím zkopírujte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+C).', pasteMsg : 'Do následujícího pole vložte požadovaný obsah pomocí klávesnice (Ctrl/Cmd+V) a stiskněte OK.', - securityMsg : 'Z důvodů nastavení bezpečnosti Vašeho prohlížeče nemůže editor přistupovat přímo do schránky. Obsah schránky prosím vložte znovu do tohoto okna.', - pasteArea : 'Oblast vlkádání' + securityMsg : 'Z důvodů nastavení bezpečnosti vašeho prohlížeče nemůže editor přistupovat přímo do schránky. Obsah schránky prosím vložte znovu do tohoto okna.', + pasteArea : 'Oblast vkládání' }, pastefromword : @@ -598,7 +599,7 @@ CKEDITOR.lang['cs'] = languageCodeInputLabel : ' Kód jazyka', inlineStyleInputLabel : 'Vnitřní styly', advisoryTitleInputLabel : 'Nápovědní titulek', - langDirLabel : 'Orientace textu', + langDirLabel : 'Směr jazyka', langDirLTRLabel : 'Zleva doprava (LTR)', langDirRTLLabel : 'Zprava doleva (RTL)', edit : 'Změnit Div', @@ -659,7 +660,7 @@ CKEDITOR.lang['cs'] = 'FF8C00' : 'Tmavě oranžová', 'FFD700' : 'Zlatá', '008000' : 'Zelená', - '0FF' : 'Kyanidová', + '0FF' : 'Azurová', '00F' : 'Modrá', 'EE82EE' : 'Fialová', 'A9A9A9' : 'Kalně šedá', @@ -677,14 +678,14 @@ CKEDITOR.lang['cs'] = 'F0FFF0' : 'Medová rosa', 'F0FFFF' : 'Azurová', 'F0F8FF' : 'Alenčina modrá', - 'E6E6FA' : 'Lavendulová', + 'E6E6FA' : 'Levandulová', 'FFF' : 'Bílá' }, scayt : { title : 'Kontrola pravopisu během psaní (SCAYT)', - opera_title : 'Not supported by Opera', // MISSING + opera_title : 'Toto Opera nepodporuje', enable : 'Zapnout SCAYT', disable : 'Vypnout SCAYT', about : 'O aplikaci SCAYT', @@ -698,7 +699,7 @@ CKEDITOR.lang['cs'] = emptyDic : 'Název slovníku nesmí být prázdný.', optionsTab : 'Nastavení', - allCaps : 'Ignorovat slova velkými písmeny', + allCaps : 'Ignorovat slova tvořená velkými písmeny', ignoreDomainNames : 'Ignorovat doménová jména', mixedCase : 'Ignorovat slova obsahující různou velikost písma', mixedWithDigits : 'Ignorovat slova obsahující čísla', @@ -707,11 +708,11 @@ CKEDITOR.lang['cs'] = dictionariesTab : 'Slovníky', dic_field_name : 'Název slovníku', - dic_create : 'vytvořit', + dic_create : 'Vytvořit', dic_restore : 'Obnovit', dic_delete : 'Smazat', dic_rename : 'Přejmenovat', - dic_info : 'Zpočátku se uživatelský slovník ukládá do cookies ve vašem prohlížeči. Ovšem cookies mají omezenou velikost, takže když slovník dosáhne velikosti, kdy se již do cookies nevejde, může být uložen na našem serveru. Chcete-li uložit Váš osobní slovník na našem serveru, je třeba slovník nejdříve pojmenovat. Máte-li již slovník pojmenován a uložen, zadejte jeho název a klepněte na tlačítko Obnovit.', + dic_info : 'Zpočátku se uživatelský slovník ukládá do cookies ve vašem prohlížeči. Ovšem cookies mají omezenou velikost, takže když slovník dosáhne velikosti, kdy se již do cookies nevejde, může být uložen na našem serveru. Chcete-li uložit váš osobní slovník na našem serveru, je třeba slovník nejdříve pojmenovat. Máte-li již slovník pojmenován a uložen, zadejte jeho název a klepněte na tlačítko Obnovit.', aboutTab : 'O aplikaci' }, @@ -720,8 +721,8 @@ CKEDITOR.lang['cs'] = { title : 'O aplikaci CKEditor', dlgTitle : 'O aplikaci CKEditor', - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING + help : 'Prohlédněte si $1 pro nápovědu.', + userGuide : 'Uživatelská příručka CKEditor', moreInfo : 'Pro informace o lincenci navštivte naši webovou stránku:', copy : 'Copyright © $1. All rights reserved.' }, @@ -754,37 +755,37 @@ CKEDITOR.lang['cs'] = toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Dokument', + clipboard : 'Schránka/Zpět', + editing : 'Úpravy', + forms : 'Formuláře', + basicstyles : 'Základní styly', + paragraph : 'Odstavec', + links : 'Odkazy', + insert : 'Vložit', + styles : 'Styly', + colors : 'Barvy', + tools : 'Nástroje' }, bidi : { - ltr : 'Orientace textu zleva doprava', - rtl : 'Orientace textu zprava do leva' + ltr : 'Směr textu zleva doprava', + rtl : 'Směr textu zprava doleva' }, docprops : { label : 'Vlastnosti dokumentu', title : 'Vlastnosti dokumentu', - design : 'Design', // MISSING + design : 'Vzhled', meta : 'Metadata', chooseColor : 'Výběr', other : '', docTitle : 'Titulek stránky', charset : 'Znaková sada', charsetOther : 'Další znaková sada', - charsetASCII : 'ASCII', // MISSING + charsetASCII : 'ASCII', charsetCE : 'Středoevropské jazyky', charsetCT : 'Tradiční čínština (Big5)', charsetCR : 'Cyrilice', @@ -792,14 +793,14 @@ CKEDITOR.lang['cs'] = charsetJP : 'Japonština', charsetKR : 'Korejština', charsetTR : 'Turečtina', - charsetUN : 'Unicode (UTF-8)', // MISSING + charsetUN : 'Unicode (UTF-8)', charsetWE : 'Západoevropské jazyky', docType : 'Typ dokumentu', docTypeOther : 'Jiný typ dokumetu', - xhtmlDec : 'Zahrnou deklarace XHTML', + xhtmlDec : 'Zahrnout deklarace XHTML', bgColor : 'Barva pozadí', bgImage : 'URL obrázku na pozadí', - bgFixed : 'Nerolovatelné pozadí', + bgFixed : 'Nerolovatelné (Pevné) pozadí', txtColor : 'Barva textu', margin : 'Okraje stránky', marginTop : 'Horní', @@ -810,6 +811,6 @@ CKEDITOR.lang['cs'] = metaDescription : 'Popis dokumentu', metaAuthor : 'Autor', metaCopyright : 'Autorská práva', - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

Toto je ukázkový text. Používáte CKEditor.

' } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/cy.js b/phpgwapi/js/ckeditor3/_source/lang/cy.js index 4450392ff4..73590ad6ac 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/cy.js +++ b/phpgwapi/js/ckeditor3/_source/lang/cy.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,14 +31,15 @@ CKEDITOR.lang['cy'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Golygydd testun cyfoethog, %1, gwasgwch ALT 0 am gymorth.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Bariau offer golygydd', editor : 'Golygydd Testun Cyfoethog', // Toolbar buttons without dialogs. - source : 'Tarddle', + source : 'HTML', newPage : 'Tudalen newydd', save : 'Cadw', preview : 'Rhagolwg', @@ -123,8 +124,8 @@ CKEDITOR.lang['cy'] = invalidWidth : 'Rhaid i\'r Lled fod yn rhif.', invalidCssLength : 'Mae\'n rhaid i\'r gwerth ar gyfer maes "%1" fod yn rhif positif gyda neu heb uned fesuriad CSS dilys (px, %, in, cm, mm, em, ex, pt, neu pc).', invalidHtmlLength : 'Mae\'n rhaid i\'r gwerth ar gyfer maes "%1" fod yn rhif positif gyda neu heb uned fesuriad HTML dilys (px neu %).', - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidInlineStyle : 'Mae\'n rhaid i\'r gwerth ar gyfer arddull mewn-llinell gynnwys un set neu fwy ar y fformat "enw:gwerth", wedi\'u gwahanu gyda hanner colon.', + cssLengthTooltip : 'Rhowch rif ar gyfer gwerth mewn picsel neu rhif gydag uned CSS dilys (px, %, in, cm, mm, em, pt neu pc).', // Put the voice-only part of the label in the span. unavailable : '%1, ddim ar gael' @@ -242,7 +243,7 @@ CKEDITOR.lang['cy'] = findWhat : 'Chwilio\'r term:', replaceWith : 'Amnewid gyda:', notFoundMsg : 'Nid oedd y testun wedi\'i ddarganfod.', - findOptions : 'Find Options', // MISSING + findOptions : 'Chwilio Opsiynau', matchCase : 'Cyfateb i\'r cas', matchWord : 'Cyfateb gair cyfan', matchCyclic : 'Cyfateb cylchol', @@ -427,7 +428,7 @@ CKEDITOR.lang['cy'] = linkTab : 'Dolen', button2Img : 'Ydych am drawsffurfio\'r botwm ddelwedd hwn ar ddelwedd syml?', img2Button : 'Ydych am drawsffurfio\'r ddelwedd hon ar fotwm delwedd?', - urlMissing : 'URL tarddle\'r ddelwedd ar goll.', + urlMissing : 'URL gwreiddiol y ddelwedd ar goll.', validateBorder : 'Rhaid i\'r ymyl fod yn gyfanrif.', validateHSpace : 'Rhaid i\'r HSpace fod yn gyfanrif.', validateVSpace : 'Rhaid i\'r VSpace fod yn gyfanrif.' diff --git a/phpgwapi/js/ckeditor3/_source/lang/da.js b/phpgwapi/js/ckeditor3/_source/lang/da.js index a78a167c16..84a3e733ef 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/da.js +++ b/phpgwapi/js/ckeditor3/_source/lang/da.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,11 +31,12 @@ CKEDITOR.lang['da'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Editors værktøjslinjer', + editor : 'Rich Text Editor', // Toolbar buttons without dialogs. source : 'Kilde', @@ -56,7 +57,7 @@ CKEDITOR.lang['da'] = superscript : 'Hævet skrift', horizontalrule : 'Indsæt vandret streg', pagebreak : 'Indsæt sideskift', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'Sideskift', unlink : 'Fjern hyperlink', undo : 'Fortryd', redo : 'Annullér fortryd', @@ -93,23 +94,23 @@ CKEDITOR.lang['da'] = cssStyle : 'Typografi (CSS)', ok : 'OK', cancel : 'Annullér', - close : 'Close', // MISSING - preview : 'Preview', // MISSING + close : 'Luk', + preview : 'Forhåndsvisning', generalTab : 'Generelt', advancedTab : 'Avanceret', validateNumberFailed : 'Værdien er ikke et tal.', confirmNewPage : 'Alt indhold, der ikke er blevet gemt, vil gå tabt. Er du sikker på, at du vil indlæse en ny side?', confirmCancel : 'Nogle af indstillingerne er blevet ændret. Er du sikker på, at du vil lukke vinduet?', - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING - cssClasses : 'Stylesheet Classes', // MISSING + options : 'Vis muligheder', + target : 'Mål', + targetNew : 'Nyt vindue (_blank)', + targetTop : 'Øverste vindue (_top)', + targetSelf : 'Samme vindue (_self)', + targetParent : 'Samme vindue (_parent)', + langDirLTR : 'Venstre til højre (LTR)', + langDirRTL : 'Højre til venstre (RTL)', + styles : 'Style', + cssClasses : 'Stylesheetklasser', width : 'Bredde', height : 'Højde', align : 'Justering', @@ -121,10 +122,10 @@ CKEDITOR.lang['da'] = alignBottom : 'Nederst', invalidHeight : 'Højde skal være et tal.', invalidWidth : 'Bredde skal være et tal.', - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidCssLength : 'Værdien specificeret for "%1" feltet skal være et positivt nummer med eller uden en CSS måleenhed (px, %, in, cm, mm, em, ex, pt, eller pc).', + invalidHtmlLength : 'Værdien specificeret for "%1" feltet skal være et positivt nummer med eller uden en CSS måleenhed (px eller %).', + invalidInlineStyle : 'Værdien specificeret for inline style skal indeholde en eller flere elementer med et format som "name:value", separeret af semikoloner', + cssLengthTooltip : 'Indsæt en numerisk værdi i pixel eller nummer med en gyldig CSS værdi (px, %, in, cm, mm, em, ex, pt, or pc).', // Put the voice-only part of the label in the span. unavailable : '%1, ikke tilgængelig' @@ -132,7 +133,7 @@ CKEDITOR.lang['da'] = contextmenu : { - options : 'Context Menu Options' // MISSING + options : 'Muligheder for hjælpemenu' }, // Special char dialog. @@ -140,7 +141,7 @@ CKEDITOR.lang['da'] = { toolbar : 'Indsæt symbol', title : 'Vælg symbol', - options : 'Special Character Options' // MISSING + options : 'Muligheder for specialkarakterer' }, // Link dialog. @@ -155,13 +156,13 @@ CKEDITOR.lang['da'] = upload : 'Upload', advanced : 'Avanceret', type : 'Type', - toUrl : 'URL', // MISSING + toUrl : 'URL', toAnchor : 'Bogmærke på denne side', toEmail : 'E-mail', targetFrame : '', targetPopup : '', targetFrameName : 'Destinationsvinduets navn', - targetPopupName : 'Popup vinduets navn', + targetPopupName : 'Popupvinduets navn', popupFeatures : 'Egenskaber for popup', popupResizable : 'Justérbar', popupStatusBar : 'Statuslinje', @@ -180,22 +181,22 @@ CKEDITOR.lang['da'] = acccessKey : 'Genvejstast', name : 'Navn', langCode : 'Tekstretning', - tabIndex : 'Tabulator indeks', + tabIndex : 'Tabulatorindeks', advisoryTitle : 'Titel', advisoryContentType : 'Indholdstype', cssClasses : 'Typografiark', charset : 'Tegnsæt', styles : 'Typografi', - rel : 'Relationship', // MISSING + rel : 'Relation', selectAnchor : 'Vælg et anker', - anchorName : 'Efter anker navn', - anchorId : 'Efter element Id', - emailAddress : 'E-mail adresse', + anchorName : 'Efter ankernavn', + anchorId : 'Efter element-Id', + emailAddress : 'E-mailadresse', emailSubject : 'Emne', emailBody : 'Besked', noAnchors : '(Ingen bogmærker i dokumentet)', - noUrl : 'Indtast hyperlink URL!', - noEmail : 'Indtast e-mail adresse!' + noUrl : 'Indtast hyperlink-URL!', + noEmail : 'Indtast e-mailadresse!' }, // Anchor dialog @@ -204,33 +205,33 @@ CKEDITOR.lang['da'] = toolbar : 'Indsæt/redigér bogmærke', menu : 'Egenskaber for bogmærke', title : 'Egenskaber for bogmærke', - name : 'Bogmærke navn', - errorName : 'Indtast bogmærke navn', - remove : 'Remove Anchor' // MISSING + name : 'Bogmærkenavn', + errorName : 'Indtast bogmærkenavn', + remove : 'Fjern bogmærke' }, // List style dialog list: { - numberedTitle : 'Numbered List Properties', // MISSING - bulletedTitle : 'Bulleted List Properties', // MISSING - type : 'Type', // MISSING - start : 'Start', // MISSING - validateStartNumber :'List start number must be a whole number.', // MISSING - circle : 'Circle', // MISSING - disc : 'Disc', // MISSING - square : 'Square', // MISSING - none : 'None', // MISSING - notset : '', // MISSING - armenian : 'Armenian numbering', // MISSING - georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING - lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING - upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING - lowerAlpha : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING - upperAlpha : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING - lowerGreek : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING - decimal : 'Decimal (1, 2, 3, etc.)', // MISSING - decimalLeadingZero : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING + numberedTitle : 'Egenskaber for nummereret liste', + bulletedTitle : 'Værdier for cirkelpunktopstilling', + type : 'Type', + start : 'Start', + validateStartNumber :'Den nummererede liste skal starte med et rundt nummer', + circle : 'Cirkel', + disc : 'Værdier for diskpunktopstilling', + square : 'Firkant', + none : 'Ingen', + notset : '', + armenian : 'Armensk nummering', + georgian : 'Georgiansk nummering (an, ban, gan, etc.)', + lowerRoman : 'Små romerske (i, ii, iii, iv, v, etc.)', + upperRoman : 'Store romerske (I, II, III, IV, V, etc.)', + lowerAlpha : 'Små alfabet (a, b, c, d, e, etc.)', + upperAlpha : 'Store alfabet (A, B, C, D, E, etc.)', + lowerGreek : 'Små græsk (alpha, beta, gamma, etc.)', + decimal : 'Decimal (1, 2, 3, osv.)', + decimalLeadingZero : 'Decimaler med 0 først (01, 02, 03, etc.)' }, // Find And Replace Dialog @@ -242,7 +243,7 @@ CKEDITOR.lang['da'] = findWhat : 'Søg efter:', replaceWith : 'Erstat med:', notFoundMsg : 'Søgeteksten blev ikke fundet', - findOptions : 'Find Options', // MISSING + findOptions : 'Find muligheder', matchCase : 'Forskel på store og små bogstaver', matchWord : 'Kun hele ord', matchCyclic : 'Match cyklisk', @@ -262,12 +263,12 @@ CKEDITOR.lang['da'] = border : 'Rammebredde', widthPx : 'pixels', widthPc : 'procent', - widthUnit : 'width unit', // MISSING + widthUnit : 'Bredde på enhed', cellSpace : 'Celleafstand', cellPad : 'Cellemargen', caption : 'Titel', summary : 'Resumé', - headers : 'Header', + headers : 'Hoved', headersNone : 'Ingen', headersColumn : 'Første kolonne', headersRow : 'Første række', @@ -302,14 +303,14 @@ CKEDITOR.lang['da'] = bgColor : 'Baggrundsfarve', borderColor : 'Rammefarve', data : 'Data', - header : 'Header', + header : 'Hoved', yes : 'Ja', no : 'Nej', invalidWidth : 'Cellebredde skal være et tal.', invalidHeight : 'Cellehøjde skal være et tal.', invalidRowSpan : 'Række span skal være et heltal.', invalidColSpan : 'Kolonne span skal være et heltal.', - chooseColor : 'Choose' // MISSING + chooseColor : 'Vælg' }, row : @@ -415,7 +416,7 @@ CKEDITOR.lang['da'] = titleButton : 'Egenskaber for billedknap', menu : 'Egenskaber for billede', infoTab : 'Generelt', - btnUpload : 'Upload', + btnUpload : 'Upload fil til serveren', upload : 'Upload', alt : 'Alternativ tekst', lockRatio : 'Lås størrelsesforhold', @@ -427,10 +428,10 @@ CKEDITOR.lang['da'] = linkTab : 'Hyperlink', button2Img : 'Vil du lave billedknappen om til et almindeligt billede?', img2Button : 'Vil du lave billedet om til en billedknap?', - urlMissing : 'Image source URL is missing.', // MISSING - validateBorder : 'Border must be a whole number.', // MISSING - validateHSpace : 'HSpace must be a whole number.', // MISSING - validateVSpace : 'VSpace must be a whole number.' // MISSING + urlMissing : 'Kilde på billed-URL mangler', + validateBorder : 'Kant skal være et helt nummer.', + validateHSpace : 'HSpace skal være et helt nummer.', + validateVSpace : 'VSpace skal være et helt nummer.' }, // Flash Dialog @@ -441,13 +442,13 @@ CKEDITOR.lang['da'] = title : 'Egenskaber for Flash', chkPlay : 'Automatisk afspilning', chkLoop : 'Gentagelse', - chkMenu : 'Vis Flash menu', + chkMenu : 'Vis Flash-menu', chkFull : 'Tillad fuldskærm', scale : 'Skalér', scaleAll : 'Vis alt', scaleNoBorder : 'Ingen ramme', scaleFit : 'Tilpas størrelse', - access : 'Script adgang', + access : 'Scriptadgang', accessAlways : 'Altid', accessSameDomain: 'Samme domæne', accessNever : 'Aldrig', @@ -502,12 +503,12 @@ CKEDITOR.lang['da'] = { toolbar : 'Smiley', title : 'Vælg smiley', - options : 'Smiley Options' // MISSING + options : 'Smileymuligheder' }, elementsPath : { - eleLabel : 'Elements path', // MISSING + eleLabel : 'Sti på element', eleTitle : '%1 element' }, @@ -533,7 +534,7 @@ CKEDITOR.lang['da'] = copyError : 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.

Brug i stedet tastaturet til at kopiere teksten (Ctrl/Cmd+C).', pasteMsg : 'Indsæt i feltet herunder (Ctrl/Cmd+V) og klik på OK.', securityMsg : 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.

Du skal indsætte udklipsholderens indhold i dette vindue igen.', - pasteArea : 'Paste Area' // MISSING + pasteArea : 'Indsæt område' }, pastefromword : @@ -541,7 +542,7 @@ CKEDITOR.lang['da'] = confirmCleanup : 'Den tekst du forsøger at indsætte ser ud til at komme fra Word. Vil du rense teksten før den indsættes?', toolbar : 'Indsæt fra Word', title : 'Indsæt fra Word', - error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING + error : 'Det var ikke muligt at fjerne formatteringen på den indsatte tekst grundet en intern fejl' }, pasteText : @@ -554,7 +555,7 @@ CKEDITOR.lang['da'] = { button : 'Skabeloner', title : 'Indholdsskabeloner', - options : 'Template Options', // MISSING + options : 'Skabelon muligheder', insertOption : 'Erstat det faktiske indhold', selectPromptMsg : 'Vælg den skabelon, som skal åbnes i editoren (nuværende indhold vil blive overskrevet):', emptyListMsg : '(Der er ikke defineret nogen skabelon)' @@ -565,7 +566,7 @@ CKEDITOR.lang['da'] = stylesCombo : { label : 'Typografi', - panelTitle : 'Formatting Styles', // MISSING + panelTitle : 'Formattering på stylesheet', panelTitle1 : 'Block typografi', panelTitle2 : 'Inline typografi', panelTitle3 : 'Object typografi' @@ -590,28 +591,28 @@ CKEDITOR.lang['da'] = div : { - title : 'Create Div Container', // MISSING - toolbar : 'Create Div Container', // MISSING - cssClassInputLabel : 'Stylesheet Classes', // MISSING - styleSelectLabel : 'Style', // MISSING - IdInputLabel : 'Id', // MISSING - languageCodeInputLabel : ' Language Code', // MISSING - inlineStyleInputLabel : 'Inline Style', // MISSING - advisoryTitleInputLabel : 'Advisory Title', // MISSING - langDirLabel : 'Language Direction', // MISSING - langDirLTRLabel : 'Left to Right (LTR)', // MISSING - langDirRTLLabel : 'Right to Left (RTL)', // MISSING - edit : 'Edit Div', // MISSING - remove : 'Remove Div' // MISSING + title : 'Opret Div Container', + toolbar : 'Opret Div Container', + cssClassInputLabel : 'Typografiark', + styleSelectLabel : 'Style', + IdInputLabel : 'Id', + languageCodeInputLabel : ' Sprogkode', + inlineStyleInputLabel : 'Inline Style', + advisoryTitleInputLabel : 'Vejledende titel', + langDirLabel : 'Sprogretning', + langDirLTRLabel : 'Venstre til højre (LTR)', + langDirRTLLabel : 'Højre til venstre (RTL)', + edit : 'Rediger Div', + remove : 'Slet Div' }, iframe : { - title : 'IFrame Properties', // MISSING - toolbar : 'IFrame', // MISSING - noUrl : 'Please type the iframe URL', // MISSING - scrolling : 'Enable scrollbars', // MISSING - border : 'Show frame border' // MISSING + title : 'Iframe egenskaber', + toolbar : 'Iframe', + noUrl : 'Venligst indsæt URL på iframen', + scrolling : 'Aktiver scrollbars', + border : 'Vis kant på rammen' }, font : @@ -632,59 +633,59 @@ CKEDITOR.lang['da'] = { textColorTitle : 'Tekstfarve', bgColorTitle : 'Baggrundsfarve', - panelTitle : 'Colors', // MISSING + panelTitle : 'Farver', auto : 'Automatisk', more : 'Flere farver...' }, colors : { - '000' : 'Black', // MISSING - '800000' : 'Maroon', // MISSING - '8B4513' : 'Saddle Brown', // MISSING - '2F4F4F' : 'Dark Slate Gray', // MISSING - '008080' : 'Teal', // MISSING - '000080' : 'Navy', // MISSING - '4B0082' : 'Indigo', // MISSING - '696969' : 'Dark Gray', // MISSING - 'B22222' : 'Fire Brick', // MISSING - 'A52A2A' : 'Brown', // MISSING - 'DAA520' : 'Golden Rod', // MISSING - '006400' : 'Dark Green', // MISSING - '40E0D0' : 'Turquoise', // MISSING - '0000CD' : 'Medium Blue', // MISSING - '800080' : 'Purple', // MISSING - '808080' : 'Gray', // MISSING - 'F00' : 'Red', // MISSING - 'FF8C00' : 'Dark Orange', // MISSING - 'FFD700' : 'Gold', // MISSING - '008000' : 'Green', // MISSING - '0FF' : 'Cyan', // MISSING - '00F' : 'Blue', // MISSING - 'EE82EE' : 'Violet', // MISSING - 'A9A9A9' : 'Dim Gray', // MISSING - 'FFA07A' : 'Light Salmon', // MISSING - 'FFA500' : 'Orange', // MISSING - 'FFFF00' : 'Yellow', // MISSING - '00FF00' : 'Lime', // MISSING - 'AFEEEE' : 'Pale Turquoise', // MISSING - 'ADD8E6' : 'Light Blue', // MISSING - 'DDA0DD' : 'Plum', // MISSING - 'D3D3D3' : 'Light Grey', // MISSING - 'FFF0F5' : 'Lavender Blush', // MISSING - 'FAEBD7' : 'Antique White', // MISSING - 'FFFFE0' : 'Light Yellow', // MISSING - 'F0FFF0' : 'Honeydew', // MISSING - 'F0FFFF' : 'Azure', // MISSING - 'F0F8FF' : 'Alice Blue', // MISSING - 'E6E6FA' : 'Lavender', // MISSING - 'FFF' : 'White' // MISSING + '000' : 'Sort', + '800000' : 'Mørkerød', + '8B4513' : 'Mørk orange', + '2F4F4F' : 'Dark Slate Grå', + '008080' : 'Teal', + '000080' : 'Navy', + '4B0082' : 'Indigo', + '696969' : 'Mørkegrå', + 'B22222' : 'Scarlet / Rød', + 'A52A2A' : 'Brun', + 'DAA520' : 'Guld', + '006400' : 'Mørkegrøn', + '40E0D0' : 'Tyrkis', + '0000CD' : 'Mellemblå', + '800080' : 'Lilla', + '808080' : 'Grå', + 'F00' : 'Rød', + 'FF8C00' : 'Mørk orange', + 'FFD700' : 'Guld', + '008000' : 'Grøn', + '0FF' : 'Cyan', + '00F' : 'Blå', + 'EE82EE' : 'Violet', + 'A9A9A9' : 'Matgrå', + 'FFA07A' : 'Laksefarve', + 'FFA500' : 'Orange', + 'FFFF00' : 'Gul', + '00FF00' : 'Lime', + 'AFEEEE' : 'Mat tyrkis', + 'ADD8E6' : 'Lyseblå', + 'DDA0DD' : 'Plum', + 'D3D3D3' : 'Lysegrå', + 'FFF0F5' : 'Lavender Blush', + 'FAEBD7' : 'Antikhvid', + 'FFFFE0' : 'Lysegul', + 'F0FFF0' : 'Gul / Beige', + 'F0FFFF' : 'Himmeblå', + 'F0F8FF' : 'Alice blue', + 'E6E6FA' : 'Lavendel', + 'FFF' : 'Hvid' }, scayt : { title : 'Stavekontrol mens du skriver', - opera_title : 'Not supported by Opera', // MISSING + opera_title : 'Ikke supporteret af Opera', enable : 'Aktivér SCAYT', disable : 'Deaktivér SCAYT', about : 'Om SCAYT', @@ -698,20 +699,20 @@ CKEDITOR.lang['da'] = emptyDic : 'Ordbogsnavn må ikke være tom.', optionsTab : 'Indstillinger', - allCaps : 'Ignore All-Caps Words', // MISSING - ignoreDomainNames : 'Ignore Domain Names', // MISSING - mixedCase : 'Ignore Words with Mixed Case', // MISSING - mixedWithDigits : 'Ignore Words with Numbers', // MISSING + allCaps : 'Ignorer alle store bogstaver', + ignoreDomainNames : 'Ignorér domænenavne', + mixedCase : 'Ignorer ord med store og små bogstaver', + mixedWithDigits : 'Ignorér ord med numre', languagesTab : 'Sprog', dictionariesTab : 'Ordbøger', - dic_field_name : 'Dictionary name', // MISSING - dic_create : 'Create', // MISSING - dic_restore : 'Restore', // MISSING - dic_delete : 'Delete', // MISSING - dic_rename : 'Rename', // MISSING - dic_info : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_field_name : 'Navn på ordbog', + dic_create : 'Opret', + dic_restore : 'Gendan', + dic_delete : 'Slet', + dic_rename : 'Omdøb', + dic_info : 'Til start er brugerordbogen gemt i en Cookie. Dog har Cookies en begrænsning på størrelse. Når ordbogen når en bestemt størrelse kan den blive gemt på vores server. For at gemme din personlige ordbog på vores server skal du angive et navn for denne. Såfremt du allerede har gemt en ordbog, skriv navnet på denne og klik på Gendan knappen.', aboutTab : 'Om' }, @@ -720,21 +721,21 @@ CKEDITOR.lang['da'] = { title : 'Om CKEditor', dlgTitle : 'Om CKEditor', - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING + help : 'Se $1 for at få hjælp.', + userGuide : 'CKEditor-brugermanual', moreInfo : 'For informationer omkring licens, se venligst vores hjemmeside (på engelsk):', copy : 'Copyright © $1. Alle rettigheder forbeholdes.' }, - maximize : 'Maximér', - minimize : 'Minimize', // MISSING + maximize : 'Maksimér', + minimize : 'Minimér', fakeobjects : { anchor : 'Anker', flash : 'Flashanimation', - iframe : 'IFrame', // MISSING - hiddenfield : 'Hidden Field', // MISSING + iframe : 'Iframe', + hiddenfield : 'Skjult felt', unknown : 'Ukendt objekt' }, @@ -742,49 +743,49 @@ CKEDITOR.lang['da'] = colordialog : { - title : 'Select color', // MISSING - options : 'Color Options', // MISSING - highlight : 'Highlight', // MISSING - selected : 'Selected Color', // MISSING - clear : 'Clear' // MISSING + title : 'Vælg farve', + options : 'Farvemuligheder', + highlight : 'Markér', + selected : 'Valgt farve', + clear : 'Nulstil' }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'Sammenklap værktøjslinje', + toolbarExpand : 'Udvid værktøjslinje', toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Dokument', + clipboard : 'Udklipsholder/Fortryd', + editing : 'Redigering', + forms : 'Formularer', + basicstyles : 'Basis styles', + paragraph : 'Paragraf', + links : 'Links', + insert : 'Indsæt', + styles : 'Typografier', + colors : 'Farver', + tools : 'Værktøjer' }, bidi : { - ltr : 'Text direction from left to right', // MISSING - rtl : 'Text direction from right to left' // MISSING + ltr : 'Tekstretning fra venstre til højre', + rtl : 'Tekstretning fra højre til venstre' }, docprops : { label : 'Egenskaber for dokument', title : 'Egenskaber for dokument', - design : 'Design', // MISSING - meta : 'Meta Tags', // MISSING - chooseColor : 'Choose', // MISSING + design : 'Design', + meta : 'Metatags', + chooseColor : 'Vælg', other : '', docTitle : 'Sidetitel', - charset : 'Tegnsæt kode', - charsetOther : 'Anden tegnsæt kode', - charsetASCII : 'ASCII', // MISSING + charset : 'Tegnsætskode', + charsetOther : 'Anden tegnsætskode', + charsetASCII : 'ASCII', charsetCE : 'Centraleuropæisk', charsetCT : 'Traditionel kinesisk (Big5)', charsetCR : 'Kyrillisk', @@ -792,7 +793,7 @@ CKEDITOR.lang['da'] = charsetJP : 'Japansk', charsetKR : 'Koreansk', charsetTR : 'Tyrkisk', - charsetUN : 'Unicode (UTF-8)', // MISSING + charsetUN : 'Unicode (UTF-8)', charsetWE : 'Vesteuropæisk', docType : 'Dokumenttype kategori', docTypeOther : 'Anden dokumenttype kategori', @@ -807,9 +808,9 @@ CKEDITOR.lang['da'] = marginRight : 'Højre', marginBottom : 'Nederst', metaKeywords : 'Dokument index nøgleord (kommasepareret)', - metaDescription : 'Dokument beskrivelse', + metaDescription : 'Dokumentbeskrivelse', metaAuthor : 'Forfatter', - metaCopyright : 'Copyright', // MISSING - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + metaCopyright : 'Copyright', + previewHtml : '

Dette er et eksempel på noget tekst. Du benytter CKEditor.

' } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/de.js b/phpgwapi/js/ckeditor3/_source/lang/de.js index 03831a063b..f2922527f3 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/de.js +++ b/phpgwapi/js/ckeditor3/_source/lang/de.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['de'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'WYSIWYG-Editor, %1, drücken Sie ALT 0 für Hilfe.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor Symbolleisten', @@ -190,7 +191,7 @@ CKEDITOR.lang['de'] = selectAnchor : 'Anker auswählen', anchorName : 'nach Anker Name', anchorId : 'nach Element Id', - emailAddress : 'E-Mail Addresse', + emailAddress : 'E-Mail Adresse', emailSubject : 'Betreffzeile', emailBody : 'Nachrichtentext', noAnchors : '(keine Anker im Dokument vorhanden)', diff --git a/phpgwapi/js/ckeditor3/_source/lang/el.js b/phpgwapi/js/ckeditor3/_source/lang/el.js index 8aa3268c71..6c18e2535a 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/el.js +++ b/phpgwapi/js/ckeditor3/_source/lang/el.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,11 +31,12 @@ CKEDITOR.lang['el'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Εργαλειοθήκες Επεξεργαστή', + editor : 'Επεξεργαστής Πλούσιου Κειμένου', // Toolbar buttons without dialogs. source : 'HTML κώδικας', @@ -56,7 +57,7 @@ CKEDITOR.lang['el'] = superscript : 'Εκθέτης', horizontalrule : 'Εισαγωγή Οριζόντιας Γραμμής', pagebreak : 'Εισαγωγή τέλους σελίδας', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'Αλλαγή Σελίδας', unlink : 'Αφαίρεση Συνδέσμου (Link)', undo : 'Αναίρεση', redo : 'Επαναφορά', @@ -66,21 +67,21 @@ CKEDITOR.lang['el'] = { browseServer : 'Εξερεύνηση διακομιστή', url : 'URL', - protocol : 'Προτόκολο', - upload : 'Αποστολή', + protocol : 'Πρωτόκολλο', + upload : 'Ανέβασμα', uploadSubmit : 'Αποστολή στον Διακομιστή', image : 'Εικόνα', flash : 'Εισαγωγή Flash', form : 'Φόρμα', checkbox : 'Κουτί επιλογής', - radio : 'Κουμπί Radio', + radio : 'Κουμπί επιλογής', textField : 'Πεδίο κειμένου', textarea : 'Περιοχή κειμένου', hiddenField : 'Κρυφό πεδίο', button : 'Κουμπί', select : 'Πεδίο επιλογής', imageButton : 'Κουμπί εικόνας', - notSet : '<χωρίς>', + notSet : '<δεν έχει ρυθμιστεί>', id : 'Id', name : 'Όνομα', langDir : 'Κατεύθυνση κειμένου', @@ -89,38 +90,38 @@ CKEDITOR.lang['el'] = langCode : 'Κωδικός Γλώσσας', longDescr : 'Αναλυτική περιγραφή URL', cssClass : 'Stylesheet Classes', - advisoryTitle : 'Συμβουλευτικός τίτλος', - cssStyle : 'Στύλ', + advisoryTitle : 'Ενδεικτικός τίτλος', + cssStyle : 'Μορφή κειμένου', ok : 'OK', cancel : 'Ακύρωση', - close : 'Close', // MISSING - preview : 'Preview', // MISSING - generalTab : 'General', // MISSING + close : 'Κλείσιμο', + preview : 'Προεπισκόπηση', + generalTab : 'Γενικά', advancedTab : 'Για προχωρημένους', - validateNumberFailed : 'This value is not a number.', // MISSING - confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING - confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING + validateNumberFailed : 'Αυτή η τιμή δεν είναι αριθμός.', + confirmNewPage : 'Οι όποιες αλλαγές στο περιεχόμενο θα χαθούν. Είσαστε σίγουροι ότι θέλετε να φορτώσετε μια νέα σελίδα;', + confirmCancel : 'Μερικές επιλογές έχουν αλλάξει. Είσαστε σίγουροι ότι θέλετε να κλείσετε το παράθυρο διαλόγου;', + options : 'Επιλογές', + target : 'Προορισμός', + targetNew : 'Νέο Παράθυρο (_blank)', + targetTop : 'Αρχική Περιοχή (_top)', + targetSelf : 'Ίδια Περιοχή (_self)', + targetParent : 'Γονεϊκό Παράθυρο (_parent)', + langDirLTR : 'Αριστερά προς Δεξιά (LTR)', + langDirRTL : 'Δεξιά προς Αριστερά (RTL)', + styles : 'Μορφή', cssClasses : 'Stylesheet Classes', // MISSING width : 'Πλάτος', height : 'Ύψος', - align : 'Ευθυγράμμιση (Align)', + align : 'Στοίχιση', alignLeft : 'Αριστερά', - alignRight : 'Δεξιά (Right)', + alignRight : 'Δεξιά', alignCenter : 'Κέντρο', - alignTop : 'Πάνω (Top)', - alignMiddle : 'Μέση (Middle)', - alignBottom : 'Κάτω (Bottom)', - invalidHeight : 'Height must be a number.', // MISSING - invalidWidth : 'Width must be a number.', // MISSING + alignTop : 'Πάνω', + alignMiddle : 'Μέση', + alignBottom : 'Κάτω', + invalidHeight : 'Το ύψος πρέπει να είναι ένας αριθμός.', + invalidWidth : 'Το πλάτος πρέπει να είναι ένας αριθμός.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING @@ -132,65 +133,65 @@ CKEDITOR.lang['el'] = contextmenu : { - options : 'Context Menu Options' // MISSING + options : 'Επιλογές Αναδυόμενου Μενού' }, // Special char dialog. specialChar : { - toolbar : 'Εισαγωγή Ειδικού Συμβόλου', - title : 'Επιλέξτε ένα Ειδικό Σύμβολο', - options : 'Special Character Options' // MISSING + toolbar : 'Εισαγωγή Ειδικού Χαρακτήρα', + title : 'Επιλέξτε έναν Ειδικό Χαρακτήρα', + options : 'Επιλογές Ειδικών Χαρακτήρων' }, // Link dialog. link : { - toolbar : 'Εισαγωγή/Μεταβολή Συνδέσμου (Link)', - other : '<άλλος>', - menu : 'Μεταβολή Συνδέσμου (Link)', - title : 'Σύνδεσμος (Link)', - info : 'Link', - target : 'Παράθυρο Στόχος (Target)', - upload : 'Αποστολή', + toolbar : 'Σύνδεσμος', + other : '<άλλο>', + menu : 'Επεξεργασία Συνδέσμου', + title : 'Σύνδεσμος', + info : 'Πληροφορίες Συνδέσμου', + target : 'Παράθυρο Προορισμού', + upload : 'Ανέβασμα', advanced : 'Για προχωρημένους', - type : 'Τύπος συνδέσμου (Link)', + type : 'Τύπος Συνδέσμου', toUrl : 'URL', // MISSING toAnchor : 'Άγκυρα σε αυτή τη σελίδα', toEmail : 'E-Mail', targetFrame : '<πλαίσιο>', - targetPopup : '<παράθυρο popup>', - targetFrameName : 'Όνομα πλαισίου στόχου', - targetPopupName : 'Όνομα Popup Window', - popupFeatures : 'Επιλογές Popup Window', - popupResizable : 'Resizable', // MISSING - popupStatusBar : 'Μπάρα Status', - popupLocationBar: 'Μπάρα Τοποθεσίας', - popupToolbar : 'Μπάρα Εργαλείων', - popupMenuBar : 'Μπάρα Menu', - popupFullScreen : 'Ολόκληρη η Οθόνη (IE)', + targetPopup : '<αναδυόμενο παράθυρο>', + targetFrameName : 'Όνομα Παραθύρου Προορισμού', + targetPopupName : 'Όνομα Αναδυόμενου Παραθύρου', + popupFeatures : 'Επιλογές Αναδυόμενου Παραθύρου', + popupResizable : 'Προσαρμοζόμενο Μέγεθος', + popupStatusBar : 'Γραμμή Κατάστασης', + popupLocationBar: 'Γραμμή Τοποθεσίας', + popupToolbar : 'Εργαλειοθήκη', + popupMenuBar : 'Γραμμή Επιλογών', + popupFullScreen : 'Πλήρης Οθόνη (IE)', popupScrollBars : 'Μπάρες Κύλισης', - popupDependent : 'Dependent (Netscape)', - popupLeft : 'Τοποθεσία Αριστερής Άκρης', - popupTop : 'Τοποθεσία Πάνω Άκρης', + popupDependent : 'Εξαρτημένο (Netscape)', + popupLeft : 'Θέση Αριστερά', + popupTop : 'Θέση Πάνω', id : 'Id', // MISSING - langDir : 'Κατεύθυνση κειμένου', + langDir : 'Κατεύθυνση Κειμένου', langDirLTR : 'Αριστερά προς Δεξιά (LTR)', langDirRTL : 'Δεξιά προς Αριστερά (RTL)', - acccessKey : 'Συντόμευση (Access Key)', + acccessKey : 'Συντόμευση', name : 'Όνομα', - langCode : 'Κατεύθυνση κειμένου', - tabIndex : 'Tab Index', - advisoryTitle : 'Συμβουλευτικός τίτλος', - advisoryContentType : 'Συμβουλευτικός τίτλος περιεχομένου', + langCode : 'Κατεύθυνση Κειμένου', + tabIndex : 'Σειρά Μεταπήδησης', + advisoryTitle : 'Ενδεικτικός Τίτλος', + advisoryContentType : 'Ενδεικτικός Τύπος Περιεχομένου', cssClasses : 'Stylesheet Classes', - charset : 'Linked Resource Charset', - styles : 'Στύλ', - rel : 'Relationship', // MISSING + charset : 'Κωδικοποίηση Χαρακτήρων Προσαρτημένης Πηγής', + styles : 'Μορφή', + rel : 'Σχέση', selectAnchor : 'Επιλέξτε μια άγκυρα', - anchorName : 'Βάσει του Ονόματος (Name) της άγκυρας', + anchorName : 'Βάσει του Ονόματος της άγκυρας', anchorId : 'Βάσει του Element Id', - emailAddress : 'Διεύθυνση Ηλεκτρονικού Ταχυδρομείου', + emailAddress : 'Διεύθυνση e-mail', emailSubject : 'Θέμα Μηνύματος', emailBody : 'Κείμενο Μηνύματος', noAnchors : '(Δεν υπάρχουν άγκυρες στο κείμενο)', @@ -201,27 +202,27 @@ CKEDITOR.lang['el'] = // Anchor dialog anchor : { - toolbar : 'Εισαγωγή/επεξεργασία Anchor', + toolbar : 'Εισαγωγή/επεξεργασία Άγκυρας', menu : 'Ιδιότητες άγκυρας', title : 'Ιδιότητες άγκυρας', name : 'Όνομα άγκυρας', errorName : 'Παρακαλούμε εισάγετε όνομα άγκυρας', - remove : 'Remove Anchor' // MISSING + remove : 'Αφαίρεση Άγκυρας' }, // List style dialog list: { - numberedTitle : 'Numbered List Properties', // MISSING - bulletedTitle : 'Bulleted List Properties', // MISSING - type : 'Type', // MISSING - start : 'Start', // MISSING - validateStartNumber :'List start number must be a whole number.', // MISSING - circle : 'Circle', // MISSING - disc : 'Disc', // MISSING - square : 'Square', // MISSING - none : 'None', // MISSING - notset : '', // MISSING + numberedTitle : 'Ιδιότητες Αριθμημένης Λίστας ', + bulletedTitle : 'Ιδιότητες Λίστας Σημείων', + type : 'Τύπος', + start : 'Εκκίνηση', + validateStartNumber :'Ο αριθμός εκκίνησης της αρίθμησης πρέπει να είναι ακέραιος αριθμός.', + circle : 'Κύκλος', + disc : 'Δίσκος', + square : 'Τετράγωνο', + none : 'Τίποτα', + notset : '<δεν έχει οριστεί>', armenian : 'Armenian numbering', // MISSING georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING @@ -229,17 +230,17 @@ CKEDITOR.lang['el'] = lowerAlpha : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING upperAlpha : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING lowerGreek : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING - decimal : 'Decimal (1, 2, 3, etc.)', // MISSING + decimal : 'Δεκαδικός (1, 2, 3, κτλ)', decimalLeadingZero : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING }, // Find And Replace Dialog findAndReplace : { - title : 'Find and Replace', // MISSING + title : 'Αναζήτηση και Αντικατάσταση', find : 'Αναζήτηση', replace : 'Αντικατάσταση', - findWhat : 'Αναζήτηση:', + findWhat : 'Αναζήτηση για:', replaceWith : 'Αντικατάσταση με:', notFoundMsg : 'Το κείμενο δεν βρέθηκε.', findOptions : 'Find Options', // MISSING @@ -259,72 +260,72 @@ CKEDITOR.lang['el'] = deleteTable : 'Διαγραφή πίνακα', rows : 'Γραμμές', columns : 'Κολώνες', - border : 'Μέγεθος Περιθωρίου', + border : 'Πάχος Περιγράμματος', widthPx : 'pixels', - widthPc : '%', - widthUnit : 'width unit', // MISSING - cellSpace : 'Απόσταση κελιών', + widthPc : 'τοις εκατό', + widthUnit : 'μονάδα πλάτους', + cellSpace : 'Διάστημα κελιών', cellPad : 'Γέμισμα κελιών', - caption : 'Υπέρτιτλος', + caption : 'Λεζάντα', summary : 'Περίληψη', - headers : 'Headers', // MISSING - headersNone : 'None', // MISSING - headersColumn : 'First column', // MISSING - headersRow : 'First Row', // MISSING - headersBoth : 'Both', // MISSING - invalidRows : 'Number of rows must be a number greater than 0.', // MISSING - invalidCols : 'Number of columns must be a number greater than 0.', // MISSING - invalidBorder : 'Border size must be a number.', // MISSING - invalidWidth : 'Table width must be a number.', // MISSING - invalidHeight : 'Table height must be a number.', // MISSING - invalidCellSpacing : 'Cell spacing must be a positive number.', // MISSING - invalidCellPadding : 'Cell padding must be a positive number.', // MISSING + headers : 'Κεφαλίδες', + headersNone : 'Κανένα', + headersColumn : 'Πρώτη Στήλη', + headersRow : 'Πρώτη Σειρά', + headersBoth : 'Και τα δύο', + invalidRows : 'Ο αριθμός των σειρών πρέπει να είναι μεγαλύτερος από 0.', + invalidCols : 'Ο αριθμός των στηλών πρέπει να είναι μεγαλύτερος από 0.', + invalidBorder : 'Το πάχος του περιγράμματος πρέπει να είναι ένας αριθμός.', + invalidWidth : 'Το πλάτος του πίνακα πρέπει να είναι ένας αριθμός.', + invalidHeight : 'Το ύψος του πίνακα πρέπει να είναι ένας αριθμός.', + invalidCellSpacing : 'Η απόσταση μεταξύ των κελιών πρέπει να είναι ένας θετικός αριθμός.', + invalidCellPadding : 'Το γέμισμα μέσα στα κελιά πρέπει να είναι ένας θετικός αριθμός.', cell : { menu : 'Κελί', - insertBefore : 'Insert Cell Before', // MISSING - insertAfter : 'Insert Cell After', // MISSING + insertBefore : 'Εισαγωγή Κελιού Πριν', + insertAfter : 'Εισαγωγή Κελιού Μετά', deleteCell : 'Διαγραφή Κελιών', merge : 'Ενοποίηση Κελιών', - mergeRight : 'Merge Right', // MISSING - mergeDown : 'Merge Down', // MISSING - splitHorizontal : 'Split Cell Horizontally', // MISSING - splitVertical : 'Split Cell Vertically', // MISSING - title : 'Cell Properties', // MISSING - cellType : 'Cell Type', // MISSING - rowSpan : 'Rows Span', // MISSING - colSpan : 'Columns Span', // MISSING + mergeRight : 'Συγχώνευση Με Δεξιά', + mergeDown : 'Συγχώνευση Με Κάτω', + splitHorizontal : 'Οριζόντιο Μοίρασμα Κελιού', + splitVertical : 'Κατακόρυφο Μοίρασμα Κελιού', + title : 'Ιδιότητες Κελιού', + cellType : 'Τύπος Κελιού', + rowSpan : 'Εύρος Σειρών', + colSpan : 'Εύρος Στηλών', wordWrap : 'Word Wrap', // MISSING - hAlign : 'Horizontal Alignment', // MISSING - vAlign : 'Vertical Alignment', // MISSING + hAlign : 'Οριζόντια Στοίχιση', + vAlign : 'Κάθετη Στοίχιση', alignBaseline : 'Baseline', // MISSING - bgColor : 'Background Color', // MISSING - borderColor : 'Border Color', // MISSING - data : 'Data', // MISSING - header : 'Header', // MISSING - yes : 'Yes', // MISSING - no : 'No', // MISSING - invalidWidth : 'Cell width must be a number.', // MISSING - invalidHeight : 'Cell height must be a number.', // MISSING + bgColor : 'Χρώμα Φόντου', + borderColor : 'Χρώμα Περιγράμματος', + data : 'Δεδομένα', + header : 'Κεφαλίδα', + yes : 'Ναι', + no : 'Όχι', + invalidWidth : 'Το πλάτος του κελιού πρέπει να είναι ένας αριθμός.', + invalidHeight : 'Το ύψος του κελιού πρέπει να είναι ένας αριθμός.', invalidRowSpan : 'Rows span must be a whole number.', // MISSING invalidColSpan : 'Columns span must be a whole number.', // MISSING - chooseColor : 'Choose' // MISSING + chooseColor : 'Επιλέξτε' }, row : { menu : 'Σειρά', - insertBefore : 'Insert Row Before', // MISSING - insertAfter : 'Insert Row After', // MISSING + insertBefore : 'Εισαγωγή Σειράς Από Πάνω', + insertAfter : 'Εισαγωγή Σειράς Από Κάτω', deleteRow : 'Διαγραφή Γραμμών' }, column : { menu : 'Στήλη', - insertBefore : 'Insert Column Before', // MISSING - insertAfter : 'Insert Column After', // MISSING + insertBefore : 'Εισαγωγή Στήλης Πριν', + insertAfter : 'Εισαγωγή Σειράς Μετά', deleteColumn : 'Διαγραφή Κολωνών' } }, @@ -332,19 +333,19 @@ CKEDITOR.lang['el'] = // Button Dialog. button : { - title : 'Ιδιότητες κουμπιού', + title : 'Ιδιότητες Κουμπιού', text : 'Κείμενο (Τιμή)', type : 'Τύπος', typeBtn : 'Κουμπί', - typeSbm : 'Καταχώρηση', + typeSbm : 'Υποβολή', typeRst : 'Επαναφορά' }, // Checkbox and Radio Button Dialogs. checkboxAndRadio : { - checkboxTitle : 'Ιδιότητες κουμπιού επιλογής', - radioTitle : 'Ιδιότητες κουμπιού radio', + checkboxTitle : 'Ιδιότητες Κουτιού Επιλογής', + radioTitle : 'Ιδιότητες Κουμπιού Επιλογής', value : 'Τιμή', selected : 'Επιλεγμένο' }, @@ -352,37 +353,37 @@ CKEDITOR.lang['el'] = // Form Dialog. form : { - title : 'Ιδιότητες φόρμας', - menu : 'Ιδιότητες φόρμας', + title : 'Ιδιότητες Φόρμας', + menu : 'Ιδιότητες Φόρμας', action : 'Δράση', - method : 'Μάθοδος', - encoding : 'Encoding' // MISSING + method : 'Μέθοδος', + encoding : 'Κωδικοποίηση' }, // Select Field Dialog. select : { - title : 'Ιδιότητες πεδίου επιλογής', - selectInfo : 'Πληροφορίες', - opAvail : 'Διαθέσιμες επιλογές', + title : 'Ιδιότητες Πεδίου Επιλογής', + selectInfo : 'Πληροφορίες Πεδίου Επιλογής', + opAvail : 'Διαθέσιμες Επιλογές', value : 'Τιμή', size : 'Μέγεθος', lines : 'γραμμές', - chkMulti : 'Πολλαπλές επιλογές', + chkMulti : 'Να επιτρέπονται οι πολλαπλές επιλογές', opText : 'Κείμενο', opValue : 'Τιμή', btnAdd : 'Προσθήκη', - btnModify : 'Αλλαγή', + btnModify : 'Τροποποίηση', btnUp : 'Πάνω', btnDown : 'Κάτω', - btnSetValue : 'Προεπιλεγμένη επιλογή', + btnSetValue : 'Προεπιλογή', btnDelete : 'Διαγραφή' }, // Textarea Dialog. textarea : { - title : 'Ιδιότητες περιοχής κειμένου', + title : 'Ιδιότητες Περιοχής Κειμένου', cols : 'Στήλες', rows : 'Σειρές' }, @@ -390,10 +391,10 @@ CKEDITOR.lang['el'] = // Text Field Dialog. textfield : { - title : 'Ιδιότητες πεδίου κειμένου', + title : 'Ιδιότητες Πεδίου Κειμένου', name : 'Όνομα', value : 'Τιμή', - charWidth : 'Μήκος χαρακτήρων', + charWidth : 'Πλάτος Χαρακτήρων', maxChars : 'Μέγιστοι χαρακτήρες', type : 'Τύπος', typeText : 'Κείμενο', @@ -403,7 +404,7 @@ CKEDITOR.lang['el'] = // Hidden Field Dialog. hidden : { - title : 'Ιδιότητες κρυφού πεδίου', + title : 'Ιδιότητες Κρυφού Πεδίου', name : 'Όνομα', value : 'Τιμή' }, @@ -412,20 +413,20 @@ CKEDITOR.lang['el'] = image : { title : 'Ιδιότητες Εικόνας', - titleButton : 'Ιδιότητες κουμπιού εικόνας', + titleButton : 'Ιδιότητες Κουμπιού Εικόνας', menu : 'Ιδιότητες Εικόνας', infoTab : 'Πληροφορίες Εικόνας', btnUpload : 'Αποστολή στον Διακομιστή', - upload : 'Αποστολή', - alt : 'Εναλλακτικό Κείμενο (ALT)', + upload : 'Ανέβασμα', + alt : 'Εναλλακτικό Κείμενο', lockRatio : 'Κλείδωμα Αναλογίας', resetSize : 'Επαναφορά Αρχικού Μεγέθους', - border : 'Περιθώριο', - hSpace : 'Οριζόντιος Χώρος (HSpace)', - vSpace : 'Κάθετος Χώρος (VSpace)', + border : 'Περίγραμμα', + hSpace : 'Οριζόντιο Διάστημα', + vSpace : 'Κάθετο Διάστημα', alertUrl : 'Εισάγετε την τοποθεσία (URL) της εικόνας', linkTab : 'Σύνδεσμος', - button2Img : 'Do you want to transform the selected image button on a simple image?', // MISSING + button2Img : 'Θέλετε να μετατρέψετε το επιλεγμένο κουμπί εικόνας σε απλή εικόνα;', img2Button : 'Do you want to transform the selected image on a image button?', // MISSING urlMissing : 'Image source URL is missing.', // MISSING validateBorder : 'Border must be a whole number.', // MISSING @@ -437,24 +438,24 @@ CKEDITOR.lang['el'] = flash : { properties : 'Ιδιότητες Flash', - propertiesTab : 'Properties', // MISSING - title : 'Ιδιότητες flash', - chkPlay : 'Αυτόματη έναρξη', + propertiesTab : 'Ιδιότητες', + title : 'Ιδιότητες Flash', + chkPlay : 'Αυτόματη Εκτέλεση', chkLoop : 'Επανάληψη', chkMenu : 'Ενεργοποίηση Flash Menu', chkFull : 'Allow Fullscreen', // MISSING - scale : 'Κλίμακα', + scale : 'Μεγέθυνση', scaleAll : 'Εμφάνιση όλων', - scaleNoBorder : 'Χωρίς όρια', - scaleFit : 'Ακριβής εφαρμογή', + scaleNoBorder : 'Χωρίς Περίγραμμα', + scaleFit : 'Ακριβές Μέγεθος', access : 'Script Access', // MISSING accessAlways : 'Always', // MISSING accessSameDomain: 'Same domain', // MISSING accessNever : 'Never', // MISSING - alignAbsBottom : 'Απόλυτα Κάτω (Abs Bottom)', - alignAbsMiddle : 'Απόλυτα στη Μέση (Abs Middle)', - alignBaseline : 'Γραμμή Βάσης (Baseline)', - alignTextTop : 'Κορυφή Κειμένου (Text Top)', + alignAbsBottom : 'Απόλυτα Κάτω', + alignAbsMiddle : 'Απόλυτα στη Μέση', + alignBaseline : 'Γραμμή Βάσης', + alignTextTop : 'Κορυφή Κειμένου', quality : 'Quality', // MISSING qualityBest : 'Best', // MISSING qualityHigh : 'High', // MISSING @@ -468,8 +469,8 @@ CKEDITOR.lang['el'] = windowMode : 'Window mode', // MISSING flashvars : 'Variables for Flash', // MISSING bgcolor : 'Χρώμα Υποβάθρου', - hSpace : 'Οριζόντιος Χώρος (HSpace)', - vSpace : 'Κάθετος Χώρος (VSpace)', + hSpace : 'Οριζόντιο Διάστημα', + vSpace : 'Κάθετο Διάστημα', validateSrc : 'Εισάγετε την τοποθεσία (URL) του υπερσυνδέσμου (Link)', validateHSpace : 'HSpace must be a number.', // MISSING validateVSpace : 'VSpace must be a number.' // MISSING @@ -478,7 +479,7 @@ CKEDITOR.lang['el'] = // Speller Pages Dialog spellCheck : { - toolbar : 'Ορθογραφικός έλεγχος', + toolbar : 'Ορθογραφικός Έλεγχος', title : 'Spell Check', // MISSING notAvailable : 'Sorry, but service is unavailable now.', // MISSING errorLoading : 'Error loading application service host: %s.', // MISSING @@ -490,11 +491,11 @@ CKEDITOR.lang['el'] = btnReplaceAll : 'Αντικατάσταση όλων', btnUndo : 'Αναίρεση', noSuggestions : '- Δεν υπάρχουν προτάσεις -', - progress : 'Ορθογραφικός έλεγχος σε εξέλιξη...', + progress : 'Γίνεται ορθογραφικός έλεγχος...', noMispell : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν βρέθηκαν λάθη', noChanges : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν άλλαξαν λέξεις', - oneChange : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Μια λέξη άλλαξε', - manyChanges : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: %1 λέξεις άλλαξαν', + oneChange : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Άλλαξε μια λέξη', + manyChanges : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Άλλαξαν %1 λέξεις', ieSpellDownload : 'Δεν υπάρχει εγκατεστημένος ορθογράφος. Θέλετε να τον κατεβάσετε τώρα;' }, @@ -511,8 +512,8 @@ CKEDITOR.lang['el'] = eleTitle : '%1 element' // MISSING }, - numberedlist : 'Λίστα με Αριθμούς', - bulletedlist : 'Λίστα με Bullets', + numberedlist : 'Εισαγωγή/Απομάκρυνση Αριθμημένης Λίστας', + bulletedlist : 'Εισαγωγή/Απομάκρυνση Λίστας Κουκκίδων', indent : 'Αύξηση Εσοχής', outdent : 'Μείωση Εσοχής', @@ -521,17 +522,17 @@ CKEDITOR.lang['el'] = left : 'Στοίχιση Αριστερά', center : 'Στοίχιση στο Κέντρο', right : 'Στοίχιση Δεξιά', - block : 'Πλήρης Στοίχιση (Block)' + block : 'Πλήρης Στοίχιση' }, - blockquote : 'Block Quote', // MISSING + blockquote : 'Περιοχή Παράθεσης', clipboard : { title : 'Επικόλληση', cutError : 'Οι ρυθμίσεις ασφαλείας του φυλλομετρητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).', copyError : 'Οι ρυθμίσεις ασφαλείας του φυλλομετρητή σας δεν επιτρέπουν την επιλεγμένη εργασία αντιγραφής. Χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+C).', - pasteMsg : 'Παρακαλώ επικολήστε στο ακόλουθο κουτί χρησιμοποιόντας το πληκτρολόγιο (Ctrl/Cmd+V) και πατήστε OK.', + pasteMsg : 'Παρακαλώ επικολήστε στο ακόλουθο κουτί χρησιμοποιόντας το πληκτρολόγιο (Ctrl/Cmd+V) και πατήστε OK.', securityMsg : 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING pasteArea : 'Paste Area' // MISSING }, @@ -553,18 +554,18 @@ CKEDITOR.lang['el'] = templates : { button : 'Πρότυπα', - title : 'Πρότυπα περιεχομένου', + title : 'Πρότυπα Περιεχομένου', options : 'Template Options', // MISSING insertOption : 'Αντικατάσταση υπάρχοντων περιεχομένων', - selectPromptMsg : 'Παρακαλώ επιλέξτε πρότυπο για εισαγωγή στο πρόγραμμα
(τα υπάρχοντα περιεχόμενα θα χαθούν):', + selectPromptMsg : 'Παρακαλώ επιλέξτε πρότυπο για εισαγωγή στο πρόγραμμα', emptyListMsg : '(Δεν έχουν καθοριστεί πρότυπα)' }, - showBlocks : 'Show Blocks', // MISSING + showBlocks : 'Προβολή Περιοχών', stylesCombo : { - label : 'Στυλ', + label : 'Μορφές', panelTitle : 'Formatting Styles', // MISSING panelTitle1 : 'Block Styles', // MISSING panelTitle2 : 'Inline Styles', // MISSING @@ -573,8 +574,8 @@ CKEDITOR.lang['el'] = format : { - label : 'Μορφή Γραμματοσειράς', - panelTitle : 'Μορφή Γραμματοσειράς', + label : 'Μορφοποίηση', + panelTitle : 'Μορφοποίηση Παραγράφου', tag_p : 'Κανονικό', tag_pre : 'Μορφοποιημένο', @@ -618,22 +619,22 @@ CKEDITOR.lang['el'] = { label : 'Γραμματοσειρά', voiceLabel : 'Font', // MISSING - panelTitle : 'Γραμματοσειρά' + panelTitle : 'Όνομα Γραμματοσειράς' }, fontSize : { label : 'Μέγεθος', voiceLabel : 'Font Size', // MISSING - panelTitle : 'Μέγεθος' + panelTitle : 'Μέγεθος Γραμματοσειράς' }, colorButton : { - textColorTitle : 'Χρώμα Γραμμάτων', - bgColorTitle : 'Χρώμα Υποβάθρου', + textColorTitle : 'Χρώμα Κειμένου', + bgColorTitle : 'Χρώμα Φόντου', panelTitle : 'Colors', // MISSING - auto : 'Αυτόματο', + auto : 'Αυτόματα', more : 'Περισσότερα χρώματα...' }, @@ -726,8 +727,8 @@ CKEDITOR.lang['el'] = copy : 'Copyright © $1. All rights reserved.' // MISSING }, - maximize : 'Maximize', // MISSING - minimize : 'Minimize', // MISSING + maximize : 'Μεγιστοποίηση', + minimize : 'Ελαχιστοποίηση', fakeobjects : { @@ -738,7 +739,7 @@ CKEDITOR.lang['el'] = unknown : 'Unknown Object' // MISSING }, - resize : 'Drag to resize', // MISSING + resize : 'Σύρσιμο για αλλαγή μεγέθους', colordialog : { @@ -749,8 +750,8 @@ CKEDITOR.lang['el'] = clear : 'Clear' // MISSING }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'Σύμπτηξη Εργαλειοθήκης', + toolbarExpand : 'Ανάπτυξη Εργαλειοθήκης', toolbarGroups : { @@ -775,15 +776,15 @@ CKEDITOR.lang['el'] = docprops : { - label : 'Ιδιότητες εγγράφου', - title : 'Ιδιότητες εγγράφου', + label : 'Ιδιότητες Εγγράφου', + title : 'Ιδιότητες Εγγράφου', design : 'Design', // MISSING meta : 'Δεδομένα Meta', chooseColor : 'Choose', // MISSING - other : '<άλλος>', - docTitle : 'Τίτλος σελίδας', - charset : 'Κωδικοποίηση χαρακτήρων', - charsetOther : 'Άλλη κωδικοποίηση χαρακτήρων', + other : 'Άλλο...', + docTitle : 'Τίτλος Σελίδας', + charset : 'Κωδικοποίηση Χαρακτήρων', + charsetOther : 'Άλλη Κωδικοποίηση Χαρακτήρων', charsetASCII : 'ASCII', // MISSING charsetCE : 'Κεντρικής Ευρώπης', charsetCT : 'Παραδοσιακά κινέζικα (Big5)', @@ -809,7 +810,7 @@ CKEDITOR.lang['el'] = metaKeywords : 'Λέξεις κλειδιά δείκτες εγγράφου (διαχωρισμός με κόμμα)', metaDescription : 'Περιγραφή εγγράφου', metaAuthor : 'Συγγραφέας', - metaCopyright : 'Πνευματικά δικαιώματα', + metaCopyright : 'Πνευματικά Δικαιώματα', previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/en-au.js b/phpgwapi/js/ckeditor3/_source/lang/en-au.js index 7979b12b21..f577109c9c 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/en-au.js +++ b/phpgwapi/js/ckeditor3/_source/lang/en-au.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,11 +31,12 @@ CKEDITOR.lang['en-au'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Editor toolbars', + editor : 'Rich Text Editor', // Toolbar buttons without dialogs. source : 'Source', diff --git a/phpgwapi/js/ckeditor3/_source/lang/en-ca.js b/phpgwapi/js/ckeditor3/_source/lang/en-ca.js index 7cf69f4227..3c47cb6f67 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/en-ca.js +++ b/phpgwapi/js/ckeditor3/_source/lang/en-ca.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['en-ca'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/en-gb.js b/phpgwapi/js/ckeditor3/_source/lang/en-gb.js index 278e5115b8..2e1f7eb911 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/en-gb.js +++ b/phpgwapi/js/ckeditor3/_source/lang/en-gb.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['en-gb'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/en.js b/phpgwapi/js/ckeditor3/_source/lang/en.js index d7e2141dd8..2af57e8d20 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/en.js +++ b/phpgwapi/js/ckeditor3/_source/lang/en.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['en'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', + editorTitle : 'Rich text editor, %1', + editorHelp : 'Press ALT 0 for help', // ARIA descriptions. toolbars : 'Editor toolbars', diff --git a/phpgwapi/js/ckeditor3/_source/lang/eo.js b/phpgwapi/js/ckeditor3/_source/lang/eo.js index 001f2c8e07..a1b3584c1f 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/eo.js +++ b/phpgwapi/js/ckeditor3/_source/lang/eo.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,16 +31,17 @@ CKEDITOR.lang['eo'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'riĉteksta redaktilo, %1', + editorHelp : 'Premu ALT 0 por helpilo', // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Ilobretoj de la redaktilo', + editor : 'Redaktilo por Riĉiga Teksto', // Toolbar buttons without dialogs. source : 'Fonto', newPage : 'Nova Paĝo', - save : 'Sekurigi', + save : 'Konservi', preview : 'Vidigi Aspekton', cut : 'Eltondi', copy : 'Kopii', @@ -52,11 +53,11 @@ CKEDITOR.lang['eo'] = selectAll : 'Elekti ĉion', removeFormat : 'Forigi Formaton', strike : 'Trastreko', - subscript : 'Subskribo', - superscript : 'Superskribo', - horizontalrule : 'Enmeti Horizonta Linio', - pagebreak : 'Insert Page Break for Printing', // MISSING - pagebreakAlt : 'Page Break', // MISSING + subscript : 'Suba indico', + superscript : 'Supra indico', + horizontalrule : 'Enmeti Horizontalan Linion', + pagebreak : 'Enmeti Paĝavancon por Presado', + pagebreakAlt : 'Paĝavanco', unlink : 'Forigi Ligilon', undo : 'Malfari', redo : 'Refari', @@ -70,7 +71,7 @@ CKEDITOR.lang['eo'] = upload : 'Alŝuti', uploadSubmit : 'Sendu al Servilo', image : 'Bildo', - flash : 'Flash', // MISSING + flash : 'Flaŝo', form : 'Formularo', checkbox : 'Markobutono', radio : 'Radiobutono', @@ -89,27 +90,27 @@ CKEDITOR.lang['eo'] = langCode : 'Lingva Kodo', longDescr : 'URL de Longa Priskribo', cssClass : 'Klasoj de Stilfolioj', - advisoryTitle : 'Indika Titolo', + advisoryTitle : 'Priskriba Titolo', cssStyle : 'Stilo', ok : 'Akcepti', cancel : 'Rezigni', - close : 'Close', // MISSING - preview : 'Preview', // MISSING - generalTab : 'General', // MISSING + close : 'Fermi', + preview : 'Vidigi Aspekton', + generalTab : 'Ĝenerala', advancedTab : 'Speciala', - validateNumberFailed : 'This value is not a number.', // MISSING - confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING - confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING - cssClasses : 'Stylesheet Classes', // MISSING + validateNumberFailed : 'Tiu valoro ne estas nombro.', + confirmNewPage : 'La neregistritaj ŝanĝoj estas perdotaj. Ĉu vi certas, ke vi volas ŝargi novan paĝon?', + confirmCancel : 'Iuj opcioj esta ŝanĝitaj. Ĉu vi certas, ke vi volas fermi la dialogon?', + options : 'Opcioj', + target : 'Celo', + targetNew : 'Nova Fenestro (_blank)', + targetTop : 'Supra Fenestro (_top)', + targetSelf : 'Sama Fenestro (_self)', + targetParent : 'Patra Fenestro (_parent)', + langDirLTR : 'De maldekstro dekstren (LTR)', + langDirRTL : 'De dekstro maldekstren (RTL)', + styles : 'Stilo', + cssClasses : 'Stilfoliaj Klasoj', width : 'Larĝo', height : 'Alto', align : 'Ĝisrandigo', @@ -119,135 +120,135 @@ CKEDITOR.lang['eo'] = alignTop : 'Supre', alignMiddle : 'Centre', alignBottom : 'Malsupre', - invalidHeight : 'Height must be a number.', // MISSING - invalidWidth : 'Width must be a number.', // MISSING - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidHeight : 'Alto devas esti nombro.', + invalidWidth : 'Larĝo devas esti nombro.', + invalidCssLength : 'La valoro indikita por la "%1" kampo devas esti pozitiva nombro kun aŭ sen valida CSSmezurunuo (px, %, in, cm, mm, em, ex, pt, or pc).', + invalidHtmlLength : 'La valoro indikita por la "%1" kampo devas esti pozitiva nombro kun aŭ sen valida HTMLmezurunuo (px or %).', + invalidInlineStyle : 'La valoro indikita por la enlinia stilo devas konsisti el unu aŭ pluraj elementoj kun la formato de "nomo : valoro", apartigitaj per punktokomoj.', + cssLengthTooltip : 'Entajpu nombron por rastrumera valoro aŭ nombron kun valida CSSunuo (px, %, in, cm, mm, em, ex, pt, or pc).', // Put the voice-only part of the label in the span. - unavailable : '%1, unavailable' // MISSING + unavailable : '%1, nehavebla' }, contextmenu : { - options : 'Context Menu Options' // MISSING + options : 'Opcioj de Kunteksta Menuo' }, // Special char dialog. specialChar : { toolbar : 'Enmeti Specialan Signon', - title : 'Enmeti Specialan Signon', - options : 'Special Character Options' // MISSING + title : 'Selekti Specialan Signon', + options : 'Opcioj pri Specialaj Signoj' }, // Link dialog. link : { toolbar : 'Enmeti/Ŝanĝi Ligilon', - other : '', // MISSING - menu : 'Modifier Ligilon', + other : '', + menu : 'Ŝanĝi Ligilon', title : 'Ligilo', info : 'Informoj pri la Ligilo', target : 'Celo', upload : 'Alŝuti', advanced : 'Speciala', type : 'Tipo de Ligilo', - toUrl : 'URL', // MISSING + toUrl : 'URL', toAnchor : 'Ankri en tiu ĉi paĝo', toEmail : 'Retpoŝto', targetFrame : '', targetPopup : '<ŝprucfenestro>', - targetFrameName : 'Nomo de Kadro', + targetFrameName : 'Nomo de CelKadro', targetPopupName : 'Nomo de Ŝprucfenestro', popupFeatures : 'Atributoj de la Ŝprucfenestro', - popupResizable : 'Resizable', // MISSING + popupResizable : 'Dimensiŝanĝebla', popupStatusBar : 'Statobreto', popupLocationBar: 'Adresobreto', popupToolbar : 'Ilobreto', popupMenuBar : 'Menubreto', popupFullScreen : 'Tutekrane (IE)', - popupScrollBars : 'Rulumlisteloj', + popupScrollBars : 'Rulumskaloj', popupDependent : 'Dependa (Netscape)', - popupLeft : 'Pozicio de Maldekstro', - popupTop : 'Pozicio de Supro', - id : 'Id', // MISSING + popupLeft : 'Maldekstra Pozicio', + popupTop : 'Supra Pozicio', + id : 'Id', langDir : 'Skribdirekto', langDirLTR : 'De maldekstro dekstren (LTR)', langDirRTL : 'De dekstro maldekstren (RTL)', acccessKey : 'Fulmoklavo', name : 'Nomo', - langCode : 'Skribdirekto', - tabIndex : 'Taba Ordo', - advisoryTitle : 'Indika Titolo', - advisoryContentType : 'Indika Enhavotipo', + langCode : 'Lingva Kodo', + tabIndex : 'Taba Indekso', + advisoryTitle : 'Priskriba Titolo', + advisoryContentType : 'Enhavotipo', cssClasses : 'Klasoj de Stilfolioj', charset : 'Signaro de la Ligita Rimedo', styles : 'Stilo', - rel : 'Relationship', // MISSING + rel : 'Rilato', selectAnchor : 'Elekti Ankron', anchorName : 'Per Ankronomo', anchorId : 'Per Elementidentigilo', - emailAddress : 'Retadreso', - emailSubject : 'Temlinio', + emailAddress : 'Retpoŝto', + emailSubject : 'Mesaĝa Temo', emailBody : 'Mesaĝa korpo', noAnchors : '', noUrl : 'Bonvolu entajpi la URL-on', - noEmail : 'Bonvolu entajpi la retadreson' + noEmail : 'Bonvolu entajpi la retpoŝtadreson' }, // Anchor dialog anchor : { - toolbar : 'Enmeti/Ŝanĝi Ankron', - menu : 'Ankraj Atributoj', + toolbar : 'Ankro', + menu : 'Enmeti/Ŝanĝi Ankron', title : 'Ankraj Atributoj', name : 'Ankra Nomo', - errorName : 'Bv tajpi la ankran nomon', - remove : 'Remove Anchor' // MISSING + errorName : 'Bv entajpi la ankran nomon', + remove : 'Forigi Ankron' }, // List style dialog list: { - numberedTitle : 'Numbered List Properties', // MISSING - bulletedTitle : 'Bulleted List Properties', // MISSING - type : 'Type', // MISSING - start : 'Start', // MISSING - validateStartNumber :'List start number must be a whole number.', // MISSING - circle : 'Circle', // MISSING - disc : 'Disc', // MISSING - square : 'Square', // MISSING - none : 'None', // MISSING - notset : '', // MISSING - armenian : 'Armenian numbering', // MISSING - georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING - lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING - upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING - lowerAlpha : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING - upperAlpha : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING - lowerGreek : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING - decimal : 'Decimal (1, 2, 3, etc.)', // MISSING - decimalLeadingZero : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING + numberedTitle : 'Atributoj de Numera Listo', + bulletedTitle : 'Atributoj de Bula Listo', + type : 'Tipo', + start : 'Komenco', + validateStartNumber :'La unua listero devas esti entjera nombro.', + circle : 'Cirklo', + disc : 'Disko', + square : 'kvadrato', + none : 'Neniu', + notset : '', + armenian : 'Armena nombrado', + georgian : 'Gruza nombrado (an, ban, gan, ktp.)', + lowerRoman : 'Minusklaj Romanaj Nombroj (i, ii, iii, iv, v, ktp.)', + upperRoman : 'Majusklaj Romanaj Nombroj (I, II, III, IV, V, ktp.)', + lowerAlpha : 'Minusklaj Literoj (a, b, c, d, e, ktp.)', + upperAlpha : 'Majusklaj Literoj (A, B, C, D, E, ktp.)', + lowerGreek : 'Grekaj Minusklaj Literoj (alpha, beta, gamma, ktp.)', + decimal : 'Dekumaj Nombroj (1, 2, 3, ktp.)', + decimalLeadingZero : 'Dekumaj Nombroj malantaŭ nulo (01, 02, 03, ktp.)' }, // Find And Replace Dialog findAndReplace : { - title : 'Find and Replace', // MISSING + title : 'Serĉi kaj Anstataŭigi', find : 'Serĉi', replace : 'Anstataŭigi', findWhat : 'Serĉi:', replaceWith : 'Anstataŭigi per:', notFoundMsg : 'La celteksto ne estas trovita.', - findOptions : 'Find Options', // MISSING + findOptions : 'Opcioj pri Serĉado', matchCase : 'Kongruigi Usklecon', matchWord : 'Tuta Vorto', - matchCyclic : 'Match cyclic', // MISSING - replaceAll : 'Anstataŭigi Ĉiun', - replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING + matchCyclic : 'Cikla Serĉado', + replaceAll : 'Anstataŭigi Ĉion', + replaceSuccessMsg : '%1 anstataŭigita(j) apero(j).' }, // Table Dialog @@ -256,75 +257,75 @@ CKEDITOR.lang['eo'] = toolbar : 'Tabelo', title : 'Atributoj de Tabelo', menu : 'Atributoj de Tabelo', - deleteTable : 'Delete Table', // MISSING + deleteTable : 'Forigi Tabelon', rows : 'Linioj', columns : 'Kolumnoj', border : 'Bordero', - widthPx : 'Bitbilderoj', + widthPx : 'Rastrumeroj', widthPc : 'elcentoj', - widthUnit : 'width unit', // MISSING - cellSpace : 'Interspacigo de Ĉeloj', - cellPad : 'Ĉirkaŭenhava Plenigado', - caption : 'Titolo', - summary : 'Summary', // MISSING - headers : 'Headers', // MISSING - headersNone : 'None', // MISSING - headersColumn : 'First column', // MISSING - headersRow : 'First Row', // MISSING - headersBoth : 'Both', // MISSING - invalidRows : 'Number of rows must be a number greater than 0.', // MISSING - invalidCols : 'Number of columns must be a number greater than 0.', // MISSING - invalidBorder : 'Border size must be a number.', // MISSING - invalidWidth : 'Table width must be a number.', // MISSING - invalidHeight : 'Table height must be a number.', // MISSING - invalidCellSpacing : 'Cell spacing must be a positive number.', // MISSING - invalidCellPadding : 'Cell padding must be a positive number.', // MISSING + widthUnit : 'unuo de larĝo', + cellSpace : 'Spaco inter la Ĉeloj', + cellPad : 'Interna Marĝeno de la ĉeloj', + caption : 'Tabeltitolo', + summary : 'Resumo', + headers : 'Supraj Paĝotitoloj', + headersNone : 'Neniu', + headersColumn : 'Unua kolumno', + headersRow : 'Unua linio', + headersBoth : 'Ambaŭ', + invalidRows : 'La nombro de la linioj devas superi 0.', + invalidCols : 'La nombro de la kolumnoj devas superi 0.', + invalidBorder : 'La bordergrando devas esti nombro.', + invalidWidth : 'La tabellarĝo devas esti nombro.', + invalidHeight : 'La tabelalto devas esti nombro.', + invalidCellSpacing : 'La spaco inter la ĉeloj devas esti pozitiva nombro.', + invalidCellPadding : 'La interna marĝeno en la ĉeloj devas esti pozitiva nombro.', cell : { - menu : 'Cell', // MISSING - insertBefore : 'Insert Cell Before', // MISSING - insertAfter : 'Insert Cell After', // MISSING - deleteCell : 'Forigi Ĉelojn', - merge : 'Kunfandi Ĉelojn', - mergeRight : 'Merge Right', // MISSING - mergeDown : 'Merge Down', // MISSING - splitHorizontal : 'Split Cell Horizontally', // MISSING - splitVertical : 'Split Cell Vertically', // MISSING - title : 'Cell Properties', // MISSING - cellType : 'Cell Type', // MISSING - rowSpan : 'Rows Span', // MISSING - colSpan : 'Columns Span', // MISSING - wordWrap : 'Word Wrap', // MISSING - hAlign : 'Horizontal Alignment', // MISSING - vAlign : 'Vertical Alignment', // MISSING - alignBaseline : 'Baseline', // MISSING - bgColor : 'Background Color', // MISSING - borderColor : 'Border Color', // MISSING - data : 'Data', // MISSING - header : 'Header', // MISSING - yes : 'Yes', // MISSING - no : 'No', // MISSING - invalidWidth : 'Cell width must be a number.', // MISSING - invalidHeight : 'Cell height must be a number.', // MISSING - invalidRowSpan : 'Rows span must be a whole number.', // MISSING - invalidColSpan : 'Columns span must be a whole number.', // MISSING - chooseColor : 'Choose' // MISSING + menu : 'Ĉelo', + insertBefore : 'Enmeti Ĉelon Antaŭ', + insertAfter : 'Enmeti Ĉelon Post', + deleteCell : 'Forigi la Ĉelojn', + merge : 'Kunfandi la Ĉelojn', + mergeRight : 'Kunfandi dekstren', + mergeDown : 'Kunfandi malsupren ', + splitHorizontal : 'Horizontale dividi', + splitVertical : 'Vertikale dividi', + title : 'Ĉelatributoj', + cellType : 'Ĉeltipo', + rowSpan : 'Kunfando de linioj', + colSpan : 'Kunfando de kolumnoj', + wordWrap : 'Cezuro', + hAlign : 'Horizontala ĝisrandigo', + vAlign : 'Vertikala ĝisrandigo', + alignBaseline : 'Malsupro de la teksto', + bgColor : 'Fonkoloro', + borderColor : 'Borderkoloro', + data : 'Datenoj', + header : 'Supra paĝotitolo', + yes : 'Jes', + no : 'No', + invalidWidth : 'Ĉellarĝo devas esti nombro.', + invalidHeight : 'Ĉelalto devas esti nombro.', + invalidRowSpan : 'Kunfando de linioj devas esti entjera nombro.', + invalidColSpan : 'Kunfando de kolumnoj devas esti entjera nombro.', + chooseColor : 'Elektu' }, row : { - menu : 'Row', // MISSING - insertBefore : 'Insert Row Before', // MISSING - insertAfter : 'Insert Row After', // MISSING + menu : 'Linio', + insertBefore : 'Enmeti linion antaŭ', + insertAfter : 'Enmeti linion post', deleteRow : 'Forigi Liniojn' }, column : { - menu : 'Column', // MISSING - insertBefore : 'Insert Column Before', // MISSING - insertAfter : 'Insert Column After', // MISSING + menu : 'Kolumno', + insertBefore : 'Enmeti kolumnon antaŭ', + insertAfter : 'Enmeti kolumnon post', deleteColumn : 'Forigi Kolumnojn' } }, @@ -332,12 +333,12 @@ CKEDITOR.lang['eo'] = // Button Dialog. button : { - title : 'Butonaj Atributoj', + title : 'Butonaj atributoj', text : 'Teksto (Valoro)', type : 'Tipo', - typeBtn : 'Button', // MISSING - typeSbm : 'Submit', // MISSING - typeRst : 'Reset' // MISSING + typeBtn : 'Butono', + typeSbm : 'Validigi (submit)', + typeRst : 'Remeti en la originstaton (Reset)' }, // Checkbox and Radio Button Dialogs. @@ -346,7 +347,7 @@ CKEDITOR.lang['eo'] = checkboxTitle : 'Markobutonaj Atributoj', radioTitle : 'Radiobutonaj Atributoj', value : 'Valoro', - selected : 'Elektita' + selected : 'Selektita' }, // Form Dialog. @@ -356,14 +357,14 @@ CKEDITOR.lang['eo'] = menu : 'Formularaj Atributoj', action : 'Ago', method : 'Metodo', - encoding : 'Encoding' // MISSING + encoding : 'Kodoprezento' }, // Select Field Dialog. select : { title : 'Atributoj de Elekta Kampo', - selectInfo : 'Select Info', // MISSING + selectInfo : 'Informoj pri la rulummenuo', opAvail : 'Elektoj Disponeblaj', value : 'Valoro', size : 'Grando', @@ -384,7 +385,7 @@ CKEDITOR.lang['eo'] = { title : 'Atributoj de Teksta Areo', cols : 'Kolumnoj', - rows : 'Vicoj' + rows : 'Linioj' }, // Text Field Dialog. @@ -421,94 +422,94 @@ CKEDITOR.lang['eo'] = lockRatio : 'Konservi Proporcion', resetSize : 'Origina Grando', border : 'Bordero', - hSpace : 'HSpaco', - vSpace : 'VSpaco', - alertUrl : 'Bonvolu tajpi la URL de la bildo', - linkTab : 'Link', // MISSING - button2Img : 'Do you want to transform the selected image button on a simple image?', // MISSING - img2Button : 'Do you want to transform the selected image on a image button?', // MISSING - urlMissing : 'Image source URL is missing.', // MISSING - validateBorder : 'Border must be a whole number.', // MISSING - validateHSpace : 'HSpace must be a whole number.', // MISSING - validateVSpace : 'VSpace must be a whole number.' // MISSING + hSpace : 'Horizontala Spaco', + vSpace : 'Vertikala Spaco', + alertUrl : 'Bonvolu tajpi la retadreson de la bildo', + linkTab : 'Ligilo', + button2Img : 'Ĉu vi volas transformi la selektitan bildbutonon en simplan bildon?', + img2Button : 'Ĉu vi volas transformi la selektitan bildon en bildbutonon?', + urlMissing : 'La fontretadreso de la bildo mankas.', + validateBorder : 'La bordero devas esti entjera nombro.', + validateHSpace : 'La horizontala spaco devas esti entjera nombro.', + validateVSpace : 'La vertikala spaco devas esti entjera nombro.' }, // Flash Dialog flash : { - properties : 'Flash Properties', // MISSING - propertiesTab : 'Properties', // MISSING - title : 'Flash Properties', // MISSING - chkPlay : 'Auto Play', // MISSING - chkLoop : 'Loop', // MISSING - chkMenu : 'Enable Flash Menu', // MISSING - chkFull : 'Allow Fullscreen', // MISSING - scale : 'Scale', // MISSING - scaleAll : 'Show all', // MISSING - scaleNoBorder : 'No Border', // MISSING - scaleFit : 'Exact Fit', // MISSING - access : 'Script Access', // MISSING - accessAlways : 'Always', // MISSING - accessSameDomain: 'Same domain', // MISSING - accessNever : 'Never', // MISSING - alignAbsBottom : 'Abs Malsupre', - alignAbsMiddle : 'Abs Centre', - alignBaseline : 'Je Malsupro de Teksto', - alignTextTop : 'Je Supro de Teksto', - quality : 'Quality', // MISSING - qualityBest : 'Best', // MISSING - qualityHigh : 'High', // MISSING - qualityAutoHigh : 'Auto High', // MISSING - qualityMedium : 'Medium', // MISSING - qualityAutoLow : 'Auto Low', // MISSING - qualityLow : 'Low', // MISSING - windowModeWindow: 'Window', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent : 'Transparent', // MISSING - windowMode : 'Window mode', // MISSING - flashvars : 'Variables for Flash', // MISSING + properties : 'Flaŝatributoj', + propertiesTab : 'Atributoj', + title : 'Flaŝatributoj', + chkPlay : 'Aŭtomata legado', + chkLoop : 'Iteracio', + chkMenu : 'Ebligi flaŝmenuon', + chkFull : 'Permesi tutekranon', + scale : 'Skalo', + scaleAll : 'Montri ĉion', + scaleNoBorder : 'Neniu bordero', + scaleFit : 'Origina grando', + access : 'Atingi skriptojn', + accessAlways : 'Ĉiam', + accessSameDomain: 'Sama domajno', + accessNever : 'Neniam', + alignAbsBottom : 'Absoluta Malsupro', + alignAbsMiddle : 'Absoluta Centro', + alignBaseline : 'TekstoMalsupro', + alignTextTop : 'TekstoSupro', + quality : 'Kvalito', + qualityBest : 'Plej bona', + qualityHigh : 'Alta', + qualityAutoHigh : 'Aŭtomate alta', + qualityMedium : 'Meza', + qualityAutoLow : 'Aŭtomate malalta', + qualityLow : 'Malalta', + windowModeWindow: 'Fenestro', + windowModeOpaque: 'Opaka', + windowModeTransparent : 'Travidebla', + windowMode : 'Fenestra reĝimo', + flashvars : 'Variabloj por Flaŝo', bgcolor : 'Fona Koloro', - hSpace : 'HSpaco', - vSpace : 'VSpaco', - validateSrc : 'Bonvolu entajpi la URL-on', - validateHSpace : 'HSpace must be a number.', // MISSING - validateVSpace : 'VSpace must be a number.' // MISSING + hSpace : 'Horizontala Spaco', + vSpace : 'Vertikala Spaco', + validateSrc : 'Bonvolu entajpi la retadreson (URL)', + validateHSpace : 'Horizontala Spaco devas esti nombro.', + validateVSpace : 'Vertikala Spaco devas esti nombro.' }, // Speller Pages Dialog spellCheck : { - toolbar : 'Literumada Kontrolilo', - title : 'Spell Check', // MISSING - notAvailable : 'Sorry, but service is unavailable now.', // MISSING - errorLoading : 'Error loading application service host: %s.', // MISSING + toolbar : 'Kontroli la ortografion', + title : 'Kontroli la ortografion', + notAvailable : 'Bedaŭrinde la servo ne funkcias nuntempe.', + errorLoading : 'Eraro en la servoelŝuto el la gastiga komputiko: %s.', notInDic : 'Ne trovita en la vortaro', changeTo : 'Ŝanĝi al', - btnIgnore : 'Malatenti', - btnIgnoreAll : 'Malatenti Ĉiun', + btnIgnore : 'Ignori', + btnIgnoreAll : 'Ignori Ĉion', btnReplace : 'Anstataŭigi', - btnReplaceAll : 'Anstataŭigi Ĉiun', + btnReplaceAll : 'Anstataŭigi Ĉion', btnUndo : 'Malfari', noSuggestions : '- Neniu propono -', - progress : 'Literumkontrolado daŭras...', - noMispell : 'Literumkontrolado finita: neniu fuŝo trovita', - noChanges : 'Literumkontrolado finita: neniu vorto ŝanĝita', - oneChange : 'Literumkontrolado finita: unu vorto ŝanĝita', - manyChanges : 'Literumkontrolado finita: %1 vortoj ŝanĝitaj', - ieSpellDownload : 'Literumada Kontrolilo ne instalita. Ĉu vi volas elŝuti ĝin nun?' + progress : 'La ortografio estas kontrolata...', + noMispell : 'Ortografikontrolado finita: neniu eraro trovita', + noChanges : 'Ortografikontrolado finita: neniu vorto korektita', + oneChange : 'Ortografikontrolado finita: unu vorto korektita', + manyChanges : 'Ortografikontrolado finita: %1 vortoj korektitaj', + ieSpellDownload : 'Ortografikontrolilo ne instalita. Ĉu vi volas elŝuti ĝin nun?' }, smiley : { toolbar : 'Mienvinjeto', title : 'Enmeti Mienvinjeton', - options : 'Smiley Options' // MISSING + options : 'Opcioj pri mienvinjetoj' }, elementsPath : { - eleLabel : 'Elements path', // MISSING - eleTitle : '%1 element' // MISSING + eleLabel : 'Vojo al Elementoj', + eleTitle : '%1 elementoj' }, numberedlist : 'Numera Listo', @@ -518,63 +519,63 @@ CKEDITOR.lang['eo'] = justify : { - left : 'Maldekstrigi', + left : 'Ĝisrandigi maldekstren', center : 'Centrigi', - right : 'Dekstrigi', + right : 'Ĝisrandigi dekstren', block : 'Ĝisrandigi Ambaŭflanke' }, - blockquote : 'Block Quote', // MISSING + blockquote : 'Citaĵo', clipboard : { title : 'Interglui', cutError : 'La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-X).', copyError : 'La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras kopiajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-C).', - pasteMsg : 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', // MISSING - securityMsg : 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING - pasteArea : 'Paste Area' // MISSING + pasteMsg : 'Bonvolu glui la tekston en la jenan areon per uzado de la klavaro (Ctrl/Cmd+V) kaj premu OK', + securityMsg : 'Pro la sekurecagordo de via TTT-legilo, la redaktilo ne povas rekte atingi viajn datenojn en la poŝo. Bonvolu denove interglui la datenojn en tiun fenestron.', + pasteArea : 'Intergluoareo' }, pastefromword : { - confirmCleanup : 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + confirmCleanup : 'La teksto, kiun vi volas interglui, ŝajnas esti kopiita el Word. Ĉu vi deziras purigi ĝin antaŭ intergluo?', toolbar : 'Interglui el Word', title : 'Interglui el Word', - error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING + error : 'Ne eblis purigi la intergluitajn datenojn pro interna eraro' }, pasteText : { - button : 'Interglui kiel Tekston', - title : 'Interglui kiel Tekston' + button : 'Interglui kiel platan tekston', + title : 'Interglui kiel platan tekston' }, templates : { - button : 'Templates', // MISSING - title : 'Content Templates', // MISSING - options : 'Template Options', // MISSING - insertOption : 'Replace actual contents', // MISSING - selectPromptMsg : 'Please select the template to open in the editor', // MISSING - emptyListMsg : '(No templates defined)' // MISSING + button : 'Ŝablonoj', + title : 'Enhavo de ŝablonoj', + options : 'Opcioj pri ŝablonoj', + insertOption : 'Anstataŭigi la nunan enhavon', + selectPromptMsg : 'Bonvolu selekti la ŝablonon por malfermi ĝin en la redaktilo', + emptyListMsg : '(Neniu ŝablono difinita)' }, - showBlocks : 'Show Blocks', // MISSING + showBlocks : 'Montri la blokojn', stylesCombo : { - label : 'Stilo', - panelTitle : 'Formatting Styles', // MISSING - panelTitle1 : 'Block Styles', // MISSING - panelTitle2 : 'Inline Styles', // MISSING - panelTitle3 : 'Object Styles' // MISSING + label : 'Stiloj', + panelTitle : 'Stiloj pri enpaĝigo', + panelTitle1 : 'Stiloj de blokoj', + panelTitle2 : 'Enliniaj Stiloj', + panelTitle3 : 'Stiloj de objektoj' }, format : { label : 'Formato', - panelTitle : 'Formato', + panelTitle : 'ParagrafFormato', tag_p : 'Normala', tag_pre : 'Formatita', @@ -585,218 +586,218 @@ CKEDITOR.lang['eo'] = tag_h4 : 'Titolo 4', tag_h5 : 'Titolo 5', tag_h6 : 'Titolo 6', - tag_div : 'Paragrafo (DIV)' + tag_div : 'Normala (DIV)' }, div : { - title : 'Create Div Container', // MISSING - toolbar : 'Create Div Container', // MISSING - cssClassInputLabel : 'Stylesheet Classes', // MISSING - styleSelectLabel : 'Style', // MISSING - IdInputLabel : 'Id', // MISSING - languageCodeInputLabel : ' Language Code', // MISSING - inlineStyleInputLabel : 'Inline Style', // MISSING - advisoryTitleInputLabel : 'Advisory Title', // MISSING - langDirLabel : 'Language Direction', // MISSING - langDirLTRLabel : 'Left to Right (LTR)', // MISSING - langDirRTLLabel : 'Right to Left (RTL)', // MISSING - edit : 'Edit Div', // MISSING - remove : 'Remove Div' // MISSING + title : 'Krei DIV ujon', + toolbar : 'Krei DIV ujon', + cssClassInputLabel : 'Stilfolioklasoj', + styleSelectLabel : 'Stilo', + IdInputLabel : 'Id', + languageCodeInputLabel : ' Lingvokodo', + inlineStyleInputLabel : 'Enlinia stilo', + advisoryTitleInputLabel : 'Priskriba Titolo', + langDirLabel : 'Skribdirekto', + langDirLTRLabel : 'Maldekstre dekstren (angle LTR)', + langDirRTLLabel : 'Dekstre maldekstren (angle RTL)', + edit : 'Redakti Div', + remove : 'Forigi Div' }, iframe : { - title : 'IFrame Properties', // MISSING - toolbar : 'IFrame', // MISSING - noUrl : 'Please type the iframe URL', // MISSING - scrolling : 'Enable scrollbars', // MISSING - border : 'Show frame border' // MISSING + title : 'Atributoj de la enlinia kadro (IFrame)', + toolbar : 'Enlinia kadro (IFrame)', + noUrl : 'Bonvolu entajpi la retadreson de la ligilo al la enlinia kadro (IFrame)', + scrolling : 'Ebligi rulumskalon', + border : 'Montri borderon de kadro (frame)' }, font : { label : 'Tiparo', - voiceLabel : 'Font', // MISSING - panelTitle : 'Tiparo' + voiceLabel : 'Tiparo', + panelTitle : 'Tipara nomo' }, fontSize : { - label : 'Grando', - voiceLabel : 'Font Size', // MISSING - panelTitle : 'Grando' + label : 'Grado', + voiceLabel : 'Tipara grado', + panelTitle : 'Tipara grado' }, colorButton : { textColorTitle : 'Teksta Koloro', bgColorTitle : 'Fona Koloro', - panelTitle : 'Colors', // MISSING + panelTitle : 'Koloroj', auto : 'Aŭtomata', more : 'Pli da Koloroj...' }, colors : { - '000' : 'Black', // MISSING - '800000' : 'Maroon', // MISSING - '8B4513' : 'Saddle Brown', // MISSING - '2F4F4F' : 'Dark Slate Gray', // MISSING - '008080' : 'Teal', // MISSING - '000080' : 'Navy', // MISSING - '4B0082' : 'Indigo', // MISSING - '696969' : 'Dark Gray', // MISSING - 'B22222' : 'Fire Brick', // MISSING - 'A52A2A' : 'Brown', // MISSING - 'DAA520' : 'Golden Rod', // MISSING - '006400' : 'Dark Green', // MISSING - '40E0D0' : 'Turquoise', // MISSING - '0000CD' : 'Medium Blue', // MISSING - '800080' : 'Purple', // MISSING - '808080' : 'Gray', // MISSING - 'F00' : 'Red', // MISSING - 'FF8C00' : 'Dark Orange', // MISSING - 'FFD700' : 'Gold', // MISSING - '008000' : 'Green', // MISSING - '0FF' : 'Cyan', // MISSING - '00F' : 'Blue', // MISSING - 'EE82EE' : 'Violet', // MISSING - 'A9A9A9' : 'Dim Gray', // MISSING - 'FFA07A' : 'Light Salmon', // MISSING - 'FFA500' : 'Orange', // MISSING - 'FFFF00' : 'Yellow', // MISSING - '00FF00' : 'Lime', // MISSING - 'AFEEEE' : 'Pale Turquoise', // MISSING - 'ADD8E6' : 'Light Blue', // MISSING - 'DDA0DD' : 'Plum', // MISSING - 'D3D3D3' : 'Light Grey', // MISSING - 'FFF0F5' : 'Lavender Blush', // MISSING - 'FAEBD7' : 'Antique White', // MISSING - 'FFFFE0' : 'Light Yellow', // MISSING - 'F0FFF0' : 'Honeydew', // MISSING - 'F0FFFF' : 'Azure', // MISSING - 'F0F8FF' : 'Alice Blue', // MISSING - 'E6E6FA' : 'Lavender', // MISSING - 'FFF' : 'White' // MISSING + '000' : 'Nigra', + '800000' : 'Kaŝtankolora', + '8B4513' : 'Mezbruna', + '2F4F4F' : 'Ardezgriza', + '008080' : 'Marĉanaskolora', + '000080' : 'Maristblua', + '4B0082' : 'Indigokolora', + '696969' : 'Malhelgriza', + 'B22222' : 'Brikruĝa', + 'A52A2A' : 'Bruna', + 'DAA520' : 'Senbrilorkolora', + '006400' : 'Malhelverda', + '40E0D0' : 'Turkisblua', + '0000CD' : 'Reĝblua', + '800080' : 'Purpura', + '808080' : 'Griza', + 'F00' : 'Ruĝa', + 'FF8C00' : 'Malheloranĝkolora', + 'FFD700' : 'Orkolora', + '008000' : 'Verda', + '0FF' : 'Verdblua', + '00F' : 'Blua', + 'EE82EE' : 'Viola', + 'A9A9A9' : 'Mezgriza', + 'FFA07A' : 'Salmokolora', + 'FFA500' : 'Oranĝkolora', + 'FFFF00' : 'Flava', + '00FF00' : 'Limetkolora', + 'AFEEEE' : 'Helturkiskolora', + 'ADD8E6' : 'Helblua', + 'DDA0DD' : 'Prunkolora', + 'D3D3D3' : 'Helgriza', + 'FFF0F5' : 'Lavendkolora vangoŝminko', + 'FAEBD7' : 'Antikvablanka', + 'FFFFE0' : 'Helflava', + 'F0FFF0' : 'Vintromelonkolora', + 'F0FFFF' : 'Lazura', + 'F0F8FF' : 'Aliceblua', + 'E6E6FA' : 'Lavendkolora', + 'FFF' : 'Blanka' }, scayt : { - title : 'Spell Check As You Type', // MISSING - opera_title : 'Not supported by Opera', // MISSING - enable : 'Enable SCAYT', // MISSING - disable : 'Disable SCAYT', // MISSING - about : 'About SCAYT', // MISSING - toggle : 'Toggle SCAYT', // MISSING - options : 'Options', // MISSING - langs : 'Languages', // MISSING - moreSuggestions : 'More suggestions', // MISSING - ignore : 'Ignore', // MISSING - ignoreAll : 'Ignore All', // MISSING - addWord : 'Add Word', // MISSING - emptyDic : 'Dictionary name should not be empty.', // MISSING + title : 'OrtografiKontrolado Dum Vi Tajpas (OKDVT)', + opera_title : 'Ne subportata de Opera', + enable : 'Ebligi OKDVT', + disable : 'Malebligi OKDVT', + about : 'Pri OKDVT', + toggle : 'Baskuligi OKDVT', + options : 'Opcioj', + langs : 'Lingvoj', + moreSuggestions : 'Pli da sugestoj', + ignore : 'Ignori', + ignoreAll : 'Ignori ĉion', + addWord : 'Almeti la vorton', + emptyDic : 'La vortaronomo ne devus esti malplena.', - optionsTab : 'Options', // MISSING - allCaps : 'Ignore All-Caps Words', // MISSING - ignoreDomainNames : 'Ignore Domain Names', // MISSING - mixedCase : 'Ignore Words with Mixed Case', // MISSING - mixedWithDigits : 'Ignore Words with Numbers', // MISSING + optionsTab : 'Opcioj', + allCaps : 'Ignori la vortojn skribitajn nur per ĉefliteroj', + ignoreDomainNames : 'Ignori domajnajn nomojn', + mixedCase : 'Ignori vortojn kun miksa uskleco', + mixedWithDigits : 'Ignori vortojn kun nombroj', - languagesTab : 'Languages', // MISSING + languagesTab : 'Lingvoj', - dictionariesTab : 'Dictionaries', // MISSING - dic_field_name : 'Dictionary name', // MISSING - dic_create : 'Create', // MISSING - dic_restore : 'Restore', // MISSING - dic_delete : 'Delete', // MISSING - dic_rename : 'Rename', // MISSING - dic_info : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dictionariesTab : 'Vortaroj', + dic_field_name : 'Vortaronomo', + dic_create : 'Krei', + dic_restore : 'Restaŭri', + dic_delete : 'Forigi', + dic_rename : 'Renomi', + dic_info : 'Komence la vortaro de la uzanto estas konservita en kuketo. Tamen la kuketgrando estas limigita. Kiam la vortaro de la uzanto atingas grandon, kiu ne plu ebligas konservi ĝin en kuketo, tiam la vortaro povas esti konservata en niaj serviloj. Por konservi vian personan vortaron en nian servilon, vi devas indiki nomon por tiu vortaro. Se vi jam havas konservitan vortaron, bonvolu entajpi ties nomon kaj alklaki la restaŭrbutonon.', - aboutTab : 'About' // MISSING + aboutTab : 'Pri' }, about : { - title : 'About CKEditor', // MISSING - dlgTitle : 'About CKEditor', // MISSING - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING - moreInfo : 'For licensing information please visit our web site:', // MISSING - copy : 'Copyright © $1. All rights reserved.' // MISSING + title : 'Pri CKEditor', + dlgTitle : 'Pri CKEditor', + help : 'Kontroli $1 por helpo.', + userGuide : 'CKEditor Uzindikoj', + moreInfo : 'Por informoj pri licenco, bonvolu viziti nian retpaĝaron:', + copy : 'Copyright © $1. Ĉiuj rajtoj rezervitaj.' }, - maximize : 'Maximize', // MISSING - minimize : 'Minimize', // MISSING + maximize : 'Pligrandigi', + minimize : 'Malgrandigi', fakeobjects : { - anchor : 'Anchor', // MISSING - flash : 'Flash Animation', // MISSING - iframe : 'IFrame', // MISSING - hiddenfield : 'Hidden Field', // MISSING - unknown : 'Unknown Object' // MISSING + anchor : 'Ankro', + flash : 'FlaŝAnimacio', + iframe : 'Enlinia Kadro (IFrame)', + hiddenfield : 'Kaŝita kampo', + unknown : 'Nekonata objekto' }, - resize : 'Drag to resize', // MISSING + resize : 'Movigi por ŝanĝi la grandon', colordialog : { - title : 'Select color', // MISSING - options : 'Color Options', // MISSING - highlight : 'Highlight', // MISSING - selected : 'Selected Color', // MISSING - clear : 'Clear' // MISSING + title : 'Selekti koloron', + options : 'Opcioj pri koloroj', + highlight : 'Detaloj', + selected : 'Selektita koloro', + clear : 'Forigi' }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'Faldi la ilbreton', + toolbarExpand : 'Malfaldi la ilbreton', toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Dokumento', + clipboard : 'Poŝo/Malfari', + editing : 'Redaktado', + forms : 'Formularoj', + basicstyles : 'Bazaj stiloj', + paragraph : 'Paragrafo', + links : 'Ligiloj', + insert : 'Enmeti', + styles : 'Stiloj', + colors : 'Koloroj', + tools : 'Iloj' }, bidi : { - ltr : 'Text direction from left to right', // MISSING - rtl : 'Text direction from right to left' // MISSING + ltr : 'Tekstdirekto de maldekstre dekstren', + rtl : 'Tekstdirekto de dekstre maldekstren' }, docprops : { label : 'Dokumentaj Atributoj', title : 'Dokumentaj Atributoj', - design : 'Design', // MISSING - meta : 'Metadatumoj', - chooseColor : 'Choose', // MISSING - other : '', + design : 'Dizajno', + meta : 'Metadatenoj', + chooseColor : 'Elektu', + other : '', docTitle : 'Paĝotitolo', charset : 'Signara Kodo', charsetOther : 'Alia Signara Kodo', - charsetASCII : 'ASCII', // MISSING - charsetCE : 'Central European', // MISSING - charsetCT : 'Chinese Traditional (Big5)', // MISSING - charsetCR : 'Cyrillic', // MISSING - charsetGR : 'Greek', // MISSING - charsetJP : 'Japanese', // MISSING - charsetKR : 'Korean', // MISSING - charsetTR : 'Turkish', // MISSING - charsetUN : 'Unicode (UTF-8)', // MISSING - charsetWE : 'Western European', // MISSING + charsetASCII : 'ASCII', + charsetCE : 'Centra Eŭropa', + charsetCT : 'Tradicia Ĉina (Big5)', + charsetCR : 'Cirila', + charsetGR : 'Greka', + charsetJP : 'Japana', + charsetKR : 'Korea', + charsetTR : 'Turka', + charsetUN : 'Unikodo (UTF-8)', + charsetWE : 'Okcidenta Eŭropa', docType : 'Dokumenta Tipo', docTypeOther : 'Alia Dokumenta Tipo', - xhtmlDec : 'Inkluzivi XHTML Deklaroj', + xhtmlDec : 'Inkluzivi XHTML Deklarojn', bgColor : 'Fona Koloro', bgImage : 'URL de Fona Bildo', bgFixed : 'Neruluma Fono', @@ -806,10 +807,10 @@ CKEDITOR.lang['eo'] = marginLeft : 'Maldekstra', marginRight : 'Dekstra', marginBottom : 'Malsupra', - metaKeywords : 'Ŝlosilvortoj de la Dokumento (apartigita de komoj)', + metaKeywords : 'Ŝlosilvortoj de la Dokumento (apartigitaj de komoj)', metaDescription : 'Dokumenta Priskribo', metaAuthor : 'Verkinto', metaCopyright : 'Kopirajto', - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

Tio estas sampla teksto. Vi estas uzanta CKEditor.

' } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/es.js b/phpgwapi/js/ckeditor3/_source/lang/es.js index 9c5d4b013e..da315e05a0 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/es.js +++ b/phpgwapi/js/ckeditor3/_source/lang/es.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['es'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Editor de texto, %1, pulse ALT 0 para ayuda.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Barras de herramientas del editor', diff --git a/phpgwapi/js/ckeditor3/_source/lang/et.js b/phpgwapi/js/ckeditor3/_source/lang/et.js index 75e2644b93..859c70beea 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/et.js +++ b/phpgwapi/js/ckeditor3/_source/lang/et.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['et'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rikkalik tekstiredaktor %1, abi jaoks vajuta ALT 0.', + editorTitle : 'Vormindatud teksti redaktor %1', + editorHelp : 'Abi saamiseks vajuta ALT 0', // ARIA descriptions. toolbars : 'Redaktori tööriistaribad', @@ -124,7 +125,7 @@ CKEDITOR.lang['et'] = invalidCssLength : '"%1" välja jaoks määratud väärtus peab olema positiivne täisarv CSS ühikuga (px, %, in, cm, mm, em, ex, pt või pc) või ilma.', invalidHtmlLength : '"%1" välja jaoks määratud väärtus peab olema positiivne täisarv HTML ühikuga (px või %) või ilma.', invalidInlineStyle : 'Reasisese stiili määrangud peavad koosnema paarisväärtustest (tuples), mis on semikoolonitega eraldatult järgnevas vormingus: "nimi : väärtus".', - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + cssLengthTooltip : 'Sisesta väärtus pikslites või number koos sobiva CSS-i ühikuga (px, %, in, cm, mm, em, ex, pt või pc).', // Put the voice-only part of the label in the span. unavailable : '%1, pole saadaval' diff --git a/phpgwapi/js/ckeditor3/_source/lang/eu.js b/phpgwapi/js/ckeditor3/_source/lang/eu.js index 8b1c3baf53..cbb152275a 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/eu.js +++ b/phpgwapi/js/ckeditor3/_source/lang/eu.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['eu'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/fa.js b/phpgwapi/js/ckeditor3/_source/lang/fa.js index 1cb5860959..3173b25640 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/fa.js +++ b/phpgwapi/js/ckeditor3/_source/lang/fa.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['fa'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'ویرایشگر متن غنی, %1, کلید Alt+0 را برای راهنمایی بفشارید.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'نوار ابزار', diff --git a/phpgwapi/js/ckeditor3/_source/lang/fi.js b/phpgwapi/js/ckeditor3/_source/lang/fi.js index b12ad4cbb4..69cdc604ac 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/fi.js +++ b/phpgwapi/js/ckeditor3/_source/lang/fi.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['fi'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rikastekstieditori, %1, paina ALT 0 nähdäksesi ohjeen.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editorin työkalupalkit', diff --git a/phpgwapi/js/ckeditor3/_source/lang/fo.js b/phpgwapi/js/ckeditor3/_source/lang/fo.js index 8abe742728..9920906952 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/fo.js +++ b/phpgwapi/js/ckeditor3/_source/lang/fo.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,10 +31,11 @@ CKEDITOR.lang['fo'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, trýst ALT og 0 fyri vegleiðing.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING + toolbars : 'Editor toolbars', editor : 'Rich Text Editor', // Toolbar buttons without dialogs. @@ -121,10 +122,10 @@ CKEDITOR.lang['fo'] = alignBottom : 'Botnur', invalidHeight : 'Hædd má vera eitt tal.', invalidWidth : 'Breidd má vera eitt tal.', - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidCssLength : 'Virðið sett í "%1" feltið má vera eitt positivt tal, við ella uttan gyldugum CSS mátieind (px, %, in, cm, mm, em, ex, pt, ella pc).', + invalidHtmlLength : 'Virðið sett í "%1" feltiðield má vera eitt positivt tal, við ella uttan gyldugum CSS mátieind (px ella %).', + invalidInlineStyle : 'Virði specifiserað fyri inline style má hava eitt ella fleiri pør (tuples) skrivað sum "name : value", hvørt parið sundurskilt við semi-colon.', + cssLengthTooltip : 'Skriva eitt tal fyri eitt virði í pixels ella eitt tal við gyldigum CSS eind (px, %, in, cm, mm, em, ex, pt, ella pc).', // Put the voice-only part of the label in the span. unavailable : '%1, ikki tøkt' @@ -186,7 +187,7 @@ CKEDITOR.lang['fo'] = cssClasses : 'Typografi klassar', charset : 'Atknýtt teknsett', styles : 'Typografi', - rel : 'Relationship', // MISSING + rel : 'Relatión', selectAnchor : 'Vel ein marknastein', anchorName : 'Eftir navni á marknasteini', anchorId : 'Eftir element Id', @@ -206,7 +207,7 @@ CKEDITOR.lang['fo'] = title : 'Eginleikar fyri marknastein', name : 'Heiti marknasteinsins', errorName : 'Vinarliga rita marknasteinsins heiti', - remove : 'Remove Anchor' // MISSING + remove : 'Strika marknastein' }, // List style dialog @@ -242,7 +243,7 @@ CKEDITOR.lang['fo'] = findWhat : 'Finn:', replaceWith : 'Yvirskriva við:', notFoundMsg : 'Leititeksturin varð ikki funnin', - findOptions : 'Find Options', // MISSING + findOptions : 'Finn møguleikar', matchCase : 'Munur á stórum og smáum bókstavum', matchWord : 'Bert heil orð', matchCyclic : 'Match cyclic', @@ -491,10 +492,10 @@ CKEDITOR.lang['fo'] = btnUndo : 'Angra', noSuggestions : '- Einki uppskot -', progress : 'Rættstavarin arbeiðir...', - noMispell : 'Rættstavarain liðugur: Eingin feilur funnin', - noChanges : 'Rættstavarain liðugur: Einki orð varð broytt', - oneChange : 'Rættstavarain liðugur: Eitt orð er broytt', - manyChanges : 'Rættstavarain liðugur: %1 orð broytt', + noMispell : 'Rættstavarin liðugur: Eingin feilur funnin', + noChanges : 'Rættstavarin liðugur: Einki orð varð broytt', + oneChange : 'Rættstavarin liðugur: Eitt orð er broytt', + manyChanges : 'Rættstavarin liðugur: %1 orð broytt', ieSpellDownload : 'Rættstavarin er ikki tøkur í tekstviðgeranum. Vilt tú heinta hann nú?' }, @@ -711,7 +712,7 @@ CKEDITOR.lang['fo'] = dic_restore : 'Endurskapa', dic_delete : 'Strika', dic_rename : 'Broyt', - dic_info : 'Upprunaliga er brúkara-orðabókin goymd í eini cookie í tínum egna kaga. Men hesar eru avmarkaðar í stødd. Tá brúkara-orðabókin veksur seg ov stóra til eina cookie, so er møguligt at goyma hana á ambætara okkara. Fyri at goyma persónligu orðabókina á ambætaranum eigur tú at velja eitt navn til tína skuffu. Hevur tú longu goymt eina orðabók, so vinarliga skriva navnið og klikk á knøttin Endurskapa.', + dic_info : 'Upprunaliga er brúkara-orðabókin goymd í eini cookie í tínum egna kaga. Men hesar cookies eru avmarkaðar í stødd. Tá brúkara-orðabókin veksur seg ov stóra til eina cookie, so er møguligt at goyma hana á ambætara okkara. Fyri at goyma persónligu orðabókina á ambætaranum eigur tú at velja eitt navn til tína skuffu. Hevur tú longu goymt eina orðabók, so vinarliga skriva navnið og klikk á knøttin Endurskapa.', aboutTab : 'Um' }, @@ -720,8 +721,8 @@ CKEDITOR.lang['fo'] = { title : 'Um CKEditor', dlgTitle : 'Um CKEditor', - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING + help : 'Kekka $1 fyri hjálp.', + userGuide : 'CKEditor Brúkaravegleiðing', moreInfo : 'Licens upplýsingar finnast á heimasíðu okkara:', copy : 'Copyright © $1. All rights reserved.' }, @@ -754,17 +755,17 @@ CKEDITOR.lang['fo'] = toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Dokument', + clipboard : 'Clipboard/Undo', + editing : 'Editering', + forms : 'Formar', + basicstyles : 'Grundleggjandi Styles', + paragraph : 'Reglubrot', + links : 'Leinkjur', + insert : 'Set inn', + styles : 'Styles', + colors : 'Litir', + tools : 'Tól' }, bidi : @@ -777,14 +778,14 @@ CKEDITOR.lang['fo'] = { label : 'Eginleikar fyri dokument', title : 'Eginleikar fyri dokument', - design : 'Design', // MISSING + design : 'Design', meta : 'META-upplýsingar', chooseColor : 'Vel', other : '', docTitle : 'Síðuheiti', charset : 'Teknsett koda', charsetOther : 'Onnur teknsett koda', - charsetASCII : 'ASCII', // MISSING + charsetASCII : 'ASCII', charsetCE : 'Miðeuropa', charsetCT : 'Kinesiskt traditionelt (Big5)', charsetCR : 'Cyrilliskt', @@ -792,7 +793,7 @@ CKEDITOR.lang['fo'] = charsetJP : 'Japanskt', charsetKR : 'Koreanskt', charsetTR : 'Turkiskt', - charsetUN : 'Unicode (UTF-8)', // MISSING + charsetUN : 'Unicode (UTF-8)', charsetWE : 'Vestureuropa', docType : 'Dokumentslag yvirskrift', docTypeOther : 'Annað dokumentslag yvirskrift', @@ -810,6 +811,6 @@ CKEDITOR.lang['fo'] = metaDescription : 'Dokumentlýsing', metaAuthor : 'Høvundur', metaCopyright : 'Upphavsrættindi', - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

Hetta er ein royndartekstur. Tygum brúka CKEditor.

' } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/fr-ca.js b/phpgwapi/js/ckeditor3/_source/lang/fr-ca.js index 01475086c7..8ffbf54456 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/fr-ca.js +++ b/phpgwapi/js/ckeditor3/_source/lang/fr-ca.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['fr-ca'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/fr.js b/phpgwapi/js/ckeditor3/_source/lang/fr.js index 72b187da0f..a4a0bde58c 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/fr.js +++ b/phpgwapi/js/ckeditor3/_source/lang/fr.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,10 +31,11 @@ CKEDITOR.lang['fr'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Éditeur de Texte Enrichi, %1, appuyez sur ALT-0 pour l\'aide.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING + toolbars : 'Barre d\'outils de l\'éditeur', editor : 'Éditeur de Texte Enrichi', // Toolbar buttons without dialogs. @@ -121,10 +122,10 @@ CKEDITOR.lang['fr'] = alignBottom : 'Bas', invalidHeight : 'La hauteur doit être un nombre.', invalidWidth : 'La largeur doit être un nombre.', - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidCssLength : 'La valeur spécifiée pour le champ "%1" doit être un nombre positif avec ou sans unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, or pc).', + invalidHtmlLength : 'La valeur spécifiée pour le champ "%1" doit être un nombre positif avec ou sans unité de mesure HTML valide (px or %).', + invalidInlineStyle : 'La valeur spécifiée pour le style inline doit être composée d\'un ou plusieurs couples de valeur au format "nom : valeur", separés par des points-virgules.', + cssLengthTooltip : 'Entrer un nombre pour une valeur en pixels ou un nombre avec une unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, or pc).', // Put the voice-only part of the label in the span. unavailable : '%1, Indisponible' @@ -206,7 +207,7 @@ CKEDITOR.lang['fr'] = title : 'Propriétés de l\'ancre', name : 'Nom de l\'ancre', errorName : 'Veuillez entrer le nom de l\'ancre.', - remove : 'Remove Anchor' // MISSING + remove : 'Supprimer l\'ancre' }, // List style dialog @@ -242,7 +243,7 @@ CKEDITOR.lang['fr'] = findWhat : 'Expression à trouver: ', replaceWith : 'Remplacer par: ', notFoundMsg : 'Le texte spécifié ne peut être trouvé.', - findOptions : 'Find Options', // MISSING + findOptions : 'Options de recherche', matchCase : 'Respecter la casse', matchWord : 'Mot entier uniquement', matchCyclic : 'Boucler', @@ -698,7 +699,7 @@ CKEDITOR.lang['fr'] = emptyDic : 'Le nom du dictionnaire ne devrait pas être vide.', optionsTab : 'Options', - allCaps : 'Ignorer les mots entierement en majuscules', + allCaps : 'Ignorer les mots entièrement en majuscules', ignoreDomainNames : 'Ignorer les noms de domaines', mixedCase : 'Ignorer les mots à casse multiple', mixedWithDigits : 'Ignorer les mots contenant des chiffres', @@ -711,17 +712,17 @@ CKEDITOR.lang['fr'] = dic_restore : 'Restaurer', dic_delete : 'Effacer', dic_rename : 'Renommer', - dic_info : 'Initiallement, le dictionnaire de l\'utilisateur est stocké dans un cookie. Cependant, les cookies sont limités en taille. Quand le dictionnaire atteint une taille qu\'il n\'est plus possible de stocker dans un cookie, il peut alors être stocké sur nos serveurs. Afin de stocker votre dictionnaire personnel sur nos serveurs, vous devez spécifier un nom pour ce dictionnaire. Si vous avez déjà un dictionnaire stocké, merci de taper son nom puis cliquer sur Restaurer pour le récupérer.', + dic_info : 'Initialement, le dictionnaire de l\'utilisateur est stocké dans un cookie. Cependant, les cookies sont limités en taille. Quand le dictionnaire atteint une taille qu\'il n\'est plus possible de stocker dans un cookie, il peut alors être stocké sur nos serveurs. Afin de stocker votre dictionnaire personnel sur nos serveurs, vous devez spécifier un nom pour ce dictionnaire. Si vous avez déjà un dictionnaire stocké, merci de taper son nom puis cliquer sur Restaurer pour le récupérer.', aboutTab : 'À propos de' }, about : { - title : 'A propos de CKEditor', - dlgTitle : 'A propos de CKEditor', - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING + title : 'À propos de CKEditor', + dlgTitle : 'À propos de CKEditor', + help : 'Consulter $1 pour l\'aide.', + userGuide : 'Guide de l\'utilisateur CKEditor en anglais', moreInfo : 'Pour les informations de licence, veuillez visiter notre site web:', copy : 'Copyright © $1. Tous droits réservés.' }, @@ -754,17 +755,17 @@ CKEDITOR.lang['fr'] = toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Document', + clipboard : 'Presse-papier/Défaire', + editing : 'Editer', + forms : 'Formulaires', + basicstyles : 'Styles de base', + paragraph : 'Paragraphe', + links : 'Liens', + insert : 'Insérer', + styles : 'Styles', + colors : 'Couleurs', + tools : 'Outils' }, bidi : @@ -777,14 +778,14 @@ CKEDITOR.lang['fr'] = { label : 'Propriétés du document', title : 'Propriétés du document', - design : 'Design', // MISSING + design : 'Design', meta : 'Métadonnées', chooseColor : 'Choisissez', other : '', docTitle : 'Titre de la page', charset : 'Encodage de caractère', charsetOther : 'Autre encodage de caractère', - charsetASCII : 'ASCII', // MISSING + charsetASCII : 'ASCII', charsetCE : 'Europe Centrale', charsetCT : 'Chinois Traditionnel (Big5)', charsetCR : 'Cyrillique', @@ -792,7 +793,7 @@ CKEDITOR.lang['fr'] = charsetJP : 'Japonais', charsetKR : 'Coréen', charsetTR : 'Turc', - charsetUN : 'Unicode (UTF-8)', // MISSING + charsetUN : 'Unicode (UTF-8)', charsetWE : 'Occidental', docType : 'Type de document', docTypeOther : 'Autre type de document', @@ -809,7 +810,7 @@ CKEDITOR.lang['fr'] = metaKeywords : 'Mots-clés (séparés par des virgules)', metaDescription : 'Description', metaAuthor : 'Auteur', - metaCopyright : 'Copyright', // MISSING - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + metaCopyright : 'Copyright', + previewHtml : '

Ceci est un texte d\'exemple. Vous utilisez CKEditor.

' } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/gl.js b/phpgwapi/js/ckeditor3/_source/lang/gl.js index 343ceed080..abc4f4976f 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/gl.js +++ b/phpgwapi/js/ckeditor3/_source/lang/gl.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['gl'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/gu.js b/phpgwapi/js/ckeditor3/_source/lang/gu.js index ee7e29469f..eabc7f7ceb 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/gu.js +++ b/phpgwapi/js/ckeditor3/_source/lang/gu.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,11 +31,12 @@ CKEDITOR.lang['gu'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'એડીટર ટૂલ બાર', + editor : 'રીચ ટેક્ષ્ત્ એડીટર', // Toolbar buttons without dialogs. source : 'મૂળ કે પ્રાથમિક દસ્તાવેજ', @@ -56,7 +57,7 @@ CKEDITOR.lang['gu'] = superscript : 'એક ચિહ્ન ઉપર કરેલું બીજું ચિહ્ન.', horizontalrule : 'સમસ્તરીય રેખા ઇન્સર્ટ/દાખલ કરવી', pagebreak : 'ઇન્સર્ટ પેજબ્રેક/પાનાને અલગ કરવું/દાખલ કરવું', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'નવું પાનું', unlink : 'લિંક કાઢવી', undo : 'રદ કરવું; પહેલાં હતી એવી સ્થિતિ પાછી લાવવી', redo : 'રિડૂ; પછી હતી એવી સ્થિતિ પાછી લાવવી', @@ -93,23 +94,23 @@ CKEDITOR.lang['gu'] = cssStyle : 'સ્ટાઇલ', ok : 'ઠીક છે', cancel : 'રદ કરવું', - close : 'Close', // MISSING - preview : 'Preview', // MISSING - generalTab : 'General', // MISSING + close : 'બંધ કરવું', + preview : 'જોવું', + generalTab : 'જનરલ', advancedTab : 'અડ્વાન્સડ', - validateNumberFailed : 'This value is not a number.', // MISSING - confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING - confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING - cssClasses : 'Stylesheet Classes', // MISSING + validateNumberFailed : 'આ રકમ આકડો નથી.', + confirmNewPage : 'સવે કાર્ય વગરનું ફકરો ખોવાઈ જશે. તમને ખાતરી છે કે તમને નવું પાનું ખોલવું છે?', + confirmCancel : 'ઘણા વિકલ્પો બદલાયા છે. તમારે આ બોક્ષ્ બંધ કરવું છે?', + options : 'વિકલ્પો', + target : 'લક્ષ્ય', + targetNew : 'નવી વિન્ડો (_blank)', + targetTop : 'ઉપરની વિન્ડો (_top)', + targetSelf : 'એજ વિન્ડો (_self)', + targetParent : 'પેરનટ વિન્ડો (_parent)', + langDirLTR : 'ડાબે થી જમણે (LTR)', + langDirRTL : 'જમણે થી ડાબે (RTL)', + styles : 'શૈલી', + cssClasses : 'શૈલી કલાસીસ', width : 'પહોળાઈ', height : 'ઊંચાઈ', align : 'લાઇનદોરીમાં ગોઠવવું', @@ -119,20 +120,20 @@ CKEDITOR.lang['gu'] = alignTop : 'ઉપર', alignMiddle : 'વચ્ચે', alignBottom : 'નીચે', - invalidHeight : 'Height must be a number.', // MISSING - invalidWidth : 'Width must be a number.', // MISSING - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidHeight : 'ઉંચાઈ એક આંકડો હોવો જોઈએ.', + invalidWidth : 'પોહળ ઈ એક આંકડો હોવો જોઈએ.', + invalidCssLength : '"%1" ની વેલ્યુ એક પોસીટીવ આંકડો હોવો જોઈએ અથવા CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc) વગર.', + invalidHtmlLength : '"%1" ની વેલ્યુ એક પોસીટીવ આંકડો હોવો જોઈએ અથવા HTML measurement unit (px or %) વગર.', + invalidInlineStyle : 'ઈનલાઈન સ્ટાઈલ ની વેલ્યુ "name : value" ના ફોર્મેટ માં હોવી જોઈએ, વચ્ચે સેમી-કોલોન જોઈએ.', + cssLengthTooltip : 'પિક્ષ્લ્ નો આંકડો CSS unit (px, %, in, cm, mm, em, ex, pt, or pc) માં નાખો.', // Put the voice-only part of the label in the span. - unavailable : '%1, unavailable' // MISSING + unavailable : '%1, નથી મળતું' }, contextmenu : { - options : 'Context Menu Options' // MISSING + options : 'કોન્તેક્ષ્ત્ મેનુના વિકલ્પો' }, // Special char dialog. @@ -140,14 +141,14 @@ CKEDITOR.lang['gu'] = { toolbar : 'વિશિષ્ટ અક્ષર ઇન્સર્ટ/દાખલ કરવું', title : 'સ્પેશિઅલ વિશિષ્ટ અક્ષર પસંદ કરો', - options : 'Special Character Options' // MISSING + options : 'સ્પેશિઅલ કરેક્ટરના વિકલ્પો' }, // Link dialog. link : { toolbar : 'લિંક ઇન્સર્ટ/દાખલ કરવી', - other : '', // MISSING + other : ' <અન્ય>', menu : ' લિંક એડિટ/માં ફેરફાર કરવો', title : 'લિંક', info : 'લિંક ઇન્ફૉ ટૅબ', @@ -155,7 +156,7 @@ CKEDITOR.lang['gu'] = upload : 'અપલોડ', advanced : 'અડ્વાન્સડ', type : 'લિંક પ્રકાર', - toUrl : 'URL', // MISSING + toUrl : 'URL', toAnchor : 'આ પેજનો ઍંકર', toEmail : 'ઈ-મેલ', targetFrame : '<ફ્રેમ>', @@ -163,7 +164,7 @@ CKEDITOR.lang['gu'] = targetFrameName : 'ટાર્ગેટ ફ્રેમ નું નામ', targetPopupName : 'પૉપ-અપ વિન્ડો નું નામ', popupFeatures : 'પૉપ-અપ વિન્ડો ફીચરસૅ', - popupResizable : 'Resizable', // MISSING + popupResizable : 'રીસાઈઝએબલ', popupStatusBar : 'સ્ટૅટસ બાર', popupLocationBar: 'લોકેશન બાર', popupToolbar : 'ટૂલ બાર', @@ -173,7 +174,7 @@ CKEDITOR.lang['gu'] = popupDependent : 'ડિપેન્ડન્ટ (Netscape)', popupLeft : 'ડાબી બાજુ', popupTop : 'જમણી બાજુ', - id : 'Id', // MISSING + id : 'Id', langDir : 'ભાષા લેખવાની પદ્ધતિ', langDirLTR : 'ડાબે થી જમણે (LTR)', langDirRTL : 'જમણે થી ડાબે (RTL)', @@ -186,7 +187,7 @@ CKEDITOR.lang['gu'] = cssClasses : 'સ્ટાઇલ-શીટ ક્લાસ', charset : 'લિંક રિસૉર્સ કૅરિક્ટર સેટ', styles : 'સ્ટાઇલ', - rel : 'Relationship', // MISSING + rel : 'સંબંધની સ્થિતિ', selectAnchor : 'ઍંકર પસંદ કરો', anchorName : 'ઍંકર નામથી પસંદ કરો', anchorId : 'ઍંકર એલિમન્ટ Id થી પસંદ કરો', @@ -206,31 +207,31 @@ CKEDITOR.lang['gu'] = title : 'ઍંકરના ગુણ', name : 'ઍંકરનું નામ', errorName : 'ઍંકરનું નામ ટાઈપ કરો', - remove : 'Remove Anchor' // MISSING + remove : 'સ્થિર નકરવું' }, // List style dialog list: { - numberedTitle : 'Numbered List Properties', // MISSING - bulletedTitle : 'Bulleted List Properties', // MISSING - type : 'Type', // MISSING - start : 'Start', // MISSING - validateStartNumber :'List start number must be a whole number.', // MISSING - circle : 'Circle', // MISSING - disc : 'Disc', // MISSING - square : 'Square', // MISSING - none : 'None', // MISSING - notset : '', // MISSING - armenian : 'Armenian numbering', // MISSING - georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING - lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING - upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING - lowerAlpha : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING - upperAlpha : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING - lowerGreek : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING - decimal : 'Decimal (1, 2, 3, etc.)', // MISSING - decimalLeadingZero : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING + numberedTitle : 'આંકડાના લીસ્ટના ગુણ', + bulletedTitle : 'બુલેટેડ લીસ્ટના ગુણ', + type : 'પ્રકાર', + start : 'શરુ કરવું', + validateStartNumber :'લીસ્ટના સરુઆતનો આંકડો પુરો હોવો જોઈએ.', + circle : 'વર્તુળ', + disc : 'ડિસ્ક', + square : 'ચોરસ', + none : 'કસુ ', + notset : '<સેટ નથી>', + armenian : 'અરમેનિયન આંકડા પદ્ધતિ', + georgian : 'ગેઓર્ગિયન આંકડા પદ્ધતિ (an, ban, gan, etc.)', + lowerRoman : 'રોમન નાના (i, ii, iii, iv, v, etc.)', + upperRoman : 'રોમન મોટા (I, II, III, IV, V, etc.)', + lowerAlpha : 'આલ્ફા નાના (a, b, c, d, e, etc.)', + upperAlpha : 'આલ્ફા મોટા (A, B, C, D, E, etc.)', + lowerGreek : 'ગ્રીક નાના (alpha, beta, gamma, etc.)', + decimal : 'આંકડા (1, 2, 3, etc.)', + decimalLeadingZero : 'સુન્ય આગળ આંકડા (01, 02, 03, etc.)' }, // Find And Replace Dialog @@ -242,12 +243,12 @@ CKEDITOR.lang['gu'] = findWhat : 'આ શોધો', replaceWith : 'આનાથી બદલો', notFoundMsg : 'તમે શોધેલી ટેક્સ્ટ નથી મળી', - findOptions : 'Find Options', // MISSING + findOptions : 'વીકલ્પ શોધો', matchCase : 'કેસ સરખા રાખો', matchWord : 'બઘા શબ્દ સરખા રાખો', - matchCyclic : 'Match cyclic', // MISSING + matchCyclic : 'સરખાવવા બધા', replaceAll : 'બઘા બદલી ', - replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING + replaceSuccessMsg : '%1 ફેરફારો બાદલાયા છે.' }, // Table Dialog @@ -262,23 +263,23 @@ CKEDITOR.lang['gu'] = border : 'કોઠાની બાજુ(બોર્ડર) સાઇઝ', widthPx : 'પિકસલ', widthPc : 'પ્રતિશત', - widthUnit : 'width unit', // MISSING + widthUnit : 'પોહાલાઈ એકમ', cellSpace : 'સેલ અંતર', cellPad : 'સેલ પૅડિંગ', caption : 'મથાળું/કૅપ્શન ', summary : 'ટૂંકો એહેવાલ', - headers : 'Headers', // MISSING - headersNone : 'None', // MISSING - headersColumn : 'First column', // MISSING - headersRow : 'First Row', // MISSING - headersBoth : 'Both', // MISSING - invalidRows : 'Number of rows must be a number greater than 0.', // MISSING - invalidCols : 'Number of columns must be a number greater than 0.', // MISSING - invalidBorder : 'Border size must be a number.', // MISSING - invalidWidth : 'Table width must be a number.', // MISSING - invalidHeight : 'Table height must be a number.', // MISSING - invalidCellSpacing : 'Cell spacing must be a positive number.', // MISSING - invalidCellPadding : 'Cell padding must be a positive number.', // MISSING + headers : 'મથાળા', + headersNone : 'નથી ', + headersColumn : 'પહેલી ઊભી કટાર', + headersRow : 'પહેલી કટાર', + headersBoth : 'બેવું', + invalidRows : 'આડી કટાર, 0 કરતા વધારે હોવી જોઈએ.', + invalidCols : 'ઉભી કટાર, 0 કરતા વધારે હોવી જોઈએ.', + invalidBorder : 'બોર્ડર એક આંકડો હોવો જોઈએ', + invalidWidth : 'ટેબલની પોહલાઈ આંકડો હોવો જોઈએ.', + invalidHeight : 'ટેબલની ઊંચાઈ આંકડો હોવો જોઈએ.', + invalidCellSpacing : 'સેલ વચ્ચેની જગ્યા સુન્ય કરતા વધારે હોવી જોઈએ.', + invalidCellPadding : 'સેલની અંદરની જગ્યા સુન્ય કરતા વધારે હોવી જોઈએ.', cell : { @@ -291,25 +292,25 @@ CKEDITOR.lang['gu'] = mergeDown : 'નીચે ભેગા કરવા', splitHorizontal : 'કોષને સમસ્તરીય વિભાજન કરવું', splitVertical : 'કોષને સીધું ને ઊભું વિભાજન કરવું', - title : 'Cell Properties', // MISSING - cellType : 'Cell Type', // MISSING - rowSpan : 'Rows Span', // MISSING - colSpan : 'Columns Span', // MISSING - wordWrap : 'Word Wrap', // MISSING - hAlign : 'Horizontal Alignment', // MISSING - vAlign : 'Vertical Alignment', // MISSING - alignBaseline : 'Baseline', // MISSING - bgColor : 'Background Color', // MISSING - borderColor : 'Border Color', // MISSING - data : 'Data', // MISSING - header : 'Header', // MISSING - yes : 'Yes', // MISSING - no : 'No', // MISSING - invalidWidth : 'Cell width must be a number.', // MISSING - invalidHeight : 'Cell height must be a number.', // MISSING - invalidRowSpan : 'Rows span must be a whole number.', // MISSING - invalidColSpan : 'Columns span must be a whole number.', // MISSING - chooseColor : 'Choose' // MISSING + title : 'સેલના ગુણ', + cellType : 'સેલનો પ્રકાર', + rowSpan : 'આડી કટારની જગ્યા', + colSpan : 'ઊભી કતારની જગ્યા', + wordWrap : 'વર્ડ રેપ', + hAlign : 'સપાટ લાઈનદોરી', + vAlign : 'ઊભી લાઈનદોરી', + alignBaseline : 'બસે લાઈન', + bgColor : 'પાછાળનો રંગ', + borderColor : 'બોર્ડેર રંગ', + data : 'સ્વીકૃત માહિતી', + header : 'મથાળું', + yes : 'હા', + no : 'ના', + invalidWidth : 'સેલની પોહલાઈ આંકડો હોવો જોઈએ.', + invalidHeight : 'સેલની ઊંચાઈ આંકડો હોવો જોઈએ.', + invalidRowSpan : 'રો સ્પાન આંકડો હોવો જોઈએ.', + invalidColSpan : 'કોલમ સ્પાન આંકડો હોવો જોઈએ.', + chooseColor : 'પસંદ કરવું' }, row : @@ -356,7 +357,7 @@ CKEDITOR.lang['gu'] = menu : 'ફૉર્મ/પત્રકના ગુણ', action : 'ક્રિયા', method : 'પદ્ધતિ', - encoding : 'Encoding' // MISSING + encoding : 'અન્કોડીન્ગ' }, // Select Field Dialog. @@ -425,63 +426,63 @@ CKEDITOR.lang['gu'] = vSpace : 'લંબરૂપ જગ્યા', alertUrl : 'ચિત્રની URL ટાઇપ કરો', linkTab : 'લિંક', - button2Img : 'Do you want to transform the selected image button on a simple image?', // MISSING - img2Button : 'Do you want to transform the selected image on a image button?', // MISSING - urlMissing : 'Image source URL is missing.', // MISSING - validateBorder : 'Border must be a whole number.', // MISSING - validateHSpace : 'HSpace must be a whole number.', // MISSING - validateVSpace : 'VSpace must be a whole number.' // MISSING + button2Img : 'તમારે ઈમેજ બટનને સાદી ઈમેજમાં બદલવું છે.', + img2Button : 'તમારે સાદી ઈમેજને ઈમેજ બટનમાં બદલવું છે.', + urlMissing : 'ઈમેજની મૂળ URL છે નહી.', + validateBorder : 'બોર્ડેર આંકડો હોવો જોઈએ.', + validateHSpace : 'HSpaceઆંકડો હોવો જોઈએ.', + validateVSpace : 'VSpace આંકડો હોવો જોઈએ. ' }, // Flash Dialog flash : { properties : 'ફ્લૅશના ગુણ', - propertiesTab : 'Properties', // MISSING + propertiesTab : 'ગુણ', title : 'ફ્લૅશ ગુણ', chkPlay : 'ઑટો/સ્વયં પ્લે', chkLoop : 'લૂપ', chkMenu : 'ફ્લૅશ મેન્યૂ નો પ્રયોગ કરો', - chkFull : 'Allow Fullscreen', // MISSING + chkFull : 'ફૂલ સ્ક્રીન કરવું', scale : 'સ્કેલ', scaleAll : 'સ્કેલ ઓલ/બધુ બતાવો', scaleNoBorder : 'સ્કેલ બોર્ડર વગર', scaleFit : 'સ્કેલ એકદમ ફીટ', - access : 'Script Access', // MISSING - accessAlways : 'Always', // MISSING - accessSameDomain: 'Same domain', // MISSING - accessNever : 'Never', // MISSING + access : 'સ્ક્રીપ્ટ એક્સેસ', + accessAlways : 'હમેશાં', + accessSameDomain: 'એજ ડોમેન', + accessNever : 'નહી', alignAbsBottom : 'Abs નીચે', alignAbsMiddle : 'Abs ઉપર', alignBaseline : 'આધાર લીટી', alignTextTop : 'ટેક્સ્ટ ઉપર', - quality : 'Quality', // MISSING - qualityBest : 'Best', // MISSING - qualityHigh : 'High', // MISSING - qualityAutoHigh : 'Auto High', // MISSING - qualityMedium : 'Medium', // MISSING - qualityAutoLow : 'Auto Low', // MISSING - qualityLow : 'Low', // MISSING - windowModeWindow: 'Window', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent : 'Transparent', // MISSING - windowMode : 'Window mode', // MISSING - flashvars : 'Variables for Flash', // MISSING + quality : 'ગુણધર્મ', + qualityBest : 'શ્રેષ્ઠ', + qualityHigh : 'ઊંચું', + qualityAutoHigh : 'ઓટો ઊંચું', + qualityMedium : 'મધ્યમ', + qualityAutoLow : 'ઓટો નીચું', + qualityLow : 'નીચું', + windowModeWindow: 'વિન્ડો', + windowModeOpaque: 'અપારદર્શક', + windowModeTransparent : 'પારદર્શક', + windowMode : 'વિન્ડો મોડ', + flashvars : 'ફલેશ ના વિકલ્પો', bgcolor : 'બૅકગ્રાઉન્ડ રંગ,', hSpace : 'સમસ્તરીય જગ્યા', vSpace : 'લંબરૂપ જગ્યા', validateSrc : 'લિંક URL ટાઇપ કરો', - validateHSpace : 'HSpace must be a number.', // MISSING - validateVSpace : 'VSpace must be a number.' // MISSING + validateHSpace : 'HSpace આંકડો હોવો જોઈએ.', + validateVSpace : 'VSpace આંકડો હોવો જોઈએ.' }, // Speller Pages Dialog spellCheck : { toolbar : 'જોડણી (સ્પેલિંગ) તપાસવી', - title : 'Spell Check', // MISSING - notAvailable : 'Sorry, but service is unavailable now.', // MISSING - errorLoading : 'Error loading application service host: %s.', // MISSING + title : 'સ્પેલ ', + notAvailable : 'માફ કરશો, આ સુવિધા ઉપલબ્ધ નથી', + errorLoading : 'સર્વિસ એપ્લીકેશન લોડ નથી થ: %s.', notInDic : 'શબ્દકોશમાં નથી', changeTo : 'આનાથી બદલવું', btnIgnore : 'ઇગ્નોર/અવગણના કરવી', @@ -502,13 +503,13 @@ CKEDITOR.lang['gu'] = { toolbar : 'સ્માઇલી', title : 'સ્માઇલી પસંદ કરો', - options : 'Smiley Options' // MISSING + options : 'સમ્ય્લી વિકલ્પો' }, elementsPath : { - eleLabel : 'Elements path', // MISSING - eleTitle : '%1 element' // MISSING + eleLabel : 'એલીમેન્ટ્સ નો ', + eleTitle : 'એલીમેન્ટ %1' }, numberedlist : 'સંખ્યાંકન સૂચિ', @@ -533,15 +534,15 @@ CKEDITOR.lang['gu'] = copyError : 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કોપી કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+C) का प्रयोग करें।', pasteMsg : 'Ctrl/Cmd+V નો પ્રયોગ કરી પેસ્ટ કરો', securityMsg : 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસના કારણે,એડિટર તમારા કિલ્પબોર્ડ ડેટા ને કોપી નથી કરી શકતો. તમારે આ વિન્ડોમાં ફરીથી પેસ્ટ કરવું પડશે.', - pasteArea : 'Paste Area' // MISSING + pasteArea : 'પેસ્ટ કરવાની જગ્યા' }, pastefromword : { - confirmCleanup : 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + confirmCleanup : 'તમે જે ટેક્ષ્ત્ કોપી કરી રહ્યા છો ટે વર્ડ ની છે. કોપી કરતા પેહલા સાફ કરવી છે?', toolbar : 'પેસ્ટ (વડૅ ટેક્સ્ટ)', title : 'પેસ્ટ (વડૅ ટેક્સ્ટ)', - error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING + error : 'પેસ્ટ કરેલો ડેટા ઇન્ટરનલ એરર ના લીથે સાફ કરી શકાયો નથી.' }, pasteText : @@ -554,7 +555,7 @@ CKEDITOR.lang['gu'] = { button : 'ટેમ્પ્લેટ', title : 'કન્ટેન્ટ ટેમ્પ્લેટ', - options : 'Template Options', // MISSING + options : 'ટેમ્પ્લેટના વિકલ્પો', insertOption : 'મૂળ શબ્દને બદલો', selectPromptMsg : 'એડિટરમાં ઓપન કરવા ટેમ્પ્લેટ પસંદ કરો (વર્તમાન કન્ટેન્ટ સેવ નહીં થાય):', emptyListMsg : '(કોઈ ટેમ્પ્લેટ ડિફાઇન નથી)' @@ -565,10 +566,10 @@ CKEDITOR.lang['gu'] = stylesCombo : { label : 'શૈલી/રીત', - panelTitle : 'Formatting Styles', // MISSING - panelTitle1 : 'Block Styles', // MISSING - panelTitle2 : 'Inline Styles', // MISSING - panelTitle3 : 'Object Styles' // MISSING + panelTitle : 'ફોર્મેટ ', + panelTitle1 : 'બ્લોક ', + panelTitle2 : 'ઈનલાઈન ', + panelTitle3 : 'ઓબ્જેક્ટ પદ્ધતિ' }, format : @@ -590,41 +591,41 @@ CKEDITOR.lang['gu'] = div : { - title : 'Create Div Container', // MISSING - toolbar : 'Create Div Container', // MISSING - cssClassInputLabel : 'Stylesheet Classes', // MISSING - styleSelectLabel : 'Style', // MISSING - IdInputLabel : 'Id', // MISSING - languageCodeInputLabel : ' Language Code', // MISSING - inlineStyleInputLabel : 'Inline Style', // MISSING - advisoryTitleInputLabel : 'Advisory Title', // MISSING - langDirLabel : 'Language Direction', // MISSING - langDirLTRLabel : 'Left to Right (LTR)', // MISSING - langDirRTLLabel : 'Right to Left (RTL)', // MISSING - edit : 'Edit Div', // MISSING - remove : 'Remove Div' // MISSING + title : 'Div કન્ટેનર બનાવુંવું', + toolbar : 'Div કન્ટેનર બનાવુંવું', + cssClassInputLabel : 'સ્ટાઈલશીટ કલાસીસ', + styleSelectLabel : 'સ્ટાઈલ', + IdInputLabel : 'Id', + languageCodeInputLabel : 'ભાષાનો કોડ', + inlineStyleInputLabel : 'ઈનલાઈન પદ્ધતિ', + advisoryTitleInputLabel : 'એડવાઈઝર શીર્ષક', + langDirLabel : 'ભાષાની દિશા', + langDirLTRLabel : 'ડાબે થી જમણે (LTR)', + langDirRTLLabel : 'જમણે થી ડાબે (RTL)', + edit : 'ડીવીમાં ફેરફાર કરવો', + remove : 'ડીવી કાઢી કાઢવું' }, iframe : { - title : 'IFrame Properties', // MISSING - toolbar : 'IFrame', // MISSING - noUrl : 'Please type the iframe URL', // MISSING - scrolling : 'Enable scrollbars', // MISSING - border : 'Show frame border' // MISSING + title : 'IFrame વિકલ્પો', + toolbar : 'IFrame', + noUrl : 'iframe URL ટાઈપ્ કરો', + scrolling : 'સ્ક્રોલબાર ચાલુ કરવા', + border : 'ફ્રેમ બોર્ડેર બતાવવી' }, font : { label : 'ફૉન્ટ', - voiceLabel : 'Font', // MISSING + voiceLabel : 'ફોન્ટ', panelTitle : 'ફૉન્ટ' }, fontSize : { label : 'ફૉન્ટ સાઇઝ/કદ', - voiceLabel : 'Font Size', // MISSING + voiceLabel : 'ફોન્ટ સાઈઝ', panelTitle : 'ફૉન્ટ સાઇઝ/કદ' }, @@ -632,159 +633,159 @@ CKEDITOR.lang['gu'] = { textColorTitle : 'શબ્દનો રંગ', bgColorTitle : 'બૅકગ્રાઉન્ડ રંગ,', - panelTitle : 'Colors', // MISSING + panelTitle : 'રંગ', auto : 'સ્વચાલિત', more : 'ઔર રંગ...' }, colors : { - '000' : 'Black', // MISSING - '800000' : 'Maroon', // MISSING - '8B4513' : 'Saddle Brown', // MISSING - '2F4F4F' : 'Dark Slate Gray', // MISSING - '008080' : 'Teal', // MISSING - '000080' : 'Navy', // MISSING - '4B0082' : 'Indigo', // MISSING - '696969' : 'Dark Gray', // MISSING - 'B22222' : 'Fire Brick', // MISSING - 'A52A2A' : 'Brown', // MISSING - 'DAA520' : 'Golden Rod', // MISSING - '006400' : 'Dark Green', // MISSING - '40E0D0' : 'Turquoise', // MISSING - '0000CD' : 'Medium Blue', // MISSING - '800080' : 'Purple', // MISSING - '808080' : 'Gray', // MISSING - 'F00' : 'Red', // MISSING - 'FF8C00' : 'Dark Orange', // MISSING - 'FFD700' : 'Gold', // MISSING - '008000' : 'Green', // MISSING - '0FF' : 'Cyan', // MISSING - '00F' : 'Blue', // MISSING - 'EE82EE' : 'Violet', // MISSING - 'A9A9A9' : 'Dim Gray', // MISSING - 'FFA07A' : 'Light Salmon', // MISSING - 'FFA500' : 'Orange', // MISSING - 'FFFF00' : 'Yellow', // MISSING - '00FF00' : 'Lime', // MISSING - 'AFEEEE' : 'Pale Turquoise', // MISSING - 'ADD8E6' : 'Light Blue', // MISSING - 'DDA0DD' : 'Plum', // MISSING - 'D3D3D3' : 'Light Grey', // MISSING - 'FFF0F5' : 'Lavender Blush', // MISSING - 'FAEBD7' : 'Antique White', // MISSING - 'FFFFE0' : 'Light Yellow', // MISSING - 'F0FFF0' : 'Honeydew', // MISSING - 'F0FFFF' : 'Azure', // MISSING - 'F0F8FF' : 'Alice Blue', // MISSING - 'E6E6FA' : 'Lavender', // MISSING - 'FFF' : 'White' // MISSING + '000' : 'કાળો', + '800000' : 'મરુન', + '8B4513' : 'છીક', + '2F4F4F' : 'ડાર્ક સ્લેટ ગ્રે ', + '008080' : 'ટીલ', + '000080' : 'નેવી', + '4B0082' : 'જામલી', + '696969' : 'ડાર્ક ગ્રે', + 'B22222' : 'ઈટ', + 'A52A2A' : 'બ્રાઉન', + 'DAA520' : 'ગોલ્ડન રોડ', + '006400' : 'ડાર્ક લીલો', + '40E0D0' : 'ટ્રકોઈસ', + '0000CD' : 'મધ્યમ વાદળી', + '800080' : 'પર્પલ', + '808080' : 'ગ્રે', + 'F00' : 'લાલ', + 'FF8C00' : 'ડાર્ક ઓરંજ', + 'FFD700' : 'ગોલ્ડ', + '008000' : 'ગ્રીન', + '0FF' : 'સાયન', + '00F' : 'વાદળી', + 'EE82EE' : 'વાયોલેટ', + 'A9A9A9' : 'ડીમ ', + 'FFA07A' : 'લાઈટ સાલમન', + 'FFA500' : 'ઓરંજ', + 'FFFF00' : 'પીળો', + '00FF00' : 'લાઈમ', + 'AFEEEE' : 'પેલ કોઈસ', + 'ADD8E6' : 'લાઈટ બ્લુ', + 'DDA0DD' : 'પલ્મ', + 'D3D3D3' : 'લાઈટ ગ્રે', + 'FFF0F5' : 'લવંડર ', + 'FAEBD7' : 'એન્ટીક સફેદ', + 'FFFFE0' : 'લાઈટ પીળો', + 'F0FFF0' : 'હનીડઉય', + 'F0FFFF' : 'અઝુરે', + 'F0F8FF' : 'એલીસ બ્લુ', + 'E6E6FA' : 'લવંડર', + 'FFF' : 'સફેદ' }, scayt : { - title : 'Spell Check As You Type', // MISSING - opera_title : 'Not supported by Opera', // MISSING - enable : 'Enable SCAYT', // MISSING - disable : 'Disable SCAYT', // MISSING - about : 'About SCAYT', // MISSING - toggle : 'Toggle SCAYT', // MISSING - options : 'Options', // MISSING - langs : 'Languages', // MISSING - moreSuggestions : 'More suggestions', // MISSING - ignore : 'Ignore', // MISSING - ignoreAll : 'Ignore All', // MISSING - addWord : 'Add Word', // MISSING - emptyDic : 'Dictionary name should not be empty.', // MISSING + title : 'ટાઈપ કરતા સ્પેલ તપાસો', + opera_title : 'ઓપેરામાં સપોર્ટ નથી', + enable : 'SCAYT એનેબલ કરવું', + disable : 'SCAYT ડિસેબલ કરવું', + about : 'SCAYT વિષે', + toggle : 'SCAYT ટોગલ', + options : 'વિકલ્પો', + langs : 'ભાષાઓ', + moreSuggestions : 'વધારે વિકલ્પો', + ignore : 'ઇગ્નોર', + ignoreAll : 'બધા ઇગ્નોર ', + addWord : 'શબ્દ ઉમેરવો', + emptyDic : 'ડિક્સનરીનું નામ ખાલી ના હોય.', - optionsTab : 'Options', // MISSING - allCaps : 'Ignore All-Caps Words', // MISSING - ignoreDomainNames : 'Ignore Domain Names', // MISSING - mixedCase : 'Ignore Words with Mixed Case', // MISSING - mixedWithDigits : 'Ignore Words with Numbers', // MISSING + optionsTab : 'વિકલ્પો', + allCaps : 'ઓલ-કેપ્સ વર્ડ છોડી દો.', + ignoreDomainNames : 'ડોમેન નામ છોડી દો.', + mixedCase : 'મિક્સ કેસ વર્ડ છોડી દો.', + mixedWithDigits : 'આંકડા વાળા શબ્દ છોડી દો.', - languagesTab : 'Languages', // MISSING + languagesTab : 'ભાષા', - dictionariesTab : 'Dictionaries', // MISSING - dic_field_name : 'Dictionary name', // MISSING - dic_create : 'Create', // MISSING - dic_restore : 'Restore', // MISSING - dic_delete : 'Delete', // MISSING - dic_rename : 'Rename', // MISSING - dic_info : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dictionariesTab : 'શબ્દકોશ', + dic_field_name : 'શબ્દકોશ નામ', + dic_create : 'બનાવવું', + dic_restore : 'પાછું ', + dic_delete : 'કાઢી નાખવું', + dic_rename : 'નવું નામ આપવું', + dic_info : 'પેહલા User Dictionary, Cookie તરીકે સ્ટોર થાય છે. પણ Cookie ની સમતા ઓછી છે. જયારે User Dictionary, Cookie તરીકે સ્ટોર ના કરી શકાય, ત્યારે તે અમારા સર્વર પર સ્ટોર થાય છે. તમારી વ્યતિગત ડીકસ્નરી ને સર્વર પર સ્ટોર કરવા માટે તમારે તેનું નામ આપવું પડશે. જો તમે તમારી ડીકસ્નરી નું નામ આપેલું હોય તો તમે રિસ્ટોર બટન ક્લીક કરી શકો.', - aboutTab : 'About' // MISSING + aboutTab : 'વિષે' }, about : { - title : 'About CKEditor', // MISSING - dlgTitle : 'About CKEditor', // MISSING - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING - moreInfo : 'For licensing information please visit our web site:', // MISSING - copy : 'Copyright © $1. All rights reserved.' // MISSING + title : 'CKEditor વિષે', + dlgTitle : 'CKEditor વિષે', + help : 'મદદ માટે $1 તપાસો', + userGuide : 'CKEditor યુઝર્સ ગાઈડ', + moreInfo : 'લાયસનસની માહિતી માટે અમારી વેબ સાઈટ', + copy : 'કોપીરાઈટ © $1. ઓલ રાઈટ્સ ' }, - maximize : 'Maximize', // MISSING - minimize : 'Minimize', // MISSING + maximize : 'મોટું કરવું', + minimize : 'નાનું કરવું', fakeobjects : { - anchor : 'Anchor', // MISSING - flash : 'Flash Animation', // MISSING - iframe : 'IFrame', // MISSING - hiddenfield : 'Hidden Field', // MISSING - unknown : 'Unknown Object' // MISSING + anchor : 'અનકર', + flash : 'ફ્લેશ ', + iframe : 'IFrame', + hiddenfield : 'હિડન ', + unknown : 'અનનોન ઓબ્જેક્ટ' }, - resize : 'Drag to resize', // MISSING + resize : 'ખેંચી ને યોગ્ય કરવું', colordialog : { - title : 'Select color', // MISSING - options : 'Color Options', // MISSING - highlight : 'Highlight', // MISSING - selected : 'Selected Color', // MISSING - clear : 'Clear' // MISSING + title : 'રંગ પસંદ કરો', + options : 'રંગના વિકલ્પ', + highlight : 'હાઈઈટ', + selected : 'પસંદ કરેલો રંગ', + clear : 'સાફ કરવું' }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'ટૂલબાર નાનું કરવું', + toolbarExpand : 'ટૂલબાર મોટું કરવું', toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'દસ્તાવેજ', + clipboard : 'ક્લિપબોર્ડ/અન', + editing : 'એડીટ કરવું', + forms : 'ફોર્મ', + basicstyles : 'બેસિક્ સ્ટાઇલ', + paragraph : 'ફકરો', + links : 'લીંક', + insert : 'ઉમેરવું', + styles : 'સ્ટાઇલ', + colors : 'રંગ', + tools : 'ટૂલ્સ' }, bidi : { - ltr : 'Text direction from left to right', // MISSING - rtl : 'Text direction from right to left' // MISSING + ltr : 'ટેક્ષ્ત્ ની દિશા ડાબે થી જમણે', + rtl : 'ટેક્ષ્ત્ ની દિશા જમણે થી ડાબે' }, docprops : { label : 'ડૉક્યુમન્ટ ગુણ/પ્રૉપર્ટિઝ', title : 'ડૉક્યુમન્ટ ગુણ/પ્રૉપર્ટિઝ', - design : 'Design', // MISSING + design : 'ડીસા', meta : 'મેટાડૅટા', - chooseColor : 'Choose', // MISSING + chooseColor : 'વિકલ્પ', other : '', docTitle : 'પેજ મથાળું/ટાઇટલ', charset : 'કેરેક્ટર સેટ એન્કોડિંગ', charsetOther : 'અન્ય કેરેક્ટર સેટ એન્કોડિંગ', - charsetASCII : 'ASCII', // MISSING + charsetASCII : 'ASCII', charsetCE : 'મધ્ય યુરોપિઅન (Central European)', charsetCT : 'ચાઇનીઝ (Chinese Traditional Big5)', charsetCR : 'સિરીલિક (Cyrillic)', @@ -810,6 +811,6 @@ CKEDITOR.lang['gu'] = metaDescription : 'ડૉક્યુમન્ટ વર્ણન', metaAuthor : 'લેખક', metaCopyright : 'કૉપિરાઇટ', - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

આ એક સેમ્પલ ટેક્ષ્ત્ છે. તમે CKEditor વાપરો છો.

' } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/he.js b/phpgwapi/js/ckeditor3/_source/lang/he.js index 8645545bcc..c98c3d2e02 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/he.js +++ b/phpgwapi/js/ckeditor3/_source/lang/he.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['he'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'עורך טקסט עשיר, %1, לחץ אלט (ALT) + 0 לעזרה.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'סרגלי כלים של העורך', diff --git a/phpgwapi/js/ckeditor3/_source/lang/hi.js b/phpgwapi/js/ckeditor3/_source/lang/hi.js index ebf8d6a622..240af00a4c 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/hi.js +++ b/phpgwapi/js/ckeditor3/_source/lang/hi.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,11 +31,12 @@ CKEDITOR.lang['hi'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'एडिटर टूलबार', + editor : 'रिच टेक्स्ट एडिटर', // Toolbar buttons without dialogs. source : 'सोर्स', @@ -56,7 +57,7 @@ CKEDITOR.lang['hi'] = superscript : 'अभिलेख', horizontalrule : 'हॉरिज़ॉन्टल रेखा इन्सर्ट करें', pagebreak : 'पेज ब्रेक इन्सर्ट् करें', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'पेज ब्रेक', unlink : 'लिंक हटायें', undo : 'अन्डू', redo : 'रीडू', @@ -726,8 +727,8 @@ CKEDITOR.lang['hi'] = copy : 'Copyright © $1. All rights reserved.' // MISSING }, - maximize : 'Maximize', // MISSING - minimize : 'Minimize', // MISSING + maximize : 'मेक्सिमाईज़', + minimize : 'मिनिमाईज़', fakeobjects : { diff --git a/phpgwapi/js/ckeditor3/_source/lang/hr.js b/phpgwapi/js/ckeditor3/_source/lang/hr.js index 182571e9b5..1d442b08f7 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/hr.js +++ b/phpgwapi/js/ckeditor3/_source/lang/hr.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,11 +31,12 @@ CKEDITOR.lang['hr'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Alatne trake uređivača teksta', + editor : 'Bogati uređivač teksta', // Toolbar buttons without dialogs. source : 'Kôd', @@ -56,7 +57,7 @@ CKEDITOR.lang['hr'] = superscript : 'Superscript', horizontalrule : 'Ubaci vodoravnu liniju', pagebreak : 'Ubaci prijelom stranice', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'Prijelom stranice', unlink : 'Ukloni link', undo : 'Poništi', redo : 'Ponovi', @@ -93,23 +94,23 @@ CKEDITOR.lang['hr'] = cssStyle : 'Stil', ok : 'OK', cancel : 'Poništi', - close : 'Close', // MISSING - preview : 'Preview', // MISSING + close : 'Zatvori', + preview : 'Pregledaj', generalTab : 'Općenito', advancedTab : 'Napredno', validateNumberFailed : 'Ova vrijednost nije broj.', confirmNewPage : 'Sve napravljene promjene će biti izgubljene ukoliko ih niste snimili. Sigurno želite učitati novu stranicu?', confirmCancel : 'Neke od opcija su promjenjene. Sigurno želite zatvoriti ovaj prozor?', - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING - cssClasses : 'Stylesheet Classes', // MISSING + options : 'Opcije', + target : 'Odredište', + targetNew : 'Novi prozor (_blank)', + targetTop : 'Vršni prozor (_top)', + targetSelf : 'Isti prozor (_self)', + targetParent : 'Roditeljski prozor (_parent)', + langDirLTR : 'S lijeva na desno (LTR)', + langDirRTL : 'S desna na lijevo (RTL)', + styles : 'Stil', + cssClasses : 'Klase stilova', width : 'Širina', height : 'Visina', align : 'Poravnaj', @@ -121,10 +122,10 @@ CKEDITOR.lang['hr'] = alignBottom : 'Dolje', invalidHeight : 'Visina mora biti broj.', invalidWidth : 'Širina mora biti broj.', - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidCssLength : 'Vrijednost određena za "%1" polje mora biti pozitivni broj sa ili bez važećih CSS mjernih jedinica (px, %, in, cm, mm, em, ex, pt ili pc).', + invalidHtmlLength : 'Vrijednost određena za "%1" polje mora biti pozitivni broj sa ili bez važećih HTML mjernih jedinica (px ili %).', + invalidInlineStyle : 'Vrijednost za linijski stil mora sadržavati jednu ili više definicija s formatom "naziv:vrijednost", odvojenih točka-zarezom.', + cssLengthTooltip : 'Unesite broj za vrijednost u pikselima ili broj s važećim CSS mjernim jedinicama (px, %, in, cm, mm, em, ex, pt ili pc).', // Put the voice-only part of the label in the span. unavailable : '%1, nedostupno' @@ -132,7 +133,7 @@ CKEDITOR.lang['hr'] = contextmenu : { - options : 'Context Menu Options' // MISSING + options : 'Opcije izbornika' }, // Special char dialog. @@ -140,7 +141,7 @@ CKEDITOR.lang['hr'] = { toolbar : 'Ubaci posebne znakove', title : 'Odaberite posebni karakter', - options : 'Special Character Options' // MISSING + options : 'Opcije specijalnih znakova' }, // Link dialog. @@ -155,7 +156,7 @@ CKEDITOR.lang['hr'] = upload : 'Pošalji', advanced : 'Napredno', type : 'Link vrsta', - toUrl : 'URL', // MISSING + toUrl : 'URL', toAnchor : 'Sidro na ovoj stranici', toEmail : 'E-Mail', targetFrame : '', @@ -186,7 +187,7 @@ CKEDITOR.lang['hr'] = cssClasses : 'Stylesheet klase', charset : 'Kodna stranica povezanih resursa', styles : 'Stil', - rel : 'Relationship', // MISSING + rel : 'Veza', selectAnchor : 'Odaberi sidro', anchorName : 'Po nazivu sidra', anchorId : 'Po Id elementa', @@ -206,31 +207,31 @@ CKEDITOR.lang['hr'] = title : 'Svojstva sidra', name : 'Ime sidra', errorName : 'Molimo unesite ime sidra', - remove : 'Remove Anchor' // MISSING + remove : 'Ukloni sidro' }, // List style dialog list: { - numberedTitle : 'Numbered List Properties', // MISSING - bulletedTitle : 'Bulleted List Properties', // MISSING - type : 'Type', // MISSING - start : 'Start', // MISSING - validateStartNumber :'List start number must be a whole number.', // MISSING - circle : 'Circle', // MISSING - disc : 'Disc', // MISSING - square : 'Square', // MISSING - none : 'None', // MISSING - notset : '', // MISSING - armenian : 'Armenian numbering', // MISSING - georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING - lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING - upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING - lowerAlpha : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING - upperAlpha : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING - lowerGreek : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING - decimal : 'Decimal (1, 2, 3, etc.)', // MISSING - decimalLeadingZero : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING + numberedTitle : 'Svojstva brojčane liste', + bulletedTitle : 'Svojstva liste', + type : 'Vrsta', + start : 'Početak', + validateStartNumber :'Početak brojčane liste mora biti cijeli broj.', + circle : 'Krug', + disc : 'Disk', + square : 'Kvadrat', + none : 'Bez', + notset : '', + armenian : 'Armenijska numeracija', + georgian : 'Gruzijska numeracija(an, ban, gan, etc.)', + lowerRoman : 'Romanska numeracija mala slova (i, ii, iii, iv, v, itd.)', + upperRoman : 'Romanska numeracija velika slova (I, II, III, IV, V, itd.)', + lowerAlpha : 'Znakovi mala slova (a, b, c, d, e, itd.)', + upperAlpha : 'Znakovi velika slova (A, B, C, D, E, itd.)', + lowerGreek : 'Grčka numeracija mala slova (alfa, beta, gama, itd).', + decimal : 'Decimalna numeracija (1, 2, 3, itd.)', + decimalLeadingZero : 'Decimalna s vodećom nulom (01, 02, 03, itd)' }, // Find And Replace Dialog @@ -242,7 +243,7 @@ CKEDITOR.lang['hr'] = findWhat : 'Pronađi:', replaceWith : 'Zamijeni s:', notFoundMsg : 'Traženi tekst nije pronađen.', - findOptions : 'Find Options', // MISSING + findOptions : 'Opcije traženja', matchCase : 'Usporedi mala/velika slova', matchWord : 'Usporedi cijele riječi', matchCyclic : 'Usporedi kružno', @@ -262,7 +263,7 @@ CKEDITOR.lang['hr'] = border : 'Veličina okvira', widthPx : 'piksela', widthPc : 'postotaka', - widthUnit : 'width unit', // MISSING + widthUnit : 'jedinica širine', cellSpace : 'Prostornost ćelija', cellPad : 'Razmak ćelija', caption : 'Naslov', @@ -309,7 +310,7 @@ CKEDITOR.lang['hr'] = invalidHeight : 'Visina ćelije mora biti broj.', invalidRowSpan : 'Rows span mora biti cijeli broj.', invalidColSpan : 'Columns span mora biti cijeli broj.', - chooseColor : 'Choose' // MISSING + chooseColor : 'Odaberi' }, row : @@ -427,10 +428,10 @@ CKEDITOR.lang['hr'] = linkTab : 'Link', button2Img : 'Želite li promijeniti odabrani gumb u jednostavnu sliku?', img2Button : 'Želite li promijeniti odabranu sliku u gumb?', - urlMissing : 'Image source URL is missing.', // MISSING - validateBorder : 'Border must be a whole number.', // MISSING - validateHSpace : 'HSpace must be a whole number.', // MISSING - validateVSpace : 'VSpace must be a whole number.' // MISSING + urlMissing : 'Nedostaje URL slike.', + validateBorder : 'Okvir mora biti cijeli broj.', + validateHSpace : 'HSpace mora biti cijeli broj', + validateVSpace : 'VSpace mora biti cijeli broj.' }, // Flash Dialog @@ -502,12 +503,12 @@ CKEDITOR.lang['hr'] = { toolbar : 'Smješko', title : 'Ubaci smješka', - options : 'Smiley Options' // MISSING + options : 'Opcije smješka' }, elementsPath : { - eleLabel : 'Elements path', // MISSING + eleLabel : 'Putanja elemenata', eleTitle : '%1 element' }, @@ -533,7 +534,7 @@ CKEDITOR.lang['hr'] = copyError : 'Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+C).', pasteMsg : 'Molimo zaljepite unutar doljnjeg okvira koristeći tipkovnicu (Ctrl/Cmd+V) i kliknite OK.', securityMsg : 'Zbog sigurnosnih postavki Vašeg pretraživača, editor nema direktan pristup Vašem međuspremniku. Potrebno je ponovno zalijepiti tekst u ovaj prozor.', - pasteArea : 'Paste Area' // MISSING + pasteArea : 'Prostor za ljepljenje' }, pastefromword : @@ -541,7 +542,7 @@ CKEDITOR.lang['hr'] = confirmCleanup : 'Tekst koji želite zalijepiti čini se da je kopiran iz Worda. Želite li prije očistiti tekst?', toolbar : 'Zalijepi iz Worda', title : 'Zalijepi iz Worda', - error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING + error : 'Nije moguće očistiti podatke za ljepljenje zbog interne greške' }, pasteText : @@ -554,7 +555,7 @@ CKEDITOR.lang['hr'] = { button : 'Predlošci', title : 'Predlošci sadržaja', - options : 'Template Options', // MISSING + options : 'Opcije predložaka', insertOption : 'Zamijeni trenutne sadržaje', selectPromptMsg : 'Molimo odaberite predložak koji želite otvoriti
(stvarni sadržaj će biti izgubljen):', emptyListMsg : '(Nema definiranih predložaka)' @@ -565,7 +566,7 @@ CKEDITOR.lang['hr'] = stylesCombo : { label : 'Stil', - panelTitle : 'Formatting Styles', // MISSING + panelTitle : 'Stilovi formatiranja', panelTitle1 : 'Block stilovi', panelTitle2 : 'Inline stilovi', panelTitle3 : 'Object stilovi' @@ -590,28 +591,28 @@ CKEDITOR.lang['hr'] = div : { - title : 'Create Div Container', // MISSING - toolbar : 'Create Div Container', // MISSING - cssClassInputLabel : 'Stylesheet Classes', // MISSING - styleSelectLabel : 'Style', // MISSING - IdInputLabel : 'Id', // MISSING - languageCodeInputLabel : ' Language Code', // MISSING - inlineStyleInputLabel : 'Inline Style', // MISSING - advisoryTitleInputLabel : 'Advisory Title', // MISSING - langDirLabel : 'Language Direction', // MISSING - langDirLTRLabel : 'Left to Right (LTR)', // MISSING - langDirRTLLabel : 'Right to Left (RTL)', // MISSING - edit : 'Edit Div', // MISSING - remove : 'Remove Div' // MISSING + title : 'Napravi DIV kontejner', + toolbar : 'Napravi DIV kontejner', + cssClassInputLabel : 'Klase stilova', + styleSelectLabel : 'Stil', + IdInputLabel : 'Id', + languageCodeInputLabel : 'Jezični kod', + inlineStyleInputLabel : 'Stil u liniji', + advisoryTitleInputLabel : 'Savjetodavni naslov', + langDirLabel : 'Smjer jezika', + langDirLTRLabel : 'S lijeva na desno (LTR)', + langDirRTLLabel : 'S desna na lijevo (RTL)', + edit : 'Uredi DIV', + remove : 'Ukloni DIV' }, iframe : { - title : 'IFrame Properties', // MISSING - toolbar : 'IFrame', // MISSING - noUrl : 'Please type the iframe URL', // MISSING - scrolling : 'Enable scrollbars', // MISSING - border : 'Show frame border' // MISSING + title : 'IFrame svojstva', + toolbar : 'IFrame', + noUrl : 'Unesite URL iframe-a', + scrolling : 'Omogući trake za skrolanje', + border : 'Prikaži okvir IFrame-a' }, font : @@ -632,59 +633,59 @@ CKEDITOR.lang['hr'] = { textColorTitle : 'Boja teksta', bgColorTitle : 'Boja pozadine', - panelTitle : 'Colors', // MISSING + panelTitle : 'Boje', auto : 'Automatski', more : 'Više boja...' }, colors : { - '000' : 'Black', // MISSING - '800000' : 'Maroon', // MISSING - '8B4513' : 'Saddle Brown', // MISSING - '2F4F4F' : 'Dark Slate Gray', // MISSING - '008080' : 'Teal', // MISSING - '000080' : 'Navy', // MISSING - '4B0082' : 'Indigo', // MISSING - '696969' : 'Dark Gray', // MISSING - 'B22222' : 'Fire Brick', // MISSING - 'A52A2A' : 'Brown', // MISSING - 'DAA520' : 'Golden Rod', // MISSING - '006400' : 'Dark Green', // MISSING - '40E0D0' : 'Turquoise', // MISSING - '0000CD' : 'Medium Blue', // MISSING - '800080' : 'Purple', // MISSING - '808080' : 'Gray', // MISSING - 'F00' : 'Red', // MISSING - 'FF8C00' : 'Dark Orange', // MISSING - 'FFD700' : 'Gold', // MISSING - '008000' : 'Green', // MISSING - '0FF' : 'Cyan', // MISSING - '00F' : 'Blue', // MISSING - 'EE82EE' : 'Violet', // MISSING - 'A9A9A9' : 'Dim Gray', // MISSING - 'FFA07A' : 'Light Salmon', // MISSING - 'FFA500' : 'Orange', // MISSING - 'FFFF00' : 'Yellow', // MISSING - '00FF00' : 'Lime', // MISSING - 'AFEEEE' : 'Pale Turquoise', // MISSING - 'ADD8E6' : 'Light Blue', // MISSING - 'DDA0DD' : 'Plum', // MISSING - 'D3D3D3' : 'Light Grey', // MISSING - 'FFF0F5' : 'Lavender Blush', // MISSING - 'FAEBD7' : 'Antique White', // MISSING - 'FFFFE0' : 'Light Yellow', // MISSING - 'F0FFF0' : 'Honeydew', // MISSING - 'F0FFFF' : 'Azure', // MISSING - 'F0F8FF' : 'Alice Blue', // MISSING - 'E6E6FA' : 'Lavender', // MISSING - 'FFF' : 'White' // MISSING + '000' : 'Crna', + '800000' : 'Kesten', + '8B4513' : 'Smeđa', + '2F4F4F' : 'Tamno siva', + '008080' : 'Teal', + '000080' : 'Mornarska', + '4B0082' : 'Indigo', + '696969' : 'Tamno siva', + 'B22222' : 'Vatrena cigla', + 'A52A2A' : 'Smeđa', + 'DAA520' : 'Zlatna', + '006400' : 'Tamno zelena', + '40E0D0' : 'Tirkizna', + '0000CD' : 'Srednje plava', + '800080' : 'Ljubičasta', + '808080' : 'Siva', + 'F00' : 'Crvena', + 'FF8C00' : 'Tamno naranđasta', + 'FFD700' : 'Zlatna', + '008000' : 'Zelena', + '0FF' : 'Cijan', + '00F' : 'Plava', + 'EE82EE' : 'Ljubičasta', + 'A9A9A9' : 'Mutno siva', + 'FFA07A' : 'Svijetli losos', + 'FFA500' : 'Naranđasto', + 'FFFF00' : 'Žuto', + '00FF00' : 'Limun', + 'AFEEEE' : 'Blijedo tirkizna', + 'ADD8E6' : 'Svijetlo plava', + 'DDA0DD' : 'Šljiva', + 'D3D3D3' : 'Svijetlo siva', + 'FFF0F5' : 'Lavanda rumeno', + 'FAEBD7' : 'Antikno bijela', + 'FFFFE0' : 'Svijetlo žuta', + 'F0FFF0' : 'Med', + 'F0FFFF' : 'Azurna', + 'F0F8FF' : 'Alice plava', + 'E6E6FA' : 'Lavanda', + 'FFF' : 'Bijela' }, scayt : { title : 'Provjeri pravopis tijekom tipkanja (SCAYT)', - opera_title : 'Not supported by Opera', // MISSING + opera_title : 'Nije podržano u Operi', enable : 'Omogući SCAYT', disable : 'Onemogući SCAYT', about : 'O SCAYT', @@ -698,20 +699,20 @@ CKEDITOR.lang['hr'] = emptyDic : 'Naziv rječnika ne smije biti prazno.', optionsTab : 'Opcije', - allCaps : 'Ignore All-Caps Words', // MISSING - ignoreDomainNames : 'Ignore Domain Names', // MISSING - mixedCase : 'Ignore Words with Mixed Case', // MISSING - mixedWithDigits : 'Ignore Words with Numbers', // MISSING + allCaps : 'Ignoriraj riječi s velikim slovima', + ignoreDomainNames : 'Ignoriraj nazive domena', + mixedCase : 'Ignoriraj riječi s miješanim slovima', + mixedWithDigits : 'Ignoriraj riječi s brojevima', languagesTab : 'Jezici', dictionariesTab : 'Rječnici', - dic_field_name : 'Dictionary name', // MISSING - dic_create : 'Create', // MISSING - dic_restore : 'Restore', // MISSING - dic_delete : 'Delete', // MISSING - dic_rename : 'Rename', // MISSING - dic_info : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_field_name : 'Naziv riječnika', + dic_create : 'Napravi', + dic_restore : 'Povrati', + dic_delete : 'Obriši', + dic_rename : 'Promijeni naziv', + dic_info : 'Na početku se korisnički Riječnik sprema u Cookie. Nažalost, veličina im je ograničena. Kada korisnički Riječnik naraste preko te veličine, Riječnik će biti smješten na naš server. Kako bi se korisnički Riječnik spremio na naš server morate odabrati naziv Vašeg Riječnika. Ukoliko ste već prije spremali Riječnik na naše servere, unesite naziv Riječnika i pritisnite na Povrati.', aboutTab : 'O SCAYT' }, @@ -720,21 +721,21 @@ CKEDITOR.lang['hr'] = { title : 'O CKEditoru', dlgTitle : 'O CKEditoru', - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING + help : 'Provjeri $1 za pomoć.', + userGuide : 'Vodič za CKEditor korisnike', moreInfo : 'Za informacije o licencama posjetite našu web stranicu:', copy : 'Copyright © $1. All rights reserved.' }, maximize : 'Povećaj', - minimize : 'Minimize', // MISSING + minimize : 'Smanji', fakeobjects : { anchor : 'Sidro', flash : 'Flash animacija', - iframe : 'IFrame', // MISSING - hiddenfield : 'Hidden Field', // MISSING + iframe : 'IFrame', + hiddenfield : 'Sakriveno polje', unknown : 'Nepoznati objekt' }, @@ -742,49 +743,49 @@ CKEDITOR.lang['hr'] = colordialog : { - title : 'Select color', // MISSING - options : 'Color Options', // MISSING - highlight : 'Highlight', // MISSING - selected : 'Selected Color', // MISSING - clear : 'Clear' // MISSING + title : 'Odaberi boju', + options : 'Opcije boje', + highlight : 'Istaknuto', + selected : 'Odabrana boja', + clear : 'Očisti' }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'Smanji alatnu traku', + toolbarExpand : 'Proširi alatnu traku', toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Dokument', + clipboard : 'Međuspremnik/Poništi', + editing : 'Uređivanje', + forms : 'Forme', + basicstyles : 'Osnovni stilovi', + paragraph : 'Paragraf', + links : 'Veze', + insert : 'Umetni', + styles : 'Stilovi', + colors : 'Boje', + tools : 'Alatke' }, bidi : { - ltr : 'Text direction from left to right', // MISSING - rtl : 'Text direction from right to left' // MISSING + ltr : 'Smjer teksta s lijeva na desno', + rtl : 'Smjer teksta s desna na lijevo' }, docprops : { label : 'Svojstva dokumenta', title : 'Svojstva dokumenta', - design : 'Design', // MISSING + design : 'Dizajn', meta : 'Meta Data', - chooseColor : 'Choose', // MISSING + chooseColor : 'Odaberi', other : '', docTitle : 'Naslov stranice', charset : 'Enkodiranje znakova', charsetOther : 'Ostalo enkodiranje znakova', - charsetASCII : 'ASCII', // MISSING + charsetASCII : 'ASCII', charsetCE : 'Središnja Europa', charsetCT : 'Tradicionalna kineska (Big5)', charsetCR : 'Ćirilica', @@ -792,7 +793,7 @@ CKEDITOR.lang['hr'] = charsetJP : 'Japanska', charsetKR : 'Koreanska', charsetTR : 'Turska', - charsetUN : 'Unicode (UTF-8)', // MISSING + charsetUN : 'Unicode (UTF-8)', charsetWE : 'Zapadna Europa', docType : 'Zaglavlje vrste dokumenta', docTypeOther : 'Ostalo zaglavlje vrste dokumenta', @@ -810,6 +811,6 @@ CKEDITOR.lang['hr'] = metaDescription : 'Opis dokumenta', metaAuthor : 'Autor', metaCopyright : 'Autorska prava', - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

Ovo je neki primjer teksta. Vi koristite CKEditor.

' } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/hu.js b/phpgwapi/js/ckeditor3/_source/lang/hu.js index 488e31bd35..b44ed03d8c 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/hu.js +++ b/phpgwapi/js/ckeditor3/_source/lang/hu.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['hu'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'HTML szerkesztő', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Szerkesztő Eszköztár', diff --git a/phpgwapi/js/ckeditor3/_source/lang/id.js b/phpgwapi/js/ckeditor3/_source/lang/id.js new file mode 100644 index 0000000000..4711061175 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/lang/id.js @@ -0,0 +1,815 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +/** +* @fileOverview +*/ + +/**#@+ + @type String + @example +*/ + +/** + * Contains the dictionary of language entries. + * @namespace + */ +CKEDITOR.lang['id'] = +{ + /** + * The language reading direction. Possible values are "rtl" for + * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right + * languages (like English). + * @default 'ltr' + */ + dir : 'ltr', + + /* + * Screenreader titles. Please note that screenreaders are not always capable + * of reading non-English words. So be careful while translating it. + */ + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING + + // ARIA descriptions. + toolbars : 'Editor toolbars', // MISSING + editor : 'Rich Text Editor', // MISSING + + // Toolbar buttons without dialogs. + source : 'Source', // MISSING + newPage : 'New Page', // MISSING + save : 'Save', // MISSING + preview : 'Preview', // MISSING + cut : 'Cut', // MISSING + copy : 'Copy', // MISSING + paste : 'Paste', // MISSING + print : 'Print', // MISSING + underline : 'Underline', // MISSING + bold : 'Bold', // MISSING + italic : 'Italic', // MISSING + selectAll : 'Select All', // MISSING + removeFormat : 'Remove Format', // MISSING + strike : 'Strike Through', // MISSING + subscript : 'Subscript', // MISSING + superscript : 'Superscript', // MISSING + horizontalrule : 'Insert Horizontal Line', // MISSING + pagebreak : 'Insert Page Break for Printing', // MISSING + pagebreakAlt : 'Page Break', // MISSING + unlink : 'Unlink', // MISSING + undo : 'Undo', // MISSING + redo : 'Redo', // MISSING + + // Common messages and labels. + common : + { + browseServer : 'Browse Server', // MISSING + url : 'URL', // MISSING + protocol : 'Protocol', // MISSING + upload : 'Upload', // MISSING + uploadSubmit : 'Send it to the Server', // MISSING + image : 'Image', // MISSING + flash : 'Flash', // MISSING + form : 'Form', // MISSING + checkbox : 'Checkbox', // MISSING + radio : 'Radio Button', // MISSING + textField : 'Text Field', // MISSING + textarea : 'Textarea', // MISSING + hiddenField : 'Hidden Field', // MISSING + button : 'Button', // MISSING + select : 'Selection Field', // MISSING + imageButton : 'Image Button', // MISSING + notSet : '', // MISSING + id : 'Id', // MISSING + name : 'Name', // MISSING + langDir : 'Language Direction', // MISSING + langDirLtr : 'Left to Right (LTR)', // MISSING + langDirRtl : 'Right to Left (RTL)', // MISSING + langCode : 'Language Code', // MISSING + longDescr : 'Long Description URL', // MISSING + cssClass : 'Stylesheet Classes', // MISSING + advisoryTitle : 'Advisory Title', // MISSING + cssStyle : 'Style', // MISSING + ok : 'OK', // MISSING + cancel : 'Cancel', // MISSING + close : 'Close', // MISSING + preview : 'Preview', // MISSING + generalTab : 'General', // MISSING + advancedTab : 'Advanced', // MISSING + validateNumberFailed : 'This value is not a number.', // MISSING + confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING + confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING + options : 'Options', // MISSING + target : 'Target', // MISSING + targetNew : 'New Window (_blank)', // MISSING + targetTop : 'Topmost Window (_top)', // MISSING + targetSelf : 'Same Window (_self)', // MISSING + targetParent : 'Parent Window (_parent)', // MISSING + langDirLTR : 'Left to Right (LTR)', // MISSING + langDirRTL : 'Right to Left (RTL)', // MISSING + styles : 'Style', // MISSING + cssClasses : 'Stylesheet Classes', // MISSING + width : 'Width', // MISSING + height : 'Height', // MISSING + align : 'Alignment', // MISSING + alignLeft : 'Left', // MISSING + alignRight : 'Right', // MISSING + alignCenter : 'Center', // MISSING + alignTop : 'Top', // MISSING + alignMiddle : 'Middle', // MISSING + alignBottom : 'Bottom', // MISSING + invalidHeight : 'Height must be a number.', // MISSING + invalidWidth : 'Width must be a number.', // MISSING + invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING + invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING + cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + + // Put the voice-only part of the label in the span. + unavailable : '%1, unavailable' // MISSING + }, + + contextmenu : + { + options : 'Context Menu Options' // MISSING + }, + + // Special char dialog. + specialChar : + { + toolbar : 'Insert Special Character', // MISSING + title : 'Select Special Character', // MISSING + options : 'Special Character Options' // MISSING + }, + + // Link dialog. + link : + { + toolbar : 'Link', // MISSING + other : '', // MISSING + menu : 'Edit Link', // MISSING + title : 'Link', // MISSING + info : 'Link Info', // MISSING + target : 'Target', // MISSING + upload : 'Upload', // MISSING + advanced : 'Advanced', // MISSING + type : 'Link Type', // MISSING + toUrl : 'URL', // MISSING + toAnchor : 'Link to anchor in the text', // MISSING + toEmail : 'E-mail', // MISSING + targetFrame : '', // MISSING + targetPopup : '', // MISSING + targetFrameName : 'Target Frame Name', // MISSING + targetPopupName : 'Popup Window Name', // MISSING + popupFeatures : 'Popup Window Features', // MISSING + popupResizable : 'Resizable', // MISSING + popupStatusBar : 'Status Bar', // MISSING + popupLocationBar: 'Location Bar', // MISSING + popupToolbar : 'Toolbar', // MISSING + popupMenuBar : 'Menu Bar', // MISSING + popupFullScreen : 'Full Screen (IE)', // MISSING + popupScrollBars : 'Scroll Bars', // MISSING + popupDependent : 'Dependent (Netscape)', // MISSING + popupLeft : 'Left Position', // MISSING + popupTop : 'Top Position', // MISSING + id : 'Id', // MISSING + langDir : 'Language Direction', // MISSING + langDirLTR : 'Left to Right (LTR)', // MISSING + langDirRTL : 'Right to Left (RTL)', // MISSING + acccessKey : 'Access Key', // MISSING + name : 'Name', // MISSING + langCode : 'Language Code', // MISSING + tabIndex : 'Tab Index', // MISSING + advisoryTitle : 'Advisory Title', // MISSING + advisoryContentType : 'Advisory Content Type', // MISSING + cssClasses : 'Stylesheet Classes', // MISSING + charset : 'Linked Resource Charset', // MISSING + styles : 'Style', // MISSING + rel : 'Relationship', // MISSING + selectAnchor : 'Select an Anchor', // MISSING + anchorName : 'By Anchor Name', // MISSING + anchorId : 'By Element Id', // MISSING + emailAddress : 'E-Mail Address', // MISSING + emailSubject : 'Message Subject', // MISSING + emailBody : 'Message Body', // MISSING + noAnchors : '(No anchors available in the document)', // MISSING + noUrl : 'Please type the link URL', // MISSING + noEmail : 'Please type the e-mail address' // MISSING + }, + + // Anchor dialog + anchor : + { + toolbar : 'Anchor', // MISSING + menu : 'Edit Anchor', // MISSING + title : 'Anchor Properties', // MISSING + name : 'Anchor Name', // MISSING + errorName : 'Please type the anchor name', // MISSING + remove : 'Remove Anchor' // MISSING + }, + + // List style dialog + list: + { + numberedTitle : 'Numbered List Properties', // MISSING + bulletedTitle : 'Bulleted List Properties', // MISSING + type : 'Type', // MISSING + start : 'Start', // MISSING + validateStartNumber :'List start number must be a whole number.', // MISSING + circle : 'Circle', // MISSING + disc : 'Disc', // MISSING + square : 'Square', // MISSING + none : 'None', // MISSING + notset : '', // MISSING + armenian : 'Armenian numbering', // MISSING + georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING + lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING + upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING + lowerAlpha : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING + upperAlpha : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING + lowerGreek : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING + decimal : 'Decimal (1, 2, 3, etc.)', // MISSING + decimalLeadingZero : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING + }, + + // Find And Replace Dialog + findAndReplace : + { + title : 'Find and Replace', // MISSING + find : 'Find', // MISSING + replace : 'Replace', // MISSING + findWhat : 'Find what:', // MISSING + replaceWith : 'Replace with:', // MISSING + notFoundMsg : 'The specified text was not found.', // MISSING + findOptions : 'Find Options', // MISSING + matchCase : 'Match case', // MISSING + matchWord : 'Match whole word', // MISSING + matchCyclic : 'Match cyclic', // MISSING + replaceAll : 'Replace All', // MISSING + replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING + }, + + // Table Dialog + table : + { + toolbar : 'Table', // MISSING + title : 'Table Properties', // MISSING + menu : 'Table Properties', // MISSING + deleteTable : 'Delete Table', // MISSING + rows : 'Rows', // MISSING + columns : 'Columns', // MISSING + border : 'Border size', // MISSING + widthPx : 'pixels', // MISSING + widthPc : 'percent', // MISSING + widthUnit : 'width unit', // MISSING + cellSpace : 'Cell spacing', // MISSING + cellPad : 'Cell padding', // MISSING + caption : 'Caption', // MISSING + summary : 'Summary', // MISSING + headers : 'Headers', // MISSING + headersNone : 'None', // MISSING + headersColumn : 'First column', // MISSING + headersRow : 'First Row', // MISSING + headersBoth : 'Both', // MISSING + invalidRows : 'Number of rows must be a number greater than 0.', // MISSING + invalidCols : 'Number of columns must be a number greater than 0.', // MISSING + invalidBorder : 'Border size must be a number.', // MISSING + invalidWidth : 'Table width must be a number.', // MISSING + invalidHeight : 'Table height must be a number.', // MISSING + invalidCellSpacing : 'Cell spacing must be a positive number.', // MISSING + invalidCellPadding : 'Cell padding must be a positive number.', // MISSING + + cell : + { + menu : 'Cell', // MISSING + insertBefore : 'Insert Cell Before', // MISSING + insertAfter : 'Insert Cell After', // MISSING + deleteCell : 'Delete Cells', // MISSING + merge : 'Merge Cells', // MISSING + mergeRight : 'Merge Right', // MISSING + mergeDown : 'Merge Down', // MISSING + splitHorizontal : 'Split Cell Horizontally', // MISSING + splitVertical : 'Split Cell Vertically', // MISSING + title : 'Cell Properties', // MISSING + cellType : 'Cell Type', // MISSING + rowSpan : 'Rows Span', // MISSING + colSpan : 'Columns Span', // MISSING + wordWrap : 'Word Wrap', // MISSING + hAlign : 'Horizontal Alignment', // MISSING + vAlign : 'Vertical Alignment', // MISSING + alignBaseline : 'Baseline', // MISSING + bgColor : 'Background Color', // MISSING + borderColor : 'Border Color', // MISSING + data : 'Data', // MISSING + header : 'Header', // MISSING + yes : 'Yes', // MISSING + no : 'No', // MISSING + invalidWidth : 'Cell width must be a number.', // MISSING + invalidHeight : 'Cell height must be a number.', // MISSING + invalidRowSpan : 'Rows span must be a whole number.', // MISSING + invalidColSpan : 'Columns span must be a whole number.', // MISSING + chooseColor : 'Choose' // MISSING + }, + + row : + { + menu : 'Row', // MISSING + insertBefore : 'Insert Row Before', // MISSING + insertAfter : 'Insert Row After', // MISSING + deleteRow : 'Delete Rows' // MISSING + }, + + column : + { + menu : 'Column', // MISSING + insertBefore : 'Insert Column Before', // MISSING + insertAfter : 'Insert Column After', // MISSING + deleteColumn : 'Delete Columns' // MISSING + } + }, + + // Button Dialog. + button : + { + title : 'Button Properties', // MISSING + text : 'Text (Value)', // MISSING + type : 'Type', // MISSING + typeBtn : 'Button', // MISSING + typeSbm : 'Submit', // MISSING + typeRst : 'Reset' // MISSING + }, + + // Checkbox and Radio Button Dialogs. + checkboxAndRadio : + { + checkboxTitle : 'Checkbox Properties', // MISSING + radioTitle : 'Radio Button Properties', // MISSING + value : 'Value', // MISSING + selected : 'Selected' // MISSING + }, + + // Form Dialog. + form : + { + title : 'Form Properties', // MISSING + menu : 'Form Properties', // MISSING + action : 'Action', // MISSING + method : 'Method', // MISSING + encoding : 'Encoding' // MISSING + }, + + // Select Field Dialog. + select : + { + title : 'Selection Field Properties', // MISSING + selectInfo : 'Select Info', // MISSING + opAvail : 'Available Options', // MISSING + value : 'Value', // MISSING + size : 'Size', // MISSING + lines : 'lines', // MISSING + chkMulti : 'Allow multiple selections', // MISSING + opText : 'Text', // MISSING + opValue : 'Value', // MISSING + btnAdd : 'Add', // MISSING + btnModify : 'Modify', // MISSING + btnUp : 'Up', // MISSING + btnDown : 'Down', // MISSING + btnSetValue : 'Set as selected value', // MISSING + btnDelete : 'Delete' // MISSING + }, + + // Textarea Dialog. + textarea : + { + title : 'Textarea Properties', // MISSING + cols : 'Columns', // MISSING + rows : 'Rows' // MISSING + }, + + // Text Field Dialog. + textfield : + { + title : 'Text Field Properties', // MISSING + name : 'Name', // MISSING + value : 'Value', // MISSING + charWidth : 'Character Width', // MISSING + maxChars : 'Maximum Characters', // MISSING + type : 'Type', // MISSING + typeText : 'Text', // MISSING + typePass : 'Password' // MISSING + }, + + // Hidden Field Dialog. + hidden : + { + title : 'Hidden Field Properties', // MISSING + name : 'Name', // MISSING + value : 'Value' // MISSING + }, + + // Image Dialog. + image : + { + title : 'Image Properties', // MISSING + titleButton : 'Image Button Properties', // MISSING + menu : 'Image Properties', // MISSING + infoTab : 'Image Info', // MISSING + btnUpload : 'Send it to the Server', // MISSING + upload : 'Upload', // MISSING + alt : 'Alternative Text', // MISSING + lockRatio : 'Lock Ratio', // MISSING + resetSize : 'Reset Size', // MISSING + border : 'Border', // MISSING + hSpace : 'HSpace', // MISSING + vSpace : 'VSpace', // MISSING + alertUrl : 'Please type the image URL', // MISSING + linkTab : 'Link', // MISSING + button2Img : 'Do you want to transform the selected image button on a simple image?', // MISSING + img2Button : 'Do you want to transform the selected image on a image button?', // MISSING + urlMissing : 'Image source URL is missing.', // MISSING + validateBorder : 'Border must be a whole number.', // MISSING + validateHSpace : 'HSpace must be a whole number.', // MISSING + validateVSpace : 'VSpace must be a whole number.' // MISSING + }, + + // Flash Dialog + flash : + { + properties : 'Flash Properties', // MISSING + propertiesTab : 'Properties', // MISSING + title : 'Flash Properties', // MISSING + chkPlay : 'Auto Play', // MISSING + chkLoop : 'Loop', // MISSING + chkMenu : 'Enable Flash Menu', // MISSING + chkFull : 'Allow Fullscreen', // MISSING + scale : 'Scale', // MISSING + scaleAll : 'Show all', // MISSING + scaleNoBorder : 'No Border', // MISSING + scaleFit : 'Exact Fit', // MISSING + access : 'Script Access', // MISSING + accessAlways : 'Always', // MISSING + accessSameDomain: 'Same domain', // MISSING + accessNever : 'Never', // MISSING + alignAbsBottom : 'Abs Bottom', // MISSING + alignAbsMiddle : 'Abs Middle', // MISSING + alignBaseline : 'Baseline', // MISSING + alignTextTop : 'Text Top', // MISSING + quality : 'Quality', // MISSING + qualityBest : 'Best', // MISSING + qualityHigh : 'High', // MISSING + qualityAutoHigh : 'Auto High', // MISSING + qualityMedium : 'Medium', // MISSING + qualityAutoLow : 'Auto Low', // MISSING + qualityLow : 'Low', // MISSING + windowModeWindow: 'Window', // MISSING + windowModeOpaque: 'Opaque', // MISSING + windowModeTransparent : 'Transparent', // MISSING + windowMode : 'Window mode', // MISSING + flashvars : 'Variables for Flash', // MISSING + bgcolor : 'Background color', // MISSING + hSpace : 'HSpace', // MISSING + vSpace : 'VSpace', // MISSING + validateSrc : 'URL must not be empty.', // MISSING + validateHSpace : 'HSpace must be a number.', // MISSING + validateVSpace : 'VSpace must be a number.' // MISSING + }, + + // Speller Pages Dialog + spellCheck : + { + toolbar : 'Check Spelling', // MISSING + title : 'Spell Check', // MISSING + notAvailable : 'Sorry, but service is unavailable now.', // MISSING + errorLoading : 'Error loading application service host: %s.', // MISSING + notInDic : 'Not in dictionary', // MISSING + changeTo : 'Change to', // MISSING + btnIgnore : 'Ignore', // MISSING + btnIgnoreAll : 'Ignore All', // MISSING + btnReplace : 'Replace', // MISSING + btnReplaceAll : 'Replace All', // MISSING + btnUndo : 'Undo', // MISSING + noSuggestions : '- No suggestions -', // MISSING + progress : 'Spell check in progress...', // MISSING + noMispell : 'Spell check complete: No misspellings found', // MISSING + noChanges : 'Spell check complete: No words changed', // MISSING + oneChange : 'Spell check complete: One word changed', // MISSING + manyChanges : 'Spell check complete: %1 words changed', // MISSING + ieSpellDownload : 'Spell checker not installed. Do you want to download it now?' // MISSING + }, + + smiley : + { + toolbar : 'Smiley', // MISSING + title : 'Insert a Smiley', // MISSING + options : 'Smiley Options' // MISSING + }, + + elementsPath : + { + eleLabel : 'Elements path', // MISSING + eleTitle : '%1 element' // MISSING + }, + + numberedlist : 'Insert/Remove Numbered List', // MISSING + bulletedlist : 'Insert/Remove Bulleted List', // MISSING + indent : 'Increase Indent', // MISSING + outdent : 'Decrease Indent', // MISSING + + justify : + { + left : 'Align Left', // MISSING + center : 'Center', // MISSING + right : 'Align Right', // MISSING + block : 'Justify' // MISSING + }, + + blockquote : 'Block Quote', // MISSING + + clipboard : + { + title : 'Paste', // MISSING + cutError : 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', // MISSING + copyError : 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', // MISSING + pasteMsg : 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', // MISSING + securityMsg : 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING + pasteArea : 'Paste Area' // MISSING + }, + + pastefromword : + { + confirmCleanup : 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + toolbar : 'Paste from Word', // MISSING + title : 'Paste from Word', // MISSING + error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING + }, + + pasteText : + { + button : 'Paste as plain text', // MISSING + title : 'Paste as Plain Text' // MISSING + }, + + templates : + { + button : 'Templates', // MISSING + title : 'Content Templates', // MISSING + options : 'Template Options', // MISSING + insertOption : 'Replace actual contents', // MISSING + selectPromptMsg : 'Please select the template to open in the editor', // MISSING + emptyListMsg : '(No templates defined)' // MISSING + }, + + showBlocks : 'Show Blocks', // MISSING + + stylesCombo : + { + label : 'Styles', // MISSING + panelTitle : 'Formatting Styles', // MISSING + panelTitle1 : 'Block Styles', // MISSING + panelTitle2 : 'Inline Styles', // MISSING + panelTitle3 : 'Object Styles' // MISSING + }, + + format : + { + label : 'Format', // MISSING + panelTitle : 'Paragraph Format', // MISSING + + tag_p : 'Normal', // MISSING + tag_pre : 'Formatted', // MISSING + tag_address : 'Address', // MISSING + tag_h1 : 'Heading 1', // MISSING + tag_h2 : 'Heading 2', // MISSING + tag_h3 : 'Heading 3', // MISSING + tag_h4 : 'Heading 4', // MISSING + tag_h5 : 'Heading 5', // MISSING + tag_h6 : 'Heading 6', // MISSING + tag_div : 'Normal (DIV)' // MISSING + }, + + div : + { + title : 'Create Div Container', // MISSING + toolbar : 'Create Div Container', // MISSING + cssClassInputLabel : 'Stylesheet Classes', // MISSING + styleSelectLabel : 'Style', // MISSING + IdInputLabel : 'Id', // MISSING + languageCodeInputLabel : ' Language Code', // MISSING + inlineStyleInputLabel : 'Inline Style', // MISSING + advisoryTitleInputLabel : 'Advisory Title', // MISSING + langDirLabel : 'Language Direction', // MISSING + langDirLTRLabel : 'Left to Right (LTR)', // MISSING + langDirRTLLabel : 'Right to Left (RTL)', // MISSING + edit : 'Edit Div', // MISSING + remove : 'Remove Div' // MISSING + }, + + iframe : + { + title : 'IFrame Properties', // MISSING + toolbar : 'IFrame', // MISSING + noUrl : 'Please type the iframe URL', // MISSING + scrolling : 'Enable scrollbars', // MISSING + border : 'Show frame border' // MISSING + }, + + font : + { + label : 'Font', // MISSING + voiceLabel : 'Font', // MISSING + panelTitle : 'Font Name' // MISSING + }, + + fontSize : + { + label : 'Size', // MISSING + voiceLabel : 'Font Size', // MISSING + panelTitle : 'Font Size' // MISSING + }, + + colorButton : + { + textColorTitle : 'Text Color', // MISSING + bgColorTitle : 'Background Color', // MISSING + panelTitle : 'Colors', // MISSING + auto : 'Automatic', // MISSING + more : 'More Colors...' // MISSING + }, + + colors : + { + '000' : 'Black', // MISSING + '800000' : 'Maroon', // MISSING + '8B4513' : 'Saddle Brown', // MISSING + '2F4F4F' : 'Dark Slate Gray', // MISSING + '008080' : 'Teal', // MISSING + '000080' : 'Navy', // MISSING + '4B0082' : 'Indigo', // MISSING + '696969' : 'Dark Gray', // MISSING + 'B22222' : 'Fire Brick', // MISSING + 'A52A2A' : 'Brown', // MISSING + 'DAA520' : 'Golden Rod', // MISSING + '006400' : 'Dark Green', // MISSING + '40E0D0' : 'Turquoise', // MISSING + '0000CD' : 'Medium Blue', // MISSING + '800080' : 'Purple', // MISSING + '808080' : 'Gray', // MISSING + 'F00' : 'Red', // MISSING + 'FF8C00' : 'Dark Orange', // MISSING + 'FFD700' : 'Gold', // MISSING + '008000' : 'Green', // MISSING + '0FF' : 'Cyan', // MISSING + '00F' : 'Blue', // MISSING + 'EE82EE' : 'Violet', // MISSING + 'A9A9A9' : 'Dim Gray', // MISSING + 'FFA07A' : 'Light Salmon', // MISSING + 'FFA500' : 'Orange', // MISSING + 'FFFF00' : 'Yellow', // MISSING + '00FF00' : 'Lime', // MISSING + 'AFEEEE' : 'Pale Turquoise', // MISSING + 'ADD8E6' : 'Light Blue', // MISSING + 'DDA0DD' : 'Plum', // MISSING + 'D3D3D3' : 'Light Grey', // MISSING + 'FFF0F5' : 'Lavender Blush', // MISSING + 'FAEBD7' : 'Antique White', // MISSING + 'FFFFE0' : 'Light Yellow', // MISSING + 'F0FFF0' : 'Honeydew', // MISSING + 'F0FFFF' : 'Azure', // MISSING + 'F0F8FF' : 'Alice Blue', // MISSING + 'E6E6FA' : 'Lavender', // MISSING + 'FFF' : 'White' // MISSING + }, + + scayt : + { + title : 'Spell Check As You Type', // MISSING + opera_title : 'Not supported by Opera', // MISSING + enable : 'Enable SCAYT', // MISSING + disable : 'Disable SCAYT', // MISSING + about : 'About SCAYT', // MISSING + toggle : 'Toggle SCAYT', // MISSING + options : 'Options', // MISSING + langs : 'Languages', // MISSING + moreSuggestions : 'More suggestions', // MISSING + ignore : 'Ignore', // MISSING + ignoreAll : 'Ignore All', // MISSING + addWord : 'Add Word', // MISSING + emptyDic : 'Dictionary name should not be empty.', // MISSING + + optionsTab : 'Options', // MISSING + allCaps : 'Ignore All-Caps Words', // MISSING + ignoreDomainNames : 'Ignore Domain Names', // MISSING + mixedCase : 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits : 'Ignore Words with Numbers', // MISSING + + languagesTab : 'Languages', // MISSING + + dictionariesTab : 'Dictionaries', // MISSING + dic_field_name : 'Dictionary name', // MISSING + dic_create : 'Create', // MISSING + dic_restore : 'Restore', // MISSING + dic_delete : 'Delete', // MISSING + dic_rename : 'Rename', // MISSING + dic_info : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + + aboutTab : 'About' // MISSING + }, + + about : + { + title : 'About CKEditor', // MISSING + dlgTitle : 'About CKEditor', // MISSING + help : 'Check $1 for help.', // MISSING + userGuide : 'CKEditor User\'s Guide', // MISSING + moreInfo : 'For licensing information please visit our web site:', // MISSING + copy : 'Copyright © $1. All rights reserved.' // MISSING + }, + + maximize : 'Maximize', // MISSING + minimize : 'Minimize', // MISSING + + fakeobjects : + { + anchor : 'Anchor', // MISSING + flash : 'Flash Animation', // MISSING + iframe : 'IFrame', // MISSING + hiddenfield : 'Hidden Field', // MISSING + unknown : 'Unknown Object' // MISSING + }, + + resize : 'Drag to resize', // MISSING + + colordialog : + { + title : 'Select color', // MISSING + options : 'Color Options', // MISSING + highlight : 'Highlight', // MISSING + selected : 'Selected Color', // MISSING + clear : 'Clear' // MISSING + }, + + toolbarCollapse : 'Collapse Toolbar', // MISSING + toolbarExpand : 'Expand Toolbar', // MISSING + + toolbarGroups : + { + document : 'Document', // MISSING + clipboard : 'Clipboard/Undo', // MISSING + editing : 'Editing', // MISSING + forms : 'Forms', // MISSING + basicstyles : 'Basic Styles', // MISSING + paragraph : 'Paragraph', // MISSING + links : 'Links', // MISSING + insert : 'Insert', // MISSING + styles : 'Styles', // MISSING + colors : 'Colors', // MISSING + tools : 'Tools' // MISSING + }, + + bidi : + { + ltr : 'Text direction from left to right', // MISSING + rtl : 'Text direction from right to left' // MISSING + }, + + docprops : + { + label : 'Document Properties', // MISSING + title : 'Document Properties', // MISSING + design : 'Design', // MISSING + meta : 'Meta Tags', // MISSING + chooseColor : 'Choose', // MISSING + other : 'Other...', // MISSING + docTitle : 'Page Title', // MISSING + charset : 'Character Set Encoding', // MISSING + charsetOther : 'Other Character Set Encoding', // MISSING + charsetASCII : 'ASCII', // MISSING + charsetCE : 'Central European', // MISSING + charsetCT : 'Chinese Traditional (Big5)', // MISSING + charsetCR : 'Cyrillic', // MISSING + charsetGR : 'Greek', // MISSING + charsetJP : 'Japanese', // MISSING + charsetKR : 'Korean', // MISSING + charsetTR : 'Turkish', // MISSING + charsetUN : 'Unicode (UTF-8)', // MISSING + charsetWE : 'Western European', // MISSING + docType : 'Document Type Heading', // MISSING + docTypeOther : 'Other Document Type Heading', // MISSING + xhtmlDec : 'Include XHTML Declarations', // MISSING + bgColor : 'Background Color', // MISSING + bgImage : 'Background Image URL', // MISSING + bgFixed : 'Non-scrolling (Fixed) Background', // MISSING + txtColor : 'Text Color', // MISSING + margin : 'Page Margins', // MISSING + marginTop : 'Top', // MISSING + marginLeft : 'Left', // MISSING + marginRight : 'Right', // MISSING + marginBottom : 'Bottom', // MISSING + metaKeywords : 'Document Indexing Keywords (comma separated)', // MISSING + metaDescription : 'Document Description', // MISSING + metaAuthor : 'Author', // MISSING + metaCopyright : 'Copyright', // MISSING + previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + } +}; diff --git a/phpgwapi/js/ckeditor3/_source/lang/is.js b/phpgwapi/js/ckeditor3/_source/lang/is.js index 59c4583400..51169b6763 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/is.js +++ b/phpgwapi/js/ckeditor3/_source/lang/is.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['is'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/it.js b/phpgwapi/js/ckeditor3/_source/lang/it.js index 23e34330e1..c2d3dc8c2b 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/it.js +++ b/phpgwapi/js/ckeditor3/_source/lang/it.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['it'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, premere ALT 0 per l\'help in linea.', + editorTitle : 'Editor di testo Rich Text, %1', + editorHelp : 'Premi ALT 0 per aiuto', // ARIA descriptions. toolbars : 'Editor toolbar', @@ -123,8 +124,8 @@ CKEDITOR.lang['it'] = invalidWidth : 'La Larghezza dev\'essere un numero', invalidCssLength : 'Il valore indicato per il campo "%1" deve essere un numero positivo con o senza indicazione di una valida unità di misura per le classi CSS (px, %, in, cm, mm, em, ex, pt, o pc).', invalidHtmlLength : 'Il valore indicato per il campo "%1" deve essere un numero positivo con o senza indicazione di una valida unità di misura per le pagine HTML (px o %).', - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidInlineStyle : 'Il valore specificato per lo stile inline deve consistere in una o più tuple con il formato di "name : value", separati da semicolonne.', + cssLengthTooltip : 'Inserisci un numero per il valore in pixel oppure un numero con una valida unità CSS (px, %, in, cm, mm, ex, pt, o pc).', // Put the voice-only part of the label in the span. unavailable : '%1, non disponibile' @@ -242,7 +243,7 @@ CKEDITOR.lang['it'] = findWhat : 'Trova:', replaceWith : 'Sostituisci con:', notFoundMsg : 'L\'elemento cercato non è stato trovato.', - findOptions : 'Find Options', // MISSING + findOptions : 'Opzioni di ricerca', matchCase : 'Maiuscole/minuscole', matchWord : 'Solo parole intere', matchCyclic : 'Ricerca ciclica', diff --git a/phpgwapi/js/ckeditor3/_source/lang/ja.js b/phpgwapi/js/ckeditor3/_source/lang/ja.js index 7b84a2c963..2090e742fc 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/ja.js +++ b/phpgwapi/js/ckeditor3/_source/lang/ja.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['ja'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'リッチテキストエディタ, %1, ヘルプは ALT 0 を押してください', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/ka.js b/phpgwapi/js/ckeditor3/_source/lang/ka.js index c1c0588d7d..c187d2d65f 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/ka.js +++ b/phpgwapi/js/ckeditor3/_source/lang/ka.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['ka'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'ტექსტის რედაქტორი, %1, დააჭირეთ ALT 0-ს დახმარების მისაღებად.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/km.js b/phpgwapi/js/ckeditor3/_source/lang/km.js index 9cf067cf3e..a77c0db2b5 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/km.js +++ b/phpgwapi/js/ckeditor3/_source/lang/km.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['km'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/ko.js b/phpgwapi/js/ckeditor3/_source/lang/ko.js index fa12587bd5..3c67a29aeb 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/ko.js +++ b/phpgwapi/js/ckeditor3/_source/lang/ko.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['ko'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/lt.js b/phpgwapi/js/ckeditor3/_source/lang/lt.js index e88f2183ed..c960625060 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/lt.js +++ b/phpgwapi/js/ckeditor3/_source/lang/lt.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['lt'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Pilnas redaktorius, %1, spauskite ALT 0 dėl pagalbos.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Redaktoriaus įrankiai', diff --git a/phpgwapi/js/ckeditor3/_source/lang/lv.js b/phpgwapi/js/ckeditor3/_source/lang/lv.js index 65c75c7af0..b2b11bf3b3 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/lv.js +++ b/phpgwapi/js/ckeditor3/_source/lang/lv.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['lv'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/mk.js b/phpgwapi/js/ckeditor3/_source/lang/mk.js new file mode 100644 index 0000000000..3b41c8ad73 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/lang/mk.js @@ -0,0 +1,815 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +/** +* @fileOverview +*/ + +/**#@+ + @type String + @example +*/ + +/** + * Contains the dictionary of language entries. + * @namespace + */ +CKEDITOR.lang['mk'] = +{ + /** + * The language reading direction. Possible values are "rtl" for + * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right + * languages (like English). + * @default 'ltr' + */ + dir : 'ltr', // MISSING + + /* + * Screenreader titles. Please note that screenreaders are not always capable + * of reading non-English words. So be careful while translating it. + */ + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING + + // ARIA descriptions. + toolbars : 'Editor toolbars', // MISSING + editor : 'Rich Text Editor', // MISSING + + // Toolbar buttons without dialogs. + source : 'Source', // MISSING + newPage : 'New Page', // MISSING + save : 'Save', // MISSING + preview : 'Preview', // MISSING + cut : 'Cut', // MISSING + copy : 'Copy', // MISSING + paste : 'Paste', // MISSING + print : 'Print', // MISSING + underline : 'Underline', // MISSING + bold : 'Bold', // MISSING + italic : 'Italic', // MISSING + selectAll : 'Select All', // MISSING + removeFormat : 'Remove Format', // MISSING + strike : 'Strike Through', // MISSING + subscript : 'Subscript', // MISSING + superscript : 'Superscript', // MISSING + horizontalrule : 'Insert Horizontal Line', // MISSING + pagebreak : 'Insert Page Break for Printing', // MISSING + pagebreakAlt : 'Page Break', // MISSING + unlink : 'Unlink', // MISSING + undo : 'Undo', // MISSING + redo : 'Redo', // MISSING + + // Common messages and labels. + common : + { + browseServer : 'Browse Server', // MISSING + url : 'URL', // MISSING + protocol : 'Protocol', // MISSING + upload : 'Upload', // MISSING + uploadSubmit : 'Send it to the Server', // MISSING + image : 'Image', // MISSING + flash : 'Flash', // MISSING + form : 'Form', // MISSING + checkbox : 'Checkbox', // MISSING + radio : 'Radio Button', // MISSING + textField : 'Text Field', // MISSING + textarea : 'Textarea', // MISSING + hiddenField : 'Hidden Field', // MISSING + button : 'Button', // MISSING + select : 'Selection Field', // MISSING + imageButton : 'Image Button', // MISSING + notSet : '', // MISSING + id : 'Id', // MISSING + name : 'Name', // MISSING + langDir : 'Language Direction', // MISSING + langDirLtr : 'Left to Right (LTR)', // MISSING + langDirRtl : 'Right to Left (RTL)', // MISSING + langCode : 'Language Code', // MISSING + longDescr : 'Long Description URL', // MISSING + cssClass : 'Stylesheet Classes', // MISSING + advisoryTitle : 'Advisory Title', // MISSING + cssStyle : 'Style', // MISSING + ok : 'OK', // MISSING + cancel : 'Cancel', // MISSING + close : 'Close', // MISSING + preview : 'Preview', // MISSING + generalTab : 'General', // MISSING + advancedTab : 'Advanced', // MISSING + validateNumberFailed : 'This value is not a number.', // MISSING + confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING + confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING + options : 'Options', // MISSING + target : 'Target', // MISSING + targetNew : 'New Window (_blank)', // MISSING + targetTop : 'Topmost Window (_top)', // MISSING + targetSelf : 'Same Window (_self)', // MISSING + targetParent : 'Parent Window (_parent)', // MISSING + langDirLTR : 'Left to Right (LTR)', // MISSING + langDirRTL : 'Right to Left (RTL)', // MISSING + styles : 'Style', // MISSING + cssClasses : 'Stylesheet Classes', // MISSING + width : 'Width', // MISSING + height : 'Height', // MISSING + align : 'Alignment', // MISSING + alignLeft : 'Left', // MISSING + alignRight : 'Right', // MISSING + alignCenter : 'Center', // MISSING + alignTop : 'Top', // MISSING + alignMiddle : 'Middle', // MISSING + alignBottom : 'Bottom', // MISSING + invalidHeight : 'Height must be a number.', // MISSING + invalidWidth : 'Width must be a number.', // MISSING + invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING + invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING + cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + + // Put the voice-only part of the label in the span. + unavailable : '%1, unavailable' // MISSING + }, + + contextmenu : + { + options : 'Context Menu Options' // MISSING + }, + + // Special char dialog. + specialChar : + { + toolbar : 'Insert Special Character', // MISSING + title : 'Select Special Character', // MISSING + options : 'Special Character Options' // MISSING + }, + + // Link dialog. + link : + { + toolbar : 'Link', // MISSING + other : '', // MISSING + menu : 'Edit Link', // MISSING + title : 'Link', // MISSING + info : 'Link Info', // MISSING + target : 'Target', // MISSING + upload : 'Upload', // MISSING + advanced : 'Advanced', // MISSING + type : 'Link Type', // MISSING + toUrl : 'URL', // MISSING + toAnchor : 'Link to anchor in the text', // MISSING + toEmail : 'E-mail', // MISSING + targetFrame : '', // MISSING + targetPopup : '', // MISSING + targetFrameName : 'Target Frame Name', // MISSING + targetPopupName : 'Popup Window Name', // MISSING + popupFeatures : 'Popup Window Features', // MISSING + popupResizable : 'Resizable', // MISSING + popupStatusBar : 'Status Bar', // MISSING + popupLocationBar: 'Location Bar', // MISSING + popupToolbar : 'Toolbar', // MISSING + popupMenuBar : 'Menu Bar', // MISSING + popupFullScreen : 'Full Screen (IE)', // MISSING + popupScrollBars : 'Scroll Bars', // MISSING + popupDependent : 'Dependent (Netscape)', // MISSING + popupLeft : 'Left Position', // MISSING + popupTop : 'Top Position', // MISSING + id : 'Id', // MISSING + langDir : 'Language Direction', // MISSING + langDirLTR : 'Left to Right (LTR)', // MISSING + langDirRTL : 'Right to Left (RTL)', // MISSING + acccessKey : 'Access Key', // MISSING + name : 'Name', // MISSING + langCode : 'Language Code', // MISSING + tabIndex : 'Tab Index', // MISSING + advisoryTitle : 'Advisory Title', // MISSING + advisoryContentType : 'Advisory Content Type', // MISSING + cssClasses : 'Stylesheet Classes', // MISSING + charset : 'Linked Resource Charset', // MISSING + styles : 'Style', // MISSING + rel : 'Relationship', // MISSING + selectAnchor : 'Select an Anchor', // MISSING + anchorName : 'By Anchor Name', // MISSING + anchorId : 'By Element Id', // MISSING + emailAddress : 'E-Mail Address', // MISSING + emailSubject : 'Message Subject', // MISSING + emailBody : 'Message Body', // MISSING + noAnchors : '(No anchors available in the document)', // MISSING + noUrl : 'Please type the link URL', // MISSING + noEmail : 'Please type the e-mail address' // MISSING + }, + + // Anchor dialog + anchor : + { + toolbar : 'Anchor', // MISSING + menu : 'Edit Anchor', // MISSING + title : 'Anchor Properties', // MISSING + name : 'Anchor Name', // MISSING + errorName : 'Please type the anchor name', // MISSING + remove : 'Remove Anchor' // MISSING + }, + + // List style dialog + list: + { + numberedTitle : 'Numbered List Properties', // MISSING + bulletedTitle : 'Bulleted List Properties', // MISSING + type : 'Type', // MISSING + start : 'Start', // MISSING + validateStartNumber :'List start number must be a whole number.', // MISSING + circle : 'Circle', // MISSING + disc : 'Disc', // MISSING + square : 'Square', // MISSING + none : 'None', // MISSING + notset : '', // MISSING + armenian : 'Armenian numbering', // MISSING + georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING + lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING + upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING + lowerAlpha : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING + upperAlpha : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING + lowerGreek : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING + decimal : 'Decimal (1, 2, 3, etc.)', // MISSING + decimalLeadingZero : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING + }, + + // Find And Replace Dialog + findAndReplace : + { + title : 'Find and Replace', // MISSING + find : 'Find', // MISSING + replace : 'Replace', // MISSING + findWhat : 'Find what:', // MISSING + replaceWith : 'Replace with:', // MISSING + notFoundMsg : 'The specified text was not found.', // MISSING + findOptions : 'Find Options', // MISSING + matchCase : 'Match case', // MISSING + matchWord : 'Match whole word', // MISSING + matchCyclic : 'Match cyclic', // MISSING + replaceAll : 'Replace All', // MISSING + replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING + }, + + // Table Dialog + table : + { + toolbar : 'Table', // MISSING + title : 'Table Properties', // MISSING + menu : 'Table Properties', // MISSING + deleteTable : 'Delete Table', // MISSING + rows : 'Rows', // MISSING + columns : 'Columns', // MISSING + border : 'Border size', // MISSING + widthPx : 'pixels', // MISSING + widthPc : 'percent', // MISSING + widthUnit : 'width unit', // MISSING + cellSpace : 'Cell spacing', // MISSING + cellPad : 'Cell padding', // MISSING + caption : 'Caption', // MISSING + summary : 'Summary', // MISSING + headers : 'Headers', // MISSING + headersNone : 'None', // MISSING + headersColumn : 'First column', // MISSING + headersRow : 'First Row', // MISSING + headersBoth : 'Both', // MISSING + invalidRows : 'Number of rows must be a number greater than 0.', // MISSING + invalidCols : 'Number of columns must be a number greater than 0.', // MISSING + invalidBorder : 'Border size must be a number.', // MISSING + invalidWidth : 'Table width must be a number.', // MISSING + invalidHeight : 'Table height must be a number.', // MISSING + invalidCellSpacing : 'Cell spacing must be a positive number.', // MISSING + invalidCellPadding : 'Cell padding must be a positive number.', // MISSING + + cell : + { + menu : 'Cell', // MISSING + insertBefore : 'Insert Cell Before', // MISSING + insertAfter : 'Insert Cell After', // MISSING + deleteCell : 'Delete Cells', // MISSING + merge : 'Merge Cells', // MISSING + mergeRight : 'Merge Right', // MISSING + mergeDown : 'Merge Down', // MISSING + splitHorizontal : 'Split Cell Horizontally', // MISSING + splitVertical : 'Split Cell Vertically', // MISSING + title : 'Cell Properties', // MISSING + cellType : 'Cell Type', // MISSING + rowSpan : 'Rows Span', // MISSING + colSpan : 'Columns Span', // MISSING + wordWrap : 'Word Wrap', // MISSING + hAlign : 'Horizontal Alignment', // MISSING + vAlign : 'Vertical Alignment', // MISSING + alignBaseline : 'Baseline', // MISSING + bgColor : 'Background Color', // MISSING + borderColor : 'Border Color', // MISSING + data : 'Data', // MISSING + header : 'Header', // MISSING + yes : 'Yes', // MISSING + no : 'No', // MISSING + invalidWidth : 'Cell width must be a number.', // MISSING + invalidHeight : 'Cell height must be a number.', // MISSING + invalidRowSpan : 'Rows span must be a whole number.', // MISSING + invalidColSpan : 'Columns span must be a whole number.', // MISSING + chooseColor : 'Choose' // MISSING + }, + + row : + { + menu : 'Row', // MISSING + insertBefore : 'Insert Row Before', // MISSING + insertAfter : 'Insert Row After', // MISSING + deleteRow : 'Delete Rows' // MISSING + }, + + column : + { + menu : 'Column', // MISSING + insertBefore : 'Insert Column Before', // MISSING + insertAfter : 'Insert Column After', // MISSING + deleteColumn : 'Delete Columns' // MISSING + } + }, + + // Button Dialog. + button : + { + title : 'Button Properties', // MISSING + text : 'Text (Value)', // MISSING + type : 'Type', // MISSING + typeBtn : 'Button', // MISSING + typeSbm : 'Submit', // MISSING + typeRst : 'Reset' // MISSING + }, + + // Checkbox and Radio Button Dialogs. + checkboxAndRadio : + { + checkboxTitle : 'Checkbox Properties', // MISSING + radioTitle : 'Radio Button Properties', // MISSING + value : 'Value', // MISSING + selected : 'Selected' // MISSING + }, + + // Form Dialog. + form : + { + title : 'Form Properties', // MISSING + menu : 'Form Properties', // MISSING + action : 'Action', // MISSING + method : 'Method', // MISSING + encoding : 'Encoding' // MISSING + }, + + // Select Field Dialog. + select : + { + title : 'Selection Field Properties', // MISSING + selectInfo : 'Select Info', // MISSING + opAvail : 'Available Options', // MISSING + value : 'Value', // MISSING + size : 'Size', // MISSING + lines : 'lines', // MISSING + chkMulti : 'Allow multiple selections', // MISSING + opText : 'Text', // MISSING + opValue : 'Value', // MISSING + btnAdd : 'Add', // MISSING + btnModify : 'Modify', // MISSING + btnUp : 'Up', // MISSING + btnDown : 'Down', // MISSING + btnSetValue : 'Set as selected value', // MISSING + btnDelete : 'Delete' // MISSING + }, + + // Textarea Dialog. + textarea : + { + title : 'Textarea Properties', // MISSING + cols : 'Columns', // MISSING + rows : 'Rows' // MISSING + }, + + // Text Field Dialog. + textfield : + { + title : 'Text Field Properties', // MISSING + name : 'Name', // MISSING + value : 'Value', // MISSING + charWidth : 'Character Width', // MISSING + maxChars : 'Maximum Characters', // MISSING + type : 'Type', // MISSING + typeText : 'Text', // MISSING + typePass : 'Password' // MISSING + }, + + // Hidden Field Dialog. + hidden : + { + title : 'Hidden Field Properties', // MISSING + name : 'Name', // MISSING + value : 'Value' // MISSING + }, + + // Image Dialog. + image : + { + title : 'Image Properties', // MISSING + titleButton : 'Image Button Properties', // MISSING + menu : 'Image Properties', // MISSING + infoTab : 'Image Info', // MISSING + btnUpload : 'Send it to the Server', // MISSING + upload : 'Upload', // MISSING + alt : 'Alternative Text', // MISSING + lockRatio : 'Lock Ratio', // MISSING + resetSize : 'Reset Size', // MISSING + border : 'Border', // MISSING + hSpace : 'HSpace', // MISSING + vSpace : 'VSpace', // MISSING + alertUrl : 'Please type the image URL', // MISSING + linkTab : 'Link', // MISSING + button2Img : 'Do you want to transform the selected image button on a simple image?', // MISSING + img2Button : 'Do you want to transform the selected image on a image button?', // MISSING + urlMissing : 'Image source URL is missing.', // MISSING + validateBorder : 'Border must be a whole number.', // MISSING + validateHSpace : 'HSpace must be a whole number.', // MISSING + validateVSpace : 'VSpace must be a whole number.' // MISSING + }, + + // Flash Dialog + flash : + { + properties : 'Flash Properties', // MISSING + propertiesTab : 'Properties', // MISSING + title : 'Flash Properties', // MISSING + chkPlay : 'Auto Play', // MISSING + chkLoop : 'Loop', // MISSING + chkMenu : 'Enable Flash Menu', // MISSING + chkFull : 'Allow Fullscreen', // MISSING + scale : 'Scale', // MISSING + scaleAll : 'Show all', // MISSING + scaleNoBorder : 'No Border', // MISSING + scaleFit : 'Exact Fit', // MISSING + access : 'Script Access', // MISSING + accessAlways : 'Always', // MISSING + accessSameDomain: 'Same domain', // MISSING + accessNever : 'Never', // MISSING + alignAbsBottom : 'Abs Bottom', // MISSING + alignAbsMiddle : 'Abs Middle', // MISSING + alignBaseline : 'Baseline', // MISSING + alignTextTop : 'Text Top', // MISSING + quality : 'Quality', // MISSING + qualityBest : 'Best', // MISSING + qualityHigh : 'High', // MISSING + qualityAutoHigh : 'Auto High', // MISSING + qualityMedium : 'Medium', // MISSING + qualityAutoLow : 'Auto Low', // MISSING + qualityLow : 'Low', // MISSING + windowModeWindow: 'Window', // MISSING + windowModeOpaque: 'Opaque', // MISSING + windowModeTransparent : 'Transparent', // MISSING + windowMode : 'Window mode', // MISSING + flashvars : 'Variables for Flash', // MISSING + bgcolor : 'Background color', // MISSING + hSpace : 'HSpace', // MISSING + vSpace : 'VSpace', // MISSING + validateSrc : 'URL must not be empty.', // MISSING + validateHSpace : 'HSpace must be a number.', // MISSING + validateVSpace : 'VSpace must be a number.' // MISSING + }, + + // Speller Pages Dialog + spellCheck : + { + toolbar : 'Check Spelling', // MISSING + title : 'Spell Check', // MISSING + notAvailable : 'Sorry, but service is unavailable now.', // MISSING + errorLoading : 'Error loading application service host: %s.', // MISSING + notInDic : 'Not in dictionary', // MISSING + changeTo : 'Change to', // MISSING + btnIgnore : 'Ignore', // MISSING + btnIgnoreAll : 'Ignore All', // MISSING + btnReplace : 'Replace', // MISSING + btnReplaceAll : 'Replace All', // MISSING + btnUndo : 'Undo', // MISSING + noSuggestions : '- No suggestions -', // MISSING + progress : 'Spell check in progress...', // MISSING + noMispell : 'Spell check complete: No misspellings found', // MISSING + noChanges : 'Spell check complete: No words changed', // MISSING + oneChange : 'Spell check complete: One word changed', // MISSING + manyChanges : 'Spell check complete: %1 words changed', // MISSING + ieSpellDownload : 'Spell checker not installed. Do you want to download it now?' // MISSING + }, + + smiley : + { + toolbar : 'Smiley', // MISSING + title : 'Insert a Smiley', // MISSING + options : 'Smiley Options' // MISSING + }, + + elementsPath : + { + eleLabel : 'Elements path', // MISSING + eleTitle : '%1 element' // MISSING + }, + + numberedlist : 'Insert/Remove Numbered List', // MISSING + bulletedlist : 'Insert/Remove Bulleted List', // MISSING + indent : 'Increase Indent', // MISSING + outdent : 'Decrease Indent', // MISSING + + justify : + { + left : 'Align Left', // MISSING + center : 'Center', // MISSING + right : 'Align Right', // MISSING + block : 'Justify' // MISSING + }, + + blockquote : 'Block Quote', // MISSING + + clipboard : + { + title : 'Paste', // MISSING + cutError : 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', // MISSING + copyError : 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', // MISSING + pasteMsg : 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', // MISSING + securityMsg : 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING + pasteArea : 'Paste Area' // MISSING + }, + + pastefromword : + { + confirmCleanup : 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + toolbar : 'Paste from Word', // MISSING + title : 'Paste from Word', // MISSING + error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING + }, + + pasteText : + { + button : 'Paste as plain text', // MISSING + title : 'Paste as Plain Text' // MISSING + }, + + templates : + { + button : 'Templates', // MISSING + title : 'Content Templates', // MISSING + options : 'Template Options', // MISSING + insertOption : 'Replace actual contents', // MISSING + selectPromptMsg : 'Please select the template to open in the editor', // MISSING + emptyListMsg : '(No templates defined)' // MISSING + }, + + showBlocks : 'Show Blocks', // MISSING + + stylesCombo : + { + label : 'Styles', // MISSING + panelTitle : 'Formatting Styles', // MISSING + panelTitle1 : 'Block Styles', // MISSING + panelTitle2 : 'Inline Styles', // MISSING + panelTitle3 : 'Object Styles' // MISSING + }, + + format : + { + label : 'Format', // MISSING + panelTitle : 'Paragraph Format', // MISSING + + tag_p : 'Normal', // MISSING + tag_pre : 'Formatted', // MISSING + tag_address : 'Address', // MISSING + tag_h1 : 'Heading 1', // MISSING + tag_h2 : 'Heading 2', // MISSING + tag_h3 : 'Heading 3', // MISSING + tag_h4 : 'Heading 4', // MISSING + tag_h5 : 'Heading 5', // MISSING + tag_h6 : 'Heading 6', // MISSING + tag_div : 'Normal (DIV)' // MISSING + }, + + div : + { + title : 'Create Div Container', // MISSING + toolbar : 'Create Div Container', // MISSING + cssClassInputLabel : 'Stylesheet Classes', // MISSING + styleSelectLabel : 'Style', // MISSING + IdInputLabel : 'Id', // MISSING + languageCodeInputLabel : ' Language Code', // MISSING + inlineStyleInputLabel : 'Inline Style', // MISSING + advisoryTitleInputLabel : 'Advisory Title', // MISSING + langDirLabel : 'Language Direction', // MISSING + langDirLTRLabel : 'Left to Right (LTR)', // MISSING + langDirRTLLabel : 'Right to Left (RTL)', // MISSING + edit : 'Edit Div', // MISSING + remove : 'Remove Div' // MISSING + }, + + iframe : + { + title : 'IFrame Properties', // MISSING + toolbar : 'IFrame', // MISSING + noUrl : 'Please type the iframe URL', // MISSING + scrolling : 'Enable scrollbars', // MISSING + border : 'Show frame border' // MISSING + }, + + font : + { + label : 'Font', // MISSING + voiceLabel : 'Font', // MISSING + panelTitle : 'Font Name' // MISSING + }, + + fontSize : + { + label : 'Size', // MISSING + voiceLabel : 'Font Size', // MISSING + panelTitle : 'Font Size' // MISSING + }, + + colorButton : + { + textColorTitle : 'Text Color', // MISSING + bgColorTitle : 'Background Color', // MISSING + panelTitle : 'Colors', // MISSING + auto : 'Automatic', // MISSING + more : 'More Colors...' // MISSING + }, + + colors : + { + '000' : 'Black', // MISSING + '800000' : 'Maroon', // MISSING + '8B4513' : 'Saddle Brown', // MISSING + '2F4F4F' : 'Dark Slate Gray', // MISSING + '008080' : 'Teal', // MISSING + '000080' : 'Navy', // MISSING + '4B0082' : 'Indigo', // MISSING + '696969' : 'Dark Gray', // MISSING + 'B22222' : 'Fire Brick', // MISSING + 'A52A2A' : 'Brown', // MISSING + 'DAA520' : 'Golden Rod', // MISSING + '006400' : 'Dark Green', // MISSING + '40E0D0' : 'Turquoise', // MISSING + '0000CD' : 'Medium Blue', // MISSING + '800080' : 'Purple', // MISSING + '808080' : 'Gray', // MISSING + 'F00' : 'Red', // MISSING + 'FF8C00' : 'Dark Orange', // MISSING + 'FFD700' : 'Gold', // MISSING + '008000' : 'Green', // MISSING + '0FF' : 'Cyan', // MISSING + '00F' : 'Blue', // MISSING + 'EE82EE' : 'Violet', // MISSING + 'A9A9A9' : 'Dim Gray', // MISSING + 'FFA07A' : 'Light Salmon', // MISSING + 'FFA500' : 'Orange', // MISSING + 'FFFF00' : 'Yellow', // MISSING + '00FF00' : 'Lime', // MISSING + 'AFEEEE' : 'Pale Turquoise', // MISSING + 'ADD8E6' : 'Light Blue', // MISSING + 'DDA0DD' : 'Plum', // MISSING + 'D3D3D3' : 'Light Grey', // MISSING + 'FFF0F5' : 'Lavender Blush', // MISSING + 'FAEBD7' : 'Antique White', // MISSING + 'FFFFE0' : 'Light Yellow', // MISSING + 'F0FFF0' : 'Honeydew', // MISSING + 'F0FFFF' : 'Azure', // MISSING + 'F0F8FF' : 'Alice Blue', // MISSING + 'E6E6FA' : 'Lavender', // MISSING + 'FFF' : 'White' // MISSING + }, + + scayt : + { + title : 'Spell Check As You Type', // MISSING + opera_title : 'Not supported by Opera', // MISSING + enable : 'Enable SCAYT', // MISSING + disable : 'Disable SCAYT', // MISSING + about : 'About SCAYT', // MISSING + toggle : 'Toggle SCAYT', // MISSING + options : 'Options', // MISSING + langs : 'Languages', // MISSING + moreSuggestions : 'More suggestions', // MISSING + ignore : 'Ignore', // MISSING + ignoreAll : 'Ignore All', // MISSING + addWord : 'Add Word', // MISSING + emptyDic : 'Dictionary name should not be empty.', // MISSING + + optionsTab : 'Options', // MISSING + allCaps : 'Ignore All-Caps Words', // MISSING + ignoreDomainNames : 'Ignore Domain Names', // MISSING + mixedCase : 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits : 'Ignore Words with Numbers', // MISSING + + languagesTab : 'Languages', // MISSING + + dictionariesTab : 'Dictionaries', // MISSING + dic_field_name : 'Dictionary name', // MISSING + dic_create : 'Create', // MISSING + dic_restore : 'Restore', // MISSING + dic_delete : 'Delete', // MISSING + dic_rename : 'Rename', // MISSING + dic_info : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + + aboutTab : 'About' // MISSING + }, + + about : + { + title : 'About CKEditor', // MISSING + dlgTitle : 'About CKEditor', // MISSING + help : 'Check $1 for help.', // MISSING + userGuide : 'CKEditor User\'s Guide', // MISSING + moreInfo : 'For licensing information please visit our web site:', // MISSING + copy : 'Copyright © $1. All rights reserved.' // MISSING + }, + + maximize : 'Maximize', // MISSING + minimize : 'Minimize', // MISSING + + fakeobjects : + { + anchor : 'Anchor', // MISSING + flash : 'Flash Animation', // MISSING + iframe : 'IFrame', // MISSING + hiddenfield : 'Hidden Field', // MISSING + unknown : 'Unknown Object' // MISSING + }, + + resize : 'Drag to resize', // MISSING + + colordialog : + { + title : 'Select color', // MISSING + options : 'Color Options', // MISSING + highlight : 'Highlight', // MISSING + selected : 'Selected Color', // MISSING + clear : 'Clear' // MISSING + }, + + toolbarCollapse : 'Collapse Toolbar', // MISSING + toolbarExpand : 'Expand Toolbar', // MISSING + + toolbarGroups : + { + document : 'Document', // MISSING + clipboard : 'Clipboard/Undo', // MISSING + editing : 'Editing', // MISSING + forms : 'Forms', // MISSING + basicstyles : 'Basic Styles', // MISSING + paragraph : 'Paragraph', // MISSING + links : 'Links', // MISSING + insert : 'Insert', // MISSING + styles : 'Styles', // MISSING + colors : 'Colors', // MISSING + tools : 'Tools' // MISSING + }, + + bidi : + { + ltr : 'Text direction from left to right', // MISSING + rtl : 'Text direction from right to left' // MISSING + }, + + docprops : + { + label : 'Document Properties', // MISSING + title : 'Document Properties', // MISSING + design : 'Design', // MISSING + meta : 'Meta Tags', // MISSING + chooseColor : 'Choose', // MISSING + other : 'Other...', // MISSING + docTitle : 'Page Title', // MISSING + charset : 'Character Set Encoding', // MISSING + charsetOther : 'Other Character Set Encoding', // MISSING + charsetASCII : 'ASCII', // MISSING + charsetCE : 'Central European', // MISSING + charsetCT : 'Chinese Traditional (Big5)', // MISSING + charsetCR : 'Cyrillic', // MISSING + charsetGR : 'Greek', // MISSING + charsetJP : 'Japanese', // MISSING + charsetKR : 'Korean', // MISSING + charsetTR : 'Turkish', // MISSING + charsetUN : 'Unicode (UTF-8)', // MISSING + charsetWE : 'Western European', // MISSING + docType : 'Document Type Heading', // MISSING + docTypeOther : 'Other Document Type Heading', // MISSING + xhtmlDec : 'Include XHTML Declarations', // MISSING + bgColor : 'Background Color', // MISSING + bgImage : 'Background Image URL', // MISSING + bgFixed : 'Non-scrolling (Fixed) Background', // MISSING + txtColor : 'Text Color', // MISSING + margin : 'Page Margins', // MISSING + marginTop : 'Top', // MISSING + marginLeft : 'Left', // MISSING + marginRight : 'Right', // MISSING + marginBottom : 'Bottom', // MISSING + metaKeywords : 'Document Indexing Keywords (comma separated)', // MISSING + metaDescription : 'Document Description', // MISSING + metaAuthor : 'Author', // MISSING + metaCopyright : 'Copyright', // MISSING + previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + } +}; diff --git a/phpgwapi/js/ckeditor3/_source/lang/mn.js b/phpgwapi/js/ckeditor3/_source/lang/mn.js index 99fef98b25..f690c06754 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/mn.js +++ b/phpgwapi/js/ckeditor3/_source/lang/mn.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['mn'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/ms.js b/phpgwapi/js/ckeditor3/_source/lang/ms.js index 2c27818cfa..99bd519eed 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/ms.js +++ b/phpgwapi/js/ckeditor3/_source/lang/ms.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['ms'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/nb.js b/phpgwapi/js/ckeditor3/_source/lang/nb.js index 1ae1f34614..0c16cc8f24 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/nb.js +++ b/phpgwapi/js/ckeditor3/_source/lang/nb.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['nb'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rikteksteditor, %1, trykk ALT 0 for hjelp.', + editorTitle : 'Rikteksteditor, %1', + editorHelp : 'Trykk ALT 0 for hjelp', // ARIA descriptions. toolbars : 'Verktøylinjer for editor', @@ -124,7 +125,7 @@ CKEDITOR.lang['nb'] = invalidCssLength : 'Den angitte verdien for feltet "%1" må være et positivt tall med eller uten en gyldig CSS-målingsenhet (px, %, in, cm, mm, em, ex, pt, eller pc).', invalidHtmlLength : 'Den angitte verdien for feltet "%1" må være et positivt tall med eller uten en gyldig HTML-målingsenhet (px eller %).', invalidInlineStyle : 'Verdi angitt for inline stil må bestå av en eller flere sett med formatet "navn : verdi", separert med semikolon', - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + cssLengthTooltip : 'Skriv inn et tall for en piksel-verdi eller et tall med en gyldig CSS-enhet (px, %, in, cm, mm, em, ex, pt, eller pc).', // Put the voice-only part of the label in the span. unavailable : '%1, utilgjenglig' @@ -529,8 +530,8 @@ CKEDITOR.lang['nb'] = clipboard : { title : 'Lim inn', - cutError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl/Cmd+X).', - copyError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl/Cmd+C).', + cutError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).', + copyError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snarveien (Ctrl/Cmd+C).', pasteMsg : 'Vennligst lim inn i følgende boks med tastaturet (Ctrl/Cmd+V) og trykk OK.', securityMsg : 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må derfor lime det inn på nytt i dette vinduet.', pasteArea : 'Innlimingsområde' diff --git a/phpgwapi/js/ckeditor3/_source/lang/nl.js b/phpgwapi/js/ckeditor3/_source/lang/nl.js index 878b1fa9b5..fd9eb73443 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/nl.js +++ b/phpgwapi/js/ckeditor3/_source/lang/nl.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['nl'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Tekstverwerker, %1, druk op ALT 0 voor hulp.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Werkbalken', @@ -48,7 +49,7 @@ CKEDITOR.lang['nl'] = print : 'Printen', underline : 'Onderstreept', bold : 'Vet', - italic : 'Schuingedrukt', + italic : 'Cursief', selectAll : 'Alles selecteren', removeFormat : 'Opmaak verwijderen', strike : 'Doorhalen', @@ -81,7 +82,7 @@ CKEDITOR.lang['nl'] = select : 'Selectieveld', imageButton : 'Afbeeldingsknop', notSet : '', - id : 'Kenmerk', + id : 'Id', name : 'Naam', langDir : 'Schrijfrichting', langDirLtr : 'Links naar rechts (LTR)', @@ -89,7 +90,7 @@ CKEDITOR.lang['nl'] = langCode : 'Taalcode', longDescr : 'Lange URL-omschrijving', cssClass : 'Stylesheet-klassen', - advisoryTitle : 'Aanbevolen titel', + advisoryTitle : 'Adviserende titel', cssStyle : 'Stijl', ok : 'OK', cancel : 'Annuleren', @@ -101,14 +102,14 @@ CKEDITOR.lang['nl'] = confirmNewPage : 'Alle aangebrachte wijzigingen gaan verloren. Weet u zeker dat u een nieuwe pagina wilt openen?', confirmCancel : 'Enkele opties zijn gewijzigd. Weet u zeker dat u dit dialoogvenster wilt sluiten?', options : 'Opties', - target : 'Doel', + target : 'Doelvenster', targetNew : 'Nieuw venster (_blank)', targetTop : 'Hele venster (_top)', targetSelf : 'Zelfde venster (_self)', targetParent : 'Origineel venster (_parent)', langDirLTR : 'Links naar rechts (LTR)', langDirRTL : 'Rechts naar links (RTL)', - styles : 'Stijlen', + styles : 'Stijl', cssClasses : 'Stylesheet klassen', width : 'Breedte', height : 'Hoogte', @@ -118,7 +119,7 @@ CKEDITOR.lang['nl'] = alignCenter : 'Centreren', alignTop : 'Boven', alignMiddle : 'Midden', - alignBottom : 'Beneden', + alignBottom : 'Onder', invalidHeight : 'De hoogte moet een getal zijn.', invalidWidth : 'De breedte moet een getal zijn.', invalidCssLength : 'Waarde in veld "%1" moet een positief nummer zijn, met of zonder een geldige CSS meeteenheid (px, %, in, cm, mm, em, ex, pt of pc).', @@ -132,7 +133,7 @@ CKEDITOR.lang['nl'] = contextmenu : { - options : 'Context menu opties' + options : 'Contextmenu opties' }, // Special char dialog. @@ -151,7 +152,7 @@ CKEDITOR.lang['nl'] = menu : 'Link wijzigen', title : 'Link', info : 'Linkomschrijving', - target : 'Doel', + target : 'Doelvenster', upload : 'Upload', advanced : 'Geavanceerd', type : 'Linktype', @@ -159,14 +160,14 @@ CKEDITOR.lang['nl'] = toAnchor : 'Interne link in pagina', toEmail : 'E-mail', targetFrame : '', - targetPopup : '', + targetPopup : '', targetFrameName : 'Naam doelframe', targetPopupName : 'Naam popupvenster', popupFeatures : 'Instellingen popupvenster', popupResizable : 'Herschaalbaar', popupStatusBar : 'Statusbalk', popupLocationBar: 'Locatiemenu', - popupToolbar : 'Menubalk', + popupToolbar : 'Werkbalk', popupMenuBar : 'Menubalk', popupFullScreen : 'Volledig scherm (IE)', popupScrollBars : 'Schuifbalken', @@ -179,9 +180,9 @@ CKEDITOR.lang['nl'] = langDirRTL : 'Rechts naar links (RTL)', acccessKey : 'Toegangstoets', name : 'Naam', - langCode : 'Schrijfrichting', + langCode : 'Taalcode', tabIndex : 'Tabvolgorde', - advisoryTitle : 'Aanbevolen titel', + advisoryTitle : 'Adviserende titel', advisoryContentType : 'Aanbevolen content-type', cssClasses : 'Stylesheet-klassen', charset : 'Karakterset van gelinkte bron', @@ -216,16 +217,16 @@ CKEDITOR.lang['nl'] = bulletedTitle : 'Eigenschappen lijst met opsommingstekens', type : 'Type', start : 'Start', - validateStartNumber :'Starnummer van de lijst moet een heel nummer zijn.', + validateStartNumber :'Startnummer van de lijst moet een heel nummer zijn.', circle : 'Cirkel', disc : 'Schijf', square : 'Vierkant', none : 'Geen', notset : '', - armenian : 'Armeense numering', - georgian : 'Greorgische numering (an, ban, gan, etc.)', + armenian : 'Armeense nummering', + georgian : 'Georgische nummering (an, ban, gan, etc.)', lowerRoman : 'Romeins kleine letters (i, ii, iii, iv, v, etc.)', - upperRoman : 'Romeins hoofdletters (I, II, III, IV, V, etc.)', + upperRoman : 'Romeinse hoofdletters (I, II, III, IV, V, etc.)', lowerAlpha : 'Kleine letters (a, b, c, d, e, etc.)', upperAlpha : 'Hoofdletters (A, B, C, D, E, etc.)', lowerGreek : 'Grieks kleine letters (alpha, beta, gamma, etc.)', @@ -247,7 +248,7 @@ CKEDITOR.lang['nl'] = matchWord : 'Hele woord moet voorkomen', matchCyclic : 'Doorlopend zoeken', replaceAll : 'Alles vervangen', - replaceSuccessMsg : '%1 resulaten vervangen.' + replaceSuccessMsg : '%1 resultaten vervangen.' }, // Table Dialog @@ -275,8 +276,8 @@ CKEDITOR.lang['nl'] = invalidRows : 'Het aantal rijen moet een getal zijn groter dan 0.', invalidCols : 'Het aantal kolommen moet een getal zijn groter dan 0.', invalidBorder : 'De rand breedte moet een getal zijn.', - invalidWidth : 'De tabel breedte moet een getal zijn.', - invalidHeight : 'De tabel hoogte moet een getal zijn.', + invalidWidth : 'De tabelbreedte moet een getal zijn.', + invalidHeight : 'De tabelhoogte moet een getal zijn.', invalidCellSpacing : 'Afstand tussen cellen moet een getal zijn.', invalidCellPadding : 'Ruimte in de cel moet een getal zijn.', @@ -470,7 +471,7 @@ CKEDITOR.lang['nl'] = bgcolor : 'Achtergrondkleur', hSpace : 'HSpace', vSpace : 'VSpace', - validateSrc : 'Geef de link van de URL', + validateSrc : 'De URL mag niet leeg zijn.', validateHSpace : 'De HSpace moet een getal zijn.', validateVSpace : 'De VSpace moet een getal zijn.' }, @@ -481,7 +482,7 @@ CKEDITOR.lang['nl'] = toolbar : 'Spellingscontrole', title : 'Spellingscontrole', notAvailable : 'Excuses, deze dienst is momenteel niet beschikbaar.', - errorLoading : 'Er is een fout opgetreden bij het laden van de diesnt: %s.', + errorLoading : 'Er is een fout opgetreden bij het laden van de dienst: %s.', notInDic : 'Niet in het woordenboek', changeTo : 'Wijzig in', btnIgnore : 'Negeren', @@ -489,13 +490,13 @@ CKEDITOR.lang['nl'] = btnReplace : 'Vervangen', btnReplaceAll : 'Alles vervangen', btnUndo : 'Ongedaan maken', - noSuggestions : '-Geen suggesties-', + noSuggestions : '- Geen suggesties -', progress : 'Bezig met spellingscontrole...', noMispell : 'Klaar met spellingscontrole: geen fouten gevonden', noChanges : 'Klaar met spellingscontrole: geen woorden aangepast', oneChange : 'Klaar met spellingscontrole: één woord aangepast', manyChanges : 'Klaar met spellingscontrole: %1 woorden aangepast', - ieSpellDownload : 'De spellingscontrole niet geïnstalleerd. Wilt u deze nu downloaden?' + ieSpellDownload : 'De spellingscontrole is niet geïnstalleerd. Wilt u deze nu downloaden?' }, smiley : @@ -513,8 +514,8 @@ CKEDITOR.lang['nl'] = numberedlist : 'Genummerde lijst', bulletedlist : 'Opsomming', - indent : 'Inspringen vergroten', - outdent : 'Inspringen verkleinen', + indent : 'Inspringing vergroten', + outdent : 'Inspringing verkleinen', justify : { @@ -531,7 +532,7 @@ CKEDITOR.lang['nl'] = title : 'Plakken', cutError : 'De beveiligingsinstelling van de browser verhinderen het automatisch knippen. Gebruik de sneltoets Ctrl/Cmd+X van het toetsenbord.', copyError : 'De beveiligingsinstelling van de browser verhinderen het automatisch kopiëren. Gebruik de sneltoets Ctrl/Cmd+C van het toetsenbord.', - pasteMsg : 'Plak de tekst in het volgende vak gebruik makend van uw toetsenbord (Ctrl/Cmd+V) en klik op OK.', + pasteMsg : 'Plak de tekst in het volgende vak gebruikmakend van uw toetsenbord (Ctrl/Cmd+V) en klik op OK.', securityMsg : 'Door de beveiligingsinstellingen van uw browser is het niet mogelijk om direct vanuit het klembord in de editor te plakken. Middels opnieuw plakken in dit venster kunt u de tekst alsnog plakken in de editor.', pasteArea : 'Plakgebied' }, @@ -553,7 +554,7 @@ CKEDITOR.lang['nl'] = templates : { button : 'Sjablonen', - title : 'Inhoud sjabonen', + title : 'Inhoud sjablonen', options : 'Template opties', insertOption : 'Vervang de huidige inhoud', selectPromptMsg : 'Selecteer het sjabloon dat in de editor geopend moet worden (de actuele inhoud gaat verloren):', @@ -567,7 +568,7 @@ CKEDITOR.lang['nl'] = label : 'Stijl', panelTitle : 'Opmaakstijlen', panelTitle1 : 'Blok stijlen', - panelTitle2 : 'In-line stijlen', + panelTitle2 : 'Inline stijlen', panelTitle3 : 'Object stijlen' }, @@ -597,7 +598,7 @@ CKEDITOR.lang['nl'] = IdInputLabel : 'Id', languageCodeInputLabel : ' Taalcode', inlineStyleInputLabel : 'Inline stijl', - advisoryTitleInputLabel : 'informatieve titel', + advisoryTitleInputLabel : 'Adviserende titel', langDirLabel : 'Schrijfrichting', langDirLTRLabel : 'Links naar rechts (LTR)', langDirRTLLabel : 'Rechts naar links (RTL)', @@ -720,7 +721,7 @@ CKEDITOR.lang['nl'] = { title : 'Over CKEditor', dlgTitle : 'Over CKEditor', - help : 'Bekijk $1 voor hulp.', + help : 'Bekijk de $1 voor hulp.', userGuide : 'CKEditor gebruiksaanwijzing', moreInfo : 'Voor licentie informatie, bezoek onze website:', copy : 'Copyright © $1. Alle rechten voorbehouden.' @@ -731,7 +732,7 @@ CKEDITOR.lang['nl'] = fakeobjects : { - anchor : 'Anker', + anchor : 'Interne link', flash : 'Flash animatie', iframe : 'IFrame', hiddenfield : 'Verborgen veld', @@ -745,7 +746,7 @@ CKEDITOR.lang['nl'] = title : 'Selecteer kleur', options : 'Kleuropties', highlight : 'Actief', - selected : 'Geselecteerd', + selected : 'Geselecteerde kleur', clear : 'Wissen' }, @@ -779,14 +780,14 @@ CKEDITOR.lang['nl'] = title : 'Documenteigenschappen', design : 'Ontwerp', meta : 'Meta tags', - chooseColor : 'Kiezen', + chooseColor : 'Kies', other : 'Anders...', docTitle : 'Paginatitel', charset : 'Tekencodering', charsetOther : 'Andere tekencodering', charsetASCII : 'ASCII', charsetCE : 'Centraal Europees', - charsetCT : 'Tranditioneel Chinees (Big5)', + charsetCT : 'Traditioneel Chinees (Big5)', charsetCR : 'Cyrillisch', charsetGR : 'Grieks', charsetJP : 'Japans', diff --git a/phpgwapi/js/ckeditor3/_source/lang/no.js b/phpgwapi/js/ckeditor3/_source/lang/no.js index 18d4a6da55..1e78aaff7f 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/no.js +++ b/phpgwapi/js/ckeditor3/_source/lang/no.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['no'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rikteksteditor, %1, trykk ALT 0 for hjelp.', + editorTitle : 'Rikteksteditor, %1', + editorHelp : 'Trykk ALT 0 for hjelp', // ARIA descriptions. toolbars : 'Verktøylinjer for editor', @@ -124,7 +125,7 @@ CKEDITOR.lang['no'] = invalidCssLength : 'Den angitte verdien for feltet "%1" må være et positivt tall med eller uten en gyldig CSS-målingsenhet (px, %, in, cm, mm, em, ex, pt, eller pc).', invalidHtmlLength : 'Den angitte verdien for feltet "%1" må være et positivt tall med eller uten en gyldig HTML-målingsenhet (px eller %).', invalidInlineStyle : 'Verdi angitt for inline stil må bestå av en eller flere sett med formatet "navn : verdi", separert med semikolon', - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + cssLengthTooltip : 'Skriv inn et tall for en piksel-verdi eller et tall med en gyldig CSS-enhet (px, %, in, cm, mm, em, ex, pt, eller pc).', // Put the voice-only part of the label in the span. unavailable : '%1, utilgjenglig' @@ -529,8 +530,8 @@ CKEDITOR.lang['no'] = clipboard : { title : 'Lim inn', - cutError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl/Cmd+X).', - copyError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl/Cmd+C).', + cutError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).', + copyError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snarveien (Ctrl/Cmd+C).', pasteMsg : 'Vennligst lim inn i følgende boks med tastaturet (Ctrl/Cmd+V) og trykk OK.', securityMsg : 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må derfor lime det inn på nytt i dette vinduet.', pasteArea : 'Innlimingsområde' diff --git a/phpgwapi/js/ckeditor3/_source/lang/pl.js b/phpgwapi/js/ckeditor3/_source/lang/pl.js index 1f21466506..4354d0bf21 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/pl.js +++ b/phpgwapi/js/ckeditor3/_source/lang/pl.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['pl'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Edytor tekstu sformatowanego, %1, w celu uzyskania pomocy naciśnij ALT 0.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Paski narzędzi edytora', @@ -55,7 +56,7 @@ CKEDITOR.lang['pl'] = subscript : 'Indeks dolny', superscript : 'Indeks górny', horizontalrule : 'Wstaw poziomą linię', - pagebreak : 'Wstaw pdodział strony', + pagebreak : 'Wstaw podział strony', pagebreakAlt : 'Wstaw podział strony', unlink : 'Usuń odnośnik', undo : 'Cofnij', @@ -302,7 +303,7 @@ CKEDITOR.lang['pl'] = bgColor : 'Kolor tła', borderColor : 'Kolor obramowania', data : 'Dane', - header : 'Nagłowek', + header : 'Nagłówek', yes : 'Tak', no : 'Nie', invalidWidth : 'Szerokość komórki musi być liczbą.', diff --git a/phpgwapi/js/ckeditor3/_source/lang/pt-br.js b/phpgwapi/js/ckeditor3/_source/lang/pt-br.js index 55fc167302..4a2b5e9976 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/pt-br.js +++ b/phpgwapi/js/ckeditor3/_source/lang/pt-br.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -30,7 +30,8 @@ CKEDITOR.lang['pt-br'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Editor de Texto, %1, pressione ALT 0 para obter ajuda.', + editorTitle : 'Editor de texto rico, %1', + editorHelp : 'Pressione ALT+0 para ajuda', // ARIA descriptions. toolbars : 'Barra de Ferramentas do Editor', diff --git a/phpgwapi/js/ckeditor3/_source/lang/pt.js b/phpgwapi/js/ckeditor3/_source/lang/pt.js index 33bcf89a7e..a743867063 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/pt.js +++ b/phpgwapi/js/ckeditor3/_source/lang/pt.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,11 +31,12 @@ CKEDITOR.lang['pt'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Editor de barras de ferramentas', + editor : 'Editor de texto enriquecido', // Toolbar buttons without dialogs. source : 'Fonte', @@ -56,7 +57,7 @@ CKEDITOR.lang['pt'] = superscript : 'Inferior à Linha', horizontalrule : 'Inserir Linha Horizontal', pagebreak : 'Inserir Quebra de Página', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'Quebra de página', unlink : 'Eliminar Hiperligação', undo : 'Anular', redo : 'Repetir', @@ -93,22 +94,22 @@ CKEDITOR.lang['pt'] = cssStyle : 'Estilo', ok : 'OK', cancel : 'Cancelar', - close : 'Close', // MISSING - preview : 'Preview', // MISSING - generalTab : 'General', // MISSING + close : 'Fechar', + preview : 'Pré-visualização', + generalTab : 'Geral', advancedTab : 'Avançado', validateNumberFailed : 'This value is not a number.', // MISSING confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING + options : 'Opções', + target : 'Alvo', + targetNew : 'Nova Janela (_blank)', + targetTop : 'Janela superior (_top)', + targetSelf : 'Mesma janela (_self)', targetParent : 'Parent Window (_parent)', // MISSING langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING + langDirRTL : 'Direita para Esquerda (RTL)', + styles : 'Estilo', cssClasses : 'Stylesheet Classes', // MISSING width : 'Largura', height : 'Altura', @@ -132,7 +133,7 @@ CKEDITOR.lang['pt'] = contextmenu : { - options : 'Context Menu Options' // MISSING + options : 'Menu de opções de contexto' }, // Special char dialog. @@ -155,7 +156,7 @@ CKEDITOR.lang['pt'] = upload : 'Carregar', advanced : 'Avançado', type : 'Tipo de Hiperligação', - toUrl : 'URL', // MISSING + toUrl : 'URL', toAnchor : 'Referência a esta página', toEmail : 'E-Mail', targetFrame : '', @@ -163,7 +164,7 @@ CKEDITOR.lang['pt'] = targetFrameName : 'Nome do Frame Destino', targetPopupName : 'Nome da Janela de Popup', popupFeatures : 'Características de Janela de Popup', - popupResizable : 'Resizable', // MISSING + popupResizable : 'Redimensionável', popupStatusBar : 'Barra de Estado', popupLocationBar: 'Barra de localização', popupToolbar : 'Barra de Ferramentas', @@ -173,7 +174,7 @@ CKEDITOR.lang['pt'] = popupDependent : 'Dependente (Netscape)', popupLeft : 'Posição Esquerda', popupTop : 'Posição Direita', - id : 'Id', // MISSING + id : 'ID', langDir : 'Orientação de idioma', langDirLTR : 'Esquerda à Direita (LTR)', langDirRTL : 'Direita a Esquerda (RTL)', @@ -186,7 +187,7 @@ CKEDITOR.lang['pt'] = cssClasses : 'Classes de Estilo de Folhas Classes', charset : 'Fonte de caracteres vinculado', styles : 'Estilo', - rel : 'Relationship', // MISSING + rel : 'Relação', selectAnchor : 'Seleccionar una referência', anchorName : 'Por Nome de Referência', anchorId : 'Por ID de elemento', @@ -214,15 +215,15 @@ CKEDITOR.lang['pt'] = { numberedTitle : 'Numbered List Properties', // MISSING bulletedTitle : 'Bulleted List Properties', // MISSING - type : 'Type', // MISSING - start : 'Start', // MISSING + type : 'Tipo', + start : 'Iniciar', validateStartNumber :'List start number must be a whole number.', // MISSING - circle : 'Circle', // MISSING - disc : 'Disc', // MISSING - square : 'Square', // MISSING - none : 'None', // MISSING - notset : '', // MISSING - armenian : 'Armenian numbering', // MISSING + circle : 'Círculo', + disc : 'Disco', + square : 'Quadrado', + none : 'Nenhum', + notset : '', + armenian : 'Numeração armênia', georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING @@ -524,7 +525,7 @@ CKEDITOR.lang['pt'] = block : 'Justificado' }, - blockquote : 'Block Quote', // MISSING + blockquote : 'Bloco de citação', clipboard : { @@ -560,7 +561,7 @@ CKEDITOR.lang['pt'] = emptyListMsg : '(Sem modelos definidos)' }, - showBlocks : 'Show Blocks', // MISSING + showBlocks : 'Exibir blocos', stylesCombo : { @@ -726,8 +727,8 @@ CKEDITOR.lang['pt'] = copy : 'Copyright © $1. All rights reserved.' // MISSING }, - maximize : 'Maximize', // MISSING - minimize : 'Minimize', // MISSING + maximize : 'Maximizar', + minimize : 'Minimizar', fakeobjects : { @@ -738,7 +739,7 @@ CKEDITOR.lang['pt'] = unknown : 'Unknown Object' // MISSING }, - resize : 'Drag to resize', // MISSING + resize : 'Arraste para redimensionar', colordialog : { @@ -749,8 +750,8 @@ CKEDITOR.lang['pt'] = clear : 'Clear' // MISSING }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'Colapsar Barra', + toolbarExpand : 'Expandir Barra', toolbarGroups : { diff --git a/phpgwapi/js/ckeditor3/_source/lang/ro.js b/phpgwapi/js/ckeditor3/_source/lang/ro.js index 90c1e0dbf1..b37298c0ff 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/ro.js +++ b/phpgwapi/js/ckeditor3/_source/lang/ro.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,11 +31,12 @@ CKEDITOR.lang['ro'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Editează bara de unelte', + editor : 'Rich Text Editor', // Toolbar buttons without dialogs. source : 'Sursa', @@ -54,9 +55,9 @@ CKEDITOR.lang['ro'] = strike : 'Tăiat (strike through)', subscript : 'Indice (subscript)', superscript : 'Putere (superscript)', - horizontalrule : 'Inserează linie orizontă', + horizontalrule : 'Inserează linie orizontală', pagebreak : 'Inserează separator de pagină (Page Break)', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'Page Break', unlink : 'Înlătură link (legătură web)', undo : 'Starea anterioară (undo)', redo : 'Starea ulterioară (redo)', @@ -91,36 +92,36 @@ CKEDITOR.lang['ro'] = cssClass : 'Clasele cu stilul paginii (CSS)', advisoryTitle : 'Titlul consultativ', cssStyle : 'Stil', - ok : 'Bine', + ok : 'OK', cancel : 'Anulare', - close : 'Close', // MISSING - preview : 'Preview', // MISSING - generalTab : 'General', // MISSING + close : 'Închide', + preview : 'Previzualizare', + generalTab : 'General', advancedTab : 'Avansat', - validateNumberFailed : 'This value is not a number.', // MISSING - confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING - confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING - cssClasses : 'Stylesheet Classes', // MISSING + validateNumberFailed : 'Această valoare nu este un număr.', + confirmNewPage : 'Orice modificări nesalvate ale acestui conținut, vor fi pierdute. Sigur doriți încărcarea unei noi pagini?', + confirmCancel : 'Câteva opțiuni au fost schimbate. Sigur doriți să închideți dialogul?', + options : 'Opțiuni', + target : 'Țintă', + targetNew : 'Fereastră nouă (_blank)', + targetTop : 'Topmost Window (_top)', + targetSelf : 'În aceeași fereastră (_self)', + targetParent : 'Parent Window (_parent)', + langDirLTR : 'Stânga spre Dreapta (LTR)', + langDirRTL : 'Dreapta spre Stânga (RTL)', + styles : 'Stil', + cssClasses : 'Stylesheet Classes', width : 'Lăţime', height : 'Înălţime', align : 'Aliniere', - alignLeft : 'Stânga', + alignLeft : 'Mărește Bara', alignRight : 'Dreapta', alignCenter : 'Centru', alignTop : 'Sus', alignMiddle : 'Mijloc', alignBottom : 'Jos', - invalidHeight : 'Height must be a number.', // MISSING - invalidWidth : 'Width must be a number.', // MISSING + invalidHeight : 'Înălțimea trebuie să fie un număr.', + invalidWidth : 'Lățimea trebuie să fie un număr.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING @@ -132,7 +133,7 @@ CKEDITOR.lang['ro'] = contextmenu : { - options : 'Context Menu Options' // MISSING + options : 'Opțiuni Meniu Contextual' }, // Special char dialog. @@ -140,7 +141,7 @@ CKEDITOR.lang['ro'] = { toolbar : 'Inserează caracter special', title : 'Selectează caracter special', - options : 'Special Character Options' // MISSING + options : 'Opțiuni caractere speciale' }, // Link dialog. @@ -155,25 +156,25 @@ CKEDITOR.lang['ro'] = upload : 'Încarcă', advanced : 'Avansat', type : 'Tipul link-ului (al legăturii web)', - toUrl : 'URL', // MISSING + toUrl : 'URL', toAnchor : 'Ancoră în această pagină', toEmail : 'E-Mail', targetFrame : '', targetPopup : '', - targetFrameName : 'Numele frame-ului ţintă', + targetFrameName : 'Numele frameului ţintă', targetPopupName : 'Numele ferestrei popup', popupFeatures : 'Proprietăţile ferestrei popup', - popupResizable : 'Resizable', // MISSING + popupResizable : 'Redimensionabil', popupStatusBar : 'Bara de status', popupLocationBar: 'Bara de locaţie', popupToolbar : 'Bara de opţiuni', popupMenuBar : 'Bara de meniu', popupFullScreen : 'Tot ecranul (Full Screen)(IE)', - popupScrollBars : 'Scroll Bars', + popupScrollBars : 'Bare de derulare', popupDependent : 'Dependent (Netscape)', popupLeft : 'Poziţia la stânga', popupTop : 'Poziţia la dreapta', - id : 'Id', // MISSING + id : 'Id', langDir : 'Direcţia cuvintelor', langDirLTR : 'stânga-dreapta (LTR)', langDirRTL : 'dreapta-stânga (RTL)', @@ -186,13 +187,13 @@ CKEDITOR.lang['ro'] = cssClasses : 'Clasele cu stilul paginii (CSS)', charset : 'Setul de caractere al resursei legate', styles : 'Stil', - rel : 'Relationship', // MISSING + rel : 'Relație', selectAnchor : 'Selectaţi o ancoră', anchorName : 'după numele ancorei', anchorId : 'după Id-ul elementului', emailAddress : 'Adresă de e-mail', emailSubject : 'Subiectul mesajului', - emailBody : 'Conţinutul mesajului', + emailBody : 'Opțiuni Meniu Contextual', noAnchors : '(Nicio ancoră disponibilă în document)', noUrl : 'Vă rugăm să scrieţi URL-ul', noEmail : 'Vă rugăm să scrieţi adresa de e-mail' @@ -206,31 +207,31 @@ CKEDITOR.lang['ro'] = title : 'Proprietăţi ancoră', name : 'Numele ancorei', errorName : 'Vă rugăm scrieţi numele ancorei', - remove : 'Remove Anchor' // MISSING + remove : 'Elimină ancora' }, // List style dialog list: { - numberedTitle : 'Numbered List Properties', // MISSING - bulletedTitle : 'Bulleted List Properties', // MISSING - type : 'Type', // MISSING - start : 'Start', // MISSING - validateStartNumber :'List start number must be a whole number.', // MISSING - circle : 'Circle', // MISSING - disc : 'Disc', // MISSING - square : 'Square', // MISSING - none : 'None', // MISSING - notset : '', // MISSING - armenian : 'Armenian numbering', // MISSING - georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING - lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING - upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING - lowerAlpha : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING - upperAlpha : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING - lowerGreek : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING - decimal : 'Decimal (1, 2, 3, etc.)', // MISSING - decimalLeadingZero : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING + numberedTitle : 'Proprietățile listei numerotate', + bulletedTitle : 'Proprietățile listei cu simboluri', + type : 'Tip', + start : 'Start', + validateStartNumber :'Începutul listei trebuie să fie un număr întreg.', + circle : 'Cerc', + disc : 'Disc', + square : 'Pătrat', + none : 'Nimic', + notset : '', + armenian : 'Numerotare armeniană', + georgian : 'Numerotare georgiană (an, ban, gan, etc.)', + lowerRoman : 'Cifre romane mici (i, ii, iii, iv, v, etc.)', + upperRoman : 'Cifre romane mari (I, II, III, IV, V, etc.)', + lowerAlpha : 'Litere mici (a, b, c, d, e, etc.)', + upperAlpha : 'Litere mari (A, B, C, D, E, etc.)', + lowerGreek : 'Litere grecești mici (alpha, beta, gamma, etc.)', + decimal : 'Decimale (1, 2, 3, etc.)', + decimalLeadingZero : 'Decimale cu zero în față (01, 02, 03, etc.)' }, // Find And Replace Dialog @@ -245,9 +246,9 @@ CKEDITOR.lang['ro'] = findOptions : 'Find Options', // MISSING matchCase : 'Deosebeşte majuscule de minuscule (Match case)', matchWord : 'Doar cuvintele întregi', - matchCyclic : 'Match cyclic', // MISSING + matchCyclic : 'Potrivește ciclic', replaceAll : 'Înlocuieşte tot', - replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING + replaceSuccessMsg : '%1 căutări înlocuite.' }, // Table Dialog @@ -257,27 +258,27 @@ CKEDITOR.lang['ro'] = title : 'Proprietăţile tabelului', menu : 'Proprietăţile tabelului', deleteTable : 'Şterge tabel', - rows : 'Linii', + rows : 'Rânduri', columns : 'Coloane', border : 'Mărimea marginii', widthPx : 'pixeli', widthPc : 'procente', - widthUnit : 'width unit', // MISSING + widthUnit : 'unitate lățime', cellSpace : 'Spaţiu între celule', cellPad : 'Spaţiu în cadrul celulei', caption : 'Titlu (Caption)', summary : 'Rezumat', - headers : 'Headers', // MISSING - headersNone : 'None', // MISSING - headersColumn : 'First column', // MISSING - headersRow : 'First Row', // MISSING - headersBoth : 'Both', // MISSING - invalidRows : 'Number of rows must be a number greater than 0.', // MISSING - invalidCols : 'Number of columns must be a number greater than 0.', // MISSING - invalidBorder : 'Border size must be a number.', // MISSING - invalidWidth : 'Table width must be a number.', // MISSING + headers : 'Antente', + headersNone : 'Nimic', + headersColumn : 'Prima coloană', + headersRow : 'Primul rând', + headersBoth : 'Ambele', + invalidRows : 'Numărul rândurilor trebuie să fie mai mare decât 0.', + invalidCols : 'Numărul coloanelor trebuie să fie mai mare decât 0.', + invalidBorder : 'Dimensiunea bordurii trebuie să aibe un număr.', + invalidWidth : 'Lățimea tabelului trebuie să fie un număr.', invalidHeight : 'Table height must be a number.', // MISSING - invalidCellSpacing : 'Cell spacing must be a positive number.', // MISSING + invalidCellSpacing : 'Spațierea celului trebuie să fie un număr pozitiv.', invalidCellPadding : 'Cell padding must be a positive number.', // MISSING cell : @@ -291,33 +292,33 @@ CKEDITOR.lang['ro'] = mergeDown : 'Uneşte jos', splitHorizontal : 'Împarte celula pe orizontală', splitVertical : 'Împarte celula pe verticală', - title : 'Cell Properties', // MISSING - cellType : 'Cell Type', // MISSING + title : 'Proprietăți celulă', + cellType : 'Tipul celulei', rowSpan : 'Rows Span', // MISSING colSpan : 'Columns Span', // MISSING wordWrap : 'Word Wrap', // MISSING - hAlign : 'Horizontal Alignment', // MISSING - vAlign : 'Vertical Alignment', // MISSING + hAlign : 'Aliniament orizontal', + vAlign : 'Aliniament vertical', alignBaseline : 'Baseline', // MISSING - bgColor : 'Background Color', // MISSING - borderColor : 'Border Color', // MISSING - data : 'Data', // MISSING - header : 'Header', // MISSING - yes : 'Yes', // MISSING - no : 'No', // MISSING - invalidWidth : 'Cell width must be a number.', // MISSING - invalidHeight : 'Cell height must be a number.', // MISSING + bgColor : 'Culoare fundal', + borderColor : 'Culoare bordură', + data : 'Data', + header : 'Antet', + yes : 'Da', + no : 'Nu', + invalidWidth : 'Lățimea celulei trebuie să fie un număr.', + invalidHeight : 'Înălțimea celulei trebuie să fie un număr.', invalidRowSpan : 'Rows span must be a whole number.', // MISSING invalidColSpan : 'Columns span must be a whole number.', // MISSING - chooseColor : 'Choose' // MISSING + chooseColor : 'Alege' }, row : { - menu : 'Linie', - insertBefore : 'Inserează linie înainte', - insertAfter : 'Inserează linie după', - deleteRow : 'Şterge linii' + menu : 'Rând', + insertBefore : 'Inserează rând înainte', + insertAfter : 'Inserează rând după', + deleteRow : 'Şterge rânduri' }, column : @@ -335,8 +336,8 @@ CKEDITOR.lang['ro'] = title : 'Proprietăţi buton', text : 'Text (Valoare)', type : 'Tip', - typeBtn : 'Button', - typeSbm : 'Submit', + typeBtn : 'Buton', + typeSbm : 'Trimite', typeRst : 'Reset' }, @@ -356,7 +357,7 @@ CKEDITOR.lang['ro'] = menu : 'Proprietăţi formular (Form)', action : 'Acţiune', method : 'Metodă', - encoding : 'Encoding' // MISSING + encoding : 'Encodare' }, // Select Field Dialog. @@ -427,61 +428,61 @@ CKEDITOR.lang['ro'] = linkTab : 'Link (Legătură web)', button2Img : 'Do you want to transform the selected image button on a simple image?', // MISSING img2Button : 'Do you want to transform the selected image on a image button?', // MISSING - urlMissing : 'Image source URL is missing.', // MISSING - validateBorder : 'Border must be a whole number.', // MISSING - validateHSpace : 'HSpace must be a whole number.', // MISSING - validateVSpace : 'VSpace must be a whole number.' // MISSING + urlMissing : 'Sursa URL a imaginii lipsește.', + validateBorder : 'Bordura trebuie să fie un număr întreg.', + validateHSpace : 'Hspace trebuie să fie un număr întreg.', + validateVSpace : 'Vspace trebuie să fie un număr întreg.' }, // Flash Dialog flash : { - properties : 'Proprietăţile flash-ului', - propertiesTab : 'Properties', // MISSING - title : 'Proprietăţile flash-ului', + properties : 'Proprietăţile flashului', + propertiesTab : 'Proprietăți', + title : 'Proprietăţile flashului', chkPlay : 'Rulează automat', chkLoop : 'Repetă (Loop)', chkMenu : 'Activează meniul flash', - chkFull : 'Allow Fullscreen', // MISSING + chkFull : 'Permite pe tot ecranul', scale : 'Scală', scaleAll : 'Arată tot', - scaleNoBorder : 'Fără margini (No border)', + scaleNoBorder : 'Fără bordură (No border)', scaleFit : 'Potriveşte', - access : 'Script Access', // MISSING - accessAlways : 'Always', // MISSING - accessSameDomain: 'Same domain', // MISSING - accessNever : 'Never', // MISSING + access : 'Acces script', + accessAlways : 'Întotdeauna', + accessSameDomain: 'Același domeniu', + accessNever : 'Niciodată', alignAbsBottom : 'Jos absolut (Abs Bottom)', alignAbsMiddle : 'Mijloc absolut (Abs Middle)', alignBaseline : 'Linia de jos (Baseline)', alignTextTop : 'Text sus', - quality : 'Quality', // MISSING - qualityBest : 'Best', // MISSING - qualityHigh : 'High', // MISSING - qualityAutoHigh : 'Auto High', // MISSING - qualityMedium : 'Medium', // MISSING - qualityAutoLow : 'Auto Low', // MISSING - qualityLow : 'Low', // MISSING - windowModeWindow: 'Window', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent : 'Transparent', // MISSING - windowMode : 'Window mode', // MISSING - flashvars : 'Variables for Flash', // MISSING + quality : 'Calitate', + qualityBest : 'Cea mai bună', + qualityHigh : 'Înaltă', + qualityAutoHigh : 'Auto înaltă', + qualityMedium : 'Medie', + qualityAutoLow : 'Auto Joasă', + qualityLow : 'Joasă', + windowModeWindow: 'Fereastră', + windowModeOpaque: 'Opacă', + windowModeTransparent : 'Transparentă', + windowMode : 'Mod fereastră', + flashvars : 'Variabile pentru flash', bgcolor : 'Coloarea fundalului', hSpace : 'HSpace', vSpace : 'VSpace', validateSrc : 'Vă rugăm să scrieţi URL-ul', - validateHSpace : 'HSpace must be a number.', // MISSING - validateVSpace : 'VSpace must be a number.' // MISSING + validateHSpace : 'Hspace trebuie să fie un număr.', + validateVSpace : 'VSpace trebuie să fie un număr' }, // Speller Pages Dialog spellCheck : { - toolbar : 'Verifică text', + toolbar : 'Verifică scrierea textului', title : 'Spell Check', // MISSING - notAvailable : 'Sorry, but service is unavailable now.', // MISSING - errorLoading : 'Error loading application service host: %s.', // MISSING + notAvailable : 'Scuzați, dar serviciul nu este disponibil momentan.', + errorLoading : 'Eroare în lansarea aplicației service host %s.', notInDic : 'Nu e în dicţionar', changeTo : 'Schimbă în', btnIgnore : 'Ignoră', @@ -502,17 +503,17 @@ CKEDITOR.lang['ro'] = { toolbar : 'Figură expresivă (Emoticon)', title : 'Inserează o figură expresivă (Emoticon)', - options : 'Smiley Options' // MISSING + options : 'Opțiuni figuri expresive' }, elementsPath : { - eleLabel : 'Elements path', // MISSING + eleLabel : 'Calea elementelor', eleTitle : '%1 element' // MISSING }, - numberedlist : 'Listă numerotată', - bulletedlist : 'Listă cu puncte', + numberedlist : 'Inserează / Elimină Listă numerotată', + bulletedlist : 'Inserează / Elimină Listă cu puncte', indent : 'Creşte indentarea', outdent : 'Scade indentarea', @@ -531,17 +532,17 @@ CKEDITOR.lang['ro'] = title : 'Adaugă', cutError : 'Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de tăiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+X).', copyError : 'Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de copiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+C).', - pasteMsg : 'Vă rugăm adăugaţi în căsuţa următoare folosind tastatura (Ctrl/Cmd+V) şi apăsaţi OK.', + pasteMsg : 'Vă rugăm adăugaţi în căsuţa următoare folosind tastatura (Ctrl/Cmd+V) şi apăsaţi OK', securityMsg : 'Din cauza setărilor de securitate ale programului dvs. cu care navigaţi pe internet (browser), editorul nu poate accesa direct datele din clipboard. Va trebui să adăugaţi din nou datele în această fereastră.', - pasteArea : 'Paste Area' // MISSING + pasteArea : 'Suprafața de adăugare' }, pastefromword : { - confirmCleanup : 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + confirmCleanup : 'Textul pe care doriți să-l lipiți este din Word. Doriți curățarea textului înante de a-l adăuga?', toolbar : 'Adaugă din Word', title : 'Adaugă din Word', - error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING + error : 'Nu a fost posibilă curățarea datelor adăugate datorită unei erori interne' }, pasteText : @@ -554,7 +555,7 @@ CKEDITOR.lang['ro'] = { button : 'Template-uri (şabloane)', title : 'Template-uri (şabloane) de conţinut', - options : 'Template Options', // MISSING + options : 'Opțiuni șabloane', insertOption : 'Înlocuieşte cuprinsul actual', selectPromptMsg : 'Vă rugăm selectaţi template-ul (şablonul) ce se va deschide în editor
(conţinutul actual va fi pierdut):', emptyListMsg : '(Niciun template (şablon) definit)' @@ -565,7 +566,7 @@ CKEDITOR.lang['ro'] = stylesCombo : { label : 'Stil', - panelTitle : 'Formatting Styles', // MISSING + panelTitle : 'Formatarea stilurilor', panelTitle1 : 'Block Styles', // MISSING panelTitle2 : 'Inline Styles', // MISSING panelTitle3 : 'Object Styles' // MISSING @@ -577,8 +578,8 @@ CKEDITOR.lang['ro'] = panelTitle : 'Formatare', tag_p : 'Normal', - tag_pre : 'Formatted', - tag_address : 'Address', + tag_pre : 'Formatat', + tag_address : 'Adresă', tag_h1 : 'Heading 1', tag_h2 : 'Heading 2', tag_h3 : 'Heading 3', @@ -593,9 +594,9 @@ CKEDITOR.lang['ro'] = title : 'Create Div Container', // MISSING toolbar : 'Create Div Container', // MISSING cssClassInputLabel : 'Stylesheet Classes', // MISSING - styleSelectLabel : 'Style', // MISSING - IdInputLabel : 'Id', // MISSING - languageCodeInputLabel : ' Language Code', // MISSING + styleSelectLabel : 'Stil', + IdInputLabel : 'Id', + languageCodeInputLabel : 'Codul limbii', inlineStyleInputLabel : 'Inline Style', // MISSING advisoryTitleInputLabel : 'Advisory Title', // MISSING langDirLabel : 'Language Direction', // MISSING @@ -726,8 +727,8 @@ CKEDITOR.lang['ro'] = copy : 'Copyright © $1. All rights reserved.' // MISSING }, - maximize : 'Maximize', // MISSING - minimize : 'Minimize', // MISSING + maximize : 'Mărește', + minimize : 'Micșorează', fakeobjects : { @@ -738,7 +739,7 @@ CKEDITOR.lang['ro'] = unknown : 'Unknown Object' // MISSING }, - resize : 'Drag to resize', // MISSING + resize : 'Trage pentru a redimensiona', colordialog : { @@ -749,8 +750,8 @@ CKEDITOR.lang['ro'] = clear : 'Clear' // MISSING }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'Micșorează Bara', + toolbarExpand : 'Mărește Bara', toolbarGroups : { diff --git a/phpgwapi/js/ckeditor3/_source/lang/ru.js b/phpgwapi/js/ckeditor3/_source/lang/ru.js index 583abae055..4b1ceb09ec 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/ru.js +++ b/phpgwapi/js/ckeditor3/_source/lang/ru.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['ru'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Визуальный редактор текста, %1, нажмите ALT-0 для открытия справки.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Панели инструментов редактора', diff --git a/phpgwapi/js/ckeditor3/_source/lang/sk.js b/phpgwapi/js/ckeditor3/_source/lang/sk.js index 1d03cc2dda..e3df7bc2bf 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/sk.js +++ b/phpgwapi/js/ckeditor3/_source/lang/sk.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['sk'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, stlačte ALT 0 pre nápovedu.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/sl.js b/phpgwapi/js/ckeditor3/_source/lang/sl.js index 88d3d25212..f9ee711025 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/sl.js +++ b/phpgwapi/js/ckeditor3/_source/lang/sl.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['sl'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/sr-latn.js b/phpgwapi/js/ckeditor3/_source/lang/sr-latn.js index 7b47d2cc34..93c5d53fe9 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/sr-latn.js +++ b/phpgwapi/js/ckeditor3/_source/lang/sr-latn.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['sr-latn'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/sr.js b/phpgwapi/js/ckeditor3/_source/lang/sr.js index 63041e846f..4c13de76e7 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/sr.js +++ b/phpgwapi/js/ckeditor3/_source/lang/sr.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['sr'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/sv.js b/phpgwapi/js/ckeditor3/_source/lang/sv.js index 7c1608ebad..2956480b00 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/sv.js +++ b/phpgwapi/js/ckeditor3/_source/lang/sv.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -30,7 +30,8 @@ CKEDITOR.lang['sv'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, tryck ALT 0 för hjälp.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/th.js b/phpgwapi/js/ckeditor3/_source/lang/th.js index 13871e8a22..5ca33a154a 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/th.js +++ b/phpgwapi/js/ckeditor3/_source/lang/th.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['th'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING diff --git a/phpgwapi/js/ckeditor3/_source/lang/tr.js b/phpgwapi/js/ckeditor3/_source/lang/tr.js index c8a093dd63..0db6a1df76 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/tr.js +++ b/phpgwapi/js/ckeditor3/_source/lang/tr.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -30,10 +30,11 @@ CKEDITOR.lang['tr'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Zengin metin editörü, %1, yardım için ALT 0 tuşuna basın.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING + toolbars : 'Araç çubukları Editörü', editor : 'Zengin Metin Editörü', // Toolbar buttons without dialogs. @@ -55,7 +56,7 @@ CKEDITOR.lang['tr'] = superscript : 'Üst Simge', horizontalrule : 'Yatay Satır Ekle', pagebreak : 'Sayfa Sonu Ekle', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'Sayfa Sonu', unlink : 'Köprü Kaldır', undo : 'Geri Al', redo : 'Tekrarla', @@ -105,10 +106,10 @@ CKEDITOR.lang['tr'] = targetTop : 'Enüst Pencere (_top)', targetSelf : 'Aynı Pencere (_self)', targetParent : 'Ana Pencere (_parent)', - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING - cssClasses : 'Stylesheet Classes', // MISSING + langDirLTR : 'Soldan Sağa (LTR)', + langDirRTL : 'Sağdan Sola (RTL)', + styles : 'Stil', + cssClasses : 'Stil sayfası Sınıfı', width : 'Genişlik', height : 'Yükseklik', align : 'Hizalama', @@ -120,10 +121,10 @@ CKEDITOR.lang['tr'] = alignBottom : 'Alt', invalidHeight : 'Yükseklik sayı olmalıdır.', invalidWidth : 'Genişlik bir sayı olmalıdır.', - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidCssLength : 'Belirttiğiniz sayı "%1" alanı için pozitif bir sayı CSS birim değeri olmalıdır (px, %, in, cm, mm, em, ex, pt, veya pc).', + invalidHtmlLength : 'Belirttiğiniz sayı "%1" alanı için pozitif bir sayı HTML birim değeri olmalıdır (px veya %).', + invalidInlineStyle : 'Noktalı virgülle ayrılmış: "değer adı," inline stil için belirtilen değer biçiminde bir veya daha fazla dizilerden oluşmalıdır.', + cssLengthTooltip : 'Pikseller için bir numara girin veya geçerli bir CSS numarası (px, %, in, cm, mm, em, ex, pt, veya pc).', // Put the voice-only part of the label in the span. unavailable : '%1, hazır değildir' @@ -185,7 +186,7 @@ CKEDITOR.lang['tr'] = cssClasses : 'Biçem Sayfası Sınıfları', charset : 'Bağlı Kaynak Karakter Gurubu', styles : 'Biçem', - rel : 'Relationship', // MISSING + rel : 'İlişki', selectAnchor : 'Bağlantı Seç', anchorName : 'Bağlantı Adı ile', anchorId : 'Eleman Kimlik Numarası ile', @@ -205,7 +206,7 @@ CKEDITOR.lang['tr'] = title : 'Bağlantı Özellikleri', name : 'Bağlantı Adı', errorName : 'Lütfen bağlantı için ad giriniz', - remove : 'Remove Anchor' // MISSING + remove : 'Bağlantıyı Kaldır' }, // List style dialog @@ -215,7 +216,7 @@ CKEDITOR.lang['tr'] = bulletedTitle : 'Simgeli Liste Özellikleri', type : 'Tipi', start : 'Başla', - validateStartNumber :'List start number must be a whole number.', // MISSING + validateStartNumber :'Liste başlangıcı tam sayı olmalıdır.', circle : 'Daire', disc : 'Disk', square : 'Kare', @@ -241,7 +242,7 @@ CKEDITOR.lang['tr'] = findWhat : 'Aranan:', replaceWith : 'Bununla değiştir:', notFoundMsg : 'Belirtilen yazı bulunamadı.', - findOptions : 'Find Options', // MISSING + findOptions : 'Seçenekleri Bul', matchCase : 'Büyük/küçük harf duyarlı', matchWord : 'Kelimenin tamamı uysun', matchCyclic : 'Eşleşen döngü', @@ -507,7 +508,7 @@ CKEDITOR.lang['tr'] = elementsPath : { eleLabel : 'Elementlerin yolu', - eleTitle : '%1 element' + eleTitle : '%1 elementi' }, numberedlist : 'Numaralı Liste', @@ -532,7 +533,7 @@ CKEDITOR.lang['tr'] = copyError : 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kopyalama işlemine izin vermiyor. İşlem için (Ctrl/Cmd+C) tuşlarını kullanın.', pasteMsg : 'Lütfen aşağıdaki kutunun içine yapıştırın. (Ctrl/Cmd+V) ve Tamam butonunu tıklayın.', securityMsg : 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin direkt olarak panoya erişimine izin vermiyor. Bu pencere içine tekrar yapıştırmalısınız..', - pasteArea : 'Paste Area' + pasteArea : 'Yapıştırma Alanı' }, pastefromword : @@ -606,11 +607,11 @@ CKEDITOR.lang['tr'] = iframe : { - title : 'IFrame Properties', // MISSING - toolbar : 'IFrame', // MISSING - noUrl : 'Please type the iframe URL', // MISSING - scrolling : 'Enable scrollbars', // MISSING - border : 'Show frame border' // MISSING + title : 'IFrame Özellikleri', + toolbar : 'IFrame', + noUrl : 'Lütfen IFrame köprü (URL) bağlantısını yazın', + scrolling : 'Kaydırma çubuklarını aktif et', + border : 'Çerceve sınırlarını göster' }, font : @@ -684,10 +685,10 @@ CKEDITOR.lang['tr'] = { title : 'Girmiş olduğunuz kelime denetimi', opera_title : 'Opera tarafından desteklenmemektedir', - enable : 'SCAYT etkinleştir', - disable : 'SCAYT pasifleştir', - about : 'SCAYT hakkında', - toggle : 'SCAYT değiştir', + enable : 'SCAYT\'ı etkinleştir', + disable : 'SCAYT\'ı pasifleştir', + about : 'SCAYT\'ı hakkında', + toggle : 'SCAYT\'ı değiştir', options : 'Seçenekler', langs : 'Diller', moreSuggestions : 'Daha fazla öneri', @@ -710,7 +711,7 @@ CKEDITOR.lang['tr'] = dic_restore : 'Geri al', dic_delete : 'Sil', dic_rename : 'Yeniden adlandır', - dic_info : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type it\'s name and click the Restore button.', + dic_info : 'Başlangıçta Kullanıcı Sözlüğü bir çerezde saklanır. Ancak, Çerezler boyutu sınırlıdır. Kullanıcı Sözlüğü, çerezin içinde saklanamayacağı bir noktada, bizim sunucularımızın içindeki sözlükte saklanabilir. Bizim sunucu üzerinde kişisel Sözlük saklamanız için, Sözlüğe bir ad belirtmelisiniz. Eğer zaten bir saklı Sözlük varsa, lütfen adını yazın ve Geri Yükle düğmesini tıklayın.', aboutTab : 'Hakkında' }, @@ -719,8 +720,8 @@ CKEDITOR.lang['tr'] = { title : 'CKEditor Hakkında', dlgTitle : 'CKEditor Hakkında', - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING + help : 'Yardım için $1 kontrol edin.', + userGuide : 'CKEditor Kullanıcı Kılavuzu', moreInfo : 'Lisanslama hakkında daha fazla bilgi almak için lütfen sitemizi ziyaret edin:', copy : 'Copyright © $1. Tüm hakları saklıdır.' }, @@ -732,8 +733,8 @@ CKEDITOR.lang['tr'] = { anchor : 'Bağlantı', flash : 'Flash Animasyonu', - iframe : 'IFrame', // MISSING - hiddenfield : 'Hidden Field', // MISSING + iframe : 'IFrame', + hiddenfield : 'Gizli Alan', unknown : 'Bilinmeyen Nesne' }, @@ -748,42 +749,42 @@ CKEDITOR.lang['tr'] = clear : 'Temizle' }, - toolbarCollapse : 'Toolbar\'ı topla', - toolbarExpand : 'Toolbar\'ı aç', + toolbarCollapse : 'Araç çubuklarını topla', + toolbarExpand : 'Araç çubuklarını aç', toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Belge', + clipboard : 'Pano/Geri al', + editing : 'Düzenleme', + forms : 'Formlar', + basicstyles : 'Temel Stiller', + paragraph : 'Paragraf', + links : 'Bağlantılar', + insert : 'Ekle', + styles : 'Stiller', + colors : 'Renkler', + tools : 'Araçlar' }, bidi : { - ltr : 'Text direction from left to right', // MISSING - rtl : 'Text direction from right to left' // MISSING + ltr : 'Metin yönü soldan sağa', + rtl : 'Metin yönü sağdan sola' }, docprops : { label : 'Belge Özellikleri', title : 'Belge Özellikleri', - design : 'Design', // MISSING + design : 'Dizayn', meta : 'Tanım Bilgisi (Meta)', chooseColor : 'Seçiniz', other : '', docTitle : 'Sayfa Başlığı', charset : 'Karakter Kümesi Kodlaması', charsetOther : 'Diğer Karakter Kümesi Kodlaması', - charsetASCII : 'ASCII', // MISSING + charsetASCII : 'ASCII', charsetCE : 'Orta Avrupa', charsetCT : 'Geleneksel Çince (Big5)', charsetCR : 'Kiril', @@ -791,7 +792,7 @@ CKEDITOR.lang['tr'] = charsetJP : 'Japonca', charsetKR : 'Korece', charsetTR : 'Türkçe', - charsetUN : 'Unicode (UTF-8)', // MISSING + charsetUN : 'Evrensel Kod (UTF-8)', charsetWE : 'Batı Avrupa', docType : 'Belge Türü Başlığı', docTypeOther : 'Diğer Belge Türü Başlığı', @@ -809,6 +810,6 @@ CKEDITOR.lang['tr'] = metaDescription : 'Belge Tanımı', metaAuthor : 'Yazar', metaCopyright : 'Telif', - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

Bu bir örnek metindir. CKEditor kullanıyorsunuz.

' } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/ug.js b/phpgwapi/js/ckeditor3/_source/lang/ug.js new file mode 100644 index 0000000000..93d0bd7427 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/lang/ug.js @@ -0,0 +1,815 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +/** +* @fileOverview +*/ + +/**#@+ + @type String + @example +*/ + +/** + * Contains the dictionary of language entries. + * @namespace + */ +CKEDITOR.lang['ug'] = +{ + /** + * The language reading direction. Possible values are "rtl" for + * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right + * languages (like English). + * @default 'ltr' + */ + dir : 'rtl', + + /* + * Screenreader titles. Please note that screenreaders are not always capable + * of reading non-English words. So be careful while translating it. + */ + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING + + // ARIA descriptions. + toolbars : 'قورال بالداق', + editor : 'تەھرىرلىگۈچ', + + // Toolbar buttons without dialogs. + source : 'مەنبە', + newPage : 'يېڭى بەت', + save : 'ساقلا', + preview : 'ئالدىن كۆزەت', + cut : 'كەس', + copy : 'نەشر ھوقۇقىغا ئىگە بەلگىسى', + paste : 'چاپلا', + print : 'باس ', + underline : 'ئاستى سىزىق', + bold : 'توم', + italic : 'يانتۇ', + selectAll : 'ھەممىنى تاللا', + removeFormat : 'پىچىمنى چىقىرىۋەت', + strike : 'ئۆچۈرۈش سىزىقى', + subscript : 'تۆۋەن ئىندېكس', + superscript : 'يۇقىرى ئىندېكس', + horizontalrule : 'توغرا سىزىق قىستۇر', + pagebreak : 'بەت ئايرىغۇچ قىستۇر', + pagebreakAlt : 'بەت ئايرىغۇچ', + unlink : 'ئۇلانما بىكار قىل', + undo : 'يېنىۋال', + redo : 'قايتىلا ', + + // Common messages and labels. + common : + { + browseServer : 'كۆرسىتىش مۇلازىمېتىر', + url : 'ئەسلى ھۆججەت', + protocol : 'كېلىشىم', + upload : 'يۈكلە', + uploadSubmit : 'مۇلازىمېتىرغا يۈكلە', + image : 'سۈرەت', + flash : 'Flash', + form : 'جەدۋەل', + checkbox : 'كۆپ تاللاش رامكىسى', + radio : 'يەككە تاللاش توپچىسى', + textField : 'يەككە قۇر تېكىست', + textarea : 'كۆپ قۇر تېكىست', + hiddenField : 'يوشۇرۇن دائىرە', + button : 'توپچا', + select : 'تىزىم/تىزىملىك', + imageButton : 'سۈرەت دائىرە', + notSet : '‹تەڭشەلمىگەن›', + id : 'ID', + name : 'ئات', + langDir : 'تىل يۆنىلىشى', + langDirLtr : 'سولدىن ئوڭغا (LTR)', + langDirRtl : 'ئوڭدىن سولغا (RTL)', + langCode : 'تىل كودى', + longDescr : 'تەپسىلىي چۈشەندۈرۈش ئادرېسى', + cssClass : 'ئۇسلۇب خىلىنىڭ ئاتى', + advisoryTitle : 'ماۋزۇ', + cssStyle : 'قۇر ئىچىدىكى ئۇسلۇبى', + ok : 'جەزملە', + cancel : 'ۋاز كەچ', + close : 'تاقا', + preview : 'ئالدىن كۆزەت', + generalTab : 'ئادەتتىكى', + advancedTab : 'ئالىي', + validateNumberFailed : 'سان پىچىمىدا كىرگۈزۈش زۆرۈر', + confirmNewPage : 'نۆۋەتتىكى پۈتۈك مەزمۇنى ساقلانمىدى، يېڭى پۈتۈك قۇرامسىز؟', + confirmCancel : 'قىسمەن ئۆزگەرتىش ساقلانمىدى، بۇ سۆزلەشكۈنى تاقامسىز؟', + options : 'تاللانما', + target : 'نىشان كۆزنەك', + targetNew : 'يېڭى كۆزنەك (_blank)', + targetTop : 'پۈتۈن بەت (_top)', + targetSelf : 'مەزكۇر كۆزنەك (_self)', + targetParent : 'ئاتا كۆزنەك (_parent)', + langDirLTR : 'سولدىن ئوڭغا (LTR)', + langDirRTL : 'ئوڭدىن سولغا (RTL)', + styles : 'ئۇسلۇبلار', + cssClasses : 'ئۇسلۇب خىللىرى', + width : 'كەڭلىك', + height : 'ئېگىزلىك', + align : 'توغرىلىنىشى', + alignLeft : 'سول', + alignRight : 'ئوڭ', + alignCenter : 'ئوتتۇرا', + alignTop : 'ئۈستى', + alignMiddle : 'ئوتتۇرا', + alignBottom : 'ئاستى', + invalidHeight : 'ئېگىزلىك چوقۇم رەقەم پىچىمىدا بولۇشى زۆرۈر', + invalidWidth : 'كەڭلىك چوقۇم رەقەم پىچىمىدا بولۇشى زۆرۈر', + invalidCssLength : 'بۇ سۆز بۆلىكى چوقۇم مۇۋاپىق بولغان CSS ئۇزۇنلۇق قىممىتى بولۇشى زۆرۈر، بىرلىكى (px, %, in, cm, mm, em, ex, pt ياكى pc)', + invalidHtmlLength : 'بۇ سۆز بۆلىكى چوقۇم بىرىكمە HTML ئۇزۇنلۇق قىممىتى بولۇشى كېرەك. ئۆز ئىچىگە ئالىدىغان بىرلىك (px ياكى %)', + invalidInlineStyle : 'ئىچكى باغلانما ئۇسلۇبى چوقۇم چېكىتلىك پەش بىلەن ئايرىلغان بىر ياكى كۆپ «خاسلىق ئاتى:خاسلىق قىممىتى» پىچىمىدا بولۇشى لازىم', + cssLengthTooltip : 'بۇ سۆز بۆلىكى بىرىكمە CSS ئۇزۇنلۇق قىممىتى بولۇشى كېرەك. ئۆز ئىچىگە ئالىدىغان بىرلىك (px, %, in, cm, mm, em, ex, pt ياكى pc)', + + // Put the voice-only part of the label in the span. + unavailable : '%1، ئىشلەتكىلى بولمايدۇ' + }, + + contextmenu : + { + options : 'قىسقا يول تىزىملىك تاللانمىسى' + }, + + // Special char dialog. + specialChar : + { + toolbar : 'ئالاھىدە ھەرپ قىستۇر', + title : 'ئالاھىدە ھەرپ تاللاڭ', + options : 'ئالاھىدە ھەرپ تاللانمىسى' + }, + + // Link dialog. + link : + { + toolbar : 'ئۇلانما قىستۇر/تەھرىرلە', + other : '‹باشقا›', + menu : 'ئۇلانما تەھرىر', + title : 'ئۇلانما', + info : 'ئۇلانما ئۇچۇرى', + target : 'نىشان', + upload : 'يۈكلە', + advanced : 'ئالىي', + type : 'ئۇلانما تىپى', + toUrl : 'ئادرېس', + toAnchor : 'بەت ئىچىدىكى لەڭگەرلىك نۇقتا ئۇلانمىسى', + toEmail : 'ئېلخەت', + targetFrame : '‹كاندۇك›', + targetPopup : '‹قاڭقىش كۆزنەك›', + targetFrameName : 'نىشان كاندۇك ئاتى', + targetPopupName : 'قاڭقىش كۆزنەك ئاتى', + popupFeatures : 'قاڭقىش كۆزنەك خاسلىقى', + popupResizable : 'چوڭلۇقى ئۆزگەرتىشچان', + popupStatusBar : 'ھالەت بالداق', + popupLocationBar: 'ئادرېس بالداق', + popupToolbar : 'قورال بالداق', + popupMenuBar : 'تىزىملىك بالداق', + popupFullScreen : 'پۈتۈن ئېكران (IE)', + popupScrollBars : 'دومىلىما سۈرگۈچ', + popupDependent : 'تەۋە (NS)', + popupLeft : 'سول', + popupTop : 'ئوڭ', + id : 'ID', + langDir : 'تىل يۆنىلىشى', + langDirLTR : 'سولدىن ئوڭغا (LTR)', + langDirRTL : 'ئوڭدىن سولغا (RTL)', + acccessKey : 'زىيارەت كۇنۇپكا', + name : 'ئات', + langCode : 'تىل كودى', + tabIndex : 'Tab تەرتىپى', + advisoryTitle : 'ماۋزۇ', + advisoryContentType : 'مەزمۇن تىپى', + cssClasses : 'ئۇسلۇب خىلى ئاتى', + charset : 'ھەرپ كودلىنىشى', + styles : 'قۇر ئىچىدىكى ئۇسلۇبى', + rel : 'باغلىنىش', + selectAnchor : 'بىر لەڭگەرلىك نۇقتا تاللاڭ', + anchorName : 'لەڭگەرلىك نۇقتا ئاتى بويىچە', + anchorId : 'لەڭگەرلىك نۇقتا ID سى بويىچە', + emailAddress : 'ئادرېس', + emailSubject : 'ماۋزۇ', + emailBody : 'مەزمۇن', + noAnchors : '(بۇ پۈتۈكتە ئىشلەتكىلى بولىدىغان لەڭگەرلىك نۇقتا يوق)', + noUrl : 'ئۇلانما ئادرېسىنى كىرگۈزۈڭ', + noEmail : 'ئېلخەت ئادرېسىنى كىرگۈزۈڭ' + }, + + // Anchor dialog + anchor : + { + toolbar : 'لەڭگەرلىك نۇقتا ئۇلانمىسى قىستۇر/تەھرىرلە', + menu : 'لەڭگەرلىك نۇقتا ئۇلانما خاسلىقى', + title : 'لەڭگەرلىك نۇقتا ئۇلانما خاسلىقى', + name : 'لەڭگەرلىك نۇقتا ئاتى', + errorName : 'لەڭگەرلىك نۇقتا ئاتىنى كىرگۈزۈڭ', + remove : 'لەڭگەرلىك نۇقتا ئۆچۈر' + }, + + // List style dialog + list: + { + numberedTitle : 'تەرتىپ نومۇر تىزىم خاسلىقى', + bulletedTitle : 'تۈر بەلگە تىزىم خاسلىقى', + type : 'بەلگە تىپى', + start : 'باشلىنىش نومۇرى', + validateStartNumber :'تىزىم باشلىنىش تەرتىپ نومۇرى چوقۇم پۈتۈن سان پىچىمىدا بولۇشى لازىم', + circle : 'بوش چەمبەر', + disc : 'تولدۇرۇلغان چەمبەر', + square : 'تولدۇرۇلغان تۆت چاسا', + none : 'بەلگە يوق', + notset : '‹تەڭشەلمىگەن›', + armenian : 'قەدىمكى ئەرمىنىيە تەرتىپ نومۇرى شەكلى', + georgian : 'قەدىمكى جورجىيە تەرتىپ نومۇرى شەكلى (an, ban, gan قاتارلىق)', + lowerRoman : 'كىچىك ھەرپلىك رىم رەقىمى (i, ii, iii, iv, v قاتارلىق)', + upperRoman : 'چوڭ ھەرپلىك رىم رەقىمى (I, II, III, IV, V قاتارلىق)', + lowerAlpha : 'ئىنگلىزچە كىچىك ھەرپ (a, b, c, d, e قاتارلىق)', + upperAlpha : 'ئىنگلىزچە چوڭ ھەرپ (A, B, C, D, E قاتارلىق)', + lowerGreek : 'گرېكچە كىچىك ھەرپ (alpha, beta, gamma قاتارلىق)', + decimal : 'سان (1, 2, 3 قاتارلىق)', + decimalLeadingZero : 'نۆلدىن باشلانغان سان بەلگە (01, 02, 03 قاتارلىق)' + }, + + // Find And Replace Dialog + findAndReplace : + { + title : 'ئىزدەپ ئالماشتۇر', + find : 'ئىزدە', + replace : 'ئالماشتۇر', + findWhat : 'ئىزدە:', + replaceWith : 'ئالماشتۇر:', + notFoundMsg : 'بەلگىلەنگەن تېكىستنى تاپالمىدى', + findOptions : 'ئىزدەش تاللانمىسى', + matchCase : 'چوڭ كىچىك ھەرپنى پەرقلەندۈر', + matchWord : 'پۈتۈن سۆز ماسلىشىش', + matchCyclic : 'ئايلانما ماسلىشىش', + replaceAll : 'ھەممىنى ئالماشتۇر', + replaceSuccessMsg : 'جەمئى %1 جايدىكى ئالماشتۇرۇش تاماملاندى' + }, + + // Table Dialog + table : + { + toolbar : 'جەدۋەل', + title : 'جەدۋەل خاسلىقى', + menu : 'جەدۋەل خاسلىقى', + deleteTable : 'جەدۋەل ئۆچۈر', + rows : 'قۇر سانى', + columns : 'ئىستون سانى', + border : 'گىرۋەك', + widthPx : 'پىكسېل', + widthPc : 'پىرسەنت', + widthUnit : 'كەڭلىك بىرلىكى', + cellSpace : 'ئارىلىق', + cellPad : 'يان ئارىلىق', + caption : 'ماۋزۇ', + summary : 'ئۈزۈندە', + headers : 'ماۋزۇ كاتەكچە', + headersNone : 'يوق', + headersColumn : 'بىرىنچى ئىستون', + headersRow : 'بىرىنچى قۇر', + headersBoth : 'بىرىنچى ئىستون ۋە بىرىنچى قۇر', + invalidRows : 'بەلگىلەنگەن ئىستون سانى چوقۇم نۆلدىن چوڭ بولىدۇ', + invalidCols : 'بەلگىلەنگەن قۇر سانى چوقۇم نۆلدىن چوڭ بولىدۇ', + invalidBorder : 'گىرۋەك توملۇقى چوقۇم سان بولىدۇ', + invalidWidth : 'جەدۋەل كەڭلىكى چوقۇم سان بولىدۇ', + invalidHeight : 'جەدۋەل ئېگىزلىكى چوقۇم سان بولىدۇ', + invalidCellSpacing : 'كاتەكچە ئارىلىقى چوقۇم سان بولىدۇ', + invalidCellPadding : 'كاتەكچىگە چوقۇم سان تولدۇرۇلىدۇ', + + cell : + { + menu : 'كاتەكچە', + insertBefore : 'سولغا كاتەكچە قىستۇر', + insertAfter : 'ئوڭغا كاتەكچە قىستۇر', + deleteCell : 'كەتەكچە ئۆچۈر', + merge : 'كاتەكچە بىرلەشتۈر', + mergeRight : 'كاتەكچىنى ئوڭغا بىرلەشتۈر', + mergeDown : 'كاتەكچىنى ئاستىغا بىرلەشتۈر', + splitHorizontal : 'كاتەكچىنى توغرىسىغا بىرلەشتۈر', + splitVertical : 'كاتەكچىنى بويىغا بىرلەشتۈر', + title : 'كاتەكچە خاسلىقى', + cellType : 'كاتەكچە تىپى', + rowSpan : 'بويىغا چات ئارىسى قۇر سانى', + colSpan : 'توغرىسىغا چات ئارىسى ئىستون سانى', + wordWrap : 'ئۆزلۈكىدىن قۇر قاتلا', + hAlign : 'توغرىسىغا توغرىلا', + vAlign : 'بويىغا توغرىلا', + alignBaseline : 'ئاساسىي سىزىق', + bgColor : 'تەگلىك رەڭگى', + borderColor : 'گىرۋەك رەڭگى', + data : 'سانلىق مەلۇمات', + header : 'جەدۋەل باشى', + yes : 'ھەئە', + no : 'ياق', + invalidWidth : 'كاتەكچە كەڭلىكى چوقۇم سان بولىدۇ', + invalidHeight : 'كاتەكچە ئېگىزلىكى چوقۇم سان بولىدۇ', + invalidRowSpan : 'قۇر چات ئارىسى چوقۇم پۈتۈن سان بولىدۇ ', + invalidColSpan : 'ئىستون چات ئارىسى چوقۇم پۈتۈن سان بولىدۇ', + chooseColor : 'تاللاڭ' + }, + + row : + { + menu : 'قۇر', + insertBefore : 'ئۈستىگە قۇر قىستۇر', + insertAfter : 'ئاستىغا قۇر قىستۇر', + deleteRow : 'قۇر ئۆچۈر' + }, + + column : + { + menu : 'ئىستون', + insertBefore : 'سولغا ئىستون قىستۇر', + insertAfter : 'ئوڭغا ئىستون قىستۇر', + deleteColumn : 'ئىستون ئۆچۈر' + } + }, + + // Button Dialog. + button : + { + title : 'توپچا خاسلىقى', + text : 'بەلگە (قىممەت)', + type : 'تىپى', + typeBtn : 'توپچا', + typeSbm : 'تاپشۇر', + typeRst : 'ئەسلىگە قايتۇر' + }, + + // Checkbox and Radio Button Dialogs. + checkboxAndRadio : + { + checkboxTitle : 'كۆپ تاللاش خاسلىقى', + radioTitle : 'تاق تاللاش توپچا خاسلىقى', + value : 'تاللىغان قىممەت', + selected : 'تاللانغان' + }, + + // Form Dialog. + form : + { + title : 'جەدۋەل خاسلىقى', + menu : 'جەدۋەل خاسلىقى', + action : 'مەشغۇلات', + method : 'ئۇسۇل', + encoding : 'جەدۋەل كودلىنىشى' + }, + + // Select Field Dialog. + select : + { + title : 'جەدۋەل/تىزىم خاسلىقى', + selectInfo : 'ئۇچۇر تاللاڭ', + opAvail : 'تاللاش تۈرلىرى', + value : 'قىممەت', + size : 'ئېگىزلىكى', + lines : 'قۇر', + chkMulti : 'كۆپ تاللاشچان', + opText : 'تاللانما تېكىستى', + opValue : 'تاللانما قىممىتى', + btnAdd : 'قوش', + btnModify : 'ئۆزگەرت', + btnUp : 'ئۈستىگە', + btnDown : 'ئاستىغا', + btnSetValue : 'دەسلەپكى تاللانما قىممىتىگە تەڭشە', + btnDelete : 'ئۆچۈر' + }, + + // Textarea Dialog. + textarea : + { + title : ' كۆپ قۇرلۇق تېكىست خاسلىقى', + cols : 'ھەرپ كەڭلىكى', + rows : 'قۇر سانى' + }, + + // Text Field Dialog. + textfield : + { + title : 'تاق قۇرلۇق تېكىست خاسلىقى', + name : 'ئات', + value : 'دەسلەپكى قىممىتى', + charWidth : 'ھەرپ كەڭلىكى', + maxChars : 'ئەڭ كۆپ ھەرپ سانى', + type : 'تىپى', + typeText : 'تېكىست', + typePass : 'ئىم' + }, + + // Hidden Field Dialog. + hidden : + { + title : 'يوشۇرۇن دائىرە خاسلىقى', + name : 'ئات', + value : 'دەسلەپكى قىممىتى' + }, + + // Image Dialog. + image : + { + title : 'سۈرەت خاسلىقى', + titleButton : 'سۈرەت دائىرە خاسلىقى', + menu : 'سۈرەت خاسلىقى', + infoTab : 'سۈرەت', + btnUpload : 'مۇلازىمېتىرغا يۈكلە', + upload : 'يۈكلە', + alt : 'تېكىست ئالماشتۇر', + lockRatio : 'نىسبەتنى قۇلۇپلا', + resetSize : 'ئەسلى چوڭلۇق', + border : 'گىرۋەك چوڭلۇقى', + hSpace : 'توغرىسىغا ئارىلىقى', + vSpace : 'بويىغا ئارىلىقى', + alertUrl : 'سۈرەت ئادرېسىنى كىرگۈزۈڭ', + linkTab : 'ئۇلانما', + button2Img : 'نۆۋەتتىكى توپچىنى سۈرەتكە ئۆزگەرتەمسىز؟', + img2Button : 'نۆۋەتتىكى سۈرەتنى توپچىغا ئۆزگەرتەمسىز؟', + urlMissing : 'سۈرەتنىڭ ئەسلى ھۆججەت ئادرېسى كەم', + validateBorder : 'گىرۋەك چوڭلۇقى چوقۇم سان بولىدۇ', + validateHSpace : 'توغرىسىغا ئارىلىق چوقۇم پۈتۈن سان بولىدۇ', + validateVSpace : 'بويىغا ئارىلىق چوقۇم پۈتۈن سان بولىدۇ' + }, + + // Flash Dialog + flash : + { + properties : 'Flash خاسلىق', + propertiesTab : 'خاسلىق', + title : 'ماۋزۇ', + chkPlay : 'ئۆزلۈكىدىن چال', + chkLoop : 'دەۋرىي', + chkMenu : 'Flash تىزىملىكنى قوزغات', + chkFull : 'پۈتۈن ئېكراننى قوزغات', + scale : 'نىسبىتى', + scaleAll : 'ھەممىنى كۆرسەت', + scaleNoBorder : 'گىرۋەك يوق', + scaleFit : 'قەتئىي ماسلىشىش', + access : 'قوليازما زىيارەتكە يول قوي', + accessAlways : 'ھەمىشە', + accessSameDomain: 'ئوخشاش دائىرىدە', + accessNever : 'ھەرگىز', + alignAbsBottom : 'مۇتلەق ئاستى', + alignAbsMiddle : 'مۇتلەق ئوتتۇرا', + alignBaseline : 'ئاساسىي سىزىق', + alignTextTop : 'تېكىست ئۈستىدە', + quality : 'سۈپەت', + qualityBest : 'ئەڭ ياخشى', + qualityHigh : 'يۇقىرى', + qualityAutoHigh : 'يۇقىرى (ئاپتوماتىك)', + qualityMedium : 'ئوتتۇرا (ئاپتوماتىك)', + qualityAutoLow : 'تۆۋەن (ئاپتوماتىك)', + qualityLow : 'تۆۋەن', + windowModeWindow: 'كۆزنەك گەۋدىسى', + windowModeOpaque: 'خىرە', + windowModeTransparent : 'سۈزۈك', + windowMode : 'كۆزنەك ھالىتى', + flashvars : 'Flash ئۆزگەرگۈچى', + bgcolor : 'تەگلىك رەڭگى', + hSpace : 'توغرىسىغا ئارىلىق', + vSpace : 'بويىغا ئارىلىق', + validateSrc : 'ئەسلى ھۆججەت ئادرېسىنى كىرگۈزۈڭ', + validateHSpace : 'توغرىسىغا ئارىلىق چوقۇم سان بولىدۇ', + validateVSpace : 'بويىغا ئارىلىق چوقۇم سان بولىدۇ' + }, + + // Speller Pages Dialog + spellCheck : + { + toolbar : 'ئىملا تەكشۈر', + title : 'ئىملا تەكشۈر', + notAvailable : 'كەچۈرۈڭ، مۇلازىمېتىرنى ۋاقتىنچە ئىشلەتكىلى بولمايدۇ', + errorLoading : 'لازىملىق مۇلازىمېتىرنى يۈكلىگەندە خاتالىق كۆرۈلدى: %s.', + notInDic : 'لۇغەتتە يوق', + changeTo : 'ئۆزگەرت', + btnIgnore : 'پەرۋا قىلما', + btnIgnoreAll : 'ھەممىگە پەرۋا قىلما', + btnReplace : 'ئالماشتۇر', + btnReplaceAll : 'ھەممىنى ئالماشتۇر', + btnUndo : 'يېنىۋال', + noSuggestions : '-تەكلىپ يوق-', + progress : 'ئىملا تەكشۈرۈۋاتىدۇ…', + noMispell : 'ئىملا تەكشۈرۈش تامام: ئىملا خاتالىقى بايقالمىدى', + noChanges : 'ئىملا تەكشۈرۈش تامام: ھېچقانداق سۆزنى ئۆزگەرتمىدى', + oneChange : 'ئىملا تەكشۈرۈش تامام: بىر سۆزنى ئۆزگەرتتى', + manyChanges : 'ئىملا تەكشۈرۈش تامام: %1 سۆزنى ئۆزگەرتتى', + ieSpellDownload : 'ئىملا تەكشۈرۈش قىستۇرمىسى تېخى ئورنىتىلمىغان، ھازىرلا چۈشۈرەمسىز؟' + }, + + smiley : + { + toolbar : 'چىراي ئىپادە', + title : 'چىراي ئىپادە سىنبەلگە قىستۇر', + options : 'چىراي ئىپادە سىنبەلگە تاللانمىسى' + }, + + elementsPath : + { + eleLabel : 'ئېلېمېنت يولى', + eleTitle : '%1 ئېلېمېنت' + }, + + numberedlist : 'تەرتىپ نومۇر تىزىمى', + bulletedlist : 'تۈر بەلگە تىزىمى', + indent : 'تارايت', + outdent : 'كەڭەيت', + + justify : + { + left : 'سولغا توغرىلا', + center : 'ئوتتۇرىغا توغرىلا', + right : 'ئوڭغا توغرىلا', + block : 'ئىككى تەرەپتىن توغرىلا' + }, + + blockquote : 'بۆلەك نەقىل', + + clipboard : + { + title : 'چاپلا', + cutError : 'تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كەس مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+X) ئارقىلىق تاماملاڭ', + copyError : 'تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كۆچۈر مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+C) ئارقىلىق تاماملاڭ', + pasteMsg : 'ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+V) نى ئىشلىتىپ مەزمۇننى تۆۋەندىكى رامكىغا كۆچۈرۈڭ، ئاندىن جەزملەنى بېسىڭ', + securityMsg : 'توركۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى سەۋەبىدىن بۇ تەھرىرلىگۈچ چاپلاش تاختىسىدىكى مەزمۇننى بىۋاستە زىيارەت قىلالمايدۇ، بۇ كۆزنەكتە قايتا بىر قېتىم چاپلىشىڭىز كېرەك.', + pasteArea : 'چاپلاش دائىرىسى' + }, + + pastefromword : + { + confirmCleanup : 'سىز چاپلىماقچى بولغان مەزمۇن MS Word تىن كەلگەندەك قىلىدۇ، MS Word پىچىمىنى تازىلىۋەتكەندىن كېيىن ئاندىن چاپلامدۇ؟', + toolbar : 'MS Word تىن چاپلا', + title : 'MS Word تىن چاپلا', + error : 'ئىچكى خاتالىق سەۋەبىدىن چاپلايدىغان سانلىق مەلۇماتنى تازىلىيالمايدۇ' + }, + + pasteText : + { + button : 'پىچىمى يوق تېكىست سۈپىتىدە چاپلا', + title : 'پىچىمى يوق تېكىست سۈپىتىدە چاپلا' + }, + + templates : + { + button : 'قېلىپ', + title : 'مەزمۇن قېلىپى', + options : 'قېلىپ تاللانمىسى', + insertOption : 'نۆۋەتتىكى مەزمۇننى ئالماشتۇر', + selectPromptMsg : 'تەھرىرلىگۈچنىڭ مەزمۇن قېلىپىنى تاللاڭ:', + emptyListMsg : '(قېلىپ يوق)' + }, + + showBlocks : 'بۆلەكنى كۆرسەت', + + stylesCombo : + { + label : 'ئۇسلۇب', + panelTitle : 'ئۇسلۇب', + panelTitle1 : 'بۆلەك دەرىجىسىدىكى ئېلېمېنت ئۇسلۇبى', + panelTitle2 : 'ئىچكى باغلانما ئېلېمېنت ئۇسلۇبى', + panelTitle3 : 'نەڭ (Object) ئېلېمېنت ئۇسلۇبى' + }, + + format : + { + label : 'پىچىم', + panelTitle : 'پىچىم', + + tag_p : 'ئادەتتىكى', + tag_pre : 'تىزىلغان پىچىم', + tag_address : 'ئادرېس', + tag_h1 : 'ماۋزۇ 1', + tag_h2 : 'ماۋزۇ 2', + tag_h3 : 'ماۋزۇ 3', + tag_h4 : 'ماۋزۇ 4', + tag_h5 : 'ماۋزۇ 5', + tag_h6 : 'ماۋزۇ 6', + tag_div : 'ئابزاس (DIV)' + }, + + div : + { + title : 'DIV قاچا قۇر', + toolbar : 'DIV قاچا قۇر', + cssClassInputLabel : 'ئۇسلۇب تىپىنىڭ ئاتى', + styleSelectLabel : 'ئۇسلۇب', + IdInputLabel : 'ID', + languageCodeInputLabel : 'تىل كودى', + inlineStyleInputLabel : 'قۇر ئىچىدىكى ئۇسلۇبى', + advisoryTitleInputLabel : 'ماۋزۇ', + langDirLabel : 'تىل يۆنىلىشى', + langDirLTRLabel : 'سولدىن ئوڭغا (LTR)', + langDirRTLLabel : 'ئوڭدىن سولغا (RTL)', + edit : 'DIV تەھرىر', + remove : 'DIV چىقىرىۋەت' + }, + + iframe : + { + title : 'IFrame خاسلىق', + toolbar : 'IFrame ', + noUrl : 'كاندۇكنىڭ ئادرېسى(Url)نى كىرگۈزۈڭ', + scrolling : 'دومىلىما سۈرگۈچكە يول قوي', + border : 'كاندۇك گىرۋەكلىرىنى كۆرسەت' + }, + + font : + { + label : 'خەت نۇسخا', + voiceLabel : 'خەت نۇسخا', + panelTitle : 'خەت نۇسخا' + }, + + fontSize : + { + label : 'چوڭلۇقى', + voiceLabel : 'خەت چوڭلۇقى', + panelTitle : 'چوڭلۇقى' + }, + + colorButton : + { + textColorTitle : 'تېكىست رەڭگى', + bgColorTitle : 'تەگلىك رەڭگى', + panelTitle : 'رەڭ', + auto : 'ئۆزلۈكىدىن', + more : 'باشقا رەڭ' + }, + + colors : + { + '000' : 'قارا', + '800000' : 'قىزغۇچ سېرىق', + '8B4513' : 'توق قوڭۇر', + '2F4F4F' : 'قارامتۇل يېشىل', + '008080' : 'كۆكۈش يېشىل', + '000080' : 'قارامتۇل كۆك', + '4B0082' : 'كۆكۈش كۈلرەڭ', + '696969' : 'قارامتۇل كۈلرەڭ', + 'B22222' : 'خىش قىزىل', + 'A52A2A' : 'قوڭۇر', + 'DAA520' : 'ئالتۇن سېرىق', + '006400' : 'توق يېشىل', + '40E0D0' : 'كۆكۈچ يېشىل', + '0000CD' : 'ئوتتۇراھال كۆك', + '800080' : 'بىنەپشە', + '808080' : 'كۈلرەڭ', + 'F00' : 'قىزىل', + 'FF8C00' : 'توق قىزغۇچ سېرىق', + 'FFD700' : 'ئالتۇن', + '008000' : 'يېشىل', + '0FF' : 'يېشىل كۆك', + '00F' : 'كۆك', + 'EE82EE' : 'قىزغۇچ بىنەپشە', + 'A9A9A9' : 'توق كۈلرەڭ', + 'FFA07A' : 'كاۋا چېچىكى سېرىق', + 'FFA500' : 'قىزغۇچ سېرىق', + 'FFFF00' : 'سېرىق', + '00FF00' : 'Lime', // MISSING + 'AFEEEE' : 'سۇس ھاۋا رەڭ', + 'ADD8E6' : 'ئوچۇق كۆك', + 'DDA0DD' : 'قىزغۇچ بىنەپشە', + 'D3D3D3' : 'سۇس كۆكۈچ كۈلرەڭ', + 'FFF0F5' : 'سۇس قىزغۇچ بىنەپشە', + 'FAEBD7' : 'Antique White', // MISSING + 'FFFFE0' : 'سۇس سېرىق', + 'F0FFF0' : 'Honeydew', // MISSING + 'F0FFFF' : 'ئاسمان كۆكى', + 'F0F8FF' : 'سۇس كۆك', + 'E6E6FA' : 'سۇس بىنەپشە', + 'FFF' : 'ئاق' + }, + + scayt : + { + title : 'شۇئان ئىملا تەكشۈر', + opera_title : 'Opera توركۆرگۈنى قوللىمايدۇ', + enable : 'شۇئان ئىملا تەكشۈرۈشنى قوزغات', + disable : 'شۇئان ئىملا تەكشۈرۈشنى چەكلە', + about : 'شۇئان ئىملا تەكشۈرۈش ھەققىدە', + toggle : 'شۇئان ئىملا تەكشۈرۈشنى ۋاقىتلىق توختات/قوزغات', + options : 'تاللانما', + langs : 'تىل', + moreSuggestions : 'تېخىمۇ كۆپ ئىملا تەۋسىيەسى', + ignore : 'پەرۋا قىلما', + ignoreAll : 'ھەممىسىگە پەرۋا قىلما', + addWord : 'سۆز قوش', + emptyDic : 'لۇغەت ئاتى بوش قالمايدۇ', + + optionsTab : 'تاللانما', + allCaps : 'چوڭ ھەرپتە يېزىلغان ھەممە سۆزگە پەرۋا قىلما', + ignoreDomainNames : 'دائىرە ئاتىغا پەرۋا قىلما', + mixedCase : 'چوڭ كىچىك ھەرپ بىلەن ئارىلاش يېزىلغان سۆزگە پەرۋا قىلما', + mixedWithDigits : 'سان بار سۆزگە پەرۋا قىلما', + + languagesTab : 'تىل', + + dictionariesTab : 'لۇغەت', + dic_field_name : 'لۇغەت ئاتى', + dic_create : 'قۇر', + dic_restore : 'ئەسلىگە كەلتۈر', + dic_delete : 'ئۆچۈر', + dic_rename : 'ئات ئۆزگەرت', + dic_info : 'باشلىنىشتا ئىشلەتكۈچى لۇغىتى Cookie غا ساقلىنىدۇ ئەمما Cookie نىڭ سىغىمى چەكلىك بولغاچقا، ئىشلەتكۈچى لۇغىتى كۆپىيىپ Cookie چەكلىمىسىدىن ئېشىپ كەتكەندە ساقلىغىلى بولمايدۇ، بۇ چاغدا لۇغىتىڭىزنى مۇلازىمېتىرىمىزغا ساقلىسىڭىز بولىدۇ. شەخسىي لۇغىتىڭىزنى مۇلازىمېتىرىمىزغا ساقلىماقچى بولسىڭىز لۇغىتىڭىزگە ئاتتىن بىرنى قويۇڭ، ئەگەر مۇلازىمتېرىمىزدا سىزنىڭ لۇغىتىڭىزدىن بىرسى بولسا لۇغەت ئاتىنى كىرگۈزۈپ ئەسلىگە قايتۇر توپچىسىنى بېسىڭ.', + + aboutTab : 'ھەققىدە' + }, + + about : + { + title : 'CKEditor ھەققىدە', + dlgTitle : 'CKEditor ھەققىدە', + help : '$1 نى زىيارەت قىلىپ ياردەمگە ئېرىشىڭ', + userGuide : 'CKEditor ئىشلەتكۈچى قوللانمىسى', + moreInfo : 'تور تۇرايىمىزنى زىيارەت قىلىپ كېلىشىمگە ئائىت تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىڭ', + copy : 'Copyright © $1. نەشر ھوقۇقىغا ئىگە' + }, + + maximize : 'چوڭايت', + minimize : 'كىچىكلەت', + + fakeobjects : + { + anchor : 'لەڭگەرلىك نۇقتا', + flash : 'Flash جانلاندۇرۇم', + iframe : 'IFrame', + hiddenfield : 'يوشۇرۇن دائىرە', + unknown : 'يوچۇن نەڭ' + }, + + resize : 'چوڭلۇقىنى ئۆزگەرت', + + colordialog : + { + title : 'رەڭ تاللاڭ', + options : 'رەڭ تاللانمىسى', + highlight : 'يورۇت', + selected : 'رەڭ تاللاڭ', + clear : 'تازىلا' + }, + + toolbarCollapse : 'قورال بالداقنى قاتلا', + toolbarExpand : 'قورال بالداقنى ياي', + + toolbarGroups : + { + document : 'پۈتۈك', + clipboard : 'چاپلاش تاختىسى/يېنىۋال', + editing : 'تەھرىر', + forms : 'جەدۋەل', + basicstyles : 'ئاساسىي ئۇسلۇب', + paragraph : 'ئابزاس', + links : 'ئۇلانما', + insert : 'قىستۇر', + styles : 'ئۇسلۇب', + colors : 'رەڭ', + tools : 'قورال' + }, + + bidi : + { + ltr : 'تېكىست يۆنىلىشى سولدىن ئوڭغا', + rtl : 'تېكىست يۆنىلىشى ئوڭدىن سولغا' + }, + + docprops : + { + label : 'بەت خاسلىقى', + title : 'بەت خاسلىقى', + design : 'لايىھە', + meta : 'مېتا سانلىق مەلۇمات', + chooseColor : 'تاللاڭ', + other : 'باشقا', + docTitle : 'بەت ماۋزۇسى', + charset : 'ھەرپ كودلىنىشى', + charsetOther : 'باشقا ھەرپ كودلىنىشى', + charsetASCII : 'ASCII', + charsetCE : 'ئوتتۇرا ياۋرۇپا', + charsetCT : 'مۇرەككەپ خەنزۇچە (Big5)', + charsetCR : 'سىلاۋيانچە', + charsetGR : 'گىرېكچە', + charsetJP : 'ياپونچە', + charsetKR : 'كۆرىيەچە', + charsetTR : 'تۈركچە', + charsetUN : 'يۇنىكود (UTF-8)', + charsetWE : 'غەربىي ياۋرۇپا', + docType : 'پۈتۈك تىپى', + docTypeOther : 'باشقا پۈتۈك تىپى', + xhtmlDec : 'XHTML ئېنىقلىمىسىنى ئۆز ئىچىگە ئالىدۇ', + bgColor : 'تەگلىك رەڭگى', + bgImage : 'تەگلىك سۈرەت', + bgFixed : 'تەگلىك سۈرەتنى دومىلاتما', + txtColor : 'تېكىست رەڭگى', + margin : 'بەت گىرۋەك', + marginTop : 'ئۈستى', + marginLeft : 'سول', + marginRight : 'ئوڭ', + marginBottom : 'ئاستى', + metaKeywords : 'بەت يۈزى ئىندېكىس ھالقىلىق سۆزى (ئىنگلىزچە پەش [,] بىلەن ئايرىلىدۇ)', + metaDescription : 'بەت يۈزى چۈشەندۈرۈشى', + metaAuthor : 'يازغۇچى', + metaCopyright : 'نەشر ھوقۇقى', + previewHtml : '

بۇ بىر قىسىم كۆرسەتمىگە ئىشلىتىدىغان تېكىست سىز نۆۋەتتە CKEditor.نى ئىشلىتىۋاتىسىز.

' + } +}; diff --git a/phpgwapi/js/ckeditor3/_source/lang/uk.js b/phpgwapi/js/ckeditor3/_source/lang/uk.js index 3a168b42b0..6684523d79 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/uk.js +++ b/phpgwapi/js/ckeditor3/_source/lang/uk.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,10 +31,11 @@ CKEDITOR.lang['uk'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Текстовий редактор, %1, натисніть ALT 0 для довідки.', + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING + toolbars : 'Панель інструментів редактора', editor : 'Текстовий редактор', // Toolbar buttons without dialogs. @@ -56,7 +57,7 @@ CKEDITOR.lang['uk'] = superscript : 'Верхній індекс', horizontalrule : 'Горизонтальна лінія', pagebreak : 'Вставити розрив сторінки', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'Розрив Сторінки', unlink : 'Видалити посилання', undo : 'Повернути', redo : 'Повторити', @@ -121,10 +122,10 @@ CKEDITOR.lang['uk'] = alignBottom : 'По нижньому краю', invalidHeight : 'Висота повинна бути цілим числом.', invalidWidth : 'Ширина повинна бути цілим числом.', - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidCssLength : 'Значення, вказане для "%1" в полі повинно бути позитивним числом або без дійсного виміру CSS блоку (px, %, in, cm, mm, em, ex, pt, or pc).', + invalidHtmlLength : 'Значення, вказане для "%1" в полі повинно бути позитивним числом або без дійсного виміру HTML блоку (px or %).', + invalidInlineStyle : 'Значення, вказане для вбудованого стилю повинне складатися з одного чи кількох кортежів у форматі "ім\'я : значення", розділених крапкою з комою.', + cssLengthTooltip : 'Введіть номер значення в пікселях або число з дійсною одиниці CSS (px, %, in, cm, mm, em, ex, pt, or pc).', // Put the voice-only part of the label in the span. unavailable : '%1, не доступне' @@ -186,7 +187,7 @@ CKEDITOR.lang['uk'] = cssClasses : 'Клас CSS', charset : 'Кодування', styles : 'Стиль CSS', - rel : 'Relationship', // MISSING + rel : 'Зв\'язок', selectAnchor : 'Оберіть якір', anchorName : 'За ім\'ям елементу', anchorId : 'За ідентифікатором елементу', @@ -206,14 +207,14 @@ CKEDITOR.lang['uk'] = title : 'Властивості якоря', name : 'Ім\'я якоря', errorName : 'Будь ласка, вкажіть ім\'я якоря', - remove : 'Remove Anchor' // MISSING + remove : 'Прибрати якір' }, // List style dialog list: { numberedTitle : 'Опції нумерованого списку', - bulletedTitle : 'Опції маркірованого списку', + bulletedTitle : 'Опції маркованого списку', type : 'Тип', start : 'Почати з...', validateStartNumber :'Початковий номер списку повинен бути цілим числом.', @@ -242,7 +243,7 @@ CKEDITOR.lang['uk'] = findWhat : 'Шукати:', replaceWith : 'Замінити на:', notFoundMsg : 'Вказаний текст не знайдено.', - findOptions : 'Find Options', // MISSING + findOptions : 'Параметри Пошуку', matchCase : 'Враховувати регістр', matchWord : 'Збіг цілих слів', matchCyclic : 'Циклічна заміна', @@ -574,7 +575,7 @@ CKEDITOR.lang['uk'] = format : { label : 'Форматування', - panelTitle : 'Форматування', + panelTitle : 'Форматування параграфа', tag_p : 'Нормальний', tag_pre : 'Форматований', @@ -607,11 +608,11 @@ CKEDITOR.lang['uk'] = iframe : { - title : 'IFrame Properties', // MISSING - toolbar : 'IFrame', // MISSING - noUrl : 'Please type the iframe URL', // MISSING - scrolling : 'Enable scrollbars', // MISSING - border : 'Show frame border' // MISSING + title : 'Налаштування для IFrame', + toolbar : 'IFrame', + noUrl : 'Будь ласка введіть посилання для IFrame', + scrolling : 'Увімкнути прокрутку', + border : 'Показати рамки фрейму' }, font : @@ -720,8 +721,8 @@ CKEDITOR.lang['uk'] = { title : 'Про CKEditor', dlgTitle : 'Про CKEditor', - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING + help : 'Перевірте $1 для допомоги.', + userGuide : 'Інструкція Користувача для CKEditor', moreInfo : 'Щодо інформації з ліцензування завітайте на наш сайт:', copy : 'Copyright © $1. Всі права застережено.' }, @@ -733,8 +734,8 @@ CKEDITOR.lang['uk'] = { anchor : 'Якір', flash : 'Flash-анімація', - iframe : 'IFrame', // MISSING - hiddenfield : 'Hidden Field', // MISSING + iframe : 'IFrame', + hiddenfield : 'Приховані Поля', unknown : 'Невідомий об\'єкт' }, @@ -754,17 +755,17 @@ CKEDITOR.lang['uk'] = toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Документ', + clipboard : 'Буфер обміну / Скасувати', + editing : 'Редагування', + forms : 'Форми', + basicstyles : 'Основний Стиль', + paragraph : 'Параграф', + links : 'Посилання', + insert : 'Вставити', + styles : 'Стилі', + colors : 'Кольори', + tools : 'Інструменти' }, bidi : @@ -777,14 +778,14 @@ CKEDITOR.lang['uk'] = { label : 'Властивості документа', title : 'Властивості документа', - design : 'Design', // MISSING + design : 'Дизайн', meta : 'Мета дані', chooseColor : 'Обрати', other : '<інший>', docTitle : 'Заголовок сторінки', charset : 'Кодування набору символів', charsetOther : 'Інше кодування набору символів', - charsetASCII : 'ASCII', // MISSING + charsetASCII : 'ASCII', charsetCE : 'Центрально-європейська', charsetCT : 'Китайська традиційна (Big5)', charsetCR : 'Кирилиця', @@ -810,6 +811,6 @@ CKEDITOR.lang['uk'] = metaDescription : 'Опис документа', metaAuthor : 'Автор', metaCopyright : 'Авторські права', - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

Це прикладтексту. Ви використовуєте CKEditor .

' } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/vi.js b/phpgwapi/js/ckeditor3/_source/lang/vi.js index 76c7e853e2..f712bef4cf 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/vi.js +++ b/phpgwapi/js/ckeditor3/_source/lang/vi.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -25,16 +25,17 @@ CKEDITOR.lang['vi'] = * languages (like English). * @default 'ltr' */ - dir : 'ltr', + dir : 'trái-qua-phải', /* * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Bộ soạn thảo, %1, nhấn ALT + 0 để xem hướng dẫn.', + editorTitle : 'Trình soạn thảo phong phú, %1', + editorHelp : 'Nhấn ALT + 0 để được giúp đỡ', // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING + toolbars : 'Thanh công cụ', editor : 'Bộ soạn thảo', // Toolbar buttons without dialogs. @@ -56,7 +57,7 @@ CKEDITOR.lang['vi'] = superscript : 'Chỉ số trên', horizontalrule : 'Chèn đường phân cách ngang', pagebreak : 'Chèn ngắt trang', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'Ngắt trang', unlink : 'Xoá liên kết', undo : 'Khôi phục thao tác', redo : 'Làm lại thao tác', @@ -106,10 +107,10 @@ CKEDITOR.lang['vi'] = targetTop : 'Cửa sổ trên cùng (_top)', targetSelf : 'Tại trang (_self)', targetParent : 'Cửa sổ cha (_parent)', - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING - cssClasses : 'Stylesheet Classes', // MISSING + langDirLTR : 'Trái sang phải (LTR)', + langDirRTL : 'Phải sang trái (RTL)', + styles : 'Kiểu', + cssClasses : 'Lớp CSS', width : 'Chiều rộng', height : 'chiều cao', align : 'Vị trí', @@ -121,10 +122,10 @@ CKEDITOR.lang['vi'] = alignBottom : 'Dưới', invalidHeight : 'Chiều cao phải là số nguyên.', invalidWidth : 'Chiều rộng phải là số nguyên.', - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidCssLength : 'Giá trị quy định cho trường "%1" phải là một số dương có hoặc không có một đơn vị đo CSS hợp lệ (px, %, in, cm, mm, em, ex, pt, hoặc pc).', + invalidHtmlLength : 'Giá trị quy định cho trường "%1" phải là một số dương có hoặc không có một đơn vị đo HTML hợp lệ (px hoặc %).', + invalidInlineStyle : 'Giá trị quy định cho kiểu nội tuyến phải bao gồm một hoặc nhiều dữ liệu với định dạng "tên:giá trị", cách nhau bằng dấu chấm phẩy.', + cssLengthTooltip : 'Nhập một giá trị theo pixel hoặc một số với một đơn vị CSS hợp lệ (px, %, in, cm, mm, em, ex, pt, hoặc pc).', // Put the voice-only part of the label in the span. unavailable : '%1, không có' @@ -186,7 +187,7 @@ CKEDITOR.lang['vi'] = cssClasses : 'Lớp Stylesheet', charset : 'Bảng mã của tài nguyên được liên kết đến', styles : 'Kiểu (style)', - rel : 'Relationship', // MISSING + rel : 'Quan hệ', selectAnchor : 'Chọn một điểm neo', anchorName : 'Theo tên điểm neo', anchorId : 'Theo định danh thành phần', @@ -206,7 +207,7 @@ CKEDITOR.lang['vi'] = title : 'Thuộc tính điểm neo', name : 'Tên của điểm neo', errorName : 'Hãy nhập vào tên của điểm neo', - remove : 'Remove Anchor' // MISSING + remove : 'Xóa neo' }, // List style dialog @@ -216,7 +217,7 @@ CKEDITOR.lang['vi'] = bulletedTitle : 'Thuộc tính danh sách không thứ tự', type : 'Kiểu loại', start : 'Bắt đầu', - validateStartNumber :'List start number must be a whole number.', // MISSING + validateStartNumber :'Số bắt đầu danh sách phải là một số nguyên.', circle : 'Khuyên tròn', disc : 'Hình đĩa', square : 'Hình vuông', @@ -242,7 +243,7 @@ CKEDITOR.lang['vi'] = findWhat : 'Tìm chuỗi:', replaceWith : 'Thay bằng:', notFoundMsg : 'Không tìm thấy chuỗi cần tìm.', - findOptions : 'Find Options', // MISSING + findOptions : 'Tìm tùy chọn', matchCase : 'Phân biệt chữ hoa/thường', matchWord : 'Giống toàn bộ từ', matchCyclic : 'Giống một phần', @@ -511,8 +512,8 @@ CKEDITOR.lang['vi'] = eleTitle : '%1 thành phần' }, - numberedlist : 'Danh sách có thứ tự', - bulletedlist : 'Danh sách không thứ tự', + numberedlist : 'Chèn/Xoá Danh sách có thứ tự', + bulletedlist : 'Chèn/Xoá Danh sách không thứ tự', indent : 'Dịch vào trong', outdent : 'Dịch ra ngoài', @@ -541,7 +542,7 @@ CKEDITOR.lang['vi'] = confirmCleanup : 'Văn bản bạn muốn dán có kèm định dạng của Word. Bạn có muốn loại bỏ định dạng Word trước khi dán?', toolbar : 'Dán với định dạng Word', title : 'Dán với định dạng Word', - error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING + error : 'Không thể để làm sạch các dữ liệu dán do một lỗi nội bộ' }, pasteText : @@ -607,11 +608,11 @@ CKEDITOR.lang['vi'] = iframe : { - title : 'IFrame Properties', // MISSING - toolbar : 'IFrame', // MISSING - noUrl : 'Please type the iframe URL', // MISSING - scrolling : 'Enable scrollbars', // MISSING - border : 'Show frame border' // MISSING + title : 'Thuộc tính iframe', + toolbar : 'Iframe', + noUrl : 'Vui lòng nhập địa chỉ iframe', + scrolling : 'Kích hoạt thanh cuộn', + border : 'Hiển thị viền khung' }, font : @@ -639,46 +640,46 @@ CKEDITOR.lang['vi'] = colors : { - '000' : 'Black', // MISSING - '800000' : 'Maroon', // MISSING - '8B4513' : 'Saddle Brown', // MISSING - '2F4F4F' : 'Dark Slate Gray', // MISSING - '008080' : 'Teal', // MISSING - '000080' : 'Navy', // MISSING - '4B0082' : 'Indigo', // MISSING - '696969' : 'Dark Gray', // MISSING - 'B22222' : 'Fire Brick', // MISSING - 'A52A2A' : 'Brown', // MISSING - 'DAA520' : 'Golden Rod', // MISSING - '006400' : 'Dark Green', // MISSING - '40E0D0' : 'Turquoise', // MISSING - '0000CD' : 'Medium Blue', // MISSING - '800080' : 'Purple', // MISSING - '808080' : 'Gray', // MISSING - 'F00' : 'Red', // MISSING - 'FF8C00' : 'Dark Orange', // MISSING - 'FFD700' : 'Gold', // MISSING - '008000' : 'Green', // MISSING - '0FF' : 'Cyan', // MISSING - '00F' : 'Blue', // MISSING - 'EE82EE' : 'Violet', // MISSING - 'A9A9A9' : 'Dim Gray', // MISSING - 'FFA07A' : 'Light Salmon', // MISSING - 'FFA500' : 'Orange', // MISSING - 'FFFF00' : 'Yellow', // MISSING - '00FF00' : 'Lime', // MISSING - 'AFEEEE' : 'Pale Turquoise', // MISSING - 'ADD8E6' : 'Light Blue', // MISSING - 'DDA0DD' : 'Plum', // MISSING - 'D3D3D3' : 'Light Grey', // MISSING - 'FFF0F5' : 'Lavender Blush', // MISSING - 'FAEBD7' : 'Antique White', // MISSING - 'FFFFE0' : 'Light Yellow', // MISSING - 'F0FFF0' : 'Honeydew', // MISSING - 'F0FFFF' : 'Azure', // MISSING - 'F0F8FF' : 'Alice Blue', // MISSING - 'E6E6FA' : 'Lavender', // MISSING - 'FFF' : 'White' // MISSING + '000' : 'Đen', + '800000' : 'Maroon', + '8B4513' : 'Saddle Brown', + '2F4F4F' : 'Dark Slate Gray', + '008080' : 'Teal', + '000080' : 'Navy', + '4B0082' : 'Indigo', + '696969' : 'Dark Gray', + 'B22222' : 'Fire Brick', + 'A52A2A' : 'Nâu', + 'DAA520' : 'Golden Rod', + '006400' : 'Dark Green', + '40E0D0' : 'Turquoise', + '0000CD' : 'Medium Blue', + '800080' : 'Purple', + '808080' : 'Xám', + 'F00' : 'Đỏ', + 'FF8C00' : 'Dark Orange', + 'FFD700' : 'Vàng', + '008000' : 'Xanh lá cây', + '0FF' : 'Cyan', + '00F' : 'Xanh da trời', + 'EE82EE' : 'Tím', + 'A9A9A9' : 'Xám tối', + 'FFA07A' : 'Light Salmon', + 'FFA500' : 'Màu cam', + 'FFFF00' : 'Vàng', + '00FF00' : 'Lime', + 'AFEEEE' : 'Pale Turquoise', + 'ADD8E6' : 'Light Blue', + 'DDA0DD' : 'Plum', + 'D3D3D3' : 'Light Grey', + 'FFF0F5' : 'Lavender Blush', + 'FAEBD7' : 'Antique White', + 'FFFFE0' : 'Light Yellow', + 'F0FFF0' : 'Honeydew', + 'F0FFFF' : 'Azure', + 'F0F8FF' : 'Alice Blue', + 'E6E6FA' : 'Lavender', + 'FFF' : 'Trắng' }, scayt : @@ -711,7 +712,7 @@ CKEDITOR.lang['vi'] = dic_restore : 'Phục hồi', dic_delete : 'Xóa', dic_rename : 'Thay tên', - dic_info : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_info : 'Ban đầu, từ điển người dùng được lưu trữ trong một cookie. Tuy nhiên, kích thước cookie bị giới hạn. Khi người sử dụng từ điển phát triển đến điểm không thể được lưu trữ trong cookie, từ điển sẽ được lưu trữ trên máy chủ của chúng tôi. Để lưu trữ từ điển cá nhân của bạn trên máy chủ của chúng tôi, bạn nên xác định một tên cho từ điển của bạn. Nếu bạn đã có một cuốn từ điển được lưu trữ, xin vui lòng gõ tên của nó và nhấn vào nút Khôi phục.', aboutTab : 'Thông tin' }, @@ -720,8 +721,8 @@ CKEDITOR.lang['vi'] = { title : 'Thông tin về CKEditor', dlgTitle : 'Thông tin về CKEditor', - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING + help : 'Kiểm tra $1 để được giúp đỡ.', + userGuide : 'Hướng dẫn sử dụng CKEditor', moreInfo : 'Vui lòng ghé thăm trang web của chúng tôi để có thông tin về giấy phép:', copy : 'Bản quyền © $1. Giữ toàn quyền.' }, @@ -733,8 +734,8 @@ CKEDITOR.lang['vi'] = { anchor : 'Điểm neo', flash : 'Flash', - iframe : 'IFrame', // MISSING - hiddenfield : 'Hidden Field', // MISSING + iframe : 'IFrame', + hiddenfield : 'Trường ẩn', unknown : 'Đối tượng không rõ ràng' }, @@ -743,7 +744,7 @@ CKEDITOR.lang['vi'] = colordialog : { title : 'Chọn màu', - options : 'Color Options', // MISSING + options : 'Tùy chọn màu', highlight : 'Màu chọn', selected : 'Màu đã chọn', clear : 'Xóa bỏ' @@ -754,37 +755,37 @@ CKEDITOR.lang['vi'] = toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Tài liệu', + clipboard : 'Clipboard/Undo', + editing : 'Chỉnh sửa', + forms : 'Bảng biểu', + basicstyles : 'Kiểu cơ bản', + paragraph : 'Đoạn', + links : 'Liên kết', + insert : 'Chèn', + styles : 'Kiểu', + colors : 'Màu sắc', + tools : 'Công cụ' }, bidi : { - ltr : 'Text direction from left to right', // MISSING - rtl : 'Text direction from right to left' // MISSING + ltr : 'Văn bản hướng từ trái sang phải', + rtl : 'Văn bản hướng từ phải sang trái' }, docprops : { label : 'Thuộc tính Tài liệu', title : 'Thuộc tính Tài liệu', - design : 'Design', // MISSING + design : 'Thiết kế', meta : 'Siêu dữ liệu', chooseColor : 'Chọn màu', other : '', docTitle : 'Tiêu đề Trang', charset : 'Bảng mã ký tự', charsetOther : 'Bảng mã ký tự khác', - charsetASCII : 'ASCII', // MISSING + charsetASCII : 'ASCII', charsetCE : 'Trung Âu', charsetCT : 'Tiếng Trung Quốc (Big5)', charsetCR : 'Tiếng Kirin', @@ -792,7 +793,7 @@ CKEDITOR.lang['vi'] = charsetJP : 'Tiếng Nhật', charsetKR : 'Tiếng Hàn', charsetTR : 'Tiếng Thổ Nhĩ Kỳ', - charsetUN : 'Unicode (UTF-8)', // MISSING + charsetUN : 'Unicode (UTF-8)', charsetWE : 'Tây Âu', docType : 'Kiểu Đề mục Tài liệu', docTypeOther : 'Kiểu Đề mục Tài liệu khác', @@ -810,6 +811,6 @@ CKEDITOR.lang['vi'] = metaDescription : 'Mô tả tài liệu', metaAuthor : 'Tác giả', metaCopyright : 'Bản quyền', - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

Đây là một số văn bản mẫu. Bạn đang sử dụng CKEditor.

' } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/zh-cn.js b/phpgwapi/js/ckeditor3/_source/lang/zh-cn.js index 5ab5bf6997..d396e9626d 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/zh-cn.js +++ b/phpgwapi/js/ckeditor3/_source/lang/zh-cn.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,7 +31,8 @@ CKEDITOR.lang['zh-cn'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : '所见即所得编辑器, %1, 按 ALT+0 查看帮助。', + editorTitle : '富文本编辑器,%1', + editorHelp : '按 ALT+0 获得帮助', // ARIA descriptions. toolbars : '工具栏', @@ -607,8 +608,8 @@ CKEDITOR.lang['zh-cn'] = iframe : { - title : 'iFrame属性', - toolbar : 'iFrame', + title : 'IFrame 属性', + toolbar : 'IFrame', noUrl : '请输入框架的 URL', scrolling : '允许滚动条', border : '显示框架边框' @@ -810,6 +811,6 @@ CKEDITOR.lang['zh-cn'] = metaDescription : '页面说明', metaAuthor : '作者', metaCopyright : '版权', - previewHtml : '

This is some sample text. You are using CKEditor.

' + previewHtml : '

这是一些演示用文字。你当前正在使用CKEditor

' } }; diff --git a/phpgwapi/js/ckeditor3/_source/lang/zh.js b/phpgwapi/js/ckeditor3/_source/lang/zh.js index eb9172d39f..569aefc01d 100644 --- a/phpgwapi/js/ckeditor3/_source/lang/zh.js +++ b/phpgwapi/js/ckeditor3/_source/lang/zh.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,11 +31,12 @@ CKEDITOR.lang['zh'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Rich text editor, %1', // MISSING + editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : '編輯器工具欄', + editor : '富文本編輯器', // Toolbar buttons without dialogs. source : '原始碼', @@ -56,7 +57,7 @@ CKEDITOR.lang['zh'] = superscript : '上標', horizontalrule : '插入水平線', pagebreak : '插入分頁符號', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : '分頁符號', unlink : '移除超連結', undo : '復原', redo : '重複', @@ -93,19 +94,19 @@ CKEDITOR.lang['zh'] = cssStyle : '樣式', ok : '確定', cancel : '取消', - close : 'Close', // MISSING - preview : 'Preview', // MISSING + close : '关闭', + preview : '预览', generalTab : '一般', advancedTab : '進階', validateNumberFailed : '需要輸入數字格式', confirmNewPage : '現存的修改尚未儲存,要開新檔案?', confirmCancel : '部份選項尚未儲存,要關閉對話盒?', - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING + options : '选项', + target : '目标', + targetNew : '新窗口(_blank)', + targetTop : '整页(_top)', + targetSelf : '本窗口(_self)', + targetParent : '父窗口(_parent)', langDirLTR : 'Left to Right (LTR)', // MISSING langDirRTL : 'Right to Left (RTL)', // MISSING styles : 'Style', // MISSING @@ -727,7 +728,7 @@ CKEDITOR.lang['zh'] = }, maximize : '最大化', - minimize : 'Minimize', // MISSING + minimize : '最小化', fakeobjects : { @@ -749,8 +750,8 @@ CKEDITOR.lang['zh'] = clear : 'Clear' // MISSING }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : '折叠工具栏', + toolbarExpand : '展开工具栏', toolbarGroups : { diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/dialogs/a11yhelp.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/dialogs/a11yhelp.js index ff07429cb7..15bee48d4b 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/dialogs/a11yhelp.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/dialogs/a11yhelp.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/_translationstatus.txt b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/_translationstatus.txt new file mode 100644 index 0000000000..7a490f98ec --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/_translationstatus.txt @@ -0,0 +1,25 @@ +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +cs.js Found: 30 Missing: 0 +cy.js Found: 30 Missing: 0 +da.js Found: 12 Missing: 18 +de.js Found: 30 Missing: 0 +el.js Found: 25 Missing: 5 +eo.js Found: 30 Missing: 0 +fa.js Found: 30 Missing: 0 +fi.js Found: 30 Missing: 0 +fr.js Found: 30 Missing: 0 +gu.js Found: 12 Missing: 18 +he.js Found: 30 Missing: 0 +it.js Found: 30 Missing: 0 +mk.js Found: 5 Missing: 25 +nb.js Found: 30 Missing: 0 +nl.js Found: 30 Missing: 0 +no.js Found: 30 Missing: 0 +pt-br.js Found: 30 Missing: 0 +ro.js Found: 6 Missing: 24 +tr.js Found: 30 Missing: 0 +ug.js Found: 27 Missing: 3 +vi.js Found: 6 Missing: 24 +zh-cn.js Found: 30 Missing: 0 diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/cs.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/cs.js new file mode 100644 index 0000000000..86f6e4c57b --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/cs.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'cs', +{ + accessibilityHelp : + { + title : 'Instrukce pro přístupnost', + contents : 'Obsah nápovědy. Pro uzavření tohoto dialogu stiskněte klávesu ESC.', + legend : + [ + { + name : 'Obecné', + items : + [ + { + name : 'Panel nástrojů editoru', + legend: + 'Stiskněte${toolbarFocus} k procházení panelu nástrojů. Přejděte na další a předchozí skupiny pomocí TAB a SHIFT-TAB. Přechod na další a předchozí tlačítko panelu nástrojů je pomocí ŠIPKA VPRAVO nebo ŠIPKA VLEVO. Stisknutím mezerníku nebo klávesy ENTER tlačítko aktivujete.' + }, + + { + name : 'Dialogové okno editoru', + legend : + 'Uvnitř dialogového okna stiskněte TAB pro přesunutí na další pole, stiskněte SHIFT + TAB pro přesun na předchozí pole, stiskněte ENTER pro odeslání dialogu, stiskněte ESC pro jeho zrušení. Pro dialogová okna, která mají mnoho karet stiskněte ALT + F10 pr oprocházení seznamu karet. Pak se přesuňte na další kartu pomocí TAB nebo ŠIPKA VPRAVO. Pro přesun na předchozí stiskněte SHIFT + TAB nebo ŠIPKA VLEVO. Stiskněte MEZERNÍK nebo ENTER pro vybrání stránky karet.' + }, + + { + name : 'Kontextové menu editoru', + legend : + 'Stiskněte ${contextMenu} nebo klávesu APPLICATION k otevření kontextového menu. Pak se přesuňte na další možnost menu pomocí TAB nebo ŠIPKY DOLŮ. Přesuňte se na předchozí možnost pomocí SHIFT+TAB nebo ŠIPKY NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti menu. Podmenu současné možnosti otevřete pomocí MEZERNÍKU nebo ENTER či ŠIPKY DOLEVA. Kontextové menu uzavřete stiskem ESC.' + }, + + { + name : 'Rámeček seznamu editoru', + legend : + 'Uvnitř rámečku seznamu se přesunete na další položku menu pomocí TAB nebo ŠIPKA DOLŮ. Na předchozí položku se přesunete SHIFT + TAB nebo ŠIPKA NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti seznamu. Stiskněte ESC pro uzavření seznamu.' + }, + + { + name : 'Lišta cesty prvku v editoru', + legend : + 'Stiskněte ${elementsPathFocus} pro procházení lišty cesty prvku. Na další tlačítko prvku se přesunete pomocí TAB nebo ŠIPKA VPRAVO. Na předchozí položku se přesunete pomocí SHIFT + TAB nebo ŠIPKA VLEVO. Stiskněte MEZERNÍK nebo ENTER pro vybrání prvku v editoru.' + } + ] + }, + { + name : 'Příkazy', + items : + [ + { + name : ' Příkaz Zpět', + legend : 'Stiskněte ${undo}' + }, + { + name : ' Příkaz Znovu', + legend : 'Stiskněte ${redo}' + }, + { + name : ' Příkaz Tučné', + legend : 'Stiskněte ${bold}' + }, + { + name : ' Příkaz Kurzíva', + legend : 'Stiskněte ${italic}' + }, + { + name : ' Příkaz Podtržení', + legend : 'Stiskněte ${underline}' + }, + { + name : ' Příkaz Odkaz', + legend : 'Stiskněte ${link}' + }, + { + name : ' Příkaz Skrýt panel nástrojů', + legend : 'Stiskněte ${toolbarCollapse}' + }, + { + name : ' Nápověda přístupnosti', + legend : 'Stiskněte ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/cy.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/cy.js new file mode 100644 index 0000000000..4baf464256 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/cy.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'cy', +{ + accessibilityHelp : + { + title : 'Canllawiau Hygyrchedd', + contents : 'Cynnwys Cymorth. I gau y deialog hwn, pwyswch ESC.', + legend : + [ + { + name : 'Cyffredinol', + items : + [ + { + name : 'Bar Offer y Golygydd', + legend: + 'Pwyswch $ {toolbarFocus} i fynd at y bar offer. Symudwch i\'r grŵp bar offer nesaf a blaenorol gyda TAB a SHIFT-TAB. Symudwch i\'r botwm bar offer nesaf a blaenorol gyda SAETH DDE neu SAETH CHWITH. Pwyswch SPACE neu ENTER i wneud botwm y bar offer yn weithredol.' + }, + + { + name : 'Deialog y Golygydd', + legend : + 'Tu mewn i\'r deialog, pwyswch TAB i fynd i\'r maes nesaf ar y deialog, pwyswch SHIFT + TAB i symud i faes blaenorol, pwyswch ENTER i gyflwyno\'r deialog, pwyswch ESC i ddiddymu\'r deialog. Ar gyfer deialogau sydd â thudalennau aml-tab, pwyswch ALT + F10 i lywio\'r tab-restr. Yna symudwch i\'r tab nesaf gyda TAB neu SAETH DDE. Symudwch i dab blaenorol gyda SHIFT + TAB neu\'r SAETH CHWITH. Pwyswch SPACE neu ENTER i ddewis y dudalen tab.' + }, + + { + name : 'Dewislen Cyd-destun y Golygydd', + legend : + 'Pwyswch $ {contextMenu} neu\'r ALLWEDD \'APPLICATION\' i agor y ddewislen cyd-destun. Yna symudwch i\'r opsiwn ddewislen nesaf gyda\'r TAB neu\'r SAETH I LAWR. Symudwch i\'r opsiwn blaenorol gyda SHIFT + TAB neu\'r SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn ddewislen. Agorwch is-dewislen yr opsiwn cyfredol gyda SPACE neu ENTER neu SAETH DDE. Ewch yn ôl i\'r eitem ar y ddewislen uwch gydag ESC neu SAETH CHWITH. Ceuwch y ddewislen cyd-destun gydag ESC.' + }, + + { + name : 'Blwch Rhestr y Golygydd', + legend : + 'Tu mewn rhestr-bocs, ewch i\'r eitem rhestr nesaf gyda TAB neu\'r SAETH I LAWR. Symudwch i restr eitem flaenorol gyda SHIFT + TAB neu SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn o\'r rhestr. Pwyswch ESC i gau\'r rhestr.' + }, + + { + name : 'Bar Llwybr Elfen y Golygydd', + legend : + 'Pwyswch $ {elementsPathFocus} i fynd i\'r elfennau llwybr bar. Symudwch i fotwm yr elfen nesaf gyda TAB neu SAETH DDE. Symudwch i fotwm blaenorol gyda SHIFT + TAB neu SAETH CHWITH. Pwyswch SPACE neu ENTER i ddewis yr elfen yn y golygydd.' + } + ] + }, + { + name : 'Gorchmynion', + items : + [ + { + name : 'Gorchymyn dadwneud', + legend : 'Pwyswch ${undo}' + }, + { + name : 'Gorchymyn ailadrodd', + legend : 'Pwyswch ${redo}' + }, + { + name : 'Gorchymyn Bras', + legend : 'Pwyswch ${bold}' + }, + { + name : 'Gorchymyn italig', + legend : 'Pwyswch ${italig}' + }, + { + name : 'Gorchymyn tanlinellu', + legend : 'Pwyso ${underline}' + }, + { + name : 'Gorchymyn dolen', + legend : 'Pwyswch ${link}' + }, + { + name : 'Gorchymyn Cwympo\'r Dewislen', + legend : 'Pwyswch ${toolbarCollapse}' + }, + { + name : 'Cymorth Hygyrchedd', + legend : 'Pwyswch ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/da.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/da.js new file mode 100644 index 0000000000..e07d4bbbf6 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/da.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'da', +{ + accessibilityHelp : + { + title : 'Tilgængelighedsinstrukser', + contents : 'Help Contents. To close this dialog press ESC.', // MISSING + legend : + [ + { + name : 'Generelt', + items : + [ + { + name : 'Editor værktøjslinje', + legend: + 'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.' // MISSING + }, + + { + name : 'Editor Dialog', // MISSING + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'Editor Context Menu', // MISSING + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'Editor List Box', // MISSING + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'Editor Element Path Bar', // MISSING + legend : + 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING + } + ] + }, + { + name : 'Kommandoer', + items : + [ + { + name : 'Fortryd kommando', + legend : 'Klik på ${undo}' + }, + { + name : 'Gentag kommando', + legend : 'Klik ${redo}' + }, + { + name : ' Bold command', // MISSING + legend : 'Klik ${bold}' + }, + { + name : ' Italic command', // MISSING + legend : 'Press ${italic}' // MISSING + }, + { + name : ' Underline command', // MISSING + legend : 'Klik ${underline}' + }, + { + name : ' Link command', // MISSING + legend : 'Klik ${link}' + }, + { + name : ' Toolbar Collapse command', // MISSING + legend : 'Press ${toolbarCollapse}' // MISSING + }, + { + name : ' Accessibility Help', // MISSING + legend : 'Kilk ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/de.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/de.js new file mode 100644 index 0000000000..9489aaa876 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/de.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'de', +{ + accessibilityHelp : + { + title : 'Barrierefreiheitinformationen', + contents : 'Hilfeinhalt. Um den Dialog zu schliessen die Taste \'ESC\' drücken.', + legend : + [ + { + name : 'Allgemein', + items : + [ + { + name : 'Editor Symbolleiste', + legend: + 'Drücken Sie ${toolbarFocus} auf der Symbolleiste. Gehen Sie zur nächsten oder vorherigen Symbolleistengruppe mit TAB und SHIFT-TAB. Gehen Sie zur nächsten oder vorherigen Symbolleiste auf die Schaltfläche mit dem RECHTS- oder LINKS-Pfeil. Drücken Sie die Leertaste oder Eingabetaste, um die Schaltfläche in der Symbolleiste aktivieren.' + }, + + { + name : 'Editor Dialog', + legend : + 'Innerhalb des Dialogs drücken Sie TAB um zum nächsten Dialogfeld zu gelangen, drücken Sie SHIFT-TAG um zum vorherigen Feld zu wechseln, drücken Sie ENTER um den Dialog abzusenden und ESC um den Dialog zu abzubrechen. Um zwischen den Reitern innerhalb eines Dialogs zu wechseln drücken sie ALT-F10. Um zum nächsten Reiter zu gelangen können Sie TAB oder die rechte Pfeiltaste. Zurück gelangt man mit SHIFT-TAB oder der linken Pfeiltaste. Mit der Leertaste oder Enter kann man den Reiter auswählen.' + }, + + { + name : 'Editor Kontextmenü', + legend : + 'Dürcken Sie ${contextMenu} oder die Anwendungstaste um das Kontextmenü zu öffnen. Man kann die Pfeiltasten zum Wechsel benutzen. Mit der Leertaste oder der Enter-Taste kann man den Menüpunkt aufrufen. Schliessen Sie das Kontextmenü mit der ESC-Taste.' + }, + + { + name : 'Editor Listen', + legend : + 'Innerhalb einer Listenbox kann man mit der TAB-Taste oder den Pfeilrunter-Taste den nächsten Menüeintrag wählen. Mit der Shift-TAB Tastenkombination oder der Pfeilhoch-Taste gelangt man zum vorherigen Menüpunkt. Mit der Leertaste oder Enter kann man den Menüpunkt auswählen. Drücken Sie ESC zum Verlassen des Menüs.' + }, + + { + name : 'Editor Elementpfadleiste', + legend : + 'Drücken Sie ${elementsPathFocus} um sich durch die Pfadleiste zu bewegen. Um zum nächsten Element zu gelangen drücken Sie TAB oder die Pfeilrechts-Taste. Zum vorherigen Element gelangen Sie mit der SHIFT-TAB oder der Pfeillinks-Taste. Drücken Sie die Leertaste oder Enter um das Element auszuwählen.' + } + ] + }, + { + name : 'Befehle', + items : + [ + { + name : 'Wiederholen Befehl', + legend : 'Drücken Sie ${undo}' + }, + { + name : 'Rückgängig Befehl', + legend : 'Drücken Sie ${redo}' + }, + { + name : 'Fettschrift Befehl', + legend : 'Drücken Sie ${bold}' + }, + { + name : 'Italic Befehl', + legend : 'Drücken Sie ${italic}' + }, + { + name : 'Unterstreichung Befehl', + legend : 'Drücken Sie ${underline}' + }, + { + name : 'Link Befehl', + legend : 'Drücken Sie ${link}' + }, + { + name : 'Symbolleiste zuammenklappen Befehl', + legend : 'Drücken Sie ${toolbarCollapse}' + }, + { + name : 'Eingabehilfen', + legend : 'Drücken Sie ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/el.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/el.js new file mode 100644 index 0000000000..5c8d8c6ea2 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/el.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'el', +{ + accessibilityHelp : + { + title : 'Οδηγίες Προσβασιμότητας', + contents : 'Περιεχόμενα Βοήθειας. Πατήστε ESC για κλείσιμο.', + legend : + [ + { + name : 'Γενικά', + items : + [ + { + name : 'Εργαλειοθήκη Επεξεργαστή', + legend: + 'Πατήστε ${toolbarFocus} για να περιηγηθείτε στην γραμμή εργαλείων. Μετακινηθείτε ανάμεσα στις ομάδες της γραμμής εργαλείων με TAB και Shift-TAB. Μετακινηθείτε ανάμεσα στα κουμπία εργαλείων με ΔΕΞΙ και ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Πατήστε ΚΕΝΟ ή ENTER για να ενεργοποιήσετε το ενεργό κουμπί εργαλείου.' + }, + + { + name : 'Παράθυρο Διαλόγου Επεξεργαστή', + legend : + 'Μέσα σε ένα παράθυρο διαλόγου, πατήστε TAB για να μεταβείτε στο επόμενο πεδίο ή SHIFT + TAB για να μεταβείτε στο προηγούμενο. Πατήστε ENTER για να υποβάλετε την φόρμα. Πατήστε ESC για να ακυρώσετε την διαδικασία της φόρμας. Για παράθυρα διαλόγων που έχουν πολλές σελίδες σε καρτέλες πατήστε ALT + F10 για να μεταβείτε στην λίστα των καρτέλων. Στην συνέχεια μπορείτε να μεταβείτε στην επόμενη καρτέλα πατώντας TAB ή RIGHT ARROW. Μπορείτε να μεταβείτε στην προηγούμενη καρτέλα πατώντας SHIFT + TAB ή LEFT ARROW. Πατήστε SPACE ή ENTER για να επιλέξετε την καρτέλα για προβολή.' + }, + + { + name : 'Αναδυόμενο Μενού Επεξεργαστή', + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'Editor List Box', // MISSING + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'Editor Element Path Bar', // MISSING + legend : + 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING + } + ] + }, + { + name : 'Εντολές', + items : + [ + { + name : ' Εντολή αναίρεσης', + legend : 'Πατήστε ${undo}' + }, + { + name : ' Εντολή επανάληψης', + legend : 'Πατήστε ${redo}' + }, + { + name : ' Εντολή έντονης γραφής', + legend : 'Πατήστε ${bold}' + }, + { + name : ' Εντολή πλάγιας γραφής', + legend : 'Πατήστε ${italic}' + }, + { + name : ' Εντολή υπογράμμισης', + legend : 'Πατήστε ${underline}' + }, + { + name : ' Εντολή συνδέσμου', + legend : 'Πατήστε ${link}' + }, + { + name : ' Εντολή Σύμπτηξης Εργαλειοθήκης', + legend : 'Πατήστε ${toolbarCollapse}' + }, + { + name : ' Βοήθεια Προσβασιμότητας', + legend : 'Πατήστε ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/en.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/en.js index a3edc252cb..7a7860881e 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/en.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/en.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -39,9 +39,9 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'en', legend : 'Press ${contextMenu} or APPLICATION KEY to open context-menu. ' + 'Then move to next menu option with TAB or DOWN ARROW. ' + - 'Move to previous option with SHIFT+TAB or UP ARROW. ' + + 'Move to previous option with SHIFT+TAB or UP ARROW. ' + 'Press SPACE or ENTER to select the menu option. ' + - 'Open sub-menu of current option wtih SPACE or ENTER or RIGHT ARROW. ' + + 'Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. ' + 'Go back to parent menu item with ESC or LEFT ARROW. ' + 'Close context menu with ESC.' }, diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/eo.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/eo.js new file mode 100644 index 0000000000..b0807694f1 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/eo.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'eo', +{ + accessibilityHelp : + { + title : 'Uzindikoj pri atingeblo', + contents : 'Helpilenhavo. Por fermi tiun dialogon, premu la ESKAPAN klavon.', + legend : + [ + { + name : 'Ĝeneralaĵoj', + items : + [ + { + name : 'Ilbreto de la redaktilo', + legend: + 'Premu ${toolbarFocus} por atingi la ilbreton. Moviĝu al la sekva aŭ antaŭa grupoj de la ilbreto per la klavoj TABA kaj MAJUSKLIGA-TABA. Moviĝu al la sekva aŭ antaŭa butonoj de la ilbreto per la klavoj SAGO DEKSTREN kaj SAGO MALDEKSTREN. Premu la SPACETklavon aŭ la ENENklavon por aktivigi la ilbretbutonon.' + }, + + { + name : 'Redaktildialogo', + legend : + 'En dialogo, premu la TABAN klavon por navigi al la sekva dialogkampo, premu la MAJUSKLIGAN + TABAN klavojn por reveni al la antaŭa kampo, premu la ENENklavon por sendi la dialogon, premu la ESKAPAN klavon por nuligi la dialogon. Por dialogoj kun pluraj retpaĝoj sub langetoj, premu ALT + F10 por navigi al la langetlisto. Poste moviĝu al la sekva langeto per la klavo TABA aŭ SAGO DEKSTREN. Moviĝu al la antaŭa langeto per la klavoj MAJUSKLIGA + TABA aŭ SAGO MALDEKSTREN. Premu la SPACETklavon aŭ la ENENklavon por selekti la langetretpaĝon.' + }, + + { + name : 'Kunteksta menuo de la redaktilo', + legend : + 'Premu ${contextMenu} aŭ entajpu la KLAVKOMBINAĴON por malfermi la kuntekstan menuon. Poste moviĝu al la sekva opcio de la menuo per la klavoj TABA aŭ SAGO SUBEN. Moviĝu al la antaŭa opcio per la klavoj MAJUSKLGA + TABA aŭ SAGO SUPREN. Premu la SPACETklavon aŭ ENENklavon por selekti la menuopcion. Malfermu la submenuon de la kuranta opcio per la SPACETklavo aŭ la ENENklavo aŭ la SAGO DEKSTREN. Revenu al la elemento de la patra menuo per la klavoj ESKAPA aŭ SAGO MALDEKSTREN. Fermu la kuntekstan menuon per la ESKAPA klavo.' + }, + + { + name : 'Fallisto de la redaktilo', + legend : + 'En fallisto, moviĝu al la sekva listelemento per la klavoj TABA aŭ SAGO SUBEN. Moviĝu al la antaŭa listelemento per la klavoj MAJUSKLIGA + TABA aŭ SAGO SUPREN. Premu la SPACETklavon aŭ ENENklavon por selekti la opcion en la listo. Premu la ESKAPAN klavon por fermi la falmenuon.' + }, + + { + name : 'Breto indikanta la vojon al la redaktilelementoj', + legend : + 'Premu ${elementsPathFocus} por navigi al la breto indikanta la vojon al la redaktilelementoj. Moviĝu al la butono de la sekva elemento per la klavoj TABA aŭ SAGO DEKSTREN. Moviĝu al la butono de la antaŭa elemento per la klavoj MAJUSKLIGA + TABA aŭ SAGO MALDEKSTREN. Premu la SPACETklavon aŭ ENENklavon por selekti la elementon en la redaktilo.' + } + ] + }, + { + name : 'Komandoj', + items : + [ + { + name : 'Komando malfari', + legend : 'Premu ${undo}' + }, + { + name : 'Komando refari', + legend : 'Premu ${redo}' + }, + { + name : 'Komando grasa', + legend : 'Premu ${bold}' + }, + { + name : 'Komando kursiva', + legend : 'Premu ${italic}' + }, + { + name : 'Komando substreki', + legend : 'Premu ${underline}' + }, + { + name : 'Komando ligilo', + legend : 'Premu ${link}' + }, + { + name : 'Komando faldi la ilbreton', + legend : 'Premu ${toolbarCollapse}' + }, + { + name : 'Helpilo pri atingeblo', + legend : 'Premu ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/fa.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/fa.js new file mode 100644 index 0000000000..b7dda97be0 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/fa.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'fa', +{ + accessibilityHelp : + { + title : 'دستورالعملهای دسترسی', + contents : 'راهنمای فهرست مطالب. برای بستن این کادر محاورهای ESC را فشار دهید.', + legend : + [ + { + name : 'عمومی', + items : + [ + { + name : 'نوار ابزار ویرایشگر', + legend: + '${toolbarFocus} را برای باز کردن نوار ابزار بفشارید. با کلید Tab و Shif-Tab در مجموعه نوار ابزار بعدی و قبلی حرکت کنید. برای حرکت در کلید نوار ابزار قبلی و بعدی با کلید جهتنمای راست و چپ جابجا شوید. کلید Space یا Enter را برای فعال کردن کلید نوار ابزار بفشارید.' + }, + + { + name : 'پنجره محاورهای ویرایشگر', + legend : + 'در داخل یک پنجره محاورهای، کلید Tab را بفشارید تا به پنجرهی بعدی بروید، Shift+Tab برای حرکت به فیلد قبلی، فشردن Enter برای ثبت اطلاعات پنجره، فشردن Esc برای لغو پنجره محاورهای و برای پنجرههایی که چندین برگه دارند، فشردن Alt+F10 جهت رفتن به Tab-List. در نهایت حرکت به برگه بعدی با Tab یا کلید جهتنمای راست. حرکت به برگه قبلی با Shift+Tab یا کلید جهتنمای چپ. فشردن Space یا Enter برای انتخاب یک برگه.' + }, + + { + name : 'منوی متنی ویرایشگر', + legend : + '${contextMenu} یا کلید برنامههای کاربردی را برای باز کردن منوی متن را بفشارید. سپس میتوانید برای حرکت به گزینه بعدی منو با کلید Tab و یا کلید جهتنمای پایین جابجا شوید. حرکت به گزینه قبلی با Shift+Tab یا کلید جهتنمای بالا. فشردن Space یا Enter برای انتخاب یک گزینه از منو. باز کردن زیر شاخه گزینه منو جاری با کلید Space یا Enter و یا کلید جهتنمای راست و چپ. بازگشت به منوی والد با کلید Esc یا کلید جهتنمای چپ. بستن منوی متن با Esc.' + }, + + { + name : 'جعبه فهرست ویرایشگر', + legend : + 'در داخل جعبه لیست، قلم دوم از اقلام لیست بعدی را با TAB و یا Arrow Down حرکت دهید. انتقال به قلم دوم از اقلام لیست قبلی را با SHIFT + TAB یا UP ARROW. کلید Space یا ENTER را برای انتخاب گزینه لیست بفشارید. کلید ESC را برای بستن جعبه لیست بفشارید.' + }, + + { + name : 'ویرایشگر عنصر نوار راه', + legend : + 'برای رفتن به مسیر عناصر ${elementsPathFocus} را بفشارید. حرکت به کلید عنصر بعدی با کلید Tab یا کلید جهتنمای راست. برگشت به کلید قبلی با Shift+Tab یا کلید جهتنمای چپ. فشردن Space یا Enter برای انتخاب یک عنصر در ویرایشگر.' + } + ] + }, + { + name : 'فرمانها', + items : + [ + { + name : 'بازگشت فرمان', + legend : 'فشردن ${undo}' + }, + { + name : 'انجام مجدد فرمان', + legend : 'فشردن ${redo}' + }, + { + name : 'فرمان متن درشت', + legend : 'فشردن ${bold}' + }, + { + name : 'فرمان متن کج', + legend : 'فشردن ${italic}' + }, + { + name : 'فرمان متن زیرخطدار', + legend : 'فشردن ${underline}' + }, + { + name : 'فرمان پیوند', + legend : 'فشردن ${link}' + }, + { + name : 'بستن نوار ابزار فرمان', + legend : 'فشردن ${toolbarCollapse}' + }, + { + name : 'راهنمای دسترسی', + legend : 'فشردن ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/fi.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/fi.js new file mode 100644 index 0000000000..14f1f7ceed --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/fi.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'fi', +{ + accessibilityHelp : + { + title : 'Saavutettavuus ohjeet', + contents : 'Ohjeen sisällöt. Sulkeaksesi tämän dialogin paina ESC.', + legend : + [ + { + name : 'Yleinen', + items : + [ + { + name : 'Editorin työkalupalkki', + legend: + 'Paina ${toolbarFocus} siirtyäksesi työkalupalkkiin. Siirry seuraavaan ja edelliseen työkalupalkin ryhmään TAB ja SHIFT-TAB näppäimillä. Siirry seuraavaan ja edelliseen työkalupainikkeeseen käyttämällä NUOLI OIKEALLE tai NUOLI VASEMMALLE näppäimillä. Paina VÄLILYÖNTI tai ENTER näppäintä aktivoidaksesi työkalupainikkeen.' + }, + + { + name : 'Editorin dialogi', + legend : + 'Dialogin sisällä, painamalla TAB siirryt seuraavaan dialogin kenttään, painamalla SHIFT+TAB siirryt aiempaan kenttään, painamalla ENTER lähetät dialogin, painamalla ESC peruutat dialogin. Dialogeille joissa on useita välilehtiä, paina ALT+F10 siirtyäksesi välillehtilistaan. Siirtyäksesi seuraavaan välilehteen paina TAB tai NUOLI OIKEALLE. Siirry edelliseen välilehteen painamalla SHIFT+TAB tai nuoli vasemmalle. Paina VÄLILYÖNTI tai ENTER valitaksesi välilehden.' + }, + + { + name : 'Editorin oheisvalikko', + legend : + 'Paina ${contextMenu} tai SOVELLUSPAINIKETTA avataksesi oheisvalikon. Liiku seuraavaan valikon vaihtoehtoon TAB tai NUOLI ALAS näppäimillä. Siirry edelliseen vaihtoehtoon SHIFT+TAB tai NUOLI YLÖS näppäimillä. Paina VÄLILYÖNTI tai ENTER valitaksesi valikon kohdan. Avataksesi nykyisen kohdan alivalikon paina VÄLILYÖNTI tai ENTER tai NUOLI OIKEALLE painiketta. Siirtyäksesi takaisin valikon ylemmälle tasolle paina ESC tai NUOLI vasemmalle. Oheisvalikko suljetaan ESC painikkeella.' + }, + + { + name : 'Editorin listalaatikko', + legend : + 'Listalaatikon sisällä siirry seuraavaan listan kohtaan TAB tai NUOLI ALAS painikkeilla. Siirry edelliseen listan kohtaan SHIFT+TAB tai NUOLI YLÖS painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi listan vaihtoehdon. Paina ESC sulkeaksesi listalaatikon.' + }, + + { + name : 'Editorin elementtipolun palkki', + legend : + 'Paina ${elementsPathFocus} siirtyäksesi elementtipolun palkkiin. Siirry seuraavaan elementtipainikkeeseen TAB tai NUOLI OIKEALLE painikkeilla. Siirry aiempaan painikkeeseen SHIFT+TAB tai NUOLI VASEMMALLE painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi elementin editorissa.' + } + ] + }, + { + name : 'Komennot', + items : + [ + { + name : 'Peruuta komento', + legend : 'Paina ${undo}' + }, + { + name : 'Tee uudelleen komento', + legend : 'Paina ${redo}' + }, + { + name : 'Lihavoi komento', + legend : 'Paina ${bold}' + }, + { + name : 'Kursivoi komento', + legend : 'Paina ${italic}' + }, + { + name : 'Alleviivaa komento', + legend : 'Paina ${underline}' + }, + { + name : 'Linkki komento', + legend : 'Paina ${link}' + }, + { + name : 'Pienennä työkalupalkki komento', + legend : 'Paina ${toolbarCollapse}' + }, + { + name : 'Saavutettavuus ohjeet', + legend : 'Paina ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/fr.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/fr.js new file mode 100644 index 0000000000..319431446d --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/fr.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'fr', +{ + accessibilityHelp : + { + title : 'Instructions pour l\'accessibilité', + contents : 'Contenu de l\'aide. Pour fermer ce dialogue, appuyez sur la touche ESC (Echappement).', + legend : + [ + { + name : 'Général', + items : + [ + { + name : 'Barre d\'outils de l\'éditeur', + legend: + 'Appuyer sur ${toolbarFocus} pour accéder à la barre d\'outils. Se déplacer vers les groupes suivant ou précédent de la barre d\'outil avec les touches TAB et SHIFT-TAB. Se déplacer vers les boutons suivant ou précédent de la barre d\'outils avec les touches FLECHE DROITE et FLECHE GAUCHE. Appuyer sur la barre d\'espace ou la touche ENTRER pour activer le bouton de barre d\'outils.' + }, + + { + name : 'Dialogue de léditeur', + legend : + 'A l\'intérieur d\'un dialogue, appuyer sur la touche TAB pour naviguer jusqu\'au champ de dalogue suivant, appuyez sur les touches SHIFT + TAB pour revenir au champ précédent, appuyez sur la touche ENTRER pour soumettre le dialogue, appuyer sur la touche ESC pour annuler le dialogue. Pour les dialogues avec plusieurs pages d\'onglets, appuyer sur ALT + F10 pour naviguer jusqu\'à la liste des onglets. Puis se déplacer vers l\'onglet suivant avec la touche TAB ou FLECHE DROITE. Se déplacer vers l\'onglet précédent avec les touches SHIFT + TAB ou FLECHE GAUCHE. Appuyer sur la barre d\'espace ou la touche ENTRER pour sélectionner la page de l\'onglet.' + }, + + { + name : 'Menu contextuel de l\'éditeur', + legend : + 'Appuyer sur ${contextMenu} ou entrer le RACCOURCI CLAVIER pour ouvrir le menu contextuel. Puis se déplacer vers l\'option suivante du menu avec les touches TAB ou FLECHE BAS. Se déplacer vers l\'option précédente avec les touches SHIFT+TAB ou FLECHE HAUT. appuyer sur la BARRE D\'ESPACE ou la touche ENTREE pour sélectionner l\'option du menu. Oovrir le sous-menu de l\'option courante avec la BARRE D\'ESPACE ou les touches ENTREE ou FLECHE DROITE. Revenir à l\'élément de menu parent avec les touches ESC ou FLECHE GAUCHE. Fermer le menu contextuel avec ESC.' + }, + + { + name : 'Zone de liste en menu déroulant de l\'éditeur', + legend : + 'A l\'intérieur d\'une liste en menu déroulant, se déplacer vers l\'élément suivant de la liste avec les touches TAB ou FLECHE BAS. Se déplacer vers l\'élément précédent de la liste avec les touches SHIFT + TAB ou FLECHE HAUT. Appuyer sur la BARRE D\'ESPACE ou sur ENTREE pour sélectionner l\'option dans la liste. Appuyer sur ESC pour fermer le menu déroulant.' + }, + + { + name : 'Barre d\'emplacement des éléments de léditeur', + legend : + 'Appuyer sur ${elementsPathFocus} pour naviguer vers la barre d\'emplacement des éléments de léditeur. Se déplacer vers le bouton d\'élément suivant avec les touches TAB ou FLECHE DROITE. Se déplacer vers le bouton d\'élément précédent avec les touches SHIFT+TAB ou FLECHE GAUCHE. Appuyer sur la BARRE D\'ESPACE ou sur ENTREE pour sélectionner l\'élément dans l\'éditeur.' + } + ] + }, + { + name : 'Commandes', + items : + [ + { + name : ' Commande défaire', + legend : 'Appuyer sur ${undo}' + }, + { + name : ' Commande refaire', + legend : 'Appuyer sur ${redo}' + }, + { + name : ' Commande gras', + legend : 'Appuyer sur ${bold}' + }, + { + name : ' Commande italique', + legend : 'Appuyer sur ${italic}' + }, + { + name : ' Commande souligné', + legend : 'Appuyer sur ${underline}' + }, + { + name : ' Commande lien', + legend : 'Appuyer sur ${link}' + }, + { + name : ' Commande enrouler la barre d\'outils', + legend : 'Appuyer sur ${toolbarCollapse}' + }, + { + name : ' Aide Accessibilité', + legend : 'Appuyer sur ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/gu.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/gu.js new file mode 100644 index 0000000000..65993a4679 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/gu.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'gu', +{ + accessibilityHelp : + { + title : 'એક્ક્ષેબિલિટી ની વિગતો', + contents : 'હેલ્પ. આ બંધ કરવા ESC દબાવો.', + legend : + [ + { + name : 'જનરલ', + items : + [ + { + name : 'એડિટર ટૂલબાર', + legend: + 'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.' // MISSING + }, + + { + name : 'એડિટર ડાયલોગ', + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'Editor Context Menu', // MISSING + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'Editor List Box', // MISSING + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'Editor Element Path Bar', // MISSING + legend : + 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING + } + ] + }, + { + name : 'કમાંડસ', + items : + [ + { + name : 'અન્ડું કમાંડ', + legend : '$ દબાવો {undo}' + }, + { + name : 'ફરી કરો કમાંડ', + legend : '$ દબાવો {redo}' + }, + { + name : 'બોલ્દનો કમાંડ', + legend : '$ દબાવો {bold}' + }, + { + name : ' Italic command', // MISSING + legend : 'Press ${italic}' // MISSING + }, + { + name : ' Underline command', // MISSING + legend : 'Press ${underline}' // MISSING + }, + { + name : ' Link command', // MISSING + legend : 'Press ${link}' // MISSING + }, + { + name : ' Toolbar Collapse command', // MISSING + legend : 'Press ${toolbarCollapse}' // MISSING + }, + { + name : ' Accessibility Help', // MISSING + legend : 'Press ${a11yHelp}' // MISSING + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/he.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/he.js index d708b86ec3..7161e4dc4d 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/he.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/he.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -18,158 +18,31 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'he', { name : 'סרגל הכלים', legend: - 'לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלים. ' + - 'עבור לכפתור הבא עם מקש הטאב (TAB) או חץ שמאלי. ' + - 'עבור לכפתור הקודם עם מקש השיפט (SHIFT) + טאב (TAB) או חץ ימני. ' + - 'לחץ רווח או אנטר (ENTER) כדי להפעיל את הכפתור הנבחר.' + 'לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלים. עבור לכפתור הבא עם מקש הטאב (TAB) או חץ שמאלי. עבור לכפתור הקודם עם מקש השיפט (SHIFT) + טאב (TAB) או חץ ימני. לחץ רווח או אנטר (ENTER) כדי להפעיל את הכפתור הנבחר.' }, { name : 'דיאלוגים (חלונות תשאול)', legend : - 'בתוך דיאלוג, לחץ טאב (TAB) כדי לנווט לשדה הבא, לחץ שיפט (SHIFT) + טאב (TAB) כדי לנווט לשדה הקודם, לחץ אנטר (ENTER) כדי לשלוח את הדיאלוג, לחץ אסקייפ (ESC) כדי לבטל. ' + - 'בתוך דיאלוגים בעלי מספר טאבים (לשוניות), לחץ אלט (ALT) + F10 כדי לנווט לשורת הטאבים. ' + - 'נווט לטאב הבא עם טאב (TAB) או חץ שמאלי. ' + - 'עבור לטאב הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. ' + - 'לחץ רווח או אנטר (ENTER) כדי להיכנס לטאב.' + 'בתוך דיאלוג, לחץ טאב (TAB) כדי לנווט לשדה הבא, לחץ שיפט (SHIFT) + טאב (TAB) כדי לנווט לשדה הקודם, לחץ אנטר (ENTER) כדי לשלוח את הדיאלוג, לחץ אסקייפ (ESC) כדי לבטל. בתוך דיאלוגים בעלי מספר טאבים (לשוניות), לחץ אלט (ALT) + F10 כדי לנווט לשורת הטאבים. נווט לטאב הבא עם טאב (TAB) או חץ שמאלי. עבור לטאב הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. לחץ רווח או אנטר (ENTER) כדי להיכנס לטאב.' }, { name : 'תפריט ההקשר (Context Menu)', legend : - 'לחץ ${contextMenu} או APPLICATION KEYכדי לפתוח את תפריט ההקשר. ' + - 'עבור לאפשרות הבאה עם טאב (TAB) או חץ למטה. ' + - 'עבור לאפשרות הקודמת עם שיפט (SHIFT) + טאב (TAB) או חץ למעלה. ' + - 'לחץ רווח או אנטר (ENTER) כדי לבחור את האפשרות. ' + - 'פתח את תת התפריט (Sub-menu) של האפשרות הנוכחית עם רווח או אנטר (ENTER) או חץ שמאלי. ' + - 'חזור לתפריט האב עם אסקייפ (ESC) או חץ שמאלי. ' + - 'סגור את תפריט ההקשר עם אסקייפ (ESC).' + 'לחץ ${contextMenu} או APPLICATION KEYכדי לפתוח את תפריט ההקשר. עבור לאפשרות הבאה עם טאב (TAB) או חץ למטה. עבור לאפשרות הקודמת עם שיפט (SHIFT) + טאב (TAB) או חץ למעלה. לחץ רווח או אנטר (ENTER) כדי לבחור את האפשרות. פתח את תת התפריט (Sub-menu) של האפשרות הנוכחית עם רווח או אנטר (ENTER) או חץ שמאלי. חזור לתפריט האב עם אסקייפ (ESC) או חץ שמאלי. סגור את תפריט ההקשר עם אסקייפ (ESC).' }, { name : 'תפריטים צפים (List boxes)', legend : - 'בתוך תפריט צף, עבור לפריט הבא עם טאב (TAB) או חץ למטה. ' + - 'עבור לתפריט הקודם עם שיפט (SHIFT) + טאב (TAB) or חץ עליון. ' + - 'Press SPACE or ENTER to select the list option. ' + - 'Press ESC to close the list-box.' + 'בתוך תפריט צף, עבור לפריט הבא עם טאב (TAB) או חץ למטה. עבור לתפריט הקודם עם שיפט (SHIFT) + טאב (TAB) or חץ עליון. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' }, { name : 'עץ אלמנטים (Elements Path)', legend : - 'לחץ ${elementsPathFocus} כדי לנווט לעץ האלמנטים. ' + - 'עבור לפריט הבא עם טאב (TAB) או חץ ימני. ' + - 'עבור לפריט הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. ' + - 'לחץ רווח או אנטר (ENTER) כדי לבחור את האלמנט בעורך.' - } - ] - }, - { - name : 'פקודות', - items : - [ - { - name : ' ביטול צעד אחרון', - legend : 'לחץ ${undo}' - }, - { - name : ' חזרה על צעד אחרון', - legend : 'לחץ ${redo}' - }, - { - name : ' הדגשה', - legend : 'לחץ ${bold}' - }, - { - name : ' הטייה', - legend : 'לחץ ${italic}' - }, - { - name : ' הוספת קו תחתון', - legend : 'לחץ ${underline}' - }, - { - name : ' הוספת לינק', - legend : 'לחץ ${link}' - }, - { - name : ' כיווץ סרגל הכלים', - legend : 'לחץ ${toolbarCollapse}' - }, - { - name : ' הוראות נגישות', - legend : 'לחץ ${a11yHelp}' - } - ] - } - ] - } -}); -/* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'a11yhelp', 'he', -{ - accessibilityHelp : - { - title : 'הוראות נגישות', - contents : 'הוראות נגישות. לסגירה לחץ אסקייפ (ESC).', - legend : - [ - { - name : 'כללי', - items : - [ - { - name : 'סרגל הכלים', - legend: - 'לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלים. ' + - 'עבור לכפתור הבא עם מקש הטאב (TAB) או חץ שמאלי. ' + - 'עבור לכפתור הקודם עם מקש השיפט (SHIFT) + טאב (TAB) או חץ ימני. ' + - 'לחץ רווח או אנטר (ENTER) כדי להפעיל את הכפתור הנבחר.' - }, - - { - name : 'דיאלוגים (חלונות תשאול)', - legend : - 'בתוך דיאלוג, לחץ טאב (TAB) כדי לנווט לשדה הבא, לחץ שיפט (SHIFT) + טאב (TAB) כדי לנווט לשדה הקודם, לחץ אנטר (ENTER) כדי לשלוח את הדיאלוג, לחץ אסקייפ (ESC) כדי לבטל. ' + - 'בתוך דיאלוגים בעלי מספר טאבים (לשוניות), לחץ אלט (ALT) + F10 כדי לנווט לשורת הטאבים. ' + - 'נווט לטאב הבא עם טאב (TAB) או חץ שמאלי. ' + - 'עבור לטאב הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. ' + - 'לחץ רווח או אנטר (ENTER) כדי להיכנס לטאב.' - }, - - { - name : 'תפריט ההקשר (Context Menu)', - legend : - 'לחץ ${contextMenu} או APPLICATION KEYכדי לפתוח את תפריט ההקשר. ' + - 'עבור לאפשרות הבאה עם טאב (TAB) או חץ למטה. ' + - 'עבור לאפשרות הקודמת עם שיפט (SHIFT) + טאב (TAB) או חץ למעלה. ' + - 'לחץ רווח או אנטר (ENTER) כדי לבחור את האפשרות. ' + - 'פתח את תת התפריט (Sub-menu) של האפשרות הנוכחית עם רווח או אנטר (ENTER) או חץ שמאלי. ' + - 'חזור לתפריט האב עם אסקייפ (ESC) או חץ שמאלי. ' + - 'סגור את תפריט ההקשר עם אסקייפ (ESC).' - }, - - { - name : 'תפריטים צפים (List boxes)', - legend : - 'בתוך תפריט צף, עבור לפריט הבא עם טאב (TAB) או חץ למטה. ' + - 'עבור לתפריט הקודם עם שיפט (SHIFT) + טאב (TAB) or חץ עליון. ' + - 'Press SPACE or ENTER to select the list option. ' + - 'Press ESC to close the list-box.' - }, - - { - name : 'עץ אלמנטים (Elements Path)', - legend : - 'לחץ ${elementsPathFocus} כדי לנווט לעץ האלמנטים. ' + - 'עבור לפריט הבא עם טאב (TAB) או חץ ימני. ' + - 'עבור לפריט הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. ' + - 'לחץ רווח או אנטר (ENTER) כדי לבחור את האלמנט בעורך.' + 'לחץ ${elementsPathFocus} כדי לנווט לעץ האלמנטים. עבור לפריט הבא עם טאב (TAB) או חץ ימני. עבור לפריט הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. לחץ רווח או אנטר (ENTER) כדי לבחור את האלמנט בעורך.' } ] }, diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/it.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/it.js new file mode 100644 index 0000000000..3a9aa9cad2 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/it.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'it', +{ + accessibilityHelp : + { + title : 'Istruzioni di Accessibilità', + contents : 'Contenuti di Aiuto. Per chiudere questa finestra premi ESC.', + legend : + [ + { + name : 'Generale', + items : + [ + { + name : 'Barra degli strumenti Editor', + legend: + 'Premi ${toolbarFocus} per navigare fino alla barra degli strumenti. Muoviti tra i gruppi della barra degli strumenti con i tasti Tab e Maiusc-Tab. Spostati tra il successivo ed il precedente pulsante della barra degli strumenti usando le frecce direzionali Destra e Sinistra. Premi Spazio o Invio per attivare il pulsante della barra degli strumenti.' + }, + + { + name : 'Finestra Editor', + legend : + 'All\'interno di una finestra di dialogo, premi Tab per navigare fino al campo successivo della finestra di dialogo, premi Maiusc-Tab per tornare al campo precedente, premi Invio per inviare la finestra di dialogo, premi Esc per uscire. Per le finestre che hanno schede multiple, premi Alt+F10 per navigare nella lista delle schede. Quindi spostati alla scheda successiva con il tasto Tab oppure con la Freccia Destra. Torna alla scheda precedente con Maiusc+Tab oppure con la Freccia Sinistra. Premi Spazio o Invio per scegliere la scheda.' + }, + + { + name : 'Menù contestuale Editor', + legend : + 'Premi ${contextMenu} o TASTO APPLICAZIONE per aprire il menu contestuale. Dunque muoviti all\'opzione successiva del menu con il tasto TAB o con la Freccia Sotto. Muoviti all\'opzione precedente con MAIUSC+TAB o con Freccia Sopra. Premi SPAZIO o INVIO per scegliere l\'opzione di menu. Apri il sottomenu dell\'opzione corrente con SPAZIO o INVIO oppure con la Freccia Destra. Torna indietro al menu superiore con ESC oppure Freccia Sinistra. Chiudi il menu contestuale con ESC.' + }, + + { + name : 'Box Lista Editor', + legend : + 'Dentro un box-lista, muoviti al prossimo elemento della lista con TAB o con la Freccia direzionale giù. Spostati all\'elemento precedente con MAIUSC+TAB oppure con Freccia direzionale sopra. Premi SPAZIO o INVIO per scegliere l\'opzione della lista. Premi ESC per chiudere il box-lista.' + }, + + { + name : 'Barra percorso elementi editor', + legend : + 'Premi ${elementsPathFocus} per navigare tra gli elementi della barra percorso. Muoviti al prossimo pulsante di elemento con TAB o la Freccia direzionale destra. Muoviti al pulsante precedente con MAIUSC+TAB o la Freccia Direzionale Sinistra. Premi SPAZIO o INVIO per scegliere l\'elemento nell\'editor.' + } + ] + }, + { + name : 'Comandi', + items : + [ + { + name : ' Annulla comando', + legend : 'Premi ${undo}' + }, + { + name : ' Ripeti comando', + legend : 'Premi ${redo}' + }, + { + name : ' Comando Grassetto', + legend : 'Premi ${bold}' + }, + { + name : ' Comando Corsivo', + legend : 'Premi ${italic}' + }, + { + name : ' Comando Sottolineato', + legend : 'Premi ${underline}' + }, + { + name : ' Comando Link', + legend : 'Premi ${link}' + }, + { + name : ' Comando riduci barra degli strumenti', + legend : 'Premi ${toolbarCollapse}' + }, + { + name : ' Aiuto Accessibilità', + legend : 'Premi ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/mk.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/mk.js new file mode 100644 index 0000000000..64db09cb89 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/mk.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'mk', +{ + accessibilityHelp : + { + title : 'Инструкции за пристапност', + contents : 'Содржина на делот за помош. За да го затворите овој дијалот притиснете ESC.', + legend : + [ + { + name : 'Општо', + items : + [ + { + name : 'Мени за едиторот', + legend: + 'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.' // MISSING + }, + + { + name : 'Дијалот за едиторот', + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'Editor Context Menu', // MISSING + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'Editor List Box', // MISSING + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'Editor Element Path Bar', // MISSING + legend : + 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING + } + ] + }, + { + name : 'Commands', // MISSING + items : + [ + { + name : ' Undo command', // MISSING + legend : 'Press ${undo}' // MISSING + }, + { + name : ' Redo command', // MISSING + legend : 'Press ${redo}' // MISSING + }, + { + name : ' Bold command', // MISSING + legend : 'Press ${bold}' // MISSING + }, + { + name : ' Italic command', // MISSING + legend : 'Press ${italic}' // MISSING + }, + { + name : ' Underline command', // MISSING + legend : 'Press ${underline}' // MISSING + }, + { + name : ' Link command', // MISSING + legend : 'Press ${link}' // MISSING + }, + { + name : ' Toolbar Collapse command', // MISSING + legend : 'Press ${toolbarCollapse}' // MISSING + }, + { + name : ' Accessibility Help', // MISSING + legend : 'Press ${a11yHelp}' // MISSING + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/nb.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/nb.js new file mode 100644 index 0000000000..8cc0a2e51d --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/nb.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'nb', +{ + accessibilityHelp : + { + title : 'Instruksjoner for tilgjengelighet', + contents : 'Innhold for hjelp. Trykk ESC for å lukke denne dialogen.', + legend : + [ + { + name : 'Generelt', + items : + [ + { + name : 'Verktøylinje for editor', + legend: + 'Trykk ${toolbarFocus} for å navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT-TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å aktivere verktøylinjeknappen.' + }, + + { + name : 'Dialog for editor', + legend : + 'Mens du er i en dialog, trykk TAB for å navigere til neste dialogfelt, press SHIFT + TAB for å flytte til forrige felt, trykk ENTER for å akseptere dialogen, trykk ESC for å avbryte dialogen. For dialoger med flere faner, trykk ALT + F10 for å navigere til listen over faner. Gå til neste fane med TAB eller HØYRE PILTAST. Gå til forrige fane med SHIFT + TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge fanen.' + }, + + { + name : 'Kontekstmeny for editor', + legend : + 'Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC.' + }, + + { + name : 'Listeboks for editor', + legend : + 'I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT + TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen.' + }, + + { + name : 'Verktøylinje for elementsti', + legend : + 'Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren.' + } + ] + }, + { + name : 'Kommandoer', + items : + [ + { + name : 'Angre', + legend : 'Trykk ${undo}' + }, + { + name : 'Gjør om', + legend : 'Trykk ${redo}' + }, + { + name : 'Fet tekst', + legend : 'Trykk ${bold}' + }, + { + name : 'Kursiv tekst', + legend : 'Trykk ${italic}' + }, + { + name : 'Understreking', + legend : 'Trykk ${underline}' + }, + { + name : 'Link', + legend : 'Trykk ${link}' + }, + { + name : 'Skjul verktøylinje', + legend : 'Trykk ${toolbarCollapse}' + }, + { + name : 'Hjelp for tilgjengelighet', + legend : 'Trykk ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/nl.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/nl.js new file mode 100644 index 0000000000..2414e45514 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/nl.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'nl', +{ + accessibilityHelp : + { + title : 'Toegankelijkheidsinstructies', + contents : 'Help inhoud. Druk op ESC om dit dialoog te sluiten.', + legend : + [ + { + name : 'Algemeen', + items : + [ + { + name : 'Werkbalk tekstverwerker', + legend: + 'Druk op ${toolbarFocus} om naar de werkbalk te navigeren. Om te schakelen naar de volgende en vorige werkbalkgroep, gebruik TAB en SHIFT+TAB. Om te schakelen naar de volgende en vorige werkbalkknop, gebruik de PIJL RECHTS en PIJL LINKS. Druk op SPATIE of ENTER om een werkbalkknop te activeren.' + }, + + { + name : 'Dialoog tekstverwerker', + legend : + 'In een dialoogvenster, druk op TAB om te navigeren naar het volgende veld. Druk op SHIFT+TAB om naar het vorige veld te navigeren. Druk op ENTER om het dialoogvenster te verzenden. Druk op ESC om het dialoogvenster te sluiten. Voor dialoogvensters met meerdere tabbladen, druk op ALT+F10 om naar de tabset te navigeren. Schakel naar het volgende tabblad met TAB of PIJL RECHTS. Schakel naar het vorige tabblad met SHIFT+TAB of PIJL LINKS. Druk op SPATIE of ENTER om het tabblad te selecteren.' + }, + + { + name : 'Contextmenu tekstverwerker', + legend : + 'Druk op ${contextMenu} of APPLICATION KEY om het contextmenu te openen. Schakel naar de volgende menuoptie met TAB of PIJL OMLAAG. Schakel naar de vorige menuoptie met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om een menuoptie te selecteren. Op een submenu van de huidige optie met SPATIE, ENTER of PIJL RECHTS. Ga terug naar de bovenliggende menuoptie met ESC of PIJL LINKS. Sluit het contextmenu met ESC.' + }, + + { + name : 'Keuzelijst tekstverwerker', + legend : + 'In een keuzelijst, schakel naar het volgende item met TAB of PIJL OMLAAG. Schakel naar het vorige item met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om het item te selecteren. Druk op ESC om de keuzelijst te sluiten.' + }, + + { + name : 'Elementenpad werkbalk tekstverwerker', + legend : + 'Druk op ${elementsPathFocus} om naar het elementenpad te navigeren. Om te schakelen naar het volgende element, gebruik TAB of PIJL RECHTS. Om te schakelen naar het vorige element, gebruik SHIFT+TAB or PIJL LINKS. Druk op SPATIE of ENTER om een element te selecteren in de tekstverwerker.' + } + ] + }, + { + name : 'Opdrachten', + items : + [ + { + name : 'Ongedaan maken opdracht', + legend : 'Druk op ${undo}' + }, + { + name : 'Opnieuw uitvoeren opdracht', + legend : 'Druk op ${redo}' + }, + { + name : 'Vetgedrukt opdracht', + legend : 'Druk up ${bold}' + }, + { + name : 'Cursief opdracht', + legend : 'Druk op ${italic}' + }, + { + name : 'Onderstrepen opdracht', + legend : 'Druk op ${underline}' + }, + { + name : 'Link opdracht', + legend : 'Druk op ${link}' + }, + { + name : 'Werkbalk inklappen opdracht', + legend : 'Druk op ${toolbarCollapse}' + }, + { + name : 'Toegankelijkheidshulp', + legend : 'Druk op ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/no.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/no.js new file mode 100644 index 0000000000..78cb11c365 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/no.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'no', +{ + accessibilityHelp : + { + title : 'Instruksjoner for tilgjengelighet', + contents : 'Innhold for hjelp. Trykk ESC for å lukke denne dialogen.', + legend : + [ + { + name : 'Generelt', + items : + [ + { + name : 'Verktøylinje for editor', + legend: + 'Trykk ${toolbarFocus} for å navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT-TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å aktivere verktøylinjeknappen.' + }, + + { + name : 'Dialog for editor', + legend : + 'Mens du er i en dialog, trykk TAB for å navigere til neste dialogfelt, press SHIFT + TAB for å flytte til forrige felt, trykk ENTER for å akseptere dialogen, trykk ESC for å avbryte dialogen. For dialoger med flere faner, trykk ALT + F10 for å navigere til listen over faner. Gå til neste fane med TAB eller HØYRE PILTAST. Gå til forrige fane med SHIFT + TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge fanen.' + }, + + { + name : 'Kontekstmeny for editor', + legend : + 'Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC.' + }, + + { + name : 'Listeboks for editor', + legend : + 'I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT + TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen.' + }, + + { + name : 'Verktøylinje for elementsti', + legend : + 'Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren.' + } + ] + }, + { + name : 'Kommandoer', + items : + [ + { + name : 'Angre', + legend : 'Trykk ${undo}' + }, + { + name : 'Gjør om', + legend : 'Trykk ${redo}' + }, + { + name : 'Fet tekst', + legend : 'Trykk ${bold}' + }, + { + name : 'Kursiv tekst', + legend : 'Trykk ${italic}' + }, + { + name : 'Understreking', + legend : 'Trykk ${underline}' + }, + { + name : 'Link', + legend : 'Trykk ${link}' + }, + { + name : 'Skjul verktøylinje', + legend : 'Trykk ${toolbarCollapse}' + }, + { + name : 'Hjelp for tilgjengelighet', + legend : 'Trykk ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/pt-br.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/pt-br.js new file mode 100644 index 0000000000..a79d717d08 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/pt-br.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'pt-br', +{ + accessibilityHelp : + { + title : 'Instruções de Acessibilidade', + contents : 'Conteúdo da Ajuda. Para fechar este diálogo pressione ESC.', + legend : + [ + { + name : 'Geral', + items : + [ + { + name : 'Barra de Ferramentas do Editor', + legend: + 'Pressione ${toolbarFocus} para navegar para a barra de ferramentas. Mova para o anterior ou próximo grupo de ferramentas com TAB e SHIFT-TAB. Mova para o anterior ou próximo botão com SETA PARA DIREITA or SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para ativar o botão da barra de ferramentas.' + }, + + { + name : 'Diálogo do Editor', + legend : + 'Dentro de um diálogo, pressione TAB para navegar para o próximo campo, pressione SHIFT + TAB para mover para o campo anterior, pressione ENTER para enviar o diálogo, pressione ESC para cancelar o diálogo. Para diálogos que tem múltiplas abas, pressione ALT + F10 para navegar para a lista de abas, então mova para a próxima aba com SHIFT + TAB ou SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar a aba.' + }, + + { + name : 'Menu de Contexto do Editor', + legend : + 'Pressione ${contextMenu} ou TECLA DE MENU para abrir o menu de contexto, então mova para a próxima opção com TAB ou SETA PARA BAIXO. Mova para a anterior com SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu. Abra o submenu da opção atual com ESPAÇO ou ENTER ou SETA PARA DIREITA. Volte para o menu pai com ESC ou SETA PARA ESQUERDA. Feche o menu de contexto com ESC.' + }, + + { + name : 'Caixa de Lista do Editor', + legend : + 'Dentro de uma caixa de lista, mova para o próximo item com TAB ou SETA PARA BAIXO. Mova para o item anterior com SHIFT + TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar uma opção na lista. Pressione ESC para fechar a caixa de lista.' + }, + + { + name : 'Barra de Caminho do Elementos do Editor', + legend : + 'Pressione ${elementsPathFocus} para a barra de caminho dos elementos. Mova para o próximo botão de elemento com TAB ou SETA PARA DIREITA. Mova para o botão anterior com SHIFT+TAB ou SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar o elemento no editor.' + } + ] + }, + { + name : 'Comandos', + items : + [ + { + name : ' Comando Desfazer', + legend : 'Pressione ${undo}' + }, + { + name : ' Comando Refazer', + legend : 'Pressione ${redo}' + }, + { + name : ' Comando Negrito', + legend : 'Pressione ${bold}' + }, + { + name : ' Comando Itálico', + legend : 'Pressione ${italic}' + }, + { + name : ' Comando Sublinhado', + legend : 'Pressione ${underline}' + }, + { + name : ' Comando Link', + legend : 'Pressione ${link}' + }, + { + name : ' Comando Fechar Barra de Ferramentas', + legend : 'Pressione ${toolbarCollapse}' + }, + { + name : ' Ajuda de Acessibilidade', + legend : 'Pressione ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/ro.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/ro.js new file mode 100644 index 0000000000..152d70adfd --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/ro.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'ro', +{ + accessibilityHelp : + { + title : 'Instrucțiuni de accesibilitate', + contents : 'Cuprins. Pentru a închide acest dialog, apăsați tasta ESC.', + legend : + [ + { + name : 'General', + items : + [ + { + name : 'Editează bara.', + legend: + 'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.' // MISSING + }, + + { + name : 'Dialog editor', + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'Editor meniu contextual', + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'Editor List Box', // MISSING + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'Editor Element Path Bar', // MISSING + legend : + 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING + } + ] + }, + { + name : 'Commands', // MISSING + items : + [ + { + name : ' Undo command', // MISSING + legend : 'Press ${undo}' // MISSING + }, + { + name : ' Redo command', // MISSING + legend : 'Press ${redo}' // MISSING + }, + { + name : ' Bold command', // MISSING + legend : 'Press ${bold}' // MISSING + }, + { + name : ' Italic command', // MISSING + legend : 'Press ${italic}' // MISSING + }, + { + name : ' Underline command', // MISSING + legend : 'Press ${underline}' // MISSING + }, + { + name : ' Link command', // MISSING + legend : 'Press ${link}' // MISSING + }, + { + name : ' Toolbar Collapse command', // MISSING + legend : 'Press ${toolbarCollapse}' // MISSING + }, + { + name : ' Accessibility Help', // MISSING + legend : 'Press ${a11yHelp}' // MISSING + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/tr.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/tr.js new file mode 100644 index 0000000000..84dbd7c2fa --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/tr.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'tr', +{ + accessibilityHelp : + { + title : 'Erişilebilirlik Talimatları', + contents : 'Yardım içeriği. Bu pencereyi kapatmak için ESC tuşuna basın.', + legend : + [ + { + name : 'Genel', + items : + [ + { + name : 'Araç Çubuğu Editörü', + legend: + 'Araç çubuğunda gezinmek için ${toolbarFocus} basın. TAB ve SHIFT-TAB ile önceki ve sonraki araç çubuğu grubuna taşıyın. SAĞ OK veya SOL OK ile önceki ve sonraki bir araç çubuğu düğmesini hareket ettirin. SPACE tuşuna basın veya araç çubuğu düğmesini etkinleştirmek için ENTER tuşna basın.' + }, + + { + name : 'Dialog Editörü', + legend : + 'Dialog penceresi içinde, sonraki iletişim alanına gitmek için SEKME tuşuna basın, önceki alana geçmek için SHIFT + TAB tuşuna basın, pencereyi göndermek için ENTER tuşuna basın, dialog penceresini iptal etmek için ESC tuşuna basın. Birden çok sekme sayfaları olan diyalogların, sekme listesine gitmek için ALT + F10 tuşlarına basın. Sonra TAB veya SAĞ OK sonraki sekmeye taşıyın. SHIFT + TAB veya SOL OK ile önceki sekmeye geçin. Sekme sayfayı seçmek için SPACE veya ENTER tuşuna basın.' + }, + + { + name : 'İçerik Menü Editörü', + legend : + 'İçerik menüsünü açmak için ${contextMenu} veya UYGULAMA TUŞU\'na basın. Daha sonra SEKME veya AŞAĞI OK ile bir sonraki menü seçeneği taşıyın. SHIFT + TAB veya YUKARI OK ile önceki seçeneğe gider. Menü seçeneğini seçmek için SPACE veya ENTER tuşuna basın. Seçili seçeneğin alt menüsünü SPACE ya da ENTER veya SAĞ OK açın. Üst menü öğesini geçmek için ESC veya SOL OK ile geri dönün. ESC ile bağlam menüsünü kapatın.' + }, + + { + name : 'Liste Kutusu Editörü', + legend : + 'Liste kutusu içinde, bir sonraki liste öğesine SEKME VEYA AŞAĞI OK ile taşıyın. SHIFT + TAB veya YUKARI önceki liste öğesi taşıyın. Liste seçeneği seçmek için SPACE veya ENTER tuşuna basın. Liste kutusunu kapatmak için ESC tuşuna basın.' + }, + + { + name : 'Element Yol Çubuğu Editörü', + legend : + 'Elementlerin yol çubuğunda gezinmek için ${ElementsPathFocus} basın. SEKME veya SAĞ OK ile sonraki element düğmesine taşıyın. SHIFT + TAB veya SOL OK önceki düğmeye hareket ettirin. Editör içindeki elementi seçmek için ENTER veya SPACE tuşuna basın.' + } + ] + }, + { + name : 'Komutlar', + items : + [ + { + name : 'Komutu geri al', + legend : '${undo} basın' + }, + { + name : ' Tekrar komutu uygula', + legend : '${redo} basın' + }, + { + name : ' Kalın komut', + legend : '${bold} basın' + }, + { + name : ' İtalik komutu', + legend : '${italic} basın' + }, + { + name : ' Alttan çizgi komutu', + legend : '${underline} basın' + }, + { + name : ' Bağlantı komutu', + legend : '${link} basın' + }, + { + name : ' Araç çubuğu Toplama komutu', + legend : '${toolbarCollapse} basın' + }, + { + name : 'Erişilebilirlik Yardımı', + legend : '${a11yHelp} basın' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/ug.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/ug.js new file mode 100644 index 0000000000..a7f6377dc8 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/ug.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'ug', +{ + accessibilityHelp : + { + title : 'قوشۇمچە چۈشەندۈرۈش', + contents : 'ياردەم مەزمۇنى. بۇ سۆزلەشكۈنى ياپماقچى بولسىڭىز ESC نى بېسىڭ.', + legend : + [ + { + name : 'ئادەتتىكى', + items : + [ + { + name : 'قورال بالداق تەھرىر', + legend: + '${toolbarFocus} بېسىلسا قورال بالداققا يېتەكلەيدۇ، TAB ياكى SHIFT+TAB ئارقىلىق قورال بالداق گۇرۇپپىسى تاللىنىدۇ، ئوڭ سول يا ئوقتا توپچا تاللىنىدۇ، بوشلۇق ياكى Enter كۇنۇپكىسىدا تاللانغان توپچىنى قوللىنىدۇ.' + }, + + { + name : 'تەھرىرلىگۈچ سۆزلەشكۈسى', + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'تەھرىرلىگۈچ تىل مۇھىت تىزىملىكى', + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'تەھرىرلىگۈچ تىزىمى', + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'تەھرىرلىگۈچ ئېلېمېنت يول بالداق', + legend : + '${elementsPathFocus} بېسىلسا ئېلېمېنت يول بالداققا يېتەكلەيدۇ، TAB ياكى ئوڭ يا ئوقتا كېيىنكى ئېلېمېنت تاللىنىدۇ، SHIFT+TAB ياكى سول يا ئوقتا ئالدىنقى ئېلېمېنت تاللىنىدۇ، بوشلۇق ياكى Enter كۇنۇپكىسىدا تەھرىرلىگۈچتىكى ئېلېمېنت تاللىنىدۇ.' + } + ] + }, + { + name : 'بۇيرۇق', + items : + [ + { + name : 'بۇيرۇقتىن يېنىۋال', + legend : '${undo} نى بېسىڭ' + }, + { + name : 'قايتىلاش بۇيرۇقى', + legend : '${redo} نى بېسىڭ' + }, + { + name : 'توملىتىش بۇيرۇقى', + legend : '${bold} نى بېسىڭ' + }, + { + name : 'يانتۇ بۇيرۇقى', + legend : '${italic} نى بېسىڭ' + }, + { + name : 'ئاستى سىزىق بۇيرۇقى', + legend : '${underline} نى بېسىڭ' + }, + { + name : 'ئۇلانما بۇيرۇقى', + legend : '${link} نى بېسىڭ' + }, + { + name : 'قورال بالداق قاتلاش بۇيرۇقى', + legend : '${toolbarCollapse} نى بېسىڭ' + }, + { + name : 'توسالغۇسىز لايىھە چۈشەندۈرۈشى', + legend : '${a11yHelp} نى بېسىڭ' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/vi.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/vi.js new file mode 100644 index 0000000000..394531ba22 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/vi.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'vi', +{ + accessibilityHelp : + { + title : 'Accessibility Instructions', // MISSING + contents : 'Nội dung Hỗ trợ. Nhấn ESC để đóng hộp thoại.', + legend : + [ + { + name : 'Chung', + items : + [ + { + name : 'Thanh công cụ soạn th', + legend: + 'Nhấn ${toolbarFocus} để điều hướng đến thanh công cụ. Nhấn TAB và SHIFT-TAB để chuyển đến nhóm thanh công cụ khác. Nhấn MŨI TÊN PHẢI hoặc MŨI TÊN TRÁI để chuyển sang nút khác trên thanh công cụ. Nhấn PHÍM CÁCH hoặc ENTER để kích hoạt nút trên thanh công c.' + }, + + { + name : 'Hộp thoại Biên t', + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'Trình đơn Ngữ cảnh cBộ soạn thảo', + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'Editor List Box', // MISSING + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'Editor Element Path Bar', // MISSING + legend : + 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING + } + ] + }, + { + name : 'Commands', // MISSING + items : + [ + { + name : ' Undo command', // MISSING + legend : 'Press ${undo}' // MISSING + }, + { + name : ' Redo command', // MISSING + legend : 'Press ${redo}' // MISSING + }, + { + name : ' Bold command', // MISSING + legend : 'Press ${bold}' // MISSING + }, + { + name : ' Italic command', // MISSING + legend : 'Press ${italic}' // MISSING + }, + { + name : ' Underline command', // MISSING + legend : 'Press ${underline}' // MISSING + }, + { + name : ' Link command', // MISSING + legend : 'Press ${link}' // MISSING + }, + { + name : ' Toolbar Collapse command', // MISSING + legend : 'Press ${toolbarCollapse}' // MISSING + }, + { + name : ' Accessibility Help', // MISSING + legend : 'Press ${a11yHelp}' // MISSING + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/zh-cn.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/zh-cn.js new file mode 100644 index 0000000000..2561ce2249 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/zh-cn.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'zh-cn', +{ + accessibilityHelp : + { + title : '辅助说明', + contents : '帮助内容。要关闭此对话框请按 ESC 键。', + legend : + [ + { + name : '常规', + items : + [ + { + name : '编辑器工具栏', + legend: + '按 ${toolbarFocus} 以导航到工具栏,使用 TAB 键或 SHIFT+TAB 组合键以选择工具栏组,使用左右箭头键以选择按钮,按空格键或回车键以应用选中的按钮。' + }, + + { + name : '编辑器对话框', + legend : + '在对话框内,TAB键移动到下一个字段,SHIFT + TAB 移动到上一个字段,ENTER键提交对话框,ESC键取消对话框。对于有多标签的对话框,用ALT + F10来移到标签列表。然后用TAB键或者向右箭头来移动到下一个标签;SHIFT + TAB或者向左箭头移动到上一个标签。用SPACE或者ENTER选择标签。' + }, + + { + name : '编辑器上下文菜单', + legend : + '用 ${contextMenu}或者 应用程序键 打开上下文菜单。然后用TAB键或者向下箭头来移动到下一个菜单项;SHIFT + TAB或者向上箭头移动到上一个菜单项。用SPACE或者ENTER选择菜单项。用SPACE,ENTER或者向右箭头打开子菜单。返回菜单用ESC键或者向左箭头。用ESC关闭上下文菜单。' + }, + + { + name : '编辑器列表框', + legend : + '在列表框中,移到下一列表项用TAB键或者向下箭头。移到上一列表项用SHIFT + TAB或者向上箭头,用SPACE或者ENTER选择列表项。用ESC收起列表框。' + }, + + { + name : '编辑器元素路径栏', + legend : + '按 ${elementsPathFocus} 以导航到元素路径栏,使用 TAB 键或右箭头键选择下一个元素,使用 SHIFT+TAB 组合键或左箭头键选择上一个元素,按空格键或回车键以选定编辑器里的元素。' + } + ] + }, + { + name : '命令', + items : + [ + { + name : ' 撤消命令', + legend : '按 ${undo}' + }, + { + name : ' 重做命令', + legend : '按 ${redo}' + }, + { + name : ' 加粗命令', + legend : '按 ${bold}' + }, + { + name : ' 倾斜命令', + legend : '按 ${italic}' + }, + { + name : ' 下划线命令', + legend : '按 ${underline}' + }, + { + name : ' 链接命令', + legend : '按 ${link}' + }, + { + name : ' 工具栏折叠命令', + legend : '按 ${toolbarCollapse}' + }, + { + name : ' 无障碍设计说明', + legend : '按 ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/plugin.js index 80e556c082..be3377d0f1 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -15,8 +15,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.plugins.add( pluginName, { + requires: [ 'dialog' ], + // List of available localizations. - availableLangs : { en:1, he:1 }, + availableLangs : { cs:1, cy:1, da:1, de:1, el:1, en:1, eo:1, fa:1, fi:1, fr:1, gu:1, he:1, it:1, mk:1, nb:1, nl:1, no:1, 'pt-br':1, ro:1, tr:1, ug:1, vi:1, 'zh-cn':1 }, init : function( editor ) { diff --git a/phpgwapi/js/ckeditor3/_source/plugins/about/dialogs/about.js b/phpgwapi/js/ckeditor3/_source/plugins/about/dialogs/about.js index 1bb2e5df2d..53b4b0ac52 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/about/dialogs/about.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/about/dialogs/about.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/about/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/about/plugin.js index 29451c6d5a..40eae7eeb1 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/about/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/about/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/adobeair/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/adobeair/plugin.js index 8cd799be0c..065cde074a 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/adobeair/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/adobeair/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/ajax/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/ajax/plugin.js index a4b713a378..1c032a9336 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/ajax/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/ajax/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/autogrow/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/autogrow/plugin.js index c8c668eb83..fdbb578678 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/autogrow/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/autogrow/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -67,7 +67,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { editor.addCommand( 'autogrow', { exec : resizeEditor, modes : { wysiwyg:1 }, readOnly: 1, canUndo: false, editorFocus: false } ); - var eventsList = { contentDom:1, key:1, selectionChange:1, insertElement:1 }; + var eventsList = { contentDom:1, key:1, selectionChange:1, insertElement:1, mode:1 }; editor.config.autoGrow_onStartup && ( eventsList[ 'instanceReady' ] = 1 ); for ( var eventName in eventsList ) { diff --git a/phpgwapi/js/ckeditor3/_source/plugins/basicstyles/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/basicstyles/plugin.js index 6ad08b00af..b3f64fbbe7 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/basicstyles/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/basicstyles/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/bbcode/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/bbcode/plugin.js index 9ea723213e..fa8bc1a9ff 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/bbcode/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/bbcode/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/bidi/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/bidi/plugin.js index 2233ee1881..72f1041b6f 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/bidi/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/bidi/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/blockquote/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/blockquote/plugin.js index dc4eb8c68e..f17aec268e 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/blockquote/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/blockquote/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/button/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/button/plugin.js index 765522944b..af95b697d4 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/button/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/button/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/clipboard/dialogs/paste.js b/phpgwapi/js/ckeditor3/_source/plugins/clipboard/dialogs/paste.js index 9a659edac2..cec04d3879 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/clipboard/dialogs/paste.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/clipboard/dialogs/paste.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -45,7 +45,7 @@ CKEDITOR.dialog.add( 'paste', function( editor ) case 9 : case CKEDITOR.SHIFT + 9 : - this.changeFocus( true ); + this.changeFocus( 1 ); processed = 1; } diff --git a/phpgwapi/js/ckeditor3/_source/plugins/clipboard/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/clipboard/plugin.js index 3c53ab1007..6c21f5512a 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/clipboard/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/clipboard/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -16,10 +16,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var doc = editor.document, body = doc.getBody(); - var enabled = 0; + var enabled = false; var onExec = function() { - enabled = 1; + enabled = true; }; // The following seems to be the only reliable way to detect that @@ -135,12 +135,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var body = this.document.getBody(); - // Simulate 'beforepaste' event for all none-IEs. - if ( !CKEDITOR.env.ie && body.fire( 'beforepaste' ) ) - event.cancel(); - // Simulate 'paste' event for Opera/Firefox2. - else if ( CKEDITOR.env.opera - || CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 ) + // 1. Opera just misses the "paste" event. + // 2. Firefox's "paste" event comes too late to have the plain + // text paste bin to work. + if ( CKEDITOR.env.opera || CKEDITOR.env.gecko ) body.fire( 'paste' ); return; @@ -226,10 +224,24 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Wait a while and grab the pasted contents window.setTimeout( function() { - mode == 'text' && CKEDITOR.env.gecko && editor.focusGrabber.focus(); - pastebin.remove(); + // Restore properly the document focus. (#5684, #8849) + editor.document.getBody().focus(); + editor.removeListener( 'selectionChange', cancel ); + // IE7: selection must go before removing paste bin. (#8691) + if ( CKEDITOR.env.ie7Compat ) + { + sel.selectBookmarks( bms ); + pastebin.remove(); + } + // Webkit: selection must go after removing paste bin. (#8921) + else + { + pastebin.remove(); + sel.selectBookmarks( bms ); + } + // Grab the HTML contents. // We need to look for a apple style wrapper on webkit it also adds // a div wrapper if you copy/paste the body of the editor. @@ -240,7 +252,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license && ( bogusSpan.is && bogusSpan.hasClass( 'Apple-style-span' ) ) ? bogusSpan : pastebin ); - sel.selectBookmarks( bms ); callback( pastebin[ 'get' + ( mode == 'text' ? 'Value' : 'Html' ) ]() ); }, 0 ); } @@ -275,31 +286,50 @@ For licensing, see LICENSE.html or http://ckeditor.com/license } } - var depressBeforeEvent; + var depressBeforeEvent, + inReadOnly; function stateFromNamedCommand( command, editor ) { - // IE Bug: queryCommandEnabled('paste') fires also 'beforepaste(copy/cut)', - // guard to distinguish from the ordinary sources( either - // keyboard paste or execCommand ) (#4874). - CKEDITOR.env.ie && ( depressBeforeEvent = 1 ); + var retval; - var retval = CKEDITOR.TRISTATE_OFF; - try { retval = editor.document.$.queryCommandEnabled( command ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED; }catch( er ){} + if ( inReadOnly && command in { Paste : 1, Cut : 1 } ) + return CKEDITOR.TRISTATE_DISABLED; - depressBeforeEvent = 0; - return retval; + if ( command == 'Paste' ) + { + // IE Bug: queryCommandEnabled('paste') fires also 'beforepaste(copy/cut)', + // guard to distinguish from the ordinary sources (either + // keyboard paste or execCommand) (#4874). + CKEDITOR.env.ie && ( depressBeforeEvent = 1 ); + try + { + // Always return true for Webkit (which always returns false). + retval = editor.document.$.queryCommandEnabled( command ) || CKEDITOR.env.webkit; + } + catch( er ) {} + depressBeforeEvent = 0; + } + // Cut, Copy - check if the selection is not empty + else + { + var sel = editor.getSelection(), + ranges = sel && sel.getRanges(); + retval = sel && !( ranges.length == 1 && ranges[ 0 ].collapsed ); + } + + return retval ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED; } - var inReadOnly; function setToolbarStates() { if ( this.mode != 'wysiwyg' ) return; - this.getCommand( 'cut' ).setState( inReadOnly ? CKEDITOR.TRISTATE_DISABLED : stateFromNamedCommand( 'Cut', this ) ); + var pasteState = stateFromNamedCommand( 'Paste', this ); + + this.getCommand( 'cut' ).setState( stateFromNamedCommand( 'Cut', this ) ); this.getCommand( 'copy' ).setState( stateFromNamedCommand( 'Copy', this ) ); - var pasteState = inReadOnly ? CKEDITOR.TRISTATE_DISABLED : - CKEDITOR.env.webkit ? CKEDITOR.TRISTATE_OFF : stateFromNamedCommand( 'Paste', this ); + this.getCommand( 'paste' ).setState( pasteState ); this.fire( 'pasteState', pasteState ); } @@ -375,11 +405,18 @@ For licensing, see LICENSE.html or http://ckeditor.com/license editor.on( 'contentDom', function() { var body = editor.document.getBody(); - body.on( CKEDITOR.env.webkit ? 'paste' : 'beforepaste', function( evt ) + + // Intercept the paste before it actually takes place. + body.on( !CKEDITOR.env.ie ? 'paste' : 'beforepaste', function( evt ) { if ( depressBeforeEvent ) return; + // Dismiss the (wrong) 'beforepaste' event fired on toolbar menu open. + var domEvent = evt.data && evt.data.$; + if ( CKEDITOR.env.ie && domEvent && !domEvent.ctrlKey ) + return; + // Fire 'beforePaste' event so clipboard flavor get customized // by other plugins. var eventData = { mode : 'html' }; @@ -398,12 +435,31 @@ For licensing, see LICENSE.html or http://ckeditor.com/license } ); }); - // Dismiss the (wrong) 'beforepaste' event fired on context menu open. (#7953) - body.on( 'contextmenu', function() + if ( CKEDITOR.env.ie ) { - depressBeforeEvent = 1; - setTimeout( function() { depressBeforeEvent = 0; }, 10 ); - }); + // Dismiss the (wrong) 'beforepaste' event fired on context menu open. (#7953) + body.on( 'contextmenu', function() + { + depressBeforeEvent = 1; + // Important: The following timeout will be called only after menu closed. + setTimeout( function() { depressBeforeEvent = 0; }, 0 ); + } ); + + // Handle IE's late coming "paste" event when pasting from + // browser toolbar/context menu. + body.on( 'paste', function( evt ) + { + if ( !editor.document.getById( 'cke_pastebin' ) ) + { + // Prevent native paste. + evt.data.preventDefault(); + + depressBeforeEvent = 0; + // Resort to the paste command. + pasteCmd.exec( editor ); + } + } ); + } body.on( 'beforecut', function() { !depressBeforeEvent && fixCut( editor ); } ); @@ -425,9 +481,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { var readOnly = selection.getRanges()[ 0 ].checkReadOnly(); return { - cut : !readOnly && stateFromNamedCommand( 'Cut', editor ), + cut : stateFromNamedCommand( 'Cut', editor ), copy : stateFromNamedCommand( 'Copy', editor ), - paste : !readOnly && ( CKEDITOR.env.webkit ? CKEDITOR.TRISTATE_OFF : stateFromNamedCommand( 'Paste', editor ) ) + paste : stateFromNamedCommand( 'Paste', editor ) }; }); } diff --git a/phpgwapi/js/ckeditor3/_source/plugins/colorbutton/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/colorbutton/plugin.js index 25e6ef444c..7cc0604d78 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/colorbutton/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/colorbutton/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -93,8 +93,7 @@ CKEDITOR.plugins.add( 'colorbutton', function renderColors( panel, type, colorBoxId ) { var output = [], - colors = config.colorButton_colors.split( ',' ), - total = colors.length + ( config.colorButton_enableMore ? 2 : 1 ); + colors = config.colorButton_colors.split( ',' ); var clickFn = CKEDITOR.tools.addFunction( function( color, type ) { @@ -157,7 +156,7 @@ CKEDITOR.plugins.add( 'colorbutton', ' title="', lang.auto, '"' + ' onclick="CKEDITOR.tools.callFunction(', clickFn, ',null,\'', type, '\');return false;"' + ' href="javascript:void(\'', lang.auto, '\')"' + - ' role="option" aria-posinset="1" aria-setsize="', total, '">' + + ' role="option">' + '' + '' + '' ); @@ -211,7 +210,7 @@ CKEDITOR.plugins.add( 'colorbutton', ' title="', lang.more, '"' + ' onclick="CKEDITOR.tools.callFunction(', clickFn, ',\'?\',\'', type, '\');return false;"' + ' href="javascript:void(\'', lang.more, '\')"', - ' role="option" aria-posinset="', total, '" aria-setsize="', total, '">', + ' role="option">', lang.more, '' + '' ); // tr is later in the code. diff --git a/phpgwapi/js/ckeditor3/_source/plugins/colordialog/dialogs/colordialog.js b/phpgwapi/js/ckeditor3/_source/plugins/colordialog/dialogs/colordialog.js index 61d411be40..a8e83f5daa 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/colordialog/dialogs/colordialog.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/colordialog/dialogs/colordialog.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -8,7 +8,6 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) // Define some shorthands. var $el = CKEDITOR.dom.element, $doc = CKEDITOR.document, - $tools = CKEDITOR.tools, lang = editor.lang.colordialog; // Reference the dialog. @@ -20,34 +19,66 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) html : ' ' }; + var selected; + function clearSelected() { $doc.getById( selHiColorId ).removeStyle( 'background-color' ); dialog.getContentElement( 'picker', 'selectedColor' ).setValue( '' ); + selected && selected.removeAttribute( 'aria-selected' ); + selected = null; } function updateSelected( evt ) { - if ( ! ( evt instanceof CKEDITOR.dom.event ) ) - evt = new CKEDITOR.dom.event( evt ); - - var target = evt.getTarget(), + var target = evt.data.getTarget(), color; - if ( target.getName() == 'a' && ( color = target.getChild( 0 ).getHtml() ) ) + if ( target.getName() == 'td' && + ( color = target.getChild( 0 ).getHtml() ) ) + { + selected = target; + selected.setAttribute( 'aria-selected', true ); dialog.getContentElement( 'picker', 'selectedColor' ).setValue( color ); + } } + // Basing black-white decision off of luma scheme using the Rec. 709 version + function whiteOrBlack( color ) + { + color = color.replace( /^#/, '' ); + for ( var i = 0, rgb = []; i <= 2; i++ ) + rgb[i] = parseInt( color.substr( i * 2, 2 ), 16 ); + var luma = (0.2126 * rgb[0]) + (0.7152 * rgb[1]) + (0.0722 * rgb[2]); + return '#' + ( luma >= 165 ? '000' : 'fff' ); + } + + // Distinguish focused and hover states. + var focused, hovered; + + // Apply highlight style. function updateHighlight( event ) { - if ( ! ( event instanceof CKEDITOR.dom.event ) ) - event = event.data; + // Convert to event. + !event.name && ( event = new CKEDITOR.event( event ) ); - var target = event.getTarget(), - color; + var isFocus = !(/mouse/).test( event.name ), + target = event.data.getTarget(), + color; - if ( target.getName() == 'a' && ( color = target.getChild( 0 ).getHtml() ) ) + if ( target.getName() == 'td' && ( color = target.getChild( 0 ).getHtml() ) ) { + removeHighlight( event ); + + isFocus ? focused = target : hovered = target; + + // Apply outline style to show focus. + if ( isFocus ) + { + target.setStyle( 'border-color', whiteOrBlack( color ) ); + target.setStyle( 'border-style', 'dotted' ); + } + $doc.getById( hicolorId ).setStyle( 'background-color', color ); $doc.getById( hicolorTextId ).setHtml( color ); } @@ -55,22 +86,41 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) function clearHighlight() { + var color = focused.getChild( 0 ).getHtml(); + focused.setStyle( 'border-color', color ); + focused.setStyle( 'border-style', 'solid' ); $doc.getById( hicolorId ).removeStyle( 'background-color' ); $doc.getById( hicolorTextId ).setHtml( ' ' ); + focused = null; } - var onMouseout = $tools.addFunction( clearHighlight ), - onClick = updateSelected, - onClickHandler = CKEDITOR.tools.addFunction( onClick ), - onFocus = updateHighlight, - onBlur = clearHighlight; - - var onKeydownHandler = CKEDITOR.tools.addFunction( function( ev ) + // Remove previously focused style. + function removeHighlight( event ) { - ev = new CKEDITOR.dom.event( ev ); - var element = ev.getTarget(); + var isFocus = !(/mouse/).test( event.name ), + target = isFocus && focused; + + if ( target ) + { + var color = target.getChild( 0 ).getHtml(); + target.setStyle( 'border-color', color ); + target.setStyle( 'border-style', 'solid' ); + } + + if ( ! ( focused || hovered ) ) + { + $doc.getById( hicolorId ).removeStyle( 'background-color' ); + $doc.getById( hicolorTextId ).setHtml( ' ' ); + } + } + + function onKeyStrokes( evt ) + { + var domEvt = evt.data; + + var element = domEvt.getTarget(); var relative, nodeToMove; - var keystroke = ev.getKeystroke(), + var keystroke = domEvt.getKeystroke(), rtl = editor.lang.dir == 'rtl'; switch ( keystroke ) @@ -78,100 +128,93 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) // UP-ARROW case 38 : // relative is TR - if ( ( relative = element.getParent().getParent().getPrevious() ) ) + if ( ( relative = element.getParent().getPrevious() ) ) { - nodeToMove = relative.getChild( [element.getParent().getIndex(), 0] ); + nodeToMove = relative.getChild( [ element.getIndex() ] ); nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); } - ev.preventDefault(); + domEvt.preventDefault(); break; // DOWN-ARROW case 40 : // relative is TR - if ( ( relative = element.getParent().getParent().getNext() ) ) + if ( ( relative = element.getParent().getNext() ) ) { - nodeToMove = relative.getChild( [ element.getParent().getIndex(), 0 ] ); + nodeToMove = relative.getChild( [ element.getIndex() ] ); if ( nodeToMove && nodeToMove.type == 1 ) { nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); } } - ev.preventDefault(); + domEvt.preventDefault(); break; + // SPACE - // ENTER is already handled as onClick + // ENTER case 32 : - onClick( ev ); - ev.preventDefault(); + case 13 : + updateSelected( evt ); + domEvt.preventDefault(); break; // RIGHT-ARROW case rtl ? 37 : 39 : // relative is TD - if ( ( relative = element.getParent().getNext() ) ) + if ( ( nodeToMove = element.getNext() ) ) { - nodeToMove = relative.getChild( 0 ); if ( nodeToMove.type == 1 ) { nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); - ev.preventDefault( true ); + domEvt.preventDefault( true ); } - else - onBlur( null, element ); } // relative is TR - else if ( ( relative = element.getParent().getParent().getNext() ) ) + else if ( ( relative = element.getParent().getNext() ) ) { - nodeToMove = relative.getChild( [ 0, 0 ] ); + nodeToMove = relative.getChild( [ 0 ] ); if ( nodeToMove && nodeToMove.type == 1 ) { nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); - ev.preventDefault( true ); + domEvt.preventDefault( true ); } - else - onBlur( null, element ); } break; // LEFT-ARROW case rtl ? 39 : 37 : // relative is TD - if ( ( relative = element.getParent().getPrevious() ) ) + if ( ( nodeToMove = element.getPrevious() ) ) { - nodeToMove = relative.getChild( 0 ); nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); - ev.preventDefault( true ); + domEvt.preventDefault( true ); } // relative is TR - else if ( ( relative = element.getParent().getParent().getPrevious() ) ) + else if ( ( relative = element.getParent().getPrevious() ) ) { - nodeToMove = relative.getLast().getChild( 0 ); + nodeToMove = relative.getLast(); nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); - ev.preventDefault( true ); + domEvt.preventDefault( true ); } - else - onBlur( null, element ); break; default : // Do not stop not handled events. return; } - }); + } function createColorTable() { + table = CKEDITOR.dom.element.createFromHtml + ( + '
' + @@ -194,7 +193,7 @@ CKEDITOR.plugins.add( 'colorbutton', ' title="', colorLabel, '"' + ' onclick="CKEDITOR.tools.callFunction(', clickFn, ',\'', colorName, '\',\'', type, '\'); return false;"' + ' href="javascript:void(\'', colorLabel, '\')"' + - ' role="option" aria-posinset="', ( i + 2 ), '" aria-setsize="', total, '">' + + ' role="option">' + '' + '' + '
' + + '' + + '
' + lang.options + '
' + ); + + table.on( 'mouseover', updateHighlight ); + table.on( 'mouseout', removeHighlight ); + // Create the base colors array. var aColors = [ '00', '33', '66', '99', 'cc', 'ff' ]; @@ -180,13 +223,14 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) { for ( var i = rangeA ; i < rangeA + 3 ; i++ ) { - var row = table.$.insertRow( -1 ); + var row = new $el( table.$.insertRow( -1 ) ); + row.setAttribute( 'role', 'row' ); for ( var j = rangeB ; j < rangeB + 3 ; j++ ) { for ( var n = 0 ; n < 6 ; n++ ) { - appendColorCell( row, '#' + aColors[j] + aColors[n] + aColors[i] ); + appendColorCell( row.$, '#' + aColors[j] + aColors[n] + aColors[i] ); } } } @@ -197,20 +241,23 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) { var cell = new $el( targetRow.insertCell( -1 ) ); cell.setAttribute( 'class', 'ColorCell' ); + cell.setAttribute( 'tabIndex', -1 ); + cell.setAttribute( 'role', 'gridcell' ); + + cell.on( 'keydown', onKeyStrokes ); + cell.on( 'click', updateSelected ); + cell.on( 'focus', updateHighlight ); + cell.on( 'blur', removeHighlight ); + cell.setStyle( 'background-color', color ); + cell.setStyle( 'border', '1px solid ' + color ); - cell.setStyle( 'width', '15px' ); - cell.setStyle( 'height', '15px' ); + cell.setStyle( 'width', '14px' ); + cell.setStyle( 'height', '14px' ); - var index = cell.$.cellIndex + 1 + 18 * targetRow.rowIndex; - cell.append( CKEDITOR.dom.element.createFromHtml( - '' + color + ' ', CKEDITOR.document ) ); + var colorLabel = numbering( 'color_table_cell' ); + cell.setAttribute( 'aria-labelledby',colorLabel ); + cell.append( CKEDITOR.dom.element.createFromHtml( '' + color + '', CKEDITOR.document ) ); } appendColorRow( 0, 0 ); @@ -219,25 +266,22 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) appendColorRow( 3, 3 ); // Create the last row. - var oRow = table.$.insertRow(-1) ; + var oRow = new $el( table.$.insertRow( -1 ) ) ; + oRow.setAttribute( 'role', 'row' ); // Create the gray scale colors cells. for ( var n = 0 ; n < 6 ; n++ ) { - appendColorCell( oRow, '#' + aColors[n] + aColors[n] + aColors[n] ) ; + appendColorCell( oRow.$, '#' + aColors[n] + aColors[n] + aColors[n] ) ; } // Fill the row with black cells. for ( var i = 0 ; i < 12 ; i++ ) { - appendColorCell( oRow, '#000000' ) ; + appendColorCell( oRow.$, '#000000' ) ; } } - var table = new $el( 'table' ); - createColorTable(); - var html = table.getHtml(); - var numbering = function( id ) { return CKEDITOR.tools.getNextId() + '_' + id; @@ -245,7 +289,9 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) hicolorId = numbering( 'hicolor' ), hicolorTextId = numbering( 'hicolortext' ), selHiColorId = numbering( 'selhicolor' ), - tableLabelId = numbering( 'color_table_label' ); + table; + + createColorTable(); return { title : lang.title, @@ -256,6 +302,11 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) // Update reference. dialog = this; }, + onHide : function() + { + clearSelected(); + clearHighlight(); + }, contents : [ { id : 'picker', @@ -271,20 +322,16 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) [ { type : 'html', - html : '' + - ( !CKEDITOR.env.webkit ? html : '' ) + - '
' + lang.options +'', + html : '
', onLoad : function() { - var table = CKEDITOR.document.getById( this.domId ); - table.on( 'mouseover', updateHighlight ); - // In WebKit, the table content must be inserted after this event call (#6150) - CKEDITOR.env.webkit && table.setHtml( html ); + CKEDITOR.document.getById( this.domId ).append( table ); }, - focus: function() + focus : function() { - var firstColor = this.getElement().getElementsByTag( 'a' ).getItem( 0 ); - firstColor.focus(); + // Restore the previously focused cell, + // otherwise put the initial focus on the first table cell. + ( focused || this.getElement().getElementsByTag( 'td' ).getItem( 0 ) ).focus(); } }, spacer, diff --git a/phpgwapi/js/ckeditor3/_source/plugins/colordialog/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/colordialog/plugin.js index ca7f44ebe6..b76aed2cd1 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/colordialog/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/colordialog/plugin.js @@ -1,10 +1,11 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.plugins.colordialog = { + requires : [ 'dialog' ], init : function( editor ) { editor.addCommand( 'colordialog', new CKEDITOR.dialogCommand( 'colordialog' ) ); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/contextmenu/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/contextmenu/plugin.js index 09a9f933c0..5d95080dca 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/contextmenu/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/contextmenu/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/_translationstatus.txt b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/_translationstatus.txt new file mode 100644 index 0000000000..abb983211d --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/_translationstatus.txt @@ -0,0 +1,28 @@ +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +bg.js Found: 5 Missing: 0 +cs.js Found: 5 Missing: 0 +cy.js Found: 5 Missing: 0 +da.js Found: 5 Missing: 0 +de.js Found: 5 Missing: 0 +el.js Found: 5 Missing: 0 +eo.js Found: 5 Missing: 0 +et.js Found: 5 Missing: 0 +fa.js Found: 5 Missing: 0 +fi.js Found: 5 Missing: 0 +fr.js Found: 5 Missing: 0 +gu.js Found: 5 Missing: 0 +he.js Found: 5 Missing: 0 +hr.js Found: 5 Missing: 0 +it.js Found: 5 Missing: 0 +nb.js Found: 5 Missing: 0 +nl.js Found: 5 Missing: 0 +no.js Found: 5 Missing: 0 +pl.js Found: 5 Missing: 0 +pt-br.js Found: 5 Missing: 0 +tr.js Found: 5 Missing: 0 +ug.js Found: 5 Missing: 0 +uk.js Found: 5 Missing: 0 +vi.js Found: 5 Missing: 0 +zh-cn.js Found: 5 Missing: 0 diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/bg.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/bg.js new file mode 100644 index 0000000000..82dd410462 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/bg.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'bg', +{ + devTools : + { + title : 'Информация за елемента', + dialogName : 'Име на диалоговия прозорец', + tabName : 'Име на таб', + elementId : 'ID на елемента', + elementType : 'Тип на елемента' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/cs.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/cs.js new file mode 100644 index 0000000000..5002e81282 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/cs.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'cs', +{ + devTools : + { + title : 'Informace o prvku', + dialogName : 'Název dialogového okna', + tabName : 'Název karty', + elementId : 'ID prvku', + elementType : 'Typ prvku' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/cy.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/cy.js new file mode 100644 index 0000000000..f90246665a --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/cy.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'cy', +{ + devTools : + { + title : 'Gwybodaeth am yr Elfen', + dialogName : 'Enw ffenestr y deialog', + tabName : 'Enw\'r tab', + elementId : 'ID yr Elfen', + elementType : 'Math yr elfen' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/da.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/da.js new file mode 100644 index 0000000000..07bf8d9a49 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/da.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'da', +{ + devTools : + { + title : 'Information på elementet', + dialogName : 'Dialogboks', + tabName : 'Tab beskrivelse', + elementId : 'ID på element', + elementType : 'Type af element' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/de.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/de.js new file mode 100644 index 0000000000..92d6a1635e --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/de.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'de', +{ + devTools : + { + title : 'Elementinformation', + dialogName : 'Dialogfenstername', + tabName : 'Reitername', + elementId : 'Element ID', + elementType : 'Elementtyp' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/el.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/el.js new file mode 100644 index 0000000000..01df798b18 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/el.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'el', +{ + devTools : + { + title : 'Πληροφορίες Στοιχείου', + dialogName : 'Όνομα παραθύρου διαλόγου', + tabName : 'Όνομα καρτέλας', + elementId : 'ID Στοιχείου', + elementType : 'Τύπος στοιχείου' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/en.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/en.js index 328150569e..ec2771a3ad 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/en.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/en.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/eo.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/eo.js new file mode 100644 index 0000000000..0cc90f560e --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/eo.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'eo', +{ + devTools : + { + title : 'Informo pri la elemento', + dialogName : 'Nomo de la dialogfenestro', + tabName : 'Langetnomo', + elementId : 'ID de la elemento', + elementType : 'Tipo de la elemento' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/et.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/et.js new file mode 100644 index 0000000000..bbc46ce81c --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/et.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'et', +{ + devTools : + { + title : 'Elemendi andmed', + dialogName : 'Dialoogiakna nimi', + tabName : 'Saki nimi', + elementId : 'Elemendi ID', + elementType : 'Elemendi liik' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/fa.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/fa.js new file mode 100644 index 0000000000..a6044ce43a --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/fa.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'fa', +{ + devTools : + { + title : 'اطلاعات عنصر', + dialogName : 'نام پنجره محاورهای', + tabName : 'نام برگه', + elementId : 'ID عنصر', + elementType : 'نوع عنصر' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/fi.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/fi.js new file mode 100644 index 0000000000..250bb97abb --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/fi.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'fi', +{ + devTools : + { + title : 'Elementin tiedot', + dialogName : 'Dialogi-ikkunan nimi', + tabName : 'Välilehden nimi', + elementId : 'Elementin ID', + elementType : 'Elementin tyyppi' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/fr.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/fr.js new file mode 100644 index 0000000000..c0a069a5c0 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/fr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'fr', +{ + devTools : + { + title : 'Information sur l\'élément', + dialogName : 'Nom de la fenêtre de dialogue', + tabName : 'Nom de l\'onglet', + elementId : 'ID de l\'élément', + elementType : 'Type de l\'élément' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/gu.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/gu.js new file mode 100644 index 0000000000..16ff89de80 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/gu.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'gu', +{ + devTools : + { + title : 'પ્રાથમિક માહિતી', + dialogName : 'વિન્ડોનું નામ', + tabName : 'ટેબનું નામ', + elementId : 'પ્રાથમિક આઈડી', + elementType : 'પ્રાથમિક પ્રકાર' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/he.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/he.js new file mode 100644 index 0000000000..e29e8ea72b --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/he.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'he', +{ + devTools : + { + title : 'מידע על האלמנט', + dialogName : 'שם הדיאלוג', + tabName : 'שם הטאב', + elementId : 'ID של האלמנט', + elementType : 'סוג האלמנט' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/hr.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/hr.js new file mode 100644 index 0000000000..a90c271f09 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/hr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'hr', +{ + devTools : + { + title : 'Informacije elementa', + dialogName : 'Naziv prozora za dijalog', + tabName : 'Naziva jahača', + elementId : 'ID elementa', + elementType : 'Vrsta elementa' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/it.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/it.js new file mode 100644 index 0000000000..5c4dd12d64 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/it.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'it', +{ + devTools : + { + title : 'Informazioni elemento', + dialogName : 'Nome finestra di dialogo', + tabName : 'Nome Tab', + elementId : 'ID Elemento', + elementType : 'Tipo elemento' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/nb.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/nb.js new file mode 100644 index 0000000000..a7e49c307d --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/nb.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'nb', +{ + devTools : + { + title : 'Elementinformasjon', + dialogName : 'Navn på dialogvindu', + tabName : 'Navn på fane', + elementId : 'Element-ID', + elementType : 'Elementtype' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/nl.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/nl.js new file mode 100644 index 0000000000..380b02b817 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/nl.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'nl', +{ + devTools : + { + title : 'Elementinformatie', + dialogName : 'Naam dialoogvenster', + tabName : 'Tabnaam', + elementId : 'Element ID', + elementType : 'Elementtype' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/no.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/no.js new file mode 100644 index 0000000000..ec00b19eab --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/no.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'no', +{ + devTools : + { + title : 'Elementinformasjon', + dialogName : 'Navn på dialogvindu', + tabName : 'Navn på fane', + elementId : 'Element-ID', + elementType : 'Elementtype' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/pl.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/pl.js new file mode 100644 index 0000000000..225a05cda5 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/pl.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'pl', +{ + devTools : + { + title : 'Informacja o elemencie', + dialogName : 'Nazwa okna dialogowego', + tabName : 'Nazwa zakładki', + elementId : 'ID elementu', + elementType : 'Typ elementu' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/pt-br.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/pt-br.js new file mode 100644 index 0000000000..89e41716ec --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/pt-br.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'pt-br', +{ + devTools : + { + title : 'Informação do Elemento', + dialogName : 'Nome da janela de diálogo', + tabName : 'Nome da aba', + elementId : 'ID do elemento', + elementType : 'Tipo do elemento' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/tr.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/tr.js new file mode 100644 index 0000000000..9907f2f593 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/tr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'tr', +{ + devTools : + { + title : 'Eleman Bilgisi', + dialogName : 'İletişim pencere ismi', + tabName : 'Sekme adı', + elementId : 'Eleman ID', + elementType : 'Eleman türü' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/ug.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/ug.js new file mode 100644 index 0000000000..2965342e29 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/ug.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'ug', +{ + devTools : + { + title : 'ئېلېمېنت ئۇچۇرى', + dialogName : 'سۆزلەشكۈ كۆزنەك ئاتى', + tabName : 'Tab ئاتى', + elementId : 'ئېلېمېنت كىملىكى', + elementType : 'ئېلېمېنت تىپى' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/uk.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/uk.js new file mode 100644 index 0000000000..8bb61b6914 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/uk.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'uk', +{ + devTools : + { + title : 'Відомості про Елемент', + dialogName : 'Заголовок діалогового вікна', + tabName : 'Назва вкладки', + elementId : 'Ідентифікатор Елемента', + elementType : 'Тип Елемента' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/vi.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/vi.js new file mode 100644 index 0000000000..372b716705 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/vi.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'vi', +{ + devTools : + { + title : 'Thông tin thành ph', + dialogName : 'Tên hộp tho', + tabName : 'Tên th', + elementId : 'Mã thành ph', + elementType : 'Loại thành ph' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/zh-cn.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/zh-cn.js new file mode 100644 index 0000000000..55a2e0710b --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/lang/zh-cn.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'zh-cn', +{ + devTools : + { + title : '元素信息', + dialogName : '对话框窗口名称', + tabName : 'Tab 名称', + elementId : '元素 ID', + elementType : '元素类型' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/devtools/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/devtools/plugin.js index 6067138c97..074503a8ec 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/devtools/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/devtools/plugin.js @@ -1,11 +1,11 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.plugins.add( 'devtools', { - lang : [ 'en' ], + lang : [ 'en', 'bg', 'cs', 'cy', 'da', 'de', 'el', 'eo', 'et', 'fa', 'fi', 'fr', 'gu', 'he', 'hr', 'it', 'nb', 'nl', 'no', 'pl', 'pt-br', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ], init : function( editor ) { diff --git a/phpgwapi/js/ckeditor3/_source/plugins/dialog/dialogDefinition.js b/phpgwapi/js/ckeditor3/_source/plugins/dialog/dialogDefinition.js index a3db7f8941..3d36d0468c 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/dialog/dialogDefinition.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/dialog/dialogDefinition.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/dialog/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/dialog/plugin.js index 13ee0efc58..db371c4d95 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/dialog/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/dialog/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -138,7 +138,10 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; var definition = CKEDITOR.dialog._.dialogDefinitions[ dialogName ], defaultDefinition = CKEDITOR.tools.clone( defaultDialogDefinition ), buttonsOrder = editor.config.dialog_buttonsOrder || 'OS', - dir = editor.lang.dir; + dir = editor.lang.dir, + tabsToRemove = {}, + i, + processed, stopPropagation; if ( ( buttonsOrder == 'OS' && CKEDITOR.env.mac ) || // The buttons in MacOS Apps are in reverse order (#4750) ( buttonsOrder == 'rtl' && dir == 'ltr' ) || @@ -219,7 +222,6 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; } , editor ).definition; - var tabsToRemove = {}; // Cache tabs that should be removed. if ( !( 'removeDialogTabs' in editor._ ) && editor.config.removeDialogTabs ) { @@ -358,10 +360,11 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; focusList[ i ].focusIndex = i; } - function changeFocus( forward ) + function changeFocus( offset ) { - var focusList = me._.focusList, - offset = forward ? 1 : -1; + var focusList = me._.focusList; + offset = offset || 0; + if ( focusList.length < 1 ) return; @@ -377,12 +380,13 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; var startIndex = ( current + offset + focusList.length ) % focusList.length, currentIndex = startIndex; - while ( !focusList[ currentIndex ].isFocusable() ) + while ( offset && !focusList[ currentIndex ].isFocusable() ) { currentIndex = ( currentIndex + offset + focusList.length ) % focusList.length; if ( currentIndex == startIndex ) break; } + focusList[ currentIndex ].focus(); // Select whole field content. @@ -392,18 +396,19 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; this.changeFocus = changeFocus; - var processed; - function focusKeydownHandler( evt ) + function keydownHandler( evt ) { // If I'm not the top dialog, ignore. if ( me != CKEDITOR.dialog._.currentTop ) return; var keystroke = evt.data.getKeystroke(), - rtl = editor.lang.dir == 'rtl'; + rtl = editor.lang.dir == 'rtl', + button; + + processed = stopPropagation = 0; - processed = 0; if ( keystroke == 9 || keystroke == CKEDITOR.SHIFT + 9 ) { var shiftPressed = ( keystroke == CKEDITOR.SHIFT + 9 ); @@ -419,7 +424,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; else { // Change the focus of inputs. - changeFocus( !shiftPressed ); + changeFocus( shiftPressed ? -1 : 1 ); } processed = 1; @@ -444,38 +449,67 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; this.selectPage( this._.currentTabId ); this._.tabBarMode = false; this._.currentFocusIndex = -1; - changeFocus( true ); + changeFocus( 1 ); processed = 1; } - - if ( processed ) + // If user presses enter key in a text box, it implies clicking OK for the dialog. + else if ( keystroke == 13 /*ENTER*/ ) { - evt.stop(); - evt.data.preventDefault(); + // Don't do that for a target that handles ENTER. + var target = evt.data.getTarget(); + if ( !target.is( 'a', 'button', 'select' ) && ( !target.is( 'input' ) || target.$.type != 'button' ) ) + { + button = this.getButton( 'ok' ); + button && CKEDITOR.tools.setTimeout( button.click, 0, button ); + processed = 1; + } + stopPropagation = 1; // Always block the propagation (#4269) } + else if ( keystroke == 27 /*ESC*/ ) + { + button = this.getButton( 'cancel' ); + + // If there's a Cancel button, click it, else just fire the cancel event and hide the dialog. + if ( button ) + CKEDITOR.tools.setTimeout( button.click, 0, button ); + else + { + if ( this.fire( 'cancel', { hide : true } ).hide !== false ) + this.hide(); + } + stopPropagation = 1; // Always block the propagation (#4269) + } + else + return; + + keypressHandler( evt ); } - function focusKeyPressHandler( evt ) + function keypressHandler( evt ) { - processed && evt.data.preventDefault(); + if ( processed ) + evt.data.preventDefault(1); + else if ( stopPropagation ) + evt.data.stopPropagation(); } var dialogElement = this._.element; // Add the dialog keyboard handlers. this.on( 'show', function() { - dialogElement.on( 'keydown', focusKeydownHandler, this, null, 0 ); + dialogElement.on( 'keydown', keydownHandler, this ); + // Some browsers instead, don't cancel key events in the keydown, but in the - // keypress. So we must do a longer trip in those cases. (#4531) - if ( CKEDITOR.env.opera || ( CKEDITOR.env.gecko && CKEDITOR.env.mac ) ) - dialogElement.on( 'keypress', focusKeyPressHandler, this ); + // keypress. So we must do a longer trip in those cases. (#4531,#8985) + if ( CKEDITOR.env.opera || CKEDITOR.env.gecko ) + dialogElement.on( 'keypress', keypressHandler, this ); } ); this.on( 'hide', function() { - dialogElement.removeListener( 'keydown', focusKeydownHandler ); - if ( CKEDITOR.env.opera || ( CKEDITOR.env.gecko && CKEDITOR.env.mac ) ) - dialogElement.removeListener( 'keypress', focusKeyPressHandler ); + dialogElement.removeListener( 'keydown', keydownHandler ); + if ( CKEDITOR.env.opera || CKEDITOR.env.gecko ) + dialogElement.removeListener( 'keypress', keypressHandler ); // Reset fields state when closing dialog. iterContents( function( item ) { resetField.apply( item ); } ); @@ -483,7 +517,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; this.on( 'iframeAdded', function( evt ) { var doc = new CKEDITOR.dom.document( evt.data.iframe.$.contentWindow.document ); - doc.on( 'keydown', focusKeydownHandler, this, null, 0 ); + doc.on( 'keydown', keydownHandler, this, null, 0 ); } ); // Auto-focus logic in dialog. @@ -512,7 +546,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; } // Focus the first field in layout order. else - changeFocus( true ); + changeFocus( 1 ); /* * IE BUG: If the initial focus went into a non-text element (e.g. button), @@ -558,7 +592,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; ( new CKEDITOR.dom.text( definition.title, CKEDITOR.document ) ).appendTo( this.parts.title ); // Insert the tabs and contents. - for ( var i = 0 ; i < definition.contents.length ; i++ ) + for ( i = 0 ; i < definition.contents.length ; i++ ) { var page = definition.contents[i]; page && this.addPage( page ); @@ -578,7 +612,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; { this._.tabBarMode = false; this._.currentFocusIndex = -1; - changeFocus( true ); + changeFocus( 1 ); } evt.data.preventDefault(); } @@ -794,19 +828,12 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; this._.element.getFirst().setStyle( 'z-index', CKEDITOR.dialog._.currentZIndex += 10 ); // Maintain the dialog ordering and dialog cover. - // Also register key handlers if first dialog. if ( CKEDITOR.dialog._.currentTop === null ) { CKEDITOR.dialog._.currentTop = this; this._.parentDialog = null; showCover( this._.editor ); - element.on( 'keydown', accessKeyDownHandler ); - element.on( CKEDITOR.env.opera ? 'keypress' : 'keyup', accessKeyUpHandler ); - - // Prevent some keys from bubbling up. (#4269) - for ( var event in { keyup :1, keydown :1, keypress :1 } ) - element.on( event, preventKeyBubbling ); } else { @@ -816,11 +843,8 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; CKEDITOR.dialog._.currentTop = this; } - // Register the Esc hotkeys. - registerAccessKey( this, this, '\x1b', null, function() - { - this.getButton( 'cancel' ) && this.getButton( 'cancel' ).click(); - } ); + element.on( 'keydown', accessKeyDownHandler ); + element.on( CKEDITOR.env.opera ? 'keypress' : 'keyup', accessKeyUpHandler ); // Reset the hasFocus state. this._.hasFocus = false; @@ -939,6 +963,8 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; this.fire( 'hide', {} ); this._.editor.fire( 'dialogHide', this ); + // Reset the tab page. + this.selectPage( this._.tabIdList[ 0 ] ); var element = this._.element; element.setStyle( 'display', 'none' ); this.parts.dialog.setStyle( 'visibility', 'hidden' ); @@ -968,10 +994,6 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; element.removeListener( 'keydown', accessKeyDownHandler ); element.removeListener( CKEDITOR.env.opera ? 'keypress' : 'keyup', accessKeyUpHandler ); - // Remove bubbling-prevention handler. (#4269) - for ( var event in { keyup :1, keydown :1, keypress :1 } ) - element.removeListener( event, preventKeyBubbling ); - var editor = this._.editor; editor.focus(); @@ -2188,14 +2210,6 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; { }; - // ESC, ENTER - var preventKeyBubblingKeys = { 27 :1, 13 :1 }; - var preventKeyBubbling = function( e ) - { - if ( e.data.getKeystroke() in preventKeyBubblingKeys ) - e.data.stopPropagation(); - }; - (function() { CKEDITOR.ui.dialog = @@ -2935,7 +2949,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; { // Special treatment for Opera. (#8031) CKEDITOR.env.opera ? - CKEDITOR.tools.setTimeout( function() { editor.openDialog( this.dialogName ) }, 0, this ) + CKEDITOR.tools.setTimeout( function() { editor.openDialog( this.dialogName ); }, 0, this ) : editor.openDialog( this.dialogName ); }, diff --git a/phpgwapi/js/ckeditor3/_source/plugins/dialogadvtab/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/dialogadvtab/plugin.js index bd8aa7fd26..d369be7772 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/dialogadvtab/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/dialogadvtab/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/dialogui/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/dialogui/plugin.js index 826dc57867..29db79c0f1 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/dialogui/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/dialogui/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -157,7 +157,7 @@ CKEDITOR.plugins.add( 'dialogui' ); if ( elementDefinition.labelLayout != 'horizontal' ) html.push( '', @@ -224,7 +224,7 @@ CKEDITOR.plugins.add( 'dialogui' ); initPrivateObject.call( this, elementDefinition ); var domId = this._.inputId = CKEDITOR.tools.getNextId() + '_textInput', - attributes = { 'class' : 'cke_dialog_ui_input_' + elementDefinition.type, id : domId, type : 'text' }, + attributes = { 'class' : 'cke_dialog_ui_input_' + elementDefinition.type, id : domId, type : elementDefinition.type }, i; // Set the validator, if any. @@ -240,30 +240,6 @@ CKEDITOR.plugins.add( 'dialogui' ); if ( elementDefinition.inputStyle ) attributes.style = elementDefinition.inputStyle; - // If user presses Enter in a text box, it implies clicking OK for the dialog. - var me = this, keyPressedOnMe = false; - dialog.on( 'load', function() - { - me.getInputElement().on( 'keydown', function( evt ) - { - if ( evt.data.getKeystroke() == 13 ) - keyPressedOnMe = true; - } ); - - // Lower the priority this 'keyup' since 'ok' will close the dialog.(#3749) - me.getInputElement().on( 'keyup', function( evt ) - { - if ( evt.data.getKeystroke() == 13 && keyPressedOnMe ) - { - dialog.getButton( 'ok' ) && setTimeout( function () - { - dialog.getButton( 'ok' ).click(); - }, 0 ); - keyPressedOnMe = false; - } - }, null, null, 1000 ); - } ); - /** @ignore */ var innerHTML = function() { @@ -677,6 +653,7 @@ CKEDITOR.plugins.add( 'dialogui' ); ' frameborder="0"' + ' allowtransparency="0"' + ' class="cke_dialog_ui_input_file"' + + ' role="presentation"' + ' id="', _.frameId, '"' + ' title="', elementDefinition.label, '"' + ' src="javascript:void(' ]; @@ -855,7 +832,9 @@ CKEDITOR.plugins.add( 'dialogui' ); var innerHTML = function() { var html = []; - legendLabel && html.push( '' + legendLabel + '' ); + legendLabel && html.push( '' + legendLabel + '' ); for ( var i = 0; i < childHtmlList.length; i++ ) html.push( childHtmlList[ i ] ); return html.join( '' ); @@ -969,7 +948,13 @@ CKEDITOR.plugins.add( 'dialogui' ); /** @ignore */ onClick : function( dialog, func ) { - this.on( 'click', func ); + this.on( 'click', function() + { + // Some browsers (Chrome, IE8, IE7 compat mode) don't move + // focus to clicked button. Force this. + this.getElement().focus(); + func.apply( this, arguments ); + }); } }, true ), @@ -1435,11 +1420,17 @@ CKEDITOR.plugins.add( 'dialogui' ); if ( elementDefinition.size ) size = elementDefinition.size - ( CKEDITOR.env.ie ? 7 : 0 ); // "Browse" button is bigger in IE. + var inputId = _.frameId + '_input'; + frameDocument.$.write( [ '', '
', - '', + CKEDITOR.tools.htmlEncode( elementDefinition.label ), + '', + ' rectWidth ) + left += rectWidth; + // Align to window left. + else if ( viewportSize.width > rectWidth ) + left = left - rect.left; + // Align to window right, never cutting the panel at right. + else + left = left - rect.right + viewportSize.width; + } + } + else if ( spaceAfter < rectWidth ) + { + // Flip to show on left. + if ( spaceBefore > rectWidth ) + left -= rectWidth; + // Align to window right. + else if ( viewportSize.width > rectWidth ) + left = left - rect.right + viewportSize.width; + // Align to window left, never cutting the panel at left. + else + left = left - rect.left; + } - // If the menu is horizontal off, shift it toward - // the opposite language direction. - if ( rtl ? left < 0 : left + panelSize.width > viewportSize.width + windowScroll.x ) - left += ( panelSize.width * ( rtl ? 1 : -1 ) ); - // Vertical off screen is simpler. - if ( top + panelSize.height > viewportSize.height + windowScroll.y ) - top -= panelSize.height; + // Check if the default vertical layout is possible. + var spaceBelow = viewportSize.height - rect.top, + spaceAbove = rect.top; + + if ( spaceBelow < rectHeight ) + { + // Flip to show above. + if ( spaceAbove > rectHeight ) + top -= rectHeight; + // Align to window bottom. + else if ( viewportSize.height > rectHeight ) + top = top - rect.bottom + viewportSize.height; + // Align to top, never cutting the panel at top. + else + top = top - rect.top; + } // If IE is in RTL, we have troubles with absolute // position and horizontal scrolls. Here we have a diff --git a/phpgwapi/js/ckeditor3/_source/plugins/font/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/font/plugin.js index 6a1efee691..268f2ee07f 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/font/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/font/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -93,7 +93,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // the styles. for ( var value in styles ) { - if ( styles[ value ].checkElementRemovable( element, true ) ) + if ( styles[ value ].checkElementMatch( element, true ) ) { if ( value != currentValue ) this.setValue( value ); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/format/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/format/plugin.js index 8e96529eae..6488e75b25 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/format/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/format/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/button.js b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/button.js index 730864f6ce..abb6b8a326 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/button.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/button.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'button', function( editor ) diff --git a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/checkbox.js b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/checkbox.js index 8c6e4d25d9..5a440465ed 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/checkbox.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/checkbox.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'checkbox', function( editor ) diff --git a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/form.js b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/form.js index 975ebdd709..c637ab36db 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/form.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/form.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'form', function( editor ) diff --git a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/hiddenfield.js b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/hiddenfield.js index ce63239b6d..2f629a916a 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/hiddenfield.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/hiddenfield.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'hiddenfield', function( editor ) diff --git a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/radio.js b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/radio.js index 5b154aaadf..9ea06733e1 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/radio.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/radio.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'radio', function( editor ) diff --git a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/select.js b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/select.js index aee101b723..0117ec9cff 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/select.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/select.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'select', function( editor ) diff --git a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/textarea.js b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/textarea.js index f0f7967f9d..cae945dd59 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/textarea.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/textarea.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'textarea', function( editor ) diff --git a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/textfield.js b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/textfield.js index cc250de0fb..877edb8ad2 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/textfield.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/forms/dialogs/textfield.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'textfield', function( editor ) diff --git a/phpgwapi/js/ckeditor3/_source/plugins/forms/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/forms/plugin.js index 5caac87148..233fe91104 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/forms/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/forms/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -9,6 +9,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.plugins.add( 'forms', { + requires : [ 'dialog' ], init : function( editor ) { var lang = editor.lang; diff --git a/phpgwapi/js/ckeditor3/_source/plugins/horizontalrule/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/horizontalrule/plugin.js index 3eac31915e..bdf94531af 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/horizontalrule/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/horizontalrule/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -14,19 +14,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license canUndo : false, // The undo snapshot will be handled by 'insertElement'. exec : function( editor ) { - var hr = editor.document.createElement( 'hr' ), - range = new CKEDITOR.dom.range( editor.document ); - + var hr = editor.document.createElement( 'hr' ); editor.insertElement( hr ); - - // If there's nothing or a non-editable block followed by, establish a new paragraph - // to make sure cursor is not trapped. - range.moveToPosition( hr, CKEDITOR.POSITION_AFTER_END ); - var next = hr.getNext(); - if ( !next || next.type == CKEDITOR.NODE_ELEMENT && !next.isEditable() ) - range.fixBlock( true, editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' ); - - range.select(); } }; diff --git a/phpgwapi/js/ckeditor3/_source/plugins/htmldataprocessor/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/htmldataprocessor/plugin.js index 8aad224480..ecf87ed452 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/htmldataprocessor/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/htmldataprocessor/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -308,7 +308,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Avoid corrupting the inline event attributes (#7243). // We should not rewrite the existed protected attributes, e.g. clipboard content from editor. (#5218) if ( !( /^on/ ).test( attrName ) && attributes.indexOf( 'data-cke-saved-' + attrName ) == -1 ) - return ' data-cke-saved-' + fullAttr + ' ' + fullAttr; + return ' data-cke-saved-' + fullAttr + ' data-cke-' + CKEDITOR.rnd + '-' + fullAttr; return fullAttr; }) + '>'; @@ -516,10 +516,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Call the browser to help us fixing a possibly invalid HTML // structure. var div = new CKEDITOR.dom.element( 'div' ); + // Add fake character to workaround IE comments bug. (#3801) div.setHtml( 'a' + data ); data = div.getHtml().substr( 1 ); + // Restore shortly protected attribute names. + data = data.replace( new RegExp( ' data-cke-' + CKEDITOR.rnd + '-', 'ig' ), ' ' ); + // Unprotect "some" of the protected elements at this point. data = unprotectElementNames( data ); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/htmlwriter/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/htmlwriter/plugin.js index d06a12516a..32acfb08bc 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/htmlwriter/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/htmlwriter/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/iframe/dialogs/iframe.js b/phpgwapi/js/ckeditor3/_source/plugins/iframe/dialogs/iframe.js index 769b6aff8c..4c97c668e3 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/iframe/dialogs/iframe.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/iframe/dialogs/iframe.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/iframe/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/iframe/plugin.js index 6c21a32ad6..23fb764e97 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/iframe/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/iframe/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/iframedialog/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/iframedialog/plugin.js index 870ec1ccc3..61ee60523e 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/iframedialog/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/iframedialog/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/image/dialogs/image.js b/phpgwapi/js/ckeditor3/_source/plugins/image/dialogs/image.js index 8902f9b3c0..992d700c06 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/image/dialogs/image.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/image/dialogs/image.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -266,7 +266,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license btnLockSizesId = numbering( 'btnLockSizes' ), btnResetSizeId = numbering( 'btnResetSize' ), imagePreviewLoaderId = numbering( 'ImagePreviewLoader' ), - imagePreviewBoxId = numbering( 'ImagePreviewBox' ), previewLinkId = numbering( 'previewLink' ), previewImageId = numbering( 'previewImage' ); @@ -290,8 +289,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license this.addLink = false; var editor = this.getParentEditor(), - sel = this.getParentEditor().getSelection(), - element = sel.getSelectedElement(), + sel = editor.getSelection(), + element = sel && sel.getSelectedElement(), link = element && element.getAscendant( 'a' ); //Hide loader. @@ -1077,7 +1076,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license style : 'width:95%;', html : '
' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) +'
'+ ''+ - '
'];for(Z=0;Z0)ac.push('style="'+ae.join('; ')+'" ');ac.push('>',S[Z],'');}ac.push('');return ac.join('');},ab={role:'presentation'};U&&U.align&&(ab.align=U.align);k.dialog.uiElement.call(this,Q,U||{type:'hbox'},T,'table',Y,ab,aa);},vbox:function(Q,R,S,T,U){if(arguments.length<3)return;this._||(this._={});var V=this._.children=R,W=U&&U.width||null,X=U&&U.heights||null,Y=function(){var Z=['
'+ + '
'];for(ab=0;ab0)ae.push('style="'+ag.join('; ')+'" ');ae.push('>',U[ab],'');}ae.push('');return ae.join('');},ad={role:'presentation'};W&&W.align&&(ad.align=W.align);k.dialog.uiElement.call(this,S,W||{type:'hbox'},V,'table',aa,ad,ac);},vbox:function(S,T,U,V,W){if(arguments.length<3)return;this._||(this._={});var X=this._.children=T,Y=W&&W.width||null,Z=W&&W.heights||null,aa=function(){var ab=['
'+ ''+ '' + ( editor.config.image_previewText || diff --git a/phpgwapi/js/ckeditor3/_source/plugins/image/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/image/plugin.js index 7285b0fade..acc555446b 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/image/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/image/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -7,8 +7,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license * @file Image plugin */ +(function() +{ + CKEDITOR.plugins.add( 'image', { + requires: [ 'dialog' ], + init : function( editor ) { var pluginName = 'image'; @@ -53,14 +58,94 @@ CKEDITOR.plugins.add( 'image', { editor.contextMenu.addListener( function( element, selection ) { - if ( !element || !element.is( 'img' ) || element.data( 'cke-realelement' ) || element.isReadOnly() ) - return null; - - return { image : CKEDITOR.TRISTATE_OFF }; + if ( getSelectedImage( editor, element ) ) + return { image : CKEDITOR.TRISTATE_OFF }; }); } + }, + afterInit : function( editor ) + { + // Customize the behavior of the alignment commands. (#7430) + setupAlignCommand( 'left' ); + setupAlignCommand( 'right' ); + setupAlignCommand( 'center' ); + setupAlignCommand( 'block' ); + + function setupAlignCommand( value ) + { + var command = editor.getCommand( 'justify' + value ); + if ( command ) + { + if ( value == 'left' || value == 'right' ) + { + command.on( 'exec', function( evt ) + { + var img = getSelectedImage( editor ), align; + if ( img ) + { + align = getImageAlignment( img ); + if ( align == value ) + { + img.removeStyle( 'float' ); + + // Remove "align" attribute when necessary. + if ( value == getImageAlignment( img ) ) + img.removeAttribute( 'align' ); + } + else + img.setStyle( 'float', value ); + + evt.cancel(); + } + }); + } + + command.on( 'refresh', function( evt ) + { + var img = getSelectedImage( editor ), align; + if ( img ) + { + align = getImageAlignment( img ); + + this.setState( + ( align == value ) ? CKEDITOR.TRISTATE_ON : + ( value == 'right' || value == 'left' ) ? CKEDITOR.TRISTATE_OFF : + CKEDITOR.TRISTATE_DISABLED ); + + evt.cancel(); + } + }); + } + } } -} ); +}); + +function getSelectedImage( editor, element ) +{ + if ( !element ) + { + var sel = editor.getSelection(); + element = ( sel.getType() == CKEDITOR.SELECTION_ELEMENT ) && sel.getSelectedElement(); + } + + if ( element && element.is( 'img' ) && !element.data( 'cke-realelement' ) && !element.isReadOnly() ) + return element; +} + +function getImageAlignment( element ) +{ + var align = element.getStyle( 'float' ); + + if ( align == 'inherit' || align == 'none' ) + align = 0; + + if ( !align ) + align = element.getAttribute( 'align' ); + + return align; +} + +})(); /** * Whether to remove links when emptying the link URL field in the image dialog. diff --git a/phpgwapi/js/ckeditor3/_source/plugins/indent/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/indent/plugin.js index b0c82bffd2..7b28c773c8 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/indent/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/indent/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -142,8 +142,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { listArray[ i ].indent += indentOffset; // Make sure the newly created sublist get a brand-new element of the same type. (#5372) - var listRoot = listArray[ i ].parent; - listArray[ i ].parent = new CKEDITOR.dom.element( listRoot.getName(), listRoot.getDocument() ); + if ( indentOffset > 0 ) + { + var listRoot = listArray[ i ].parent; + listArray[ i ].parent = new CKEDITOR.dom.element( listRoot.getName(), listRoot.getDocument() ); + } } for ( i = lastItem.getCustomData( 'listarray_index' ) + 1 ; diff --git a/phpgwapi/js/ckeditor3/_source/plugins/justify/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/justify/plugin.js index 82c1fccff5..1b3aaa5ec3 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/justify/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/justify/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -9,18 +9,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license (function() { - function getState( editor, path ) - { - var firstBlock = path.block || path.blockLimit; - - if ( !firstBlock || firstBlock.getName() == 'body' ) - return CKEDITOR.TRISTATE_OFF; - - return ( getAlignment( firstBlock, editor.config.useComputedState ) == this.value ) ? - CKEDITOR.TRISTATE_ON : - CKEDITOR.TRISTATE_OFF; - } - function getAlignment( element, useComputedState ) { useComputedState = useComputedState === undefined || useComputedState; @@ -40,7 +28,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license align = element.getStyle( 'text-align' ) || element.getAttribute( 'align' ) || ''; } - align && ( align = align.replace( /-moz-|-webkit-|start|auto/i, '' ) ); + // Sometimes computed values doesn't tell. + align && ( align = align.replace( /(?:-(?:moz|webkit)-)?(?:start|auto)/i, '' ) ); !align && useComputedState && ( align = element.getComputedStyle( 'direction' ) == 'rtl' ? 'right' : 'left' ); @@ -52,13 +41,12 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( evt.editor.readOnly ) return; - var command = evt.editor.getCommand( this.name ); - command.state = getState.call( this, evt.editor, evt.data.path ); - command.fire( 'state' ); + evt.editor.getCommand( this.name ).refresh( evt.data.path ); } function justifyCommand( editor, name, value ) { + this.editor = editor; this.name = name; this.value = value; @@ -192,6 +180,16 @@ For licensing, see LICENSE.html or http://ckeditor.com/license editor.focus(); editor.forceNextSelectionCheck(); selection.selectBookmarks( bookmarks ); + }, + + refresh : function( path ) + { + var firstBlock = path.block || path.blockLimit; + + this.setState( firstBlock.getName() != 'body' && + getAlignment( firstBlock, this.editor.config.useComputedState ) == this.value ? + CKEDITOR.TRISTATE_ON : + CKEDITOR.TRISTATE_OFF ); } }; diff --git a/phpgwapi/js/ckeditor3/_source/plugins/keystrokes/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/keystrokes/plugin.js index b49a893a39..d0dc82e1cb 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/keystrokes/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/keystrokes/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/link/dialogs/anchor.js b/phpgwapi/js/ckeditor3/_source/plugins/link/dialogs/anchor.js index 1fbcc2afe7..c9b54c53ac 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/link/dialogs/anchor.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/link/dialogs/anchor.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -25,7 +25,7 @@ CKEDITOR.dialog.add( 'anchor', function( editor ) minHeight : 60, onOk : function() { - var name = this.getValueOf( 'info', 'txtName' ); + var name = CKEDITOR.tools.trim( this.getValueOf( 'info', 'txtName' ) ); var attributes = { name : name, diff --git a/phpgwapi/js/ckeditor3/_source/plugins/link/dialogs/link.js b/phpgwapi/js/ckeditor3/_source/plugins/link/dialogs/link.js index 3ad641bda4..238113a558 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/link/dialogs/link.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/link/dialogs/link.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -245,7 +245,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) // Find out whether we have any anchors in the editor. var anchors = retval.anchors = [], - item; + i, count, item; // For some browsers we set contenteditable="false" on anchors, making document.anchors not to include them, so we must traverse the links manually (#7893). if ( CKEDITOR.plugins.link.emptyAnchorFix ) @@ -261,7 +261,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) else { var anchorList = new CKEDITOR.dom.nodeList( editor.document.$.anchors ); - for ( var i = 0, count = anchorList.count(); i < count; i++ ) + for ( i = 0, count = anchorList.count(); i < count; i++ ) { item = anchorList.getItem( i ); anchors[ i ] = { name : item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) }; @@ -653,7 +653,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) type : 'html', id : 'noAnchors', style : 'text-align: center;', - html : '
' + CKEDITOR.tools.htmlEncode( linkLang.noAnchors ) + '
', + html : '
' + CKEDITOR.tools.htmlEncode( linkLang.noAnchors ) + '
', // Focus the first element defined in above html. focus : true, setup : function( data ) @@ -1328,14 +1328,15 @@ CKEDITOR.dialog.add( 'link', function( editor ) } + var selection = editor.getSelection(); + // Browser need the "href" fro copy/paste link to work. (#6641) attributes.href = attributes[ 'data-cke-saved-href' ]; if ( !this._.selectedElement ) { // Create element if current selection is collapsed. - var selection = editor.getSelection(), - ranges = selection.getRanges( true ); + var ranges = selection.getRanges( true ); if ( ranges.length == 1 && ranges[0].collapsed ) { // Short mailto link text view (#5736). @@ -1372,6 +1373,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) data.email.address : attributes[ 'data-cke-saved-href' ] ); } + selection.selectElement( element ); delete this._.selectedElement; } }, diff --git a/phpgwapi/js/ckeditor3/_source/plugins/link/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/link/plugin.js index 4442432bdf..7cf7144329 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/link/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/link/plugin.js @@ -1,10 +1,11 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.plugins.add( 'link', { + requires : [ 'fakeobjects', 'dialog' ], init : function( editor ) { // Add the link and unlink buttons. @@ -240,9 +241,7 @@ CKEDITOR.plugins.add( 'link', } }); } - }, - - requires : [ 'fakeobjects' ] + } } ); CKEDITOR.plugins.link = diff --git a/phpgwapi/js/ckeditor3/_source/plugins/list/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/list/plugin.js index ad791533b8..373f9142bc 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/list/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/list/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -14,7 +14,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var whitespaces = CKEDITOR.dom.walker.whitespaces(), bookmarks = CKEDITOR.dom.walker.bookmark(), - nonEmpty = function( node ){ return !( whitespaces( node ) || bookmarks( node ) ); }; + nonEmpty = function( node ){ return !( whitespaces( node ) || bookmarks( node ) );}, + blockBogus = CKEDITOR.dom.walker.bogus(); function cleanUpDirection( element ) { @@ -30,6 +31,17 @@ For licensing, see LICENSE.html or http://ckeditor.com/license } } + // Inheirt inline styles from another element. + function inheirtInlineStyles( parent, el ) + { + var style = parent.getAttribute( 'style' ); + + // Put parent styles before child styles. + style && el.setAttribute( 'style', + style.replace( /([^;])$/, '$1;' ) + + ( el.getAttribute( 'style' ) || '' ) ); + } + CKEDITOR.plugins.list = { /* * Convert a DOM list tree into a data structure that is easier to @@ -95,17 +107,20 @@ For licensing, see LICENSE.html or http://ckeditor.com/license baseIndex = 0; if ( !listArray || listArray.length < baseIndex + 1 ) return null; - var doc = listArray[ baseIndex ].parent.getDocument(), + var i, + doc = listArray[ baseIndex ].parent.getDocument(), retval = new CKEDITOR.dom.documentFragment( doc ), rootNode = null, currentIndex = baseIndex, indentLevel = Math.max( listArray[ baseIndex ].indent, 0 ), currentListItem = null, orgDir, + block, paragraphName = ( paragraphMode == CKEDITOR.ENTER_P ? 'p' : 'div' ); while ( 1 ) { - var item = listArray[ currentIndex ]; + var item = listArray[ currentIndex ], + itemGrandParent = item.grandparent; orgDir = item.element.getDirection( 1 ); @@ -122,7 +137,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( orgDir != rootNode.getDirection( 1 ) ) currentListItem.setAttribute( 'dir', orgDir ); - for ( var i = 0 ; i < item.contents.length ; i++ ) + for ( i = 0 ; i < item.contents.length ; i++ ) currentListItem.append( item.contents[i].clone( 1, 1 ) ); currentIndex++; } @@ -141,36 +156,62 @@ For licensing, see LICENSE.html or http://ckeditor.com/license currentListItem.append( listData.listNode ); currentIndex = listData.nextIndex; } - else if ( item.indent == -1 && !baseIndex && item.grandparent ) + else if ( item.indent == -1 && !baseIndex && itemGrandParent ) { - if ( listNodeNames[ item.grandparent.getName() ] ) + if ( listNodeNames[ itemGrandParent.getName() ] ) + { currentListItem = item.element.clone( false, true ); - else - { - // Create completely new blocks here. - if ( dir || item.element.hasAttributes() || paragraphMode != CKEDITOR.ENTER_BR ) - { - currentListItem = doc.createElement( paragraphName ); - item.element.copyAttributes( currentListItem, { type:1, value:1 } ); - - // There might be a case where there are no attributes in the element after all - // (i.e. when "type" or "value" are the only attributes set). In this case, if enterMode = BR, - // the current item should be a fragment. - if ( !dir && paragraphMode == CKEDITOR.ENTER_BR && !currentListItem.hasAttributes() ) - currentListItem = new CKEDITOR.dom.documentFragment( doc ); - } - else - currentListItem = new CKEDITOR.dom.documentFragment( doc ); - } - - if ( currentListItem.type == CKEDITOR.NODE_ELEMENT ) - { - if ( item.grandparent.getDirection( 1 ) != orgDir ) + if ( orgDir != itemGrandParent.getDirection( 1 ) ) currentListItem.setAttribute( 'dir', orgDir ); } + else + currentListItem = new CKEDITOR.dom.documentFragment( doc ); - for ( i = 0 ; i < item.contents.length ; i++ ) - currentListItem.append( item.contents[i].clone( 1, 1 ) ); + // Migrate all children to the new container, + // apply the proper text direction. + var dirLoose = itemGrandParent.getDirection( 1 ) != orgDir, + li = item.element, + className = li.getAttribute( 'class' ), + style = li.getAttribute( 'style' ); + + var needsBlock = currentListItem.type == + CKEDITOR.NODE_DOCUMENT_FRAGMENT && + ( paragraphMode != CKEDITOR.ENTER_BR || dirLoose || + style || className ); + + var child, count = item.contents.length; + for ( i = 0 ; i < count; i++ ) + { + child = item.contents[ i ]; + + if ( child.type == CKEDITOR.NODE_ELEMENT && child.isBlockBoundary() ) + { + // Apply direction on content blocks. + if ( dirLoose && !child.getDirection() ) + child.setAttribute( 'dir', orgDir ); + + inheirtInlineStyles( li, child ); + + className && child.addClass( className ); + } + else if ( needsBlock ) + { + // Establish new block to hold text direction and styles. + if ( !block ) + { + block = doc.createElement( paragraphName ); + dirLoose && block.setAttribute( 'dir', orgDir ); + } + + // Copy over styles to new block; + style && block.setAttribute( 'style', style ); + className && block.setAttribute( 'class', className ); + + block.append( child.clone( 1, 1 ) ); + } + + currentListItem.append( block || child.clone( 1, 1 ) ); + } if ( currentListItem.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT && currentIndex != listArray.length - 1 ) @@ -190,20 +231,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license } } - if ( currentListItem.type == CKEDITOR.NODE_ELEMENT && - currentListItem.getName() == paragraphName && - currentListItem.$.firstChild ) - { - currentListItem.trim(); - var firstChild = currentListItem.getFirst(); - if ( firstChild.type == CKEDITOR.NODE_ELEMENT && firstChild.isBlockBoundary() ) - { - var tmp = new CKEDITOR.dom.documentFragment( doc ); - currentListItem.moveChildren( tmp ); - currentListItem = tmp; - } - } - var currentListItemName = currentListItem.$.nodeName.toLowerCase(); if ( !CKEDITOR.env.ie && ( currentListItemName == 'div' || currentListItemName == 'p' ) ) currentListItem.appendBogus(); @@ -214,6 +241,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license else return null; + block = null; + if ( listArray.length <= currentIndex || Math.max( listArray[ currentIndex ].indent, 0 ) < indentLevel ) break; } @@ -286,17 +315,27 @@ For licensing, see LICENSE.html or http://ckeditor.com/license } var root = groupObj.root, - fakeParent = root.getDocument().createElement( this.type ); - // Copy all attributes, except from 'start' and 'type'. - root.copyAttributes( fakeParent, { start : 1, type : 1 } ); - // The list-style-type property should be ignored. - fakeParent.removeStyle( 'list-style-type' ); + doc = root.getDocument(), + listNode, + newListNode; for ( i = 0 ; i < selectedListItems.length ; i++ ) { var listIndex = selectedListItems[i].getCustomData( 'listarray_index' ); - listArray[listIndex].parent = fakeParent; + listNode = listArray[ listIndex ].parent; + + // Switch to new list node for this particular item. + if ( !listNode.is( this.type ) ) + { + newListNode = doc.createElement( this.type ); + // Copy all attributes, except from 'start' and 'type'. + listNode.copyAttributes( newListNode, { start : 1, type : 1 } ); + // The list-style-type property should be ignored. + newListNode.removeStyle( 'list-style-type' ); + listArray[ listIndex ].parent = newListNode; + } } + var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode ); var child, length = newList.listNode.getChildCount(); for ( i = 0 ; i < length && ( child = newList.listNode.getChild( i ) ) ; i++ ) @@ -483,19 +522,22 @@ For licensing, see LICENSE.html or http://ckeditor.com/license this.type = type; } - // Move direction attribute from root to list items. - function dirToListItems( list ) - { - var dir = list.getDirection(); - if ( dir ) - { - for ( var i = 0, children = list.getChildren(), child; child = children.getItem( i ), i < children.count(); i++ ) - { - if ( child.type == CKEDITOR.NODE_ELEMENT && child.is( 'li' ) && !child.getDirection() ) - child.setAttribute( 'dir', dir ); - } + var elementType = CKEDITOR.dom.walker.nodeType( CKEDITOR.NODE_ELEMENT ); - list.removeAttribute( 'dir' ); + // Merge child nodes with direction preserved. (#7448) + function mergeChildren( from, into, refNode, forward ) + { + var child, itemDir; + while ( ( child = from[ forward ? 'getLast' : 'getFirst' ]( elementType ) ) ) + { + if ( ( itemDir = child.getDirection( 1 ) ) !== into.getDirection( 1 ) ) + child.setAttribute( 'dir', itemDir ); + + child.remove(); + + refNode ? + child[ forward ? 'insertBefore' : 'insertAfter' ]( refNode ) : + into.append( child, forward ); } } @@ -640,30 +682,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license removeList.call( this, editor, groupObj, database ); } - // For all new lists created, merge adjacent, same type lists. + // For all new lists created, merge into adjacent, same type lists. for ( i = 0 ; i < listsCreated.length ; i++ ) - { - listNode = listsCreated[i]; - var mergeSibling, listCommand = this; - ( mergeSibling = function( rtl ){ - - var sibling = listNode[ rtl ? - 'getPrevious' : 'getNext' ]( CKEDITOR.dom.walker.whitespaces( true ) ); - if ( sibling && sibling.getName && - sibling.getName() == listCommand.type ) - { - - // In case to be merged lists have difference directions. (#7448) - if ( sibling.getDirection( 1 ) != listNode.getDirection( 1 ) ) - dirToListItems( listNode.getDirection() ? listNode : sibling ); - - sibling.remove(); - // Move children order by merge direction.(#3820) - sibling.moveChildren( listNode, rtl ); - } - } )(); - mergeSibling( 1 ); - } + mergeListSiblings( listsCreated[ i ] ); // Clean up, restore selection and update toolbar button states. CKEDITOR.dom.element.clearAllMarkers( database ); @@ -672,6 +693,26 @@ For licensing, see LICENSE.html or http://ckeditor.com/license } }; + // Merge list adjacent, of same type lists. + function mergeListSiblings( listNode ) + { + var mergeSibling; + ( mergeSibling = function( rtl ) + { + var sibling = listNode[ rtl ? 'getPrevious' : 'getNext' ]( nonEmpty ); + if ( sibling && sibling.type == CKEDITOR.NODE_ELEMENT && + sibling.is( listNode.getName() ) ) + { + // Move children order by merge direction.(#3820) + mergeChildren( listNode, sibling, null, !rtl ); + + listNode.remove(); + listNode = sibling; + } + } )(); + mergeSibling( 1 ); + } + var dtd = CKEDITOR.dtd; var tailNbspRegex = /[\t\r\n ]*(?: |\xa0)$/; @@ -734,6 +775,111 @@ For licensing, see LICENSE.html or http://ckeditor.com/license for ( i in dtd.$listItem ) defaultListHtmlFilterRules.elements[ i ] = getExtendNestedListFilter( true ); + // Check if node is block element that recieves text. + function isTextBlock( node ) + { + return node.type == CKEDITOR.NODE_ELEMENT && + ( node.getName() in CKEDITOR.dtd.$block || + node.getName() in CKEDITOR.dtd.$listItem ) && + CKEDITOR.dtd[ node.getName() ][ '#' ]; + } + + // Merge the visual line content at the cursor range into the block. + function joinNextLineToCursor( editor, cursor, nextCursor ) + { + editor.fire( 'saveSnapshot' ); + + // Merge with previous block's content. + nextCursor.enlarge( CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS ); + var frag = nextCursor.extractContents(); + + cursor.trim( false, true ); + var bm = cursor.createBookmark(); + + // Kill original bogus; + var currentPath = new CKEDITOR.dom.elementPath( cursor.startContainer ); + var currentLi = currentPath.lastElement.getAscendant( 'li', 1 ); + + var bogus = currentPath.block.getBogus(); + bogus && bogus.remove(); + + // Kill the tail br in extracted. + var last = frag.getLast(); + if ( last && last.type == CKEDITOR.NODE_ELEMENT && last.is( 'br' ) ) + last.remove(); + + // Insert fragment at the range position. + var nextNode = cursor.startContainer.getChild( cursor.startOffset ); + if ( nextNode ) + frag.insertBefore( nextNode ); + else + cursor.startContainer.append( frag ); + + var nextPath = new CKEDITOR.dom.elementPath( nextCursor.startContainer ); + var nextLi = nextCursor.startContainer.getAscendant( 'li', 1 ); + + // Move the sub list nested in the next list item. + if ( nextLi ) + { + var sublist = getSubList( nextLi ); + if ( sublist ) + { + // If next line is in the sub list of the current list item. + if ( currentLi.contains( nextLi ) ) + { + mergeChildren( sublist, nextLi.getParent(), nextLi ); + sublist.remove(); + } + // Migrate the sub list to current list item. + else + currentLi.append( sublist ); + } + } + + // Remove any remaining empty path blocks at next line after merging. + while ( nextCursor.checkStartOfBlock() && + nextCursor.checkEndOfBlock() ) + { + nextPath = new CKEDITOR.dom.elementPath( nextCursor.startContainer ); + var nextBlock = nextPath.block, parent; + + // Check if also to remove empty list. + if ( nextBlock.is( 'li' ) ) + { + parent = nextBlock.getParent(); + if ( nextBlock.equals( parent.getLast( nonEmpty ) ) + && nextBlock.equals( parent.getFirst( nonEmpty ) ) ) + nextBlock = parent; + } + + nextCursor.moveToPosition( nextBlock, CKEDITOR.POSITION_BEFORE_START ); + nextBlock.remove(); + } + + // Check if need to further merge with the list resides after the merged block. (#9080) + var walkerRng = nextCursor.clone(), body = editor.document.getBody(); + walkerRng.setEndAt( body, CKEDITOR.POSITION_BEFORE_END ); + var walker = new CKEDITOR.dom.walker( walkerRng ); + walker.evaluator = function( node ) { return nonEmpty( node ) && !blockBogus( node ); }; + var next = walker.next(); + if ( next && next.type == CKEDITOR.NODE_ELEMENT && next.getName() in CKEDITOR.dtd.$list ) + mergeListSiblings( next ); + + cursor.moveToBookmark( bm ); + + // Make fresh selection. + cursor.select(); + + editor.selectionChange( 1 ); + editor.fire( 'saveSnapshot' ); + } + + function getSubList( li ) + { + var last = li.getLast( nonEmpty ); + return last && last.type == CKEDITOR.NODE_ELEMENT && last.getName() in listNodeNames ? last : null; + } + CKEDITOR.plugins.add( 'list', { init : function( editor ) @@ -757,6 +903,124 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Register the state changing handlers. editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, numberedListCommand ) ); editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, bulletedListCommand ) ); + + // Handled backspace/del key to join list items. (#8248,#9080) + editor.on( 'key', function( evt ) + { + var key = evt.data.keyCode; + + // DEl/BACKSPACE + if ( editor.mode == 'wysiwyg' && key in { 8 : 1, 46 : 1 } ) + { + var sel = editor.getSelection(), + range = sel.getRanges()[ 0 ]; + + if ( !range.collapsed ) + return; + + var isBackspace = key == 8; + var body = editor.document.getBody(); + var walker = new CKEDITOR.dom.walker( range.clone() ); + walker.evaluator = function( node ) { return nonEmpty( node ) && !blockBogus( node ); }; + + var cursor = range.clone(); + + if ( isBackspace ) + { + var previous, joinWith; + + var path = new CKEDITOR.dom.elementPath( range.startContainer ); + + // Join a sub list's first line, with the previous visual line in parent. + if ( ( previous = path.contains( listNodeNames ) ) && + range.checkBoundaryOfElement( previous, CKEDITOR.START ) && + ( previous = previous.getParent() ) && previous.is( 'li' ) && + ( previous = getSubList( previous ) ) ) + { + joinWith = previous; + previous = previous.getPrevious( nonEmpty ); + // Place cursor before the nested list. + cursor.moveToPosition( + previous && blockBogus( previous ) ? previous : joinWith, + CKEDITOR.POSITION_BEFORE_START ); + } + // Join any line following a list, with the last visual line of the list. + else + { + walker.range.setStartAt( body, CKEDITOR.POSITION_AFTER_START ); + walker.range.setEnd( range.startContainer, range.startOffset ); + previous = walker.previous(); + + if ( previous && previous.type == CKEDITOR.NODE_ELEMENT && + ( previous.getName() in listNodeNames || previous.is( 'li' ) ) ) + { + if ( !previous.is( 'li' ) ) + { + walker.range.selectNodeContents( previous ); + walker.reset(); + walker.evaluator = isTextBlock; + previous = walker.previous(); + } + + joinWith = previous; + // Place cursor at the end of previous block. + cursor.moveToElementEditEnd( joinWith ); + } + } + + if ( joinWith ) + { + joinNextLineToCursor( editor, cursor, range ); + evt.cancel(); + } + } + else + { + var li = range.startContainer.getAscendant( 'li', 1 ); + if ( li ) + { + walker.range.setEndAt( body, CKEDITOR.POSITION_BEFORE_END ); + + var last = li.getLast( nonEmpty ); + var block = last && isTextBlock( last ) ? last : li; + + // Indicate cursor at the visual end of an list item. + var isAtEnd = 0; + + var next = walker.next(); + + // When list item contains a sub list. + if ( next && next.type == CKEDITOR.NODE_ELEMENT && + next.getName() in listNodeNames + && next.equals( last ) ) + { + isAtEnd = 1; + + // Move to the first item in sub list. + next = walker.next(); + } + // Right at the end of list item. + else if ( range.checkBoundaryOfElement( block, CKEDITOR.END ) ) + isAtEnd = 1; + + + if ( isAtEnd && next ) + { + // Put cursor range there. + var nextLine = range.clone(); + nextLine.moveToElementEditStart( next ); + + joinNextLineToCursor( editor, cursor, nextLine ); + evt.cancel(); + } + } + } + + // The backspace/del could potentially put cursor at a bad position, + // being it handled or not, check immediately the selection to have it fixed. + setTimeout( function() { editor.selectionChange( 1 ); } ); + } + } ); }, afterInit : function ( editor ) diff --git a/phpgwapi/js/ckeditor3/_source/plugins/listblock/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/listblock/plugin.js index e22956b895..c505f0eefa 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/listblock/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/listblock/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -100,8 +100,7 @@ CKEDITOR.plugins.add( 'listblock', ' href="javascript:void(\'', value, '\')" ' + ( CKEDITOR.env.ie ? 'onclick="return false;" onmouseup' : 'onclick' ) + // #188 '="CKEDITOR.tools.callFunction(', this._.getClick(), ',\'', value, '\'); return false;"', - ' role="option"' + - ' aria-posinset="' + ++this._.size + '">', + ' role="option">', html || value, '' + '' ); @@ -122,11 +121,6 @@ CKEDITOR.plugins.add( 'listblock', { this._.close(); this.element.appendHtml( this._.pendingHtml.join( '' ) ); - - var items = this._.items, - doc = this.element.getDocument(); - for ( var value in items ) - doc.getById( items[ value ] + '_option' ).setAttribute( 'aria-setsize', this._.size ); delete this._.size; this._.pendingHtml = []; diff --git a/phpgwapi/js/ckeditor3/_source/plugins/liststyle/dialogs/liststyle.js b/phpgwapi/js/ckeditor3/_source/plugins/liststyle/dialogs/liststyle.js index 67610228d6..5b776ed4dd 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/liststyle/dialogs/liststyle.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/liststyle/dialogs/liststyle.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. + * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/liststyle/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/liststyle/plugin.js index 02f1837750..e99b339b7d 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/liststyle/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/liststyle/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/maximize/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/maximize/plugin.js index 97ac0b0f3e..9e9676a3af 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/maximize/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/maximize/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/menu/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/menu/plugin.js index 0165d31041..265604c15d 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/menu/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/menu/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -175,10 +175,11 @@ CKEDITOR.plugins.add( 'menu', onHide : function() { - if ( CKEDITOR.env.ie ) + // Unlock the selection upon first panel closing. + if ( CKEDITOR.env.ie && !this.parent ) { var selection = this.editor.getSelection(); - selection && selection.unlock(); + selection && selection.unlock( true ); } this.onHide && this.onHide(); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/menubutton/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/menubutton/plugin.js index 6f07531797..1bb6599ca3 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/menubutton/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/menubutton/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/newpage/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/newpage/plugin.js index fe73dbe231..ab188745c5 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/newpage/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/newpage/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -26,7 +26,7 @@ CKEDITOR.plugins.add( 'newpage', { editor.fire( 'afterCommandExec', { - name: command.name, + name: 'newpage', command: command } ); editor.selectionChange(); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/pagebreak/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/pagebreak/plugin.js index ac7653f3af..3b54b681ba 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/pagebreak/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/pagebreak/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/panel/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/panel/plugin.js index 2f2bc2cce6..6dc1616402 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/panel/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/panel/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -156,13 +156,10 @@ CKEDITOR.ui.panel.prototype = '' + '' + '' + + CKEDITOR.tools.buildStyleHtml( this.css ) + '' + '' + - // It looks strange, but for FF2, the styles must go - // after , so it (body) becames immediatelly - // available. (#3031) - CKEDITOR.tools.buildStyleHtml( this.css ) + '<\/html>'; doc.write( data ); @@ -227,13 +224,12 @@ CKEDITOR.ui.panel.prototype = { var blocks = this._.blocks, block = blocks[ name ], - current = this._.currentBlock, - holder = this.forceIFrame ? - this.document.getById( this.id + '_frame' ) - : this._.holder; + current = this._.currentBlock; - // Disable context menu for block panel. - holder.getParent().getParent().disableContextMenu(); + // ARIA role works better in IE on the body element, while on the iframe + // for FF. (#8864) + var holder = !this.forceIFrame || CKEDITOR.env.ie ? + this._.holder : this.document.getById( this.id + '_frame' ); if ( current ) { diff --git a/phpgwapi/js/ckeditor3/_source/plugins/panelbutton/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/panelbutton/plugin.js index eba97cd3ff..078b398cfe 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/panelbutton/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/panelbutton/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/pastefromword/filter/default.js b/phpgwapi/js/ckeditor3/_source/plugins/pastefromword/filter/default.js index 2eb948dab8..353e4bfc5e 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/pastefromword/filter/default.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/pastefromword/filter/default.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/pastefromword/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/pastefromword/plugin.js index c9bd2ec65d..5686c303e7 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/pastefromword/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/pastefromword/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ (function() diff --git a/phpgwapi/js/ckeditor3/_source/plugins/pastetext/dialogs/pastetext.js b/phpgwapi/js/ckeditor3/_source/plugins/pastetext/dialogs/pastetext.js index 56143df933..025683763b 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/pastetext/dialogs/pastetext.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/pastetext/dialogs/pastetext.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/pastetext/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/pastetext/plugin.js index 42dbf5dd9c..33eb8cdcb8 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/pastetext/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/pastetext/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/dialogs/placeholder.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/dialogs/placeholder.js index d709b38e51..94c8c9e2a5 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/dialogs/placeholder.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/dialogs/placeholder.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. + * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/_translationstatus.txt b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/_translationstatus.txt new file mode 100644 index 0000000000..0485f8e8b0 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/_translationstatus.txt @@ -0,0 +1,27 @@ +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +bg.js Found: 5 Missing: 0 +cs.js Found: 5 Missing: 0 +cy.js Found: 5 Missing: 0 +da.js Found: 5 Missing: 0 +de.js Found: 5 Missing: 0 +el.js Found: 5 Missing: 0 +eo.js Found: 5 Missing: 0 +et.js Found: 5 Missing: 0 +fa.js Found: 5 Missing: 0 +fi.js Found: 5 Missing: 0 +fr.js Found: 5 Missing: 0 +he.js Found: 5 Missing: 0 +hr.js Found: 5 Missing: 0 +it.js Found: 5 Missing: 0 +nb.js Found: 5 Missing: 0 +nl.js Found: 5 Missing: 0 +no.js Found: 5 Missing: 0 +pl.js Found: 5 Missing: 0 +pt-br.js Found: 5 Missing: 0 +tr.js Found: 5 Missing: 0 +ug.js Found: 5 Missing: 0 +uk.js Found: 5 Missing: 0 +vi.js Found: 4 Missing: 1 +zh-cn.js Found: 5 Missing: 0 diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/bg.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/bg.js new file mode 100644 index 0000000000..370c56f84b --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/bg.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'bg', +{ + placeholder : + { + title : 'Настройки на контейнера', + toolbar : 'Нов контейнер', + text : 'Текст за контейнера', + edit : 'Промяна на контейнер', + textMissing : 'Контейнера трябва да съдържа текст.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/cs.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/cs.js new file mode 100644 index 0000000000..561f2589c1 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/cs.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'cs', +{ + placeholder : + { + title : 'Vlastnosti vyhrazeného prostoru', + toolbar : 'Vytvořit vyhrazený prostor', + text : 'Vyhrazený text', + edit : 'Upravit vyhrazený prostor', + textMissing : 'Vyhrazený prostor musí obsahovat text.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/cy.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/cy.js new file mode 100644 index 0000000000..047f2004ab --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/cy.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'cy', +{ + placeholder : + { + title : 'Priodweddau\'r Daliwr Geiriau', + toolbar : 'Creu Daliwr Geiriau', + text : 'Testun y Daliwr Geiriau', + edit : 'Golygu\'r Dailwr Geiriau', + textMissing : 'Mae\'n rhaid i\'r daliwr geiriau gynnwys testun.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/da.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/da.js new file mode 100644 index 0000000000..e7fb744129 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/da.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'da', +{ + placeholder : + { + title : 'Egenskaber for pladsholder', + toolbar : 'Opret pladsholder', + text : 'Tekst til pladsholder', + edit : 'Redigér pladsholder', + textMissing : 'Pladsholder skal indeholde tekst' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/de.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/de.js new file mode 100644 index 0000000000..b30c7aca35 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/de.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'de', +{ + placeholder : + { + title : 'Platzhalter Einstellungen', + toolbar : 'Platzhalter erstellen', + text : 'Platzhalter Text', + edit : 'Platzhalter bearbeiten', + textMissing : 'Der Platzhalter muss einen Text beinhalten.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/el.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/el.js new file mode 100644 index 0000000000..7318f4d02f --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/el.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'el', +{ + placeholder : + { + title : 'Ιδιότητες Υποκατάστατου Κειμένου', + toolbar : 'Δημιουργία Υποκατάσταστου Κειμένου', + text : 'Υποκαθιστόμενο Κείμενο', + edit : 'Επεξεργασία Υποκατάσταστου Κειμένου', + textMissing : 'Πρέπει να υπάρχει υποκαθιστόμενο κείμενο.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/en.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/en.js index 3cff992bc1..060850c492 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/en.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/en.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/eo.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/eo.js new file mode 100644 index 0000000000..865829e66e --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/eo.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'eo', +{ + placeholder : + { + title : 'Atributoj de la rezervita spaco', + toolbar : 'Krei la rezervitan spacon', + text : 'Texto de la rezervita spaco', + edit : 'Modifi la rezervitan spacon', + textMissing : 'La rezervita spaco devas enteni tekston.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/et.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/et.js new file mode 100644 index 0000000000..b874dff738 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/et.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'et', +{ + placeholder : + { + title : 'Kohahoidja omadused', + toolbar : 'Kohahoidja loomine', + text : 'Kohahoidja tekst', + edit : 'Kohahoidja muutmine', + textMissing : 'Kohahoidja peab sisaldama teksti.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/fa.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/fa.js new file mode 100644 index 0000000000..2479185609 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/fa.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'fa', +{ + placeholder : + { + title : 'ویژگیهای محل نگهداری', + toolbar : 'ایجاد یک محل نگهداری', + text : 'متن محل نگهداری', + edit : 'ویرایش محل نگهداری', + textMissing : 'محل نگهداری باید محتوی متن باشد.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/fi.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/fi.js new file mode 100644 index 0000000000..a36c2ad452 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/fi.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'fi', +{ + placeholder : + { + title : 'Paikkamerkin ominaisuudet', + toolbar : 'Luo paikkamerkki', + text : 'Paikkamerkin teksti', + edit : 'Muokkaa paikkamerkkiä', + textMissing : 'Paikkamerkin täytyy sisältää tekstiä' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/fr.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/fr.js new file mode 100644 index 0000000000..43e7021d9a --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/fr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'fr', +{ + placeholder : + { + title : 'Propriétés de l\'Espace réservé', + toolbar : 'Créer l\'Espace réservé', + text : 'Texte de l\'Espace réservé', + edit : 'Modifier l\'Espace réservé', + textMissing : 'L\'Espace réservé doit contenir du texte.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/he.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/he.js index 14814e82e2..5dfc09f345 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/he.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/he.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/hr.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/hr.js new file mode 100644 index 0000000000..5434aab054 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/hr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'hr', +{ + placeholder : + { + title : 'Svojstva rezerviranog mjesta', + toolbar : 'Napravi rezervirano mjesto', + text : 'Tekst rezerviranog mjesta', + edit : 'Uredi rezervirano mjesto', + textMissing : 'Rezervirano mjesto mora sadržavati tekst.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/it.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/it.js new file mode 100644 index 0000000000..7b9b1b3aca --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/it.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'it', +{ + placeholder : + { + title : 'Proprietà segnaposto', + toolbar : 'Crea segnaposto', + text : 'Testo segnaposto', + edit : 'Modifica segnaposto', + textMissing : 'Il segnaposto deve contenere del testo.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/nb.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/nb.js new file mode 100644 index 0000000000..7bdfe3155c --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/nb.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'nb', +{ + placeholder : + { + title : 'Egenskaper for plassholder', + toolbar : 'Opprett plassholder', + text : 'Tekst for plassholder', + edit : 'Rediger plassholder', + textMissing : 'Plassholderen må inneholde tekst.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/nl.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/nl.js new file mode 100644 index 0000000000..1f9de6b6c0 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/nl.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'nl', +{ + placeholder : + { + title : 'Eigenschappen placeholder', + toolbar : 'Placeholder aanmaken', + text : 'Placeholder tekst', + edit : 'Placeholder wijzigen', + textMissing : 'De placeholder moet tekst bevatten.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/no.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/no.js new file mode 100644 index 0000000000..30560f56db --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/no.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'no', +{ + placeholder : + { + title : 'Egenskaper for plassholder', + toolbar : 'Opprett plassholder', + text : 'Tekst for plassholder', + edit : 'Rediger plassholder', + textMissing : 'Plassholderen må inneholde tekst.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/pl.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/pl.js new file mode 100644 index 0000000000..b66ca0a74a --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/pl.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'pl', +{ + placeholder : + { + title : 'Właściwości wypełniacza', + toolbar : 'Utwórz wypełniacz', + text : 'Tekst wypełnienia', + edit : 'Edytuj wypełnienie', + textMissing : 'Wypełnienie musi posiadać jakiś tekst.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/pt-br.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/pt-br.js new file mode 100644 index 0000000000..5a3c6f1852 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/pt-br.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'pt-br', +{ + placeholder : + { + title : 'Propriedades do Espaço Reservado', + toolbar : 'Criar Espaço Reservado', + text : 'Texto do Espaço Reservado', + edit : 'Editar Espaço Reservado', + textMissing : 'O espaço reservado deve conter texto.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/tr.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/tr.js new file mode 100644 index 0000000000..13a0bd72a9 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/tr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'tr', +{ + placeholder : + { + title : 'Yer tutucu özellikleri', + toolbar : 'Yer tutucu oluşturun', + text : 'Yer tutucu metini', + edit : 'Yer tutucuyu düzenle', + textMissing : 'Yer tutucu metin içermelidir.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/ug.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/ug.js new file mode 100644 index 0000000000..53f687c5fb --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/ug.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'ug', +{ + placeholder : + { + title : 'ئورۇن بەلگە خاسلىقى', + toolbar : 'ئورۇن بەلگە قۇر', + text : 'ئورۇن بەلگە تېكىستى', + edit : 'ئورۇن بەلگە تەھرىر', + textMissing : 'ئورۇن بەلگىسىدە چوقۇم تېكىست بولۇشى لازىم' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/uk.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/uk.js new file mode 100644 index 0000000000..eb0b5f8140 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/uk.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'uk', +{ + placeholder : + { + title : 'Налаштування Заповнювача', + toolbar : 'Створити Заповнювач', + text : 'Текст Заповнювача', + edit : 'Редагувати Заповнювач', + textMissing : 'Заповнювач повинен містити текст.' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/vi.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/vi.js new file mode 100644 index 0000000000..355d7c3349 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/vi.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'vi', +{ + placeholder : + { + title : 'Thuộc tính đặt chỗ', + toolbar : 'Tạo đặt chỗ', + text : 'Văn bản đặt chỗ', + edit : 'Chỉnh sửa ', + textMissing : 'The placeholder must contain text.' // MISSING + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/zh-cn.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/zh-cn.js new file mode 100644 index 0000000000..ee162af973 --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/lang/zh-cn.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'zh-cn', +{ + placeholder : + { + title : '占位符属性', + toolbar : '创建占位符', + text : '占位符文字', + edit : '编辑占位符', + textMissing : '占位符必需包含有文字' + } +}); diff --git a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/plugin.js index 503f08acf4..1d5df8c51f 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/placeholder/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/placeholder/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -14,7 +14,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.plugins.add( 'placeholder', { requires : [ 'dialog' ], - lang : [ 'en', 'he' ], + lang : [ 'bg', 'cs', 'cy', 'da', 'de', 'el', 'en', 'eo', 'et', 'fa', 'fi', 'fr', 'he', 'hr', 'it', 'nb', 'nl', 'no', 'pl', 'pt-br', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ], init : function( editor ) { var lang = editor.lang.placeholder; diff --git a/phpgwapi/js/ckeditor3/_source/plugins/popup/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/popup/plugin.js index a2e1f33471..70fb75e155 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/popup/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/popup/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -49,8 +49,13 @@ CKEDITOR.tools.extend( CKEDITOR.editor.prototype, try { - popupWindow.moveTo( left, top ); - popupWindow.resizeTo( width, height ); + // Chrome is problematic with moveTo/resizeTo, but it's not really needed here (#8855). + var ua = navigator.userAgent.toLowerCase(); + if ( ua.indexOf( ' chrome/' ) == -1 ) + { + popupWindow.moveTo( left, top ); + popupWindow.resizeTo( width, height ); + } popupWindow.focus(); popupWindow.location.href = url; } diff --git a/phpgwapi/js/ckeditor3/_source/plugins/preview/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/preview/plugin.js index a835c194f2..da2e1fc1a1 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/preview/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/preview/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -9,6 +9,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license (function() { + var pluginPath; + var previewCmd = { modes : { wysiwyg:1, source:1 }, @@ -79,10 +81,18 @@ For licensing, see LICENSE.html or http://ckeditor.com/license '})() )'; } + // With Firefox only, we need to open a special preview page, so + // anchors will work properly on it. (#9047) + if ( CKEDITOR.env.gecko ) + { + window._cke_htmlToLoad = sHTML; + sOpenUrl = pluginPath + 'preview.html'; + } + var oWindow = window.open( sOpenUrl, null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + iWidth + ',height=' + iHeight + ',left=' + iLeft ); - if ( !isCustomDomain ) + if ( !isCustomDomain && !CKEDITOR.env.gecko ) { var doc = oWindow.document; doc.open(); @@ -102,6 +112,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { init : function( editor ) { + pluginPath = this.path; + editor.addCommand( pluginName, previewCmd ); editor.ui.addButton( 'Preview', { diff --git a/phpgwapi/js/ckeditor3/_source/plugins/preview/preview.html b/phpgwapi/js/ckeditor3/_source/plugins/preview/preview.html new file mode 100644 index 0000000000..5745b7abaa --- /dev/null +++ b/phpgwapi/js/ckeditor3/_source/plugins/preview/preview.html @@ -0,0 +1,10 @@ + diff --git a/phpgwapi/js/ckeditor3/_source/plugins/print/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/print/plugin.js index cc26932fbf..5f27770783 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/print/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/print/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/removeformat/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/removeformat/plugin.js index 066fce6ce8..d031a65f56 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/removeformat/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/removeformat/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/resize/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/resize/plugin.js index 9f824b0086..3fbec77c64 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/resize/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/resize/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -44,7 +44,8 @@ CKEDITOR.plugins.add( 'resize', if ( resizeVertical ) height = Math.max( config.resize_minHeight, Math.min( internalHeight, config.resize_maxHeight ) ); - editor.resize( width, height ); + // DO NOT impose fixed size with single direction resize. (#6308) + editor.resize( resizeHorizontal ? width : null, height ); } function dragEndHandler ( evt ) diff --git a/phpgwapi/js/ckeditor3/_source/plugins/richcombo/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/richcombo/plugin.js index 1fa8f34b96..791dede82a 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/richcombo/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/richcombo/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/save/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/save/plugin.js index 4a075b5ab8..50bb16841f 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/save/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/save/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/scayt/dialogs/options.js b/phpgwapi/js/ckeditor3/_source/plugins/scayt/dialogs/options.js index 3bd9916309..f60eee9052 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/scayt/dialogs/options.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/scayt/dialogs/options.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/scayt/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/scayt/plugin.js index c945735ce6..336fb3ab7e 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/scayt/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/scayt/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/phpgwapi/js/ckeditor3/_source/plugins/selection/plugin.js b/phpgwapi/js/ckeditor3/_source/plugins/selection/plugin.js index 39c6db7d76..3a0a181d29 100644 --- a/phpgwapi/js/ckeditor3/_source/plugins/selection/plugin.js +++ b/phpgwapi/js/ckeditor3/_source/plugins/selection/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -162,11 +162,54 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var fillingChar = doc && doc.removeCustomData( 'cke-fillingChar' ); if ( fillingChar ) { + var bm, + sel = doc.getSelection().getNative(), + // Be error proof. + range = sel && sel.type != 'None' && sel.getRangeAt( 0 ); + + // Text selection position might get mangled by + // subsequent dom modification, save it now for restoring. (#8617) + if ( fillingChar.getLength() > 1 + && range && range.intersectsNode( fillingChar.$ ) ) + { + bm = [ sel.anchorOffset, sel.focusOffset ]; + + // Anticipate the offset change brought by the removed char. + var startAffected = sel.anchorNode == fillingChar.$ && sel.anchorOffset > 0, + endAffected = sel.focusNode == fillingChar.$ && sel.focusOffset > 0; + startAffected && bm[ 0 ]--; + endAffected && bm[ 1 ]--; + + // Revert the bookmark order on reverse selection. + isReversedSelection( sel ) && bm.unshift( bm.pop() ); + } + // We can't simply remove the filling node because the user // will actually enlarge it when typing, so we just remove the // invisible char from it. fillingChar.setText( fillingChar.getText().replace( /\u200B/g, '' ) ); - fillingChar = 0; + + // Restore the bookmark. + if ( bm ) + { + var rng = sel.getRangeAt( 0 ); + rng.setStart( rng.startContainer, bm[ 0 ] ); + rng.setEnd( rng.startContainer, bm[ 1 ] ); + sel.removeAllRanges(); + sel.addRange( rng ); + } + } + } + + function isReversedSelection( sel ) + { + if ( !sel.isCollapsed ) + { + var range = sel.getRangeAt( 0 ); + // Potentially alter an reversed selection range. + range.setStart( sel.anchorNode, sel.anchorOffset ); + range.setEnd( sel.focusNode, sel.focusOffset ); + return range.collapsed; } } @@ -180,20 +223,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { editor.on( 'selectionChange', function() { checkFillingChar( editor.document ); } ); editor.on( 'beforeSetMode', function() { removeFillingChar( editor.document ); } ); - editor.on( 'key', function( e ) - { - // Remove the filling char before some keys get - // executed, so they'll not get blocked by it. - switch ( e.data.keyCode ) - { - case 13 : // ENTER - case CKEDITOR.SHIFT + 13 : // SHIFT-ENTER - case 37 : // LEFT-ARROW - case 39 : // RIGHT-ARROW - case 8 : // BACKSPACE - removeFillingChar( editor.document ); - } - }, null, null, 10 ); var fillingCharBefore, resetSelection; @@ -264,29 +293,22 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( evt.data.$.srcElement.nodeName != 'BODY' ) return; - // If we have saved a range, restore it at this - // point. - if ( savedRange ) + // Give the priority to locked selection since it probably + // reflects the actual situation, besides locked selection + // could be interfered because of text nodes normalizing. + // (#6083, #6987) + var lockedSelection = doc.getCustomData( 'cke_locked_selection' ); + if ( lockedSelection ) { - if ( restoreEnabled ) - { - // Well not break because of this. - try - { - savedRange.select(); - } - catch (e) - {} - - // Update locked selection because of the normalized text nodes. (#6083, #6987) - var lockedSelection = doc.getCustomData( 'cke_locked_selection' ); - if ( lockedSelection ) - { - lockedSelection.unlock(); - lockedSelection.lock(); - } - } - + lockedSelection.unlock( 1 ); + lockedSelection.lock(); + } + // Then check ff we have saved a range, restore it at this + // point. + else if ( savedRange && restoreEnabled ) + { + // Well not break because of this. + try { savedRange.select(); } catch (e) {} savedRange = null; } }); @@ -311,20 +333,21 @@ For licensing, see LICENSE.html or http://ckeditor.com/license restoreEnabled = 1; }); - // IE before version 8 will leave cursor blinking inside the document after - // editor blurred unless we clean up the selection. (#4716) - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 ) + // [IE] Iframe will still keep the selection when blurred, if + // focus is moved onto a non-editing host, e.g. link or button, but + // it becomes a problem for the object type selection, since the resizer + // handler attached on it will mark other part of the UI, especially + // for the dialog. (#8157) + // [IE<8] Even worse For old IEs, the cursor will not vanish even if + // the selection has been moved to another text input in some cases. (#4716) + // + // Now the range restore is disabled, so we simply force IE to clean + // up the selection before blur. + CKEDITOR.env.ie && editor.on( 'blur', function() { - editor.on( 'blur', function( evt ) - { - // Try/Catch to avoid errors if the editor is hidden. (#6375) - try - { - editor.document && editor.document.$.selection.empty(); - } - catch (e) {} - }); - } + // Error proof when the editor is not visible. (#6375) + try{ doc.$.selection.empty(); } catch ( er){} + }); // Listening on document element ensures that // scrollbar is included. (#5280) @@ -341,20 +364,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license restoreEnabled = 1; }); - // In IE6/7 the blinking cursor appears, but contents are - // not editable. (#5634) - if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.version < 8 || CKEDITOR.env.quirks ) ) - { - // The 'click' event is not fired when clicking the - // scrollbars, so we can use it to check whether - // the empty space following has been clicked. - html.on( 'click', function( evt ) - { - if ( evt.data.getTarget().getName() == 'html' ) - editor.getSelection().getRanges()[ 0 ].select(); - }); - } - var scroll; // IE fires the "selectionchange" event when clicking // inside a selection. We don't want to capture that. @@ -399,6 +408,87 @@ For licensing, see LICENSE.html or http://ckeditor.com/license saveSelection(); }); + // When content doc is in standards mode, IE doesn't focus the editor when + // clicking at the region below body (on html element) content, we emulate + // the normal behavior on old IEs. (#1659, #7932) + if ( ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) + && doc.$.compatMode != 'BackCompat' ) + { + function moveRangeToPoint( range, x, y ) + { + // Error prune in IE7. (#9034, #9110) + try { range.moveToPoint( x, y ); } catch ( e ) {} + } + + html.on( 'mousedown', function( evt ) + { + // Expand the text range along with mouse move. + function onHover( evt ) + { + evt = evt.data.$; + if ( textRng ) + { + // Read the current cursor. + var rngEnd = body.$.createTextRange(); + + moveRangeToPoint( rngEnd, evt.x, evt.y ); + + // Handle drag directions. + textRng.setEndPoint( + textRng.compareEndPoints( 'StartToStart', rngEnd ) < 0 ? + 'EndToEnd' : + 'StartToStart', + rngEnd ); + + // Update selection with new range. + textRng.select(); + } + } + + evt = evt.data.$; + + // We're sure that the click happens at the region + // below body, but not on scrollbar. + if ( evt.y < html.$.clientHeight + && evt.y > body.$.offsetTop + body.$.clientHeight + && evt.x < html.$.clientWidth ) + { + // Start to build the text range. + var textRng = body.$.createTextRange(); + moveRangeToPoint( textRng, evt.x, evt.y ); + + html.on( 'mousemove', onHover ); + + html.on( 'mouseup', function( evt ) + { + html.removeListener( 'mousemove', onHover ); + evt.removeListener(); + + // Make it in effect on mouse up. (#9022) + textRng.select(); + } ); + } + }); + } + + // It's much simpler for IE8, we just need to reselect the reported range. + if ( CKEDITOR.env.ie8 ) + { + html.on( 'mouseup', function( evt ) + { + // The event is not fired when clicking on the scrollbars, + // so we can safely check the following to understand + // whether the empty space following has been clicked. + if ( evt.data.getTarget().getName() == 'html' ) + { + var sel = CKEDITOR.document.$.selection, + range = sel.createRange(); + // The selection range is reported on host, but actually it should applies to the content doc. + if ( sel.type != 'None' && range.parentElement().ownerDocument == doc.$ ) + range.select(); + } + } ); + } // IE is the only to provide the "selectionchange" // event. @@ -465,6 +555,31 @@ For licensing, see LICENSE.html or http://ckeditor.com/license doc.on( 'keyup', checkSelectionChangeTimeout, editor ); doc.on( 'selectionchange', checkSelectionChangeTimeout, editor ); } + + if ( CKEDITOR.env.webkit ) + { + doc.on( 'keydown', function( evt ) + { + var key = evt.data.getKey(); + // Remove the filling char before some keys get + // executed, so they'll not get blocked by it. + switch ( key ) + { + case 13 : // ENTER + case 33 : // PAGEUP + case 34 : // PAGEDOWN + case 35 : // HOME + case 36 : // END + case 37 : // LEFT-ARROW + case 39 : // RIGHT-ARROW + case 8 : // BACKSPACE + case 45 : // INS + case 46 : // DEl + removeFillingChar( editor.document ); + } + + }, null, null, 10 ); + } }); // Clear the cached range path before unload. (#7174) @@ -477,7 +592,16 @@ For licensing, see LICENSE.html or http://ckeditor.com/license command : 'selectAll' }); - editor.selectionChange = checkSelectionChangeTimeout; + /** + * Check if to fire the {@link CKEDITOR.editor#selectionChange} event + * for the current editor instance. + * + * @param {Boolean} checkNow Check immediately without any delay. + */ + editor.selectionChange = function( checkNow ) + { + ( checkNow ? checkSelectionChange : checkSelectionChangeTimeout ).call( this ); + }; // IE9 might cease to work if there's an object selection inside the iframe (#7639). CKEDITOR.env.ie9Compat && editor.on( 'destroy', function() @@ -573,10 +697,18 @@ For licensing, see LICENSE.html or http://ckeditor.com/license */ if ( CKEDITOR.env.ie ) { - var range = this.getNative().createRange(); - if ( !range - || ( range.item && range.item(0).ownerDocument != this.document.$ ) - || ( range.parentElement && range.parentElement().ownerDocument != this.document.$ ) ) + // Avoid breaking because of it. (#8836) + try + { + var range = this.getNative().createRange(); + if ( !range || + ( range.item && range.item( 0 ).ownerDocument != this.document.$ ) || + ( range.parentElement && range.parentElement().ownerDocument != this.document.$ ) ) + { + throw 0; + } + } + catch ( e ) { this.isInvalid = true; } @@ -737,7 +869,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license endIndex = siblings.length - 1, index = -1, position, - distance; + distance, + container; // Binary search over all element childs to test the range to see whether // range is right on the boundary of one element. @@ -758,12 +891,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // e.g.

text
^

(#7433) if ( CKEDITOR.env.ie9Compat && child.tagName == 'BR' ) { - var bmId = 'cke_range_marker'; - range.execCommand( 'CreateBookmark', false, bmId ); - child = doc.getElementsByName( bmId )[ 0 ]; - var offset = getNodeIndex( child ); - parent.removeChild( child ); - return { container : parent, offset : offset }; + // "Fall back" to w3c selection. + var sel = doc.defaultView.getSelection(); + return { container : sel[ start ? 'anchorNode' : 'focusNode' ], + offset : sel[ start ? 'anchorOffset' : 'focusOffset' ] }; } else return { container : parent, offset : getNodeIndex( child ) }; @@ -790,7 +921,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { child = siblings[ siblings.length - 1 ]; - if ( child.nodeType == CKEDITOR.NODE_ELEMENT ) + if ( child.nodeType != CKEDITOR.NODE_TEXT ) return { container : parent, offset : siblings.length }; else return { container : child, offset : child.nodeValue.length }; @@ -798,10 +929,17 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Start the measuring until distance overflows, meanwhile count the text nodes. var i = siblings.length; - while ( distance > 0 ) - distance -= siblings[ --i ].nodeValue.length; + while ( distance > 0 && i > 0 ) + { + sibling = siblings[ --i ]; + if ( sibling.nodeType == CKEDITOR.NODE_TEXT ) + { + container = sibling; + distance -= sibling.nodeValue.length; + } + } - return { container : siblings[ i ], offset : -distance }; + return { container : container, offset : -distance }; } // Test range was one offset beyond OR behind the anchored text node. else @@ -826,7 +964,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license try { sibling = child[ position > 0 ? 'previousSibling' : 'nextSibling' ]; - distance -= sibling.nodeValue.length; + if ( sibling.nodeType == CKEDITOR.NODE_TEXT ) + { + distance -= sibling.nodeValue.length; + container = sibling; + } child = sibling; } // Measurement in IE could be somtimes wrong because of
',o.auto,'
');for(var A=0;A');var B=x[A].split('/'),C=B[0],D=B[1]||C;if(!B[1])C='#'+C.replace(/^(.)(.)(.)$/,'$1$1$2$2$3$3');var E=m.lang.colors[D]||D;w.push('');}if(n.colorButton_enableMore===undefined||n.colorButton_enableMore)w.push(''); -w.push('
',o.more,'
');return w.join('');};function s(t){return t.getAttribute('contentEditable')=='false'||t.getAttribute('data-nostyle');};}});i.colorButton_colors='000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF';i.colorButton_foreStyle={element:'span',styles:{color:'#(color)'},overrides:[{element:'font',attributes:{color:null}}]};i.colorButton_backStyle={element:'span',styles:{'background-color':'#(color)'}};j.colordialog={init:function(m){m.addCommand('colordialog',new a.dialogCommand('colordialog'));a.dialog.add('colordialog',this.path+'dialogs/colordialog.js');}};j.add('colordialog',j.colordialog);j.add('contextmenu',{requires:['menu'],onLoad:function(){j.contextMenu=e.createClass({base:a.menu,$:function(m){this.base.call(this,m,{panel:{className:m.skinClass+' cke_contextmenu',attributes:{'aria-label':m.lang.contextmenu.options}}});},proto:{addTarget:function(m,n){if(b.opera&&!('oncontextmenu' in document.body)){var o;m.on('mousedown',function(s){s=s.data;if(s.$.button!=2){if(s.getKeystroke()==1114112+1)m.fire('contextmenu',s);return;}if(n&&(b.mac?s.$.metaKey:s.$.ctrlKey))return;var t=s.getTarget();if(!o){var u=t.getDocument();o=u.createElement('input');o.$.type='button';u.getBody().append(o);}o.setAttribute('style','position:absolute;top:'+(s.$.clientY-2)+'px;left:'+(s.$.clientX-2)+'px;width:5px;height:5px;opacity:0.01');});m.on('mouseup',function(s){if(o){o.remove();o=undefined;m.fire('contextmenu',s.data);}});}m.on('contextmenu',function(s){var t=s.data;if(n&&(b.webkit?p:b.mac?t.$.metaKey:t.$.ctrlKey))return;t.preventDefault();var u=t.getTarget().getDocument().getDocumentElement(),v=t.$.clientX,w=t.$.clientY;e.setTimeout(function(){this.open(u,null,v,w);},c?200:0,this);},this);if(b.opera)m.on('keypress',function(s){var t=s.data;if(t.$.keyCode===0)t.preventDefault();});if(b.webkit){var p,q=function(s){p=b.mac?s.data.$.metaKey:s.data.$.ctrlKey;},r=function(){p=0;};m.on('keydown',q);m.on('keyup',r);m.on('contextmenu',r);}},open:function(m,n,o,p){this.editor.focus();m=m||a.document.getDocumentElement();this.show(m,n,o,p);}}});},beforeInit:function(m){m.contextMenu=new j.contextMenu(m);m.addCommand('contextMenu',{exec:function(){m.contextMenu.open(m.document.getBody());}});}});(function(){function m(o){var p=this.att,q=o&&o.hasAttribute(p)&&o.getAttribute(p)||''; -if(q!==undefined)this.setValue(q);};function n(){var o;for(var p=0;p ';j.add('elementspath',{requires:['selection'],init:function(o){var p='cke_path_'+o.name,q,r=function(){if(!q)q=a.document.getById(p);return q;},s='cke_elementspath_'+e.getNextNumber()+'_';o._.elementsPath={idBase:s,filters:[]};o.on('themeSpace',function(x){if(x.data.space=='bottom')x.data.html+=''+o.lang.elementsPath.eleLabel+''+'
'+n+'
';});function t(x){o.focus();var y=o._.elementsPath.list[x];if(y.is('body')){var z=new d.range(o.document);z.selectNodeContents(y);z.select();}else o.getSelection().selectElement(y);};var u=e.addFunction(t),v=e.addFunction(function(x,y){var z=o._.elementsPath.idBase,A;y=new d.event(y);var B=o.lang.dir=='rtl';switch(y.getKeystroke()){case B?39:37:case 9:A=a.document.getById(z+(x+1));if(!A)A=a.document.getById(z+'0');A.focus();return false;case B?37:39:case 2228224+9:A=a.document.getById(z+(x-1));if(!A)A=a.document.getById(z+(o._.elementsPath.list.length-1));A.focus();return false;case 27:o.focus();return false;case 13:case 32:t(x);return false;}return true;});o.on('selectionChange',function(x){var y=b,z=x.data.selection,A=z.getStartElement(),B=[],C=x.editor,D=C._.elementsPath.list=[],E=C._.elementsPath.filters;while(A){var F=0,G;if(A.data('cke-display-name'))G=A.data('cke-display-name');else if(A.data('cke-real-element-type'))G=A.data('cke-real-element-type');else G=A.getName();for(var H=0;H',G,''+L+'',''); -}if(G=='body')break;A=A.getParent();}var M=r();M.setHtml(B.join('')+n);C.fire('elementsPathUpdate',{space:M});});function w(){q&&q.setHtml(n);delete o._.elementsPath.list;};o.on('readOnly',w);o.on('contentDomUnload',w);o.addCommand('elementsPathFocus',m.toolbarFocus);}});})();(function(){j.add('enterkey',{requires:['keystrokes','indent'],init:function(t){t.addCommand('enter',{modes:{wysiwyg:1},editorFocus:false,exec:function(v){r(v);}});t.addCommand('shiftEnter',{modes:{wysiwyg:1},editorFocus:false,exec:function(v){q(v);}});var u=t.keystrokeHandler.keystrokes;u[13]='enter';u[2228224+13]='shiftEnter';}});j.enterkey={enterBlock:function(t,u,v,w){v=v||s(t);if(!v)return;var x=v.document,y=v.checkStartOfBlock(),z=v.checkEndOfBlock(),A=new d.elementPath(v.startContainer),B=A.block;if(y&&z){if(B&&(B.is('li')||B.getParent().is('li'))){t.execCommand('outdent');return;}if(B&&B.getParent().is('blockquote')){B.breakParent(B.getParent());if(!B.getPrevious().getFirst(d.walker.invisible(1)))B.getPrevious().remove();if(!B.getNext().getFirst(d.walker.invisible(1)))B.getNext().remove();v.moveToElementEditStart(B);v.select();return;}}else if(B&&B.is('pre')){if(!z){n(t,u,v,w);return;}}else if(B&&f.$captionBlock[B.getName()]){n(t,u,v,w);return;}var C=u==3?'div':'p',D=v.splitBlock(C);if(!D)return;var E=D.previousBlock,F=D.nextBlock,G=D.wasStartOfBlock,H=D.wasEndOfBlock,I;if(F){I=F.getParent();if(I.is('li')){F.breakParent(I);F.move(F.getNext(),1);}}else if(E&&(I=E.getParent())&&I.is('li')){E.breakParent(I);I=E.getNext();v.moveToElementEditStart(I);E.move(E.getPrevious());}if(!G&&!H){if(F.is('li')&&(I=F.getFirst(d.walker.invisible(true)))&&I.is&&I.is('ul','ol'))(c?x.createText('\xa0'):x.createElement('br')).insertBefore(I);if(F)v.moveToElementEditStart(F);}else{var J,K;if(E){if(E.is('li')||!(p.test(E.getName())||E.is('pre')))J=E.clone();}else if(F)J=F.clone();if(!J){if(I&&I.is('li'))J=I;else{J=x.createElement(C);if(E&&(K=E.getDirection()))J.setAttribute('dir',K);}}else if(w&&!J.is('li'))J.renameNode(C);var L=D.elementPath;if(L)for(var M=0,N=L.elements.length;M0;v--)u[v].deleteContents();return u[0];};})();(function(){var m='nbsp,gt,lt,amp',n='quot,iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,forall,part,exist,empty,nabla,isin,notin,ni,prod,sum,minus,lowast,radic,prop,infin,ang,and,or,cap,cup,int,there4,sim,cong,asymp,ne,equiv,le,ge,sub,sup,nsub,sube,supe,oplus,otimes,perp,sdot,lceil,rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,euro',o='Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,OElig,oelig,Scaron,scaron,Yuml',p='Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,upsih,piv'; -function q(r,s){var t={},u=[],v={nbsp:'\xa0',shy:'­',gt:'>',lt:'<',amp:'&'};r=r.replace(/\b(nbsp|shy|gt|lt|amp)(?:,|$)/g,function(A,B){var C=s?'&'+B+';':v[B],D=s?v[B]:'&'+B+';';t[C]=D;u.push(C);return '';});if(!s&&r){r=r.split(',');var w=document.createElement('div'),x;w.innerHTML='&'+r.join(';&')+';';x=w.innerHTML;w=null;for(var y=0;y0;case 'checked':return!!q.$.checked;case 'value':var p=q.getAttribute('type');return p=='checkbox'||p=='radio'?q.$.value!='on':q.$.value;}return m.apply(q,arguments);};});(function(){var m={canUndo:false,exec:function(o){var p=o.document.createElement('hr'),q=new d.range(o.document);o.insertElement(p);q.moveToPosition(p,4);var r=p.getNext();if(!r||r.type==1&&!r.isEditable())q.fixBlock(true,o.config.enterMode==3?'div':'p');q.select();}},n='horizontalrule';j.add(n,{init:function(o){o.addCommand(n,m);o.ui.addButton('HorizontalRule',{label:o.lang.horizontalrule,command:n});}});})();(function(){var m=/^[\t\r\n ]*(?: |\xa0)$/,n='{cke_protected}';function o(T){var U=T.children.length,V=T.children[U-1];while(V&&V.type==3&&!e.trim(V.value))V=T.children[--U];return V;};function p(T,U){var V=T.children,W=o(T);if(W){if((U||!c)&&W.type==1&&W.name=='br')V.pop();if(W.type==3&&m.test(W.value))V.pop();}};function q(T,U,V){if(!U&&(!V||typeof V=='function'&&V(T)===false))return false;if(U&&c&&(document.documentMode>7||T.name in f.tr||T.name in f.$listItem))return false;var W=o(T);return!W||W&&(W.type==1&&W.name=='br'||T.name=='form'&&W.name=='input');};function r(T,U){return function(V){p(V,!T);if(q(V,!T,U))if(T||c)V.add(new a.htmlParser.text('\xa0'));else V.add(new a.htmlParser.element('br',{}));};};var s=f,t=['caption','colgroup','col','thead','tfoot','tbody'],u=e.extend({},s.$block,s.$listItem,s.$tableContent);for(var v in u){if(!('br' in s[v]))delete u[v];}delete u.pre;var w={elements:{},attributeNames:[[/^on/,'data-cke-pa-on']]},x={elements:{}};for(v in u)x.elements[v]=r();var y={elementNames:[[/^cke:/,''],[/^\?xml:namespace$/,'']],attributeNames:[[/^data-cke-(saved|pa)-/,''],[/^data-cke-.*/,''],['hidefocus','']],elements:{$:function(T){var U=T.attributes; -if(U){if(U['data-cke-temp'])return false;var V=['name','href','src'],W;for(var X=0;Xe.indexOf(t,W.name)?1:-1:0;});},embed:function(T){var U=T.parent;if(U&&U.name=='object'){var V=U.attributes.width,W=U.attributes.height;V&&(T.attributes.width=V);W&&(T.attributes.height=W);}},param:function(T){T.children=[];T.isEmpty=true;return T;},a:function(T){if(!(T.children.length||T.attributes.name||T.attributes['data-cke-saved-name']))return false;},span:function(T){if(T.attributes['class']=='Apple-style-span')delete T.name;},pre:function(T){c&&p(T);},html:function(T){delete T.attributes.contenteditable;delete T.attributes['class'];},body:function(T){delete T.attributes.spellcheck;delete T.attributes.contenteditable;},style:function(T){var U=T.children[0];U&&U.value&&(U.value=e.trim(U.value));if(!T.attributes.type)T.attributes.type='text/css';},title:function(T){var U=T.children[0];U&&(U.value=T.attributes['data-cke-title']||'');}},attributes:{'class':function(T,U){return e.ltrim(T.replace(/(?:^|\s+)cke_[^\s]*/g,''))||false;}}};if(c)y.attributes.style=function(T,U){return T.replace(/(^|;)([^\:]+)/g,function(V){return V.toLowerCase();});};function z(T){var U=T.attributes;if(U.contenteditable!='false')U['data-cke-editable']=U.contenteditable?'true':1;U.contenteditable='false';};function A(T){var U=T.attributes;switch(U['data-cke-editable']){case 'true':U.contenteditable='true';break;case '1':delete U.contenteditable;break;}};for(v in {input:1,textarea:1}){w.elements[v]=z;y.elements[v]=A;}var B=/<(a|area|img|input)\b([^>]*)>/gi,C=/\b(on\w+|href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,D=/(?:])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,E=/([^<]*)<\/cke:encoded>/gi,F=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,G=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,H=/]*?)\/?>(?!\s*<\/cke:\1)/gi;function I(T){return T.replace(B,function(U,V,W){return '<'+V+W.replace(C,function(X,Y){if(!/^on/.test(Y)&&W.indexOf('data-cke-saved-'+Y)==-1)return ' data-cke-saved-'+X+' '+X;return X;})+'>';});};function J(T){return T.replace(D,function(U){return ''+encodeURIComponent(U)+'';});};function K(T){return T.replace(E,function(U,V){return decodeURIComponent(V);});};function L(T){return T.replace(F,'$1cke:$2'); -};function M(T){return T.replace(G,'$1$2');};function N(T){return T.replace(H,'');};function O(T){return T.replace(/(]*>)(\r\n|\n)/g,'$1$2$2');};function P(T){return T.replace(//g,function(U){return '';});};function Q(T){return T.replace(//g,function(U,V){return decodeURIComponent(V);});};function R(T,U){var V=U._.dataStore;return T.replace(//g,function(W,X){return decodeURIComponent(X);}).replace(/\{cke_protected_(\d+)\}/g,function(W,X){return V&&V[X]||'';});};function S(T,U){var V=[],W=U.config.protectedSource,X=U._.dataStore||(U._.dataStore={id:1}),Y=/<\!--\{cke_temp(comment)?\}(\d*?)-->/g,Z=[//gi,//gi].concat(W);T=T.replace(//g,function(ab){return '';});for(var aa=0;aa';});T=T.replace(Y,function(ab,ac,ad){return '';});return T.replace(/(['"]).*?\1/g,function(ab){return ab.replace(//g,function(ac,ad){X[X.id]=decodeURIComponent(ad);return '{cke_protected_'+X.id++ +'}';});});};j.add('htmldataprocessor',{requires:['htmlwriter'],init:function(T){var U=T.dataProcessor=new a.htmlDataProcessor(T);U.writer.forceSimpleAmpersand=T.config.forceSimpleAmpersand;U.dataFilter.addRules(w);U.dataFilter.addRules(x);U.htmlFilter.addRules(y);var V={elements:{}};for(v in u)V.elements[v]=r(true,T.config.fillEmptyBlocks);U.htmlFilter.addRules(V);},onLoad:function(){!('fillEmptyBlocks' in i)&&(i.fillEmptyBlocks=1);}});a.htmlDataProcessor=function(T){var U=this;U.editor=T;U.writer=new a.htmlWriter();U.dataFilter=new a.htmlParser.filter();U.htmlFilter=new a.htmlParser.filter();};a.htmlDataProcessor.prototype={toHtml:function(T,U){T=S(T,this.editor);T=I(T);T=J(T);T=L(T);T=N(T);T=O(T);var V=new h('div');V.setHtml('a'+T);T=V.getHtml().substr(1);T=M(T);T=K(T);T=Q(T);var W=a.htmlParser.fragment.fromHtml(T,U),X=new a.htmlParser.basicWriter();W.writeHtml(X,this.dataFilter);T=X.getHtml(true);T=P(T);return T;},toDataFormat:function(T,U){var V=this.writer,W=a.htmlParser.fragment.fromHtml(T,U);V.reset();W.writeHtml(V,this.htmlFilter); -var X=V.getHtml(true);X=Q(X);X=R(X,this.editor);return X;}};})();(function(){j.add('iframe',{requires:['dialog','fakeobjects'],init:function(m){var n='iframe',o=m.lang.iframe;a.dialog.add(n,this.path+'dialogs/iframe.js');m.addCommand(n,new a.dialogCommand(n));m.addCss('img.cke_iframe{background-image: url('+a.getUrl(this.path+'images/placeholder.png')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 80px;'+'height: 80px;'+'}');m.ui.addButton('Iframe',{label:o.toolbar,command:n});m.on('doubleclick',function(p){var q=p.data.element;if(q.is('img')&&q.data('cke-real-element-type')=='iframe')p.data.dialog='iframe';});if(m.addMenuItems)m.addMenuItems({iframe:{label:o.title,command:'iframe',group:'image'}});if(m.contextMenu)m.contextMenu.addListener(function(p,q){if(p&&p.is('img')&&p.data('cke-real-element-type')=='iframe')return{iframe:2};});},afterInit:function(m){var n=m.dataProcessor,o=n&&n.dataFilter;if(o)o.addRules({elements:{iframe:function(p){return m.createFakeParserElement(p,'cke_iframe','iframe',true);}}});}});})();j.add('image',{init:function(m){var n='image';a.dialog.add(n,this.path+'dialogs/image.js');m.addCommand(n,new a.dialogCommand(n));m.ui.addButton('Image',{label:m.lang.common.image,command:n});m.on('doubleclick',function(o){var p=o.data.element;if(p.is('img')&&!p.data('cke-realelement')&&!p.isReadOnly())o.data.dialog='image';});if(m.addMenuItems)m.addMenuItems({image:{label:m.lang.image.menu,command:'image',group:'image'}});if(m.contextMenu)m.contextMenu.addListener(function(o,p){if(!o||!o.is('img')||o.data('cke-realelement')||o.isReadOnly())return null;return{image:2};});}});i.image_removeLinkByEmptyURL=true;(function(){var m={ol:1,ul:1},n=d.walker.whitespaces(true),o=d.walker.bookmark(false,true);function p(t){var B=this;if(t.editor.readOnly)return null;var u=t.editor,v=t.data.path,w=v&&v.contains(m),x=v.block||v.blockLimit;if(w)return B.setState(2);if(!B.useIndentClasses&&B.name=='indent')return B.setState(2);if(!x)return B.setState(0);if(B.useIndentClasses){var y=x.$.className.match(B.classNameRegex),z=0;if(y){y=y[1];z=B.indentClassMap[y];}if(B.name=='outdent'&&!z||B.name=='indent'&&z==u.config.indentClasses.length)return B.setState(0);return B.setState(2);}else{var A=parseInt(x.getStyle(r(x)),10);if(isNaN(A))A=0;if(A<=0)return B.setState(0);return B.setState(2);}};function q(t,u){var w=this;w.name=u;w.useIndentClasses=t.config.indentClasses&&t.config.indentClasses.length>0;if(w.useIndentClasses){w.classNameRegex=new RegExp('(?:^|\\s+)('+t.config.indentClasses.join('|')+')(?=$|\\s)'); -w.indentClassMap={};for(var v=0;vY;T++)X[T].indent+=U;var aa=j.list.arrayToList(X,v,null,t.config.enterMode,M.getDirection());if(u.name=='outdent'){var ab;if((ab=M.getParent())&&ab.is('li')){var ac=aa.listNode.getChildren(),ad=[],ae=ac.count(),af;for(T=ae-1;T>=0;T--){if((af=ac.getItem(T))&&af.is&&af.is('li'))ad.push(af);}}}if(aa)aa.listNode.replace(M);if(ad&&ad.length)for(T=0;T0)M.addClass(t.config.indentClasses[P-1]);}else{var Q=r(M,N),R=parseInt(M.getStyle(Q),10);if(isNaN(R))R=0;var S=t.config.indentOffset||40;R+=(u.name=='indent'?1:-1)*S;if(R<0)return false;R=Math.max(R,0);R=Math.ceil(R/S)*S;M.setStyle(Q,R?R+(t.config.indentUnit||'px'):'');if(M.getAttribute('style')==='')M.removeAttribute('style');}h.setMarker(v,M,'indent_processed',1); -return true;};var z=t.getSelection(),A=z.createBookmarks(1),B=z&&z.getRanges(1),C,D=B.createIterator();while(C=D.getNextRange()){var E=C.getCommonAncestor(),F=E;while(F&&!(F.type==1&&m[F.getName()]))F=F.getParent();if(!F){var G=C.getEnclosedNode();if(G&&G.type==1&&G.getName() in m){C.setStartAt(G,1);C.setEndAt(G,2);F=G;}}if(F&&C.startContainer.type==1&&C.startContainer.getName() in m){var H=new d.walker(C);H.evaluator=s;C.startContainer=H.next();}if(F&&C.endContainer.type==1&&C.endContainer.getName() in m){H=new d.walker(C);H.evaluator=s;C.endContainer=H.previous();}if(F){var I=F.getFirst(s),J=!!I.getNext(s),K=C.startContainer,L=I.equals(K)||I.contains(K);if(!(L&&(u.name=='indent'||u.useIndentClasses||parseInt(F.getStyle(r(F)),10))&&y(F,!J&&I.getDirection())))w(F);}else x();}h.clearAllMarkers(v);t.forceNextSelectionCheck();z.selectBookmarks(A);}};j.add('indent',{init:function(t){var u=t.addCommand('indent',new q(t,'indent')),v=t.addCommand('outdent',new q(t,'outdent'));t.ui.addButton('Indent',{label:t.lang.indent,command:'indent'});t.ui.addButton('Outdent',{label:t.lang.outdent,command:'outdent'});t.on('selectionChange',e.bind(p,u));t.on('selectionChange',e.bind(p,v));if(b.ie6Compat||b.ie7Compat)t.addCss('ul,ol{\tmargin-left: 0px;\tpadding-left: 40px;}');t.on('dirChanged',function(w){var x=new d.range(t.document);x.setStartBefore(w.data.node);x.setEndAfter(w.data.node);var y=new d.walker(x),z;while(z=y.next()){if(z.type==1){if(!z.equals(w.data.node)&&z.getDirection()){x.setStartAfter(z);y=new d.walker(x);continue;}var A=t.config.indentClasses;if(A){var B=w.data.dir=='ltr'?['_rtl','']:['','_rtl'];for(var C=0;C=0;A--){x=v[A].createIterator();x.enlargeBr=t!=2;while(y=x.getNextParagraph(t==1?'p':'div')){y.removeAttribute('align');y.removeStyle('text-align');var B=w&&(y.$.className=e.ltrim(y.$.className.replace(D.cssClassRegex,''))),C=D.state==2&&(!z||n(y,true)!=D.value);if(w){if(C)y.addClass(w);else if(!B)y.removeAttribute('class');}else if(C)y.setStyle('text-align',D.value);}}r.focus();r.forceNextSelectionCheck();s.selectBookmarks(u);}};j.add('justify',{init:function(r){var s=new p(r,'justifyleft','left'),t=new p(r,'justifycenter','center'),u=new p(r,'justifyright','right'),v=new p(r,'justifyblock','justify');r.addCommand('justifyleft',s);r.addCommand('justifycenter',t);r.addCommand('justifyright',u);r.addCommand('justifyblock',v);r.ui.addButton('JustifyLeft',{label:r.lang.justify.left,command:'justifyleft'});r.ui.addButton('JustifyCenter',{label:r.lang.justify.center,command:'justifycenter'});r.ui.addButton('JustifyRight',{label:r.lang.justify.right,command:'justifyright'});r.ui.addButton('JustifyBlock',{label:r.lang.justify.block,command:'justifyblock'});r.on('selectionChange',e.bind(o,s));r.on('selectionChange',e.bind(o,u));r.on('selectionChange',e.bind(o,t));r.on('selectionChange',e.bind(o,v));r.on('dirChanged',q);},requires:['domiterator']});})();j.add('keystrokes',{beforeInit:function(m){m.keystrokeHandler=new a.keystrokeHandler(m); -m.specialKeys={};},init:function(m){var n=m.config.keystrokes,o=m.config.blockedKeystrokes,p=m.keystrokeHandler.keystrokes,q=m.keystrokeHandler.blockedKeystrokes;for(var r=0;r7))Q.append(L.createText('\xa0'));Q.append(W.listNode);O=W.nextIndex;}else if(T.indent==-1&&!I&&T.grandparent){if(m[T.grandparent.getName()])Q=T.element.clone(false,true); -else if(K||T.element.hasAttributes()||J!=2){Q=L.createElement(S);T.element.copyAttributes(Q,{type:1,value:1});if(!K&&J==2&&!Q.hasAttributes())Q=new d.documentFragment(L);}else Q=new d.documentFragment(L);if(Q.type==1)if(T.grandparent.getDirection(1)!=R)Q.setAttribute('dir',R);for(U=0;UJ[L-1].indent+1){var P=J[L-1].indent+1-J[L].indent,Q=J[L].indent;while(J[L]&&J[L].indent>=Q){J[L].indent+=P;L++;}L--;}}var R=j.list.arrayToList(J,I,null,G.config.enterMode,H.root.getAttribute('dir')),S=R.listNode,T,U;function V(W){if((T=S[W?'getFirst':'getLast']())&&!(T.is&&T.isBlockBoundary())&&(U=H.root[W?'getPrevious':'getNext'](d.walker.whitespaces(true)))&&!(U.is&&U.isBlockBoundary({br:1})))G.document.createElement('br')[W?'insertBefore':'insertAfter'](T);};V(true);V();S.replace(H.root);};function x(G,H){this.name=G;this.type=H;};function y(G){var H=G.getDirection();if(H){for(var I=0,J=G.getChildren(),K;K=J.getItem(I),I=0&&(ae=Z[af]); -af--){if(m[ae.getName()]&&ad.contains(ae)){ad.removeCustomData('list_group_object_'+S);var ag=ae.getCustomData('list_group_object');if(ag)ag.contents.push(X);else{ag={root:ae,contents:[X]};P.push(ag);h.setMarker(Q,ae,'list_group_object',ag);}ac=1;break;}}if(ac)continue;var ah=ad;if(ah.getCustomData('list_group_object_'+S))ah.getCustomData('list_group_object_'+S).contents.push(X);else{ag={root:ah,contents:[X]};h.setMarker(Q,ah,'list_group_object_'+S,ag);P.push(ag);}}}var ai=[];while(P.length>0){ag=P.shift();if(this.state==2){if(m[ag.root.getName()])t.call(this,G,ag,Q,ai);else v.call(this,G,ag,ai);}else if(this.state==1&&m[ag.root.getName()])w.call(this,G,ag,Q);}for(af=0;af0)for(var u=t.length-1;u>=0;u--){var v=t[u][0],w=t[u][1];if(w)v.insertBefore(w);else v.appendTo(s);}};function o(s,t){var u=m(s),v={},w=s.$;if(!t){v['class']=w.className||'';w.className='';}v.inline=w.style.cssText||'';if(!t)w.style.cssText='position: static; overflow: visible';n(u);return v;};function p(s,t){var u=m(s),v=s.$;if('class' in t)v.className=t['class'];if('inline' in t)v.style.cssText=t.inline;n(u);};function q(s){var t=a.instances;for(var u in t){var v=t[u];if(v.mode=='wysiwyg'&&!v.readOnly){var w=v.document.getBody();w.setAttribute('contentEditable',false);w.setAttribute('contentEditable',true);}}if(s.focusManager.hasFocus){s.toolbox.focus();s.focus();}};function r(s){if(!c||b.version>6)return null;var t=h.createFromHtml('');return s.append(t,true);};j.add('maximize',{init:function(s){var t=s.lang,u=a.document,v=u.getWindow(),w,x,y,z;function A(){var C=v.getViewPaneSize();z&&z.setStyles({width:C.width+'px',height:C.height+'px'});s.resize(C.width,C.height,null,true);};var B=2;s.addCommand('maximize',{modes:{wysiwyg:!b.iOS,source:!b.iOS},readOnly:1,editorFocus:false,exec:function(){var C=s.container.getChild(1),D=s.getThemeSpace('contents');if(s.mode=='wysiwyg'){var E=s.getSelection();w=E&&E.getRanges();x=v.getScrollPosition();}else{var F=s.textarea.$;w=!c&&[F.selectionStart,F.selectionEnd];x=[F.scrollLeft,F.scrollTop];}if(this.state==2){v.on('resize',A); -y=v.getScrollPosition();var G=s.container;while(G=G.getParent()){G.setCustomData('maximize_saved_styles',o(G));G.setStyle('z-index',s.config.baseFloatZIndex-1);}D.setCustomData('maximize_saved_styles',o(D,true));C.setCustomData('maximize_saved_styles',o(C,true));var H={overflow:b.webkit?'':'hidden',width:0,height:0};u.getDocumentElement().setStyles(H);!b.gecko&&u.getDocumentElement().setStyle('position','fixed');!(b.gecko&&b.quirks)&&u.getBody().setStyles(H);c?setTimeout(function(){v.$.scrollTo(0,0);},0):v.$.scrollTo(0,0);C.setStyle('position',b.gecko&&b.quirks?'fixed':'absolute');C.$.offsetLeft;C.setStyles({'z-index':s.config.baseFloatZIndex-1,left:'0px',top:'0px'});z=r(C);C.addClass('cke_maximized');A();var I=C.getDocumentPosition();C.setStyles({left:-1*I.x+'px',top:-1*I.y+'px'});b.gecko&&q(s);}else if(this.state==1){v.removeListener('resize',A);var J=[D,C];for(var K=0;K ');s.children.length=0;s.add(u);var v=s.attributes;delete v['aria-label'];delete v.contenteditable;delete v.title;}return t;}}},5);if(p)p.addRules({elements:{div:function(r){var s=r.attributes,t=s&&s.style,u=t&&r.children.length==1&&r.children[0],v=u&&u.name=='span'&&u.attributes.style;if(v&&/page-break-after\s*:\s*always/i.test(t)&&/display\s*:\s*none/i.test(v)){s.contenteditable='false';s['class']='cke_pagebreak';s['data-cke-display-name']='pagebreak';s['aria-label']=n;s.title=n;r.children.length=0;}}}});},requires:['fakeobjects']});j.pagebreakCmd={exec:function(m){var n=m.lang.pagebreakAlt,o=h.createFromHtml('
'+'
',m.document),p=m.getSelection().getRanges(true);m.fire('saveSnapshot');for(var q,r=p.length-1;r>=0;r--){q=p[r];if(r1&&n.substr(n.length-1,1)=='%')n=parseInt(window.screen.width*parseInt(n,10)/100,10);if(typeof o=='string'&&o.length>1&&o.substr(o.length-1,1)=='%')o=parseInt(window.screen.height*parseInt(o,10)/100,10);if(n<640)n=640;if(o<420)o=420;var q=parseInt((window.screen.height-o)/2,10),r=parseInt((window.screen.width-n)/2,10);p=(p||'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes')+',width='+n+',height='+o+',top='+q+',left='+r;var s=window.open('',null,p,true);if(!s)return false;try{s.moveTo(r,q);s.resizeTo(n,o);s.focus();s.location.href=m;}catch(t){s=window.open(m,null,p,true);}return true;}});(function(){var m={modes:{wysiwyg:1,source:1},canUndo:false,readOnly:1,exec:function(o){var p,q=o.config,r=q.baseHref?'':'',s=b.isCustomDomain();if(q.fullPage)p=o.getData().replace(//,'$&'+r).replace(/[^>]*(?=<\/title>)/,'$& — '+o.lang.preview); -else{var t=''+''+r+''+o.lang.preview+''+e.buildStyleHtml(o.config.contentsCss)+''+t+o.getData()+'';}var v=640,w=420,x=80;try{var y=window.screen;v=Math.round(y.width*0.8);w=Math.round(y.height*0.7);x=Math.round(y.width*0.1);}catch(C){}var z='';if(s){window._cke_htmlToLoad=p;z='javascript:void( (function(){document.open();document.domain="'+document.domain+'";'+'document.write( window.opener._cke_htmlToLoad );'+'document.close();'+'window.opener._cke_htmlToLoad = null;'+'})() )';}var A=window.open(z,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+v+',height='+w+',left='+x);if(!s){var B=A.document;B.open();B.write(p);B.close();b.webkit&&setTimeout(function(){B.body.innerHTML+='';},0);}}},n='preview';j.add(n,{init:function(o){o.addCommand(n,m);o.ui.addButton('Preview',{label:o.lang.preview,command:n});}});})();j.add('print',{init:function(m){var n='print',o=m.addCommand(n,j.print);m.ui.addButton('Print',{label:m.lang.print,command:n});}});j.print={exec:function(m){if(b.opera)return;else if(b.gecko)m.window.$.print();else m.document.$.execCommand('Print');},canUndo:false,readOnly:1,modes:{wysiwyg:!b.opera}};j.add('removeformat',{requires:['selection'],init:function(m){m.addCommand('removeFormat',j.removeformat.commands.removeformat);m.ui.addButton('RemoveFormat',{label:m.lang.removeFormat,command:'removeFormat'});m._.removeFormat={filters:[]};}});j.removeformat={commands:{removeformat:{exec:function(m){var n=m._.removeFormatRegex||(m._.removeFormatRegex=new RegExp('^(?:'+m.config.removeFormatTags.replace(/,/g,'|')+')$','i')),o=m._.removeAttributes||(m._.removeAttributes=m.config.removeFormatAttributes.split(',')),p=j.removeformat.filter,q=m.getSelection().getRanges(1),r=q.createIterator(),s;while(s=r.getNextRange()){if(!s.collapsed)s.enlarge(1);var t=s.createBookmark(),u=t.startNode,v=t.endNode,w,x=function(z){var A=new d.elementPath(z),B=A.elements;for(var C=1,D;D=B[C];C++){if(D.equals(A.block)||D.equals(A.blockLimit))break;if(n.test(D.getName())&&p(m,D))z.breakParent(D);}};x(u);if(v){x(v);w=u.getNextSourceNode(true,1);while(w){if(w.equals(v))break;var y=w.getNextSourceNode(false,1);if(!(w.getName()=='img'&&w.data('cke-realelement'))&&p(m,w))if(n.test(w.getName()))w.remove(1); -else{w.removeAttributes(o);m.fire('removeFormatCleanup',w);}w=y;}}s.moveToBookmark(t);}m.getSelection().selectRanges(q);}}},filter:function(m,n){var o=m._.removeFormat.filters;for(var p=0;pr.width&&(n.resize_minWidth=r.width);n.resize_minHeight>r.height&&(n.resize_minHeight=r.height);a.document.on('mousemove',u);a.document.on('mouseup',v);if(m.document){m.document.on('mousemove',u);m.document.on('mouseup',v);}});m.on('destroy',function(){e.removeFunction(w);});m.on('themeSpace',function(x){if(x.data.space=='bottom'){var y='';if(s&&!t)y=' cke_resizer_horizontal';if(!s&&t)y=' cke_resizer_vertical';var z='
';o=='ltr'&&y=='ltr'?x.data.html+=z:x.data.html=z+x.data.html;}},m,null,100);}}});(function(){var m={modes:{wysiwyg:1,source:1},readOnly:1,exec:function(o){var p=o.element.$.form;if(p)try{p.submit();}catch(q){if(p.submit.click)p.submit.click(); -}}},n='save';j.add(n,{init:function(o){var p=o.addCommand(n,m);p.modes={wysiwyg:!!o.element.$.form};o.ui.addButton('Save',{label:o.lang.save,command:n});}});})();(function(){var m='scaytcheck',n='';function o(t,u){var v=0,w;for(w in u){if(u[w]==t){v=1;break;}}return v;};var p=function(){var t=this,u=function(){var y=t.config,z={};z.srcNodeRef=t.document.getWindow().$.frameElement;z.assocApp='CKEDITOR.'+a.version+'@'+a.revision;z.customerid=y.scayt_customerid||'1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2';z.customDictionaryIds=y.scayt_customDictionaryIds||'';z.userDictionaryName=y.scayt_userDictionaryName||'';z.sLang=y.scayt_sLang||'en_US';z.onLoad=function(){if(!(c&&b.version<8))this.addStyle(this.selectorCss(),'padding-bottom: 2px !important;');if(t.focusManager.hasFocus&&!q.isControlRestored(t))this.focus();};z.onBeforeChange=function(){if(q.getScayt(t)&&!t.checkDirty())setTimeout(function(){t.resetDirty();},0);};var A=window.scayt_custom_params;if(typeof A=='object')for(var B in A)z[B]=A[B];if(q.getControlId(t))z.id=q.getControlId(t);var C=new window.scayt(z);C.afterMarkupRemove.push(function(E){new h(E,C.document).mergeSiblings();});var D=q.instances[t.name];if(D){C.sLang=D.sLang;C.option(D.option());C.paused=D.paused;}q.instances[t.name]=C;try{C.setDisabled(q.isPaused(t)===false);}catch(E){}t.fire('showScaytState');};t.on('contentDom',u);t.on('contentDomUnload',function(){var y=a.document.getElementsByTag('script'),z=/^dojoIoScript(\d+)$/i,A=/^https?:\/\/svc\.webspellchecker\.net\/spellcheck\/script\/ssrv\.cgi/i;for(var B=0;B=0){this.setState(0);q.loadEngine(t);}}};j.add('scayt',{requires:['menubutton'],beforeInit:function(t){var u=t.config.scayt_contextMenuItemsOrder||'suggest|moresuggest|control',v='';u=u.split('|');if(u&&u.length)for(var w=0;w tr > td, .%1 table.%2 > tr > th,','.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,','.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,','.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th','{','border : #d3d3d3 1px dotted','}']).join('');n=o.replace(/%2/g,m).replace(/%1/g,'cke_show_borders ');var p={preserveState:true,editorFocus:false,readOnly:1,exec:function(q){this.toggleState();this.refresh(q); -},refresh:function(q){if(q.document){var r=this.state==1?'addClass':'removeClass';q.document.getBody()[r]('cke_show_borders');}}};j.add('showborders',{requires:['wysiwygarea'],modes:{wysiwyg:1},init:function(q){var r=q.addCommand('showborders',p);r.canUndo=false;if(q.config.startupShowBorders!==false)r.setState(1);q.addCss(n);q.on('mode',function(){if(r.state!=0)r.refresh(q);},null,null,100);q.on('contentDom',function(){if(r.state!=0)r.refresh(q);});q.on('removeFormatCleanup',function(s){var t=s.data;if(q.getCommand('showborders').state==1&&t.is('table')&&(!t.hasAttribute('border')||parseInt(t.getAttribute('border'),10)<=0))t.addClass(m);});},afterInit:function(q){var r=q.dataProcessor,s=r&&r.dataFilter,t=r&&r.htmlFilter;if(s)s.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'],x=parseInt(v.border,10);if((!x||x<=0)&&(!w||w.indexOf(m)==-1))v['class']=(w||'')+' '+m;}}});if(t)t.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'];w&&(v['class']=w.replace(m,'').replace(/\s{2}/,' ').replace(/^\s+|\s+$/,''));}}});}});a.on('dialogDefinition',function(q){var r=q.data.name;if(r=='table'||r=='tableProperties'){var s=q.data.definition,t=s.getContents('info'),u=t.get('txtBorder'),v=u.commit;u.commit=e.override(v,function(y){return function(z,A){y.apply(this,arguments);var B=parseInt(this.getValue(),10);A[!B||B<=0?'addClass':'removeClass'](m);};});var w=s.getContents('advanced'),x=w&&w.get('advCSSClasses');if(x){x.setup=e.override(x.setup,function(y){return function(){y.apply(this,arguments);this.setValue(this.getValue().replace(/cke_show_border/,''));};});x.commit=e.override(x.commit,function(y){return function(z,A){y.apply(this,arguments);if(!parseInt(A.getAttribute('border'),10))A.addClass('cke_show_border');};});}}});})();j.add('sourcearea',{requires:['editingblock'],init:function(m){var n=j.sourcearea,o=a.document.getWindow();m.on('editingBlockReady',function(){var p,q;m.addMode('source',{load:function(r,s){if(c&&b.version<8)r.setStyle('position','relative');m.textarea=p=new h('textarea');p.setAttributes({dir:'ltr',tabIndex:b.webkit?-1:m.tabIndex,role:'textbox','aria-label':m.lang.editorTitle.replace('%1',m.name)});p.addClass('cke_source');p.addClass('cke_enable_context_menu');m.readOnly&&p.setAttribute('readOnly','readonly');var t={width:b.ie7Compat?'99%':'100%',height:'100%',resize:'none',outline:'none','text-align':'left'};if(c){q=function(){p.hide();p.setStyle('height',r.$.clientHeight+'px');p.setStyle('width',r.$.clientWidth+'px'); -p.show();};m.on('resize',q);o.on('resize',q);setTimeout(q,0);}r.setHtml('');r.append(p);p.setStyles(t);m.fire('ariaWidget',p);p.on('blur',function(){m.focusManager.blur();});p.on('focus',function(){m.focusManager.focus();});m.mayBeDirty=true;this.loadData(s);var u=m.keystrokeHandler;if(u)u.attach(p);setTimeout(function(){m.mode='source';m.fire('mode',{previousMode:m._.previousMode});},b.gecko||b.webkit?100:0);},loadData:function(r){p.setValue(r);m.fire('dataReady');},getData:function(){return p.getValue();},getSnapshotData:function(){return p.getValue();},unload:function(r){p.clearCustomData();m.textarea=p=null;if(q){m.removeListener('resize',q);o.removeListener('resize',q);}if(c&&b.version<8)r.removeStyle('position');},focus:function(){p.focus();}});});m.on('readOnly',function(){if(m.mode=='source')if(m.readOnly)m.textarea.setAttribute('readOnly','readonly');else m.textarea.removeAttribute('readOnly');});m.addCommand('source',n.commands.source);if(m.ui.addButton)m.ui.addButton('Source',{label:m.lang.source,command:'source'});m.on('mode',function(){m.getCommand('source').setState(m.mode=='source'?1:2);});}});j.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:false,readOnly:1,exec:function(m){if(m.mode=='wysiwyg')m.fire('saveSnapshot');m.getCommand('source').setState(0);m.setMode(m.mode=='source'?'wysiwyg':'source');},canUndo:false}}};(function(){j.add('stylescombo',{requires:['richcombo','styles'],init:function(n){var o=n.config,p=n.lang.stylesCombo,q={},r=[],s;function t(u){n.getStylesSet(function(v){if(!r.length){var w,x;for(var y=0,z=v.length;y0)return;if(T.type==1&&m.test(T.getName())&&!T.getCustomData('selected_cell')){h.setMarker(K,T,'selected_cell',true);J.push(T);}};for(var M=0;M1&&V&&U[Y]==V[Y]){Z=U[Y];Z.rowSpan+=1;}else{Z=new h(U[Y]).clone();Z.removeAttribute('rowSpan');!c&&Z.appendBogus();X.append(Z);Z=Z.$;}Y+=Z.colSpan-1;}H?X.insertBefore(S):X.insertAfter(S);};function q(G){if(G instanceof d.selection){var H=n(G),I=H[0],J=I.getAscendant('table'),K=e.buildTableMap(J),L=H[0].getParent(),M=L.$.rowIndex,N=H[H.length-1],O=N.getParent().$.rowIndex+N.$.rowSpan-1,P=[];for(var Q=M;Q<=O;Q++){var R=K[Q],S=new h(J.$.rows[Q]);for(var T=0;T0?X[M-1]:null)||J.$.parentNode);for(Q=P.length;Q>=0;Q--)q(P[Q]);return Y;}else if(G instanceof h){J=G.getAscendant('table');if(J.$.rows.length==1)J.remove();else G.remove();}return null;};function r(G,H){var I=G.getParent(),J=I.$.cells,K=0;for(var L=0;LI)I=K;}return I;};function t(G,H){var I=n(G),J=I[0],K=J.getAscendant('table'),L=s(I,1),M=s(I),N=H?L:M,O=e.buildTableMap(K),P=[],Q=[],R=O.length;for(var S=0;S1&&Q.length&&Q[S]==P[S]){U=P[S];U.colSpan+=1;}else{U=new h(P[S]).clone();U.removeAttribute('colSpan');!c&&U.appendBogus();U[H?'insertBefore':'insertAfter'].call(U,new h(P[S]));U=U.$;}S+=U.rowSpan-1;}};function u(G){var H=n(G),I=H[0],J=H[H.length-1],K=I.getAscendant('table'),L=e.buildTableMap(K),M,N,O=[];for(var P=0,Q=L.length;P1){L=H[J-1]+1;break;}}if(!L)L=H[0]>0?H[0]-1:H[H.length-1]+1;var N=I.$.rows;for(J=0,K=N.length;J=0;K--)x(H[K]);if(J)z(J,true);else if(I)I.remove();}else if(G instanceof h){var L=G.getParent();if(L.getChildCount()==1)L.remove();else G.remove();}};function y(G){var H=G.getBogus();H&&H.remove();G.trim();};function z(G,H){var I=new d.range(G.getDocument());if(!I['moveToElementEdit'+(H?'End':'Start')](G)){I.selectNodeContents(G);I.collapse(H?false:true);}I.select(true);};function A(G,H,I){var J=G[H];if(typeof I=='undefined')return J;for(var K=0;J&&K=Q)M.removeAttribute('rowSpan');else M.$.rowSpan=Y;if(Y>=P)M.removeAttribute('colSpan');else M.$.colSpan=Z;var ak=new d.nodeList(N.$.rows),al=ak.count();for(ac=al-1;ac>=0;ac--){var am=ak.getItem(ac);if(!am.$.cells.length){am.remove();al++;continue;}}return M;}else return Y*Z==ab;};function D(G,H){var I=n(G);if(I.length>1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.rowSpan,Q,R,S,T;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);T=N+R;var U=new h(L.$.rows[T]),V=A(M,T),W;Q=J.clone();for(var X=0;XO){Q.insertBefore(new h(W));break;}else W=null;}if(!W)U.append(Q,true);}else{S=R=1;U=K.clone();U.insertAfter(K);U.append(Q=J.clone());var Y=A(M,N);for(var Z=0;Z1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.colSpan,Q,R,S;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);}else{S=R=1;var T=B(M,O);for(var U=0;U0?2:0};}},tablecell_insertBefore:{label:H.cell.insertBefore,group:'tablecell',command:'cellInsertBefore',order:5},tablecell_insertAfter:{label:H.cell.insertAfter,group:'tablecell',command:'cellInsertAfter',order:10},tablecell_delete:{label:H.cell.deleteCell,group:'tablecell',command:'cellDelete',order:15},tablecell_merge:{label:H.cell.merge,group:'tablecell',command:'cellMerge',order:16},tablecell_merge_right:{label:H.cell.mergeRight,group:'tablecell',command:'cellMergeRight',order:17},tablecell_merge_down:{label:H.cell.mergeDown,group:'tablecell',command:'cellMergeDown',order:18},tablecell_split_horizontal:{label:H.cell.splitHorizontal,group:'tablecell',command:'cellHorizontalSplit',order:19},tablecell_split_vertical:{label:H.cell.splitVertical,group:'tablecell',command:'cellVerticalSplit',order:20},tablecell_properties:{label:H.cell.title,group:'tablecellproperties',command:'cellProperties',order:21},tablerow:{label:H.row.menu,group:'tablerow',order:1,getItems:function(){return{tablerow_insertBefore:2,tablerow_insertAfter:2,tablerow_delete:2};}},tablerow_insertBefore:{label:H.row.insertBefore,group:'tablerow',command:'rowInsertBefore',order:5},tablerow_insertAfter:{label:H.row.insertAfter,group:'tablerow',command:'rowInsertAfter',order:10},tablerow_delete:{label:H.row.deleteRow,group:'tablerow',command:'rowDelete',order:15},tablecolumn:{label:H.column.menu,group:'tablecolumn',order:1,getItems:function(){return{tablecolumn_insertBefore:2,tablecolumn_insertAfter:2,tablecolumn_delete:2}; -}},tablecolumn_insertBefore:{label:H.column.insertBefore,group:'tablecolumn',command:'columnInsertBefore',order:5},tablecolumn_insertAfter:{label:H.column.insertAfter,group:'tablecolumn',command:'columnInsertAfter',order:10},tablecolumn_delete:{label:H.column.deleteColumn,group:'tablecolumn',command:'columnDelete',order:15}});if(G.contextMenu)G.contextMenu.addListener(function(I,J){if(!I||I.isReadOnly())return null;while(I){if(I.getName() in F)return{tablecell:2,tablerow:2,tablecolumn:2};I=I.getParent();}return null;});},getSelectedCells:n};j.add('tabletools',j.tabletools);})();e.buildTableMap=function(m){var n=m.$.rows,o=-1,p=[];for(var q=0;q]*>/g,''):i;},getOuterHtml:function(){var j=this;if(j.$.outerHTML)return j.$.outerHTML.replace(/<\?[^>]*>/,'');var i=j.$.ownerDocument.createElement('div');i.appendChild(j.$.cloneNode(true));return i.innerHTML;},setHtml:function(i){return this.$.innerHTML=i;},setText:function(i){h.prototype.setText=this.$.innerText!=undefined?function(j){return this.$.innerText=j;}:function(j){return this.$.textContent=j;};return this.setText(i);},getAttribute:(function(){var i=function(j){return this.$.getAttribute(j,2);};if(c&&(b.ie7Compat||b.ie6Compat))return function(j){var n=this;switch(j){case 'class':j='className';break;case 'http-equiv':j='httpEquiv';break;case 'name':return n.$.name;case 'tabindex':var k=i.call(n,j);if(k!==0&&n.$.tabIndex===0)k=null;return k;break;case 'checked':var l=n.$.attributes.getNamedItem(j),m=l.specified?l.nodeValue:n.$.checked;return m?'checked':null;case 'hspace':case 'value':return n.$[j];case 'style':return n.$.style.cssText;case 'contenteditable':case 'contentEditable':return n.$.attributes.getNamedItem('contentEditable').specified?n.$.getAttribute('contentEditable'):null;}return i.call(n,j);};else return i;})(),getChildren:function(){return new d.nodeList(this.$.childNodes);},getComputedStyle:c?function(i){return this.$.currentStyle[e.cssStyleToDomStyle(i)];}:function(i){return this.getWindow().$.getComputedStyle(this.$,'').getPropertyValue(i);},getDtd:function(){var i=f[this.getName()];this.getDtd=function(){return i;};return i;},getElementsByTag:g.prototype.getElementsByTag,getTabIndex:c?function(){var i=this.$.tabIndex;if(i===0&&!f.$tabIndex[this.getName()]&&parseInt(this.getAttribute('tabindex'),10)!==0)i=-1;return i;}:b.webkit?function(){var i=this.$.tabIndex;if(i==undefined){i=parseInt(this.getAttribute('tabindex'),10);if(isNaN(i))i=-1;}return i;}:function(){return this.$.tabIndex;},getText:function(){return this.$.textContent||this.$.innerText||'';},getWindow:function(){return this.getDocument().getWindow();},getId:function(){return this.$.id||null;},getNameAtt:function(){return this.$.name||null;},getName:function(){var i=this.$.nodeName.toLowerCase();if(c&&!(document.documentMode>8)){var j=this.$.scopeName;if(j!='HTML')i=j.toLowerCase()+':'+i;}return(this.getName=function(){return i;})();},getValue:function(){return this.$.value;},getFirst:function(i){var j=this.$.firstChild,k=j&&new d.node(j);if(k&&i&&!i(k))k=k.getNext(i);return k;},getLast:function(i){var j=this.$.lastChild,k=j&&new d.node(j); +if(k&&i&&!i(k))k=k.getPrevious(i);return k;},getStyle:function(i){return this.$.style[e.cssStyleToDomStyle(i)];},is:function(){var i=this.getName();for(var j=0;j0&&(j>2||!k[i[0].nodeName]||j==2&&!k[i[1].nodeName]);},hasAttribute:(function(){function i(j){var k=this.$.attributes.getNamedItem(j);return!!(k&&k.specified);};return c&&b.version<8?function(j){if(j=='name')return!!this.$.name;return i.call(this,j);}:i;})(),hide:function(){this.setStyle('display','none');},moveChildren:function(i,j){var k=this.$;i=i.$;if(k==i)return;var l;if(j)while(l=k.lastChild)i.insertBefore(k.removeChild(l),i.firstChild);else while(l=k.firstChild)i.appendChild(k.removeChild(l));},mergeSiblings:(function(){function i(j,k,l){if(k&&k.type==1){var m=[]; +while(k.data('cke-bookmark')||k.isEmptyInlineRemoveable()){m.push(k);k=l?k.getNext():k.getPrevious();if(!k||k.type!=1)return;}if(j.isIdentical(k)){var n=l?j.getLast():j.getFirst();while(m.length)m.shift().move(j,!l);k.moveChildren(j,!l);k.remove();if(n&&n.type==1)n.mergeSiblings();}}};return function(j){var k=this;if(!(j===false||f.$removeEmpty[k.getName()]||k.is('a')))return;i(k,k.getNext(),true);i(k,k.getPrevious());};})(),show:function(){this.setStyles({display:'',visibility:''});},setAttribute:(function(){var i=function(j,k){this.$.setAttribute(j,k);return this;};if(c&&(b.ie7Compat||b.ie6Compat))return function(j,k){var l=this;if(j=='class')l.$.className=k;else if(j=='style')l.$.style.cssText=k;else if(j=='tabindex')l.$.tabIndex=k;else if(j=='checked')l.$.checked=k;else if(j=='contenteditable')i.call(l,'contentEditable',k);else i.apply(l,arguments);return l;};else if(b.ie8Compat&&b.secure)return function(j,k){if(j=='src'&&k.match(/^http:\/\//))try{i.apply(this,arguments);}catch(l){}else i.apply(this,arguments);return this;};else return i;})(),setAttributes:function(i){for(var j in i)this.setAttribute(j,i[j]);return this;},setValue:function(i){this.$.value=i;return this;},removeAttribute:(function(){var i=function(j){this.$.removeAttribute(j);};if(c&&(b.ie7Compat||b.ie6Compat))return function(j){if(j=='class')j='className';else if(j=='tabindex')j='tabIndex';else if(j=='contenteditable')j='contentEditable';i.call(this,j);};else return i;})(),removeAttributes:function(i){if(e.isArray(i))for(var j=0;j=100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+i+')');}else this.setStyle('opacity',i);},unselectable:b.gecko?function(){this.$.style.MozUserSelect='none';this.on('dragstart',function(i){i.data.preventDefault();});}:b.webkit?function(){this.$.style.KhtmlUserSelect='none';this.on('dragstart',function(i){i.data.preventDefault();});}:function(){if(c||b.opera){var i=this.$,j=i.getElementsByTagName('*'),k,l=0;i.unselectable='on';while(k=j[l++])switch(k.tagName.toLowerCase()){case 'iframe':case 'textarea':case 'input':case 'select':break; +default:k.unselectable='on';}}},getPositionedAncestor:function(){var i=this;while(i.getName()!='html'){if(i.getComputedStyle('position')!='static')return i;i=i.getParent();}return null;},getDocumentPosition:function(i){var D=this;var j=0,k=0,l=D.getDocument(),m=l.getBody(),n=l.$.compatMode=='BackCompat';if(document.documentElement.getBoundingClientRect){var o=D.$.getBoundingClientRect(),p=l.$,q=p.documentElement,r=q.clientTop||m.$.clientTop||0,s=q.clientLeft||m.$.clientLeft||0,t=true;if(c){var u=l.getDocumentElement().contains(D),v=l.getBody().contains(D);t=n&&v||!n&&u;}if(t){j=o.left+(!n&&q.scrollLeft||m.$.scrollLeft);j-=s;k=o.top+(!n&&q.scrollTop||m.$.scrollTop);k-=r;}}else{var w=D,x=null,y;while(w&&!(w.getName()=='body'||w.getName()=='html')){j+=w.$.offsetLeft-w.$.scrollLeft;k+=w.$.offsetTop-w.$.scrollTop;if(!w.equals(D)){j+=w.$.clientLeft||0;k+=w.$.clientTop||0;}var z=x;while(z&&!z.equals(w)){j-=z.$.scrollLeft;k-=z.$.scrollTop;z=z.getParent();}x=w;w=(y=w.$.offsetParent)?new h(y):null;}}if(i){var A=D.getWindow(),B=i.getWindow();if(!A.equals(B)&&A.$.frameElement){var C=new h(A.$.frameElement).getDocumentPosition(i);j+=C.x;k+=C.y;}}if(!document.documentElement.getBoundingClientRect)if(b.gecko&&!n){j+=D.$.clientLeft?1:0;k+=D.$.clientTop?1:0;}return{x:j,y:k};},scrollIntoView:function(i){var j=this.getParent();if(!j)return;do{var k=j.$.clientWidth&&j.$.clientWidth0)n(0,j===true?x.y:j===false?y.y:x.y<0?x.y:y.y); +if(k&&(x.x<0||y.x>0))n(x.x<0?x.x:y.x,0);},setState:function(i){var j=this;switch(i){case 1:j.addClass('cke_on');j.removeClass('cke_off');j.removeClass('cke_disabled');break;case 0:j.addClass('cke_disabled');j.removeClass('cke_off');j.removeClass('cke_on');break;default:j.addClass('cke_off');j.removeClass('cke_on');j.removeClass('cke_disabled');break;}},getFrameDocument:function(){var i=this.$;try{i.contentWindow.document;}catch(j){i.src=i.src;if(c&&b.version<7)window.showModalDialog('javascript:document.write("")');}return i&&new g(i.contentWindow.document);},copyAttributes:function(i,j){var p=this;var k=p.$.attributes;j=j||{};for(var l=0;l0&&j)j=j.childNodes[i.shift()];return j?new d.node(j):null;},getChildCount:function(){return this.$.childNodes.length;},disableContextMenu:function(){this.on('contextmenu',function(i){if(!i.data.getTarget().hasClass('cke_enable_context_menu'))i.data.preventDefault();});},getDirection:function(i){var j=this;return i?j.getComputedStyle('direction')||j.getDirection()||j.getDocument().$.dir||j.getDocument().getBody().getDirection(1):j.getStyle('direction')||j.getAttribute('dir');},data:function(i,j){i='data-'+i;if(j===undefined)return this.getAttribute(i);else if(j===false)this.removeAttribute(i);else this.setAttribute(i,j);return null;}});(function(){var i={width:['border-left-width','border-right-width','padding-left','padding-right'],height:['border-top-width','border-bottom-width','padding-top','padding-bottom']};function j(k){var l=0;for(var m=0,n=i[k].length;m',bodyId:'',bodyClass:'',fullPage:false,height:200,plugins:'about,a11yhelp,basicstyles,bidi,blockquote,button,clipboard,colorbutton,colordialog,contextmenu,dialogadvtab,div,elementspath,enterkey,entities,filebrowser,find,flash,font,format,forms,horizontalrule,htmldataprocessor,iframe,image,indent,justify,keystrokes,link,list,liststyle,maximize,newpage,pagebreak,pastefromword,pastetext,popup,preview,print,removeformat,resize,save,scayt,showblocks,showborders,smiley,sourcearea,specialchar,stylescombo,tab,table,tabletools,templates,toolbar,undo,wsc,wysiwygarea',extraPlugins:'',removePlugins:'',protectedSource:[],tabIndex:0,theme:'default',skin:'kama',width:'',baseFloatZIndex:10000};var i=a.config;a.focusManager=function(j){if(j.focusManager)return j.focusManager;this.hasFocus=false;this._={editor:j};return this;};a.focusManager.prototype={focus:function(){var k=this;if(k._.timer)clearTimeout(k._.timer);if(!k.hasFocus){if(a.currentInstance)a.currentInstance.focusManager.forceBlur();var j=k._.editor;j.container.getChild(1).addClass('cke_focus');k.hasFocus=true;j.fire('focus');}},blur:function(){var j=this;if(j._.timer)clearTimeout(j._.timer);j._.timer=setTimeout(function(){delete j._.timer; +j.forceBlur();},100);},forceBlur:function(){if(this.hasFocus){var j=this._.editor;j.container.getChild(1).removeClass('cke_focus');this.hasFocus=false;j.fire('blur');}}};(function(){var j={};a.lang={languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,'en-au':1,'en-ca':1,'en-gb':1,en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,'fr-ca':1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,lt:1,lv:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,'pt-br':1,pt:1,ro:1,ru:1,sk:1,sl:1,'sr-latn':1,sr:1,sv:1,th:1,tr:1,uk:1,vi:1,'zh-cn':1,zh:1},load:function(k,l,m){if(!k||!a.lang.languages[k])k=this.detect(l,k);if(!this[k])a.scriptLoader.load(a.getUrl('lang/'+k+'.js'),function(){m(k,this[k]);},this);else m(k,this[k]);},detect:function(k,l){var m=this.languages;l=l||navigator.userLanguage||navigator.language||k;var n=l.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),o=n[1],p=n[2];if(m[o+'-'+p])o=o+'-'+p;else if(!m[o])o=null;a.lang.detect=o?function(){return o;}:function(q){return q;};return o||k;}};})();a.scriptLoader=(function(){var j={},k={};return{load:function(l,m,n,o){var p=typeof l=='string';if(p)l=[l];if(!n)n=a;var q=l.length,r=[],s=[],t=function(y){if(m)if(p)m.call(n,y);else m.call(n,r,s);};if(q===0){t(true);return;}var u=function(y,z){(z?r:s).push(y);if(--q<=0){o&&a.document.getDocumentElement().removeStyle('cursor');t(z);}},v=function(y,z){j[y]=1;var A=k[y];delete k[y];for(var B=0;B1)return;var A=new h('script');A.setAttributes({type:'text/javascript',src:y});if(m)if(c)A.$.onreadystatechange=function(){if(A.$.readyState=='loaded'||A.$.readyState=='complete'){A.$.onreadystatechange=null;v(y,true);}};else{A.$.onload=function(){setTimeout(function(){v(y,true);},0);};A.$.onerror=function(){v(y,false);};}A.appendTo(a.document.getHead());};o&&a.document.getDocumentElement().setStyle('cursor','wait');for(var x=0;x1)return;var w=!p.css||!p.css.length,x=!p.js||!p.js.length,y=function(){if(w&&x){p._isLoaded=1;for(var B=0;B=0?x.langCode:J[0];if(!I.langEntries||!I.langEntries[L])G.push(a.getUrl(K+'lang/'+L+'.js'));else{e.extend(x.lang,I.langEntries[L]);L=null;}}F.push(L);E.push(I);}a.scriptLoader.load(G,function(){var M=['beforeInit','init','afterInit']; +for(var N=0;N]+)>)|(?:!--([\\S|\\s]*?)-->)|(?:([^\\s>]+)\\s*((?:(?:\"[^\"]*\")|(?:'[^']*')|[^\"'>])*)\\/?>))",'g')};};(function(){var l=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,m={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};a.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(n){var A=this;var o,p,q=0,r;while(o=A._.htmlPartsRegex.exec(n)){var s=o.index;if(s>q){var t=n.substring(q,s);if(r)r.push(t);else A.onText(t);}q=A._.htmlPartsRegex.lastIndex;if(p=o[1]){p=p.toLowerCase();if(r&&f.$cdata[p]){A.onCDATA(r.join(''));r=null;}if(!r){A.onTagClose(p);continue;}}if(r){r.push(o[0]);continue;}if(p=o[3]){p=p.toLowerCase();if(/="/.test(p))continue;var u={},v,w=o[4],x=!!(w&&w.charAt(w.length-1)=='/');if(w)while(v=l.exec(w)){var y=v[1].toLowerCase(),z=v[2]||v[3]||v[4]||'';if(!z&&m[y])u[y]=y;else u[y]=z;}A.onTagOpen(p,u,x);if(!r&&f.$cdata[p])r=[];continue;}if(p=o[2])A.onComment(p);}if(n.length>q)A.onText(n.substring(q,n.length));}};})();a.htmlParser.comment=function(l){this.value=l;this._={isBlockLike:false};};a.htmlParser.comment.prototype={type:8,writeHtml:function(l,m){var n=this.value;if(m){if(!(n=m.onComment(n,this)))return;if(typeof n!='string'){n.parent=this.parent;n.writeHtml(l,m); +return;}}l.comment(n);}};(function(){a.htmlParser.text=function(l){this.value=l;this._={isBlockLike:false};};a.htmlParser.text.prototype={type:3,writeHtml:function(l,m){var n=this.value;if(m&&!(n=m.onText(n,this)))return;l.text(n);}};})();(function(){a.htmlParser.cdata=function(l){this.value=l;};a.htmlParser.cdata.prototype={type:3,writeHtml:function(l){l.write(this.value);}};})();a.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:true,hasInlineStarted:false};};(function(){var l=e.extend({table:1,ul:1,ol:1,dl:1},f.table,f.ul,f.ol,f.dl),m=c&&b.version<8?{dd:1,dt:1}:{},n={ol:1,ul:1},o=e.extend({},{html:1},f.html,f.body,f.head,{style:1,script:1});function p(q){return q.name=='a'&&q.attributes.href||f.$removeEmpty[q.name];};a.htmlParser.fragment.fromHtml=function(q,r,s){var t=new a.htmlParser(),u=s||new a.htmlParser.fragment(),v=[],w=[],x=u,y=false,z=false;function A(D){var E;if(v.length>0)for(var F=0;F=0;E--){if(D==v[E].name){v.splice(E,1);return;}}var F=[],G=[],H=x;while(H!=u&&H.name!=D){if(!H._.isBlockLike)G.unshift(H);F.push(H);H=H.returnPoint||H.parent;}if(H!=u){for(E=0;E0?t.children[r-1]:null;if(s){if(q._.isBlockLike&&s.type==3){s.value=e.rtrim(s.value);if(s.value.length===0){t.children.pop();t.add(q);return;}}s.next=q;}q.previous=s;q.parent=t;t.children.splice(r,0,q);t._.hasInlineStarted=q.type==3||q.type==1&&!q._.isBlockLike;},writeHtml:function(q,r){var s;this.filterChildren=function(){var t=new a.htmlParser.basicWriter();this.writeChildrenHtml.call(this,t,r,true);var u=t.getHtml();this.children=new a.htmlParser.fragment.fromHtml(u).children;s=1;};!this.name&&r&&r.onFragment(this);this.writeChildrenHtml(q,s?null:r);},writeChildrenHtml:function(q,r){for(var s=0;sn?1:0;};a.htmlParser.element.prototype={type:1,add:a.htmlParser.fragment.prototype.add,clone:function(){return new a.htmlParser.element(this.name,this.attributes);},writeHtml:function(m,n){var o=this.attributes,p=this,q=p.name,r,s,t,u;p.filterChildren=function(){if(!u){var B=new a.htmlParser.basicWriter();a.htmlParser.fragment.prototype.writeChildrenHtml.call(p,B,n);p.children=new a.htmlParser.fragment.fromHtml(B.getHtml(),0,p.clone()).children;u=1;}};if(n){for(;;){if(!(q=n.onElementName(q)))return;p.name=q;if(!(p=n.onElement(p)))return;p.parent=this.parent;if(p.name==q)break;if(p.type!=1){p.writeHtml(m,n);return;}q=p.name;if(!q){for(var v=0,w=this.children.length;v=0;u--){var x=r[u];if(x){x.pri=s;q.splice(t,0,x);}}}};function n(q,r,s){if(r)for(var t in r){var u=q[t];q[t]=o(u,r[t],s);if(!u)q.$length++;}};function o(q,r,s){if(r){r.pri=s;if(q){if(!q.splice){if(q.pri>s)q=[r,q];else q=[q,r];q.filter=p;}else m(q,r,s);return q;}else{r.filter=r;return r;}}};function p(q){var r=q.type||q instanceof a.htmlParser.fragment;for(var s=0;s');else this._.output.push('>');},attribute:function(l,m){if(typeof m=='string')m=e.htmlEncodeAttr(m);this._.output.push(' ',l,'="',m,'"');},closeTag:function(l){this._.output.push('');},text:function(l){this._.output.push(l);},comment:function(l){this._.output.push('');},write:function(l){this._.output.push(l);},reset:function(){this._.output=[];this._.indent=false;},getHtml:function(l){var m=this._.output.join('');if(l)this.reset();return m;}}});delete a.loadFullCore;a.instances={};a.document=new g(document);a.add=function(l){a.instances[l.name]=l;l.on('focus',function(){if(a.currentInstance!=l){a.currentInstance=l;a.fire('currentInstance');}});l.on('blur',function(){if(a.currentInstance==l){a.currentInstance=null;a.fire('currentInstance');}});};a.remove=function(l){delete a.instances[l.name];};a.on('instanceDestroyed',function(){if(e.isEmpty(this.instances))a.fire('reset'); +});a.TRISTATE_ON=1;a.TRISTATE_OFF=2;a.TRISTATE_DISABLED=0;d.comment=function(l,m){if(typeof l=='string')l=(m?m.$:document).createComment(l);d.domObject.call(this,l);};d.comment.prototype=new d.node();e.extend(d.comment.prototype,{type:8,getOuterHtml:function(){return '';}});(function(){var l={address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,dd:1,legend:1,caption:1},m={body:1,div:1,table:1,tbody:1,tr:1,td:1,th:1,form:1,fieldset:1},n=function(o){var p=o.getChildren();for(var q=0,r=p.count();q0)v=v.getChild(z-1);else v=A(v,true)===false?null:v.getPreviousSourceNode(true,C,A);}else{v=w;if(v.type==1)if(!(v=v.getChild(y)))v=A(w,true)===false?null:w.getNextSourceNode(true,C,A);}if(v&&A(v)===false)v=null;}while(v&&!this._.end){this.current=v;if(!this.evaluator||this.evaluator(v)!==false){if(!t)return v;}else if(t&&this.evaluator)return false;v=v[D](false,C,A);}this.end();return this.current=null;};function m(s){var t,u=null;while(t=l.call(this,s))u=t;return u;};d.walker=e.createClass({$:function(s){this.range=s;this._={};},proto:{end:function(){this._.end=1;},next:function(){return l.call(this);},previous:function(){return l.call(this,1);},checkForward:function(){return l.call(this,0,1)!==false;},checkBackward:function(){return l.call(this,1,1)!==false;},lastForward:function(){return m.call(this);},lastBackward:function(){return m.call(this,1);},reset:function(){delete this.current;this._={};}}});var n={block:1,'list-item':1,table:1,'table-row-group':1,'table-header-group':1,'table-footer-group':1,'table-row':1,'table-column-group':1,'table-column':1,'table-cell':1,'table-caption':1};h.prototype.isBlockBoundary=function(s){var t=s?e.extend({},f.$block,s||{}):f.$block;return this.getComputedStyle('float')=='none'&&n[this.getComputedStyle('display')]||t[this.getName()];};d.walker.blockBoundary=function(s){return function(t,u){return!(t.type==1&&t.isBlockBoundary(s));};};d.walker.listItemBoundary=function(){return this.blockBoundary({br:1});};d.walker.bookmark=function(s,t){function u(v){return v&&v.getName&&v.getName()=='span'&&v.data('cke-bookmark');};return function(v){var w,x;w=v&&!v.getName&&(x=v.getParent())&&u(x);w=s?w:w||u(v);return!!(t^w);};};d.walker.whitespaces=function(s){return function(t){var u=t&&t.type==3&&!e.trim(t.getText()); +return!!(s^u);};};d.walker.invisible=function(s){var t=d.walker.whitespaces();return function(u){var v=t(u)||u.is&&!u.$.offsetHeight;return!!(s^v);};};d.walker.nodeType=function(s,t){return function(u){return!!(t^u.type==s);};};d.walker.bogus=function(s){function t(u){return!p(u)&&!q(u);};return function(u){var v=!c?u.is&&u.is('br'):u.getText&&o.test(u.getText());if(v){var w=u.getParent(),x=u.getNext(t);v=w.isBlockBoundary()&&(!x||x.type==1&&x.isBlockBoundary());}return!!(s^v);};};var o=/^[\t\r\n ]*(?: |\xa0)$/,p=d.walker.whitespaces(),q=d.walker.bookmark(),r=function(s){return q(s)||p(s)||s.type==1&&s.getName() in f.$inline&&!(s.getName() in f.$empty);};h.prototype.getBogus=function(){var s=this;do s=s.getPreviousSourceNode();while(r(s));if(s&&(!c?s.is&&s.is('br'):s.getText&&o.test(s.getText())))return s;return false;};})();d.range=function(l){var m=this;m.startContainer=null;m.startOffset=null;m.endContainer=null;m.endOffset=null;m.collapsed=true;m.document=l;};(function(){var l=function(u){u.collapsed=u.startContainer&&u.endContainer&&u.startContainer.equals(u.endContainer)&&u.startOffset==u.endOffset;},m=function(u,v,w,x){u.optimizeBookmark();var y=u.startContainer,z=u.endContainer,A=u.startOffset,B=u.endOffset,C,D;if(z.type==3)z=z.split(B);else if(z.getChildCount()>0)if(B>=z.getChildCount()){z=z.append(u.document.createText(''));D=true;}else z=z.getChild(B);if(y.type==3){y.split(A);if(y.equals(z))z=y.getNext();}else if(!A){y=y.getFirst().insertBeforeMe(u.document.createText(''));C=true;}else if(A>=y.getChildCount()){y=y.append(u.document.createText(''));C=true;}else y=y.getChild(A).getPrevious();var E=y.getParents(),F=z.getParents(),G,H,I;for(G=0;G0&&!K.equals(z))L=J.append(K.clone());if(!E[P]||K.$.parentNode!=E[P].$.parentNode){M=K.getPrevious();while(M){if(M.equals(E[P])||M.equals(y))break;N=M.getPrevious();if(v==2)J.$.insertBefore(M.$.cloneNode(true),J.$.firstChild);else{M.remove();if(v==1)J.$.insertBefore(M.$,J.$.firstChild);}M=N;}}if(J)J=L;}if(v==2){var Q=u.startContainer;if(Q.type==3){Q.$.data+=Q.$.nextSibling.data;Q.$.parentNode.removeChild(Q.$.nextSibling);}var R=u.endContainer;if(R.type==3&&R.$.nextSibling){R.$.data+=R.$.nextSibling.data; +R.$.parentNode.removeChild(R.$.nextSibling);}}else{if(H&&I&&(y.$.parentNode!=H.$.parentNode||z.$.parentNode!=I.$.parentNode)){var S=I.getIndex();if(C&&I.$.parentNode==y.$.parentNode)S--;if(x&&H.type==1){var T=h.createFromHtml(' ',u.document);T.insertAfter(H);H.mergeSiblings(false);u.moveToBookmark({startNode:T});}else u.setStart(I.getParent(),S);}u.collapse(true);}if(C)y.remove();if(D&&z.$.parentNode)z.remove();},n={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1};function o(u){var v=false,w=d.walker.bookmark(true),x=/^[\t\r\n ]*(?: |\xa0)$/;return function(y){if(w(y))return true;if(y.type==3){if(c&&x.test(y.getText())&&!v&&!(u&&y.getNext()))v=true;else if(y.hasAscendant('pre')||e.trim(y.getText()).length)return false;}else if(y.type==1)if(!n[y.getName()])if(!c&&y.is('br')&&!v&&!(u&&y.getNext()))v=true;else return false;return true;};};var p=d.walker.bogus();function q(u){return function(v){return!u&&p(v)||(v.type==3?!e.trim(v.getText())||!!v.getParent().data('cke-bookmark'):v.getName() in f.$removeEmpty);};};var r=new d.walker.whitespaces(),s=new d.walker.bookmark();function t(u){return!r(u)&&!s(u);};d.range.prototype={clone:function(){var v=this;var u=new d.range(v.document);u.startContainer=v.startContainer;u.startOffset=v.startOffset;u.endContainer=v.endContainer;u.endOffset=v.endOffset;u.collapsed=v.collapsed;return u;},collapse:function(u){var v=this;if(u){v.endContainer=v.startContainer;v.endOffset=v.startOffset;}else{v.startContainer=v.endContainer;v.startOffset=v.endOffset;}v.collapsed=true;},cloneContents:function(){var u=new d.documentFragment(this.document);if(!this.collapsed)m(this,2,u);return u;},deleteContents:function(u){if(this.collapsed)return;m(this,0,null,u);},extractContents:function(u){var v=new d.documentFragment(this.document);if(!this.collapsed)m(this,1,v,u);return v;},createBookmark:function(u){var A=this;var v,w,x,y,z=A.collapsed;v=A.document.createElement('span');v.data('cke-bookmark',1);v.setStyle('display','none');v.setHtml(' ');if(u){x='cke_bm_'+e.getNextNumber();v.setAttribute('id',x+(z?'C':'S'));}if(!z){w=v.clone();w.setHtml(' ');if(u)w.setAttribute('id',x+'E');y=A.clone();y.collapse();y.insertNode(w);}y=A.clone();y.collapse(true);y.insertNode(v);if(w){A.setStartAfter(v);A.setEndBefore(w);}else A.moveToPosition(v,4);return{startNode:u?x+(z?'C':'S'):v,endNode:u?x+'E':w,serializable:u,collapsed:z}; +},createBookmark2:function(u){var C=this;var v=C.startContainer,w=C.endContainer,x=C.startOffset,y=C.endOffset,z=C.collapsed,A,B;if(!v||!w)return{start:0,end:0};if(u){if(v.type==1){A=v.getChild(x);if(A&&A.type==3&&x>0&&A.getPrevious().type==3){v=A;x=0;}if(A&&A.type==1)x=A.getIndex(1);}while(v.type==3&&(B=v.getPrevious())&&B.type==3){v=B;x+=B.getLength();}if(!z){if(w.type==1){A=w.getChild(y);if(A&&A.type==3&&y>0&&A.getPrevious().type==3){w=A;y=0;}if(A&&A.type==1)y=A.getIndex(1);}while(w.type==3&&(B=w.getPrevious())&&B.type==3){w=B;y+=B.getLength();}}}return{start:v.getAddress(u),end:z?null:w.getAddress(u),startOffset:x,endOffset:y,normalized:u,collapsed:z,is2:true};},moveToBookmark:function(u){var C=this;if(u.is2){var v=C.document.getByAddress(u.start,u.normalized),w=u.startOffset,x=u.end&&C.document.getByAddress(u.end,u.normalized),y=u.endOffset;C.setStart(v,w);if(x)C.setEnd(x,y);else C.collapse(true);}else{var z=u.serializable,A=z?C.document.getById(u.startNode):u.startNode,B=z?C.document.getById(u.endNode):u.endNode;C.setStartBefore(A);A.remove();if(B){C.setEndBefore(B);B.remove();}else C.collapse(true);}},getBoundaryNodes:function(){var z=this;var u=z.startContainer,v=z.endContainer,w=z.startOffset,x=z.endOffset,y;if(u.type==1){y=u.getChildCount();if(y>w)u=u.getChild(w);else if(y<1)u=u.getPreviousSourceNode();else{u=u.$;while(u.lastChild)u=u.lastChild;u=new d.node(u);u=u.getNextSourceNode()||u;}}if(v.type==1){y=v.getChildCount();if(y>x)v=v.getChild(x).getPreviousSourceNode(true);else if(y<1)v=v.getPreviousSourceNode();else{v=v.$;while(v.lastChild)v=v.lastChild;v=new d.node(v);}}if(u.getPosition(v)&2)u=v;return{startNode:u,endNode:v};},getCommonAncestor:function(u,v){var z=this;var w=z.startContainer,x=z.endContainer,y;if(w.equals(x)){if(u&&w.type==1&&z.startOffset==z.endOffset-1)y=w.getChild(z.startOffset);else y=w;}else y=w.getCommonAncestor(x);return v&&!y.is?y.getParent():y;},optimize:function(){var w=this;var u=w.startContainer,v=w.startOffset;if(u.type!=1)if(!v)w.setStartBefore(u);else if(v>=u.getLength())w.setStartAfter(u);u=w.endContainer;v=w.endOffset;if(u.type!=1)if(!v)w.setEndBefore(u);else if(v>=u.getLength())w.setEndAfter(u);},optimizeBookmark:function(){var w=this;var u=w.startContainer,v=w.endContainer;if(u.is&&u.is('span')&&u.data('cke-bookmark'))w.setStartAt(u,3);if(v&&v.is&&v.is('span')&&v.data('cke-bookmark'))w.setEndAt(v,4);},trim:function(u,v){var C=this;var w=C.startContainer,x=C.startOffset,y=C.collapsed;if((!u||y)&&w&&w.type==3){if(!x){x=w.getIndex(); +w=w.getParent();}else if(x>=w.getLength()){x=w.getIndex()+1;w=w.getParent();}else{var z=w.split(x);x=w.getIndex()+1;w=w.getParent();if(C.startContainer.equals(C.endContainer))C.setEnd(z,C.endOffset-C.startOffset);else if(w.equals(C.endContainer))C.endOffset+=1;}C.setStart(w,x);if(y){C.collapse(true);return;}}var A=C.endContainer,B=C.endOffset;if(!(v||y)&&A&&A.type==3){if(!B){B=A.getIndex();A=A.getParent();}else if(B>=A.getLength()){B=A.getIndex()+1;A=A.getParent();}else{A.split(B);B=A.getIndex()+1;A=A.getParent();}C.setEnd(A,B);}},enlarge:function(u,v){switch(u){case 1:if(this.collapsed)return;var w=this.getCommonAncestor(),x=this.document.getBody(),y,z,A,B,C,D=false,E,F,G=this.startContainer,H=this.startOffset;if(G.type==3){if(H){G=!e.trim(G.substring(0,H)).length&&G;D=!!G;}if(G)if(!(B=G.getPrevious()))A=G.getParent();}else{if(H)B=G.getChild(H-1)||G.getLast();if(!B)A=G;}while(A||B){if(A&&!B){if(!C&&A.equals(w))C=true;if(!x.contains(A))break;if(!D||A.getComputedStyle('display')!='inline'){D=false;if(C)y=A;else this.setStartBefore(A);}B=A.getPrevious();}while(B){E=false;if(B.type==8){B=B.getPrevious();continue;}else if(B.type==3){F=B.getText();if(/[^\s\ufeff]/.test(F))B=null;E=/[\s\ufeff]$/.test(F);}else if((B.$.offsetWidth>0||v&&B.is('br'))&&!B.data('cke-bookmark'))if(D&&f.$removeEmpty[B.getName()]){F=B.getText();if(/[^\s\ufeff]/.test(F))B=null;else{var I=B.$.getElementsByTagName('*');for(var J=0,K;K=I[J++];){if(!f.$removeEmpty[K.nodeName.toLowerCase()]){B=null;break;}}}if(B)E=!!F.length;}else B=null;if(E)if(D){if(C)y=A;else if(A)this.setStartBefore(A);}else D=true;if(B){var L=B.getPrevious();if(!A&&!L){A=B;B=null;break;}B=L;}else A=null;}if(A)A=A.getParent();}G=this.endContainer;H=this.endOffset;A=B=null;C=D=false;if(G.type==3){G=!e.trim(G.substring(H)).length&&G;D=!(G&&G.getLength());if(G)if(!(B=G.getNext()))A=G.getParent();}else{B=G.getChild(H);if(!B)A=G;}while(A||B){if(A&&!B){if(!C&&A.equals(w))C=true;if(!x.contains(A))break;if(!D||A.getComputedStyle('display')!='inline'){D=false;if(C)z=A;else if(A)this.setEndAfter(A);}B=A.getNext();}while(B){E=false;if(B.type==3){F=B.getText();if(/[^\s\ufeff]/.test(F))B=null;E=/^[\s\ufeff]/.test(F);}else if(B.type==1){if((B.$.offsetWidth>0||v&&B.is('br'))&&!B.data('cke-bookmark'))if(D&&f.$removeEmpty[B.getName()]){F=B.getText();if(/[^\s\ufeff]/.test(F))B=null;else{I=B.$.getElementsByTagName('*');for(J=0;K=I[J++];){if(!f.$removeEmpty[K.nodeName.toLowerCase()]){B=null;break;}}}if(B)E=!!F.length;}else B=null;}else E=1;if(E)if(D)if(C)z=A; +else this.setEndAfter(A);if(B){L=B.getNext();if(!A&&!L){A=B;B=null;break;}B=L;}else A=null;}if(A)A=A.getParent();}if(y&&z){w=y.contains(z)?z:y;this.setStartBefore(w);this.setEndAfter(w);}break;case 2:case 3:var M=new d.range(this.document);x=this.document.getBody();M.setStartAt(x,1);M.setEnd(this.startContainer,this.startOffset);var N=new d.walker(M),O,P,Q=d.walker.blockBoundary(u==3?{br:1}:null),R=function(X){var Y=Q(X);if(!Y)O=X;return Y;},S=function(X){var Y=R(X);if(!Y&&X.is&&X.is('br'))P=X;return Y;};N.guard=R;A=N.lastBackward();O=O||x;this.setStartAt(O,!O.is('br')&&(!A&&this.checkStartOfBlock()||A&&O.contains(A))?1:4);if(u==3){var T=this.clone();N=new d.walker(T);var U=d.walker.whitespaces(),V=d.walker.bookmark();N.evaluator=function(X){return!U(X)&&!V(X);};var W=N.previous();if(W&&W.type==1&&W.is('br'))return;}M=this.clone();M.collapse();M.setEndAt(x,2);N=new d.walker(M);N.guard=u==3?S:R;O=null;A=N.lastForward();O=O||x;this.setEndAt(O,!A&&this.checkEndOfBlock()||A&&O.contains(A)?2:3);if(P)this.setEndAfter(P);}},shrink:function(u,v){if(!this.collapsed){u=u||2;var w=this.clone(),x=this.startContainer,y=this.endContainer,z=this.startOffset,A=this.endOffset,B=this.collapsed,C=1,D=1;if(x&&x.type==3)if(!z)w.setStartBefore(x);else if(z>=x.getLength())w.setStartAfter(x);else{w.setStartBefore(x);C=0;}if(y&&y.type==3)if(!A)w.setEndBefore(y);else if(A>=y.getLength())w.setEndAfter(y);else{w.setEndAfter(y);D=0;}var E=new d.walker(w),F=d.walker.bookmark();E.evaluator=function(J){return J.type==(u==1?1:3);};var G;E.guard=function(J,K){if(F(J))return true;if(u==1&&J.type==3)return false;if(K&&J.equals(G))return false;if(!K&&J.type==1)G=J;return true;};if(C){var H=E[u==1?'lastForward':'next']();H&&this.setStartAt(H,v?1:3);}if(D){E.reset();var I=E[u==1?'lastBackward':'previous']();I&&this.setEndAt(I,v?2:4);}return!!(C||D);}},insertNode:function(u){var y=this;y.optimizeBookmark();y.trim(false,true);var v=y.startContainer,w=y.startOffset,x=v.getChild(w);if(x)u.insertBefore(x);else v.append(u);if(u.getParent().equals(y.endContainer))y.endOffset++;y.setStartBefore(u);},moveToPosition:function(u,v){this.setStartAt(u,v);this.collapse(true);},selectNodeContents:function(u){this.setStart(u,0);this.setEnd(u,u.type==3?u.getLength():u.getChildCount());},setStart:function(u,v){var w=this;if(u.type==1&&f.$empty[u.getName()])v=u.getIndex(),u=u.getParent();w.startContainer=u;w.startOffset=v;if(!w.endContainer){w.endContainer=u;w.endOffset=v;}l(w);},setEnd:function(u,v){var w=this;if(u.type==1&&f.$empty[u.getName()])v=u.getIndex()+1,u=u.getParent(); +w.endContainer=u;w.endOffset=v;if(!w.startContainer){w.startContainer=u;w.startOffset=v;}l(w);},setStartAfter:function(u){this.setStart(u.getParent(),u.getIndex()+1);},setStartBefore:function(u){this.setStart(u.getParent(),u.getIndex());},setEndAfter:function(u){this.setEnd(u.getParent(),u.getIndex()+1);},setEndBefore:function(u){this.setEnd(u.getParent(),u.getIndex());},setStartAt:function(u,v){var w=this;switch(v){case 1:w.setStart(u,0);break;case 2:if(u.type==3)w.setStart(u,u.getLength());else w.setStart(u,u.getChildCount());break;case 3:w.setStartBefore(u);break;case 4:w.setStartAfter(u);}l(w);},setEndAt:function(u,v){var w=this;switch(v){case 1:w.setEnd(u,0);break;case 2:if(u.type==3)w.setEnd(u,u.getLength());else w.setEnd(u,u.getChildCount());break;case 3:w.setEndBefore(u);break;case 4:w.setEndAfter(u);}l(w);},fixBlock:function(u,v){var y=this;var w=y.createBookmark(),x=y.document.createElement(v);y.collapse(u);y.enlarge(2);y.extractContents().appendTo(x);x.trim();if(!c)x.appendBogus();y.insertNode(x);y.moveToBookmark(w);return x;},splitBlock:function(u){var E=this;var v=new d.elementPath(E.startContainer),w=new d.elementPath(E.endContainer),x=v.blockLimit,y=w.blockLimit,z=v.block,A=w.block,B=null;if(!x.equals(y))return null;if(u!='br'){if(!z){z=E.fixBlock(true,u);A=new d.elementPath(E.endContainer).block;}if(!A)A=E.fixBlock(false,u);}var C=z&&E.checkStartOfBlock(),D=A&&E.checkEndOfBlock();E.deleteContents();if(z&&z.equals(A))if(D){B=new d.elementPath(E.startContainer);E.moveToPosition(A,4);A=null;}else if(C){B=new d.elementPath(E.startContainer);E.moveToPosition(z,3);z=null;}else{A=E.splitElement(z);if(!c&&!z.is('ul','ol'))z.appendBogus();}return{previousBlock:z,nextBlock:A,wasStartOfBlock:C,wasEndOfBlock:D,elementPath:B};},splitElement:function(u){var x=this;if(!x.collapsed)return null;x.setEndAt(u,2);var v=x.extractContents(),w=u.clone(false);v.appendTo(w);w.insertAfter(u);x.moveToPosition(u,4);return w;},checkBoundaryOfElement:function(u,v){var w=v==1,x=this.clone();x.collapse(w);x[w?'setStartAt':'setEndAt'](u,w?1:2);var y=new d.walker(x);y.evaluator=q(w);return y[w?'checkBackward':'checkForward']();},checkStartOfBlock:function(){var A=this;var u=A.startContainer,v=A.startOffset;if(v&&u.type==3){var w=e.ltrim(u.substring(0,v));if(w.length)return false;}var x=new d.elementPath(A.startContainer),y=A.clone();y.collapse(true);y.setStartAt(x.block||x.blockLimit,1);var z=new d.walker(y);z.evaluator=o(true);return z.checkBackward();},checkEndOfBlock:function(){var A=this; +var u=A.endContainer,v=A.endOffset;if(u.type==3){var w=e.rtrim(u.substring(v));if(w.length)return false;}var x=new d.elementPath(A.endContainer),y=A.clone();y.collapse(false);y.setEndAt(x.block||x.blockLimit,2);var z=new d.walker(y);z.evaluator=o(false);return z.checkForward();},checkReadOnly:(function(){function u(v,w){while(v){if(v.type==1)if(v.getAttribute('contentEditable')=='false'&&!v.data('cke-editable'))return 0;else if(v.is('html')||v.getAttribute('contentEditable')=='true'&&(v.contains(w)||v.equals(w)))break;v=v.getParent();}return 1;};return function(){var v=this.startContainer,w=this.endContainer;return!(u(v,w)&&u(w,v));};})(),moveToElementEditablePosition:function(u,v){var w=/^[\t\r\n ]*(?: |\xa0)$/;function x(z,A){var B;if(z.type==1&&z.isEditable(false))B=z[v?'getLast':'getFirst'](t);if(!A&&!B)B=z[v?'getPrevious':'getNext'](t);return B;};if(u.type==1&&!u.isEditable(false)){this.moveToPosition(u,v?4:3);return true;}var y=0;while(u){if(u.type==3){if(v&&this.checkEndOfBlock()&&w.test(u.getText()))this.moveToPosition(u,3);else this.moveToPosition(u,v?4:3);y=1;break;}if(u.type==1)if(u.isEditable()){this.moveToPosition(u,v?2:1);y=1;}else if(v&&u.is('br')&&this.checkEndOfBlock())this.moveToPosition(u,3);u=x(u,y);}return!!y;},moveToElementEditStart:function(u){return this.moveToElementEditablePosition(u);},moveToElementEditEnd:function(u){return this.moveToElementEditablePosition(u,true);},getEnclosedNode:function(){var u=this.clone();u.optimize();if(u.startContainer.type!=1||u.endContainer.type!=1)return null;var v=new d.walker(u),w=d.walker.bookmark(true),x=d.walker.whitespaces(true),y=function(A){return x(A)&&w(A);};u.evaluator=y;var z=v.next();v.reset();return z&&z.equals(v.previous())?z:null;},getTouchedStartNode:function(){var u=this.startContainer;if(this.collapsed||u.type!=1)return u;return u.getChild(this.startOffset)||u;},getTouchedEndNode:function(){var u=this.endContainer;if(this.collapsed||u.type!=1)return u;return u.getChild(this.endOffset-1)||u;}};})();a.POSITION_AFTER_START=1;a.POSITION_BEFORE_END=2;a.POSITION_BEFORE_START=3;a.POSITION_AFTER_END=4;a.ENLARGE_ELEMENT=1;a.ENLARGE_BLOCK_CONTENTS=2;a.ENLARGE_LIST_ITEM_CONTENTS=3;a.START=1;a.END=2;a.STARTEND=3;a.SHRINK_ELEMENT=1;a.SHRINK_TEXT=2;(function(){d.rangeList=function(n){if(n instanceof d.rangeList)return n;if(!n)n=[];else if(n instanceof d.range)n=[n];return e.extend(n,l);};var l={createIterator:function(){var n=this,o=d.walker.bookmark(),p=function(s){return!(s.is&&s.is('tr')); +},q=[],r;return{getNextRange:function(s){r=r==undefined?0:r+1;var t=n[r];if(t&&n.length>1){if(!r)for(var u=n.length-1;u>=0;u--)q.unshift(n[u].createBookmark(true));if(s){var v=0;while(n[r+v+1]){var w=t.document,x=0,y=w.getById(q[v].endNode),z=w.getById(q[v+1].startNode),A;while(1){A=y.getNextSourceNode(false);if(!z.equals(A)){if(o(A)||A.type==1&&A.isBlockBoundary()){y=A;continue;}}else x=1;break;}if(!x)break;v++;}}t.moveToBookmark(q.shift());while(v--){A=n[++r];A.moveToBookmark(q.shift());t.setEnd(A.endContainer,A.endOffset);}}return t;}};},createBookmarks:function(n){var s=this;var o=[],p;for(var q=0;q',a.document);l.appendTo(a.document.getHead());try{b.hc=l.getComputedStyle('border-top-color')==l.getComputedStyle('border-right-color');}catch(m){b.hc=false;}if(b.hc)b.cssClass+=' cke_hc';l.remove();})();j.load(i.corePlugins.split(','),function(){a.status='loaded';a.fire('loaded');var l=a._.pending;if(l){delete a._.pending;for(var m=0;m0){z=A.shift();while(!z.getParent().equals(D))z=z.getParent();if(!z.equals(H))E.push(z);H=z;}while(E.length>0){z=E.shift();if(z.getName()=='blockquote'){var I=new d.documentFragment(q.document);while(z.getFirst()){I.append(z.getFirst().remove());A.push(I.getLast());}I.replace(z);}else A.push(z);}var J=q.document.createElement('blockquote');J.insertBefore(A[0]);while(A.length>0){z=A.shift();J.append(z);}}else if(r==1){var K=[],L={};while(z=y.getNextParagraph()){var M=null,N=null;while(z.getParent()){if(z.getParent().getName()=='blockquote'){M=z.getParent();N=z;break;}z=z.getParent();}if(M&&N&&!N.getCustomData('blockquote_moveout')){K.push(N);h.setMarker(L,N,'blockquote_moveout',true);}}h.clearAllMarkers(L);var O=[],P=[];L={};while(K.length>0){var Q=K.shift();J=Q.getParent();if(!Q.getPrevious())Q.remove().insertBefore(J);else if(!Q.getNext())Q.remove().insertAfter(J);else{Q.breakParent(Q.getParent());P.push(Q.getNext());}if(!J.getCustomData('blockquote_processed')){P.push(J);h.setMarker(L,J,'blockquote_processed',true);}O.push(Q);}h.clearAllMarkers(L);for(F=P.length-1;F>=0;F--){J=P[F];if(o(J))J.remove();}if(q.config.enterMode==2){var R=true;while(O.length){Q=O.shift();if(Q.getName()=='div'){I=new d.documentFragment(q.document);var S=R&&Q.getPrevious()&&!(Q.getPrevious().type==1&&Q.getPrevious().isBlockBoundary());if(S)I.append(q.document.createElement('br'));var T=Q.getNext()&&!(Q.getNext().type==1&&Q.getNext().isBlockBoundary());while(Q.getFirst())Q.getFirst().remove().appendTo(I);if(T)I.append(q.document.createElement('br'));I.replace(Q);R=false;}}}}s.selectBookmarks(u);q.focus();}};j.add('blockquote',{init:function(q){q.addCommand('blockquote',p);q.ui.addButton('Blockquote',{label:q.lang.blockquote,command:'blockquote'});q.on('selectionChange',n);},requires:['domiterator']});})();j.add('button',{beforeInit:function(m){m.ui.addHandler('button',k.button.handler); +}});a.UI_BUTTON='button';k.button=function(m){e.extend(this,m,{title:m.label,className:m.className||m.command&&'cke_button_'+m.command||'',click:m.click||(function(n){n.execCommand(m.command);})});this._={};};k.button.handler={create:function(m){return new k.button(m);}};(function(){k.button.prototype={render:function(m,n){var o=b,p=this._.id=e.getNextId(),q='',r=this.command,s;this._.editor=m;var t={id:p,button:this,editor:m,focus:function(){var z=a.document.getById(p);z.focus();},execute:function(){if(c&&b.version<7)e.setTimeout(function(){this.button.click(m);},0,this);else this.button.click(m);}},u=e.addFunction(function(z){if(t.onkey){z=new d.event(z);return t.onkey(t,z.getKeystroke())!==false;}}),v=e.addFunction(function(z){var A;if(t.onfocus)A=t.onfocus(t,new d.event(z))!==false;if(b.gecko&&b.version<10900)z.preventBubble();return A;});t.clickFn=s=e.addFunction(t.execute,t);if(this.modes){var w={};function x(){var z=m.mode;if(z){var A=this.modes[z]?w[z]!=undefined?w[z]:2:0;this.setState(m.readOnly&&!this.readOnly?0:A);}};m.on('beforeModeUnload',function(){if(m.mode&&this._.state!=0)w[m.mode]=this._.state;},this);m.on('mode',x,this);!this.readOnly&&m.on('readOnly',x,this);}else if(r){r=m.getCommand(r);if(r){r.on('state',function(){this.setState(r.state);},this);q+='cke_'+(r.state==1?'on':r.state==0?'disabled':'off');}}if(!r)q+='cke_off';if(this.className)q+=' '+this.className;n.push('','=10900&&!o.hc?'':'" href="javascript:void(\''+(this.title||'').replace("'",'')+"')\"",' title="',this.title,'" tabindex="-1" hidefocus="true" role="button" aria-labelledby="'+p+'_label"'+(this.hasArrow?' aria-haspopup="true"':''));if(o.opera||o.gecko&&o.mac)n.push(' onkeypress="return false;"');if(o.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="return CKEDITOR.tools.callFunction(',u,', event);" onfocus="return CKEDITOR.tools.callFunction(',v,', event);" '+(c?'onclick="return false;" onmouseup':'onclick')+'="CKEDITOR.tools.callFunction(',s,', this); return false;"> ',this.label,'');if(this.hasArrow)n.push(''+(b.hc?'▼':' ')+''); +n.push('','');if(this.onRender)this.onRender();return t;},setState:function(m){if(this._.state==m)return false;this._.state=m;var n=a.document.getById(this._.id);if(n){n.setState(m);m==0?n.setAttribute('aria-disabled',true):n.removeAttribute('aria-disabled');m==1?n.setAttribute('aria-pressed',true):n.removeAttribute('aria-pressed');return true;}else return false;}};})();k.prototype.addButton=function(m,n){this.add(m,'button',n);};(function(){var m=function(y,z){var A=y.document,B=A.getBody(),C=false,D=function(){C=true;};B.on(z,D);(b.version>7?A.$:A.$.selection.createRange()).execCommand(z);B.removeListener(z,D);return C;},n=c?function(y,z){return m(y,z);}:function(y,z){try{return y.document.$.execCommand(z,false,null);}catch(A){return false;}},o=function(y){var z=this;z.type=y;z.canUndo=z.type=='cut';z.startDisabled=true;};o.prototype={exec:function(y,z){this.type=='cut'&&t(y);var A=n(y,this.type);if(!A)alert(y.lang.clipboard[this.type+'Error']);return A;}};var p={canUndo:false,exec:c?function(y){y.focus();if(!y.document.getBody().fire('beforepaste')&&!m(y,'paste')){y.fire('pasteDialog');return false;}}:function(y){try{if(!y.document.getBody().fire('beforepaste')&&!y.document.$.execCommand('Paste',false,null))throw 0;}catch(z){setTimeout(function(){y.fire('pasteDialog');},0);return false;}}},q=function(y){if(this.mode!='wysiwyg')return;switch(y.data.keyCode){case 1114112+86:case 2228224+45:var z=this.document.getBody();if(b.opera||b.gecko)z.fire('paste');return;case 1114112+88:case 2228224+46:var A=this;this.fire('saveSnapshot');setTimeout(function(){A.fire('saveSnapshot');},0);}};function r(y){y.cancel();};function s(y,z,A){var B=this.document;if(B.getById('cke_pastebin'))return;if(z=='text'&&y.data&&y.data.$.clipboardData){var C=y.data.$.clipboardData.getData('text/plain');if(C){y.data.preventDefault();A(C);return;}}var D=this.getSelection(),E=new d.range(B),F=new h(z=='text'?'textarea':b.webkit?'body':'div',B);F.setAttribute('id','cke_pastebin');b.webkit&&F.append(B.createText('\xa0'));B.getBody().append(F);F.setStyles({position:'absolute',top:D.getStartElement().getDocumentPosition().y+'px',width:'1px',height:'1px',overflow:'hidden'});F.setStyle(this.config.contentsLangDirection=='ltr'?'left':'right','-1000px');var G=D.createBookmarks();this.on('selectionChange',r,null,null,0);if(z=='text')F.$.focus();else{E.setStartAt(F,1);E.setEndAt(F,2);E.select(true);}var H=this;window.setTimeout(function(){H.document.getBody().focus();H.removeListener('selectionChange',r); +if(b.ie7Compat){D.selectBookmarks(G);F.remove();}else{F.remove();D.selectBookmarks(G);}var I;F=b.webkit&&(I=F.getFirst())&&I.is&&I.hasClass('Apple-style-span')?I:F;A(F['get'+(z=='text'?'Value':'Html')]());},0);};function t(y){if(!c||b.quirks)return;var z=y.getSelection(),A;if(z.getType()==3&&(A=z.getSelectedElement())){var B=z.getRanges()[0],C=y.document.createText('');C.insertBefore(A);B.setStartBefore(C);B.setEndAfter(A);z.selectRanges([B]);setTimeout(function(){if(A.getParent()){C.remove();z.selectElement(A);}},0);}};var u,v;function w(y,z){var A;if(v&&y in {Paste:1,Cut:1})return 0;if(y=='Paste'){c&&(u=1);try{A=z.document.$.queryCommandEnabled(y)||b.webkit;}catch(D){}u=0;}else{var B=z.getSelection(),C=B&&B.getRanges();A=B&&!(C.length==1&&C[0].collapsed);}return A?2:0;};function x(){var z=this;if(z.mode!='wysiwyg')return;var y=w('Paste',z);z.getCommand('cut').setState(w('Cut',z));z.getCommand('copy').setState(w('Copy',z));z.getCommand('paste').setState(y);z.fire('pasteState',y);};j.add('clipboard',{requires:['dialog','htmldataprocessor'],init:function(y){y.on('paste',function(A){var B=A.data;if(B.html)y.insertHtml(B.html);else if(B.text)y.insertText(B.text);setTimeout(function(){y.fire('afterPaste');},0);},null,null,1000);y.on('pasteDialog',function(A){setTimeout(function(){y.openDialog('paste');},0);});y.on('pasteState',function(A){y.getCommand('paste').setState(A.data);});function z(A,B,C,D){var E=y.lang[B];y.addCommand(B,C);y.ui.addButton(A,{label:E,command:B});if(y.addMenuItems)y.addMenuItem(B,{label:E,command:B,group:'clipboard',order:D});};z('Cut','cut',new o('cut'),1);z('Copy','copy',new o('copy'),4);z('Paste','paste',p,8);a.dialog.add('paste',a.getUrl(this.path+'dialogs/paste.js'));y.on('key',q,y);y.on('contentDom',function(){var A=y.document.getBody();A.on(!c?'paste':'beforepaste',function(B){if(u)return;var C=B.data&&B.data.$;if(c&&C&&!C.ctrlKey)return;var D={mode:'html'};y.fire('beforePaste',D);s.call(y,B,D.mode,function(E){if(!(E=e.trim(E.replace(/]+data-cke-bookmark[^<]*?<\/span>/ig,''))))return;var F={};F[D.mode]=E;y.fire('paste',F);});});if(c){A.on('contextmenu',function(){u=1;setTimeout(function(){u=0;},0);});A.on('paste',function(B){if(!y.document.getById('cke_pastebin')){B.data.preventDefault();u=0;p.exec(y);}});}A.on('beforecut',function(){!u&&t(y);});A.on('mouseup',function(){setTimeout(function(){x.call(y);},0);},y);A.on('keyup',x,y);});y.on('selectionChange',function(A){v=A.data.selection.getRanges()[0].checkReadOnly();x.call(y); +});if(y.contextMenu)y.contextMenu.addListener(function(A,B){var C=B.getRanges()[0].checkReadOnly();return{cut:w('Cut',y),copy:w('Copy',y),paste:w('Paste',y)};});}});})();j.add('colorbutton',{requires:['panelbutton','floatpanel','styles'],init:function(m){var n=m.config,o=m.lang.colorButton,p;if(!b.hc){q('TextColor','fore',o.textColorTitle);q('BGColor','back',o.bgColorTitle);}function q(t,u,v){var w=e.getNextId()+'_colorBox';m.ui.add(t,'panelbutton',{label:v,title:v,className:'cke_button_'+t.toLowerCase(),modes:{wysiwyg:1},panel:{css:m.skin.editor.css,attributes:{role:'listbox','aria-label':o.panelTitle}},onBlock:function(x,y){y.autoSize=true;y.element.addClass('cke_colorblock');y.element.setHtml(r(x,u,w));y.element.getDocument().getBody().setStyle('overflow','hidden');k.fire('ready',this);var z=y.keys,A=m.lang.dir=='rtl';z[A?37:39]='next';z[40]='next';z[9]='next';z[A?39:37]='prev';z[38]='prev';z[2228224+9]='prev';z[32]='click';},onOpen:function(){var x=m.getSelection(),y=x&&x.getStartElement(),z=new d.elementPath(y),A;y=z.block||z.blockLimit||m.document.getBody();do A=y&&y.getComputedStyle(u=='back'?'background-color':'color')||'transparent';while(u=='back'&&A=='transparent'&&y&&(y=y.getParent()));if(!A||A=='transparent')A='#ffffff';this._.panel._.iframe.getFrameDocument().getById(w).setStyle('background-color',A);}});};function r(t,u,v){var w=[],x=n.colorButton_colors.split(','),y=e.addFunction(function(E,F){if(E=='?'){var G=arguments.callee;function H(J){this.removeListener('ok',H);this.removeListener('cancel',H);J.name=='ok'&&G(this.getContentElement('picker','selectedColor').getValue(),F);};m.openDialog('colordialog',function(){this.on('ok',H);this.on('cancel',H);});return;}m.focus();t.hide(false);m.fire('saveSnapshot');new a.style(n['colorButton_'+F+'Style'],{color:'inherit'}).remove(m.document);if(E){var I=n['colorButton_'+F+'Style'];I.childRule=F=='back'?function(J){return s(J);}:function(J){return!(J.is('a')||J.getElementsByTag('a').count())||s(J);};new a.style(I,{color:E}).apply(m.document);}m.fire('saveSnapshot');});w.push('
',o.auto,'
'); +for(var z=0;z');var A=x[z].split('/'),B=A[0],C=A[1]||B;if(!A[1])B='#'+B.replace(/^(.)(.)(.)$/,'$1$1$2$2$3$3');var D=m.lang.colors[C]||C;w.push('');}if(n.colorButton_enableMore===undefined||n.colorButton_enableMore)w.push('');w.push('
',o.more,'
');return w.join('');};function s(t){return t.getAttribute('contentEditable')=='false'||t.getAttribute('data-nostyle');};}});i.colorButton_colors='000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF';i.colorButton_foreStyle={element:'span',styles:{color:'#(color)'},overrides:[{element:'font',attributes:{color:null}}]};i.colorButton_backStyle={element:'span',styles:{'background-color':'#(color)'}};j.colordialog={requires:['dialog'],init:function(m){m.addCommand('colordialog',new a.dialogCommand('colordialog'));a.dialog.add('colordialog',this.path+'dialogs/colordialog.js');}};j.add('colordialog',j.colordialog);j.add('contextmenu',{requires:['menu'],onLoad:function(){j.contextMenu=e.createClass({base:a.menu,$:function(m){this.base.call(this,m,{panel:{className:m.skinClass+' cke_contextmenu',attributes:{'aria-label':m.lang.contextmenu.options}}});},proto:{addTarget:function(m,n){if(b.opera&&!('oncontextmenu' in document.body)){var o;m.on('mousedown',function(s){s=s.data;if(s.$.button!=2){if(s.getKeystroke()==1114112+1)m.fire('contextmenu',s);return;}if(n&&(b.mac?s.$.metaKey:s.$.ctrlKey))return;var t=s.getTarget();if(!o){var u=t.getDocument();o=u.createElement('input');o.$.type='button';u.getBody().append(o);}o.setAttribute('style','position:absolute;top:'+(s.$.clientY-2)+'px;left:'+(s.$.clientX-2)+'px;width:5px;height:5px;opacity:0.01');});m.on('mouseup',function(s){if(o){o.remove();o=undefined;m.fire('contextmenu',s.data);}});}m.on('contextmenu',function(s){var t=s.data; +if(n&&(b.webkit?p:b.mac?t.$.metaKey:t.$.ctrlKey))return;t.preventDefault();var u=t.getTarget().getDocument().getDocumentElement(),v=t.$.clientX,w=t.$.clientY;e.setTimeout(function(){this.open(u,null,v,w);},c?200:0,this);},this);if(b.opera)m.on('keypress',function(s){var t=s.data;if(t.$.keyCode===0)t.preventDefault();});if(b.webkit){var p,q=function(s){p=b.mac?s.data.$.metaKey:s.data.$.ctrlKey;},r=function(){p=0;};m.on('keydown',q);m.on('keyup',r);m.on('contextmenu',r);}},open:function(m,n,o,p){this.editor.focus();m=m||a.document.getDocumentElement();this.show(m,n,o,p);}}});},beforeInit:function(m){m.contextMenu=new j.contextMenu(m);m.addCommand('contextMenu',{exec:function(){m.contextMenu.open(m.document.getBody());}});}});(function(){function m(o){var p=this.att,q=o&&o.hasAttribute(p)&&o.getAttribute(p)||'';if(q!==undefined)this.setValue(q);};function n(){var o;for(var p=0;p ';j.add('elementspath',{requires:['selection'],init:function(o){var p='cke_path_'+o.name,q,r=function(){if(!q)q=a.document.getById(p);return q;},s='cke_elementspath_'+e.getNextNumber()+'_';o._.elementsPath={idBase:s,filters:[]};o.on('themeSpace',function(x){if(x.data.space=='bottom')x.data.html+=''+o.lang.elementsPath.eleLabel+''+'
'+n+'
';});function t(x){o.focus();var y=o._.elementsPath.list[x];if(y.is('body')){var z=new d.range(o.document);z.selectNodeContents(y);z.select();}else o.getSelection().selectElement(y);};var u=e.addFunction(t),v=e.addFunction(function(x,y){var z=o._.elementsPath.idBase,A;y=new d.event(y);var B=o.lang.dir=='rtl';switch(y.getKeystroke()){case B?39:37:case 9:A=a.document.getById(z+(x+1));if(!A)A=a.document.getById(z+'0');A.focus();return false;case B?37:39:case 2228224+9:A=a.document.getById(z+(x-1));if(!A)A=a.document.getById(z+(o._.elementsPath.list.length-1));A.focus();return false;case 27:o.focus();return false;case 13:case 32:t(x);return false;}return true;});o.on('selectionChange',function(x){var y=b,z=x.data.selection,A=z.getStartElement(),B=[],C=x.editor,D=C._.elementsPath.list=[],E=C._.elementsPath.filters; +while(A){var F=0,G;if(A.data('cke-display-name'))G=A.data('cke-display-name');else if(A.data('cke-real-element-type'))G=A.data('cke-real-element-type');else G=A.getName();for(var H=0;H',G,''+L+'','');}if(G=='body')break;A=A.getParent();}var M=r();M.setHtml(B.join('')+n);C.fire('elementsPathUpdate',{space:M});});function w(){q&&q.setHtml(n);delete o._.elementsPath.list;};o.on('readOnly',w);o.on('contentDomUnload',w);o.addCommand('elementsPathFocus',m.toolbarFocus);}});})();(function(){j.add('enterkey',{requires:['keystrokes','indent'],init:function(t){t.addCommand('enter',{modes:{wysiwyg:1},editorFocus:false,exec:function(v){r(v);}});t.addCommand('shiftEnter',{modes:{wysiwyg:1},editorFocus:false,exec:function(v){q(v);}});var u=t.keystrokeHandler.keystrokes;u[13]='enter';u[2228224+13]='shiftEnter';}});j.enterkey={enterBlock:function(t,u,v,w){v=v||s(t);if(!v)return;var x=v.document,y=v.checkStartOfBlock(),z=v.checkEndOfBlock(),A=new d.elementPath(v.startContainer),B=A.block;if(y&&z){if(B&&(B.is('li')||B.getParent().is('li'))){t.execCommand('outdent');return;}if(B&&B.getParent().is('blockquote')){B.breakParent(B.getParent());if(!B.getPrevious().getFirst(d.walker.invisible(1)))B.getPrevious().remove();if(!B.getNext().getFirst(d.walker.invisible(1)))B.getNext().remove();v.moveToElementEditStart(B);v.select();return;}}else if(B&&B.is('pre')){if(!z){n(t,u,v,w);return;}}else if(B&&f.$captionBlock[B.getName()]){n(t,u,v,w);return;}var C=u==3?'div':'p',D=v.splitBlock(C);if(!D)return;var E=D.previousBlock,F=D.nextBlock,G=D.wasStartOfBlock,H=D.wasEndOfBlock,I;if(F){I=F.getParent();if(I.is('li')){F.breakParent(I);F.move(F.getNext(),1);}}else if(E&&(I=E.getParent())&&I.is('li')){E.breakParent(I);I=E.getNext();v.moveToElementEditStart(I);E.move(E.getPrevious());}if(!G&&!H){if(F.is('li')&&(I=F.getFirst(d.walker.invisible(true)))&&I.is&&I.is('ul','ol'))(c?x.createText('\xa0'):x.createElement('br')).insertBefore(I); +if(F)v.moveToElementEditStart(F);}else{var J,K;if(E){if(E.is('li')||!(p.test(E.getName())||E.is('pre')))J=E.clone();}else if(F)J=F.clone();if(!J){if(I&&I.is('li'))J=I;else{J=x.createElement(C);if(E&&(K=E.getDirection()))J.setAttribute('dir',K);}}else if(w&&!J.is('li'))J.renameNode(C);var L=D.elementPath;if(L)for(var M=0,N=L.elements.length;M0;v--)u[v].deleteContents();return u[0];};})();(function(){var m='nbsp,gt,lt,amp',n='quot,iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,forall,part,exist,empty,nabla,isin,notin,ni,prod,sum,minus,lowast,radic,prop,infin,ang,and,or,cap,cup,int,there4,sim,cong,asymp,ne,equiv,le,ge,sub,sup,nsub,sube,supe,oplus,otimes,perp,sdot,lceil,rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,euro',o='Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,OElig,oelig,Scaron,scaron,Yuml',p='Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,upsih,piv'; +function q(r,s){var t={},u=[],v={nbsp:'\xa0',shy:'­',gt:'>',lt:'<',amp:'&',apos:"'",quot:'"'};r=r.replace(/\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g,function(A,B){var C=s?'&'+B+';':v[B],D=s?v[B]:'&'+B+';';t[C]=D;u.push(C);return '';});if(!s&&r){r=r.split(',');var w=document.createElement('div'),x;w.innerHTML='&'+r.join(';&')+';';x=w.innerHTML;w=null;for(var y=0;y0;case 'checked':return!!q.$.checked;case 'value':var p=q.getAttribute('type');return p=='checkbox'||p=='radio'?q.$.value!='on':q.$.value;}return m.apply(q,arguments);};});(function(){var m={canUndo:false,exec:function(o){var p=o.document.createElement('hr');o.insertElement(p);}},n='horizontalrule';j.add(n,{init:function(o){o.addCommand(n,m);o.ui.addButton('HorizontalRule',{label:o.lang.horizontalrule,command:n});}});})();(function(){var m=/^[\t\r\n ]*(?: |\xa0)$/,n='{cke_protected}';function o(T){var U=T.children.length,V=T.children[U-1];while(V&&V.type==3&&!e.trim(V.value))V=T.children[--U];return V;};function p(T,U){var V=T.children,W=o(T);if(W){if((U||!c)&&W.type==1&&W.name=='br')V.pop();if(W.type==3&&m.test(W.value))V.pop();}};function q(T,U,V){if(!U&&(!V||typeof V=='function'&&V(T)===false))return false;if(U&&c&&(document.documentMode>7||T.name in f.tr||T.name in f.$listItem))return false;var W=o(T);return!W||W&&(W.type==1&&W.name=='br'||T.name=='form'&&W.name=='input');};function r(T,U){return function(V){p(V,!T);if(q(V,!T,U))if(T||c)V.add(new a.htmlParser.text('\xa0'));else V.add(new a.htmlParser.element('br',{}));};};var s=f,t=['caption','colgroup','col','thead','tfoot','tbody'],u=e.extend({},s.$block,s.$listItem,s.$tableContent);for(var v in u){if(!('br' in s[v]))delete u[v];}delete u.pre;var w={elements:{},attributeNames:[[/^on/,'data-cke-pa-on']]},x={elements:{}};for(v in u)x.elements[v]=r();var y={elementNames:[[/^cke:/,''],[/^\?xml:namespace$/,'']],attributeNames:[[/^data-cke-(saved|pa)-/,''],[/^data-cke-.*/,''],['hidefocus','']],elements:{$:function(T){var U=T.attributes;if(U){if(U['data-cke-temp'])return false;var V=['name','href','src'],W; +for(var X=0;Xe.indexOf(t,W.name)?1:-1:0;});},embed:function(T){var U=T.parent;if(U&&U.name=='object'){var V=U.attributes.width,W=U.attributes.height;V&&(T.attributes.width=V);W&&(T.attributes.height=W);}},param:function(T){T.children=[];T.isEmpty=true;return T;},a:function(T){if(!(T.children.length||T.attributes.name||T.attributes['data-cke-saved-name']))return false;},span:function(T){if(T.attributes['class']=='Apple-style-span')delete T.name;},pre:function(T){c&&p(T);},html:function(T){delete T.attributes.contenteditable;delete T.attributes['class'];},body:function(T){delete T.attributes.spellcheck;delete T.attributes.contenteditable;},style:function(T){var U=T.children[0];U&&U.value&&(U.value=e.trim(U.value));if(!T.attributes.type)T.attributes.type='text/css';},title:function(T){var U=T.children[0];U&&(U.value=T.attributes['data-cke-title']||'');}},attributes:{'class':function(T,U){return e.ltrim(T.replace(/(?:^|\s+)cke_[^\s]*/g,''))||false;}}};if(c)y.attributes.style=function(T,U){return T.replace(/(^|;)([^\:]+)/g,function(V){return V.toLowerCase();});};function z(T){var U=T.attributes;if(U.contenteditable!='false')U['data-cke-editable']=U.contenteditable?'true':1;U.contenteditable='false';};function A(T){var U=T.attributes;switch(U['data-cke-editable']){case 'true':U.contenteditable='true';break;case '1':delete U.contenteditable;break;}};for(v in {input:1,textarea:1}){w.elements[v]=z;y.elements[v]=A;}var B=/<(a|area|img|input)\b([^>]*)>/gi,C=/\b(on\w+|href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,D=/(?:])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,E=/([^<]*)<\/cke:encoded>/gi,F=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,G=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,H=/]*?)\/?>(?!\s*<\/cke:\1)/gi;function I(T){return T.replace(B,function(U,V,W){return '<'+V+W.replace(C,function(X,Y){if(!/^on/.test(Y)&&W.indexOf('data-cke-saved-'+Y)==-1)return ' data-cke-saved-'+X+' data-cke-'+a.rnd+'-'+X;return X;})+'>';});};function J(T){return T.replace(D,function(U){return ''+encodeURIComponent(U)+'';});};function K(T){return T.replace(E,function(U,V){return decodeURIComponent(V);});};function L(T){return T.replace(F,'$1cke:$2');};function M(T){return T.replace(G,'$1$2'); +};function N(T){return T.replace(H,'');};function O(T){return T.replace(/(]*>)(\r\n|\n)/g,'$1$2$2');};function P(T){return T.replace(//g,function(U){return '';});};function Q(T){return T.replace(//g,function(U,V){return decodeURIComponent(V);});};function R(T,U){var V=U._.dataStore;return T.replace(//g,function(W,X){return decodeURIComponent(X);}).replace(/\{cke_protected_(\d+)\}/g,function(W,X){return V&&V[X]||'';});};function S(T,U){var V=[],W=U.config.protectedSource,X=U._.dataStore||(U._.dataStore={id:1}),Y=/<\!--\{cke_temp(comment)?\}(\d*?)-->/g,Z=[//gi,//gi].concat(W);T=T.replace(//g,function(ab){return '';});for(var aa=0;aa';});T=T.replace(Y,function(ab,ac,ad){return '';});return T.replace(/(['"]).*?\1/g,function(ab){return ab.replace(//g,function(ac,ad){X[X.id]=decodeURIComponent(ad);return '{cke_protected_'+X.id++ +'}';});});};j.add('htmldataprocessor',{requires:['htmlwriter'],init:function(T){var U=T.dataProcessor=new a.htmlDataProcessor(T);U.writer.forceSimpleAmpersand=T.config.forceSimpleAmpersand;U.dataFilter.addRules(w);U.dataFilter.addRules(x);U.htmlFilter.addRules(y);var V={elements:{}};for(v in u)V.elements[v]=r(true,T.config.fillEmptyBlocks);U.htmlFilter.addRules(V);},onLoad:function(){!('fillEmptyBlocks' in i)&&(i.fillEmptyBlocks=1);}});a.htmlDataProcessor=function(T){var U=this;U.editor=T;U.writer=new a.htmlWriter();U.dataFilter=new a.htmlParser.filter();U.htmlFilter=new a.htmlParser.filter();};a.htmlDataProcessor.prototype={toHtml:function(T,U){T=S(T,this.editor);T=I(T);T=J(T);T=L(T);T=N(T);T=O(T);var V=new h('div');V.setHtml('a'+T);T=V.getHtml().substr(1);T=T.replace(new RegExp(' data-cke-'+a.rnd+'-','ig'),' ');T=M(T);T=K(T);T=Q(T);var W=a.htmlParser.fragment.fromHtml(T,U),X=new a.htmlParser.basicWriter();W.writeHtml(X,this.dataFilter);T=X.getHtml(true);T=P(T);return T;},toDataFormat:function(T,U){var V=this.writer,W=a.htmlParser.fragment.fromHtml(T,U);V.reset(); +W.writeHtml(V,this.htmlFilter);var X=V.getHtml(true);X=Q(X);X=R(X,this.editor);return X;}};})();(function(){j.add('iframe',{requires:['dialog','fakeobjects'],init:function(m){var n='iframe',o=m.lang.iframe;a.dialog.add(n,this.path+'dialogs/iframe.js');m.addCommand(n,new a.dialogCommand(n));m.addCss('img.cke_iframe{background-image: url('+a.getUrl(this.path+'images/placeholder.png')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 80px;'+'height: 80px;'+'}');m.ui.addButton('Iframe',{label:o.toolbar,command:n});m.on('doubleclick',function(p){var q=p.data.element;if(q.is('img')&&q.data('cke-real-element-type')=='iframe')p.data.dialog='iframe';});if(m.addMenuItems)m.addMenuItems({iframe:{label:o.title,command:'iframe',group:'image'}});if(m.contextMenu)m.contextMenu.addListener(function(p,q){if(p&&p.is('img')&&p.data('cke-real-element-type')=='iframe')return{iframe:2};});},afterInit:function(m){var n=m.dataProcessor,o=n&&n.dataFilter;if(o)o.addRules({elements:{iframe:function(p){return m.createFakeParserElement(p,'cke_iframe','iframe',true);}}});}});})();(function(){j.add('image',{requires:['dialog'],init:function(o){var p='image';a.dialog.add(p,this.path+'dialogs/image.js');o.addCommand(p,new a.dialogCommand(p));o.ui.addButton('Image',{label:o.lang.common.image,command:p});o.on('doubleclick',function(q){var r=q.data.element;if(r.is('img')&&!r.data('cke-realelement')&&!r.isReadOnly())q.data.dialog='image';});if(o.addMenuItems)o.addMenuItems({image:{label:o.lang.image.menu,command:'image',group:'image'}});if(o.contextMenu)o.contextMenu.addListener(function(q,r){if(m(o,q))return{image:2};});},afterInit:function(o){p('left');p('right');p('center');p('block');function p(q){var r=o.getCommand('justify'+q);if(r){if(q=='left'||q=='right')r.on('exec',function(s){var t=m(o),u;if(t){u=n(t);if(u==q){t.removeStyle('float');if(q==n(t))t.removeAttribute('align');}else t.setStyle('float',q);s.cancel();}});r.on('refresh',function(s){var t=m(o),u;if(t){u=n(t);this.setState(u==q?1:q=='right'||q=='left'?2:0);s.cancel();}});}};}});function m(o,p){if(!p){var q=o.getSelection();p=q.getType()==3&&q.getSelectedElement();}if(p&&p.is('img')&&!p.data('cke-realelement')&&!p.isReadOnly())return p;};function n(o){var p=o.getStyle('float');if(p=='inherit'||p=='none')p=0;if(!p)p=o.getAttribute('align');return p;};})();i.image_removeLinkByEmptyURL=true;(function(){var m={ol:1,ul:1},n=d.walker.whitespaces(true),o=d.walker.bookmark(false,true); +function p(t){var B=this;if(t.editor.readOnly)return null;var u=t.editor,v=t.data.path,w=v&&v.contains(m),x=v.block||v.blockLimit;if(w)return B.setState(2);if(!B.useIndentClasses&&B.name=='indent')return B.setState(2);if(!x)return B.setState(0);if(B.useIndentClasses){var y=x.$.className.match(B.classNameRegex),z=0;if(y){y=y[1];z=B.indentClassMap[y];}if(B.name=='outdent'&&!z||B.name=='indent'&&z==u.config.indentClasses.length)return B.setState(0);return B.setState(2);}else{var A=parseInt(x.getStyle(r(x)),10);if(isNaN(A))A=0;if(A<=0)return B.setState(0);return B.setState(2);}};function q(t,u){var w=this;w.name=u;w.useIndentClasses=t.config.indentClasses&&t.config.indentClasses.length>0;if(w.useIndentClasses){w.classNameRegex=new RegExp('(?:^|\\s+)('+t.config.indentClasses.join('|')+')(?=$|\\s)');w.indentClassMap={};for(var v=0;v0){var Z=X[T].parent;X[T].parent=new h(Z.getName(),Z.getDocument());}}for(T=W.getCustomData('listarray_index')+1;TY;T++)X[T].indent+=U;var aa=j.list.arrayToList(X,v,null,t.config.enterMode,M.getDirection());if(u.name=='outdent'){var ab;if((ab=M.getParent())&&ab.is('li')){var ac=aa.listNode.getChildren(),ad=[],ae=ac.count(),af;for(T=ae-1;T>=0;T--){if((af=ac.getItem(T))&&af.is&&af.is('li'))ad.push(af);}}}if(aa)aa.listNode.replace(M);if(ad&&ad.length)for(T=0;T0)M.addClass(t.config.indentClasses[P-1]);}else{var Q=r(M,N),R=parseInt(M.getStyle(Q),10);if(isNaN(R))R=0;var S=t.config.indentOffset||40;R+=(u.name=='indent'?1:-1)*S;if(R<0)return false;R=Math.max(R,0);R=Math.ceil(R/S)*S;M.setStyle(Q,R?R+(t.config.indentUnit||'px'):'');if(M.getAttribute('style')==='')M.removeAttribute('style');}h.setMarker(v,M,'indent_processed',1);return true;};var z=t.getSelection(),A=z.createBookmarks(1),B=z&&z.getRanges(1),C,D=B.createIterator();while(C=D.getNextRange()){var E=C.getCommonAncestor(),F=E;while(F&&!(F.type==1&&m[F.getName()]))F=F.getParent();if(!F){var G=C.getEnclosedNode();if(G&&G.type==1&&G.getName() in m){C.setStartAt(G,1);C.setEndAt(G,2);F=G;}}if(F&&C.startContainer.type==1&&C.startContainer.getName() in m){var H=new d.walker(C);H.evaluator=s;C.startContainer=H.next();}if(F&&C.endContainer.type==1&&C.endContainer.getName() in m){H=new d.walker(C);H.evaluator=s;C.endContainer=H.previous();}if(F){var I=F.getFirst(s),J=!!I.getNext(s),K=C.startContainer,L=I.equals(K)||I.contains(K);if(!(L&&(u.name=='indent'||u.useIndentClasses||parseInt(F.getStyle(r(F)),10))&&y(F,!J&&I.getDirection())))w(F);}else x();}h.clearAllMarkers(v);t.forceNextSelectionCheck();z.selectBookmarks(A);}};j.add('indent',{init:function(t){var u=t.addCommand('indent',new q(t,'indent')),v=t.addCommand('outdent',new q(t,'outdent'));t.ui.addButton('Indent',{label:t.lang.indent,command:'indent'});t.ui.addButton('Outdent',{label:t.lang.outdent,command:'outdent'});t.on('selectionChange',e.bind(p,u));t.on('selectionChange',e.bind(p,v));if(b.ie6Compat||b.ie7Compat)t.addCss('ul,ol{\tmargin-left: 0px;\tpadding-left: 40px;}');t.on('dirChanged',function(w){var x=new d.range(t.document);x.setStartBefore(w.data.node);x.setEndAfter(w.data.node);var y=new d.walker(x),z;while(z=y.next()){if(z.type==1){if(!z.equals(w.data.node)&&z.getDirection()){x.setStartAfter(z);y=new d.walker(x);continue;}var A=t.config.indentClasses;if(A){var B=w.data.dir=='ltr'?['_rtl','']:['','_rtl'];for(var C=0;C=0;z--){w=u[z].createIterator();w.enlargeBr=s!=2;while(x=w.getNextParagraph(s==1?'p':'div')){x.removeAttribute('align');x.removeStyle('text-align');var A=v&&(x.$.className=e.ltrim(x.$.className.replace(C.cssClassRegex,''))),B=C.state==2&&(!y||m(x,true)!=C.value);if(v){if(B)x.addClass(v);else if(!A)x.removeAttribute('class');}else if(B)x.setStyle('text-align',C.value);}}q.focus();q.forceNextSelectionCheck();r.selectBookmarks(t);},refresh:function(q){var r=q.block||q.blockLimit;this.setState(r.getName()!='body'&&m(r,this.editor.config.useComputedState)==this.value?1:2);}};j.add('justify',{init:function(q){var r=new o(q,'justifyleft','left'),s=new o(q,'justifycenter','center'),t=new o(q,'justifyright','right'),u=new o(q,'justifyblock','justify'); +q.addCommand('justifyleft',r);q.addCommand('justifycenter',s);q.addCommand('justifyright',t);q.addCommand('justifyblock',u);q.ui.addButton('JustifyLeft',{label:q.lang.justify.left,command:'justifyleft'});q.ui.addButton('JustifyCenter',{label:q.lang.justify.center,command:'justifycenter'});q.ui.addButton('JustifyRight',{label:q.lang.justify.right,command:'justifyright'});q.ui.addButton('JustifyBlock',{label:q.lang.justify.block,command:'justifyblock'});q.on('selectionChange',e.bind(n,r));q.on('selectionChange',e.bind(n,t));q.on('selectionChange',e.bind(n,s));q.on('selectionChange',e.bind(n,u));q.on('dirChanged',p);},requires:['domiterator']});})();j.add('keystrokes',{beforeInit:function(m){m.keystrokeHandler=new a.keystrokeHandler(m);m.specialKeys={};},init:function(m){var n=m.config.keystrokes,o=m.config.blockedKeystrokes,p=m.keystrokeHandler.keystrokes,q=m.keystrokeHandler.blockedKeystrokes;for(var r=0;r7))Y.append(T.createText('\xa0'));Y.append(af.listNode);W=af.nextIndex;}else if(ac.indent==-1&&!P&&ad){if(m[ad.getName()]){Y=ac.element.clone(false,true);if(Z!=ad.getDirection(1))Y.setAttribute('dir',Z);}else Y=new d.documentFragment(T);var ag=ad.getDirection(1)!=Z,ah=ac.element,ai=ah.getAttribute('class'),aj=ah.getAttribute('style'),ak=Y.type==11&&(Q!=2||ag||aj||ai),al,am=ac.contents.length;for(S=0;SQ[S-1].indent+1){var W=Q[S-1].indent+1-Q[S].indent,X=Q[S].indent;while(Q[S]&&Q[S].indent>=X){Q[S].indent+=W;S++;}S--;}}var Y=j.list.arrayToList(Q,P,null,N.config.enterMode,O.root.getAttribute('dir')),Z=Y.listNode,aa,ab;function ac(ad){if((aa=Z[ad?'getFirst':'getLast']())&&!(aa.is&&aa.isBlockBoundary())&&(ab=O.root[ad?'getPrevious':'getNext'](d.walker.whitespaces(true)))&&!(ab.is&&ab.isBlockBoundary({br:1})))N.document.createElement('br')[ad?'insertBefore':'insertAfter'](aa);};ac(true);ac();Z.replace(O.root);};function z(N,O){this.name=N;this.type=O;};var A=d.walker.nodeType(1);function B(N,O,P,Q){var R,S; +while(R=N[Q?'getLast':'getFirst'](A)){if((S=R.getDirection(1))!==O.getDirection(1))R.setAttribute('dir',S);R.remove();P?R[Q?'insertBefore':'insertAfter'](P):O.append(R,Q);}};z.prototype={exec:function(N){var aq=this;var O=N.document,P=N.config,Q=N.getSelection(),R=Q&&Q.getRanges(true);if(!R||R.length<1)return;if(aq.state==2){var S=O.getBody();if(!S.getFirst(q)){P.enterMode==2?S.appendBogus():R[0].fixBlock(1,P.enterMode==1?'p':'div');Q.selectRanges(R);}else{var T=R.length==1&&R[0],U=T&&T.getEnclosedNode();if(U&&U.is&&aq.type==U.getName())aq.setState(1);}}var V=Q.createBookmarks(true),W=[],X={},Y=R.createIterator(),Z=0;while((T=Y.getNextRange())&&++Z){var aa=T.getBoundaryNodes(),ab=aa.startNode,ac=aa.endNode;if(ab.type==1&&ab.getName()=='td')T.setStartAt(aa.startNode,1);if(ac.type==1&&ac.getName()=='td')T.setEndAt(aa.endNode,2);var ad=T.createIterator(),ae;ad.forceBrBreak=aq.state==2;while(ae=ad.getNextParagraph()){if(ae.getCustomData('list_block'))continue;else h.setMarker(X,ae,'list_block',1);var af=new d.elementPath(ae),ag=af.elements,ah=ag.length,ai=null,aj=0,ak=af.blockLimit,al;for(var am=ah-1;am>=0&&(al=ag[am]);am--){if(m[al.getName()]&&ak.contains(al)){ak.removeCustomData('list_group_object_'+Z);var an=al.getCustomData('list_group_object');if(an)an.contents.push(ae);else{an={root:al,contents:[ae]};W.push(an);h.setMarker(X,al,'list_group_object',an);}aj=1;break;}}if(aj)continue;var ao=ak;if(ao.getCustomData('list_group_object_'+Z))ao.getCustomData('list_group_object_'+Z).contents.push(ae);else{an={root:ao,contents:[ae]};h.setMarker(X,ao,'list_group_object_'+Z,an);W.push(an);}}}var ap=[];while(W.length>0){an=W.shift();if(aq.state==2){if(m[an.root.getName()])v.call(aq,N,an,X,ap);else x.call(aq,N,an,ap);}else if(aq.state==1&&m[an.root.getName()])y.call(aq,N,an,X);}for(am=0;am0)for(var u=t.length-1;u>=0;u--){var v=t[u][0],w=t[u][1];if(w)v.insertBefore(w);else v.appendTo(s);}};function o(s,t){var u=m(s),v={},w=s.$;if(!t){v['class']=w.className||'';w.className='';}v.inline=w.style.cssText||'';if(!t)w.style.cssText='position: static; overflow: visible';n(u);return v;};function p(s,t){var u=m(s),v=s.$;if('class' in t)v.className=t['class'];if('inline' in t)v.style.cssText=t.inline;n(u);};function q(s){var t=a.instances;for(var u in t){var v=t[u];if(v.mode=='wysiwyg'&&!v.readOnly){var w=v.document.getBody();w.setAttribute('contentEditable',false);w.setAttribute('contentEditable',true);}}if(s.focusManager.hasFocus){s.toolbox.focus();s.focus();}};function r(s){if(!c||b.version>6)return null;var t=h.createFromHtml(''); +return s.append(t,true);};j.add('maximize',{init:function(s){var t=s.lang,u=a.document,v=u.getWindow(),w,x,y,z;function A(){var C=v.getViewPaneSize();z&&z.setStyles({width:C.width+'px',height:C.height+'px'});s.resize(C.width,C.height,null,true);};var B=2;s.addCommand('maximize',{modes:{wysiwyg:!b.iOS,source:!b.iOS},readOnly:1,editorFocus:false,exec:function(){var C=s.container.getChild(1),D=s.getThemeSpace('contents');if(s.mode=='wysiwyg'){var E=s.getSelection();w=E&&E.getRanges();x=v.getScrollPosition();}else{var F=s.textarea.$;w=!c&&[F.selectionStart,F.selectionEnd];x=[F.scrollLeft,F.scrollTop];}if(this.state==2){v.on('resize',A);y=v.getScrollPosition();var G=s.container;while(G=G.getParent()){G.setCustomData('maximize_saved_styles',o(G));G.setStyle('z-index',s.config.baseFloatZIndex-1);}D.setCustomData('maximize_saved_styles',o(D,true));C.setCustomData('maximize_saved_styles',o(C,true));var H={overflow:b.webkit?'':'hidden',width:0,height:0};u.getDocumentElement().setStyles(H);!b.gecko&&u.getDocumentElement().setStyle('position','fixed');!(b.gecko&&b.quirks)&&u.getBody().setStyles(H);c?setTimeout(function(){v.$.scrollTo(0,0);},0):v.$.scrollTo(0,0);C.setStyle('position',b.gecko&&b.quirks?'fixed':'absolute');C.$.offsetLeft;C.setStyles({'z-index':s.config.baseFloatZIndex-1,left:'0px',top:'0px'});z=r(C);C.addClass('cke_maximized');A();var I=C.getDocumentPosition();C.setStyles({left:-1*I.x+'px',top:-1*I.y+'px'});b.gecko&&q(s);}else if(this.state==1){v.removeListener('resize',A);var J=[D,C];for(var K=0;K ');s.children.length=0;s.add(u);var v=s.attributes;delete v['aria-label'];delete v.contenteditable;delete v.title;}return t;}}},5);if(p)p.addRules({elements:{div:function(r){var s=r.attributes,t=s&&s.style,u=t&&r.children.length==1&&r.children[0],v=u&&u.name=='span'&&u.attributes.style;if(v&&/page-break-after\s*:\s*always/i.test(t)&&/display\s*:\s*none/i.test(v)){s.contenteditable='false';s['class']='cke_pagebreak';s['data-cke-display-name']='pagebreak';s['aria-label']=n;s.title=n;r.children.length=0;}}}});},requires:['fakeobjects']});j.pagebreakCmd={exec:function(m){var n=m.lang.pagebreakAlt,o=h.createFromHtml('
'+'
',m.document),p=m.getSelection().getRanges(true);m.fire('saveSnapshot');for(var q,r=p.length-1;r>=0;r--){q=p[r];if(r1&&n.substr(n.length-1,1)=='%')n=parseInt(window.screen.width*parseInt(n,10)/100,10);if(typeof o=='string'&&o.length>1&&o.substr(o.length-1,1)=='%')o=parseInt(window.screen.height*parseInt(o,10)/100,10);if(n<640)n=640;if(o<420)o=420;var q=parseInt((window.screen.height-o)/2,10),r=parseInt((window.screen.width-n)/2,10); +p=(p||'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes')+',width='+n+',height='+o+',top='+q+',left='+r;var s=window.open('',null,p,true);if(!s)return false;try{var t=navigator.userAgent.toLowerCase();if(t.indexOf(' chrome/')==-1){s.moveTo(r,q);s.resizeTo(n,o);}s.focus();s.location.href=m;}catch(u){s=window.open(m,null,p,true);}return true;}});(function(){var m,n={modes:{wysiwyg:1,source:1},canUndo:false,readOnly:1,exec:function(p){var q,r=p.config,s=r.baseHref?'':'',t=b.isCustomDomain();if(r.fullPage)q=p.getData().replace(//,'$&'+s).replace(/[^>]*(?=<\/title>)/,'$& — '+p.lang.preview);else{var u=''+''+s+''+p.lang.preview+''+e.buildStyleHtml(p.config.contentsCss)+''+u+p.getData()+'';}var w=640,x=420,y=80;try{var z=window.screen;w=Math.round(z.width*0.8);x=Math.round(z.height*0.7);y=Math.round(z.width*0.1);}catch(D){}var A='';if(t){window._cke_htmlToLoad=q;A='javascript:void( (function(){document.open();document.domain="'+document.domain+'";'+'document.write( window.opener._cke_htmlToLoad );'+'document.close();'+'window.opener._cke_htmlToLoad = null;'+'})() )';}if(b.gecko){window._cke_htmlToLoad=q;A=m+'preview.html';}var B=window.open(A,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+w+',height='+x+',left='+y);if(!t&&!b.gecko){var C=B.document;C.open();C.write(q);C.close();b.webkit&&setTimeout(function(){C.body.innerHTML+='';},0);}}},o='preview';j.add(o,{init:function(p){m=this.path;p.addCommand(o,n);p.ui.addButton('Preview',{label:p.lang.preview,command:o});}});})();j.add('print',{init:function(m){var n='print',o=m.addCommand(n,j.print);m.ui.addButton('Print',{label:m.lang.print,command:n});}});j.print={exec:function(m){if(b.opera)return;else if(b.gecko)m.window.$.print();else m.document.$.execCommand('Print');},canUndo:false,readOnly:1,modes:{wysiwyg:!b.opera}};j.add('removeformat',{requires:['selection'],init:function(m){m.addCommand('removeFormat',j.removeformat.commands.removeformat);m.ui.addButton('RemoveFormat',{label:m.lang.removeFormat,command:'removeFormat'});m._.removeFormat={filters:[]};}});j.removeformat={commands:{removeformat:{exec:function(m){var n=m._.removeFormatRegex||(m._.removeFormatRegex=new RegExp('^(?:'+m.config.removeFormatTags.replace(/,/g,'|')+')$','i')),o=m._.removeAttributes||(m._.removeAttributes=m.config.removeFormatAttributes.split(',')),p=j.removeformat.filter,q=m.getSelection().getRanges(1),r=q.createIterator(),s; +while(s=r.getNextRange()){if(!s.collapsed)s.enlarge(1);var t=s.createBookmark(),u=t.startNode,v=t.endNode,w,x=function(z){var A=new d.elementPath(z),B=A.elements;for(var C=1,D;D=B[C];C++){if(D.equals(A.block)||D.equals(A.blockLimit))break;if(n.test(D.getName())&&p(m,D))z.breakParent(D);}};x(u);if(v){x(v);w=u.getNextSourceNode(true,1);while(w){if(w.equals(v))break;var y=w.getNextSourceNode(false,1);if(!(w.getName()=='img'&&w.data('cke-realelement'))&&p(m,w))if(n.test(w.getName()))w.remove(1);else{w.removeAttributes(o);m.fire('removeFormatCleanup',w);}w=y;}}s.moveToBookmark(t);}m.getSelection().selectRanges(q);}}},filter:function(m,n){var o=m._.removeFormat.filters;for(var p=0;pr.width&&(n.resize_minWidth=r.width);n.resize_minHeight>r.height&&(n.resize_minHeight=r.height);a.document.on('mousemove',u);a.document.on('mouseup',v);if(m.document){m.document.on('mousemove',u);m.document.on('mouseup',v);}});m.on('destroy',function(){e.removeFunction(w);});m.on('themeSpace',function(x){if(x.data.space=='bottom'){var y=''; +if(s&&!t)y=' cke_resizer_horizontal';if(!s&&t)y=' cke_resizer_vertical';var z='
';o=='ltr'&&y=='ltr'?x.data.html+=z:x.data.html=z+x.data.html;}},m,null,100);}}});(function(){var m={modes:{wysiwyg:1,source:1},readOnly:1,exec:function(o){var p=o.element.$.form;if(p)try{p.submit();}catch(q){if(p.submit.click)p.submit.click();}}},n='save';j.add(n,{init:function(o){var p=o.addCommand(n,m);p.modes={wysiwyg:!!o.element.$.form};o.ui.addButton('Save',{label:o.lang.save,command:n});}});})();(function(){var m='scaytcheck',n='';function o(t,u){var v=0,w;for(w in u){if(u[w]==t){v=1;break;}}return v;};var p=function(){var t=this,u=function(){var y=t.config,z={};z.srcNodeRef=t.document.getWindow().$.frameElement;z.assocApp='CKEDITOR.'+a.version+'@'+a.revision;z.customerid=y.scayt_customerid||'1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2';z.customDictionaryIds=y.scayt_customDictionaryIds||'';z.userDictionaryName=y.scayt_userDictionaryName||'';z.sLang=y.scayt_sLang||'en_US';z.onLoad=function(){if(!(c&&b.version<8))this.addStyle(this.selectorCss(),'padding-bottom: 2px !important;');if(t.focusManager.hasFocus&&!q.isControlRestored(t))this.focus();};z.onBeforeChange=function(){if(q.getScayt(t)&&!t.checkDirty())setTimeout(function(){t.resetDirty();},0);};var A=window.scayt_custom_params;if(typeof A=='object')for(var B in A)z[B]=A[B];if(q.getControlId(t))z.id=q.getControlId(t);var C=new window.scayt(z);C.afterMarkupRemove.push(function(E){new h(E,C.document).mergeSiblings();});var D=q.instances[t.name];if(D){C.sLang=D.sLang;C.option(D.option());C.paused=D.paused;}q.instances[t.name]=C;try{C.setDisabled(q.isPaused(t)===false);}catch(E){}t.fire('showScaytState');};t.on('contentDom',u);t.on('contentDomUnload',function(){var y=a.document.getElementsByTag('script'),z=/^dojoIoScript(\d+)$/i,A=/^https?:\/\/svc\.webspellchecker\.net\/spellcheck\/script\/ssrv\.cgi/i;for(var B=0;B=0){this.setState(0);q.loadEngine(t);}}};j.add('scayt',{requires:['menubutton'],beforeInit:function(t){var u=t.config.scayt_contextMenuItemsOrder||'suggest|moresuggest|control',v='';u=u.split('|');if(u&&u.length)for(var w=0;w tr > td, .%1 table.%2 > tr > th,','.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,','.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,','.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th','{','border : #d3d3d3 1px dotted','}']).join(''); +n=o.replace(/%2/g,m).replace(/%1/g,'cke_show_borders ');var p={preserveState:true,editorFocus:false,readOnly:1,exec:function(q){this.toggleState();this.refresh(q);},refresh:function(q){if(q.document){var r=this.state==1?'addClass':'removeClass';q.document.getBody()[r]('cke_show_borders');}}};j.add('showborders',{requires:['wysiwygarea'],modes:{wysiwyg:1},init:function(q){var r=q.addCommand('showborders',p);r.canUndo=false;if(q.config.startupShowBorders!==false)r.setState(1);q.addCss(n);q.on('mode',function(){if(r.state!=0)r.refresh(q);},null,null,100);q.on('contentDom',function(){if(r.state!=0)r.refresh(q);});q.on('removeFormatCleanup',function(s){var t=s.data;if(q.getCommand('showborders').state==1&&t.is('table')&&(!t.hasAttribute('border')||parseInt(t.getAttribute('border'),10)<=0))t.addClass(m);});},afterInit:function(q){var r=q.dataProcessor,s=r&&r.dataFilter,t=r&&r.htmlFilter;if(s)s.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'],x=parseInt(v.border,10);if((!x||x<=0)&&(!w||w.indexOf(m)==-1))v['class']=(w||'')+' '+m;}}});if(t)t.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'];w&&(v['class']=w.replace(m,'').replace(/\s{2}/,' ').replace(/^\s+|\s+$/,''));}}});}});a.on('dialogDefinition',function(q){var r=q.data.name;if(r=='table'||r=='tableProperties'){var s=q.data.definition,t=s.getContents('info'),u=t.get('txtBorder'),v=u.commit;u.commit=e.override(v,function(y){return function(z,A){y.apply(this,arguments);var B=parseInt(this.getValue(),10);A[!B||B<=0?'addClass':'removeClass'](m);};});var w=s.getContents('advanced'),x=w&&w.get('advCSSClasses');if(x){x.setup=e.override(x.setup,function(y){return function(){y.apply(this,arguments);this.setValue(this.getValue().replace(/cke_show_border/,''));};});x.commit=e.override(x.commit,function(y){return function(z,A){y.apply(this,arguments);if(!parseInt(A.getAttribute('border'),10))A.addClass('cke_show_border');};});}}});})();j.add('sourcearea',{requires:['editingblock'],init:function(m){var n=j.sourcearea,o=a.document.getWindow();m.on('editingBlockReady',function(){var p,q;m.addMode('source',{load:function(r,s){if(c&&b.version<8)r.setStyle('position','relative');m.textarea=p=new h('textarea');p.setAttributes({dir:'ltr',tabIndex:b.webkit?-1:m.tabIndex,role:'textbox','aria-label':m.lang.editorTitle.replace('%1',m.name)});p.addClass('cke_source');p.addClass('cke_enable_context_menu');m.readOnly&&p.setAttribute('readOnly','readonly');var t={width:b.ie7Compat?'99%':'100%',height:'100%',resize:'none',outline:'none','text-align':'left'}; +if(c){q=function(){p.hide();p.setStyle('height',r.$.clientHeight+'px');p.setStyle('width',r.$.clientWidth+'px');p.show();};m.on('resize',q);o.on('resize',q);setTimeout(q,0);}r.setHtml('');r.append(p);p.setStyles(t);m.fire('ariaWidget',p);p.on('blur',function(){m.focusManager.blur();});p.on('focus',function(){m.focusManager.focus();});m.mayBeDirty=true;this.loadData(s);var u=m.keystrokeHandler;if(u)u.attach(p);setTimeout(function(){m.mode='source';m.fire('mode',{previousMode:m._.previousMode});},b.gecko||b.webkit?100:0);},loadData:function(r){p.setValue(r);m.fire('dataReady');},getData:function(){return p.getValue();},getSnapshotData:function(){return p.getValue();},unload:function(r){p.clearCustomData();m.textarea=p=null;if(q){m.removeListener('resize',q);o.removeListener('resize',q);}if(c&&b.version<8)r.removeStyle('position');},focus:function(){p.focus();}});});m.on('readOnly',function(){if(m.mode=='source')if(m.readOnly)m.textarea.setAttribute('readOnly','readonly');else m.textarea.removeAttribute('readOnly');});m.addCommand('source',n.commands.source);if(m.ui.addButton)m.ui.addButton('Source',{label:m.lang.source,command:'source'});m.on('mode',function(){m.getCommand('source').setState(m.mode=='source'?1:2);});}});j.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:false,readOnly:1,exec:function(m){if(m.mode=='wysiwyg')m.fire('saveSnapshot');m.getCommand('source').setState(0);m.setMode(m.mode=='source'?'wysiwyg':'source');},canUndo:false}}};(function(){j.add('stylescombo',{requires:['richcombo','styles'],init:function(n){var o=n.config,p=n.lang.stylesCombo,q={},r=[],s;function t(u){n.getStylesSet(function(v){if(!r.length){var w,x;for(var y=0,z=v.length;y0)return;if(S.type==1&&m.test(S.getName())&&!S.getCustomData('selected_cell')){h.setMarker(J,S,'selected_cell',true);I.push(S);}};for(var L=0;L1&&V&&U[Y]==V[Y]){Z=U[Y];Z.rowSpan+=1;}else{Z=new h(U[Y]).clone();Z.removeAttribute('rowSpan');!c&&Z.appendBogus();X.append(Z);Z=Z.$;}Y+=Z.colSpan-1;}H?X.insertBefore(S):X.insertAfter(S);};function q(G){if(G instanceof d.selection){var H=n(G),I=H[0],J=I.getAscendant('table'),K=e.buildTableMap(J),L=H[0].getParent(),M=L.$.rowIndex,N=H[H.length-1],O=N.getParent().$.rowIndex+N.$.rowSpan-1,P=[];for(var Q=M;Q<=O;Q++){var R=K[Q],S=new h(J.$.rows[Q]);for(var T=0;T0?X[M-1]:null)||J.$.parentNode);for(Q=P.length;Q>=0;Q--)q(P[Q]);return Y;}else if(G instanceof h){J=G.getAscendant('table');if(J.$.rows.length==1)J.remove();else G.remove();}return null;};function r(G,H){var I=G.getParent(),J=I.$.cells,K=0;for(var L=0;LI)I=K;}return I;};function t(G,H){var I=n(G),J=I[0],K=J.getAscendant('table'),L=s(I,1),M=s(I),N=H?L:M,O=e.buildTableMap(K),P=[],Q=[],R=O.length;for(var S=0;S1&&Q.length&&Q[S]==P[S]){U=P[S];U.colSpan+=1;}else{U=new h(P[S]).clone();U.removeAttribute('colSpan');!c&&U.appendBogus();U[H?'insertBefore':'insertAfter'].call(U,new h(P[S]));U=U.$;}S+=U.rowSpan-1;}};function u(G){var H=n(G),I=H[0],J=H[H.length-1],K=I.getAscendant('table'),L=e.buildTableMap(K),M,N,O=[];for(var P=0,Q=L.length;P1){L=H[J-1]+1;break;}}if(!L)L=H[0]>0?H[0]-1:H[H.length-1]+1;var N=I.$.rows;for(J=0,K=N.length;J=0;K--)x(H[K]);if(J)z(J,true);else if(I)I.remove();}else if(G instanceof h){var L=G.getParent();if(L.getChildCount()==1)L.remove();else G.remove();}};function y(G){var H=G.getBogus();H&&H.remove();G.trim();};function z(G,H){var I=new d.range(G.getDocument());if(!I['moveToElementEdit'+(H?'End':'Start')](G)){I.selectNodeContents(G);I.collapse(H?false:true);}I.select(true);};function A(G,H,I){var J=G[H];if(typeof I=='undefined')return J;for(var K=0;J&&K1)J+=K[H].rowSpan-1;}return I;};function C(G,H,I){var J=n(G),K;if((H?J.length!=1:J.length<2)||(K=G.getCommonAncestor())&&K.type==1&&K.is('table'))return false;var L,M=J[0],N=M.getAscendant('table'),O=e.buildTableMap(N),P=O.length,Q=O[0].length,R=M.getParent().$.rowIndex,S=A(O,R,M);if(H){var T;try{var U=parseInt(M.getAttribute('rowspan'),10)||1,V=parseInt(M.getAttribute('colspan'),10)||1;T=O[H=='up'?R-U:H=='down'?R+U:R][H=='left'?S-V:H=='right'?S+V:S];}catch(an){return false;}if(!T||M.$==T)return false;J[H=='up'||H=='left'?'unshift':'push'](new h(T));}var W=M.getDocument(),X=R,Y=0,Z=0,aa=!I&&new d.documentFragment(W),ab=0;for(var ac=0;ac=Q)M.removeAttribute('rowSpan');else M.$.rowSpan=Y;if(Y>=P)M.removeAttribute('colSpan');else M.$.colSpan=Z;var ak=new d.nodeList(N.$.rows),al=ak.count();for(ac=al-1;ac>=0;ac--){var am=ak.getItem(ac);if(!am.$.cells.length){am.remove();al++;continue;}}return M;}else return Y*Z==ab;};function D(G,H){var I=n(G);if(I.length>1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.rowSpan,Q,R,S,T;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);T=N+R;var U=new h(L.$.rows[T]),V=A(M,T),W;Q=J.clone();for(var X=0;XO){Q.insertBefore(new h(W));break;}else W=null;}if(!W)U.append(Q,true);}else{S=R=1;U=K.clone();U.insertAfter(K);U.append(Q=J.clone());var Y=A(M,N);for(var Z=0;Z1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.colSpan,Q,R,S;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);}else{S=R=1;var T=B(M,O);for(var U=0;U0?2:0};}},tablecell_insertBefore:{label:H.cell.insertBefore,group:'tablecell',command:'cellInsertBefore',order:5},tablecell_insertAfter:{label:H.cell.insertAfter,group:'tablecell',command:'cellInsertAfter',order:10},tablecell_delete:{label:H.cell.deleteCell,group:'tablecell',command:'cellDelete',order:15},tablecell_merge:{label:H.cell.merge,group:'tablecell',command:'cellMerge',order:16},tablecell_merge_right:{label:H.cell.mergeRight,group:'tablecell',command:'cellMergeRight',order:17},tablecell_merge_down:{label:H.cell.mergeDown,group:'tablecell',command:'cellMergeDown',order:18},tablecell_split_horizontal:{label:H.cell.splitHorizontal,group:'tablecell',command:'cellHorizontalSplit',order:19},tablecell_split_vertical:{label:H.cell.splitVertical,group:'tablecell',command:'cellVerticalSplit',order:20},tablecell_properties:{label:H.cell.title,group:'tablecellproperties',command:'cellProperties',order:21},tablerow:{label:H.row.menu,group:'tablerow',order:1,getItems:function(){return{tablerow_insertBefore:2,tablerow_insertAfter:2,tablerow_delete:2};}},tablerow_insertBefore:{label:H.row.insertBefore,group:'tablerow',command:'rowInsertBefore',order:5},tablerow_insertAfter:{label:H.row.insertAfter,group:'tablerow',command:'rowInsertAfter',order:10},tablerow_delete:{label:H.row.deleteRow,group:'tablerow',command:'rowDelete',order:15},tablecolumn:{label:H.column.menu,group:'tablecolumn',order:1,getItems:function(){return{tablecolumn_insertBefore:2,tablecolumn_insertAfter:2,tablecolumn_delete:2}; +}},tablecolumn_insertBefore:{label:H.column.insertBefore,group:'tablecolumn',command:'columnInsertBefore',order:5},tablecolumn_insertAfter:{label:H.column.insertAfter,group:'tablecolumn',command:'columnInsertAfter',order:10},tablecolumn_delete:{label:H.column.deleteColumn,group:'tablecolumn',command:'columnDelete',order:15}});if(G.contextMenu)G.contextMenu.addListener(function(I,J){if(!I||I.isReadOnly())return null;while(I){if(I.getName() in F)return{tablecell:2,tablerow:2,tablecolumn:2};I=I.getParent();}return null;});},getSelectedCells:n};j.add('tabletools',j.tabletools);})();e.buildTableMap=function(m){var n=m.$.rows,o=-1,p=[];for(var q=0;qp&&(!s||!t||vt){s=v;t=u;}}else{if(q&&u==p){s=v;break;}if(ut)){s=v;t=u;}}}if(s)s.focus();};(function(){j.add('templates',{requires:['dialog'],init:function(o){a.dialog.add('templates',a.getUrl(this.path+'dialogs/templates.js'));o.addCommand('templates',new a.dialogCommand('templates'));o.ui.addButton('Templates',{label:o.lang.templates.button,command:'templates'});}});var m={},n={};a.addTemplates=function(o,p){m[o]=p;};a.getTemplates=function(o){return m[o];};a.loadTemplates=function(o,p){var q=[];for(var r=0,s=o.length;rt){s=v;t=u;}}else{if(q&&u==p){s=v;break;}if(ut)){s=v;t=u;}}}if(s)s.focus();};(function(){j.add('templates',{requires:['dialog'],init:function(o){a.dialog.add('templates',a.getUrl(this.path+'dialogs/templates.js'));o.addCommand('templates',new a.dialogCommand('templates'));o.ui.addButton('Templates',{label:o.lang.templates.button,command:'templates'});}});var m={},n={};a.addTemplates=function(o,p){m[o]=p;};a.getTemplates=function(o){return m[o];};a.loadTemplates=function(o,p){var q=[];for(var r=0,s=o.length;r':' style="display:none">');t.push('',o.lang.toolbars,'');var w=o.toolbox.toolbars,x=o.config.toolbar instanceof Array?o.config.toolbar:o.config['toolbar_'+o.config.toolbar];for(var y=0;y');v=0;}if(C==='/'){t.push('
');continue;}D=C.items||C;for(var E=0;E');B&&t.push('',B,'');t.push('');var I=w.push(A)-1;if(I>0){A.previous=w[I-1];A.previous.next=A;}}if(H){if(!v){t.push('');v=1;}}else if(v){t.push('');v=0;}var J=F.render(o,t);I=A.items.push(J)-1;if(I>0){J.previous=A.items[I-1];J.previous.next=J;}J.toolbar=A;J.onkey=q;J.onfocus=function(){if(!o.toolbox.focusCommandExecuted)o.focus();};}}if(v){t.push('');v=0;}if(A)t.push('');}t.push('');if(o.config.toolbarCanCollapse){var K=e.addFunction(function(){o.execCommand('toolbarCollapse');});o.on('destroy',function(){e.removeFunction(K);});var L=e.getNextId();o.addCommand('toolbarCollapse',{readOnly:1,exec:function(M){var N=a.document.getById(L),O=N.getPrevious(),P=M.getThemeSpace('contents'),Q=O.getParent(),R=parseInt(P.$.style.height,10),S=Q.$.offsetHeight,T=!O.isVisible();if(!T){O.hide();N.addClass('cke_toolbox_collapser_min');N.setAttribute('title',M.lang.toolbarExpand);}else{O.show();N.removeClass('cke_toolbox_collapser_min');N.setAttribute('title',M.lang.toolbarCollapse);}N.getFirst().setText(T?'▲':'◀');var U=Q.$.offsetHeight-S;P.setStyle('height',R-U+'px');M.fire('resize');},modes:{wysiwyg:1,source:1}});t.push('','','');}r.data.html+=t.join('');}});o.on('destroy',function(){var r,s=0,t,u,v;r=this.toolbox.toolbars;for(;s');return{};}};}});}});})();a.UI_SEPARATOR='separator';i.toolbarLocation='top';i.toolbar_Basic=[['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']];i.toolbar_Full=[{name:'document',items:['Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates']},{name:'clipboard',items:['Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo']},{name:'editing',items:['Find','Replace','-','SelectAll','-','SpellChecker','Scayt']},{name:'forms',items:['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField']},'/',{name:'basicstyles',items:['Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat']},{name:'paragraph',items:['NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl']},{name:'links',items:['Link','Unlink','Anchor']},{name:'insert',items:['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe']},'/',{name:'styles',items:['Styles','Format','Font','FontSize']},{name:'colors',items:['TextColor','BGColor']},{name:'tools',items:['Maximize','ShowBlocks','-','About']}];i.toolbar='Full';i.toolbarCanCollapse=true;(function(){j.add('undo',{requires:['selection','wysiwygarea'],init:function(s){var t=new o(s),u=s.addCommand('undo',{exec:function(){if(t.undo()){s.selectionChange();this.fire('afterUndo');}},state:0,canUndo:false}),v=s.addCommand('redo',{exec:function(){if(t.redo()){s.selectionChange();this.fire('afterRedo');}},state:0,canUndo:false});t.onChange=function(){u.setState(t.undoable()?2:0);v.setState(t.redoable()?2:0);};function w(x){if(t.enabled&&x.data.command.canUndo!==false)t.save();};s.on('beforeCommandExec',w);s.on('afterCommandExec',w);s.on('saveSnapshot',function(x){t.save(x.data&&x.data.contentOnly);});s.on('contentDom',function(){s.document.on('keydown',function(x){if(!x.data.$.ctrlKey&&!x.data.$.metaKey)t.type(x);});});s.on('beforeModeUnload',function(){s.mode=='wysiwyg'&&t.save(true);});s.on('mode',function(){t.enabled=s.readOnly?false:s.mode=='wysiwyg';t.onChange();});s.ui.addButton('Undo',{label:s.lang.undo,command:'undo'});s.ui.addButton('Redo',{label:s.lang.redo,command:'redo'}); -s.resetUndo=function(){t.reset();s.fire('saveSnapshot');};s.on('updateSnapshot',function(){if(t.currentImage)t.update();});}});j.undo={};var m=j.undo.Image=function(s){this.editor=s;s.fire('beforeUndoImage');var t=s.getSnapshot(),u=t&&s.getSelection();c&&t&&(t=t.replace(/\s+data-cke-expando=".*?"/g,''));this.contents=t;this.bookmarks=u&&u.createBookmarks2(true);s.fire('afterUndoImage');},n=/\b(?:href|src|name)="[^"]*?"/gi;m.prototype={equals:function(s,t){var u=this.contents,v=s.contents;if(c&&(b.ie7Compat||b.ie6Compat)){u=u.replace(n,'');v=v.replace(n,'');}if(u!=v)return false;if(t)return true;var w=this.bookmarks,x=s.bookmarks;if(w||x){if(!w||!x||w.length!=x.length)return false;for(var y=0;y25){this.save(false,null,false);this.modifiersCount=1;}}else if(!y){this.modifiersCount=0;this.typesCount++;if(this.typesCount>25){this.save(false,null,false);this.typesCount=1;}}},reset:function(){var s=this;s.lastKeystroke=0;s.snapshots=[];s.index=-1;s.limit=s.editor.config.undoStackSize||20;s.currentImage=null;s.hasUndo=false;s.hasRedo=false;s.resetType();},resetType:function(){var s=this;s.typing=false;delete s.lastKeystroke;s.typesCount=0;s.modifiersCount=0;},fireChange:function(){var s=this;s.hasUndo=!!s.getNextImage(true);s.hasRedo=!!s.getNextImage(false);s.resetType();s.onChange();},save:function(s,t,u){var w=this;var v=w.snapshots;if(!t)t=new m(w.editor);if(t.contents===false)return false;if(w.currentImage&&t.equals(w.currentImage,s))return false;v.splice(w.index+1,v.length-w.index-1);if(v.length==w.limit)v.shift();w.index=v.push(t)-1;w.currentImage=t; -if(u!==false)w.fireChange();return true;},restoreImage:function(s){var u=this;u.editor.loadSnapshot(s.contents);if(s.bookmarks)u.editor.getSelection().selectBookmarks(s.bookmarks);else if(c){var t=u.editor.document.getBody().$.createTextRange();t.collapse(true);t.select();}u.index=s.index;u.update();u.fireChange();},getNextImage:function(s){var x=this;var t=x.snapshots,u=x.currentImage,v,w;if(u)if(s)for(w=x.index-1;w>=0;w--){v=t[w];if(!u.equals(v,true)){v.index=w;return v;}}else for(w=x.index+1;w]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:]*>| |\u00A0| )?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi,n=d.walker.whitespaces(true);function o(C){return C.isBlockBoundary()&&f.$empty[C.getName()];};function p(C){return function(D){if(this.mode=='wysiwyg'){this.focus();this.fire('saveSnapshot');C.call(this,D.data);e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};};function q(C){var M=this;if(M.dataProcessor)C=M.dataProcessor.toHtml(C);if(!C)return;var D=M.getSelection(),E=D.getRanges()[0];if(E.checkReadOnly())return;if(b.opera){var F=new d.elementPath(E.startContainer);if(F.block){var G=a.htmlParser.fragment.fromHtml(C,false).children;for(var H=0,I=G.length;H'+O+'';});G=G.replace(/\n/g,'
');if(!(F||c))G=G.replace(new RegExp('
(?=)'),function(M){return e.repeat(M,2);});if(b.gecko||b.webkit){var I=new d.elementPath(D.getStartElement()),J=[];for(var K=0;K/));else if(L in f.$block)break;}G=J.join('')+G;}q.call(this,G);};function s(C){var D=this.getSelection(),E=D.getRanges(),F=C.getName(),G=f.$block[F],H=D.isLocked;if(H)D.unlock();var I,J,K,L;for(var M=E.length-1;M>=0;M--){I=E[M];if(!I.checkReadOnly()){I.deleteContents(1);J=!M&&C||C.clone(1);var N,O;if(G)while((N=I.getCommonAncestor(0,1))&&(O=f[N.getName()])&&!(O&&O[F])){if(N.getName() in f.span)I.splitElement(N);else if(I.checkStartOfBlock()&&I.checkEndOfBlock()){I.setStartBefore(N);I.collapse(true);N.remove();}else I.splitBlock();}I.insertNode(J);if(!K)K=J;}}if(K){I.moveToPosition(K,4);if(G){var P=K.getNext(n),Q=P&&P.type==1&&P.getName();if(Q&&f.$block[Q]&&f[Q]['#'])I.moveToElementEditStart(P);}}D.selectRanges([I]);if(H)this.getSelection().lock();};function t(C){if(!C.checkDirty())setTimeout(function(){C.resetDirty();},0);};var u=d.walker.whitespaces(true),v=d.walker.bookmark(false,true);function w(C){return u(C)&&v(C);};function x(C){return C.type==3&&e.trim(C.getText()).match(/^(?: |\xa0)$/);};function y(C){if(C.isLocked){C.unlock();setTimeout(function(){C.lock();},0);}};function z(C){return C.getOuterHtml().match(m);};u=d.walker.whitespaces(true);function A(C){var D=C.window,E=C.document,F=C.document.getBody(),G=F.getFirst(),H=F.getChildren().count();if(!H||H==1&&G.type==1&&G.hasAttribute('_moz_editor_bogus_node')){t(C);var I=C.element.getDocument(),J=I.getDocumentElement(),K=J.$.scrollTop,L=J.$.scrollLeft,M=E.$.createEvent('KeyEvents');M.initKeyEvent('keypress',true,true,D.$,false,false,false,false,0,32);E.$.dispatchEvent(M);if(K!=J.$.scrollTop||L!=J.$.scrollLeft)I.getWindow().$.scrollTo(L,K);H&&F.getFirst().remove();E.getBody().appendBogus();var N=new d.range(E);N.setStartAt(F,1);N.select();}};function B(C){var D=C.editor,E=C.data.path,F=E.blockLimit,G=C.data.selection,H=G.getRanges()[0],I=D.document.getBody(),J=D.config.enterMode; -if(b.gecko){A(D);var K=E.block||E.blockLimit,L=K&&K.getLast(w);if(K&&K.isBlockBoundary()&&!(L&&L.type==1&&L.isBlockBoundary())&&!K.is('pre')&&!K.getBogus())K.appendBogus();}if(D.config.autoParagraph!==false&&J!=2&&H.collapsed&&F.getName()=='body'&&!E.block){var M=H.fixBlock(true,D.config.enterMode==3?'div':'p');if(c){var N=M.getFirst(w);N&&x(N)&&N.remove();}if(z(M)){var O=M.getNext(u);if(O&&O.type==1&&!o(O)){H.moveToElementEditStart(O);M.remove();}else{O=M.getPrevious(u);if(O&&O.type==1&&!o(O)){H.moveToElementEditEnd(O);M.remove();}}}H.select();C.cancel();}var P=new d.range(D.document);P.moveToElementEditEnd(D.document.getBody());var Q=new d.elementPath(P.startContainer);if(!Q.blockLimit.is('body')){var R;if(J!=2)R=I.append(D.document.createElement(J==1?'p':'div'));else R=I;if(!c)R.appendBogus();}};j.add('wysiwygarea',{requires:['editingblock'],init:function(C){var D=C.config.enterMode!=2&&C.config.autoParagraph!==false?C.config.enterMode==3?'div':'p':false,E=C.lang.editorTitle.replace('%1',C.name),F;C.on('editingBlockReady',function(){var L,M,N,O,P,Q,R=b.isCustomDomain(),S=function(V){if(M)M.remove();var W='document.open();'+(R?'document.domain="'+document.domain+'";':'')+'document.close();';W=b.air?'javascript:void(0)':c?'javascript:void(function(){'+encodeURIComponent(W)+'}())':'';M=h.createFromHtml('');if(document.location.protocol=='chrome:')a.event.useCapture=true;M.on('load',function(X){P=1;X.removeListener();var Y=M.getFrameDocument();Y.write(V);b.air&&U(Y.getWindow().$);});if(document.location.protocol=='chrome:')a.event.useCapture=false;L.append(M);};F=e.addFunction(U);var T='';function U(V){if(!P)return;P=0;C.fire('ariaWidget',M);var W=V.document,X=W.body,Y=W.getElementById('cke_actscrpt');Y&&Y.parentNode.removeChild(Y);X.spellcheck=!C.config.disableNativeSpellChecker;var Z=!C.readOnly;if(c){X.hideFocus=true;X.disabled=true;X.contentEditable=Z;X.removeAttribute('disabled');}else setTimeout(function(){if(b.gecko&&b.version>=10900||b.opera)W.$.body.contentEditable=Z;else if(b.webkit)W.$.body.parentNode.contentEditable=Z;else W.$.designMode=Z?'off':'on';},0);Z&&b.gecko&&e.setTimeout(A,0,null,C);V=C.window=new d.window(V); -W=C.document=new g(W);Z&&W.on('dblclick',function(af){var ag=af.data.getTarget(),ah={element:ag,dialog:''};C.fire('doubleclick',ah);ah.dialog&&C.openDialog(ah.dialog);});c&&W.on('click',function(af){var ag=af.data.getTarget();if(ag.is('input')){var ah=ag.getAttribute('type');if(ah=='submit'||ah=='reset')af.data.preventDefault();}});if(!(c||b.opera))W.on('mousedown',function(af){var ag=af.data.getTarget();if(ag.is('img','hr','input','textarea','select'))C.getSelection().selectElement(ag);});if(b.gecko)W.on('mouseup',function(af){if(af.data.$.button==2){var ag=af.data.getTarget();if(!ag.getOuterHtml().replace(m,'')){var ah=new d.range(W);ah.moveToElementEditStart(ag);ah.select(true);}}});W.on('click',function(af){af=af.data;if(af.getTarget().is('a')&&af.$.button!=2)af.preventDefault();});if(b.webkit){W.on('mousedown',function(){ac=1;});W.on('click',function(af){if(af.data.getTarget().is('input','select'))af.data.preventDefault();});W.on('mouseup',function(af){if(af.data.getTarget().is('input','textarea'))af.data.preventDefault();});}if(Z&&c&&W.$.compatMode=='CSS1Compat'||b.gecko||b.opera){var aa=W.getDocumentElement();aa.on('mousedown',function(af){if(af.data.getTarget().equals(aa)){if(b.gecko&&b.version>=10900)J();K.focus();}});}var ab=c?M:V;ab.on('blur',function(){C.focusManager.blur();});var ac;ab.on('focus',function(){var af=C.document;if(Z&&b.gecko&&b.version>=10900)J();else if(b.opera)af.getBody().focus();else if(b.webkit)if(!ac){C.document.getDocumentElement().focus();ac=1;}C.focusManager.focus();});var ad=C.keystrokeHandler;ad.blockedKeystrokes[8]=!Z;ad.attach(W);W.getDocumentElement().addClass(W.$.compatMode);Z&&W.on('keydown',function(af){var ag=af.data.getKeystroke();if(ag in {8:1,46:1}){var ah=C.getSelection(),ai=ah.getSelectedElement(),aj=ah.getRanges()[0];if(ai){C.fire('saveSnapshot');aj.moveToPosition(ai,3);ai.remove();aj.select();C.fire('saveSnapshot');af.data.preventDefault();return;}}});if(c&&W.$.compatMode=='CSS1Compat'){var ae={33:1,34:1};W.on('keydown',function(af){if(af.data.getKeystroke() in ae)setTimeout(function(){C.getSelection().scrollIntoView();},0);});}if(c&&C.config.enterMode!=1)W.on('selectionchange',function(){var af=W.getBody(),ag=C.getSelection().getRanges()[0];if(af.getHtml().match(/^

 <\/p>$/i)&&ag.startContainer.equals(af))setTimeout(function(){ag=C.getSelection().getRanges()[0];if(!ag.startContainer.equals('body')){af.getFirst().remove(1);ag.moveToElementEditEnd(af);ag.select(1);}},0);});if(C.contextMenu)C.contextMenu.addTarget(W,C.config.browserContextMenuOnCtrl!==false); -setTimeout(function(){C.fire('contentDom');if(Q){C.mode='wysiwyg';C.fire('mode',{previousMode:C._.previousMode});Q=false;}N=false;if(O){C.focus();O=false;}setTimeout(function(){C.fire('dataReady');},0);try{C.document.$.execCommand('enableInlineTableEditing',false,!C.config.disableNativeTableHandles);}catch(af){}if(C.config.disableObjectResizing)try{C.document.$.execCommand('enableObjectResizing',false,false);}catch(ag){C.document.getBody().on(c?'resizestart':'resize',function(ah){ah.data.preventDefault();});}if(c)setTimeout(function(){if(C.document){var ah=C.document.$.body;ah.runtimeStyle.marginBottom='0px';ah.runtimeStyle.marginBottom='';}},1000);},0);};C.addMode('wysiwyg',{load:function(V,W,X){L=V;if(c&&b.quirks)V.setStyle('position','relative');C.mayBeDirty=true;Q=true;if(X)this.loadSnapshotData(W);else this.loadData(W);},loadData:function(V){N=true;C._.dataStore={id:1};var W=C.config,X=W.fullPage,Y=W.docType,Z='';!X&&(Z=e.buildStyleHtml(C.config.contentsCss)+Z);var aa=W.baseHref?'':'';if(X)V=V.replace(/]*>/i,function(ab){C.docType=Y=ab;return '';}).replace(/<\?xml\s[^\?]*\?>/i,function(ab){C.xmlDeclaration=ab;return '';});if(C.dataProcessor)V=C.dataProcessor.toHtml(V,D);if(X){if(!/]/.test(V))V=''+V;if(!/]/.test(V))V=''+V+'';if(!/]/.test(V))V=V.replace(/]*>/,'$&');else if(!/]/.test(V))V=V.replace(/]*>/,'$&');aa&&(V=V.replace(//,'$&'+aa));V=V.replace(/<\/head\s*>/,Z+'$&');V=Y+V;}else V=W.docType+''+''+''+E+''+aa+Z+''+''+V+'';if(b.gecko)V=V.replace(/
(?=\s*<\/(:?html|body)>)/,'$&
');V+=T;this.onDispose();S(V);},getData:function(){var V=C.config,W=V.fullPage,X=W&&C.docType,Y=W&&C.xmlDeclaration,Z=M.getFrameDocument(),aa=W?Z.getDocumentElement().getOuterHtml():Z.getBody().getHtml();if(b.gecko)aa=aa.replace(/
(?=\s*(:?$|<\/body>))/,'');if(C.dataProcessor)aa=C.dataProcessor.toDataFormat(aa,D);if(V.ignoreEmptyParagraph)aa=aa.replace(m,function(ab,ac){return ac;});if(Y)aa=Y+'\n'+aa;if(X)aa=X+'\n'+aa;return aa;},getSnapshotData:function(){return M.getFrameDocument().getBody().getHtml(); -},loadSnapshotData:function(V){M.getFrameDocument().getBody().setHtml(V);},onDispose:function(){if(!C.document)return;C.document.getDocumentElement().clearCustomData();C.document.getBody().clearCustomData();C.window.clearCustomData();C.document.clearCustomData();M.clearCustomData();M.remove();},unload:function(V){this.onDispose();C.window=C.document=M=L=O=null;C.fire('contentDomUnload');},focus:function(){var V=C.window;if(N)O=true;else if(V){b.air?setTimeout(function(){V.focus();},0):V.focus();C.selectionChange();}}});C.on('insertHtml',p(q),null,null,20);C.on('insertElement',p(s),null,null,20);C.on('insertText',p(r),null,null,20);C.on('selectionChange',function(V){if(C.readOnly)return;var W=C.getSelection();if(W&&!W.isLocked){var X=C.checkDirty();C.fire('saveSnapshot',{contentOnly:1});B.call(this,V);C.fire('updateSnapshot');!X&&C.resetDirty();}},null,null,1);});var G;C.on('contentDom',function(){var L=C.document.getElementsByTag('title').getItem(0);L.data('cke-title',C.document.$.title);C.document.$.title=E;});C.on('readOnly',function(){if(C.mode=='wysiwyg'){var L=C.getMode();L.loadData(L.getData());}});if(a.document.$.documentMode>=8){C.addCss('html.CSS1Compat [contenteditable=false]{ min-height:0 !important;}');var H=[];for(var I in f.$removeEmpty)H.push('html.CSS1Compat '+I+'[contenteditable=false]');C.addCss(H.join(',')+'{ display:inline-block;}');}else if(b.gecko){C.addCss('html { height: 100% !important; }');C.addCss('img:-moz-broken { -moz-force-broken-image-icon : 1;\twidth : 24px; height : 24px; }');}C.addCss('html {\t_overflow-y: scroll; cursor: text;\t*cursor:auto;}');C.addCss('img, input, textarea { cursor: default;}');function J(L){if(C.readOnly)return;e.tryThese(function(){C.document.$.designMode='on';setTimeout(function(){C.document.$.designMode='off';if(a.currentInstance==C)C.document.getBody().focus();},50);},function(){C.document.$.designMode='off';var M=C.document.getBody();M.setAttribute('contentEditable',false);M.setAttribute('contentEditable',true);!L&&J(1);});};if(b.gecko||c||b.opera){var K;C.on('uiReady',function(){K=C.container.append(h.createFromHtml(''));K.on('focus',function(){C.focus();});C.focusGrabber=K;});C.on('destroy',function(){e.removeFunction(F);K.clearCustomData();delete C.focusGrabber;});}C.on('insertElement',function(L){var M=L.data;if(M.type==1&&(M.is('input')||M.is('textarea'))){var N=M.getAttribute('contenteditable')=='false';if(!N){M.data('cke-editable',M.hasAttribute('contenteditable')?'true':'1'); -M.setAttribute('contenteditable',false);}}});}});if(b.gecko)(function(){var C=document.body;if(!C)window.addEventListener('load',arguments.callee,false);else{var D=C.getAttribute('onpageshow');C.setAttribute('onpageshow',(D?D+';':'')+'event.persisted && (function(){'+'var allInstances = CKEDITOR.instances, editor, doc;'+'for ( var i in allInstances )'+'{'+'\teditor = allInstances[ i ];'+'\tdoc = editor.document;'+'\tif ( doc )'+'\t{'+'\t\tdoc.$.designMode = "off";'+'\t\tdoc.$.designMode = "on";'+'\t}'+'}'+'})();');}})();})();i.disableObjectResizing=false;i.disableNativeTableHandles=true;i.disableNativeSpellChecker=true;i.ignoreEmptyParagraph=true;j.add('wsc',{requires:['dialog'],init:function(m){var n='checkspell',o=m.addCommand(n,new a.dialogCommand(n));o.modes={wysiwyg:!b.opera&&!b.air&&document.domain==window.location.hostname};m.ui.addButton('SpellChecker',{label:m.lang.spellCheck.toolbar,command:n});a.dialog.add(n,this.path+'dialogs/wsc.js');}});i.wsc_customerId=i.wsc_customerId||'1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk';i.wsc_customLoaderScript=i.wsc_customLoaderScript||null;a.DIALOG_RESIZE_NONE=0;a.DIALOG_RESIZE_WIDTH=1;a.DIALOG_RESIZE_HEIGHT=2;a.DIALOG_RESIZE_BOTH=3;(function(){var m=e.cssLength;function n(S){return!!this._.tabs[S][0].$.offsetHeight;};function o(){var W=this;var S=W._.currentTabId,T=W._.tabIdList.length,U=e.indexOf(W._.tabIdList,S)+T;for(var V=U-1;V>U-T;V--){if(n.call(W,W._.tabIdList[V%T]))return W._.tabIdList[V%T];}return null;};function p(){var W=this;var S=W._.currentTabId,T=W._.tabIdList.length,U=e.indexOf(W._.tabIdList,S);for(var V=U+1;V1){af._.tabBarMode=true;af._.tabs[af._.currentTabId][0].focus();aj=1;}else if((as==37||as==39)&&af._.tabBarMode){av=as==(at?39:37)?o.call(af):p.call(af);af.selectPage(av);af._.tabs[av][0].focus();aj=1;}else if((as==13||as==32)&&af._.tabBarMode){aw.selectPage(aw._.currentTabId);aw._.tabBarMode=false;aw._.currentFocusIndex=-1;ai(true);aj=1;}if(aj){ar.stop();ar.data.preventDefault();}};function al(ar){aj&&ar.data.preventDefault();};var am=this._.element;this.on('show',function(){am.on('keydown',ak,this,null,0);if(b.opera||b.gecko&&b.mac)am.on('keypress',al,this);});this.on('hide',function(){am.removeListener('keydown',ak);if(b.opera||b.gecko&&b.mac)am.removeListener('keypress',al);ag(function(ar){s.apply(ar);});});this.on('iframeAdded',function(ar){var as=new g(ar.data.iframe.$.contentWindow.document);as.on('keydown',ak,this,null,0);});this.on('show',function(){var av=this;ah();if(S.config.dialog_startupFocusTab&&af._.pageCount>1){af._.tabBarMode=true;af._.tabs[af._.currentTabId][0].focus();}else if(!av._.hasFocus){av._.currentFocusIndex=-1;if(U.onFocus){var ar=U.onFocus.call(av);ar&&ar.focus();}else ai(true);if(av._.editor.mode=='wysiwyg'&&c){var as=S.document.$.selection,at=as.createRange();if(at)if(at.parentElement&&at.parentElement().ownerDocument==S.document.$||at.item&&at.item(0).ownerDocument==S.document.$){var au=document.body.createTextRange();au.moveToElementText(av.getElement().getFirst().$);au.collapse(true);au.select();}}}},this,null,4294967295);if(b.ie6Compat)this.on('load',function(ar){var as=this.getElement(),at=as.getFirst();at.remove();at.appendTo(as);},this);A(this);B(this);new d.text(U.title,a.document).appendTo(this.parts.title);for(var an=0;an0?U:0)+'px'};ab[X?'right':'left']=(T>0?T:0)+'px';W.setStyles(ab);V&&(ac._.moved=1);};})(),getPosition:function(){return e.extend({},this._.position);},show:function(){var S=this._.element,T=this.definition;if(!(S.getParent()&&S.getParent().equals(a.document.getBody())))S.appendTo(a.document.getBody());else S.setStyle('display','block');if(b.gecko&&b.version<10900){var U=this.parts.dialog;U.setStyle('position','absolute');setTimeout(function(){U.setStyle('position','fixed');},0);}this.resize(this._.contentSize&&this._.contentSize.width||T.width||T.minWidth,this._.contentSize&&this._.contentSize.height||T.height||T.minHeight);this.reset(); -this.selectPage(this.definition.contents[0].id);if(a.dialog._.currentZIndex===null)a.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex;this._.element.getFirst().setStyle('z-index',a.dialog._.currentZIndex+=10);if(a.dialog._.currentTop===null){a.dialog._.currentTop=this;this._.parentDialog=null;G(this._.editor);S.on('keydown',K);S.on(b.opera?'keypress':'keyup',L);for(var V in {keyup:1,keydown:1,keypress:1})S.on(V,R);}else{this._.parentDialog=a.dialog._.currentTop;var W=this._.parentDialog.getElement().getFirst();W.$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/2);a.dialog._.currentTop=this;}M(this,this,'\x1b',null,function(){this.getButton('cancel')&&this.getButton('cancel').click();});this._.hasFocus=false;e.setTimeout(function(){this.layout();this.parts.dialog.setStyle('visibility','');this.fireOnce('load',{});k.fire('ready',this);this.fire('show',{});this._.editor.fire('dialogShow',this);this.foreach(function(X){X.setInitValue&&X.setInitValue();});},100,this);},layout:function(){var U=this;var S=a.document.getWindow().getViewPaneSize(),T=U.getSize();U.move(U._.moved?U._.position.x:(S.width-T.width)/2,U._.moved?U._.position.y:(S.height-T.height)/2);},foreach:function(S){var V=this;for(var T in V._.contents)for(var U in V._.contents[T])S.call(V,V._.contents[T][U]);return V;},reset:(function(){var S=function(T){if(T.reset)T.reset(1);};return function(){this.foreach(S);return this;};})(),setupContent:function(){var S=arguments;this.foreach(function(T){if(T.setup)T.setup.apply(T,S);});},commitContent:function(){var S=arguments;this.foreach(function(T){if(c&&this._.currentFocusIndex==T.focusIndex)T.getInputElement().$.blur();if(T.commit)T.commit.apply(T,S);});},hide:function(){if(!this.parts.dialog.isVisible())return;this.fire('hide',{});this._.editor.fire('dialogHide',this);var S=this._.element;S.setStyle('display','none');this.parts.dialog.setStyle('visibility','hidden');N(this);while(a.dialog._.currentTop!=this)a.dialog._.currentTop.hide();if(!this._.parentDialog)H();else{var T=this._.parentDialog.getElement().getFirst();T.setStyle('z-index',parseInt(T.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2));}a.dialog._.currentTop=this._.parentDialog;if(!this._.parentDialog){a.dialog._.currentZIndex=null;S.removeListener('keydown',K);S.removeListener(b.opera?'keypress':'keyup',L);for(var U in {keyup:1,keydown:1,keypress:1})S.removeListener(U,R);var V=this._.editor;V.focus();if(V.mode=='wysiwyg'&&c){var W=V.getSelection(); -W&&W.unlock(true);}}else a.dialog._.currentZIndex-=10;delete this._.parentDialog;this.foreach(function(X){X.resetInitValue&&X.resetInitValue();});},addPage:function(S){var ae=this;var T=[],U=S.label?' title="'+e.htmlEncode(S.label)+'"':'',V=S.elements,W=a.dialog._.uiElementBuilders.vbox.build(ae,{type:'vbox',className:'cke_dialog_page_contents',children:S.elements,expand:!!S.expand,padding:S.padding,style:S.style||'width: 100%;height:100%'},T),X=h.createFromHtml(T.join(''));X.setAttribute('role','tabpanel');var Y=b,Z='cke_'+S.id+'_'+e.getNextNumber(),aa=h.createFromHtml(['0?' cke_last':'cke_first',U,!!S.hidden?' style="display:none"':'',' id="',Z,'"',Y.gecko&&Y.version>=10900&&!Y.hc?'':' href="javascript:void(0)"',' tabIndex="-1"',' hidefocus="true"',' role="tab">',S.label,''].join(''));X.setAttribute('aria-labelledby',Z);ae._.tabs[S.id]=[aa,X];ae._.tabIdList.push(S.id);!S.hidden&&ae._.pageCount++;ae._.lastTab=aa;ae.updateStyle();var ab=ae._.contents[S.id]={},ac,ad=W.getChild();while(ac=ad.shift()){ab[ac.id]=ac;if(typeof ac.getChild=='function')ad.push.apply(ad,ac.getChild());}X.setAttribute('name',S.id);X.appendTo(ae.parts.contents);aa.unselectable();ae.parts.tabs.append(aa);if(S.accessKey){M(ae,ae,'CTRL+'+S.accessKey,P,O);ae._.accessKeyMap['CTRL+'+S.accessKey]=S.id;}},selectPage:function(S){if(this._.currentTabId==S)return;if(this.fire('selectPage',{page:S,currentPage:this._.currentTabId})===true)return;for(var T in this._.tabs){var U=this._.tabs[T][0],V=this._.tabs[T][1];if(T!=S){U.removeClass('cke_dialog_tab_selected');V.hide();}V.setAttribute('aria-hidden',T!=S);}var W=this._.tabs[S];W[0].addClass('cke_dialog_tab_selected');if(b.ie6Compat||b.ie7Compat){q(W[1]);W[1].show();setTimeout(function(){q(W[1],1);},0);}else W[1].show();this._.currentTabId=S;this._.currentTabIndex=e.indexOf(this._.tabIdList,S);},updateStyle:function(){this.parts.dialog[(this._.pageCount===1?'add':'remove')+'Class']('cke_single_page');},hidePage:function(S){var U=this;var T=U._.tabs[S]&&U._.tabs[S][0];if(!T||U._.pageCount==1||!T.isVisible())return;else if(S==U._.currentTabId)U.selectPage(o.call(U));T.hide();U._.pageCount--;U.updateStyle();},showPage:function(S){var U=this;var T=U._.tabs[S]&&U._.tabs[S][0];if(!T)return;T.show();U._.pageCount++;U.updateStyle();},getElement:function(){return this._.element;},getName:function(){return this._.name;},getContentElement:function(S,T){var U=this._.contents[S];return U&&U[T];},getValueOf:function(S,T){return this.getContentElement(S,T).getValue(); -},setValueOf:function(S,T,U){return this.getContentElement(S,T).setValue(U);},getButton:function(S){return this._.buttons[S];},click:function(S){return this._.buttons[S].click();},disableButton:function(S){return this._.buttons[S].disable();},enableButton:function(S){return this._.buttons[S].enable();},getPageCount:function(){return this._.pageCount;},getParentEditor:function(){return this._.editor;},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement();},addFocusable:function(S,T){var V=this;if(typeof T=='undefined'){T=V._.focusList.length;V._.focusList.push(new t(V,S,T));}else{V._.focusList.splice(T,0,new t(V,S,T));for(var U=T+1;Uad.width-ac.width-X)ai=ad.width-ac.width+(W.lang.dir=='rtl'?0:Y[1]);else ai=U.x;if(U.y+Y[0]ad.height-ac.height-X)aj=ad.height-ac.height+Y[2];else aj=U.y;S.move(ai,aj,1);ab.data.preventDefault();};function aa(ab){a.document.removeListener('mousemove',Z);a.document.removeListener('mouseup',aa);if(b.ie6Compat){var ac=E.getChild(0).getFrameDocument();ac.removeListener('mousemove',Z);ac.removeListener('mouseup',aa);}};S.parts.title.on('mousedown',function(ab){T={x:ab.data.$.screenX,y:ab.data.$.screenY};a.document.on('mousemove',Z);a.document.on('mouseup',aa);U=S.getPosition();if(b.ie6Compat){var ac=E.getChild(0).getFrameDocument();ac.on('mousemove',Z);ac.on('mouseup',aa);}ab.data.preventDefault();},S);};function B(S){var T=S.definition,U=T.resizable;if(U==0)return;var V=S.getParentEditor(),W,X,Y,Z,aa,ab,ac=e.addFunction(function(af){aa=S.getSize();var ag=S.parts.contents,ah=ag.$.getElementsByTagName('iframe').length;if(ah){ab=h.createFromHtml('

');ag.append(ab);}X=aa.height-S.parts.contents.getSize('height',!(b.gecko||b.opera||c&&b.quirks));W=aa.width-S.parts.contents.getSize('width',1);Z={x:af.screenX,y:af.screenY};Y=a.document.getWindow().getViewPaneSize();a.document.on('mousemove',ad);a.document.on('mouseup',ae);if(b.ie6Compat){var ai=E.getChild(0).getFrameDocument();ai.on('mousemove',ad);ai.on('mouseup',ae);}af.preventDefault&&af.preventDefault(); -});S.on('load',function(){var af='';if(U==1)af=' cke_resizer_horizontal';else if(U==2)af=' cke_resizer_vertical';var ag=h.createFromHtml('
');S.parts.footer.append(ag,1);});V.on('destroy',function(){e.removeFunction(ac);});function ad(af){var ag=V.lang.dir=='rtl',ah=(af.data.$.screenX-Z.x)*(ag?-1:1),ai=af.data.$.screenY-Z.y,aj=aa.width,ak=aa.height,al=aj+ah*(S._.moved?1:2),am=ak+ai*(S._.moved?1:2),an=S._.element.getFirst(),ao=ag&&an.getComputedStyle('right'),ap=S.getPosition();if(ap.y+am>Y.height)am=Y.height-ap.y;if((ag?ao:ap.x)+al>Y.width)al=Y.width-(ag?ao:ap.x);if(U==1||U==3)aj=Math.max(T.minWidth||0,al-W);if(U==2||U==3)ak=Math.max(T.minHeight||0,am-X);S.resize(aj,ak);if(!S._.moved)S.layout();af.data.preventDefault();};function ae(){a.document.removeListener('mouseup',ae);a.document.removeListener('mousemove',ad);if(ab){ab.remove();ab=null;}if(b.ie6Compat){var af=E.getChild(0).getFrameDocument();af.removeListener('mouseup',ae);af.removeListener('mousemove',ad);}};};var C,D={},E;function F(S){S.data.preventDefault(1);};function G(S){var T=a.document.getWindow(),U=S.config,V=U.dialog_backgroundCoverColor||'white',W=U.dialog_backgroundCoverOpacity,X=U.baseFloatZIndex,Y=e.genKey(V,W,X),Z=D[Y];if(!Z){var aa=['
'];if(b.ie6Compat){var ab=b.isCustomDomain(),ac="";aa.push('');}aa.push('
');Z=h.createFromHtml(aa.join(''));Z.setOpacity(W!=undefined?W:0.5);Z.on('keydown',F);Z.on('keypress',F);Z.on('keyup',F);Z.appendTo(a.document.getBody());D[Y]=Z;}else Z.show();E=Z;var ad=function(){var ag=T.getViewPaneSize();Z.setStyles({width:ag.width+'px',height:ag.height+'px'});},ae=function(){var ag=T.getScrollPosition(),ah=a.dialog._.currentTop;Z.setStyles({left:ag.x+'px',top:ag.y+'px'});if(ah)do{var ai=ah.getPosition(); -ah.move(ai.x,ai.y);}while(ah=ah._.parentDialog)};C=ad;T.on('resize',ad);ad();if(!(b.mac&&b.webkit))Z.focus();if(b.ie6Compat){var af=function(){ae();arguments.callee.prevScrollHandler.apply(this,arguments);};T.$.setTimeout(function(){af.prevScrollHandler=window.onscroll||(function(){});window.onscroll=af;},0);ae();}};function H(){if(!E)return;var S=a.document.getWindow();E.hide();S.removeListener('resize',C);if(b.ie6Compat)S.$.setTimeout(function(){var T=window.onscroll&&window.onscroll.prevScrollHandler;window.onscroll=T||null;},0);C=null;};function I(){for(var S in D)D[S].remove();D={};};var J={},K=function(S){var T=S.data.$.ctrlKey||S.data.$.metaKey,U=S.data.$.altKey,V=S.data.$.shiftKey,W=String.fromCharCode(S.data.$.keyCode),X=J[(T?'CTRL+':'')+(U?'ALT+':'')+(V?'SHIFT+':'')+W];if(!X||!X.length)return;X=X[X.length-1];X.keydown&&X.keydown.call(X.uiElement,X.dialog,X.key);S.data.preventDefault();},L=function(S){var T=S.data.$.ctrlKey||S.data.$.metaKey,U=S.data.$.altKey,V=S.data.$.shiftKey,W=String.fromCharCode(S.data.$.keyCode),X=J[(T?'CTRL+':'')+(U?'ALT+':'')+(V?'SHIFT+':'')+W];if(!X||!X.length)return;X=X[X.length-1];if(X.keyup){X.keyup.call(X.uiElement,X.dialog,X.key);S.data.preventDefault();}},M=function(S,T,U,V,W){var X=J[U]||(J[U]=[]);X.push({uiElement:S,dialog:T,key:U,keyup:W||S.accessKeyUp,keydown:V||S.accessKeyDown});},N=function(S){for(var T in J){var U=J[T];for(var V=U.length-1;V>=0;V--){if(U[V].dialog==S||U[V].uiElement==S)U.splice(V,1);}if(U.length===0)delete J[T];}},O=function(S,T){if(S._.accessKeyMap[T])S.selectPage(S._.accessKeyMap[T]);},P=function(S,T){},Q={27:1,13:1},R=function(S){if(S.data.getKeystroke() in Q)S.data.stopPropagation();};(function(){k.dialog={uiElement:function(S,T,U,V,W,X,Y){if(arguments.length<4)return;var Z=(V.call?V(T):V)||'div',aa=['<',Z,' '],ab=(W&&W.call?W(T):W)||{},ac=(X&&X.call?X(T):X)||{},ad=(Y&&Y.call?Y.call(this,S,T):Y)||'',ae=this.domId=ac.id||e.getNextId()+'_uiElement',af=this.id=T.id,ag;ac.id=ae;var ah={};if(T.type)ah['cke_dialog_ui_'+T.type]=1;if(T.className)ah[T.className]=1;if(T.disabled)ah.cke_disabled=1;var ai=ac['class']&&ac['class'].split?ac['class'].split(' '):[];for(ag=0;ag=0;ag--){if(ak[ag]==='')ak.splice(ag,1);}if(ak.length>0)ac.style=(ac.style?ac.style+'; ':'')+ak.join('; ');for(ag in ac)aa.push(ag+'="'+e.htmlEncode(ac[ag])+'" ');aa.push('>',ad,'');U.push(aa.join(''));(this._||(this._={})).dialog=S;if(typeof T.isChanged=='boolean')this.isChanged=function(){return T.isChanged;};if(typeof T.isChanged=='function')this.isChanged=T.isChanged;if(typeof T.setValue=='function')this.setValue=e.override(this.setValue,function(an){return function(ao){an.call(this,T.setValue.call(this,ao));};});if(typeof T.getValue=='function')this.getValue=e.override(this.getValue,function(an){return function(){return T.getValue.call(this,an.call(this));};});a.event.implementOn(this);this.registerEvents(T);if(this.accessKeyUp&&this.accessKeyDown&&T.accessKey)M(this,S,'CTRL+'+T.accessKey);var am=this;S.on('load',function(){var an=am.getInputElement();if(an){var ao=am.type in {checkbox:1,ratio:1}&&c&&b.version<8?'cke_dialog_ui_focused':'';an.on('focus',function(){S._.tabBarMode=false;S._.hasFocus=true;am.fire('focus');ao&&this.addClass(ao);});an.on('blur',function(){am.fire('blur');ao&&this.removeClass(ao);});}});if(this.keyboardFocusable){this.tabIndex=T.tabIndex||0;this.focusIndex=S._.focusList.push(this)-1;this.on('focus',function(){S._.currentFocusIndex=am.focusIndex;});}e.extend(this,T);},hbox:function(S,T,U,V,W){if(arguments.length<4)return;this._||(this._={});var X=this._.children=T,Y=W&&W.widths||null,Z=W&&W.height||null,aa={},ab,ac=function(){var ae=['
');for(var ac=0;ac');}ab.push('
0)ab.push('style="',ad.join('; '),'" ');ab.push(' class="cke_dialog_ui_vbox_child">',U[ac],'
');return ab.join('');};k.dialog.uiElement.call(this,S,W||{type:'vbox'},V,'div',null,{role:'presentation'},aa);}};})();k.dialog.uiElement.prototype={getElement:function(){return a.document.getById(this.domId);},getInputElement:function(){return this.getElement();},getDialog:function(){return this._.dialog;},setValue:function(S,T){this.getInputElement().setValue(S);!T&&this.fire('change',{value:S});return this;},getValue:function(){return this.getInputElement().getValue();},isChanged:function(){return false;},selectParentTab:function(){var V=this;var S=V.getInputElement(),T=S,U;while((T=T.getParent())&&T.$.className.search('cke_dialog_page_contents')==-1){}if(!T)return V;U=T.getAttribute('name');if(V._.dialog._.currentTabId!=U)V._.dialog.selectPage(U);return V;},focus:function(){this.selectParentTab().getInputElement().focus();return this;},registerEvents:function(S){var T=/^on([A-Z]\w+)/,U,V=function(X,Y,Z,aa){Y.on('load',function(){X.getInputElement().on(Z,aa,X);});};for(var W in S){if(!(U=W.match(T)))continue;if(this.eventProcessors[W])this.eventProcessors[W].call(this,this._.dialog,S[W]);else V(this,this._.dialog,U[1].toLowerCase(),S[W]);}return this;},eventProcessors:{onLoad:function(S,T){S.on('load',T,this);},onShow:function(S,T){S.on('show',T,this);},onHide:function(S,T){S.on('hide',T,this);}},accessKeyDown:function(S,T){this.focus();},accessKeyUp:function(S,T){},disable:function(){var S=this.getElement(),T=this.getInputElement();T.setAttribute('disabled','true');S.addClass('cke_disabled');},enable:function(){var S=this.getElement(),T=this.getInputElement();T.removeAttribute('disabled');S.removeClass('cke_disabled');},isEnabled:function(){return!this.getElement().hasClass('cke_disabled');},isVisible:function(){return this.getInputElement().isVisible();},isFocusable:function(){if(!this.isEnabled()||!this.isVisible())return false; -return true;}};k.dialog.hbox.prototype=e.extend(new k.dialog.uiElement(),{getChild:function(S){var T=this;if(arguments.length<1)return T._.children.concat();if(!S.splice)S=[S];if(S.length<2)return T._.children[S[0]];else return T._.children[S[0]]&&T._.children[S[0]].getChild?T._.children[S[0]].getChild(S.slice(1,S.length)):null;}},true);k.dialog.vbox.prototype=new k.dialog.hbox();(function(){var S={build:function(T,U,V){var W=U.children,X,Y=[],Z=[];for(var aa=0;aa',T||U.name,'');return V.join('');}};a.style.getStyleText=function(T){var U=T._ST;if(U)return U;U=T.styles;var V=T.attributes&&T.attributes.style||'',W='';if(V.length)V=V.replace(o,';');for(var X in U){var Y=U[X],Z=(X+':'+Y).replace(o,';');if(Y=='inherit')W+=Z;else V+=Z;}if(V.length)V=P(V);V+=W;return T._ST=V;};function s(T){var U,V;while(T=T.getParent()){if(T.getName()=='body')break;if(T.getAttribute('data-nostyle'))U=T;else if(!V){var W=T.getAttribute('contentEditable');if(W=='false')U=T;else if(W=='true')V=1;}}return U;};function t(T){var ay=this;var U=T.document;if(T.collapsed){var V=J(ay,U);T.insertNode(V);T.moveToPosition(V,2);return;}var W=ay.element,X=ay._.definition,Y,Z=X.ignoreReadonly,aa=Z||X.includeReadonly;if(aa==undefined)aa=U.getCustomData('cke_includeReadonly');var ab=f[W]||(Y=true,f.span);T.enlarge(1,1);T.trim();var ac=T.createBookmark(),ad=ac.startNode,ae=ac.endNode,af=ad,ag;if(!Z){var ah=s(ad),ai=s(ae);if(ah)af=ah.getNextSourceNode(true);if(ai)ae=ai;}if(af.getPosition(ae)==2)af=0;while(af){var aj=false;if(af.equals(ae)){af=null;aj=true;}else{var ak=af.type,al=ak==1?af.getName():null,am=al&&af.getAttribute('contentEditable')=='false',an=al&&af.getAttribute('data-nostyle'); -if(al&&af.data('cke-bookmark')){af=af.getNextSourceNode(true);continue;}if(!al||ab[al]&&!an&&(!am||aa)&&(af.getPosition(ae)|4|0|8)==4+0+8&&(!X.childRule||X.childRule(af))){var ao=af.getParent();if(ao&&((ao.getDtd()||f.span)[W]||Y)&&(!X.parentRule||X.parentRule(ao))){if(!ag&&(!al||!f.$removeEmpty[al]||(af.getPosition(ae)|4|0|8)==4+0+8)){ag=new d.range(U);ag.setStartBefore(af);}if(ak==3||am||ak==1&&!af.getChildCount()){var ap=af,aq;while((aj=!ap.getNext(q))&&(aq=ap.getParent(),ab[aq.getName()])&&(aq.getPosition(ad)|2|0|8)==2+0+8&&(!X.childRule||X.childRule(aq)))ap=aq;ag.setEndAfter(ap);}}else aj=true;}else aj=true;af=af.getNextSourceNode(an||am);}if(aj&&ag&&!ag.collapsed){var ar=J(ay,U),as=ar.hasAttributes(),at=ag.getCommonAncestor(),au={styles:{},attrs:{},blockedStyles:{},blockedAttrs:{}},av,aw,ax;while(ar&&at){if(at.getName()==W){for(av in X.attributes){if(au.blockedAttrs[av]||!(ax=at.getAttribute(aw)))continue;if(ar.getAttribute(av)==ax)au.attrs[av]=1;else au.blockedAttrs[av]=1;}for(aw in X.styles){if(au.blockedStyles[aw]||!(ax=at.getStyle(aw)))continue;if(ar.getStyle(aw)==ax)au.styles[aw]=1;else au.blockedStyles[aw]=1;}}at=at.getParent();}for(av in au.attrs)ar.removeAttribute(av);for(aw in au.styles)ar.removeStyle(aw);if(as&&!ar.hasAttributes())ar=null;if(ar){ag.extractContents().appendTo(ar);G(ay,ar);ag.insertNode(ar);ar.mergeSiblings();if(!c)ar.$.normalize();}else{ar=new h('span');ag.extractContents().appendTo(ar);ag.insertNode(ar);G(ay,ar);ar.remove(true);}ag=null;}}T.moveToBookmark(ac);T.shrink(2);};function u(T){T.enlarge(1,1);var U=T.createBookmark(),V=U.startNode;if(T.collapsed){var W=new d.elementPath(V.getParent()),X;for(var Y=0,Z;Y'+V+'';else T.setHtml(V);U.remove();};function B(T){var U=/(\S\s*)\n(?:\s|(]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,V=T.getName(),W=C(T.getOuterHtml(),U,function(Y,Z,aa){return Z+''+aa+'
';}),X=[];W.replace(/([\s\S]*?)<\/pre>/gi,function(Y,Z){X.push(Z);});return X;};function C(T,U,V){var W='',X='';T=T.replace(/(^]+data-cke-bookmark.*?\/span>)|(]+data-cke-bookmark.*?\/span>$)/gi,function(Y,Z,aa){Z&&(W=Z);aa&&(X=aa);return '';});return W+T.replace(U,V)+X;};function D(T,U){var V;if(T.length>1)V=new d.documentFragment(U.getDocument());for(var W=0;W');X=X.replace(/[ \t]{2,}/g,function(Z){return e.repeat(' ',Z.length-1)+' ';});if(V){var Y=U.clone();Y.setHtml(X);V.append(Y);}else U.setHtml(X);}return V||U;};function E(T,U){var V=T.getBogus();V&&V.remove();var W=T.getHtml();W=C(W,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,'');W=W.replace(/[ \t\r\n]*(]*>)[ \t\r\n]*/gi,'$1');W=W.replace(/([ \t\n\r]+| )/g,' ');W=W.replace(/]*>/gi,'\n');if(c){var X=T.getDocument().createElement('div');X.append(U);U.$.outerHTML='
'+W+'
';U.copyAttributes(X.getFirst());U=X.getFirst().remove();}else U.setHtml(W);return U;};function F(T,U){var V=T._.definition,W=e.extend({},V.attributes,N(T)[U.getName()]),X=V.styles,Y=e.isEmpty(W)&&e.isEmpty(X);for(var Z in W){if((Z=='class'||T._.definition.fullMatch)&&U.getAttribute(Z)!=O(Z,W[Z]))continue;Y=U.hasAttribute(Z);U.removeAttribute(Z);}for(var aa in X){if(T._.definition.fullMatch&&U.getStyle(aa)!=O(aa,X[aa],true))continue;Y=Y||!!U.getStyle(aa);U.removeStyle(aa);}if(Y)!f.$block[U.getName()]||T._.enterMode==2&&!U.hasAttributes()?I(U):U.renameNode(T._.enterMode==1?'p':'div');};function G(T,U){var V=T._.definition,W=V.attributes,X=V.styles,Y=N(T),Z=U.getElementsByTag(T.element);for(var aa=Z.count();--aa>=0;)F(T,Z.getItem(aa));for(var ab in Y){if(ab!=T.element){Z=U.getElementsByTag(ab);for(aa=Z.count()-1;aa>=0;aa--){var ac=Z.getItem(aa);H(ac,Y[ab]);}}}};function H(T,U){var V=U&&U.attributes;if(V)for(var W=0;W0)H+=(F.$.offsetWidth||0)-(F.$.clientWidth||0)+3;H+=4;F.setStyle('width',H+'px');v.element.addClass('cke_frameLoaded');var I=v.element.$.scrollHeight;if(c&&b.quirks&&I>0)I+=(F.$.offsetHeight||0)-(F.$.clientHeight||0)+3;F.setStyle('height',I+'px');u._.currentBlock.element.setStyle('display','none').removeStyle('display');}else F.removeStyle('height');var J=u.element,K=J.getWindow(),L=K.getScrollPosition(),M=K.getViewPaneSize(),N={height:J.$.offsetHeight,width:J.$.offsetWidth};if(A?B<0:B+N.width>M.width+L.x)B+=N.width*(A?1:-1); -if(C+N.height>M.height+L.y)C-=N.height;if(c){var O=new h(w.$.offsetParent),P=O;if(P.getName()=='html')P=P.getDocument().getBody();if(P.getComputedStyle('direction')=='rtl')if(b.ie8Compat)B-=w.getDocument().getDocumentElement().$.scrollLeft*2;else B-=O.$.scrollWidth-O.$.clientWidth;}var Q=w.getFirst(),R;if(R=Q.getCustomData('activePanel'))R.onHide&&R.onHide.call(this,1);Q.setCustomData('activePanel',this);w.setStyles({top:C+'px',left:B+'px'});w.setOpacity(1);},this);u.isLoaded?E():u.onLoad=E;e.setTimeout(function(){x.$.contentWindow.focus();this.allowBlur(true);},0,this);},b.air?200:0,this);this.visible=1;if(this.onShow)this.onShow.call(this);n=0;},hide:function(p){var r=this;if(r.visible&&(!r.onHide||r.onHide.call(r)!==true)){r.hideChild();b.gecko&&r._.iframe.getFrameDocument().$.activeElement.blur();r.element.setStyle('display','none');r.visible=0;r.element.getFirst().removeCustomData('activePanel');var q=p!==false&&r._.returnFocus;if(q){if(b.webkit&&q.type)q.getWindow().$.focus();q.focus();}}},allowBlur:function(p){var q=this._.panel;if(p!=undefined)q.allowBlur=p;return q.allowBlur;},showAsChild:function(p,q,r,s,t,u){if(this._.activeChild==p&&p._.panel._.offsetParentId==r.getId())return;this.hideChild();p.onHide=e.bind(function(){e.setTimeout(function(){if(!this._.focused)this.hide();},0,this);},this);this._.activeChild=p;this._.focused=false;p.showBlock(q,r,s,t,u);if(b.ie7Compat||b.ie8&&b.ie6Compat)setTimeout(function(){p.element.getChild(0).$.style.cssText+='';},100);},hideChild:function(){var p=this._.activeChild;if(p){delete p.onHide;delete p._.returnFocus;delete this._.activeChild;p.hide();}}}});a.on('instanceDestroyed',function(){var p=e.isEmpty(a.instances);for(var q in m){var r=m[q];if(p)r.destroy();else r.element.hide();}p&&(m={});});})();j.add('menu',{beforeInit:function(m){var n=m.config.menu_groups.split(','),o=m._.menuGroups={},p=m._.menuItems={};for(var q=0;q'],B=r.length,C=B&&r[0].group;for(var D=0;D
');C=E.group;}E.render(this,D,A);}A.push('');u.setHtml(A.join(''));k.fire('ready',this);if(this.parent)this.parent._.panel.showAsChild(t,this.id,n,o,p,q);else t.showBlock(this.id,n,o,p,q);s.fire('menuShow',[t]);},addListener:function(n){this._.listeners.push(n);},hide:function(n){var o=this;o._.onHide&&o._.onHide();o._.panel&&o._.panel.hide(n);}}});function m(n){n.sort(function(o,p){if(o.groupp.group)return 1;return o.orderp.order?1:0;});};a.menuItem=e.createClass({$:function(n,o,p){var q=this;e.extend(q,p,{order:0,className:'cke_button_'+o});q.group=n._.menuGroups[q.group];q.editor=n;q.name=o;},proto:{render:function(n,o,p){var w=this;var q=n.id+String(o),r=typeof w.state=='undefined'?2:w.state,s=' cke_'+(r==1?'on':r==0?'disabled':'off'),t=w.label;if(w.className)s+=' '+w.className;var u=w.getItems;p.push(''+''+'');if(u)p.push('','&#',w.editor.lang.dir=='rtl'?'9668':'9658',';','');p.push(t,'');}}});})();i.menu_groups='clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div'; -(function(){var m;j.add('editingblock',{init:function(n){if(!n.config.editingBlock)return;n.on('themeSpace',function(o){if(o.data.space=='contents')o.data.html+='
';});n.on('themeLoaded',function(){n.fireOnce('editingBlockReady');});n.on('uiReady',function(){n.setMode(n.config.startupMode);});n.on('afterSetData',function(){if(!m){function o(){m=true;n.getMode().loadData(n.getData());m=false;};if(n.mode)o();else n.on('mode',function(){if(n.mode){o();n.removeListener('mode',arguments.callee);}});}});n.on('beforeGetData',function(){if(!m&&n.mode){m=true;n.setData(n.getMode().getData(),null,1);m=false;}});n.on('getSnapshot',function(o){if(n.mode)o.data=n.getMode().getSnapshotData();});n.on('loadSnapshot',function(o){if(n.mode)n.getMode().loadSnapshotData(o.data);});n.on('mode',function(o){o.removeListener();b.webkit&&n.container.on('focus',function(){n.focus();});if(n.config.startupFocus)n.focus();setTimeout(function(){n.fireOnce('instanceReady');a.fire('instanceReady',null,n);},0);});n.on('destroy',function(){var o=this;if(o.mode)o._.modes[o.mode].unload(o.getThemeSpace('contents'));});}});a.editor.prototype.mode='';a.editor.prototype.addMode=function(n,o){o.name=n;(this._.modes||(this._.modes={}))[n]=o;};a.editor.prototype.setMode=function(n){this.fire('beforeSetMode',{newMode:n});var o,p=this.getThemeSpace('contents'),q=this.checkDirty();if(this.mode){if(n==this.mode)return;this._.previousMode=this.mode;this.fire('beforeModeUnload');var r=this.getMode();o=r.getData();r.unload(p);this.mode='';}p.setHtml('');var s=this.getMode(n);if(!s)throw '[CKEDITOR.editor.setMode] Unknown mode "'+n+'".';if(!q)this.on('mode',function(){this.resetDirty();this.removeListener('mode',arguments.callee);});s.load(p,typeof o!='string'?this.getData():o);};a.editor.prototype.getMode=function(n){return this._.modes&&this._.modes[n||this.mode];};a.editor.prototype.focus=function(){this.forceNextSelectionCheck();var n=this.getMode();if(n)n.focus();};})();i.startupMode='wysiwyg';i.editingBlock=true;(function(){function m(){var B=this;try{var y=B.getSelection();if(!y||!y.document.getWindow().$)return;var z=y.getStartElement(),A=new d.elementPath(z);if(!A.compare(B._.selectionPreviousPath)){B._.selectionPreviousPath=A;B.fire('selectionChange',{selection:y,path:A,element:z});}}catch(C){}};var n,o;function p(){o=true;if(n)return;q.call(this);n=e.setTimeout(q,200,this);};function q(){n=null;if(o){e.setTimeout(m,0,this);o=false;}};function r(y){function z(D){return D&&D.type==1&&D.getName() in f.$removeEmpty; -};function A(D){var E=y.document.getBody();return!D.is('body')&&E.getChildCount()==1;};var B=y.startContainer,C=y.startOffset;if(B.type==3)return false;return!e.trim(B.getHtml())?z(B)||A(B):z(B.getChild(C-1))||z(B.getChild(C));};var s={modes:{wysiwyg:1,source:1},readOnly:c||b.webkit,exec:function(y){switch(y.mode){case 'wysiwyg':y.document.$.execCommand('SelectAll',false,null);y.forceNextSelectionCheck();y.selectionChange();break;case 'source':var z=y.textarea.$;if(c)z.createTextRange().execCommand('SelectAll');else{z.selectionStart=0;z.selectionEnd=z.value.length;}z.focus();}},canUndo:false};function t(y){w(y);var z=y.createText('​');y.setCustomData('cke-fillingChar',z);return z;};function u(y){return y&&y.getCustomData('cke-fillingChar');};function v(y){var z=y&&u(y);if(z)if(z.getCustomData('ready'))w(y);else z.setCustomData('ready',1);};function w(y){var z=y&&y.removeCustomData('cke-fillingChar');if(z){z.setText(z.getText().replace(/\u200B/g,''));z=0;}};j.add('selection',{init:function(y){if(b.webkit){y.on('selectionChange',function(){v(y.document);});y.on('beforeSetMode',function(){w(y.document);});y.on('key',function(D){switch(D.data.keyCode){case 13:case 2228224+13:case 37:case 39:case 8:w(y.document);}},null,null,10);var z,A;function B(){var D=y.document,E=u(D);if(E){var F=D.$.defaultView.getSelection();if(F.type=='Caret'&&F.anchorNode==E.$)A=1;z=E.getText();E.setText(z.replace(/\u200B/g,''));}};function C(){var D=y.document,E=u(D);if(E){E.setText(z);if(A){D.$.defaultView.getSelection().setPosition(E.$,E.getLength());A=0;}}};y.on('beforeUndoImage',B);y.on('afterUndoImage',C);y.on('beforeGetData',B,null,null,0);y.on('getData',C);}y.on('contentDom',function(){var D=y.document,E=D.getBody(),F=D.getDocumentElement();if(c){var G,H,I=1;E.on('focusin',function(M){if(M.data.$.srcElement.nodeName!='BODY')return;if(G){if(I){try{G.select();}catch(O){}var N=D.getCustomData('cke_locked_selection');if(N){N.unlock();N.lock();}}G=null;}});E.on('focus',function(){H=1;L();});E.on('beforedeactivate',function(M){if(M.data.$.toElement)return;H=0;I=1;});if(c&&b.version<8)y.on('blur',function(M){try{y.document&&y.document.$.selection.empty();}catch(N){}});F.on('mousedown',function(){I=0;});F.on('mouseup',function(){I=1;});if(c&&(b.ie7Compat||b.version<8||b.quirks))F.on('click',function(M){if(M.data.getTarget().getName()=='html')y.getSelection().getRanges()[0].select();});var J;E.on('mousedown',function(M){if(M.data.$.button==2){var N=y.document.$.selection;if(N.type=='None')J=y.window.getScrollPosition(); -}K();});E.on('mouseup',function(M){if(M.data.$.button==2&&J){y.document.$.documentElement.scrollLeft=J.x;y.document.$.documentElement.scrollTop=J.y;}J=null;H=1;setTimeout(function(){L(true);},0);});E.on('keydown',K);E.on('keyup',function(){H=1;L();});D.on('selectionchange',L);function K(){H=0;};function L(M){if(H){var N=y.document,O=y.getSelection(),P=O&&O.getNative();if(M&&P&&P.type=='None')if(!N.$.queryCommandEnabled('InsertImage')){e.setTimeout(L,50,this,true);return;}var Q;if(P&&P.type&&P.type!='Control'&&(Q=P.createRange())&&(Q=Q.parentElement())&&(Q=Q.nodeName)&&Q.toLowerCase() in {input:1,textarea:1})return;G=P&&O.getRanges()[0];p.call(y);}};}else{D.on('mouseup',p,y);D.on('keyup',p,y);D.on('selectionchange',p,y);}});y.on('contentDomUnload',y.forceNextSelectionCheck,y);y.addCommand('selectAll',s);y.ui.addButton('SelectAll',{label:y.lang.selectAll,command:'selectAll'});y.selectionChange=p;b.ie9Compat&&y.on('destroy',function(){var D=y.getSelection();D&&D.getNative().clear();},null,null,9);}});a.editor.prototype.getSelection=function(){return this.document&&this.document.getSelection();};a.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath;};g.prototype.getSelection=function(){var y=new d.selection(this);return!y||y.isInvalid?null:y;};a.SELECTION_NONE=1;a.SELECTION_TEXT=2;a.SELECTION_ELEMENT=3;d.selection=function(y){var B=this;var z=y.getCustomData('cke_locked_selection');if(z)return z;B.document=y;B.isLocked=0;B._={cache:{}};if(c){var A=B.getNative().createRange();if(!A||A.item&&A.item(0).ownerDocument!=B.document.$||A.parentElement&&A.parentElement().ownerDocument!=B.document.$)B.isInvalid=true;}return B;};var x={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};d.selection.prototype={getNative:c?function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.$.selection);}:function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.getWindow().$.getSelection());},getType:c?function(){var y=this._.cache;if(y.type)return y.type;var z=1;try{var A=this.getNative(),B=A.type;if(B=='Text')z=2;if(B=='Control')z=3;if(A.createRange().parentElement)z=2;}catch(C){}return y.type=z;}:function(){var y=this._.cache;if(y.type)return y.type;var z=2,A=this.getNative();if(!A)z=1;else if(A.rangeCount==1){var B=A.getRangeAt(0),C=B.startContainer;if(C==B.endContainer&&C.nodeType==1&&B.endOffset-B.startOffset==1&&x[C.childNodes[B.startOffset].nodeName.toLowerCase()])z=3; -}return y.type=z;},getRanges:(function(){var y=c?(function(){function z(B){return new d.node(B).getIndex();};var A=function(B,C){B=B.duplicate();B.collapse(C);var D=B.parentElement(),E=D.ownerDocument;if(!D.hasChildNodes())return{container:D,offset:0};var F=D.children,G,H,I=B.duplicate(),J=0,K=F.length-1,L=-1,M,N;while(J<=K){L=Math.floor((J+K)/2);G=F[L];I.moveToElementText(G);M=I.compareEndPoints('StartToStart',B);if(M>0)K=L-1;else if(M<0)J=L+1;else if(b.ie9Compat&&G.tagName=='BR'){var O='cke_range_marker';B.execCommand('CreateBookmark',false,O);G=E.getElementsByName(O)[0];var P=z(G);D.removeChild(G);return{container:D,offset:P};}else return{container:D,offset:z(G)};}if(L==-1||L==F.length-1&&M<0){I.moveToElementText(D);I.setEndPoint('StartToStart',B);N=I.text.replace(/(\r\n|\r)/g,'\n').length;F=D.childNodes;if(!N){G=F[F.length-1];if(G.nodeType==1)return{container:D,offset:F.length};else return{container:G,offset:G.nodeValue.length};}var Q=F.length;while(N>0)N-=F[--Q].nodeValue.length;return{container:F[Q],offset:-N};}else{I.collapse(M>0?true:false);I.setEndPoint(M>0?'StartToStart':'EndToStart',B);N=I.text.replace(/(\r\n|\r)/g,'\n').length;if(!N)return{container:D,offset:z(G)+(M>0?0:1)};while(N>0)try{H=G[M>0?'previousSibling':'nextSibling'];N-=H.nodeValue.length;G=H;}catch(R){return{container:D,offset:z(G)};}return{container:G,offset:M>0?-N:G.nodeValue.length+N};}};return function(){var L=this;var B=L.getNative(),C=B&&B.createRange(),D=L.getType(),E;if(!B)return[];if(D==2){E=new d.range(L.document);var F=A(C,true);E.setStart(new d.node(F.container),F.offset);F=A(C);E.setEnd(new d.node(F.container),F.offset);if(E.endContainer.getPosition(E.startContainer)&4&&E.endOffset<=E.startContainer.getIndex())E.collapse();return[E];}else if(D==3){var G=[];for(var H=0;H=G.getLength())K.setStartAfter(G);else K.setStartBefore(G);if(H&&H.type==3)if(!J)K.setEndBefore(H);else K.setEndAfter(H);var L=new d.walker(K);L.evaluator=function(M){if(M.type==1&&M.isReadOnly()){var N=D.clone();D.setEndBefore(M);if(D.collapsed)B.splice(C--,1);if(!(M.getPosition(K.endContainer)&16)){N.setStartAfter(M);if(!N.collapsed)B.splice(C+1,0,N);}return true;}return false;};L.next();}}return A.ranges;};})(),getStartElement:function(){var F=this;var y=F._.cache;if(y.startElement!==undefined)return y.startElement;var z,A=F.getNative();switch(F.getType()){case 3:return F.getSelectedElement();case 2:var B=F.getRanges()[0];if(B){if(!B.collapsed){B.optimize();while(1){var C=B.startContainer,D=B.startOffset;if(D==(C.getChildCount?C.getChildCount():C.getLength())&&!C.isBlockBoundary())B.setStartAfter(C);else break;}z=B.startContainer;if(z.type!=1)return z.getParent();z=z.getChild(B.startOffset);if(!z||z.type!=1)z=B.startContainer;else{var E=z.getFirst();while(E&&E.type==1){z=E;E=E.getFirst();}}}else{z=B.startContainer;if(z.type!=1)z=z.getParent();}z=z.$;}}return y.startElement=z?new h(z):null;},getSelectedElement:function(){var y=this._.cache;if(y.selectedElement!==undefined)return y.selectedElement;var z=this,A=e.tryThese(function(){return z.getNative().createRange().item(0);},function(){var B,C,D=z.getRanges()[0],E=D.getCommonAncestor(1,1),F={table:1,ul:1,ol:1,dl:1};for(var G in F){if(B=E.getAscendant(G,1))break;}if(B){var H=new d.range(this.document);H.setStartAt(B,1);H.setEnd(D.startContainer,D.startOffset);var I=e.extend(F,f.$listItem,f.$tableContent),J=new d.walker(H),K=function(L,M){return function(N,O){if(N.type==3&&(!e.trim(N.getText())||N.getParent().data('cke-bookmark')))return true;var P;if(N.type==1){P=N.getName();if(P=='br'&&M&&N.equals(N.getParent().getBogus()))return true;if(O&&P in I||P in f.$removeEmpty)return true;}L.halted=1;return false;};};J.guard=K(J);if(J.checkBackward()&&!J.halted){J=new d.walker(H);H.setStart(D.endContainer,D.endOffset);H.setEndAt(B,2);J.guard=K(J,1);if(J.checkForward()&&!J.halted)C=B.$;}}if(!C)throw 0; -return C;},function(){var B=z.getRanges()[0],C,D;for(var E=2;E&&!((C=B.getEnclosedNode())&&C.type==1&&x[C.getName()]&&(D=C));E--)B.shrink(1);return D.$;});return y.selectedElement=A?new h(A):null;},getSelectedText:function(){var y=this._.cache;if(y.selectedText!==undefined)return y.selectedText;var z='',A=this.getNative();if(this.getType()==2)z=c?A.createRange().text:A.toString();return y.selectedText=z;},lock:function(){var y=this;y.getRanges();y.getStartElement();y.getSelectedElement();y.getSelectedText();y._.cache.nativeSel={};y.isLocked=1;y.document.setCustomData('cke_locked_selection',y);},unlock:function(y){var D=this;var z=D.document,A=z.getCustomData('cke_locked_selection');if(A){z.setCustomData('cke_locked_selection',null);if(y){var B=A.getSelectedElement(),C=!B&&A.getRanges();D.isLocked=0;D.reset();z.getBody().focus();if(B)D.selectElement(B);else D.selectRanges(C);}}if(!A||!y){D.isLocked=0;D.reset();}},reset:function(){this._.cache={};},selectElement:function(y){var A=this;if(A.isLocked){var z=new d.range(A.document);z.setStartBefore(y);z.setEndAfter(y);A._.cache.selectedElement=y;A._.cache.startElement=y;A._.cache.ranges=new d.rangeList(z);A._.cache.type=3;return;}z=new d.range(y.getDocument());z.setStartBefore(y);z.setEndAfter(y);z.select();A.document.fire('selectionchange');A.reset();},selectRanges:function(y){var M=this;if(M.isLocked){M._.cache.selectedElement=null;M._.cache.startElement=y[0]&&y[0].getTouchedStartNode();M._.cache.ranges=new d.rangeList(y);M._.cache.type=2;return;}if(c){if(y.length>1){var z=y[y.length-1];y[0].setEnd(z.endContainer,z.endOffset);y.length=1;}if(y[0])y[0].select();M.reset();}else{var A=M.getNative();if(!A)return;if(y.length){A.removeAllRanges();b.webkit&&w(M.document);}for(var B=0;B=0){H.collapse(1);I.setEnd(H.endContainer.$,H.endOffset);}else throw N;}A.addRange(I);}M.document.fire('selectionchange');M.reset();}},createBookmarks:function(y){return this.getRanges().createBookmarks(y);},createBookmarks2:function(y){return this.getRanges().createBookmarks2(y);},selectBookmarks:function(y){var z=[];for(var A=0;A','','',this.label,'','=10900&&!o.hc?'':" href=\"javascript:void('"+this.label+"')\"",' role="button" aria-labelledby="',p,'_label" aria-describedby="',p,'_text" aria-haspopup="true"');if(b.opera||b.gecko&&b.mac)n.push(' onkeypress="return false;"');if(b.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="CKEDITOR.tools.callFunction( ',t,', event, this );" onfocus="return CKEDITOR.tools.callFunction(',u,', event);" '+(c?'onclick="return false;" onmouseup':'onclick')+'="CKEDITOR.tools.callFunction(',q,', this); return false;">'+this.label+''+''+''+(b.hc?'▼':b.air?' ':'')+''+''+''+'');if(this.onRender)this.onRender();return r;},createPanel:function(m){if(this._.panel)return;var n=this._.panelDefinition,o=this._.panelDefinition.block,p=n.parent||a.document.getBody(),q=new k.floatPanel(m,p,n),r=q.addListBlock(this.id,o),s=this;q.onShow=function(){if(s.className)this.element.getFirst().addClass(s.className+'_panel');s.setState(1);r.focus(!s.multiSelect&&s.getValue());s._.on=1;if(s.onOpen)s.onOpen();};q.onHide=function(t){if(s.className)this.element.getFirst().removeClass(s.className+'_panel');s.setState(s.modes&&s.modes[m.mode]?2:0);s._.on=0;if(!t&&s.onClose)s.onClose();};q.onEscape=function(){q.hide();};r.onClick=function(t,u){s.document.getWindow().focus();if(s.onClick)s.onClick.call(s,t,u);if(u)s.setValue(t,s._.items[t]);else s.setValue(''); -q.hide(false);};this._.panel=q;this._.list=r;q.getBlock(this.id).onHide=function(){s._.on=0;s.setState(2);};if(this.init)this.init();},setValue:function(m,n){var p=this;p._.value=m;var o=p.document.getById('cke_'+p.id+'_text');if(o){if(!(m||n)){n=p.label;o.addClass('cke_inline_label');}else o.removeClass('cke_inline_label');o.setHtml(typeof n!='undefined'?n:m);}},getValue:function(){return this._.value||'';},unmarkAll:function(){this._.list.unmarkAll();},mark:function(m){this._.list.mark(m);},hideItem:function(m){this._.list.hideItem(m);},hideGroup:function(m){this._.list.hideGroup(m);},showAll:function(){this._.list.showAll();},add:function(m,n,o){this._.items[m]=o||m;this._.list.add(m,n,o);},startGroup:function(m){this._.list.startGroup(m);},commit:function(){var m=this;if(!m._.committed){m._.list.commit();m._.committed=1;k.fire('ready',m);}m._.committed=1;},setState:function(m){var n=this;if(n._.state==m)return;n.document.getById('cke_'+n.id).setState(m);n._.state=m;}}});k.prototype.addRichCombo=function(m,n){this.add(m,'richcombo',n);};j.add('htmlwriter');a.htmlWriter=e.createClass({base:a.htmlParser.basicWriter,$:function(){var o=this;o.base();o.indentationChars='\t';o.selfClosingEnd=' />';o.lineBreakChars='\n';o.forceSimpleAmpersand=0;o.sortAttributes=1;o._.indent=0;o._.indentation='';o._.inPre=0;o._.rules={};var m=f;for(var n in e.extend({},m.$nonBodyContent,m.$block,m.$listItem,m.$tableContent))o.setRules(n,{indent:1,breakBeforeOpen:1,breakAfterOpen:1,breakBeforeClose:!m[n]['#'],breakAfterClose:1});o.setRules('br',{breakAfterOpen:1});o.setRules('title',{indent:0,breakAfterOpen:0});o.setRules('style',{indent:0,breakBeforeClose:1});o.setRules('pre',{indent:0});},proto:{openTag:function(m,n){var p=this;var o=p._.rules[m];if(p._.indent)p.indentation();else if(o&&o.breakBeforeOpen){p.lineBreak();p.indentation();}p._.output.push('<',m);},openTagClose:function(m,n){var p=this;var o=p._.rules[m];if(n)p._.output.push(p.selfClosingEnd);else{p._.output.push('>');if(o&&o.indent)p._.indentation+=p.indentationChars;}if(o&&o.breakAfterOpen)p.lineBreak();m=='pre'&&(p._.inPre=1);},attribute:function(m,n){if(typeof n=='string'){this.forceSimpleAmpersand&&(n=n.replace(/&/g,'&'));n=e.htmlEncodeAttr(n);}this._.output.push(' ',m,'="',n,'"');},closeTag:function(m){var o=this;var n=o._.rules[m];if(n&&n.indent)o._.indentation=o._.indentation.substr(o.indentationChars.length);if(o._.indent)o.indentation();else if(n&&n.breakBeforeClose){o.lineBreak();o.indentation();}o._.output.push(''); -m=='pre'&&(o._.inPre=0);if(n&&n.breakAfterClose)o.lineBreak();},text:function(m){var n=this;if(n._.indent){n.indentation();!n._.inPre&&(m=e.ltrim(m));}n._.output.push(m);},comment:function(m){if(this._.indent)this.indentation();this._.output.push('');},lineBreak:function(){var m=this;if(!m._.inPre&&m._.output.length>0)m._.output.push(m.lineBreakChars);m._.indent=1;},indentation:function(){var m=this;if(!m._.inPre)m._.output.push(m._.indentation);m._.indent=0;},setRules:function(m,n){var o=this._.rules[m];if(o)e.extend(o,n,true);else this._.rules[m]=n;}}});j.add('menubutton',{requires:['button','menu'],beforeInit:function(m){m.ui.addHandler('menubutton',k.menuButton.handler);}});a.UI_MENUBUTTON='menubutton';(function(){var m=function(n){var o=this._;if(o.state===0)return;o.previousState=o.state;var p=o.menu;if(!p){p=o.menu=new a.menu(n,{panel:{className:n.skinClass+' cke_contextmenu',attributes:{'aria-label':n.lang.common.options}}});p.onHide=e.bind(function(){this.setState(this.modes&&this.modes[n.mode]?o.previousState:0);},this);if(this.onMenu)p.addListener(this.onMenu);}if(o.on){p.hide();return;}this.setState(1);p.show(a.document.getById(this._.id),4);};k.menuButton=e.createClass({base:k.button,$:function(n){var o=n.panel;delete n.panel;this.base(n);this.hasArrow=true;this.click=m;},statics:{handler:{create:function(n){return new k.menuButton(n);}}}});})();j.add('dialogui');(function(){var m=function(u){var x=this;x._||(x._={});x._['default']=x._.initValue=u['default']||'';x._.required=u.required||false;var v=[x._];for(var w=1;w',v.label,'','');else{var D={type:'hbox',widths:v.widths,padding:0,children:[{type:'html',html:'
');for(var aa=0;aa');}Z.push('
0)Z.push('style="',ab.join('; '),'" ');Z.push(' class="cke_dialog_ui_vbox_child">',S[aa],'
');return Z.join('');};k.dialog.uiElement.call(this,Q,U||{type:'vbox'},T,'div',null,{role:'presentation'},Y);}};})();k.dialog.uiElement.prototype={getElement:function(){return a.document.getById(this.domId);},getInputElement:function(){return this.getElement();},getDialog:function(){return this._.dialog;},setValue:function(Q,R){this.getInputElement().setValue(Q);!R&&this.fire('change',{value:Q});return this;},getValue:function(){return this.getInputElement().getValue();},isChanged:function(){return false;},selectParentTab:function(){var T=this;var Q=T.getInputElement(),R=Q,S;while((R=R.getParent())&&R.$.className.search('cke_dialog_page_contents')==-1){}if(!R)return T;S=R.getAttribute('name');if(T._.dialog._.currentTabId!=S)T._.dialog.selectPage(S);return T;},focus:function(){this.selectParentTab().getInputElement().focus();return this;},registerEvents:function(Q){var R=/^on([A-Z]\w+)/,S,T=function(V,W,X,Y){W.on('load',function(){V.getInputElement().on(X,Y,V);});};for(var U in Q){if(!(S=U.match(R)))continue;if(this.eventProcessors[U])this.eventProcessors[U].call(this,this._.dialog,Q[U]); +else T(this,this._.dialog,S[1].toLowerCase(),Q[U]);}return this;},eventProcessors:{onLoad:function(Q,R){Q.on('load',R,this);},onShow:function(Q,R){Q.on('show',R,this);},onHide:function(Q,R){Q.on('hide',R,this);}},accessKeyDown:function(Q,R){this.focus();},accessKeyUp:function(Q,R){},disable:function(){var Q=this.getElement(),R=this.getInputElement();R.setAttribute('disabled','true');Q.addClass('cke_disabled');},enable:function(){var Q=this.getElement(),R=this.getInputElement();R.removeAttribute('disabled');Q.removeClass('cke_disabled');},isEnabled:function(){return!this.getElement().hasClass('cke_disabled');},isVisible:function(){return this.getInputElement().isVisible();},isFocusable:function(){if(!this.isEnabled()||!this.isVisible())return false;return true;}};k.dialog.hbox.prototype=e.extend(new k.dialog.uiElement(),{getChild:function(Q){var R=this;if(arguments.length<1)return R._.children.concat();if(!Q.splice)Q=[Q];if(Q.length<2)return R._.children[Q[0]];else return R._.children[Q[0]]&&R._.children[Q[0]].getChild?R._.children[Q[0]].getChild(Q.slice(1,Q.length)):null;}},true);k.dialog.vbox.prototype=new k.dialog.hbox();(function(){var Q={build:function(R,S,T){var U=S.children,V,W=[],X=[];for(var Y=0;Y',T||U.name,'');return V.join('');}};a.style.getStyleText=function(T){var U=T._ST;if(U)return U;U=T.styles;var V=T.attributes&&T.attributes.style||'',W='';if(V.length)V=V.replace(o,';');for(var X in U){var Y=U[X],Z=(X+':'+Y).replace(o,';');if(Y=='inherit')W+=Z;else V+=Z;}if(V.length)V=P(V);V+=W;return T._ST=V; +};function s(T){var U,V;while(T=T.getParent()){if(T.getName()=='body')break;if(T.getAttribute('data-nostyle'))U=T;else if(!V){var W=T.getAttribute('contentEditable');if(W=='false')U=T;else if(W=='true')V=1;}}return U;};function t(T){var ay=this;var U=T.document;if(T.collapsed){var V=J(ay,U);T.insertNode(V);T.moveToPosition(V,2);return;}var W=ay.element,X=ay._.definition,Y,Z=X.ignoreReadonly,aa=Z||X.includeReadonly;if(aa==undefined)aa=U.getCustomData('cke_includeReadonly');var ab=f[W]||(Y=true,f.span);T.enlarge(1,1);T.trim();var ac=T.createBookmark(),ad=ac.startNode,ae=ac.endNode,af=ad,ag;if(!Z){var ah=s(ad),ai=s(ae);if(ah)af=ah.getNextSourceNode(true);if(ai)ae=ai;}if(af.getPosition(ae)==2)af=0;while(af){var aj=false;if(af.equals(ae)){af=null;aj=true;}else{var ak=af.type,al=ak==1?af.getName():null,am=al&&af.getAttribute('contentEditable')=='false',an=al&&af.getAttribute('data-nostyle');if(al&&af.data('cke-bookmark')){af=af.getNextSourceNode(true);continue;}if(!al||ab[al]&&!an&&(!am||aa)&&(af.getPosition(ae)|4|0|8)==4+0+8&&(!X.childRule||X.childRule(af))){var ao=af.getParent();if(ao&&((ao.getDtd()||f.span)[W]||Y)&&(!X.parentRule||X.parentRule(ao))){if(!ag&&(!al||!f.$removeEmpty[al]||(af.getPosition(ae)|4|0|8)==4+0+8)){ag=new d.range(U);ag.setStartBefore(af);}if(ak==3||am||ak==1&&!af.getChildCount()){var ap=af,aq;while((aj=!ap.getNext(q))&&(aq=ap.getParent(),ab[aq.getName()])&&(aq.getPosition(ad)|2|0|8)==2+0+8&&(!X.childRule||X.childRule(aq)))ap=aq;ag.setEndAfter(ap);}}else aj=true;}else aj=true;af=af.getNextSourceNode(an||am);}if(aj&&ag&&!ag.collapsed){var ar=J(ay,U),as=ar.hasAttributes(),at=ag.getCommonAncestor(),au={styles:{},attrs:{},blockedStyles:{},blockedAttrs:{}},av,aw,ax;while(ar&&at){if(at.getName()==W){for(av in X.attributes){if(au.blockedAttrs[av]||!(ax=at.getAttribute(aw)))continue;if(ar.getAttribute(av)==ax)au.attrs[av]=1;else au.blockedAttrs[av]=1;}for(aw in X.styles){if(au.blockedStyles[aw]||!(ax=at.getStyle(aw)))continue;if(ar.getStyle(aw)==ax)au.styles[aw]=1;else au.blockedStyles[aw]=1;}}at=at.getParent();}for(av in au.attrs)ar.removeAttribute(av);for(aw in au.styles)ar.removeStyle(aw);if(as&&!ar.hasAttributes())ar=null;if(ar){ag.extractContents().appendTo(ar);G(ay,ar);ag.insertNode(ar);ar.mergeSiblings();if(!c)ar.$.normalize();}else{ar=new h('span');ag.extractContents().appendTo(ar);ag.insertNode(ar);G(ay,ar);ar.remove(true);}ag=null;}}T.moveToBookmark(ac);T.shrink(2);};function u(T){T.enlarge(1,1);var U=T.createBookmark(),V=U.startNode;if(T.collapsed){var W=new d.elementPath(V.getParent()),X; +for(var Y=0,Z;Y'+V+'';else T.setHtml(V);U.remove();};function B(T){var U=/(\S\s*)\n(?:\s|(]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,V=T.getName(),W=C(T.getOuterHtml(),U,function(Y,Z,aa){return Z+''+aa+'
';}),X=[];W.replace(/([\s\S]*?)<\/pre>/gi,function(Y,Z){X.push(Z);});return X;};function C(T,U,V){var W='',X='';T=T.replace(/(^]+data-cke-bookmark.*?\/span>)|(]+data-cke-bookmark.*?\/span>$)/gi,function(Y,Z,aa){Z&&(W=Z);aa&&(X=aa);return '';});return W+T.replace(U,V)+X;};function D(T,U){var V;if(T.length>1)V=new d.documentFragment(U.getDocument());for(var W=0;W');X=X.replace(/[ \t]{2,}/g,function(Z){return e.repeat(' ',Z.length-1)+' ';});if(V){var Y=U.clone();Y.setHtml(X);V.append(Y);}else U.setHtml(X);}return V||U;};function E(T,U){var V=T.getBogus();V&&V.remove();var W=T.getHtml();W=C(W,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,'');W=W.replace(/[ \t\r\n]*(]*>)[ \t\r\n]*/gi,'$1');W=W.replace(/([ \t\n\r]+| )/g,' ');W=W.replace(/]*>/gi,'\n');if(c){var X=T.getDocument().createElement('div');X.append(U);U.$.outerHTML='
'+W+'
';U.copyAttributes(X.getFirst());U=X.getFirst().remove();}else U.setHtml(W);return U;};function F(T,U){var V=T._.definition,W=V.attributes,X=V.styles,Y=N(T)[U.getName()],Z=e.isEmpty(W)&&e.isEmpty(X);for(var aa in W){if((aa=='class'||T._.definition.fullMatch)&&U.getAttribute(aa)!=O(aa,W[aa]))continue;Z=U.hasAttribute(aa);U.removeAttribute(aa);}for(var ab in X){if(T._.definition.fullMatch&&U.getStyle(ab)!=O(ab,X[ab],true))continue;Z=Z||!!U.getStyle(ab);U.removeStyle(ab);}H(U,Y,m[U.getName()]);if(Z)!f.$block[U.getName()]||T._.enterMode==2&&!U.hasAttributes()?I(U):U.renameNode(T._.enterMode==1?'p':'div');};function G(T,U){var V=T._.definition,W=V.attributes,X=V.styles,Y=N(T),Z=U.getElementsByTag(T.element);for(var aa=Z.count();--aa>=0;)F(T,Z.getItem(aa));for(var ab in Y){if(ab!=T.element){Z=U.getElementsByTag(ab);for(aa=Z.count()-1;aa>=0;aa--){var ac=Z.getItem(aa);H(ac,Y[ab]);}}}};function H(T,U,V){var W=U&&U.attributes; +if(W)for(var X=0;X0)H+=(F.$.offsetWidth||0)-(F.$.clientWidth||0)+3;H+=4;F.setStyle('width',H+'px');v.element.addClass('cke_frameLoaded');var I=v.element.$.scrollHeight;if(c&&b.quirks&&I>0)I+=(F.$.offsetHeight||0)-(F.$.clientHeight||0)+3;F.setStyle('height',I+'px');u._.currentBlock.element.setStyle('display','none').removeStyle('display');}else F.removeStyle('height');if(A)B-=w.$.offsetWidth;w.setStyle('left',B+'px');var J=u.element,K=J.getWindow(),L=w.$.getBoundingClientRect(),M=K.getViewPaneSize(),N=L.width||L.right-L.left,O=L.height||L.bottom-L.top,P=A?L.right:M.width-L.left,Q=A?M.width-L.right:L.left;if(A){if(PN)B+=N;else if(M.width>N)B-=L.left;else B=B-L.right+M.width;}else if(PN)B-=N;else if(M.width>N)B=B-L.right+M.width;else B-=L.left;var R=M.height-L.top,S=L.top;if(RO)C-=O;else if(M.height>O)C=C-L.bottom+M.height;else C-=L.top;if(c){var T=new h(w.$.offsetParent),U=T;if(U.getName()=='html')U=U.getDocument().getBody();if(U.getComputedStyle('direction')=='rtl')if(b.ie8Compat)B-=w.getDocument().getDocumentElement().$.scrollLeft*2;else B-=T.$.scrollWidth-T.$.clientWidth;}var V=w.getFirst(),W;if(W=V.getCustomData('activePanel'))W.onHide&&W.onHide.call(this,1);V.setCustomData('activePanel',this);w.setStyles({top:C+'px',left:B+'px'});w.setOpacity(1);},this);u.isLoaded?E():u.onLoad=E;e.setTimeout(function(){x.$.contentWindow.focus();this.allowBlur(true);},0,this);},b.air?200:0,this);this.visible=1;if(this.onShow)this.onShow.call(this);n=0;},hide:function(p){var r=this;if(r.visible&&(!r.onHide||r.onHide.call(r)!==true)){r.hideChild();b.gecko&&r._.iframe.getFrameDocument().$.activeElement.blur();r.element.setStyle('display','none');r.visible=0;r.element.getFirst().removeCustomData('activePanel');var q=p!==false&&r._.returnFocus;if(q){if(b.webkit&&q.type)q.getWindow().$.focus();q.focus();}}},allowBlur:function(p){var q=this._.panel;if(p!=undefined)q.allowBlur=p;return q.allowBlur;},showAsChild:function(p,q,r,s,t,u){if(this._.activeChild==p&&p._.panel._.offsetParentId==r.getId())return;this.hideChild();p.onHide=e.bind(function(){e.setTimeout(function(){if(!this._.focused)this.hide(); +},0,this);},this);this._.activeChild=p;this._.focused=false;p.showBlock(q,r,s,t,u);if(b.ie7Compat||b.ie8&&b.ie6Compat)setTimeout(function(){p.element.getChild(0).$.style.cssText+='';},100);},hideChild:function(){var p=this._.activeChild;if(p){delete p.onHide;delete p._.returnFocus;delete this._.activeChild;p.hide();}}}});a.on('instanceDestroyed',function(){var p=e.isEmpty(a.instances);for(var q in m){var r=m[q];if(p)r.destroy();else r.element.hide();}p&&(m={});});})();j.add('menu',{beforeInit:function(m){var n=m.config.menu_groups.split(','),o=m._.menuGroups={},p=m._.menuItems={};for(var q=0;q'],B=r.length,C=B&&r[0].group;for(var D=0;D
');C=E.group;}E.render(this,D,A);}A.push('
');u.setHtml(A.join(''));k.fire('ready',this);if(this.parent)this.parent._.panel.showAsChild(t,this.id,n,o,p,q);else t.showBlock(this.id,n,o,p,q);s.fire('menuShow',[t]);},addListener:function(n){this._.listeners.push(n);},hide:function(n){var o=this;o._.onHide&&o._.onHide();o._.panel&&o._.panel.hide(n);}}});function m(n){n.sort(function(o,p){if(o.groupp.group)return 1;return o.orderp.order?1:0;});};a.menuItem=e.createClass({$:function(n,o,p){var q=this;e.extend(q,p,{order:0,className:'cke_button_'+o});q.group=n._.menuGroups[q.group];q.editor=n;q.name=o;},proto:{render:function(n,o,p){var w=this;var q=n.id+String(o),r=typeof w.state=='undefined'?2:w.state,s=' cke_'+(r==1?'on':r==0?'disabled':'off'),t=w.label;if(w.className)s+=' '+w.className; +var u=w.getItems;p.push(''+''+'');if(u)p.push('','&#',w.editor.lang.dir=='rtl'?'9668':'9658',';','');p.push(t,'');}}});})();i.menu_groups='clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div';(function(){var m;j.add('editingblock',{init:function(n){if(!n.config.editingBlock)return;n.on('themeSpace',function(o){if(o.data.space=='contents')o.data.html+='
';});n.on('themeLoaded',function(){n.fireOnce('editingBlockReady');});n.on('uiReady',function(){n.setMode(n.config.startupMode);});n.on('afterSetData',function(){if(!m){function o(){m=true;n.getMode().loadData(n.getData());m=false;};if(n.mode)o();else n.on('mode',function(){if(n.mode){o();n.removeListener('mode',arguments.callee);}});}});n.on('beforeGetData',function(){if(!m&&n.mode){m=true;n.setData(n.getMode().getData(),null,1);m=false;}});n.on('getSnapshot',function(o){if(n.mode)o.data=n.getMode().getSnapshotData();});n.on('loadSnapshot',function(o){if(n.mode)n.getMode().loadSnapshotData(o.data);});n.on('mode',function(o){o.removeListener();b.webkit&&n.container.on('focus',function(){n.focus();});if(n.config.startupFocus)n.focus();setTimeout(function(){n.fireOnce('instanceReady');a.fire('instanceReady',null,n);},0);});n.on('destroy',function(){var o=this;if(o.mode)o._.modes[o.mode].unload(o.getThemeSpace('contents'));});}});a.editor.prototype.mode='';a.editor.prototype.addMode=function(n,o){o.name=n; +(this._.modes||(this._.modes={}))[n]=o;};a.editor.prototype.setMode=function(n){this.fire('beforeSetMode',{newMode:n});var o,p=this.getThemeSpace('contents'),q=this.checkDirty();if(this.mode){if(n==this.mode)return;this._.previousMode=this.mode;this.fire('beforeModeUnload');var r=this.getMode();o=r.getData();r.unload(p);this.mode='';}p.setHtml('');var s=this.getMode(n);if(!s)throw '[CKEDITOR.editor.setMode] Unknown mode "'+n+'".';if(!q)this.on('mode',function(){this.resetDirty();this.removeListener('mode',arguments.callee);});s.load(p,typeof o!='string'?this.getData():o);};a.editor.prototype.getMode=function(n){return this._.modes&&this._.modes[n||this.mode];};a.editor.prototype.focus=function(){this.forceNextSelectionCheck();var n=this.getMode();if(n)n.focus();};})();i.startupMode='wysiwyg';i.editingBlock=true;(function(){function m(){var C=this;try{var z=C.getSelection();if(!z||!z.document.getWindow().$)return;var A=z.getStartElement(),B=new d.elementPath(A);if(!B.compare(C._.selectionPreviousPath)){C._.selectionPreviousPath=B;C.fire('selectionChange',{selection:z,path:B,element:A});}}catch(D){}};var n,o;function p(){o=true;if(n)return;q.call(this);n=e.setTimeout(q,200,this);};function q(){n=null;if(o){e.setTimeout(m,0,this);o=false;}};function r(z){function A(E){return E&&E.type==1&&E.getName() in f.$removeEmpty;};function B(E){var F=z.document.getBody();return!E.is('body')&&F.getChildCount()==1;};var C=z.startContainer,D=z.startOffset;if(C.type==3)return false;return!e.trim(C.getHtml())?A(C)||B(C):A(C.getChild(D-1))||A(C.getChild(D));};var s={modes:{wysiwyg:1,source:1},readOnly:c||b.webkit,exec:function(z){switch(z.mode){case 'wysiwyg':z.document.$.execCommand('SelectAll',false,null);z.forceNextSelectionCheck();z.selectionChange();break;case 'source':var A=z.textarea.$;if(c)A.createTextRange().execCommand('SelectAll');else{A.selectionStart=0;A.selectionEnd=A.value.length;}A.focus();}},canUndo:false};function t(z){w(z);var A=z.createText('​');z.setCustomData('cke-fillingChar',A);return A;};function u(z){return z&&z.getCustomData('cke-fillingChar');};function v(z){var A=z&&u(z);if(A)if(A.getCustomData('ready'))w(z);else A.setCustomData('ready',1);};function w(z){var A=z&&z.removeCustomData('cke-fillingChar');if(A){var B,C=z.getSelection().getNative(),D=C&&C.type!='None'&&C.getRangeAt(0);if(A.getLength()>1&&D&&D.intersectsNode(A.$)){B=[C.anchorOffset,C.focusOffset];var E=C.anchorNode==A.$&&C.anchorOffset>0,F=C.focusNode==A.$&&C.focusOffset>0;E&&B[0]--;F&&B[1]--; +x(C)&&B.unshift(B.pop());}A.setText(A.getText().replace(/\u200B/g,''));if(B){var G=C.getRangeAt(0);G.setStart(G.startContainer,B[0]);G.setEnd(G.startContainer,B[1]);C.removeAllRanges();C.addRange(G);}}};function x(z){if(!z.isCollapsed){var A=z.getRangeAt(0);A.setStart(z.anchorNode,z.anchorOffset);A.setEnd(z.focusNode,z.focusOffset);return A.collapsed;}};j.add('selection',{init:function(z){if(b.webkit){z.on('selectionChange',function(){v(z.document);});z.on('beforeSetMode',function(){w(z.document);});var A,B;function C(){var E=z.document,F=u(E);if(F){var G=E.$.defaultView.getSelection();if(G.type=='Caret'&&G.anchorNode==F.$)B=1;A=F.getText();F.setText(A.replace(/\u200B/g,''));}};function D(){var E=z.document,F=u(E);if(F){F.setText(A);if(B){E.$.defaultView.getSelection().setPosition(F.$,F.getLength());B=0;}}};z.on('beforeUndoImage',C);z.on('afterUndoImage',D);z.on('beforeGetData',C,null,null,0);z.on('getData',D);}z.on('contentDom',function(){var E=z.document,F=E.getBody(),G=E.getDocumentElement();if(c){var H,I,J=1;F.on('focusin',function(O){if(O.data.$.srcElement.nodeName!='BODY')return;var P=E.getCustomData('cke_locked_selection');if(P){P.unlock(1);P.lock();}else if(H&&J){try{H.select();}catch(Q){}H=null;}});F.on('focus',function(){I=1;N();});F.on('beforedeactivate',function(O){if(O.data.$.toElement)return;I=0;J=1;});c&&z.on('blur',function(){try{E.$.selection.empty();}catch(O){}});G.on('mousedown',function(){J=0;});G.on('mouseup',function(){J=1;});var K;F.on('mousedown',function(O){if(O.data.$.button==2){var P=z.document.$.selection;if(P.type=='None')K=z.window.getScrollPosition();}M();});F.on('mouseup',function(O){if(O.data.$.button==2&&K){z.document.$.documentElement.scrollLeft=K.x;z.document.$.documentElement.scrollTop=K.y;}K=null;I=1;setTimeout(function(){N(true);},0);});F.on('keydown',M);F.on('keyup',function(){I=1;N();});if((b.ie7Compat||b.ie6Compat)&&E.$.compatMode!='BackCompat'){function L(O,P,Q){try{O.moveToPoint(P,Q);}catch(R){}};G.on('mousedown',function(O){function P(R){R=R.data.$;if(Q){var S=F.$.createTextRange();L(S,R.x,R.y);Q.setEndPoint(Q.compareEndPoints('StartToStart',S)<0?'EndToEnd':'StartToStart',S);Q.select();}};O=O.data.$;if(O.yF.$.offsetTop+F.$.clientHeight&&O.x0)L=M-1;else if(N<0)K=M+1;else if(b.ie9Compat&&H.tagName=='BR'){var Q=F.defaultView.getSelection();return{container:Q[D?'anchorNode':'focusNode'],offset:Q[D?'anchorOffset':'focusOffset']};}else return{container:E,offset:A(H)};}if(M==-1||M==G.length-1&&N<0){J.moveToElementText(E);J.setEndPoint('StartToStart',C);O=J.text.replace(/(\r\n|\r)/g,'\n').length;G=E.childNodes;if(!O){H=G[G.length-1];if(H.nodeType!=3)return{container:E,offset:G.length};else return{container:H,offset:H.nodeValue.length};}var R=G.length;while(O>0&&R>0){I=G[--R];if(I.nodeType==3){P=I;O-=I.nodeValue.length;}}return{container:P,offset:-O};}else{J.collapse(N>0?true:false);J.setEndPoint(N>0?'StartToStart':'EndToStart',C);O=J.text.replace(/(\r\n|\r)/g,'\n').length;if(!O)return{container:E,offset:A(H)+(N>0?0:1)};while(O>0)try{I=H[N>0?'previousSibling':'nextSibling'];if(I.nodeType==3){O-=I.nodeValue.length;P=I;}H=I;}catch(S){return{container:E,offset:A(H)};}return{container:P,offset:N>0?-O:P.nodeValue.length+O};}};return function(){var M=this;var C=M.getNative(),D=C&&C.createRange(),E=M.getType(),F;if(!C)return[];if(E==2){F=new d.range(M.document);var G=B(D,true);F.setStart(new d.node(G.container),G.offset);G=B(D);F.setEnd(new d.node(G.container),G.offset);if(F.endContainer.getPosition(F.startContainer)&4&&F.endOffset<=F.startContainer.getIndex())F.collapse();return[F];}else if(E==3){var H=[];for(var I=0;I=H.getLength())L.setStartAfter(H);else L.setStartBefore(H);if(I&&I.type==3)if(!K)L.setEndBefore(I);else L.setEndAfter(I);var M=new d.walker(L);M.evaluator=function(N){if(N.type==1&&N.isReadOnly()){var O=E.clone();E.setEndBefore(N);if(E.collapsed)C.splice(D--,1);if(!(N.getPosition(L.endContainer)&16)){O.setStartAfter(N);if(!O.collapsed)C.splice(D+1,0,O);}return true;}return false;};M.next();}}return B.ranges;};})(),getStartElement:function(){var G=this;var z=G._.cache;if(z.startElement!==undefined)return z.startElement;var A,B=G.getNative();switch(G.getType()){case 3:return G.getSelectedElement();case 2:var C=G.getRanges()[0];if(C){if(!C.collapsed){C.optimize();while(1){var D=C.startContainer,E=C.startOffset;if(E==(D.getChildCount?D.getChildCount():D.getLength())&&!D.isBlockBoundary())C.setStartAfter(D);else break;}A=C.startContainer;if(A.type!=1)return A.getParent();A=A.getChild(C.startOffset);if(!A||A.type!=1)A=C.startContainer;else{var F=A.getFirst();while(F&&F.type==1){A=F;F=F.getFirst();}}}else{A=C.startContainer;if(A.type!=1)A=A.getParent();}A=A.$;}}return z.startElement=A?new h(A):null;},getSelectedElement:function(){var z=this._.cache;if(z.selectedElement!==undefined)return z.selectedElement;var A=this,B=e.tryThese(function(){return A.getNative().createRange().item(0);},function(){var C,D,E=A.getRanges()[0],F=E.getCommonAncestor(1,1),G={table:1,ul:1,ol:1,dl:1};for(var H in G){if(C=F.getAscendant(H,1))break;}if(C){var I=new d.range(this.document);I.setStartAt(C,1);I.setEnd(E.startContainer,E.startOffset);var J=e.extend(G,f.$listItem,f.$tableContent),K=new d.walker(I),L=function(M,N){return function(O,P){if(O.type==3&&(!e.trim(O.getText())||O.getParent().data('cke-bookmark')))return true;var Q;if(O.type==1){Q=O.getName();if(Q=='br'&&N&&O.equals(O.getParent().getBogus()))return true;if(P&&Q in J||Q in f.$removeEmpty)return true;}M.halted=1;return false;};};K.guard=L(K);if(K.checkBackward()&&!K.halted){K=new d.walker(I);I.setStart(E.endContainer,E.endOffset);I.setEndAt(C,2);K.guard=L(K,1);if(K.checkForward()&&!K.halted)D=C.$; +}}if(!D)throw 0;return D;},function(){var C=A.getRanges()[0],D,E;for(var F=2;F&&!((D=C.getEnclosedNode())&&D.type==1&&y[D.getName()]&&(E=D));F--)C.shrink(1);return E.$;});return z.selectedElement=B?new h(B):null;},getSelectedText:function(){var z=this._.cache;if(z.selectedText!==undefined)return z.selectedText;var A='',B=this.getNative();if(this.getType()==2)A=c?B.createRange().text:B.toString();return z.selectedText=A;},lock:function(){var z=this;z.getRanges();z.getStartElement();z.getSelectedElement();z.getSelectedText();z._.cache.nativeSel={};z.isLocked=1;z.document.setCustomData('cke_locked_selection',z);},unlock:function(z){var E=this;var A=E.document,B=A.getCustomData('cke_locked_selection');if(B){A.setCustomData('cke_locked_selection',null);if(z){var C=B.getSelectedElement(),D=!C&&B.getRanges();E.isLocked=0;E.reset();if(C)E.selectElement(C);else E.selectRanges(D);}}if(!B||!z){E.isLocked=0;E.reset();}},reset:function(){this._.cache={};},selectElement:function(z){var B=this;if(B.isLocked){var A=new d.range(B.document);A.setStartBefore(z);A.setEndAfter(z);B._.cache.selectedElement=z;B._.cache.startElement=z;B._.cache.ranges=new d.rangeList(A);B._.cache.type=3;return;}A=new d.range(z.getDocument());A.setStartBefore(z);A.setEndAfter(z);A.select();B.document.fire('selectionchange');B.reset();},selectRanges:function(z){var N=this;if(N.isLocked){N._.cache.selectedElement=null;N._.cache.startElement=z[0]&&z[0].getTouchedStartNode();N._.cache.ranges=new d.rangeList(z);N._.cache.type=2;return;}if(c){if(z.length>1){var A=z[z.length-1];z[0].setEnd(A.endContainer,A.endOffset);z.length=1;}if(z[0])z[0].select();N.reset();}else{var B=N.getNative();if(!B)return;if(z.length){B.removeAllRanges();b.webkit&&w(N.document);}for(var C=0;C=0){I.collapse(1);J.setEnd(I.endContainer.$,I.endOffset);}else throw O;}B.addRange(J);}N.document.fire('selectionchange');N.reset();}},createBookmarks:function(z){return this.getRanges().createBookmarks(z);},createBookmarks2:function(z){return this.getRanges().createBookmarks2(z);},selectBookmarks:function(z){var A=[];for(var B=0;B','','',this.label,'','=10900&&!o.hc?'':" href=\"javascript:void('"+this.label+"')\"",' role="button" aria-labelledby="',p,'_label" aria-describedby="',p,'_text" aria-haspopup="true"');if(b.opera||b.gecko&&b.mac)n.push(' onkeypress="return false;"');if(b.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="CKEDITOR.tools.callFunction( ',t,', event, this );" onfocus="return CKEDITOR.tools.callFunction(',u,', event);" '+(c?'onclick="return false;" onmouseup':'onclick')+'="CKEDITOR.tools.callFunction(',q,', this); return false;">'+this.label+''+''+''+(b.hc?'▼':b.air?' ':'')+''+''+''+'');if(this.onRender)this.onRender();return r;},createPanel:function(m){if(this._.panel)return;var n=this._.panelDefinition,o=this._.panelDefinition.block,p=n.parent||a.document.getBody(),q=new k.floatPanel(m,p,n),r=q.addListBlock(this.id,o),s=this;q.onShow=function(){if(s.className)this.element.getFirst().addClass(s.className+'_panel');s.setState(1);r.focus(!s.multiSelect&&s.getValue());s._.on=1;if(s.onOpen)s.onOpen();};q.onHide=function(t){if(s.className)this.element.getFirst().removeClass(s.className+'_panel');s.setState(s.modes&&s.modes[m.mode]?2:0);s._.on=0;if(!t&&s.onClose)s.onClose();};q.onEscape=function(){q.hide();};r.onClick=function(t,u){s.document.getWindow().focus();if(s.onClick)s.onClick.call(s,t,u);if(u)s.setValue(t,s._.items[t]); +else s.setValue('');q.hide(false);};this._.panel=q;this._.list=r;q.getBlock(this.id).onHide=function(){s._.on=0;s.setState(2);};if(this.init)this.init();},setValue:function(m,n){var p=this;p._.value=m;var o=p.document.getById('cke_'+p.id+'_text');if(o){if(!(m||n)){n=p.label;o.addClass('cke_inline_label');}else o.removeClass('cke_inline_label');o.setHtml(typeof n!='undefined'?n:m);}},getValue:function(){return this._.value||'';},unmarkAll:function(){this._.list.unmarkAll();},mark:function(m){this._.list.mark(m);},hideItem:function(m){this._.list.hideItem(m);},hideGroup:function(m){this._.list.hideGroup(m);},showAll:function(){this._.list.showAll();},add:function(m,n,o){this._.items[m]=o||m;this._.list.add(m,n,o);},startGroup:function(m){this._.list.startGroup(m);},commit:function(){var m=this;if(!m._.committed){m._.list.commit();m._.committed=1;k.fire('ready',m);}m._.committed=1;},setState:function(m){var n=this;if(n._.state==m)return;n.document.getById('cke_'+n.id).setState(m);n._.state=m;}}});k.prototype.addRichCombo=function(m,n){this.add(m,'richcombo',n);};j.add('htmlwriter');a.htmlWriter=e.createClass({base:a.htmlParser.basicWriter,$:function(){var o=this;o.base();o.indentationChars='\t';o.selfClosingEnd=' />';o.lineBreakChars='\n';o.forceSimpleAmpersand=0;o.sortAttributes=1;o._.indent=0;o._.indentation='';o._.inPre=0;o._.rules={};var m=f;for(var n in e.extend({},m.$nonBodyContent,m.$block,m.$listItem,m.$tableContent))o.setRules(n,{indent:1,breakBeforeOpen:1,breakAfterOpen:1,breakBeforeClose:!m[n]['#'],breakAfterClose:1});o.setRules('br',{breakAfterOpen:1});o.setRules('title',{indent:0,breakAfterOpen:0});o.setRules('style',{indent:0,breakBeforeClose:1});o.setRules('pre',{indent:0});},proto:{openTag:function(m,n){var p=this;var o=p._.rules[m];if(p._.indent)p.indentation();else if(o&&o.breakBeforeOpen){p.lineBreak();p.indentation();}p._.output.push('<',m);},openTagClose:function(m,n){var p=this;var o=p._.rules[m];if(n)p._.output.push(p.selfClosingEnd);else{p._.output.push('>');if(o&&o.indent)p._.indentation+=p.indentationChars;}if(o&&o.breakAfterOpen)p.lineBreak();m=='pre'&&(p._.inPre=1);},attribute:function(m,n){if(typeof n=='string'){this.forceSimpleAmpersand&&(n=n.replace(/&/g,'&'));n=e.htmlEncodeAttr(n);}this._.output.push(' ',m,'="',n,'"');},closeTag:function(m){var o=this;var n=o._.rules[m];if(n&&n.indent)o._.indentation=o._.indentation.substr(o.indentationChars.length);if(o._.indent)o.indentation();else if(n&&n.breakBeforeClose){o.lineBreak();o.indentation(); +}o._.output.push('');m=='pre'&&(o._.inPre=0);if(n&&n.breakAfterClose)o.lineBreak();},text:function(m){var n=this;if(n._.indent){n.indentation();!n._.inPre&&(m=e.ltrim(m));}n._.output.push(m);},comment:function(m){if(this._.indent)this.indentation();this._.output.push('');},lineBreak:function(){var m=this;if(!m._.inPre&&m._.output.length>0)m._.output.push(m.lineBreakChars);m._.indent=1;},indentation:function(){var m=this;if(!m._.inPre)m._.output.push(m._.indentation);m._.indent=0;},setRules:function(m,n){var o=this._.rules[m];if(o)e.extend(o,n,true);else this._.rules[m]=n;}}});j.add('menubutton',{requires:['button','menu'],beforeInit:function(m){m.ui.addHandler('menubutton',k.menuButton.handler);}});a.UI_MENUBUTTON='menubutton';(function(){var m=function(n){var o=this._;if(o.state===0)return;o.previousState=o.state;var p=o.menu;if(!p){p=o.menu=new a.menu(n,{panel:{className:n.skinClass+' cke_contextmenu',attributes:{'aria-label':n.lang.common.options}}});p.onHide=e.bind(function(){this.setState(this.modes&&this.modes[n.mode]?o.previousState:0);},this);if(this.onMenu)p.addListener(this.onMenu);}if(o.on){p.hide();return;}this.setState(1);p.show(a.document.getById(this._.id),4);};k.menuButton=e.createClass({base:k.button,$:function(n){var o=n.panel;delete n.panel;this.base(n);this.hasArrow=true;this.click=m;},statics:{handler:{create:function(n){return new k.menuButton(n);}}}});})();j.add('dialogui');(function(){var m=function(u){var x=this;x._||(x._={});x._['default']=x._.initValue=u['default']||'';x._.required=u.required||false;var v=[x._];for(var w=1;w',v.label,'','');else{var D={type:'hbox',widths:v.widths,padding:0,children:[{type:'html',html:'