From 3332bebe4da6dfa0fe3e4b2abddc84b1cc62f8f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Fri, 19 Feb 2016 23:38:52 +0100 Subject: Initial commit --- sources/plugins/image/dialogs/image.js | 1251 +++++++++++++++++++++++++++ sources/plugins/image/icons/hidpi/image.png | Bin 0 -> 1745 bytes sources/plugins/image/icons/image.png | Bin 0 -> 756 bytes sources/plugins/image/images/noimage.png | Bin 0 -> 1610 bytes sources/plugins/image/lang/af.js | 25 + sources/plugins/image/lang/ar.js | 25 + sources/plugins/image/lang/bg.js | 25 + sources/plugins/image/lang/bn.js | 25 + sources/plugins/image/lang/bs.js | 25 + sources/plugins/image/lang/ca.js | 25 + sources/plugins/image/lang/cs.js | 25 + sources/plugins/image/lang/cy.js | 25 + sources/plugins/image/lang/da.js | 25 + sources/plugins/image/lang/de-ch.js | 25 + sources/plugins/image/lang/de.js | 25 + sources/plugins/image/lang/el.js | 25 + sources/plugins/image/lang/en-au.js | 25 + sources/plugins/image/lang/en-ca.js | 25 + sources/plugins/image/lang/en-gb.js | 25 + sources/plugins/image/lang/en.js | 25 + sources/plugins/image/lang/eo.js | 25 + sources/plugins/image/lang/es.js | 25 + sources/plugins/image/lang/et.js | 25 + sources/plugins/image/lang/eu.js | 25 + sources/plugins/image/lang/fa.js | 25 + sources/plugins/image/lang/fi.js | 25 + sources/plugins/image/lang/fo.js | 25 + sources/plugins/image/lang/fr-ca.js | 25 + sources/plugins/image/lang/fr.js | 25 + sources/plugins/image/lang/gl.js | 25 + sources/plugins/image/lang/gu.js | 25 + sources/plugins/image/lang/he.js | 25 + sources/plugins/image/lang/hi.js | 25 + sources/plugins/image/lang/hr.js | 25 + sources/plugins/image/lang/hu.js | 25 + sources/plugins/image/lang/id.js | 25 + sources/plugins/image/lang/is.js | 25 + sources/plugins/image/lang/it.js | 25 + sources/plugins/image/lang/ja.js | 25 + sources/plugins/image/lang/ka.js | 25 + sources/plugins/image/lang/km.js | 25 + sources/plugins/image/lang/ko.js | 25 + sources/plugins/image/lang/ku.js | 25 + sources/plugins/image/lang/lt.js | 25 + sources/plugins/image/lang/lv.js | 25 + sources/plugins/image/lang/mk.js | 25 + sources/plugins/image/lang/mn.js | 25 + sources/plugins/image/lang/ms.js | 25 + sources/plugins/image/lang/nb.js | 25 + sources/plugins/image/lang/nl.js | 25 + sources/plugins/image/lang/no.js | 25 + sources/plugins/image/lang/pl.js | 25 + sources/plugins/image/lang/pt-br.js | 25 + sources/plugins/image/lang/pt.js | 25 + sources/plugins/image/lang/ro.js | 25 + sources/plugins/image/lang/ru.js | 25 + sources/plugins/image/lang/si.js | 25 + sources/plugins/image/lang/sk.js | 25 + sources/plugins/image/lang/sl.js | 25 + sources/plugins/image/lang/sq.js | 25 + sources/plugins/image/lang/sr-latn.js | 25 + sources/plugins/image/lang/sr.js | 25 + sources/plugins/image/lang/sv.js | 25 + sources/plugins/image/lang/th.js | 25 + sources/plugins/image/lang/tr.js | 25 + sources/plugins/image/lang/tt.js | 25 + sources/plugins/image/lang/ug.js | 25 + sources/plugins/image/lang/uk.js | 25 + sources/plugins/image/lang/vi.js | 25 + sources/plugins/image/lang/zh-cn.js | 25 + sources/plugins/image/lang/zh.js | 25 + sources/plugins/image/plugin.js | 183 ++++ 72 files changed, 3109 insertions(+) create mode 100644 sources/plugins/image/dialogs/image.js create mode 100644 sources/plugins/image/icons/hidpi/image.png create mode 100644 sources/plugins/image/icons/image.png create mode 100644 sources/plugins/image/images/noimage.png create mode 100644 sources/plugins/image/lang/af.js create mode 100644 sources/plugins/image/lang/ar.js create mode 100644 sources/plugins/image/lang/bg.js create mode 100644 sources/plugins/image/lang/bn.js create mode 100644 sources/plugins/image/lang/bs.js create mode 100644 sources/plugins/image/lang/ca.js create mode 100644 sources/plugins/image/lang/cs.js create mode 100644 sources/plugins/image/lang/cy.js create mode 100644 sources/plugins/image/lang/da.js create mode 100644 sources/plugins/image/lang/de-ch.js create mode 100644 sources/plugins/image/lang/de.js create mode 100644 sources/plugins/image/lang/el.js create mode 100644 sources/plugins/image/lang/en-au.js create mode 100644 sources/plugins/image/lang/en-ca.js create mode 100644 sources/plugins/image/lang/en-gb.js create mode 100644 sources/plugins/image/lang/en.js create mode 100644 sources/plugins/image/lang/eo.js create mode 100644 sources/plugins/image/lang/es.js create mode 100644 sources/plugins/image/lang/et.js create mode 100644 sources/plugins/image/lang/eu.js create mode 100644 sources/plugins/image/lang/fa.js create mode 100644 sources/plugins/image/lang/fi.js create mode 100644 sources/plugins/image/lang/fo.js create mode 100644 sources/plugins/image/lang/fr-ca.js create mode 100644 sources/plugins/image/lang/fr.js create mode 100644 sources/plugins/image/lang/gl.js create mode 100644 sources/plugins/image/lang/gu.js create mode 100644 sources/plugins/image/lang/he.js create mode 100644 sources/plugins/image/lang/hi.js create mode 100644 sources/plugins/image/lang/hr.js create mode 100644 sources/plugins/image/lang/hu.js create mode 100644 sources/plugins/image/lang/id.js create mode 100644 sources/plugins/image/lang/is.js create mode 100644 sources/plugins/image/lang/it.js create mode 100644 sources/plugins/image/lang/ja.js create mode 100644 sources/plugins/image/lang/ka.js create mode 100644 sources/plugins/image/lang/km.js create mode 100644 sources/plugins/image/lang/ko.js create mode 100644 sources/plugins/image/lang/ku.js create mode 100644 sources/plugins/image/lang/lt.js create mode 100644 sources/plugins/image/lang/lv.js create mode 100644 sources/plugins/image/lang/mk.js create mode 100644 sources/plugins/image/lang/mn.js create mode 100644 sources/plugins/image/lang/ms.js create mode 100644 sources/plugins/image/lang/nb.js create mode 100644 sources/plugins/image/lang/nl.js create mode 100644 sources/plugins/image/lang/no.js create mode 100644 sources/plugins/image/lang/pl.js create mode 100644 sources/plugins/image/lang/pt-br.js create mode 100644 sources/plugins/image/lang/pt.js create mode 100644 sources/plugins/image/lang/ro.js create mode 100644 sources/plugins/image/lang/ru.js create mode 100644 sources/plugins/image/lang/si.js create mode 100644 sources/plugins/image/lang/sk.js create mode 100644 sources/plugins/image/lang/sl.js create mode 100644 sources/plugins/image/lang/sq.js create mode 100644 sources/plugins/image/lang/sr-latn.js create mode 100644 sources/plugins/image/lang/sr.js create mode 100644 sources/plugins/image/lang/sv.js create mode 100644 sources/plugins/image/lang/th.js create mode 100644 sources/plugins/image/lang/tr.js create mode 100644 sources/plugins/image/lang/tt.js create mode 100644 sources/plugins/image/lang/ug.js create mode 100644 sources/plugins/image/lang/uk.js create mode 100644 sources/plugins/image/lang/vi.js create mode 100644 sources/plugins/image/lang/zh-cn.js create mode 100644 sources/plugins/image/lang/zh.js create mode 100644 sources/plugins/image/plugin.js (limited to 'sources/plugins/image') diff --git a/sources/plugins/image/dialogs/image.js b/sources/plugins/image/dialogs/image.js new file mode 100644 index 0000000..4f62f99 --- /dev/null +++ b/sources/plugins/image/dialogs/image.js @@ -0,0 +1,1251 @@ +/** + * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/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. (#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 #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: 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. (#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. ([foo]) + this.linkElement.setHtml( '' ); + this.linkElement.append( this.imageElement, false ); + } else { + // Only inside of the link is selected, so replace it with image. ([foo], [f]oo) + 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', + 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.(#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.invalidWidth ); // 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.invalidHeight ); // 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', + 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: '
' + + '' + editor.lang.image.lockRatio + '' + + '' + editor.lang.image.resetSize + '' + + '
' + } ] + }, + { + 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.alignLeft, 'left' ], + [ editor.lang.common.alignRight, '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: '
' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) + '
' + + '' + + '
' + + '' + + '' + + // 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 + '
' + } ] + } ] + } ] + }, + { + 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', + 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' ); + } ); +} )(); diff --git a/sources/plugins/image/icons/hidpi/image.png b/sources/plugins/image/icons/hidpi/image.png new file mode 100644 index 0000000..b3c7ade Binary files /dev/null and b/sources/plugins/image/icons/hidpi/image.png differ diff --git a/sources/plugins/image/icons/image.png b/sources/plugins/image/icons/image.png new file mode 100644 index 0000000..fcf61b5 Binary files /dev/null and b/sources/plugins/image/icons/image.png differ diff --git a/sources/plugins/image/images/noimage.png b/sources/plugins/image/images/noimage.png new file mode 100644 index 0000000..74c6ee9 Binary files /dev/null and b/sources/plugins/image/images/noimage.png differ diff --git a/sources/plugins/image/lang/af.js b/sources/plugins/image/lang/af.js new file mode 100644 index 0000000..c3cf354 --- /dev/null +++ b/sources/plugins/image/lang/af.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/ar.js b/sources/plugins/image/lang/ar.js new file mode 100644 index 0000000..1a0fb7a --- /dev/null +++ b/sources/plugins/image/lang/ar.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 يجب أن يكون عدداً.' +} ); diff --git a/sources/plugins/image/lang/bg.js b/sources/plugins/image/lang/bg.js new file mode 100644 index 0000000..ecc7cd7 --- /dev/null +++ b/sources/plugins/image/lang/bg.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'image', 'bg', { + 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 +} ); diff --git a/sources/plugins/image/lang/bn.js b/sources/plugins/image/lang/bn.js new file mode 100644 index 0000000..1f39349 --- /dev/null +++ b/sources/plugins/image/lang/bn.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 +} ); diff --git a/sources/plugins/image/lang/bs.js b/sources/plugins/image/lang/bs.js new file mode 100644 index 0000000..8470e8f --- /dev/null +++ b/sources/plugins/image/lang/bs.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 +} ); diff --git a/sources/plugins/image/lang/ca.js b/sources/plugins/image/lang/ca.js new file mode 100644 index 0000000..8464dbf --- /dev/null +++ b/sources/plugins/image/lang/ca.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/cs.js b/sources/plugins/image/lang/cs.js new file mode 100644 index 0000000..2f870f8 --- /dev/null +++ b/sources/plugins/image/lang/cs.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/cy.js b/sources/plugins/image/lang/cy.js new file mode 100644 index 0000000..6310b5b --- /dev/null +++ b/sources/plugins/image/lang/cy.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/da.js b/sources/plugins/image/lang/da.js new file mode 100644 index 0000000..82f591d --- /dev/null +++ b/sources/plugins/image/lang/da.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/de-ch.js b/sources/plugins/image/lang/de-ch.js new file mode 100644 index 0000000..9237c1a --- /dev/null +++ b/sources/plugins/image/lang/de-ch.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/de.js b/sources/plugins/image/lang/de.js new file mode 100644 index 0000000..4827329 --- /dev/null +++ b/sources/plugins/image/lang/de.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/el.js b/sources/plugins/image/lang/el.js new file mode 100644 index 0000000..9e515e7 --- /dev/null +++ b/sources/plugins/image/lang/el.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 πρέπει να είναι ένας ακέραιος αριθμός.' +} ); diff --git a/sources/plugins/image/lang/en-au.js b/sources/plugins/image/lang/en-au.js new file mode 100644 index 0000000..6e7ce12 --- /dev/null +++ b/sources/plugins/image/lang/en-au.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.', // 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 +} ); diff --git a/sources/plugins/image/lang/en-ca.js b/sources/plugins/image/lang/en-ca.js new file mode 100644 index 0000000..2f3992f --- /dev/null +++ b/sources/plugins/image/lang/en-ca.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 +} ); diff --git a/sources/plugins/image/lang/en-gb.js b/sources/plugins/image/lang/en-gb.js new file mode 100644 index 0000000..e60b38a --- /dev/null +++ b/sources/plugins/image/lang/en-gb.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/en.js b/sources/plugins/image/lang/en.js new file mode 100644 index 0000000..d6cb43a --- /dev/null +++ b/sources/plugins/image/lang/en.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/eo.js b/sources/plugins/image/lang/eo.js new file mode 100644 index 0000000..9ef3115 --- /dev/null +++ b/sources/plugins/image/lang/eo.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/es.js b/sources/plugins/image/lang/es.js new file mode 100644 index 0000000..12e1748 --- /dev/null +++ b/sources/plugins/image/lang/es.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/et.js b/sources/plugins/image/lang/et.js new file mode 100644 index 0000000..e02591f --- /dev/null +++ b/sources/plugins/image/lang/et.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/eu.js b/sources/plugins/image/lang/eu.js new file mode 100644 index 0000000..f288398 --- /dev/null +++ b/sources/plugins/image/lang/eu.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/fa.js b/sources/plugins/image/lang/fa.js new file mode 100644 index 0000000..00eb831 --- /dev/null +++ b/sources/plugins/image/lang/fa.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: 'مقدار فاصله گذاری عمودی باید یک عدد باشد.' +} ); diff --git a/sources/plugins/image/lang/fi.js b/sources/plugins/image/lang/fi.js new file mode 100644 index 0000000..e264d72 --- /dev/null +++ b/sources/plugins/image/lang/fi.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/fo.js b/sources/plugins/image/lang/fo.js new file mode 100644 index 0000000..6073e0c --- /dev/null +++ b/sources/plugins/image/lang/fo.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/fr-ca.js b/sources/plugins/image/lang/fr-ca.js new file mode 100644 index 0000000..ebeddb2 --- /dev/null +++ b/sources/plugins/image/lang/fr-ca.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/fr.js b/sources/plugins/image/lang/fr.js new file mode 100644 index 0000000..e06d095 --- /dev/null +++ b/sources/plugins/image/lang/fr.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'image', 'fr', { + alt: 'Texte de remplacement', + border: 'Bordure', + btnUpload: 'Envoyer sur le serveur', + button2Img: 'Voulez-vous transformer le bouton image sélectionné en simple image?', + hSpace: 'Espacement horizontal', + img2Button: 'Voulez-vous transformer l\'image en bouton image?', + infoTab: 'Informations sur l\'image', + linkTab: 'Lien', + lockRatio: 'Conserver les proportions', + menu: 'Propriétés de l\'image', + resetSize: 'Taille d\'origine', + title: 'Propriétés de l\'image', + titleButton: 'Propriétés du bouton image', + upload: 'Envoyer', + urlMissing: 'L\'adresse source de l\'image est manquante.', + vSpace: 'Espacement vertical', + validateBorder: 'Bordure doit être un entier.', + validateHSpace: 'HSpace doit être un entier.', + validateVSpace: 'VSpace doit être un entier.' +} ); diff --git a/sources/plugins/image/lang/gl.js b/sources/plugins/image/lang/gl.js new file mode 100644 index 0000000..22f1f41 --- /dev/null +++ b/sources/plugins/image/lang/gl.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/gu.js b/sources/plugins/image/lang/gu.js new file mode 100644 index 0000000..36e26fc --- /dev/null +++ b/sources/plugins/image/lang/gu.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 આંકડો હોવો જોઈએ. ' +} ); diff --git a/sources/plugins/image/lang/he.js b/sources/plugins/image/lang/he.js new file mode 100644 index 0000000..5b8e18d --- /dev/null +++ b/sources/plugins/image/lang/he.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: 'שדה המרווח האנכי חייב להיות מספר שלם.' +} ); diff --git a/sources/plugins/image/lang/hi.js b/sources/plugins/image/lang/hi.js new file mode 100644 index 0000000..158c188 --- /dev/null +++ b/sources/plugins/image/lang/hi.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 +} ); diff --git a/sources/plugins/image/lang/hr.js b/sources/plugins/image/lang/hr.js new file mode 100644 index 0000000..6c3aade --- /dev/null +++ b/sources/plugins/image/lang/hr.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: 'Link', + 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.' +} ); diff --git a/sources/plugins/image/lang/hu.js b/sources/plugins/image/lang/hu.js new file mode 100644 index 0000000..ed4c356 --- /dev/null +++ b/sources/plugins/image/lang/hu.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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!' +} ); diff --git a/sources/plugins/image/lang/id.js b/sources/plugins/image/lang/id.js new file mode 100644 index 0000000..68ccd52 --- /dev/null +++ b/sources/plugins/image/lang/id.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 +} ); diff --git a/sources/plugins/image/lang/is.js b/sources/plugins/image/lang/is.js new file mode 100644 index 0000000..f55c69c --- /dev/null +++ b/sources/plugins/image/lang/is.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 +} ); diff --git a/sources/plugins/image/lang/it.js b/sources/plugins/image/lang/it.js new file mode 100644 index 0000000..3aeb017 --- /dev/null +++ b/sources/plugins/image/lang/it.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/ja.js b/sources/plugins/image/lang/ja.js new file mode 100644 index 0000000..86d54c8 --- /dev/null +++ b/sources/plugins/image/lang/ja.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: '垂直間隔は数値で入力してください。' +} ); diff --git a/sources/plugins/image/lang/ka.js b/sources/plugins/image/lang/ka.js new file mode 100644 index 0000000..fe0f8f4 --- /dev/null +++ b/sources/plugins/image/lang/ka.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: 'ვერტიკალური სივრცე მთელი რიცხვი უნდა იყოს.' +} ); diff --git a/sources/plugins/image/lang/km.js b/sources/plugins/image/lang/km.js new file mode 100644 index 0000000..f3236ee --- /dev/null +++ b/sources/plugins/image/lang/km.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: 'គម្លាត​បញ្ឈរ​ត្រូវ​តែ​ជា​លេខ។' +} ); diff --git a/sources/plugins/image/lang/ko.js b/sources/plugins/image/lang/ko.js new file mode 100644 index 0000000..30e7e45 --- /dev/null +++ b/sources/plugins/image/lang/ko.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: '세로 길이는 정수여야 합니다.' +} ); diff --git a/sources/plugins/image/lang/ku.js b/sources/plugins/image/lang/ku.js new file mode 100644 index 0000000..9a8678a --- /dev/null +++ b/sources/plugins/image/lang/ku.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: 'بۆشایی ئەستونی دەبێت بەتەواوی تەنها ژماره بێت.' +} ); diff --git a/sources/plugins/image/lang/lt.js b/sources/plugins/image/lang/lt.js new file mode 100644 index 0000000..0261413 --- /dev/null +++ b/sources/plugins/image/lang/lt.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/lv.js b/sources/plugins/image/lang/lv.js new file mode 100644 index 0000000..f4e6aef --- /dev/null +++ b/sources/plugins/image/lang/lv.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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' +} ); diff --git a/sources/plugins/image/lang/mk.js b/sources/plugins/image/lang/mk.js new file mode 100644 index 0000000..062f94f --- /dev/null +++ b/sources/plugins/image/lang/mk.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: 'Верт. простор мора да биде цел број.' +} ); diff --git a/sources/plugins/image/lang/mn.js b/sources/plugins/image/lang/mn.js new file mode 100644 index 0000000..7923ec6 --- /dev/null +++ b/sources/plugins/image/lang/mn.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 +} ); diff --git a/sources/plugins/image/lang/ms.js b/sources/plugins/image/lang/ms.js new file mode 100644 index 0000000..98adf09 --- /dev/null +++ b/sources/plugins/image/lang/ms.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 +} ); diff --git a/sources/plugins/image/lang/nb.js b/sources/plugins/image/lang/nb.js new file mode 100644 index 0000000..ac94f30 --- /dev/null +++ b/sources/plugins/image/lang/nb.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/nl.js b/sources/plugins/image/lang/nl.js new file mode 100644 index 0000000..8755503 --- /dev/null +++ b/sources/plugins/image/lang/nl.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/no.js b/sources/plugins/image/lang/no.js new file mode 100644 index 0000000..5f220cb --- /dev/null +++ b/sources/plugins/image/lang/no.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/pl.js b/sources/plugins/image/lang/pl.js new file mode 100644 index 0000000..ba55b74 --- /dev/null +++ b/sources/plugins/image/lang/pl.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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ą.' +} ); diff --git a/sources/plugins/image/lang/pt-br.js b/sources/plugins/image/lang/pt-br.js new file mode 100644 index 0000000..8ac3753 --- /dev/null +++ b/sources/plugins/image/lang/pt-br.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/pt.js b/sources/plugins/image/lang/pt.js new file mode 100644 index 0000000..c152d81 --- /dev/null +++ b/sources/plugins/image/lang/pt.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 em uma imagem?', + hSpace: 'Esp.Horiz', + img2Button: 'Deseja transformar a imagem selecionada em um 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 imagens', + upload: 'Carregar', + urlMissing: 'O URL da fonte da imagem está em falta.', + vSpace: 'Esp.Vert', + validateBorder: 'A borda tem de ser um numero.', + validateHSpace: 'HSpace tem de ser um numero.', + validateVSpace: 'VSpace tem de ser um numero.' +} ); diff --git a/sources/plugins/image/lang/ro.js b/sources/plugins/image/lang/ro.js new file mode 100644 index 0000000..c45929a --- /dev/null +++ b/sources/plugins/image/lang/ro.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'image', 'ro', { + alt: 'Text alternativ', + border: 'Margine', + btnUpload: 'Trimite la 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: '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 un număr întreg.', + validateHSpace: 'Hspace trebuie să fie un număr întreg.', + validateVSpace: 'Vspace trebuie să fie un număr întreg.' +} ); diff --git a/sources/plugins/image/lang/ru.js b/sources/plugins/image/lang/ru.js new file mode 100644 index 0000000..1ea84d2 --- /dev/null +++ b/sources/plugins/image/lang/ru.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: 'Вертикальный отступ должен быть задан числом.' +} ); diff --git a/sources/plugins/image/lang/si.js b/sources/plugins/image/lang/si.js new file mode 100644 index 0000000..7a15196 --- /dev/null +++ b/sources/plugins/image/lang/si.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 සම්පුර්ණ සංක්‍යාවක් විය යුතුය.' +} ); diff --git a/sources/plugins/image/lang/sk.js b/sources/plugins/image/lang/sk.js new file mode 100644 index 0000000..1384f6b --- /dev/null +++ b/sources/plugins/image/lang/sk.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/sl.js b/sources/plugins/image/lang/sl.js new file mode 100644 index 0000000..4c7ba8f --- /dev/null +++ b/sources/plugins/image/lang/sl.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'image', 'sl', { + alt: 'Nadomestno besedilo', + border: 'Obroba', + btnUpload: 'Pošlji na strežnik', + button2Img: 'Želiš pretvoriti izbrani gumb s sliko v preprosto sliko?', + hSpace: 'Vodoravni razmik', + img2Button: 'Želiš 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: 'Pošlji', + urlMissing: 'Manjka vir (URL) slike.', + vSpace: 'Navpični razmik', + validateBorder: 'Meja mora biti celo število.', + validateHSpace: 'HSpace mora biti celo število.', + validateVSpace: 'VSpace mora biti celo število.' +} ); diff --git a/sources/plugins/image/lang/sq.js b/sources/plugins/image/lang/sq.js new file mode 100644 index 0000000..a851819 --- /dev/null +++ b/sources/plugins/image/lang/sq.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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ë.' +} ); diff --git a/sources/plugins/image/lang/sr-latn.js b/sources/plugins/image/lang/sr-latn.js new file mode 100644 index 0000000..25c39c3 --- /dev/null +++ b/sources/plugins/image/lang/sr-latn.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 +} ); diff --git a/sources/plugins/image/lang/sr.js b/sources/plugins/image/lang/sr.js new file mode 100644 index 0000000..25b44c5 --- /dev/null +++ b/sources/plugins/image/lang/sr.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 треба да буде цифра.' +} ); diff --git a/sources/plugins/image/lang/sv.js b/sources/plugins/image/lang/sv.js new file mode 100644 index 0000000..bc11f09 --- /dev/null +++ b/sources/plugins/image/lang/sv.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/th.js b/sources/plugins/image/lang/th.js new file mode 100644 index 0000000..f9f8023 --- /dev/null +++ b/sources/plugins/image/lang/th.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 +} ); diff --git a/sources/plugins/image/lang/tr.js b/sources/plugins/image/lang/tr.js new file mode 100644 index 0000000..5a668f2 --- /dev/null +++ b/sources/plugins/image/lang/tr.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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.' +} ); diff --git a/sources/plugins/image/lang/tt.js b/sources/plugins/image/lang/tt.js new file mode 100644 index 0000000..8daf0af --- /dev/null +++ b/sources/plugins/image/lang/tt.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: 'Вертикаль ара бөтен сан булырга тиеш.' +} ); diff --git a/sources/plugins/image/lang/ug.js b/sources/plugins/image/lang/ug.js new file mode 100644 index 0000000..70382ec --- /dev/null +++ b/sources/plugins/image/lang/ug.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: 'بويىغا ئارىلىق چوقۇم پۈتۈن سان بولىدۇ' +} ); diff --git a/sources/plugins/image/lang/uk.js b/sources/plugins/image/lang/uk.js new file mode 100644 index 0000000..c32c230 --- /dev/null +++ b/sources/plugins/image/lang/uk.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: 'Верт. відступ повинен бути цілим числом.' +} ); diff --git a/sources/plugins/image/lang/vi.js b/sources/plugins/image/lang/vi.js new file mode 100644 index 0000000..70d7578 --- /dev/null +++ b/sources/plugins/image/lang/vi.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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' +} ); diff --git a/sources/plugins/image/lang/zh-cn.js b/sources/plugins/image/lang/zh-cn.js new file mode 100644 index 0000000..651468f --- /dev/null +++ b/sources/plugins/image/lang/zh-cn.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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: '垂直间距必须为整数格式' +} ); diff --git a/sources/plugins/image/lang/zh.js b/sources/plugins/image/lang/zh.js new file mode 100644 index 0000000..0859d26 --- /dev/null +++ b/sources/plugins/image/lang/zh.js @@ -0,0 +1,25 @@ +/* +Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/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 必須是整數。' +} ); diff --git a/sources/plugins/image/plugin.js b/sources/plugins/image/plugin.js new file mode 100644 index 0000000..8bed8ec --- /dev/null +++ b/sources/plugins/image/plugin.js @@ -0,0 +1,183 @@ +/** + * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview The Image plugin. + */ + +( function() { + + CKEDITOR.plugins.add( 'image', { + requires: 'dialog', + // jscs:disable maximumLineLength + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,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,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 (#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 (#11222). + if ( editor.plugins.image2 ) + return; + + // Customize the behavior of the alignment commands. (#7430) + setupAlignCommand( 'left' ); + setupAlignCommand( 'right' ); + setupAlignCommand( 'center' ); + setupAlignCommand( 'block' ); + + function setupAlignCommand( value ) { + var command = editor.getCommand( 'justify' + value ); + if ( command ) { + if ( value == 'left' || value == 'right' ) { + command.on( 'exec', function( evt ) { + var img = getSelectedImage( editor ), + align; + if ( img ) { + align = getImageAlignment( img ); + if ( align == value ) { + img.removeStyle( 'float' ); + + // Remove "align" attribute when necessary. + if ( value == getImageAlignment( img ) ) + img.removeAttribute( 'align' ); + } else { + img.setStyle( 'float', value ); + } + + evt.cancel(); + } + } ); + } + + command.on( 'refresh', function( evt ) { + var img = getSelectedImage( editor ), + align; + if ( img ) { + align = getImageAlignment( img ); + + this.setState( + ( align == value ) ? CKEDITOR.TRISTATE_ON : ( value == 'right' || value == 'left' ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED ); + + evt.cancel(); + } + } ); + } + } + } + } ); + + function getSelectedImage( editor, element ) { + if ( !element ) { + var sel = editor.getSelection(); + element = sel.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 + */ -- cgit v1.2.3