Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/GS-CHANGES.txt
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/GS-CHANGES.txt	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/GS-CHANGES.txt	(revision 32438)
@@ -0,0 +1,2 @@
+September 2018
+Added Image and SourceSialog plugins. Both version 4.10.0. Folder in plugins added, plus mods to config.js
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/config.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/config.js	(revision 32437)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/config.js	(revision 32438)
@@ -20,3 +20,6 @@
     // The following stops CKEDITOR from meddling with existing HTML:
     config.allowedContent = true;
+    // add in the image plugin - allows editing image links etc, and
+    // sourcedialog plugin - give a sourcecode view for editing.
+    config.extraPlugins = 'image,sourcedialog';
 };
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/dialogs/image.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/dialogs/image.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/dialogs/image.js	(revision 32438)
@@ -0,0 +1,1254 @@
+﻿/**
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+
+( function() {
+	var imageDialog = function( editor, dialogType ) {
+			// Load image preview.
+			var IMAGE = 1,
+				LINK = 2,
+				PREVIEW = 4,
+				CLEANUP = 8,
+				regexGetSize = /^\s*(\d+)((px)|\%)?\s*$/i,
+				regexGetSizeOrEmpty = /(^\s*(\d+)((px)|\%)?\s*$)|^$/i,
+				pxLengthRegex = /^\d+px$/;
+
+			var onSizeChange = function() {
+					var value = this.getValue(),
+						// This = input element.
+						dialog = this.getDialog(),
+						aMatch = value.match( regexGetSize ); // Check value
+					if ( aMatch ) {
+						if ( aMatch[ 2 ] == '%' ) // % is allowed - > unlock ratio.
+						switchLockRatio( dialog, false ); // Unlock.
+						value = aMatch[ 1 ];
+					}
+
+					// Only if ratio is locked
+					if ( dialog.lockRatio ) {
+						var oImageOriginal = dialog.originalElement;
+						if ( oImageOriginal.getCustomData( 'isReady' ) == 'true' ) {
+							if ( this.id == 'txtHeight' ) {
+								if ( value && value != '0' )
+									value = Math.round( oImageOriginal.$.width * ( value / oImageOriginal.$.height ) );
+								if ( !isNaN( value ) )
+									dialog.setValueOf( 'info', 'txtWidth', value );
+							}
+							// this.id = txtWidth.
+							else {
+								if ( value && value != '0' )
+									value = Math.round( oImageOriginal.$.height * ( value / oImageOriginal.$.width ) );
+								if ( !isNaN( value ) )
+									dialog.setValueOf( 'info', 'txtHeight', value );
+							}
+						}
+					}
+					updatePreview( dialog );
+				};
+
+			var updatePreview = function( dialog ) {
+					//Don't load before onShow.
+					if ( !dialog.originalElement || !dialog.preview )
+						return 1;
+
+					// Read attributes and update imagePreview;
+					dialog.commitContent( PREVIEW, dialog.preview );
+					return 0;
+				};
+
+			// Custom commit dialog logic, where we're intended to give inline style
+			// field (txtdlgGenStyle) higher priority to avoid overwriting styles contribute
+			// by other fields.
+			function commitContent() {
+				var args = arguments;
+				var inlineStyleField = this.getContentElement( 'advanced', 'txtdlgGenStyle' );
+				inlineStyleField && inlineStyleField.commit.apply( inlineStyleField, args );
+
+				this.foreach( function( widget ) {
+					if ( widget.commit && widget.id != 'txtdlgGenStyle' )
+						widget.commit.apply( widget, args );
+				} );
+			}
+
+			// Avoid recursions.
+			var incommit;
+
+			// Synchronous field values to other impacted fields is required, e.g. border
+			// size change should alter inline-style text as well.
+			function commitInternally( targetFields ) {
+				if ( incommit )
+					return;
+
+				incommit = 1;
+
+				var dialog = this.getDialog(),
+					element = dialog.imageElement;
+				if ( element ) {
+					// Commit this field and broadcast to target fields.
+					this.commit( IMAGE, element );
+
+					targetFields = [].concat( targetFields );
+					var length = targetFields.length,
+						field;
+					for ( var i = 0; i < length; i++ ) {
+						field = dialog.getContentElement.apply( dialog, targetFields[ i ].split( ':' ) );
+						// May cause recursion.
+						field && field.setup( IMAGE, element );
+					}
+				}
+
+				incommit = 0;
+			}
+
+			var switchLockRatio = function( dialog, value ) {
+					if ( !dialog.getContentElement( 'info', 'ratioLock' ) )
+						return null;
+
+					var oImageOriginal = dialog.originalElement;
+
+					// Dialog may already closed. (https://dev.ckeditor.com/ticket/5505)
+					if ( !oImageOriginal )
+						return null;
+
+					// Check image ratio and original image ratio, but respecting user's preference.
+					if ( value == 'check' ) {
+						if ( !dialog.userlockRatio && oImageOriginal.getCustomData( 'isReady' ) == 'true' ) {
+							var width = dialog.getValueOf( 'info', 'txtWidth' ),
+								height = dialog.getValueOf( 'info', 'txtHeight' ),
+								originalRatio = oImageOriginal.$.width * 1000 / oImageOriginal.$.height,
+								thisRatio = width * 1000 / height;
+							dialog.lockRatio = false; // Default: unlock ratio
+
+							if ( !width && !height )
+								dialog.lockRatio = true;
+							else if ( !isNaN( originalRatio ) && !isNaN( thisRatio ) ) {
+								if ( Math.round( originalRatio ) == Math.round( thisRatio ) )
+									dialog.lockRatio = true;
+							}
+						}
+					} else if ( value !== undefined )
+						dialog.lockRatio = value;
+					else {
+						dialog.userlockRatio = 1;
+						dialog.lockRatio = !dialog.lockRatio;
+					}
+
+					var ratioButton = CKEDITOR.document.getById( btnLockSizesId );
+					if ( dialog.lockRatio )
+						ratioButton.removeClass( 'cke_btn_unlocked' );
+					else
+						ratioButton.addClass( 'cke_btn_unlocked' );
+
+					ratioButton.setAttribute( 'aria-checked', dialog.lockRatio );
+
+					// Ratio button hc presentation - WHITE SQUARE / BLACK SQUARE
+					if ( CKEDITOR.env.hc ) {
+						var icon = ratioButton.getChild( 0 );
+						icon.setHtml( dialog.lockRatio ? CKEDITOR.env.ie ? '\u25A0' : '\u25A3' : CKEDITOR.env.ie ? '\u25A1' : '\u25A2' );
+					}
+
+					return dialog.lockRatio;
+				};
+
+			var resetSize = function( dialog, emptyValues ) {
+					var oImageOriginal = dialog.originalElement,
+						ready = oImageOriginal.getCustomData( 'isReady' ) == 'true';
+
+					if ( ready ) {
+						var widthField = dialog.getContentElement( 'info', 'txtWidth' ),
+							heightField = dialog.getContentElement( 'info', 'txtHeight' ),
+							widthValue, heightValue;
+
+						if ( emptyValues ) {
+							widthValue = 0;
+							heightValue = 0;
+						} else {
+							widthValue = oImageOriginal.$.width;
+							heightValue = oImageOriginal.$.height;
+						}
+
+						widthField && widthField.setValue( widthValue );
+						heightField && heightField.setValue( heightValue );
+					}
+					updatePreview( dialog );
+				};
+
+			var setupDimension = function( type, element ) {
+					if ( type != IMAGE )
+						return;
+
+					function checkDimension( size, defaultValue ) {
+						var aMatch = size.match( regexGetSize );
+						if ( aMatch ) {
+							// % is allowed.
+							if ( aMatch[ 2 ] == '%' ) {
+								aMatch[ 1 ] += '%';
+								switchLockRatio( dialog, false ); // Unlock ratio
+							}
+							return aMatch[ 1 ];
+						}
+						return defaultValue;
+					}
+
+					var dialog = this.getDialog(),
+						value = '',
+						dimension = this.id == 'txtWidth' ? 'width' : 'height',
+						size = element.getAttribute( dimension );
+
+					if ( size )
+						value = checkDimension( size, value );
+					value = checkDimension( element.getStyle( dimension ), value );
+
+					this.setValue( value );
+				};
+
+			var previewPreloader;
+
+			var onImgLoadEvent = function() {
+					// Image is ready.
+					var original = this.originalElement,
+						loader = CKEDITOR.document.getById( imagePreviewLoaderId );
+
+					original.setCustomData( 'isReady', 'true' );
+					original.removeListener( 'load', onImgLoadEvent );
+					original.removeListener( 'error', onImgLoadErrorEvent );
+					original.removeListener( 'abort', onImgLoadErrorEvent );
+
+					// Hide loader.
+					if ( loader )
+						loader.setStyle( 'display', 'none' );
+
+					// New image -> new dimensions
+					if ( !this.dontResetSize ) {
+						resetSize( this, editor.config.image_prefillDimensions === false );
+					}
+
+					if ( this.firstLoad ) {
+						CKEDITOR.tools.setTimeout( function() {
+							switchLockRatio( this, 'check' );
+						}, 0, this );
+					}
+
+					this.firstLoad = false;
+					this.dontResetSize = false;
+
+					// Possible fix for https://dev.ckeditor.com/ticket/12818.
+					updatePreview( this );
+				};
+
+			var onImgLoadErrorEvent = function() {
+					// Error. Image is not loaded.
+					var original = this.originalElement,
+						loader = CKEDITOR.document.getById( imagePreviewLoaderId );
+
+					original.removeListener( 'load', onImgLoadEvent );
+					original.removeListener( 'error', onImgLoadErrorEvent );
+					original.removeListener( 'abort', onImgLoadErrorEvent );
+
+					// Set Error image.
+					var noimage = CKEDITOR.getUrl( CKEDITOR.plugins.get( 'image' ).path + 'images/noimage.png' );
+
+					if ( this.preview )
+						this.preview.setAttribute( 'src', noimage );
+
+					// Hide loader.
+					if ( loader )
+						loader.setStyle( 'display', 'none' );
+
+					switchLockRatio( this, false ); // Unlock.
+				};
+
+			var numbering = function( id ) {
+					return CKEDITOR.tools.getNextId() + '_' + id;
+				},
+				btnLockSizesId = numbering( 'btnLockSizes' ),
+				btnResetSizeId = numbering( 'btnResetSize' ),
+				imagePreviewLoaderId = numbering( 'ImagePreviewLoader' ),
+				previewLinkId = numbering( 'previewLink' ),
+				previewImageId = numbering( 'previewImage' );
+
+			return {
+				title: editor.lang.image[ dialogType == 'image' ? 'title' : 'titleButton' ],
+				minWidth: ( CKEDITOR.skinName || editor.config.skin ) == 'moono-lisa' ? 500 : 420,
+				minHeight: 360,
+				onShow: function() {
+					this.imageElement = false;
+					this.linkElement = false;
+
+					// Default: create a new element.
+					this.imageEditMode = false;
+					this.linkEditMode = false;
+
+					this.lockRatio = true;
+					this.userlockRatio = 0;
+					this.dontResetSize = false;
+					this.firstLoad = true;
+					this.addLink = false;
+
+					var editor = this.getParentEditor(),
+						sel = editor.getSelection(),
+						element = sel && sel.getSelectedElement(),
+						link = element && editor.elementPath( element ).contains( 'a', 1 ),
+						loader = CKEDITOR.document.getById( imagePreviewLoaderId );
+
+					// Hide loader.
+					if ( loader )
+						loader.setStyle( 'display', 'none' );
+
+					// Create the preview before setup the dialog contents.
+					previewPreloader = new CKEDITOR.dom.element( 'img', editor.document );
+					this.preview = CKEDITOR.document.getById( previewImageId );
+
+					// Copy of the image
+					this.originalElement = editor.document.createElement( 'img' );
+					this.originalElement.setAttribute( 'alt', '' );
+					this.originalElement.setCustomData( 'isReady', 'false' );
+
+					if ( link ) {
+						this.linkElement = link;
+						this.linkEditMode = true;
+
+						// If there is an existing link, by default keep it (true).
+						// It will be removed if certain conditions are met and Link tab is enabled. (https://dev.ckeditor.com/ticket/13351)
+						this.addLink = true;
+
+						// Look for Image element.
+						var linkChildren = link.getChildren();
+						if ( linkChildren.count() == 1 ) {
+							var childTag = linkChildren.getItem( 0 );
+
+							if ( childTag.type == CKEDITOR.NODE_ELEMENT ) {
+								if ( childTag.is( 'img' ) || childTag.is( 'input' ) ) {
+									this.imageElement = linkChildren.getItem( 0 );
+									if ( this.imageElement.is( 'img' ) )
+										this.imageEditMode = 'img';
+									else if ( this.imageElement.is( 'input' ) )
+										this.imageEditMode = 'input';
+								}
+							}
+						}
+						// Fill out all fields.
+						if ( dialogType == 'image' )
+							this.setupContent( LINK, link );
+					}
+
+					// Edit given image element instead the one from selection.
+					if ( this.customImageElement ) {
+						this.imageEditMode = 'img';
+						this.imageElement = this.customImageElement;
+						delete this.customImageElement;
+					}
+					else if ( element && element.getName() == 'img' && !element.data( 'cke-realelement' ) ||
+						element && element.getName() == 'input' && element.getAttribute( 'type' ) == 'image' ) {
+						this.imageEditMode = element.getName();
+						this.imageElement = element;
+					}
+
+					if ( this.imageEditMode ) {
+						// Use the original element as a buffer from  since we don't want
+						// temporary changes to be committed, e.g. if the dialog is canceled.
+						this.cleanImageElement = this.imageElement;
+						this.imageElement = this.cleanImageElement.clone( true, true );
+
+						// Fill out all fields.
+						this.setupContent( IMAGE, this.imageElement );
+					}
+
+					// Refresh LockRatio button
+					switchLockRatio( this, true );
+
+					// Dont show preview if no URL given.
+					if ( !CKEDITOR.tools.trim( this.getValueOf( 'info', 'txtUrl' ) ) ) {
+						this.preview.removeAttribute( 'src' );
+						this.preview.setStyle( 'display', 'none' );
+					}
+				},
+				onOk: function() {
+					// Edit existing Image.
+					if ( this.imageEditMode ) {
+						var imgTagName = this.imageEditMode;
+
+						// Image dialog and Input element.
+						if ( dialogType == 'image' && imgTagName == 'input' && confirm( editor.lang.image.button2Img ) ) { // jshint ignore:line
+							// Replace INPUT-> IMG
+							imgTagName = 'img';
+							this.imageElement = editor.document.createElement( 'img' );
+							this.imageElement.setAttribute( 'alt', '' );
+							editor.insertElement( this.imageElement );
+						}
+						// ImageButton dialog and Image element.
+						else if ( dialogType != 'image' && imgTagName == 'img' && confirm( editor.lang.image.img2Button ) ) { // jshint ignore:line
+							// Replace IMG -> INPUT
+							imgTagName = 'input';
+							this.imageElement = editor.document.createElement( 'input' );
+							this.imageElement.setAttributes( {
+								type: 'image',
+								alt: ''
+							} );
+							editor.insertElement( this.imageElement );
+						} else {
+							// Restore the original element before all commits.
+							this.imageElement = this.cleanImageElement;
+							delete this.cleanImageElement;
+						}
+					}
+					// Create a new image.
+					else {
+						// Image dialog -> create IMG element.
+						if ( dialogType == 'image' )
+							this.imageElement = editor.document.createElement( 'img' );
+						else {
+							this.imageElement = editor.document.createElement( 'input' );
+							this.imageElement.setAttribute( 'type', 'image' );
+						}
+						this.imageElement.setAttribute( 'alt', '' );
+					}
+
+					// Create a new link.
+					if ( !this.linkEditMode )
+						this.linkElement = editor.document.createElement( 'a' );
+
+					// Set attributes.
+					this.commitContent( IMAGE, this.imageElement );
+					this.commitContent( LINK, this.linkElement );
+
+					// Remove empty style attribute.
+					if ( !this.imageElement.getAttribute( 'style' ) )
+						this.imageElement.removeAttribute( 'style' );
+
+					// Insert a new Image.
+					if ( !this.imageEditMode ) {
+						if ( this.addLink ) {
+							if ( !this.linkEditMode ) {
+								// Insert a new link.
+								editor.insertElement( this.linkElement );
+								this.linkElement.append( this.imageElement, false );
+							} else {
+								// We already have a link in editor.
+								if ( this.linkElement.equals( editor.getSelection().getSelectedElement() ) ) {
+									// If the link is selected outside, replace it's content rather than the link itself. ([<a>foo</a>])
+									this.linkElement.setHtml( '' );
+									this.linkElement.append( this.imageElement, false );
+								} else {
+									// Only inside of the link is selected, so replace it with image. (<a>[foo]</a>, <a>[f]oo</a>)
+									editor.insertElement( this.imageElement );
+								}
+							}
+						} else {
+							editor.insertElement( this.imageElement );
+						}
+					}
+					// Image already exists.
+					else {
+						// Add a new link element.
+						if ( !this.linkEditMode && this.addLink ) {
+							editor.insertElement( this.linkElement );
+							this.imageElement.appendTo( this.linkElement );
+						}
+						// Remove Link, Image exists.
+						else if ( this.linkEditMode && !this.addLink ) {
+							editor.getSelection().selectElement( this.linkElement );
+							editor.insertElement( this.imageElement );
+						}
+					}
+				},
+				onLoad: function() {
+					if ( dialogType != 'image' )
+						this.hidePage( 'Link' ); //Hide Link tab.
+					var doc = this._.element.getDocument();
+
+					if ( this.getContentElement( 'info', 'ratioLock' ) ) {
+						this.addFocusable( doc.getById( btnResetSizeId ), 5 );
+						this.addFocusable( doc.getById( btnLockSizesId ), 5 );
+					}
+
+					this.commitContent = commitContent;
+				},
+				onHide: function() {
+					if ( this.preview )
+						this.commitContent( CLEANUP, this.preview );
+
+					if ( this.originalElement ) {
+						this.originalElement.removeListener( 'load', onImgLoadEvent );
+						this.originalElement.removeListener( 'error', onImgLoadErrorEvent );
+						this.originalElement.removeListener( 'abort', onImgLoadErrorEvent );
+						this.originalElement.remove();
+						this.originalElement = false; // Dialog is closed.
+					}
+
+					delete this.imageElement;
+				},
+				contents: [ {
+					id: 'info',
+					label: editor.lang.image.infoTab,
+					accessKey: 'I',
+					elements: [ {
+						type: 'vbox',
+						padding: 0,
+						children: [ {
+							type: 'hbox',
+							widths: [ '280px', '110px' ],
+							align: 'right',
+							className: 'cke_dialog_image_url',
+							children: [ {
+								id: 'txtUrl',
+								type: 'text',
+								label: editor.lang.common.url,
+								required: true,
+								onChange: function() {
+									var dialog = this.getDialog(),
+										newUrl = this.getValue();
+
+									// Update original image.
+									// Prevent from load before onShow.
+									if ( newUrl.length > 0 ) {
+										dialog = this.getDialog();
+										var original = dialog.originalElement;
+
+										if ( dialog.preview ) {
+											dialog.preview.removeStyle( 'display' );
+										}
+
+										original.setCustomData( 'isReady', 'false' );
+										// Show loader.
+										var loader = CKEDITOR.document.getById( imagePreviewLoaderId );
+										if ( loader )
+											loader.setStyle( 'display', '' );
+
+										original.on( 'load', onImgLoadEvent, dialog );
+										original.on( 'error', onImgLoadErrorEvent, dialog );
+										original.on( 'abort', onImgLoadErrorEvent, dialog );
+										original.setAttribute( 'src', newUrl );
+
+										if ( dialog.preview ) {
+											// Query the preloader to figure out the url impacted by based href.
+											previewPreloader.setAttribute( 'src', newUrl );
+											dialog.preview.setAttribute( 'src', previewPreloader.$.src );
+											updatePreview( dialog );
+										}
+									}
+									// Dont show preview if no URL given.
+									else if ( dialog.preview ) {
+										dialog.preview.removeAttribute( 'src' );
+										dialog.preview.setStyle( 'display', 'none' );
+									}
+								},
+								setup: function( type, element ) {
+									if ( type == IMAGE ) {
+										var url = element.data( 'cke-saved-src' ) || element.getAttribute( 'src' );
+										var field = this;
+
+										this.getDialog().dontResetSize = true;
+
+										field.setValue( url ); // And call this.onChange()
+										// Manually set the initial value.(https://dev.ckeditor.com/ticket/4191)
+										field.setInitValue();
+									}
+								},
+								commit: function( type, element ) {
+									if ( type == IMAGE && ( this.getValue() || this.isChanged() ) ) {
+										element.data( 'cke-saved-src', this.getValue() );
+										element.setAttribute( 'src', this.getValue() );
+									} else if ( type == CLEANUP ) {
+										element.setAttribute( 'src', '' ); // If removeAttribute doesn't work.
+										element.removeAttribute( 'src' );
+									}
+								},
+								validate: CKEDITOR.dialog.validate.notEmpty( editor.lang.image.urlMissing )
+							},
+							{
+								type: 'button',
+								id: 'browse',
+								// v-align with the 'txtUrl' field.
+								// TODO: We need something better than a fixed size here.
+								style: 'display:inline-block;margin-top:14px;',
+								align: 'center',
+								label: editor.lang.common.browseServer,
+								hidden: true,
+								filebrowser: 'info:txtUrl'
+							} ]
+						} ]
+					},
+					{
+						id: 'txtAlt',
+						type: 'text',
+						label: editor.lang.image.alt,
+						accessKey: 'T',
+						'default': '',
+						onChange: function() {
+							updatePreview( this.getDialog() );
+						},
+						setup: function( type, element ) {
+							if ( type == IMAGE )
+								this.setValue( element.getAttribute( 'alt' ) );
+						},
+						commit: function( type, element ) {
+							if ( type == IMAGE ) {
+								if ( this.getValue() || this.isChanged() )
+									element.setAttribute( 'alt', this.getValue() );
+							} else if ( type == PREVIEW )
+								element.setAttribute( 'alt', this.getValue() );
+							else if ( type == CLEANUP ) {
+								element.removeAttribute( 'alt' );
+							}
+
+						}
+					},
+					{
+						type: 'hbox',
+						children: [ {
+							id: 'basic',
+							type: 'vbox',
+							children: [ {
+								type: 'hbox',
+								requiredContent: 'img{width,height}',
+								widths: [ '50%', '50%' ],
+								children: [ {
+									type: 'vbox',
+									padding: 1,
+									children: [ {
+										type: 'text',
+										width: '45px',
+										id: 'txtWidth',
+										label: editor.lang.common.width,
+										onKeyUp: onSizeChange,
+										onChange: function() {
+											commitInternally.call( this, 'advanced:txtdlgGenStyle' );
+										},
+										validate: function() {
+											var aMatch = this.getValue().match( regexGetSizeOrEmpty ),
+												isValid = !!( aMatch && parseInt( aMatch[ 1 ], 10 ) !== 0 );
+											if ( !isValid )
+												alert( editor.lang.common.invalidLength.replace( '%1', editor.lang.common.width ).replace( '%2', 'px, %' ) ); // jshint ignore:line
+											return isValid;
+										},
+										setup: setupDimension,
+										commit: function( type, element ) {
+											var value = this.getValue();
+											if ( type == IMAGE ) {
+												if ( value && editor.activeFilter.check( 'img{width,height}' ) )
+													element.setStyle( 'width', CKEDITOR.tools.cssLength( value ) );
+												else
+													element.removeStyle( 'width' );
+
+												element.removeAttribute( 'width' );
+											} else if ( type == PREVIEW ) {
+												var aMatch = value.match( regexGetSize );
+												if ( !aMatch ) {
+													var oImageOriginal = this.getDialog().originalElement;
+													if ( oImageOriginal.getCustomData( 'isReady' ) == 'true' )
+														element.setStyle( 'width', oImageOriginal.$.width + 'px' );
+												} else {
+													element.setStyle( 'width', CKEDITOR.tools.cssLength( value ) );
+												}
+											} else if ( type == CLEANUP ) {
+												element.removeAttribute( 'width' );
+												element.removeStyle( 'width' );
+											}
+										}
+									},
+									{
+										type: 'text',
+										id: 'txtHeight',
+										width: '45px',
+										label: editor.lang.common.height,
+										onKeyUp: onSizeChange,
+										onChange: function() {
+											commitInternally.call( this, 'advanced:txtdlgGenStyle' );
+										},
+										validate: function() {
+											var aMatch = this.getValue().match( regexGetSizeOrEmpty ),
+												isValid = !!( aMatch && parseInt( aMatch[ 1 ], 10 ) !== 0 );
+											if ( !isValid )
+												alert( editor.lang.common.invalidLength.replace( '%1', editor.lang.common.height ).replace( '%2', 'px, %' ) ); // jshint ignore:line
+											return isValid;
+										},
+										setup: setupDimension,
+										commit: function( type, element ) {
+											var value = this.getValue();
+											if ( type == IMAGE ) {
+												if ( value && editor.activeFilter.check( 'img{width,height}' ) )
+													element.setStyle( 'height', CKEDITOR.tools.cssLength( value ) );
+												else
+													element.removeStyle( 'height' );
+
+												element.removeAttribute( 'height' );
+											} else if ( type == PREVIEW ) {
+												var aMatch = value.match( regexGetSize );
+												if ( !aMatch ) {
+													var oImageOriginal = this.getDialog().originalElement;
+													if ( oImageOriginal.getCustomData( 'isReady' ) == 'true' )
+														element.setStyle( 'height', oImageOriginal.$.height + 'px' );
+												} else {
+													element.setStyle( 'height', CKEDITOR.tools.cssLength( value ) );
+												}
+											} else if ( type == CLEANUP ) {
+												element.removeAttribute( 'height' );
+												element.removeStyle( 'height' );
+											}
+										}
+									} ]
+								},
+								{
+									id: 'ratioLock',
+									type: 'html',
+									className: 'cke_dialog_image_ratiolock',
+									style: 'margin-top:30px;width:40px;height:40px;',
+									onLoad: function() {
+										// Activate Reset button
+										var resetButton = CKEDITOR.document.getById( btnResetSizeId ),
+											ratioButton = CKEDITOR.document.getById( btnLockSizesId );
+										if ( resetButton ) {
+											resetButton.on( 'click', function( evt ) {
+												resetSize( this );
+												evt.data && evt.data.preventDefault();
+											}, this.getDialog() );
+											resetButton.on( 'mouseover', function() {
+												this.addClass( 'cke_btn_over' );
+											}, resetButton );
+											resetButton.on( 'mouseout', function() {
+												this.removeClass( 'cke_btn_over' );
+											}, resetButton );
+										}
+										// Activate (Un)LockRatio button
+										if ( ratioButton ) {
+											ratioButton.on( 'click', function( evt ) {
+												switchLockRatio( this );
+
+												var oImageOriginal = this.originalElement,
+													width = this.getValueOf( 'info', 'txtWidth' );
+
+												if ( oImageOriginal.getCustomData( 'isReady' ) == 'true' && width ) {
+													var height = oImageOriginal.$.height / oImageOriginal.$.width * width;
+													if ( !isNaN( height ) ) {
+														this.setValueOf( 'info', 'txtHeight', Math.round( height ) );
+														updatePreview( this );
+													}
+												}
+												evt.data && evt.data.preventDefault();
+											}, this.getDialog() );
+											ratioButton.on( 'mouseover', function() {
+												this.addClass( 'cke_btn_over' );
+											}, ratioButton );
+											ratioButton.on( 'mouseout', function() {
+												this.removeClass( 'cke_btn_over' );
+											}, ratioButton );
+										}
+									},
+									html: '<div>' +
+										'<a href="javascript:void(0)" tabindex="-1" title="' + editor.lang.image.lockRatio +
+										'" class="cke_btn_locked" id="' + btnLockSizesId + '" role="checkbox"><span class="cke_icon"></span><span class="cke_label">' + editor.lang.image.lockRatio + '</span></a>' +
+										'<a href="javascript:void(0)" tabindex="-1" title="' + editor.lang.image.resetSize +
+										'" class="cke_btn_reset" id="' + btnResetSizeId + '" role="button"><span class="cke_label">' + editor.lang.image.resetSize + '</span></a>' +
+										'</div>'
+								} ]
+							},
+							{
+								type: 'vbox',
+								padding: 1,
+								children: [ {
+									type: 'text',
+									id: 'txtBorder',
+									requiredContent: 'img{border-width}',
+									width: '60px',
+									label: editor.lang.image.border,
+									'default': '',
+									onKeyUp: function() {
+										updatePreview( this.getDialog() );
+									},
+									onChange: function() {
+										commitInternally.call( this, 'advanced:txtdlgGenStyle' );
+									},
+									validate: CKEDITOR.dialog.validate.integer( editor.lang.image.validateBorder ),
+									setup: function( type, element ) {
+										if ( type == IMAGE ) {
+											var value,
+												borderStyle = element.getStyle( 'border-width' );
+											borderStyle = borderStyle && borderStyle.match( /^(\d+px)(?: \1 \1 \1)?$/ );
+											value = borderStyle && parseInt( borderStyle[ 1 ], 10 );
+											isNaN( parseInt( value, 10 ) ) && ( value = element.getAttribute( 'border' ) );
+											this.setValue( value );
+										}
+									},
+									commit: function( type, element ) {
+										var value = parseInt( this.getValue(), 10 );
+										if ( type == IMAGE || type == PREVIEW ) {
+											if ( !isNaN( value ) ) {
+												element.setStyle( 'border-width', CKEDITOR.tools.cssLength( value ) );
+												element.setStyle( 'border-style', 'solid' );
+											} else if ( !value && this.isChanged() ) {
+												element.removeStyle( 'border' );
+											}
+
+											if ( type == IMAGE )
+												element.removeAttribute( 'border' );
+										} else if ( type == CLEANUP ) {
+											element.removeAttribute( 'border' );
+											element.removeStyle( 'border-width' );
+											element.removeStyle( 'border-style' );
+											element.removeStyle( 'border-color' );
+										}
+									}
+								},
+								{
+									type: 'text',
+									id: 'txtHSpace',
+									requiredContent: 'img{margin-left,margin-right}',
+									width: '60px',
+									label: editor.lang.image.hSpace,
+									'default': '',
+									onKeyUp: function() {
+										updatePreview( this.getDialog() );
+									},
+									onChange: function() {
+										commitInternally.call( this, 'advanced:txtdlgGenStyle' );
+									},
+									validate: CKEDITOR.dialog.validate.integer( editor.lang.image.validateHSpace ),
+									setup: function( type, element ) {
+										if ( type == IMAGE ) {
+											var value, marginLeftPx, marginRightPx,
+												marginLeftStyle = element.getStyle( 'margin-left' ),
+												marginRightStyle = element.getStyle( 'margin-right' );
+
+											marginLeftStyle = marginLeftStyle && marginLeftStyle.match( pxLengthRegex );
+											marginRightStyle = marginRightStyle && marginRightStyle.match( pxLengthRegex );
+											marginLeftPx = parseInt( marginLeftStyle, 10 );
+											marginRightPx = parseInt( marginRightStyle, 10 );
+
+											value = ( marginLeftPx == marginRightPx ) && marginLeftPx;
+											isNaN( parseInt( value, 10 ) ) && ( value = element.getAttribute( 'hspace' ) );
+
+											this.setValue( value );
+										}
+									},
+									commit: function( type, element ) {
+										var value = parseInt( this.getValue(), 10 );
+										if ( type == IMAGE || type == PREVIEW ) {
+											if ( !isNaN( value ) ) {
+												element.setStyle( 'margin-left', CKEDITOR.tools.cssLength( value ) );
+												element.setStyle( 'margin-right', CKEDITOR.tools.cssLength( value ) );
+											} else if ( !value && this.isChanged() ) {
+												element.removeStyle( 'margin-left' );
+												element.removeStyle( 'margin-right' );
+											}
+
+											if ( type == IMAGE )
+												element.removeAttribute( 'hspace' );
+										} else if ( type == CLEANUP ) {
+											element.removeAttribute( 'hspace' );
+											element.removeStyle( 'margin-left' );
+											element.removeStyle( 'margin-right' );
+										}
+									}
+								},
+								{
+									type: 'text',
+									id: 'txtVSpace',
+									requiredContent: 'img{margin-top,margin-bottom}',
+									width: '60px',
+									label: editor.lang.image.vSpace,
+									'default': '',
+									onKeyUp: function() {
+										updatePreview( this.getDialog() );
+									},
+									onChange: function() {
+										commitInternally.call( this, 'advanced:txtdlgGenStyle' );
+									},
+									validate: CKEDITOR.dialog.validate.integer( editor.lang.image.validateVSpace ),
+									setup: function( type, element ) {
+										if ( type == IMAGE ) {
+											var value, marginTopPx, marginBottomPx,
+												marginTopStyle = element.getStyle( 'margin-top' ),
+												marginBottomStyle = element.getStyle( 'margin-bottom' );
+
+											marginTopStyle = marginTopStyle && marginTopStyle.match( pxLengthRegex );
+											marginBottomStyle = marginBottomStyle && marginBottomStyle.match( pxLengthRegex );
+											marginTopPx = parseInt( marginTopStyle, 10 );
+											marginBottomPx = parseInt( marginBottomStyle, 10 );
+
+											value = ( marginTopPx == marginBottomPx ) && marginTopPx;
+											isNaN( parseInt( value, 10 ) ) && ( value = element.getAttribute( 'vspace' ) );
+											this.setValue( value );
+										}
+									},
+									commit: function( type, element ) {
+										var value = parseInt( this.getValue(), 10 );
+										if ( type == IMAGE || type == PREVIEW ) {
+											if ( !isNaN( value ) ) {
+												element.setStyle( 'margin-top', CKEDITOR.tools.cssLength( value ) );
+												element.setStyle( 'margin-bottom', CKEDITOR.tools.cssLength( value ) );
+											} else if ( !value && this.isChanged() ) {
+												element.removeStyle( 'margin-top' );
+												element.removeStyle( 'margin-bottom' );
+											}
+
+											if ( type == IMAGE )
+												element.removeAttribute( 'vspace' );
+										} else if ( type == CLEANUP ) {
+											element.removeAttribute( 'vspace' );
+											element.removeStyle( 'margin-top' );
+											element.removeStyle( 'margin-bottom' );
+										}
+									}
+								},
+								{
+									id: 'cmbAlign',
+									requiredContent: 'img{float}',
+									type: 'select',
+									widths: [ '35%', '65%' ],
+									style: 'width:90px',
+									label: editor.lang.common.align,
+									'default': '',
+									items: [
+										[ editor.lang.common.notSet, '' ],
+										[ editor.lang.common.left, 'left' ],
+										[ editor.lang.common.right, 'right' ]
+										// Backward compatible with v2 on setup when specified as attribute value,
+										// while these values are no more available as select options.
+										//	[ editor.lang.image.alignAbsBottom , 'absBottom'],
+										//	[ editor.lang.image.alignAbsMiddle , 'absMiddle'],
+										//  [ editor.lang.image.alignBaseline , 'baseline'],
+										//  [ editor.lang.image.alignTextTop , 'text-top'],
+										//  [ editor.lang.image.alignBottom , 'bottom'],
+										//  [ editor.lang.image.alignMiddle , 'middle'],
+										//  [ editor.lang.image.alignTop , 'top']
+									],
+									onChange: function() {
+										updatePreview( this.getDialog() );
+										commitInternally.call( this, 'advanced:txtdlgGenStyle' );
+									},
+									setup: function( type, element ) {
+										if ( type == IMAGE ) {
+											var value = element.getStyle( 'float' );
+											switch ( value ) {
+												// Ignore those unrelated values.
+												case 'inherit':
+												case 'none':
+													value = '';
+											}
+
+											!value && ( value = ( element.getAttribute( 'align' ) || '' ).toLowerCase() );
+											this.setValue( value );
+										}
+									},
+									commit: function( type, element ) {
+										var value = this.getValue();
+										if ( type == IMAGE || type == PREVIEW ) {
+											if ( value )
+												element.setStyle( 'float', value );
+											else
+												element.removeStyle( 'float' );
+
+											if ( type == IMAGE ) {
+												value = ( element.getAttribute( 'align' ) || '' ).toLowerCase();
+												switch ( value ) {
+													// we should remove it only if it matches "left" or "right",
+													// otherwise leave it intact.
+													case 'left':
+													case 'right':
+														element.removeAttribute( 'align' );
+												}
+											}
+										} else if ( type == CLEANUP ) {
+											element.removeStyle( 'float' );
+										}
+									}
+								} ]
+							} ]
+						},
+						{
+							type: 'vbox',
+							height: '250px',
+							children: [ {
+								type: 'html',
+								id: 'htmlPreview',
+								style: 'width:95%;',
+								html: '<div>' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) + '<br>' +
+									'<div id="' + imagePreviewLoaderId + '" class="ImagePreviewLoader" style="display:none"><div class="loading">&nbsp;</div></div>' +
+									'<div class="ImagePreviewBox"><table><tr><td>' +
+										'<a href="javascript:void(0)" target="_blank" onclick="return false;" id="' + previewLinkId + '">' +
+										'<img id="' + previewImageId + '" alt="" /></a>' +
+									// jscs:disable maximumLineLength
+										( editor.config.image_previewText || 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. ' +
+											'Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, ' +
+											'nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.' ) +
+									// jscs:enable maximumLineLength
+									'</td></tr></table></div></div>'
+							} ]
+						} ]
+					} ]
+				},
+				{
+					id: 'Link',
+					requiredContent: 'a[href]',
+					label: editor.lang.image.linkTab,
+					padding: 0,
+					elements: [ {
+						id: 'txtUrl',
+						type: 'text',
+						label: editor.lang.common.url,
+						style: 'width: 100%',
+						'default': '',
+						setup: function( type, element ) {
+							if ( type == LINK ) {
+								var href = element.data( 'cke-saved-href' );
+								if ( !href )
+									href = element.getAttribute( 'href' );
+								this.setValue( href );
+							}
+						},
+						commit: function( type, element ) {
+							if ( type == LINK ) {
+								if ( this.getValue() || this.isChanged() ) {
+									var url = this.getValue();
+									element.data( 'cke-saved-href', url );
+									element.setAttribute( 'href', url );
+
+									if ( this.getValue() || !editor.config.image_removeLinkByEmptyURL )
+										this.getDialog().addLink = true;
+									else
+										this.getDialog().addLink = false;
+								}
+							}
+						}
+					},
+					{
+						type: 'button',
+						id: 'browse',
+						className: 'cke_dialog_image_browse',
+						filebrowser: {
+							action: 'Browse',
+							target: 'Link:txtUrl',
+							url: editor.config.filebrowserImageBrowseLinkUrl
+						},
+						style: 'float:right',
+						hidden: true,
+						label: editor.lang.common.browseServer
+					},
+					{
+						id: 'cmbTarget',
+						type: 'select',
+						requiredContent: 'a[target]',
+						label: editor.lang.common.target,
+						'default': '',
+						items: [
+							[ editor.lang.common.notSet, '' ],
+							[ editor.lang.common.targetNew, '_blank' ],
+							[ editor.lang.common.targetTop, '_top' ],
+							[ editor.lang.common.targetSelf, '_self' ],
+							[ editor.lang.common.targetParent, '_parent' ]
+						],
+						setup: function( type, element ) {
+							if ( type == LINK )
+								this.setValue( element.getAttribute( 'target' ) || '' );
+						},
+						commit: function( type, element ) {
+							if ( type == LINK ) {
+								if ( this.getValue() || this.isChanged() )
+									element.setAttribute( 'target', this.getValue() );
+							}
+						}
+					} ]
+				},
+				{
+					id: 'Upload',
+					hidden: true,
+					filebrowser: 'uploadButton',
+					label: editor.lang.image.upload,
+					elements: [ {
+						type: 'file',
+						id: 'upload',
+						label: editor.lang.image.btnUpload,
+						style: 'height:40px',
+						size: 38
+					},
+					{
+						type: 'fileButton',
+						id: 'uploadButton',
+						filebrowser: 'info:txtUrl',
+						label: editor.lang.image.btnUpload,
+						'for': [ 'Upload', 'upload' ]
+					} ]
+				},
+				{
+					id: 'advanced',
+					label: editor.lang.common.advancedTab,
+					elements: [ {
+						type: 'hbox',
+						widths: [ '50%', '25%', '25%' ],
+						children: [ {
+							type: 'text',
+							id: 'linkId',
+							requiredContent: 'img[id]',
+							label: editor.lang.common.id,
+							setup: function( type, element ) {
+								if ( type == IMAGE )
+									this.setValue( element.getAttribute( 'id' ) );
+							},
+							commit: function( type, element ) {
+								if ( type == IMAGE ) {
+									if ( this.getValue() || this.isChanged() )
+										element.setAttribute( 'id', this.getValue() );
+								}
+							}
+						},
+						{
+							id: 'cmbLangDir',
+							type: 'select',
+							requiredContent: 'img[dir]',
+							style: 'width : 100px;',
+							label: editor.lang.common.langDir,
+							'default': '',
+							items: [
+								[ editor.lang.common.notSet, '' ],
+								[ editor.lang.common.langDirLtr, 'ltr' ],
+								[ editor.lang.common.langDirRtl, 'rtl' ]
+							],
+							setup: function( type, element ) {
+								if ( type == IMAGE )
+									this.setValue( element.getAttribute( 'dir' ) );
+							},
+							commit: function( type, element ) {
+								if ( type == IMAGE ) {
+									if ( this.getValue() || this.isChanged() )
+										element.setAttribute( 'dir', this.getValue() );
+								}
+							}
+						},
+						{
+							type: 'text',
+							id: 'txtLangCode',
+							requiredContent: 'img[lang]',
+							label: editor.lang.common.langCode,
+							'default': '',
+							setup: function( type, element ) {
+								if ( type == IMAGE )
+									this.setValue( element.getAttribute( 'lang' ) );
+							},
+							commit: function( type, element ) {
+								if ( type == IMAGE ) {
+									if ( this.getValue() || this.isChanged() )
+										element.setAttribute( 'lang', this.getValue() );
+								}
+							}
+						} ]
+					},
+					{
+						type: 'text',
+						id: 'txtGenLongDescr',
+						requiredContent: 'img[longdesc]',
+						label: editor.lang.common.longDescr,
+						setup: function( type, element ) {
+							if ( type == IMAGE )
+								this.setValue( element.getAttribute( 'longDesc' ) );
+						},
+						commit: function( type, element ) {
+							if ( type == IMAGE ) {
+								if ( this.getValue() || this.isChanged() )
+									element.setAttribute( 'longDesc', this.getValue() );
+							}
+						}
+					},
+					{
+						type: 'hbox',
+						widths: [ '50%', '50%' ],
+						children: [ {
+							type: 'text',
+							id: 'txtGenClass',
+							requiredContent: 'img(cke-xyz)', // Random text like 'xyz' will check if all are allowed.
+							label: editor.lang.common.cssClass,
+							'default': '',
+							setup: function( type, element ) {
+								if ( type == IMAGE )
+									this.setValue( element.getAttribute( 'class' ) );
+							},
+							commit: function( type, element ) {
+								if ( type == IMAGE ) {
+									if ( this.getValue() || this.isChanged() )
+										element.setAttribute( 'class', this.getValue() );
+								}
+							}
+						},
+						{
+							type: 'text',
+							id: 'txtGenTitle',
+							requiredContent: 'img[title]',
+							label: editor.lang.common.advisoryTitle,
+							'default': '',
+							onChange: function() {
+								updatePreview( this.getDialog() );
+							},
+							setup: function( type, element ) {
+								if ( type == IMAGE )
+									this.setValue( element.getAttribute( 'title' ) );
+							},
+							commit: function( type, element ) {
+								if ( type == IMAGE ) {
+									if ( this.getValue() || this.isChanged() )
+										element.setAttribute( 'title', this.getValue() );
+								} else if ( type == PREVIEW )
+									element.setAttribute( 'title', this.getValue() );
+								else if ( type == CLEANUP ) {
+									element.removeAttribute( 'title' );
+								}
+							}
+						} ]
+					},
+					{
+						type: 'text',
+						id: 'txtdlgGenStyle',
+						requiredContent: 'img{cke-xyz}', // Random text like 'xyz' will check if all are allowed.
+						label: editor.lang.common.cssStyle,
+						validate: CKEDITOR.dialog.validate.inlineStyle( editor.lang.common.invalidInlineStyle ),
+						'default': '',
+						setup: function( type, element ) {
+							if ( type == IMAGE ) {
+								var genStyle = element.getAttribute( 'style' );
+								if ( !genStyle && element.$.style.cssText )
+									genStyle = element.$.style.cssText;
+								this.setValue( genStyle );
+
+								var height = element.$.style.height,
+									width = element.$.style.width,
+									aMatchH = ( height ? height : '' ).match( regexGetSize ),
+									aMatchW = ( width ? width : '' ).match( regexGetSize );
+
+								this.attributesInStyle = {
+									height: !!aMatchH,
+									width: !!aMatchW
+								};
+							}
+						},
+						onChange: function() {
+							commitInternally.call(
+								this, [
+									'info:cmbFloat',
+									'info:cmbAlign',
+									'info:txtVSpace',
+									'info:txtHSpace',
+									'info:txtBorder',
+									'info:txtWidth',
+									'info:txtHeight'
+								]
+							);
+							updatePreview( this );
+						},
+						commit: function( type, element ) {
+							if ( type == IMAGE && ( this.getValue() || this.isChanged() ) )
+								element.setAttribute( 'style', this.getValue() );
+
+						}
+					} ]
+				} ]
+			};
+		};
+
+	CKEDITOR.dialog.add( 'image', function( editor ) {
+		return imageDialog( editor, 'image' );
+	} );
+
+	CKEDITOR.dialog.add( 'imagebutton', function( editor ) {
+		return imageDialog( editor, 'imagebutton' );
+	} );
+} )();
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/af.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/af.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/af.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'af', {
+	alt: 'Alternatiewe teks',
+	border: 'Rand',
+	btnUpload: 'Stuur na bediener',
+	button2Img: 'Wil u die geselekteerde afbeeldingsknop vervang met \'n eenvoudige afbeelding?',
+	hSpace: 'HSpasie',
+	img2Button: 'Wil u die geselekteerde afbeelding vervang met \'n afbeeldingsknop?',
+	infoTab: 'Afbeelding informasie',
+	linkTab: 'Skakel',
+	lockRatio: 'Vaste proporsie',
+	menu: 'Afbeelding eienskappe',
+	resetSize: 'Herstel grootte',
+	title: 'Afbeelding eienskappe',
+	titleButton: 'Afbeeldingsknop eienskappe',
+	upload: 'Oplaai',
+	urlMissing: 'Die URL na die afbeelding ontbreek.',
+	vSpace: 'VSpasie',
+	validateBorder: 'Rand moet \'n heelgetal wees.',
+	validateHSpace: 'HSpasie moet \'n heelgetal wees.',
+	validateVSpace: 'VSpasie moet \'n heelgetal wees.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ar.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ar.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ar.js	(revision 32438)
@@ -0,0 +1,36 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'ar', {
+	alt: 'Ø¹ÙÙØ§Ù Ø§ÙØµÙØ±Ø©',
+	border: 'Ø³Ù
+Ù Ø§ÙØ­Ø¯ÙØ¯',
+	btnUpload: 'Ø£Ø±Ø³ÙÙØ§ ÙÙØ®Ø§Ø¯Ù
+',
+	button2Img: 'ÙÙ ØªØ±ÙØ¯ ØªØ­ÙÙÙ Ø²Ø± Ø§ÙØµÙØ±Ø© Ø§ÙÙ
+Ø®ØªØ§Ø± Ø¥ÙÙ ØµÙØ±Ø© ØšØ³ÙØ·Ø©Ø',
+	hSpace: 'ØªØšØ§Ø¹Ø¯ Ø£ÙÙÙ',
+	img2Button: 'ÙÙ ØªØ±ÙØ¯ ØªØ­ÙÙÙ Ø§ÙØµÙØ±Ø© Ø§ÙÙ
+Ø®ØªØ§Ø±Ø© Ø¥ÙÙ Ø²Ø± ØµÙØ±Ø©Ø',
+	infoTab: 'Ù
+Ø¹ÙÙÙ
+Ø§Øª Ø§ÙØµÙØ±Ø©',
+	linkTab: 'Ø§ÙØ±Ø§ØšØ·',
+	lockRatio: 'ØªÙØ§Ø³Ù Ø§ÙØ­Ø¬Ù
+',
+	menu: 'Ø®ØµØ§ØŠØµ Ø§ÙØµÙØ±Ø©',
+	resetSize: 'Ø¥Ø³ØªØ¹Ø§Ø¯Ø© Ø§ÙØ­Ø¬Ù
+ Ø§ÙØ£ØµÙÙ',
+	title: 'Ø®ØµØ§ØŠØµ Ø§ÙØµÙØ±Ø©',
+	titleButton: 'Ø®ØµØ§ØŠØµ Ø²Ø± Ø§ÙØµÙØ±Ø©',
+	upload: 'Ø±ÙØ¹',
+	urlMissing: 'Ø¹ÙÙØ§Ù Ù
+ØµØ¯Ø± Ø§ÙØµÙØ±Ø© Ù
+ÙÙÙØ¯',
+	vSpace: 'ØªØšØ§Ø¹Ø¯ Ø¹Ù
+ÙØ¯Ù',
+	validateBorder: 'Ø§ÙØ¥Ø·Ø§Ø± ÙØ¬Øš Ø£Ù ÙÙÙÙ Ø¹Ø¯Ø¯Ø§',
+	validateHSpace: 'HSpace ÙØ¬Øš Ø£Ù ÙÙÙÙ Ø¹Ø¯Ø¯Ø§Ù.',
+	validateVSpace: 'VSpace ÙØ¬Øš Ø£Ù ÙÙÙÙ Ø¹Ø¯Ø¯Ø§Ù.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/az.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/az.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/az.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'az', {
+	alt: 'Alternativ mÉtn',
+	border: 'SÉrhÉd',
+	btnUpload: 'ServerÉ yÃŒklÉ',
+	button2Img: 'ÅÉkil tipli dÃŒymÉni ÅÉklÉ Ã§evirmÉk istÉdiyinizÉ Éminsinizmi?',
+	hSpace: 'ÃfÃŒqi boÅluq',
+	img2Button: 'ÅÉkli ÅÉkil tipli dÃŒymÉyÉ Ã§evirmÉk istÉdiyinizÉ Éminsinizmi?',
+	infoTab: 'ÅÉkil haqqÄ±nda mÉlumat',
+	linkTab: 'Link',
+	lockRatio: 'ÃlÃ§ÃŒlÉrin uyÄunluÄu saxla',
+	menu: 'ÅÉklin seÃ§imlÉri',
+	resetSize: 'ÃlÃ§ÃŒlÉri qaytar',
+	title: 'ÅÉklin seÃ§imlÉri',
+	titleButton: 'ÅÉkil tipli dÃŒymÉsinin seÃ§imlÉri',
+	upload: 'ServerÉ yÃŒklÉ',
+	urlMissing: 'ÅÉklin ÃŒnvanÄ± yanlÄ±ÅdÄ±r.',
+	vSpace: 'Åaquli boÅluq',
+	validateBorder: 'SÉrhÉdin eni rÉqÉm olmalÄ±dÄ±r.',
+	validateHSpace: 'ÃfÃŒqi boÅluq rÉqÉm olmalÄ±dÄ±r.',
+	validateVSpace: 'Åaquli boÅluq rÉqÉm olmalÄ±dÄ±r.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/bg.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/bg.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/bg.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'bg', {
+	alt: 'ÐÐ»ÑÐµÑÐœÐ°ÑÐžÐ²ÐµÐœ ÑÐµÐºÑÑ',
+	border: 'Ð Ð°ÐŒÐºÐ°',
+	btnUpload: 'ÐÐ·Ð¿ÑÐ°ÑÐž ÐœÐ° ÑÑÑÐ²ÑÑÐ°',
+	button2Img: 'ÐÑÐºÐ°ÑÐµ Ð»Ðž ÐŽÐ° Ð¿ÑÐµÐ²ÑÑÐœÐµÑÐµ ÐžÐ·Ð±ÑÐ°ÐœÐžÑ Ð±ÑÑÐŸÐœ Ð·Ð° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ Ð² Ð¿ÑÐŸÑÑÐŸ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ?',
+	hSpace: 'Ð¥ÐŸÑÐžÐ·ÐŸÐœÑÐ°Ð»ÐµÐœ ÐŸÑÑÑÑÐ¿',
+	img2Button: 'ÐÑÐºÐ°ÑÐµ Ð»Ðž ÐŽÐ° Ð¿ÑÐµÐ²ÑÑÐœÐµÑÐµ ÐžÐ·Ð±ÑÐ°ÐœÐŸÑÐŸ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ Ð² Ð±ÑÑÐŸÐœ Ð·Ð° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ?',
+	infoTab: 'ÐÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ',
+	linkTab: 'ÐÑÑÐ·ÐºÐ°',
+	lockRatio: 'ÐÐ°ÐºÐ»ÑÑÐ²Ð°ÐœÐµ ÐœÐ° ÑÑÐŸÑÐœÐŸÑÐµÐœÐžÐµÑÐŸ',
+	menu: 'ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž ÐœÐ° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ',
+	resetSize: 'ÐÑÐ»ÐžÑÐ°ÐœÐµ ÐœÐ° ÑÐ°Ð·ÐŒÐµÑ',
+	title: 'ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž ÐœÐ° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ',
+	titleButton: 'ÐÐ°ÑÑÑÐŸÐ¹ÐºÐž ÐœÐ° Ð±ÑÑÐŸÐœ Ð·Ð° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ',
+	upload: 'ÐÐ°ÑÐ²Ð°ÐœÐµ',
+	urlMissing: 'URL Ð°ÐŽÑÐµÑÑÑ ÐœÐ° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµÑÐŸ Ð»ÐžÐ¿ÑÐ²Ð°.',
+	vSpace: 'ÐÐµÑÑÐžÐºÐ°Ð»ÐµÐœ ÐŸÑÑÑÑÐ¿',
+	validateBorder: 'Ð Ð°ÐŒÐºÐ°ÑÐ° ÑÑÑÐ±Ð²Ð° ÐŽÐ° Ðµ ÑÑÐ»ÐŸ ÑÐžÑÐ»ÐŸ.',
+	validateHSpace: 'Ð¥ÐŸÑÐžÐ·ÐŸÐœÑÐ°Ð»ÐµÐœ ÐŸÑÑÑÑÐ¿ ÑÑÑÐ±Ð²Ð° ÐŽÐ° Ðµ ÑÑÐ»ÐŸ ÑÐžÑÐ»ÐŸ.',
+	validateVSpace: 'ÐÐµÑÑÐžÐºÐ°Ð»ÐµÐœ ÐŸÑÑÑÑÐ¿ ÑÑÑÐ±Ð²Ð° ÐŽÐ° Ðµ ÑÑÐ»ÐŸ ÑÐžÑÐ»ÐŸ.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/bn.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/bn.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/bn.js	(revision 32438)
@@ -0,0 +1,26 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'bn', {
+	alt: 'àŠ¬àŠ¿àŠàŠ²à§àŠª àŠà§àŠà§àŠžàŠ',
+	border: 'àŠ¬àŠ°à§àŠ¡àŠŸàŠ°',
+	btnUpload: 'àŠàŠ¹àŠŸàŠà§ àŠžàŠŸàŠ°à§àŠ­àŠŸàŠ°à§ àŠªà§àŠ°à§àŠ°àŠš àŠàŠ°',
+	button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING
+	hSpace: 'àŠ¹àŠ°àŠŸàŠàŠàŠšà§àŠàŠŸàŠ² àŠžà§àŠªà§àŠž',
+	img2Button: 'Do you want to transform the selected image on a image button?', // MISSING
+	infoTab: 'àŠàŠ¬àŠ¿àŠ° àŠ€àŠ¥à§àŠ¯',
+	linkTab: 'àŠ²àŠ¿àŠàŠ',
+	lockRatio: 'àŠ
+àŠšà§àŠªàŠŸàŠ€ àŠ²àŠ àŠàŠ°',
+	menu: 'àŠàŠ¬àŠ¿àŠ° àŠªà§àŠ°à§àŠªàŠŸàŠ°à§àŠàŠ¿',
+	resetSize: 'àŠžàŠŸàŠàŠ àŠªà§àŠ°à§àŠ¬àŠŸàŠ¬àŠžà§àŠ¥àŠŸà§ àŠ«àŠ¿àŠ°àŠ¿à§à§ àŠŠàŠŸàŠ',
+	title: 'àŠàŠ¬àŠ¿àŠ° àŠªà§àŠ°à§àŠªàŠŸàŠ°à§àŠàŠ¿',
+	titleButton: 'àŠàŠ¬àŠ¿àŠ° àŠ¬àŠŸàŠàŠš àŠžàŠ®à§àŠ¬àŠšà§àŠ§à§à§',
+	upload: 'àŠàŠªàŠ²à§àŠ¡',
+	urlMissing: 'Image source URL is missing.', // MISSING
+	vSpace: 'àŠ­àŠŸàŠ°à§àŠàŠ¿àŠà§àŠ² àŠžà§àŠªà§àŠž',
+	validateBorder: 'Border must be a whole number.', // MISSING
+	validateHSpace: 'HSpace must be a whole number.', // MISSING
+	validateVSpace: 'VSpace must be a whole number.' // MISSING
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/bs.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/bs.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/bs.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'bs', {
+	alt: 'Tekst na slici',
+	border: 'Okvir',
+	btnUpload: 'Å alji na server',
+	button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING
+	hSpace: 'HSpace',
+	img2Button: 'Do you want to transform the selected image on a image button?', // MISSING
+	infoTab: 'Info slike',
+	linkTab: 'Link',
+	lockRatio: 'ZakljuÃšaj odnos',
+	menu: 'Svojstva slike',
+	resetSize: 'Resetuj dimenzije',
+	title: 'Svojstva slike',
+	titleButton: 'Image Button Properties', // MISSING
+	upload: 'Å alji',
+	urlMissing: 'Image source URL is missing.', // MISSING
+	vSpace: 'VSpace',
+	validateBorder: 'Border must be a whole number.', // MISSING
+	validateHSpace: 'HSpace must be a whole number.', // MISSING
+	validateVSpace: 'VSpace must be a whole number.' // MISSING
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ca.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ca.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ca.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'ca', {
+	alt: 'Text alternatiu',
+	border: 'Vora',
+	btnUpload: 'Envia-la al servidor',
+	button2Img: 'Voleu transformar el botÃ³ d\'imatge seleccionat en una simple imatge?',
+	hSpace: 'Espaiat horit.',
+	img2Button: 'Voleu transformar la imatge seleccionada en un botÃ³ d\'imatge?',
+	infoTab: 'InformaciÃ³ de la imatge',
+	linkTab: 'EnllaÃ§',
+	lockRatio: 'Bloqueja les proporcions',
+	menu: 'Propietats de la imatge',
+	resetSize: 'Restaura la mida',
+	title: 'Propietats de la imatge',
+	titleButton: 'Propietats del botÃ³ d\'imatge',
+	upload: 'Puja',
+	urlMissing: 'Falta la URL de la imatge.',
+	vSpace: 'Espaiat vert.',
+	validateBorder: 'La vora ha de ser un nombre enter.',
+	validateHSpace: 'HSpace ha de ser un nombre enter.',
+	validateVSpace: 'VSpace ha de ser un nombre enter.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/cs.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/cs.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/cs.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'cs', {
+	alt: 'AlternativnÃ­ text',
+	border: 'Okraje',
+	btnUpload: 'Odeslat na server',
+	button2Img: 'SkuteÄnÄ chcete pÅevÃ©st zvolenÃ© obrÃ¡zkovÃ© tlaÄÃ­tko na obyÄejnÃœ obrÃ¡zek?',
+	hSpace: 'HorizontÃ¡lnÃ­ mezera',
+	img2Button: 'SkuteÄnÄ chcete pÅevÃ©st zvolenÃœ obrÃ¡zek na obrÃ¡zkovÃ© tlaÄÃ­tko?',
+	infoTab: 'Informace o obrÃ¡zku',
+	linkTab: 'Odkaz',
+	lockRatio: 'ZÃ¡mek',
+	menu: 'Vlastnosti obrÃ¡zku',
+	resetSize: 'PÅ¯vodnÃ­ velikost',
+	title: 'Vlastnosti obrÃ¡zku',
+	titleButton: 'VlastnostÃ­ obrÃ¡zkovÃ©ho tlaÄÃ­tka',
+	upload: 'Odeslat',
+	urlMissing: 'ZadanÃ© URL zdroje obrÃ¡zku nebylo nalezeno.',
+	vSpace: 'VertikÃ¡lnÃ­ mezera',
+	validateBorder: 'Okraj musÃ­ bÃœt nastaven 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.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/cy.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/cy.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/cy.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'cy', {
+	alt: 'Testun Amgen',
+	border: 'Ymyl',
+	btnUpload: 'Anfon i\'r Gweinydd',
+	button2Img: 'Ydych am drawsffurfio\'r botwm ddelwedd hwn ar ddelwedd syml?',
+	hSpace: 'BwlchLl',
+	img2Button: 'Ydych am drawsffurfio\'r ddelwedd hon ar fotwm delwedd?',
+	infoTab: 'Gwyb Delwedd',
+	linkTab: 'Dolen',
+	lockRatio: 'Cloi Cymhareb',
+	menu: 'Priodweddau Delwedd',
+	resetSize: 'Ailosod Maint',
+	title: 'Priodweddau Delwedd',
+	titleButton: 'Priodweddau Botwm Delwedd',
+	upload: 'Lanlwytho',
+	urlMissing: 'URL gwreiddiol y ddelwedd ar goll.',
+	vSpace: 'BwlchF',
+	validateBorder: 'Rhaid i\'r ymyl fod yn gyfanrif.',
+	validateHSpace: 'Rhaid i\'r HSpace fod yn gyfanrif.',
+	validateVSpace: 'Rhaid i\'r VSpace fod yn gyfanrif.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/da.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/da.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/da.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'da', {
+	alt: 'Alternativ tekst',
+	border: 'Ramme',
+	btnUpload: 'Upload fil til serveren',
+	button2Img: 'Vil du lave billedknappen om til et almindeligt billede?',
+	hSpace: 'Vandret margen',
+	img2Button: 'Vil du lave billedet om til en billedknap?',
+	infoTab: 'Generelt',
+	linkTab: 'Hyperlink',
+	lockRatio: 'LÃ¥s stÃžrrelsesforhold',
+	menu: 'Egenskaber for billede',
+	resetSize: 'Nulstil stÃžrrelse',
+	title: 'Egenskaber for billede',
+	titleButton: 'Egenskaber for billedknap',
+	upload: 'Upload',
+	urlMissing: 'Kilde pÃ¥ billed-URL mangler',
+	vSpace: 'Lodret margen',
+	validateBorder: 'Kant skal vÃŠre et helt nummer.',
+	validateHSpace: 'HSpace skal vÃŠre et helt nummer.',
+	validateVSpace: 'VSpace skal vÃŠre et helt nummer.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/de-ch.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/de-ch.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/de-ch.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'de-ch', {
+	alt: 'Alternativer Text',
+	border: 'Rahmen',
+	btnUpload: 'Zum Server senden',
+	button2Img: 'MÃ¶chten Sie die ausgewÃ€hlte BildschaltflÃ€che in ein einfaches Bild umwandeln?',
+	hSpace: 'Horizontal-Abstand',
+	img2Button: 'MÃ¶chten Sie das ausgewÃ€hlte Bild in eine BildschaltflÃ€che umwandeln?',
+	infoTab: 'Bildinfo',
+	linkTab: 'Link',
+	lockRatio: 'GrÃ¶ssenverhÃ€ltnis beibehalten',
+	menu: 'Bildeigenschaften',
+	resetSize: 'GrÃ¶sse zurÃŒcksetzen',
+	title: 'Bildeigenschaften',
+	titleButton: 'BildschaltflÃ€cheneigenschaften',
+	upload: 'Hochladen',
+	urlMissing: 'Bildquellen-URL fehlt.',
+	vSpace: 'Vertikal-Abstand',
+	validateBorder: 'Rahmen muss eine ganze Zahl sein.',
+	validateHSpace: 'Horizontal-Abstand muss eine ganze Zahl sein.',
+	validateVSpace: 'Vertikal-Abstand muss eine ganze Zahl sein.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/de.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/de.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/de.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'de', {
+	alt: 'Alternativer Text',
+	border: 'Rahmen',
+	btnUpload: 'Zum Server senden',
+	button2Img: 'MÃ¶chten Sie die ausgewÃ€hlte BildschaltflÃ€che in ein einfaches Bild umwandeln?',
+	hSpace: 'Horizontal-Abstand',
+	img2Button: 'MÃ¶chten Sie das ausgewÃ€hlte Bild in eine BildschaltflÃ€che umwandeln?',
+	infoTab: 'Bildinfo',
+	linkTab: 'Link',
+	lockRatio: 'GrÃ¶ÃenverhÃ€ltnis beibehalten',
+	menu: 'Bildeigenschaften',
+	resetSize: 'GrÃ¶Ãe zurÃŒcksetzen',
+	title: 'Bildeigenschaften',
+	titleButton: 'BildschaltflÃ€cheneigenschaften',
+	upload: 'Hochladen',
+	urlMissing: 'Bildquellen-URL fehlt.',
+	vSpace: 'Vertikal-Abstand',
+	validateBorder: 'Rahmen muss eine ganze Zahl sein.',
+	validateHSpace: 'Horizontal-Abstand muss eine ganze Zahl sein.',
+	validateVSpace: 'Vertikal-Abstand muss eine ganze Zahl sein.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/el.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/el.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/el.js	(revision 32438)
@@ -0,0 +1,30 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'el', {
+	alt: 'ÎÎœÎ±Î»Î»Î±ÎºÏÎ¹ÎºÏ ÎÎµÎ¯ÎŒÎµÎœÎ¿',
+	border: 'Î ÎµÏÎ¯Î³ÏÎ±ÎŒÎŒÎ±',
+	btnUpload: 'ÎÏÎ¿ÏÏÎ¿Î»Î® ÏÏÎ¿Îœ ÎÎ¹Î±ÎºÎ¿ÎŒÎ¹ÏÏÎ®',
+	button2Img: 'ÎÎ­Î»ÎµÏÎµ ÎœÎ± ÎŒÎµÏÎ±ÏÏÎ­ÏÎµÏÎµ ÏÎ¿ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ¿ ÎºÎ¿Ï
+ÎŒÏÎ¯ ÎµÎ¹ÎºÏÎœÎ±Ï ÏÎµ Î±ÏÎ»Î® ÎµÎ¹ÎºÏÎœÎ±;',
+	hSpace: 'HSpace',
+	img2Button: 'ÎÎ­Î»ÎµÏÎµ ÎœÎ± ÎŒÎµÏÎ±ÎŒÎ¿ÏÏÏÏÎµÏÎµ ÏÎ·Îœ ÎµÏÎ¹Î»ÎµÎ³ÎŒÎ­ÎœÎ· ÎµÎ¹ÎºÏÎœÎ± ÏÎ¿Ï
+ ÎµÎ¯ÎœÎ±Î¹ ÏÎ¬ÎœÏ ÏÎµ Î­ÎœÎ± ÎºÎ¿Ï
+ÎŒÏÎ¯;',
+	infoTab: 'Î Î»Î·ÏÎ¿ÏÎ¿ÏÎ¯ÎµÏ ÎÎ¹ÎºÏÎœÎ±Ï',
+	linkTab: 'Î£ÏÎœÎŽÎµÏÎŒÎ¿Ï',
+	lockRatio: 'ÎÎ»ÎµÎ¯ÎŽÏÎŒÎ± ÎÎœÎ±Î»Î¿Î³Î¯Î±Ï',
+	menu: 'ÎÎŽÎ¹ÏÏÎ·ÏÎµÏ ÎÎ¹ÎºÏÎœÎ±Ï',
+	resetSize: 'ÎÏÎ±ÎœÎ±ÏÎ¿ÏÎ¬ ÎÏÏÎ¹ÎºÎ¿Ï ÎÎµÎ³Î­ÎžÎ¿Ï
+Ï',
+	title: 'ÎÎŽÎ¹ÏÏÎ·ÏÎµÏ ÎÎ¹ÎºÏÎœÎ±Ï',
+	titleButton: 'ÎÎŽÎ¹ÏÏÎ·ÏÎµÏ ÎÎ¿Ï
+ÎŒÏÎ¹Î¿Ï ÎÎ¹ÎºÏÎœÎ±Ï',
+	upload: 'ÎÏÎ¿ÏÏÎ¿Î»Î®',
+	urlMissing: 'Î€Î¿ URL ÏÎ·Î³Î®Ï Î³Î¹Î± ÏÎ·Îœ ÎµÎ¹ÎºÏÎœÎ± Î»ÎµÎ¯ÏÎµÎ¹.',
+	vSpace: 'VSpace',
+	validateBorder: 'Î€Î¿ ÏÎµÏÎ¯Î³ÏÎ±ÎŒÎŒÎ± ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ Î­ÎœÎ±Ï Î±ÎºÎ­ÏÎ±Î¹Î¿Ï Î±ÏÎ¹ÎžÎŒÏÏ.',
+	validateHSpace: 'Î€Î¿ HSpace ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ Î­ÎœÎ±Ï Î±ÎºÎ­ÏÎ±Î¹Î¿Ï Î±ÏÎ¹ÎžÎŒÏÏ.',
+	validateVSpace: 'Î€Î¿ VSpace ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ Î­ÎœÎ±Ï Î±ÎºÎ­ÏÎ±Î¹Î¿Ï Î±ÏÎ¹ÎžÎŒÏÏ.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en-au.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en-au.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en-au.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'en-au', {
+	alt: 'Alternative Text',
+	border: 'Border',
+	btnUpload: 'Send it to the Server',
+	button2Img: 'Do you want to transform the selected image button on a simple image?',
+	hSpace: 'HSpace',
+	img2Button: 'Do you want to transform the selected image on a image button?',
+	infoTab: 'Image Info',
+	linkTab: 'Link',
+	lockRatio: 'Lock Ratio',
+	menu: 'Image Properties',
+	resetSize: 'Reset Size',
+	title: 'Image Properties',
+	titleButton: 'Image Button Properties',
+	upload: 'Upload',
+	urlMissing: 'Image source URL is missing.',
+	vSpace: 'VSpace',
+	validateBorder: 'Border must be a whole number.',
+	validateHSpace: 'HSpace must be a whole number.',
+	validateVSpace: 'VSpace must be a whole number.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en-ca.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en-ca.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en-ca.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'en-ca', {
+	alt: 'Alternative Text',
+	border: 'Border',
+	btnUpload: 'Send it to the Server',
+	button2Img: 'Do you want to transform the selected image button on a simple image?',
+	hSpace: 'HSpace',
+	img2Button: 'Do you want to transform the selected image on a image button?',
+	infoTab: 'Image Info',
+	linkTab: 'Link',
+	lockRatio: 'Lock Ratio',
+	menu: 'Image Properties',
+	resetSize: 'Reset Size',
+	title: 'Image Properties',
+	titleButton: 'Image Button Properties',
+	upload: 'Upload',
+	urlMissing: 'Image source URL is missing.', // MISSING
+	vSpace: 'VSpace',
+	validateBorder: 'Border must be a whole number.', // MISSING
+	validateHSpace: 'HSpace must be a whole number.', // MISSING
+	validateVSpace: 'VSpace must be a whole number.' // MISSING
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en-gb.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en-gb.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en-gb.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'en-gb', {
+	alt: 'Alternative Text',
+	border: 'Border',
+	btnUpload: 'Send it to the Server',
+	button2Img: 'Do you want to transform the selected image button on a simple image?',
+	hSpace: 'HSpace',
+	img2Button: 'Do you want to transform the selected image on a image button?',
+	infoTab: 'Image Info',
+	linkTab: 'Link',
+	lockRatio: 'Lock Ratio',
+	menu: 'Image Properties',
+	resetSize: 'Reset Size',
+	title: 'Image Properties',
+	titleButton: 'Image Button Properties',
+	upload: 'Upload',
+	urlMissing: 'Image source URL is missing.',
+	vSpace: 'VSpace',
+	validateBorder: 'Border must be a whole number.',
+	validateHSpace: 'HSpace must be a whole number.',
+	validateVSpace: 'VSpace must be a whole number.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/en.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'en', {
+	alt: 'Alternative Text',
+	border: 'Border',
+	btnUpload: 'Send it to the Server',
+	button2Img: 'Do you want to transform the selected image button on a simple image?',
+	hSpace: 'HSpace',
+	img2Button: 'Do you want to transform the selected image on a image button?',
+	infoTab: 'Image Info',
+	linkTab: 'Link',
+	lockRatio: 'Lock Ratio',
+	menu: 'Image Properties',
+	resetSize: 'Reset Size',
+	title: 'Image Properties',
+	titleButton: 'Image Button Properties',
+	upload: 'Upload',
+	urlMissing: 'Image source URL is missing.',
+	vSpace: 'VSpace',
+	validateBorder: 'Border must be a whole number.',
+	validateHSpace: 'HSpace must be a whole number.',
+	validateVSpace: 'VSpace must be a whole number.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/eo.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/eo.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/eo.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'eo', {
+	alt: 'AnstataÅ­iga Teksto',
+	border: 'Bordero',
+	btnUpload: 'Sendu al Servilo',
+	button2Img: 'Äu vi volas transformi la selektitan bildbutonon en simplan bildon?',
+	hSpace: 'Horizontala Spaco',
+	img2Button: 'Äu vi volas transformi la selektitan bildon en bildbutonon?',
+	infoTab: 'Informoj pri Bildo',
+	linkTab: 'Ligilo',
+	lockRatio: 'Konservi Proporcion',
+	menu: 'Atributoj de Bildo',
+	resetSize: 'Origina Grando',
+	title: 'Atributoj de Bildo',
+	titleButton: 'Bildbutonaj Atributoj',
+	upload: 'AlÅuti',
+	urlMissing: 'La fontretadreso de la bildo mankas.',
+	vSpace: 'Vertikala Spaco',
+	validateBorder: 'La bordero devas esti entjera nombro.',
+	validateHSpace: 'La horizontala spaco devas esti entjera nombro.',
+	validateVSpace: 'La vertikala spaco devas esti entjera nombro.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/es-mx.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/es-mx.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/es-mx.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'es-mx', {
+	alt: 'Texto alternativo',
+	border: 'Borde',
+	btnUpload: 'Enviar al servidor',
+	button2Img: 'Â¿Desea transformar el botÃ³n de imagen seleccionado en una imagen simple?',
+	hSpace: 'Espacio horizontal',
+	img2Button: 'Â¿Desea transformar la imagen seleccionada en un botÃ³n de imagen?',
+	infoTab: 'InformaciÃ³n de imagen',
+	linkTab: 'Enlace',
+	lockRatio: 'Bloquear aspecto',
+	menu: 'Propiedades de la imagen',
+	resetSize: 'Reiniciar tamaÃ±o',
+	title: 'Propiedades de la imagen',
+	titleButton: 'Propiedades del botÃ³n de imagen',
+	upload: 'Cargar',
+	urlMissing: 'Falta la URL de origen de la imagen.',
+	vSpace: 'Espacio vertical',
+	validateBorder: 'El borde debe ser un nÃºmero entero.',
+	validateHSpace: 'El espacio horizontal debe ser un nÃºmero entero.',
+	validateVSpace: 'El espacio vertical debe ser un nÃºmero entero.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/es.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/es.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/es.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'es', {
+	alt: 'Texto Alternativo',
+	border: 'Borde',
+	btnUpload: 'Enviar al Servidor',
+	button2Img: 'Â¿Desea convertir el botÃ³n de imagen en una simple imagen?',
+	hSpace: 'Esp.Horiz',
+	img2Button: 'Â¿Desea convertir la imagen en un botÃ³n de imagen?',
+	infoTab: 'InformaciÃ³n de Imagen',
+	linkTab: 'VÃ­nculo',
+	lockRatio: 'Proporcional',
+	menu: 'Propiedades de Imagen',
+	resetSize: 'TamaÃ±o Original',
+	title: 'Propiedades de Imagen',
+	titleButton: 'Propiedades de BotÃ³n de Imagen',
+	upload: 'Cargar',
+	urlMissing: 'Debe indicar la URL de la imagen.',
+	vSpace: 'Esp.Vert',
+	validateBorder: 'El borde debe ser un nÃºmero.',
+	validateHSpace: 'El espaciado horizontal debe ser un nÃºmero.',
+	validateVSpace: 'El espaciado vertical debe ser un nÃºmero.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/et.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/et.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/et.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'et', {
+	alt: 'Alternatiivne tekst',
+	border: 'Joon',
+	btnUpload: 'Saada serverisse',
+	button2Img: 'Kas tahad teisendada valitud pildiga nupu tavaliseks pildiks?',
+	hSpace: 'H. vaheruum',
+	img2Button: 'Kas tahad teisendada valitud tavalise pildi pildiga nupuks?',
+	infoTab: 'Pildi info',
+	linkTab: 'Link',
+	lockRatio: 'Lukusta kuvasuhe',
+	menu: 'Pildi omadused',
+	resetSize: 'LÃ€htesta suurus',
+	title: 'Pildi omadused',
+	titleButton: 'Piltnupu omadused',
+	upload: 'Lae ÃŒles',
+	urlMissing: 'Pildi lÃ€hte-URL on puudu.',
+	vSpace: 'V. vaheruum',
+	validateBorder: 'ÃÃ€rise laius peab olema tÃ€isarv.',
+	validateHSpace: 'Horisontaalne vaheruum peab olema tÃ€isarv.',
+	validateVSpace: 'Vertikaalne vaheruum peab olema tÃ€isarv.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/eu.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/eu.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/eu.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'eu', {
+	alt: 'Ordezko testua',
+	border: 'Ertza',
+	btnUpload: 'Bidali zerbitzarira',
+	button2Img: 'Hautatutako irudi-botoia irudi arrunt bihurtu nahi duzu?',
+	hSpace: 'HSpace',
+	img2Button: 'Hautatutako irudia irudi-botoi bihurtu nahi duzu?',
+	infoTab: 'Irudiaren informazioa',
+	linkTab: 'Esteka',
+	lockRatio: 'Blokeatu erlazioa',
+	menu: 'Irudiaren propietateak',
+	resetSize: 'Berrezarri tamaina',
+	title: 'Irudiaren propietateak',
+	titleButton: 'Irudi-botoiaren propietateak',
+	upload: 'Kargatu',
+	urlMissing: 'Irudiaren iturburuaren URLa falta da.',
+	vSpace: 'VSpace',
+	validateBorder: 'Ertza zenbaki oso bat izan behar da.',
+	validateHSpace: 'HSpace zenbaki oso bat izan behar da.',
+	validateVSpace: 'VSpace zenbaki oso bat izan behar da.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fa.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fa.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fa.js	(revision 32438)
@@ -0,0 +1,36 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'fa', {
+	alt: 'Ù
+ØªÙ Ø¬Ø§ÛÚ¯Ø²ÛÙ',
+	border: 'ÙØšÙ',
+	btnUpload: 'ØšÙ Ø³Ø±ÙØ± ØšÙØ±Ø³Øª',
+	button2Img: 'Ø¢ÛØ§ Ù
+Ø§ÛÙÛØ¯ Ø§Ø² ÛÚ© ØªØµÙÛØ± Ø³Ø§Ø¯Ù Ø±ÙÛ Ø¯Ú©Ù
+Ù ØªØµÙÛØ±Û Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯Ø',
+	hSpace: 'ÙØ§ØµÙÙÙŽ Ø§ÙÙÛ',
+	img2Button: 'Ø¢ÛØ§ Ù
+Ø§ÛÙÛØ¯ Ø§Ø² ÛÚ© Ø¯Ú©Ù
+Ù ØªØµÙÛØ±Û Ø±ÙÛ ØªØµÙÛØ± Ø§ÙØªØ®Ø§Øš ØŽØ¯Ù Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯Ø',
+	infoTab: 'Ø§Ø·ÙØ§Ø¹Ø§Øª ØªØµÙÛØ±',
+	linkTab: 'ÙŸÛÙÙØ¯',
+	lockRatio: 'ÙÙÙ Ú©Ø±Ø¯Ù ÙØ³ØšØª',
+	menu: 'ÙÛÚÚ¯ÛâÙØ§Û ØªØµÙÛØ±',
+	resetSize: 'ØšØ§Ø²ÙØŽØ§ÙÛ Ø§ÙØ¯Ø§Ø²Ù',
+	title: 'ÙÛÚÚ¯ÛâÙØ§Û ØªØµÙÛØ±',
+	titleButton: 'ÙÛÚÚ¯ÛâÙØ§Û Ø¯Ú©Ù
+ÙÙŽ ØªØµÙÛØ±Û',
+	upload: 'Ø§ÙØªÙØ§Ù ØšÙ Ø³Ø±ÙØ±',
+	urlMissing: 'Ø¢Ø¯Ø±Ø³ URL Ø§ØµÙÛ ØªØµÙÛØ± ÛØ§ÙØª ÙØŽØ¯.',
+	vSpace: 'ÙØ§ØµÙÙÙŽ Ø¹Ù
+ÙØ¯Û',
+	validateBorder: 'Ù
+ÙØ¯Ø§Ø± Ø®Ø·ÙØ· ØšØ§ÛØ¯ ÛÚ© Ø¹Ø¯Ø¯ ØšØ§ØŽØ¯.',
+	validateHSpace: 'Ù
+ÙØ¯Ø§Ø± ÙØ§ØµÙÙ Ú¯Ø°Ø§Ø±Û Ø§ÙÙÛ ØšØ§ÛØ¯ ÛÚ© Ø¹Ø¯Ø¯ ØšØ§ØŽØ¯.',
+	validateVSpace: 'Ù
+ÙØ¯Ø§Ø± ÙØ§ØµÙÙ Ú¯Ø°Ø§Ø±Û Ø¹Ù
+ÙØ¯Û ØšØ§ÛØ¯ ÛÚ© Ø¹Ø¯Ø¯ ØšØ§ØŽØ¯.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fi.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fi.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fi.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'fi', {
+	alt: 'Vaihtoehtoinen teksti',
+	border: 'Kehys',
+	btnUpload: 'LÃ€hetÃ€ palvelimelle',
+	button2Img: 'Haluatko muuntaa valitun kuvanÃ€ppÃ€imen kuvaksi?',
+	hSpace: 'Vaakatila',
+	img2Button: 'Haluatko muuntaa valitun kuvan kuvanÃ€ppÃ€imeksi?',
+	infoTab: 'Kuvan tiedot',
+	linkTab: 'Linkki',
+	lockRatio: 'Lukitse suhteet',
+	menu: 'Kuvan ominaisuudet',
+	resetSize: 'AlkuperÃ€inen koko',
+	title: 'Kuvan ominaisuudet',
+	titleButton: 'Kuvapainikkeen ominaisuudet',
+	upload: 'LisÃ€Ã€ kuva',
+	urlMissing: 'Kuvan lÃ€hdeosoite puuttuu.',
+	vSpace: 'Pystytila',
+	validateBorder: 'Kehyksen tÃ€ytyy olla kokonaisluku.',
+	validateHSpace: 'HSpace-mÃ€Ã€rityksen tÃ€ytyy olla kokonaisluku.',
+	validateVSpace: 'VSpace-mÃ€Ã€rityksen tÃ€ytyy olla kokonaisluku.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fo.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fo.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fo.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'fo', {
+	alt: 'Alternativur tekstur',
+	border: 'Bordi',
+	btnUpload: 'Send til ambÃŠtaran',
+	button2Img: 'Skal valdi myndaknÃžttur gerast til vanliga mynd?',
+	hSpace: 'HÃžgri breddi',
+	img2Button: 'Skal valda mynd gerast til myndaknÃžtt?',
+	infoTab: 'MyndaupplÃœsingar',
+	linkTab: 'TilknÃœti',
+	lockRatio: 'LÃŠs lutfalliÃ°',
+	menu: 'Myndaeginleikar',
+	resetSize: 'UpprunastÃždd',
+	title: 'Myndaeginleikar',
+	titleButton: 'Eginleikar fyri myndaknÃžtt',
+	upload: 'Send',
+	urlMissing: 'URL til mynd manglar.',
+	vSpace: 'Vinstri breddi',
+	validateBorder: 'Bordi mÃ¡ vera eitt heiltal.',
+	validateHSpace: 'HSpace mÃ¡ vera eitt heiltal.',
+	validateVSpace: 'VSpace mÃ¡ vera eitt heiltal.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fr-ca.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fr-ca.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fr-ca.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'fr-ca', {
+	alt: 'Texte alternatif',
+	border: 'Bordure',
+	btnUpload: 'Envoyer sur le serveur',
+	button2Img: 'DÃ©sirez-vous transformer l\'image sÃ©lectionnÃ©e en image simple?',
+	hSpace: 'Espacement horizontal',
+	img2Button: 'DÃ©sirez-vous transformer l\'image sÃ©lectionnÃ©e en bouton image?',
+	infoTab: 'Informations sur l\'image',
+	linkTab: 'Lien',
+	lockRatio: 'Verrouiller les proportions',
+	menu: 'PropriÃ©tÃ©s de l\'image',
+	resetSize: 'Taille originale',
+	title: 'PropriÃ©tÃ©s de l\'image',
+	titleButton: 'PropriÃ©tÃ©s du bouton image',
+	upload: 'TÃ©lÃ©verser',
+	urlMissing: 'L\'URL de la source de l\'image est manquant.',
+	vSpace: 'Espacement vertical',
+	validateBorder: 'La bordure doit Ãªtre un entier.',
+	validateHSpace: 'L\'espacement horizontal doit Ãªtre un entier.',
+	validateVSpace: 'L\'espacement vertical doit Ãªtre un entier.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fr.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fr.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/fr.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'fr', {
+	alt: 'Texte alternatif',
+	border: 'Bordure',
+	btnUpload: 'Envoyer sur le serveur',
+	button2Img: 'Voulez-vous transformer le bouton avec image sÃ©lectionnÃ© en simple imageÂ ?',
+	hSpace: 'Espacement horizontal',
+	img2Button: 'Voulez-vous transformer l\'image sÃ©lectionnÃ©e en bouton avec imageÂ ?',
+	infoTab: 'Informations sur l\'image',
+	linkTab: 'Lien',
+	lockRatio: 'Conserver les proportions',
+	menu: 'PropriÃ©tÃ©s de l\'image',
+	resetSize: 'RÃ©initialiser la taille',
+	title: 'PropriÃ©tÃ©s de l\'image',
+	titleButton: 'PropriÃ©tÃ©s du bouton avec image',
+	upload: 'TÃ©lÃ©verser',
+	urlMissing: 'L\'URL source de l\'image est manquante.',
+	vSpace: 'Espacement vertical',
+	validateBorder: 'La bordure doit Ãªtre un nombre entier.',
+	validateHSpace: 'L\'espacement horizontal doit Ãªtre un nombre entier.',
+	validateVSpace: 'L\'espacement vertical doit Ãªtre un nombre entier.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/gl.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/gl.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/gl.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'gl', {
+	alt: 'Texto alternativo',
+	border: 'Bordo',
+	btnUpload: 'Enviar ao servidor',
+	button2Img: 'Quere converter o botÃ³n da imaxe seleccionada nunha imaxe sinxela?',
+	hSpace: 'Esp.Horiz.',
+	img2Button: 'Quere converter a imaxe seleccionada nun botÃ³n de imaxe?',
+	infoTab: 'InformaciÃ³n da imaxe',
+	linkTab: 'LigazÃ³n',
+	lockRatio: 'Proporcional',
+	menu: 'Propiedades da imaxe',
+	resetSize: 'TamaÃ±o orixinal',
+	title: 'Propiedades da imaxe',
+	titleButton: 'Propiedades do botÃ³n de imaxe',
+	upload: 'Cargar',
+	urlMissing: 'Non se atopa o URL da imaxe.',
+	vSpace: 'Esp.Vert.',
+	validateBorder: 'O bordo debe ser un nÃºmero.',
+	validateHSpace: 'O espazado horizontal debe ser un nÃºmero.',
+	validateVSpace: 'O espazado vertical debe ser un nÃºmero.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/gu.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/gu.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/gu.js	(revision 32438)
@@ -0,0 +1,26 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'gu', {
+	alt: 'àªàª²à«àªàª°à«àªšàª àªà«àªà«àªžà«àª',
+	border: 'àª¬à«àª°à«àª¡àª°',
+	btnUpload: 'àª àªžàª°à«àªµàª°àªšà« àª®à«àªàª²àªµà«àª',
+	button2Img: 'àª€àª®àªŸàª°à« àªàª®à«àª àª¬àªàªšàªšà« àªžàªŸàªŠà« àªàª®à«àªàª®àªŸàª àª¬àªŠàª²àªµà«àª àªà«.',
+	hSpace: 'àªžàª®àªžà«àª€àª°à«àª¯ àªàªà«àª¯àªŸ',
+	img2Button: 'àª€àª®àªŸàª°à« àªžàªŸàªŠà« àªàª®à«àªàªšà« àªàª®à«àª àª¬àªàªšàª®àªŸàª àª¬àªŠàª²àªµà«àª àªà«.',
+	infoTab: 'àªàª¿àª€à«àª° àªšà« àªàªŸàª£àªàªŸàª°à«',
+	linkTab: 'àª²àª¿àªàª',
+	lockRatio: 'àª²à«àª àªà«àª£à«àª€à«àª€àª°',
+	menu: 'àªàª¿àª€à«àª°àªšàªŸ àªà«àª£',
+	resetSize: 'àª°à«àªžà«àª àªžàªŸàªàª',
+	title: 'àªàª¿àª€à«àª°àªšàªŸ àªà«àª£',
+	titleButton: 'àªàª¿àª€à«àª° àª¬àªàªšàªšàªŸ àªà«àª£',
+	upload: 'àª
+àªªàª²à«àª¡',
+	urlMissing: 'àªàª®à«àªàªšà« àª®à«àª³ URL àªà« àªšàª¹à«.',
+	vSpace: 'àª²àªàª¬àª°à«àªª àªàªà«àª¯àªŸ',
+	validateBorder: 'àª¬à«àª°à«àª¡à«àª° àªàªàªàª¡à« àª¹à«àªµà« àªà«àªàª.',
+	validateHSpace: 'HSpaceàªàªàªàª¡à« àª¹à«àªµà« àªà«àªàª.',
+	validateVSpace: 'VSpace àªàªàªàª¡à« àª¹à«àªµà« àªà«àªàª. '
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/he.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/he.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/he.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'he', {
+	alt: '××§×¡× ××××€×',
+	border: '××¡××š×ª',
+	btnUpload: '×©×××× ××©×š×ª',
+	button2Img: '××× ×××€×× ××ª ×ª××× ×ª ×××€×ª××š ××ª××× × ×€×©×××?',
+	hSpace: '××š××× ×××€×§×',
+	img2Button: '××× ×××€×× ××ª ××ª××× × ×××€×ª××š ×ª××× ×?',
+	infoTab: '××××¢ ×¢× ××ª××× ×',
+	linkTab: '×§××©××š',
+	lockRatio: '× ×¢×××ª ××××¡',
+	menu: '×ª××× ××ª ××ª××× ×',
+	resetSize: '×××€××¡ ×××××',
+	title: '×××€××× × ××ª××× ×',
+	titleButton: '×××€×× × ××€×ª××š ×ª××× ×',
+	upload: '××¢×××',
+	urlMissing: '××ª×××ª ××ª××× × ××¡×š×.',
+	vSpace: '××š××× ×× ××',
+	validateBorder: '×©×× ×××¡××š×ª ×××× ×××××ª ××¡×€×š ×©××.',
+	validateHSpace: '×©×× ×××š××× ××××€×§× ×××× ×××××ª ××¡×€×š ×©××.',
+	validateVSpace: '×©×× ×××š××× ××× ×× ×××× ×××××ª ××¡×€×š ×©××.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/hi.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/hi.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/hi.js	(revision 32438)
@@ -0,0 +1,28 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'hi', {
+	alt: 'à€µà¥à€à€²à¥à€ªà€¿à€ à€à¥à€à¥à€žà¥à€',
+	border: 'à€¬à¥à€°à¥à€¡à€°',
+	btnUpload: 'à€à€žà¥ à€žà€°à¥à€µà€° à€à¥ à€­à¥à€à¥à€',
+	button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING
+	hSpace: 'à€¹à¥à€°à€¿à¥à¥à€šà¥à€à€² à€žà¥à€ªà¥à€ž',
+	img2Button: 'Do you want to transform the selected image on a image button?', // MISSING
+	infoTab: 'à€€à€žà¥à€µà¥à€° à€à¥ à€à€Ÿà€šà€à€Ÿà€°à¥',
+	linkTab: 'à€²à€¿à€à€',
+	lockRatio: 'à€²à¥à€ à€
+à€šà¥à€ªà€Ÿà€€',
+	menu: 'à€€à€žà¥à€µà¥à€° à€ªà¥à€°à¥à€ªà€°à¥à€à¥à¥',
+	resetSize: 'à€°à¥à€žà¥
+à€ à€žà€Ÿà€à¥',
+	title: 'à€€à€žà¥à€µà¥à€° à€ªà¥à€°à¥à€ªà€°à¥à€à¥à¥',
+	titleButton: 'à€€à€žà¥à€µà¥à€° à€¬à€à€š à€ªà¥à€°à¥à€ªà€°à¥à€à¥à¥',
+	upload: 'à€
+à€ªà€²à¥à€¡',
+	urlMissing: 'Image source URL is missing.', // MISSING
+	vSpace: 'à€µà€°à¥à€à€¿à€à€² à€žà¥à€ªà¥à€ž',
+	validateBorder: 'Border must be a whole number.', // MISSING
+	validateHSpace: 'HSpace must be a whole number.', // MISSING
+	validateVSpace: 'VSpace must be a whole number.' // MISSING
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/hr.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/hr.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/hr.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'hr', {
+	alt: 'Alternativni tekst',
+	border: 'Okvir',
+	btnUpload: 'PoÅ¡alji na server',
+	button2Img: 'Åœelite li promijeniti odabrani gumb u jednostavnu sliku?',
+	hSpace: 'HSpace',
+	img2Button: 'Åœelite li promijeniti odabranu sliku u gumb?',
+	infoTab: 'Info slike',
+	linkTab: 'Veza',
+	lockRatio: 'ZakljuÄaj odnos',
+	menu: 'Svojstva slika',
+	resetSize: 'ObriÅ¡i veliÄinu',
+	title: 'Svojstva slika',
+	titleButton: 'Image Button svojstva',
+	upload: 'PoÅ¡alji',
+	urlMissing: 'Nedostaje URL slike.',
+	vSpace: 'VSpace',
+	validateBorder: 'Okvir mora biti cijeli broj.',
+	validateHSpace: 'HSpace mora biti cijeli broj',
+	validateVSpace: 'VSpace mora biti cijeli broj.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/hu.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/hu.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/hu.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'hu', {
+	alt: 'AlternatÃ­v szÃ¶veg',
+	border: 'Keret',
+	btnUpload: 'KÃŒldÃ©s a szerverre',
+	button2Img: 'A kivÃ¡lasztott kÃ©pgombbÃ³l sima kÃ©pet szeretne csinÃ¡lni?',
+	hSpace: 'VÃ­zsz. tÃ¡v',
+	img2Button: 'A kivÃ¡lasztott kÃ©pbÅl kÃ©pgombot szeretne csinÃ¡lni?',
+	infoTab: 'AlaptulajdonsÃ¡gok',
+	linkTab: 'HivatkozÃ¡s',
+	lockRatio: 'ArÃ¡ny megtartÃ¡sa',
+	menu: 'KÃ©p tulajdonsÃ¡gai',
+	resetSize: 'Eredeti mÃ©ret',
+	title: 'KÃ©p tulajdonsÃ¡gai',
+	titleButton: 'KÃ©pgomb tulajdonsÃ¡gai',
+	upload: 'FeltÃ¶ltÃ©s',
+	urlMissing: 'HiÃ¡nyzik a kÃ©p URL-je',
+	vSpace: 'FÃŒgg. tÃ¡v',
+	validateBorder: 'A keret mÃ©retÃ©nek egÃ©sz szÃ¡mot kell beÃ­rni!',
+	validateHSpace: 'VÃ­zszintes tÃ¡volsÃ¡gnak egÃ©sz szÃ¡mot kell beÃ­rni!',
+	validateVSpace: 'FÃŒggÅleges tÃ¡volsÃ¡gnak egÃ©sz szÃ¡mot kell beÃ­rni!'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/id.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/id.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/id.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'id', {
+	alt: 'Teks alternatif',
+	border: 'Batas',
+	btnUpload: 'Kirim ke Server',
+	button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING
+	hSpace: 'HSpace', // MISSING
+	img2Button: 'Apakah anda ingin mengubah gambar yang dipilih pada tombol gambar?',
+	infoTab: 'Info Gambar',
+	linkTab: 'Tautan',
+	lockRatio: 'Lock Ratio', // MISSING
+	menu: 'Image Properties', // MISSING
+	resetSize: 'Atur Ulang Ukuran',
+	title: 'Image Properties', // MISSING
+	titleButton: 'Image Button Properties', // MISSING
+	upload: 'Unggah',
+	urlMissing: 'Image source URL is missing.', // MISSING
+	vSpace: 'VSpace',
+	validateBorder: 'Border harus berupa angka',
+	validateHSpace: 'HSpace harus berupa angka',
+	validateVSpace: 'VSpace must be a whole number.' // MISSING
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/is.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/is.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/is.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'is', {
+	alt: 'BaklÃŠgur texti',
+	border: 'Rammi',
+	btnUpload: 'HlaÃ°a upp',
+	button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING
+	hSpace: 'Vinstri bil',
+	img2Button: 'Do you want to transform the selected image on a image button?', // MISSING
+	infoTab: 'Almennt',
+	linkTab: 'Stikla',
+	lockRatio: 'Festa stÃŠrÃ°arhlutfall',
+	menu: 'Eigindi myndar',
+	resetSize: 'Reikna stÃŠrÃ°',
+	title: 'Eigindi myndar',
+	titleButton: 'Eigindi myndahnapps',
+	upload: 'HlaÃ°a upp',
+	urlMissing: 'Image source URL is missing.', // MISSING
+	vSpace: 'HÃŠgri bil',
+	validateBorder: 'Border must be a whole number.', // MISSING
+	validateHSpace: 'HSpace must be a whole number.', // MISSING
+	validateVSpace: 'VSpace must be a whole number.' // MISSING
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/it.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/it.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/it.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'it', {
+	alt: 'Testo alternativo',
+	border: 'Bordo',
+	btnUpload: 'Invia al server',
+	button2Img: 'Vuoi trasformare il bottone immagine selezionato in un\'immagine semplice?',
+	hSpace: 'HSpace',
+	img2Button: 'Vuoi trasferomare l\'immagine selezionata in un bottone immagine?',
+	infoTab: 'Informazioni immagine',
+	linkTab: 'Collegamento',
+	lockRatio: 'Blocca rapporto',
+	menu: 'ProprietÃ  immagine',
+	resetSize: 'Reimposta dimensione',
+	title: 'ProprietÃ  immagine',
+	titleButton: 'ProprietÃ  bottone immagine',
+	upload: 'Carica',
+	urlMissing: 'Manca l\'URL dell\'immagine.',
+	vSpace: 'VSpace',
+	validateBorder: 'Il campo Bordo deve essere un numero intero.',
+	validateHSpace: 'Il campo HSpace deve essere un numero intero.',
+	validateVSpace: 'Il campo VSpace deve essere un numero intero.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ja.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ja.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ja.js	(revision 32438)
@@ -0,0 +1,32 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'ja', {
+	alt: 'ä»£æ¿ãã­ã¹ã',
+	border: 'æ ç·ã®å¹
+',
+	btnUpload: 'ãµãŒããŒã«éä¿¡',
+	button2Img: 'éžæããç»åãã¿ã³ãç»åã«å€æããŸããïŒ',
+	hSpace: 'æ°Žå¹³éé',
+	img2Button: 'éžæããç»åãç»åãã¿ã³ã«å€æããŸããïŒ',
+	infoTab: 'ç»åæ
+å ±',
+	linkTab: 'ãªã³ã¯',
+	lockRatio: 'æ¯çãåºå®',
+	menu: 'ç»åã®ãã­ããã£',
+	resetSize: 'ãµã€ãºããªã»ãã',
+	title: 'ç»åã®ãã­ããã£',
+	titleButton: 'ç»åãã¿ã³ã®ãã­ããã£',
+	upload: 'ã¢ããã­ãŒã',
+	urlMissing: 'ç»åã®URLãå
+¥åããŠãã ããã',
+	vSpace: 'åçŽéé',
+	validateBorder: 'æ ç·ã®å¹
+ã¯æ°å€ã§å
+¥åããŠãã ããã',
+	validateHSpace: 'æ°Žå¹³ééã¯æ°å€ã§å
+¥åããŠãã ããã',
+	validateVSpace: 'åçŽééã¯æ°å€ã§å
+¥åããŠãã ããã'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ka.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ka.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ka.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'ka', {
+	alt: 'á¡ááááªááá á¢áá¥á¡á¢á',
+	border: 'á©áá á©á',
+	btnUpload: 'á¡áá ááá áá¡áááá¡ áááááááá',
+	button2Img: 'áá¡á£á á áá á©áá£áá á¡á£á áááááá áŠáááááá¡ ááááá¥áªááá á©ááá£áááá áá áŠáááááá?',
+	hSpace: 'á°áá ááááá¢ááá£á á á¡ááá áªá',
+	img2Button: 'áá¡á£á á áá á©áá£áá á©ááá£áááá ááá áŠáááááá¡ ááááá¥áªááá á¡á£á ááááá áŠáááááá?',
+	infoTab: 'á¡á£á áááá¡ ááá€áá ááªáá',
+	linkTab: 'ááá£áá',
+	lockRatio: 'áá áááá áªááá¡ ášáááá á©á£áááá',
+	menu: 'á¡á£á áááá¡ ááá áááá¢á ááá',
+	resetSize: 'ááááá¡ áááá á£áááá',
+	title: 'á¡á£á áááá¡ ááá áááá¢á ááá',
+	titleButton: 'á¡á£á áááááá áŠáááááá¡ ááá áááá¢á ááá',
+	upload: 'áá¢ááá ááá',
+	urlMissing: 'á¡á£á áááá¡ URL áá áá ášááá¡ááá£áá.',
+	vSpace: 'ááá á¢ááááá£á á á¡ááá áªá',
+	validateBorder: 'á©áá á©á ááááá á ááªá®áá á£ááá áá§áá¡.',
+	validateHSpace: 'á°áá ááááá¢ááá£á á á¡ááá áªá ááááá á ááªá®áá á£ááá áá§áá¡.',
+	validateVSpace: 'ááá á¢ááááá£á á á¡ááá áªá ááááá á ááªá®áá á£ááá áá§áá¡.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/km.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/km.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/km.js	(revision 32438)
@@ -0,0 +1,31 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'km', {
+	alt: 'á¢áááááááááœá',
+	border: 'ááá»á',
+	btnUpload: 'ááááŸâáá
+âááá¶ááážáâáááááŸ',
+	button2Img: 'ááŸâá¢áááâá
+ááâáááá¶ááâááááŒáâáááŒáá»áâááŒááá¶áâáááâáá¶áâááááŸá áá
+âááŸâááŒááá¶áâáááááá¶âááœáâááááá?',
+	hSpace: 'ááááá¶áâááááá',
+	img2Button: 'ááŸâá¢áááâá
+ááâáááá¶ááâááááŒáâááŒááá¶áâáááâáá¶áâááááŸá áá
+âááŸâáááŒáá»áâááŒááá¶áâááááá?',
+	infoTab: 'ááááá¶áá¢ááážááŒááá¶á',
+	linkTab: 'ááá',
+	lockRatio: 'á
+á¶ááâááâááâááá',
+	menu: 'ááááááâááŒááá¶á',
+	resetSize: 'áááááááá áá¡áŸááá·á',
+	title: 'ááááááâááŒááá¶á',
+	titleButton: 'ááááááâáááŒáá»áâááŒááá¶á',
+	upload: 'áááá»áá¡áŸá',
+	urlMissing: 'áááá URL áááááâááŒáâáá¶áá',
+	vSpace: 'ááááá¶áâááááá',
+	validateBorder: 'ááá»áâááááŒáâááâáá¶âáááá',
+	validateHSpace: 'ááááá¶áâáááááâááááŒáâááâáá¶âáááá',
+	validateVSpace: 'ááááá¶áâáááááâááááŒáâááâáá¶âáááá'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ko.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ko.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ko.js	(revision 32438)
@@ -0,0 +1,28 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'ko', {
+	alt: 'ëì²Ž ë¬žììŽ',
+	border: 'í
+ëëŠ¬',
+	btnUpload: 'ìë²ë¡ ì ì¡',
+	button2Img: 'ëšì ìŽë¯žì§ìì ì íí ìŽë¯žì§ ë²íŒì ë³ííìê² ìµëê¹?',
+	hSpace: 'ê°ë¡ ì¬ë°±',
+	img2Button: 'ìŽë¯žì§ ë²íŒì ì íí ìŽë¯žì§ë¥Œ ë³ííìê² ìµëê¹?',
+	infoTab: 'ìŽë¯žì§ ì ë³Ž',
+	linkTab: 'ë§í¬',
+	lockRatio: 'ë¹ìš ì ì§',
+	menu: 'ìŽë¯žì§ ìì±',
+	resetSize: 'ìë í¬êž°ë¡',
+	title: 'ìŽë¯žì§ ìì±',
+	titleButton: 'ìŽë¯žì§ ë²íŒ ìì±',
+	upload: 'ì
+ë¡ë',
+	urlMissing: 'ìŽë¯žì§ ìë³ž ì£Œì(URL)ê° ììµëë€.',
+	vSpace: 'ìžë¡ ì¬ë°±',
+	validateBorder: 'í
+ëëŠ¬ ëê»ë ì ìì¬ìŒ í©ëë€.',
+	validateHSpace: 'ê°ë¡ êžžìŽë ì ìì¬ìŒ í©ëë€.',
+	validateVSpace: 'ìžë¡ êžžìŽë ì ìì¬ìŒ í©ëë€.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ku.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ku.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ku.js	(revision 32438)
@@ -0,0 +1,31 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'ku', {
+	alt: 'Ø¬ÛÚ¯Ø±ÛÙÛÛ Ø¯ÛÙ',
+	border: 'ÙŸÛØ±Ø§ÙÛØ²',
+	btnUpload: 'ÙØ§Ø±Ø¯ÙÛ ØšÛ ÚØ§ÚÙ',
+	button2Img: 'ØªÛ Ø¯ÛØªÛÙÛØª Ø¯ÙÚ¯Ù
+ÛÛ ÙÛÙÛÛ Ø¯ÛØ§Ø±ÛÚ©Ø±Ø§Ù ØšÚ¯ÛÚÛØª ØšÛ ÙÛÙÛÛÛÚ©Û ØŠØ§Ø³Ø§ÛÛØ',
+	hSpace: 'ØšÛØŽØ§ÛÛ ØŠØ§Ø³ÛÛÛ',
+	img2Button: 'ØªÛ Ø¯ÛØªÛÙÛØª ÙÛÙÛÛ Ø¯ÛØ§Ø±ÛÚ©Ø±Ø§Ù ØšÚ¯ÛÚÛØª ØšÛ Ø¯ÙÚ¯Ù
+ÛÛ ÙÛÙÙØ',
+	infoTab: 'Ø²Ø§ÙÛØ§Ø±Û ÙÛÙÙ',
+	linkTab: 'ØšÛØ³ØªÛØ±',
+	lockRatio: 'Ø¯Ø§Ø®Ø³ØªÙÛ ÚÛÚÙ',
+	menu: 'Ø®Ø§Ø³ÛÛØªÛ ÙÛÙÙ',
+	resetSize: 'ÚÛÚ©Ø®Ø³ØªÙÛÙÛÛ ÙÛØšØ§Ø±Ù',
+	title: 'Ø®Ø§Ø³ÛÛØªÛ ÙÛÙÙ',
+	titleButton: 'Ø®Ø§Ø³ÛÛØªÛ Ø¯ÙÚ¯Ù
+ÛÛ ÙÛÙÙ',
+	upload: 'ØšØ§Ø±Ú©Ø±Ø¯Ù',
+	urlMissing: 'Ø³ÛØ±ÚØ§ÙÛÛ ØšÛØ³ØªÛØ±Û ÙÛÙÙ ØšØ²Ø±Ù',
+	vSpace: 'ØšÛØŽØ§ÛÛ ØŠÛØ³ØªÙÙÛ',
+	validateBorder: 'ÙŸÛØ±Ø§ÙÛØ² Ø¯ÛØšÛØª ØšÛØªÛÙØ§ÙÛ ØªÛÙÙØ§ ÚÙ
+Ø§Ø±Ù ØšÛØª.',
+	validateHSpace: 'ØšÛØŽØ§ÛÛ ØŠØ§Ø³ÛÛÛ Ø¯ÛØšÛØª ØšÛØªÛÙØ§ÙÛ ØªÛÙÙØ§ ÚÙ
+Ø§Ø±Û ØšÛØª.',
+	validateVSpace: 'ØšÛØŽØ§ÛÛ ØŠÛØ³ØªÙÙÛ Ø¯ÛØšÛØª ØšÛØªÛÙØ§ÙÛ ØªÛÙÙØ§ ÚÙ
+Ø§Ø±Ù ØšÛØª.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/lt.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/lt.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/lt.js	(revision 32438)
@@ -0,0 +1,28 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'lt', {
+	alt: 'Alternatyvus Tekstas',
+	border: 'RÄmelis',
+	btnUpload: 'SiÅ³sti Ä¯ serverÄ¯',
+	button2Img: 'Ar norite mygtukÄ
+ paversti paprastu paveiksliuku?',
+	hSpace: 'Hor.ErdvÄ',
+	img2Button: 'Ar norite paveiksliukÄ
+ paversti mygtuku?',
+	infoTab: 'Vaizdo informacija',
+	linkTab: 'Nuoroda',
+	lockRatio: 'IÅ¡laikyti proporcijÄ
+',
+	menu: 'Vaizdo savybÄs',
+	resetSize: 'Atstatyti dydÄ¯',
+	title: 'Vaizdo savybÄs',
+	titleButton: 'Vaizdinio mygtuko savybÄs',
+	upload: 'NusiÅ³sti',
+	urlMissing: 'Paveiksliuko nuorodos nÄra.',
+	vSpace: 'Vert.ErdvÄ',
+	validateBorder: 'ReikÅ¡mÄ turi bÅ«ti sveikas skaiÄius.',
+	validateHSpace: 'ReikÅ¡mÄ turi bÅ«ti sveikas skaiÄius.',
+	validateVSpace: 'ReikÅ¡mÄ turi bÅ«ti sveikas skaiÄius.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/lv.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/lv.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/lv.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'lv', {
+	alt: 'AlternatÄ«vais teksts',
+	border: 'RÄmis',
+	btnUpload: 'NosÅ«tÄ«t serverim',
+	button2Img: 'Vai vÄlaties pÄrveidot izvÄlÄto attÄla pogu uz attÄla?',
+	hSpace: 'HorizontÄlÄ telpa',
+	img2Button: 'Vai vÄlaties pÄrveidot izvÄlÄto attÄlu uz attÄla pogas?',
+	infoTab: 'InformÄcija par attÄlu',
+	linkTab: 'Hipersaite',
+	lockRatio: 'NemainÄ«ga Augstuma/Platuma attiecÄ«ba',
+	menu: 'AttÄla Ä«paÅ¡Ä«bas',
+	resetSize: 'Atjaunot sÄkotnÄjo izmÄru',
+	title: 'AttÄla Ä«paÅ¡Ä«bas',
+	titleButton: 'AttÄlpogas Ä«paÅ¡Ä«bas',
+	upload: 'AugÅ¡upielÄdÄt',
+	urlMissing: 'TrÅ«kst attÄla atraÅ¡anÄs adrese.',
+	vSpace: 'VertikÄlÄ telpa',
+	validateBorder: 'Apmalei jÄbÅ«t veselam skaitlim',
+	validateHSpace: 'HSpace jÄbÅ«t veselam skaitlim',
+	validateVSpace: 'VSpace jÄbÅ«t veselam skaitlim'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/mk.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/mk.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/mk.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'mk', {
+	alt: 'ÐÐ»ÑÐµÑÐœÐ°ÑÐžÐ²ÐµÐœ ÑÐµÐºÑÑ',
+	border: 'Ð Ð°Ð±',
+	btnUpload: 'ÐÑÐžÐºÐ°ÑÐž ÐœÐ° ÑÐµÑÐ²ÐµÑ',
+	button2Img: 'ÐÐ°Ð»Ðž ÑÐ°ÐºÐ°ÑÐµ ÐŽÐ° ÐœÐ°Ð¿ÑÐ°Ð²ÐžÑÐµ ÑÐ»ÐžÐºÐ°ÑÐ°-ÐºÐŸÐ¿ÑÐµ ÐŽÐ° Ð±ÐžÐŽÐµ ÑÐ°ÐŒÐŸ ÑÐ»ÐžÐºÐ°?',
+	hSpace: 'Ð¥ÐŸÑÐžÐ·ÐŸÐœÑÐ°Ð»ÐµÐœ Ð¿ÑÐŸÑÑÐŸÑ',
+	img2Button: 'ÐÐ°Ð»Ðž ÑÐ°ÐºÐ°ÑÐµ ÐŽÐ° ÑÐ° Ð¿ÑÐµÑÐ²ÐŸÑÐžÑÐµ ÑÐ»ÐžÐºÐ°ÑÐ° Ð²ÐŸ ÑÐ»ÐžÐºÐ°-ÐºÐŸÐ¿ÑÐµ?',
+	infoTab: 'ÐÐœÑÐŸÑÐŒÐ°ÑÐžÐž Ð·Ð° ÑÐ»ÐžÐºÐ°ÑÐ°',
+	linkTab: 'ÐÑÑÐºÐ°',
+	lockRatio: 'ÐÐ°ÑÑÐ²Ð°Ñ Ð¿ÑÐŸÐ¿ÐŸÑÑÐžÑÐ°',
+	menu: 'Ð¡Ð²ÐŸÑÑÑÐ²Ð° ÐœÐ° ÑÐ»ÐžÐºÐ°ÑÐ°',
+	resetSize: 'Ð ÐµÑÐµÑÐžÑÐ°Ñ Ð³ÐŸÐ»ÐµÐŒÐžÐœÐ°',
+	title: 'Ð¡Ð²ÐŸÑÑÑÐ²Ð° ÐœÐ° ÑÐ»ÐžÐºÐ°ÑÐ°',
+	titleButton: 'Ð¡Ð²ÐŸÑÑÑÐ²Ð° ÐœÐ° ÐºÐŸÐ¿ÑÐµ-ÑÐ»ÐžÐºÐ°ÑÐ°',
+	upload: 'ÐÑÐžÐºÐ°ÑÐž',
+	urlMissing: 'ÐÐµÐŽÐŸÑÑÐ°ÑÑÐ²Ð° URL-ÑÐŸ ÐœÐ° ÑÐ»ÐžÐºÐ°ÑÐ°.',
+	vSpace: 'ÐÐµÑÑÐžÐºÐ°Ð»ÐµÐœ Ð¿ÑÐŸÑÑÐŸÑ',
+	validateBorder: 'Ð Ð°Ð±ÐŸÑ ÐŒÐŸÑÐ° ÐŽÐ° Ð±ÐžÐŽÐµ ÑÐµÐ» Ð±ÑÐŸÑ.',
+	validateHSpace: 'Ð¥ÐŸÑ. Ð¿ÑÐŸÑÑÐŸÑ ÐŒÐŸÑÐ° ÐŽÐ° Ð±ÐžÐŽÐµ ÑÐµÐ» Ð±ÑÐŸÑ.',
+	validateVSpace: 'ÐÐµÑÑ. Ð¿ÑÐŸÑÑÐŸÑ ÐŒÐŸÑÐ° ÐŽÐ° Ð±ÐžÐŽÐµ ÑÐµÐ» Ð±ÑÐŸÑ.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/mn.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/mn.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/mn.js	(revision 32438)
@@ -0,0 +1,34 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'mn', {
+	alt: 'ÐÑÑÐ³ÐžÐ¹Ð³ ÐŸÑÐ»ÐŸÑ
+ Ð±ÐžÑÐ²ÑÑ',
+	border: 'Ð¥Ò¯ÑÑÑ',
+	btnUpload: 'Ò®Ò¯ÐœÐžÐ¹Ð³ ÑÐµÑÐ²ÑÑÑÒ¯Ò¯ ÐžÐ»Ð³ÑÑ',
+	button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING
+	hSpace: 'Ð¥Ó©ÐœÐŽÐ»Ó©Ðœ Ð·Ð°Ð¹',
+	img2Button: 'Do you want to transform the selected image on a image button?', // MISSING
+	infoTab: 'ÐÑÑÐ°Ð³ÐœÑ ÐŒÑÐŽÑÑÐ»ÑÐ»',
+	linkTab: 'Ð¥ÐŸÐ»Ð±ÐŸÐŸÑ',
+	lockRatio: 'Ð Ð°ÐŽÐžÐŸ ÑÒ¯Ð³Ð¶ÐžÑ
+',
+	menu: 'ÐÑÑÐ°Ð³',
+	resetSize: 'Ñ
+ÑÐŒÐ¶ÑÑ ÐŽÐ°Ñ
+ÐžÐœ ÐŸÐœÐŸÐŸÑ
+',
+	title: 'ÐÑÑÐ°Ð³',
+	titleButton: 'ÐÑÑÐ³Ð°Ðœ ÑÐŸÐ²ÑÐœÑ ÑÐžÐœÐ¶ ÑÐ°ÐœÐ°Ñ',
+	upload: 'Ð¥ÑÑÐ»Ð°Ñ
+',
+	urlMissing: 'ÐÑÑÐ³ÐžÐ¹Ðœ ÑÑ
+ ÑÑÑÐ²Ð°Ð»Ð¶ÐžÐ¹Ðœ Ñ
+Ð°ÑÐ³ (URL) Ð±Ð°Ð¹Ñ
+Ð³Ò¯Ð¹ Ð±Ð°Ð¹ÐœÐ°.',
+	vSpace: 'ÐÐŸÑÐŸÐŸ Ð·Ð°Ð¹',
+	validateBorder: 'Border must be a whole number.', // MISSING
+	validateHSpace: 'HSpace must be a whole number.', // MISSING
+	validateVSpace: 'VSpace must be a whole number.' // MISSING
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ms.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ms.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ms.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'ms', {
+	alt: 'Text Alternatif',
+	border: 'Border',
+	btnUpload: 'Hantar ke Server',
+	button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING
+	hSpace: 'Ruang Melintang',
+	img2Button: 'Do you want to transform the selected image on a image button?', // MISSING
+	infoTab: 'Info Imej',
+	linkTab: 'Sambungan',
+	lockRatio: 'Tetapkan Nisbah',
+	menu: 'Ciri-ciri Imej',
+	resetSize: 'Saiz Set Semula',
+	title: 'Ciri-ciri Imej',
+	titleButton: 'Ciri-ciri Butang Bergambar',
+	upload: 'Muat Naik',
+	urlMissing: 'Image source URL is missing.', // MISSING
+	vSpace: 'Ruang Menegak',
+	validateBorder: 'Border must be a whole number.', // MISSING
+	validateHSpace: 'HSpace must be a whole number.', // MISSING
+	validateVSpace: 'VSpace must be a whole number.' // MISSING
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/nb.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/nb.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/nb.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'nb', {
+	alt: 'Alternativ tekst',
+	border: 'Ramme',
+	btnUpload: 'Send det til serveren',
+	button2Img: 'Vil du endre den valgte bildeknappen til et vanlig bilde?',
+	hSpace: 'HMarg',
+	img2Button: 'Vil du endre det valgte bildet til en bildeknapp?',
+	infoTab: 'Bildeinformasjon',
+	linkTab: 'Lenke',
+	lockRatio: 'LÃ¥s forhold',
+	menu: 'Bildeegenskaper',
+	resetSize: 'Tilbakestill stÃžrrelse',
+	title: 'Bildeegenskaper',
+	titleButton: 'Egenskaper for bildeknapp',
+	upload: 'Last opp',
+	urlMissing: 'Bildets adresse mangler.',
+	vSpace: 'VMarg',
+	validateBorder: 'Ramme mÃ¥ vÃŠre et heltall.',
+	validateHSpace: 'HMarg mÃ¥ vÃŠre et heltall.',
+	validateVSpace: 'VMarg mÃ¥ vÃŠre et heltall.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/nl.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/nl.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/nl.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'nl', {
+	alt: 'Alternatieve tekst',
+	border: 'Rand',
+	btnUpload: 'Naar server verzenden',
+	button2Img: 'Wilt u de geselecteerde afbeeldingsknop vervangen door een eenvoudige afbeelding?',
+	hSpace: 'HSpace',
+	img2Button: 'Wilt u de geselecteerde afbeelding vervangen door een afbeeldingsknop?',
+	infoTab: 'Informatie afbeelding',
+	linkTab: 'Link',
+	lockRatio: 'Afmetingen vergrendelen',
+	menu: 'Eigenschappen afbeelding',
+	resetSize: 'Afmetingen resetten',
+	title: 'Eigenschappen afbeelding',
+	titleButton: 'Eigenschappen afbeeldingsknop',
+	upload: 'Upload',
+	urlMissing: 'De URL naar de afbeelding ontbreekt.',
+	vSpace: 'VSpace',
+	validateBorder: 'Rand moet een heel nummer zijn.',
+	validateHSpace: 'HSpace moet een heel nummer zijn.',
+	validateVSpace: 'VSpace moet een heel nummer zijn.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/no.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/no.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/no.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'no', {
+	alt: 'Alternativ tekst',
+	border: 'Ramme',
+	btnUpload: 'Send det til serveren',
+	button2Img: 'Vil du endre den valgte bildeknappen til et vanlig bilde?',
+	hSpace: 'HMarg',
+	img2Button: 'Vil du endre det valgte bildet til en bildeknapp?',
+	infoTab: 'Bildeinformasjon',
+	linkTab: 'Lenke',
+	lockRatio: 'LÃ¥s forhold',
+	menu: 'Bildeegenskaper',
+	resetSize: 'Tilbakestill stÃžrrelse',
+	title: 'Bildeegenskaper',
+	titleButton: 'Egenskaper for bildeknapp',
+	upload: 'Last opp',
+	urlMissing: 'Bildets adresse mangler.',
+	vSpace: 'VMarg',
+	validateBorder: 'Ramme mÃ¥ vÃŠre et heltall.',
+	validateHSpace: 'HMarg mÃ¥ vÃŠre et heltall.',
+	validateVSpace: 'VMarg mÃ¥ vÃŠre et heltall.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/oc.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/oc.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/oc.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'oc', {
+	alt: 'TÃšxte alternatiu',
+	border: 'Bordadura',
+	btnUpload: 'Mandar sul servidor',
+	button2Img: 'VolÃštz transformar lo boton amb imatge seleccionat en imatge simple ?',
+	hSpace: 'EspaÃ§ament orizontal',
+	img2Button: 'VolÃštz transformar l\'imatge seleccionat en boton amb imatge ?',
+	infoTab: 'Informacions sus l\'imatge',
+	linkTab: 'Ligam',
+	lockRatio: 'Conservar las proporcions',
+	menu: 'Proprietats de l\'imatge',
+	resetSize: 'ReÃ¯nicializar la talha',
+	title: 'Proprietats de l\'imatge',
+	titleButton: 'Proprietats del boton amb imatge',
+	upload: 'Mandar',
+	urlMissing: 'L\'URL font de l\'imatge es mancanta.',
+	vSpace: 'EspaÃ§ament vertical',
+	validateBorder: 'La bordadura deu Ãšsser un nombre entiÃšr.',
+	validateHSpace: 'L\'espaÃ§ament orizontal deu Ãšsser un nombre entiÃšr.',
+	validateVSpace: 'L\'espaÃ§ament vertical deu Ãšsser un nombre entiÃšr.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/pl.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/pl.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/pl.js	(revision 32438)
@@ -0,0 +1,32 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'pl', {
+	alt: 'Tekst zastÄpczy',
+	border: 'Obramowanie',
+	btnUpload: 'WyÅlij',
+	button2Img: 'Czy chcesz przekonwertowaÄ zaznaczony przycisk graficzny do zwykÅego obrazka?',
+	hSpace: 'OdstÄp poziomy',
+	img2Button: 'Czy chcesz przekonwertowaÄ zaznaczony obrazek do przycisku graficznego?',
+	infoTab: 'Informacje o obrazku',
+	linkTab: 'HiperÅÄ
+cze',
+	lockRatio: 'Zablokuj proporcje',
+	menu: 'WÅaÅciwoÅci obrazka',
+	resetSize: 'PrzywrÃ³Ä rozmiar',
+	title: 'WÅaÅciwoÅci obrazka',
+	titleButton: 'WÅaÅciwoÅci przycisku graficznego',
+	upload: 'WyÅlij',
+	urlMissing: 'Podaj adres URL obrazka.',
+	vSpace: 'OdstÄp pionowy',
+	validateBorder: 'WartoÅÄ obramowania musi byÄ liczbÄ
+ caÅkowitÄ
+.',
+	validateHSpace: 'WartoÅÄ odstÄpu poziomego musi byÄ liczbÄ
+ caÅkowitÄ
+.',
+	validateVSpace: 'WartoÅÄ odstÄpu pionowego musi byÄ liczbÄ
+ caÅkowitÄ
+.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/pt-br.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/pt-br.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/pt-br.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'pt-br', {
+	alt: 'Texto Alternativo',
+	border: 'Borda',
+	btnUpload: 'Enviar para o Servidor',
+	button2Img: 'Deseja transformar o botÃ£o de imagem em uma imagem comum?',
+	hSpace: 'HSpace',
+	img2Button: 'Deseja transformar a imagem em um botÃ£o de imagem?',
+	infoTab: 'InformaÃ§Ãµes da Imagem',
+	linkTab: 'Link',
+	lockRatio: 'Travar ProporÃ§Ãµes',
+	menu: 'Formatar Imagem',
+	resetSize: 'Redefinir para o Tamanho Original',
+	title: 'Formatar Imagem',
+	titleButton: 'Formatar BotÃ£o de Imagem',
+	upload: 'Enviar',
+	urlMissing: 'URL da imagem estÃ¡ faltando.',
+	vSpace: 'VSpace',
+	validateBorder: 'A borda deve ser um nÃºmero inteiro.',
+	validateHSpace: 'O HSpace deve ser um nÃºmero inteiro.',
+	validateVSpace: 'O VSpace deve ser um nÃºmero inteiro.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/pt.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/pt.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/pt.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'pt', {
+	alt: 'Texto alternativo',
+	border: 'Limite',
+	btnUpload: 'Enviar para o servidor',
+	button2Img: 'Deseja transformar o botÃ£o com imagem selecionado numa imagem simples?',
+	hSpace: 'Esp. Horiz',
+	img2Button: 'Deseja transformar a imagem selecionada num botÃ£o com imagem?',
+	infoTab: 'InformaÃ§Ã£o da imagem',
+	linkTab: 'HiperligaÃ§Ã£o',
+	lockRatio: 'Proporcional',
+	menu: 'Propriedades da Imagem',
+	resetSize: 'Tamanho original',
+	title: 'Propriedades da imagem',
+	titleButton: 'Propriedades do botÃ£o de imagem',
+	upload: 'Carregar',
+	urlMissing: 'O URL de origem da imagem estÃ¡ em falta.',
+	vSpace: 'Esp. Vert',
+	validateBorder: 'A borda tem de ser um nÃºmero inteiro.',
+	validateHSpace: 'HSpace tem de ser um numero.',
+	validateVSpace: 'VSpace tem de ser um numero.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ro.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ro.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ro.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'ro', {
+	alt: 'Text alternativ',
+	border: 'Margine',
+	btnUpload: 'Trimite la server',
+	button2Img: 'Buton imagine Ã®n imagine normalÄ',
+	hSpace: 'HSpace',
+	img2Button: 'Imagine Ã®n buton imagine',
+	infoTab: 'InformaÅ£ii despre imagine',
+	linkTab: 'Link (LegÄturÄ web)',
+	lockRatio: 'PÄstreazÄ proporÅ£iile',
+	menu: 'ProprietÄÅ£ile imaginii',
+	resetSize: 'ReseteazÄ mÄrimea',
+	title: 'ProprietÄÅ£ile imaginii',
+	titleButton: 'ProprietÄÅ£i buton imagine (Image Button)',
+	upload: 'ÃncarcÄ',
+	urlMissing: 'Sursa URL a imaginii lipseÈte.',
+	vSpace: 'VSpace',
+	validateBorder: 'Bordura trebuie sÄ fie numÄr Ã®ntreg.',
+	validateHSpace: 'Hspace trebuie sÄ fie numÄr Ã®ntreg.',
+	validateVSpace: 'Vspace trebuie sÄ fie numÄr Ã®ntreg.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ru.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ru.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ru.js	(revision 32438)
@@ -0,0 +1,26 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'ru', {
+	alt: 'ÐÐ»ÑÑÐµÑÐœÐ°ÑÐžÐ²ÐœÑÐ¹ ÑÐµÐºÑÑ',
+	border: 'ÐÑÐ°ÐœÐžÑÐ°',
+	btnUpload: 'ÐÐ°Ð³ÑÑÐ·ÐžÑÑ ÐœÐ° ÑÐµÑÐ²ÐµÑ',
+	button2Img: 'ÐÑ Ð¶ÐµÐ»Ð°ÐµÑÐµ Ð¿ÑÐµÐŸÐ±ÑÐ°Ð·ÐŸÐ²Ð°ÑÑ ÑÑÐŸ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ-ÐºÐœÐŸÐ¿ÐºÑ Ð² ÐŸÐ±ÑÑÐœÐŸÐµ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ?',
+	hSpace: 'ÐÐŸÑÐžÐ·. ÐŸÑÑÑÑÐ¿',
+	img2Button: 'ÐÑ Ð¶ÐµÐ»Ð°ÐµÑÐµ Ð¿ÑÐµÐŸÐ±ÑÐ°Ð·ÐŸÐ²Ð°ÑÑ ÑÑÐŸ ÐŸÐ±ÑÑÐœÐŸÐµ ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ Ð² ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ-ÐºÐœÐŸÐ¿ÐºÑ?',
+	infoTab: 'ÐÐ°ÐœÐœÑÐµ ÐŸÐ± ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐž',
+	linkTab: 'Ð¡ÑÑÐ»ÐºÐ°',
+	lockRatio: 'Ð¡ÐŸÑ
+ÑÐ°ÐœÑÑÑ Ð¿ÑÐŸÐ¿ÐŸÑÑÐžÐž',
+	menu: 'Ð¡Ð²ÐŸÐ¹ÑÑÐ²Ð° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ',
+	resetSize: 'ÐÐµÑÐœÑÑÑ ÐŸÐ±ÑÑÐœÑÐµ ÑÐ°Ð·ÐŒÐµÑÑ',
+	title: 'Ð¡Ð²ÐŸÐ¹ÑÑÐ²Ð° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ',
+	titleButton: 'Ð¡Ð²ÐŸÐ¹ÑÑÐ²Ð° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÑ-ÐºÐœÐŸÐ¿ÐºÐž',
+	upload: 'ÐÐ°Ð³ÑÑÐ·ÐžÑÑ',
+	urlMissing: 'ÐÐµ ÑÐºÐ°Ð·Ð°ÐœÐ° ÑÑÑÐ»ÐºÐ° ÐœÐ° ÐžÐ·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐžÐµ.',
+	vSpace: 'ÐÐµÑÑÐžÐº. ÐŸÑÑÑÑÐ¿',
+	validateBorder: 'Ð Ð°Ð·ÐŒÐµÑ Ð³ÑÐ°ÐœÐžÑ ÐŽÐŸÐ»Ð¶ÐµÐœ Ð±ÑÑÑ Ð·Ð°ÐŽÐ°Ðœ ÑÐžÑÐ»ÐŸÐŒ.',
+	validateHSpace: 'ÐÐŸÑÐžÐ·ÐŸÐœÑÐ°Ð»ÑÐœÑÐ¹ ÐŸÑÑÑÑÐ¿ ÐŽÐŸÐ»Ð¶ÐµÐœ Ð±ÑÑÑ Ð·Ð°ÐŽÐ°Ðœ ÑÐžÑÐ»ÐŸÐŒ.',
+	validateVSpace: 'ÐÐµÑÑÐžÐºÐ°Ð»ÑÐœÑÐ¹ ÐŸÑÑÑÑÐ¿ ÐŽÐŸÐ»Ð¶ÐµÐœ Ð±ÑÑÑ Ð·Ð°ÐŽÐ°Ðœ ÑÐžÑÐ»ÐŸÐŒ.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/si.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/si.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/si.js	(revision 32438)
@@ -0,0 +1,28 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'si', {
+	alt: 'à·à·à¶à¶œà·à¶Ž ',
+	border: 'à·à·à¶žà·à·à·à¶œ ',
+	btnUpload: 'à·à·à·à·à¶¯à·à¶ºà¶à¶º à·à·à¶­ à¶ºà·à¶žà·à¶à·à¶»à·à¶ž',
+	button2Img: 'à¶à¶¶à¶§ à¶­à·à¶»à¶± à¶œà¶¯ à¶»à·à¶Žà¶º à¶Žà¶»à·à·à¶»à·à¶­à¶±à¶º à¶à·à¶»à·à¶žà¶§ à¶
+à·à·à·âà¶ºà¶¯?',
+	hSpace: 'HSpace',
+	img2Button: 'à¶à¶¶à¶§ à¶­à·à¶»à¶± à¶œà¶¯ à¶»à·à¶Žà¶º à¶Žà¶»à·à·à¶»à·à¶­à¶±à¶º à¶à·à¶»à·à¶žà¶§ à¶
+à·à·à·âà¶ºà¶¯?',
+	infoTab: 'à¶»à·à¶Žà¶ºà· à¶­à·à¶»à¶­à·à¶»à·',
+	linkTab: 'à·à¶¶à·à¶³à·à¶º',
+	lockRatio: 'à¶±à·à¶­à¶± à¶
+à¶±à·à¶Žà·à¶­à¶º ',
+	menu: 'à¶»à·à¶Žà¶ºà· à¶à·à¶«',
+	resetSize: 'à¶±à·à·à¶­à¶­à· à·à·à·à·à¶œà¶­à·à·à¶º à·à·à¶±à·à· à¶à·à¶»à·à¶ž',
+	title: 'à¶»à·à¶Žà¶ºà· ',
+	titleButton: 'à¶»à·à¶Ž à¶¶à·à¶­à·à¶­à¶žà· à¶à·à¶«',
+	upload: 'à¶à¶©à·à¶à¶­à¶à·à¶»à·à¶ž',
+	urlMissing: 'à¶»à·à¶Ž à¶žà·à¶œà·à·à·âà¶» URL à¶±à·à¶­.',
+	vSpace: 'VSpace',
+	validateBorder: 'à¶žà·à¶à¶žà· à·à¶žà·à¶Žà·à¶»à·à¶« à·à¶à¶à·âà¶ºà·à·à¶à· à·à·à¶º à¶ºà·à¶­à·à¶º.',
+	validateHSpace: 'HSpace  à·à¶žà·à¶Žà·à¶»à·à¶« à·à¶à¶à·âà¶ºà·à·à¶à· à·à·à¶º à¶ºà·à¶­à·à¶º',
+	validateVSpace: 'VSpace à·à¶žà·à¶Žà·à¶»à·à¶« à·à¶à¶à·âà¶ºà·à·à¶à· à·à·à¶º à¶ºà·à¶­à·à¶º.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sk.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sk.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sk.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'sk', {
+	alt: 'AlternatÃ­vny text',
+	border: 'RÃ¡m (border)',
+	btnUpload: 'OdoslaÅ¥ to na server',
+	button2Img: 'Chcete zmeniÅ¥ vybranÃ© obrÃ¡zkovÃ© tlaÄidlo na jednoduchÃœ obrÃ¡zok?',
+	hSpace: 'H-medzera',
+	img2Button: 'Chcete zmeniÅ¥ vybranÃœ obrÃ¡zok na obrÃ¡zkovÃ© tlaÄidlo?',
+	infoTab: 'InformÃ¡cie o obrÃ¡zku',
+	linkTab: 'Odkaz',
+	lockRatio: 'Pomer zÃ¡mky',
+	menu: 'Vlastnosti obrÃ¡zka',
+	resetSize: 'PÃŽvodnÃ¡ veÄŸkosÅ¥',
+	title: 'Vlastnosti obrÃ¡zka',
+	titleButton: 'Vlastnosti obrÃ¡zkovÃ©ho tlaÄidla',
+	upload: 'NahraÅ¥',
+	urlMissing: 'ChÃœba URL zdroja obrÃ¡zka.',
+	vSpace: 'V-medzera',
+	validateBorder: 'RÃ¡m (border) musÃ­ byÅ¥ celÃ© ÄÃ­slo.',
+	validateHSpace: 'H-medzera musÃ­ byÅ¥ celÃ© ÄÃ­slo.',
+	validateVSpace: 'V-medzera musÃ­ byÅ¥ celÃ© ÄÃ­slo.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sl.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sl.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sl.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'sl', {
+	alt: 'Nadomestno besedilo',
+	border: 'Obroba',
+	btnUpload: 'PoÅ¡lji na streÅŸnik',
+	button2Img: 'Åœelite pretvoriti izbrani gumb s sliko v preprosto sliko?',
+	hSpace: 'Vodoravni odmik',
+	img2Button: 'Åœelite pretvoriti izbrano sliko v gumb s sliko?',
+	infoTab: 'Podatki o sliki',
+	linkTab: 'Povezava',
+	lockRatio: 'Zakleni razmerje',
+	menu: 'Lastnosti slike',
+	resetSize: 'Ponastavi velikost',
+	title: 'Lastnosti slike',
+	titleButton: 'Lastnosti gumba s sliko',
+	upload: 'NaloÅŸi',
+	urlMissing: 'Manjka URL vira slike.',
+	vSpace: 'NavpiÄni odmik',
+	validateBorder: 'Meja mora biti celo Å¡tevilo.',
+	validateHSpace: 'Vodoravni odmik mora biti celo Å¡tevilo.',
+	validateVSpace: 'VSpace mora biti celo Å¡tevilo.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sq.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sq.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sq.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'sq', {
+	alt: 'Tekst Alternativ',
+	border: 'Korniza',
+	btnUpload: 'DÃ«rgo nÃ« server',
+	button2Img: 'DÃ«shironi tÃ« e ndÃ«rroni pullÃ«n e fotos sÃ« selektuar nÃ« njÃ« foto tÃ« thjeshtÃ«?',
+	hSpace: 'HSpace',
+	img2Button: 'DÃ«shironi tÃ« ndryshoni foton e pÃ«rzgjedhur nÃ« pullÃ«?',
+	infoTab: 'Informacione mbi FotografinÃ«',
+	linkTab: 'Nyja',
+	lockRatio: 'Mbyll Racionin',
+	menu: 'Karakteristikat e FotografisÃ«',
+	resetSize: 'Rikthe MadhÃ«sinÃ«',
+	title: 'Karakteristikat e FotografisÃ«',
+	titleButton: 'Karakteristikat e PullÃ«s sÃ« FotografisÃ«',
+	upload: 'Ngarko',
+	urlMissing: 'Mungon URL e burimit tÃ« fotografisÃ«.',
+	vSpace: 'HapÃ«sira Vertikale',
+	validateBorder: 'Korniza duhet tÃ« jetÃ« numÃ«r i plotÃ«.',
+	validateHSpace: 'HapÃ«sira horizontale duhet tÃ« jetÃ« numÃ«r i plotÃ«.',
+	validateVSpace: 'HapÃ«sira vertikale duhet tÃ« jetÃ« numÃ«r i plotÃ«.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sr-latn.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sr-latn.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sr-latn.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'sr-latn', {
+	alt: 'Alternativni tekst',
+	border: 'Okvir',
+	btnUpload: 'PoÅ¡alji na server',
+	button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING
+	hSpace: 'HSpace',
+	img2Button: 'Do you want to transform the selected image on a image button?', // MISSING
+	infoTab: 'Info slike',
+	linkTab: 'Link',
+	lockRatio: 'ZakljuÄaj odnos',
+	menu: 'Osobine slika',
+	resetSize: 'Resetuj veliÄinu',
+	title: 'Osobine slika',
+	titleButton: 'Osobine dugmeta sa slikom',
+	upload: 'PoÅ¡alji',
+	urlMissing: 'Image source URL is missing.', // MISSING
+	vSpace: 'VSpace',
+	validateBorder: 'Border must be a whole number.', // MISSING
+	validateHSpace: 'HSpace must be a whole number.', // MISSING
+	validateVSpace: 'VSpace must be a whole number.' // MISSING
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sr.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sr.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sr.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'sr', {
+	alt: 'ÐÐ»ÑÐµÑÐœÐ°ÑÐžÐ²ÐœÐž ÑÐµÐºÑÑ',
+	border: 'ÐÐºÐ²ÐžÑ',
+	btnUpload: 'ÐÐŸÑÐ°ÑÐž ÐœÐ° ÑÐµÑÐ²ÐµÑ',
+	button2Img: 'ÐÐ° Ð»Ðž Ð¶ÐµÐ»ÐžÑÐµ ÐŽÐ° Ð¿ÑÐŸÐŒÐµÐœÐžÑÐµ ÐŸÐŽÐ°Ð±ÑÐ°ÐœÑ ÑÐ»ÐžÐºÑ ÐŽÑÐ³ÐŒÐµÑÐ° ÐºÐ°ÐŸ ÑÐµÐŽÐœÐŸÑÑÐ°Ð²ÐœÑ ÑÐ»ÐžÐºÑ?',
+	hSpace: 'HSpace',
+	img2Button: 'ÐÐ° Ð»Ðž Ð¶ÐµÐ»ÐžÑÐµ ÐŽÐ° Ð¿ÑÐŸÐŒÐµÐœÐžÑÐµ ÐŸÐŽÐ°Ð±ÑÐ°ÐœÑ ÑÐ»ÐžÐºÑ Ñ ÑÐ»ÐžÐºÑ ÐŽÑÐ³ÐŒÐµÑÐ°?',
+	infoTab: 'ÐÐœÑÐŸ ÑÐ»ÐžÐºÐµ',
+	linkTab: 'ÐÐžÐœÐº',
+	lockRatio: 'ÐÐ°ÐºÑÑÑÐ°Ñ ÐŸÐŽÐœÐŸÑ',
+	menu: 'ÐÑÐŸÐ±ÐžÐœÐµ ÑÐ»ÐžÐºÐ°',
+	resetSize: 'Ð ÐµÑÐµÑÑÑ Ð²ÐµÐ»ÐžÑÐžÐœÑ',
+	title: 'ÐÑÐŸÐ±ÐžÐœÐµ ÑÐ»ÐžÐºÐ°',
+	titleButton: 'ÐÑÐŸÐ±ÐžÐœÐµ ÐŽÑÐ³ÐŒÐµÑÐ° ÑÐ° ÑÐ»ÐžÐºÐŸÐŒ',
+	upload: 'ÐÐŸÑÐ°ÑÐž',
+	urlMissing: 'ÐÐµÐŽÐŸÑÑÐ°ÑÐµ Ð£Ð Ð ÑÐ»ÐžÐºÐµ.',
+	vSpace: 'VSpace',
+	validateBorder: 'ÐÐ²ÐžÑÐ° ÑÑÐµÐ±Ð° ÐŽÐ° Ð±ÑÐŽÐµ ÑÐžÑÑÐ°.',
+	validateHSpace: 'HSpace ÑÑÐµÐ±Ð° ÐŽÐ° Ð±ÑÐŽÐµ ÑÐžÑÑÐ°.',
+	validateVSpace: 'VSpace ÑÑÐµÐ±Ð° ÐŽÐ° Ð±ÑÐŽÐµ ÑÐžÑÑÐ°.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sv.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sv.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/sv.js	(revision 32438)
@@ -0,0 +1,26 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'sv', {
+	alt: 'Alternativ text',
+	border: 'Kant',
+	btnUpload: 'Skicka till server',
+	button2Img: 'Vill du omvandla den valda bildknappen pÃ¥ en enkel bild?',
+	hSpace: 'Horis. marginal',
+	img2Button: 'Vill du omvandla den valda bildknappen pÃ¥ en enkel bild?',
+	infoTab: 'Bildinformation',
+	linkTab: 'LÃ€nk',
+	lockRatio: 'LÃ¥s hÃ¶jd/bredd fÃ¶rhÃ¥llanden',
+	menu: 'Bildegenskaper',
+	resetSize: 'Ã
+terstÃ€ll storlek',
+	title: 'Bildegenskaper',
+	titleButton: 'Egenskaper fÃ¶r bildknapp',
+	upload: 'Ladda upp',
+	urlMissing: 'BildkÃ€llans URL saknas.',
+	vSpace: 'Vert. marginal',
+	validateBorder: 'Kantlinje mÃ¥ste vara ett heltal.',
+	validateHSpace: 'HSpace mÃ¥ste vara ett heltal.',
+	validateVSpace: 'VSpace mÃ¥ste vara ett heltal.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/th.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/th.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/th.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'th', {
+	alt: 'àžàž³àžàž£àž°àžàž­àžàž£àž¹àžàž àž²àž',
+	border: 'àžàžàž²àžàžàž­àžàž£àž¹àž',
+	btnUpload: 'àž­àž±àžà¹àž«àž¥àžà¹àžàž¥à¹à¹àžà¹àžà¹àžà¹àž§à¹àžàžµà¹à¹àžàž£àž·à¹àž­àžà¹àž¡à¹àžà¹àž²àž¢ (à¹àžàžŽàž£à¹àžà¹àž§àž­àž£à¹)',
+	button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING
+	hSpace: 'àž£àž°àž¢àž°à¹àžàž§àžàž­àž',
+	img2Button: 'Do you want to transform the selected image on a image button?', // MISSING
+	infoTab: 'àžà¹àž­àž¡àž¹àž¥àžàž­àžàž£àž¹àžàž àž²àž',
+	linkTab: 'àž¥àžŽà¹àžàžà¹',
+	lockRatio: 'àžàž³àž«àžàžàž­àž±àžàž£àž²àžªà¹àž§àž àžàž§à¹àž²àž-àžªàž¹àž à¹àžàžàžàžàžàžµà¹',
+	menu: 'àžàžžàžàžªàž¡àžàž±àžàžŽàžàž­àž àž£àž¹àžàž àž²àž',
+	resetSize: 'àžàž³àž«àžàžàž£àž¹àžà¹àžà¹àž²àžàžàž²àžàžàž£àžŽàž',
+	title: 'àžàžžàžàžªàž¡àžàž±àžàžŽàžàž­àž àž£àž¹àžàž àž²àž',
+	titleButton: 'àžàžžàžàžªàž¡àžàž±àžàžŽàžàž­àž àžàžžà¹àž¡à¹àžàžàž£àž¹àžàž àž²àž',
+	upload: 'àž­àž±àžà¹àž«àž¥àžà¹àžàž¥à¹',
+	urlMissing: 'Image source URL is missing.', // MISSING
+	vSpace: 'àž£àž°àž¢àž°à¹àžàž§àžàž±à¹àž',
+	validateBorder: 'Border must be a whole number.', // MISSING
+	validateHSpace: 'HSpace must be a whole number.', // MISSING
+	validateVSpace: 'VSpace must be a whole number.' // MISSING
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/tr.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/tr.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/tr.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'tr', {
+	alt: 'Alternatif YazÄ±',
+	border: 'Kenar',
+	btnUpload: 'Sunucuya Yolla',
+	button2Img: 'SeÃ§ili resim butonunu basit resime Ã§evirmek istermisiniz?',
+	hSpace: 'Yatay BoÅluk',
+	img2Button: 'SeÃ§ili olan resimi, resimli butona Ã§evirmek istermisiniz?',
+	infoTab: 'Resim Bilgisi',
+	linkTab: 'KÃ¶prÃŒ',
+	lockRatio: 'OranÄ± Kilitle',
+	menu: 'Resim Ãzellikleri',
+	resetSize: 'Boyutu BaÅa DÃ¶ndÃŒr',
+	title: 'Resim Ãzellikleri',
+	titleButton: 'Resimli DÃŒÄme Ãzellikleri',
+	upload: 'KarÅÄ±ya YÃŒkle',
+	urlMissing: 'Resmin URL kaynaÄÄ± eksiktir.',
+	vSpace: 'Dikey BoÅluk',
+	validateBorder: 'ÃerÃ§eve tam sayÄ± olmalÄ±dÄ±r.',
+	validateHSpace: 'HSpace tam sayÄ± olmalÄ±dÄ±r.',
+	validateVSpace: 'VSpace tam sayÄ± olmalÄ±dÄ±r.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/tt.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/tt.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/tt.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'tt', {
+	alt: 'ÐÐ»ÑÑÐµÑÐœÐ°ÑÐžÐ² ÑÐµÐºÑÑ',
+	border: 'Ð§ÐžÐº',
+	btnUpload: 'Ð¡ÐµÑÐ²ÐµÑÐ³Ð° ÒÐžÐ±ÓÑÒ¯',
+	button2Img: 'Do you want to transform the selected image button on a simple image?', // MISSING
+	hSpace: 'ÐÐŸÑÐžÐ·ÐŸÐœÑÐ°Ð»Ñ Ð°ÑÐ°',
+	img2Button: 'Do you want to transform the selected image on a image button?', // MISSING
+	infoTab: 'Ð ÓÑÐµÐŒ ÑÐ°ÑÐ²ÐžÑÐ»Ð°ÐŒÐ°ÑÑ',
+	linkTab: 'Ð¡ÑÐ»ÑÐ°Ð»Ð°ÐŒÐ°',
+	lockRatio: 'Lock Ratio', // MISSING
+	menu: 'Ð ÓÑÐµÐŒ Ò¯Ð·Ð»ÐµÐºÐ»ÓÑÐµ',
+	resetSize: 'ÐÐ°ÑÑÐ°Ð³Ñ Ð·ÑÑÐ»ÑÐº',
+	title: 'Ð ÓÑÐµÐŒ Ò¯Ð·Ð»ÐµÐºÐ»ÓÑÐµ',
+	titleButton: 'Ð ÓÑÐµÐŒÐ»Ðµ ÑÓ©Ð¹ÐŒÉ Ò¯Ð·Ð»ÐµÐºÐ»ÓÑÐµ',
+	upload: 'ÐÓ©ÐºÐ»ÓÒ¯',
+	urlMissing: 'Image source URL is missing.', // MISSING
+	vSpace: 'ÐÐµÑÑÐžÐºÐ°Ð»Ñ Ð°ÑÐ°',
+	validateBorder: 'Ð§ÐžÐº ÐºÐžÒ£Ð»ÐµÐ³Ðµ ÑÐ°Ðœ Ð±ÑÐ»ÑÑÐ³Ð° ÑÐžÐµÑ.',
+	validateHSpace: 'ÐÐŸÑÐžÐ·ÐŸÐœÑÐ°Ð»Ñ Ð°ÑÐ° Ð±Ó©ÑÐµÐœ ÑÐ°Ðœ Ð±ÑÐ»ÑÑÐ³Ð° ÑÐžÐµÑ.',
+	validateVSpace: 'ÐÐµÑÑÐžÐºÐ°Ð»Ñ Ð°ÑÐ° Ð±Ó©ÑÐµÐœ ÑÐ°Ðœ Ð±ÑÐ»ÑÑÐ³Ð° ÑÐžÐµÑ.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ug.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ug.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/ug.js	(revision 32438)
@@ -0,0 +1,35 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'ug', {
+	alt: 'ØªÛÙÙØ³Øª ØŠØ§ÙÙ
+Ø§ØŽØªÛØ±',
+	border: 'Ú¯ÙØ±ÛÛÙ ÚÙÚ­ÙÛÙÙ',
+	btnUpload: 'Ù
+ÛÙØ§Ø²ÙÙ
+ÛØªÙØ±ØºØ§ ÙÛÙÙÛ',
+	button2Img: 'ÙÛÛÛØªØªÙÙÙ ØªÙÙŸÚÙÙÙ Ø³ÛØ±ÛØªÙÛ ØŠÛØ²Ú¯ÛØ±ØªÛÙ
+Ø³ÙØ²Ø',
+	hSpace: 'ØªÙØºØ±ÙØ³ÙØºØ§ ØŠØ§Ø±ÙÙÙÙÙ',
+	img2Button: 'ÙÛÛÛØªØªÙÙÙ Ø³ÛØ±ÛØªÙÙ ØªÙÙŸÚÙØºØ§ ØŠÛØ²Ú¯ÛØ±ØªÛÙ
+Ø³ÙØ²Ø',
+	infoTab: 'Ø³ÛØ±ÛØª',
+	linkTab: 'ØŠÛÙØ§ÙÙ
+Ø§',
+	lockRatio: 'ÙÙØ³ØšÛØªÙÙ ÙÛÙÛÙŸÙØ§',
+	menu: 'Ø³ÛØ±ÛØª Ø®Ø§Ø³ÙÙÙÙ',
+	resetSize: 'ØŠÛØ³ÙÙ ÚÙÚ­ÙÛÙ',
+	title: 'Ø³ÛØ±ÛØª Ø®Ø§Ø³ÙÙÙÙ',
+	titleButton: 'Ø³ÛØ±ÛØª Ø¯Ø§ØŠÙØ±Û Ø®Ø§Ø³ÙÙÙÙ',
+	upload: 'ÙÛÙÙÛ',
+	urlMissing: 'Ø³ÛØ±ÛØªÙÙÚ­ ØŠÛØ³ÙÙ ÚŸÛØ¬Ø¬ÛØª ØŠØ§Ø¯Ø±ÛØ³Ù ÙÛÙ
+',
+	vSpace: 'ØšÙÙÙØºØ§ ØŠØ§Ø±ÙÙÙÙÙ',
+	validateBorder: 'Ú¯ÙØ±ÛÛÙ ÚÙÚ­ÙÛÙÙ ÚÙÙÛÙ
+ Ø³Ø§Ù ØšÙÙÙØ¯Û',
+	validateHSpace: 'ØªÙØºØ±ÙØ³ÙØºØ§ ØŠØ§Ø±ÙÙÙÙ ÚÙÙÛÙ
+ ÙŸÛØªÛÙ Ø³Ø§Ù ØšÙÙÙØ¯Û',
+	validateVSpace: 'ØšÙÙÙØºØ§ ØŠØ§Ø±ÙÙÙÙ ÚÙÙÛÙ
+ ÙŸÛØªÛÙ Ø³Ø§Ù ØšÙÙÙØ¯Û'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/uk.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/uk.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/uk.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'uk', {
+	alt: 'ÐÐ»ÑÑÐµÑÐœÐ°ÑÐžÐ²ÐœÐžÐ¹ ÑÐµÐºÑÑ',
+	border: 'Ð Ð°ÐŒÐºÐ°',
+	btnUpload: 'ÐÐ°ÐŽÑÑÐ»Ð°ÑÐž ÐœÐ° ÑÐµÑÐ²ÐµÑ',
+	button2Img: 'ÐÐ°Ð¶Ð°ÑÑÐµ Ð¿ÐµÑÐµÑÐ²ÐŸÑÐžÑÐž ÐŸÐ±ÑÐ°ÐœÑ ÐºÐœÐŸÐ¿ÐºÑ-Ð·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐœÑ ÐœÐ° Ð¿ÑÐŸÑÑÐµ Ð·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐœÑ?',
+	hSpace: 'ÐÐŸÑÐžÐ·. Ð²ÑÐŽÑÑÑÐ¿',
+	img2Button: 'ÐÐ°Ð¶Ð°ÑÑÐµ Ð¿ÐµÑÐµÑÐ²ÐŸÑÐžÑÐž ÐŸÐ±ÑÐ°ÐœÐµ Ð·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐœÑ ÐœÐ° ÐºÐœÐŸÐ¿ÐºÑ-Ð·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐœÑ?',
+	infoTab: 'ÐÐœÑÐŸÑÐŒÐ°ÑÑÑ Ð¿ÑÐŸ Ð·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐœÑ',
+	linkTab: 'ÐÐŸÑÐžÐ»Ð°ÐœÐœÑ',
+	lockRatio: 'ÐÐ±ÐµÑÐµÐ³ÑÐž Ð¿ÑÐŸÐ¿ÐŸÑÑÑÑ',
+	menu: 'ÐÐ»Ð°ÑÑÐžÐ²ÐŸÑÑÑ Ð·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐœÑ',
+	resetSize: 'ÐÑÐžÑÑÐžÑÐž Ð¿ÐŸÐ»Ñ ÑÐŸÐ·ÐŒÑÑÑÐ²',
+	title: 'ÐÐ»Ð°ÑÑÐžÐ²ÐŸÑÑÑ Ð·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐœÑ',
+	titleButton: 'ÐÐ»Ð°ÑÑÐžÐ²ÐŸÑÑÑ ÐºÐœÐŸÐ¿ÐºÐž ÑÐ· Ð·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐœÑÐŒ',
+	upload: 'ÐÐ°ÐŽÑÑÐ»Ð°ÑÐž',
+	urlMissing: 'ÐÐºÐ°Ð¶ÑÑÑ URL Ð·ÐŸÐ±ÑÐ°Ð¶ÐµÐœÐœÑ.',
+	vSpace: 'ÐÐµÑÑ. Ð²ÑÐŽÑÑÑÐ¿',
+	validateBorder: 'ÐšÐžÑÐžÐœÐ° ÑÐ°ÐŒÐºÐž Ð¿ÐŸÐ²ÐžÐœÐœÐ° Ð±ÑÑÐž ÑÑÐ»ÐžÐŒ ÑÐžÑÐ»ÐŸÐŒ.',
+	validateHSpace: 'ÐÐŸÑÐžÐ·. Ð²ÑÐŽÑÑÑÐ¿ Ð¿ÐŸÐ²ÐžÐœÐµÐœ Ð±ÑÑÐž ÑÑÐ»ÐžÐŒ ÑÐžÑÐ»ÐŸÐŒ.',
+	validateVSpace: 'ÐÐµÑÑ. Ð²ÑÐŽÑÑÑÐ¿ Ð¿ÐŸÐ²ÐžÐœÐµÐœ Ð±ÑÑÐž ÑÑÐ»ÐžÐŒ ÑÐžÑÐ»ÐŸÐŒ.'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/vi.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/vi.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/vi.js	(revision 32438)
@@ -0,0 +1,25 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'vi', {
+	alt: 'ChÃº thÃ­ch áº£nh',
+	border: 'ÄÆ°á»ng viá»n',
+	btnUpload: 'Táº£i lÃªn mÃ¡y chá»§',
+	button2Img: 'Báº¡n cÃ³ muá»n chuyá»n nÃºt báº¥m báº±ng áº£nh ÄÆ°á»£c chá»n thÃ nh áº£nh?',
+	hSpace: 'Khoáº£ng Äá»m ngang',
+	img2Button: 'Báº¡n cÃ³ muá»n chuyá»n Äá»i áº£nh ÄÆ°á»£c chá»n thÃ nh nÃºt báº¥m báº±ng áº£nh?',
+	infoTab: 'ThÃŽng tin cá»§a áº£nh',
+	linkTab: 'Tab liÃªn káº¿t',
+	lockRatio: 'Giá»¯ nguyÃªn tá»· lá»',
+	menu: 'Thuá»c tÃ­nh cá»§a áº£nh',
+	resetSize: 'KÃ­ch thÆ°á»c gá»c',
+	title: 'Thuá»c tÃ­nh cá»§a áº£nh',
+	titleButton: 'Thuá»c tÃ­nh nÃºt cá»§a áº£nh',
+	upload: 'Táº£i lÃªn',
+	urlMissing: 'Thiáº¿u ÄÆ°á»ng dáº«n hÃ¬nh áº£nh',
+	vSpace: 'Khoáº£ng Äá»m dá»c',
+	validateBorder: 'Chiá»u rá»ng cá»§a ÄÆ°á»ng viá»n pháº£i lÃ  má»t sá» nguyÃªn dÆ°Æ¡ng',
+	validateHSpace: 'Khoáº£ng Äá»m ngang pháº£i lÃ  má»t sá» nguyÃªn dÆ°Æ¡ng',
+	validateVSpace: 'Khoáº£ng Äá»m dá»c pháº£i lÃ  má»t sá» nguyÃªn dÆ°Æ¡ng'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/zh-cn.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/zh-cn.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/zh-cn.js	(revision 32438)
@@ -0,0 +1,28 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'zh-cn', {
+	alt: 'æ¿æ¢ææ¬',
+	border: 'èŸ¹æ¡å€§å°',
+	btnUpload: 'äžäŒ å°æå¡åš',
+	button2Img: 'ç¡®å®èŠæåœååŸåæé®èœ¬æ¢äžºæ®éåŸååïŒ',
+	hSpace: 'æ°Žå¹³éŽè·',
+	img2Button: 'ç¡®å®èŠæåœååŸåæ¹åäžºåŸåæé®åïŒ',
+	infoTab: 'åŸåä¿¡æ¯',
+	linkTab: 'éŸæ¥',
+	lockRatio: 'éå®æ¯äŸ',
+	menu: 'åŸåå±æ§',
+	resetSize: 'åå§å°ºå¯ž',
+	title: 'åŸåå±æ§',
+	titleButton: 'åŸååå±æ§',
+	upload: 'äžäŒ ',
+	urlMissing: 'çŒºå°åŸåæºæä»¶å°å',
+	vSpace: 'åçŽéŽè·',
+	validateBorder: 'èŸ¹æ¡å€§å°å¿
+é¡»äžºæŽæ°æ ŒåŒ',
+	validateHSpace: 'æ°Žå¹³éŽè·å¿
+é¡»äžºæŽæ°æ ŒåŒ',
+	validateVSpace: 'åçŽéŽè·å¿
+é¡»äžºæŽæ°æ ŒåŒ'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/zh.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/zh.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/lang/zh.js	(revision 32438)
@@ -0,0 +1,28 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+CKEDITOR.plugins.setLang( 'image', 'zh', {
+	alt: 'æ¿ä»£æå­',
+	border: 'æ¡ç·',
+	btnUpload: 'å³éå°äŒºæåš',
+	button2Img: 'è«åæšç¢ºå®èŠå°ãåçæéãèœææãåçãåïŒ',
+	hSpace: 'HSpace',
+	img2Button: 'è«åæšç¢ºå®èŠå°ãåçãèœææãåçæéãåïŒ',
+	infoTab: 'åœ±åè³èš',
+	linkTab: 'é£çµ',
+	lockRatio: 'åºå®æ¯äŸ',
+	menu: 'åœ±åå±¬æ§',
+	resetSize: 'éèš­å€§å°',
+	title: 'åœ±åå±¬æ§',
+	titleButton: 'åœ±åæéå±¬æ§',
+	upload: 'äžå³',
+	urlMissing: 'éºå€±åçäŸæºä¹ URL ',
+	vSpace: 'VSpace',
+	validateBorder: 'æ¡ç·å¿
+é æ¯æŽæžã',
+	validateHSpace: 'HSpace å¿
+é æ¯æŽæžã',
+	validateVSpace: 'VSpace å¿
+é æ¯æŽæžã'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/plugin.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/plugin.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/image/plugin.js	(revision 32438)
@@ -0,0 +1,183 @@
+﻿/**
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+
+/**
+ * @fileOverview The Image plugin.
+ */
+
+( function() {
+
+	CKEDITOR.plugins.add( 'image', {
+		requires: 'dialog',
+		// jscs:disable maximumLineLength
+		lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%
+		// jscs:enable maximumLineLength
+		icons: 'image', // %REMOVE_LINE_CORE%
+		hidpi: true, // %REMOVE_LINE_CORE%
+		init: function( editor ) {
+			// Abort when Image2 is to be loaded since both plugins
+			// share the same button, command, etc. names (https://dev.ckeditor.com/ticket/11222).
+			if ( editor.plugins.image2 )
+				return;
+
+			var pluginName = 'image';
+
+			// Register the dialog.
+			CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/image.js' );
+
+			var allowed = 'img[alt,!src]{border-style,border-width,float,height,margin,margin-bottom,margin-left,margin-right,margin-top,width}',
+				required = 'img[alt,src]';
+
+			if ( CKEDITOR.dialog.isTabEnabled( editor, pluginName, 'advanced' ) )
+				allowed = 'img[alt,dir,id,lang,longdesc,!src,title]{*}(*)';
+
+			// Register the command.
+			editor.addCommand( pluginName, new CKEDITOR.dialogCommand( pluginName, {
+				allowedContent: allowed,
+				requiredContent: required,
+				contentTransformations: [
+					[ 'img{width}: sizeToStyle', 'img[width]: sizeToAttribute' ],
+					[ 'img{float}: alignmentToStyle', 'img[align]: alignmentToAttribute' ]
+				]
+			} ) );
+
+			// Register the toolbar button.
+			editor.ui.addButton && editor.ui.addButton( 'Image', {
+				label: editor.lang.common.image,
+				command: pluginName,
+				toolbar: 'insert,10'
+			} );
+
+			editor.on( 'doubleclick', function( evt ) {
+				var element = evt.data.element;
+
+				if ( element.is( 'img' ) && !element.data( 'cke-realelement' ) && !element.isReadOnly() )
+					evt.data.dialog = 'image';
+			} );
+
+			// If the "menu" plugin is loaded, register the menu items.
+			if ( editor.addMenuItems ) {
+				editor.addMenuItems( {
+					image: {
+						label: editor.lang.image.menu,
+						command: 'image',
+						group: 'image'
+					}
+				} );
+			}
+
+			// If the "contextmenu" plugin is loaded, register the listeners.
+			if ( editor.contextMenu ) {
+				editor.contextMenu.addListener( function( element ) {
+					if ( getSelectedImage( editor, element ) )
+						return { image: CKEDITOR.TRISTATE_OFF };
+				} );
+			}
+		},
+		afterInit: function( editor ) {
+			// Abort when Image2 is to be loaded since both plugins
+			// share the same button, command, etc. names (https://dev.ckeditor.com/ticket/11222).
+			if ( editor.plugins.image2 )
+				return;
+
+			// Customize the behavior of the alignment commands. (https://dev.ckeditor.com/ticket/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.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;
+	}
+
+} )();
+
+/**
+ * Determines whether dimension inputs should be automatically filled when the image URL changes in the Image plugin dialog window.
+ *
+ *		config.image_prefillDimensions = false;
+ *
+ * @since 4.5
+ * @cfg {Boolean} [image_prefillDimensions=true]
+ * @member CKEDITOR.config
+ */
+
+/**
+ * Whether to remove links when emptying the link URL field in the Image dialog window.
+ *
+ *		config.image_removeLinkByEmptyURL = false;
+ *
+ * @cfg {Boolean} [image_removeLinkByEmptyURL=true]
+ * @member CKEDITOR.config
+ */
+CKEDITOR.config.image_removeLinkByEmptyURL = true;
+
+/**
+ * Padding text to set off the image in the preview area.
+ *
+ *		config.image_previewText = CKEDITOR.tools.repeat( '___ ', 100 );
+ *
+ * @cfg {String} [image_previewText='Lorem ipsum dolor...' (placeholder text)]
+ * @member CKEDITOR.config
+ */
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/dialogs/sourcedialog.js	(revision 32438)
@@ -0,0 +1,79 @@
+/**
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+
+CKEDITOR.dialog.add( 'sourcedialog', function( editor ) {
+	var size = CKEDITOR.document.getWindow().getViewPaneSize();
+
+	// Make it maximum 800px wide, but still fully visible in the viewport.
+	var width = Math.min( size.width - 70, 800 );
+
+	// Make it use 2/3 of the viewport height.
+	var height = size.height / 1.5;
+
+	// Store old editor data to avoid unnecessary setData.
+	var oldData;
+
+	return {
+		title: editor.lang.sourcedialog.title,
+		minWidth: 100,
+		minHeight: 100,
+
+		onShow: function() {
+			this.setValueOf( 'main', 'data', oldData = editor.getData() );
+		},
+
+		onOk: ( function() {
+			function setData( dialog, newData ) {
+				// [IE8] Focus editor before setting selection to avoid setting data on
+				// locked selection, because in case of inline editor, it won't be
+				// unlocked before editable's HTML is altered. (https://dev.ckeditor.com/ticket/11585)
+				editor.focus();
+				editor.setData( newData, function() {
+					dialog.hide();
+
+					// Ensure correct selection.
+					var range = editor.createRange();
+					range.moveToElementEditStart( editor.editable() );
+					range.select();
+				} );
+			}
+
+			return function() {
+				// Remove CR from input data for reliable comparison with editor data.
+				var newData = this.getValueOf( 'main', 'data' ).replace( /\r/g, '' ),
+					that = this;
+
+				// Avoid unnecessary setData. Also preserve selection
+				// when user changed his mind and goes back to wysiwyg editing.
+				if ( newData === oldData )
+					return true;
+
+				setTimeout( function() {
+					setData( that, newData );
+				} );
+
+				// Don't let the dialog close before setData is over, to hide
+				// from user blinking caused by selection restoring and setting new data.
+				return false;
+			};
+		} )(),
+
+		contents: [ {
+			id: 'main',
+			label: editor.lang.sourcedialog.title,
+			elements: [ {
+				type: 'textarea',
+				id: 'data',
+				dir: 'ltr',
+				inputStyle: 'cursor:auto;' +
+					'width:' + width + 'px;' +
+					'height:' + height + 'px;' +
+					'tab-size:4;' +
+					'text-align:left;',
+				'class': 'cke_source'
+			} ]
+		} ]
+	};
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/af.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/af.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/af.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'af', {
+	toolbar: 'Bron',
+	title: 'Bron'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ar.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ar.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ar.js	(revision 32438)
@@ -0,0 +1,11 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'ar', {
+	toolbar: 'Ø§ÙÙ
+ØµØ¯Ø±',
+	title: 'Ø§ÙÙ
+ØµØ¯Ø±'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/az.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/az.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/az.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'az', {
+	toolbar: 'MÉnbÉ',
+	title: 'MÉnbÉ'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/bg.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/bg.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/bg.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'bg', {
+	toolbar: 'ÐÐ·ÑÐŸÑÐœÐžÐº',
+	title: 'ÐÐ·ÑÐŸÑÐœÐžÐº'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/bn.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/bn.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/bn.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'bn', {
+	toolbar: 'àŠà§àŠž',
+	title: 'àŠžà§àŠ°à§àŠž'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/bs.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/bs.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/bs.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'bs', {
+	toolbar: 'HTML kÃŽd',
+	title: 'HTML kÃŽd'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ca.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ca.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ca.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'ca', {
+	toolbar: 'Codi font',
+	title: 'Codi font'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/cs.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/cs.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/cs.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'cs', {
+	toolbar: 'Zdroj',
+	title: 'Zdroj'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/cy.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/cy.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/cy.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'cy', {
+	toolbar: 'HTML',
+	title: 'HTML'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/da.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/da.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/da.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'da', {
+	toolbar: 'Kilde',
+	title: 'Kilde'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/de-ch.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/de-ch.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/de-ch.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'de-ch', {
+	toolbar: 'Quellcode',
+	title: 'Quellcode'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/de.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/de.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/de.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'de', {
+	toolbar: 'Quellcode',
+	title: 'Quellcode'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/el.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/el.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/el.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'el', {
+	toolbar: 'ÎÏÎŽÎ¹ÎºÎ±Ï',
+	title: 'ÎÏÎŽÎ¹ÎºÎ±Ï'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en-au.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en-au.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en-au.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'en-au', {
+	toolbar: 'Source',
+	title: 'Source'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en-ca.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en-ca.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en-ca.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'en-ca', {
+	toolbar: 'Source',
+	title: 'Source'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en-gb.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en-gb.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en-gb.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'en-gb', {
+	toolbar: 'Source',
+	title: 'Source'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/en.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'en', {
+	toolbar: 'Source',
+	title: 'Source'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/eo.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/eo.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/eo.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'eo', {
+	toolbar: 'Fonto',
+	title: 'Fonto'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/es-mx.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/es-mx.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/es-mx.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'es-mx', {
+	toolbar: 'Fuente',
+	title: 'Fuente'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/es.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/es.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/es.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'es', {
+	toolbar: 'Fuente HTML',
+	title: 'Fuente HTML'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/et.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/et.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/et.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'et', {
+	toolbar: 'LÃ€htekood',
+	title: 'LÃ€htekood'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/eu.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/eu.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/eu.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'eu', {
+	toolbar: 'Iturburua',
+	title: 'Iturburua'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fa.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fa.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fa.js	(revision 32438)
@@ -0,0 +1,11 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'fa', {
+	toolbar: 'Ù
+ÙØšØ¹',
+	title: 'Ù
+ÙØšØ¹'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fi.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fi.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fi.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'fi', {
+	toolbar: 'Koodi',
+	title: 'Koodi'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fo.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fo.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fo.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'fo', {
+	toolbar: 'Kelda',
+	title: 'Kelda'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fr-ca.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fr-ca.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fr-ca.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'fr-ca', {
+	toolbar: 'Source',
+	title: 'Source'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fr.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fr.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/fr.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'fr', {
+	toolbar: 'Source',
+	title: 'Source'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/gl.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/gl.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/gl.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'gl', {
+	toolbar: 'Orixe',
+	title: 'Orixe'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/gu.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/gu.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/gu.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'gu', {
+	toolbar: 'àª®à«àª³ àªà« àªªà«àª°àªŸàª¥àª®àª¿àª àªŠàªžà«àª€àªŸàªµà«àª',
+	title: 'àª®à«àª³ àªà« àªªà«àª°àªŸàª¥àª®àª¿àª àªŠàªžà«àª€àªŸàªµà«àª'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/he.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/he.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/he.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'he', {
+	toolbar: '××§××š',
+	title: '××§××š'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/hi.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/hi.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/hi.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'hi', {
+	toolbar: 'à€žà¥à€°à¥à€ž',
+	title: 'à€žà¥à€°à¥à€ž'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/hr.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/hr.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/hr.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'hr', {
+	toolbar: 'KÃŽd',
+	title: 'KÃŽd'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/hu.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/hu.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/hu.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'hu', {
+	toolbar: 'ForrÃ¡skÃ³d',
+	title: 'ForrÃ¡skÃ³d'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/id.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/id.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/id.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'id', {
+	toolbar: 'Sumber',
+	title: 'Sumber'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/is.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/is.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/is.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'is', {
+	toolbar: 'KÃ³Ã°i',
+	title: 'KÃ³Ã°i'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/it.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/it.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/it.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'it', {
+	toolbar: 'Sorgente',
+	title: 'Sorgente'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ja.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ja.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ja.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'ja', {
+	toolbar: 'ãœãŒã¹',
+	title: 'ãœãŒã¹'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ka.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ka.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ka.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'ka', {
+	toolbar: 'áááááá',
+	title: 'áááááá'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/km.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/km.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/km.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'km', {
+	toolbar: 'á¢ááááâááŒá',
+	title: 'á¢ááááâááŒá'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ko.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ko.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ko.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'ko', {
+	toolbar: 'ìì€',
+	title: 'ìì€'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ku.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ku.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ku.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'ku', {
+	toolbar: 'Ø³ÛØ±ÚØ§ÙÛ',
+	title: 'Ø³ÛØ±ÚØ§ÙÛ'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/lt.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/lt.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/lt.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'lt', {
+	toolbar: 'Å altinis',
+	title: 'Å altinis'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/lv.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/lv.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/lv.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'lv', {
+	toolbar: 'HTML kods',
+	title: 'HTML kods'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/mn.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/mn.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/mn.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'mn', {
+	toolbar: 'ÐÐŸÐŽ',
+	title: 'ÐÐŸÐŽ'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ms.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ms.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ms.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'ms', {
+	toolbar: 'Sumber',
+	title: 'Sumber'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/nb.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/nb.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/nb.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'nb', {
+	toolbar: 'Kilde',
+	title: 'Kilde'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/nl.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/nl.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/nl.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'nl', {
+	toolbar: 'Broncode',
+	title: 'Broncode'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/no.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/no.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/no.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'no', {
+	toolbar: 'Kilde',
+	title: 'Kilde'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/oc.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/oc.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/oc.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'oc', {
+	toolbar: 'Font',
+	title: 'Font'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/pl.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/pl.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/pl.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'pl', {
+	toolbar: 'Å¹rÃ³dÅo dokumentu',
+	title: 'Å¹rÃ³dÅo dokumentu'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/pt-br.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/pt-br.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/pt-br.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'pt-br', {
+	toolbar: 'CÃ³digo-Fonte',
+	title: 'CÃ³digo-Fonte'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/pt.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/pt.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/pt.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'pt', {
+	toolbar: 'Fonte',
+	title: 'Fonte'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ro.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ro.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ro.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'ro', {
+	toolbar: 'Sursa',
+	title: 'Sursa'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ru.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ru.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ru.js	(revision 32438)
@@ -0,0 +1,10 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'ru', {
+	toolbar: 'ÐÑÑ
+ÐŸÐŽÐœÐžÐº',
+	title: 'ÐÑÑÐŸÑÐœÐžÐº'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/si.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/si.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/si.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'si', {
+	toolbar: 'à¶žà·à¶œà·à·à·âà¶»à¶º',
+	title: 'à¶žà·à¶œà·à·à·âà¶»à¶º'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sk.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sk.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sk.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'sk', {
+	toolbar: 'Zdroj',
+	title: 'Zdroj'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sl.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sl.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sl.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'sl', {
+	toolbar: 'Izvorna koda',
+	title: 'Izvorna koda'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sq.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sq.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sq.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'sq', {
+	toolbar: 'Burimi',
+	title: 'Burimi'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sr-latn.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sr-latn.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sr-latn.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'sr-latn', {
+	toolbar: 'KÃŽd',
+	title: 'KÃŽd'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sr.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sr.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sr.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'sr', {
+	toolbar: 'KÃŽÐŽ',
+	title: 'KÃŽÐŽ'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sv.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sv.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/sv.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'sv', {
+	toolbar: 'KÃ€lla',
+	title: 'KÃ€lla'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/th.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/th.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/th.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'th', {
+	toolbar: 'àžàž¹àž£àž«àž±àžª HTML',
+	title: 'àžàž¹àž£àž«àž±àžª HTML'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/tr.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/tr.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/tr.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'tr', {
+	toolbar: 'Kaynak',
+	title: 'Kaynak'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/tt.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/tt.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/tt.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'tt', {
+	toolbar: 'Ð§ÑÐ³Ð°ÐœÐ°Ðº',
+	title: 'Ð§ÑÐ³Ð°ÐœÐ°Ðº'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ug.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ug.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/ug.js	(revision 32438)
@@ -0,0 +1,11 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'ug', {
+	toolbar: 'Ù
+ÛÙØšÛ',
+	title: 'Ù
+ÛÙØšÛ'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/uk.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/uk.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/uk.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'uk', {
+	toolbar: 'ÐÐ¶ÐµÑÐµÐ»ÐŸ',
+	title: 'ÐÐ¶ÐµÑÐµÐ»ÐŸ'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/vi.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/vi.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/vi.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'vi', {
+	toolbar: 'MÃ£ HTML',
+	title: 'MÃ£ HTML'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/zh-cn.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/zh-cn.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/zh-cn.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'zh-cn', {
+	toolbar: 'æºç ',
+	title: 'æºç '
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/zh.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/zh.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/lang/zh.js	(revision 32438)
@@ -0,0 +1,9 @@
+/*
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+*/
+
+CKEDITOR.plugins.setLang( 'sourcedialog', 'zh', {
+	toolbar: 'åå§ç¢Œ',
+	title: 'åå§ç¢Œ'
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/plugin.js
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/plugin.js	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/plugin.js	(revision 32438)
@@ -0,0 +1,30 @@
+﻿/**
+ * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+ */
+
+CKEDITOR.plugins.add( 'sourcedialog', {
+	// jscs:disable maximumLineLength
+	lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%
+	// jscs:enable maximumLineLength
+	requires: 'dialog',
+	icons: 'sourcedialog,sourcedialog-rtl', // %REMOVE_LINE_CORE%
+	hidpi: true, // %REMOVE_LINE_CORE%
+
+	init: function( editor ) {
+		// Register the "source" command, which simply opens the "source" dialog.
+		editor.addCommand( 'sourcedialog', new CKEDITOR.dialogCommand( 'sourcedialog' ) );
+
+		// Register the "source" dialog.
+		CKEDITOR.dialog.add( 'sourcedialog', this.path + 'dialogs/sourcedialog.js' );
+
+		// If the toolbar is available, create the "Source" button.
+		if ( editor.ui.addButton ) {
+			editor.ui.addButton( 'Sourcedialog', {
+				label: editor.lang.sourcedialog.toolbar,
+				command: 'sourcedialog',
+				toolbar: 'mode,10'
+			} );
+		}
+	}
+} );
Index: /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/samples/sourcedialog.html
===================================================================
--- /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/samples/sourcedialog.html	(revision 32438)
+++ /main/trunk/greenstone3/web/interfaces/default/js/ckeditor/plugins/sourcedialog/samples/sourcedialog.html	(revision 32438)
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
+-->
+<html>
+<head>
+	<meta charset="utf-8">
+	<title>Editing source code in a dialog &mdash; CKEditor Sample</title>
+	<script src="../../../ckeditor.js"></script>
+	<link rel="stylesheet" href="../../../samples/old/sample.css">
+	<meta name="ckeditor-sample-name" content="Editing source code in a dialog">
+	<meta name="ckeditor-sample-group" content="Plugins">
+	<meta name="ckeditor-sample-description" content="Editing HTML content of both inline and classic editor instances.">
+	<meta name="ckeditor-sample-isnew" content="1">
+	<style>
+
+		#editable
+		{
+			padding: 10px;
+			float: left;
+		}
+
+	</style>
+</head>
+<body>
+	<h1 class="samples">
+		<a href="../../../samples/old/index.html">CKEditor Samples</a> &raquo; Editing source code in a dialog
+	</h1>
+	<div class="warning deprecated">
+		This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/sourcearea.html">brand new version in CKEditor SDK</a>.
+	</div>
+	<div class="description">
+		<p>
+			<strong>Sourcedialog</strong> plugin provides an easy way to edit raw HTML content
+			of an editor, similarly to what is possible with <strong>Sourcearea</strong>
+			plugin for classic (<code>iframe</code>-based) instances but using dialogs. Thanks to that, it's also possible
+			to manipulate raw content of inline editor instances.
+		</p>
+		<p>
+			This plugin extends the toolbar with a button,
+			which opens a dialog window with a source code editor. It works with both classic
+			and inline instances. To enable this
+			plugin, basically add <code>extraPlugins: 'sourcedialog'</code> to editor's
+			config:
+		</p>
+<pre class="samples">
+// Inline editor.
+CKEDITOR.inline( 'editable', {
+	<strong>extraPlugins: 'sourcedialog'</strong>
+});
+
+// Classic (iframe-based) editor.
+CKEDITOR.replace( 'textarea_id', {
+	<strong>extraPlugins: 'sourcedialog'</strong>,
+	removePlugins: 'sourcearea'
+});
+</pre>
+		<p>
+			Note that you may want to include <code>removePlugins: 'sourcearea'</code>
+			in your config when using <strong>Sourcedialog</strong> in classic editor instances.
+			This prevents feature redundancy.
+		</p>
+		<p>
+			Note that <code>editable</code> in the code above is the <code>id</code>
+			attribute of the <code>&lt;div&gt;</code> element to be converted into an inline instance.
+		</p>
+		<p>
+			Note that <code><em>textarea_id</em></code> in the code above is the <code>id</code> attribute of
+			the <code>&lt;textarea&gt;</code> element to be replaced with CKEditor.
+		</p>
+	</div>
+	<div>
+		<label for="editor1">
+			Inline editor:
+		</label>
+		<div id="editor1" contenteditable="true" style="padding: 5px 20px;">
+			<p>This is some <strong>sample text</strong>. You are using <a href="https://ckeditor.com/">CKEditor</a>.</p>
+		</div>
+	</div>
+	<br>
+	<div>
+		<label for="editor2">
+			Classic editor:
+		</label>
+		<textarea cols="80" id="editor2" name="editor2" rows="10">
+			This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.
+		</textarea>
+	</div>
+	<script>
+
+		// We need to turn off the automatic editor creation first.
+		CKEDITOR.disableAutoInline = true;
+
+		var config = {
+			toolbarGroups: [
+				{ name: 'mode' },
+				{ name: 'basicstyles' },
+				{ name: 'links' }
+			],
+			extraPlugins: 'sourcedialog',
+			removePlugins: 'sourcearea'
+		}
+
+		CKEDITOR.inline( 'editor1', config );
+		CKEDITOR.replace( 'editor2', config );
+
+	</script>
+	<div id="footer">
+		<hr>
+		<p>
+			CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">
+				https://ckeditor.com</a>
+		</p>
+		<p id="copy">
+			Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a>
+			- Frederico Knabben. All rights reserved.
+		</p>
+	</div>
+</body>
+</html>
