aboutsummaryrefslogtreecommitdiff
path: root/sources/plugins/clipboard
diff options
context:
space:
mode:
Diffstat (limited to 'sources/plugins/clipboard')
-rw-r--r--sources/plugins/clipboard/dev/dnd.html2
-rw-r--r--sources/plugins/clipboard/dialogs/paste.js254
-rw-r--r--sources/plugins/clipboard/lang/af.js5
-rw-r--r--sources/plugins/clipboard/lang/ar.js5
-rw-r--r--sources/plugins/clipboard/lang/az.js5
-rw-r--r--sources/plugins/clipboard/lang/bg.js5
-rw-r--r--sources/plugins/clipboard/lang/bn.js5
-rw-r--r--sources/plugins/clipboard/lang/bs.js5
-rw-r--r--sources/plugins/clipboard/lang/ca.js5
-rw-r--r--sources/plugins/clipboard/lang/cs.js5
-rw-r--r--sources/plugins/clipboard/lang/cy.js5
-rw-r--r--sources/plugins/clipboard/lang/da.js5
-rw-r--r--sources/plugins/clipboard/lang/de-ch.js5
-rw-r--r--sources/plugins/clipboard/lang/de.js5
-rw-r--r--sources/plugins/clipboard/lang/el.js5
-rw-r--r--sources/plugins/clipboard/lang/en-au.js5
-rw-r--r--sources/plugins/clipboard/lang/en-ca.js5
-rw-r--r--sources/plugins/clipboard/lang/en-gb.js5
-rw-r--r--sources/plugins/clipboard/lang/en.js5
-rw-r--r--sources/plugins/clipboard/lang/eo.js5
-rw-r--r--sources/plugins/clipboard/lang/es-mx.js12
-rw-r--r--sources/plugins/clipboard/lang/es.js5
-rw-r--r--sources/plugins/clipboard/lang/et.js5
-rw-r--r--sources/plugins/clipboard/lang/eu.js5
-rw-r--r--sources/plugins/clipboard/lang/fa.js5
-rw-r--r--sources/plugins/clipboard/lang/fi.js5
-rw-r--r--sources/plugins/clipboard/lang/fo.js5
-rw-r--r--sources/plugins/clipboard/lang/fr-ca.js5
-rw-r--r--sources/plugins/clipboard/lang/fr.js5
-rw-r--r--sources/plugins/clipboard/lang/gl.js5
-rw-r--r--sources/plugins/clipboard/lang/gu.js5
-rw-r--r--sources/plugins/clipboard/lang/he.js5
-rw-r--r--sources/plugins/clipboard/lang/hi.js5
-rw-r--r--sources/plugins/clipboard/lang/hr.js5
-rw-r--r--sources/plugins/clipboard/lang/hu.js5
-rw-r--r--sources/plugins/clipboard/lang/id.js5
-rw-r--r--sources/plugins/clipboard/lang/is.js5
-rw-r--r--sources/plugins/clipboard/lang/it.js5
-rw-r--r--sources/plugins/clipboard/lang/ja.js5
-rw-r--r--sources/plugins/clipboard/lang/ka.js5
-rw-r--r--sources/plugins/clipboard/lang/km.js5
-rw-r--r--sources/plugins/clipboard/lang/ko.js5
-rw-r--r--sources/plugins/clipboard/lang/ku.js5
-rw-r--r--sources/plugins/clipboard/lang/lt.js5
-rw-r--r--sources/plugins/clipboard/lang/lv.js5
-rw-r--r--sources/plugins/clipboard/lang/mk.js5
-rw-r--r--sources/plugins/clipboard/lang/mn.js5
-rw-r--r--sources/plugins/clipboard/lang/ms.js5
-rw-r--r--sources/plugins/clipboard/lang/nb.js5
-rw-r--r--sources/plugins/clipboard/lang/nl.js5
-rw-r--r--sources/plugins/clipboard/lang/no.js5
-rw-r--r--sources/plugins/clipboard/lang/oc.js5
-rw-r--r--sources/plugins/clipboard/lang/pl.js5
-rw-r--r--sources/plugins/clipboard/lang/pt-br.js5
-rw-r--r--sources/plugins/clipboard/lang/pt.js5
-rw-r--r--sources/plugins/clipboard/lang/ro.js5
-rw-r--r--sources/plugins/clipboard/lang/ru.js5
-rw-r--r--sources/plugins/clipboard/lang/si.js5
-rw-r--r--sources/plugins/clipboard/lang/sk.js5
-rw-r--r--sources/plugins/clipboard/lang/sl.js5
-rw-r--r--sources/plugins/clipboard/lang/sq.js5
-rw-r--r--sources/plugins/clipboard/lang/sr-latn.js5
-rw-r--r--sources/plugins/clipboard/lang/sr.js5
-rw-r--r--sources/plugins/clipboard/lang/sv.js9
-rw-r--r--sources/plugins/clipboard/lang/th.js5
-rw-r--r--sources/plugins/clipboard/lang/tr.js5
-rw-r--r--sources/plugins/clipboard/lang/tt.js5
-rw-r--r--sources/plugins/clipboard/lang/ug.js5
-rw-r--r--sources/plugins/clipboard/lang/uk.js5
-rw-r--r--sources/plugins/clipboard/lang/vi.js5
-rw-r--r--sources/plugins/clipboard/lang/zh-cn.js5
-rw-r--r--sources/plugins/clipboard/lang/zh.js5
-rw-r--r--sources/plugins/clipboard/plugin.js332
73 files changed, 254 insertions, 695 deletions
diff --git a/sources/plugins/clipboard/dev/dnd.html b/sources/plugins/clipboard/dev/dnd.html
index 2dfb2be..c45475b 100644
--- a/sources/plugins/clipboard/dev/dnd.html
+++ b/sources/plugins/clipboard/dev/dnd.html
@@ -6,7 +6,7 @@ For licensing, see LICENSE.md or http://ckeditor.com/license
6<html> 6<html>
7<head> 7<head>
8 <meta charset="utf-8"> 8 <meta charset="utf-8">
9 <title>Manual test for #11460</title> 9 <title>Manual test for http://dev.ckeditor.com/ticket/11460</title>
10 <script src="../../../ckeditor.js"></script> 10 <script src="../../../ckeditor.js"></script>
11 <script src="../../../dev/console/console.js"></script> 11 <script src="../../../dev/console/console.js"></script>
12 <script src="../../../plugins/clipboard/dev/console.js"></script> 12 <script src="../../../plugins/clipboard/dev/console.js"></script>
diff --git a/sources/plugins/clipboard/dialogs/paste.js b/sources/plugins/clipboard/dialogs/paste.js
deleted file mode 100644
index 80ce29f..0000000
--- a/sources/plugins/clipboard/dialogs/paste.js
+++ /dev/null
@@ -1,254 +0,0 @@
1/**
2 * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
3 * For licensing, see LICENSE.md or http://ckeditor.com/license
4 */
5
6CKEDITOR.dialog.add( 'paste', function( editor ) {
7 var lang = editor.lang.clipboard,
8 clipboard = CKEDITOR.plugins.clipboard,
9 lastDataTransfer;
10
11 function onPasteFrameLoad( win ) {
12 var doc = new CKEDITOR.dom.document( win.document ),
13 body = doc.getBody(),
14 script = doc.getById( 'cke_actscrpt' );
15
16 script && script.remove();
17
18 body.setAttribute( 'contenteditable', true );
19
20 // Forward dataTransfer (#13883).
21 body.on( clipboard.mainPasteEvent, function( evt ) {
22 var dataTransfer = clipboard.initPasteDataTransfer( evt );
23
24 if ( !lastDataTransfer ) {
25 lastDataTransfer = dataTransfer;
26 } else
27 // For two paste with the same dataTransfer we can use that dataTransfer (two internal pastes are
28 // considered as an internal paste).
29 if ( dataTransfer != lastDataTransfer ) {
30 // If there were two paste with different DataTransfer objects create a new, empty, data transfer
31 // and use it (one internal and one external paste are considered as external paste).
32 lastDataTransfer = clipboard.initPasteDataTransfer();
33 }
34 } );
35
36 // IE before version 8 will leave cursor blinking inside the document after
37 // editor blurred unless we clean up the selection. (#4716)
38 if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 ) {
39 doc.getWindow().on( 'blur', function() {
40 doc.$.selection.empty();
41 } );
42 }
43
44 doc.on( 'keydown', function( e ) {
45 var domEvent = e.data,
46 key = domEvent.getKeystroke(),
47 processed;
48
49 switch ( key ) {
50 case 27:
51 this.hide();
52 processed = 1;
53 break;
54
55 case 9:
56 case CKEDITOR.SHIFT + 9:
57 this.changeFocus( 1 );
58 processed = 1;
59 }
60
61 processed && domEvent.preventDefault();
62 }, this );
63
64 editor.fire( 'ariaWidget', new CKEDITOR.dom.element( win.frameElement ) );
65
66 // Handle pending focus.
67 if ( doc.getWindow().getFrame().removeCustomData( 'pendingFocus' ) )
68 body.focus();
69 }
70
71 // If pasteDialogCommit wasn't canceled by e.g. editor.getClipboardData
72 // then fire paste event.
73 // Do not use editor#paste, because it would start from beforePaste event.
74 editor.on( 'pasteDialogCommit', function( evt ) {
75 if ( evt.data )
76 editor.fire( 'paste', {
77 type: 'auto',
78 dataValue: evt.data.dataValue,
79 method: 'paste',
80 dataTransfer: evt.data.dataTransfer || clipboard.initPasteDataTransfer()
81 } );
82 }, null, null, 1000 );
83
84 return {
85 title: lang.title,
86
87 minWidth: CKEDITOR.env.ie && CKEDITOR.env.quirks ? 370 : 350,
88 minHeight: CKEDITOR.env.quirks ? 250 : 245,
89 onShow: function() {
90 // FIREFOX BUG: Force the browser to render the dialog to make the to-be-
91 // inserted iframe editable. (#3366)
92 this.parts.dialog.$.offsetHeight;
93
94 this.setupContent();
95
96 // Set dialog title to the custom value (set e.g. in editor.openDialog callback) and reset this value.
97 // If custom title not set, use default one.
98 this.parts.title.setHtml( this.customTitle || lang.title );
99 this.customTitle = null;
100 },
101
102 onLoad: function() {
103 if ( ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) && editor.lang.dir == 'rtl' )
104 this.parts.contents.setStyle( 'overflow', 'hidden' );
105 },
106
107 onOk: function() {
108 this.commitContent();
109 },
110
111 contents: [ {
112 id: 'general',
113 label: editor.lang.common.generalTab,
114 elements: [
115 {
116 type: 'html',
117 id: 'securityMsg',
118 html: '<div style="white-space:normal;width:340px">' + lang.securityMsg + '</div>'
119 },
120 {
121 type: 'html',
122 id: 'pasteMsg',
123 html: '<div style="white-space:normal;width:340px">' + lang.pasteMsg + '</div>'
124 },
125 {
126 type: 'html',
127 id: 'editing_area',
128 style: 'width:100%;height:100%',
129 html: '',
130 focus: function() {
131 var iframe = this.getInputElement(),
132 doc = iframe.getFrameDocument(),
133 body = doc.getBody();
134
135 // Frame content may not loaded at the moment.
136 if ( !body || body.isReadOnly() )
137 iframe.setCustomData( 'pendingFocus', 1 );
138 else
139 body.focus();
140 },
141 setup: function() {
142 var dialog = this.getDialog();
143 var htmlToLoad = '<html dir="' + editor.config.contentsLangDirection + '"' +
144 ' lang="' + ( editor.config.contentsLanguage || editor.langCode ) + '">' +
145 '<head><style>body{margin:3px;height:95%;word-break:break-all;}</style></head><body>' +
146 '<script id="cke_actscrpt" type="text/javascript">' +
147 'window.parent.CKEDITOR.tools.callFunction(' + CKEDITOR.tools.addFunction( onPasteFrameLoad, dialog ) + ',this);' +
148 '</script></body>' +
149 '</html>';
150
151 var src =
152 CKEDITOR.env.air ?
153 'javascript:void(0)' : // jshint ignore:line
154 ( CKEDITOR.env.ie && !CKEDITOR.env.edge ) ?
155 'javascript:void((function(){' + encodeURIComponent( // jshint ignore:line
156 'document.open();' +
157 '(' + CKEDITOR.tools.fixDomain + ')();' +
158 'document.close();'
159 ) + '})())"'
160 : '';
161
162 var iframe = CKEDITOR.dom.element.createFromHtml( '<iframe' +
163 ' class="cke_pasteframe"' +
164 ' frameborder="0" ' +
165 ' allowTransparency="true"' +
166 ' src="' + src + '"' +
167 ' aria-label="' + lang.pasteArea + '"' +
168 ' aria-describedby="' + dialog.getContentElement( 'general', 'pasteMsg' ).domId + '"' +
169 '></iframe>' );
170
171 // Reset last data transfer.
172 lastDataTransfer = null;
173
174 iframe.on( 'load', function( e ) {
175 e.removeListener();
176
177 var doc = iframe.getFrameDocument();
178 doc.write( htmlToLoad );
179
180 editor.focusManager.add( doc.getBody() );
181
182 if ( CKEDITOR.env.air )
183 onPasteFrameLoad.call( this, doc.getWindow().$ );
184 }, dialog );
185
186 iframe.setCustomData( 'dialog', dialog );
187
188 var container = this.getElement();
189 container.setHtml( '' );
190 container.append( iframe );
191
192 // IE need a redirect on focus to make
193 // the cursor blinking inside iframe. (#5461)
194 if ( CKEDITOR.env.ie && !CKEDITOR.env.edge ) {
195 var focusGrabber = CKEDITOR.dom.element.createFromHtml( '<span tabindex="-1" style="position:absolute" role="presentation"></span>' );
196 focusGrabber.on( 'focus', function() {
197 // Since fixDomain is called in src attribute,
198 // IE needs some slight delay to correctly move focus.
199 setTimeout( function() {
200 iframe.$.contentWindow.focus();
201 } );
202 } );
203 container.append( focusGrabber );
204
205 // Override focus handler on field.
206 this.focus = function() {
207 focusGrabber.focus();
208 this.fire( 'focus' );
209 };
210 }
211
212 this.getInputElement = function() {
213 return iframe;
214 };
215
216 // Force container to scale in IE.
217 if ( CKEDITOR.env.ie ) {
218 container.setStyle( 'display', 'block' );
219 container.setStyle( 'height', ( iframe.$.offsetHeight + 2 ) + 'px' );
220 }
221 },
222 commit: function() {
223 var editor = this.getDialog().getParentEditor(),
224 body = this.getInputElement().getFrameDocument().getBody(),
225 bogus = body.getBogus(),
226 html;
227 bogus && bogus.remove();
228
229 // Saving the contents so changes until paste is complete will not take place (#7500)
230 html = body.getHtml();
231
232 // Opera needs some time to think about what has happened and what it should do now.
233 setTimeout( function() {
234 editor.fire( 'pasteDialogCommit', {
235 dataValue: html,
236 // Avoid error if there was no paste so lastDataTransfer is null.
237 dataTransfer: lastDataTransfer || clipboard.initPasteDataTransfer()
238 } );
239 }, 0 );
240 }
241 }
242 ]
243 } ]
244 };
245} );
246
247/**
248 * Internal event to pass paste dialog's data to the listeners.
249 *
250 * @private
251 * @event pasteDialogCommit
252 * @member CKEDITOR.editor
253 * @param {CKEDITOR.editor} editor This editor instance.
254 */
diff --git a/sources/plugins/clipboard/lang/af.js b/sources/plugins/clipboard/lang/af.js
index f87522f..5860867 100644
--- a/sources/plugins/clipboard/lang/af.js
+++ b/sources/plugins/clipboard/lang/af.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'af', {
8 cut: 'Knip', 8 cut: 'Knip',
9 cutError: 'U blaaier se sekuriteitsinstelling belet die outomatiese knip-aksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+X).', 9 cutError: 'U blaaier se sekuriteitsinstelling belet die outomatiese knip-aksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+X).',
10 paste: 'Plak', 10 paste: 'Plak',
11 pasteArea: 'Plak-area', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Plak die teks in die volgende teks-area met die sleutelbordkombinasie (<STRONG>Ctrl/Cmd+V</STRONG>) en druk <STRONG>OK</STRONG>.',
13 securityMsg: 'Weens u blaaier se sekuriteitsinstelling is data op die knipbord nie toeganklik nie. U kan dit eers weer in hierdie venster plak.',
14 title: 'Byvoeg'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/ar.js b/sources/plugins/clipboard/lang/ar.js
index aa96596..6d1a0b0 100644
--- a/sources/plugins/clipboard/lang/ar.js
+++ b/sources/plugins/clipboard/lang/ar.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ar', {
8 cut: 'قص', 8 cut: 'قص',
9 cutError: 'الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+X).', 9 cutError: 'الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+X).',
10 paste: 'لصق', 10 paste: 'لصق',
11 pasteArea: 'منطقة اللصق', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'الصق داخل الصندوق بإستخدام زرائر (<STRONG>Ctrl/Cmd+V</STRONG>) في لوحة المفاتيح، ثم اضغط زر <STRONG>موافق</STRONG>.',
13 securityMsg: 'نظراً لإعدادات الأمان الخاصة بمتصفحك، لن يتمكن هذا المحرر من الوصول لمحتوى حافظتك، لذلك يجب عليك لصق المحتوى مرة أخرى في هذه النافذة.',
14 title: 'لصق'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/az.js b/sources/plugins/clipboard/lang/az.js
index 1fc1a99..8f60f35 100644
--- a/sources/plugins/clipboard/lang/az.js
+++ b/sources/plugins/clipboard/lang/az.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'az', {
8 cut: 'Kəs', 8 cut: 'Kəs',
9 cutError: 'Avtomatik kəsmə mümkün deyil. Ctrl+X basın.', 9 cutError: 'Avtomatik kəsmə mümkün deyil. Ctrl+X basın.',
10 paste: 'Əlavə et', 10 paste: 'Əlavə et',
11 pasteArea: 'Əlavəetmə sahəsi', 11 pasteNotification: 'Sizin İnternet bələdçisi bu cür mətnin köçürməsi dəstəklənmir. Əlavə etmək üçün %1 basın.'
12 pasteMsg: 'Bu sahəyə əlavə edin (<strong>Ctrl+V</strong>)',
13 securityMsg: 'Mübadilə buferi açmaq mümkün deyil. Bu pəncərədə yenidən əlavə edin.',
14 title: 'Əlavə et'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/bg.js b/sources/plugins/clipboard/lang/bg.js
index 93a5a9c..2d8eede 100644
--- a/sources/plugins/clipboard/lang/bg.js
+++ b/sources/plugins/clipboard/lang/bg.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'bg', {
8 cut: 'Отрежи', 8 cut: 'Отрежи',
9 cutError: 'Настройките за сигурност на Вашия браузър не позволяват на редактора автоматично да изъплни действията за отрязване. Моля ползвайте клавиатурните команди за целта (ctrl+x).', 9 cutError: 'Настройките за сигурност на Вашия браузър не позволяват на редактора автоматично да изъплни действията за отрязване. Моля ползвайте клавиатурните команди за целта (ctrl+x).',
10 paste: 'Вмъкни', 10 paste: 'Вмъкни',
11 pasteArea: 'Зона за вмъкване', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Вмъкнете тук съдъжанието с клавиатуарата (<STRONG>Ctrl/Cmd+V</STRONG>) и натиснете <STRONG>OK</STRONG>.',
13 securityMsg: 'Заради настройките за сигурност на Вашия браузър, редакторът не може да прочете данните от клипборда коректно.',
14 title: 'Вмъкни'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/bn.js b/sources/plugins/clipboard/lang/bn.js
index f821fa0..1d0922a 100644
--- a/sources/plugins/clipboard/lang/bn.js
+++ b/sources/plugins/clipboard/lang/bn.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'bn', {
8 cut: 'কাট', 8 cut: 'কাট',
9 cutError: 'আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কাট করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+X)।', 9 cutError: 'আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কাট করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+X)।',
10 paste: 'পেস্ট', 10 paste: 'পেস্ট',
11 pasteArea: 'Paste Area', // MISSING 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'অনুগ্রহ করে নীচের বাক্সে কিবোর্ড ব্যবহার করে (<STRONG>Ctrl/Cmd+V</STRONG>) পেস্ট করুন এবং <STRONG>OK</STRONG> চাপ দিন',
13 securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING
14 title: 'পেস্ট'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/bs.js b/sources/plugins/clipboard/lang/bs.js
index 1c23a61..62f3f1b 100644
--- a/sources/plugins/clipboard/lang/bs.js
+++ b/sources/plugins/clipboard/lang/bs.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'bs', {
8 cut: 'Izreži', 8 cut: 'Izreži',
9 cutError: 'Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+X).', 9 cutError: 'Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+X).',
10 paste: 'Zalijepi', 10 paste: 'Zalijepi',
11 pasteArea: 'Paste Area', // MISSING 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK', // MISSING
13 securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING
14 title: 'Zalijepi'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/ca.js b/sources/plugins/clipboard/lang/ca.js
index 52179c1..6cd3b58 100644
--- a/sources/plugins/clipboard/lang/ca.js
+++ b/sources/plugins/clipboard/lang/ca.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ca', {
8 cut: 'Retallar', 8 cut: 'Retallar',
9 cutError: 'La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+X).', 9 cutError: 'La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+X).',
10 paste: 'Enganxar', 10 paste: 'Enganxar',
11 pasteArea: 'Àrea d\'enganxat', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Si us plau, enganxi dins del següent camp utilitzant el teclat (<strong>Ctrl/Cmd+V</strong>) i premi OK.',
13 securityMsg: 'A causa de la configuració de seguretat del vostre navegador, l\'editor no pot accedir a les dades del porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.',
14 title: 'Enganxar'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/cs.js b/sources/plugins/clipboard/lang/cs.js
index 7cf573e..4cbf3b4 100644
--- a/sources/plugins/clipboard/lang/cs.js
+++ b/sources/plugins/clipboard/lang/cs.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'cs', {
8 cut: 'Vyjmout', 8 cut: 'Vyjmout',
9 cutError: 'Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+X).', 9 cutError: 'Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+X).',
10 paste: 'Vložit', 10 paste: 'Vložit',
11 pasteArea: 'Oblast vkládání', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Do následujícího pole vložte požadovaný obsah pomocí klávesnice (<STRONG>Ctrl/Cmd+V</STRONG>) a stiskněte <STRONG>OK</STRONG>.',
13 securityMsg: 'Z důvodů nastavení bezpečnosti vašeho prohlížeče nemůže editor přistupovat přímo do schránky. Obsah schránky prosím vložte znovu do tohoto okna.',
14 title: 'Vložit'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/cy.js b/sources/plugins/clipboard/lang/cy.js
index 00c5eeb..e854e13 100644
--- a/sources/plugins/clipboard/lang/cy.js
+++ b/sources/plugins/clipboard/lang/cy.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'cy', {
8 cut: 'Torri', 8 cut: 'Torri',
9 cutError: 'Nid yw gosodiadau diogelwch eich porwr yn caniatàu\'r golygydd i gynnal \'gweithredoedd torri\' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+X).', 9 cutError: 'Nid yw gosodiadau diogelwch eich porwr yn caniatàu\'r golygydd i gynnal \'gweithredoedd torri\' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+X).',
10 paste: 'Gludo', 10 paste: 'Gludo',
11 pasteArea: 'Ardal Gludo', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Gludwch i mewn i\'r blwch canlynol gan ddefnyddio\'r bysellfwrdd (<strong>Ctrl/Cmd+V</strong>) a phwyso <strong>Iawn</strong>.',
13 securityMsg: 'Oherwydd gosodiadau diogelwch eich porwr, \'dyw\'r porwr ddim yn gallu ennill mynediad i\'r data ar y clipfwrdd yn uniongyrchol. Mae angen i chi ei ludo eto i\'r ffenestr hon.',
14 title: 'Gludo'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/da.js b/sources/plugins/clipboard/lang/da.js
index c029016..257c9d4 100644
--- a/sources/plugins/clipboard/lang/da.js
+++ b/sources/plugins/clipboard/lang/da.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'da', {
8 cut: 'Klip', 8 cut: 'Klip',
9 cutError: 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at klippe teksten (Ctrl/Cmd+X).', 9 cutError: 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at klippe teksten (Ctrl/Cmd+X).',
10 paste: 'Indsæt', 10 paste: 'Indsæt',
11 pasteArea: 'Indsæt område', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Indsæt i feltet herunder (<STRONG>Ctrl/Cmd+V</STRONG>) og klik på <STRONG>OK</STRONG>.',
13 securityMsg: 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Du skal indsætte udklipsholderens indhold i dette vindue igen.',
14 title: 'Indsæt'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/de-ch.js b/sources/plugins/clipboard/lang/de-ch.js
index 325b100..e3b9ead 100644
--- a/sources/plugins/clipboard/lang/de-ch.js
+++ b/sources/plugins/clipboard/lang/de-ch.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'de-ch', {
8 cut: 'Ausschneiden', 8 cut: 'Ausschneiden',
9 cutError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).', 9 cutError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).',
10 paste: 'Einfügen', 10 paste: 'Einfügen',
11 pasteArea: 'Einfügebereich', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit <STRONG>Strg+V</STRONG>) ein und bestätigen Sie mit <STRONG>OK</STRONG>.',
13 securityMsg: 'Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.',
14 title: 'Einfügen'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/de.js b/sources/plugins/clipboard/lang/de.js
index 2d6b30b..5244081 100644
--- a/sources/plugins/clipboard/lang/de.js
+++ b/sources/plugins/clipboard/lang/de.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'de', {
8 cut: 'Ausschneiden', 8 cut: 'Ausschneiden',
9 cutError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).', 9 cutError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).',
10 paste: 'Einfügen', 10 paste: 'Einfügen',
11 pasteArea: 'Einfügebereich', 11 pasteNotification: 'Ihr Browser verhindert das Einfügen über diesen Weg. Zum einfügen drücken Sie %1.'
12 pasteMsg: 'Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit <STRONG>Strg+V</STRONG>) ein und bestätigen Sie mit <STRONG>OK</STRONG>.',
13 securityMsg: 'Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.',
14 title: 'Einfügen'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/el.js b/sources/plugins/clipboard/lang/el.js
index 0528840..4ee396b 100644
--- a/sources/plugins/clipboard/lang/el.js
+++ b/sources/plugins/clipboard/lang/el.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'el', {
8 cut: 'Αποκοπή', 8 cut: 'Αποκοπή',
9 cutError: 'Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).', 9 cutError: 'Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).',
10 paste: 'Επικόλληση', 10 paste: 'Επικόλληση',
11 pasteArea: 'Περιοχή Επικόλλησης', 11 pasteNotification: 'Ο περιηγητής σας δεν σας επιτρέπει να επικολλήσετε με αυτόν τον τρόπο. Πατήστε %1 για επικόλληση.'
12 pasteMsg: 'Παρακαλώ επικολλήστε στο ακόλουθο κουτί χρησιμοποιώντας το πληκτρολόγιο (<strong>Ctrl/Cmd+V</strong>) και πατήστε OK.',
13 securityMsg: 'Λόγων των ρυθμίσεων ασφάλειας του περιηγητή σας, ο επεξεργαστής δεν μπορεί να έχει πρόσβαση στην μνήμη επικόλλησης. Χρειάζεται να επικολλήσετε ξανά σε αυτό το παράθυρο.',
14 title: 'Επικόλληση'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/en-au.js b/sources/plugins/clipboard/lang/en-au.js
index 5c497fb..018a754 100644
--- a/sources/plugins/clipboard/lang/en-au.js
+++ b/sources/plugins/clipboard/lang/en-au.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'en-au', {
8 cut: 'Cut', 8 cut: 'Cut',
9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', 9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).',
10 paste: 'Paste', 10 paste: 'Paste',
11 pasteArea: 'Paste Area', // MISSING 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK',
13 securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.',
14 title: 'Paste'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/en-ca.js b/sources/plugins/clipboard/lang/en-ca.js
index 036ebab..fd76ba7 100644
--- a/sources/plugins/clipboard/lang/en-ca.js
+++ b/sources/plugins/clipboard/lang/en-ca.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'en-ca', {
8 cut: 'Cut', 8 cut: 'Cut',
9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', 9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).',
10 paste: 'Paste', 10 paste: 'Paste',
11 pasteArea: 'Paste Area', // MISSING 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK',
13 securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.',
14 title: 'Paste'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/en-gb.js b/sources/plugins/clipboard/lang/en-gb.js
index bb511ce..fb6aa2e 100644
--- a/sources/plugins/clipboard/lang/en-gb.js
+++ b/sources/plugins/clipboard/lang/en-gb.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'en-gb', {
8 cut: 'Cut', 8 cut: 'Cut',
9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', 9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).',
10 paste: 'Paste', 10 paste: 'Paste',
11 pasteArea: 'Paste Area', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK',
13 securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.',
14 title: 'Paste'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/en.js b/sources/plugins/clipboard/lang/en.js
index 4db6960..5d81cc0 100644
--- a/sources/plugins/clipboard/lang/en.js
+++ b/sources/plugins/clipboard/lang/en.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'en', {
8 cut: 'Cut', 8 cut: 'Cut',
9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', 9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).',
10 paste: 'Paste', 10 paste: 'Paste',
11 pasteArea: 'Paste Area', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.'
12 pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK',
13 securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.',
14 title: 'Paste'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/eo.js b/sources/plugins/clipboard/lang/eo.js
index 2df4150..3a01213 100644
--- a/sources/plugins/clipboard/lang/eo.js
+++ b/sources/plugins/clipboard/lang/eo.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'eo', {
8 cut: 'Eltondi', 8 cut: 'Eltondi',
9 cutError: 'La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-X).', 9 cutError: 'La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-X).',
10 paste: 'Interglui', 10 paste: 'Interglui',
11 pasteArea: 'Intergluoareo', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Bonvolu glui la tekston en la jenan areon per uzado de la klavaro (<strong>Ctrl/Cmd+V</strong>) kaj premu OK',
13 securityMsg: 'Pro la sekurecagordo de via TTT-legilo, la redaktilo ne povas rekte atingi viajn datenojn en la poŝo. Bonvolu denove interglui la datenojn en tiun fenestron.',
14 title: 'Interglui'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/es-mx.js b/sources/plugins/clipboard/lang/es-mx.js
new file mode 100644
index 0000000..f4a1be2
--- /dev/null
+++ b/sources/plugins/clipboard/lang/es-mx.js
@@ -0,0 +1,12 @@
1/*
2Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
3For licensing, see LICENSE.md or http://ckeditor.com/license
4*/
5CKEDITOR.plugins.setLang( 'clipboard', 'es-mx', {
6 copy: 'Copiar',
7 copyError: 'La configuración de seguridad de su navegador no permite al editor ejecutar automáticamente operaciones de copiado. Por favor, utilice el teclado para (Ctrl/Cmd+C).',
8 cut: 'Cortar',
9 cutError: 'La configuración de seguridad de su navegador no permite al editor ejecutar automáticamente operaciones de corte. Por favor, utilice el teclado para (Ctrl/Cmd+X).',
10 paste: 'Pegar',
11 pasteNotification: 'Tu navegador no permite pegar de esta manera. Presiona %1 para pegar.'
12} );
diff --git a/sources/plugins/clipboard/lang/es.js b/sources/plugins/clipboard/lang/es.js
index c455992..741d912 100644
--- a/sources/plugins/clipboard/lang/es.js
+++ b/sources/plugins/clipboard/lang/es.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'es', {
8 cut: 'Cortar', 8 cut: 'Cortar',
9 cutError: 'La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de cortado.\r\nPor favor use el teclado (Ctrl/Cmd+X).', 9 cutError: 'La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de cortado.\r\nPor favor use el teclado (Ctrl/Cmd+X).',
10 paste: 'Pegar', 10 paste: 'Pegar',
11 pasteArea: 'Zona de pegado', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Por favor pegue dentro del cuadro utilizando el teclado (<STRONG>Ctrl/Cmd+V</STRONG>);\r\nluego presione <STRONG>Aceptar</STRONG>.',
13 securityMsg: 'Debido a la configuración de seguridad de su navegador, el editor no tiene acceso al portapapeles.\r\nEs necesario que lo pegue de nuevo en esta ventana.',
14 title: 'Pegar'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/et.js b/sources/plugins/clipboard/lang/et.js
index 7d86b30..106ca61 100644
--- a/sources/plugins/clipboard/lang/et.js
+++ b/sources/plugins/clipboard/lang/et.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'et', {
8 cut: 'Lõika', 8 cut: 'Lõika',
9 cutError: 'Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+X).', 9 cutError: 'Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+X).',
10 paste: 'Aseta', 10 paste: 'Aseta',
11 pasteArea: 'Asetamise ala', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Palun aseta tekst järgnevasse kasti kasutades klaviatuuri klahvikombinatsiooni (<STRONG>Ctrl/Cmd+V</STRONG>) ja vajuta seejärel <STRONG>OK</STRONG>.',
13 securityMsg: 'Sinu veebisirvija turvaseadete tõttu ei oma redaktor otsest ligipääsu lõikelaua andmetele. Sa pead asetama need uuesti siia aknasse.',
14 title: 'Asetamine'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/eu.js b/sources/plugins/clipboard/lang/eu.js
index 93240b5..140fcb8 100644
--- a/sources/plugins/clipboard/lang/eu.js
+++ b/sources/plugins/clipboard/lang/eu.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'eu', {
8 cut: 'Ebaki', 8 cut: 'Ebaki',
9 cutError: 'Zure web nabigatzailearen segurtasun ezarpenek ez dute baimentzen testuak automatikoki moztea. Mesedez teklatua erabil ezazu (Ctrl/Cmd+X).', 9 cutError: 'Zure web nabigatzailearen segurtasun ezarpenek ez dute baimentzen testuak automatikoki moztea. Mesedez teklatua erabil ezazu (Ctrl/Cmd+X).',
10 paste: 'Itsatsi', 10 paste: 'Itsatsi',
11 pasteArea: 'Itsasteko area', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Mesedez teklatua erabiliz (<strong>Ctrl/Cmd+V</strong>) ondorengo eremuan testua itsatsi eta sakatu <strong>Ados</strong>.',
13 securityMsg: 'Nabigatzailearen segurtasun ezarpenak direla eta, editoreak ezin du arbela zuzenean erabili. Leiho honetan berriro itsatsi behar duzu.',
14 title: 'Itsatsi'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/fa.js b/sources/plugins/clipboard/lang/fa.js
index 8abee21..8dca4b3 100644
--- a/sources/plugins/clipboard/lang/fa.js
+++ b/sources/plugins/clipboard/lang/fa.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'fa', {
8 cut: 'برش', 8 cut: 'برش',
9 cutError: 'تنظیمات امنیتی مرورگر شما اجازه نمیدهد که ویرایشگر به طور خودکار عملکردهای برش را انجام دهد. لطفا با دکمههای صفحه کلید این کار را انجام دهید (Ctrl/Cmd+X).', 9 cutError: 'تنظیمات امنیتی مرورگر شما اجازه نمیدهد که ویرایشگر به طور خودکار عملکردهای برش را انجام دهد. لطفا با دکمههای صفحه کلید این کار را انجام دهید (Ctrl/Cmd+X).',
10 paste: 'چسباندن', 10 paste: 'چسباندن',
11 pasteArea: 'محل چسباندن', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'لطفا متن را با کلیدهای (<STRONG>Ctrl/Cmd+V</STRONG>) در این جعبهٴ متنی بچسبانید و <STRONG>پذیرش</STRONG> را بزنید.',
13 securityMsg: 'به خاطر تنظیمات امنیتی مرورگر شما، ویرایشگر نمیتواند دسترسی مستقیم به دادههای clipboard داشته باشد. شما باید دوباره آنرا در این پنجره بچسبانید.',
14 title: 'چسباندن'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/fi.js b/sources/plugins/clipboard/lang/fi.js
index d165fb3..b2db77a 100644
--- a/sources/plugins/clipboard/lang/fi.js
+++ b/sources/plugins/clipboard/lang/fi.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'fi', {
8 cut: 'Leikkaa', 8 cut: 'Leikkaa',
9 cutError: 'Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).', 9 cutError: 'Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).',
10 paste: 'Liitä', 10 paste: 'Liitä',
11 pasteArea: 'Leikealue', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Liitä painamalla (<STRONG>Ctrl+V</STRONG>) ja painamalla <STRONG>OK</STRONG>.',
13 securityMsg: 'Selaimesi turva-asetukset eivät salli editorin käyttää leikepöytää suoraan. Sinun pitää suorittaa liittäminen tässä ikkunassa.',
14 title: 'Liitä'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/fo.js b/sources/plugins/clipboard/lang/fo.js
index 5c1ec8a..8485ef3 100644
--- a/sources/plugins/clipboard/lang/fo.js
+++ b/sources/plugins/clipboard/lang/fo.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'fo', {
8 cut: 'Kvett', 8 cut: 'Kvett',
9 cutError: 'Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. Vinarliga nýt knappaborðið til at kvetta tekstin (Ctrl/Cmd+X).', 9 cutError: 'Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. Vinarliga nýt knappaborðið til at kvetta tekstin (Ctrl/Cmd+X).',
10 paste: 'Innrita', 10 paste: 'Innrita',
11 pasteArea: 'Avritingarumráði', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Vinarliga koyr tekstin í hendan rútin við knappaborðinum (<strong>Ctrl/Cmd+V</strong>) og klikk á <strong>Góðtak</strong>.',
13 securityMsg: 'Trygdaruppseting alnótskagans forðar tekstviðgeranum í beinleiðis atgongd til avritingarminnið. Tygum mugu royna aftur í hesum rútinum.',
14 title: 'Innrita'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/fr-ca.js b/sources/plugins/clipboard/lang/fr-ca.js
index 3425f56..1a2dd3d 100644
--- a/sources/plugins/clipboard/lang/fr-ca.js
+++ b/sources/plugins/clipboard/lang/fr-ca.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'fr-ca', {
8 cut: 'Couper', 8 cut: 'Couper',
9 cutError: 'Les paramètres de sécurité de votre navigateur empêchent l\'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+X).', 9 cutError: 'Les paramètres de sécurité de votre navigateur empêchent l\'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+X).',
10 paste: 'Coller', 10 paste: 'Coller',
11 pasteArea: 'Coller la zone', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Veuillez coller dans la zone ci-dessous en utilisant le clavier (<STRONG>Ctrl/Cmd+V</STRONG>) et appuyer sur <STRONG>OK</STRONG>.',
13 securityMsg: 'A cause des paramètres de sécurité de votre navigateur, l\'éditeur ne peut accéder au presse-papier directement. Vous devez coller à nouveau le contenu dans cette fenêtre.',
14 title: 'Coller'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/fr.js b/sources/plugins/clipboard/lang/fr.js
index bb8349f..054d055 100644
--- a/sources/plugins/clipboard/lang/fr.js
+++ b/sources/plugins/clipboard/lang/fr.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'fr', {
8 cut: 'Couper', 8 cut: 'Couper',
9 cutError: 'Les paramètres de sécurité de votre navigateur n\'autorisent pas l\'éditeur à exécuter automatiquement l\'opération « Couper ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+X).', 9 cutError: 'Les paramètres de sécurité de votre navigateur n\'autorisent pas l\'éditeur à exécuter automatiquement l\'opération « Couper ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+X).',
10 paste: 'Coller', 10 paste: 'Coller',
11 pasteArea: 'Coller la zone', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Veuillez coller le texte dans la zone suivante en utilisant le raccourci clavier (<strong>Ctrl/Cmd+V</strong>) et cliquez sur OK.',
13 securityMsg: 'Les paramètres de sécurité de votre navigateur empêchent l\'éditeur d\'accéder directement aux données du presse-papier. Vous devez les coller à nouveau dans cette fenêtre.',
14 title: 'Coller'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/gl.js b/sources/plugins/clipboard/lang/gl.js
index 3c89dd0..5b4fd1a 100644
--- a/sources/plugins/clipboard/lang/gl.js
+++ b/sources/plugins/clipboard/lang/gl.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'gl', {
8 cut: 'Cortar', 8 cut: 'Cortar',
9 cutError: 'Os axustes de seguranza do seu navegador non permiten que o editor realice automaticamente as tarefas de corte. Use o teclado para iso (Ctrl/Cmd+X).', 9 cutError: 'Os axustes de seguranza do seu navegador non permiten que o editor realice automaticamente as tarefas de corte. Use o teclado para iso (Ctrl/Cmd+X).',
10 paste: 'Pegar', 10 paste: 'Pegar',
11 pasteArea: 'Zona de pegado', 11 pasteNotification: 'O seu navegador non permite pegar deste xeito. Prema %1 para pegar.'
12 pasteMsg: 'Pegue dentro do seguinte cadro usando o teclado (<STRONG>Ctrl/Cmd+V</STRONG>) e prema en Aceptar',
13 securityMsg: 'Por mor da configuración de seguranza do seu navegador, o editor non ten acceso ao portapapeis. É necesario pegalo novamente nesta xanela.',
14 title: 'Pegar'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/gu.js b/sources/plugins/clipboard/lang/gu.js
index fcf039a..aeac560 100644
--- a/sources/plugins/clipboard/lang/gu.js
+++ b/sources/plugins/clipboard/lang/gu.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'gu', {
8 cut: 'કાપવું', 8 cut: 'કાપવું',
9 cutError: 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કટ કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+X) નો ઉપયોગ કરો.', 9 cutError: 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કટ કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+X) નો ઉપયોગ કરો.',
10 paste: 'પેસ્ટ', 10 paste: 'પેસ્ટ',
11 pasteArea: 'પેસ્ટ કરવાની જગ્યા', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Ctrl/Cmd+V નો પ્રયોગ કરી પેસ્ટ કરો',
13 securityMsg: 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસના કારણે,એડિટર તમારા કિલ્પબોર્ડ ડેટા ને કોપી નથી કરી શકતો. તમારે આ વિન્ડોમાં ફરીથી પેસ્ટ કરવું પડશે.',
14 title: 'પેસ્ટ'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/he.js b/sources/plugins/clipboard/lang/he.js
index a3726c3..460b9c6 100644
--- a/sources/plugins/clipboard/lang/he.js
+++ b/sources/plugins/clipboard/lang/he.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'he', {
8 cut: 'גזירה', 8 cut: 'גזירה',
9 cutError: 'הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות גזירה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl/Cmd+X).', 9 cutError: 'הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות גזירה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl/Cmd+X).',
10 paste: 'הדבקה', 10 paste: 'הדבקה',
11 pasteArea: 'איזור הדבקה', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'נא להדביק בתוך הקופסה באמצעות (<b>Ctrl/Cmd+V</b>) וללחוץ על <b>אישור</b>.',
13 securityMsg: 'עקב הגדרות אבטחה בדפדפן, לא ניתן לגשת אל לוח הגזירים (Clipboard) בצורה ישירה. נא להדביק שוב בחלון זה.',
14 title: 'הדבקה'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/hi.js b/sources/plugins/clipboard/lang/hi.js
index 738b0b9..112853c 100644
--- a/sources/plugins/clipboard/lang/hi.js
+++ b/sources/plugins/clipboard/lang/hi.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'hi', {
8 cut: 'कट', 8 cut: 'कट',
9 cutError: 'आपके ब्राउज़र की सुरक्षा सॅटिन्ग्स ने कट करने की अनुमति नहीं प्रदान की है। (Ctrl/Cmd+X) का प्रयोग करें।', 9 cutError: 'आपके ब्राउज़र की सुरक्षा सॅटिन्ग्स ने कट करने की अनुमति नहीं प्रदान की है। (Ctrl/Cmd+X) का प्रयोग करें।',
10 paste: 'पेस्ट', 10 paste: 'पेस्ट',
11 pasteArea: 'Paste Area', // MISSING 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Ctrl/Cmd+V का प्रयोग करके पेस्ट करें और ठीक है करें.',
13 securityMsg: 'आपके ब्राउज़र की सुरक्षा आपके ब्राउज़र की सुरKश सैटिंग के कारण, एडिटर आपके क्लिपबोर्ड डेटा को नहीं पा सकता है. आपको उसे इस विन्डो में दोबारा पेस्ट करना होगा.',
14 title: 'पेस्ट'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/hr.js b/sources/plugins/clipboard/lang/hr.js
index 7366069..4eff9ce 100644
--- a/sources/plugins/clipboard/lang/hr.js
+++ b/sources/plugins/clipboard/lang/hr.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'hr', {
8 cut: 'Izreži', 8 cut: 'Izreži',
9 cutError: 'Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog izrezivanja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+X).', 9 cutError: 'Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog izrezivanja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+X).',
10 paste: 'Zalijepi', 10 paste: 'Zalijepi',
11 pasteArea: 'Prostor za ljepljenje', 11 pasteNotification: 'Vaš preglednik Vam ne dozvoljava lijepljenje na ovaj način. Za lijepljenje, pritisnite %1.'
12 pasteMsg: 'Molimo zaljepite unutar doljnjeg okvira koristeći tipkovnicu (<STRONG>Ctrl/Cmd+V</STRONG>) i kliknite <STRONG>OK</STRONG>.',
13 securityMsg: 'Zbog sigurnosnih postavki Vašeg pretraživača, editor nema direktan pristup Vašem međuspremniku. Potrebno je ponovno zalijepiti tekst u ovaj prozor.',
14 title: 'Zalijepi'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/hu.js b/sources/plugins/clipboard/lang/hu.js
index b124e35..646fb15 100644
--- a/sources/plugins/clipboard/lang/hu.js
+++ b/sources/plugins/clipboard/lang/hu.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'hu', {
8 cut: 'Kivágás', 8 cut: 'Kivágás',
9 cutError: 'A böngésző biztonsági beállításai nem engedélyezik a szerkesztőnek, hogy végrehajtsa a kivágás műveletet. Használja az alábbi billentyűkombinációt (Ctrl/Cmd+X).', 9 cutError: 'A böngésző biztonsági beállításai nem engedélyezik a szerkesztőnek, hogy végrehajtsa a kivágás műveletet. Használja az alábbi billentyűkombinációt (Ctrl/Cmd+X).',
10 paste: 'Beillesztés', 10 paste: 'Beillesztés',
11 pasteArea: 'Beszúrás mező', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Másolja be az alábbi mezőbe a <STRONG>Ctrl/Cmd+V</STRONG> billentyűk lenyomásával, majd nyomjon <STRONG>Rendben</STRONG>-t.',
13 securityMsg: 'A böngésző biztonsági beállításai miatt a szerkesztő nem képes hozzáférni a vágólap adataihoz. Illeszd be újra ebben az ablakban.',
14 title: 'Beillesztés'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/id.js b/sources/plugins/clipboard/lang/id.js
index e7b40ad..b68425f 100644
--- a/sources/plugins/clipboard/lang/id.js
+++ b/sources/plugins/clipboard/lang/id.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'id', {
8 cut: 'Potong', 8 cut: 'Potong',
9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', // MISSING 9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', // MISSING
10 paste: 'Tempel', 10 paste: 'Tempel',
11 pasteArea: 'Area Tempel', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK', // MISSING
13 securityMsg: 'Karena pengaturan keamanan peramban anda, editor tida dapat mengakses data clipboard anda secara langsung. Anda harus mem-paste kembali pada halaman ini',
14 title: 'Tempel'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/is.js b/sources/plugins/clipboard/lang/is.js
index 6b36cef..32a0fce 100644
--- a/sources/plugins/clipboard/lang/is.js
+++ b/sources/plugins/clipboard/lang/is.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'is', {
8 cut: 'Klippa', 8 cut: 'Klippa',
9 cutError: 'Öryggisstillingar vafrans þíns leyfa ekki klippingu texta með músaraðgerð. Notaðu lyklaborðið í klippa (Ctrl/Cmd+X).', 9 cutError: 'Öryggisstillingar vafrans þíns leyfa ekki klippingu texta með músaraðgerð. Notaðu lyklaborðið í klippa (Ctrl/Cmd+X).',
10 paste: 'Líma', 10 paste: 'Líma',
11 pasteArea: 'Paste Area', // MISSING 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Límdu í svæðið hér að neðan og (<STRONG>Ctrl/Cmd+V</STRONG>) og smelltu á <STRONG>OK</STRONG>.',
13 securityMsg: 'Vegna öryggisstillinga í vafranum þínum fær ritillinn ekki beinan aðgang að klippuborðinu. Þú verður að líma innihaldið aftur inn í þennan glugga.',
14 title: 'Líma'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/it.js b/sources/plugins/clipboard/lang/it.js
index 21f8815..46e015c 100644
--- a/sources/plugins/clipboard/lang/it.js
+++ b/sources/plugins/clipboard/lang/it.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'it', {
8 cut: 'Taglia', 8 cut: 'Taglia',
9 cutError: 'Le impostazioni di sicurezza del browser non permettono di tagliare automaticamente il testo. Usa la tastiera (Ctrl/Cmd+X).', 9 cutError: 'Le impostazioni di sicurezza del browser non permettono di tagliare automaticamente il testo. Usa la tastiera (Ctrl/Cmd+X).',
10 paste: 'Incolla', 10 paste: 'Incolla',
11 pasteArea: 'Incolla', 11 pasteNotification: 'Il browser non permette di incollare in questo modo. Premere %1 per incollare.'
12 pasteMsg: 'Incolla il testo all\'interno dell\'area sottostante usando la scorciatoia di tastiere (<STRONG>Ctrl/Cmd+V</STRONG>) e premi <STRONG>OK</STRONG>.',
13 securityMsg: 'A causa delle impostazioni di sicurezza del browser,l\'editor non è in grado di accedere direttamente agli appunti. E\' pertanto necessario incollarli di nuovo in questa finestra.',
14 title: 'Incolla'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/ja.js b/sources/plugins/clipboard/lang/ja.js
index f099380..f527e7c 100644
--- a/sources/plugins/clipboard/lang/ja.js
+++ b/sources/plugins/clipboard/lang/ja.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ja', {
8 cut: '切り取り', 8 cut: '切り取り',
9 cutError: 'ブラウザーのセキュリティ設定によりエディタの切り取り操作を自動で実行することができません。実行するには手動でキーボードの(Ctrl/Cmd+X)を使用してください。', 9 cutError: 'ブラウザーのセキュリティ設定によりエディタの切り取り操作を自動で実行することができません。実行するには手動でキーボードの(Ctrl/Cmd+X)を使用してください。',
10 paste: '貼り付け', 10 paste: '貼り付け',
11 pasteArea: '貼り付け場所', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'キーボード(<STRONG>Ctrl/Cmd+V</STRONG>)を使用して、次の入力エリア内で貼り付けて、<STRONG>OK</STRONG>を押してください。',
13 securityMsg: 'ブラウザのセキュリティ設定により、エディタはクリップボードデータに直接アクセスすることができません。このウィンドウは貼り付け操作を行う度に表示されます。',
14 title: '貼り付け'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/ka.js b/sources/plugins/clipboard/lang/ka.js
index e1af8cb..2fa9e23 100644
--- a/sources/plugins/clipboard/lang/ka.js
+++ b/sources/plugins/clipboard/lang/ka.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ka', {
8 cut: 'ამოჭრა', 8 cut: 'ამოჭრა',
9 cutError: 'თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა ამოჭრის ოპერაციის ავტომატურად განხორციელების საშუალებას. გამოიყენეთ კლავიატურა ამისთვის (Ctrl/Cmd+X).', 9 cutError: 'თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა ამოჭრის ოპერაციის ავტომატურად განხორციელების საშუალებას. გამოიყენეთ კლავიატურა ამისთვის (Ctrl/Cmd+X).',
10 paste: 'ჩასმა', 10 paste: 'ჩასმა',
11 pasteArea: 'ჩასმის არე', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'ჩასვით ამ არის შიგნით კლავიატურის გამოყენებით (<strong>Ctrl/Cmd+V</strong>) და დააჭირეთ OK-ს',
13 securityMsg: 'თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა clipboard-ის მონაცემების წვდომის უფლებას. კიდევ უნდა ჩასვათ ტექსტი ამ ფანჯარაში.',
14 title: 'ჩასმა'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/km.js b/sources/plugins/clipboard/lang/km.js
index 32c30cb..dc66ee8 100644
--- a/sources/plugins/clipboard/lang/km.js
+++ b/sources/plugins/clipboard/lang/km.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'km', {
8 cut: 'កាត់យក', 8 cut: 'កាត់យក',
9 cutError: 'ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​មិនអាចធ្វើកម្មវិធីតាក់តែងអត្ថបទ កាត់អត្ថបទយកដោយស្វ័យប្រវត្តបានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនេះ (Ctrl/Cmd+X) ។', 9 cutError: 'ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​មិនអាចធ្វើកម្មវិធីតាក់តែងអត្ថបទ កាត់អត្ថបទយកដោយស្វ័យប្រវត្តបានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនេះ (Ctrl/Cmd+X) ។',
10 paste: 'បិទ​ភ្ជាប់', 10 paste: 'បិទ​ភ្ជាប់',
11 pasteArea: 'តំបន់​បិទ​ភ្ជាប់', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'សូមចំលងអត្ថបទទៅដាក់ក្នុងប្រអប់ដូចខាងក្រោមដោយប្រើប្រាស់ ឃី ​(<STRONG>Ctrl/Cmd+V</STRONG>) ហើយចុច <STRONG>OK</STRONG> ។',
13 securityMsg: 'ព្រោះតែ​ការកំណត់​សុវត្ថិភាព ប្រអប់សរសេរ​មិន​អាចចាប់​យកទិន្នន័យពីក្តារតម្បៀតខ្ទាស់​អ្នក​​ដោយផ្ទាល់​បានទេ។ អ្នក​ត្រូវចំលង​ដាក់វាម្តង​ទៀត ក្នុងផ្ទាំងនេះ។',
14 title: 'បិទ​ភ្ជាប់'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/ko.js b/sources/plugins/clipboard/lang/ko.js
index 0a0d1e9..8472358 100644
--- a/sources/plugins/clipboard/lang/ko.js
+++ b/sources/plugins/clipboard/lang/ko.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ko', {
8 cut: '잘라내기', 8 cut: '잘라내기',
9 cutError: '브라우저의 보안설정 때문에 잘라내기 기능을 실행할 수 없습니다. 키보드(Ctrl/Cmd+X)를 이용해서 잘라내기 하십시오', 9 cutError: '브라우저의 보안설정 때문에 잘라내기 기능을 실행할 수 없습니다. 키보드(Ctrl/Cmd+X)를 이용해서 잘라내기 하십시오',
10 paste: '붙여넣기', 10 paste: '붙여넣기',
11 pasteArea: '붙여넣기 범위', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: '키보드(<strong>Ctrl/Cmd+V</strong>)를 이용해서 상자안에 붙여넣고 <strong>확인</strong> 를 누르세요.',
13 securityMsg: '브라우저 보안 설정으로 인해, 클립보드에 직접 접근할 수 없습니다. 이 창에 다시 붙여넣기 하십시오.',
14 title: '붙여넣기'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/ku.js b/sources/plugins/clipboard/lang/ku.js
index 86e1778..b87aa8b 100644
--- a/sources/plugins/clipboard/lang/ku.js
+++ b/sources/plugins/clipboard/lang/ku.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ku', {
8 cut: 'بڕین', 8 cut: 'بڕین',
9 cutError: 'پارێزی وێبگەڕەکەت ڕێگەنادات بە سەرنووسەکە لەبڕینی خۆکارانە. تکایە لەبری ئەمە ئەم فەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+X).', 9 cutError: 'پارێزی وێبگەڕەکەت ڕێگەنادات بە سەرنووسەکە لەبڕینی خۆکارانە. تکایە لەبری ئەمە ئەم فەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+X).',
10 paste: 'لکاندن', 10 paste: 'لکاندن',
11 pasteArea: 'ناوچەی لکاندن', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'تکایە بیلکێنە لەناوەوەی ئەم سنوقە لەڕێی تەختەکلیلەکەت بە بەکارهێنانی کلیلی (<STRONG>Ctrl/Cmd+V</STRONG>) دووای کلیکی باشە بکە.',
13 securityMsg: 'بەهۆی شێوەپێدانی پارێزی وێبگەڕەکەت، سەرنووسەکه ناتوانێت دەستبگەیەنێت بەهەڵگیراوەکە ڕاستەوخۆ. بۆیه پێویسته دووباره بیلکێنیت لەم پەنجەرەیه.',
14 title: 'لکاندن'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/lt.js b/sources/plugins/clipboard/lang/lt.js
index 86ecbbb..c8d3611 100644
--- a/sources/plugins/clipboard/lang/lt.js
+++ b/sources/plugins/clipboard/lang/lt.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'lt', {
8 cut: 'Iškirpti', 8 cut: 'Iškirpti',
9 cutError: 'Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti iškirpimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl/Cmd+X).', 9 cutError: 'Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti iškirpimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl/Cmd+X).',
10 paste: 'Įdėti', 10 paste: 'Įdėti',
11 pasteArea: 'Įkelti dalį', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Žemiau esančiame įvedimo lauke įdėkite tekstą, naudodami klaviatūrą (<STRONG>Ctrl/Cmd+V</STRONG>) ir paspauskite mygtuką <STRONG>OK</STRONG>.',
13 securityMsg: 'Dėl jūsų naršyklės saugumo nustatymų, redaktorius negali tiesiogiai pasiekti laikinosios atminties. Jums reikia nukopijuoti dar kartą į šį langą.',
14 title: 'Įdėti'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/lv.js b/sources/plugins/clipboard/lang/lv.js
index c762fc6..49775de 100644
--- a/sources/plugins/clipboard/lang/lv.js
+++ b/sources/plugins/clipboard/lang/lv.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'lv', {
8 cut: 'Izgriezt', 8 cut: 'Izgriezt',
9 cutError: 'Jūsu pārlūkprogrammas drošības iestatījumi nepieļauj redaktoram automātiski veikt izgriezšanas darbību. Lūdzu, izmantojiet (Ctrl/Cmd+X), lai veiktu šo darbību.', 9 cutError: 'Jūsu pārlūkprogrammas drošības iestatījumi nepieļauj redaktoram automātiski veikt izgriezšanas darbību. Lūdzu, izmantojiet (Ctrl/Cmd+X), lai veiktu šo darbību.',
10 paste: 'Ielīmēt', 10 paste: 'Ielīmēt',
11 pasteArea: 'Ielīmēšanas zona', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Lūdzu, ievietojiet tekstu šajā laukumā, izmantojot klaviatūru (<STRONG>Ctrl/Cmd+V</STRONG>) un apstipriniet ar <STRONG>Darīts!</STRONG>.',
13 securityMsg: 'Jūsu pārlūka drošības uzstādījumu dēļ, nav iespējams tieši piekļūt jūsu starpliktuvei. Jums jāielīmē atkārtoti šajā logā.',
14 title: 'Ievietot'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/mk.js b/sources/plugins/clipboard/lang/mk.js
index eb16066..07a3d56 100644
--- a/sources/plugins/clipboard/lang/mk.js
+++ b/sources/plugins/clipboard/lang/mk.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'mk', {
8 cut: 'Исечи (Cut)', 8 cut: 'Исечи (Cut)',
9 cutError: 'Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот автоматски да изврши сечење. Ве молиме употребете ја тастатурата. (Ctrl/Cmd+C)', 9 cutError: 'Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот автоматски да изврши сечење. Ве молиме употребете ја тастатурата. (Ctrl/Cmd+C)',
10 paste: 'Залепи (Paste)', 10 paste: 'Залепи (Paste)',
11 pasteArea: 'Простор за залепување', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Ве молиме да залепите во следниот квадрат користејќи ја тастатурата (<string>Ctrl/Cmd+V</string>) и да притиснете OK',
13 securityMsg: 'Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот директно да пристапи до копираните податоци. Потребно е повторно да се обидете во овој прозорец.',
14 title: 'Залепи (Paste)'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/mn.js b/sources/plugins/clipboard/lang/mn.js
index 5351941..3ba66f5 100644
--- a/sources/plugins/clipboard/lang/mn.js
+++ b/sources/plugins/clipboard/lang/mn.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'mn', {
8 cut: 'Хайчлах', 8 cut: 'Хайчлах',
9 cutError: 'Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хайчлах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl/Cmd+X) товчны хослолыг ашиглана уу.', 9 cutError: 'Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хайчлах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl/Cmd+X) товчны хослолыг ашиглана уу.',
10 paste: 'Буулгах', 10 paste: 'Буулгах',
11 pasteArea: 'Paste Area', // MISSING 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: '(<strong>Ctrl/Cmd+V</strong>) товчийг ашиглан paste хийнэ үү. Мөн <strong>OK</strong> дар.',
13 securityMsg: 'Таны үзүүлэгч/browser/-н хамгаалалтын тохиргооноос болоод editor clipboard өгөгдөлрүү шууд хандах боломжгүй. Энэ цонход дахин paste хийхийг оролд.',
14 title: 'Буулгах'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/ms.js b/sources/plugins/clipboard/lang/ms.js
index 3a01be4..b9e479a 100644
--- a/sources/plugins/clipboard/lang/ms.js
+++ b/sources/plugins/clipboard/lang/ms.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ms', {
8 cut: 'Potong', 8 cut: 'Potong',
9 cutError: 'Keselamatan perisian browser anda tidak membenarkan operasi suntingan text/imej. Sila gunakan papan kekunci (Ctrl/Cmd+X).', 9 cutError: 'Keselamatan perisian browser anda tidak membenarkan operasi suntingan text/imej. Sila gunakan papan kekunci (Ctrl/Cmd+X).',
10 paste: 'Tampal', 10 paste: 'Tampal',
11 pasteArea: 'Paste Area', // MISSING 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK', // MISSING
13 securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING
14 title: 'Tampal'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/nb.js b/sources/plugins/clipboard/lang/nb.js
index 5355b8a..bdf1563 100644
--- a/sources/plugins/clipboard/lang/nb.js
+++ b/sources/plugins/clipboard/lang/nb.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'nb', {
8 cut: 'Klipp ut', 8 cut: 'Klipp ut',
9 cutError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk tastatursnarveien (Ctrl/Cmd+X).', 9 cutError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk tastatursnarveien (Ctrl/Cmd+X).',
10 paste: 'Lim inn', 10 paste: 'Lim inn',
11 pasteArea: 'Innlimingsområde', 11 pasteNotification: 'Nettleseren din lar deg ikke lime inn på denne måten. Trykk %1 for å lime inn.'
12 pasteMsg: 'Vennligst lim inn i følgende boks med tastaturet (<strong>Ctrl/Cmd+V</strong>) og trykk <strong>OK</strong>.',
13 securityMsg: 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må derfor lime det inn på nytt i dette vinduet.',
14 title: 'Lim inn'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/nl.js b/sources/plugins/clipboard/lang/nl.js
index bae806f..16bafd8 100644
--- a/sources/plugins/clipboard/lang/nl.js
+++ b/sources/plugins/clipboard/lang/nl.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'nl', {
8 cut: 'Knippen', 8 cut: 'Knippen',
9 cutError: 'De beveiligingsinstelling van de browser verhinderen het automatisch knippen. Gebruik de sneltoets Ctrl/Cmd+X van het toetsenbord.', 9 cutError: 'De beveiligingsinstelling van de browser verhinderen het automatisch knippen. Gebruik de sneltoets Ctrl/Cmd+X van het toetsenbord.',
10 paste: 'Plakken', 10 paste: 'Plakken',
11 pasteArea: 'Plakgebied', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Plak de tekst in het volgende vak gebruikmakend van uw toetsenbord (<strong>Ctrl/Cmd+V</strong>) en klik op OK.',
13 securityMsg: 'Door de beveiligingsinstellingen van uw browser is het niet mogelijk om direct vanuit het klembord in de editor te plakken. Middels opnieuw plakken in dit venster kunt u de tekst alsnog plakken in de editor.',
14 title: 'Plakken'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/no.js b/sources/plugins/clipboard/lang/no.js
index e8c48da..77ff08a 100644
--- a/sources/plugins/clipboard/lang/no.js
+++ b/sources/plugins/clipboard/lang/no.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'no', {
8 cut: 'Klipp ut', 8 cut: 'Klipp ut',
9 cutError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).', 9 cutError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).',
10 paste: 'Lim inn', 10 paste: 'Lim inn',
11 pasteArea: 'Innlimingsområde', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Vennligst lim inn i følgende boks med tastaturet (<STRONG>Ctrl/Cmd+V</STRONG>) og trykk <STRONG>OK</STRONG>.',
13 securityMsg: 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må derfor lime det inn på nytt i dette vinduet.',
14 title: 'Lim inn'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/oc.js b/sources/plugins/clipboard/lang/oc.js
index e9e78cd..40d99fa 100644
--- a/sources/plugins/clipboard/lang/oc.js
+++ b/sources/plugins/clipboard/lang/oc.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'oc', {
8 cut: 'Talhar', 8 cut: 'Talhar',
9 cutError: 'Los paramètres de seguretat de vòstre navigador autorizan pas l\'editor a executar automaticament l\'operacion « Talhar ». Utilizatz l\'acorchi de clavièr a aqueste efièit (Ctrl/Cmd+X).', 9 cutError: 'Los paramètres de seguretat de vòstre navigador autorizan pas l\'editor a executar automaticament l\'operacion « Talhar ». Utilizatz l\'acorchi de clavièr a aqueste efièit (Ctrl/Cmd+X).',
10 paste: 'Pegar', 10 paste: 'Pegar',
11 pasteArea: 'Pegar la zòna', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Pegatz lo tèxte dins la zòna seguenta en utilizant l\'acorchi de clavièr (<strong>Ctrl/Cmd+V</strong>) e clicatz sus D\'acòrdi.',
13 securityMsg: 'Los paramètres de seguretat de vòstre navigador empach l\'editor d\'accedir dirèctament a las donadas del quichapapièr. Las vos cal pegar tornamai dins aquesta fenèstra.',
14 title: 'Pegar'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/pl.js b/sources/plugins/clipboard/lang/pl.js
index e2ccd16..494c9c1 100644
--- a/sources/plugins/clipboard/lang/pl.js
+++ b/sources/plugins/clipboard/lang/pl.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'pl', {
8 cut: 'Wytnij', 8 cut: 'Wytnij',
9 cutError: 'Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne wycinanie tekstu. Użyj skrótu klawiszowego Ctrl/Cmd+X.', 9 cutError: 'Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne wycinanie tekstu. Użyj skrótu klawiszowego Ctrl/Cmd+X.',
10 paste: 'Wklej', 10 paste: 'Wklej',
11 pasteArea: 'Obszar wklejania', 11 pasteNotification: 'Twoja przeglądarka nie pozwala na wklejanie treści w ten sposób. Naciśnij %1 by wkleić tekst.'
12 pasteMsg: 'Wklej tekst w poniższym polu, używając skrótu klawiaturowego (<STRONG>Ctrl/Cmd+V</STRONG>), i kliknij <STRONG>OK</STRONG>.',
13 securityMsg: 'Zabezpieczenia przeglądarki uniemożliwiają wklejenie danych bezpośrednio do edytora. Proszę ponownie wkleić dane w tym oknie.',
14 title: 'Wklej'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/pt-br.js b/sources/plugins/clipboard/lang/pt-br.js
index 74608ba..e0359d9 100644
--- a/sources/plugins/clipboard/lang/pt-br.js
+++ b/sources/plugins/clipboard/lang/pt-br.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'pt-br', {
8 cut: 'Recortar', 8 cut: 'Recortar',
9 cutError: 'As configurações de segurança do seu navegador não permitem que o editor execute operações de recortar automaticamente. Por favor, utilize o teclado para recortar (Ctrl/Cmd+X).', 9 cutError: 'As configurações de segurança do seu navegador não permitem que o editor execute operações de recortar automaticamente. Por favor, utilize o teclado para recortar (Ctrl/Cmd+X).',
10 paste: 'Colar', 10 paste: 'Colar',
11 pasteArea: 'Área para Colar', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Transfira o link usado na caixa usando o teclado com (<STRONG>Ctrl/Cmd+V</STRONG>) e <STRONG>OK</STRONG>.',
13 securityMsg: 'As configurações de segurança do seu navegador não permitem que o editor acesse os dados da área de transferência diretamente. Por favor cole o conteúdo manualmente nesta janela.',
14 title: 'Colar'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/pt.js b/sources/plugins/clipboard/lang/pt.js
index 623ce06..6a6df67 100644
--- a/sources/plugins/clipboard/lang/pt.js
+++ b/sources/plugins/clipboard/lang/pt.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'pt', {
8 cut: 'Cortar', 8 cut: 'Cortar',
9 cutError: 'A configuração de segurança do navegador não permite a execução automática de operações de cortar. Por favor use o teclado (Ctrl/Cmd+X).', 9 cutError: 'A configuração de segurança do navegador não permite a execução automática de operações de cortar. Por favor use o teclado (Ctrl/Cmd+X).',
10 paste: 'Colar', 10 paste: 'Colar',
11 pasteArea: 'Colar área', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Por favor, cole dentro da seguinte caixa usando o teclado (<STRONG>Ctrl/Cmd+V</STRONG>) e carregue em <STRONG>OK</STRONG>.',
13 securityMsg: 'Devido ás definições de segurança do teu browser, o editor não pode aceder ao clipboard diretamente. É necessário que voltes a colar as informações nesta janela.',
14 title: 'Colar'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/ro.js b/sources/plugins/clipboard/lang/ro.js
index 1e57798..4eb472a 100644
--- a/sources/plugins/clipboard/lang/ro.js
+++ b/sources/plugins/clipboard/lang/ro.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ro', {
8 cut: 'Taie', 8 cut: 'Taie',
9 cutError: 'Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de tăiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+X).', 9 cutError: 'Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de tăiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+X).',
10 paste: 'Adaugă', 10 paste: 'Adaugă',
11 pasteArea: 'Suprafața de adăugare', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Vă rugăm adăugaţi în căsuţa următoare folosind tastatura (<strong>Ctrl/Cmd+V</strong>) şi apăsaţi OK',
13 securityMsg: 'Din cauza setărilor de securitate ale programului dvs. cu care navigaţi pe internet (browser), editorul nu poate accesa direct datele din clipboard. Va trebui să adăugaţi din nou datele în această fereastră.',
14 title: 'Adaugă'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/ru.js b/sources/plugins/clipboard/lang/ru.js
index d9b4d58..9ef951f 100644
--- a/sources/plugins/clipboard/lang/ru.js
+++ b/sources/plugins/clipboard/lang/ru.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ru', {
8 cut: 'Вырезать', 8 cut: 'Вырезать',
9 cutError: 'Настройки безопасности вашего браузера не разрешают редактору выполнять операции по вырезке текста. Пожалуйста, используйте для этого клавиатуру (Ctrl/Cmd+X).', 9 cutError: 'Настройки безопасности вашего браузера не разрешают редактору выполнять операции по вырезке текста. Пожалуйста, используйте для этого клавиатуру (Ctrl/Cmd+X).',
10 paste: 'Вставить', 10 paste: 'Вставить',
11 pasteArea: 'Зона для вставки', 11 pasteNotification: 'Ваш браузер не поддерживает данный метод вставки. Для вставки нажмите %1'
12 pasteMsg: 'Пожалуйста, вставьте текст в зону ниже, используя клавиатуру (<strong>Ctrl/Cmd+V</strong>) и нажмите кнопку "OK".',
13 securityMsg: 'Настройки безопасности вашего браузера не разрешают редактору напрямую обращаться к буферу обмена. Вы должны вставить текст снова в это окно.',
14 title: 'Вставить'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/si.js b/sources/plugins/clipboard/lang/si.js
index 8430d01..7356cf4 100644
--- a/sources/plugins/clipboard/lang/si.js
+++ b/sources/plugins/clipboard/lang/si.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'si', {
8 cut: 'කපාගන්න', 8 cut: 'කපාගන්න',
9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', // MISSING 9 cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', // MISSING
10 paste: 'අලවන්න', 10 paste: 'අලවන්න',
11 pasteArea: 'අලවන ප්‍රදේශ', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK', // MISSING
13 securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING
14 title: 'අලවන්න'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/sk.js b/sources/plugins/clipboard/lang/sk.js
index 6b2b4f4..b844e58 100644
--- a/sources/plugins/clipboard/lang/sk.js
+++ b/sources/plugins/clipboard/lang/sk.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'sk', {
8 cut: 'Vystrihnúť', 8 cut: 'Vystrihnúť',
9 cutError: 'Bezpečnostné nastavenia vášho prehliadača nedovoľujú editoru automaticky spustiť operáciu vystrihnutia. Použite na to klávesnicu (Ctrl/Cmd+X).', 9 cutError: 'Bezpečnostné nastavenia vášho prehliadača nedovoľujú editoru automaticky spustiť operáciu vystrihnutia. Použite na to klávesnicu (Ctrl/Cmd+X).',
10 paste: 'Vložiť', 10 paste: 'Vložiť',
11 pasteArea: 'Miesto na vloženie', 11 pasteNotification: 'Váš prehliadač nepovoľuje prilepiť text takýmto spôsobom. Pre prilepenie stlačte %1.'
12 pasteMsg: 'Použitím klávesnice (<STRONG>Ctrl/Cmd+V</STRONG>) vložte text do rámčeka a stlačte OK.',
13 securityMsg: 'Kvôli bezpečnostným nastaveniam vášho prehliadača editor nemôže pristupovať k schránke na kopírovanie priamo. Vložte to preto do tohto okna.',
14 title: 'Vložiť'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/sl.js b/sources/plugins/clipboard/lang/sl.js
index 3ddc89e..787e6fc 100644
--- a/sources/plugins/clipboard/lang/sl.js
+++ b/sources/plugins/clipboard/lang/sl.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'sl', {
8 cut: 'Izreži', 8 cut: 'Izreži',
9 cutError: 'Varnostne nastavitve brskalnika ne dopuščajo samodejnega izrezovanja. Uporabite kombinacijo tipk na tipkovnici (Ctrl/Cmd+X).', 9 cutError: 'Varnostne nastavitve brskalnika ne dopuščajo samodejnega izrezovanja. Uporabite kombinacijo tipk na tipkovnici (Ctrl/Cmd+X).',
10 paste: 'Prilepi', 10 paste: 'Prilepi',
11 pasteArea: 'Prilepi območje', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Prosimo, prilepite v sleči okvir s pomočjo tipkovnice (<strong>Ctrl/Cmd+V</strong>) in pritisnite V redu.',
13 securityMsg: 'Zaradi varnostnih nastavitev vašega brskalnika urejevalnik ne more neposredno dostopati do odložišča. Vsebino odložišča ponovno prilepite v to okno.',
14 title: 'Prilepi'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/sq.js b/sources/plugins/clipboard/lang/sq.js
index eda22e7..d78b2e7 100644
--- a/sources/plugins/clipboard/lang/sq.js
+++ b/sources/plugins/clipboard/lang/sq.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'sq', {
8 cut: 'Preje', 8 cut: 'Preje',
9 cutError: 'Të dhënat e sigurisë së shfletuesit tuaj nuk lejojnë që redaktuesi automatikisht të kryej veprimin e prerjes. Ju lutemi shfrytëzoni tastierën për këtë veprim (Ctrl/Cmd+X).', 9 cutError: 'Të dhënat e sigurisë së shfletuesit tuaj nuk lejojnë që redaktuesi automatikisht të kryej veprimin e prerjes. Ju lutemi shfrytëzoni tastierën për këtë veprim (Ctrl/Cmd+X).',
10 paste: 'Hidhe', 10 paste: 'Hidhe',
11 pasteArea: 'Hapësira Hedhëse', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Ju lutemi hidhni brenda kutizës në vijim duke shfrytëzuar tastierën (<strong>Ctrl/Cmd+V</strong>) dhe shtypni Mirë.',
13 securityMsg: 'Për shkak të dhënave të sigurisë së shfletuesit tuaj, redaktuesi nuk është në gjendje të i qaset drejtpërdrejtë të dhanve të tabelës suaj të punës. Ju duhet të hidhni atë përsëri në këtë dritare.',
14 title: 'Hidhe'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/sr-latn.js b/sources/plugins/clipboard/lang/sr-latn.js
index 52102f6..797429f 100644
--- a/sources/plugins/clipboard/lang/sr-latn.js
+++ b/sources/plugins/clipboard/lang/sr-latn.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'sr-latn', {
8 cut: 'Iseci', 8 cut: 'Iseci',
9 cutError: 'Sigurnosna podešavanja Vašeg pretraživača ne dozvoljavaju operacije automatskog isecanja teksta. Molimo Vas da koristite prečicu sa tastature (Ctrl/Cmd+X).', 9 cutError: 'Sigurnosna podešavanja Vašeg pretraživača ne dozvoljavaju operacije automatskog isecanja teksta. Molimo Vas da koristite prečicu sa tastature (Ctrl/Cmd+X).',
10 paste: 'Zalepi', 10 paste: 'Zalepi',
11 pasteArea: 'Prostor za lepljenje', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Molimo Vas da zalepite unutar donje povrine koristeći tastaturnu prečicu (<STRONG>Ctrl/Cmd+V</STRONG>) i da pritisnete <STRONG>OK</STRONG>.',
13 securityMsg: 'Zbog sigurnosnih postavki vašeg pregledača, editor nije u mogućnosti da direktno pristupi podacima u klipbordu. Potrebno je da zalepite još jednom u ovom prozoru.',
14 title: 'Zalepi'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/sr.js b/sources/plugins/clipboard/lang/sr.js
index c59ff1f..bd4e655 100644
--- a/sources/plugins/clipboard/lang/sr.js
+++ b/sources/plugins/clipboard/lang/sr.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'sr', {
8 cut: 'Исеци', 8 cut: 'Исеци',
9 cutError: 'Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског исецања текста. Молимо Вас да користите пречицу са тастатуре (Ctrl/Cmd+X).', 9 cutError: 'Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског исецања текста. Молимо Вас да користите пречицу са тастатуре (Ctrl/Cmd+X).',
10 paste: 'Залепи', 10 paste: 'Залепи',
11 pasteArea: 'Залепи зону', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Молимо Вас да залепите унутар доње површине користећи тастатурну пречицу (<STRONG>Ctrl/Cmd+V</STRONG>) и да притиснете <STRONG>OK</STRONG>.',
13 securityMsg: 'Због сигурносних подешавања претраживача, едитор не може да приступи оставу. Требате да га поново залепите у овом прозору.',
14 title: 'Залепи'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/sv.js b/sources/plugins/clipboard/lang/sv.js
index 9663daa..d1ab00b 100644
--- a/sources/plugins/clipboard/lang/sv.js
+++ b/sources/plugins/clipboard/lang/sv.js
@@ -4,12 +4,9 @@ For licensing, see LICENSE.md or http://ckeditor.com/license
4*/ 4*/
5CKEDITOR.plugins.setLang( 'clipboard', 'sv', { 5CKEDITOR.plugins.setLang( 'clipboard', 'sv', {
6 copy: 'Kopiera', 6 copy: 'Kopiera',
7 copyError: 'Säkerhetsinställningar i Er webbläsare tillåter inte åtgärden kopiera. Använd (Ctrl/Cmd+C) istället.', 7 copyError: 'Säkerhetsinställningar i din webbläsare tillåter inte åtgärden kopiera. Använd (Ctrl/Cmd+C) istället.',
8 cut: 'Klipp ut', 8 cut: 'Klipp ut',
9 cutError: 'Säkerhetsinställningar i Er webbläsare tillåter inte åtgärden klipp ut. Använd (Ctrl/Cmd+X) istället.', 9 cutError: 'Säkerhetsinställningar i din webbläsare tillåter inte åtgärden klipp ut. Använd (Ctrl/Cmd+X) istället.',
10 paste: 'Klistra in', 10 paste: 'Klistra in',
11 pasteArea: 'Paste Area', 11 pasteNotification: 'Din webbläsare tillåter dig inte att klistra in på detta vis. Tryck på %1 för att klistra in.'
12 pasteMsg: 'Var god och klistra in Er text i rutan nedan genom att använda (<strong>Ctrl/Cmd+V</strong>) klicka sen på OK.',
13 securityMsg: 'På grund av din webbläsares säkerhetsinställningar kan verktyget inte få åtkomst till urklippsdatan. Var god och använd detta fönster istället.',
14 title: 'Klistra in'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/th.js b/sources/plugins/clipboard/lang/th.js
index 29664a6..b645b90 100644
--- a/sources/plugins/clipboard/lang/th.js
+++ b/sources/plugins/clipboard/lang/th.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'th', {
8 cut: 'ตัด', 8 cut: 'ตัด',
9 cutError: 'ไม่สามารถตัดข้อความที่เลือกไว้ได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl/Cmd และตัว X พร้อมกัน).', 9 cutError: 'ไม่สามารถตัดข้อความที่เลือกไว้ได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl/Cmd และตัว X พร้อมกัน).',
10 paste: 'วาง', 10 paste: 'วาง',
11 pasteArea: 'Paste Area', // MISSING 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'กรุณาใช้คีย์บอร์ดเท่านั้น โดยกดปุ๋ม (<strong>Ctrl/Cmd และ V</strong>)พร้อมๆกัน และกด <strong>OK</strong>.',
13 securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING
14 title: 'วาง'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/tr.js b/sources/plugins/clipboard/lang/tr.js
index a60ddc7..4645335 100644
--- a/sources/plugins/clipboard/lang/tr.js
+++ b/sources/plugins/clipboard/lang/tr.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'tr', {
8 cut: 'Kes', 8 cut: 'Kes',
9 cutError: 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kesme işlemine izin vermiyor. İşlem için (Ctrl/Cmd+X) tuşlarını kullanın.', 9 cutError: 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kesme işlemine izin vermiyor. İşlem için (Ctrl/Cmd+X) tuşlarını kullanın.',
10 paste: 'Yapıştır', 10 paste: 'Yapıştır',
11 pasteArea: 'Yapıştırma Alanı', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Lütfen aşağıdaki kutunun içine yapıştırın. (<STRONG>Ctrl/Cmd+V</STRONG>) ve <STRONG>Tamam</STRONG> butonunu tıklayın.',
13 securityMsg: 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin direkt olarak panoya erişimine izin vermiyor. Bu pencere içine tekrar yapıştırmalısınız..',
14 title: 'Yapıştır'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/tt.js b/sources/plugins/clipboard/lang/tt.js
index e4b0537..5e641e3 100644
--- a/sources/plugins/clipboard/lang/tt.js
+++ b/sources/plugins/clipboard/lang/tt.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'tt', {
8 cut: 'Кисеп алу', 8 cut: 'Кисеп алу',
9 cutError: 'Браузерыгызның иминлек үзлекләре автоматик рәвештә күчермәләү үтәүне тыя. Тиз төймәләрне (Ctrl/Cmd+C) кулланыгыз.', 9 cutError: 'Браузерыгызның иминлек үзлекләре автоматик рәвештә күчермәләү үтәүне тыя. Тиз төймәләрне (Ctrl/Cmd+C) кулланыгыз.',
10 paste: 'Өстәү', 10 paste: 'Өстәү',
11 pasteArea: 'Өстәү мәйданы', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit OK', // MISSING
13 securityMsg: 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING
14 title: 'Өстәү'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/ug.js b/sources/plugins/clipboard/lang/ug.js
index dcdf29c..deb1d2b 100644
--- a/sources/plugins/clipboard/lang/ug.js
+++ b/sources/plugins/clipboard/lang/ug.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'ug', {
8 cut: 'كەس', 8 cut: 'كەس',
9 cutError: 'تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كەس مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+X) ئارقىلىق تاماملاڭ', 9 cutError: 'تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كەس مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+X) ئارقىلىق تاماملاڭ',
10 paste: 'چاپلا', 10 paste: 'چاپلا',
11 pasteArea: 'چاپلاش دائىرىسى', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'ھەرپتاختا تېز كۇنۇپكا (<STRONG>Ctrl/Cmd+V</STRONG>) نى ئىشلىتىپ مەزمۇننى تۆۋەندىكى رامكىغا كۆچۈرۈڭ، ئاندىن <STRONG>جەزملە</STRONG>نى بېسىڭ',
13 securityMsg: 'توركۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى سەۋەبىدىن بۇ تەھرىرلىگۈچ چاپلاش تاختىسىدىكى مەزمۇننى بىۋاستە زىيارەت قىلالمايدۇ، بۇ كۆزنەكتە قايتا بىر قېتىم چاپلىشىڭىز كېرەك.',
14 title: 'چاپلا'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/uk.js b/sources/plugins/clipboard/lang/uk.js
index 242688f..f3e06a5 100644
--- a/sources/plugins/clipboard/lang/uk.js
+++ b/sources/plugins/clipboard/lang/uk.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'uk', {
8 cut: 'Вирізати', 8 cut: 'Вирізати',
9 cutError: 'Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції вирізування. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+X)', 9 cutError: 'Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції вирізування. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+X)',
10 paste: 'Вставити', 10 paste: 'Вставити',
11 pasteArea: 'Область вставки', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Будь ласка, вставте інформацію з буфера обміну в цю область, користуючись комбінацією клавіш (<STRONG>Ctrl/Cmd+V</STRONG>), та натисніть <STRONG>OK</STRONG>.',
13 securityMsg: 'Редактор не може отримати прямий доступ до буферу обміну у зв\'язку з налаштуваннями Вашого браузера. Вам потрібно вставити інформацію в це вікно.',
14 title: 'Вставити'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/vi.js b/sources/plugins/clipboard/lang/vi.js
index fd36e1f..2928a95 100644
--- a/sources/plugins/clipboard/lang/vi.js
+++ b/sources/plugins/clipboard/lang/vi.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'vi', {
8 cut: 'Cắt', 8 cut: 'Cắt',
9 cutError: 'Các thiết lập bảo mật của trình duyệt không cho phép trình biên tập tự động thực thi lệnh cắt. Hãy sử dụng bàn phím cho lệnh này (Ctrl/Cmd+X).', 9 cutError: 'Các thiết lập bảo mật của trình duyệt không cho phép trình biên tập tự động thực thi lệnh cắt. Hãy sử dụng bàn phím cho lệnh này (Ctrl/Cmd+X).',
10 paste: 'Dán', 10 paste: 'Dán',
11 pasteArea: 'Khu vực dán', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: 'Hãy dán nội dung vào trong khung bên dưới, sử dụng tổ hợp phím (<STRONG>Ctrl/Cmd+V</STRONG>) và nhấn vào nút <STRONG>Đồng ý</STRONG>.',
13 securityMsg: 'Do thiết lập bảo mật của trình duyệt nên trình biên tập không thể truy cập trực tiếp vào nội dung đã sao chép. Bạn cần phải dán lại nội dung vào cửa sổ này.',
14 title: 'Dán'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/zh-cn.js b/sources/plugins/clipboard/lang/zh-cn.js
index 930f24e..4b738cb 100644
--- a/sources/plugins/clipboard/lang/zh-cn.js
+++ b/sources/plugins/clipboard/lang/zh-cn.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'zh-cn', {
8 cut: '剪切', 8 cut: '剪切',
9 cutError: '您的浏览器安全设置不允许编辑器自动执行剪切操作,请使用键盘快捷键(Ctrl/Cmd+X)来完成。', 9 cutError: '您的浏览器安全设置不允许编辑器自动执行剪切操作,请使用键盘快捷键(Ctrl/Cmd+X)来完成。',
10 paste: '粘贴', 10 paste: '粘贴',
11 pasteArea: '粘贴区域', 11 pasteNotification: '您的浏览器不允许用此方式粘贴,要粘贴请按 %1。'
12 pasteMsg: '请使用键盘快捷键(<STRONG>Ctrl/Cmd+V</STRONG>)把内容粘贴到下面的方框里,再按 <STRONG>确定</STRONG>',
13 securityMsg: '因为您的浏览器的安全设置原因,本编辑器不能直接访问您的剪贴板内容,你需要在本窗口重新粘贴一次。',
14 title: '粘贴'
15} ); 12} );
diff --git a/sources/plugins/clipboard/lang/zh.js b/sources/plugins/clipboard/lang/zh.js
index 33a4ef0..f91de7e 100644
--- a/sources/plugins/clipboard/lang/zh.js
+++ b/sources/plugins/clipboard/lang/zh.js
@@ -8,8 +8,5 @@ CKEDITOR.plugins.setLang( 'clipboard', 'zh', {
8 cut: '剪下', 8 cut: '剪下',
9 cutError: '瀏覽器的安全性設定不允許編輯器自動執行剪下動作。請使用鏐盤快捷鍵 (Ctrl/Cmd+X) 剪下。', 9 cutError: '瀏覽器的安全性設定不允許編輯器自動執行剪下動作。請使用鏐盤快捷鍵 (Ctrl/Cmd+X) 剪下。',
10 paste: '貼上', 10 paste: '貼上',
11 pasteArea: '貼上區', 11 pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING
12 pasteMsg: '請使用鍵盤快捷鍵 (<strong>Ctrl/Cmd+V</strong>) 貼到下方區域中並按下「確定」。',
13 securityMsg: '因為瀏覽器的安全性設定,本編輯器無法直接存取您的剪貼簿資料,請您自行在本視窗進行貼上動作。',
14 title: '貼上'
15} ); 12} );
diff --git a/sources/plugins/clipboard/plugin.js b/sources/plugins/clipboard/plugin.js
index 5c387b3..433f547 100644
--- a/sources/plugins/clipboard/plugin.js
+++ b/sources/plugins/clipboard/plugin.js
@@ -44,7 +44,6 @@
44// -- Paste command 44// -- Paste command
45// * fire 'paste' on editable ('beforepaste' for IE) 45// * fire 'paste' on editable ('beforepaste' for IE)
46// * !canceled && execCommand 'paste' 46// * !canceled && execCommand 'paste'
47// * !success && fire 'pasteDialog' on editor
48// -- Paste from native context menu & menubar 47// -- Paste from native context menu & menubar
49// (Fx & Webkits are handled in 'paste' default listener. 48// (Fx & Webkits are handled in 'paste' default listener.
50// Opera cannot be handled at all because it doesn't fire any events 49// Opera cannot be handled at all because it doesn't fire any events
@@ -117,9 +116,9 @@
117( function() { 116( function() {
118 // Register the plugin. 117 // Register the plugin.
119 CKEDITOR.plugins.add( 'clipboard', { 118 CKEDITOR.plugins.add( 'clipboard', {
120 requires: 'dialog', 119 requires: 'notification,toolbar',
121 // jscs:disable maximumLineLength 120 // jscs:disable maximumLineLength
122 lang: 'af,ar,az,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,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% 121 lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%
123 // jscs:enable maximumLineLength 122 // jscs:enable maximumLineLength
124 icons: 'copy,copy-rtl,cut,cut-rtl,paste,paste-rtl', // %REMOVE_LINE_CORE% 123 icons: 'copy,copy-rtl,cut,cut-rtl,paste,paste-rtl', // %REMOVE_LINE_CORE%
125 hidpi: true, // %REMOVE_LINE_CORE% 124 hidpi: true, // %REMOVE_LINE_CORE%
@@ -143,8 +142,6 @@
143 initPasteClipboard( editor ); 142 initPasteClipboard( editor );
144 initDragDrop( editor ); 143 initDragDrop( editor );
145 144
146 CKEDITOR.dialog.add( 'paste', CKEDITOR.getUrl( this.path + 'dialogs/paste.js' ) );
147
148 // Convert image file (if present) to base64 string for Firefox. Do it as the first 145 // Convert image file (if present) to base64 string for Firefox. Do it as the first
149 // step as the conversion is asynchronous and should hold all further paste processing. 146 // step as the conversion is asynchronous and should hold all further paste processing.
150 if ( CKEDITOR.env.gecko ) { 147 if ( CKEDITOR.env.gecko ) {
@@ -156,7 +153,7 @@
156 data = dataObj.dataValue, 153 data = dataObj.dataValue,
157 dataTransfer = dataObj.dataTransfer; 154 dataTransfer = dataObj.dataTransfer;
158 155
159 // If data empty check for image content inside data transfer. #16705 156 // If data empty check for image content inside data transfer. http://dev.ckeditor.com/ticket/16705
160 if ( !data && dataObj.method == 'paste' && dataTransfer && dataTransfer.getFilesCount() == 1 && latestId != dataTransfer.id ) { 157 if ( !data && dataObj.method == 'paste' && dataTransfer && dataTransfer.getFilesCount() == 1 && latestId != dataTransfer.id ) {
161 var file = dataTransfer.getFile( 0 ); 158 var file = dataTransfer.getFile( 0 );
162 159
@@ -250,14 +247,14 @@
250 data = data.replace( /(<[^>]+) class="Apple-[^"]*"/gi, '$1' ); 247 data = data.replace( /(<[^>]+) class="Apple-[^"]*"/gi, '$1' );
251 } 248 }
252 249
253 // Strip editable that was copied from inside. (#9534) 250 // Strip editable that was copied from inside. (http://dev.ckeditor.com/ticket/9534)
254 if ( data.match( /^<[^<]+cke_(editable|contents)/i ) ) { 251 if ( data.match( /^<[^<]+cke_(editable|contents)/i ) ) {
255 var tmp, 252 var tmp,
256 editable_wrapper, 253 editable_wrapper,
257 wrapper = new CKEDITOR.dom.element( 'div' ); 254 wrapper = new CKEDITOR.dom.element( 'div' );
258 255
259 wrapper.setHtml( data ); 256 wrapper.setHtml( data );
260 // Verify for sure and check for nested editor UI parts. (#9675) 257 // Verify for sure and check for nested editor UI parts. (http://dev.ckeditor.com/ticket/9675)
261 while ( wrapper.getChildCount() == 1 && 258 while ( wrapper.getChildCount() == 1 &&
262 ( tmp = wrapper.getFirst() ) && 259 ( tmp = wrapper.getFirst() ) &&
263 tmp.type == CKEDITOR.NODE_ELEMENT && // Make sure first-child is element. 260 tmp.type == CKEDITOR.NODE_ELEMENT && // Make sure first-child is element.
@@ -299,7 +296,7 @@
299 296
300 editor.on( 'paste', function( evt ) { 297 editor.on( 'paste', function( evt ) {
301 var dataObj = evt.data, 298 var dataObj = evt.data,
302 type = dataObj.type, 299 type = editor._.nextPasteType || dataObj.type,
303 data = dataObj.dataValue, 300 data = dataObj.dataValue,
304 trueType, 301 trueType,
305 // Default is 'html'. 302 // Default is 'html'.
@@ -313,13 +310,15 @@
313 trueType = recogniseContentType( data ); 310 trueType = recogniseContentType( data );
314 } 311 }
315 312
313 delete editor._.nextPasteType;
314
316 // Unify text markup. 315 // Unify text markup.
317 if ( trueType == 'htmlifiedtext' ) { 316 if ( trueType == 'htmlifiedtext' ) {
318 data = htmlifiedTextHtmlification( editor.config, data ); 317 data = htmlifiedTextHtmlification( editor.config, data );
319 } 318 }
320 319
321 // Strip presentational markup & unify text markup. 320 // Strip presentational markup & unify text markup.
322 // Forced plain text (dialog or forcePAPT). 321 // Forced plain text.
323 // Note: we do not check dontFilter option in this case, because forcePAPT was implemented 322 // Note: we do not check dontFilter option in this case, because forcePAPT was implemented
324 // before pasteFilter and pasteFilter is automatically used on Webkit&Blink since 4.5, so 323 // before pasteFilter and pasteFilter is automatically used on Webkit&Blink since 4.5, so
325 // forcePAPT should have priority as it had before 4.5. 324 // forcePAPT should have priority as it had before 4.5.
@@ -364,17 +363,6 @@
364 }, 0 ); 363 }, 0 );
365 } 364 }
366 }, null, null, 1000 ); 365 }, null, null, 1000 );
367
368 editor.on( 'pasteDialog', function( evt ) {
369 // TODO it's possible that this setTimeout is not needed any more,
370 // because of changes introduced in the same commit as this comment.
371 // Editor.getClipboardData adds listener to the dialog's events which are
372 // fired after a while (not like 'showDialog').
373 setTimeout( function() {
374 // Open default paste dialog.
375 editor.openDialog( 'paste', evt.data );
376 }, 0 );
377 } );
378 } 366 }
379 } ); 367 } );
380 368
@@ -402,8 +390,8 @@
402 } 390 }
403 391
404 // Because of FF bug we need to use this hack, otherwise cursor is hidden 392 // Because of FF bug we need to use this hack, otherwise cursor is hidden
405 // or it is not possible to move it (#12420). 393 // or it is not possible to move it (http://dev.ckeditor.com/ticket/12420).
406 // Also, check that editor.toolbox exists, because the toolbar plugin might not be loaded (#13305). 394 // Also, check that editor.toolbox exists, because the toolbar plugin might not be loaded (http://dev.ckeditor.com/ticket/13305).
407 if ( CKEDITOR.env.gecko && data.method == 'drop' && editor.toolbox ) { 395 if ( CKEDITOR.env.gecko && data.method == 'drop' && editor.toolbox ) {
408 editor.once( 'afterPaste', function() { 396 editor.once( 'afterPaste', function() {
409 editor.toolbox.focus(); 397 editor.toolbox.focus();
@@ -423,28 +411,25 @@
423 addButtonsCommands(); 411 addButtonsCommands();
424 412
425 /** 413 /**
426 * Gets clipboard data by directly accessing the clipboard (IE only) or opening the paste dialog window. 414 * Gets clipboard data by directly accessing the clipboard (IE only).
427 * 415 *
428 * editor.getClipboardData( { title: 'Get my data' }, function( data ) { 416 * editor.getClipboardData( function( data ) {
429 * if ( data ) 417 * if ( data )
430 * alert( data.type + ' ' + data.dataValue ); 418 * alert( data.type + ' ' + data.dataValue );
431 * } ); 419 * } );
432 * 420 *
433 * @member CKEDITOR.editor 421 * @member CKEDITOR.editor
434 * @param {Object} options 422 * @param {Function/Object} callbackOrOptions For function, see the `callback` parameter documentation. The object was used before 4.7.0 with the `title` property, to set the paste dialog's title.
435 * @param {String} [options.title] The title of the paste dialog window. 423 * @param {Function} callback A function that will be executed with the `data` property of the
436 * @param {Function} callback A function that will be executed with `data.type` and `data.dataValue` 424 * {@link CKEDITOR.editor#event-paste paste event} or `null` if none of the capturing methods succeeded.
437 * or `null` if none of the capturing methods succeeded. 425 * Since 4.7.0 the `callback` should be provided as a first argument, just like in the example above. This parameter will be removed in
426 * an upcoming major release.
438 */ 427 */
439 editor.getClipboardData = function( options, callback ) { 428 editor.getClipboardData = function( callbackOrOptions, callback ) {
440 var beforePasteNotCanceled = false,
441 dataType = 'auto',
442 dialogCommited = false;
443
444 // Options are optional - args shift. 429 // Options are optional - args shift.
445 if ( !callback ) { 430 if ( !callback ) {
446 callback = options; 431 callback = callbackOrOptions;
447 options = null; 432 callbackOrOptions = null;
448 } 433 }
449 434
450 // Listen with maximum priority to handle content before everyone else. 435 // Listen with maximum priority to handle content before everyone else.
@@ -452,39 +437,13 @@
452 // access to the clipboard succeed in IE. 437 // access to the clipboard succeed in IE.
453 editor.on( 'paste', onPaste, null, null, 0 ); 438 editor.on( 'paste', onPaste, null, null, 0 );
454 439
455 // Listen at the end of listeners chain to see if event wasn't canceled
456 // and to retrieve modified data.type.
457 editor.on( 'beforePaste', onBeforePaste, null, null, 1000 );
458
459 // getClipboardDataDirectly() will fire 'beforePaste' synchronously, so we can
460 // check if it was canceled and if any listener modified data.type.
461
462 // If command didn't succeed (only IE allows to access clipboard and only if 440 // If command didn't succeed (only IE allows to access clipboard and only if
463 // user agrees) open and handle paste dialog. 441 // user agrees) invoke callback with null, meaning that paste is not blocked.
464 if ( getClipboardDataDirectly() === false ) { 442 if ( getClipboardDataDirectly() === false ) {
465 // Direct access to the clipboard wasn't successful so remove listener. 443 // Direct access to the clipboard wasn't successful so remove listener.
466 editor.removeListener( 'paste', onPaste ); 444 editor.removeListener( 'paste', onPaste );
467 445
468 // If beforePaste was canceled do not open dialog. 446 callback( null );
469 // Add listeners only if dialog really opened. 'pasteDialog' can be canceled.
470 if ( beforePasteNotCanceled && editor.fire( 'pasteDialog', onDialogOpen ) ) {
471 editor.on( 'pasteDialogCommit', onDialogCommit );
472
473 // 'dialogHide' will be fired after 'pasteDialogCommit'.
474 editor.on( 'dialogHide', function( evt ) {
475 evt.removeListener();
476 evt.data.removeListener( 'pasteDialogCommit', onDialogCommit );
477
478 // Because Opera has to wait a while in pasteDialog we have to wait here.
479 setTimeout( function() {
480 // Notify even if user canceled dialog (clicked 'cancel', ESC, etc).
481 if ( !dialogCommited )
482 callback( null );
483 }, 10 );
484 } );
485 } else {
486 callback( null );
487 }
488 } 447 }
489 448
490 function onPaste( evt ) { 449 function onPaste( evt ) {
@@ -492,30 +451,6 @@
492 evt.cancel(); 451 evt.cancel();
493 callback( evt.data ); 452 callback( evt.data );
494 } 453 }
495
496 function onBeforePaste( evt ) {
497 evt.removeListener();
498 beforePasteNotCanceled = true;
499 dataType = evt.data.type;
500 }
501
502 function onDialogCommit( evt ) {
503 evt.removeListener();
504 // Cancel pasteDialogCommit so paste dialog won't automatically fire
505 // 'paste' evt by itself.
506 evt.cancel();
507 dialogCommited = true;
508 callback( {
509 type: dataType,
510 dataValue: evt.data.dataValue,
511 dataTransfer: evt.data.dataTransfer,
512 method: 'paste'
513 } );
514 }
515
516 function onDialogOpen() {
517 this.customTitle = ( options && options.title );
518 }
519 }; 454 };
520 455
521 function addButtonsCommands() { 456 function addButtonsCommands() {
@@ -574,7 +509,7 @@
574 509
575 if ( CKEDITOR.plugins.clipboard.isCustomCopyCutSupported ) { 510 if ( CKEDITOR.plugins.clipboard.isCustomCopyCutSupported ) {
576 var initOnCopyCut = function( evt ) { 511 var initOnCopyCut = function( evt ) {
577 // If user tries to cut in read-only editor, we must prevent default action. (#13872) 512 // If user tries to cut in read-only editor, we must prevent default action. (http://dev.ckeditor.com/ticket/13872)
578 if ( !editor.readOnly || evt.name != 'cut' ) { 513 if ( !editor.readOnly || evt.name != 'cut' ) {
579 clipboard.initPasteDataTransfer( evt, editor ); 514 clipboard.initPasteDataTransfer( evt, editor );
580 } 515 }
@@ -586,7 +521,7 @@
586 521
587 // Delete content with the low priority so one can overwrite cut data. 522 // Delete content with the low priority so one can overwrite cut data.
588 editable.on( 'cut', function() { 523 editable.on( 'cut', function() {
589 // If user tries to cut in read-only editor, we must prevent default action. (#13872) 524 // If user tries to cut in read-only editor, we must prevent default action. (http://dev.ckeditor.com/ticket/13872)
590 if ( !editor.readOnly ) { 525 if ( !editor.readOnly ) {
591 editor.extractSelectedHtml(); 526 editor.extractSelectedHtml();
592 } 527 }
@@ -663,17 +598,15 @@
663 pasteDataFromClipboard( evt ); 598 pasteDataFromClipboard( evt );
664 599
665 // Force IE to paste content into pastebin so pasteDataFromClipboard will work. 600 // Force IE to paste content into pastebin so pasteDataFromClipboard will work.
666 if ( !execIECommand( 'paste' ) ) { 601 execIECommand( 'paste' );
667 editor.openDialog( 'paste' );
668 }
669 } ); 602 } );
670 603
671 // If mainPasteEvent is 'beforePaste' (IE before Edge), 604 // If mainPasteEvent is 'beforePaste' (IE before Edge),
672 // dismiss the (wrong) 'beforepaste' event fired on context/toolbar menu open. (#7953) 605 // dismiss the (wrong) 'beforepaste' event fired on context/toolbar menu open. (http://dev.ckeditor.com/ticket/7953)
673 editable.on( 'contextmenu', preventBeforePasteEventNow, null, null, 0 ); 606 editable.on( 'contextmenu', preventBeforePasteEventNow, null, null, 0 );
674 607
675 editable.on( 'beforepaste', function( evt ) { 608 editable.on( 'beforepaste', function( evt ) {
676 // Do not prevent event on CTRL+V and SHIFT+INS because it blocks paste (#11970). 609 // Do not prevent event on CTRL+V and SHIFT+INS because it blocks paste (http://dev.ckeditor.com/ticket/11970).
677 if ( evt.data && !evt.data.$.ctrlKey && !evt.data.$.shiftKey ) 610 if ( evt.data && !evt.data.$.ctrlKey && !evt.data.$.shiftKey )
678 preventBeforePasteEventNow(); 611 preventBeforePasteEventNow();
679 }, null, null, 0 ); 612 }, null, null, 0 );
@@ -687,7 +620,7 @@
687 620
688 // Use editor.document instead of editable in non-IEs for observing mouseup 621 // Use editor.document instead of editable in non-IEs for observing mouseup
689 // since editable won't fire the event if selection process started within 622 // since editable won't fire the event if selection process started within
690 // iframe and ended out of the editor (#9851). 623 // iframe and ended out of the editor (http://dev.ckeditor.com/ticket/9851).
691 editable.attachListener( CKEDITOR.env.ie ? editable : editor.document.getDocumentElement(), 'mouseup', function() { 624 editable.attachListener( CKEDITOR.env.ie ? editable : editor.document.getDocumentElement(), 'mouseup', function() {
692 mouseupTimeout = setTimeout( function() { 625 mouseupTimeout = setTimeout( function() {
693 setToolbarStates(); 626 setToolbarStates();
@@ -696,7 +629,7 @@
696 629
697 // Make sure that deferred mouseup callback isn't executed after editor instance 630 // Make sure that deferred mouseup callback isn't executed after editor instance
698 // had been destroyed. This may happen when editor.destroy() is called in parallel 631 // had been destroyed. This may happen when editor.destroy() is called in parallel
699 // with mouseup event (i.e. a button with onclick callback) (#10219). 632 // with mouseup event (i.e. a button with onclick callback) (http://dev.ckeditor.com/ticket/10219).
700 editor.on( 'destroy', function() { 633 editor.on( 'destroy', function() {
701 clearTimeout( mouseupTimeout ); 634 clearTimeout( mouseupTimeout );
702 } ); 635 } );
@@ -746,27 +679,73 @@
746 canUndo: false, 679 canUndo: false,
747 async: true, 680 async: true,
748 fakeKeystroke: CKEDITOR.CTRL + 86 /*V*/, 681 fakeKeystroke: CKEDITOR.CTRL + 86 /*V*/,
682
683 /**
684 * The default implementation of the paste command.
685 *
686 * @private
687 * @param {CKEDITOR.editor} editor An instance of the editor where the command is being executed.
688 * @param {Object/String} data If `data` is a string, then it is considered content that is being pasted.
689 * Otherwise it is treated as an object with options.
690 * @param {Boolean/String} [data.notification=true] Content for a notification shown after an unsuccessful
691 * paste attempt. If `false`, the notification will not be displayed. This parameter was added in 4.7.0.
692 * @param {String} [data.type='html'] The type of pasted content. There are two allowed values:
693 * * 'html'
694 * * 'text'
695 * @param {String/Object} data.dataValue Content being pasted. If this parameter is an object, it
696 * is supposed to be a `data` property of the {@link CKEDITOR.editor#paste} event.
697 * @param {CKEDITOR.plugins.clipboard.dataTransfer} data.dataTransfer Data transfer instance connected
698 * with the current paste action.
699 * @member CKEDITOR.editor.commands.paste
700 */
749 exec: function( editor, data ) { 701 exec: function( editor, data ) {
702 data = typeof data !== 'undefined' && data !== null ? data : {};
703
750 var cmd = this, 704 var cmd = this,
751 fire = function( data, withBeforePaste ) { 705 notification = typeof data.notification !== 'undefined' ? data.notification : true,
752 data && firePasteEvents( editor, data, !!withBeforePaste ); 706 forcedType = data.type,
753 707 keystroke = CKEDITOR.tools.keystrokeToString( editor.lang.common.keyboard,
754 editor.fire( 'afterCommandExec', { 708 editor.getCommandKeystroke( this ) ),
755 name: 'paste', 709 msg = typeof notification === 'string' ? notification : editor.lang.clipboard.pasteNotification
756 command: cmd, 710 .replace( /%1/, '<kbd aria-label="' + keystroke.aria + '">' + keystroke.display + '</kbd>' ),
757 returnValue: !!data 711 pastedContent = typeof data === 'string' ? data : data.dataValue;
758 } ); 712
759 }; 713 function callback( data, withBeforePaste ) {
760 714 withBeforePaste = typeof withBeforePaste !== 'undefined' ? withBeforePaste : true;
761 // Check data precisely - don't open dialog on empty string. 715
762 if ( typeof data == 'string' ) 716 if ( data ) {
763 fire( { 717 data.method = 'paste';
764 dataValue: data, 718
765 method: 'paste', 719 if ( !data.dataTransfer ) {
766 dataTransfer: clipboard.initPasteDataTransfer() 720 data.dataTransfer = clipboard.initPasteDataTransfer();
767 }, 1 ); 721 }
768 else 722
769 editor.getClipboardData( fire ); 723 firePasteEvents( editor, data, withBeforePaste );
724 } else if ( notification ) {
725 editor.showNotification( msg, 'info', editor.config.clipboard_notificationDuration );
726 }
727
728 editor.fire( 'afterCommandExec', {
729 name: 'paste',
730 command: cmd,
731 returnValue: !!data
732 } );
733 }
734
735 // Force type for the next paste.
736 if ( forcedType ) {
737 editor._.nextPasteType = forcedType;
738 } else {
739 delete editor._.nextPasteType;
740 }
741
742 if ( typeof pastedContent === 'string' ) {
743 callback( {
744 dataValue: pastedContent
745 } );
746 } else {
747 editor.getClipboardData( callback );
748 }
770 } 749 }
771 }; 750 };
772 } 751 }
@@ -820,7 +799,7 @@
820 return enabled; 799 return enabled;
821 } 800 }
822 801
823 // Cutting off control type element in IE standards breaks the selection entirely. (#4881) 802 // Cutting off control type element in IE standards breaks the selection entirely. (http://dev.ckeditor.com/ticket/4881)
824 function fixCut() { 803 function fixCut() {
825 if ( !CKEDITOR.env.ie || CKEDITOR.env.quirks ) 804 if ( !CKEDITOR.env.ie || CKEDITOR.env.quirks )
826 return; 805 return;
@@ -857,14 +836,14 @@
857 }, 836 },
858 blurListener; 837 blurListener;
859 838
860 // Avoid recursions on 'paste' event or consequent paste too fast. (#5730) 839 // Avoid recursions on 'paste' event or consequent paste too fast. (http://dev.ckeditor.com/ticket/5730)
861 if ( doc.getById( 'cke_pastebin' ) ) 840 if ( doc.getById( 'cke_pastebin' ) )
862 return; 841 return;
863 842
864 var sel = editor.getSelection(); 843 var sel = editor.getSelection();
865 var bms = sel.createBookmarks(); 844 var bms = sel.createBookmarks();
866 845
867 // #11384. On IE9+ we use native selectionchange (i.e. editor#selectionCheck) to cache the most 846 // http://dev.ckeditor.com/ticket/11384. On IE9+ we use native selectionchange (i.e. editor#selectionCheck) to cache the most
868 // recent selection which we then lock on editable blur. See selection.js for more info. 847 // recent selection which we then lock on editable blur. See selection.js for more info.
869 // selectionchange fired before getClipboardDataByPastebin() cached selection 848 // selectionchange fired before getClipboardDataByPastebin() cached selection
870 // before creating bookmark (cached selection will be invalid, because bookmarks modified the DOM), 849 // before creating bookmark (cached selection will be invalid, because bookmarks modified the DOM),
@@ -898,7 +877,7 @@
898 // It's better to paste close to the real paste destination, so inherited styles 877 // It's better to paste close to the real paste destination, so inherited styles
899 // (which Webkits will try to compensate by styling span) differs less from the destination's one. 878 // (which Webkits will try to compensate by styling span) differs less from the destination's one.
900 editable.append( pastebin ); 879 editable.append( pastebin );
901 // Style pastebin like .cke_editable, to minimize differences between origin and destination. (#9754) 880 // Style pastebin like .cke_editable, to minimize differences between origin and destination. (http://dev.ckeditor.com/ticket/9754)
902 pastebin.addClass( 'cke_editable' ); 881 pastebin.addClass( 'cke_editable' );
903 882
904 // Compensate position of offsetParent. 883 // Compensate position of offsetParent.
@@ -932,7 +911,7 @@
932 padding: 0 911 padding: 0
933 } ); 912 } );
934 913
935 // Paste fails in Safari when the body tag has 'user-select: none'. (#12506) 914 // Paste fails in Safari when the body tag has 'user-select: none'. (http://dev.ckeditor.com/ticket/12506)
936 if ( CKEDITOR.env.safari ) 915 if ( CKEDITOR.env.safari )
937 pastebin.setStyles( CKEDITOR.tools.cssVendorPrefix( 'user-select', 'text' ) ); 916 pastebin.setStyles( CKEDITOR.tools.cssVendorPrefix( 'user-select', 'text' ) );
938 917
@@ -955,8 +934,8 @@
955 934
956 // Webkit fill fire blur on editable when moving selection to 935 // Webkit fill fire blur on editable when moving selection to
957 // pastebin (if body is used). Cancel it because it causes incorrect 936 // pastebin (if body is used). Cancel it because it causes incorrect
958 // selection lock in case of inline editor (#10644). 937 // selection lock in case of inline editor (http://dev.ckeditor.com/ticket/10644).
959 // The same seems to apply to Firefox (#10787). 938 // The same seems to apply to Firefox (http://dev.ckeditor.com/ticket/10787).
960 if ( CKEDITOR.env.webkit || CKEDITOR.env.gecko ) 939 if ( CKEDITOR.env.webkit || CKEDITOR.env.gecko )
961 blurListener = editable.once( 'blur', cancel, null, null, -100 ); 940 blurListener = editable.once( 'blur', cancel, null, null, -100 );
962 941
@@ -969,7 +948,7 @@
969 // If non-native paste is executed, IE will open security alert and blur editable. 948 // If non-native paste is executed, IE will open security alert and blur editable.
970 // Editable will then lock selection inside itself and after accepting security alert 949 // Editable will then lock selection inside itself and after accepting security alert
971 // this selection will be restored. We overwrite stored selection, so it's restored 950 // this selection will be restored. We overwrite stored selection, so it's restored
972 // in pastebin. (#9552) 951 // in pastebin. (http://dev.ckeditor.com/ticket/9552)
973 if ( CKEDITOR.env.ie ) { 952 if ( CKEDITOR.env.ie ) {
974 blurListener = editable.once( 'blur', function() { 953 blurListener = editable.once( 'blur', function() {
975 editor.lockSelection( selPastebin ); 954 editor.lockSelection( selPastebin );
@@ -981,18 +960,18 @@
981 // Wait a while and grab the pasted contents. 960 // Wait a while and grab the pasted contents.
982 setTimeout( function() { 961 setTimeout( function() {
983 // Restore main window's scroll position which could have been changed 962 // Restore main window's scroll position which could have been changed
984 // by browser in cases described in #9771. 963 // by browser in cases described in http://dev.ckeditor.com/ticket/9771.
985 if ( CKEDITOR.env.webkit ) 964 if ( CKEDITOR.env.webkit )
986 CKEDITOR.document.getBody().$.scrollTop = scrollTop; 965 CKEDITOR.document.getBody().$.scrollTop = scrollTop;
987 966
988 // Blur will be fired only on non-native paste. In other case manually remove listener. 967 // Blur will be fired only on non-native paste. In other case manually remove listener.
989 blurListener && blurListener.removeListener(); 968 blurListener && blurListener.removeListener();
990 969
991 // Restore properly the document focus. (#8849) 970 // Restore properly the document focus. (http://dev.ckeditor.com/ticket/8849)
992 if ( CKEDITOR.env.ie ) 971 if ( CKEDITOR.env.ie )
993 editable.focus(); 972 editable.focus();
994 973
995 // IE7: selection must go before removing pastebin. (#8691) 974 // IE7: selection must go before removing pastebin. (http://dev.ckeditor.com/ticket/8691)
996 sel.selectBookmarks( bms ); 975 sel.selectBookmarks( bms );
997 pastebin.remove(); 976 pastebin.remove();
998 977
@@ -1018,7 +997,6 @@
1018 // On other browsers we should fire beforePaste event and return false. 997 // On other browsers we should fire beforePaste event and return false.
1019 function getClipboardDataDirectly() { 998 function getClipboardDataDirectly() {
1020 if ( clipboard.mainPasteEvent == 'paste' ) { 999 if ( clipboard.mainPasteEvent == 'paste' ) {
1021 // beforePaste should be fired when dialog open so it can be canceled.
1022 editor.fire( 'beforePaste', { type: 'auto', method: 'paste' } ); 1000 editor.fire( 'beforePaste', { type: 'auto', method: 'paste' } );
1023 return false; 1001 return false;
1024 } 1002 }
@@ -1031,7 +1009,7 @@
1031 // we're canceling it. 1009 // we're canceling it.
1032 preventPasteEventNow(); 1010 preventPasteEventNow();
1033 1011
1034 // #9247: Lock focus to prevent IE from hiding toolbar for inline editor. 1012 // http://dev.ckeditor.com/ticket/9247: Lock focus to prevent IE from hiding toolbar for inline editor.
1035 var focusManager = editor.focusManager; 1013 var focusManager = editor.focusManager;
1036 focusManager.lock(); 1014 focusManager.lock();
1037 1015
@@ -1074,7 +1052,7 @@
1074 editor.fire( 'saveSnapshot' ); // Save before cut 1052 editor.fire( 'saveSnapshot' ); // Save before cut
1075 setTimeout( function() { 1053 setTimeout( function() {
1076 editor.fire( 'saveSnapshot' ); // Save after cut 1054 editor.fire( 'saveSnapshot' ); // Save after cut
1077 }, 50 ); // OSX is slow (#11416). 1055 }, 50 ); // OSX is slow (http://dev.ckeditor.com/ticket/11416).
1078 } 1056 }
1079 } 1057 }
1080 1058
@@ -1327,7 +1305,7 @@
1327 1305
1328 // -------------- DRAGOVER TOP & BOTTOM -------------- 1306 // -------------- DRAGOVER TOP & BOTTOM --------------
1329 1307
1330 // Not allowing dragging on toolbar and bottom (#12613). 1308 // Not allowing dragging on toolbar and bottom (http://dev.ckeditor.com/ticket/12613).
1331 clipboard.preventDefaultDropOnElement( top ); 1309 clipboard.preventDefaultDropOnElement( top );
1332 clipboard.preventDefaultDropOnElement( bottom ); 1310 clipboard.preventDefaultDropOnElement( bottom );
1333 1311
@@ -1349,7 +1327,7 @@
1349 // Save drag range globally for cross editor D&D. 1327 // Save drag range globally for cross editor D&D.
1350 var dragRange = clipboard.dragRange = editor.getSelection().getRanges()[ 0 ]; 1328 var dragRange = clipboard.dragRange = editor.getSelection().getRanges()[ 0 ];
1351 1329
1352 // Store number of children, so we can later tell if any text node was split on drop. (#13011, #13447) 1330 // Store number of children, so we can later tell if any text node was split on drop. (http://dev.ckeditor.com/ticket/13011, http://dev.ckeditor.com/ticket/13447)
1353 if ( CKEDITOR.env.ie && CKEDITOR.env.version < 10 ) { 1331 if ( CKEDITOR.env.ie && CKEDITOR.env.version < 10 ) {
1354 clipboard.dragStartContainerChildCount = dragRange ? getContainerChildCount( dragRange.startContainer ) : null; 1332 clipboard.dragStartContainerChildCount = dragRange ? getContainerChildCount( dragRange.startContainer ) : null;
1355 clipboard.dragEndContainerChildCount = dragRange ? getContainerChildCount( dragRange.endContainer ) : null; 1333 clipboard.dragEndContainerChildCount = dragRange ? getContainerChildCount( dragRange.endContainer ) : null;
@@ -1373,9 +1351,15 @@
1373 // we drop image it will overwrite document. 1351 // we drop image it will overwrite document.
1374 1352
1375 editable.attachListener( dropTarget, 'dragover', function( evt ) { 1353 editable.attachListener( dropTarget, 'dragover', function( evt ) {
1354 // Edge requires this handler to have `preventDefault()` regardless of the situation.
1355 if ( CKEDITOR.env.edge ) {
1356 evt.data.preventDefault();
1357 return;
1358 }
1359
1376 var target = evt.data.getTarget(); 1360 var target = evt.data.getTarget();
1377 1361
1378 // Prevent reloading page when dragging image on empty document (#12619). 1362 // Prevent reloading page when dragging image on empty document (http://dev.ckeditor.com/ticket/12619).
1379 if ( target && target.is && target.is( 'html' ) ) { 1363 if ( target && target.is && target.is( 'html' ) ) {
1380 evt.data.preventDefault(); 1364 evt.data.preventDefault();
1381 return; 1365 return;
@@ -1396,7 +1380,7 @@
1396 // -------------- DROP -------------- 1380 // -------------- DROP --------------
1397 1381
1398 editable.attachListener( dropTarget, 'drop', function( evt ) { 1382 editable.attachListener( dropTarget, 'drop', function( evt ) {
1399 // Do nothing if event was already prevented. (#13879) 1383 // Do nothing if event was already prevented. (http://dev.ckeditor.com/ticket/13879)
1400 if ( evt.data.$.defaultPrevented ) { 1384 if ( evt.data.$.defaultPrevented ) {
1401 return; 1385 return;
1402 } 1386 }
@@ -1407,7 +1391,7 @@
1407 var target = evt.data.getTarget(), 1391 var target = evt.data.getTarget(),
1408 readOnly = target.isReadOnly(); 1392 readOnly = target.isReadOnly();
1409 1393
1410 // Do nothing if drop on non editable element (#13015). 1394 // Do nothing if drop on non editable element (http://dev.ckeditor.com/ticket/13015).
1411 // The <html> tag isn't editable (body is), but we want to allow drop on it 1395 // The <html> tag isn't editable (body is), but we want to allow drop on it
1412 // (so it is possible to drop below editor contents). 1396 // (so it is possible to drop below editor contents).
1413 if ( readOnly && !( target.type == CKEDITOR.NODE_ELEMENT && target.is( 'html' ) ) ) { 1397 if ( readOnly && !( target.type == CKEDITOR.NODE_ELEMENT && target.is( 'html' ) ) ) {
@@ -1582,18 +1566,24 @@
1582 } 1566 }
1583 1567
1584 // In Chrome we can trust Clipboard API, with the exception of Chrome on Android (in both - mobile and desktop modes), where 1568 // In Chrome we can trust Clipboard API, with the exception of Chrome on Android (in both - mobile and desktop modes), where
1585 // clipboard API is not available so we need to check it (#13187). 1569 // clipboard API is not available so we need to check it (http://dev.ckeditor.com/ticket/13187).
1586 if ( CKEDITOR.env.chrome && !dataTransfer.isEmpty() ) { 1570 if ( CKEDITOR.env.chrome && !dataTransfer.isEmpty() ) {
1587 return true; 1571 return true;
1588 } 1572 }
1589 1573
1590 // Because of a Firefox bug HTML data are not available in some cases (e.g. paste from Word), in such cases we 1574 // Because of a Firefox bug HTML data are not available in some cases (e.g. paste from Word), in such cases we
1591 // need to use the pastebin (#13528, https://bugzilla.mozilla.org/show_bug.cgi?id=1183686). 1575 // need to use the pastebin (http://dev.ckeditor.com/ticket/13528, https://bugzilla.mozilla.org/show_bug.cgi?id=1183686).
1592 if ( CKEDITOR.env.gecko && ( dataTransfer.getData( 'text/html' ) || dataTransfer.getFilesCount() ) ) { 1576 if ( CKEDITOR.env.gecko && ( dataTransfer.getData( 'text/html' ) || dataTransfer.getFilesCount() ) ) {
1593 return true; 1577 return true;
1594 } 1578 }
1595 1579
1596 // In Safari and IE HTML data is not available though the Clipboard API. 1580 // Safari fixed clipboard in 10.1 (https://bugs.webkit.org/show_bug.cgi?id=19893) (http://dev.ckeditor.com/ticket/16982).
1581 // However iOS version still doesn't work well enough (https://bugs.webkit.org/show_bug.cgi?id=19893#c34).
1582 if ( CKEDITOR.env.safari && CKEDITOR.env.version >= 603 && !CKEDITOR.env.iOS ) {
1583 return true;
1584 }
1585
1586 // In older Safari and IE HTML data is not available though the Clipboard API.
1597 // In Edge things are a bit messy at the moment - 1587 // In Edge things are a bit messy at the moment -
1598 // https://connect.microsoft.com/IE/feedback/details/1572456/edge-clipboard-api-text-html-content-messed-up-in-event-clipboarddata 1588 // https://connect.microsoft.com/IE/feedback/details/1572456/edge-clipboard-api-text-html-content-messed-up-in-event-clipboarddata
1599 // It is safer to use the paste bin in unknown cases. 1589 // It is safer to use the paste bin in unknown cases.
@@ -1610,8 +1600,8 @@
1610 getDropTarget: function( editor ) { 1600 getDropTarget: function( editor ) {
1611 var editable = editor.editable(); 1601 var editable = editor.editable();
1612 1602
1613 // #11123 Firefox needs to listen on document, because otherwise event won't be fired. 1603 // http://dev.ckeditor.com/ticket/11123 Firefox needs to listen on document, because otherwise event won't be fired.
1614 // #11086 IE8 cannot listen on document. 1604 // http://dev.ckeditor.com/ticket/11086 IE8 cannot listen on document.
1615 if ( ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) || editable.isInline() ) { 1605 if ( ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) || editable.isInline() ) {
1616 return editable; 1606 return editable;
1617 } else { 1607 } else {
@@ -1809,7 +1799,7 @@
1809 // Check if drop range is inside range. 1799 // Check if drop range is inside range.
1810 // This is an edge case when we drop something on editable's margin/padding. 1800 // This is an edge case when we drop something on editable's margin/padding.
1811 // That space is not treated as a part of the range we drag, so it is possible to drop there. 1801 // That space is not treated as a part of the range we drag, so it is possible to drop there.
1812 // When we drop, browser tries to find closest drop position and it finds it inside drag range. (#13453) 1802 // When we drop, browser tries to find closest drop position and it finds it inside drag range. (http://dev.ckeditor.com/ticket/13453)
1813 var startNode = dragBookmark.startNode, 1803 var startNode = dragBookmark.startNode,
1814 endNode = dragBookmark.endNode, 1804 endNode = dragBookmark.endNode,
1815 dropNode = dropBookmark.startNode, 1805 dropNode = dropBookmark.startNode,
@@ -1863,7 +1853,7 @@
1863 return dropEvt.data.testRange; 1853 return dropEvt.data.testRange;
1864 1854
1865 // Webkits. 1855 // Webkits.
1866 if ( document.caretRangeFromPoint ) { 1856 if ( document.caretRangeFromPoint && editor.document.$.caretRangeFromPoint( x, y ) ) {
1867 $range = editor.document.$.caretRangeFromPoint( x, y ); 1857 $range = editor.document.$.caretRangeFromPoint( x, y );
1868 range.setStart( CKEDITOR.dom.node( $range.startContainer ), $range.startOffset ); 1858 range.setStart( CKEDITOR.dom.node( $range.startContainer ), $range.startOffset );
1869 range.collapse( true ); 1859 range.collapse( true );
@@ -2089,7 +2079,7 @@
2089 */ 2079 */
2090 initPasteDataTransfer: function( evt, sourceEditor ) { 2080 initPasteDataTransfer: function( evt, sourceEditor ) {
2091 if ( !this.isCustomCopyCutSupported ) { 2081 if ( !this.isCustomCopyCutSupported ) {
2092 // Edge does not support custom copy/cut, but it have some useful data in the clipboardData (#13755). 2082 // Edge does not support custom copy/cut, but it have some useful data in the clipboardData (http://dev.ckeditor.com/ticket/13755).
2093 return new this.dataTransfer( ( CKEDITOR.env.edge && evt && evt.data.$ && evt.data.$.clipboardData ) || null, sourceEditor ); 2083 return new this.dataTransfer( ( CKEDITOR.env.edge && evt && evt.data.$ && evt.data.$.clipboardData ) || null, sourceEditor );
2094 } else if ( evt && evt.data && evt.data.$ ) { 2084 } else if ( evt && evt.data && evt.data.$ ) {
2095 var dataTransfer = new this.dataTransfer( evt.data.$.clipboardData, sourceEditor ); 2085 var dataTransfer = new this.dataTransfer( evt.data.$.clipboardData, sourceEditor );
@@ -2270,13 +2260,31 @@
2270 * Facade for the native `getData` method. 2260 * Facade for the native `getData` method.
2271 * 2261 *
2272 * @param {String} type The type of data to retrieve. 2262 * @param {String} type The type of data to retrieve.
2263 * @param {Boolean} [getNative=false] Indicates if the whole, original content of the dataTransfer should be returned.
2264 * Introduced in CKEditor 4.7.0.
2273 * @returns {String} type Stored data for the given type or an empty string if the data for that type does not exist. 2265 * @returns {String} type Stored data for the given type or an empty string if the data for that type does not exist.
2274 */ 2266 */
2275 getData: function( type ) { 2267 getData: function( type, getNative ) {
2276 function isEmpty( data ) { 2268 function isEmpty( data ) {
2277 return data === undefined || data === null || data === ''; 2269 return data === undefined || data === null || data === '';
2278 } 2270 }
2279 2271
2272 function filterUnwantedCharacters( data ) {
2273 if ( typeof data !== 'string' ) {
2274 return data;
2275 }
2276
2277 var htmlEnd = data.indexOf( '</html>' );
2278
2279 if ( htmlEnd !== -1 ) {
2280 // Just cut everything after `</html>`, so everything after htmlEnd index + length of `</html>`.
2281 // Required to workaround bug: https://bugs.chromium.org/p/chromium/issues/detail?id=696978
2282 return data.substring( 0, htmlEnd + 7 );
2283 }
2284
2285 return data;
2286 }
2287
2280 type = this._.normalizeType( type ); 2288 type = this._.normalizeType( type );
2281 2289
2282 var data = this._.data[ type ], 2290 var data = this._.data[ type ],
@@ -2297,8 +2305,9 @@
2297 // This code removes meta tags and returns only the contents of the <body> element if found. Note that 2305 // This code removes meta tags and returns only the contents of the <body> element if found. Note that
2298 // some significant content may be placed outside Start/EndFragment comments so it's kept. 2306 // some significant content may be placed outside Start/EndFragment comments so it's kept.
2299 // 2307 //
2300 // See #13583 for more details. 2308 // See http://dev.ckeditor.com/ticket/13583 for more details.
2301 if ( type == 'text/html' ) { 2309 // Additionally http://dev.ckeditor.com/ticket/16847 adds a flag allowing to get the whole, original content.
2310 if ( type == 'text/html' && !getNative ) {
2302 data = data.replace( this._.metaRegExp, '' ); 2311 data = data.replace( this._.metaRegExp, '' );
2303 2312
2304 // Keep only contents of the <body> element 2313 // Keep only contents of the <body> element
@@ -2318,7 +2327,7 @@
2318 data = ''; 2327 data = '';
2319 } 2328 }
2320 2329
2321 return data; 2330 return filterUnwantedCharacters( data );
2322 }, 2331 },
2323 2332
2324 /** 2333 /**
@@ -2339,7 +2348,7 @@
2339 } 2348 }
2340 2349
2341 // If we use the text type to bind the ID, then if someone tries to set the text, we must also 2350 // If we use the text type to bind the ID, then if someone tries to set the text, we must also
2342 // update ID accordingly. #13468. 2351 // update ID accordingly. http://dev.ckeditor.com/ticket/13468.
2343 if ( clipboardIdDataType == 'Text' && type == 'Text' ) { 2352 if ( clipboardIdDataType == 'Text' && type == 'Text' ) {
2344 this.id = value; 2353 this.id = value;
2345 } 2354 }
@@ -2384,7 +2393,7 @@
2384 function getAndSetData( type ) { 2393 function getAndSetData( type ) {
2385 type = that._.normalizeType( type ); 2394 type = that._.normalizeType( type );
2386 2395
2387 var data = that.getData( type ); 2396 var data = that.getData( type, true );
2388 if ( data ) { 2397 if ( data ) {
2389 that._.data[ type ] = data; 2398 that._.data[ type ] = data;
2390 } 2399 }
@@ -2407,7 +2416,7 @@
2407 if ( ( this.$ && this.$.files ) || file ) { 2416 if ( ( this.$ && this.$.files ) || file ) {
2408 this._.files = []; 2417 this._.files = [];
2409 2418
2410 // Edge have empty files property with no length (#13755). 2419 // Edge have empty files property with no length (http://dev.ckeditor.com/ticket/13755).
2411 if ( this.$.files && this.$.files.length ) { 2420 if ( this.$.files && this.$.files.length ) {
2412 for ( i = 0; i < this.$.files.length; i++ ) { 2421 for ( i = 0; i < this.$.files.length; i++ ) {
2413 this._.files.push( this.$.files[ i ] ); 2422 this._.files.push( this.$.files[ i ] );
@@ -2507,7 +2516,7 @@
2507 2516
2508 /** 2517 /**
2509 * When the content of the clipboard is pasted in Chrome, the clipboard data object has an empty `files` property, 2518 * When the content of the clipboard is pasted in Chrome, the clipboard data object has an empty `files` property,
2510 * but it is possible to get the file as `items[0].getAsFile();` (#12961). 2519 * but it is possible to get the file as `items[0].getAsFile();` (http://dev.ckeditor.com/ticket/12961).
2511 * 2520 *
2512 * @private 2521 * @private
2513 * @returns {File} File instance or `null` if not found. 2522 * @returns {File} File instance or `null` if not found.
@@ -2593,7 +2602,7 @@
2593 * @member CKEDITOR.editor 2602 * @member CKEDITOR.editor
2594 */ 2603 */
2595 2604
2596 /** 2605/**
2597 * Fired after the {@link #paste} event if content was modified. Note that if the paste 2606 * Fired after the {@link #paste} event if content was modified. Note that if the paste
2598 * event does not insert any data, the `afterPaste` event will not be fired. 2607 * event does not insert any data, the `afterPaste` event will not be fired.
2599 * 2608 *
@@ -2602,16 +2611,6 @@
2602 */ 2611 */
2603 2612
2604/** 2613/**
2605 * Internal event to open the Paste dialog window.
2606 *
2607 * @private
2608 * @event pasteDialog
2609 * @member CKEDITOR.editor
2610 * @param {CKEDITOR.editor} editor This editor instance.
2611 * @param {Function} [data] Callback that will be passed to {@link CKEDITOR.editor#openDialog}.
2612 */
2613
2614/**
2615 * Facade for the native `drop` event. Fired when the native `drop` event occurs. 2614 * Facade for the native `drop` event. Fired when the native `drop` event occurs.
2616 * 2615 *
2617 * **Note:** To manipulate dropped data, use the {@link CKEDITOR.editor#paste} event. 2616 * **Note:** To manipulate dropped data, use the {@link CKEDITOR.editor#paste} event.
@@ -2770,3 +2769,12 @@
2770 * @property {CKEDITOR.filter} [pasteFilter] 2769 * @property {CKEDITOR.filter} [pasteFilter]
2771 * @member CKEDITOR.editor 2770 * @member CKEDITOR.editor
2772 */ 2771 */
2772
2773/**
2774 * Duration of the notification displayed after pasting was blocked by the browser.
2775 *
2776 * @since 4.7.0
2777 * @cfg {Number} [clipboard_notificationDuration=10000]
2778 * @member CKEDITOR.config
2779 */
2780CKEDITOR.config.clipboard_notificationDuration = 10000;