diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js index 5476c98fed..389f685a92 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.dialog.add("a11yHelp",function(f){function m(a){for(var b,c,h=[],d=0;d=b&&(a-=c,h.push(e[c]));h.push(e[a]||String.fromCharCode(a));return h.join("+")}function t(a,b){var c=f.getCommandKeystroke(b,!0);return c.length?CKEDITOR.tools.array.map(c,m).join(" / "):a}var a=f.lang.a11yhelp,b=f.lang.common.keyboard,p=CKEDITOR.tools.getNextId(),q=/\$\{(.*?)\}/g,g=[CKEDITOR.ALT,CKEDITOR.SHIFT,CKEDITOR.CTRL],e={8:b[8],9:a.tab,13:b[13],16:b[16],17:b[17],18:b[18],19:a.pause, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt deleted file mode 100644 index b590956ec2..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - -cs.js Found: 30 Missing: 0 -cy.js Found: 30 Missing: 0 -da.js Found: 12 Missing: 18 -de.js Found: 30 Missing: 0 -el.js Found: 25 Missing: 5 -eo.js Found: 30 Missing: 0 -fa.js Found: 30 Missing: 0 -fi.js Found: 30 Missing: 0 -fr.js Found: 30 Missing: 0 -gu.js Found: 12 Missing: 18 -he.js Found: 30 Missing: 0 -it.js Found: 30 Missing: 0 -mk.js Found: 5 Missing: 25 -nb.js Found: 30 Missing: 0 -nl.js Found: 30 Missing: 0 -no.js Found: 30 Missing: 0 -pt-br.js Found: 30 Missing: 0 -ro.js Found: 6 Missing: 24 -tr.js Found: 30 Missing: 0 -ug.js Found: 27 Missing: 3 -vi.js Found: 6 Missing: 24 -zh-cn.js Found: 30 Missing: 0 diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/af.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/af.js index fabba8bb8c..e68075daeb 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/af.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/af.js @@ -1,8 +1,8 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","af",{title:"Toeganglikheid instruksies",contents:"Hulp inhoud. Druk ESC om toe te maak.",legend:[{name:"Algemeen",items:[{name:"Bewerker balk",legend:"Druk ${toolbarFocus} om op die werkbalk te land. Beweeg na die volgende en voorige wekrbalkgroep met TAB and SHIFT+TAB. Beweeg na die volgende en voorige werkbalkknop met die regter of linker pyl. Druk SPASIE of ENTER om die knop te bevestig."},{name:"Bewerker dialoog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","af",{title:"Toeganglikheid instruksies",contents:"Hulp inhoud. Druk ESC om toe te maak.",legend:[{name:"Algemeen",items:[{name:"Bewerker balk",legend:"Druk ${toolbarFocus} om op die werkbalk te land. Beweeg na die volgende en voorige wekrbalkgroep met TAB and SHIFT+TAB. Beweeg na die volgende en voorige werkbalkknop met die regter of linker pyl. Druk SPASIE of ENTER om die knop te bevestig."},{name:"Bewerker dialoog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Bewerkerinhoudmenu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js index 87d215891c..bd97047141 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","ar",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"عام",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","ar",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"عام",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"الاوامر",items:[{name:"تراجع",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:"نص غامق",legend:"Press ${bold}"},{name:"نص مائل",legend:"Press ${italic}"},{name:"نص تحته خط",legend:"Press ${underline}"}, {name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/az.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/az.js index 5c02664f04..8d89f5d226 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/az.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/az.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","az",{title:"Əlillərə dəstək üzrə təlimat",contents:"Kömək. Pəncərəni bağlamaq üçün ESC basın.",legend:[{name:"Əsas",items:[{name:"Düzəliş edənin alətlər çubuğu",legend:"Panelə keçmək üçün ${toolbarFocus} basın. Növbəti panelə TAB, əvvəlki panelə isə SHIFT+TAB düyməsi vasitəsi ilə keçə bilərsiz. Paneldəki düymələr arasında sol və sağ ox düyməsi ilə keçid edə bilərsiz. Seçilmiş düyməsi SPACE və ya ENTER ilə işlədə bilərsiniz."},{name:"Redaktorun pəncərəsi",legend:"Pəncərə içində növbəti element seçmək üçün TAB düyməni basın, əvvəlki isə - SHIFT+TAB. Təsdiq edilməsi üçün ENTER, imtina edilməsi isə ESC diymələri istifadə edin. Pəncərədə bir neçə vərəq olanda olnarın siyahı ALT+F10 ilə aça bilərsiz. Vərəqlərin siyahı fokus altında olanda ox düymələr vasitəsi ilə onların arasında keçid edə bilərsiz."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js index a782094841..f337f9c4ba 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js @@ -1,11 +1,12 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","bg",{title:"Инструкции за достъпност",contents:"Съдържание на помощта. За да затворите този диалогов прозорец, натиснете ESC.",legend:[{name:"Общо",items:[{name:"Лента с инструменти за редактора",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Диалог на редактора", -legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Контекстно меню на редактора",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."}, -{name:"Списъчно меню на редактора",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},{name:"Лента с път на елемент на редактора",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]}, -{name:"Команди",items:[{name:"Команда за отмяна",legend:"Натисни ${undo}"},{name:"Команда за пренаправяне",legend:"Натисни ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, -{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down", -leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3", -f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file +CKEDITOR.plugins.setLang("a11yhelp","bg",{title:"Инструкции за достъпност",contents:"Съдържание на помощта. За да затворите този диалогов прозорец, натиснете ESC.",legend:[{name:"Общо",items:[{name:"Лента с инструменти за редактора",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Диалог на редактора",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, +{name:"Контекстно меню на редактора",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Списъчно меню на редактора",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Лента с път на елемент на редактора",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Команди",items:[{name:"Команда за отмяна",legend:"Натисни ${undo}"},{name:"Команда за пренаправяне",legend:"Натисни ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"}, +{name:" Underline command",legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js index 47326ee939..1ee9310688 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","ca",{title:"Instruccions d'Accessibilitat",contents:"Continguts de l'Ajuda. Per tancar aquest quadre de diàleg premi ESC.",legend:[{name:"General",items:[{name:"Editor de barra d'eines",legend:"Premi ${toolbarFocus} per desplaçar-se per la barra d'eines. Vagi en el següent i anterior grup de barra d'eines amb TAB i SHIFT+TAB. Vagi en el següent i anterior botó de la barra d'eines amb RIGHT ARROW i LEFT ARROW. Premi SPACE o ENTER per activar el botó de la barra d'eines."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js index c1a5eda64d..e1d7cb628c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js @@ -1,9 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","cs",{title:"Instrukce pro přístupnost",contents:"Obsah nápovědy. Pro uzavření tohoto dialogu stiskněte klávesu ESC.",legend:[{name:"Obecné",items:[{name:"Panel nástrojů editoru",legend:"Stiskněte${toolbarFocus} k procházení panelu nástrojů. Přejděte na další a předchozí skupiny pomocí TAB a SHIFT+TAB. Přechod na další a předchozí tlačítko panelu nástrojů je pomocí ŠIPKA VPRAVO nebo ŠIPKA VLEVO. Stisknutím mezerníku nebo klávesy ENTER tlačítko aktivujete."},{name:"Dialogové okno editoru", -legend:"Uvnitř dialogového okna stiskněte TAB pro přesunutí na další prvek okna, stiskněte SHIFT+TAB pro přesun na předchozí prvek okna, stiskněte ENTER pro odeslání dialogu, stiskněte ESC pro jeho zrušení. Pro dialogová okna, která mají mnoho karet stiskněte ALT+F10 pro zaměření seznamu karet, nebo TAB, pro posun podle pořadí karet.Při zaměření seznamu karet se můžete jimi posouvat pomocí ŠIPKY VPRAVO a VLEVO."},{name:"Kontextové menu editoru",legend:"Stiskněte ${contextMenu} nebo klávesu APPLICATION k otevření kontextového menu. Pak se přesuňte na další možnost menu pomocí TAB nebo ŠIPKY DOLŮ. Přesuňte se na předchozí možnost pomocí SHIFT+TAB nebo ŠIPKY NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti menu. Podmenu současné možnosti otevřete pomocí MEZERNÍKU nebo ENTER či ŠIPKY DOLEVA. Kontextové menu uzavřete stiskem ESC."}, +CKEDITOR.plugins.setLang("a11yhelp","cs",{title:"Instrukce pro přístupnost",contents:"Obsah nápovědy. Pro uzavření tohoto dialogu stiskněte klávesu ESC.",legend:[{name:"Obecné",items:[{name:"Panel nástrojů editoru",legend:"Stiskněte ${toolbarFocus} k procházení panelu nástrojů. K přechodu na další nebo předchozí skupinu použijte TAB nebo SHIFT+TAB. Pro přechod na další nebo předchozí tlačítko panelu nástrojů použijte ŠIPKA VPRAVO nebo ŠIPKA VLEVO. Stisknutím mezerníku nebo klávesy ENTER tlačítko aktivujete. Po aktivaci tlačítka se fokus přesune zpět do editační oblasti."}, +{name:"Dialogové okno editoru",legend:"Uvnitř dialogového okna stiskněte TAB pro přesunutí na další prvek okna, stiskněte SHIFT+TAB pro přesun na předchozí prvek okna, stiskněte ENTER pro odeslání dialogu, stiskněte ESC pro jeho zrušení. Pro dialogová okna, která mají mnoho karet stiskněte ALT+F10 pro zaměření seznamu karet, nebo TAB, pro posun podle pořadí karet.Při zaměření seznamu karet se můžete jimi posouvat pomocí ŠIPKY VPRAVO a VLEVO."},{name:"Kontextové menu editoru",legend:"Stiskněte ${contextMenu} nebo klávesu APPLICATION k otevření kontextového menu. Pak se přesuňte na další možnost menu pomocí TAB nebo ŠIPKY DOLŮ. Přesuňte se na předchozí možnost pomocí SHIFT+TAB nebo ŠIPKY NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti menu. Podmenu současné možnosti otevřete pomocí MEZERNÍKU nebo ENTER či ŠIPKY DOLEVA. Kontextové menu uzavřete stiskem ESC."}, {name:"Rámeček seznamu editoru",legend:"Uvnitř rámečku seznamu se přesunete na další položku menu pomocí TAB nebo ŠIPKA DOLŮ. Na předchozí položku se přesunete SHIFT+TAB nebo ŠIPKA NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti seznamu. Stiskněte ESC pro uzavření seznamu."},{name:"Lišta cesty prvku v editoru",legend:"Stiskněte ${elementsPathFocus} pro procházení lišty cesty prvku. Na další tlačítko prvku se přesunete pomocí TAB nebo ŠIPKA VPRAVO. Na předchozí tlačítko se přesunete pomocí SHIFT+TAB nebo ŠIPKA VLEVO. Stiskněte MEZERNÍK nebo ENTER pro vybrání prvku v editoru."}]}, {name:"Příkazy",items:[{name:" Příkaz Zpět",legend:"Stiskněte ${undo}"},{name:" Příkaz Znovu",legend:"Stiskněte ${redo}"},{name:" Příkaz Tučné",legend:"Stiskněte ${bold}"},{name:" Příkaz Kurzíva",legend:"Stiskněte ${italic}"},{name:" Příkaz Podtržení",legend:"Stiskněte ${underline}"},{name:" Příkaz Odkaz",legend:"Stiskněte ${link}"},{name:" Příkaz Skrýt panel nástrojů",legend:"Stiskněte ${toolbarCollapse}"},{name:"Příkaz pro přístup k předchozímu prostoru zaměření",legend:"Stiskněte ${accessPreviousSpace} pro přístup k nejbližšímu nedosažitelnému prostoru zaměření před stříškou, například: dva přilehlé prvky HR. Pro dosažení vzdálených prostorů zaměření tuto kombinaci kláves opakujte."}, {name:"Příkaz pro přístup k dalšímu prostoru zaměření",legend:"Stiskněte ${accessNextSpace} pro přístup k nejbližšímu nedosažitelnému prostoru zaměření po stříšce, například: dva přilehlé prvky HR. Pro dosažení vzdálených prostorů zaměření tuto kombinaci kláves opakujte."},{name:" Nápověda přístupnosti",legend:"Stiskněte ${a11yHelp}"},{name:"Vložit jako čistý text",legend:"Stiskněte ${pastetext}",legendEdge:"Stiskněte ${pastetext} a pak ${paste}"}]}],tab:"Tabulátor",pause:"Pauza",capslock:"Caps lock", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js index d0b806234f..f02d65dfc7 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js @@ -1,8 +1,8 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","cy",{title:"Canllawiau Hygyrchedd",contents:"Cynnwys Cymorth. I gau y deialog hwn, pwyswch ESC.",legend:[{name:"Cyffredinol",items:[{name:"Bar Offer y Golygydd",legend:"Pwyswch $ {toolbarFocus} i fynd at y bar offer. Symudwch i'r grŵp bar offer nesaf a blaenorol gyda TAB a SHIFT+TAB. Symudwch i'r botwm bar offer nesaf a blaenorol gyda SAETH DDE neu SAETH CHWITH. Pwyswch SPACE neu ENTER i wneud botwm y bar offer yn weithredol."},{name:"Deialog y Golygydd",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","cy",{title:"Canllawiau Hygyrchedd",contents:"Cynnwys Cymorth. I gau y deialog hwn, pwyswch ESC.",legend:[{name:"Cyffredinol",items:[{name:"Bar Offer y Golygydd",legend:"Pwyswch $ {toolbarFocus} i fynd at y bar offer. Symudwch i'r grŵp bar offer nesaf a blaenorol gyda TAB a SHIFT+TAB. Symudwch i'r botwm bar offer nesaf a blaenorol gyda SAETH DDE neu SAETH CHWITH. Pwyswch SPACE neu ENTER i wneud botwm y bar offer yn weithredol."},{name:"Deialog y Golygydd",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Dewislen Cyd-destun y Golygydd",legend:"Pwyswch $ {contextMenu} neu'r ALLWEDD 'APPLICATION' i agor y ddewislen cyd-destun. Yna symudwch i'r opsiwn ddewislen nesaf gyda'r TAB neu'r SAETH I LAWR. Symudwch i'r opsiwn blaenorol gyda SHIFT+TAB neu'r SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn ddewislen. Agorwch is-dewislen yr opsiwn cyfredol gyda SPACE neu ENTER neu SAETH DDE. Ewch yn ôl i'r eitem ar y ddewislen uwch gydag ESC neu SAETH CHWITH. Ceuwch y ddewislen cyd-destun gydag ESC."}, {name:"Blwch Rhestr y Golygydd",legend:"Tu mewn y blwch rhestr, ewch i'r eitem rhestr nesaf gyda TAB neu'r SAETH I LAWR. Symudwch i restr eitem flaenorol gyda SHIFT+TAB neu SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn o'r rhestr. Pwyswch ESC i gau'r rhestr."},{name:"Bar Llwybr Elfen y Golygydd",legend:"Pwyswch ${elementsPathFocus} i fynd i'r bar llwybr elfennau. Symudwch i fotwm yr elfen nesaf gyda TAB neu SAETH DDE. Symudwch i fotwm blaenorol gyda SHIFT+TAB neu SAETH CHWITH. Pwyswch SPACE neu ENTER i ddewis yr elfen yn y golygydd."}]}, {name:"Gorchmynion",items:[{name:"Gorchymyn dadwneud",legend:"Pwyswch ${undo}"},{name:"Gorchymyn ailadrodd",legend:"Pwyswch ${redo}"},{name:"Gorchymyn Bras",legend:"Pwyswch ${bold}"},{name:"Gorchymyn italig",legend:"Pwyswch ${italig}"},{name:"Gorchymyn tanlinellu",legend:"Pwyso ${underline}"},{name:"Gorchymyn dolen",legend:"Pwyswch ${link}"},{name:"Gorchymyn Cwympo'r Dewislen",legend:"Pwyswch ${toolbarCollapse}"},{name:"Myned i orchymyn bwlch ffocws blaenorol",legend:"Pwyswch ${accessPreviousSpace} i fyned i'r \"blwch ffocws sydd methu ei gyrraedd\" cyn y caret, er enghraifft: dwy elfen HR drws nesaf i'w gilydd. AIladroddwch y cyfuniad allwedd i gyrraedd bylchau ffocws pell."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/da.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/da.js index a8f7a3bff9..82d9d5fba3 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/da.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","da",{title:"Tilgængelighedsinstrukser",contents:"Onlinehjælp. For at lukke dette vindue klik ESC",legend:[{name:"Generelt",items:[{name:"Editor værktøjslinje",legend:"Tryk ${toolbarFocus} for at navigere til værktøjslinjen. Flyt til næste eller forrige værktøjsline gruppe ved hjælp af TAB eller SHIFT+TAB. Flyt til næste eller forrige værktøjslinje knap med venstre- eller højre piltast. Tryk på SPACE eller ENTER for at aktivere værktøjslinje knappen."},{name:"Editor dialogboks", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js index 1b983122e2..57e318cea2 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js @@ -1,12 +1,13 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","de-ch",{title:"Barrierefreiheitinformationen",contents:"Hilfeinhalt. Um den Dialog zu schliessen die Taste ESC drücken.",legend:[{name:"Allgemein",items:[{name:"Editorwerkzeugleiste",legend:"Drücken Sie ${toolbarFocus} auf der Symbolleiste. Gehen Sie zur nächsten oder vorherigen Symbolleistengruppe mit TAB und SHIFT+TAB. Gehen Sie zur nächsten oder vorherigen Symbolleiste auf die Schaltfläche mit dem RECHTS- oder LINKS-Pfeil. Drücken Sie die Leertaste oder Eingabetaste, um die Schaltfläche in der Symbolleiste aktivieren."}, -{name:"Editordialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Editor-Kontextmenü",legend:"Dürcken Sie ${contextMenu} oder die Anwendungstaste um das Kontextmenü zu öffnen. Man kann die Pfeiltasten zum Wechsel benutzen. Mit der Leertaste oder der Enter-Taste kann man den Menüpunkt aufrufen. Schliessen Sie das Kontextmenü mit der ESC-Taste."}, -{name:"Editor-Listenbox",legend:"Innerhalb einer Listenbox kann man mit der TAB-Taste oder den Pfeilrunter-Taste den nächsten Menüeintrag wählen. Mit der SHIFT+TAB Tastenkombination oder der Pfeilhoch-Taste gelangt man zum vorherigen Menüpunkt. Mit der Leertaste oder Enter kann man den Menüpunkt auswählen. Drücken Sie ESC zum Verlassen des Menüs."},{name:"Editor-Elementpfadleiste",legend:"Drücken Sie ${elementsPathFocus} um sich durch die Pfadleiste zu bewegen. Um zum nächsten Element zu gelangen drücken Sie TAB oder die Pfeilrechts-Taste. Zum vorherigen Element gelangen Sie mit der SHIFT+TAB oder der Pfeillinks-Taste. Drücken Sie die Leertaste oder Enter um das Element auszuwählen."}]}, -{name:"Befehle",items:[{name:"Rückgängig-Befehl",legend:"Drücken Sie ${undo}"},{name:"Wiederherstellen-Befehl",legend:"Drücken Sie ${redo}"},{name:"Fettschrift-Befehl",legend:"Drücken Sie ${bold}"},{name:"Kursiv-Befehl",legend:"Drücken Sie ${italic}"},{name:"Unterstreichen-Befehl",legend:"Drücken Sie ${underline}"},{name:"Link-Befehl",legend:"Drücken Sie ${link}"},{name:"Werkzeugleiste einklappen-Befehl",legend:"Drücken Sie ${toolbarCollapse}"},{name:"Zugang bisheriger Fokussierung Raumbefehl ",legend:"Drücken Sie ${accessPreviousSpace} auf den am nächsten nicht erreichbar Fokus-Abstand vor die Einfügemarke zugreifen: zwei benachbarte HR-Elemente. Wiederholen Sie die Tastenkombination um entfernte Fokusräume zu erreichen. "}, -{name:"Zugang nächster Schwerpunkt Raumbefehl ",legend:"Drücken Sie $ { accessNextSpace }, um den nächsten unerreichbar Fokus Leerzeichen nach dem Cursor zum Beispiel auf: zwei benachbarten HR Elemente. Wiederholen Sie die Tastenkombination zum fernen Fokus Bereiche zu erreichen. "},{name:"Eingabehilfen",legend:"Drücken Sie ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Feststell",escape:"Escape", -pageUp:"Bild auf",pageDown:"Bild ab",leftArrow:"Linke Pfeiltaste",upArrow:"Obere Pfeiltaste",rightArrow:"Rechte Pfeiltaste",downArrow:"Untere Pfeiltaste",insert:"Einfügen",leftWindowKey:"Linke Windowstaste",rightWindowKey:"Rechte Windowstaste",selectKey:"Taste auswählen",numpad0:"Ziffernblock 0",numpad1:"Ziffernblock 1",numpad2:"Ziffernblock 2",numpad3:"Ziffernblock 3",numpad4:"Ziffernblock 4",numpad5:"Ziffernblock 5",numpad6:"Ziffernblock 6",numpad7:"Ziffernblock 7",numpad8:"Ziffernblock 8",numpad9:"Ziffernblock 9", -multiply:"Multiplizieren",add:"Addieren",subtract:"Subtrahieren",decimalPoint:"Punkt",divide:"Dividieren",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Ziffernblock feststellen",scrollLock:"Rollen",semiColon:"Semikolon",equalSign:"Gleichheitszeichen",comma:"Komma",dash:"Bindestrich",period:"Punkt",forwardSlash:"Schrägstrich",graveAccent:"Gravis",openBracket:"Öffnende eckige Klammer",backSlash:"Rückwärtsgewandter Schrägstrich",closeBracket:"Schliessende eckige Klammer", -singleQuote:"Einfaches Anführungszeichen"}); \ No newline at end of file +CKEDITOR.plugins.setLang("a11yhelp","de-ch",{title:"Barrierefreiheitinformationen",contents:"Hilfeinhalt. Um den Dialog zu schliessen, die Taste ESC drücken.",legend:[{name:"Allgemein",items:[{name:"Editorwerkzeugleiste",legend:"Drücken Sie ${toolbarFocus} auf der Symbolleiste. Gehen Sie zur nächsten oder vorherigen Symbolleistengruppe mit TAB und SHIFT+TAB. Gehen Sie zur nächsten oder vorherigen Symbolleiste auf die Schaltfläche mit dem RECHTS- oder LINKS-Pfeil. Drücken Sie die Leertaste oder Eingabetaste, um die Schaltfläche in der Symbolleiste zu aktivieren."}, +{name:"Editordialog",legend:"Drücken Sie innerhalb eines Dialogs TAB, um zum nächsten Element zu springen. Drücken Sie SHIFT+TAB, um zum vorigen Element zu springen, drücke ENTER um das Formular im Dialog abzusenden, drücken Sie ESC, um den Dialog zu schliessen. Hat der Dialog mehrere Tabs, dann können Sie durch ALT+F10 die Tab-Liste aufrufen or mittels TAB als Teil der Dialog-Tab-Reihenfolge. Ist die Tab-Liste fokussiert, kann mithilfe der Pfeiltasten (LINKS und RECHTS) zwischen den Tabs gewechselt werden."}, +{name:"Editor-Kontextmenü",legend:"Drücken Sie ${contextMenu} oder die Anwendungstaste, um das Kontextmenü zu öffnen. Man kann die Pfeiltasten zum Wechsel benutzen. Mit der Leertaste oder der Enter-Taste kann man den Menüpunkt aufrufen. Schliessen Sie das Kontextmenü mit der ESC-Taste."},{name:"Editor-Listenbox",legend:"Innerhalb einer Listenbox kann man mit der TAB-Taste oder den Pfeil-runter-Taste den nächsten Menüeintrag wählen. Mit der SHIFT+TAB Tastenkombination oder der Pfeil-hoch-Taste gelangt man zum vorherigen Menüpunkt. Mit der Leertaste oder Enter kann man den Menüpunkt auswählen. Drücken Sie ESC zum Verlassen des Menüs."}, +{name:"Editor-Elementpfadleiste",legend:"Drücken Sie ${elementsPathFocus}, um sich durch die Pfadleiste zu bewegen. Um zum nächsten Element zu gelangen, drücken Sie TAB oder die Pfeil-rechts-Taste. Zum vorherigen Element gelangen Sie mit der SHIFT+TAB oder der Pfeil-links-Taste. Drücken Sie die Leertaste oder Enter, um das Element auszuwählen."}]},{name:"Befehle",items:[{name:"Rückgängig-Befehl",legend:"Drücken Sie ${undo}"},{name:"Wiederherstellen-Befehl",legend:"Drücken Sie ${redo}"},{name:"Fettschrift-Befehl", +legend:"Drücken Sie ${bold}"},{name:"Kursiv-Befehl",legend:"Drücken Sie ${italic}"},{name:"Unterstreichen-Befehl",legend:"Drücken Sie ${underline}"},{name:"Link-Befehl",legend:"Drücken Sie ${link}"},{name:"Werkzeugleiste einklappen-Befehl",legend:"Drücken Sie ${toolbarCollapse}"},{name:"Zugang zum letzten Fokus-Bereich",legend:"Drücken Sie ${accessPreviousSpace}, um zum nächsten unerreichbaren Fokus-Bereich vor der aktuellen Position zu gelangen. Zum Beispiel: zwei benachbarte HR-Elemente. Wiederholen Sie die Tastenkombination, um weitere Fokus-Bereichen zu erreichen. "}, +{name:"Zugang zum nächsten Fokus-Bereich",legend:"Drücken Sie $ { accessNextSpace }, um den nächsten unerreichbaren Fokusbereich vor der aktuellen Position zu gelangen. Zum Beispiel: zwei benachbarten HR Elemente. Wiederholen Sie die Tastenkombination, um weitere Fokus-Bereiche zu erreichen. "},{name:"Eingabehilfen",legend:"Drücken Sie ${a11yHelp}"},{name:"Als Klartext einfügen",legend:"Drücken Sie ${pastetext}",legendEdge:"Drücken Sie ${pastetext} und anschliessend ${paste}"}]}],tab:"Tab",pause:"Pause", +capslock:"Feststell",escape:"Escape",pageUp:"Bild auf",pageDown:"Bild ab",leftArrow:"Linke Pfeiltaste",upArrow:"Obere Pfeiltaste",rightArrow:"Rechte Pfeiltaste",downArrow:"Untere Pfeiltaste",insert:"Einfügen",leftWindowKey:"Linke Windowstaste",rightWindowKey:"Rechte Windowstaste",selectKey:"Taste auswählen",numpad0:"Ziffernblock 0",numpad1:"Ziffernblock 1",numpad2:"Ziffernblock 2",numpad3:"Ziffernblock 3",numpad4:"Ziffernblock 4",numpad5:"Ziffernblock 5",numpad6:"Ziffernblock 6",numpad7:"Ziffernblock 7", +numpad8:"Ziffernblock 8",numpad9:"Ziffernblock 9",multiply:"Multiplizieren",add:"Addieren",subtract:"Subtrahieren",decimalPoint:"Punkt",divide:"Dividieren",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Ziffernblock feststellen",scrollLock:"Rollen",semiColon:"Semikolon",equalSign:"Gleichheitszeichen",comma:"Komma",dash:"Bindestrich",period:"Punkt",forwardSlash:"Schrägstrich",graveAccent:"Accent grave",openBracket:"Öffnende eckige Klammer", +backSlash:"Rückwärtsgewandter Schrägstrich",closeBracket:"Schliessende eckige Klammer",singleQuote:"Einfaches Anführungszeichen"}); \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/de.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/de.js index cfbc349b95..7d5d51a9ea 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/de.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","de",{title:"Barrierefreiheitinformationen",contents:"Hilfeinhalt. Um den Dialog zu schliessen die Taste ESC drücken.",legend:[{name:"Allgemein",items:[{name:"Editorwerkzeugleiste",legend:"Drücken Sie ${toolbarFocus} auf der Symbolleiste. Gehen Sie zur nächsten oder vorherigen Symbolleistengruppe mit TAB und SHIFT+TAB. Gehen Sie zur nächsten oder vorherigen Symbolleiste auf die Schaltfläche mit dem RECHTS- oder LINKS-Pfeil. Drücken Sie die Leertaste oder Eingabetaste, um die Schaltfläche in der Symbolleiste aktivieren."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/el.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/el.js index d30b1ebaa3..8931ca4d01 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/el.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","el",{title:"Οδηγίες Προσβασιμότητας",contents:"Περιεχόμενα Βοήθειας. Πατήστε ESC για κλείσιμο.",legend:[{name:"Γενικά",items:[{name:"Εργαλειοθήκη Επεξεργαστή",legend:"Πατήστε ${toolbarFocus} για να περιηγηθείτε στην γραμμή εργαλείων. Μετακινηθείτε ανάμεσα στις ομάδες της γραμμής εργαλείων με TAB και SHIFT+TAB. Μετακινηθείτε ανάμεσα στα κουμπιά εργαλείων με το ΔΕΞΙ ή ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να ενεργοποιήσετε το ενεργό κουμπί εργαλείου."},{name:"Παράθυρο Διαλόγου Επεξεργαστή", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js index 635d58496e..6cc4c72ce1 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","en-au",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","en-au",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js index da0af02f02..a3b36ff93b 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","en-gb",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","en-gb",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en.js index d991f057b4..501c7568b0 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/en.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","en",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","en",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js index ac44450ffa..fed5066d21 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","eo",{title:"Uzindikoj pri atingeblo",contents:"Helpilenhavo. Por fermi tiun dialogon, premu la ESKAPAN klavon.",legend:[{name:"Ĝeneralaĵoj",items:[{name:"Ilbreto de la redaktilo",legend:"Premu ${toolbarFocus} por atingi la ilbreton. Moviĝu al la sekva aŭ antaŭa grupoj de la ilbreto per la klavoj TABA kaj MAJUSKLIGA+TABA. Moviĝu al la sekva aŭ antaŭa butonoj de la ilbreto per la klavoj SAGO DEKSTREN kaj SAGO MALDEKSTREN. Premu la SPACETklavon aŭ la ENENklavon por aktivigi la ilbretbutonon."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js index 9a6f331fbe..8a65259d02 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","es-mx",{title:"Instrucciones de accesibilidad",contents:"Contenidos de ayuda. Para cerrar este cuadro de diálogo presione ESC.",legend:[{name:"General",items:[{name:"Barra de herramientas del editor",legend:"Presione ${toolbarFocus} para navegar a la barra de herramientas. Desplácese al grupo de barras de herramientas siguiente y anterior con SHIFT + TAB. Desplácese al botón siguiente y anterior de la barra de herramientas con FLECHA DERECHA o FLECHA IZQUIERDA. Presione SPACE o ENTER para activar el botón de la barra de herramientas."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/es.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/es.js index 365a9963f1..b68003bba9 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/es.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","es",{title:"Instrucciones de accesibilidad",contents:"Ayuda. Para cerrar presione ESC.",legend:[{name:"General",items:[{name:"Barra de herramientas del editor",legend:'Presiona ${toolbarFocus} para navegar por la barra de herramientas. Para moverse por los distintos grupos de herramientas usa las teclas TAB y MAY+TAB. Para moverse por las distintas herramientas usa FLECHA DERECHA o FECHA IZQUIERDA. Presiona "espacio" o "intro" para activar la herramienta.'},{name:"Editor de diálogo", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/et.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/et.js index bcf9dda8a8..ebe756e664 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/et.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","et",{title:"Hõlbustuste kasutamise juhised",contents:"Abi sisu. Selle dialoogi sulgemiseks vajuta ESC klahvi.",legend:[{name:"Üldine",items:[{name:"Redaktori tööriistariba",legend:"Tööriistaribale navigeerimiseks vajuta ${toolbarFocus}. Järgmisele või eelmisele tööriistagrupile liikumiseks vajuta TAB või SHIFT+TAB. Järgmisele või eelmisele tööriistaribale liikumiseks vajuta PAREMALE NOOLT või VASAKULE NOOLT. Vajuta TÜHIKUT või ENTERIT, et tööriistariba nupp aktiveerida."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js index b7d8716ed6..0b28d3d0f8 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","eu",{title:"Erabilerraztasunaren argibideak",contents:"Laguntzaren edukiak. Elkarrizketa-koadro hau ixteko sakatu ESC.",legend:[{name:"Orokorra",items:[{name:"Editorearen tresna-barra",legend:"Sakatu ${toolbarFocus} tresna-barrara nabigatzeko. Tresna-barrako aurreko eta hurrengo taldera joateko erabili TAB eta MAIUS+TAB. Tresna-barrako aurreko eta hurrengo botoira joateko erabili ESKUIN-GEZIA eta EZKER-GEZIA. Sakatu ZURIUNEA edo SARTU tresna-barrako botoia aktibatzeko."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js index 5316fd5370..8614f89122 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js @@ -1,9 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","fa",{title:"دستورالعمل‌های دسترسی",contents:"راهنمای فهرست مطالب. برای بستن این کادر محاوره‌ای ESC را فشار دهید.",legend:[{name:"عمومی",items:[{name:"نوار ابزار ویرایشگر",legend:"${toolbarFocus} را برای باز کردن نوار ابزار بفشارید. با کلید Tab و Shift+Tab در مجموعه نوار ابزار بعدی و قبلی حرکت کنید. برای حرکت در کلید نوار ابزار قبلی و بعدی با کلید جهت‌نمای راست و چپ جابجا شوید. کلید Space یا Enter را برای فعال کردن کلید نوار ابزار بفشارید."},{name:"پنجره محاورهای ویرایشگر", -legend:"در داخل یک پنجره محاوره‌ای، کلید Tab را بفشارید تا به پنجره‌ی بعدی بروید، Shift+Tab برای حرکت به فیلد قبلی، فشردن Enter برای ثبت اطلاعات پنجره‌، فشردن Esc برای لغو پنجره محاوره‌ای و برای پنجره‌هایی که چندین برگه دارند، فشردن Alt+F10 یا Tab برای حرکت در برگه ها. وقتی بر فهرست برگه ها هستید، به صفحه بعدی و قبلی با کلید های راستی و چپ حرکت کنید."},{name:"منوی متنی ویرایشگر",legend:"${contextMenu} یا کلید برنامههای کاربردی را برای باز کردن منوی متن را بفشارید. سپس میتوانید برای حرکت به گزینه بعدی منو با کلید Tab و یا کلید جهتنمای پایین جابجا شوید. حرکت به گزینه قبلی با Shift+Tab یا کلید جهتنمای بالا. فشردن Space یا Enter برای انتخاب یک گزینه از منو. باز کردن زیر شاخه گزینه منو جاری با کلید Space یا Enter و یا کلید جهتنمای راست و چپ. بازگشت به منوی والد با کلید Esc یا کلید جهتنمای چپ. بستن منوی متن با Esc."}, +CKEDITOR.plugins.setLang("a11yhelp","fa",{title:"دستورالعمل‌های دسترسی",contents:"راهنمای فهرست مطالب. برای بستن این کادر محاوره‌ای ESC را فشار دهید.",legend:[{name:"عمومی",items:[{name:"نوار ابزار ویرایشگر",legend:"برای باز کردن نوار ابزار، {toolbarFocus}$ را بفشارید. با کلید Tab و Shift+Tab به مجموعه نوار ابزار بعدی و یا قبلی بروید. با کلید های جهت نمای راست و چپ روی دکمه های نوار ابزار حرکت کنید. برای فعال کردن دکمه مورد نظر کلید Enter و یا Space را بفشارید. با فعال کردن دکمه مورد نظر، تمرکز به محیط ویرایش باز خواهد گشت."}, +{name:"پنجره محاورهای ویرایشگر",legend:"در داخل یک پنجره محاوره‌ای، کلید Tab را بفشارید تا به پنجره‌ی بعدی بروید، Shift+Tab برای حرکت به فیلد قبلی، فشردن Enter برای ثبت اطلاعات پنجره‌، فشردن Esc برای لغو پنجره محاوره‌ای و برای پنجره‌هایی که چندین برگه دارند، فشردن Alt+F10 یا Tab برای حرکت در برگه ها. وقتی بر فهرست برگه ها هستید، به صفحه بعدی و قبلی با کلید های راستی و چپ حرکت کنید."},{name:"منوی متنی ویرایشگر",legend:"${contextMenu} یا کلید برنامههای کاربردی را برای باز کردن منوی متن را بفشارید. سپس میتوانید برای حرکت به گزینه بعدی منو با کلید Tab و یا کلید جهتنمای پایین جابجا شوید. حرکت به گزینه قبلی با Shift+Tab یا کلید جهتنمای بالا. فشردن Space یا Enter برای انتخاب یک گزینه از منو. باز کردن زیر شاخه گزینه منو جاری با کلید Space یا Enter و یا کلید جهتنمای راست و چپ. بازگشت به منوی والد با کلید Esc یا کلید جهتنمای چپ. بستن منوی متن با Esc."}, {name:"جعبه فهرست ویرایشگر",legend:"در داخل جعبه لیست، قلم دوم از اقلام لیست بعدی را با TAB و یا Arrow Down حرکت دهید. انتقال به قلم دوم از اقلام لیست قبلی را با SHIFT + TAB یا UP ARROW. کلید Space یا ENTER را برای انتخاب گزینه لیست بفشارید. کلید ESC را برای بستن جعبه لیست بفشارید."},{name:"ویرایشگر عنصر نوار راه",legend:"برای رفتن به مسیر عناصر ${elementsPathFocus} را بفشارید. حرکت به کلید عنصر بعدی با کلید Tab یا کلید جهت‌نمای راست. برگشت به کلید قبلی با Shift+Tab یا کلید جهت‌نمای چپ. فشردن Space یا Enter برای انتخاب یک عنصر در ویرایشگر."}]}, {name:"فرمان‌ها",items:[{name:"بازگشت به آخرین فرمان",legend:"فشردن ${undo}"},{name:"انجام مجدد فرمان",legend:"فشردن ${redo}"},{name:"فرمان درشت کردن متن",legend:"فشردن ${bold}"},{name:"فرمان کج کردن متن",legend:"فشردن ${italic}"},{name:"فرمان زیرخطدار کردن متن",legend:"فشردن ${underline}"},{name:"فرمان پیوند دادن",legend:"فشردن ${link}"},{name:"بستن نوار ابزار فرمان",legend:"فشردن ${toolbarCollapse}"},{name:"دسترسی به فرمان محل تمرکز قبلی",legend:"فشردن ${accessPreviousSpace} برای دسترسی به نزدیک‌ترین فضای قابل دسترسی تمرکز قبل از هشتک، برای مثال: دو عنصر مجاور HR -خط افقی-. تکرار کلید ترکیبی برای رسیدن به فضاهای تمرکز از راه دور."}, {name:"دسترسی به فضای دستور بعدی",legend:"برای دسترسی به نزدیک‌ترین فضای تمرکز غیر قابل دسترس، ${accessNextSpace} را پس از علامت هشتک بفشارید، برای مثال: دو عنصر مجاور HR -خط افقی-. کلید ترکیبی را برای رسیدن به فضای تمرکز تکرار کنید."},{name:"راهنمای دسترسی",legend:"فشردن ${a11yHelp}"},{name:"چسباندن به عنوان متن ساده",legend:"فشردن ${pastetext}",legendEdge:"فشردن ${pastetext}، همراه با ${paste}"}]}],tab:"برگه",pause:"توقف",capslock:"Caps Lock",escape:"گریز",pageUp:"صفحه به بالا",pageDown:"صفحه به پایین", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js index 0bd09252d1..5a85bf5933 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js @@ -1,9 +1,10 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","fi",{title:"Saavutettavuus ohjeet",contents:"Ohjeen sisällöt. Sulkeaksesi tämän dialogin paina ESC.",legend:[{name:"Yleinen",items:[{name:"Editorin työkalupalkki",legend:"Paina ${toolbarFocus} siirtyäksesi työkalupalkkiin. Siirry seuraavaan ja edelliseen työkalupalkin ryhmään TAB ja SHIFT+TAB näppäimillä. Siirry seuraavaan ja edelliseen työkalupainikkeeseen käyttämällä NUOLI OIKEALLE tai NUOLI VASEMMALLE näppäimillä. Paina VÄLILYÖNTI tai ENTER näppäintä aktivoidaksesi työkalupainikkeen."}, -{name:"Editorin dialogi",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Editorin oheisvalikko",legend:"Paina ${contextMenu} tai SOVELLUSPAINIKETTA avataksesi oheisvalikon. Liiku seuraavaan valikon vaihtoehtoon TAB tai NUOLI ALAS näppäimillä. Siirry edelliseen vaihtoehtoon SHIFT+TAB tai NUOLI YLÖS näppäimillä. Paina VÄLILYÖNTI tai ENTER valitaksesi valikon kohdan. Avataksesi nykyisen kohdan alivalikon paina VÄLILYÖNTI tai ENTER tai NUOLI OIKEALLE painiketta. Siirtyäksesi takaisin valikon ylemmälle tasolle paina ESC tai NUOLI vasemmalle. Oheisvalikko suljetaan ESC painikkeella."}, +{name:"Editorin dialogi",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, +{name:"Editorin oheisvalikko",legend:"Paina ${contextMenu} tai SOVELLUSPAINIKETTA avataksesi oheisvalikon. Liiku seuraavaan valikon vaihtoehtoon TAB tai NUOLI ALAS näppäimillä. Siirry edelliseen vaihtoehtoon SHIFT+TAB tai NUOLI YLÖS näppäimillä. Paina VÄLILYÖNTI tai ENTER valitaksesi valikon kohdan. Avataksesi nykyisen kohdan alivalikon paina VÄLILYÖNTI tai ENTER tai NUOLI OIKEALLE painiketta. Siirtyäksesi takaisin valikon ylemmälle tasolle paina ESC tai NUOLI vasemmalle. Oheisvalikko suljetaan ESC painikkeella."}, {name:"Editorin listalaatikko",legend:"Listalaatikon sisällä siirry seuraavaan listan kohtaan TAB tai NUOLI ALAS painikkeilla. Siirry edelliseen listan kohtaan SHIFT+TAB tai NUOLI YLÖS painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi listan vaihtoehdon. Paina ESC sulkeaksesi listalaatikon."},{name:"Editorin elementtipolun palkki",legend:"Paina ${elementsPathFocus} siirtyäksesi elementtipolun palkkiin. Siirry seuraavaan elementtipainikkeeseen TAB tai NUOLI OIKEALLE painikkeilla. Siirry aiempaan painikkeeseen SHIFT+TAB tai NUOLI VASEMMALLE painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi elementin editorissa."}]}, {name:"Komennot",items:[{name:"Peruuta komento",legend:"Paina ${undo}"},{name:"Tee uudelleen komento",legend:"Paina ${redo}"},{name:"Lihavoi komento",legend:"Paina ${bold}"},{name:"Kursivoi komento",legend:"Paina ${italic}"},{name:"Alleviivaa komento",legend:"Paina ${underline}"},{name:"Linkki komento",legend:"Paina ${link}"},{name:"Pienennä työkalupalkki komento",legend:"Paina ${toolbarCollapse}"},{name:"Siirry aiempaan fokustilaan komento",legend:"Paina ${accessPreviousSpace} siiryäksesi lähimpään kursorin edellä olevaan saavuttamattomaan fokustilaan, esimerkiksi: kaksi vierekkäistä HR elementtiä. Toista näppäinyhdistelmää päästäksesi kauempana oleviin fokustiloihin."}, {name:"Siirry seuraavaan fokustilaan komento",legend:"Paina ${accessPreviousSpace} siiryäksesi lähimpään kursorin jälkeen olevaan saavuttamattomaan fokustilaan, esimerkiksi: kaksi vierekkäistä HR elementtiä. Toista näppäinyhdistelmää päästäksesi kauempana oleviin fokustiloihin."},{name:"Saavutettavuus ohjeet",legend:"Paina ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js index 7d8cbaef65..be9678a54c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","fo",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","fo",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js index 1d78499e19..470ae6ee8d 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js @@ -1,9 +1,10 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","fr-ca",{title:"Instructions d'accessibilité",contents:"Contenu de l'aide. Pour fermer cette fenêtre, appuyez sur ESC.",legend:[{name:"Général",items:[{name:"Barre d'outil de l'éditeur",legend:"Appuyer sur ${toolbarFocus} pour accéder à la barre d'outils. Se déplacer vers les groupes suivant ou précédent de la barre d'outil avec les touches TAB et SHIFT+TAB. Se déplacer vers les boutons suivant ou précédent de la barre d'outils avec les touches FLECHE DROITE et FLECHE GAUCHE. Appuyer sur la barre d'espace ou la touche ENTRER pour activer le bouton de barre d'outils."}, -{name:"Dialogue de l'éditeur",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Menu contextuel de l'éditeur",legend:"Appuyer sur ${contextMenu} ou entrer le RACCOURCI CLAVIER pour ouvrir le menu contextuel. Puis se déplacer vers l'option suivante du menu avec les touches TAB ou FLECHE BAS. Se déplacer vers l'option précédente avec les touches SHIFT+TAB ou FLECHE HAUT. appuyer sur la BARRE D'ESPACE ou la touche ENTREE pour sélectionner l'option du menu. Oovrir le sous-menu de l'option courante avec la BARRE D'ESPACE ou les touches ENTREE ou FLECHE DROITE. Revenir à l'élément de menu parent avec les touches ESC ou FLECHE GAUCHE. Fermer le menu contextuel avec ESC."}, +{name:"Dialogue de l'éditeur",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, +{name:"Menu contextuel de l'éditeur",legend:"Appuyer sur ${contextMenu} ou entrer le RACCOURCI CLAVIER pour ouvrir le menu contextuel. Puis se déplacer vers l'option suivante du menu avec les touches TAB ou FLECHE BAS. Se déplacer vers l'option précédente avec les touches SHIFT+TAB ou FLECHE HAUT. appuyer sur la BARRE D'ESPACE ou la touche ENTREE pour sélectionner l'option du menu. Oovrir le sous-menu de l'option courante avec la BARRE D'ESPACE ou les touches ENTREE ou FLECHE DROITE. Revenir à l'élément de menu parent avec les touches ESC ou FLECHE GAUCHE. Fermer le menu contextuel avec ESC."}, {name:"Menu déroulant de l'éditeur",legend:"A l'intérieur d'une liste en menu déroulant, se déplacer vers l'élément suivant de la liste avec les touches TAB ou FLECHE BAS. Se déplacer vers l'élément précédent de la liste avec les touches SHIFT+TAB ou FLECHE HAUT. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'option dans la liste. Appuyer sur ESC pour fermer le menu déroulant."},{name:"Barre d'emplacement des éléments de l'éditeur",legend:"Appuyer sur ${elementsPathFocus} pour naviguer vers la barre d'emplacement des éléments de léditeur. Se déplacer vers le bouton d'élément suivant avec les touches TAB ou FLECHE DROITE. Se déplacer vers le bouton d'élément précédent avec les touches SHIFT+TAB ou FLECHE GAUCHE. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'élément dans l'éditeur."}]}, {name:"Commandes",items:[{name:"Annuler",legend:"Appuyer sur ${undo}"},{name:"Refaire",legend:"Appuyer sur ${redo}"},{name:"Gras",legend:"Appuyer sur ${bold}"},{name:"Italique",legend:"Appuyer sur ${italic}"},{name:"Souligné",legend:"Appuyer sur ${underline}"},{name:"Lien",legend:"Appuyer sur ${link}"},{name:"Enrouler la barre d'outils",legend:"Appuyer sur ${toolbarCollapse}"},{name:"Accéder à l'objet de focus précédent",legend:"Appuyer ${accessPreviousSpace} pour accéder au prochain espace disponible avant le curseur, par exemple: deux éléments HR adjacents. Répéter la combinaison pour joindre les éléments d'espaces distantes."}, {name:"Accéder au prochain objet de focus",legend:"Appuyer ${accessNextSpace} pour accéder au prochain espace disponible après le curseur, par exemple: deux éléments HR adjacents. Répéter la combinaison pour joindre les éléments d'espaces distantes."},{name:"Aide d'accessibilité",legend:"Appuyer sur ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js index d3c454bee3..4bd4ac9fb9 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","fr",{title:"Instructions d'accessibilité",contents:"Contenu de l'aide. Pour fermer cette fenêtre, appuyez sur la touche Échap.",legend:[{name:"Général",items:[{name:"Barre d'outils de l'éditeur",legend:"Appuyer sur ${toolbarFocus} pour accéder à la barre d'outils. Se déplacer vers le groupe suivant ou précédent de la barre d'outils avec les touches Tab et Maj+Tab. Se déplacer vers le bouton suivant ou précédent de la barre d'outils avec les touches Flèche droite et Flèche gauche. Appuyer sur la barre d'espace ou la touche Entrée pour activer le bouton de barre d'outils."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js index 878e3b0df3..702cb1314f 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js @@ -1,9 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","gl",{title:"Instrucións de accesibilidade",contents:"Axuda. Para pechar este diálogo prema ESC.",legend:[{name:"Xeral",items:[{name:"Barra de ferramentas do editor",legend:"Prema ${toolbarFocus} para navegar pola barra de ferramentas. Para moverse polos distintos grupos de ferramentas use as teclas TAB e MAIÚS+TAB. Para moverse polas distintas ferramentas use FRECHA DEREITA ou FRECHA ESQUERDA. Prema ESPAZO ou INTRO para activar o botón da barra de ferramentas."}, -{name:"Editor de diálogo",legend:"Dentro do diálogo, prema TAB para navegar cara os seguintes elementos de diálogo, prema MAIÚS+TAB para moverse cara os anteriores elementos de diálogo, prema INTRO para enviar o diálogo, prema ESC para cancelar o diálogo. Cando o diálogo ten múltiples lapelas, a lista de lapelas pode cinguirse con ALT+F10 ou con TAB como parte da orde de lapelas do diálogo. Coa lapela en foco, pode moverse cara a seguinte ou a anterior lapela coas FRECHAS ESQUERDA e DEREICHA respectivamente."}, +CKEDITOR.plugins.setLang("a11yhelp","gl",{title:"Instrucións de accesibilidade",contents:"Axuda. Para pechar este diálogo prema ESC.",legend:[{name:"Xeral",items:[{name:"Barra de ferramentas do editor",legend:"Prema ${toolbarFocus} para navegar ata a barra de ferramentas. Movase ao grupo de barras de ferramentas seguinte e anterior con TAB e MAYÚS+TAB. Movase ao botón da barra de ferramentas seguinte e anterior coa frecha cara á dereita ou á esquerda. Prema ESPAZO ou INTRO para activar o botón da barra de ferramentas. O foco moverase de novo á área de edición ao activar o botón da barra de ferramentas."}, +{name:"Editor de diálogo",legend:"Dentro do diálogo, prema TAB para navegar cara os seguintes elementos de diálogo, prema MAIÚS+TAB para moverse cara os anteriores elementos de diálogo, prema INTRO para enviar o diálogo, prema ESC para cancelar o diálogo. Cando o diálogo ten múltiples lapelas, a lista de lapelas pode cinguirse con ALT+F10 ou con TAB como parte da orde de lapelas do diálogo. Coa lapela en foco, pode moverse cara a seguinte ou a anterior lapela coas FRECHAS ESQUERDA e DEREICHA respectivamente. Prema ESC para descartar os cambios e pechar o diálogo. O foco moverase de novo á área de edición ao saír do diálogo."}, {name:"Editor do menú contextual",legend:"Prema ${contextMenu} ou a TECLA MENÚ para abrir o menú contextual. A seguir móvase á seguinte opción do menú con TAB ou FRECHA ABAIXO. Móvase á opción anterior con MAIÚS + TAB ou FRECHA ARRIBA. Prema ESPAZO ou INTRO para seleccionar a opción do menú. Abra o submenú da opción actual con ESPAZO ou INTRO ou FRECHA DEREITA. Regrese ao elemento principal do menú con ESC ou FRECHA ESQUERDA. Peche o menú contextual con ESC."},{name:"Lista do editor",legend:"Dentro dunha lista, móvase ao seguinte elemento da lista con TAB ou FRECHA ABAIXO. Móvase ao elemento anterior da lista con MAIÚS+TAB ou FRECHA ARRIBA. Prema ESPAZO ou INTRO para escoller a opción da lista. Prema ESC para pechar a lista."}, {name:"Barra da ruta ao elemento no editor",legend:"Prema ${elementsPathFocus} para navegar ata os elementos da barra de ruta. Móvase ao seguinte elemento botón con TAB ou FRECHA DEREITA. Móvase ao botón anterior con MAIÚS+TAB ou FRECHA ESQUERDA. Prema ESPAZO ou INTRO para seleccionar o elemento no editor."}]},{name:"Ordes",items:[{name:"Orde «desfacer»",legend:"Prema ${undo}"},{name:"Orde «refacer»",legend:"Prema ${redo}"},{name:"Orde «negra»",legend:"Prema ${bold}"},{name:"Orde «cursiva»",legend:"Prema ${italic}"}, {name:"Orde «subliñar»",legend:"Prema ${underline}"},{name:"Orde «ligazón»",legend:"Prema ${link}"},{name:"Orde «contraer a barra de ferramentas»",legend:"Prema ${toolbarCollapse}"},{name:"Orde «acceder ao anterior espazo en foco»",legend:"Prema ${accessPreviousSpace} para acceder ao espazo máis próximo de foco inalcanzábel anterior ao cursor, por exemplo: dous elementos HR adxacentes. Repita a combinación de teclas para chegar a espazos de foco distantes."},{name:"Orde «acceder ao seguinte espazo en foco»", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js index 5dd832448f..d46791835f 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","gu",{title:"એક્ક્ષેબિલિટી ની વિગતો",contents:"હેલ્પ. આ બંધ કરવા ESC દબાવો.",legend:[{name:"જનરલ",items:[{name:"એડિટર ટૂલબાર",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"એડિટર ડાયલોગ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","gu",{title:"એક્ક્ષેબિલિટી ની વિગતો",contents:"હેલ્પ. આ બંધ કરવા ESC દબાવો.",legend:[{name:"જનરલ",items:[{name:"એડિટર ટૂલબાર",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"એડિટર ડાયલોગ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"કમાંડસ",items:[{name:"અન્ડું કમાંડ",legend:"$ દબાવો {undo}"},{name:"ફરી કરો કમાંડ",legend:"$ દબાવો {redo}"},{name:"બોલ્દનો કમાંડ",legend:"$ દબાવો {bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/he.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/he.js index d18fdea72e..6a66fb9678 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/he.js @@ -1,8 +1,8 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","he",{title:"הוראות נגישות",contents:"הוראות נגישות. לסגירה לחץ אסקייפ (ESC).",legend:[{name:"כללי",items:[{name:"סרגל הכלים",legend:"לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלים. עבור לכפתור הבא עם מקש הטאב (TAB) או חץ שמאלי. עבור לכפתור הקודם עם מקש השיפט (SHIFT) + טאב (TAB) או חץ ימני. לחץ רווח או אנטר (ENTER) כדי להפעיל את הכפתור הנבחר."},{name:"דיאלוגים (חלונות תשאול)",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","he",{title:"הוראות נגישות",contents:"הוראות נגישות. לסגירה לחץ אסקייפ (ESC).",legend:[{name:"כללי",items:[{name:"סרגל הכלים",legend:"לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלים. עבור לכפתור הבא עם מקש הטאב (TAB) או חץ שמאלי. עבור לכפתור הקודם עם מקש השיפט (SHIFT) + טאב (TAB) או חץ ימני. לחץ רווח או אנטר (ENTER) כדי להפעיל את הכפתור הנבחר."},{name:"דיאלוגים (חלונות תשאול)",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"תפריט ההקשר (Context Menu)",legend:"לחץ ${contextMenu} או APPLICATION KEYכדי לפתוח את תפריט ההקשר. עבור לאפשרות הבאה עם טאב (TAB) או חץ למטה. עבור לאפשרות הקודמת עם שיפט (SHIFT) + טאב (TAB) או חץ למעלה. לחץ רווח או אנטר (ENTER) כדי לבחור את האפשרות. פתח את תת התפריט (Sub-menu) של האפשרות הנוכחית עם רווח או אנטר (ENTER) או חץ שמאלי. חזור לתפריט האב עם אסקייפ (ESC) או חץ שמאלי. סגור את תפריט ההקשר עם אסקייפ (ESC)."},{name:"תפריטים צפים (List boxes)",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"עץ אלמנטים (Elements Path)",legend:"לחץ ${elementsPathFocus} כדי לנווט לעץ האלמנטים. עבור לפריט הבא עם טאב (TAB) או חץ ימני. עבור לפריט הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. לחץ רווח או אנטר (ENTER) כדי לבחור את האלמנט בעורך."}]},{name:"פקודות",items:[{name:" ביטול צעד אחרון",legend:"לחץ ${undo}"},{name:" חזרה על צעד אחרון",legend:"לחץ ${redo}"},{name:" הדגשה",legend:"לחץ ${bold}"},{name:" הטייה",legend:"לחץ ${italic}"},{name:" הוספת קו תחתון",legend:"לחץ ${underline}"},{name:" הוספת לינק", legend:"לחץ ${link}"},{name:" כיווץ סרגל הכלים",legend:"לחץ ${toolbarCollapse}"},{name:"גישה למיקום המיקוד הקודם",legend:"לחץ ${accessPreviousSpace} כדי לגשת למיקום המיקוד הלא-נגיש הקרוב לפני הסמן, למשל בין שני אלמנטים סמוכים מסוג HR. חזור על צירוף מקשים זה כדי להגיע למקומות מיקוד רחוקים יותר."},{name:"גישה למיקום המיקוד הבא",legend:"לחץ ${accessNextSpace} כדי לגשת למיקום המיקוד הלא-נגיש הקרוב אחרי הסמן, למשל בין שני אלמנטים סמוכים מסוג HR. חזור על צירוף מקשים זה כדי להגיע למקומות מיקוד רחוקים יותר."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js index 4c75879281..35f75c7dcc 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","hi",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"सामान्य",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","hi",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"सामान्य",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js index 4f678f61d8..992b327be0 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","hr",{title:"Upute dostupnosti",contents:"Sadržaj pomoći. Za zatvaranje pritisnite ESC.",legend:[{name:"Općenito",items:[{name:"Alatna traka",legend:"Pritisni ${toolbarFocus} za navigaciju do alatne trake. Pomicanje do prethodne ili sljedeće alatne grupe vrši se pomoću SHIFT+TAB i TAB. Pomicanje do prethodnog ili sljedećeg gumba u alatnoj traci vrši se pomoću lijeve i desne strelice kursora. Pritisnite SPACE ili ENTER za aktivaciju alatne trake."},{name:"Dijalog", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js index f811521586..0899886b5b 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","hu",{title:"Kisegítő utasítások",contents:"Súgó tartalmak. A párbeszédablak bezárásához nyomjon ESC-et.",legend:[{name:"Általános",items:[{name:"Szerkesztő Eszköztár",legend:"Nyomjon ${toolbarFocus} hogy kijelölje az eszköztárat. A következő és előző eszköztár csoporthoz a TAB és SHIFT+TAB-al juthat el. A következő és előző eszköztár gombhoz a BAL NYÍL vagy JOBB NYÍL gombbal juthat el. Nyomjon SPACE-t vagy ENTER-t hogy aktiválja az eszköztár gombot."},{name:"Szerkesző párbeszéd ablak", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/id.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/id.js index 2273c8bbfd..33cc89189a 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/id.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","id",{title:"Instruksi Accessibility",contents:"Bantuan. Tekan ESC untuk menutup dialog ini.",legend:[{name:"Umum",items:[{name:"Toolbar Editor",legend:"Tekan ${toolbarFocus} untuk berpindah ke toolbar. Untuk berpindah ke group toolbar selanjutnya dan sebelumnya gunakan TAB dan SHIFT+TAB. Untuk berpindah ke tombol toolbar selanjutnya dan sebelumnya gunakan RIGHT ARROW atau LEFT ARROW. Tekan SPASI atau ENTER untuk mengaktifkan tombol toolbar."},{name:"Dialog Editor", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/it.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/it.js index a26abde5ce..5715f68e6c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/it.js @@ -1,9 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","it",{title:"Istruzioni di Accessibilità",contents:"Contenuti di Aiuto. Per chiudere questa finestra premi ESC.",legend:[{name:"Generale",items:[{name:"Barra degli strumenti Editor",legend:"Premere ${toolbarFocus} per passare alla barra degli strumenti. Usare TAB per spostarsi al gruppo successivo, MAIUSC+TAB per spostarsi a quello precedente. Usare FRECCIA DESTRA per spostarsi al pulsante successivo, FRECCIA SINISTRA per spostarsi a quello precedente. Premere SPAZIO o INVIO per attivare il pulsante della barra degli strumenti."}, -{name:"Finestra Editor",legend:"All'interno di una finestra di dialogo è possibile premere TAB per passare all'elemento successivo della finestra, MAIUSC+TAB per passare a quello precedente; premere INVIO per inviare i dati della finestra, oppure ESC per annullare l'operazione. Quando una finestra di dialogo ha più schede, è possibile passare all'elenco delle schede sia con ALT+F10 che con TAB, in base all'ordine delle tabulazioni della finestra. Quando l'elenco delle schede è attivo, premere la FRECCIA DESTRA o la FRECCIA SINISTRA per passare rispettivamente alla scheda successiva o a quella precedente."}, +CKEDITOR.plugins.setLang("a11yhelp","it",{title:"Istruzioni di Accessibilità",contents:"Contenuti di Aiuto. Per chiudere questa finestra premi ESC.",legend:[{name:"Generale",items:[{name:"Barra degli strumenti Editor",legend:"Premi ${toolbarFocus} per accedere alla barra degli strumenti. Passa al gruppo di barre degli strumenti successivo o precedente con TAB o MAIUSC+TAB. Passa al pulsante della barra degli strumenti successivo o precedente con FRECCIA DESTRA o FRECCIA SINISTRA. Premi SPAZIO o INVIO per attivare il pulsante della barra degli strumenti. Lo stato attivo verrà riportato all'area di modifica dopo l'attivazione del pulsante della barra degli strumenti."}, +{name:"Finestra Editor",legend:"All'interno di una finestra di dialogo, premi TAB per passare all'elemento della finestra di dialogo successivo, premi MAIUSC+TAB per passare all'elemento della finestra di dialogo precedente, premi INVIO per inviare la finestra di dialogo, premi ESC per annullare la finestra di dialogo. Quando una finestra di dialogo ha più schede, l'elenco delle schede può essere raggiunto con ALT+F10 o con TAB come parte dell'ordine di tabulazione della finestra di dialogo. Mentre l'elenco delle schede è attivo, passa alla scheda successiva o precedente rispettivamente con FRECCIA DESTRA o SINISTRA. Premi ESC per annullare le modifiche e chiudere la finestra di dialogo. Lo stato attivo verrà spostato nuovamente all'area di modifica dopo aver lasciato la finestra di dialogo."}, {name:"Menù contestuale Editor",legend:"Premi ${contextMenu} o TASTO APPLICAZIONE per aprire il menu contestuale. Dunque muoviti all'opzione successiva del menu con il tasto TAB o con la Freccia Sotto. Muoviti all'opzione precedente con MAIUSC+TAB o con Freccia Sopra. Premi SPAZIO o INVIO per scegliere l'opzione di menu. Apri il sottomenu dell'opzione corrente con SPAZIO o INVIO oppure con la Freccia Destra. Torna indietro al menu superiore con ESC oppure Freccia Sinistra. Chiudi il menu contestuale con ESC."}, {name:"Box Lista Editor",legend:"All'interno di un elenco di opzioni, per spostarsi all'elemento successivo premere TAB oppure FRECCIA GIÙ. Per spostarsi all'elemento precedente usare SHIFT+TAB oppure FRECCIA SU. Premere SPAZIO o INVIO per selezionare l'elemento della lista. Premere ESC per chiudere l'elenco di opzioni."},{name:"Barra percorso elementi editor",legend:"Premere ${elementsPathFocus} per passare agli elementi della barra del percorso. Usare TAB o FRECCIA DESTRA per passare al pulsante successivo. Per passare al pulsante precedente premere MAIUSC+TAB o FRECCIA SINISTRA. Premere SPAZIO o INVIO per selezionare l'elemento nell'editor."}]}, {name:"Comandi",items:[{name:" Annulla comando",legend:"Premi ${undo}"},{name:" Ripeti comando",legend:"Premi ${redo}"},{name:" Comando Grassetto",legend:"Premi ${bold}"},{name:" Comando Corsivo",legend:"Premi ${italic}"},{name:" Comando Sottolineato",legend:"Premi ${underline}"},{name:" Comando Link",legend:"Premi ${link}"},{name:" Comando riduci barra degli strumenti",legend:"Premi ${toolbarCollapse}"},{name:"Comando di accesso al precedente spazio di focus",legend:"Premi ${accessPreviousSpace} per accedere il più vicino spazio di focus non raggiungibile prima del simbolo caret, per esempio due elementi HR adiacenti. Ripeti la combinazione di tasti per raggiungere spazi di focus distanti."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js index eabf353865..edfde3a160 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js @@ -1,8 +1,8 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","ja",{title:"ユーザー補助の説明",contents:"ヘルプ このダイアログを閉じるには ESCを押してください。",legend:[{name:"全般",items:[{name:"エディターツールバー",legend:"${toolbarFocus} を押すとツールバーのオン/オフ操作ができます。カーソルをツールバーのグループで移動させるにはTabかSHIFT+Tabを押します。グループ内でカーソルを移動させるには、右カーソルか左カーソルを押します。スペースキーやエンターを押すとボタンを有効/無効にすることができます。"},{name:"編集ダイアログ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","ja",{title:"ユーザー補助の説明",contents:"ヘルプ このダイアログを閉じるには ESCを押してください。",legend:[{name:"全般",items:[{name:"エディターツールバー",legend:"${toolbarFocus} を押すとツールバーのオン/オフ操作ができます。カーソルをツールバーのグループで移動させるにはTabかSHIFT+Tabを押します。グループ内でカーソルを移動させるには、右カーソルか左カーソルを押します。スペースキーやエンターを押すとボタンを有効/無効にすることができます。"},{name:"編集ダイアログ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"エディターのメニュー",legend:"${contextMenu} キーかAPPLICATION KEYを押すとコンテキストメニューが開きます。Tabか下カーソルでメニューのオプション選択が下に移動します。戻るには、SHIFT+Tabか上カーソルです。スペースもしくはENTERキーでメニューオプションを決定できます。現在選んでいるオプションのサブメニューを開くには、スペース、もしくは右カーソルを押します。サブメニューから親メニューに戻るには、ESCか左カーソルを押してください。ESCでコンテキストメニュー自体をキャンセルできます。"},{name:"エディターリストボックス",legend:"リストボックス内で移動するには、Tabか下カーソルで次のアイテムへ移動します。SHIFT+Tabで前のアイテムに戻ります。リストのオプションを選択するには、スペースもしくは、ENTERを押してください。リストボックスを閉じるには、ESCを押してください。"},{name:"エディター要素パスバー",legend:"${elementsPathFocus} を押すとエレメントパスバーを操作出来ます。Tabか右カーソルで次のエレメントを選択できます。前のエレメントを選択するには、SHIFT+Tabか左カーソルです。スペースもしくは、ENTERでエディタ内の対象エレメントを選択出来ます。"}]}, {name:"コマンド",items:[{name:"元に戻す",legend:"${undo} をクリック"},{name:"やり直し",legend:"${redo} をクリック"},{name:"太字",legend:"${bold} をクリック"},{name:"斜体 ",legend:"${italic} をクリック"},{name:"下線",legend:"${underline} をクリック"},{name:"リンク",legend:"${link} をクリック"},{name:"ツールバーをたたむ",legend:"${toolbarCollapse} をクリック"},{name:"前のカーソル移動のできないポイントへ",legend:"${accessPreviousSpace} を押すとカーソルより前にあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。"},{name:"次のカーソルポイントへ移動する",legend:"${accessNextSpace} を押すとカーソルより後ろにあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。"}, {name:"ユーザー補助ヘルプ",legend:"${a11yHelp} をクリック"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"左矢印",upArrow:"上矢印",rightArrow:"右矢印",downArrow:"下矢印",insert:"Insert",leftWindowKey:"左Windowキー",rightWindowKey:"右のWindowキー",selectKey:"Select",numpad0:"Num 0",numpad1:"Num 1",numpad2:"Num 2",numpad3:"Num 3",numpad4:"Num 4",numpad5:"Num 5", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/km.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/km.js index 4c6c0e7d3d..90504f5cc2 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/km.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","km",{title:"Accessibility Instructions",contents:"មាតិកា​ជំនួយ។ ដើម្បី​បិទ​ផ្ទាំង​នេះ សូម​ចុច ESC ។",legend:[{name:"ទូទៅ",items:[{name:"របារ​ឧបករណ៍​កម្មវិធី​និពន្ធ",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"ផ្ទាំង​កម្មវិធីនិពន្ធ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","km",{title:"Accessibility Instructions",contents:"មាតិកា​ជំនួយ។ ដើម្បី​បិទ​ផ្ទាំង​នេះ សូម​ចុច ESC ។",legend:[{name:"ទូទៅ",items:[{name:"របារ​ឧបករណ៍​កម្មវិធី​និពន្ធ",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"ផ្ទាំង​កម្មវិធីនិពន្ធ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"ម៉ីនុយបរិបទអ្នកកែសម្រួល",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"ប្រអប់បញ្ជីអ្នកកែសម្រួល",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"ពាក្យបញ្ជា",items:[{name:"ការ​បញ្ជា​មិនធ្វើវិញ",legend:"ចុច ${undo}"},{name:"ការបញ្ជា​ធ្វើវិញ",legend:"ចុច ${redo}"},{name:"ការបញ្ជា​អក្សរ​ដិត",legend:"ចុច ${bold}"},{name:"ការបញ្ជា​អក្សរ​ទ្រេត",legend:"ចុច ${italic}"},{name:"ពាក្យបញ្ជា​បន្ទាត់​ពីក្រោម", legend:"ចុច ${underline}"},{name:"ពាក្យបញ្ជា​តំណ",legend:"ចុច ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js index 739228afad..68985b727c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","ko",{title:"접근성 설명",contents:"도움말. 이 창을 닫으시려면 ESC 를 누르세요.",legend:[{name:"일반",items:[{name:"편집기 툴바",legend:"툴바를 탐색하시려면 ${toolbarFocus} 를 투르세요. 이전/다음 툴바 그룹으로 이동하시려면 TAB 키 또는 SHIFT+TAB 키를 누르세요. 이전/다음 툴바 버튼으로 이동하시려면 오른쪽 화살표 키 또는 왼쪽 화살표 키를 누르세요. 툴바 버튼을 활성화 하려면 SPACE 키 또는 ENTER 키를 누르세요."},{name:"편집기 다이얼로그",legend:"TAB 키를 누르면 다음 대화상자로 이동하고, SHIFT+TAB 키를 누르면 이전 대화상자로 이동합니다. 대화상자를 제출하려면 ENTER 키를 누르고, ESC 키를 누르면 대화상자를 취소합니다. 대화상자에 탭이 여러개 있을 때, ALT+F10 키 또는 TAB 키를 누르면 순서에 따라 탭 목록에 도달할 수 있습니다. 탭 목록에 초점이 맞을 때, 오른쪽과 왼쪽 화살표 키를 이용하면 각각 다음과 이전 탭으로 이동할 수 있습니다."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js index e5e04b6d9d..f7fab50be1 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","ku",{title:"ڕێنمای لەبەردەستدابوون",contents:"پێکهاتەی یارمەتی. کلیك ESC بۆ داخستنی ئەم دیالۆگه.",legend:[{name:"گشتی",items:[{name:"تووڵامرازی دەستكاریكەر",legend:"کلیك ${toolbarFocus} بۆ ڕابەری تووڵامراز. بۆ گواستنەوەی پێشوو داهاتووی گرووپی تووڵامرازی داگرتنی کلیلی TAB لەگەڵ‌ SHIFT+TAB. بۆ گواستنەوەی پێشوو داهاتووی دووگمەی تووڵامرازی لەڕێی کلیلی تیری دەستی ڕاست یان کلیلی تیری دەستی چەپ. کلیکی کلیلی SPACE یان ENTER بۆ چالاککردنی دووگمەی تووڵامراز."},{name:"دیالۆگی دەستكاریكەر", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js index 795c3d89f2..52a9e4d922 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","lt",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Bendros savybės",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","lt",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Bendros savybės",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js index 355ab00595..b6c30374d2 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js @@ -1,11 +1,12 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","lv",{title:"Pieejamības instrukcija",contents:"Palīdzības saturs. Lai aizvērtu ciet šo dialogu nospiediet ESC.",legend:[{name:"Galvenais",items:[{name:"Redaktora rīkjosla",legend:"Nospiediet ${toolbarFocus} lai pārvietotos uz rīkjoslu. Lai pārvietotos uz nākošo vai iepriekšējo rīkjoslas grupu izmantojiet pogu TAB un SHIFT+TAB. Lai pārvietotos uz nākošo vai iepriekšējo rīkjoslas pogu izmantojiet Kreiso vai Labo bultiņu. Nospiediet Atstarpi vai ENTER lai aktivizētu rīkjosla pogu."}, -{name:"Redaktora dialoga logs",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Redaktora satura izvēle",legend:"Nospiediet ${contextMenu} vai APPLICATION KEY lai atvērtu satura izvēlni. Lai pārvietotos uz nākošo izvēlnes opciju izmantojiet pogu TAB vai pogu Bultiņu uz leju. Lai pārvietotos uz iepriekšējo opciju izmantojiet SHIFT+TAB vai pogu Bultiņa uz augšu. Nospiediet SPACE vai ENTER lai izvelētos izvēlnes opciju. Atveriet tekošajā opcija apakšizvēlni ar SAPCE vai ENTER ka ari to var izdarīt ar Labo bultiņu. Lai atgrieztos atpakaļ uz sakuma izvēlni nospiediet ESC vai Kreiso bultiņu. Lai aizvērtu ciet izvēlnes saturu nospiediet ESC."}, +{name:"Redaktora dialoga logs",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, +{name:"Redaktora satura izvēle",legend:"Nospiediet ${contextMenu} vai APPLICATION KEY lai atvērtu satura izvēlni. Lai pārvietotos uz nākošo izvēlnes opciju izmantojiet pogu TAB vai pogu Bultiņu uz leju. Lai pārvietotos uz iepriekšējo opciju izmantojiet SHIFT+TAB vai pogu Bultiņa uz augšu. Nospiediet SPACE vai ENTER lai izvelētos izvēlnes opciju. Atveriet tekošajā opcija apakšizvēlni ar SAPCE vai ENTER ka ari to var izdarīt ar Labo bultiņu. Lai atgrieztos atpakaļ uz sakuma izvēlni nospiediet ESC vai Kreiso bultiņu. Lai aizvērtu ciet izvēlnes saturu nospiediet ESC."}, {name:"Redaktora saraksta lauks",legend:"Saraksta laukā, lai pārvietotos uz nākošo saraksta elementu nospiediet TAB vai pogu Bultiņa uz leju. Lai pārvietotos uz iepriekšējo saraksta elementu nospiediet SHIFT+TAB vai pogu Bultiņa uz augšu. Nospiediet SPACE vai ENTER lai izvēlētos saraksta opcijas. Nospiediet ESC lai aizvērtu saraksta lauku."},{name:"Redaktora elementa ceļa josla",legend:"Nospiediet ${elementsPathFocus} lai pārvietotos uz elementa ceļa joslu. Lai pārvietotos uz nākošo elementa pogu izmantojiet TAB vai Labo bultiņu. Lai pārvietotos uz iepriekšējo elementa pogu izmantojiet SHIFT+TAB vai Kreiso bultiņu. Nospiediet SPACE vai ENTER lai izvēlētos elementu redaktorā."}]}, -{name:"Komandas",items:[{name:"Komanda atcelt darbību",legend:"Nospiediet ${undo}"},{name:"Komanda atkārtot darbību",legend:"Nospiediet ${redo}"},{name:"Treknraksta komanda",legend:"Nospiediet ${bold}"},{name:"Kursīva komanda",legend:"Nospiediet ${italic}"},{name:"Apakšsvītras komanda ",legend:"Nospiediet ${underline}"},{name:"Hipersaites komanda",legend:"Nospiediet ${link}"},{name:"Rīkjoslas aizvēršanas komanda",legend:"Nospiediet ${toolbarCollapse}"},{name:"Piekļūt iepriekšējai fokusa vietas komandai", +{name:"Komandas",items:[{name:"Komanda atcelt darbību",legend:"Nospiediet ${undo}"},{name:"Komanda atkārtot darbību",legend:"Nospiediet ${redo}"},{name:"Treknraksta komanda",legend:"Nospiediet ${bold}"},{name:"Kursīva komanda",legend:"Nospiediet ${italic}"},{name:"Apakšsvītras komanda ",legend:"Nospiediet ${underline}"},{name:"Saites komanda",legend:"Nospiediet ${link}"},{name:"Rīkjoslas aizvēršanas komanda",legend:"Nospiediet ${toolbarCollapse}"},{name:"Piekļūt iepriekšējai fokusa vietas komandai", legend:"Nospiediet ${accessPreviousSpace} lai piekļūtu tuvākajai nepieejamajai fokusa vietai pirms kursora. Piemēram: diviem blakus esošiem līnijas HR elementiem. Atkārtojiet taustiņu kombināciju lai piekļūtu pie tālākām vietām."},{name:"Piekļūt nākošā fokusa apgabala komandai",legend:"Nospiediet ${accessNextSpace} lai piekļūtu tuvākajai nepieejamajai fokusa vietai pēc kursora. Piemēram: diviem blakus esošiem līnijas HR elementiem. Atkārtojiet taustiņu kombināciju lai piekļūtu pie tālākām vietām."}, {name:"Pieejamības palīdzība",legend:"Nospiediet ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js index 77c320c151..2827baa96c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js @@ -1,11 +1,12 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","mk",{title:"Инструкции за пристапност",contents:"Содржина на делот за помош. За да го затворите овој дијалог притиснете ESC.",legend:[{name:"Општо",items:[{name:"Мени за уредувачот",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Дијалот за едиторот", -legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Контекст-мени на уредувачот",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."}, -{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]}, -{name:"Наредби",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, -{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Пауза",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Up", -leftArrow:"Стрелка лево",upArrow:"Стрелка горе",rightArrow:"Стрелка десно",downArrow:"Стрелка доле",insert:"Insert",leftWindowKey:"Лево Windows копче",rightWindowKey:"Десно Windows копче",selectKey:"Select копче",numpad0:"Нум. таст. 0",numpad1:"Нум. таст. 1",numpad2:"Нум. таст. 2",numpad3:"Нум. таст. 3",numpad4:"Нум. таст. 4",numpad5:"Нум. таст. 5",numpad6:"Нум. таст. 6",numpad7:"Нум. таст. 7",numpad8:"Нум. таст. 8",numpad9:"Нум. таст. 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point", -divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file +CKEDITOR.plugins.setLang("a11yhelp","mk",{title:"Инструкции за пристапност",contents:"Содржина на делот за помош. За да го затворите овој дијалог притиснете ESC.",legend:[{name:"Општо",items:[{name:"Мени за уредувачот",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Дијалот за едиторот",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, +{name:"Контекст-мени на уредувачот",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Наредби",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Пауза",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Up",leftArrow:"Стрелка лево",upArrow:"Стрелка горе",rightArrow:"Стрелка десно",downArrow:"Стрелка доле",insert:"Insert",leftWindowKey:"Лево Windows копче",rightWindowKey:"Десно Windows копче",selectKey:"Select копче",numpad0:"Нум. таст. 0", +numpad1:"Нум. таст. 1",numpad2:"Нум. таст. 2",numpad3:"Нум. таст. 3",numpad4:"Нум. таст. 4",numpad5:"Нум. таст. 5",numpad6:"Нум. таст. 6",numpad7:"Нум. таст. 7",numpad8:"Нум. таст. 8",numpad9:"Нум. таст. 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma", +dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js index 1f9dc1b952..df636c4b95 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","mn",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Ерөнхий",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","mn",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Ерөнхий",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js index e77ec5d300..712d4c301e 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","nb",{title:"Instruksjoner for tilgjengelighet",contents:"Innhold for hjelp. Trykk ESC for å lukke denne dialogen.",legend:[{name:"Generelt",items:[{name:"Verktøylinje for editor",legend:"Trykk ${toolbarFocus} for å navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT+TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å aktivere verktøylinjeknappen."},{name:"Dialog for editor", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js index c8a2046db9..f658b9bd24 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","nl",{title:"Toegankelijkheidsinstructies",contents:"Help-inhoud. Druk op ESC om dit dialoog te sluiten.",legend:[{name:"Algemeen",items:[{name:"Werkbalk tekstverwerker",legend:"Druk op ${toolbarFocus} om naar de werkbalk te navigeren. Om te schakelen naar de volgende en vorige werkbalkgroep, gebruik TAB en SHIFT+TAB. Om te schakelen naar de volgende en vorige werkbalkknop, gebruik de PIJL RECHTS en PIJL LINKS. Druk op SPATIE of ENTER om een werkbalkknop te activeren."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/no.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/no.js index 6cce25ebcf..f665c42af1 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/no.js @@ -1,11 +1,12 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","no",{title:"Instruksjoner for tilgjengelighet",contents:"Innhold for hjelp. Trykk ESC for å lukke denne dialogen.",legend:[{name:"Generelt",items:[{name:"Verktøylinje for editor",legend:"Trykk ${toolbarFocus} for å navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT+TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å aktivere verktøylinjeknappen."},{name:"Dialog for editor", -legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Kontekstmeny for editor",legend:"Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC."}, -{name:"Listeboks for editor",legend:"I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen."},{name:"Verktøylinje for elementsti",legend:"Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren."}]}, -{name:"Kommandoer",items:[{name:"Angre",legend:"Trykk ${undo}"},{name:"Gjør om",legend:"Trykk ${redo}"},{name:"Fet tekst",legend:"Trykk ${bold}"},{name:"Kursiv tekst",legend:"Trykk ${italic}"},{name:"Understreking",legend:"Trykk ${underline}"},{name:"Link",legend:"Trykk ${link}"},{name:"Skjul verktøylinje",legend:"Trykk ${toolbarCollapse}"},{name:"Gå til forrige fokusområde",legend:"Trykk ${accessPreviousSpace} for å komme til nærmeste fokusområde før skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."}, -{name:"Gå til neste fokusområde",legend:"Trykk ${accessNextSpace} for å komme til nærmeste fokusområde etter skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."},{name:"Hjelp for tilgjengelighet",legend:"Trykk ${a11yHelp}"},{name:"Lim inn som ren tekst",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock", -escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point", -divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Likhetstegn",comma:"Komma",dash:"Bindestrek",period:"Punktum",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Enkelt anførselstegn"}); \ No newline at end of file +legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, +{name:"Kontekstmeny for editor",legend:"Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC."},{name:"Listeboks for editor",legend:"I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen."}, +{name:"Verktøylinje for elementsti",legend:"Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren."}]},{name:"Kommandoer",items:[{name:"Angre",legend:"Trykk ${undo}"},{name:"Gjør om",legend:"Trykk ${redo}"},{name:"Fet tekst",legend:"Trykk ${bold}"},{name:"Kursiv tekst",legend:"Trykk ${italic}"}, +{name:"Understreking",legend:"Trykk ${underline}"},{name:"Link",legend:"Trykk ${link}"},{name:"Skjul verktøylinje",legend:"Trykk ${toolbarCollapse}"},{name:"Gå til forrige fokusområde",legend:"Trykk ${accessPreviousSpace} for å komme til nærmeste fokusområde før skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."},{name:"Gå til neste fokusområde",legend:"Trykk ${accessNextSpace} for å komme til nærmeste fokusområde etter skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."}, +{name:"Hjelp for tilgjengelighet",legend:"Trykk ${a11yHelp}"},{name:"Lim inn som ren tekst",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Likhetstegn",comma:"Komma",dash:"Bindestrek",period:"Punktum",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Enkelt anførselstegn"}); \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js index 602d41c7bc..23d9414fbc 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","oc",{title:"Instruccions d'accessibilitat",contents:"Contengut de l'ajuda. Per tampar aquesta fenèstra, quichatz sus la tòca Escap.",legend:[{name:"General",items:[{name:"Barra d'aisinas de l'editor",legend:"Quichar sus ${toolbarFocus} per accedir a la barra d'aisinas. Se desplaçar cap al groupe seguent o precedent de la barra d'aisinas amb las tòcas Tab e Maj+Tab. Se desplaçar cap al boton seguent o precedent de la barra d'aisinas amb las tòcas Sageta dreita e Sageta esquèrra. Quichar sus la barra d'espaci o la tòca Entrada per activer lo boton de barra d'aisinas."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js index 244902a9be..95b247e735 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","pl",{title:"Instrukcje dotyczące dostępności",contents:"Zawartość pomocy. Wciśnij ESC, aby zamknąć to okno.",legend:[{name:"Informacje ogólne",items:[{name:"Pasek narzędzi edytora",legend:"Naciśnij ${toolbarFocus}, by przejść do paska narzędzi. Przejdź do następnej i poprzedniej grupy narzędzi używając TAB oraz SHIFT+TAB. Przejdź do następnego i poprzedniego przycisku paska narzędzi za pomocą STRZAŁKI W PRAWO lub STRZAŁKI W LEWO. Naciśnij SPACJĘ lub ENTER by aktywować przycisk paska narzędzi."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js index 5d5fbd3304..128973f4ae 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js @@ -1,9 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","pt-br",{title:"Instruções de Acessibilidade",contents:"Conteúdo da Ajuda. Para fechar este diálogo pressione ESC.",legend:[{name:"Geral",items:[{name:"Barra de Ferramentas do Editor",legend:"Pressione ${toolbarFocus} para navegar para a barra de ferramentas. Mova para o anterior ou próximo grupo de ferramentas com TAB e SHIFT+TAB. Mova para o anterior ou próximo botão com SETA PARA DIREITA or SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para ativar o botão da barra de ferramentas."}, -{name:"Diálogo do Editor",legend:"Dentro de um diálogo, pressione TAB para navegar para o próximo elemento. Pressione SHIFT+TAB para mover para o elemento anterior. Pressione ENTER ara enviar o diálogo. pressione ESC para cancelar o diálogo. Quando um diálogo tem múltiplas abas, a lista de abas pode ser acessada com ALT+F10 ou TAB, como parte da ordem de tabulação do diálogo. Com a lista de abas em foco, mova para a próxima aba e para a aba anterior com a SETA DIREITA ou SETA ESQUERDA, respectivamente."}, +CKEDITOR.plugins.setLang("a11yhelp","pt-br",{title:"Instruções de Acessibilidade",contents:"Conteúdo da Ajuda. Para fechar este diálogo pressione ESC.",legend:[{name:"Geral",items:[{name:"Barra de Ferramentas do Editor",legend:"Pressione ${toolbarFocus} para navegar para a barra de ferramentas. mova para a próxima barra de ferramentas ou a anterior com TAB e SHIFT+TAB. mova para o próximo botão ou o anterior com SETA DIREITA or SETA ESQUERDA. Pressione ESPAÇO ou ENTER para ativar o botão da barra de ferramentas. O foco será movido de volta para a área de edição ao ativar o botão da barra de ferramentas."}, +{name:"Diálogo do Editor",legend:"Dentro de um diálogo, pressione TAB para navegar para o próximo elemento, pressione SHIFT+TAB para mover para o elemento anterior, pressione ENTER para enviar o diálogo, pressione ESC para cancelar o diálogo. Quando um diálogo tem múltiplas abas, a lista de abas pode ser acessada com ALT+F10 ou TAB, como parte da ordem de tabulação do diálogo. Com a lista de abas em foco, mova para a próxima aba e para a aba anterior com a SETA DIREITA ou SETA ESQUERDA, respectivamente. Pressione ESC para descartar as mudanças e fechar o diálogo. O foco irá mover de volta para a área de edição após deixar o diálogo."}, {name:"Menu de Contexto do Editor",legend:"Pressione ${contextMenu} ou TECLA DE MENU para abrir o menu de contexto, então mova para a próxima opção com TAB ou SETA PARA BAIXO. Mova para a anterior com SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu. Abra o submenu da opção atual com ESPAÇO ou ENTER ou SETA PARA DIREITA. Volte para o menu pai com ESC ou SETA PARA ESQUERDA. Feche o menu de contexto com ESC."},{name:"Caixa de Lista do Editor",legend:"Dentro de uma caixa de lista, mova para o próximo item com TAB ou SETA PARA BAIXO. Mova para o item anterior com SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar uma opção na lista. Pressione ESC para fechar a caixa de lista."}, {name:"Barra de Caminho do Elementos do Editor",legend:"Pressione ${elementsPathFocus} para a barra de caminho dos elementos. Mova para o próximo botão de elemento com TAB ou SETA PARA DIREITA. Mova para o botão anterior com SHIFT+TAB ou SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar o elemento no editor."}]},{name:"Comandos",items:[{name:" Comando Desfazer",legend:"Pressione ${undo}"},{name:" Comando Refazer",legend:"Pressione ${redo}"},{name:" Comando Negrito",legend:"Pressione ${bold}"}, {name:" Comando Itálico",legend:"Pressione ${italic}"},{name:" Comando Sublinhado",legend:"Pressione ${underline}"},{name:" Comando Link",legend:"Pressione ${link}"},{name:" Comando Fechar Barra de Ferramentas",legend:"Pressione ${toolbarCollapse}"},{name:"Acessar o comando anterior de spaço de foco",legend:"Pressione ${accessNextSpace} para acessar o espaço de foco não alcançável mais próximo antes do cursor, por exemplo: dois elementos HR adjacentes. Repita a combinação de teclas para alcançar espaços de foco distantes."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js index c673a913ac..48a8d2d77c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","pt",{title:"Instruções de acessibilidade",contents:"Conteúdo de ajuda. Use a tecla ESC para fechar esta janela.",legend:[{name:"Geral",items:[{name:"Barra de ferramentas do editor",legend:"Clique em ${toolbarFocus} para navegar na barra de ferramentas. Para navegar entre o grupo da barra de ferramentas anterior e seguinte use TAB e SHIFT+TAB. Para navegar entre o botão da barra de ferramentas seguinte e anterior use a SETA DIREITA ou SETA ESQUERDA. Carregue em ESPAÇO ou ENTER para ativar o botão da barra de ferramentas."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js index b7a1df8283..1e17ec66ee 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","ro",{title:"Instrucțiuni Accesibilitate",contents:"Cuprins. Pentru a închide acest dialog, apăsați tasta ESC.",legend:[{name:"General",items:[{name:"Editor bară de instrumente.",legend:"Apasă ${toolbarFocus} pentru a naviga pe de instrumente. Pentru deplasarea la următorul sau anteriorul grup de instrumente se folosesc tastele TAB și SHIFT+TAB. Pentru deplasare pe urmatorul sau anteriorul instrument se folosesc tastele SĂGEATĂ DREAPTA sau SĂGEATĂ STÂNGA. Tasta SPAȚIU sau ENTER activează instrumentul."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js index cce2be7a62..8a8fd19ec4 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","ru",{title:"Горячие клавиши",contents:"Помощь. Для закрытия этого окна нажмите ESC.",legend:[{name:"Основное",items:[{name:"Панель инструментов",legend:"Нажмите ${toolbarFocus} для перехода к панели инструментов. Для перемещения между группами панели инструментов используйте TAB и SHIFT+TAB. Для перемещения между кнопками панели иструментов используйте кнопки ВПРАВО или ВЛЕВО. Нажмите ПРОБЕЛ или ENTER для запуска кнопки панели инструментов."},{name:"Диалоги",legend:'Внутри диалога, нажмите TAB чтобы перейти к следующему элементу диалога, нажмите SHIFT+TAB чтобы перейти к предыдущему элементу диалога, нажмите ENTER чтобы отправить диалог, нажмите ESC чтобы отменить диалог. Когда диалоговое окно имеет несколько вкладок, получить доступ к панели вкладок как части диалога можно нажатием или сочетания ALT+F10 или TAB, при этом активные элементы диалога будут перебираться с учетом порядка табуляции. При активной панели вкладок, переход к следующей или предыдущей вкладке осуществляется нажатием стрелки "ВПРАВО" или стрелки "ВЛЕВО" соответственно.'}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/si.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/si.js index 33eab8717a..6b552a7fbc 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/si.js @@ -1,8 +1,8 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","si",{title:"ළඟා වියහැකි ",contents:"උදව් සඳහා අන්තර්ගතය.නික්මයෙමට ESC බොත්තම ඔබන්න",legend:[{name:"පොදු කරුණු",items:[{name:"සංස්කරණ මෙවලම් ",legend:"ඔබන්න ${මෙවලම් තීරු අවධානය} මෙවලම් තීරුවේ එහා මෙහා යෑමට.ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරුකාණ්ඩය හා TAB හා SHIFT+TAB .ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරු බොත්තම සමග RIGHT ARROW හෝ LEFT ARROW.මෙවලම් තීරු බොත්තම සක්‍රිය කර ගැනීමට SPACE හෝ ENTER බොත්තම ඔබන්න."},{name:"සංස්කරණ ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","si",{title:"ළඟා වියහැකි ",contents:"උදව් සඳහා අන්තර්ගතය.නික්මයෙමට ESC බොත්තම ඔබන්න",legend:[{name:"පොදු කරුණු",items:[{name:"සංස්කරණ මෙවලම් ",legend:"ඔබන්න ${මෙවලම් තීරු අවධානය} මෙවලම් තීරුවේ එහා මෙහා යෑමට.ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරුකාණ්ඩය හා TAB හා SHIFT+TAB .ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරු බොත්තම සමග RIGHT ARROW හෝ LEFT ARROW.මෙවලම් තීරු බොත්තම සක්‍රිය කර ගැනීමට SPACE හෝ ENTER බොත්තම ඔබන්න."},{name:"සංස්කරණ ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"සංස්කරණ අඩංගුවට ",legend:"ඔබන්න ${අන්තර්ගත මෙනුව} හෝ APPLICATION KEY අන්තර්ගත-මෙනුව විවුරතකිරීමට. ඊළඟ මෙනුව-ව්කල්පයන්ට යෑමට TAB හෝ DOWN ARROW බොත්තම ද, පෙර විකල්පයන්ටයෑමට SHIFT+TAB හෝ UP ARROW බොත්තම ද, මෙනුව-ව්කල්පයන් තේරීමට SPACE හෝ ENTER බොත්තම ද, දැනට විවුර්තව ඇති උප-මෙනුවක වීකල්ප තේරීමට SPACE හෝ ENTER හෝ RIGHT ARROW ද, නැවත පෙර ප්‍රධාන මෙනුවට යෑමට ESC හෝ LEFT ARROW බොත්තම ද. අන්තර්ගත-මෙනුව වැසීමට ESC බොත්තම ද ඔබන්න."},{name:"සංස්කරණ තේරුම් ",legend:"තේරුම් කොටුව තුළ , ඊළඟ අයිතමයට යෑමට TAB හෝ DOWN ARROW , පෙර අයිතමයට යෑමට SHIFT+TAB හෝ UP ARROW . අයිතම විකල්පයන් තේරීමට SPACE හෝ ENTER ,තේරුම් කොටුව වැසීමට ESC බොත්තම් ද ඔබන්න."}, {name:"සංස්කරණ අංග සහිත ",legend:"ඔබන්න ${මෙවලම් තීරු අවධානය} මෙවලම් තීරුවේ එහා මෙහා යෑමට.ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරුකාණ්ඩය හා TAB හා SHIFT+TAB .ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරු බොත්තම සමග RIGHT ARROW හෝ LEFT ARROW.මෙවලම් තීරු බොත්තම සක්‍රිය කර ගැනීමට SPACE හෝ ENTER බොත්තම ඔබන්න."}]},{name:"විධාන",items:[{name:"විධානය වෙනස් ",legend:"ඔබන්න ${වෙනස් කිරීම}"},{name:"විධාන නැවත් පෙර පරිදිම වෙනස්කර ගැනීම.",legend:"ඔබන්න ${නැවත් පෙර පරිදිම වෙනස්කර ගැනීම}"},{name:"තද අකුරින් විධාන",legend:"ඔබන්න ${තද }"}, {name:"බැධී අකුරු විධාන",legend:"ඔබන්න ${බැධී අකුරු }"},{name:"යටින් ඉරි ඇද ඇති විධාන.",legend:"ඔබන්න ${යටින් ඉරි ඇද ඇති}"},{name:"සම්බන්ධිත විධාන",legend:"ඔබන්න ${සම්බන්ධ }"},{name:"මෙවලම් තීරු හැකුලුම් විධාන",legend:"ඔබන්න ${මෙවලම් තීරු හැකුලුම් }"},{name:"යොමුවීමට පෙර වැදගත් විධාන",legend:"ඔබන්න ${යොමුවීමට ඊළඟ }"},{name:"යොමුවීමට ඊළග වැදගත් විධාන",legend:"ඔබන්න ${යොමුවීමට ඊළඟ }"},{name:"ප්‍රවේශ ",legend:"ඔබන්න ${a11y }"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}], diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js index 396d207abf..936215d9be 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js @@ -1,8 +1,8 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","sk",{title:"Inštrukcie prístupnosti",contents:"Pomocný obsah. Pre zatvorenie tohto okna, stlačte ESC.",legend:[{name:"Všeobecne",items:[{name:"Lišta nástrojov editora",legend:"Stlačte ${toolbarFocus} pre navigáciu na lištu nástrojov. Medzi ďalšou a predchádzajúcou lištou nástrojov sa pohybujete s TAB a SHIFT+TAB. Medzi ďalším a predchádzajúcim tlačidlom na lište nástrojov sa pohybujete s pravou šípkou a ľavou šípkou. Stlačte medzerník alebo ENTER pre aktiváciu tlačidla lišty nástrojov."}, +CKEDITOR.plugins.setLang("a11yhelp","sk",{title:"Inštrukcie prístupnosti",contents:"Pomocný obsah. Pre zatvorenie tohto okna, stlačte ESC.",legend:[{name:"Všeobecne",items:[{name:"Lišta nástrojov editora",legend:"Stlačením ${toolbarFocus} prejdete na panel nástrojov. Medzi ďalšou a predchádzajúcou skupinou sa pohybujete s TAB a SHIFT+TAB. Medzi ďalším a predchádzajúcim tlačidlom na panelu nástrojov sa pohybujete s ŠÍPKA VPRAVO a ŠÍPKA VĽAVO. Stlačte medzerník alebo ENTER pre aktiváciu tlačidla lišty nástrojov. Po aktivácii tlačidla sa fókus presunie späť do editačnej oblasti."}, {name:"Editorový dialóg",legend:"V dialógovom okne stlačte TAB pre presun na ďalší prvok, SHIFT+TAB pre presun na predchádzajúci prvok, ENTER pre odoslanie, ESC pre zrušenie. Keď má dialógové okno viacero kariet, zoznam kariet dosiahnete buď stlačením ALT+F10 alebo s TAB v príslušnom poradí kariet. So zameraným zoznamom kariet sa pohybujte k ďalšej alebo predchádzajúcej karte cez PRAVÚ a ĽAVÚ ŠÍPKU."},{name:"Editorové kontextové menu",legend:"Stlačte ${contextMenu} alebo APPLICATION KEY pre otvorenie kontextového menu. Potom sa presúvajte na ďalšie možnosti menu s TAB alebo dolnou šípkou. Presunte sa k predchádzajúcej možnosti s SHIFT+TAB alebo hornou šípkou. Stlačte medzerník alebo ENTER pre výber možnosti menu. Otvorte pod-menu danej možnosti s medzerníkom, alebo ENTER, alebo pravou šípkou. Vráťte sa späť do položky rodičovského menu s ESC alebo ľavou šípkou. Zatvorte kontextové menu s ESC."}, {name:"Editorov box zoznamu",legend:"V boxe zoznamu, presuňte sa na ďalšiu položku v zozname s TAB alebo dolnou šípkou. Presuňte sa k predchádzajúcej položke v zozname so SHIFT+TAB alebo hornou šípkou. Stlačte medzerník alebo ENTER pre výber možnosti zoznamu. Stlačte ESC pre zatvorenie boxu zoznamu."},{name:"Editorove pásmo cesty prvku",legend:"Stlačte ${elementsPathFocus} pre navigovanie na pásmo cesty elementu. Presuňte sa na tlačidlo ďalšieho prvku s TAB alebo pravou šípkou. Presuňte sa k predchádzajúcemu tlačidlu s SHIFT+TAB alebo ľavou šípkou. Stlačte medzerník alebo ENTER pre výber prvku v editore."}]}, {name:"Príkazy",items:[{name:"Vrátiť príkazy",legend:"Stlačte ${undo}"},{name:"Nanovo vrátiť príkaz",legend:"Stlačte ${redo}"},{name:"Príkaz na stučnenie",legend:"Stlačte ${bold}"},{name:"Príkaz na kurzívu",legend:"Stlačte ${italic}"},{name:"Príkaz na podčiarknutie",legend:"Stlačte ${underline}"},{name:"Príkaz na odkaz",legend:"Stlačte ${link}"},{name:"Príkaz na zbalenie lišty nástrojov",legend:"Stlačte ${toolbarCollapse}"},{name:"Prejsť na predchádzajúcu zamerateľnú medzeru príkazu",legend:"Stlačte ${accessPreviousSpace} pre prístup na najbližšie nedosiahnuteľné zamerateľné medzery pred vsuvkuo. Napríklad: dve za sebou idúce horizontálne čiary. Opakujte kombináciu klávesov pre dosiahnutie vzdialených zamerateľných medzier."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js index ac0e19c0bb..35e25a5e59 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js @@ -1,10 +1,11 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","sl",{title:"Navodila za dostopnost",contents:"Vsebina pomoči. Če želite zapreti pogovorno okno, pritisnite ESC.",legend:[{name:"Splošno",items:[{name:"Orodna vrstica urejevalnika",legend:"Pritisnite ${toolbarFocus} za pomik v orodno vrstico. Z TAB in SHIFT+TAB se pomikate na naslednjo in prejšnjo skupino orodne vrstice. Z DESNO PUŠČICO ali LEVO PUŠČICO se pomikate na naslednji in prejšnji gumb orodne vrstice. Pritisnite SPACE ali ENTER, da aktivirate gumb orodne vrstice."}, -{name:"Urejevalno Pogovorno Okno",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Kontekstni meni urejevalnika",legend:"Pritisnite ${contextMenu} ali APPLICATION KEY, da odprete kontekstni meni. Nato se premaknite na naslednjo možnost menija s tipko TAB ali PUŠČICA DOL. Premakniti se na prejšnjo možnost z SHIFT + TAB ali PUŠČICA GOR. Pritisnite SPACE ali ENTER za izbiro možnosti menija. Odprite podmeni trenutne možnosti menija s tipko SPACE ali ENTER ali DESNA PUŠČICA. Vrnite se na matični element menija s tipko ESC ali LEVA PUŠČICA. Zaprite kontekstni meni z ESC."}, -{name:"Urejevalno Seznamsko Polje",legend:"Znotraj seznama, se premaknete na naslednji element seznama s tipko TAB ali PUŠČICO DOL. Z SHIFT+TAB ali PUŠČICO GOR se premaknete na prejšnji element seznama. Pritisnite tipko SPACE ali ENTER za izbiro elementa. Pritisnite tipko ESC, da zaprete seznam."},{name:"Urejevalna vrstica poti elementa",legend:"Pritisnite ${elementsPathFocus} za pomikanje po vrstici elementnih poti. S TAB ali DESNA PUŠČICA se premaknete na naslednji gumb elementa. Z SHIFT+TAB ali LEVO PUŠČICO se premaknete na prejšnji gumb elementa. Pritisnite SPACE ali ENTER za izbiro elementa v urejevalniku."}]}, +{name:"Urejevalno Pogovorno Okno",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, +{name:"Kontekstni meni urejevalnika",legend:"Pritisnite ${contextMenu} ali APPLICATION KEY, da odprete kontekstni meni. Nato se premaknite na naslednjo možnost menija s tipko TAB ali PUŠČICA DOL. Premakniti se na prejšnjo možnost z SHIFT + TAB ali PUŠČICA GOR. Pritisnite SPACE ali ENTER za izbiro možnosti menija. Odprite podmeni trenutne možnosti menija s tipko SPACE ali ENTER ali DESNA PUŠČICA. Vrnite se na matični element menija s tipko ESC ali LEVA PUŠČICA. Zaprite kontekstni meni z ESC."},{name:"Urejevalno Seznamsko Polje", +legend:"Znotraj seznama, se premaknete na naslednji element seznama s tipko TAB ali PUŠČICO DOL. Z SHIFT+TAB ali PUŠČICO GOR se premaknete na prejšnji element seznama. Pritisnite tipko SPACE ali ENTER za izbiro elementa. Pritisnite tipko ESC, da zaprete seznam."},{name:"Urejevalna vrstica poti elementa",legend:"Pritisnite ${elementsPathFocus} za pomikanje po vrstici elementnih poti. S TAB ali DESNA PUŠČICA se premaknete na naslednji gumb elementa. Z SHIFT+TAB ali LEVO PUŠČICO se premaknete na prejšnji gumb elementa. Pritisnite SPACE ali ENTER za izbiro elementa v urejevalniku."}]}, {name:"Ukazi",items:[{name:"Razveljavi ukaz",legend:"Pritisnite ${undo}"},{name:"Ponovi ukaz",legend:"Pritisnite ${redo}"},{name:"Krepki ukaz",legend:"Pritisnite ${bold}"},{name:"Ležeči ukaz",legend:"Pritisnite ${italic}"},{name:"Poudarni ukaz",legend:"Pritisnite ${underline}"},{name:"Ukaz povezave",legend:"Pritisnite ${link}"},{name:"Skrči Orodno Vrstico Ukaz",legend:"Pritisnite ${toolbarCollapse}"},{name:"Dostop do prejšnjega ukaza ostrenja",legend:"Pritisnite ${accessPreviousSpace} za dostop do najbližjega nedosegljivega osredotočenega prostora pred strešico, npr.: dva sosednja HR elementa. Ponovite kombinacijo tipk, da dosežete oddaljene osredotočene prostore."}, {name:"Dostop do naslednjega ukaza ostrenja",legend:"Pritisnite ${accessNextSpace} za dostop do najbližjega nedosegljivega osredotočenega prostora po strešici, npr.: dva sosednja HR elementa. Ponovite kombinacijo tipk, da dosežete oddaljene osredotočene prostore."},{name:"Pomoč dostopnosti",legend:"Pritisnite ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape", pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Puščica levo",upArrow:"Puščica gor",rightArrow:"Puščica desno",downArrow:"Puščica dol",insert:"Insert",leftWindowKey:"Leva tipka Windows",rightWindowKey:"Desna tipka Windows",selectKey:"Select tipka",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Zmnoži",add:"Dodaj",subtract:"Odštej",decimalPoint:"Decimalna vejica", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js index 779ca6349a..3a94db266e 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","sq",{title:"Udhëzimet e Qasjes",contents:"Përmbajtja ndihmëse. Për ta mbyllur dialogun shtyp ESC.",legend:[{name:"Të përgjithshme",items:[{name:"Shiriti i Redaktuesit",legend:"Shtyp ${toolbarFocus} për të shfletuar kokështrirjen. Kalo tek grupi paraprak ose pasues i shiritit përmes kombinacionit TAB dhe SHIFT+TAB, në tastierë. Kalo tek pulla paraprake ose pasuese e kokështrirjes përmes SHIGJETË DJATHTAS ose SHIGJETËS MAJTAS, në tastierë. Shtyp HAPËSIRË ose ENTER Move to the next and previous toolbar button with RIGHT ARROW për të aktivizuar pullën e kokështrirjes."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js index 7c2669ba59..452d1b947c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js @@ -1,10 +1,11 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","sr-latn",{title:"Uputstva za pomoć",contents:"Sadržaji za pomoć. Da bi ste zatvorili diјalog pritisnite ESC.",legend:[{name:"Opšte",items:[{name:"Alatke za uređivanje",legend:"Pritisnite ${toolbarFocus} da bi označili alatke. Do sledeće i prethodne grupe alatki možete doći sa tasterom TAB i SHIFT+TAB. Do tastera sledeće i predthodne grupe alatki možete doći sa tasterima STRELICA LEVO i STRELICA DESNO. Pritisnite SPACE ili ENTER da bi aktivirali taster alatki."}, -{name:"Uređivač dijaloga",legend:"U prozoru dijalog pritisnite TAB da bi došli do sledećeg polja dijaloga, pritisnite ENTER za prihvatanje dijaloga, pritisnite ESC za odbijanje dijaloga. Kada dijalog ima više kartica, do njih možete doći pritiskom na ALT + F10 ili TAB. Zatim sa TAB ili STRELICA DESNO dolazite do naredne kartice."},{name:"Uređivač lokalnog menija",legend:"Pritisnite ${contextMenu} ili APPLICATION TASTER za otvaranje lokalnog menija. Zatim sa TAB ili STRELICA DOLE možete preći na sledeću tačku menija. Prethodnu opciju možete postići sa SHIFT+TAB ili STRELICA GORE. Pritisnite SPACE ili ENTER za odabir tačke menija. Pritisnite SPACE ili ENTER da bi ste otvorili podmeni trenutne stavke menija. Za povratak u glavni meni pritisnite ESC ili STRELICA DESNO. Zatvorite lokalni meni pomoću tastera ESC."}, -{name:"Uređjivač liste",legend:"Do sledećеg elementa liste možete doći sa TAB ili STERLICA DOLE. Za odabir prethodnog elementa pritisnite SHIFT+TAB ili STREKICA DOLE. Za odabir elementa pritisnite SPACE ili ENTER. Sa pritiskom ESC zatvarate listu. "},{name:"Uredjivač trake puta elemenata",legend:"Pritisnite $ {elementsPathFocus} da bi ste označili traku puta elenementa. Do sledećеg elementa možete doći sa TAB ili STRELICA DESNO. Do prethodnоg dolazite sa SHIFT+TAB ili STRELICA DESNO. Sa SPACE ili ENTER možete odbrati element u uredjivaču."}]}, +CKEDITOR.plugins.setLang("a11yhelp","sr-latn",{title:"Uputstva za pomoć",contents:"Sadržaji za pomoć. Da bi ste zatvorili diјalog pritisnite ESC.",legend:[{name:"Opšte",items:[{name:"Alatke za uređivanje",legend:"Pritisnite ${toolbarFocus} da biste prešli na traku sa alatkama. Pređite na sledeću i prethodnu grupu traka sa alatkama pomoću TAB i SHIFT+TAB. Pređite na sledeće i prethodno dugme na traci sa alatkama pomoću STRELICE NADESNO ili STRELICA NALEVO. Pritisnite SPACE ili ENTER da biste aktivirali dugme na traci sa alatkama. Nakon aktiviranja dugmeta na traci sa alatkama, fokus će biti pomeren nazad u oblast za uređivanje."}, +{name:"Uređivač dijaloga",legend:"Unutar dijaloga pritisnite TAB da pređjete na sledeći element dijaloga, pritisnite SHIFT+TAB da pređjete na prethodni element dijaloga, pritisnite ENTER da pošaljete dijalog, pritisnite ESC da otkažete dijalog. Kada dijalog ima više kartica, do liste kartica se može doći ili sa ALT+F10 ili sa TAB kao deo redosleda tabulatora dijaloga. Sa fokusiranom listom kartica, pređjite na sledeću i prethodnu karticu pomoću STRELICE NADESNO, odnosno NALEVO. Pritisnite ESC da odbacite promene i zatvorite dijalog. Fokus će se vratiti na oblast za uređivanje nakon napuštanja dijaloga."}, +{name:"Uređivač lokalnog menija",legend:"Pritisnite ${contextMenu} ili APPLICATION TASTER za otvaranje lokalnog menija. Zatim sa TAB ili STRELICA DOLE možete preći na sledeću tačku menija. Prethodnu opciju možete postići sa SHIFT+TAB ili STRELICA GORE. Pritisnite SPACE ili ENTER za odabir tačke menija. Pritisnite SPACE ili ENTER da bi ste otvorili podmeni trenutne stavke menija. Za povratak u glavni meni pritisnite ESC ili STRELICA DESNO. Zatvorite lokalni meni pomoću tastera ESC."},{name:"Uređjivač liste", +legend:"Do sledećеg elementa liste možete doći sa TAB ili STERLICA DOLE. Za odabir prethodnog elementa pritisnite SHIFT+TAB ili STREKICA DOLE. Za odabir elementa pritisnite SPACE ili ENTER. Sa pritiskom ESC zatvarate listu. "},{name:"Uredjivač trake puta elemenata",legend:"Pritisnite $ {elementsPathFocus} da bi ste označili traku puta elenementa. Do sledećеg elementa možete doći sa TAB ili STRELICA DESNO. Do prethodnоg dolazite sa SHIFT+TAB ili STRELICA DESNO. Sa SPACE ili ENTER možete odbrati element u uredjivaču."}]}, {name:"Komanda",items:[{name:"Otkaži komandu",legend:"Pritisni ${undo}"},{name:"Prepoznavanje komande",legend:"Pritisni ${redo}"},{name:"Podebljana komanda",legend:"Pritisni ${bold}"},{name:"Kurziv komanda",legend:"Pritisni ${italic}"},{name:"Precrtana komanda",legend:"Pritisni ${underline}"},{name:"Link komanda",legend:"Pritisni ${link}"},{name:"Zatvori traku uredjivača komanda ",legend:"Pritisni ${toolbarCollapse}"},{name:"Pristup prethodnom fokus mestu komanda ",legend:"Pritisni ${accessNextSpace} da bi pristupio najbližem nedostupnom fokus mestu pre znaka hiányjel, na primer: dva susedna HR elementa.Ponovi kombinaciju tastera da pronadješ fokus mesto koje se nalazi dalje."}, {name:"Pristup sledećem fokus mestu komanda ",legend:"Pritisni ${accessNextSpace} da bi pristupio najbližem nedostupnom fokus mestu posle znaka hiányjel, na primer: dva susedna HR elementa.Ponovi kombinaciju tastera da pronadješ fokus mesto koje se nalazi dalje."},{name:"Pomoć pristupačnosti",legend:"Pritisni ${a11yHelp}"},{name:"Nalepi kao običan tekst",legend:"Pritisnite: ${pastetext}",legendEdge:"Pritisnite ${pastetext}-t, zatim ${paste}-t"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape", pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Strelica levo",upArrow:"strelica gore",rightArrow:"strelica desno",downArrow:"strelica dole",insert:"Insert",leftWindowKey:"levi Windows-taster",rightWindowKey:"desni Windows-taster",selectKey:"Odabir tastera",numpad0:"Tasteri sa brojevima 0",numpad1:"Tasteri sa brojevima 1",numpad2:"Tasteri sa brojevima 2",numpad3:"Tasteri sa brojevima 3",numpad4:"Tasteri sa brojevima 4",numpad5:"Tasteri sa brojevima 5",numpad6:"Tasteri sa brojevima 6",numpad7:"Tasteri sa brojevima 7", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js index ab7add6965..56bbfd7f45 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js @@ -1,10 +1,11 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","sr",{title:"Упутства за помоћ",contents:"Садржаји за помоћ. Да би сте затворили дијалог притисните ЕСЦ",legend:[{name:"Опште",items:[{name:"Алатке за преуређиванје",legend:"Притисните ${toolbarFocus} да би означили алатке. До следеће и претходне групе алатки можете дићи тастером TAB и SHIFT+TAB. До тастера следеће и претходне групе алатки можете доћи са тастерима СТРЕЛИЦА ЛЕВО и СТРЕЛИЦА ДЕСНО. Притисните СПАЦЕ и ЕНТЕР да би активирали тастер алатки."},{name:"Уређивач дијалога", -legend:"У прозору дијалог притисните ТАБ да би дошли до следећег поља дијалога, притисните ЕНТЕР за прихватање дијалога, притисните ЕСЦ за одбијање дијалога. Када дијалог има више картица, до њих можете доћи притиском на АЛТ+Ф10 или ТАБ. Затим са ТАБ или СТРЕЛИЦА ДЕСНО долазите до наредне картице."},{name:"Уређивач локалног менија.",legend:"Притисните ${contextMenu} или APPLICATION ТАСТЕР за отварање локалног менија. Затим са ТАБ или СТРЕЛИЦА ДОЛЕ можете прећи на следећу зачку менија. Претходну опцију можете постићи са ШХИФТ+ТАБ или СТРЕЛИЦА ГОРЕ. Притисните СПАЦЕ или ЕНТЕР за одабир тачке менија. Притисните СПАЦЕ или ЕНТЕР да би се отворио подмени тренутне ставке менија. За повратак у главни мени притисмите ЕСЦ или СТРЕЛИЦА ДЕСНО. Затворите локални мени помоћу тастера ЕСЦ."}, -{name:"Уређивач листе",legend:"До следећег елемента листе можете дочи са ТАБ или СТРЕЛИЦА ДОЛЕ. За одабир петходног елемента притисните СХИФТ+TAБ или СТРЕЛИЦА ДОЛЕ. За одабир елемента притисните СПАЦЕ или ЕНТЕР. Са притиско ЕСЦ затварате листу. "},{name:"Уређивач траке пута елемената",legend:"Притисни ${elementsPathFocus} да би означили траку пута елемената. До следећег елемента можете доћи са TAБ или СТРЕЛИЦА ДЕСНО. До претходног долазите са СХИФТ+TAБ или СТРЕЛИЦА ДЕСНО. Са СПАЦЕ или ЕНТЕР можете одабрати елемент у уређивачу."}]}, +CKEDITOR.plugins.setLang("a11yhelp","sr",{title:"Упутства за помоћ",contents:"Садржаји за помоћ. Да би сте затворили дијалог притисните ЕСЦ",legend:[{name:"Опште",items:[{name:"Алатке за преуређиванје",legend:"Притисните ${тоолбарФоцус} да бисте прешли на траку са алаткама. Пређите на следећу и претходну групу трака са алаткама помоћу ТАБ и СХИФТ+ТАБ. Пређите на следеће и претходно дугме на траци са алаткама помоћу СТРЕЛИЦЕ НАДЕСНО или СТРЕЛИЦА НАЛЕВО. Притисните СПАЦЕ или ЕНТЕР да бисте активирали дугме на траци са алаткама. Након активирања дугмета на траци са алаткама, фокус ће бити померен назад у област за уређивање."}, +{name:"Уређивач дијалога",legend:"Унутар дијалога притисните ТАБ да пређете на следећи елемент дијалога, притисните СХИФТ+ТАБ да пређете на претходни елемент дијалога, притисните ЕНТЕР да пошаљете дијалог, притисните ЕСЦ да откажете дијалог. Када дијалог има више картица, до листе картица се може доћи или са АЛТ+Ф10 или са ТАБ као део редоследа табулатора дијалога. Са фокусираном листом картица, пређите на следећу и претходну картицу помоћу СТРЕЛИЦЕ НАДЕСНО, односно НАЛЕВО. Притисните ЕСЦ да одбаците промене и затворите дијалог. Фокус ће се вратити на област за уређивање након напуштања дијалога."}, +{name:"Уређивач локалног менија.",legend:"Притисните ${contextMenu} или APPLICATION ТАСТЕР за отварање локалног менија. Затим са ТАБ или СТРЕЛИЦА ДОЛЕ можете прећи на следећу зачку менија. Претходну опцију можете постићи са ШХИФТ+ТАБ или СТРЕЛИЦА ГОРЕ. Притисните СПАЦЕ или ЕНТЕР за одабир тачке менија. Притисните СПАЦЕ или ЕНТЕР да би се отворио подмени тренутне ставке менија. За повратак у главни мени притисмите ЕСЦ или СТРЕЛИЦА ДЕСНО. Затворите локални мени помоћу тастера ЕСЦ."},{name:"Уређивач листе", +legend:"До следећег елемента листе можете дочи са ТАБ или СТРЕЛИЦА ДОЛЕ. За одабир петходног елемента притисните СХИФТ+TAБ или СТРЕЛИЦА ДОЛЕ. За одабир елемента притисните СПАЦЕ или ЕНТЕР. Са притиско ЕСЦ затварате листу. "},{name:"Уређивач траке пута елемената",legend:"Притисни ${elementsPathFocus} да би означили траку пута елемената. До следећег елемента можете доћи са TAБ или СТРЕЛИЦА ДЕСНО. До претходног долазите са СХИФТ+TAБ или СТРЕЛИЦА ДЕСНО. Са СПАЦЕ или ЕНТЕР можете одабрати елемент у уређивачу."}]}, {name:"Команда",items:[{name:"Откажи команду",legend:"Притисни ${undo}"},{name:"Понови команду",legend:"Притисни ${redo}"},{name:"Подебљана команда",legend:"Притисни ${bold}"},{name:"Курзив команда",legend:"Притисни ${italic}"},{name:"Прецтрана команда",legend:"Притисни ${underline}"},{name:"Линк команда",legend:"Притисни ${link}"},{name:"Затвори траку уређивача команда",legend:"Притисни ${toolbarCollapse}"},{name:"Приступ претходном фокус месту команда",legend:"Притисни ${accessNextSpace} да би приступио најближем недоступном фокус месту пре знака hiányjel, на пример: дав сусаедна ХР елемента. Понови комбинацију тастера да пронађеш фокус место које се налази даље."}, {name:"Приступ следећем фокус месту команда ",legend:"Притисни ${accessNextSpace} да би приступио најближем недоступном фокус месту после знака hiányjel, на пример: дав сусаедна ХР елемента. Понови комбинацију тастера да пронађеш фокус место које се налази даље."},{name:"Помоћ приступачнсти",legend:"Притисни ${a11yHelp}"},{name:" Налепи као обичан текст",legend:"Притисните: ${pastetext}",legendEdge:"Притисните ${pastetext}, затим ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape", pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Стрелица лево",upArrow:"Стрелица горе",rightArrow:"Стрелица десно",downArrow:"Стрелица доле",insert:"Insert",leftWindowKey:"леви Windows-тастер",rightWindowKey:"десни Windows-тастер",selectKey:"Одабир тастера",numpad0:"Тастери са бројевима 0",numpad1:"Тастери са бројевима 1",numpad2:"Тастери са бројевима 2",numpad3:"Тастери са бројевима 3",numpad4:"Тастери са бројевима 4",numpad5:"Тастери са бројевима 5",numpad6:"Тастери са бројевима 6",numpad7:"Тастери са бројевима 7", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js index 7279c6a9f2..6a7547db0a 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","sv",{title:"Hjälpmedelsinstruktioner",contents:"Hjälpinnehåll. För att stänga denna dialogruta trycker du på ESC.",legend:[{name:"Allmänt",items:[{name:"Editor verktygsfält",legend:"Tryck på ${toolbarFocus} för att navigera till verktygsfältet. Flytta till nästa och föregående verktygsfältsgrupp med TAB och SHIFT+TAB. Flytta till nästa och föregående knapp i verktygsfältet med HÖGERPIL eller VÄNSTERPIL. Tryck SPACE eller ENTER för att aktivera knappen i verktygsfältet."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/th.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/th.js index 78c0fd6472..7cf9e13d3e 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/th.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","th",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"ทั่วไป",items:[{name:"แถบเครื่องมือสำหรับเครื่องมือช่วยพิมพ์",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","th",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"ทั่วไป",items:[{name:"แถบเครื่องมือสำหรับเครื่องมือช่วยพิมพ์",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"คำสั่ง",items:[{name:"เลิกทำคำสั่ง",legend:"วาง ${undo}"},{name:"คำสั่งสำหรับทำซ้ำ",legend:"วาง ${redo}"},{name:"คำสั่งสำหรับตัวหนา",legend:"วาง ${bold}"},{name:"คำสั่งสำหรับตัวเอียง",legend:"วาง ${italic}"},{name:"คำสั่งสำหรับขีดเส้นใต้", legend:"วาง ${underline}"},{name:"คำสั่งสำหรับลิงก์",legend:"วาง ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js index 031232ac94..2a6b031338 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","tr",{title:"Erişilebilirlik Talimatları",contents:"Yardım içeriği. Bu pencereyi kapatmak için ESC tuşuna basın.",legend:[{name:"Genel",items:[{name:"Düzenleyici Araç Çubuğu",legend:"Araç çubuğunda gezinmek için ${toolbarFocus} basın. TAB ve SHIFT+TAB ile önceki ve sonraki araç çubuğu grubuna taşıyın. SAĞ OK veya SOL OK ile önceki ve sonraki bir araç çubuğu düğmesini hareket ettirin. SPACE tuşuna basın veya araç çubuğu düğmesini etkinleştirmek için ENTER tuşna basın."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js index a6b51b13f4..04ec3fe383 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js @@ -1,8 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","tt",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Гомуми",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","tt",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Гомуми",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button. The focus will be moved back to the editing area upon activating the toolbar button."}, +{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, {name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Командалар",items:[{name:"Кайтару",legend:"${undo} басыгыз"},{name:"Кабатлау",legend:"${redo} басыгыз"},{name:"Калын",legend:"${bold} басыгыз"},{name:"Курсив",legend:"${italic} басыгыз"},{name:"Астына сызылган",legend:"${underline} басыгыз"}, {name:"Сылталама",legend:"${link} басыгыз"},{name:" Toolbar Collapse command",legend:"${toolbarCollapse} басыгыз"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js index 862ab5388b..d2db186ed7 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","ug",{title:"قوشۇمچە چۈشەندۈرۈش",contents:"ياردەم مەزمۇنى. بۇ سۆزلەشكۈنى ياپماقچى بولسىڭىز ESC نى بېسىڭ.",legend:[{name:"ئادەتتىكى",items:[{name:"قورال بالداق تەھرىر",legend:"${toolbarFocus} بېسىلسا قورال بالداققا يېتەكلەيدۇ، TAB ياكى SHIFT+TAB ئارقىلىق قورال بالداق گۇرۇپپىسى تاللىنىدۇ، ئوڭ سول يا ئوقتا توپچا تاللىنىدۇ، بوشلۇق ياكى Enter كۇنۇپكىسىدا تاللانغان توپچىنى قوللىنىدۇ."},{name:"تەھرىرلىگۈچ سۆزلەشكۈسى",legend:"سۆزلەشكۈدە TAB كۇنۇپكىسىدا كېيىنكى سۆز بۆلىكىگە يۆتكىلىدۇ، SHIFT+TAB بىرىكمە كۇنۇپكىسىدا ئالدىنقى سۆز بۆلىكىگە يۆتكىلىدۇ، ENTER كۇنۇپكىسىدا سۆزلەشكۈنى تاپشۇرىدۇ، ESC كۇنۇپكىسى سۆزلەشكۈدىن ۋاز كېچىدۇ. كۆپ بەتكۈچلۈك سۆزلەشكۈگە نىسبەتەن، ALT+F10 دا بەتكۈچ تىزىمىغا يۆتكەيدۇ. ئاندىن TAB كۇنۇپكىسى ياكى ئوڭ يا ئوق كۇنۇپكىسى كېيىنكى بەتكۈچكە يۆتكەيدۇ؛SHIFT+ TAB كۇنۇپكىسى ياكى سول يا ئوق كۇنۇپكىسى ئالدىنقى بەتكۈچكە يۆتكەيدۇ. بوشلۇق كۇنۇپكىسى ياكى ENTER كۇنۇپكىسى بەتكۈچنى تاللايدۇ."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js index 050a80b19a..314f2d4bb7 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","uk",{title:"Спеціальні Інструкції",contents:"Довідка. Натисніть ESC і вона зникне.",legend:[{name:"Основне",items:[{name:"Панель Редактора",legend:"Натисніть ${toolbarFocus} для переходу до панелі інструментів. Для переміщення між групами панелі інструментів використовуйте TAB і SHIFT+TAB. Для переміщення між кнопками панелі іструментів використовуйте кнопки СТРІЛКА ВПРАВО або ВЛІВО. Натисніть ПРОПУСК або ENTER для запуску кнопки панелі інструментів."},{name:"Діалог Редактора", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js index 8fe49f43cf..bf5daa2746 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js @@ -1,8 +1,8 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","vi",{title:"Hướng dẫn trợ năng",contents:"Nội dung Hỗ trợ. Nhấn ESC để đóng hộp thoại.",legend:[{name:"Chung",items:[{name:"Thanh công cụ soạn thảo",legend:"Nhấn ${toolbarFocus} để điều hướng đến thanh công cụ. Nhấn TAB và SHIFT+TAB để chuyển đến nhóm thanh công cụ khác. Nhấn MŨI TÊN PHẢI hoặc MŨI TÊN TRÁI để chuyển sang nút khác trên thanh công cụ. Nhấn PHÍM CÁCH hoặc ENTER để kích hoạt nút trên thanh công cụ."},{name:"Hộp thoại Biên t",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +CKEDITOR.plugins.setLang("a11yhelp","vi",{title:"Hướng dẫn trợ năng",contents:"Nội dung Hỗ trợ. Nhấn ESC để đóng hộp thoại.",legend:[{name:"Chung",items:[{name:"Thanh công cụ soạn thảo",legend:"Nhấn ${toolbarFocus} để điều hướng đến thanh công cụ. Nhấn TAB và SHIFT+TAB để chuyển đến nhóm thanh công cụ khác. Nhấn MŨI TÊN PHẢI hoặc MŨI TÊN TRÁI để chuyển sang nút khác trên thanh công cụ. Nhấn PHÍM CÁCH hoặc ENTER để kích hoạt nút trên thanh công cụ."},{name:"Hộp thoại Biên t",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively. Press ESC to discard changes and close the dialog. The focus will be moved back to the editing area upon leaving the dialog."}, {name:"Trình đơn Ngữ cảnh cBộ soạn thảo",legend:"Nhấn ${contextMenu} hoặc PHÍM ỨNG DỤNG để mở thực đơn ngữ cảnh. Sau đó nhấn TAB hoặc MŨI TÊN XUỐNG để di chuyển đến tuỳ chọn tiếp theo của thực đơn. Nhấn SHIFT+TAB hoặc MŨI TÊN LÊN để quay lại tuỳ chọn trước. Nhấn DẤU CÁCH hoặc ENTER để chọn tuỳ chọn của thực đơn. Nhấn DẤU CÁCH hoặc ENTER hoặc MŨI TÊN SANG PHẢI để mở thực đơn con của tuỳ chọn hiện tại. Nhấn ESC hoặc MŨI TÊN SANG TRÁI để quay trở lại thực đơn gốc. Nhấn ESC để đóng thực đơn ngữ cảnh."}, {name:"Hộp danh sách trình biên tập",legend:"Trong một danh sách chọn, di chuyển đối tượng tiếp theo với phím TAB hoặc phím mũi tên hướng xuống. Di chuyển đến đối tượng trước đó bằng cách nhấn tổ hợp phím SHIFT+TAB hoặc mũi tên hướng lên. Phím khoảng cách hoặc phím ENTER để chọn các tùy chọn trong danh sách. Nhấn phím ESC để đóng lại danh sách chọn."},{name:"Thanh đường dẫn các đối tượng",legend:"Nhấn ${elementsPathFocus} để điều hướng các đối tượng trong thanh đường dẫn. Di chuyển đến đối tượng tiếp theo bằng phím TAB hoặc phím mũi tên bên phải. Di chuyển đến đối tượng trước đó bằng tổ hợp phím SHIFT+TAB hoặc phím mũi tên bên trái. Nhấn phím khoảng cách hoặc ENTER để chọn đối tượng trong trình soạn thảo."}]}, {name:"Lệnh",items:[{name:"Làm lại lện",legend:"Ấn ${undo}"},{name:"Làm lại lệnh",legend:"Ấn ${redo}"},{name:"Lệnh in đậm",legend:"Ấn ${bold}"},{name:"Lệnh in nghiêng",legend:"Ấn ${italic}"},{name:"Lệnh gạch dưới",legend:"Ấn ${underline}"},{name:"Lệnh liên kết",legend:"Nhấn ${link}"},{name:"Lệnh hiển thị thanh công cụ",legend:"Nhấn${toolbarCollapse}"},{name:"Truy cập đến lệnh tập trung vào khoảng cách trước đó",legend:"Ấn ${accessPreviousSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách."}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js index 6237574877..4daa1c1873 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("a11yhelp","zh-cn",{title:"辅助功能说明",contents:"帮助内容。要关闭此对话框请按 ESC 键。",legend:[{name:"常规",items:[{name:"编辑器工具栏",legend:"按 ${toolbarFocus} 切换到工具栏,使用 TAB 键和 SHIFT+TAB 组合键移动到上一个和下一个工具栏组。使用左右箭头键移动到上一个或下一个工具栏按钮。按空格键或回车键以选中工具栏按钮。"},{name:"编辑器对话框",legend:"在对话框内,按 TAB 键移动到下一个字段,按 SHIFT + TAB 组合键移动到上一个字段,按 ENTER 键提交对话框,按 ESC 键取消对话框。对于有多选项卡的对话框,可以按 ALT + F10 直接切换到或者按 TAB 键逐步移到选项卡列表,当焦点移到选项卡列表时可以用左右箭头键来移动到前后的选项卡。"},{name:"编辑器上下文菜单",legend:"用 ${contextMenu} 或者“应用程序键”打开上下文菜单。然后用 TAB 键或者下箭头键来移动到下一个菜单项;SHIFT + TAB 组合键或者上箭头键移动到上一个菜单项。用 SPACE 键或者 ENTER 键选择菜单项。用 SPACE 键,ENTER 键或者右箭头键打开子菜单。返回菜单用 ESC 键或者左箭头键。用 ESC 键关闭上下文菜单。"}, diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js index 50db4f56c0..011a628805 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js @@ -1,9 +1,9 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("a11yhelp","zh",{title:"輔助工具指南",contents:"說明內容。若要關閉此對話框請按「ESC」。",legend:[{name:"一般",items:[{name:"編輯器工具列",legend:"請按 ${toolbarFocus} 以導覽到工具列。利用 TAB 或 SHIFT+TAB 以便移動到下一個及前一個工具列群組。利用右方向鍵或左方向鍵以便移動到下一個及上一個工具列按鈕。按下空白鍵或 ENTER 鍵啟用工具列按鈕。"},{name:"編輯器對話方塊",legend:"在對話框中,按下 TAB 鍵以導覽到下一個對話框元素,按下 SHIFT+TAB 以移動到上一個對話框元素,按下 ENTER 以遞交對話框,按下 ESC 以取消對話框。當對話框有多個分頁時,可以使用 ALT+F10 或是在對話框分頁順序中的一部份按下 TAB 以使用分頁列表。焦點在分頁列表上時,分別使用右方向鍵及左方向鍵移動到下一個及上一個分頁。"},{name:"編輯器內容功能表",legend:"請按下「${contextMenu}」或是「應用程式鍵」以開啟內容選單。以「TAB」或是「↓」鍵移動到下一個選單選項。以「SHIFT + TAB」或是「↑」鍵移動到上一個選單選項。按下「空白鍵」或是「ENTER」鍵以選取選單選項。以「空白鍵」或「ENTER」或「→」開啟目前選項之子選單。以「ESC」或「←」回到父選單。以「ESC」鍵關閉內容選單」。"}, -{name:"編輯器清單方塊",legend:"在清單方塊中,使用 TAB 或下方向鍵移動到下一個列表項目。使用 SHIFT+TAB 或上方向鍵移動到上一個列表項目。按下空白鍵或 ENTER 以選取列表選項。按下 ESC 以關閉清單方塊。"},{name:"編輯器元件路徑工具列",legend:"請按 ${elementsPathFocus} 以瀏覽元素路徑列。利用 TAB 或右方向鍵以便移動到下一個元素按鈕。利用 SHIFT 或左方向鍵以便移動到上一個按鈕。按下空白鍵或 ENTER 鍵來選取在編輯器中的元素。"}]},{name:"命令",items:[{name:"復原命令",legend:"請按下「${undo}」"},{name:"重複命令",legend:"請按下「 ${redo}」"},{name:"粗體命令",legend:"請按下「${bold}」"},{name:"斜體",legend:"請按下「${italic}」"},{name:"底線命令",legend:"請按下「${underline}」"},{name:"連結",legend:"請按下「${link}」"}, -{name:"隱藏工具列",legend:"請按下「${toolbarCollapse}」"},{name:"存取前一個焦點空間命令",legend:"請按下 ${accessPreviousSpace} 以存取最近但無法靠近之插字符號前的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"存取下一個焦點空間命令",legend:"請按下 ${accessNextSpace} 以存取最近但無法靠近之插字符號後的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"協助工具說明",legend:"請按下「${a11yHelp}」"},{name:"以純文字貼上",legend:"按 ${pastetext}",legendEdge:"按 ${pastetext},再來是 ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"向左箭號", -upArrow:"向上鍵號",rightArrow:"向右鍵號",downArrow:"向下鍵號",insert:"插入",leftWindowKey:"左方 Windows 鍵",rightWindowKey:"右方 Windows 鍵",selectKey:"選擇鍵",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"乘號",add:"新增",subtract:"減號",decimalPoint:"小數點",divide:"除號",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock", -scrollLock:"Scroll Lock",semiColon:"分號",equalSign:"等號",comma:"逗號",dash:"虛線",period:"句點",forwardSlash:"斜線",graveAccent:"抑音符號",openBracket:"左方括號",backSlash:"反斜線",closeBracket:"右方括號",singleQuote:"單引號"}); \ No newline at end of file +CKEDITOR.plugins.setLang("a11yhelp","zh",{title:"輔助工具指南",contents:"說明內容。若要關閉此對話框請按「ESC」。",legend:[{name:"一般",items:[{name:"編輯器工具列",legend:"請按 ${toolbarFocus} 以導覽到工具列。利用 TAB 或 SHIFT+TAB 以便移動到下一個及前一個工具列群組。利用右方向鍵或左方向鍵以便移動到下一個及上一個工具列按鈕。按下空白鍵或 ENTER 鍵啟用工具列按鈕。啟用工作列按鈕時,焦點將會移回至編輯區域。"},{name:"編輯器對話方塊",legend:"在對話框中,按下 TAB 鍵以導覽到下一個對話框元素,按下 SHIFT+TAB 以移動到上一個對話框元素,按下 ENTER 以遞交對話框,按下 ESC 以取消對話框。當對話框有多個分頁時,可以使用 ALT+F10 或是在對話框分頁順序中的一部份按下 TAB 以使用分頁列表。焦點在分頁列表上時,分別使用右方向鍵及左方向鍵移動到下一個及上一個分頁。按下 ESC 以放棄變更且關閉對話方塊。離開對話方塊時,焦點將會移回至編輯區域。"}, +{name:"編輯器內容功能表",legend:"請按下「${contextMenu}」或是「應用程式鍵」以開啟內容選單。以「TAB」或是「↓」鍵移動到下一個選單選項。以「SHIFT + TAB」或是「↑」鍵移動到上一個選單選項。按下「空白鍵」或是「ENTER」鍵以選取選單選項。以「空白鍵」或「ENTER」或「→」開啟目前選項之子選單。以「ESC」或「←」回到父選單。以「ESC」鍵關閉內容選單」。"},{name:"編輯器清單方塊",legend:"在清單方塊中,使用 TAB 或下方向鍵移動到下一個列表項目。使用 SHIFT+TAB 或上方向鍵移動到上一個列表項目。按下空白鍵或 ENTER 以選取列表選項。按下 ESC 以關閉清單方塊。"},{name:"編輯器元件路徑工具列",legend:"請按 ${elementsPathFocus} 以瀏覽元素路徑列。利用 TAB 或右方向鍵以便移動到下一個元素按鈕。利用 SHIFT 或左方向鍵以便移動到上一個按鈕。按下空白鍵或 ENTER 鍵來選取在編輯器中的元素。"}]},{name:"命令",items:[{name:"復原命令",legend:"請按下「${undo}」"}, +{name:"重複命令",legend:"請按下「 ${redo}」"},{name:"粗體命令",legend:"請按下「${bold}」"},{name:"斜體",legend:"請按下「${italic}」"},{name:"底線命令",legend:"請按下「${underline}」"},{name:"連結",legend:"請按下「${link}」"},{name:"隱藏工具列",legend:"請按下「${toolbarCollapse}」"},{name:"存取前一個焦點空間命令",legend:"請按下 ${accessPreviousSpace} 以存取最近但無法靠近之插字符號前的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"存取下一個焦點空間命令",legend:"請按下 ${accessNextSpace} 以存取最近但無法靠近之插字符號後的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"協助工具說明",legend:"請按下「${a11yHelp}」"},{name:"以純文字貼上", +legend:"按 ${pastetext}",legendEdge:"按 ${pastetext},再來是 ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"向左箭號",upArrow:"向上鍵號",rightArrow:"向右鍵號",downArrow:"向下鍵號",insert:"插入",leftWindowKey:"左方 Windows 鍵",rightWindowKey:"右方 Windows 鍵",selectKey:"選擇鍵",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9", +multiply:"乘號",add:"新增",subtract:"減號",decimalPoint:"小數點",divide:"除號",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"分號",equalSign:"等號",comma:"逗號",dash:"虛線",period:"句點",forwardSlash:"斜線",graveAccent:"抑音符號",openBracket:"左方括號",backSlash:"反斜線",closeBracket:"右方括號",singleQuote:"單引號"}); \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/about/dialogs/about.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/about/dialogs/about.js index eabeeff010..cb19ef923e 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/about/dialogs/about.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/about/dialogs/about.js @@ -1,8 +1,8 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.dialog.add("about",function(a){a=a.lang.about;var b=CKEDITOR.getUrl(CKEDITOR.plugins.get("about").path+"dialogs/"+(CKEDITOR.env.hidpi?"hidpi/":"")+"logo_ckeditor.png");return{title:a.dlgTitle,minWidth:390,minHeight:210,contents:[{id:"tab1",label:"",title:"",expand:!0,padding:0,elements:[{type:"html",html:'\x3cstyle type\x3d"text/css"\x3e.cke_about_container{color:#000 !important;padding:10px 10px 0;margin-top:5px}.cke_about_container p{margin: 0 0 10px;}.cke_about_container .cke_about_logo{height:81px;background-color:#fff;background-image:url('+ -b+");"+(CKEDITOR.env.hidpi?"background-size:194px 58px;":"")+'background-position:center; background-repeat:no-repeat;margin-bottom:10px;}.cke_about_container a{cursor:pointer !important;color:#00B2CE !important;text-decoration:underline !important;}.cke_about_container \x3e p,.cke_rtl .cke_about_container \x3e p{text-align:center;}\x3c/style\x3e\x3cdiv class\x3d"cke_about_container"\x3e\x3cdiv class\x3d"cke_about_logo"\x3e\x3c/div\x3e\x3cp\x3eCKEditor '+CKEDITOR.version+" (revision "+CKEDITOR.revision+ -')\x3cbr\x3e\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://ckeditor.com/"\x3ehttps://ckeditor.com\x3c/a\x3e\x3c/p\x3e\x3cp\x3e'+a.moreInfo+'\x3cbr\x3e\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://ckeditor.com/legal/ckeditor-oss-license/"\x3ehttps://ckeditor.com/legal/ckeditor-oss-license/\x3c/a\x3e\x3c/p\x3e\x3cp\x3e'+a.copy.replace("$1",'\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://cksource.com/"\x3eCKSource\x3c/a\x3e - Frederico Knabben')+ +b+");"+(CKEDITOR.env.hidpi?"background-size:194px 58px;":"")+'background-position:center; background-repeat:no-repeat;margin-bottom:10px;}.cke_about_container a{cursor:pointer !important;color:#00B2CE !important;text-decoration:underline !important;}.cke_about_container \x3e p,.cke_rtl .cke_about_container \x3e p{text-align:center;}.cke_about_version-check \x3e strong{color: inherit;}\x3c/style\x3e\x3cdiv class\x3d"cke_about_container"\x3e\x3cdiv class\x3d"cke_about_logo"\x3e\x3c/div\x3e\x3cp\x3eCKEditor '+ +CKEDITOR.version+" (revision "+CKEDITOR.revision+')\x3cbr\x3e\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://ckeditor.com/"\x3ehttps://ckeditor.com\x3c/a\x3e\x3c/p\x3e\x3cp class\x3d"cke_about_version-check"\x3e\x3c/p\x3e\x3cp\x3e'+a.moreInfo+'\x3cbr\x3e\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://ckeditor.com/legal/ckeditor-oss-license/"\x3ehttps://ckeditor.com/legal/ckeditor-oss-license/\x3c/a\x3e\x3c/p\x3e\x3cp\x3e'+a.copy.replace("$1",'\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://cksource.com/"\x3eCKSource\x3c/a\x3e Holding sp. z o.o')+ "\x3c/p\x3e\x3c/div\x3e"}]}],buttons:[CKEDITOR.dialog.cancelButton]}}); \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dev/clipboard.html b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dev/clipboard.html deleted file mode 100644 index 735d00ede3..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dev/clipboard.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Clipboard playground – CKEditor Sample - - - - - -

- CKEditor Sample — clipboard plugin playground -

-
-

- - -

-

- - -

-

- - -

-

- - -

-

- - -

-
-

Editor 6

-

Content content content.

-

Styled by .someClass.

-
-
-
-
- - - diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dev/console.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dev/console.js deleted file mode 100644 index 96ccd816a1..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dev/console.js +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/* global CKCONSOLE */ - -'use strict'; - -( function() { - var pasteType, pasteValue; - - CKCONSOLE.add( 'paste', { - panels: [ - { - type: 'box', - content: - '', - - refresh: function() { - return { - header: 'Paste', - type: pasteType, - value: pasteValue - }; - }, - - refreshOn: function( editor, refresh ) { - editor.on( 'paste', function( evt ) { - pasteType = evt.data.type; - pasteValue = CKEDITOR.tools.htmlEncode( evt.data.dataValue ); - refresh(); - } ); - } - }, - { - type: 'log', - on: function( editor, log, logFn ) { - editor.on( 'paste', function( evt ) { - logFn( 'paste; type:' + evt.data.type )(); - } ); - } - } - ] - } ); -} )(); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dev/dnd.html b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dev/dnd.html deleted file mode 100644 index c45475b61c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dev/dnd.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - Manual test for http://dev.ckeditor.com/ticket/11460 - - - - - - - -

- Manual test for #11460 -

-

Description (hide/show)

-
-

Test internal D&D in the editor, dropping content from an external source (helpers, MS Word) and D&D between editors. Keep in mind that internal D&D is the most complex operation because editor have to handle two ranges at the same time.

-

Expected behavior:

- -

Drag scenarios:

- -

Drop scenarios:

- -

Known issues (not part of this ticket):

- -
-
-

Helpers (hide/show)

-
- -
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. In commodo vulputate tempor. Sed <b>at elit</b> vel ligula mollis aliquet a ac odio. -
-Aenean cursus egestas ipsum.
-				
-
-
-
-
-
-

Classic editor (hide/show)

-
- -
-
-
-

Inline editor (hide/show)

-
-

Saturn V carrying Apollo 11 Apollo 11

- -

Apollo 11 was the spaceflight that landed the first humans, Americans Neil Armstrong and Buzz Aldrin, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.

- -

Armstrong spent about three and a half two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5 kg) of lunar material for return to Earth. A third member of the mission, Michael Collins, piloted the command spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.

- -

Broadcasting and quotes

- -

Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:

- -
-

One small step for [a] man, one giant leap for mankind.

-
- -

Apollo 11 effectively ended the Space Race and fulfilled a national goal proposed in 1961 by the late U.S. President John F. Kennedy in a speech before the United States Congress:

- -
-

[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.

-
- -

Technical details

- - - - - - - - - - - - - - - - - - - - - - - -
Mission crew
PositionAstronaut
CommanderNeil A. Armstrong
Command Module PilotMichael Collins
Lunar Module PilotEdwin "Buzz" E. Aldrin, Jr.
- -

Launched by a Saturn V rocket from Kennedy Space Center in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of NASA's Apollo program. The Apollo spacecraft had three parts:

- -
    -
  1. Command Module with a cabin for the three astronauts which was the only part which landed back on Earth
  2. -
  3. Service Module which supported the Command Module with propulsion, electrical power, oxygen and water
  4. -
  5. Lunar Module for landing on the Moon.
  6. -
- -

After being sent to the Moon by the Saturn V's upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the Sea of Tranquility. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the Pacific Ocean on July 24.

- -
-

Source: Wikipedia.org

-
-
- - - diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dialogs/paste.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dialogs/paste.js index 5de8d43e79..ccc76c7738 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dialogs/paste.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/dialogs/paste.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.dialog.add("paste",function(c){function k(a){var b=new CKEDITOR.dom.document(a.document),g=b.getBody(),d=b.getById("cke_actscrpt");d&&d.remove();g.setAttribute("contenteditable",!0);g.on(e.mainPasteEvent,function(a){a=e.initPasteDataTransfer(a);f?a!=f&&(f=e.initPasteDataTransfer()):f=a});if(CKEDITOR.env.ie&&8>CKEDITOR.env.version)b.getWindow().on("blur",function(){b.$.selection.empty()});b.on("keydown",function(a){a=a.data;var b;switch(a.getKeystroke()){case 27:this.hide();b=1;break;case 9:case CKEDITOR.SHIFT+ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/copy-rtl.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/copy-rtl.png deleted file mode 100644 index ce94fc0816..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/copy-rtl.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/copy.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/copy.png deleted file mode 100644 index ce94fc0816..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/copy.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/cut-rtl.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/cut-rtl.png deleted file mode 100644 index 8ae48d9a7a..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/cut-rtl.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/cut.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/cut.png deleted file mode 100644 index 8ae48d9a7a..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/cut.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/copy-rtl.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/copy-rtl.png deleted file mode 100644 index 74c6765637..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/copy-rtl.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/copy.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/copy.png deleted file mode 100644 index 74c6765637..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/copy.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/cut-rtl.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/cut-rtl.png deleted file mode 100644 index f5a9b0da79..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/cut-rtl.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/cut.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/cut.png deleted file mode 100644 index f5a9b0da79..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/cut.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/paste-rtl.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/paste-rtl.png deleted file mode 100644 index 12cac92aab..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/paste-rtl.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/paste.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/paste.png deleted file mode 100644 index 12cac92aab..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/hidpi/paste.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/paste-rtl.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/paste-rtl.png deleted file mode 100644 index 7039251b8c..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/paste-rtl.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/paste.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/paste.png deleted file mode 100644 index 7039251b8c..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/icons/paste.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/af.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/af.js deleted file mode 100644 index 5860867b3d..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/af.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'af', { - copy: 'Kopiëer', - copyError: 'U blaaier se sekuriteitsinstelling belet die kopiëringsaksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+C).', - cut: 'Knip', - cutError: 'U blaaier se sekuriteitsinstelling belet die outomatiese knip-aksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+X).', - paste: 'Plak', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ar.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ar.js deleted file mode 100644 index 6d1a0b0f82..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ar.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'ar', { - copy: 'نسخ', - copyError: 'الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع عمليات النسخ التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+C).', - cut: 'قص', - cutError: 'الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+X).', - paste: 'لصق', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/az.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/az.js deleted file mode 100644 index 8f60f35d62..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/az.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'az', { - copy: 'Köçür', - copyError: 'Avtomatik köçürülməsi mümkün deyil. Ctrl+C basın.', - cut: 'Kəs', - cutError: 'Avtomatik kəsmə mümkün deyil. Ctrl+X basın.', - paste: 'Əlavə et', - 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.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/bg.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/bg.js deleted file mode 100644 index 2d8eedecb8..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/bg.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'bg', { - copy: 'Копирай', - copyError: 'Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни запаметяването. За целта използвайте клавиатурата (Ctrl/Cmd+C).', - cut: 'Отрежи', - cutError: 'Настройките за сигурност на Вашия браузър не позволяват на редактора автоматично да изъплни действията за отрязване. Моля ползвайте клавиатурните команди за целта (ctrl+x).', - paste: 'Вмъкни', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/bn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/bn.js deleted file mode 100644 index 1d0922ac09..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/bn.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'bn', { - copy: 'কপি', - copyError: 'আপনার ব্রাউজারের নিরাপত্তা সেটিংসমূহ এডিটরকে স্বয়ংক্রিয়ভাবে কপি করার প্রক্রিয়া চালনা করার অনুমতি দেয় না। অনুগ্রহপূর্বক এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+C)।', - cut: 'কাট', - cutError: 'আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কাট করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+X)।', - paste: 'পেস্ট', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/bs.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/bs.js deleted file mode 100644 index 62f3f1b2c9..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/bs.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'bs', { - copy: 'Kopiraj', - copyError: 'Sigurnosne postavke Vašeg pretraživaèa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+C).', - cut: 'Izreži', - cutError: 'Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+X).', - paste: 'Zalijepi', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ca.js deleted file mode 100644 index 6cd3b582c9..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ca.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'ca', { - copy: 'Copiar', - copyError: 'La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+C).', - cut: 'Retallar', - 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).', - paste: 'Enganxar', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/cs.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/cs.js deleted file mode 100644 index 4cbf3b416d..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/cs.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'cs', { - copy: 'Kopírovat', - copyError: 'Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro kopírování zvoleného textu do schránky. Prosím zkopírujte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+C).', - cut: 'Vyjmout', - 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).', - paste: 'Vložit', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/cy.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/cy.js deleted file mode 100644 index e854e13399..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/cy.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'cy', { - copy: 'Copïo', - copyError: '\'Dyw gosodiadau diogelwch eich porwr ddim yn caniatàu\'r golygydd i gynnal \'gweithredoedd copïo\' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+C).', - cut: 'Torri', - cutError: 'Nid yw gosodiadau diogelwch eich porwr yn caniatàu\'r golygydd i gynnal \'gweithredoedd torri\' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+X).', - paste: 'Gludo', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/da.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/da.js deleted file mode 100644 index 257c9d4cea..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/da.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'da', { - copy: 'Kopiér', - copyError: 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.

Brug i stedet tastaturet til at kopiere teksten (Ctrl/Cmd+C).', - cut: 'Klip', - cutError: 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.

Brug i stedet tastaturet til at klippe teksten (Ctrl/Cmd+X).', - paste: 'Indsæt', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/de-ch.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/de-ch.js deleted file mode 100644 index e3b9eadf90..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/de-ch.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'de-ch', { - copy: 'Kopieren', - copyError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).', - cut: 'Ausschneiden', - 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).', - paste: 'Einfügen', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/de.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/de.js deleted file mode 100644 index 524408160d..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/de.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'de', { - copy: 'Kopieren', - copyError: 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).', - cut: 'Ausschneiden', - 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).', - paste: 'Einfügen', - pasteNotification: 'Ihr Browser verhindert das Einfügen über diesen Weg. Zum einfügen drücken Sie %1.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/el.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/el.js deleted file mode 100644 index 4ee396bc01..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/el.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'el', { - copy: 'Αντιγραφή', - copyError: 'Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αντιγραφής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+C).', - cut: 'Αποκοπή', - cutError: 'Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).', - paste: 'Επικόλληση', - pasteNotification: 'Ο περιηγητής σας δεν σας επιτρέπει να επικολλήσετε με αυτόν τον τρόπο. Πατήστε %1 για επικόλληση.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en-au.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en-au.js deleted file mode 100644 index 018a7549b8..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en-au.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'en-au', { - copy: 'Copy', - copyError: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', - cut: 'Cut', - cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', - paste: 'Paste', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en-ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en-ca.js deleted file mode 100644 index fd76ba76ee..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en-ca.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'en-ca', { - copy: 'Copy', - copyError: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', - cut: 'Cut', - cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', - paste: 'Paste', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en-gb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en-gb.js deleted file mode 100644 index fb6aa2e978..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en-gb.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'en-gb', { - copy: 'Copy', - copyError: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', - cut: 'Cut', - cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', - paste: 'Paste', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en.js deleted file mode 100644 index 5d81cc0b7b..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/en.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'en', { - copy: 'Copy', - copyError: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', - cut: 'Cut', - cutError: 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).', - paste: 'Paste', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/eo.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/eo.js deleted file mode 100644 index 3a012130db..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/eo.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'eo', { - copy: 'Kopii', - copyError: 'La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras kopiajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-C).', - cut: 'Eltondi', - cutError: 'La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-X).', - paste: 'Interglui', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/es-mx.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/es-mx.js deleted file mode 100644 index f4a1be2b6c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/es-mx.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'es-mx', { - copy: 'Copiar', - 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).', - cut: 'Cortar', - 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).', - paste: 'Pegar', - pasteNotification: 'Tu navegador no permite pegar de esta manera. Presiona %1 para pegar.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/es.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/es.js deleted file mode 100644 index 741d912d14..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/es.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'es', { - copy: 'Copiar', - copyError: 'La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de copiado.\r\nPor favor use el teclado (Ctrl/Cmd+C).', - cut: 'Cortar', - 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).', - paste: 'Pegar', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/et.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/et.js deleted file mode 100644 index 106ca6161d..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/et.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'et', { - copy: 'Kopeeri', - copyError: 'Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt kopeerida. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+C).', - cut: 'Lõika', - cutError: 'Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+X).', - paste: 'Aseta', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/eu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/eu.js deleted file mode 100644 index 140fcb8f93..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/eu.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'eu', { - copy: 'Kopiatu', - copyError: 'Zure web nabigatzailearen segurtasun ezarpenek ez dute baimentzen testuak automatikoki kopiatzea. Mesedez teklatua erabil ezazu (Ctrl/Cmd+C).', - cut: 'Ebaki', - cutError: 'Zure web nabigatzailearen segurtasun ezarpenek ez dute baimentzen testuak automatikoki moztea. Mesedez teklatua erabil ezazu (Ctrl/Cmd+X).', - paste: 'Itsatsi', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fa.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fa.js deleted file mode 100644 index 8dca4b33de..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fa.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'fa', { - copy: 'رونوشت', - copyError: 'تنظیمات امنیتی مرورگر شما اجازه نمیدهد که ویرایشگر به طور خودکار عملکردهای کپی کردن را انجام دهد. لطفا با دکمههای صفحه کلید این کار را انجام دهید (Ctrl/Cmd+C).', - cut: 'برش', - cutError: 'تنظیمات امنیتی مرورگر شما اجازه نمیدهد که ویرایشگر به طور خودکار عملکردهای برش را انجام دهد. لطفا با دکمههای صفحه کلید این کار را انجام دهید (Ctrl/Cmd+X).', - paste: 'چسباندن', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fi.js deleted file mode 100644 index b2db77a6e2..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fi.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'fi', { - copy: 'Kopioi', - copyError: 'Selaimesi turva-asetukset eivät salli editorin toteuttaa kopioimista. Käytä näppäimistöä kopioimiseen (Ctrl+C).', - cut: 'Leikkaa', - cutError: 'Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).', - paste: 'Liitä', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fo.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fo.js deleted file mode 100644 index 8485ef3401..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fo.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'fo', { - copy: 'Avrita', - copyError: 'Trygdaruppseting alnótskagans forðar tekstviðgeranum í at avrita tekstin. Vinarliga nýt knappaborðið til at avrita tekstin (Ctrl/Cmd+C).', - cut: 'Kvett', - cutError: 'Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. Vinarliga nýt knappaborðið til at kvetta tekstin (Ctrl/Cmd+X).', - paste: 'Innrita', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fr-ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fr-ca.js deleted file mode 100644 index 1a2dd3d649..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fr-ca.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'fr-ca', { - copy: 'Copier', - copyError: 'Les paramètres de sécurité de votre navigateur empêchent l\'éditeur de copier automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+C).', - cut: 'Couper', - 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).', - paste: 'Coller', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fr.js deleted file mode 100644 index 054d055805..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/fr.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'fr', { - copy: 'Copier', - copyError: 'Les paramètres de sécurité de votre navigateur n\'autorisent pas l\'éditeur à exécuter automatiquement l\'opération « Copier ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+C).', - cut: 'Couper', - 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).', - paste: 'Coller', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/gl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/gl.js deleted file mode 100644 index 5b4fd1a2c4..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/gl.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'gl', { - copy: 'Copiar', - copyError: 'Os axustes de seguranza do seu navegador non permiten que o editor realice automaticamente as tarefas de copia. Use o teclado para iso (Ctrl/Cmd+C).', - cut: 'Cortar', - 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).', - paste: 'Pegar', - pasteNotification: 'O seu navegador non permite pegar deste xeito. Prema %1 para pegar.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/gu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/gu.js deleted file mode 100644 index aeac560ab1..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/gu.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'gu', { - copy: 'નકલ', - copyError: 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કોપી કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+C) का प्रयोग करें।', - cut: 'કાપવું', - cutError: 'તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કટ કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+X) નો ઉપયોગ કરો.', - paste: 'પેસ્ટ', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/he.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/he.js deleted file mode 100644 index 460b9c61fe..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/he.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'he', { - copy: 'העתקה', - copyError: 'הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות העתקה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl/Cmd+C).', - cut: 'גזירה', - cutError: 'הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות גזירה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl/Cmd+X).', - paste: 'הדבקה', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/hi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/hi.js deleted file mode 100644 index 112853cdc4..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/hi.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'hi', { - copy: 'कॉपी', - copyError: 'आपके ब्राआउज़र की सुरक्षा सॅटिन्ग्स ने कॉपी करने की अनुमति नहीं प्रदान की है। (Ctrl/Cmd+C) का प्रयोग करें।', - cut: 'कट', - cutError: 'आपके ब्राउज़र की सुरक्षा सॅटिन्ग्स ने कट करने की अनुमति नहीं प्रदान की है। (Ctrl/Cmd+X) का प्रयोग करें।', - paste: 'पेस्ट', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/hr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/hr.js deleted file mode 100644 index 4eff9ce712..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/hr.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'hr', { - copy: 'Kopiraj', - copyError: 'Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+C).', - cut: 'Izreži', - cutError: 'Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog izrezivanja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+X).', - paste: 'Zalijepi', - pasteNotification: 'Vaš preglednik Vam ne dozvoljava lijepljenje na ovaj način. Za lijepljenje, pritisnite %1.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/hu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/hu.js deleted file mode 100644 index 646fb15057..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/hu.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'hu', { - copy: 'Másolás', - copyError: 'A böngésző biztonsági beállításai nem engedélyezik a szerkesztőnek, hogy végrehajtsa a másolás műveletet. Használja az alábbi billentyűkombinációt (Ctrl/Cmd+X).', - cut: 'Kivágás', - 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).', - paste: 'Beillesztés', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/id.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/id.js deleted file mode 100644 index b68425f20b..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/id.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'id', { - copy: 'Salin', - copyError: 'Pengaturan keamanan peramban anda tidak mengizinkan editor untuk mengeksekusi operasi menyalin secara otomatis. Mohon gunakan papan tuts (Ctrl/Cmd+C)', - cut: 'Potong', - 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 - paste: 'Tempel', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/is.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/is.js deleted file mode 100644 index 32a0fce435..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/is.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'is', { - copy: 'Afrita', - copyError: 'Öryggisstillingar vafrans þíns leyfa ekki afritun texta með músaraðgerð. Notaðu lyklaborðið í afrita (Ctrl/Cmd+C).', - cut: 'Klippa', - cutError: 'Öryggisstillingar vafrans þíns leyfa ekki klippingu texta með músaraðgerð. Notaðu lyklaborðið í klippa (Ctrl/Cmd+X).', - paste: 'Líma', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/it.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/it.js deleted file mode 100644 index 46e015c0b7..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/it.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'it', { - copy: 'Copia', - copyError: 'Le impostazioni di sicurezza del browser non permettono di copiare automaticamente il testo. Usa la tastiera (Ctrl/Cmd+C).', - cut: 'Taglia', - cutError: 'Le impostazioni di sicurezza del browser non permettono di tagliare automaticamente il testo. Usa la tastiera (Ctrl/Cmd+X).', - paste: 'Incolla', - pasteNotification: 'Il browser non permette di incollare in questo modo. Premere %1 per incollare.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ja.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ja.js deleted file mode 100644 index f527e7c1e5..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ja.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'ja', { - copy: 'コピー', - copyError: 'ブラウザーのセキュリティ設定によりエディタのコピー操作を自動で実行することができません。実行するには手動でキーボードの(Ctrl/Cmd+C)を使用してください。', - cut: '切り取り', - cutError: 'ブラウザーのセキュリティ設定によりエディタの切り取り操作を自動で実行することができません。実行するには手動でキーボードの(Ctrl/Cmd+X)を使用してください。', - paste: '貼り付け', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ka.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ka.js deleted file mode 100644 index 2fa9e23a3f..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ka.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'ka', { - copy: 'ასლი', - copyError: 'თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა ასლის ოპერაციის ავტომატურად განხორციელების საშუალებას. გამოიყენეთ კლავიატურა ამისთვის (Ctrl/Cmd+C).', - cut: 'ამოჭრა', - cutError: 'თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა ამოჭრის ოპერაციის ავტომატურად განხორციელების საშუალებას. გამოიყენეთ კლავიატურა ამისთვის (Ctrl/Cmd+X).', - paste: 'ჩასმა', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/km.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/km.js deleted file mode 100644 index dc66ee8baa..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/km.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'km', { - copy: 'ចម្លង', - copyError: 'ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​មិនអាចធ្វើកម្មវិធីតាក់តែងអត្ថបទ ចំលងអត្ថបទយកដោយស្វ័យប្រវត្តបានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនេះ (Ctrl/Cmd+C)។', - cut: 'កាត់យក', - cutError: 'ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​មិនអាចធ្វើកម្មវិធីតាក់តែងអត្ថបទ កាត់អត្ថបទយកដោយស្វ័យប្រវត្តបានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនេះ (Ctrl/Cmd+X) ។', - paste: 'បិទ​ភ្ជាប់', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ko.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ko.js deleted file mode 100644 index 8472358112..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ko.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'ko', { - copy: '복사', - copyError: '브라우저의 보안설정 때문에 복사할 수 없습니다. 키보드(Ctrl/Cmd+C)를 이용해서 복사하십시오.', - cut: '잘라내기', - cutError: '브라우저의 보안설정 때문에 잘라내기 기능을 실행할 수 없습니다. 키보드(Ctrl/Cmd+X)를 이용해서 잘라내기 하십시오', - paste: '붙여넣기', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ku.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ku.js deleted file mode 100644 index b87aa8bb82..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ku.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'ku', { - copy: 'لەبەرگرتنەوە', - copyError: 'پارێزی وێبگەڕەکەت ڕێگەنادات بەسەرنووسەکە لە لکاندنی دەقی خۆکارارنە. تکایە لەبری ئەمە ئەم فەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+C).', - cut: 'بڕین', - cutError: 'پارێزی وێبگەڕەکەت ڕێگەنادات بە سەرنووسەکە لەبڕینی خۆکارانە. تکایە لەبری ئەمە ئەم فەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+X).', - paste: 'لکاندن', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/lt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/lt.js deleted file mode 100644 index c8d3611377..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/lt.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'lt', { - copy: 'Kopijuoti', - copyError: 'Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti kopijavimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl/Cmd+C).', - cut: 'Iškirpti', - 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).', - paste: 'Įdėti', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/lv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/lv.js deleted file mode 100644 index 49775de590..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/lv.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'lv', { - copy: 'Kopēt', - copyError: 'Jūsu pārlūkprogrammas drošības iestatījumi nepieļauj redaktoram automātiski veikt kopēšanas darbību. Lūdzu, izmantojiet (Ctrl/Cmd+C), lai veiktu šo darbību.', - cut: 'Izgriezt', - 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.', - paste: 'Ielīmēt', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/mk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/mk.js deleted file mode 100644 index 07a3d560d8..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/mk.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'mk', { - copy: 'Копирај (Copy)', - copyError: 'Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот автоматски да изврши копирање. Ве молиме употребете ја тастатурата. (Ctrl/Cmd+C)', - cut: 'Исечи (Cut)', - cutError: 'Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот автоматски да изврши сечење. Ве молиме употребете ја тастатурата. (Ctrl/Cmd+C)', - paste: 'Залепи (Paste)', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/mn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/mn.js deleted file mode 100644 index 3ba66f54e3..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/mn.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'mn', { - copy: 'Хуулах', - copyError: 'Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хуулах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl/Cmd+C) товчны хослолыг ашиглана уу.', - cut: 'Хайчлах', - cutError: 'Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хайчлах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl/Cmd+X) товчны хослолыг ашиглана уу.', - paste: 'Буулгах', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ms.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ms.js deleted file mode 100644 index b9e479a21e..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ms.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'ms', { - copy: 'Salin', - copyError: 'Keselamatan perisian browser anda tidak membenarkan operasi salinan text/imej. Sila gunakan papan kekunci (Ctrl/Cmd+C).', - cut: 'Potong', - cutError: 'Keselamatan perisian browser anda tidak membenarkan operasi suntingan text/imej. Sila gunakan papan kekunci (Ctrl/Cmd+X).', - paste: 'Tampal', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/nb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/nb.js deleted file mode 100644 index bdf1563ea5..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/nb.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'nb', { - copy: 'Kopier', - copyError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk tastatursnarveien (Ctrl/Cmd+C).', - cut: 'Klipp ut', - cutError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk tastatursnarveien (Ctrl/Cmd+X).', - paste: 'Lim inn', - pasteNotification: 'Nettleseren din lar deg ikke lime inn på denne måten. Trykk %1 for å lime inn.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/nl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/nl.js deleted file mode 100644 index 16bafd89dd..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/nl.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'nl', { - copy: 'Kopiëren', - copyError: 'De beveiligingsinstelling van de browser verhinderen het automatisch kopiëren. Gebruik de sneltoets Ctrl/Cmd+C van het toetsenbord.', - cut: 'Knippen', - cutError: 'De beveiligingsinstelling van de browser verhinderen het automatisch knippen. Gebruik de sneltoets Ctrl/Cmd+X van het toetsenbord.', - paste: 'Plakken', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/no.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/no.js deleted file mode 100644 index 77ff08a8b8..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/no.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'no', { - copy: 'Kopier', - copyError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snarveien (Ctrl/Cmd+C).', - cut: 'Klipp ut', - cutError: 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).', - paste: 'Lim inn', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/oc.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/oc.js deleted file mode 100644 index 40d99fa51b..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/oc.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'oc', { - copy: 'Copiar', - copyError: 'Los paramètres de seguretat de vòstre navigador autorizan pas l\'editor a executar automaticament l\'operacion « Copiar ». Utilizatz l\'acorchi de clavièr a aqueste efièit (Ctrl/Cmd+C).', - cut: 'Talhar', - 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).', - paste: 'Pegar', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/pl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/pl.js deleted file mode 100644 index 494c9c101d..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/pl.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'pl', { - copy: 'Kopiuj', - copyError: 'Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne kopiowanie tekstu. Użyj skrótu klawiszowego Ctrl/Cmd+C.', - cut: 'Wytnij', - cutError: 'Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne wycinanie tekstu. Użyj skrótu klawiszowego Ctrl/Cmd+X.', - paste: 'Wklej', - pasteNotification: 'Twoja przeglądarka nie pozwala na wklejanie treści w ten sposób. Naciśnij %1 by wkleić tekst.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/pt-br.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/pt-br.js deleted file mode 100644 index e0359d9671..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/pt-br.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'pt-br', { - copy: 'Copiar', - copyError: 'As configurações de segurança do seu navegador não permitem que o editor execute operações de copiar automaticamente. Por favor, utilize o teclado para copiar (Ctrl/Cmd+C).', - cut: 'Recortar', - 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).', - paste: 'Colar', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/pt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/pt.js deleted file mode 100644 index 6a6df67347..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/pt.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'pt', { - copy: 'Copiar', - copyError: 'A configuração de segurança do navegador não permite a execução automática de operações de copiar. Por favor use o teclado (Ctrl/Cmd+C).', - cut: 'Cortar', - 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).', - paste: 'Colar', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ro.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ro.js deleted file mode 100644 index 4eb472a295..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ro.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'ro', { - copy: 'Copiază', - copyError: 'Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de copiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+C).', - cut: 'Taie', - 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).', - paste: 'Adaugă', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ru.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ru.js deleted file mode 100644 index 9ef951f779..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ru.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'ru', { - copy: 'Копировать', - copyError: 'Настройки безопасности вашего браузера не разрешают редактору выполнять операции по копированию текста. Пожалуйста, используйте для этого клавиатуру (Ctrl/Cmd+C).', - cut: 'Вырезать', - cutError: 'Настройки безопасности вашего браузера не разрешают редактору выполнять операции по вырезке текста. Пожалуйста, используйте для этого клавиатуру (Ctrl/Cmd+X).', - paste: 'Вставить', - pasteNotification: 'Ваш браузер не поддерживает данный метод вставки. Для вставки нажмите %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/si.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/si.js deleted file mode 100644 index 7356cf4246..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/si.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'si', { - copy: 'පිටපත් කරන්න', - copyError: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', // MISSING - cut: 'කපාගන්න', - 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 - paste: 'අලවන්න', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sk.js deleted file mode 100644 index b844e5874c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sk.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'sk', { - copy: 'Kopírovať', - copyError: 'Bezpečnostné nastavenia vášho prehliadača nedovoľujú editoru automaticky spustiť operáciu kopírovania. Použite na to klávesnicu (Ctrl/Cmd+C).', - cut: 'Vystrihnúť', - 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).', - paste: 'Vložiť', - pasteNotification: 'Váš prehliadač nepovoľuje prilepiť text takýmto spôsobom. Pre prilepenie stlačte %1.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sl.js deleted file mode 100644 index 787e6fcc71..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sl.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'sl', { - copy: 'Kopiraj', - copyError: 'Varnostne nastavitve brskalnika ne dopuščajo samodejnega kopiranja. Uporabite kombinacijo tipk na tipkovnici (Ctrl/Cmd+C).', - cut: 'Izreži', - cutError: 'Varnostne nastavitve brskalnika ne dopuščajo samodejnega izrezovanja. Uporabite kombinacijo tipk na tipkovnici (Ctrl/Cmd+X).', - paste: 'Prilepi', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sq.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sq.js deleted file mode 100644 index d78b2e7871..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sq.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'sq', { - copy: 'Kopjo', - copyError: 'Të dhënat e sigurisë së shfletuesit tuaj nuk lejojnë që redaktuesi automatikisht të kryej veprimin e kopjimit. Ju lutemi shfrytëzoni tastierën për këtë veprim (Ctrl/Cmd+C).', - cut: 'Preje', - 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).', - paste: 'Hidhe', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sr-latn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sr-latn.js deleted file mode 100644 index 797429f92d..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sr-latn.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'sr-latn', { - copy: 'Kopiraj', - copyError: 'Sigurnosna podešavanja Vašeg pretraživača ne dozvoljavaju operacije automatskog kopiranja teksta. Molimo Vas da koristite prečicu sa tastature (Ctrl/Cmd+C).', - cut: 'Iseci', - 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).', - paste: 'Zalepi', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sr.js deleted file mode 100644 index bd4e65521f..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sr.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'sr', { - copy: 'Копирај', - copyError: 'Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског копирања текста. Молимо Вас да користите пречицу са тастатуре (Ctrl/Cmd+C).', - cut: 'Исеци', - cutError: 'Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског исецања текста. Молимо Вас да користите пречицу са тастатуре (Ctrl/Cmd+X).', - paste: 'Залепи', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sv.js deleted file mode 100644 index d1ab00b861..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/sv.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'sv', { - copy: 'Kopiera', - copyError: 'Säkerhetsinställningar i din webbläsare tillåter inte åtgärden kopiera. Använd (Ctrl/Cmd+C) istället.', - cut: 'Klipp ut', - cutError: 'Säkerhetsinställningar i din webbläsare tillåter inte åtgärden klipp ut. Använd (Ctrl/Cmd+X) istället.', - paste: 'Klistra in', - pasteNotification: 'Din webbläsare tillåter dig inte att klistra in på detta vis. Tryck på %1 för att klistra in.' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/th.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/th.js deleted file mode 100644 index b645b900bd..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/th.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'th', { - copy: 'สำเนา', - copyError: 'ไม่สามารถสำเนาข้อความที่เลือกไว้ได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl/Cmd และตัว C พร้อมกัน).', - cut: 'ตัด', - cutError: 'ไม่สามารถตัดข้อความที่เลือกไว้ได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl/Cmd และตัว X พร้อมกัน).', - paste: 'วาง', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/tr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/tr.js deleted file mode 100644 index 4645335432..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/tr.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'tr', { - copy: 'Kopyala', - copyError: 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kopyalama işlemine izin vermiyor. İşlem için (Ctrl/Cmd+C) tuşlarını kullanın.', - cut: 'Kes', - 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.', - paste: 'Yapıştır', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/tt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/tt.js deleted file mode 100644 index 5e641e3b6e..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/tt.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'tt', { - copy: 'Күчермәләү', - copyError: 'Браузерыгызның иминлек үзлекләре автоматик рәвештә күчермәләү үтәүне тыя. Тиз төймәләрне (Ctrl/Cmd+C) кулланыгыз.', - cut: 'Кисеп алу', - cutError: 'Браузерыгызның иминлек үзлекләре автоматик рәвештә күчермәләү үтәүне тыя. Тиз төймәләрне (Ctrl/Cmd+C) кулланыгыз.', - paste: 'Өстәү', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ug.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ug.js deleted file mode 100644 index deb1d2b54b..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/ug.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'ug', { - copy: 'كۆچۈر', - copyError: 'تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كۆچۈر مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+C) ئارقىلىق تاماملاڭ', - cut: 'كەس', - cutError: 'تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كەس مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+X) ئارقىلىق تاماملاڭ', - paste: 'چاپلا', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/uk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/uk.js deleted file mode 100644 index f3e06a56b3..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/uk.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'uk', { - copy: 'Копіювати', - copyError: 'Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції копіювання. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+C).', - cut: 'Вирізати', - cutError: 'Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції вирізування. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+X)', - paste: 'Вставити', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/vi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/vi.js deleted file mode 100644 index 2928a95137..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/vi.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'vi', { - copy: 'Sao chép', - copyError: '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 sao chép. Hãy sử dụng bàn phím cho lệnh này (Ctrl/Cmd+C).', - cut: 'Cắt', - 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).', - paste: 'Dán', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/zh-cn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/zh-cn.js deleted file mode 100644 index 4b738cbde5..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/zh-cn.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'zh-cn', { - copy: '复制', - copyError: '您的浏览器安全设置不允许编辑器自动执行复制操作,请使用键盘快捷键(Ctrl/Cmd+C)来完成。', - cut: '剪切', - cutError: '您的浏览器安全设置不允许编辑器自动执行剪切操作,请使用键盘快捷键(Ctrl/Cmd+X)来完成。', - paste: '粘贴', - pasteNotification: '您的浏览器不允许用此方式粘贴,要粘贴请按 %1。' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/zh.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/zh.js deleted file mode 100644 index f91de7ee41..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/lang/zh.js +++ /dev/null @@ -1,12 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'clipboard', 'zh', { - copy: '複製', - copyError: '瀏覽器的安全性設定不允許編輯器自動執行複製動作。請使用鍵盤快捷鍵 (Ctrl/Cmd+C) 複製。', - cut: '剪下', - cutError: '瀏覽器的安全性設定不允許編輯器自動執行剪下動作。請使用鏐盤快捷鍵 (Ctrl/Cmd+X) 剪下。', - paste: '貼上', - pasteNotification: 'Your browser doesn\'t allow you to paste this way. Press %1 to paste.' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/plugin.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/plugin.js deleted file mode 100644 index 433f547366..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/clipboard/plugin.js +++ /dev/null @@ -1,2780 +0,0 @@ -/** - * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -/** - * @ignore - * File overview: Clipboard support. - */ - -// -// COPY & PASTE EXECUTION FLOWS: -// -- CTRL+C -// * if ( isCustomCopyCutSupported ) -// * dataTransfer.setData( 'text/html', getSelectedHtml ) -// * else -// * browser's default behavior -// -- CTRL+X -// * listen onKey (onkeydown) -// * fire 'saveSnapshot' on editor -// * if ( isCustomCopyCutSupported ) -// * dataTransfer.setData( 'text/html', getSelectedHtml ) -// * extractSelectedHtml // remove selected contents -// * else -// * browser's default behavior -// * deferred second 'saveSnapshot' event -// -- CTRL+V -// * listen onKey (onkeydown) -// * simulate 'beforepaste' for non-IEs on editable -// * listen 'onpaste' on editable ('onbeforepaste' for IE) -// * fire 'beforePaste' on editor -// * if ( !canceled && ( htmlInDataTransfer || !external paste) && dataTransfer is not empty ) getClipboardDataByPastebin -// * fire 'paste' on editor -// * !canceled && fire 'afterPaste' on editor -// -- Copy command -// * tryToCutCopy -// * execCommand -// * !success && notification -// -- Cut command -// * fixCut -// * tryToCutCopy -// * execCommand -// * !success && notification -// -- Paste command -// * fire 'paste' on editable ('beforepaste' for IE) -// * !canceled && execCommand 'paste' -// -- Paste from native context menu & menubar -// (Fx & Webkits are handled in 'paste' default listener. -// Opera cannot be handled at all because it doesn't fire any events -// Special treatment is needed for IE, for which is this part of doc) -// * listen 'onpaste' -// * cancel native event -// * fire 'beforePaste' on editor -// * if ( !canceled && ( htmlInDataTransfer || !external paste) && dataTransfer is not empty ) getClipboardDataByPastebin -// * execIECommand( 'paste' ) -> this fires another 'paste' event, so cancel it -// * fire 'paste' on editor -// * !canceled && fire 'afterPaste' on editor -// -// -// PASTE EVENT - PREPROCESSING: -// -- Possible dataValue types: auto, text, html. -// -- Possible dataValue contents: -// * text (possible \n\r) -// * htmlified text (text + br,div,p - no presentational markup & attrs - depends on browser) -// * html -// -- Possible flags: -// * htmlified - if true then content is a HTML even if no markup inside. This flag is set -// for content from editable pastebins, because they 'htmlify' pasted content. -// -// -- Type: auto: -// * content: htmlified text -> filter, unify text markup (brs, ps, divs), set type: text -// * content: html -> filter, set type: html -// -- Type: text: -// * content: htmlified text -> filter, unify text markup -// * content: html -> filter, strip presentational markup, unify text markup -// -- Type: html: -// * content: htmlified text -> filter, unify text markup -// * content: html -> filter -// -// -- Phases: -// * if dataValue is empty copy data from dataTransfer to dataValue (priority 1) -// * filtering (priorities 3-5) - e.g. pastefromword filters -// * content type sniffing (priority 6) -// * markup transformations for text (priority 6) -// -// DRAG & DROP EXECUTION FLOWS: -// -- Drag -// * save to the global object: -// * drag timestamp (with 'cke-' prefix), -// * selected html, -// * drag range, -// * editor instance. -// * put drag timestamp into event.dataTransfer.text -// -- Drop -// * if events text == saved timestamp && editor == saved editor -// internal drag & drop occurred -// * getRangeAtDropPosition -// * create bookmarks for drag and drop ranges starting from the end of the document -// * dragRange.deleteContents() -// * fire 'paste' with saved html and drop range -// * if events text == saved timestamp && editor != saved editor -// cross editor drag & drop occurred -// * getRangeAtDropPosition -// * fire 'paste' with saved html -// * dragRange.deleteContents() -// * FF: refreshCursor on afterPaste -// * if events text != saved timestamp -// drop form external source occurred -// * getRangeAtDropPosition -// * if event contains html data then fire 'paste' with html -// * else if event contains text data then fire 'paste' with encoded text -// * FF: refreshCursor on afterPaste - -'use strict'; - -( function() { - // Register the plugin. - CKEDITOR.plugins.add( 'clipboard', { - requires: 'notification,toolbar', - // jscs:disable maximumLineLength - lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - // jscs:enable maximumLineLength - icons: 'copy,copy-rtl,cut,cut-rtl,paste,paste-rtl', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - init: function( editor ) { - var filterType, - filtersFactory = filtersFactoryFactory(); - - if ( editor.config.forcePasteAsPlainText ) { - filterType = 'plain-text'; - } else if ( editor.config.pasteFilter ) { - filterType = editor.config.pasteFilter; - } - // On Webkit the pasteFilter defaults 'semantic-content' because pasted data is so terrible - // that it must be always filtered. - else if ( CKEDITOR.env.webkit && !( 'pasteFilter' in editor.config ) ) { - filterType = 'semantic-content'; - } - - editor.pasteFilter = filtersFactory.get( filterType ); - - initPasteClipboard( editor ); - initDragDrop( editor ); - - // Convert image file (if present) to base64 string for Firefox. Do it as the first - // step as the conversion is asynchronous and should hold all further paste processing. - if ( CKEDITOR.env.gecko ) { - var supportedImageTypes = [ 'image/png', 'image/jpeg', 'image/gif' ], - latestId; - - editor.on( 'paste', function( evt ) { - var dataObj = evt.data, - data = dataObj.dataValue, - dataTransfer = dataObj.dataTransfer; - - // If data empty check for image content inside data transfer. http://dev.ckeditor.com/ticket/16705 - if ( !data && dataObj.method == 'paste' && dataTransfer && dataTransfer.getFilesCount() == 1 && latestId != dataTransfer.id ) { - var file = dataTransfer.getFile( 0 ); - - if ( CKEDITOR.tools.indexOf( supportedImageTypes, file.type ) != -1 ) { - var fileReader = new FileReader(); - - // Convert image file to img tag with base64 image. - fileReader.addEventListener( 'load', function() { - evt.data.dataValue = ''; - editor.fire( 'paste', evt.data ); - }, false ); - - // Proceed with normal flow if reading file was aborted. - fileReader.addEventListener( 'abort', function() { - editor.fire( 'paste', evt.data ); - }, false ); - - // Proceed with normal flow if reading file failed. - fileReader.addEventListener( 'error', function() { - editor.fire( 'paste', evt.data ); - }, false ); - - fileReader.readAsDataURL( file ); - - latestId = dataObj.dataTransfer.id; - - evt.stop(); - } - } - }, null, null, 1 ); - } - - editor.on( 'paste', function( evt ) { - // Init `dataTransfer` if `paste` event was fired without it, so it will be always available. - if ( !evt.data.dataTransfer ) { - evt.data.dataTransfer = new CKEDITOR.plugins.clipboard.dataTransfer(); - } - - // If dataValue is already set (manually or by paste bin), so do not override it. - if ( evt.data.dataValue ) { - return; - } - - var dataTransfer = evt.data.dataTransfer, - // IE support only text data and throws exception if we try to get html data. - // This html data object may also be empty if we drag content of the textarea. - value = dataTransfer.getData( 'text/html' ); - - if ( value ) { - evt.data.dataValue = value; - evt.data.type = 'html'; - } else { - // Try to get text data otherwise. - value = dataTransfer.getData( 'text/plain' ); - - if ( value ) { - evt.data.dataValue = editor.editable().transformPlainTextToHtml( value ); - evt.data.type = 'text'; - } - } - }, null, null, 1 ); - - editor.on( 'paste', function( evt ) { - var data = evt.data.dataValue, - blockElements = CKEDITOR.dtd.$block; - - // Filter webkit garbage. - if ( data.indexOf( 'Apple-' ) > -1 ) { - // Replace special webkit's   with simple space, because webkit - // produces them even for normal spaces. - data = data.replace( / <\/span>/gi, ' ' ); - - // Strip around white-spaces when not in forced 'html' content type. - // This spans are created only when pasting plain text into Webkit, - // but for safety reasons remove them always. - if ( evt.data.type != 'html' ) { - data = data.replace( /]*>([^<]*)<\/span>/gi, function( all, spaces ) { - // Replace tabs with 4 spaces like Fx does. - return spaces.replace( /\t/g, '    ' ); - } ); - } - - // This br is produced only when copying & pasting HTML content. - if ( data.indexOf( '
' ) > -1 ) { - evt.data.startsWithEOL = 1; - evt.data.preSniffing = 'html'; // Mark as not text. - data = data.replace( /
/, '' ); - } - - // Remove all other classes. - data = data.replace( /(<[^>]+) class="Apple-[^"]*"/gi, '$1' ); - } - - // Strip editable that was copied from inside. (http://dev.ckeditor.com/ticket/9534) - if ( data.match( /^<[^<]+cke_(editable|contents)/i ) ) { - var tmp, - editable_wrapper, - wrapper = new CKEDITOR.dom.element( 'div' ); - - wrapper.setHtml( data ); - // Verify for sure and check for nested editor UI parts. (http://dev.ckeditor.com/ticket/9675) - while ( wrapper.getChildCount() == 1 && - ( tmp = wrapper.getFirst() ) && - tmp.type == CKEDITOR.NODE_ELEMENT && // Make sure first-child is element. - ( tmp.hasClass( 'cke_editable' ) || tmp.hasClass( 'cke_contents' ) ) ) { - wrapper = editable_wrapper = tmp; - } - - // If editable wrapper was found strip it and bogus
(added on FF). - if ( editable_wrapper ) - data = editable_wrapper.getHtml().replace( /
$/i, '' ); - } - - if ( CKEDITOR.env.ie ) { - //  

->

(br.cke-pasted-remove will be removed later) - data = data.replace( /^ (?: |\r\n)?<(\w+)/g, function( match, elementName ) { - if ( elementName.toLowerCase() in blockElements ) { - evt.data.preSniffing = 'html'; // Mark as not a text. - return '<' + elementName; - } - return match; - } ); - } else if ( CKEDITOR.env.webkit ) { - //


->


- // We don't mark br, because this situation can happen for htmlified text too. - data = data.replace( /<\/(\w+)>

<\/div>$/, function( match, elementName ) { - if ( elementName in blockElements ) { - evt.data.endsWithEOL = 1; - return ''; - } - return match; - } ); - } else if ( CKEDITOR.env.gecko ) { - // Firefox adds bogus
when user pasted text followed by space(s). - data = data.replace( /(\s)
$/, '$1' ); - } - - evt.data.dataValue = data; - }, null, null, 3 ); - - editor.on( 'paste', function( evt ) { - var dataObj = evt.data, - type = editor._.nextPasteType || dataObj.type, - data = dataObj.dataValue, - trueType, - // Default is 'html'. - defaultType = editor.config.clipboard_defaultContentType || 'html', - transferType = dataObj.dataTransfer.getTransferType( editor ); - - // If forced type is 'html' we don't need to know true data type. - if ( type == 'html' || dataObj.preSniffing == 'html' ) { - trueType = 'html'; - } else { - trueType = recogniseContentType( data ); - } - - delete editor._.nextPasteType; - - // Unify text markup. - if ( trueType == 'htmlifiedtext' ) { - data = htmlifiedTextHtmlification( editor.config, data ); - } - - // Strip presentational markup & unify text markup. - // Forced plain text. - // Note: we do not check dontFilter option in this case, because forcePAPT was implemented - // before pasteFilter and pasteFilter is automatically used on Webkit&Blink since 4.5, so - // forcePAPT should have priority as it had before 4.5. - if ( type == 'text' && trueType == 'html' ) { - data = filterContent( editor, data, filtersFactory.get( 'plain-text' ) ); - } - // External paste and pasteFilter exists and filtering isn't disabled. - else if ( transferType == CKEDITOR.DATA_TRANSFER_EXTERNAL && editor.pasteFilter && !dataObj.dontFilter ) { - data = filterContent( editor, data, editor.pasteFilter ); - } - - if ( dataObj.startsWithEOL ) { - data = '
' + data; - } - if ( dataObj.endsWithEOL ) { - data += '
'; - } - - if ( type == 'auto' ) { - type = ( trueType == 'html' || defaultType == 'html' ) ? 'html' : 'text'; - } - - dataObj.type = type; - dataObj.dataValue = data; - delete dataObj.preSniffing; - delete dataObj.startsWithEOL; - delete dataObj.endsWithEOL; - }, null, null, 6 ); - - // Inserts processed data into the editor at the end of the - // events chain. - editor.on( 'paste', function( evt ) { - var data = evt.data; - - if ( data.dataValue ) { - editor.insertHtml( data.dataValue, data.type, data.range ); - - // Defer 'afterPaste' so all other listeners for 'paste' will be fired first. - // Fire afterPaste only if paste inserted some HTML. - setTimeout( function() { - editor.fire( 'afterPaste' ); - }, 0 ); - } - }, null, null, 1000 ); - } - } ); - - function firePasteEvents( editor, data, withBeforePaste ) { - if ( !data.type ) { - data.type = 'auto'; - } - - if ( withBeforePaste ) { - // Fire 'beforePaste' event so clipboard flavor get customized - // by other plugins. - if ( editor.fire( 'beforePaste', data ) === false ) - return false; // Event canceled - } - - // Do not fire paste if there is no data (dataValue and dataTranfser are empty). - // This check should be done after firing 'beforePaste' because for native paste - // 'beforePaste' is by default fired even for empty clipboard. - if ( !data.dataValue && data.dataTransfer.isEmpty() ) { - return false; - } - - if ( !data.dataValue ) { - data.dataValue = ''; - } - - // Because of FF bug we need to use this hack, otherwise cursor is hidden - // or it is not possible to move it (http://dev.ckeditor.com/ticket/12420). - // Also, check that editor.toolbox exists, because the toolbar plugin might not be loaded (http://dev.ckeditor.com/ticket/13305). - if ( CKEDITOR.env.gecko && data.method == 'drop' && editor.toolbox ) { - editor.once( 'afterPaste', function() { - editor.toolbox.focus(); - } ); - } - - return editor.fire( 'paste', data ); - } - - function initPasteClipboard( editor ) { - var clipboard = CKEDITOR.plugins.clipboard, - preventBeforePasteEvent = 0, - preventPasteEvent = 0, - inReadOnly = 0; - - addListeners(); - addButtonsCommands(); - - /** - * Gets clipboard data by directly accessing the clipboard (IE only). - * - * editor.getClipboardData( function( data ) { - * if ( data ) - * alert( data.type + ' ' + data.dataValue ); - * } ); - * - * @member CKEDITOR.editor - * @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. - * @param {Function} callback A function that will be executed with the `data` property of the - * {@link CKEDITOR.editor#event-paste paste event} or `null` if none of the capturing methods succeeded. - * 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 - * an upcoming major release. - */ - editor.getClipboardData = function( callbackOrOptions, callback ) { - // Options are optional - args shift. - if ( !callback ) { - callback = callbackOrOptions; - callbackOrOptions = null; - } - - // Listen with maximum priority to handle content before everyone else. - // This callback will handle paste event that will be fired if direct - // access to the clipboard succeed in IE. - editor.on( 'paste', onPaste, null, null, 0 ); - - // If command didn't succeed (only IE allows to access clipboard and only if - // user agrees) invoke callback with null, meaning that paste is not blocked. - if ( getClipboardDataDirectly() === false ) { - // Direct access to the clipboard wasn't successful so remove listener. - editor.removeListener( 'paste', onPaste ); - - callback( null ); - } - - function onPaste( evt ) { - evt.removeListener(); - evt.cancel(); - callback( evt.data ); - } - }; - - function addButtonsCommands() { - addButtonCommand( 'Cut', 'cut', createCutCopyCmd( 'cut' ), 10, 1 ); - addButtonCommand( 'Copy', 'copy', createCutCopyCmd( 'copy' ), 20, 4 ); - addButtonCommand( 'Paste', 'paste', createPasteCmd(), 30, 8 ); - - function addButtonCommand( buttonName, commandName, command, toolbarOrder, ctxMenuOrder ) { - var lang = editor.lang.clipboard[ commandName ]; - - editor.addCommand( commandName, command ); - editor.ui.addButton && editor.ui.addButton( buttonName, { - label: lang, - command: commandName, - toolbar: 'clipboard,' + toolbarOrder - } ); - - // If the "menu" plugin is loaded, register the menu item. - if ( editor.addMenuItems ) { - editor.addMenuItem( commandName, { - label: lang, - command: commandName, - group: 'clipboard', - order: ctxMenuOrder - } ); - } - } - } - - function addListeners() { - editor.on( 'key', onKey ); - editor.on( 'contentDom', addPasteListenersToEditable ); - - // For improved performance, we're checking the readOnly state on selectionChange instead of hooking a key event for that. - editor.on( 'selectionChange', function( evt ) { - inReadOnly = evt.data.selection.getRanges()[ 0 ].checkReadOnly(); - setToolbarStates(); - } ); - - // If the "contextmenu" plugin is loaded, register the listeners. - if ( editor.contextMenu ) { - editor.contextMenu.addListener( function( element, selection ) { - inReadOnly = selection.getRanges()[ 0 ].checkReadOnly(); - return { - cut: stateFromNamedCommand( 'cut' ), - copy: stateFromNamedCommand( 'copy' ), - paste: stateFromNamedCommand( 'paste' ) - }; - } ); - } - } - - // Add events listeners to editable. - function addPasteListenersToEditable() { - var editable = editor.editable(); - - if ( CKEDITOR.plugins.clipboard.isCustomCopyCutSupported ) { - var initOnCopyCut = function( evt ) { - // If user tries to cut in read-only editor, we must prevent default action. (http://dev.ckeditor.com/ticket/13872) - if ( !editor.readOnly || evt.name != 'cut' ) { - clipboard.initPasteDataTransfer( evt, editor ); - } - evt.data.preventDefault(); - }; - - editable.on( 'copy', initOnCopyCut ); - editable.on( 'cut', initOnCopyCut ); - - // Delete content with the low priority so one can overwrite cut data. - editable.on( 'cut', function() { - // If user tries to cut in read-only editor, we must prevent default action. (http://dev.ckeditor.com/ticket/13872) - if ( !editor.readOnly ) { - editor.extractSelectedHtml(); - } - }, null, null, 999 ); - } - - // We'll be catching all pasted content in one line, regardless of whether - // it's introduced by a document command execution (e.g. toolbar buttons) or - // user paste behaviors (e.g. CTRL+V). - editable.on( clipboard.mainPasteEvent, function( evt ) { - if ( clipboard.mainPasteEvent == 'beforepaste' && preventBeforePasteEvent ) { - return; - } - - // If you've just asked yourself why preventPasteEventNow() is not here, but - // in listener for CTRL+V and exec method of 'paste' command - // you've asked the same question we did. - // - // THE ANSWER: - // - // First thing to notice - this answer makes sense only for IE, - // because other browsers don't listen for 'paste' event. - // - // What would happen if we move preventPasteEventNow() here? - // For: - // * CTRL+V - IE fires 'beforepaste', so we prevent 'paste' and pasteDataFromClipboard(). OK. - // * editor.execCommand( 'paste' ) - we fire 'beforepaste', so we prevent - // 'paste' and pasteDataFromClipboard() and doc.execCommand( 'Paste' ). OK. - // * native context menu - IE fires 'beforepaste', so we prevent 'paste', but unfortunately - // on IE we fail with pasteDataFromClipboard() here, because of... we don't know why, but - // we just fail, so... we paste nothing. FAIL. - // * native menu bar - the same as for native context menu. - // - // But don't you know any way to distinguish first two cases from last two? - // Only one - special flag set in CTRL+V handler and exec method of 'paste' - // command. And that's what we did using preventPasteEventNow(). - - pasteDataFromClipboard( evt ); - } ); - - // It's not possible to clearly handle all four paste methods (ctrl+v, native menu bar - // native context menu, editor's command) in one 'paste/beforepaste' event in IE. - // - // For ctrl+v & editor's command it's easy to handle pasting in 'beforepaste' listener, - // so we do this. For another two methods it's better to use 'paste' event. - // - // 'paste' is always being fired after 'beforepaste' (except of weird one on opening native - // context menu), so for two methods handled in 'beforepaste' we're canceling 'paste' - // using preventPasteEvent state. - // - // 'paste' event in IE is being fired before getClipboardDataByPastebin executes its callback. - // - // QUESTION: Why didn't you handle all 4 paste methods in handler for 'paste'? - // Wouldn't this just be simpler? - // ANSWER: Then we would have to evt.data.preventDefault() only for native - // context menu and menu bar pastes. The same with execIECommand(). - // That would force us to mark CTRL+V and editor's paste command with - // special flag, other than preventPasteEvent. But we still would have to - // have preventPasteEvent for the second event fired by execIECommand. - // Code would be longer and not cleaner. - if ( clipboard.mainPasteEvent == 'beforepaste' ) { - editable.on( 'paste', function( evt ) { - if ( preventPasteEvent ) { - return; - } - - // Cancel next 'paste' event fired by execIECommand( 'paste' ) - // at the end of this callback. - preventPasteEventNow(); - - // Prevent native paste. - evt.data.preventDefault(); - - pasteDataFromClipboard( evt ); - - // Force IE to paste content into pastebin so pasteDataFromClipboard will work. - execIECommand( 'paste' ); - } ); - - // If mainPasteEvent is 'beforePaste' (IE before Edge), - // dismiss the (wrong) 'beforepaste' event fired on context/toolbar menu open. (http://dev.ckeditor.com/ticket/7953) - editable.on( 'contextmenu', preventBeforePasteEventNow, null, null, 0 ); - - editable.on( 'beforepaste', function( evt ) { - // Do not prevent event on CTRL+V and SHIFT+INS because it blocks paste (http://dev.ckeditor.com/ticket/11970). - if ( evt.data && !evt.data.$.ctrlKey && !evt.data.$.shiftKey ) - preventBeforePasteEventNow(); - }, null, null, 0 ); - } - - editable.on( 'beforecut', function() { - !preventBeforePasteEvent && fixCut( editor ); - } ); - - var mouseupTimeout; - - // Use editor.document instead of editable in non-IEs for observing mouseup - // since editable won't fire the event if selection process started within - // iframe and ended out of the editor (http://dev.ckeditor.com/ticket/9851). - editable.attachListener( CKEDITOR.env.ie ? editable : editor.document.getDocumentElement(), 'mouseup', function() { - mouseupTimeout = setTimeout( function() { - setToolbarStates(); - }, 0 ); - } ); - - // Make sure that deferred mouseup callback isn't executed after editor instance - // had been destroyed. This may happen when editor.destroy() is called in parallel - // with mouseup event (i.e. a button with onclick callback) (http://dev.ckeditor.com/ticket/10219). - editor.on( 'destroy', function() { - clearTimeout( mouseupTimeout ); - } ); - - editable.on( 'keyup', setToolbarStates ); - } - - // Create object representing Cut or Copy commands. - function createCutCopyCmd( type ) { - return { - type: type, - canUndo: type == 'cut', // We can't undo copy to clipboard. - startDisabled: true, - fakeKeystroke: type == 'cut' ? CKEDITOR.CTRL + 88 /*X*/ : CKEDITOR.CTRL + 67 /*C*/, - exec: function() { - // Attempts to execute the Cut and Copy operations. - function tryToCutCopy( type ) { - if ( CKEDITOR.env.ie ) - return execIECommand( type ); - - // non-IEs part - try { - // Other browsers throw an error if the command is disabled. - return editor.document.$.execCommand( type, false, null ); - } catch ( e ) { - return false; - } - } - - this.type == 'cut' && fixCut(); - - var success = tryToCutCopy( this.type ); - - if ( !success ) { - // Show cutError or copyError. - editor.showNotification( editor.lang.clipboard[ this.type + 'Error' ] ); // jshint ignore:line - } - - return success; - } - }; - } - - function createPasteCmd() { - return { - // Snapshots are done manually by editable.insertXXX methods. - canUndo: false, - async: true, - fakeKeystroke: CKEDITOR.CTRL + 86 /*V*/, - - /** - * The default implementation of the paste command. - * - * @private - * @param {CKEDITOR.editor} editor An instance of the editor where the command is being executed. - * @param {Object/String} data If `data` is a string, then it is considered content that is being pasted. - * Otherwise it is treated as an object with options. - * @param {Boolean/String} [data.notification=true] Content for a notification shown after an unsuccessful - * paste attempt. If `false`, the notification will not be displayed. This parameter was added in 4.7.0. - * @param {String} [data.type='html'] The type of pasted content. There are two allowed values: - * * 'html' - * * 'text' - * @param {String/Object} data.dataValue Content being pasted. If this parameter is an object, it - * is supposed to be a `data` property of the {@link CKEDITOR.editor#paste} event. - * @param {CKEDITOR.plugins.clipboard.dataTransfer} data.dataTransfer Data transfer instance connected - * with the current paste action. - * @member CKEDITOR.editor.commands.paste - */ - exec: function( editor, data ) { - data = typeof data !== 'undefined' && data !== null ? data : {}; - - var cmd = this, - notification = typeof data.notification !== 'undefined' ? data.notification : true, - forcedType = data.type, - keystroke = CKEDITOR.tools.keystrokeToString( editor.lang.common.keyboard, - editor.getCommandKeystroke( this ) ), - msg = typeof notification === 'string' ? notification : editor.lang.clipboard.pasteNotification - .replace( /%1/, '' + keystroke.display + '' ), - pastedContent = typeof data === 'string' ? data : data.dataValue; - - function callback( data, withBeforePaste ) { - withBeforePaste = typeof withBeforePaste !== 'undefined' ? withBeforePaste : true; - - if ( data ) { - data.method = 'paste'; - - if ( !data.dataTransfer ) { - data.dataTransfer = clipboard.initPasteDataTransfer(); - } - - firePasteEvents( editor, data, withBeforePaste ); - } else if ( notification ) { - editor.showNotification( msg, 'info', editor.config.clipboard_notificationDuration ); - } - - editor.fire( 'afterCommandExec', { - name: 'paste', - command: cmd, - returnValue: !!data - } ); - } - - // Force type for the next paste. - if ( forcedType ) { - editor._.nextPasteType = forcedType; - } else { - delete editor._.nextPasteType; - } - - if ( typeof pastedContent === 'string' ) { - callback( { - dataValue: pastedContent - } ); - } else { - editor.getClipboardData( callback ); - } - } - }; - } - - function preventPasteEventNow() { - preventPasteEvent = 1; - // For safety reason we should wait longer than 0/1ms. - // We don't know how long execution of quite complex getClipboardData will take - // and in for example 'paste' listener execCommand() (which fires 'paste') is called - // after getClipboardData finishes. - // Luckily, it's impossible to immediately fire another 'paste' event we want to handle, - // because we only handle there native context menu and menu bar. - setTimeout( function() { - preventPasteEvent = 0; - }, 100 ); - } - - function preventBeforePasteEventNow() { - preventBeforePasteEvent = 1; - setTimeout( function() { - preventBeforePasteEvent = 0; - }, 10 ); - } - - // Tries to execute any of the paste, cut or copy commands in IE. Returns a - // boolean indicating that the operation succeeded. - // @param {String} command *LOWER CASED* name of command ('paste', 'cut', 'copy'). - function execIECommand( command ) { - var doc = editor.document, - body = doc.getBody(), - enabled = false, - onExec = function() { - enabled = true; - }; - - // The following seems to be the only reliable way to detect that - // clipboard commands are enabled in IE. It will fire the - // onpaste/oncut/oncopy events only if the security settings allowed - // the command to execute. - body.on( command, onExec ); - - // IE7: document.execCommand has problem to paste into positioned element. - if ( CKEDITOR.env.version > 7 ) { - doc.$.execCommand( command ); - } else { - doc.$.selection.createRange().execCommand( command ); - } - - body.removeListener( command, onExec ); - - return enabled; - } - - // Cutting off control type element in IE standards breaks the selection entirely. (http://dev.ckeditor.com/ticket/4881) - function fixCut() { - if ( !CKEDITOR.env.ie || CKEDITOR.env.quirks ) - return; - - var sel = editor.getSelection(), - control, range, dummy; - - if ( ( sel.getType() == CKEDITOR.SELECTION_ELEMENT ) && ( control = sel.getSelectedElement() ) ) { - range = sel.getRanges()[ 0 ]; - dummy = editor.document.createText( '' ); - dummy.insertBefore( control ); - range.setStartBefore( dummy ); - range.setEndAfter( control ); - sel.selectRanges( [ range ] ); - - // Clear up the fix if the paste wasn't succeeded. - setTimeout( function() { - // Element still online? - if ( control.getParent() ) { - dummy.remove(); - sel.selectElement( control ); - } - }, 0 ); - } - } - - // Allow to peek clipboard content by redirecting the - // pasting content into a temporary bin and grab the content of it. - function getClipboardDataByPastebin( evt, callback ) { - var doc = editor.document, - editable = editor.editable(), - cancel = function( evt ) { - evt.cancel(); - }, - blurListener; - - // Avoid recursions on 'paste' event or consequent paste too fast. (http://dev.ckeditor.com/ticket/5730) - if ( doc.getById( 'cke_pastebin' ) ) - return; - - var sel = editor.getSelection(); - var bms = sel.createBookmarks(); - - // http://dev.ckeditor.com/ticket/11384. On IE9+ we use native selectionchange (i.e. editor#selectionCheck) to cache the most - // recent selection which we then lock on editable blur. See selection.js for more info. - // selectionchange fired before getClipboardDataByPastebin() cached selection - // before creating bookmark (cached selection will be invalid, because bookmarks modified the DOM), - // so we need to fire selectionchange one more time, to store current seleciton. - // Selection will be locked when we focus pastebin. - if ( CKEDITOR.env.ie ) - sel.root.fire( 'selectionchange' ); - - // Create container to paste into. - // For rich content we prefer to use "body" since it holds - // the least possibility to be splitted by pasted content, while this may - // breaks the text selection on a frame-less editable, "div" would be - // the best one in that case. - // In another case on old IEs moving the selection into a "body" paste bin causes error panic. - // Body can't be also used for Opera which fills it with
- // what is indistinguishable from pasted
(copying
in Opera isn't possible, - // but it can be copied from other browser). - var pastebin = new CKEDITOR.dom.element( - ( CKEDITOR.env.webkit || editable.is( 'body' ) ) && !CKEDITOR.env.ie ? 'body' : 'div', doc ); - - pastebin.setAttributes( { - id: 'cke_pastebin', - 'data-cke-temp': '1' - } ); - - var containerOffset = 0, - offsetParent, - win = doc.getWindow(); - - if ( CKEDITOR.env.webkit ) { - // It's better to paste close to the real paste destination, so inherited styles - // (which Webkits will try to compensate by styling span) differs less from the destination's one. - editable.append( pastebin ); - // Style pastebin like .cke_editable, to minimize differences between origin and destination. (http://dev.ckeditor.com/ticket/9754) - pastebin.addClass( 'cke_editable' ); - - // Compensate position of offsetParent. - if ( !editable.is( 'body' ) ) { - // We're not able to get offsetParent from pastebin (body element), so check whether - // its parent (editable) is positioned. - if ( editable.getComputedStyle( 'position' ) != 'static' ) - offsetParent = editable; - // And if not - safely get offsetParent from editable. - else - offsetParent = CKEDITOR.dom.element.get( editable.$.offsetParent ); - - containerOffset = offsetParent.getDocumentPosition().y; - } - } else { - // Opera and IE doesn't allow to append to html element. - editable.getAscendant( CKEDITOR.env.ie ? 'body' : 'html', 1 ).append( pastebin ); - } - - pastebin.setStyles( { - position: 'absolute', - // Position the bin at the top (+10 for safety) of viewport to avoid any subsequent document scroll. - top: ( win.getScrollPosition().y - containerOffset + 10 ) + 'px', - width: '1px', - // Caret has to fit in that height, otherwise browsers like Chrome & Opera will scroll window to show it. - // Set height equal to viewport's height - 20px (safety gaps), minimum 1px. - height: Math.max( 1, win.getViewPaneSize().height - 20 ) + 'px', - overflow: 'hidden', - // Reset styles that can mess up pastebin position. - margin: 0, - padding: 0 - } ); - - // Paste fails in Safari when the body tag has 'user-select: none'. (http://dev.ckeditor.com/ticket/12506) - if ( CKEDITOR.env.safari ) - pastebin.setStyles( CKEDITOR.tools.cssVendorPrefix( 'user-select', 'text' ) ); - - // Check if the paste bin now establishes new editing host. - var isEditingHost = pastebin.getParent().isReadOnly(); - - if ( isEditingHost ) { - // Hide the paste bin. - pastebin.setOpacity( 0 ); - // And make it editable. - pastebin.setAttribute( 'contenteditable', true ); - } - // Transparency is not enough since positioned non-editing host always shows - // resize handler, pull it off the screen instead. - else { - pastebin.setStyle( editor.config.contentsLangDirection == 'ltr' ? 'left' : 'right', '-10000px' ); - } - - editor.on( 'selectionChange', cancel, null, null, 0 ); - - // Webkit fill fire blur on editable when moving selection to - // pastebin (if body is used). Cancel it because it causes incorrect - // selection lock in case of inline editor (http://dev.ckeditor.com/ticket/10644). - // The same seems to apply to Firefox (http://dev.ckeditor.com/ticket/10787). - if ( CKEDITOR.env.webkit || CKEDITOR.env.gecko ) - blurListener = editable.once( 'blur', cancel, null, null, -100 ); - - // Temporarily move selection to the pastebin. - isEditingHost && pastebin.focus(); - var range = new CKEDITOR.dom.range( pastebin ); - range.selectNodeContents( pastebin ); - var selPastebin = range.select(); - - // If non-native paste is executed, IE will open security alert and blur editable. - // Editable will then lock selection inside itself and after accepting security alert - // this selection will be restored. We overwrite stored selection, so it's restored - // in pastebin. (http://dev.ckeditor.com/ticket/9552) - if ( CKEDITOR.env.ie ) { - blurListener = editable.once( 'blur', function() { - editor.lockSelection( selPastebin ); - } ); - } - - var scrollTop = CKEDITOR.document.getWindow().getScrollPosition().y; - - // Wait a while and grab the pasted contents. - setTimeout( function() { - // Restore main window's scroll position which could have been changed - // by browser in cases described in http://dev.ckeditor.com/ticket/9771. - if ( CKEDITOR.env.webkit ) - CKEDITOR.document.getBody().$.scrollTop = scrollTop; - - // Blur will be fired only on non-native paste. In other case manually remove listener. - blurListener && blurListener.removeListener(); - - // Restore properly the document focus. (http://dev.ckeditor.com/ticket/8849) - if ( CKEDITOR.env.ie ) - editable.focus(); - - // IE7: selection must go before removing pastebin. (http://dev.ckeditor.com/ticket/8691) - sel.selectBookmarks( bms ); - pastebin.remove(); - - // Grab the HTML contents. - // We need to look for a apple style wrapper on webkit it also adds - // a div wrapper if you copy/paste the body of the editor. - // Remove hidden div and restore selection. - var bogusSpan; - if ( CKEDITOR.env.webkit && ( bogusSpan = pastebin.getFirst() ) && ( bogusSpan.is && bogusSpan.hasClass( 'Apple-style-span' ) ) ) - pastebin = bogusSpan; - - editor.removeListener( 'selectionChange', cancel ); - callback( pastebin.getHtml() ); - }, 0 ); - } - - // Try to get content directly on IE from clipboard, without native event - // being fired before. In other words - synthetically get clipboard data, if it's possible. - // mainPasteEvent will be fired, so if forced native paste: - // * worked, getClipboardDataByPastebin will grab it, - // * didn't work, dataValue and dataTransfer will be empty and editor#paste won't be fired. - // Clipboard data can be accessed directly only on IEs older than Edge. - // On other browsers we should fire beforePaste event and return false. - function getClipboardDataDirectly() { - if ( clipboard.mainPasteEvent == 'paste' ) { - editor.fire( 'beforePaste', { type: 'auto', method: 'paste' } ); - return false; - } - - // Prevent IE from pasting at the begining of the document. - editor.focus(); - - // Command will be handled by 'beforepaste', but as - // execIECommand( 'paste' ) will fire also 'paste' event - // we're canceling it. - preventPasteEventNow(); - - // http://dev.ckeditor.com/ticket/9247: Lock focus to prevent IE from hiding toolbar for inline editor. - var focusManager = editor.focusManager; - focusManager.lock(); - - if ( editor.editable().fire( clipboard.mainPasteEvent ) && !execIECommand( 'paste' ) ) { - focusManager.unlock(); - return false; - } - focusManager.unlock(); - - return true; - } - - // Listens for some clipboard related keystrokes, so they get customized. - // Needs to be bind to keydown event. - function onKey( event ) { - if ( editor.mode != 'wysiwyg' ) - return; - - switch ( event.data.keyCode ) { - // Paste - case CKEDITOR.CTRL + 86: // CTRL+V - case CKEDITOR.SHIFT + 45: // SHIFT+INS - var editable = editor.editable(); - - // Cancel 'paste' event because ctrl+v is for IE handled - // by 'beforepaste'. - preventPasteEventNow(); - - // Simulate 'beforepaste' event for all browsers using 'paste' as main event. - if ( clipboard.mainPasteEvent == 'paste' ) { - editable.fire( 'beforepaste' ); - } - - return; - - // Cut - case CKEDITOR.CTRL + 88: // CTRL+X - case CKEDITOR.SHIFT + 46: // SHIFT+DEL - // Save Undo snapshot. - editor.fire( 'saveSnapshot' ); // Save before cut - setTimeout( function() { - editor.fire( 'saveSnapshot' ); // Save after cut - }, 50 ); // OSX is slow (http://dev.ckeditor.com/ticket/11416). - } - } - - function pasteDataFromClipboard( evt ) { - // Default type is 'auto', but can be changed by beforePaste listeners. - var eventData = { - type: 'auto', - method: 'paste', - dataTransfer: clipboard.initPasteDataTransfer( evt ) - }; - - eventData.dataTransfer.cacheData(); - - // Fire 'beforePaste' event so clipboard flavor get customized by other plugins. - // If 'beforePaste' is canceled continue executing getClipboardDataByPastebin and then do nothing - // (do not fire 'paste', 'afterPaste' events). This way we can grab all - synthetically - // and natively pasted content and prevent its insertion into editor - // after canceling 'beforePaste' event. - var beforePasteNotCanceled = editor.fire( 'beforePaste', eventData ) !== false; - - // Do not use paste bin if the browser let us get HTML or files from dataTranfer. - if ( beforePasteNotCanceled && clipboard.canClipboardApiBeTrusted( eventData.dataTransfer, editor ) ) { - evt.data.preventDefault(); - setTimeout( function() { - firePasteEvents( editor, eventData ); - }, 0 ); - } else { - getClipboardDataByPastebin( evt, function( data ) { - // Clean up. - eventData.dataValue = data.replace( /]+data-cke-bookmark[^<]*?<\/span>/ig, '' ); - - // Fire remaining events (without beforePaste) - beforePasteNotCanceled && firePasteEvents( editor, eventData ); - } ); - } - } - - function setToolbarStates() { - if ( editor.mode != 'wysiwyg' ) - return; - - var pasteState = stateFromNamedCommand( 'paste' ); - - editor.getCommand( 'cut' ).setState( stateFromNamedCommand( 'cut' ) ); - editor.getCommand( 'copy' ).setState( stateFromNamedCommand( 'copy' ) ); - editor.getCommand( 'paste' ).setState( pasteState ); - editor.fire( 'pasteState', pasteState ); - } - - function stateFromNamedCommand( command ) { - if ( inReadOnly && command in { paste: 1, cut: 1 } ) - return CKEDITOR.TRISTATE_DISABLED; - - if ( command == 'paste' ) - return CKEDITOR.TRISTATE_OFF; - - // Cut, copy - check if the selection is not empty. - var sel = editor.getSelection(), - ranges = sel.getRanges(), - selectionIsEmpty = sel.getType() == CKEDITOR.SELECTION_NONE || ( ranges.length == 1 && ranges[ 0 ].collapsed ); - - return selectionIsEmpty ? CKEDITOR.TRISTATE_DISABLED : CKEDITOR.TRISTATE_OFF; - } - } - - // Returns: - // * 'htmlifiedtext' if content looks like transformed by browser from plain text. - // See clipboard/paste.html TCs for more info. - // * 'html' if it is not 'htmlifiedtext'. - function recogniseContentType( data ) { - if ( CKEDITOR.env.webkit ) { - // Plain text or (

and text inside
). - if ( !data.match( /^[^<]*$/g ) && !data.match( /^(
<\/div>|
[^<]*<\/div>)*$/gi ) ) - return 'html'; - } else if ( CKEDITOR.env.ie ) { - // Text and
or ( text and
in

- paragraphs can be separated by new \r\n ). - if ( !data.match( /^([^<]|)*$/gi ) && !data.match( /^(

([^<]|)*<\/p>|(\r\n))*$/gi ) ) - return 'html'; - } else if ( CKEDITOR.env.gecko ) { - // Text or
. - if ( !data.match( /^([^<]|)*$/gi ) ) - return 'html'; - } else { - return 'html'; - } - - return 'htmlifiedtext'; - } - - // This function transforms what browsers produce when - // pasting plain text into editable element (see clipboard/paste.html TCs - // for more info) into correct HTML (similar to that produced by text2Html). - function htmlifiedTextHtmlification( config, data ) { - function repeatParagraphs( repeats ) { - // Repeat blocks floor((n+1)/2) times. - // Even number of repeats - add
at the beginning of last

. - return CKEDITOR.tools.repeat( '

', ~~( repeats / 2 ) ) + ( repeats % 2 == 1 ? '
' : '' ); - } - - // Replace adjacent white-spaces (EOLs too - Fx sometimes keeps them) with one space. - data = data.replace( /\s+/g, ' ' ) - // Remove spaces from between tags. - .replace( /> +<' ) - // Normalize XHTML syntax and upper cased
tags. - .replace( /
/gi, '
' ); - - // IE - lower cased tags. - data = data.replace( /<\/?[A-Z]+>/g, function( match ) { - return match.toLowerCase(); - } ); - - // Don't touch single lines (no ) - nothing to do here. - if ( data.match( /^[^<]$/ ) ) - return data; - - // Webkit. - if ( CKEDITOR.env.webkit && data.indexOf( '

' ) > -1 ) { - // One line break at the beginning - insert
- data = data.replace( /^(
(
|)<\/div>)(?!$|(
(
|)<\/div>))/g, '
' ) - // Two or more - reduce number of new lines by one. - .replace( /^(
(
|)<\/div>){2}(?!$)/g, '
' ); - - // Two line breaks create one paragraph in Webkit. - if ( data.match( /
(
|)<\/div>/ ) ) { - data = '

' + data.replace( /(

(
|)<\/div>)+/g, function( match ) { - return repeatParagraphs( match.split( '
' ).length + 1 ); - } ) + '

'; - } - - // One line break create br. - data = data.replace( /<\/div>
/g, '
' ); - - // Remove remaining divs. - data = data.replace( /<\/?div>/g, '' ); - } - - // Opera and Firefox and enterMode != BR. - if ( CKEDITOR.env.gecko && config.enterMode != CKEDITOR.ENTER_BR ) { - // Remove bogus
- Fx generates two for one line break. - // For two line breaks it still produces two , but it's better to ignore this case than the first one. - if ( CKEDITOR.env.gecko ) - data = data.replace( /^

$/, '
' ); - - // This line satisfy edge case when for Opera we have two line breaks - //data = data.replace( /) - - if ( data.indexOf( '

' ) > -1 ) { - // Two line breaks create one paragraph, three - 2, four - 3, etc. - data = '

' + data.replace( /(
){2,}/g, function( match ) { - return repeatParagraphs( match.length / 4 ); - } ) + '

'; - } - } - - return switchEnterMode( config, data ); - } - - function filtersFactoryFactory() { - var filters = {}; - - function setUpTags() { - var tags = {}; - - for ( var tag in CKEDITOR.dtd ) { - if ( tag.charAt( 0 ) != '$' && tag != 'div' && tag != 'span' ) { - tags[ tag ] = 1; - } - } - - return tags; - } - - function createSemanticContentFilter() { - var filter = new CKEDITOR.filter(); - - filter.allow( { - $1: { - elements: setUpTags(), - attributes: true, - styles: false, - classes: false - } - } ); - - return filter; - } - - return { - get: function( type ) { - if ( type == 'plain-text' ) { - // Does this look confusing to you? Did we forget about enter mode? - // It is a trick that let's us creating one filter for edidtor, regardless of its - // activeEnterMode (which as the name indicates can change during runtime). - // - // How does it work? - // The active enter mode is passed to the filter.applyTo method. - // The filter first marks all elements except
as disallowed and then tries to remove - // them. However, it cannot remove e.g. a

element completely, because it's a basic structural element, - // so it tries to replace it with an element created based on the active enter mode, eventually doing nothing. - // - // Now you can sleep well. - return filters.plainText || ( filters.plainText = new CKEDITOR.filter( 'br' ) ); - } else if ( type == 'semantic-content' ) { - return filters.semanticContent || ( filters.semanticContent = createSemanticContentFilter() ); - } else if ( type ) { - // Create filter based on rules (string or object). - return new CKEDITOR.filter( type ); - } - - return null; - } - }; - } - - function filterContent( editor, data, filter ) { - var fragment = CKEDITOR.htmlParser.fragment.fromHtml( data ), - writer = new CKEDITOR.htmlParser.basicWriter(); - - filter.applyTo( fragment, true, false, editor.activeEnterMode ); - fragment.writeHtml( writer ); - - return writer.getHtml(); - } - - function switchEnterMode( config, data ) { - if ( config.enterMode == CKEDITOR.ENTER_BR ) { - data = data.replace( /(<\/p>

)+/g, function( match ) { - return CKEDITOR.tools.repeat( '
', match.length / 7 * 2 ); - } ).replace( /<\/?p>/g, '' ); - } else if ( config.enterMode == CKEDITOR.ENTER_DIV ) { - data = data.replace( /<(\/)?p>/g, '<$1div>' ); - } - - return data; - } - - function preventDefaultSetDropEffectToNone( evt ) { - evt.data.preventDefault(); - evt.data.$.dataTransfer.dropEffect = 'none'; - } - - function initDragDrop( editor ) { - var clipboard = CKEDITOR.plugins.clipboard; - - editor.on( 'contentDom', function() { - var editable = editor.editable(), - dropTarget = CKEDITOR.plugins.clipboard.getDropTarget( editor ), - top = editor.ui.space( 'top' ), - bottom = editor.ui.space( 'bottom' ); - - // -------------- DRAGOVER TOP & BOTTOM -------------- - - // Not allowing dragging on toolbar and bottom (http://dev.ckeditor.com/ticket/12613). - clipboard.preventDefaultDropOnElement( top ); - clipboard.preventDefaultDropOnElement( bottom ); - - // -------------- DRAGSTART -------------- - // Listed on dragstart to mark internal and cross-editor drag & drop - // and save range and selected HTML. - - editable.attachListener( dropTarget, 'dragstart', fireDragEvent ); - - // Make sure to reset data transfer (in case dragend was not called or was canceled). - editable.attachListener( editor, 'dragstart', clipboard.resetDragDataTransfer, clipboard, null, 1 ); - - // Create a dataTransfer object and save it globally. - editable.attachListener( editor, 'dragstart', function( evt ) { - clipboard.initDragDataTransfer( evt, editor ); - }, null, null, 2 ); - - editable.attachListener( editor, 'dragstart', function() { - // Save drag range globally for cross editor D&D. - var dragRange = clipboard.dragRange = editor.getSelection().getRanges()[ 0 ]; - - // 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) - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 10 ) { - clipboard.dragStartContainerChildCount = dragRange ? getContainerChildCount( dragRange.startContainer ) : null; - clipboard.dragEndContainerChildCount = dragRange ? getContainerChildCount( dragRange.endContainer ) : null; - } - }, null, null, 100 ); - - // -------------- DRAGEND -------------- - // Clean up on dragend. - - editable.attachListener( dropTarget, 'dragend', fireDragEvent ); - - // Init data transfer if someone wants to use it in dragend. - editable.attachListener( editor, 'dragend', clipboard.initDragDataTransfer, clipboard, null, 1 ); - - // When drag & drop is done we need to reset dataTransfer so the future - // external drop will be not recognize as internal. - editable.attachListener( editor, 'dragend', clipboard.resetDragDataTransfer, clipboard, null, 100 ); - - // -------------- DRAGOVER -------------- - // We need to call preventDefault on dragover because otherwise if - // we drop image it will overwrite document. - - editable.attachListener( dropTarget, 'dragover', function( evt ) { - // Edge requires this handler to have `preventDefault()` regardless of the situation. - if ( CKEDITOR.env.edge ) { - evt.data.preventDefault(); - return; - } - - var target = evt.data.getTarget(); - - // Prevent reloading page when dragging image on empty document (http://dev.ckeditor.com/ticket/12619). - if ( target && target.is && target.is( 'html' ) ) { - evt.data.preventDefault(); - return; - } - - // If we do not prevent default dragover on IE the file path - // will be loaded and we will lose content. On the other hand - // if we prevent it the cursor will not we shown, so we prevent - // dragover only on IE, on versions which support file API and only - // if the event contains files. - if ( CKEDITOR.env.ie && - CKEDITOR.plugins.clipboard.isFileApiSupported && - evt.data.$.dataTransfer.types.contains( 'Files' ) ) { - evt.data.preventDefault(); - } - } ); - - // -------------- DROP -------------- - - editable.attachListener( dropTarget, 'drop', function( evt ) { - // Do nothing if event was already prevented. (http://dev.ckeditor.com/ticket/13879) - if ( evt.data.$.defaultPrevented ) { - return; - } - - // Cancel native drop. - evt.data.preventDefault(); - - var target = evt.data.getTarget(), - readOnly = target.isReadOnly(); - - // Do nothing if drop on non editable element (http://dev.ckeditor.com/ticket/13015). - // The tag isn't editable (body is), but we want to allow drop on it - // (so it is possible to drop below editor contents). - if ( readOnly && !( target.type == CKEDITOR.NODE_ELEMENT && target.is( 'html' ) ) ) { - return; - } - - // Getting drop position is one of the most complex parts. - var dropRange = clipboard.getRangeAtDropPosition( evt, editor ), - dragRange = clipboard.dragRange; - - // Do nothing if it was not possible to get drop range. - if ( !dropRange ) { - return; - } - - // Fire drop. - fireDragEvent( evt, dragRange, dropRange ); - }, null, null, 9999 ); - - // Create dataTransfer or get it, if it was created before. - editable.attachListener( editor, 'drop', clipboard.initDragDataTransfer, clipboard, null, 1 ); - - // Execute drop action, fire paste. - editable.attachListener( editor, 'drop', function( evt ) { - var data = evt.data; - - if ( !data ) { - return; - } - - // Let user modify drag and drop range. - var dropRange = data.dropRange, - dragRange = data.dragRange, - dataTransfer = data.dataTransfer; - - if ( dataTransfer.getTransferType( editor ) == CKEDITOR.DATA_TRANSFER_INTERNAL ) { - // Execute drop with a timeout because otherwise selection, after drop, - // on IE is in the drag position, instead of drop position. - setTimeout( function() { - clipboard.internalDrop( dragRange, dropRange, dataTransfer, editor ); - }, 0 ); - } else if ( dataTransfer.getTransferType( editor ) == CKEDITOR.DATA_TRANSFER_CROSS_EDITORS ) { - crossEditorDrop( dragRange, dropRange, dataTransfer ); - } else { - externalDrop( dropRange, dataTransfer ); - } - }, null, null, 9999 ); - - // Cross editor drag and drop (drag in one Editor and drop in the other). - function crossEditorDrop( dragRange, dropRange, dataTransfer ) { - // Paste event should be fired before delete contents because otherwise - // Chrome have a problem with drop range (Chrome split the drop - // range container so the offset is bigger then container length). - dropRange.select(); - firePasteEvents( editor, { dataTransfer: dataTransfer, method: 'drop' }, 1 ); - - // Remove dragged content and make a snapshot. - dataTransfer.sourceEditor.fire( 'saveSnapshot' ); - - dataTransfer.sourceEditor.editable().extractHtmlFromRange( dragRange ); - - // Make some selection before saving snapshot, otherwise error will be thrown, because - // there will be no valid selection after content is removed. - dataTransfer.sourceEditor.getSelection().selectRanges( [ dragRange ] ); - dataTransfer.sourceEditor.fire( 'saveSnapshot' ); - } - - // Drop from external source. - function externalDrop( dropRange, dataTransfer ) { - // Paste content into the drop position. - dropRange.select(); - - firePasteEvents( editor, { dataTransfer: dataTransfer, method: 'drop' }, 1 ); - - // Usually we reset DataTranfer on dragend, - // but dragend is called on the same element as dragstart - // so it will not be called on on external drop. - clipboard.resetDragDataTransfer(); - } - - // Fire drag/drop events (dragstart, dragend, drop). - function fireDragEvent( evt, dragRange, dropRange ) { - var eventData = { - $: evt.data.$, - target: evt.data.getTarget() - }; - - if ( dragRange ) { - eventData.dragRange = dragRange; - } - if ( dropRange ) { - eventData.dropRange = dropRange; - } - - if ( editor.fire( evt.name, eventData ) === false ) { - evt.data.preventDefault(); - } - } - - function getContainerChildCount( container ) { - if ( container.type != CKEDITOR.NODE_ELEMENT ) { - container = container.getParent(); - } - - return container.getChildCount(); - } - } ); - } - - /** - * @singleton - * @class CKEDITOR.plugins.clipboard - */ - CKEDITOR.plugins.clipboard = { - /** - * True if the environment allows to set data on copy or cut manually. This value is false in IE, because this browser - * shows the security dialog window when the script tries to set clipboard data and on iOS, because custom data is - * not saved to clipboard there. - * - * @since 4.5 - * @readonly - * @property {Boolean} - */ - isCustomCopyCutSupported: !CKEDITOR.env.ie && !CKEDITOR.env.iOS, - - /** - * True if the environment supports MIME types and custom data types in dataTransfer/cliboardData getData/setData methods. - * - * @since 4.5 - * @readonly - * @property {Boolean} - */ - isCustomDataTypesSupported: !CKEDITOR.env.ie, - - /** - * True if the environment supports File API. - * - * @since 4.5 - * @readonly - * @property {Boolean} - */ - isFileApiSupported: !CKEDITOR.env.ie || CKEDITOR.env.version > 9, - - /** - * Main native paste event editable should listen to. - * - * **Note:** Safari does not like the {@link CKEDITOR.editor#beforePaste} event — it sometimes does not - * handle Ctrl+C properly. This is probably caused by some race condition between events. - * Chrome, Firefox and Edge work well with both events, so it is better to use {@link CKEDITOR.editor#paste} - * which will handle pasting from e.g. browsers' menu bars. - * IE7/8 does not like the {@link CKEDITOR.editor#paste} event for which it is throwing random errors. - * - * @since 4.5 - * @readonly - * @property {String} - */ - mainPasteEvent: ( CKEDITOR.env.ie && !CKEDITOR.env.edge ) ? 'beforepaste' : 'paste', - - /** - * Returns `true` if it is expected that a browser provides HTML data through the Clipboard API. - * If not, this method returns `false` and as a result CKEditor will use the paste bin. Read more in - * the [Clipboard Integration](http://docs.ckeditor.com/#!/guide/dev_clipboard-section-clipboard-api) guide. - * - * @since 4.5.2 - * @returns {Boolean} - */ - canClipboardApiBeTrusted: function( dataTransfer, editor ) { - // If it's an internal or cross-editor data transfer, then it means that custom cut/copy/paste support works - // and that the data were put manually on the data transfer so we can be sure that it's available. - if ( dataTransfer.getTransferType( editor ) != CKEDITOR.DATA_TRANSFER_EXTERNAL ) { - return true; - } - - // In Chrome we can trust Clipboard API, with the exception of Chrome on Android (in both - mobile and desktop modes), where - // clipboard API is not available so we need to check it (http://dev.ckeditor.com/ticket/13187). - if ( CKEDITOR.env.chrome && !dataTransfer.isEmpty() ) { - return true; - } - - // Because of a Firefox bug HTML data are not available in some cases (e.g. paste from Word), in such cases we - // need to use the pastebin (http://dev.ckeditor.com/ticket/13528, https://bugzilla.mozilla.org/show_bug.cgi?id=1183686). - if ( CKEDITOR.env.gecko && ( dataTransfer.getData( 'text/html' ) || dataTransfer.getFilesCount() ) ) { - return true; - } - - // Safari fixed clipboard in 10.1 (https://bugs.webkit.org/show_bug.cgi?id=19893) (http://dev.ckeditor.com/ticket/16982). - // However iOS version still doesn't work well enough (https://bugs.webkit.org/show_bug.cgi?id=19893#c34). - if ( CKEDITOR.env.safari && CKEDITOR.env.version >= 603 && !CKEDITOR.env.iOS ) { - return true; - } - - // In older Safari and IE HTML data is not available though the Clipboard API. - // In Edge things are a bit messy at the moment - - // https://connect.microsoft.com/IE/feedback/details/1572456/edge-clipboard-api-text-html-content-messed-up-in-event-clipboarddata - // It is safer to use the paste bin in unknown cases. - return false; - }, - - /** - * Returns the element that should be used as the target for the drop event. - * - * @since 4.5 - * @param {CKEDITOR.editor} editor The editor instance. - * @returns {CKEDITOR.dom.domObject} the element that should be used as the target for the drop event. - */ - getDropTarget: function( editor ) { - var editable = editor.editable(); - - // http://dev.ckeditor.com/ticket/11123 Firefox needs to listen on document, because otherwise event won't be fired. - // http://dev.ckeditor.com/ticket/11086 IE8 cannot listen on document. - if ( ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) || editable.isInline() ) { - return editable; - } else { - return editor.document; - } - }, - - /** - * IE 8 & 9 split text node on drop so the first node contains the - * text before the drop position and the second contains the rest. If you - * drag the content from the same node you will be not be able to get - * it (the range becomes invalid), so you need to join them back. - * - * Note that the first node in IE 8 & 9 is the original node object - * but with shortened content. - * - * Before: - * --- Text Node A ---------------------------------- - * /\ - * Drag position - * - * After (IE 8 & 9): - * --- Text Node A ----- --- Text Node B ----------- - * /\ /\ - * Drop position Drag position - * (invalid) - * - * After (other browsers): - * --- Text Node A ---------------------------------- - * /\ /\ - * Drop position Drag position - * - * **Note:** This function is in the public scope for tests usage only. - * - * @since 4.5 - * @private - * @param {CKEDITOR.dom.range} dragRange The drag range. - * @param {CKEDITOR.dom.range} dropRange The drop range. - * @param {Number} preDragStartContainerChildCount The number of children of the drag range start container before the drop. - * @param {Number} preDragEndContainerChildCount The number of children of the drag range end container before the drop. - */ - fixSplitNodesAfterDrop: function( dragRange, dropRange, preDragStartContainerChildCount, preDragEndContainerChildCount ) { - var dropContainer = dropRange.startContainer; - - if ( - typeof preDragEndContainerChildCount != 'number' || - typeof preDragStartContainerChildCount != 'number' - ) { - return; - } - - // We are only concerned about ranges anchored in elements. - if ( dropContainer.type != CKEDITOR.NODE_ELEMENT ) { - return; - } - - if ( handleContainer( dragRange.startContainer, dropContainer, preDragStartContainerChildCount ) ) { - return; - } - - if ( handleContainer( dragRange.endContainer, dropContainer, preDragEndContainerChildCount ) ) { - return; - } - - function handleContainer( dragContainer, dropContainer, preChildCount ) { - var dragElement = dragContainer; - if ( dragElement.type == CKEDITOR.NODE_TEXT ) { - dragElement = dragContainer.getParent(); - } - - if ( dragElement.equals( dropContainer ) && preChildCount != dropContainer.getChildCount() ) { - applyFix( dropRange ); - return true; - } - } - - function applyFix( dropRange ) { - var nodeBefore = dropRange.startContainer.getChild( dropRange.startOffset - 1 ), - nodeAfter = dropRange.startContainer.getChild( dropRange.startOffset ); - - if ( - nodeBefore && nodeBefore.type == CKEDITOR.NODE_TEXT && - nodeAfter && nodeAfter.type == CKEDITOR.NODE_TEXT - ) { - var offset = nodeBefore.getLength(); - - nodeBefore.setText( nodeBefore.getText() + nodeAfter.getText() ); - nodeAfter.remove(); - - dropRange.setStart( nodeBefore, offset ); - dropRange.collapse( true ); - } - } - }, - - /** - * Checks whether turning the drag range into bookmarks will invalidate the drop range. - * This usually happens when the drop range shares the container with the drag range and is - * located after the drag range, but there are countless edge cases. - * - * This function is stricly related to {@link #internalDrop} which toggles - * order in which it creates bookmarks for both ranges based on a value returned - * by this method. In some cases this method returns a value which is not necessarily - * true in terms of what it was meant to check, but it is convenient, because - * we know how it is interpreted in {@link #internalDrop}, so the correct - * behavior of the entire algorithm is assured. - * - * **Note:** This function is in the public scope for tests usage only. - * - * @since 4.5 - * @private - * @param {CKEDITOR.dom.range} dragRange The first range to compare. - * @param {CKEDITOR.dom.range} dropRange The second range to compare. - * @returns {Boolean} `true` if the first range is before the second range. - */ - isDropRangeAffectedByDragRange: function( dragRange, dropRange ) { - var dropContainer = dropRange.startContainer, - dropOffset = dropRange.endOffset; - - // Both containers are the same and drop offset is at the same position or later. - // " A L] A " " M A " - // ^ ^ - if ( dragRange.endContainer.equals( dropContainer ) && dragRange.endOffset <= dropOffset ) { - return true; - } - - // Bookmark for drag start container will mess up with offsets. - // " O [L A " " M A " - // ^ ^ - if ( - dragRange.startContainer.getParent().equals( dropContainer ) && - dragRange.startContainer.getIndex() < dropOffset - ) { - return true; - } - - // Bookmark for drag end container will mess up with offsets. - // " O] L A " " M A " - // ^ ^ - if ( - dragRange.endContainer.getParent().equals( dropContainer ) && - dragRange.endContainer.getIndex() < dropOffset - ) { - return true; - } - - return false; - }, - - /** - * Internal drag and drop (drag and drop in the same editor instance). - * - * **Note:** This function is in the public scope for tests usage only. - * - * @since 4.5 - * @private - * @param {CKEDITOR.dom.range} dragRange The first range to compare. - * @param {CKEDITOR.dom.range} dropRange The second range to compare. - * @param {CKEDITOR.plugins.clipboard.dataTransfer} dataTransfer - * @param {CKEDITOR.editor} editor - */ - internalDrop: function( dragRange, dropRange, dataTransfer, editor ) { - var clipboard = CKEDITOR.plugins.clipboard, - editable = editor.editable(), - dragBookmark, dropBookmark, isDropRangeAffected; - - // Save and lock snapshot so there will be only - // one snapshot for both remove and insert content. - editor.fire( 'saveSnapshot' ); - editor.fire( 'lockSnapshot', { dontUpdate: 1 } ); - - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 10 ) { - this.fixSplitNodesAfterDrop( - dragRange, - dropRange, - clipboard.dragStartContainerChildCount, - clipboard.dragEndContainerChildCount - ); - } - - // Because we manipulate multiple ranges we need to do it carefully, - // changing one range (event creating a bookmark) may make other invalid. - // We need to change ranges into bookmarks so we can manipulate them easily in the future. - // We can change the range which is later in the text before we change the preceding range. - // We call isDropRangeAffectedByDragRange to test the order of ranges. - isDropRangeAffected = this.isDropRangeAffectedByDragRange( dragRange, dropRange ); - if ( !isDropRangeAffected ) { - dragBookmark = dragRange.createBookmark( false ); - } - dropBookmark = dropRange.clone().createBookmark( false ); - if ( isDropRangeAffected ) { - dragBookmark = dragRange.createBookmark( false ); - } - - // Check if drop range is inside range. - // This is an edge case when we drop something on editable's margin/padding. - // That space is not treated as a part of the range we drag, so it is possible to drop there. - // When we drop, browser tries to find closest drop position and it finds it inside drag range. (http://dev.ckeditor.com/ticket/13453) - var startNode = dragBookmark.startNode, - endNode = dragBookmark.endNode, - dropNode = dropBookmark.startNode, - dropInsideDragRange = - // Must check endNode because dragRange could be collapsed in some edge cases (simulated DnD). - endNode && - ( startNode.getPosition( dropNode ) & CKEDITOR.POSITION_PRECEDING ) && - ( endNode.getPosition( dropNode ) & CKEDITOR.POSITION_FOLLOWING ); - - // If the drop range happens to be inside drag range change it's position to the beginning of the drag range. - if ( dropInsideDragRange ) { - // We only change position of bookmark span that is connected with dropBookmark. - // dropRange will be overwritten and set to the dropBookmark later. - dropNode.insertBefore( startNode ); - } - - // No we can safely delete content for the drag range... - dragRange = editor.createRange(); - dragRange.moveToBookmark( dragBookmark ); - editable.extractHtmlFromRange( dragRange, 1 ); - - // ...and paste content into the drop position. - dropRange = editor.createRange(); - dropRange.moveToBookmark( dropBookmark ); - - // We do not select drop range, because of may be in the place we can not set the selection - // (e.g. between blocks, in case of block widget D&D). We put range to the paste event instead. - firePasteEvents( editor, { dataTransfer: dataTransfer, method: 'drop', range: dropRange }, 1 ); - - editor.fire( 'unlockSnapshot' ); - }, - - /** - * Gets the range from the `drop` event. - * - * @since 4.5 - * @param {Object} domEvent A native DOM drop event object. - * @param {CKEDITOR.editor} editor The source editor instance. - * @returns {CKEDITOR.dom.range} range at drop position. - */ - getRangeAtDropPosition: function( dropEvt, editor ) { - var $evt = dropEvt.data.$, - x = $evt.clientX, - y = $evt.clientY, - $range, - defaultRange = editor.getSelection( true ).getRanges()[ 0 ], - range = editor.createRange(); - - // Make testing possible. - if ( dropEvt.data.testRange ) - return dropEvt.data.testRange; - - // Webkits. - if ( document.caretRangeFromPoint && editor.document.$.caretRangeFromPoint( x, y ) ) { - $range = editor.document.$.caretRangeFromPoint( x, y ); - range.setStart( CKEDITOR.dom.node( $range.startContainer ), $range.startOffset ); - range.collapse( true ); - } - // FF. - else if ( $evt.rangeParent ) { - range.setStart( CKEDITOR.dom.node( $evt.rangeParent ), $evt.rangeOffset ); - range.collapse( true ); - } - // IEs 9+. - // We check if editable is focused to make sure that it's an internal DnD. External DnD must use the second - // mechanism because of http://dev.ckeditor.com/ticket/13472#comment:6. - else if ( CKEDITOR.env.ie && CKEDITOR.env.version > 8 && defaultRange && editor.editable().hasFocus ) { - // On IE 9+ range by default is where we expected it. - // defaultRange may be undefined if dragover was canceled (file drop). - return defaultRange; - } - // IE 8 and all IEs if !defaultRange or external DnD. - else if ( document.body.createTextRange ) { - // To use this method we need a focus (which may be somewhere else in case of external drop). - editor.focus(); - - $range = editor.document.getBody().$.createTextRange(); - try { - var sucess = false; - - // If user drop between text line IEs moveToPoint throws exception: - // - // Lorem ipsum pulvinar purus et euismod - // - // dolor sit amet,| consectetur adipiscing - // * - // vestibulum tincidunt augue eget tempus. - // - // * - drop position - // | - expected cursor position - // - // So we try to call moveToPoint with +-1px up to +-20px above or - // below original drop position to find nearest good drop position. - for ( var i = 0; i < 20 && !sucess; i++ ) { - if ( !sucess ) { - try { - $range.moveToPoint( x, y - i ); - sucess = true; - } catch ( err ) { - } - } - if ( !sucess ) { - try { - $range.moveToPoint( x, y + i ); - sucess = true; - } catch ( err ) { - } - } - } - - if ( sucess ) { - var id = 'cke-temp-' + ( new Date() ).getTime(); - $range.pasteHTML( '\u200b' ); - - var span = editor.document.getById( id ); - range.moveToPosition( span, CKEDITOR.POSITION_BEFORE_START ); - span.remove(); - } else { - // If the fist method does not succeed we might be next to - // the short element (like header): - // - // Lorem ipsum pulvinar purus et euismod. - // - // - // SOME HEADER| * - // - // - // vestibulum tincidunt augue eget tempus. - // - // * - drop position - // | - expected cursor position - // - // In such situation elementFromPoint returns proper element. Using getClientRect - // it is possible to check if the cursor should be at the beginning or at the end - // of paragraph. - var $element = editor.document.$.elementFromPoint( x, y ), - element = new CKEDITOR.dom.element( $element ), - rect; - - if ( !element.equals( editor.editable() ) && element.getName() != 'html' ) { - rect = element.getClientRect(); - - if ( x < rect.left ) { - range.setStartAt( element, CKEDITOR.POSITION_AFTER_START ); - range.collapse( true ); - } else { - range.setStartAt( element, CKEDITOR.POSITION_BEFORE_END ); - range.collapse( true ); - } - } - // If drop happens on no element elementFromPoint returns html or body. - // - // * |Lorem ipsum pulvinar purus et euismod. - // - // vestibulum tincidunt augue eget tempus. - // - // * - drop position - // | - expected cursor position - // - // In such case we can try to use default selection. If startContainer is not - // 'editable' element it is probably proper selection. - else if ( defaultRange && defaultRange.startContainer && - !defaultRange.startContainer.equals( editor.editable() ) ) { - return defaultRange; - - // Otherwise we can not find any drop position and we have to return null - // and cancel drop event. - } else { - return null; - } - - } - } catch ( err ) { - return null; - } - } else { - return null; - } - - return range; - }, - - /** - * This function tries to link the `evt.data.dataTransfer` property of the {@link CKEDITOR.editor#dragstart}, - * {@link CKEDITOR.editor#dragend} and {@link CKEDITOR.editor#drop} events to a single - * {@link CKEDITOR.plugins.clipboard.dataTransfer} object. - * - * This method is automatically used by the core of the drag and drop functionality and - * usually does not have to be called manually when using the drag and drop events. - * - * This method behaves differently depending on whether the drag and drop events were fired - * artificially (to represent a non-native drag and drop) or whether they were caused by the native drag and drop. - * - * If the native event is not available, then it will create a new {@link CKEDITOR.plugins.clipboard.dataTransfer} - * instance (if it does not exist already) and will link it to this and all following event objects until - * the {@link #resetDragDataTransfer} method is called. It means that all three drag and drop events must be fired - * in order to ensure that the data transfer is bound correctly. - * - * If the native event is available, then the {@link CKEDITOR.plugins.clipboard.dataTransfer} is identified - * by its ID and a new instance is assigned to the `evt.data.dataTransfer` only if the ID changed or - * the {@link #resetDragDataTransfer} method was called. - * - * @since 4.5 - * @param {CKEDITOR.dom.event} [evt] A drop event object. - * @param {CKEDITOR.editor} [sourceEditor] The source editor instance. - */ - initDragDataTransfer: function( evt, sourceEditor ) { - // Create a new dataTransfer object based on the drop event. - // If this event was used on dragstart to create dataTransfer - // both dataTransfer objects will have the same id. - var nativeDataTransfer = evt.data.$ ? evt.data.$.dataTransfer : null, - dataTransfer = new this.dataTransfer( nativeDataTransfer, sourceEditor ); - - if ( !nativeDataTransfer ) { - // No native event. - if ( this.dragData ) { - dataTransfer = this.dragData; - } else { - this.dragData = dataTransfer; - } - } else { - // Native event. If there is the same id we will replace dataTransfer with the one - // created on drag, because it contains drag editor, drag content and so on. - // Otherwise (in case of drag from external source) we save new object to - // the global clipboard.dragData. - if ( this.dragData && dataTransfer.id == this.dragData.id ) { - dataTransfer = this.dragData; - } else { - this.dragData = dataTransfer; - } - } - - evt.data.dataTransfer = dataTransfer; - }, - - /** - * Removes the global {@link #dragData} so the next call to {@link #initDragDataTransfer} - * always creates a new instance of {@link CKEDITOR.plugins.clipboard.dataTransfer}. - * - * @since 4.5 - */ - resetDragDataTransfer: function() { - this.dragData = null; - }, - - /** - * Global object storing the data transfer of the current drag and drop operation. - * Do not use it directly, use {@link #initDragDataTransfer} and {@link #resetDragDataTransfer}. - * - * Note: This object is global (meaning that it is not related to a single editor instance) - * in order to handle drag and drop from one editor into another. - * - * @since 4.5 - * @private - * @property {CKEDITOR.plugins.clipboard.dataTransfer} dragData - */ - - /** - * Range object to save the drag range and remove its content after the drop. - * - * @since 4.5 - * @private - * @property {CKEDITOR.dom.range} dragRange - */ - - /** - * Initializes and links data transfer objects based on the paste event. If the data - * transfer object was already initialized on this event, the function will - * return that object. In IE it is not possible to link copy/cut and paste events - * so the method always returns a new object. The same happens if there is no paste event - * passed to the method. - * - * @since 4.5 - * @param {CKEDITOR.dom.event} [evt] A paste event object. - * @param {CKEDITOR.editor} [sourceEditor] The source editor instance. - * @returns {CKEDITOR.plugins.clipboard.dataTransfer} The data transfer object. - */ - initPasteDataTransfer: function( evt, sourceEditor ) { - if ( !this.isCustomCopyCutSupported ) { - // Edge does not support custom copy/cut, but it have some useful data in the clipboardData (http://dev.ckeditor.com/ticket/13755). - return new this.dataTransfer( ( CKEDITOR.env.edge && evt && evt.data.$ && evt.data.$.clipboardData ) || null, sourceEditor ); - } else if ( evt && evt.data && evt.data.$ ) { - var dataTransfer = new this.dataTransfer( evt.data.$.clipboardData, sourceEditor ); - - if ( this.copyCutData && dataTransfer.id == this.copyCutData.id ) { - dataTransfer = this.copyCutData; - dataTransfer.$ = evt.data.$.clipboardData; - } else { - this.copyCutData = dataTransfer; - } - - return dataTransfer; - } else { - return new this.dataTransfer( null, sourceEditor ); - } - }, - - /** - * Prevents dropping on the specified element. - * - * @since 4.5 - * @param {CKEDITOR.dom.element} element The element on which dropping should be disabled. - */ - preventDefaultDropOnElement: function( element ) { - element && element.on( 'dragover', preventDefaultSetDropEffectToNone ); - } - }; - - // Data type used to link drag and drop events. - // - // In IE URL data type is buggie and there is no way to mark drag & drop without - // modifying text data (which would be displayed if user drop content to the textarea) - // so we just read dragged text. - // - // In Chrome and Firefox we can use custom data types. - var clipboardIdDataType = CKEDITOR.plugins.clipboard.isCustomDataTypesSupported ? 'cke/id' : 'Text'; - /** - * Facade for the native `dataTransfer`/`clipboadData` object to hide all differences - * between browsers. - * - * @since 4.5 - * @class CKEDITOR.plugins.clipboard.dataTransfer - * @constructor Creates a class instance. - * @param {Object} [nativeDataTransfer] A native data transfer object. - * @param {CKEDITOR.editor} [editor] The source editor instance. If the editor is defined, dataValue will - * be created based on the editor content and the type will be 'html'. - */ - CKEDITOR.plugins.clipboard.dataTransfer = function( nativeDataTransfer, editor ) { - if ( nativeDataTransfer ) { - this.$ = nativeDataTransfer; - } - - this._ = { - metaRegExp: /^/i, - bodyRegExp: /([\s\S]*)<\/body>/i, - fragmentRegExp: //g, - - data: {}, - files: [], - - normalizeType: function( type ) { - type = type.toLowerCase(); - - if ( type == 'text' || type == 'text/plain' ) { - return 'Text'; // IE support only Text and URL; - } else if ( type == 'url' ) { - return 'URL'; // IE support only Text and URL; - } else { - return type; - } - } - }; - - // Check if ID is already created. - this.id = this.getData( clipboardIdDataType ); - - // If there is no ID we need to create it. Different browsers needs different ID. - if ( !this.id ) { - if ( clipboardIdDataType == 'Text' ) { - // For IE10+ only Text data type is supported and we have to compare dragged - // and dropped text. If the ID is not set it means that empty string was dragged - // (ex. image with no alt). We change null to empty string. - this.id = ''; - } else { - // String for custom data type. - this.id = 'cke-' + CKEDITOR.tools.getUniqueId(); - } - } - - // In IE10+ we can not use any data type besides text, so we do not call setData. - if ( clipboardIdDataType != 'Text' ) { - // Try to set ID so it will be passed from the drag to the drop event. - // On some browsers with some event it is not possible to setData so we - // need to catch exceptions. - try { - this.$.setData( clipboardIdDataType, this.id ); - } catch ( err ) {} - } - - if ( editor ) { - this.sourceEditor = editor; - - this.setData( 'text/html', editor.getSelectedHtml( 1 ) ); - - // Without setData( 'text', ... ) on dragstart there is no drop event in Safari. - // Also 'text' data is empty as drop to the textarea does not work if we do not put there text. - if ( clipboardIdDataType != 'Text' && !this.getData( 'text/plain' ) ) { - this.setData( 'text/plain', editor.getSelection().getSelectedText() ); - } - } - - /** - * Data transfer ID used to bind all dataTransfer - * objects based on the same event (e.g. in drag and drop events). - * - * @readonly - * @property {String} id - */ - - /** - * A native DOM event object. - * - * @readonly - * @property {Object} $ - */ - - /** - * Source editor — the editor where the drag starts. - * Might be undefined if the drag starts outside the editor (e.g. when dropping files to the editor). - * - * @readonly - * @property {CKEDITOR.editor} sourceEditor - */ - - /** - * Private properties and methods. - * - * @private - * @property {Object} _ - */ - }; - - /** - * Data transfer operation (drag and drop or copy and paste) started and ended in the same - * editor instance. - * - * @since 4.5 - * @readonly - * @property {Number} [=1] - * @member CKEDITOR - */ - CKEDITOR.DATA_TRANSFER_INTERNAL = 1; - - /** - * Data transfer operation (drag and drop or copy and paste) started in one editor - * instance and ended in another. - * - * @since 4.5 - * @readonly - * @property {Number} [=2] - * @member CKEDITOR - */ - CKEDITOR.DATA_TRANSFER_CROSS_EDITORS = 2; - - /** - * Data transfer operation (drag and drop or copy and paste) started outside of the editor. - * The source of the data may be a textarea, HTML, another application, etc. - * - * @since 4.5 - * @readonly - * @property {Number} [=3] - * @member CKEDITOR - */ - CKEDITOR.DATA_TRANSFER_EXTERNAL = 3; - - CKEDITOR.plugins.clipboard.dataTransfer.prototype = { - /** - * Facade for the native `getData` method. - * - * @param {String} type The type of data to retrieve. - * @param {Boolean} [getNative=false] Indicates if the whole, original content of the dataTransfer should be returned. - * Introduced in CKEditor 4.7.0. - * @returns {String} type Stored data for the given type or an empty string if the data for that type does not exist. - */ - getData: function( type, getNative ) { - function isEmpty( data ) { - return data === undefined || data === null || data === ''; - } - - function filterUnwantedCharacters( data ) { - if ( typeof data !== 'string' ) { - return data; - } - - var htmlEnd = data.indexOf( '' ); - - if ( htmlEnd !== -1 ) { - // Just cut everything after ``, so everything after htmlEnd index + length of ``. - // Required to workaround bug: https://bugs.chromium.org/p/chromium/issues/detail?id=696978 - return data.substring( 0, htmlEnd + 7 ); - } - - return data; - } - - type = this._.normalizeType( type ); - - var data = this._.data[ type ], - result; - - if ( isEmpty( data ) ) { - try { - data = this.$.getData( type ); - } catch ( e ) {} - } - - if ( isEmpty( data ) ) { - data = ''; - } - - // Some browsers add at the begging of the HTML data - // or surround it with ...(some content) and (some content) - // This code removes meta tags and returns only the contents of the element if found. Note that - // some significant content may be placed outside Start/EndFragment comments so it's kept. - // - // See http://dev.ckeditor.com/ticket/13583 for more details. - // Additionally http://dev.ckeditor.com/ticket/16847 adds a flag allowing to get the whole, original content. - if ( type == 'text/html' && !getNative ) { - data = data.replace( this._.metaRegExp, '' ); - - // Keep only contents of the element - result = this._.bodyRegExp.exec( data ); - if ( result && result.length ) { - data = result[ 1 ]; - - // Remove also comments. - data = data.replace( this._.fragmentRegExp, '' ); - } - } - // Firefox on Linux put files paths as a text/plain data if there are files - // in the dataTransfer object. We need to hide it, because files should be - // handled on paste only if dataValue is empty. - else if ( type == 'Text' && CKEDITOR.env.gecko && this.getFilesCount() && - data.substring( 0, 7 ) == 'file://' ) { - data = ''; - } - - return filterUnwantedCharacters( data ); - }, - - /** - * Facade for the native `setData` method. - * - * @param {String} type The type of data to retrieve. - * @param {String} value The data to add. - */ - setData: function( type, value ) { - type = this._.normalizeType( type ); - - this._.data[ type ] = value; - - // There is "Unexpected call to method or property access." error if you try - // to set data of unsupported type on IE. - if ( !CKEDITOR.plugins.clipboard.isCustomDataTypesSupported && type != 'URL' && type != 'Text' ) { - return; - } - - // If we use the text type to bind the ID, then if someone tries to set the text, we must also - // update ID accordingly. http://dev.ckeditor.com/ticket/13468. - if ( clipboardIdDataType == 'Text' && type == 'Text' ) { - this.id = value; - } - - try { - this.$.setData( type, value ); - } catch ( e ) {} - }, - - /** - * Gets the data transfer type. - * - * @param {CKEDITOR.editor} targetEditor The drop/paste target editor instance. - * @returns {Number} Possible values: {@link CKEDITOR#DATA_TRANSFER_INTERNAL}, - * {@link CKEDITOR#DATA_TRANSFER_CROSS_EDITORS}, {@link CKEDITOR#DATA_TRANSFER_EXTERNAL}. - */ - getTransferType: function( targetEditor ) { - if ( !this.sourceEditor ) { - return CKEDITOR.DATA_TRANSFER_EXTERNAL; - } else if ( this.sourceEditor == targetEditor ) { - return CKEDITOR.DATA_TRANSFER_INTERNAL; - } else { - return CKEDITOR.DATA_TRANSFER_CROSS_EDITORS; - } - }, - - /** - * Copies the data from the native data transfer to a private cache. - * This function is needed because the data from the native data transfer - * is available only synchronously to the event listener. It is not possible - * to get the data asynchronously, after a timeout, and the {@link CKEDITOR.editor#paste} - * event is fired asynchronously — hence the need for caching the data. - */ - cacheData: function() { - if ( !this.$ ) { - return; - } - - var that = this, - i, file; - - function getAndSetData( type ) { - type = that._.normalizeType( type ); - - var data = that.getData( type, true ); - if ( data ) { - that._.data[ type ] = data; - } - } - - // Copy data. - if ( CKEDITOR.plugins.clipboard.isCustomDataTypesSupported ) { - if ( this.$.types ) { - for ( i = 0; i < this.$.types.length; i++ ) { - getAndSetData( this.$.types[ i ] ); - } - } - } else { - getAndSetData( 'Text' ); - getAndSetData( 'URL' ); - } - - // Copy files references. - file = this._getImageFromClipboard(); - if ( ( this.$ && this.$.files ) || file ) { - this._.files = []; - - // Edge have empty files property with no length (http://dev.ckeditor.com/ticket/13755). - if ( this.$.files && this.$.files.length ) { - for ( i = 0; i < this.$.files.length; i++ ) { - this._.files.push( this.$.files[ i ] ); - } - } - - // Don't include $.items if both $.files and $.items contains files, because, - // according to spec and browsers behavior, they contain the same files. - if ( this._.files.length === 0 && file ) { - this._.files.push( file ); - } - } - }, - - /** - * Gets the number of files in the dataTransfer object. - * - * @returns {Number} The number of files. - */ - getFilesCount: function() { - if ( this._.files.length ) { - return this._.files.length; - } - - if ( this.$ && this.$.files && this.$.files.length ) { - return this.$.files.length; - } - - return this._getImageFromClipboard() ? 1 : 0; - }, - - /** - * Gets the file at the index given. - * - * @param {Number} i Index. - * @returns {File} File instance. - */ - getFile: function( i ) { - if ( this._.files.length ) { - return this._.files[ i ]; - } - - if ( this.$ && this.$.files && this.$.files.length ) { - return this.$.files[ i ]; - } - - // File or null if the file was not found. - return i === 0 ? this._getImageFromClipboard() : undefined; - }, - - /** - * Checks if the data transfer contains any data. - * - * @returns {Boolean} `true` if the object contains no data. - */ - isEmpty: function() { - var typesToCheck = {}, - type; - - // If dataTransfer contains files it is not empty. - if ( this.getFilesCount() ) { - return false; - } - - // Add custom types. - for ( type in this._.data ) { - typesToCheck[ type ] = 1; - } - - // Add native types. - if ( this.$ ) { - if ( CKEDITOR.plugins.clipboard.isCustomDataTypesSupported ) { - if ( this.$.types ) { - for ( var i = 0; i < this.$.types.length; i++ ) { - typesToCheck[ this.$.types[ i ] ] = 1; - } - } - } else { - typesToCheck.Text = 1; - typesToCheck.URL = 1; - } - } - - // Remove ID. - if ( clipboardIdDataType != 'Text' ) { - typesToCheck[ clipboardIdDataType ] = 0; - } - - for ( type in typesToCheck ) { - if ( typesToCheck[ type ] && this.getData( type ) !== '' ) { - return false; - } - } - - return true; - }, - - /** - * When the content of the clipboard is pasted in Chrome, the clipboard data object has an empty `files` property, - * but it is possible to get the file as `items[0].getAsFile();` (http://dev.ckeditor.com/ticket/12961). - * - * @private - * @returns {File} File instance or `null` if not found. - */ - _getImageFromClipboard: function() { - var file; - - if ( this.$ && this.$.items && this.$.items[ 0 ] ) { - try { - file = this.$.items[ 0 ].getAsFile(); - // Duck typing - if ( file && file.type ) { - return file; - } - } catch ( err ) { - // noop - } - } - - return undefined; - } - }; -} )(); - -/** - * The default content type that is used when pasted data cannot be clearly recognized as HTML or text. - * - * For example: `'foo'` may come from a plain text editor or a website. It is not possible to recognize the content - * type in this case, so the default type will be used. At the same time it is clear that `'example text'` is - * HTML and its origin is a web page, email or another rich text editor. - * - * **Note:** If content type is text, then styles of the paste context are preserved. - * - * CKEDITOR.config.clipboard_defaultContentType = 'text'; - * - * See also the {@link CKEDITOR.editor#paste} event and read more about the integration with clipboard - * in the [Clipboard Deep Dive guide](#!/guide/dev_clipboard). - * - * @since 4.0 - * @cfg {'html'/'text'} [clipboard_defaultContentType='html'] - * @member CKEDITOR.config - */ - -/** - * Fired after the user initiated a paste action, but before the data is inserted into the editor. - * The listeners to this event are able to process the content before its insertion into the document. - * - * Read more about the integration with clipboard in the [Clipboard Deep Dive guide](#!/guide/dev_clipboard). - * - * See also: - * - * * the {@link CKEDITOR.config#pasteFilter} option, - * * the {@link CKEDITOR.editor#drop} event, - * * the {@link CKEDITOR.plugins.clipboard.dataTransfer} class. - * - * @since 3.1 - * @event paste - * @member CKEDITOR.editor - * @param {CKEDITOR.editor} editor This editor instance. - * @param data - * @param {String} data.type The type of data in `data.dataValue`. Usually `'html'` or `'text'`, but for listeners - * with a priority smaller than `6` it may also be `'auto'` which means that the content type has not been recognised yet - * (this will be done by the content type sniffer that listens with priority `6`). - * @param {String} data.dataValue HTML to be pasted. - * @param {String} data.method Indicates the data transfer method. It could be drag and drop or copy and paste. - * Possible values: `'drop'`, `'paste'`. Introduced in CKEditor 4.5. - * @param {CKEDITOR.plugins.clipboard.dataTransfer} data.dataTransfer Facade for the native dataTransfer object - * which provides access to various data types and files, and passes some data between linked events - * (like drag and drop). Introduced in CKEditor 4.5. - * @param {Boolean} [data.dontFilter=false] Whether the {@link CKEDITOR.editor#pasteFilter paste filter} should not - * be applied to data. This option has no effect when `data.type` equals `'text'` which means that for instance - * {@link CKEDITOR.config#forcePasteAsPlainText} has a higher priority. Introduced in CKEditor 4.5. - */ - -/** - * Fired before the {@link #paste} event. Allows to preset data type. - * - * **Note:** This event is deprecated. Add a `0` priority listener for the - * {@link #paste} event instead. - * - * @deprecated - * @event beforePaste - * @member CKEDITOR.editor - */ - -/** - * Fired after the {@link #paste} event if content was modified. Note that if the paste - * event does not insert any data, the `afterPaste` event will not be fired. - * - * @event afterPaste - * @member CKEDITOR.editor - */ - -/** - * Facade for the native `drop` event. Fired when the native `drop` event occurs. - * - * **Note:** To manipulate dropped data, use the {@link CKEDITOR.editor#paste} event. - * Use the `drop` event only to control drag and drop operations (e.g. to prevent the ability to drop some content). - * - * Read more about integration with drag and drop in the [Clipboard Deep Dive guide](#!/guide/dev_clipboard). - * - * See also: - * - * * The {@link CKEDITOR.editor#paste} event, - * * The {@link CKEDITOR.editor#dragstart} and {@link CKEDITOR.editor#dragend} events, - * * The {@link CKEDITOR.plugins.clipboard.dataTransfer} class. - * - * @since 4.5 - * @event drop - * @member CKEDITOR.editor - * @param {CKEDITOR.editor} editor This editor instance. - * @param data - * @param {Object} data.$ Native drop event. - * @param {CKEDITOR.dom.node} data.target Drop target. - * @param {CKEDITOR.plugins.clipboard.dataTransfer} data.dataTransfer DataTransfer facade. - * @param {CKEDITOR.dom.range} data.dragRange Drag range, lets you manipulate the drag range. - * Note that dragged HTML is saved as `text/html` data on `dragstart` so if you change the drag range - * on drop, dropped HTML will not change. You need to change it manually using - * {@link CKEDITOR.plugins.clipboard.dataTransfer#setData dataTransfer.setData}. - * @param {CKEDITOR.dom.range} data.dropRange Drop range, lets you manipulate the drop range. - */ - -/** - * Facade for the native `dragstart` event. Fired when the native `dragstart` event occurs. - * - * This event can be canceled in order to block the drag start operation. It can also be fired to mimic the start of the drag and drop - * operation. For instance, the `widget` plugin uses this option to integrate its custom block widget drag and drop with - * the entire system. - * - * Read more about integration with drag and drop in the [Clipboard Deep Dive guide](#!/guide/dev_clipboard). - * - * See also: - * - * * The {@link CKEDITOR.editor#paste} event, - * * The {@link CKEDITOR.editor#drop} and {@link CKEDITOR.editor#dragend} events, - * * The {@link CKEDITOR.plugins.clipboard.dataTransfer} class. - * - * @since 4.5 - * @event dragstart - * @member CKEDITOR.editor - * @param {CKEDITOR.editor} editor This editor instance. - * @param data - * @param {Object} data.$ Native dragstart event. - * @param {CKEDITOR.dom.node} data.target Drag target. - * @param {CKEDITOR.plugins.clipboard.dataTransfer} data.dataTransfer DataTransfer facade. - */ - -/** - * Facade for the native `dragend` event. Fired when the native `dragend` event occurs. - * - * Read more about integration with drag and drop in the [Clipboard Deep Dive guide](#!/guide/dev_clipboard). - * - * See also: - * - * * The {@link CKEDITOR.editor#paste} event, - * * The {@link CKEDITOR.editor#drop} and {@link CKEDITOR.editor#dragend} events, - * * The {@link CKEDITOR.plugins.clipboard.dataTransfer} class. - * - * @since 4.5 - * @event dragend - * @member CKEDITOR.editor - * @param {CKEDITOR.editor} editor This editor instance. - * @param data - * @param {Object} data.$ Native dragend event. - * @param {CKEDITOR.dom.node} data.target Drag target. - * @param {CKEDITOR.plugins.clipboard.dataTransfer} data.dataTransfer DataTransfer facade. - */ - -/** - * Defines a filter which is applied to external data pasted or dropped into the editor. Possible values are: - * - * * `'plain-text'` – Content will be pasted as a plain text. - * * `'semantic-content'` – Known tags (except `div`, `span`) with all attributes (except - * `style` and `class`) will be kept. - * * `'h1 h2 p div'` – Custom rules compatible with {@link CKEDITOR.filter}. - * * `null` – Content will not be filtered by the paste filter (but it still may be filtered - * by [Advanced Content Filter](#!/guide/dev_advanced_content_filter)). This value can be used to - * disable the paste filter in Chrome and Safari, where this option defaults to `'semantic-content'`. - * - * Example: - * - * config.pasteFilter = 'plain-text'; - * - * Custom setting: - * - * config.pasteFilter = 'h1 h2 p ul ol li; img[!src, alt]; a[!href]'; - * - * Based on this configuration option, a proper {@link CKEDITOR.filter} instance will be defined and assigned to the editor - * as a {@link CKEDITOR.editor#pasteFilter}. You can tweak the paste filter settings on the fly on this object - * as well as delete or replace it. - * - * var editor = CKEDITOR.replace( 'editor', { - * pasteFilter: 'semantic-content' - * } ); - * - * editor.on( 'instanceReady', function() { - * // The result of this will be that all semantic content will be preserved - * // except tables. - * editor.pasteFilter.disallow( 'table' ); - * } ); - * - * Note that the paste filter is applied only to **external** data. There are three data sources: - * - * * copied and pasted in the same editor (internal), - * * copied from one editor and pasted into another (cross-editor), - * * coming from all other sources like websites, MS Word, etc. (external). - * - * If {@link CKEDITOR.config#allowedContent Advanced Content Filter} is not disabled, then - * it will also be applied to pasted and dropped data. The paste filter job is to "normalize" - * external data which often needs to be handled differently than content produced by the editor. - * - * This setting defaults to `'semantic-content'` in Chrome, Opera and Safari (all Blink and Webkit based browsers) - * due to messy HTML which these browsers keep in the clipboard. In other browsers it defaults to `null`. - * - * @since 4.5 - * @cfg {String} [pasteFilter='semantic-content' in Chrome and Safari and `null` in other browsers] - * @member CKEDITOR.config - */ - -/** - * {@link CKEDITOR.filter Content filter} which is used when external data is pasted or dropped into the editor - * or a forced paste as plain text occurs. - * - * This object might be used on the fly to define rules for pasted external content. - * This object is available and used if the {@link CKEDITOR.plugins.clipboard clipboard} plugin is enabled and - * {@link CKEDITOR.config#pasteFilter} or {@link CKEDITOR.config#forcePasteAsPlainText} was defined. - * - * To enable the filter: - * - * var editor = CKEDITOR.replace( 'editor', { - * pasteFilter: 'plain-text' - * } ); - * - * You can also modify the filter on the fly later on: - * - * editor.pasteFilter = new CKEDITOR.filter( 'p h1 h2; a[!href]' ); - * - * Note that the paste filter is only applied to **external** data. There are three data sources: - * - * * copied and pasted in the same editor (internal), - * * copied from one editor and pasted into another (cross-editor), - * * coming from all other sources like websites, MS Word, etc. (external). - * - * If {@link CKEDITOR.config#allowedContent Advanced Content Filter} is not disabled, then - * it will also be applied to pasted and dropped data. The paste filter job is to "normalize" - * external data which often needs to be handled differently than content produced by the editor. - * - * @since 4.5 - * @readonly - * @property {CKEDITOR.filter} [pasteFilter] - * @member CKEDITOR.editor - */ - -/** - * Duration of the notification displayed after pasting was blocked by the browser. - * - * @since 4.7.0 - * @cfg {Number} [clipboard_notificationDuration=10000] - * @member CKEDITOR.config - */ -CKEDITOR.config.clipboard_notificationDuration = 10000; diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/dialog/dialogDefinition.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/dialog/dialogDefinition.js index 0239ad155b..a7d415339e 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/dialog/dialogDefinition.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/dialog/dialogDefinition.js @@ -1,4 +1,4 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/dialog/styles/dialog.css b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/dialog/styles/dialog.css index fd9562142a..9fbcaba3e5 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/dialog/styles/dialog.css +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/dialog/styles/dialog.css @@ -3,65 +3,16 @@ } .cke_dialog_container { - position: fixed !important; + position: fixed; overflow-y: auto; overflow-x: auto; - width: 100% !important; + width: 100%; height: 100%; - top: -1px !important; - left: -1px !important; + top: 0; + left: 0; z-index: 10010; - background: none; - max-width: 100%; -} - -.simpleLinkDialog > .cke_dialog { - position: relative !important; -} -.cke_dialog { - width: auto; -} -input#cke_61_textInput { - width: 100%; } -textarea#cke_58_textarea { - border: Solid 1px #e1e8ee; - box-shadow: none; - width: 100%; - height: 40px; - resize: none; - padding: 9px 0; -} -.uiActionBorder { - border-top: none; - text-align: center; - padding: 15px 0; +.cke_dialog_body { + position: relative; } -@media (min-width: 768px) and (max-width: 1024px) { - .btn.btn-primary, .btn-primary { - border: none !important; - box-shadow: none !important; - padding: 10px 20px !important; - } - body .btn { - padding: 9px 20px !important; - box-shadow: none !important; - box-sizing: border-box !important; - } - .uiPopup { - margin: auto !important; - width: 100% !important; - } - .uiPopup .cke_dialog { - left: auto !important; - top: auto !important; - right: auto !important; - bottom: auto !important; - z-index: 10000 !important; - position: relative !important; - } - .uiPopupWrapper { - z-index: 0 !important; - } -} \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/icons.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/icons.png index 937c3eb4a9..bf525eb0f5 100644 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/icons.png and b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/icons.png differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/icons_hidpi.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/icons_hidpi.png index 030c0aad85..c6656acead 100644 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/icons_hidpi.png and b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/icons_hidpi.png differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/image/dialogs/image.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/image/dialogs/image.js index 92c01edd71..bdde12723c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/image/dialogs/image.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/image/dialogs/image.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ (function(){var u=function(d,k){function u(){var a=arguments,b=this.getContentElement("advanced","txtdlgGenStyle");b&&b.commit.apply(b,a);this.foreach(function(b){b.commit&&"txtdlgGenStyle"!=b.id&&b.commit.apply(b,a)})}function g(a){if(!v){v=1;var b=this.getDialog(),c=b.imageElement;if(c){this.commit(1,c);a=[].concat(a);for(var d=a.length,h,e=0;e tag. (#3863) - if ( element && !element.is( 'a' ) ) { - element = element.getAscendant( 'a' ) || element; - } - - if ( element && element.type === CKEDITOR.NODE_ELEMENT && - ( element.data( 'cke-real-element-type' ) === 'anchor' || element.is( 'a' ) ) ) { - return element; - } - } - - function removeAnchorsWithinRange( range ) { - var newRange = range.clone(); - newRange.enlarge( CKEDITOR.ENLARGE_ELEMENT ); - - var walker = new CKEDITOR.dom.walker( newRange ), - element = newRange.collapsed ? newRange.startContainer : walker.next(), - bookmark = range.createBookmark(); - - while ( element ) { - if ( element.type === CKEDITOR.NODE_ELEMENT && element.getAttribute( 'data-cke-saved-name' ) ) { - element.remove( true ); - // Reset the walker and start from beginning, to check if element has more nested anchors. - // Without it, next element is null, so there might be space to more nested elements. - walker.reset(); - } - element = walker.next(); - } - range.moveToBookmark( bookmark ); - } - - return { - title: editor.lang.link.anchor.title, - minWidth: 300, - minHeight: 60, - getModel: function( editor ) { - return getSelectedAnchor( editor.getSelection() ) || null; - }, - onOk: function() { - var name = CKEDITOR.tools.trim( this.getValueOf( 'info', 'txtName' ) ), - attributes = { - id: name, - name: name, - 'data-cke-saved-name': name - }, - selectedElement = this.getModel( editor ); - - if ( selectedElement ) { - if ( selectedElement.data( 'cke-realelement' ) ) { - var newFake = createFakeAnchor( editor, attributes ); - newFake.replace( selectedElement ); - - // Selecting fake element for IE. (https://dev.ckeditor.com/ticket/11377) - if ( CKEDITOR.env.ie ) { - editor.getSelection().selectElement( newFake ); - } - } else { - selectedElement.setAttributes( attributes ); - } - } else { - var sel = editor.getSelection(), - range = sel && sel.getRanges()[ 0 ]; - - // Empty anchor - if ( range.collapsed ) { - var anchor = createFakeAnchor( editor, attributes ); - range.insertNode( anchor ); - } else { - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) - attributes[ 'class' ] = 'cke_anchor'; - - // (#4728) - removeAnchorsWithinRange( range ); - // Apply style. - var style = new CKEDITOR.style( { element: 'a', attributes: attributes } ); - style.type = CKEDITOR.STYLE_INLINE; - style.applyToRange( range ); - } - } - }, - - onShow: function() { - var sel = editor.getSelection(), - fullySelected = this.getModel( editor ), - fakeSelected = fullySelected && fullySelected.data( 'cke-realelement' ), - linkElement = fakeSelected ? - CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, fullySelected ) : - CKEDITOR.plugins.link.getSelectedLink( editor ); - - if ( linkElement ) { - loadElements.call( this, linkElement ); - !fakeSelected && sel.selectElement( linkElement ); - } - - this.getContentElement( 'info', 'txtName' ).focus(); - }, - contents: [ { - id: 'info', - label: editor.lang.link.anchor.title, - accessKey: 'I', - elements: [ { - type: 'text', - id: 'txtName', - label: editor.lang.link.anchor.name, - required: true, - validate: function() { - // https://html.spec.whatwg.org/multipage/dom.html#global-attributes - // The id attribute value must not contain any space characters (#5305). - // [ space, tabulation, line feed, new line, form feed, carriage return ] - var disallowedWhitespacesRegex = /[\u0020\u0009\u000a\u000c\u000d]/g, - content = this.getValue(); - - if ( !content ) { - alert( editor.lang.link.anchor.errorName ); // jshint ignore:line - return false; - } - - // Disallow creating anchors with space characters (#5305). - if ( disallowedWhitespacesRegex.test( content ) ) { - alert( editor.lang.link.anchor.errorWhitespace ); // jshint ignore:line - return false; - } - - return true; - } - } ] - } ] - }; -} ); +/* + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("anchor",function(c){function f(b,a){return b.createFakeElement(b.document.createElement("a",{attributes:a}),"cke_anchor","anchor")}return{title:c.lang.link.anchor.title,minWidth:300,minHeight:60,getModel:function(b){var a=b.getSelection();b=a.getRanges()[0];a=a.getSelectedElement();b.shrink(CKEDITOR.SHRINK_ELEMENT);(a=b.getEnclosedNode())&&a.type===CKEDITOR.NODE_TEXT&&(a=a.getParent());a&&!a.is("a")&&(a=a.getAscendant("a")||a);b=a&&a.type===CKEDITOR.NODE_ELEMENT&&("anchor"=== +a.data("cke-real-element-type")||a.is("a"))?a:void 0;return b||null},onOk:function(){var b=CKEDITOR.tools.trim(this.getValueOf("info","txtName")),b={id:b,name:b,"data-cke-saved-name":b},a=this.getModel(c);if(a)a.data("cke-realelement")?(b=f(c,b),b.replace(a),CKEDITOR.env.ie&&c.getSelection().selectElement(b)):a.setAttributes(b);else if(a=(a=c.getSelection())&&a.getRanges()[0],a.collapsed)b=f(c,b),a.insertNode(b);else{CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(b["class"]="cke_anchor");var d=a.clone(); +d.enlarge(CKEDITOR.ENLARGE_ELEMENT);for(var e=new CKEDITOR.dom.walker(d),d=d.collapsed?d.startContainer:e.next(),g=a.createBookmark();d;)d.type===CKEDITOR.NODE_ELEMENT&&d.getAttribute("data-cke-saved-name")&&(d.remove(!0),e.reset()),d=e.next();a.moveToBookmark(g);b=new CKEDITOR.style({element:"a",attributes:b});b.type=CKEDITOR.STYLE_INLINE;b.applyToRange(a)}},onShow:function(){var b=c.getSelection(),a=this.getModel(c),d=a&&a.data("cke-realelement");if(a=d?CKEDITOR.plugins.link.tryRestoreFakeAnchor(c, +a):CKEDITOR.plugins.link.getSelectedLink(c)){var e=a.data("cke-saved-name");this.setValueOf("info","txtName",e||"");!d&&b.selectElement(a)}this.getContentElement("info","txtName").focus()},contents:[{id:"info",label:c.lang.link.anchor.title,accessKey:"I",elements:[{type:"text",id:"txtName",label:c.lang.link.anchor.name,required:!0,validate:function(){var b=this.getValue();return b?/[\u0020\u0009\u000a\u000c\u000d]/g.test(b)?(alert(c.lang.link.anchor.errorWhitespace),!1):!0:(alert(c.lang.link.anchor.errorName), +!1)}}]}]}}); \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/dialogs/link.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/dialogs/link.js index 8ed45057ef..80faa613ec 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/dialogs/link.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/dialogs/link.js @@ -1,1098 +1,30 @@ -/** - * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. - * CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. - */ - -'use strict'; - -( function() { - CKEDITOR.dialog.add( 'link', function( editor ) { - var plugin = CKEDITOR.plugins.link, - initialLinkText; - - function createRangeForLink( editor, link ) { - var range = editor.createRange(); - - range.setStartBefore( link ); - range.setEndAfter( link ); - - return range; - } - - function insertLinksIntoSelection( editor, data ) { - var attributes = plugin.getLinkAttributes( editor, data ), - ranges = editor.getSelection().getRanges(), - style = new CKEDITOR.style( { - element: 'a', - attributes: attributes.set - } ), - rangesToSelect = [], - range, - text, - nestedLinks, - i, - j; - - style.type = CKEDITOR.STYLE_INLINE; // need to override... dunno why. - - for ( i = 0; i < ranges.length; i++ ) { - range = ranges[ i ]; - - // Use link URL as text with a collapsed cursor. - if ( range.collapsed ) { - // Short mailto link text view (https://dev.ckeditor.com/ticket/5736). - text = new CKEDITOR.dom.text( data.linkText || ( data.type == 'email' ? - data.email.address : attributes.set[ 'data-cke-saved-href' ] ), editor.document ); - range.insertNode( text ); - range.selectNodeContents( text ); - } else if ( initialLinkText !== data.linkText ) { - text = new CKEDITOR.dom.text( data.linkText, editor.document ); - - // Shrink range to preserve block element. - range.shrink( CKEDITOR.SHRINK_TEXT ); - - // Use extractHtmlFromRange to remove markup within the selection. Also this method is a little - // smarter than range#deleteContents as it plays better e.g. with table cells. - editor.editable().extractHtmlFromRange( range ); - - range.insertNode( text ); - } - - // Editable links nested within current range should be removed, so that the link is applied to whole selection. - nestedLinks = range._find( 'a' ); - - for ( j = 0; j < nestedLinks.length; j++ ) { - nestedLinks[ j ].remove( true ); - } - - // Apply style. - style.applyToRange( range, editor ); - - rangesToSelect.push( range ); - } - - editor.getSelection().selectRanges( rangesToSelect ); - } - - function editLinksInSelection( editor, selectedElements, data ) { - var attributes = plugin.getLinkAttributes( editor, data ), - ranges = [], - isDisplayChanged, - isEmailEqualDisplay, - isURLEqualDisplay, - element, - href, - newText, - i; - - for ( i = 0; i < selectedElements.length; i++ ) { - // We're only editing an existing link, so just overwrite the attributes. - element = selectedElements[ i ]; - href = element.data( 'cke-saved-href' ); - isDisplayChanged = data.linkText && initialLinkText != data.linkText; - isURLEqualDisplay = href == initialLinkText; - isEmailEqualDisplay = data.type == 'email' && href == 'mailto:' + initialLinkText; - - element.setAttributes( attributes.set ); - element.removeAttributes( attributes.removed ); - - if ( isDisplayChanged ) { - // Display text has been changed. - newText = data.linkText; - } else if ( isURLEqualDisplay || isEmailEqualDisplay ) { - // Update text view when user changes protocol (https://dev.ckeditor.com/ticket/4612). - // Short mailto link text view (https://dev.ckeditor.com/ticket/5736). - newText = data.type == 'email' ? data.email.address : attributes.set[ 'data-cke-saved-href' ]; - } - - if ( newText ) { - element.setText( newText ); - } - - ranges.push( createRangeForLink( editor, element ) ); - } - - // We changed the content, so need to select it again. - editor.getSelection().selectRanges( ranges ); - } - - // Handles the event when the "Target" selection box is changed. - var targetChanged = function() { - var dialog = this.getDialog(), - popupFeatures = dialog.getContentElement( 'target', 'popupFeatures' ), - targetName = dialog.getContentElement( 'target', 'linkTargetName' ), - value = this.getValue(); - - if ( !popupFeatures || !targetName ) { - return; - } - - popupFeatures = popupFeatures.getElement(); - popupFeatures.hide(); - targetName.setValue( '' ); - - switch ( value ) { - case 'frame': - targetName.setLabel( editor.lang.link.targetFrameName ); - targetName.getElement().show(); - break; - case 'popup': - popupFeatures.show(); - targetName.setLabel( editor.lang.link.targetPopupName ); - targetName.getElement().show(); - break; - default: - targetName.setValue( value ); - targetName.getElement().hide(); - break; - } - - }; - - // Handles the event when the "Type" selection box is changed. - var linkTypeChanged = function() { - var dialog = this.getDialog(), - partIds = [ 'urlOptions', 'anchorOptions', 'emailOptions', 'telOptions' ], - typeValue = this.getValue(), - uploadTab = dialog.definition.getContents( 'upload' ), - uploadInitiallyHidden = uploadTab && uploadTab.hidden; - - if ( typeValue == 'url' ) { - if ( editor.config.linkShowTargetTab ) { - dialog.showPage( 'target' ); - } - if ( !uploadInitiallyHidden ) { - dialog.showPage( 'upload' ); - } - } else { - dialog.hidePage( 'target' ); - if ( !uploadInitiallyHidden ) { - dialog.hidePage( 'upload' ); - } - } - - for ( var i = 0; i < partIds.length; i++ ) { - var element = dialog.getContentElement( 'info', partIds[ i ] ); - if ( !element ) { - continue; - } - - element = element.getElement().getParent().getParent(); - if ( partIds[ i ] == typeValue + 'Options' ) { - element.show(); - } else { - element.hide(); - } - } - - dialog.layout(); - }; - - var setupParams = function( page, data ) { - if ( data[ page ] ) { - this.setValue( data[ page ][ this.id ] || '' ); - } - }; - - var setupPopupParams = function( data ) { - return setupParams.call( this, 'target', data ); - }; - - var setupAdvParams = function( data ) { - return setupParams.call( this, 'advanced', data ); - }; - - var commitParams = function( page, data ) { - if ( !data[ page ] ) { - data[ page ] = {}; - } - - data[ page ][ this.id ] = this.getValue() || ''; - }; - - var commitPopupParams = function( data ) { - return commitParams.call( this, 'target', data ); - }; - - var commitAdvParams = function( data ) { - return commitParams.call( this, 'advanced', data ); - }; - - var commonLang = editor.lang.common, - linkLang = editor.lang.link, - anchors; - - return { - title: linkLang.title, - minWidth: ( CKEDITOR.skinName || editor.config.skin ) == 'moono-lisa' ? 450 : 350, - minHeight: 240, - getModel: function( editor ) { - var elements = plugin.getSelectedLink( editor, true ), - firstLink = elements[ 0 ] || null; - - return firstLink; - }, - contents: [ { - id: 'info', - label: linkLang.info, - title: linkLang.info, - elements: [ { - type: 'text', - id: 'linkDisplayText', - label: linkLang.displayText, - setup: function() { - this.enable(); - - this.setValue( editor.getSelection().getSelectedText() ); - - // Keep inner text so that it can be compared in commit function. By obtaining value from getData() - // we get value stripped from new line chars which is important when comparing the value later on. - initialLinkText = this.getValue(); - }, - commit: function( data ) { - data.linkText = this.isEnabled() ? this.getValue() : ''; - } - }, - { - id: 'linkType', - type: 'select', - label: linkLang.type, - 'default': 'url', - items: [ - [ linkLang.toUrl, 'url' ], - [ linkLang.toAnchor, 'anchor' ], - [ linkLang.toEmail, 'email' ], - [ linkLang.toPhone, 'tel' ] - ], - onChange: linkTypeChanged, - setup: function( data ) { - this.setValue( data.type || 'url' ); - }, - commit: function( data ) { - data.type = this.getValue(); - } - }, - { - type: 'vbox', - id: 'urlOptions', - children: [ { - type: 'hbox', - widths: [ '25%', '75%' ], - children: [ { - id: 'protocol', - type: 'select', - label: commonLang.protocol, - items: [ - // Force 'ltr' for protocol names in BIDI. (https://dev.ckeditor.com/ticket/5433) - [ 'http://\u200E', 'http://' ], - [ 'https://\u200E', 'https://' ], - [ 'ftp://\u200E', 'ftp://' ], - [ 'news://\u200E', 'news://' ], - [ linkLang.other, '' ] - ], - 'default': editor.config.linkDefaultProtocol, - setup: function( data ) { - if ( data.url ) { - this.setValue( data.url.protocol || '' ); - } - }, - commit: function( data ) { - if ( !data.url ) { - data.url = {}; - } - - data.url.protocol = this.getValue(); - } - }, - { - type: 'text', - id: 'url', - label: commonLang.url, - required: true, - onLoad: function() { - this.allowOnChange = true; - }, - onKeyUp: function() { - this.allowOnChange = false; - var protocolCmb = this.getDialog().getContentElement( 'info', 'protocol' ), - url = this.getValue(), - urlOnChangeProtocol = /^(http|https|ftp|news):\/\/(?=.)/i, - urlOnChangeTestOther = /^((javascript:)|[#\/\.\?])/i, - protocol = urlOnChangeProtocol.exec( url ); - - if ( protocol ) { - this.setValue( url.substr( protocol[ 0 ].length ) ); - protocolCmb.setValue( protocol[ 0 ].toLowerCase() ); - } else if ( urlOnChangeTestOther.test( url ) ) { - protocolCmb.setValue( '' ); - } - - this.allowOnChange = true; - }, - onChange: function() { - // Dont't call on dialog load. - if ( this.allowOnChange ) { - this.onKeyUp(); - } - }, - validate: function() { - var dialog = this.getDialog(); - - if ( dialog.getContentElement( 'info', 'linkType' ) && dialog.getValueOf( 'info', 'linkType' ) != 'url' ) { - return true; - } - - if ( !editor.config.linkJavaScriptLinksAllowed && ( /javascript\:/ ).test( this.getValue() ) ) { - alert( commonLang.invalidValue ); // jshint ignore:line - return false; - } - - // Edit Anchor. - if ( this.getDialog().fakeObj ) { - return true; - } - - var func = CKEDITOR.dialog.validate.notEmpty( linkLang.noUrl ); - return func.apply( this ); - }, - setup: function( data ) { - this.allowOnChange = false; - if ( data.url ) { - this.setValue( data.url.url ); - } - this.allowOnChange = true; - - }, - commit: function( data ) { - // IE will not trigger the onChange event if the mouse has been used - // to carry all the operations https://dev.ckeditor.com/ticket/4724 - this.onChange(); - - if ( !data.url ) { - data.url = {}; - } - - data.url.url = this.getValue(); - this.allowOnChange = false; - } - } ], - setup: function() { - if ( !this.getDialog().getContentElement( 'info', 'linkType' ) ) { - this.getElement().show(); - } - } - }, - { - type: 'button', - id: 'browse', - hidden: 'true', - filebrowser: 'info:url', - label: commonLang.browseServer - } ] - }, - { - type: 'vbox', - id: 'anchorOptions', - width: 260, - align: 'center', - padding: 0, - children: [ { - type: 'fieldset', - id: 'selectAnchorText', - label: linkLang.selectAnchor, - setup: function() { - anchors = plugin.getEditorAnchors( editor ); - - this.getElement()[ anchors && anchors.length ? 'show' : 'hide' ](); - }, - children: [ { - type: 'hbox', - id: 'selectAnchor', - children: [ { - type: 'select', - id: 'anchorName', - 'default': '', - label: linkLang.anchorName, - style: 'width: 100%;', - items: [ - [ '' ] - ], - setup: function( data ) { - this.clear(); - this.add( '' ); - - if ( anchors ) { - for ( var i = 0; i < anchors.length; i++ ) { - if ( anchors[ i ].name ) { - this.add( anchors[ i ].name ); - } - } - } - - if ( data.anchor ) { - this.setValue( data.anchor.name ); - } - - var linkType = this.getDialog().getContentElement( 'info', 'linkType' ); - if ( linkType && linkType.getValue() == 'email' ) { - this.focus(); - } - }, - commit: function( data ) { - if ( !data.anchor ) { - data.anchor = {}; - } - - data.anchor.name = this.getValue(); - } - }, - { - type: 'select', - id: 'anchorId', - 'default': '', - label: linkLang.anchorId, - style: 'width: 100%;', - items: [ - [ '' ] - ], - setup: function( data ) { - this.clear(); - this.add( '' ); - - if ( anchors ) { - for ( var i = 0; i < anchors.length; i++ ) { - if ( anchors[ i ].id ) { - this.add( anchors[ i ].id ); - } - } - } - - if ( data.anchor ) { - this.setValue( data.anchor.id ); - } - }, - commit: function( data ) { - if ( !data.anchor ) { - data.anchor = {}; - } - - data.anchor.id = this.getValue(); - } - } ], - setup: function() { - this.getElement()[ anchors && anchors.length ? 'show' : 'hide' ](); - } - } ] - }, - { - type: 'html', - id: 'noAnchors', - style: 'text-align: center;', - html: '

' + CKEDITOR.tools.htmlEncode( linkLang.noAnchors ) + '
', - // Focus the first element defined in above html. - focus: true, - setup: function() { - this.getElement()[ anchors && anchors.length ? 'hide' : 'show' ](); - } - } ], - setup: function() { - if ( !this.getDialog().getContentElement( 'info', 'linkType' ) ) { - this.getElement().hide(); - } - } - }, - { - type: 'vbox', - id: 'emailOptions', - padding: 1, - children: [ { - type: 'text', - id: 'emailAddress', - label: linkLang.emailAddress, - required: true, - validate: function() { - var dialog = this.getDialog(); - - if ( !dialog.getContentElement( 'info', 'linkType' ) || dialog.getValueOf( 'info', 'linkType' ) != 'email' ) { - return true; - } - - var func = CKEDITOR.dialog.validate.notEmpty( linkLang.noEmail ); - return func.apply( this ); - }, - setup: function( data ) { - if ( data.email ) { - this.setValue( data.email.address ); - } - - var linkType = this.getDialog().getContentElement( 'info', 'linkType' ); - if ( linkType && linkType.getValue() == 'email' ) { - this.select(); - } - }, - commit: function( data ) { - if ( !data.email ) { - data.email = {}; - } - - data.email.address = this.getValue(); - } - }, - { - type: 'text', - id: 'emailSubject', - label: linkLang.emailSubject, - setup: function( data ) { - if ( data.email ) { - this.setValue( data.email.subject ); - } - }, - commit: function( data ) { - if ( !data.email ) { - data.email = {}; - } - - data.email.subject = this.getValue(); - } - }, - { - type: 'textarea', - id: 'emailBody', - label: linkLang.emailBody, - rows: 3, - 'default': '', - setup: function( data ) { - if ( data.email ) { - this.setValue( data.email.body ); - } - }, - commit: function( data ) { - if ( !data.email ) { - data.email = {}; - } - - data.email.body = this.getValue(); - } - } ], - setup: function() { - if ( !this.getDialog().getContentElement( 'info', 'linkType' ) ) { - this.getElement().hide(); - } - } - }, - { - type: 'vbox', - id: 'telOptions', - padding: 1, - children: [ { - type: 'tel', - id: 'telNumber', - label: linkLang.phoneNumber, - required: true, - validate: validateTelNumber, - setup: function( data ) { - if ( data.tel ) { - this.setValue( data.tel ); - } - - var linkType = this.getDialog().getContentElement( 'info', 'linkType' ); - if ( linkType && linkType.getValue() == 'tel' ) { - this.select(); - } - }, - commit: function( data ) { - data.tel = this.getValue(); - } - } ], - setup: function() { - if ( !this.getDialog().getContentElement( 'info', 'linkType' ) ) { - this.getElement().hide(); - } - } - } ] - }, - { - id: 'target', - requiredContent: 'a[target]', // This is not fully correct, because some target option requires JS. - label: linkLang.target, - title: linkLang.target, - elements: [ { - type: 'hbox', - widths: [ '50%', '50%' ], - children: [ { - type: 'select', - id: 'linkTargetType', - label: commonLang.target, - 'default': 'notSet', - style: 'width : 100%;', - 'items': [ - [ commonLang.notSet, 'notSet' ], - [ linkLang.targetFrame, 'frame' ], - [ linkLang.targetPopup, 'popup' ], - [ commonLang.targetNew, '_blank' ], - [ commonLang.targetTop, '_top' ], - [ commonLang.targetSelf, '_self' ], - [ commonLang.targetParent, '_parent' ] - ], - onChange: targetChanged, - setup: function( data ) { - if ( data.target ) { - this.setValue( data.target.type || 'notSet' ); - } - targetChanged.call( this ); - }, - commit: function( data ) { - if ( !data.target ) { - data.target = {}; - } - - data.target.type = this.getValue(); - } - }, - { - type: 'text', - id: 'linkTargetName', - label: linkLang.targetFrameName, - 'default': '', - setup: function( data ) { - if ( data.target ) { - this.setValue( data.target.name ); - } - }, - commit: function( data ) { - if ( !data.target ) { - data.target = {}; - } - - data.target.name = this.getValue().replace( /([^\x00-\x7F]|\s)/gi, '' ); - } - } ] - }, - { - type: 'vbox', - width: '100%', - align: 'center', - padding: 2, - id: 'popupFeatures', - children: [ { - type: 'fieldset', - label: linkLang.popupFeatures, - children: [ { - type: 'hbox', - children: [ { - type: 'checkbox', - id: 'resizable', - label: linkLang.popupResizable, - setup: setupPopupParams, - commit: commitPopupParams - }, - { - type: 'checkbox', - id: 'status', - label: linkLang.popupStatusBar, - setup: setupPopupParams, - commit: commitPopupParams - } ] - }, - { - type: 'hbox', - children: [ { - type: 'checkbox', - id: 'location', - label: linkLang.popupLocationBar, - setup: setupPopupParams, - commit: commitPopupParams - }, - { - type: 'checkbox', - id: 'toolbar', - label: linkLang.popupToolbar, - setup: setupPopupParams, - commit: commitPopupParams - } ] - }, - { - type: 'hbox', - children: [ { - type: 'checkbox', - id: 'menubar', - label: linkLang.popupMenuBar, - setup: setupPopupParams, - commit: commitPopupParams - }, - { - type: 'checkbox', - id: 'fullscreen', - label: linkLang.popupFullScreen, - setup: setupPopupParams, - commit: commitPopupParams - } ] - }, - { - type: 'hbox', - children: [ { - type: 'checkbox', - id: 'scrollbars', - label: linkLang.popupScrollBars, - setup: setupPopupParams, - commit: commitPopupParams - }, - { - type: 'checkbox', - id: 'dependent', - label: linkLang.popupDependent, - setup: setupPopupParams, - commit: commitPopupParams - } ] - }, - { - type: 'hbox', - children: [ { - type: 'text', - widths: [ '50%', '50%' ], - labelLayout: 'horizontal', - label: commonLang.width, - id: 'width', - setup: setupPopupParams, - commit: commitPopupParams - }, - { - type: 'text', - labelLayout: 'horizontal', - widths: [ '50%', '50%' ], - label: linkLang.popupLeft, - id: 'left', - setup: setupPopupParams, - commit: commitPopupParams - } ] - }, - { - type: 'hbox', - children: [ { - type: 'text', - labelLayout: 'horizontal', - widths: [ '50%', '50%' ], - label: commonLang.height, - id: 'height', - setup: setupPopupParams, - commit: commitPopupParams - }, - { - type: 'text', - labelLayout: 'horizontal', - label: linkLang.popupTop, - widths: [ '50%', '50%' ], - id: 'top', - setup: setupPopupParams, - commit: commitPopupParams - } ] - } ] - } ] - } ] - }, - { - id: 'upload', - label: linkLang.upload, - title: linkLang.upload, - hidden: true, - filebrowser: 'uploadButton', - elements: [ { - type: 'file', - id: 'upload', - label: commonLang.upload, - style: 'height:40px', - size: 29 - }, - { - type: 'fileButton', - id: 'uploadButton', - label: commonLang.uploadSubmit, - filebrowser: 'info:url', - 'for': [ 'upload', 'upload' ] - } ] - }, - { - id: 'advanced', - label: linkLang.advanced, - title: linkLang.advanced, - elements: [ { - type: 'vbox', - padding: 1, - children: [ { - type: 'hbox', - widths: [ '45%', '35%', '20%' ], - children: [ { - type: 'text', - id: 'advId', - requiredContent: 'a[id]', - label: linkLang.id, - setup: setupAdvParams, - commit: commitAdvParams - }, - { - type: 'select', - id: 'advLangDir', - requiredContent: 'a[dir]', - label: linkLang.langDir, - 'default': '', - style: 'width:110px', - items: [ - [ commonLang.notSet, '' ], - [ linkLang.langDirLTR, 'ltr' ], - [ linkLang.langDirRTL, 'rtl' ] - ], - setup: setupAdvParams, - commit: commitAdvParams - }, - { - type: 'text', - id: 'advAccessKey', - requiredContent: 'a[accesskey]', - width: '80px', - label: linkLang.acccessKey, - maxLength: 1, - setup: setupAdvParams, - commit: commitAdvParams - } ] - }, - { - type: 'hbox', - widths: [ '45%', '35%', '20%' ], - children: [ { - type: 'text', - label: linkLang.name, - id: 'advName', - requiredContent: 'a[name]', - setup: setupAdvParams, - commit: commitAdvParams - }, - { - type: 'text', - label: linkLang.langCode, - id: 'advLangCode', - requiredContent: 'a[lang]', - width: '110px', - 'default': '', - setup: setupAdvParams, - commit: commitAdvParams - }, - { - type: 'text', - label: linkLang.tabIndex, - id: 'advTabIndex', - requiredContent: 'a[tabindex]', - width: '80px', - maxLength: 5, - setup: setupAdvParams, - commit: commitAdvParams - } ] - } ] - }, - { - type: 'vbox', - padding: 1, - children: [ { - type: 'hbox', - widths: [ '45%', '55%' ], - children: [ { - type: 'text', - label: linkLang.advisoryTitle, - requiredContent: 'a[title]', - 'default': '', - id: 'advTitle', - setup: setupAdvParams, - commit: commitAdvParams - }, - { - type: 'text', - label: linkLang.advisoryContentType, - requiredContent: 'a[type]', - 'default': '', - id: 'advContentType', - setup: setupAdvParams, - commit: commitAdvParams - } ] - }, - { - type: 'hbox', - widths: [ '45%', '55%' ], - children: [ { - type: 'text', - label: linkLang.cssClasses, - requiredContent: 'a(cke-xyz)', // Random text like 'xyz' will check if all are allowed. - 'default': '', - id: 'advCSSClasses', - setup: setupAdvParams, - commit: commitAdvParams - }, - { - type: 'text', - label: linkLang.charset, - requiredContent: 'a[charset]', - 'default': '', - id: 'advCharset', - setup: setupAdvParams, - commit: commitAdvParams - } ] - }, - { - type: 'hbox', - widths: [ '45%', '55%' ], - children: [ { - type: 'text', - label: linkLang.rel, - requiredContent: 'a[rel]', - 'default': '', - id: 'advRel', - setup: setupAdvParams, - commit: commitAdvParams - }, - { - type: 'text', - label: linkLang.styles, - requiredContent: 'a{cke-xyz}', // Random text like 'xyz' will check if all are allowed. - 'default': '', - id: 'advStyles', - validate: CKEDITOR.dialog.validate.inlineStyle( editor.lang.common.invalidInlineStyle ), - setup: setupAdvParams, - commit: commitAdvParams - } ] - }, - { - type: 'hbox', - widths: [ '45%', '55%' ], - children: [ { - type: 'checkbox', - id: 'download', - requiredContent: 'a[download]', - label: linkLang.download, - setup: function( data ) { - if ( data.download !== undefined ) { - this.setValue( 'checked', 'checked' ); - } - }, - commit: function( data ) { - if ( this.getValue() ) { - data.download = this.getValue(); - } - } - } ] - } ] - } ] - } ], - onShow: function() { - var editor = this.getParentEditor(), - selection = editor.getSelection(), - displayTextField = this.getContentElement( 'info', 'linkDisplayText' ).getElement().getParent().getParent(), - elements = plugin.getSelectedLink( editor, true ), - firstLink = elements[ 0 ] || null; - - // Fill in all the relevant fields if there's already one link selected. - if ( firstLink && firstLink.hasAttribute( 'href' ) ) { - // Don't change selection if some element is already selected. - // For example - don't destroy fake selection. - if ( !selection.getSelectedElement() && !selection.isInTable() ) { - selection.selectElement( firstLink ); - } - } - - var data = plugin.parseLinkAttributes( editor, firstLink ); - - // Here we'll decide whether or not we want to show Display Text field. - if ( elements.length <= 1 && plugin.showDisplayTextForElement( firstLink, editor ) ) { - displayTextField.show(); - } else { - displayTextField.hide(); - } - - // Record down the selected element in the dialog. - this._.selectedElements = elements; - - this.setupContent( data ); - }, - onOk: function() { - var data = {}; - - // Collect data from fields. - this.commitContent( data ); - - if ( !this._.selectedElements.length ) { - insertLinksIntoSelection( editor, data ); - } else { - editLinksInSelection( editor, this._.selectedElements, data ); - - delete this._.selectedElements; - } - }, - onLoad: function() { - if ( !editor.config.linkShowAdvancedTab ) { - this.hidePage( 'advanced' ); //Hide Advanded tab. - } - - if ( !editor.config.linkShowTargetTab ) { - this.hidePage( 'target' ); //Hide Target tab. - } - }, - // Inital focus on 'url' field if link is of type URL. - onFocus: function() { - var linkType = this.getContentElement( 'info', 'linkType' ), - urlField; - - if ( linkType && linkType.getValue() == 'url' ) { - urlField = this.getContentElement( 'info', 'url' ); - urlField.select(); - } - } - }; - } ); - - function validateTelNumber() { - var dialog = this.getDialog(), - editor = dialog._.editor, - regExp = editor.config.linkPhoneRegExp, - msg = editor.config.linkPhoneMsg, - linkLang = editor.lang.link, - messageWhenEmpty = CKEDITOR.dialog.validate.notEmpty( linkLang.noTel ).apply( this ); - - if ( !dialog.getContentElement( 'info', 'linkType' ) || dialog.getValueOf( 'info', 'linkType' ) != 'tel' ) { - return true; - } - - if ( messageWhenEmpty !== true ) { - return messageWhenEmpty; - } - - if ( regExp ) { - return CKEDITOR.dialog.validate.regex( regExp, msg ).call( this ); - } - } -} )(); -// jscs:disable maximumLineLength -/** - * The e-mail address anti-spam protection option. The protection will be - * applied when creating or modifying e-mail links through the editor interface. - * - * Two methods of protection can be chosen: - * - * 1. The e-mail parts (name, domain, and any other query string) are - * assembled into a function call pattern. Such function must be - * provided by the developer in the pages that will use the contents. - * 2. Only the e-mail address is obfuscated into a special string that - * has no meaning for humans or spam bots, but which is properly - * rendered and accepted by the browser. - * - * Both approaches require JavaScript to be enabled. - * - * // href="mailto:tester@ckeditor.com?subject=subject&body=body" - * config.emailProtection = ''; - * - * // href="e-mail" - * config.emailProtection = 'encode'; - * - * // href="javascript:mt('tester','ckeditor.com','subject','body')" - * config.emailProtection = 'mt(NAME,DOMAIN,SUBJECT,BODY)'; - * - * @since 3.1.0 - * @cfg {String} [emailProtection='' (empty string = disabled)] - * @member CKEDITOR.config - */ +/* + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){function u(){var c=this.getDialog(),p=c._.editor,n=p.config.linkPhoneRegExp,q=p.config.linkPhoneMsg,p=CKEDITOR.dialog.validate.notEmpty(p.lang.link.noTel).apply(this);if(!c.getContentElement("info","linkType")||"tel"!=c.getValueOf("info","linkType"))return!0;if(!0!==p)return p;if(n)return CKEDITOR.dialog.validate.regex(n,q).call(this)}CKEDITOR.dialog.add("link",function(c){function p(a,b){var c=a.createRange();c.setStartBefore(b);c.setEndAfter(b);return c}var n=CKEDITOR.plugins.link,q, +t=function(){var a=this.getDialog(),b=a.getContentElement("target","popupFeatures"),a=a.getContentElement("target","linkTargetName"),r=this.getValue();if(b&&a)switch(b=b.getElement(),b.hide(),a.setValue(""),r){case "frame":a.setLabel(c.lang.link.targetFrameName);a.getElement().show();break;case "popup":b.show();a.setLabel(c.lang.link.targetPopupName);a.getElement().show();break;default:a.setValue(r),a.getElement().hide()}},d=function(a){a.target&&this.setValue(a.target[this.id]||"")},g=function(a){a.advanced&& +this.setValue(a.advanced[this.id]||"")},e=function(a){a.target||(a.target={});a.target[this.id]=this.getValue()||""},k=function(a){a.advanced||(a.advanced={});a.advanced[this.id]=this.getValue()||""},h=c.lang.common,b=c.lang.link,l;return{title:b.title,minWidth:"moono-lisa"==(CKEDITOR.skinName||c.config.skin)?450:350,minHeight:240,getModel:function(a){return n.getSelectedLink(a,!0)[0]||null},contents:[{id:"info",label:b.info,title:b.info,elements:[{type:"text",id:"linkDisplayText",label:b.displayText, +setup:function(){this.enable();this.setValue(c.getSelection().getSelectedText());q=this.getValue()},commit:function(a){a.linkText=this.isEnabled()?this.getValue():""}},{id:"linkType",type:"select",label:b.type,"default":"url",items:[[b.toUrl,"url"],[b.toAnchor,"anchor"],[b.toEmail,"email"],[b.toPhone,"tel"]],onChange:function(){var a=this.getDialog(),b=["urlOptions","anchorOptions","emailOptions","telOptions"],r=this.getValue(),f=a.definition.getContents("upload"),f=f&&f.hidden;"url"==r?(c.config.linkShowTargetTab&& +a.showPage("target"),f||a.showPage("upload")):(a.hidePage("target"),f||a.hidePage("upload"));for(f=0;f=f.length&&n.showDisplayTextForElement(m,a)?c.show():c.hide();this._.selectedElements=f;this.setupContent(b)},onOk:function(){var a={};this.commitContent(a);if(this._.selectedElements.length){var b=this._.selectedElements,h=n.getLinkAttributes(c,a),f=[],m,l,d,g,e,k;for(k=0;k', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Afhanklik (Netscape)', - popupFeatures: 'Eienskappe van opspringvenster', - popupFullScreen: 'Volskerm (IE)', - popupLeft: 'Posisie links', - popupLocationBar: 'Adresbalk', - popupMenuBar: 'Spyskaartbalk', - popupResizable: 'Herskaalbaar', - popupScrollBars: 'Skuifbalke', - popupStatusBar: 'Statusbalk', - popupToolbar: 'Werkbalk', - popupTop: 'Posisie bo', - rel: 'Relationship', // MISSING - selectAnchor: 'Kies \'n anker', - styles: 'Styl', - tabIndex: 'Tab indeks', - target: 'Doel', - targetFrame: '', - targetFrameName: 'Naam van doelraam', - targetPopup: '', - targetPopupName: 'Naam van opspringvenster', - title: 'Skakel', - toAnchor: 'Anker in bladsy', - toEmail: 'E-pos', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Skakel invoeg/wysig', - type: 'Skakelsoort', - unlink: 'Verwyder skakel', - upload: 'Oplaai' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ar.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ar.js deleted file mode 100644 index 9d71eb9c5c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ar.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'ar', { - acccessKey: 'مفاتيح الإختصار', - advanced: 'متقدم', - advisoryContentType: 'نوع التقرير', - advisoryTitle: 'عنوان التقرير', - anchor: { - toolbar: 'إشارة مرجعية', - menu: 'تحرير الإشارة المرجعية', - title: 'خصائص الإشارة المرجعية', - name: 'اسم الإشارة المرجعية', - errorName: 'الرجاء كتابة اسم الإشارة المرجعية', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'إزالة الإشارة المرجعية' - }, - anchorId: 'حسب رقم العنصر', - anchorName: 'حسب إسم الإشارة المرجعية', - charset: 'ترميز المادة المطلوبة', - cssClasses: 'فئات التنسيق', - download: 'فرض التحميل', - displayText: 'نص العرض', - emailAddress: 'البريد الإلكتروني', - emailBody: 'محتوى الرسالة', - emailSubject: 'موضوع الرسالة', - id: 'هوية', - info: 'معلومات الرابط', - langCode: 'رمز اللغة', - langDir: 'إتجاه نص اللغة', - langDirLTR: 'اليسار لليمين (LTR)', - langDirRTL: 'اليمين لليسار (RTL)', - menu: 'تحرير الرابط', - name: 'إسم', - noAnchors: '(لا توجد علامات مرجعية في هذا المستند)', - noEmail: 'الرجاء كتابة الريد الإلكتروني', - noUrl: 'الرجاء كتابة رابط الموقع', - noTel: 'Please type the phone number', // MISSING - other: '<أخرى>', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'تابع (Netscape)', - popupFeatures: 'خصائص النافذة المنبثقة', - popupFullScreen: 'ملئ الشاشة (IE)', - popupLeft: 'التمركز لليسار', - popupLocationBar: 'شريط العنوان', - popupMenuBar: 'القوائم الرئيسية', - popupResizable: 'قابلة التشكيل', - popupScrollBars: 'أشرطة التمرير', - popupStatusBar: 'شريط الحالة', - popupToolbar: 'شريط الأدوات', - popupTop: 'التمركز للأعلى', - rel: 'العلاقة', - selectAnchor: 'اختر علامة مرجعية', - styles: 'نمط', - tabIndex: 'الترتيب', - target: 'هدف الرابط', - targetFrame: '<إطار>', - targetFrameName: 'اسم الإطار المستهدف', - targetPopup: '<نافذة منبثقة>', - targetPopupName: 'اسم النافذة المنبثقة', - title: 'رابط', - toAnchor: 'مكان في هذا المستند', - toEmail: 'بريد إلكتروني', - toUrl: 'الرابط', - toPhone: 'Phone', // MISSING - toolbar: 'رابط', - type: 'نوع الربط', - unlink: 'إزالة رابط', - upload: 'رفع' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/az.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/az.js deleted file mode 100644 index 0f8019e131..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/az.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'az', { - acccessKey: 'Qısayol düyməsi', - advanced: 'Geniş seçimləri', - advisoryContentType: 'Məsləhətli məzmunun növü', - advisoryTitle: 'Məsləhətli başlıq', - anchor: { - toolbar: 'Xeş', - menu: 'Xeşi redaktə et', - title: 'Xeşin seçimləri', - name: 'Xeşin adı', - errorName: 'Xeşin adı yanlışdır', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Xeşin adı sil' - }, - anchorId: 'ID görə', - anchorName: 'Xeşin adına görə', - charset: 'Hədəfin kodlaşdırması', - cssClasses: 'Üslub klası', - download: 'Məcburi yükləmə', - displayText: 'Göstərilən mətn', - emailAddress: 'E-poçt ünvanı', - emailBody: 'Mesajın məzmunu', - emailSubject: 'Mesajın başlığı', - id: 'ID', - info: 'Linkin xüsusiyyətləri', - langCode: 'Dilin kodu', - langDir: 'Yaziların istiqaməti', - langDirLTR: 'Soldan sağa (LTR)', - langDirRTL: 'Sağdan sola (RTL)', - menu: 'Linki redaktə et', - name: 'Ad', - noAnchors: '(heç bir xeş tapılmayıb)', - noEmail: 'E-poçt ünvanı daxil edin', - noUrl: 'Linkin URL-ı daxil edin', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Asılı (Netscape)', - popupFeatures: 'Pəncərənin xüsusiyyətləri', - popupFullScreen: 'Tam ekran rejimi (IE)', - popupLeft: 'Solda', - popupLocationBar: 'Ünvan paneli', - popupMenuBar: 'Menyu paneli', - popupResizable: 'Olçülər dəyişilir', - popupScrollBars: 'Sürüşdürmələr göstər', - popupStatusBar: 'Bildirişlərin paneli', - popupToolbar: 'Alətlərin paneli', - popupTop: 'Yuxarıda', - rel: 'Münasibət', - selectAnchor: 'Xeşi seçin', - styles: 'Üslub', - tabIndex: 'Tabın nömrəsi', - target: 'Hədəf çərçivə', - targetFrame: '', - targetFrameName: 'Freymin adı', - targetPopup: '', - targetPopupName: 'Pəncərənin adı', - title: 'Link', - toAnchor: 'Xeş', - toEmail: 'E-poçt', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Link', - type: 'Linkin növü', - unlink: 'Linki sil', - upload: 'Serverə yüklə' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/bg.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/bg.js deleted file mode 100644 index 775b4fe392..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/bg.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'bg', { - acccessKey: 'Клавиш за достъп', - advanced: 'Разширено', - advisoryContentType: 'Тип на съдържанието', - advisoryTitle: 'Заглавие', - anchor: { - toolbar: 'Котва', - menu: 'Промяна на котва', - title: 'Настройки на котва', - name: 'Име на котва', - errorName: 'Моля въведете име на котвата', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Премахване на котва' - }, - anchorId: 'По ID на елемент', - anchorName: 'По име на котва', - charset: 'Езиков код на свързания ресурс', - cssClasses: 'CSS класове', - download: 'Укажи изтегляне', - displayText: 'Текст за показване', - emailAddress: 'Имейл aдрес', - emailBody: 'Съдържание', - emailSubject: 'Тема', - id: 'Id', - info: 'Връзка', - langCode: 'Езиков код', - langDir: 'Посока на езика', - langDirLTR: 'От ляво надясно (LTR)', - langDirRTL: 'От дясно наляво (RTL)', - menu: 'Промяна на връзка', - name: 'Име', - noAnchors: '(Няма котви в текущия документ)', - noEmail: 'Моля въведете имейл адрес', - noUrl: 'Моля въведете URL адрес', - noTel: 'Please type the phone number', // MISSING - other: '<друго>', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Зависимост (Netscape)', - popupFeatures: 'Функции на изкачащ прозорец', - popupFullScreen: 'Цял екран (IE)', - popupLeft: 'Лява позиция', - popupLocationBar: 'Лента с локацията', - popupMenuBar: 'Лента за меню', - popupResizable: 'Оразмеряем', - popupScrollBars: 'Ленти за прелистване', - popupStatusBar: 'Статусна лента', - popupToolbar: 'Лента с инструменти', - popupTop: 'Горна позиция', - rel: 'Свързаност (rel атрибут)', - selectAnchor: 'Изберете котва', - styles: 'Стил', - tabIndex: 'Ред на достъп', - target: 'Цел', - targetFrame: '', - targetFrameName: 'Име на целевия прозорец', - targetPopup: '<изкачащ прозорец>', - targetPopupName: 'Име на изкачащ прозорец', - title: 'Връзка', - toAnchor: 'Връзка към котва в текста', - toEmail: 'Имейл', - toUrl: 'Уеб адрес', - toPhone: 'Phone', // MISSING - toolbar: 'Връзка', - type: 'Тип на връзката', - unlink: 'Премахни връзката', - upload: 'Качване' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/bn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/bn.js deleted file mode 100644 index e99d6f3f12..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/bn.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'bn', { - acccessKey: 'প্রবেশ কী', - advanced: 'এডভান্সড', - advisoryContentType: 'পরামর্শ কন্টেন্টের প্রকার', - advisoryTitle: 'পরামর্শ শীর্ষক', - anchor: { - toolbar: 'নোঙ্গর', - menu: 'নোঙর প্রোপার্টি', - title: 'নোঙর প্রোপার্টি', - name: 'নোঙরের নাম', - errorName: 'নোঙরের নাম টাইপ করুন', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'নোঙরের আইডি দিয়ে', - anchorName: 'নোঙরের নাম দিয়ে', - charset: 'লিংক রিসোর্স ক্যারেক্টর সেট', - cssClasses: 'স্টাইল-শীট ক্লাস', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'ইমেইল ঠিকানা', - emailBody: 'মেসেজের দেহ', - emailSubject: 'মেসেজের বিষয়', - id: 'আইডি', - info: 'লিংক তথ্য', - langCode: 'ভাষা লেখার দিক', - langDir: 'ভাষা লেখার দিক', - langDirLTR: 'বাম থেকে ডান (LTR)', - langDirRTL: 'ডান থেকে বাম (RTL)', - menu: 'লিংক সম্পাদন', - name: 'নাম', - noAnchors: '(No anchors available in the document)', // MISSING - noEmail: 'অনুগ্রহ করে ইমেইল এড্রেস টাইপ করুন', - noUrl: 'অনুগ্রহ করে URL লিংক টাইপ করুন', - noTel: 'Please type the phone number', // MISSING - other: '', // MISSING - phoneNumber: 'Phone number', // MISSING - popupDependent: 'ডিপেন্ডেন্ট (Netscape)', - popupFeatures: 'পপআপ উইন্ডো ফীচার সমূহ', - popupFullScreen: 'পূর্ণ পর্দা জুড়ে (IE)', - popupLeft: 'বামের পজিশন', - popupLocationBar: 'লোকেশন বার', - popupMenuBar: 'মেন্যু বার', - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'স্ক্রল বার', - popupStatusBar: 'স্ট্যাটাস বার', - popupToolbar: 'টুল বার', - popupTop: 'ডানের পজিশন', - rel: 'Relationship', // MISSING - selectAnchor: 'নোঙর বাছাই', - styles: 'স্টাইল', - tabIndex: 'ট্যাব ইন্ডেক্স', - target: 'টার্গেট', - targetFrame: '<ফ্রেম>', - targetFrameName: 'টার্গেট ফ্রেমের নাম', - targetPopup: '<পপআপ উইন্ডো>', - targetPopupName: 'পপআপ উইন্ডোর নাম', - title: 'লিংক', - toAnchor: 'এই পেজে নোঙর কর', - toEmail: 'ইমেইল', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'লিংক যুক্ত কর', - type: 'লিংক প্রকার', - unlink: 'লিংক সরাও', - upload: 'আপলোড' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/bs.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/bs.js deleted file mode 100644 index 0b820cd2db..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/bs.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'bs', { - acccessKey: 'Pristupna tipka', - advanced: 'Naprednije', - advisoryContentType: 'Advisory vrsta sadržaja', - advisoryTitle: 'Advisory title', - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'Po Id-u elementa', - anchorName: 'Po nazivu sidra', - charset: 'Linked Resource Charset', - cssClasses: 'Klase CSS stilova', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'E-Mail Adresa', - emailBody: 'Poruka', - emailSubject: 'Subjekt poruke', - id: 'Id', - info: 'Link info', - langCode: 'Smjer pisanja', - langDir: 'Smjer pisanja', - langDirLTR: 'S lijeva na desno (LTR)', - langDirRTL: 'S desna na lijevo (RTL)', - menu: 'Izmjeni link', - name: 'Naziv', - noAnchors: '(Nema dostupnih sidra na stranici)', - noEmail: 'Molimo ukucajte e-mail adresu', - noUrl: 'Molimo ukucajte URL link', - noTel: 'Please type the phone number', // MISSING - other: '', // MISSING - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Ovisno (Netscape)', - popupFeatures: 'Moguænosti popup prozora', - popupFullScreen: 'Cijeli ekran (IE)', - popupLeft: 'Lijeva pozicija', - popupLocationBar: 'Traka za lokaciju', - popupMenuBar: 'Izborna traka', - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Scroll traka', - popupStatusBar: 'Statusna traka', - popupToolbar: 'Traka sa alatima', - popupTop: 'Gornja pozicija', - rel: 'Relationship', // MISSING - selectAnchor: 'Izaberi sidro', - styles: 'Stil', - tabIndex: 'Tab indeks', - target: 'Prozor', - targetFrame: '', - targetFrameName: 'Target Frame Name', // MISSING - targetPopup: '', - targetPopupName: 'Naziv popup prozora', - title: 'Link', - toAnchor: 'Sidro na ovoj stranici', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Ubaci/Izmjeni link', - type: 'Tip linka', - unlink: 'Izbriši link', - upload: 'Šalji' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ca.js deleted file mode 100644 index cbb887d8ea..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ca.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'ca', { - acccessKey: 'Clau d\'accés', - advanced: 'Avançat', - advisoryContentType: 'Tipus de contingut consultiu', - advisoryTitle: 'Títol consultiu', - anchor: { - toolbar: 'Insereix/Edita àncora', - menu: 'Propietats de l\'àncora', - title: 'Propietats de l\'àncora', - name: 'Nom de l\'àncora', - errorName: 'Si us plau, escriviu el nom de l\'ancora', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'Per Id d\'element', - anchorName: 'Per nom d\'àncora', - charset: 'Conjunt de caràcters font enllaçat', - cssClasses: 'Classes del full d\'estil', - download: 'Force Download', // MISSING - displayText: 'Text a mostrar', - emailAddress: 'Adreça de correu electrònic', - emailBody: 'Cos del missatge', - emailSubject: 'Assumpte del missatge', - id: 'Id', - info: 'Informació de l\'enllaç', - langCode: 'Direcció de l\'idioma', - langDir: 'Direcció de l\'idioma', - langDirLTR: 'D\'esquerra a dreta (LTR)', - langDirRTL: 'De dreta a esquerra (RTL)', - menu: 'Edita l\'enllaç', - name: 'Nom', - noAnchors: '(No hi ha àncores disponibles en aquest document)', - noEmail: 'Si us plau, escrigui l\'adreça correu electrònic', - noUrl: 'Si us plau, escrigui l\'enllaç URL', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Depenent (Netscape)', - popupFeatures: 'Característiques finestra popup', - popupFullScreen: 'Pantalla completa (IE)', - popupLeft: 'Posició esquerra', - popupLocationBar: 'Barra d\'adreça', - popupMenuBar: 'Barra de menú', - popupResizable: 'Redimensionable', - popupScrollBars: 'Barres d\'scroll', - popupStatusBar: 'Barra d\'estat', - popupToolbar: 'Barra d\'eines', - popupTop: 'Posició dalt', - rel: 'Relació', - selectAnchor: 'Selecciona una àncora', - styles: 'Estil', - tabIndex: 'Index de Tab', - target: 'Destí', - targetFrame: '', - targetFrameName: 'Nom del marc de destí', - targetPopup: '', - targetPopupName: 'Nom finestra popup', - title: 'Enllaç', - toAnchor: 'Àncora en aquesta pàgina', - toEmail: 'Correu electrònic', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Insereix/Edita enllaç', - type: 'Tipus d\'enllaç', - unlink: 'Elimina l\'enllaç', - upload: 'Puja' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/cs.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/cs.js deleted file mode 100644 index 7cb643bbc2..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/cs.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'cs', { - acccessKey: 'Přístupový klíč', - advanced: 'Rozšířené', - advisoryContentType: 'Pomocný typ obsahu', - advisoryTitle: 'Pomocný titulek', - anchor: { - toolbar: 'Záložka', - menu: 'Vlastnosti záložky', - title: 'Vlastnosti záložky', - name: 'Název záložky', - errorName: 'Zadejte prosím název záložky', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Odstranit záložku' - }, - anchorId: 'Podle Id objektu', - anchorName: 'Podle jména kotvy', - charset: 'Přiřazená znaková sada', - cssClasses: 'Třída stylu', - download: 'Vynutit stažení', - displayText: 'Zobrazit text', - emailAddress: 'E-mailová adresa', - emailBody: 'Tělo zprávy', - emailSubject: 'Předmět zprávy', - id: 'Id', - info: 'Informace o odkazu', - langCode: 'Kód jazyka', - langDir: 'Směr jazyka', - langDirLTR: 'Zleva doprava (LTR)', - langDirRTL: 'Zprava doleva (RTL)', - menu: 'Změnit odkaz', - name: 'Jméno', - noAnchors: '(Ve stránce není definována žádná kotva!)', - noEmail: 'Zadejte prosím e-mailovou adresu', - noUrl: 'Zadejte prosím URL odkazu', - noTel: 'Vyplňte prosím telefonní číslo', - other: '', - phoneNumber: 'Telefonní číslo', - popupDependent: 'Závislost (Netscape)', - popupFeatures: 'Vlastnosti vyskakovacího okna', - popupFullScreen: 'Celá obrazovka (IE)', - popupLeft: 'Levý okraj', - popupLocationBar: 'Panel umístění', - popupMenuBar: 'Panel nabídky', - popupResizable: 'Umožňující měnit velikost', - popupScrollBars: 'Posuvníky', - popupStatusBar: 'Stavový řádek', - popupToolbar: 'Panel nástrojů', - popupTop: 'Horní okraj', - rel: 'Vztah', - selectAnchor: 'Vybrat kotvu', - styles: 'Styl', - tabIndex: 'Pořadí prvku', - target: 'Cíl', - targetFrame: '', - targetFrameName: 'Název cílového rámu', - targetPopup: '', - targetPopupName: 'Název vyskakovacího okna', - title: 'Odkaz', - toAnchor: 'Kotva v této stránce', - toEmail: 'E-mail', - toUrl: 'URL', - toPhone: 'Telefon', - toolbar: 'Odkaz', - type: 'Typ odkazu', - unlink: 'Odstranit odkaz', - upload: 'Odeslat' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/cy.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/cy.js deleted file mode 100644 index ff75897b04..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/cy.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'cy', { - acccessKey: 'Allwedd Mynediad', - advanced: 'Uwch', - advisoryContentType: 'Math y Cynnwys Cynghorol', - advisoryTitle: 'Teitl Cynghorol', - anchor: { - toolbar: 'Angor', - menu: 'Golygu\'r Angor', - title: 'Priodweddau\'r Angor', - name: 'Enw\'r Angor', - errorName: 'Teipiwch enw\'r angor', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Tynnwch yr Angor' - }, - anchorId: 'Gan Id yr Elfen', - anchorName: 'Gan Enw\'r Angor', - charset: 'Set Nodau\'r Adnodd Cysylltiedig', - cssClasses: 'Dosbarthiadau Dalen Arddull', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'Cyfeiriad E-Bost', - emailBody: 'Corff y Neges', - emailSubject: 'Testun y Neges', - id: 'Id', - info: 'Gwyb y Ddolen', - langCode: 'Cod Iaith', - langDir: 'Cyfeiriad Iaith', - langDirLTR: 'Chwith i\'r Dde (LTR)', - langDirRTL: 'Dde i\'r Chwith (RTL)', - menu: 'Golygu Dolen', - name: 'Enw', - noAnchors: '(Dim angorau ar gael yn y ddogfen)', - noEmail: 'Teipiwch gyfeiriad yr e-bost', - noUrl: 'Teipiwch URL y ddolen', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dibynnol (Netscape)', - popupFeatures: 'Nodweddion Ffenestr Bop', - popupFullScreen: 'Sgrin Llawn (IE)', - popupLeft: 'Safle Chwith', - popupLocationBar: 'Bar Safle', - popupMenuBar: 'Dewislen', - popupResizable: 'Ailfeintiol', - popupScrollBars: 'Barrau Sgrolio', - popupStatusBar: 'Bar Statws', - popupToolbar: 'Bar Offer', - popupTop: 'Safle Top', - rel: 'Perthynas', - selectAnchor: 'Dewiswch Angor', - styles: 'Arddull', - tabIndex: 'Indecs Tab', - target: 'Targed', - targetFrame: '', - targetFrameName: 'Enw Ffrâm y Targed', - targetPopup: '', - targetPopupName: 'Enw Ffenestr Bop', - title: 'Dolen', - toAnchor: 'Dolen at angor yn y testun', - toEmail: 'E-bost', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Dolen', - type: 'Math y Ddolen', - unlink: 'Datgysylltu', - upload: 'Lanlwytho' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/da.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/da.js deleted file mode 100644 index 327cd8ac5e..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/da.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'da', { - acccessKey: 'Genvejstast', - advanced: 'Avanceret', - advisoryContentType: 'Indholdstype', - advisoryTitle: 'Titel', - anchor: { - toolbar: 'Indsæt/redigér bogmærke', - menu: 'Egenskaber for bogmærke', - title: 'Egenskaber for bogmærke', - name: 'Bogmærkenavn', - errorName: 'Indtast bogmærkenavn', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Fjern bogmærke' - }, - anchorId: 'Efter element-Id', - anchorName: 'Efter ankernavn', - charset: 'Tegnsæt', - cssClasses: 'Typografiark', - download: 'Tving Download', - displayText: 'Vis tekst', - emailAddress: 'E-mailadresse', - emailBody: 'Besked', - emailSubject: 'Emne', - id: 'Id', - info: 'Generelt', - langCode: 'Tekstretning', - langDir: 'Tekstretning', - langDirLTR: 'Fra venstre mod højre (LTR)', - langDirRTL: 'Fra højre mod venstre (RTL)', - menu: 'Redigér hyperlink', - name: 'Navn', - noAnchors: '(Ingen bogmærker i dokumentet)', - noEmail: 'Indtast e-mailadresse!', - noUrl: 'Indtast hyperlink-URL!', - noTel: 'Indtast venligst et telefonnummer', - other: '', - phoneNumber: 'Telefonnummer', - popupDependent: 'Koblet/dependent (Netscape)', - popupFeatures: 'Egenskaber for popup', - popupFullScreen: 'Fuld skærm (IE)', - popupLeft: 'Position fra venstre', - popupLocationBar: 'Adresselinje', - popupMenuBar: 'Menulinje', - popupResizable: 'Justérbar', - popupScrollBars: 'Scrollbar', - popupStatusBar: 'Statuslinje', - popupToolbar: 'Værktøjslinje', - popupTop: 'Position fra toppen', - rel: 'Relation', - selectAnchor: 'Vælg et anker', - styles: 'Typografi', - tabIndex: 'Tabulatorindeks', - target: 'Mål', - targetFrame: '', - targetFrameName: 'Destinationsvinduets navn', - targetPopup: '', - targetPopupName: 'Popupvinduets navn', - title: 'Egenskaber for hyperlink', - toAnchor: 'Bogmærke på denne side', - toEmail: 'E-mail', - toUrl: 'URL', - toPhone: 'Telefon', - toolbar: 'Indsæt/redigér hyperlink', - type: 'Type', - unlink: 'Fjern hyperlink', - upload: 'Upload' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/de-ch.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/de-ch.js deleted file mode 100644 index 81f9574572..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/de-ch.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'de-ch', { - acccessKey: 'Zugriffstaste', - advanced: 'Erweitert', - advisoryContentType: 'Inhaltstyp', - advisoryTitle: 'Titel Beschreibung', - anchor: { - toolbar: 'Anker', - menu: 'Anker bearbeiten', - title: 'Ankereigenschaften', - name: 'Ankername', - errorName: 'Bitte geben Sie den Namen des Ankers ein', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Anker entfernen' - }, - anchorId: 'Nach Elementkennung', - anchorName: 'Nach Ankername', - charset: 'Verknüpfter Ressourcenzeichensatz', - cssClasses: 'Formatvorlagenklasse', - download: 'Herunterladen erzwingen', - displayText: 'Anzeigetext', - emailAddress: 'E-Mail-Adresse', - emailBody: 'Nachrichtentext', - emailSubject: 'Betreffzeile', - id: 'Kennung', - info: 'Linkinfo', - langCode: 'Sprachcode', - langDir: 'Schreibrichtung', - langDirLTR: 'Links nach Rechts (LTR)', - langDirRTL: 'Rechts nach Links (RTL)', - menu: 'Link bearbeiten', - name: 'Name', - noAnchors: '(Keine Anker im Dokument vorhanden)', - noEmail: 'Bitte geben Sie E-Mail-Adresse an', - noUrl: 'Bitte geben Sie die Link-URL an', - noTel: 'Bitte geben Sie die Telefonnummer ein', - other: '', - phoneNumber: 'Telefonnummer', - popupDependent: 'Abhängig (Netscape)', - popupFeatures: 'Pop-up Fenstereigenschaften', - popupFullScreen: 'Vollbild (IE)', - popupLeft: 'Linke Position', - popupLocationBar: 'Adressleiste', - popupMenuBar: 'Menüleiste', - popupResizable: 'Grösse änderbar', - popupScrollBars: 'Rollbalken', - popupStatusBar: 'Statusleiste', - popupToolbar: 'Werkzeugleiste', - popupTop: 'Obere Position', - rel: 'Beziehung', - selectAnchor: 'Anker auswählen', - styles: 'Style', - tabIndex: 'Tab-Index', - target: 'Zielseite', - targetFrame: '', - targetFrameName: 'Ziel-Fenster-Name', - targetPopup: '', - targetPopupName: 'Pop-up Fenster-Name', - title: 'Link', - toAnchor: 'Anker in dieser Seite', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Telefon', - toolbar: 'Link einfügen/editieren', - type: 'Link-Typ', - unlink: 'Link entfernen', - upload: 'Hochladen' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/de.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/de.js deleted file mode 100644 index 16d6451c90..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/de.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'de', { - acccessKey: 'Zugriffstaste', - advanced: 'Erweitert', - advisoryContentType: 'Inhaltstyp', - advisoryTitle: 'Titel Beschreibung', - anchor: { - toolbar: 'Anker', - menu: 'Anker bearbeiten', - title: 'Ankereigenschaften', - name: 'Ankername', - errorName: 'Bitte geben Sie den Namen des Ankers ein', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Anker entfernen' - }, - anchorId: 'Nach Elementkennung', - anchorName: 'Nach Ankername', - charset: 'Verknüpfter Ressourcenzeichensatz', - cssClasses: 'Formatvorlagenklasse', - download: 'Herunterladen erzwingen', - displayText: 'Anzeigetext', - emailAddress: 'E-Mail-Adresse', - emailBody: 'Nachrichtentext', - emailSubject: 'Betreffzeile', - id: 'Kennung', - info: 'Linkinfo', - langCode: 'Sprachcode', - langDir: 'Schreibrichtung', - langDirLTR: 'Links nach Rechts (LTR)', - langDirRTL: 'Rechts nach Links (RTL)', - menu: 'Link bearbeiten', - name: 'Name', - noAnchors: '(Keine Anker im Dokument vorhanden)', - noEmail: 'Bitte geben Sie E-Mail-Adresse an', - noUrl: 'Bitte geben Sie die Link-URL an', - noTel: 'Bitte geben Sie die Telefonnummer ein', - other: '', - phoneNumber: 'Telefonnummer', - popupDependent: 'Abhängig (Netscape)', - popupFeatures: 'Pop-up Fenstereigenschaften', - popupFullScreen: 'Vollbild (IE)', - popupLeft: 'Linke Position', - popupLocationBar: 'Adressleiste', - popupMenuBar: 'Menüleiste', - popupResizable: 'Größe änderbar', - popupScrollBars: 'Rollbalken', - popupStatusBar: 'Statusleiste', - popupToolbar: 'Werkzeugleiste', - popupTop: 'Obere Position', - rel: 'Beziehung', - selectAnchor: 'Anker auswählen', - styles: 'Style', - tabIndex: 'Tab-Index', - target: 'Zielseite', - targetFrame: '', - targetFrameName: 'Ziel-Fenster-Name', - targetPopup: '', - targetPopupName: 'Pop-up Fenster-Name', - title: 'Link', - toAnchor: 'Anker in dieser Seite', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Telefon', - toolbar: 'Link einfügen/editieren', - type: 'Link-Typ', - unlink: 'Link entfernen', - upload: 'Hochladen' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/el.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/el.js deleted file mode 100644 index 1079f47dde..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/el.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'el', { - acccessKey: 'Συντόμευση', - advanced: 'Για Προχωρημένους', - advisoryContentType: 'Ενδεικτικός Τύπος Περιεχομένου', - advisoryTitle: 'Ενδεικτικός Τίτλος', - anchor: { - toolbar: 'Εισαγωγή/επεξεργασία Άγκυρας', - menu: 'Ιδιότητες άγκυρας', - title: 'Ιδιότητες άγκυρας', - name: 'Όνομα άγκυρας', - errorName: 'Παρακαλούμε εισάγετε όνομα άγκυρας', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Αφαίρεση Άγκυρας' - }, - anchorId: 'Βάσει του Element Id', - anchorName: 'Βάσει του Ονόματος Άγκυρας', - charset: 'Κωδικοποίηση Χαρακτήρων Προσαρτημένης Πηγής', - cssClasses: 'Κλάσεις Φύλλων Στυλ', - download: 'Εξαγκασμένη Λήψη', - displayText: 'Κείμενο Εμφάνισης', - emailAddress: 'Διεύθυνση E-mail', - emailBody: 'Κείμενο Μηνύματος', - emailSubject: 'Θέμα Μηνύματος', - id: 'Id', - info: 'Πληροφορίες Συνδέσμου', - langCode: 'Κατεύθυνση Κειμένου', - langDir: 'Κατεύθυνση Κειμένου', - langDirLTR: 'Αριστερά προς Δεξιά (LTR)', - langDirRTL: 'Δεξιά προς Αριστερά (RTL)', - menu: 'Επεξεργασία Συνδέσμου', - name: 'Όνομα', - noAnchors: '(Δεν υπάρχουν άγκυρες στο κείμενο)', - noEmail: 'Εισάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου', - noUrl: 'Εισάγετε την τοποθεσία (URL) του συνδέσμου', - noTel: 'Γράψτε τον αριθμό τηλεφώνου', - other: '<άλλο>', - phoneNumber: 'Αριθμός τηλεφώνου', - popupDependent: 'Εξαρτημένο (Netscape)', - popupFeatures: 'Επιλογές Αναδυόμενου Παραθύρου', - popupFullScreen: 'Πλήρης Οθόνη (IE)', - popupLeft: 'Θέση Αριστερά', - popupLocationBar: 'Γραμμή Τοποθεσίας', - popupMenuBar: 'Γραμμή Επιλογών', - popupResizable: 'Προσαρμοζόμενο Μέγεθος', - popupScrollBars: 'Μπάρες Κύλισης', - popupStatusBar: 'Γραμμή Κατάστασης', - popupToolbar: 'Εργαλειοθήκη', - popupTop: 'Θέση Πάνω', - rel: 'Σχέση', - selectAnchor: 'Επιλέξτε μια Άγκυρα', - styles: 'Μορφή', - tabIndex: 'Σειρά Μεταπήδησης', - target: 'Παράθυρο Προορισμού', - targetFrame: '<πλαίσιο>', - targetFrameName: 'Όνομα Πλαισίου Προορισμού', - targetPopup: '<αναδυόμενο παράθυρο>', - targetPopupName: 'Όνομα Αναδυόμενου Παραθύρου', - title: 'Σύνδεσμος', - toAnchor: 'Άγκυρα σε αυτήν τη σελίδα', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Τηλέφωνο', - toolbar: 'Σύνδεσμος', - type: 'Τύπος Συνδέσμου', - unlink: 'Αφαίρεση Συνδέσμου', - upload: 'Αποστολή' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en-au.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en-au.js deleted file mode 100644 index b4e2a50bda..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en-au.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'en-au', { - acccessKey: 'Access Key', - advanced: 'Advanced', - advisoryContentType: 'Advisory Content Type', - advisoryTitle: 'Advisory Title', - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'By Element Id', - anchorName: 'By Anchor Name', - charset: 'Linked Resource Charset', - cssClasses: 'Stylesheet Classes', - download: 'Force Download', - displayText: 'Display Text', - emailAddress: 'E-Mail Address', - emailBody: 'Message Body', - emailSubject: 'Message Subject', - id: 'Id', - info: 'Link Info', - langCode: 'Language Code', - langDir: 'Language Direction', - langDirLTR: 'Left to Right (LTR)', - langDirRTL: 'Right to Left (RTL)', - menu: 'Edit Link', - name: 'Name', - noAnchors: '(No anchors available in the document)', - noEmail: 'Please type the e-mail address', - noUrl: 'Please type the link URL', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'Popup Window Features', - popupFullScreen: 'Full Screen (IE)', - popupLeft: 'Left Position', - popupLocationBar: 'Location Bar', - popupMenuBar: 'Menu Bar', - popupResizable: 'Resizable', - popupScrollBars: 'Scroll Bars', - popupStatusBar: 'Status Bar', - popupToolbar: 'Toolbar', - popupTop: 'Top Position', - rel: 'Relationship', - selectAnchor: 'Select an Anchor', - styles: 'Style', - tabIndex: 'Tab Index', - target: 'Target', - targetFrame: '', - targetFrameName: 'Target Frame Name', - targetPopup: '', - targetPopupName: 'Popup Window Name', - title: 'Link', - toAnchor: 'Link to anchor in the text', - toEmail: 'E-mail', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Link', - type: 'Link Type', - unlink: 'Unlink', - upload: 'Upload' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en-ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en-ca.js deleted file mode 100644 index 874dfd5d87..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en-ca.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'en-ca', { - acccessKey: 'Access Key', - advanced: 'Advanced', - advisoryContentType: 'Advisory Content Type', - advisoryTitle: 'Advisory Title', - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'By Element Id', - anchorName: 'By Anchor Name', - charset: 'Linked Resource Charset', - cssClasses: 'Stylesheet Classes', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'E-Mail Address', - emailBody: 'Message Body', - emailSubject: 'Message Subject', - id: 'Id', - info: 'Link Info', - langCode: 'Language Code', - langDir: 'Language Direction', - langDirLTR: 'Left to Right (LTR)', - langDirRTL: 'Right to Left (RTL)', - menu: 'Edit Link', - name: 'Name', - noAnchors: '(No anchors available in the document)', - noEmail: 'Please type the e-mail address', - noUrl: 'Please type the link URL', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'Popup Window Features', - popupFullScreen: 'Full Screen (IE)', - popupLeft: 'Left Position', - popupLocationBar: 'Location Bar', - popupMenuBar: 'Menu Bar', - popupResizable: 'Resizable', - popupScrollBars: 'Scroll Bars', - popupStatusBar: 'Status Bar', - popupToolbar: 'Toolbar', - popupTop: 'Top Position', - rel: 'Relationship', // MISSING - selectAnchor: 'Select an Anchor', - styles: 'Style', - tabIndex: 'Tab Index', - target: 'Target', - targetFrame: '', - targetFrameName: 'Target Frame Name', - targetPopup: '', - targetPopupName: 'Popup Window Name', - title: 'Link', - toAnchor: 'Link to anchor in the text', - toEmail: 'E-mail', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Link', - type: 'Link Type', - unlink: 'Unlink', - upload: 'Upload' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en-gb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en-gb.js deleted file mode 100644 index 77693fe940..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en-gb.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'en-gb', { - acccessKey: 'Access Key', - advanced: 'Advanced', - advisoryContentType: 'Advisory Content Type', - advisoryTitle: 'Advisory Title', - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'By Element Id', - anchorName: 'By Anchor Name', - charset: 'Linked Resource Charset', - cssClasses: 'Stylesheet Classes', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'E-Mail Address', - emailBody: 'Message Body', - emailSubject: 'Message Subject', - id: 'Id', - info: 'Link Info', - langCode: 'Language Code', - langDir: 'Language Direction', - langDirLTR: 'Left to Right (LTR)', - langDirRTL: 'Right to Left (RTL)', - menu: 'Edit Link', - name: 'Name', - noAnchors: '(No anchors available in the document)', - noEmail: 'Please type the e-mail address', - noUrl: 'Please type the link URL', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'Popup Window Features', - popupFullScreen: 'Full Screen (IE)', - popupLeft: 'Left Position', - popupLocationBar: 'Location Bar', - popupMenuBar: 'Menu Bar', - popupResizable: 'Resizable', - popupScrollBars: 'Scroll Bars', - popupStatusBar: 'Status Bar', - popupToolbar: 'Toolbar', - popupTop: 'Top Position', - rel: 'Relationship', - selectAnchor: 'Select an Anchor', - styles: 'Style', - tabIndex: 'Tab Index', - target: 'Target', - targetFrame: '', - targetFrameName: 'Target Frame Name', - targetPopup: '', - targetPopupName: 'Popup Window Name', - title: 'Link', - toAnchor: 'Link to anchor in the text', - toEmail: 'E-mail', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Link', - type: 'Link Type', - unlink: 'Unlink', - upload: 'Upload' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en.js deleted file mode 100644 index 3475d84343..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/en.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'en', { - acccessKey: 'Access Key', - advanced: 'Advanced', - advisoryContentType: 'Advisory Content Type', - advisoryTitle: 'Advisory Title', - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - errorWhitespace: 'Anchor name cannot contain space characters', - remove: 'Remove Anchor' - }, - anchorId: 'By Element Id', - anchorName: 'By Anchor Name', - charset: 'Linked Resource Charset', - cssClasses: 'Stylesheet Classes', - download: 'Force Download', - displayText: 'Display Text', - emailAddress: 'E-Mail Address', - emailBody: 'Message Body', - emailSubject: 'Message Subject', - id: 'Id', - info: 'Link Info', - langCode: 'Language Code', - langDir: 'Language Direction', - langDirLTR: 'Left to Right (LTR)', - langDirRTL: 'Right to Left (RTL)', - menu: 'Edit Link', - name: 'Name', - noAnchors: '(No anchors available in the document)', - noEmail: 'Please type the e-mail address', - noUrl: 'Please type the link URL', - noTel: 'Please type the phone number', - other: '', - phoneNumber: 'Phone number', - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'Popup Window Features', - popupFullScreen: 'Full Screen (IE)', - popupLeft: 'Left Position', - popupLocationBar: 'Location Bar', - popupMenuBar: 'Menu Bar', - popupResizable: 'Resizable', - popupScrollBars: 'Scroll Bars', - popupStatusBar: 'Status Bar', - popupToolbar: 'Toolbar', - popupTop: 'Top Position', - rel: 'Relationship', - selectAnchor: 'Select an Anchor', - styles: 'Style', - tabIndex: 'Tab Index', - target: 'Target', - targetFrame: '', - targetFrameName: 'Target Frame Name', - targetPopup: '', - targetPopupName: 'Popup Window Name', - title: 'Link', - toAnchor: 'Link to anchor in the text', - toEmail: 'E-mail', - toUrl: 'URL', - toPhone: 'Phone', - toolbar: 'Link', - type: 'Link Type', - unlink: 'Unlink', - upload: 'Upload' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/eo.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/eo.js deleted file mode 100644 index 27371e4234..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/eo.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'eo', { - acccessKey: 'Fulmoklavo', - advanced: 'Speciala', - advisoryContentType: 'Enhavotipo', - advisoryTitle: 'Priskriba Titolo', - anchor: { - toolbar: 'Ankro', - menu: 'Enmeti/Ŝanĝi Ankron', - title: 'Ankraj Atributoj', - name: 'Ankra Nomo', - errorName: 'Bv entajpi la ankran nomon', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Forigi Ankron' - }, - anchorId: 'Per Elementidentigilo', - anchorName: 'Per Ankronomo', - charset: 'Signaro de la Ligita Rimedo', - cssClasses: 'Klasoj de Stilfolioj', - download: 'Altrudi Elŝuton', - displayText: 'Vidigi Tekston', - emailAddress: 'Retpoŝto', - emailBody: 'Mesaĝa korpo', - emailSubject: 'Mesaĝa Temo', - id: 'Id', - info: 'Informoj pri la Ligilo', - langCode: 'Lingva Kodo', - langDir: 'Skribdirekto', - langDirLTR: 'De maldekstro dekstren (LTR)', - langDirRTL: 'De dekstro maldekstren (RTL)', - menu: 'Ŝanĝi Ligilon', - name: 'Nomo', - noAnchors: '', - noEmail: 'Bonvolu entajpi la retpoŝtadreson', - noUrl: 'Bonvolu entajpi la URL-on', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependa (Netscape)', - popupFeatures: 'Atributoj de la Ŝprucfenestro', - popupFullScreen: 'Tutekrane (IE)', - popupLeft: 'Maldekstra Pozicio', - popupLocationBar: 'Adresobreto', - popupMenuBar: 'Menubreto', - popupResizable: 'Dimensiŝanĝebla', - popupScrollBars: 'Rulumskaloj', - popupStatusBar: 'Statobreto', - popupToolbar: 'Ilobreto', - popupTop: 'Supra Pozicio', - rel: 'Rilato', - selectAnchor: 'Elekti Ankron', - styles: 'Stilo', - tabIndex: 'Taba Indekso', - target: 'Celo', - targetFrame: '', - targetFrameName: 'Nomo de CelKadro', - targetPopup: '<ŝprucfenestro>', - targetPopupName: 'Nomo de Ŝprucfenestro', - title: 'Ligilo', - toAnchor: 'Ankri en tiu ĉi paĝo', - toEmail: 'Retpoŝto', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Enmeti/Ŝanĝi Ligilon', - type: 'Tipo de Ligilo', - unlink: 'Forigi Ligilon', - upload: 'Alŝuti' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/es-mx.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/es-mx.js deleted file mode 100644 index 48d28a2864..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/es-mx.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'es-mx', { - acccessKey: 'Llave de acceso', - advanced: 'Avanzada', - advisoryContentType: 'Tipo de contenido consultivo', - advisoryTitle: 'Título asesor', - anchor: { - toolbar: 'Ancla', - menu: 'Editar ancla', - title: 'Propiedades del ancla', - name: 'Nombre del ancla', - errorName: 'Escriba el nombre del ancla', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remover ancla' - }, - anchorId: 'Por Id del elemento', - anchorName: 'Por nombre del ancla', - charset: 'Recurso relacionado Charset', - cssClasses: 'Clases de estilo de hoja', - download: 'Forzar la descarga', - displayText: 'Mostrar texto', - emailAddress: 'Dirección de correo electrónico', - emailBody: 'Cuerpo del mensaje', - emailSubject: 'Asunto del mensaje', - id: 'Id', - info: 'Información del enlace', - langCode: 'Código del idioma', - langDir: 'Dirección del idioma', - langDirLTR: 'Izquierda a Derecha (LTR)', - langDirRTL: 'Derecha a Izquierda (RTL)', - menu: 'Editar enlace', - name: 'Nombre', - noAnchors: '(No hay anclas disponibles en el documento)', - noEmail: 'Escriba la dirección de correo electrónico', - noUrl: 'Escriba la URL del enlace', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependiente (Netscape)', - popupFeatures: 'Ventana emergente', - popupFullScreen: 'Pantalla completa (IE)', - popupLeft: 'Posición Izquierda', - popupLocationBar: 'Ubicación de la barra', - popupMenuBar: 'Barra de menú', - popupResizable: 'Redimensionable', - popupScrollBars: 'Barras de desplazamiento', - popupStatusBar: 'Barra de estado', - popupToolbar: 'Barra de herramienta', - popupTop: 'Posición superior', - rel: 'Relación', - selectAnchor: 'Selecciona un ancla', - styles: 'Estilo', - tabIndex: 'Indice de tabulación', - target: 'Objetivo', - targetFrame: '', - targetFrameName: 'Nombre del marco de destino', - targetPopup: '', - targetPopupName: 'Nombre de ventana emergente', - title: 'Enlace', - toAnchor: 'Enlace al ancla en el texto', - toEmail: 'Correo electrónico', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Enlace', - type: 'Tipo de enlace', - unlink: 'Desconectar', - upload: 'Subir' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/es.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/es.js deleted file mode 100644 index 90b638ffb9..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/es.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'es', { - acccessKey: 'Tecla de Acceso', - advanced: 'Avanzado', - advisoryContentType: 'Tipo de Contenido', - advisoryTitle: 'Título', - anchor: { - toolbar: 'Referencia', - menu: 'Propiedades de Referencia', - title: 'Propiedades de Referencia', - name: 'Nombre de la Referencia', - errorName: 'Por favor, complete el nombre de la Referencia', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Quitar Referencia' - }, - anchorId: 'Por ID de elemento', - anchorName: 'Por Nombre de Referencia', - charset: 'Fuente de caracteres vinculado', - cssClasses: 'Clases de hojas de estilo', - download: 'Forzar la descarga', - displayText: 'Mostrar texto', - emailAddress: 'Dirección de E-Mail', - emailBody: 'Cuerpo del Mensaje', - emailSubject: 'Título del Mensaje', - id: 'Id', - info: 'Información de Vínculo', - langCode: 'Código idioma', - langDir: 'Orientación', - langDirLTR: 'Izquierda a Derecha (LTR)', - langDirRTL: 'Derecha a Izquierda (RTL)', - menu: 'Editar Vínculo', - name: 'Nombre', - noAnchors: '(No hay referencias disponibles en el documento)', - noEmail: 'Por favor escriba la dirección de e-mail', - noUrl: 'Por favor escriba el vínculo URL', - noTel: 'Por favor ingrese el numero de telefono', - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependiente (Netscape)', - popupFeatures: 'Características de Ventana Emergente', - popupFullScreen: 'Pantalla Completa (IE)', - popupLeft: 'Posición Izquierda', - popupLocationBar: 'Barra de ubicación', - popupMenuBar: 'Barra de Menú', - popupResizable: 'Redimensionable', - popupScrollBars: 'Barras de desplazamiento', - popupStatusBar: 'Barra de Estado', - popupToolbar: 'Barra de Herramientas', - popupTop: 'Posición Derecha', - rel: 'Relación', - selectAnchor: 'Seleccionar una referencia', - styles: 'Estilo', - tabIndex: 'Indice de tabulación', - target: 'Destino', - targetFrame: '', - targetFrameName: 'Nombre del Marco Destino', - targetPopup: '', - targetPopupName: 'Nombre de Ventana Emergente', - title: 'Vínculo', - toAnchor: 'Referencia en esta página', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Teléfono', - toolbar: 'Insertar/Editar Vínculo', - type: 'Tipo de vínculo', - unlink: 'Eliminar Vínculo', - upload: 'Cargar' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/et.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/et.js deleted file mode 100644 index a3321e4b1b..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/et.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'et', { - acccessKey: 'Juurdepääsu võti', - advanced: 'Täpsemalt', - advisoryContentType: 'Juhendava sisu tüüp', - advisoryTitle: 'Juhendav tiitel', - anchor: { - toolbar: 'Ankru sisestamine/muutmine', - menu: 'Ankru omadused', - title: 'Ankru omadused', - name: 'Ankru nimi', - errorName: 'Palun sisesta ankru nimi', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Eemalda ankur' - }, - anchorId: 'Elemendi id järgi', - anchorName: 'Ankru nime järgi', - charset: 'Lingitud ressursi märgistik', - cssClasses: 'Stiilistiku klassid', - download: 'Sunni allalaadimine', - displayText: 'Näidatav tekst', - emailAddress: 'E-posti aadress', - emailBody: 'Sõnumi tekst', - emailSubject: 'Sõnumi teema', - id: 'ID', - info: 'Lingi info', - langCode: 'Keele suund', - langDir: 'Keele suund', - langDirLTR: 'Vasakult paremale (LTR)', - langDirRTL: 'Paremalt vasakule (RTL)', - menu: 'Muuda linki', - name: 'Nimi', - noAnchors: '(Selles dokumendis pole ankruid)', - noEmail: 'Palun kirjuta e-posti aadress', - noUrl: 'Palun kirjuta lingi URL', - noTel: 'Palun sisesta telefoninumber', - other: '', - phoneNumber: 'Telefoninumber', - popupDependent: 'Sõltuv (Netscape)', - popupFeatures: 'Hüpikakna omadused', - popupFullScreen: 'Täisekraan (IE)', - popupLeft: 'Vasak asukoht', - popupLocationBar: 'Aadressiriba', - popupMenuBar: 'Menüüriba', - popupResizable: 'Suurust saab muuta', - popupScrollBars: 'Kerimisribad', - popupStatusBar: 'Olekuriba', - popupToolbar: 'Tööriistariba', - popupTop: 'Ülemine asukoht', - rel: 'Suhe', - selectAnchor: 'Vali ankur', - styles: 'Laad', - tabIndex: 'Tab indeks', - target: 'Sihtkoht', - targetFrame: '', - targetFrameName: 'Sihtmärk raami nimi', - targetPopup: '', - targetPopupName: 'Hüpikakna nimi', - title: 'Link', - toAnchor: 'Ankur sellel lehel', - toEmail: 'E-post', - toUrl: 'URL', - toPhone: 'Telefon', - toolbar: 'Lingi lisamine/muutmine', - type: 'Lingi liik', - unlink: 'Lingi eemaldamine', - upload: 'Lae üles' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/eu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/eu.js deleted file mode 100644 index 2650aa278c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/eu.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'eu', { - acccessKey: 'Sarbide-tekla', - advanced: 'Aurreratua', - advisoryContentType: 'Aholkatutako eduki-mota', - advisoryTitle: 'Aholkatutako izenburua', - anchor: { - toolbar: 'Aingura', - menu: 'Editatu aingura', - title: 'Ainguraren propietateak', - name: 'Ainguraren izena', - errorName: 'Idatzi ainguraren izena', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Kendu aingura' - }, - anchorId: 'Elementuaren Id-aren arabera', - anchorName: 'Aingura-izenaren arabera', - charset: 'Estekatutako baliabide karaktere-jokoa', - cssClasses: 'Estilo-orriko klaseak', - download: 'Behartu deskarga', - displayText: 'Bistaratu testua', - emailAddress: 'E-posta helbidea', - emailBody: 'Mezuaren gorputza', - emailSubject: 'Mezuaren gaia', - id: 'Id', - info: 'Estekaren informazioa', - langCode: 'Hizkuntzaren kodea', - langDir: 'Hizkuntzaren norabidea', - langDirLTR: 'Ezkerretik eskuinera (LTR)', - langDirRTL: 'Eskuinetik ezkerrera (RTL)', - menu: 'Editatu esteka', - name: 'Izena', - noAnchors: '(Ez dago aingurarik erabilgarri dokumentuan)', - noEmail: 'Mesedez idatzi e-posta helbidea', - noUrl: 'Mesedez idatzi estekaren URLa', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Menpekoa (Netscape)', - popupFeatures: 'Laster-leihoaren ezaugarriak', - popupFullScreen: 'Pantaila osoa (IE)', - popupLeft: 'Ezkerreko posizioa', - popupLocationBar: 'Kokaleku-barra', - popupMenuBar: 'Menu-barra', - popupResizable: 'Tamaina aldakorra', - popupScrollBars: 'Korritze-barrak', - popupStatusBar: 'Egoera-barra', - popupToolbar: 'Tresna-barra', - popupTop: 'Goiko posizioa', - rel: 'Erlazioa', - selectAnchor: 'Hautatu aingura', - styles: 'Estiloa', - tabIndex: 'Tabulazio indizea', - target: 'Helburua', - targetFrame: '', - targetFrameName: 'Helburuko markoaren izena', - targetPopup: '', - targetPopupName: 'Laster-leihoaren izena', - title: 'Esteka', - toAnchor: 'Estekatu testuko aingurara', - toEmail: 'E-posta', - toUrl: 'URLa', - toPhone: 'Phone', // MISSING - toolbar: 'Esteka', - type: 'Esteka-mota', - unlink: 'Kendu esteka', - upload: 'Kargatu' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fa.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fa.js deleted file mode 100644 index cefdcb6f0b..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fa.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'fa', { - acccessKey: 'کلید دستیابی', - advanced: 'پیشرفته', - advisoryContentType: 'نوع محتوای کمکی', - advisoryTitle: 'عنوان کمکی', - anchor: { - toolbar: 'گنجاندن/ویرایش لینک', - menu: 'ویرایش لینک', - title: 'ویژگی​های لینک', - name: 'نام لینک', - errorName: 'لطفا نام لنگر را بنویسید', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'حذف لینک' - }, - anchorId: 'با شناسهٴ المان', - anchorName: 'با نام لینک ', - charset: 'نویسه​گان منبع پیوند شده', - cssClasses: 'کلاس​های شیوه​نامه (Style sheet)', - download: 'بارگیری اجباری', - displayText: 'نمایش متن', - emailAddress: 'نشانی پست الکترونیکی', - emailBody: 'متن پیام', - emailSubject: 'موضوع پیام', - id: 'شناسه', - info: 'اطلاعات پیوند', - langCode: 'کد زبان', - langDir: 'جهت​نمای زبان', - langDirLTR: 'چپ به راست (LTR)', - langDirRTL: 'راست به چپ (RTL)', - menu: 'ویرایش پیوند', - name: 'نام', - noAnchors: '(در این سند لینکی دردسترس نیست)', - noEmail: 'لطفا نشانی پست الکترونیکی را بنویسید', - noUrl: 'لطفا آدرس پیوند را بنویسید', - noTel: 'لطفا شماره تلفن را وارد کنید', - other: '<سایر>', - phoneNumber: 'شماره تلفن', - popupDependent: 'وابسته (Netscape)', - popupFeatures: 'ویژگی​های پنجره ی پاپاپ', - popupFullScreen: 'تمام صفحه (IE)', - popupLeft: 'موقعیت چپ', - popupLocationBar: 'نوار موقعیت', - popupMenuBar: 'نوار منو', - popupResizable: 'قابل تغییر اندازه', - popupScrollBars: 'میله​های پیمایش', - popupStatusBar: 'نوار وضعیت', - popupToolbar: 'نوار ابزار', - popupTop: 'موقعیت بالا', - rel: 'وابستگی', - selectAnchor: 'یک لینک برگزینید', - styles: 'شیوه (style)', - tabIndex: 'نمایهٴ دسترسی با برگه', - target: 'مقصد', - targetFrame: '<قاب>', - targetFrameName: 'نام قاب مقصد', - targetPopup: '<پنجرهٴ پاپاپ>', - targetPopupName: 'نام پنجره ی پاپاپ', - title: 'پیوند', - toAnchor: 'لنگر در همین صفحه', - toEmail: 'پست الکترونیکی', - toUrl: 'آدرس', - toPhone: 'تلفن', - toolbar: 'گنجاندن/ویرایش پیوند', - type: 'نوع پیوند', - unlink: 'برداشتن پیوند', - upload: 'انتقال به سرور' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fi.js deleted file mode 100644 index e9e24ef7bf..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fi.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'fi', { - acccessKey: 'Pikanäppäin', - advanced: 'Lisäominaisuudet', - advisoryContentType: 'Avustava sisällön tyyppi', - advisoryTitle: 'Avustava otsikko', - anchor: { - toolbar: 'Lisää ankkuri/muokkaa ankkuria', - menu: 'Ankkurin ominaisuudet', - title: 'Ankkurin ominaisuudet', - name: 'Nimi', - errorName: 'Ankkurille on kirjoitettava nimi', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Poista ankkuri' - }, - anchorId: 'Ankkurin ID:n mukaan', - anchorName: 'Ankkurin nimen mukaan', - charset: 'Linkitetty kirjaimisto', - cssClasses: 'Tyyliluokat', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'Sähköpostiosoite', - emailBody: 'Viesti', - emailSubject: 'Aihe', - id: 'Tunniste', - info: 'Linkin tiedot', - langCode: 'Kielen suunta', - langDir: 'Kielen suunta', - langDirLTR: 'Vasemmalta oikealle (LTR)', - langDirRTL: 'Oikealta vasemmalle (RTL)', - menu: 'Muokkaa linkkiä', - name: 'Nimi', - noAnchors: '(Ei ankkureita tässä dokumentissa)', - noEmail: 'Kirjoita sähköpostiosoite', - noUrl: 'Linkille on kirjoitettava URL', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Riippuva (Netscape)', - popupFeatures: 'Popup ikkunan ominaisuudet', - popupFullScreen: 'Täysi ikkuna (IE)', - popupLeft: 'Vasemmalta (px)', - popupLocationBar: 'Osoiterivi', - popupMenuBar: 'Valikkorivi', - popupResizable: 'Venytettävä', - popupScrollBars: 'Vierityspalkit', - popupStatusBar: 'Tilarivi', - popupToolbar: 'Vakiopainikkeet', - popupTop: 'Ylhäältä (px)', - rel: 'Suhde', - selectAnchor: 'Valitse ankkuri', - styles: 'Tyyli', - tabIndex: 'Tabulaattori indeksi', - target: 'Kohde', - targetFrame: '', - targetFrameName: 'Kohdekehyksen nimi', - targetPopup: '', - targetPopupName: 'Popup ikkunan nimi', - title: 'Linkki', - toAnchor: 'Ankkuri tässä sivussa', - toEmail: 'Sähköposti', - toUrl: 'Osoite', - toPhone: 'Phone', // MISSING - toolbar: 'Lisää linkki/muokkaa linkkiä', - type: 'Linkkityyppi', - unlink: 'Poista linkki', - upload: 'Lisää tiedosto' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fo.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fo.js deleted file mode 100644 index b0a4e52e20..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fo.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'fo', { - acccessKey: 'Snarvegisknöttur', - advanced: 'Fjølbroytt', - advisoryContentType: 'Vegleiðandi innihaldsslag', - advisoryTitle: 'Vegleiðandi heiti', - anchor: { - toolbar: 'Ger/broyt marknastein', - menu: 'Eginleikar fyri marknastein', - title: 'Eginleikar fyri marknastein', - name: 'Heiti marknasteinsins', - errorName: 'Vinarliga rita marknasteinsins heiti', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Strika marknastein' - }, - anchorId: 'Eftir element Id', - anchorName: 'Eftir navni á marknasteini', - charset: 'Atknýtt teknsett', - cssClasses: 'Typografi klassar', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'Teldupost-adressa', - emailBody: 'Breyðtekstur', - emailSubject: 'Evni', - id: 'Id', - info: 'Tilknýtis upplýsingar', - langCode: 'Tekstkós', - langDir: 'Tekstkós', - langDirLTR: 'Frá vinstru til høgru (LTR)', - langDirRTL: 'Frá høgru til vinstru (RTL)', - menu: 'Broyt tilknýti', - name: 'Navn', - noAnchors: '(Eingir marknasteinar eru í hesum dokumentið)', - noEmail: 'Vinarliga skriva teldupost-adressu', - noUrl: 'Vinarliga skriva tilknýti (URL)', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Bundið (Netscape)', - popupFeatures: 'Popup vindeygans víðkaðu eginleikar', - popupFullScreen: 'Fullur skermur (IE)', - popupLeft: 'Frástøða frá vinstru', - popupLocationBar: 'Adressulinja', - popupMenuBar: 'Skrábjálki', - popupResizable: 'Stødd kann broytast', - popupScrollBars: 'Rullibjálki', - popupStatusBar: 'Støðufrágreiðingarbjálki', - popupToolbar: 'Amboðsbjálki', - popupTop: 'Frástøða frá íerva', - rel: 'Relatión', - selectAnchor: 'Vel ein marknastein', - styles: 'Typografi', - tabIndex: 'Tabulator indeks', - target: 'Target', - targetFrame: '', - targetFrameName: 'Vís navn vindeygans', - targetPopup: '', - targetPopupName: 'Popup vindeygans navn', - title: 'Tilknýti', - toAnchor: 'Tilknýti til marknastein í tekstinum', - toEmail: 'Teldupostur', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Ger/broyt tilknýti', - type: 'Tilknýtisslag', - unlink: 'Strika tilknýti', - upload: 'Send til ambætaran' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fr-ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fr-ca.js deleted file mode 100644 index dc5d5ca4e1..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fr-ca.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'fr-ca', { - acccessKey: 'Touche d\'accessibilité', - advanced: 'Avancé', - advisoryContentType: 'Type de contenu', - advisoryTitle: 'Description', - anchor: { - toolbar: 'Ancre', - menu: 'Modifier l\'ancre', - title: 'Propriétés de l\'ancre', - name: 'Nom de l\'ancre', - errorName: 'Veuillez saisir le nom de l\'ancre', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Supprimer l\'ancre' - }, - anchorId: 'Par ID', - anchorName: 'Par nom', - charset: 'Encodage de la cible', - cssClasses: 'Classes CSS', - download: 'Force Download', // MISSING - displayText: 'Afficher le texte', - emailAddress: 'Courriel', - emailBody: 'Corps du message', - emailSubject: 'Objet du message', - id: 'ID', - info: 'Informations sur le lien', - langCode: 'Code de langue', - langDir: 'Sens d\'écriture', - langDirLTR: 'De gauche à droite (LTR)', - langDirRTL: 'De droite à gauche (RTL)', - menu: 'Modifier le lien', - name: 'Nom', - noAnchors: '(Pas d\'ancre disponible dans le document)', - noEmail: 'Veuillez saisir le courriel', - noUrl: 'Veuillez saisir l\'URL', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dépendante (Netscape)', - popupFeatures: 'Caractéristiques de la fenêtre popup', - popupFullScreen: 'Plein écran (IE)', - popupLeft: 'Position de la gauche', - popupLocationBar: 'Barre d\'adresse', - popupMenuBar: 'Barre de menu', - popupResizable: 'Redimensionnable', - popupScrollBars: 'Barres de défilement', - popupStatusBar: 'Barre d\'état', - popupToolbar: 'Barre d\'outils', - popupTop: 'Position à partir du haut', - rel: 'Relation', - selectAnchor: 'Sélectionner une ancre', - styles: 'Style', - tabIndex: 'Ordre de tabulation', - target: 'Destination', - targetFrame: '', - targetFrameName: 'Nom du cadre de destination', - targetPopup: '', - targetPopupName: 'Nom de la fenêtre popup', - title: 'Lien', - toAnchor: 'Ancre dans cette page', - toEmail: 'Courriel', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Lien', - type: 'Type de lien', - unlink: 'Supprimer le lien', - upload: 'Téléverser' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fr.js deleted file mode 100644 index 82618b5aa5..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/fr.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'fr', { - acccessKey: 'Touche d\'accessibilité', - advanced: 'Avancé', - advisoryContentType: 'Type de contenu (indicatif)', - advisoryTitle: 'Infobulle', - anchor: { - toolbar: 'Ancre', - menu: 'Modifier l\'ancre', - title: 'Propriétés de l\'ancre', - name: 'Nom de l\'ancre', - errorName: 'Veuillez entrer le nom de l\'ancre.', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Supprimer l\'ancre' - }, - anchorId: 'Par ID d\'élément', - anchorName: 'Par nom d\'ancre', - charset: 'Encodage de la ressource liée', - cssClasses: 'Classes de style', - download: 'Forcer le téléchargement', - displayText: 'Afficher le texte', - emailAddress: 'Adresse électronique', - emailBody: 'Corps du message', - emailSubject: 'Sujet du message', - id: 'ID', - info: 'Informations sur le lien', - langCode: 'Code de langue', - langDir: 'Sens d\'écriture', - langDirLTR: 'Gauche à droite', - langDirRTL: 'Droite à gauche (RTL)', - menu: 'Modifier le lien', - name: 'Nom', - noAnchors: '(Aucune ancre disponible dans ce document)', - noEmail: 'Veuillez entrer l\'adresse électronique', - noUrl: 'Veuillez entrer l\'URL du lien', - noTel: 'Veuillez entrer le numéro de téléphone', - other: '', - phoneNumber: 'Numéro de téléphone', - popupDependent: 'Dépendante (Netscape)', - popupFeatures: 'Caractéristiques de la fenêtre surgissante', - popupFullScreen: 'Plein écran (IE)', - popupLeft: 'À gauche', - popupLocationBar: 'Barre d\'adresse', - popupMenuBar: 'Barre de menu', - popupResizable: 'Redimensionnable', - popupScrollBars: 'Barres de défilement', - popupStatusBar: 'Barre d\'état', - popupToolbar: 'Barre d\'outils', - popupTop: 'En haut', - rel: 'Relation', - selectAnchor: 'Sélectionner une ancre', - styles: 'Style', - tabIndex: 'Indice de tabulation', - target: 'Cible', - targetFrame: '', - targetFrameName: 'Nom du cadre affecté', - targetPopup: '', - targetPopupName: 'Nom de la fenêtre surgissante', - title: 'Lien', - toAnchor: 'Ancre', - toEmail: 'Courriel', - toUrl: 'URL', - toPhone: 'Téléphone', - toolbar: 'Lien', - type: 'Type de lien', - unlink: 'Supprimer le lien', - upload: 'Téléverser' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/gl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/gl.js deleted file mode 100644 index 8ad558883a..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/gl.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'gl', { - acccessKey: 'Chave de acceso', - advanced: 'Avanzado', - advisoryContentType: 'Tipo de contido informativo', - advisoryTitle: 'Título', - anchor: { - toolbar: 'Ancoraxe', - menu: 'Editar a ancoraxe', - title: 'Propiedades da ancoraxe', - name: 'Nome da ancoraxe', - errorName: 'Escriba o nome da ancoraxe', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Retirar a ancoraxe' - }, - anchorId: 'Polo ID do elemento', - anchorName: 'Polo nome da ancoraxe', - charset: 'Codificación do recurso ligado', - cssClasses: 'Clases da folla de estilos', - download: 'Forzar a descarga', - displayText: 'Amosar o texto', - emailAddress: 'Enderezo de correo', - emailBody: 'Corpo da mensaxe', - emailSubject: 'Asunto da mensaxe', - id: 'ID', - info: 'Información da ligazón', - langCode: 'Código do idioma', - langDir: 'Dirección de escritura do idioma', - langDirLTR: 'Esquerda a dereita (LTR)', - langDirRTL: 'Dereita a esquerda (RTL)', - menu: 'Editar a ligazón', - name: 'Nome', - noAnchors: '(Non hai ancoraxes dispoñíbeis no documento)', - noEmail: 'Escriba o enderezo de correo', - noUrl: 'Escriba a ligazón URL', - noTel: 'Escriba o número de teléfono', - other: '', - phoneNumber: 'Número de teléfono', - popupDependent: 'Dependente (Netscape)', - popupFeatures: 'Características da xanela emerxente', - popupFullScreen: 'Pantalla completa (IE)', - popupLeft: 'Posición esquerda', - popupLocationBar: 'Barra de localización', - popupMenuBar: 'Barra do menú', - popupResizable: 'Redimensionábel', - popupScrollBars: 'Barras de desprazamento', - popupStatusBar: 'Barra de estado', - popupToolbar: 'Barra de ferramentas', - popupTop: 'Posición superior', - rel: 'Relación', - selectAnchor: 'Seleccionar unha ancoraxe', - styles: 'Estilo', - tabIndex: 'Índice de tabulación', - target: 'Destino', - targetFrame: '', - targetFrameName: 'Nome do marco de destino', - targetPopup: '', - targetPopupName: 'Nome da xanela emerxente', - title: 'Ligazón', - toAnchor: 'Ligar coa ancoraxe no testo', - toEmail: 'Correo', - toUrl: 'URL', - toPhone: 'Teléfono', - toolbar: 'Ligazón', - type: 'Tipo de ligazón', - unlink: 'Eliminar a ligazón', - upload: 'Enviar' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/gu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/gu.js deleted file mode 100644 index 3905d49964..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/gu.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'gu', { - acccessKey: 'ઍક્સેસ કી', - advanced: 'અડ્વાન્સડ', - advisoryContentType: 'મુખ્ય કન્ટેન્ટ પ્રકાર', - advisoryTitle: 'મુખ્ય મથાળું', - anchor: { - toolbar: 'ઍંકર ઇન્સર્ટ/દાખલ કરવી', - menu: 'ઍંકરના ગુણ', - title: 'ઍંકરના ગુણ', - name: 'ઍંકરનું નામ', - errorName: 'ઍંકરનું નામ ટાઈપ કરો', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'સ્થિર નકરવું' - }, - anchorId: 'ઍંકર એલિમન્ટ Id થી પસંદ કરો', - anchorName: 'ઍંકર નામથી પસંદ કરો', - charset: 'લિંક રિસૉર્સ કૅરિક્ટર સેટ', - cssClasses: 'સ્ટાઇલ-શીટ ક્લાસ', - download: 'ડાઉનલોડ કરો', - displayText: 'લખાણ દેખાડો', - emailAddress: 'ઈ-મેલ સરનામું', - emailBody: 'સંદેશ', - emailSubject: 'ઈ-મેલ વિષય', - id: 'Id', - info: 'લિંક ઇન્ફૉ ટૅબ', - langCode: 'ભાષા લેખવાની પદ્ધતિ', - langDir: 'ભાષા લેખવાની પદ્ધતિ', - langDirLTR: 'ડાબે થી જમણે (LTR)', - langDirRTL: 'જમણે થી ડાબે (RTL)', - menu: ' લિંક એડિટ/માં ફેરફાર કરવો', - name: 'નામ', - noAnchors: '(ડૉક્યુમન્ટમાં ઍંકરની સંખ્યા)', - noEmail: 'ઈ-મેલ સરનામું ટાઇપ કરો', - noUrl: 'લિંક URL ટાઇપ કરો', - noTel: 'Please type the phone number', // MISSING - other: ' <અન્ય>', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'ડિપેન્ડન્ટ (Netscape)', - popupFeatures: 'પૉપ-અપ વિન્ડો ફીચરસૅ', - popupFullScreen: 'ફુલ સ્ક્રીન (IE)', - popupLeft: 'ડાબી બાજુ', - popupLocationBar: 'લોકેશન બાર', - popupMenuBar: 'મેન્યૂ બાર', - popupResizable: 'રીસાઈઝએબલ', - popupScrollBars: 'સ્ક્રોલ બાર', - popupStatusBar: 'સ્ટૅટસ બાર', - popupToolbar: 'ટૂલ બાર', - popupTop: 'જમણી બાજુ', - rel: 'સંબંધની સ્થિતિ', - selectAnchor: 'ઍંકર પસંદ કરો', - styles: 'સ્ટાઇલ', - tabIndex: 'ટૅબ ઇન્ડેક્સ', - target: 'ટાર્ગેટ/લક્ષ્ય', - targetFrame: '<ફ્રેમ>', - targetFrameName: 'ટાર્ગેટ ફ્રેમ નું નામ', - targetPopup: '<પૉપ-અપ વિન્ડો>', - targetPopupName: 'પૉપ-અપ વિન્ડો નું નામ', - title: 'લિંક', - toAnchor: 'આ પેજનો ઍંકર', - toEmail: 'ઈ-મેલ', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'લિંક ઇન્સર્ટ/દાખલ કરવી', - type: 'લિંક પ્રકાર', - unlink: 'લિંક કાઢવી', - upload: 'અપલોડ' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/he.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/he.js deleted file mode 100644 index f85fa23607..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/he.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'he', { - acccessKey: 'מקש גישה', - advanced: 'אפשרויות מתקדמות', - advisoryContentType: 'Content Type מוצע', - advisoryTitle: 'כותרת מוצעת', - anchor: { - toolbar: 'הוספת/עריכת נקודת עיגון', - menu: 'מאפייני נקודת עיגון', - title: 'מאפייני נקודת עיגון', - name: 'שם לנקודת עיגון', - errorName: 'יש להקליד שם לנקודת עיגון', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'מחיקת נקודת עיגון' - }, - anchorId: 'עפ"י זיהוי (ID) האלמנט', - anchorName: 'עפ"י שם העוגן', - charset: 'קידוד המשאב המקושר', - cssClasses: 'גיליונות עיצוב קבוצות', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'כתובת הדוא"ל', - emailBody: 'גוף ההודעה', - emailSubject: 'נושא ההודעה', - id: 'זיהוי (ID)', - info: 'מידע על הקישור', - langCode: 'קוד שפה', - langDir: 'כיוון שפה', - langDirLTR: 'שמאל לימין (LTR)', - langDirRTL: 'ימין לשמאל (RTL)', - menu: 'מאפייני קישור', - name: 'שם', - noAnchors: '(אין עוגנים זמינים בדף)', - noEmail: 'יש להקליד את כתובת הדוא"ל', - noUrl: 'יש להקליד את כתובת הקישור (URL)', - noTel: 'Please type the phone number', // MISSING - other: '<אחר>', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'תלוי (Netscape)', - popupFeatures: 'תכונות החלון הקופץ', - popupFullScreen: 'מסך מלא (IE)', - popupLeft: 'מיקום צד שמאל', - popupLocationBar: 'סרגל כתובת', - popupMenuBar: 'סרגל תפריט', - popupResizable: 'שינוי גודל', - popupScrollBars: 'ניתן לגלילה', - popupStatusBar: 'סרגל חיווי', - popupToolbar: 'סרגל הכלים', - popupTop: 'מיקום צד עליון', - rel: 'קשר גומלין', - selectAnchor: 'בחירת עוגן', - styles: 'סגנון', - tabIndex: 'מספר טאב', - target: 'מטרה', - targetFrame: '<מסגרת>', - targetFrameName: 'שם מסגרת היעד', - targetPopup: '<חלון קופץ>', - targetPopupName: 'שם החלון הקופץ', - title: 'קישור', - toAnchor: 'עוגן בעמוד זה', - toEmail: 'דוא"ל', - toUrl: 'כתובת (URL)', - toPhone: 'Phone', // MISSING - toolbar: 'הוספת/עריכת קישור', - type: 'סוג קישור', - unlink: 'הסרת הקישור', - upload: 'העלאה' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/hi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/hi.js deleted file mode 100644 index fa99bb4ca7..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/hi.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'hi', { - acccessKey: 'ऍक्सॅस की', - advanced: 'ऍड्वान्स्ड', - advisoryContentType: 'परामर्श कन्टॅन्ट प्रकार', - advisoryTitle: 'परामर्श शीर्शक', - anchor: { - toolbar: 'ऐंकर इन्सर्ट/संपादन', - menu: 'ऐंकर प्रॉपर्टीज़', - title: 'ऐंकर प्रॉपर्टीज़', - name: 'ऐंकर का नाम', - errorName: 'ऐंकर का नाम टाइप करें', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'ऍलीमॅन्ट Id से', - anchorName: 'ऐंकर नाम से', - charset: 'लिंक रिसोर्स करॅक्टर सॅट', - cssClasses: 'स्टाइल-शीट क्लास', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'ई-मेल पता', - emailBody: 'संदेश', - emailSubject: 'संदेश विषय', - id: 'Id', - info: 'लिंक ', - langCode: 'भाषा लिखने की दिशा', - langDir: 'भाषा लिखने की दिशा', - langDirLTR: 'बायें से दायें (LTR)', - langDirRTL: 'दायें से बायें (RTL)', - menu: 'लिंक संपादन', - name: 'नाम', - noAnchors: '(डॉक्यूमॅन्ट में ऐंकर्स की संख्या)', - noEmail: 'ई-मेल पता टाइप करें', - noUrl: 'लिंक URL टाइप करें', - noTel: 'Please type the phone number', // MISSING - other: '<अन्य>', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'डिपेन्डॅन्ट (Netscape)', - popupFeatures: 'पॉप-अप विन्डो फ़ीचर्स', - popupFullScreen: 'फ़ुल स्क्रीन (IE)', - popupLeft: 'बायीं तरफ', - popupLocationBar: 'लोकेशन बार', - popupMenuBar: 'मॅन्यू बार', - popupResizable: 'आकार बदलने लायक', - popupScrollBars: 'स्क्रॉल बार', - popupStatusBar: 'स्टेटस बार', - popupToolbar: 'टूल बार', - popupTop: 'दायीं तरफ', - rel: 'संबंध', - selectAnchor: 'ऐंकर चुनें', - styles: 'स्टाइल', - tabIndex: 'टैब इन्डॅक्स', - target: 'टार्गेट', - targetFrame: '<फ़्रेम>', - targetFrameName: 'टार्गेट फ़्रेम का नाम', - targetPopup: '<पॉप-अप विन्डो>', - targetPopupName: 'पॉप-अप विन्डो का नाम', - title: 'लिंक', - toAnchor: 'इस पेज का ऐंकर', - toEmail: 'ई-मेल', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'लिंक इन्सर्ट/संपादन', - type: 'लिंक प्रकार', - unlink: 'लिंक हटायें', - upload: 'अपलोड' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/hr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/hr.js deleted file mode 100644 index 4974c9c280..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/hr.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'hr', { - acccessKey: 'Pristupna tipka', - advanced: 'Napredno', - advisoryContentType: 'Savjetodavna vrsta sadržaja', - advisoryTitle: 'Savjetodavni naslov', - anchor: { - toolbar: 'Ubaci/promijeni sidro', - menu: 'Svojstva sidra', - title: 'Svojstva sidra', - name: 'Ime sidra', - errorName: 'Molimo unesite ime sidra', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Ukloni sidro' - }, - anchorId: 'Po Id elementa', - anchorName: 'Po nazivu sidra', - charset: 'Kodna stranica povezanih resursa', - cssClasses: 'Stylesheet klase', - download: 'Preuzmi na silu', - displayText: 'Prikaži tekst', - emailAddress: 'E-Mail adresa', - emailBody: 'Sadržaj poruke', - emailSubject: 'Naslov', - id: 'Id', - info: 'Link Info', - langCode: 'Smjer jezika', - langDir: 'Smjer jezika', - langDirLTR: 'S lijeva na desno (LTR)', - langDirRTL: 'S desna na lijevo (RTL)', - menu: 'Promijeni link', - name: 'Naziv', - noAnchors: '(Nema dostupnih sidra)', - noEmail: 'Molimo upišite e-mail adresu', - noUrl: 'Molimo upišite URL link', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Ovisno (Netscape)', - popupFeatures: 'Mogućnosti popup prozora', - popupFullScreen: 'Cijeli ekran (IE)', - popupLeft: 'Lijeva pozicija', - popupLocationBar: 'Traka za lokaciju', - popupMenuBar: 'Izborna traka', - popupResizable: 'Promjenjiva veličina', - popupScrollBars: 'Scroll traka', - popupStatusBar: 'Statusna traka', - popupToolbar: 'Traka s alatima', - popupTop: 'Gornja pozicija', - rel: 'Veza', - selectAnchor: 'Odaberi sidro', - styles: 'Stil', - tabIndex: 'Tab Indeks', - target: 'Meta', - targetFrame: '', - targetFrameName: 'Ime ciljnog okvira', - targetPopup: '', - targetPopupName: 'Naziv popup prozora', - title: 'Veza', - toAnchor: 'Sidro na ovoj stranici', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Ubaci/promijeni vezu', - type: 'Vrsta veze', - unlink: 'Ukloni vezu', - upload: 'Pošalji' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/hu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/hu.js deleted file mode 100644 index d7ac296be0..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/hu.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'hu', { - acccessKey: 'Billentyűkombináció', - advanced: 'További opciók', - advisoryContentType: 'Súgó tartalomtípusa', - advisoryTitle: 'Súgócimke', - anchor: { - toolbar: 'Horgony beillesztése/szerkesztése', - menu: 'Horgony tulajdonságai', - title: 'Horgony tulajdonságai', - name: 'Horgony neve', - errorName: 'Kérem adja meg a horgony nevét', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Horgony eltávolítása' - }, - anchorId: 'Azonosító szerint', - anchorName: 'Horgony név szerint', - charset: 'Hivatkozott tartalom kódlapja', - cssClasses: 'Stíluskészlet', - download: 'Kötelező letöltés', - displayText: 'Megjelenített szöveg', - emailAddress: 'E-Mail cím', - emailBody: 'Üzenet', - emailSubject: 'Üzenet tárgya', - id: 'Id', - info: 'Alaptulajdonságok', - langCode: 'Írás iránya', - langDir: 'Írás iránya', - langDirLTR: 'Balról jobbra', - langDirRTL: 'Jobbról balra', - menu: 'Hivatkozás módosítása', - name: 'Név', - noAnchors: '(Nincs horgony a dokumentumban)', - noEmail: 'Adja meg az E-Mail címet', - noUrl: 'Adja meg a hivatkozás webcímét', - noTel: 'Adja meg a telefonszámot', - other: '', - phoneNumber: 'Telefonszám', - popupDependent: 'Szülőhöz kapcsolt (csak Netscape)', - popupFeatures: 'Felugró ablak jellemzői', - popupFullScreen: 'Teljes képernyő (csak IE)', - popupLeft: 'Bal pozíció', - popupLocationBar: 'Címsor', - popupMenuBar: 'Menü sor', - popupResizable: 'Átméretezés', - popupScrollBars: 'Gördítősáv', - popupStatusBar: 'Állapotsor', - popupToolbar: 'Eszköztár', - popupTop: 'Felső pozíció', - rel: 'Kapcsolat típusa', - selectAnchor: 'Horgony választása', - styles: 'Stílus', - tabIndex: 'Tabulátor index', - target: 'Tartalom megjelenítése', - targetFrame: '', - targetFrameName: 'Keret neve', - targetPopup: '', - targetPopupName: 'Felugró ablak neve', - title: 'Hivatkozás tulajdonságai', - toAnchor: 'Horgony az oldalon', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Telefon', - toolbar: 'Hivatkozás beillesztése/módosítása', - type: 'Hivatkozás típusa', - unlink: 'Hivatkozás törlése', - upload: 'Feltöltés' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/id.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/id.js deleted file mode 100644 index ffd83349e9..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/id.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'id', { - acccessKey: 'Access Key', // MISSING - advanced: 'Advanced', // MISSING - advisoryContentType: 'Advisory Content Type', // MISSING - advisoryTitle: 'Penasehat Judul', - anchor: { - toolbar: 'Anchor', // MISSING - menu: 'Edit Anchor', // MISSING - title: 'Anchor Properties', // MISSING - name: 'Anchor Name', // MISSING - errorName: 'Please type the anchor name', // MISSING - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' // MISSING - }, - anchorId: 'By Element Id', // MISSING - anchorName: 'By Anchor Name', // MISSING - charset: 'Linked Resource Charset', // MISSING - cssClasses: 'Kelas Stylesheet', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'Alamat E-mail', - emailBody: 'Message Body', // MISSING - emailSubject: 'Judul Pesan', - id: 'Id', - info: 'Link Info', // MISSING - langCode: 'Kode Bahasa', - langDir: 'Arah Bahasa', - langDirLTR: 'Kiri ke Kanan (LTR)', - langDirRTL: 'Kanan ke Kiri (RTL)', - menu: 'Sunting Tautan', - name: 'Nama', - noAnchors: '(No anchors available in the document)', // MISSING - noEmail: 'Silahkan ketikkan alamat e-mail', - noUrl: 'Silahkan ketik URL tautan', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependent (Netscape)', // MISSING - popupFeatures: 'Popup Window Features', // MISSING - popupFullScreen: 'Full Screen (IE)', // MISSING - popupLeft: 'Left Position', // MISSING - popupLocationBar: 'Location Bar', // MISSING - popupMenuBar: 'Menu Bar', // MISSING - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Scroll Bars', // MISSING - popupStatusBar: 'Status Bar', // MISSING - popupToolbar: 'Toolbar', // MISSING - popupTop: 'Top Position', // MISSING - rel: 'Hubungan', - selectAnchor: 'Select an Anchor', // MISSING - styles: 'Gaya', - tabIndex: 'Tab Index', // MISSING - target: 'Sasaran', - targetFrame: '', // MISSING - targetFrameName: 'Target Frame Name', // MISSING - targetPopup: '', // MISSING - targetPopupName: 'Popup Window Name', // MISSING - title: 'Tautan', - toAnchor: 'Link to anchor in the text', // MISSING - toEmail: 'E-mail', // MISSING - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Tautan', - type: 'Link Type', // MISSING - unlink: 'Unlink', // MISSING - upload: 'Unggah' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/is.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/is.js deleted file mode 100644 index 2ed684b1bd..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/is.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'is', { - acccessKey: 'Skammvalshnappur', - advanced: 'Tæknilegt', - advisoryContentType: 'Tegund innihalds', - advisoryTitle: 'Titill', - anchor: { - toolbar: 'Stofna/breyta kaflamerki', - menu: 'Eigindi kaflamerkis', - title: 'Eigindi kaflamerkis', - name: 'Nafn bókamerkis', - errorName: 'Sláðu inn nafn bókamerkis!', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'Eftir auðkenni einingar', - anchorName: 'Eftir akkerisnafni', - charset: 'Táknróf', - cssClasses: 'Stílsniðsflokkur', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'Netfang', - emailBody: 'Meginmál', - emailSubject: 'Efni', - id: 'Auðkenni', - info: 'Almennt', - langCode: 'Lesstefna', - langDir: 'Lesstefna', - langDirLTR: 'Frá vinstri til hægri (LTR)', - langDirRTL: 'Frá hægri til vinstri (RTL)', - menu: 'Breyta stiklu', - name: 'Nafn', - noAnchors: '', - noEmail: 'Sláðu inn netfang!', - noUrl: 'Sláðu inn veffang stiklunnar!', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Háð venslum (Netscape)', - popupFeatures: 'Eigindi sprettiglugga', - popupFullScreen: 'Heilskjár (IE)', - popupLeft: 'Fjarlægð frá vinstri', - popupLocationBar: 'Fanglína', - popupMenuBar: 'Vallína', - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Skrunstikur', - popupStatusBar: 'Stöðustika', - popupToolbar: 'Verkfærastika', - popupTop: 'Fjarlægð frá efri brún', - rel: 'Relationship', // MISSING - selectAnchor: 'Veldu akkeri', - styles: 'Stíll', - tabIndex: 'Raðnúmer innsláttarreits', - target: 'Mark', - targetFrame: '', - targetFrameName: 'Nafn markglugga', - targetPopup: '', - targetPopupName: 'Nafn sprettiglugga', - title: 'Stikla', - toAnchor: 'Bókamerki á þessari síðu', - toEmail: 'Netfang', - toUrl: 'Vefslóð', - toPhone: 'Phone', // MISSING - toolbar: 'Stofna/breyta stiklu', - type: 'Stikluflokkur', - unlink: 'Fjarlægja stiklu', - upload: 'Senda upp' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/it.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/it.js deleted file mode 100644 index 5bf98fed3c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/it.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'it', { - acccessKey: 'Scorciatoia da tastiera', - advanced: 'Avanzate', - advisoryContentType: 'Tipo della risorsa collegata', - advisoryTitle: 'Titolo', - anchor: { - toolbar: 'Inserisci/Modifica Ancora', - menu: 'Proprietà ancora', - title: 'Proprietà ancora', - name: 'Nome ancora', - errorName: 'Inserici il nome dell\'ancora', - errorWhitespace: 'Il nome delle ancore non può contenere caratteri di spaziatura', - remove: 'Rimuovi l\'ancora' - }, - anchorId: 'Per id elemento', - anchorName: 'Per Nome', - charset: 'Set di caretteri della risorsa collegata', - cssClasses: 'Nome classe CSS', - download: 'Forza scaricamento', - displayText: 'Mostra testo', - emailAddress: 'Indirizzo E-Mail', - emailBody: 'Corpo del messaggio', - emailSubject: 'Oggetto del messaggio', - id: 'Id', - info: 'Informazioni collegamento', - langCode: 'Direzione scrittura', - langDir: 'Direzione scrittura', - langDirLTR: 'Da Sinistra a Destra (LTR)', - langDirRTL: 'Da Destra a Sinistra (RTL)', - menu: 'Modifica collegamento', - name: 'Nome', - noAnchors: '(Nessuna ancora disponibile nel documento)', - noEmail: 'Devi inserire un\'indirizzo e-mail', - noUrl: 'Devi inserire l\'URL del collegamento', - noTel: 'Inserire il numero di telefono', - other: '', - phoneNumber: 'Numero di telefono', - popupDependent: 'Dipendente (Netscape)', - popupFeatures: 'Caratteristiche finestra popup', - popupFullScreen: 'A tutto schermo (IE)', - popupLeft: 'Posizione da sinistra', - popupLocationBar: 'Barra degli indirizzi', - popupMenuBar: 'Barra del menu', - popupResizable: 'Ridimensionabile', - popupScrollBars: 'Barre di scorrimento', - popupStatusBar: 'Barra di stato', - popupToolbar: 'Barra degli strumenti', - popupTop: 'Posizione dall\'alto', - rel: 'Relazioni', - selectAnchor: 'Scegli Ancora', - styles: 'Stile', - tabIndex: 'Ordine di tabulazione', - target: 'Destinazione', - targetFrame: '', - targetFrameName: 'Nome del riquadro di destinazione', - targetPopup: '', - targetPopupName: 'Nome finestra popup', - title: 'Collegamento', - toAnchor: 'Ancora nel testo', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Telefono', - toolbar: 'Collegamento', - type: 'Tipo di Collegamento', - unlink: 'Elimina collegamento', - upload: 'Carica' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ja.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ja.js deleted file mode 100644 index c2cee16fa6..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ja.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'ja', { - acccessKey: 'アクセスキー', - advanced: '高度な設定', - advisoryContentType: 'Content Type属性', - advisoryTitle: 'Title属性', - anchor: { - toolbar: 'アンカー挿入/編集', - menu: 'アンカーの編集', - title: 'アンカーのプロパティ', - name: 'アンカー名', - errorName: 'アンカー名を入力してください。', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'アンカーを削除' - }, - anchorId: 'エレメントID', - anchorName: 'アンカー名', - charset: 'リンク先のcharset', - cssClasses: 'スタイルシートクラス', - download: '強制的にダウンロード', - displayText: '表示文字', - emailAddress: 'E-Mail アドレス', - emailBody: '本文', - emailSubject: '件名', - id: 'Id', - info: 'ハイパーリンク情報', - langCode: '言語コード', - langDir: '文字表記の方向', - langDirLTR: '左から右 (LTR)', - langDirRTL: '右から左 (RTL)', - menu: 'リンクを編集', - name: 'Name属性', - noAnchors: '(このドキュメント内にアンカーはありません)', - noEmail: 'メールアドレスを入力してください。', - noUrl: 'リンクURLを入力してください。', - noTel: 'Please type the phone number', // MISSING - other: '<その他の>', - phoneNumber: 'Phone number', // MISSING - popupDependent: '開いたウィンドウに連動して閉じる (Netscape)', - popupFeatures: 'ポップアップウィンドウ特徴', - popupFullScreen: '全画面モード(IE)', - popupLeft: '左端からの座標で指定', - popupLocationBar: 'ロケーションバー', - popupMenuBar: 'メニューバー', - popupResizable: 'サイズ可変', - popupScrollBars: 'スクロールバー', - popupStatusBar: 'ステータスバー', - popupToolbar: 'ツールバー', - popupTop: '上端からの座標で指定', - rel: '関連リンク', - selectAnchor: 'アンカーを選択', - styles: 'スタイルシート', - tabIndex: 'タブインデックス', - target: 'ターゲット', - targetFrame: '<フレーム>', - targetFrameName: 'ターゲットのフレーム名', - targetPopup: '<ポップアップウィンドウ>', - targetPopupName: 'ポップアップウィンドウ名', - title: 'ハイパーリンク', - toAnchor: 'ページ内のアンカー', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'リンク挿入/編集', - type: 'リンクタイプ', - unlink: 'リンクを削除', - upload: 'アップロード' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ka.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ka.js deleted file mode 100644 index 1fcf5dc0a7..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ka.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'ka', { - acccessKey: 'წვდომის ღილაკი', - advanced: 'დაწვრილებით', - advisoryContentType: 'შიგთავსის ტიპი', - advisoryTitle: 'სათაური', - anchor: { - toolbar: 'ღუზა', - menu: 'ღუზის რედაქტირება', - title: 'ღუზის პარამეტრები', - name: 'ღუზუს სახელი', - errorName: 'აკრიფეთ ღუზის სახელი', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'ელემენტის Id-თ', - anchorName: 'ღუზის სახელით', - charset: 'კოდირება', - cssClasses: 'CSS კლასი', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'ელფოსტის მისამართები', - emailBody: 'წერილის ტექსტი', - emailSubject: 'წერილის სათაური', - id: 'Id', - info: 'ბმულის ინფორმაცია', - langCode: 'ენის კოდი', - langDir: 'ენის მიმართულება', - langDirLTR: 'მარცხნიდან მარჯვნივ (LTR)', - langDirRTL: 'მარჯვნიდან მარცხნივ (RTL)', - menu: 'ბმულის რედაქტირება', - name: 'სახელი', - noAnchors: '(ამ დოკუმენტში ღუზა არაა)', - noEmail: 'აკრიფეთ ელფოსტის მისამართი', - noUrl: 'აკრიფეთ ბმულის URL', - noTel: 'Please type the phone number', // MISSING - other: '<სხვა>', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'დამოკიდებული (Netscape)', - popupFeatures: 'Popup ფანჯრის პარამეტრები', - popupFullScreen: 'მთელი ეკრანი (IE)', - popupLeft: 'მარცხენა პოზიცია', - popupLocationBar: 'ნავიგაციის ზოლი', - popupMenuBar: 'მენიუს ზოლი', - popupResizable: 'ცვალებადი ზომით', - popupScrollBars: 'გადახვევის ზოლები', - popupStatusBar: 'სტატუსის ზოლი', - popupToolbar: 'ხელსაწყოთა ზოლი', - popupTop: 'ზედა პოზიცია', - rel: 'კავშირი', - selectAnchor: 'აირჩიეთ ღუზა', - styles: 'CSS სტილი', - tabIndex: 'Tab-ის ინდექსი', - target: 'გახსნის ადგილი', - targetFrame: '', - targetFrameName: 'Frame-ის სახელი', - targetPopup: '', - targetPopupName: 'Popup ფანჯრის სახელი', - title: 'ბმული', - toAnchor: 'ბმული ტექსტში ღუზაზე', - toEmail: 'ელფოსტა', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'ბმული', - type: 'ბმულის ტიპი', - unlink: 'ბმულის მოხსნა', - upload: 'აქაჩვა' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/km.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/km.js deleted file mode 100644 index 7cd35e3fa5..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/km.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'km', { - acccessKey: 'សោរ​ចូល', - advanced: 'កម្រិត​ខ្ពស់', - advisoryContentType: 'ប្រភេទអត្ថបទ​ប្រឹក្សា', - advisoryTitle: 'ចំណងជើង​ប្រឹក្សា', - anchor: { - toolbar: 'យុថ្កា', - menu: 'កែ​យុថ្កា', - title: 'លក្ខណៈ​យុថ្កា', - name: 'ឈ្មោះ​យុថ្កា', - errorName: 'សូម​បញ្ចូល​ឈ្មោះ​យុថ្កា', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'ដក​យុថ្កា​ចេញ' - }, - anchorId: 'តាម ID ធាតុ', - anchorName: 'តាម​ឈ្មោះ​យុថ្កា', - charset: 'លេខកូតអក្សររបស់ឈ្នាប់', - cssClasses: 'Stylesheet Classes', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'អាសយដ្ឋាន​អ៊ីមែល', - emailBody: 'តួ​អត្ថបទ', - emailSubject: 'ប្រធានបទ​សារ', - id: 'Id', - info: 'ព័ត៌មាន​ពី​តំណ', - langCode: 'កូដ​ភាសា', - langDir: 'ទិសដៅភាសា', - langDirLTR: 'ពីឆ្វេងទៅស្តាំ(LTR)', - langDirRTL: 'ពីស្តាំទៅឆ្វេង(RTL)', - menu: 'កែ​តំណ', - name: 'ឈ្មោះ', - noAnchors: '(មិន​មាន​យុថ្កា​នៅ​ក្នុង​ឯកសារ​អត្ថថបទ​ទេ)', - noEmail: 'សូម​បញ្ចូល​អាសយដ្ឋាន​អ៊ីមែល', - noUrl: 'សូម​បញ្ចូល​តំណ URL', - noTel: 'Please type the phone number', // MISSING - other: '<ផ្សេង​ទៀត>', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'មុខ​ងារ​ផុស​ផ្ទាំង​វីនដូ​ឡើង', - popupFullScreen: 'ពេញ​អេក្រង់ (IE)', - popupLeft: 'ទីតាំងខាងឆ្វេង', - popupLocationBar: 'របារ​ទីតាំង', - popupMenuBar: 'របារ​ម៉ឺនុយ', - popupResizable: 'អាច​ប្ដូរ​ទំហំ', - popupScrollBars: 'របារ​រំកិល', - popupStatusBar: 'របារ​ស្ថានភាព', - popupToolbar: 'របារ​ឧបករណ៍', - popupTop: 'ទីតាំង​កំពូល', - rel: 'សម្ពន្ធ​ភាព', - selectAnchor: 'រើស​យក​យុថ្កា​មួយ', - styles: 'ស្ទីល', - tabIndex: 'លេខ Tab', - target: 'គោលដៅ', - targetFrame: '<ស៊ុម>', - targetFrameName: 'ឈ្មោះ​ស៊ុម​ជា​គោល​ដៅ', - targetPopup: '<វីនដូ​ផុស​ឡើង>', - targetPopupName: 'ឈ្មោះ​វីនដូត​ផុស​ឡើង', - title: 'តំណ', - toAnchor: 'ត​ភ្ជាប់​ទៅ​យុថ្កា​ក្នុង​អត្ថបទ', - toEmail: 'អ៊ីមែល', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'តំណ', - type: 'ប្រភេទ​តំណ', - unlink: 'ផ្ដាច់​តំណ', - upload: 'ផ្ទុក​ឡើង' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ko.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ko.js deleted file mode 100644 index d4b52d5184..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ko.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'ko', { - acccessKey: '액세스 키', - advanced: '고급', - advisoryContentType: '보조 콘텐츠 유형', - advisoryTitle: '보조 제목', - anchor: { - toolbar: '책갈피', - menu: '책갈피 편집', - title: '책갈피 속성', - name: '책갈피 이름', - errorName: '책갈피 이름을 입력하십시오', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: '책갈피 제거' - }, - anchorId: '책갈피 ID', - anchorName: '책갈피 이름', - charset: '링크된 자료 문자열 인코딩', - cssClasses: '스타일시트 클래스', - download: '강제 다운로드', - displayText: '보이는 글자', - emailAddress: '이메일 주소', - emailBody: '메시지 내용', - emailSubject: '메시지 제목', - id: 'ID', - info: '링크 정보', - langCode: '언어 코드', - langDir: '언어 방향', - langDirLTR: '왼쪽에서 오른쪽 (LTR)', - langDirRTL: '오른쪽에서 왼쪽 (RTL)', - menu: '링크 수정', - name: '이름', - noAnchors: '(문서에 책갈피가 없습니다.)', - noEmail: '이메일 주소를 입력하십시오', - noUrl: '링크 주소(URL)를 입력하십시오', - noTel: 'Please type the phone number', // MISSING - other: '<기타>', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependent (Netscape)', - popupFeatures: '팝업창 속성', - popupFullScreen: '전체화면 (IE)', - popupLeft: '왼쪽 위치', - popupLocationBar: '주소 표시줄', - popupMenuBar: '메뉴 바', - popupResizable: '크기 조절 가능', - popupScrollBars: '스크롤 바', - popupStatusBar: '상태 바', - popupToolbar: '툴바', - popupTop: '위쪽 위치', - rel: '관계', - selectAnchor: '책갈피 선택', - styles: '스타일', - tabIndex: '탭 순서', - target: '타겟', - targetFrame: '<프레임>', - targetFrameName: '타겟 프레임 이름', - targetPopup: '<팝업 창>', - targetPopupName: '팝업 창 이름', - title: '링크', - toAnchor: '책갈피', - toEmail: '이메일', - toUrl: '주소(URL)', - toPhone: 'Phone', // MISSING - toolbar: '링크 삽입/변경', - type: '링크 종류', - unlink: '링크 지우기', - upload: '업로드' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ku.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ku.js deleted file mode 100644 index 0b0f8784a2..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ku.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'ku', { - acccessKey: 'کلیلی دەستپێگەیشتن', - advanced: 'پێشکەوتوو', - advisoryContentType: 'جۆری ناوەڕۆکی ڕاویژکار', - advisoryTitle: 'ڕاوێژکاری سەردێڕ', - anchor: { - toolbar: 'دانان/چاکسازی لەنگەر', - menu: 'چاکسازی لەنگەر', - title: 'خاسیەتی لەنگەر', - name: 'ناوی لەنگەر', - errorName: 'تکایه ناوی لەنگەر بنووسه', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'لابردنی لەنگەر' - }, - anchorId: 'بەپێی ناسنامەی توخم', - anchorName: 'بەپێی ناوی لەنگەر', - charset: 'بەستەری سەرچاوەی نووسە', - cssClasses: 'شێوازی چینی پەڕه', - download: 'داگرتنی بەهێز', - displayText: 'پیشاندانی دەق', - emailAddress: 'ناونیشانی ئیمەیل', - emailBody: 'ناوەڕۆکی نامە', - emailSubject: 'بابەتی نامە', - id: 'ناسنامە', - info: 'زانیاری بەستەر', - langCode: 'هێمای زمان', - langDir: 'ئاراستەی زمان', - langDirLTR: 'چەپ بۆ ڕاست (LTR)', - langDirRTL: 'ڕاست بۆ چەپ (RTL)', - menu: 'چاکسازی بەستەر', - name: 'ناو', - noAnchors: '(هیچ جۆرێکی لەنگەر ئامادە نیە لەم پەڕەیه)', - noEmail: 'تکایە ناونیشانی ئیمەیل بنووسە', - noUrl: 'تکایە ناونیشانی بەستەر بنووسە', - noTel: 'تکایە ژمارەی تەلەفۆن دابنێ', - other: '<هیتر>', - phoneNumber: 'ژمارەی تەلەفۆن', - popupDependent: 'پێوەبەستراو (Netscape)', - popupFeatures: 'خاسیەتی پەنجەرەی سەرهەڵدەر', - popupFullScreen: 'پڕ بەپڕی شاشە (IE)', - popupLeft: 'جێگای چەپ', - popupLocationBar: 'هێڵی ناونیشانی بەستەر', - popupMenuBar: 'هێڵی لیسته', - popupResizable: 'توانای گۆڕینی قەباره', - popupScrollBars: 'هێڵی هاتووچۆپێکردن', - popupStatusBar: 'هێڵی دۆخ', - popupToolbar: 'هێڵی تووڵامراز', - popupTop: 'جێگای سەرەوە', - rel: 'پەیوەندی', - selectAnchor: 'هەڵبژاردنی لەنگەرێك', - styles: 'شێواز', - tabIndex: 'بازدەری تابی ئیندێکس', - target: 'ئامانج', - targetFrame: '<چووارچێوە>', - targetFrameName: 'ناوی ئامانجی چووارچێوە', - targetPopup: '<پەنجەرەی سەرهەڵدەر>', - targetPopupName: 'ناوی پەنجەرەی سەرهەڵدەر', - title: 'بەستەر', - toAnchor: 'بەستەر بۆ لەنگەر له دەق', - toEmail: 'ئیمەیل', - toUrl: 'ناونیشانی بەستەر', - toPhone: 'تەلەفۆن', - toolbar: 'دانان/ڕێکخستنی بەستەر', - type: 'جۆری بەستەر', - unlink: 'لابردنی بەستەر', - upload: 'بارکردن' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/lt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/lt.js deleted file mode 100644 index a968663a0f..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/lt.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'lt', { - acccessKey: 'Prieigos raktas', - advanced: 'Papildomas', - advisoryContentType: 'Konsultacinio turinio tipas', - advisoryTitle: 'Konsultacinė antraštė', - anchor: { - toolbar: 'Įterpti/modifikuoti žymę', - menu: 'Žymės savybės', - title: 'Žymės savybės', - name: 'Žymės vardas', - errorName: 'Prašome įvesti žymės vardą', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Pašalinti žymę' - }, - anchorId: 'Pagal žymės Id', - anchorName: 'Pagal žymės vardą', - charset: 'Susietų išteklių simbolių lentelė', - cssClasses: 'Stilių lentelės klasės', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'El.pašto adresas', - emailBody: 'Žinutės turinys', - emailSubject: 'Žinutės tema', - id: 'Id', - info: 'Nuorodos informacija', - langCode: 'Teksto kryptis', - langDir: 'Teksto kryptis', - langDirLTR: 'Iš kairės į dešinę (LTR)', - langDirRTL: 'Iš dešinės į kairę (RTL)', - menu: 'Taisyti nuorodą', - name: 'Vardas', - noAnchors: '(Šiame dokumente žymių nėra)', - noEmail: 'Prašome įvesti el.pašto adresą', - noUrl: 'Prašome įvesti nuorodos URL', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Priklausomas (Netscape)', - popupFeatures: 'Išskleidžiamo lango savybės', - popupFullScreen: 'Visas ekranas (IE)', - popupLeft: 'Kairė pozicija', - popupLocationBar: 'Adreso juosta', - popupMenuBar: 'Meniu juosta', - popupResizable: 'Kintamas dydis', - popupScrollBars: 'Slinkties juostos', - popupStatusBar: 'Būsenos juosta', - popupToolbar: 'Mygtukų juosta', - popupTop: 'Viršutinė pozicija', - rel: 'Sąsajos', - selectAnchor: 'Pasirinkite žymę', - styles: 'Stilius', - tabIndex: 'Tabuliavimo indeksas', - target: 'Paskirties vieta', - targetFrame: '', - targetFrameName: 'Paskirties kadro vardas', - targetPopup: '', - targetPopupName: 'Paskirties lango vardas', - title: 'Nuoroda', - toAnchor: 'Žymė šiame puslapyje', - toEmail: 'El.paštas', - toUrl: 'Nuoroda', - toPhone: 'Phone', // MISSING - toolbar: 'Įterpti/taisyti nuorodą', - type: 'Nuorodos tipas', - unlink: 'Panaikinti nuorodą', - upload: 'Siųsti' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/lv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/lv.js deleted file mode 100644 index 713046562d..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/lv.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'lv', { - acccessKey: 'Pieejas taustiņš', - advanced: 'Izvērstais', - advisoryContentType: 'Konsultatīvs satura tips', - advisoryTitle: 'Konsultatīvs virsraksts', - anchor: { - toolbar: 'Ievietot/Labot iezīmi', - menu: 'Labot iezīmi', - title: 'Iezīmes uzstādījumi', - name: 'Iezīmes nosaukums', - errorName: 'Lūdzu norādiet iezīmes nosaukumu', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Noņemt iezīmi' - }, - anchorId: 'Pēc elementa ID', - anchorName: 'Pēc iezīmes nosaukuma', - charset: 'Pievienotā resursa kodējums', - cssClasses: 'Stilu saraksta klases', - download: 'Piespiedu ielāde', - displayText: 'Attēlot tekstu', - emailAddress: 'E-pasta adrese', - emailBody: 'Ziņojuma pamatteksts', - emailSubject: 'Ziņojuma tēma', - id: 'ID', - info: 'Saites informācija', - langCode: 'Valodas kods', - langDir: 'Valodas lasīšanas virziens', - langDirLTR: 'No kreisās uz labo (LTR)', - langDirRTL: 'No labās uz kreiso (RTL)', - menu: 'Rediģēt saiti', - name: 'Nosaukums', - noAnchors: '(Šajā dokumentā nav iezīmju)', - noEmail: 'Lūdzu, ievadiet e-pasta adresi', - noUrl: 'Lūdzu, ievadiet saites URL', - noTel: 'Lūdzu, ievadiet tālruņa numuru', - other: '', - phoneNumber: 'Tālruņa numurs', - popupDependent: 'Atkarīgs (Netscape)', - popupFeatures: 'Uznirstošā loga nosaukums īpašības', - popupFullScreen: 'Pilnā ekrānā (IE)', - popupLeft: 'Kreisā koordināte', - popupLocationBar: 'Atrašanās vietas josla', - popupMenuBar: 'Izvēlnes josla', - popupResizable: 'Mērogojams', - popupScrollBars: 'Ritjoslas', - popupStatusBar: 'Statusa josla', - popupToolbar: 'Rīku josla', - popupTop: 'Augšējā koordināte', - rel: 'Relācija', - selectAnchor: 'Izvēlēties iezīmi', - styles: 'Stils', - tabIndex: 'Ciļņu indekss', - target: 'Mērķis', - targetFrame: '', - targetFrameName: 'Mērķa ietvara nosaukums', - targetPopup: '', - targetPopupName: 'Uznirstošā loga nosaukums', - title: 'Saite', - toAnchor: 'Iezīme šajā lapā', - toEmail: 'E-pasts', - toUrl: 'Adrese', - toPhone: 'Tālrunis', - toolbar: 'Saite', - type: 'Saites tips', - unlink: 'Atsaistīt', - upload: 'Augšupielādēt' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/mk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/mk.js deleted file mode 100644 index fbc7f0cee0..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/mk.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'mk', { - acccessKey: 'Access Key', // MISSING - advanced: 'Advanced', // MISSING - advisoryContentType: 'Advisory Content Type', // MISSING - advisoryTitle: 'Advisory Title', // MISSING - anchor: { - toolbar: 'Anchor', - menu: 'Edit Anchor', - title: 'Anchor Properties', - name: 'Anchor Name', - errorName: 'Please type the anchor name', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'By Element Id', // MISSING - anchorName: 'By Anchor Name', // MISSING - charset: 'Linked Resource Charset', // MISSING - cssClasses: 'Stylesheet Classes', // MISSING - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'E-Mail Address', // MISSING - emailBody: 'Message Body', // MISSING - emailSubject: 'Message Subject', // MISSING - id: 'Id', - info: 'Link Info', // MISSING - langCode: 'Код на јазик', - langDir: 'Насока на јазик', - langDirLTR: 'Лево кон десно', - langDirRTL: 'Десно кон лево', - menu: 'Edit Link', // MISSING - name: 'Name', - noAnchors: '(No anchors available in the document)', // MISSING - noEmail: 'Please type the e-mail address', // MISSING - noUrl: 'Please type the link URL', // MISSING - noTel: 'Please type the phone number', // MISSING - other: '', // MISSING - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependent (Netscape)', // MISSING - popupFeatures: 'Popup Window Features', // MISSING - popupFullScreen: 'Full Screen (IE)', // MISSING - popupLeft: 'Left Position', // MISSING - popupLocationBar: 'Location Bar', // MISSING - popupMenuBar: 'Menu Bar', // MISSING - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Scroll Bars', // MISSING - popupStatusBar: 'Status Bar', // MISSING - popupToolbar: 'Toolbar', // MISSING - popupTop: 'Top Position', // MISSING - rel: 'Relationship', // MISSING - selectAnchor: 'Select an Anchor', // MISSING - styles: 'Стил', - tabIndex: 'Tab Index', // MISSING - target: 'Target', // MISSING - targetFrame: '', // MISSING - targetFrameName: 'Target Frame Name', // MISSING - targetPopup: '', // MISSING - targetPopupName: 'Popup Window Name', // MISSING - title: 'Врска', - toAnchor: 'Link to anchor in the text', // MISSING - toEmail: 'E-mail', // MISSING - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Врска', - type: 'Link Type', // MISSING - unlink: 'Unlink', // MISSING - upload: 'Прикачи' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/mn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/mn.js deleted file mode 100644 index c24ef49c67..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/mn.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'mn', { - acccessKey: 'Холбох түлхүүр', - advanced: 'Нэмэлт', - advisoryContentType: 'Зөвлөлдөх төрлийн агуулга', - advisoryTitle: 'Зөвлөлдөх гарчиг', - anchor: { - toolbar: 'Зангуу', - menu: 'Зангууг болосруулах', - title: 'Зангуугийн шинж чанар', - name: 'Зангуугийн нэр', - errorName: 'Зангуугийн нэрийг оруулна уу', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Зангууг устгах' - }, - anchorId: 'Элемэнтйн Id нэрээр', - anchorName: 'Зангуугийн нэрээр', - charset: 'Тэмдэгт оноох нөөцөд холбогдсон', - cssClasses: 'Stylesheet классууд', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'Э-шуудангийн хаяг', - emailBody: 'Зурвасны их бие', - emailSubject: 'Зурвасны гарчиг', - id: 'Id', - info: 'Холбоосын тухай мэдээлэл', - langCode: 'Хэлний код', - langDir: 'Хэлний чиглэл', - langDirLTR: 'Зүүнээс баруун (LTR)', - langDirRTL: 'Баруунаас зүүн (RTL)', - menu: 'Холбоос засварлах', - name: 'Нэр', - noAnchors: '(Баримт бичиг зангуугүй байна)', - noEmail: 'Э-шуудангий хаягаа шивнэ үү', - noUrl: 'Холбоосны URL хаягийг шивнэ үү', - noTel: 'Please type the phone number', // MISSING - other: '', // MISSING - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Хамаатай (Netscape)', - popupFeatures: 'Popup цонхны онцлог', - popupFullScreen: 'Цонх дүүргэх (Internet Explorer)', - popupLeft: 'Зүүн байрлал', - popupLocationBar: 'Location хэсэг', - popupMenuBar: 'Цэсний самбар', - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Скрол хэсэгүүд', - popupStatusBar: 'Статус хэсэг', - popupToolbar: 'Багажны самбар', - popupTop: 'Дээд байрлал', - rel: 'Relationship', // MISSING - selectAnchor: 'Нэг зангууг сонгоно уу', - styles: 'Загвар', - tabIndex: 'Tab индекс', - target: 'Байрлал', - targetFrame: '<Агуулах хүрээ>', - targetFrameName: 'Очих фремын нэр', - targetPopup: '', - targetPopupName: 'Popup цонхны нэр', - title: 'Холбоос', - toAnchor: 'Энэ бичвэр дэх зангуу руу очих холбоос', - toEmail: 'Э-захиа', - toUrl: 'цахим хуудасны хаяг (URL)', - toPhone: 'Phone', // MISSING - toolbar: 'Холбоос', - type: 'Линкийн төрөл', - unlink: 'Холбоос авч хаях', - upload: 'Хуулах' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ms.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ms.js deleted file mode 100644 index d34134de23..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ms.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'ms', { - acccessKey: 'Kunci Akses', - advanced: 'Advanced', - advisoryContentType: 'Jenis Kandungan Makluman', - advisoryTitle: 'Tajuk Makluman', - anchor: { - toolbar: 'Masukkan/Sunting Pautan', - menu: 'Ciri-ciri Pautan', - title: 'Ciri-ciri Pautan', - name: 'Nama Pautan', - errorName: 'Sila taip nama pautan', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'dengan menggunakan ID elemen', - anchorName: 'dengan menggunakan nama pautan', - charset: 'Linked Resource Charset', - cssClasses: 'Kelas-kelas Stylesheet', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'Alamat E-Mail', - emailBody: 'Isi Kandungan Mesej', - emailSubject: 'Subjek Mesej', - id: 'Id', - info: 'Butiran Sambungan', - langCode: 'Arah Tulisan', - langDir: 'Arah Tulisan', - langDirLTR: 'Kiri ke Kanan (LTR)', - langDirRTL: 'Kanan ke Kiri (RTL)', - menu: 'Sunting Sambungan', - name: 'Nama', - noAnchors: '(Tiada pautan terdapat dalam dokumen ini)', - noEmail: 'Sila taip alamat e-mail', - noUrl: 'Sila taip sambungan URL', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Bergantungan (Netscape)', - popupFeatures: 'Ciri Tetingkap Popup', - popupFullScreen: 'Skrin Penuh (IE)', - popupLeft: 'Posisi Kiri', - popupLocationBar: 'Bar Lokasi', - popupMenuBar: 'Bar Menu', - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Bar-bar skrol', - popupStatusBar: 'Bar Status', - popupToolbar: 'Toolbar', - popupTop: 'Posisi Atas', - rel: 'Relationship', // MISSING - selectAnchor: 'Sila pilih pautan', - styles: 'Stail', - tabIndex: 'Indeks Tab ', - target: 'Sasaran', - targetFrame: '', - targetFrameName: 'Nama Bingkai Sasaran', - targetPopup: '', - targetPopupName: 'Nama Tetingkap Popup', - title: 'Sambungan', - toAnchor: 'Pautan dalam muka surat ini', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Masukkan/Sunting Sambungan', - type: 'Jenis Sambungan', - unlink: 'Buang Sambungan', - upload: 'Muat Naik' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/nb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/nb.js deleted file mode 100644 index 3c8d9c77ba..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/nb.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'nb', { - acccessKey: 'Aksessknapp', - advanced: 'Avansert', - advisoryContentType: 'Type', - advisoryTitle: 'Tittel', - anchor: { - toolbar: 'Anker', - menu: 'Rediger anker', - title: 'Egenskaper for anker', - name: 'Ankernavn', - errorName: 'Vennligst skriv inn ankernavnet', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Fjern anker' - }, - anchorId: 'Element etter ID', - anchorName: 'Anker etter navn', - charset: 'Lenket tegnsett', - cssClasses: 'Stilarkklasser', - download: 'Tving nedlasting', - displayText: 'Tekst som skal vises', - emailAddress: 'E-postadresse', - emailBody: 'Melding', - emailSubject: 'Meldingsemne', - id: 'Id', - info: 'Lenkeinfo', - langCode: 'Språkkode', - langDir: 'Språkretning', - langDirLTR: 'Venstre til høyre (LTR)', - langDirRTL: 'Høyre til venstre (RTL)', - menu: 'Rediger lenke', - name: 'Navn', - noAnchors: '(Ingen anker i dokumentet)', - noEmail: 'Vennligst skriv inn e-postadressen', - noUrl: 'Vennligst skriv inn lenkens URL', - noTel: 'Vennligst skriv inn telefonnummeret', - other: '', - phoneNumber: 'Telefonnummer', - popupDependent: 'Avhenging (Netscape)', - popupFeatures: 'Egenskaper for popup-vindu', - popupFullScreen: 'Fullskjerm (IE)', - popupLeft: 'Venstre posisjon', - popupLocationBar: 'Adresselinje', - popupMenuBar: 'Menylinje', - popupResizable: 'Skalerbar', - popupScrollBars: 'Scrollbar', - popupStatusBar: 'Statuslinje', - popupToolbar: 'Verktøylinje', - popupTop: 'Topp-posisjon', - rel: 'Relasjon (rel)', - selectAnchor: 'Velg et anker', - styles: 'Stil', - tabIndex: 'Tabindeks', - target: 'Mål', - targetFrame: '', - targetFrameName: 'Målramme', - targetPopup: '', - targetPopupName: 'Navn på popup-vindu', - title: 'Lenke', - toAnchor: 'Lenke til anker i teksten', - toEmail: 'E-post', - toUrl: 'URL', - toPhone: 'Telefon', - toolbar: 'Lenke', - type: 'Lenketype', - unlink: 'Fjern lenke', - upload: 'Last opp' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/nl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/nl.js deleted file mode 100644 index 5c478bb1e0..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/nl.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'nl', { - acccessKey: 'Toegangstoets', - advanced: 'Geavanceerd', - advisoryContentType: 'Aanbevolen content-type', - advisoryTitle: 'Adviserende titel', - anchor: { - toolbar: 'Interne link', - menu: 'Eigenschappen interne link', - title: 'Eigenschappen interne link', - name: 'Naam interne link', - errorName: 'Geef de naam van de interne link op', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Interne link verwijderen' - }, - anchorId: 'Op kenmerk interne link', - anchorName: 'Op naam interne link', - charset: 'Karakterset van gelinkte bron', - cssClasses: 'Stylesheet-klassen', - download: 'Download forceren', - displayText: 'Weergavetekst', - emailAddress: 'E-mailadres', - emailBody: 'Inhoud bericht', - emailSubject: 'Onderwerp bericht', - id: 'Id', - info: 'Linkomschrijving', - langCode: 'Taalcode', - langDir: 'Schrijfrichting', - langDirLTR: 'Links naar rechts (LTR)', - langDirRTL: 'Rechts naar links (RTL)', - menu: 'Link wijzigen', - name: 'Naam', - noAnchors: '(Geen interne links in document gevonden)', - noEmail: 'Geef een e-mailadres', - noUrl: 'Geef de link van de URL', - noTel: 'Geef een telefoonnummer', - other: '', - phoneNumber: 'Telefoonnummer', - popupDependent: 'Afhankelijk (Netscape)', - popupFeatures: 'Instellingen popupvenster', - popupFullScreen: 'Volledig scherm (IE)', - popupLeft: 'Positie links', - popupLocationBar: 'Locatiemenu', - popupMenuBar: 'Menubalk', - popupResizable: 'Herschaalbaar', - popupScrollBars: 'Schuifbalken', - popupStatusBar: 'Statusbalk', - popupToolbar: 'Werkbalk', - popupTop: 'Positie boven', - rel: 'Relatie', - selectAnchor: 'Kies een interne link', - styles: 'Stijl', - tabIndex: 'Tabvolgorde', - target: 'Doelvenster', - targetFrame: '', - targetFrameName: 'Naam doelframe', - targetPopup: '', - targetPopupName: 'Naam popupvenster', - title: 'Link', - toAnchor: 'Interne link in pagina', - toEmail: 'E-mail', - toUrl: 'URL', - toPhone: 'Telefoon', - toolbar: 'Link invoegen/wijzigen', - type: 'Linktype', - unlink: 'Link verwijderen', - upload: 'Upload' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/no.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/no.js deleted file mode 100644 index 0ec0575948..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/no.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'no', { - acccessKey: 'Aksessknapp', - advanced: 'Avansert', - advisoryContentType: 'Type', - advisoryTitle: 'Tittel', - anchor: { - toolbar: 'Sett inn/Rediger anker', - menu: 'Egenskaper for anker', - title: 'Egenskaper for anker', - name: 'Ankernavn', - errorName: 'Vennligst skriv inn ankernavnet', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Fjern anker' - }, - anchorId: 'Element etter ID', - anchorName: 'Anker etter navn', - charset: 'Lenket tegnsett', - cssClasses: 'Stilarkklasser', - download: 'Force Download', // MISSING - displayText: 'Tekst som skal vises', - emailAddress: 'E-postadresse', - emailBody: 'Melding', - emailSubject: 'Meldingsemne', - id: 'Id', - info: 'Lenkeinfo', - langCode: 'Språkkode', - langDir: 'Språkretning', - langDirLTR: 'Venstre til høyre (VTH)', - langDirRTL: 'Høyre til venstre (HTV)', - menu: 'Rediger lenke', - name: 'Navn', - noAnchors: '(Ingen anker i dokumentet)', - noEmail: 'Vennligst skriv inn e-postadressen', - noUrl: 'Vennligst skriv inn lenkens URL', - noTel: 'Skriv inn telefonnummer', - other: '', - phoneNumber: 'Telefonnummer', - popupDependent: 'Avhenging (Netscape)', - popupFeatures: 'Egenskaper for popup-vindu', - popupFullScreen: 'Fullskjerm (IE)', - popupLeft: 'Venstre posisjon', - popupLocationBar: 'Adresselinje', - popupMenuBar: 'Menylinje', - popupResizable: 'Skalerbar', - popupScrollBars: 'Scrollbar', - popupStatusBar: 'Statuslinje', - popupToolbar: 'Verktøylinje', - popupTop: 'Topp-posisjon', - rel: 'Relasjon (rel)', - selectAnchor: 'Velg et anker', - styles: 'Stil', - tabIndex: 'Tabindeks', - target: 'Mål', - targetFrame: '', - targetFrameName: 'Målramme', - targetPopup: '', - targetPopupName: 'Navn på popup-vindu', - title: 'Lenke', - toAnchor: 'Lenke til anker i teksten', - toEmail: 'E-post', - toUrl: 'URL', - toPhone: 'Telefon', - toolbar: 'Sett inn/Rediger lenke', - type: 'Lenketype', - unlink: 'Fjern lenke', - upload: 'Last opp' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/oc.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/oc.js deleted file mode 100644 index 872eba8906..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/oc.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'oc', { - acccessKey: 'Tòca d\'accessibilitat', - advanced: 'Avançat', - advisoryContentType: 'Tipe de contengut (indicatiu)', - advisoryTitle: 'Infobulla', - anchor: { - toolbar: 'Ancòra', - menu: 'Modificar l\'ancòra', - title: 'Proprietats de l\'ancòra', - name: 'Nom de l\'ancòra', - errorName: 'Entratz lo nom de l\'ancòra', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Suprimir l\'ancòra' - }, - anchorId: 'Per ID d\'element', - anchorName: 'Per nom d\'ancòra', - charset: 'Encodatge de la ressorsa ligada', - cssClasses: 'Classas d\'estil', - download: 'Forçar lo telecargament', - displayText: 'Afichar lo tèxte', - emailAddress: 'Adreça electronica', - emailBody: 'Còs del messatge', - emailSubject: 'Subjècte del messatge', - id: 'Id', - info: 'Informacions sul ligam', - langCode: 'Còdi de lenga', - langDir: 'Sens d\'escritura', - langDirLTR: 'Esquèrra a dreita (LTR)', - langDirRTL: 'Dreita a esquèrra (RTL)', - menu: 'Modificar lo ligam', - name: 'Nom', - noAnchors: '(Cap d\'ancòra pas disponibla dins aqueste document)', - noEmail: 'Entratz l\'adreça electronica', - noUrl: 'Entratz l\'URL del ligam', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependenta (Netscape)', - popupFeatures: 'Caracteristicas de la fenèstra sorgissenta', - popupFullScreen: 'Ecran complet (IE)', - popupLeft: 'A esquèrra', - popupLocationBar: 'Barra d\'adreça', - popupMenuBar: 'Barra de menú', - popupResizable: 'Redimensionable', - popupScrollBars: 'Barras de desfilament', - popupStatusBar: 'Barra d\'estat', - popupToolbar: 'Barra d\'aisinas', - popupTop: 'Amont', - rel: 'Relacion', - selectAnchor: 'Seleccionar una ancòra', - styles: 'Estil', - tabIndex: 'Indici de tabulacion', - target: 'Cibla', - targetFrame: '', - targetFrameName: 'Nom del quadre afectat', - targetPopup: '', - targetPopupName: 'Nom de la fenèstra sorgissenta', - title: 'Ligam', - toAnchor: 'Ancòra', - toEmail: 'Corrièl', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Ligam', - type: 'Tipe de ligam', - unlink: 'Suprimir lo ligam', - upload: 'Mandar' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/pl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/pl.js deleted file mode 100644 index 7c50ba1a81..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/pl.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'pl', { - acccessKey: 'Klawisz dostępu', - advanced: 'Zaawansowane', - advisoryContentType: 'Typ MIME obiektu docelowego', - advisoryTitle: 'Opis obiektu docelowego', - anchor: { - toolbar: 'Wstaw/edytuj kotwicę', - menu: 'Właściwości kotwicy', - title: 'Właściwości kotwicy', - name: 'Nazwa kotwicy', - errorName: 'Podaj nazwę kotwicy.', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Usuń kotwicę' - }, - anchorId: 'Wg identyfikatora', - anchorName: 'Wg nazwy', - charset: 'Kodowanie znaków obiektu docelowego', - cssClasses: 'Nazwa klasy CSS', - download: 'Wymuś pobieranie', - displayText: 'Wyświetlany tekst', - emailAddress: 'Adres e-mail', - emailBody: 'Treść', - emailSubject: 'Temat', - id: 'Id', - info: 'Informacje ', - langCode: 'Kod języka', - langDir: 'Kierunek tekstu', - langDirLTR: 'Od lewej do prawej (LTR)', - langDirRTL: 'Od prawej do lewej (RTL)', - menu: 'Edytuj odnośnik', - name: 'Nazwa', - noAnchors: '(W dokumencie nie zdefiniowano żadnych kotwic)', - noEmail: 'Podaj adres e-mail.', - noUrl: 'Podaj adres URL.', - noTel: 'Podaj numer telefonu.', - other: '', - phoneNumber: 'Numer telefonu', - popupDependent: 'Okno zależne (Netscape)', - popupFeatures: 'Właściwości wyskakującego okna', - popupFullScreen: 'Pełny ekran (IE)', - popupLeft: 'Pozycja w poziomie', - popupLocationBar: 'Pasek adresu', - popupMenuBar: 'Pasek menu', - popupResizable: 'Skalowalny', - popupScrollBars: 'Paski przewijania', - popupStatusBar: 'Pasek statusu', - popupToolbar: 'Pasek narzędzi', - popupTop: 'Pozycja w pionie', - rel: 'Relacja', - selectAnchor: 'Wybierz kotwicę', - styles: 'Styl', - tabIndex: 'Indeks kolejności', - target: 'Obiekt docelowy', - targetFrame: '', - targetFrameName: 'Nazwa ramki docelowej', - targetPopup: '', - targetPopupName: 'Nazwa wyskakującego okna', - title: 'Odnośnik', - toAnchor: 'Odnośnik wewnątrz strony (kotwica)', - toEmail: 'Adres e-mail', - toUrl: 'Adres URL', - toPhone: 'Telefon', - toolbar: 'Wstaw/edytuj odnośnik', - type: 'Typ odnośnika', - unlink: 'Usuń odnośnik', - upload: 'Wyślij' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/pt-br.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/pt-br.js deleted file mode 100644 index 3be97d5f13..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/pt-br.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'pt-br', { - acccessKey: 'Chave de Acesso', - advanced: 'Avançado', - advisoryContentType: 'Tipo de Conteúdo', - advisoryTitle: 'Título', - anchor: { - toolbar: 'Inserir/Editar Âncora', - menu: 'Formatar Âncora', - title: 'Formatar Âncora', - name: 'Nome da Âncora', - errorName: 'Por favor, digite o nome da âncora', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remover Âncora' - }, - anchorId: 'Id da âncora', - anchorName: 'Nome da âncora', - charset: 'Charset do Link', - cssClasses: 'Classe de CSS', - download: 'Forçar Download', - displayText: 'Exibir Texto', - emailAddress: 'Endereço E-Mail', - emailBody: 'Corpo da Mensagem', - emailSubject: 'Assunto da Mensagem', - id: 'Id', - info: 'Informações', - langCode: 'Direção do idioma', - langDir: 'Direção do idioma', - langDirLTR: 'Esquerda para Direita (LTR)', - langDirRTL: 'Direita para Esquerda (RTL)', - menu: 'Editar Link', - name: 'Nome', - noAnchors: '(Não há âncoras no documento)', - noEmail: 'Por favor, digite o endereço de e-mail', - noUrl: 'Por favor, digite o endereço do Link', - noTel: 'Por favor, informe o número do telefone', - other: '', - phoneNumber: 'Número de telefone', - popupDependent: 'Dependente (Netscape)', - popupFeatures: 'Propriedades da Janela Pop-up', - popupFullScreen: 'Modo Tela Cheia (IE)', - popupLeft: 'Esquerda', - popupLocationBar: 'Barra de Endereços', - popupMenuBar: 'Barra de Menus', - popupResizable: 'Redimensionável', - popupScrollBars: 'Barras de Rolagem', - popupStatusBar: 'Barra de Status', - popupToolbar: 'Barra de Ferramentas', - popupTop: 'Topo', - rel: 'Tipo de Relação', - selectAnchor: 'Selecione uma âncora', - styles: 'Estilos', - tabIndex: 'Índice de Tabulação', - target: 'Destino', - targetFrame: '', - targetFrameName: 'Nome do Frame de Destino', - targetPopup: '', - targetPopupName: 'Nome da Janela Pop-up', - title: 'Editar Link', - toAnchor: 'Âncora nesta página', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Telefone', - toolbar: 'Inserir/Editar Link', - type: 'Tipo de hiperlink', - unlink: 'Remover Link', - upload: 'Enviar ao Servidor' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/pt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/pt.js deleted file mode 100644 index 8367d4758a..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/pt.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'pt', { - acccessKey: 'Chave de acesso', - advanced: 'Avançado', - advisoryContentType: 'Tipo de conteúdo', - advisoryTitle: 'Título', - anchor: { - toolbar: ' Inserir/Editar âncora', - menu: 'Propriedades da âncora', - title: 'Propriedades da âncora', - name: 'Nome da âncora', - errorName: 'Por favor, introduza o nome da âncora', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remover âncora' - }, - anchorId: 'Por ID do elemento', - anchorName: 'Por Nome de Referência', - charset: 'Fonte de caracteres vinculado', - cssClasses: 'Classes de Estilo', - download: 'Force Download', // MISSING - displayText: 'Mostrar texto', - emailAddress: 'Endereço de email', - emailBody: 'Corpo da mensagem', - emailSubject: 'Título de mensagem', - id: 'ID', - info: 'Informação da hiperligação', - langCode: 'Código de idioma', - langDir: 'Orientação de idioma', - langDirLTR: 'Esquerda para a Direita (EPD)', - langDirRTL: 'Direita para a Esquerda (DPE)', - menu: 'Editar hiperligação', - name: 'Nome', - noAnchors: '(Não existem âncoras no documento)', - noEmail: 'Por favor, escreva o endereço de email', - noUrl: 'Por favor, introduza o endereço URL', - noTel: 'Por favor, escreva o número de telefone', - other: '', - phoneNumber: 'Número de telefone', - popupDependent: 'Dependente (Netscape)', - popupFeatures: 'Características de janela flutuante', - popupFullScreen: 'Janela completa (IE)', - popupLeft: 'Posição esquerda', - popupLocationBar: 'Barra de localização', - popupMenuBar: 'Barra de menu', - popupResizable: 'Redimensionável', - popupScrollBars: 'Barras de deslocamento', - popupStatusBar: 'Barra de estado', - popupToolbar: 'Barra de ferramentas', - popupTop: 'Posição topo', - rel: 'Relação', - selectAnchor: 'Selecionar âncora', - styles: 'Estilo', - tabIndex: 'Índice de tabulação', - target: 'Alvo', - targetFrame: '', - targetFrameName: 'Nome da janela de destino', - targetPopup: '', - targetPopupName: 'Nome da janela flutuante', - title: 'Hiperligação', - toAnchor: 'Ligar a âncora no texto', - toEmail: 'Email', - toUrl: 'URL', - toPhone: 'Telefone', - toolbar: 'Hiperligação', - type: 'Tipo de hiperligação', - unlink: 'Eliminar hiperligação', - upload: 'Carregar' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ro.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ro.js deleted file mode 100644 index cd35ab2121..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ro.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'ro', { - acccessKey: 'Tasta de acces', - advanced: 'Avansat', - advisoryContentType: 'Tipul consultativ al titlului', - advisoryTitle: 'Titlul consultativ', - anchor: { - toolbar: 'Inserează/Editează ancoră', - menu: 'Proprietăţi ancoră', - title: 'Proprietăţi ancoră', - name: 'Numele ancorei', - errorName: 'Vă rugăm scrieţi numele ancorei', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Elimină ancora' - }, - anchorId: 'după Id-ul elementului', - anchorName: 'după numele ancorei', - charset: 'Setul de caractere al resursei legate', - cssClasses: 'Clasele cu stilul paginii (CSS)', - download: 'descarcă', - displayText: 'afișează textul', - emailAddress: 'Adresă de e-mail', - emailBody: 'conținut email', - emailSubject: 'Subiectul mesajului', - id: 'identitate', - info: 'Informaţii despre link (Legătură web)', - langCode: 'Direcţia cuvintelor', - langDir: 'Direcţia cuvintelor', - langDirLTR: 'de la stânga la dreapta (LTR)', - langDirRTL: 'de la dreapta la stânga (RTL)', - menu: 'Editează Link', - name: 'Nume', - noAnchors: 'Nu există nici o ancoră', - noEmail: 'Vă rugăm să scrieţi adresa de e-mail', - noUrl: 'Vă rugăm să scrieţi URL-ul', - noTel: 'Please type the phone number', // MISSING - other: 'altceva', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependent (Netscape)', - popupFeatures: 'Proprietăţile ferestrei popup', - popupFullScreen: 'Tot ecranul (Full Screen)(IE)', - popupLeft: 'Poziţia la stânga', - popupLocationBar: 'Bara de locaţie', - popupMenuBar: 'Bara de meniu', - popupResizable: 'Redimensionabil', - popupScrollBars: 'Bare de derulare', - popupStatusBar: 'Bara de stare', - popupToolbar: 'Bara de opţiuni', - popupTop: 'Poziţia la dreapta', - rel: 'Relaționare', - selectAnchor: 'Selectaţi o ancoră', - styles: 'Stil', - tabIndex: 'Indexul tabului', - target: 'Ţintă (Target)', - targetFrame: 'frame țintă', - targetFrameName: 'Numele frameului ţintă', - targetPopup: 'popup țintă', - targetPopupName: 'Numele ferestrei popup', - title: 'titlu', - toAnchor: 'Ancoră în această pagină', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Inserează/Editează link (legătură web)', - type: 'Tipul link-ului (al legăturii web)', - unlink: 'Înlătură link (legătură web)', - upload: 'Încarcă' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ru.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ru.js deleted file mode 100644 index f51b6b5a8a..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ru.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'ru', { - acccessKey: 'Клавиша доступа', - advanced: 'Дополнительно', - advisoryContentType: 'Тип содержимого', - advisoryTitle: 'Заголовок', - anchor: { - toolbar: 'Вставить / редактировать якорь', - menu: 'Изменить якорь', - title: 'Свойства якоря', - name: 'Имя якоря', - errorName: 'Пожалуйста, введите имя якоря', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Удалить якорь' - }, - anchorId: 'По идентификатору', - anchorName: 'По имени', - charset: 'Кодировка ресурса', - cssClasses: 'Классы CSS', - download: 'Скачать как файл', - displayText: 'Отображаемый текст', - emailAddress: 'Email адрес', - emailBody: 'Текст сообщения', - emailSubject: 'Тема сообщения', - id: 'Идентификатор', - info: 'Информация о ссылке', - langCode: 'Код языка', - langDir: 'Направление текста', - langDirLTR: 'Слева направо (LTR)', - langDirRTL: 'Справа налево (RTL)', - menu: 'Редактировать ссылку', - name: 'Имя', - noAnchors: '(В документе нет ни одного якоря)', - noEmail: 'Пожалуйста, введите email адрес', - noUrl: 'Пожалуйста, введите ссылку', - noTel: 'Please type the phone number', // MISSING - other: '<другой>', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Зависимое (Netscape)', - popupFeatures: 'Параметры всплывающего окна', - popupFullScreen: 'Полноэкранное (IE)', - popupLeft: 'Отступ слева', - popupLocationBar: 'Панель адреса', - popupMenuBar: 'Панель меню', - popupResizable: 'Изменяемый размер', - popupScrollBars: 'Полосы прокрутки', - popupStatusBar: 'Строка состояния', - popupToolbar: 'Панель инструментов', - popupTop: 'Отступ сверху', - rel: 'Отношение', - selectAnchor: 'Выберите якорь', - styles: 'Стиль', - tabIndex: 'Последовательность перехода', - target: 'Цель', - targetFrame: '<фрейм>', - targetFrameName: 'Имя целевого фрейма', - targetPopup: '<всплывающее окно>', - targetPopupName: 'Имя всплывающего окна', - title: 'Ссылка', - toAnchor: 'Ссылка на якорь в тексте', - toEmail: 'Email', - toUrl: 'Ссылка', - toPhone: 'Phone', // MISSING - toolbar: 'Вставить/Редактировать ссылку', - type: 'Тип ссылки', - unlink: 'Убрать ссылку', - upload: 'Загрузка' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/si.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/si.js deleted file mode 100644 index e97afc0d45..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/si.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'si', { - acccessKey: 'ප්‍රවේශ යතුර', - advanced: 'දීය', - advisoryContentType: 'උපදේශාත්මක අන්තර්ගත ආකාරය', - advisoryTitle: 'උපදේශාත්මක නාමය', - anchor: { - toolbar: 'ආධාරය', - menu: 'ආධාරය වෙනස් කිරීම', - title: 'ආධාරක ', - name: 'ආධාරකයේ නාමය', - errorName: 'කරුණාකර ආධාරකයේ නාමය ඇතුල් කරන්න', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'ආධාරකය ඉවත් කිරීම' - }, - anchorId: 'By Element Id', // MISSING - anchorName: 'By Anchor Name', // MISSING - charset: 'Linked Resource Charset', // MISSING - cssClasses: 'විලාසපත්‍ර පන්තිය', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'E-Mail Address', // MISSING - emailBody: 'Message Body', // MISSING - emailSubject: 'Message Subject', // MISSING - id: 'අංකය', - info: 'Link Info', // MISSING - langCode: 'භාෂා කේතය', - langDir: 'භාෂා දිශාව', - langDirLTR: 'වමේසිට දකුණුට', - langDirRTL: 'දකුණේ සිට වමට', - menu: 'Edit Link', // MISSING - name: 'නම', - noAnchors: '(No anchors available in the document)', // MISSING - noEmail: 'Please type the e-mail address', // MISSING - noUrl: 'Please type the link URL', // MISSING - noTel: 'Please type the phone number', // MISSING - other: '', // MISSING - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Dependent (Netscape)', // MISSING - popupFeatures: 'Popup Window Features', // MISSING - popupFullScreen: 'Full Screen (IE)', // MISSING - popupLeft: 'Left Position', // MISSING - popupLocationBar: 'Location Bar', // MISSING - popupMenuBar: 'Menu Bar', // MISSING - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Scroll Bars', // MISSING - popupStatusBar: 'Status Bar', // MISSING - popupToolbar: 'Toolbar', // MISSING - popupTop: 'Top Position', // MISSING - rel: 'Relationship', // MISSING - selectAnchor: 'Select an Anchor', // MISSING - styles: 'විලාසය', - tabIndex: 'Tab Index', // MISSING - target: 'අරමුණ', - targetFrame: '', // MISSING - targetFrameName: 'Target Frame Name', // MISSING - targetPopup: '', // MISSING - targetPopupName: 'Popup Window Name', // MISSING - title: 'සබැඳිය', - toAnchor: 'Link to anchor in the text', // MISSING - toEmail: 'E-mail', // MISSING - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'සබැඳිය', - type: 'Link Type', // MISSING - unlink: 'Unlink', // MISSING - upload: 'උඩුගතකිරීම' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sk.js deleted file mode 100644 index d49d6e0f04..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sk.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'sk', { - acccessKey: 'Prístupový kľúč', - advanced: 'Rozšírené', - advisoryContentType: 'Pomocný typ obsahu', - advisoryTitle: 'Pomocný titulok', - anchor: { - toolbar: 'Kotva', - menu: 'Upraviť kotvu', - title: 'Vlastnosti kotvy', - name: 'Názov kotvy', - errorName: 'Zadajte prosím názov kotvy', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Odstrániť kotvu' - }, - anchorId: 'Podľa Id objektu', - anchorName: 'Podľa mena kotvy', - charset: 'Priradená znaková sada', - cssClasses: 'Triedy štýlu', - download: 'Vynútené sťahovanie.', - displayText: 'Zobraziť text', - emailAddress: 'E-Mailová adresa', - emailBody: 'Telo správy', - emailSubject: 'Predmet správy', - id: 'Id', - info: 'Informácie o odkaze', - langCode: 'Orientácia jazyka', - langDir: 'Orientácia jazyka', - langDirLTR: 'Zľava doprava (LTR)', - langDirRTL: 'Sprava doľava (RTL)', - menu: 'Upraviť odkaz', - name: 'Názov', - noAnchors: '(V dokumente nie sú dostupné žiadne kotvy)', - noEmail: 'Zadajte prosím e-mailovú adresu', - noUrl: 'Zadajte prosím URL odkazu', - noTel: 'Zadajte prosím telefónne číslo', - other: '', - phoneNumber: 'Telefónne číslo', - popupDependent: 'Závislosť (Netscape)', - popupFeatures: 'Vlastnosti vyskakovacieho okna', - popupFullScreen: 'Celá obrazovka (IE)', - popupLeft: 'Ľavý okraj', - popupLocationBar: 'Panel umiestnenia (location bar)', - popupMenuBar: 'Panel ponuky (menu bar)', - popupResizable: 'Meniteľná veľkosť (resizable)', - popupScrollBars: 'Posuvníky (scroll bars)', - popupStatusBar: 'Stavový riadok (status bar)', - popupToolbar: 'Panel nástrojov (toolbar)', - popupTop: 'Horný okraj', - rel: 'Vzťah (rel)', - selectAnchor: 'Vybrať kotvu', - styles: 'Štýl', - tabIndex: 'Poradie prvku (tab index)', - target: 'Cieľ', - targetFrame: '', - targetFrameName: 'Názov rámu cieľa', - targetPopup: '', - targetPopupName: 'Názov vyskakovacieho okna', - title: 'Odkaz', - toAnchor: 'Odkaz na kotvu v texte', - toEmail: 'E-mail', - toUrl: 'URL', - toPhone: 'Telefón', - toolbar: 'Odkaz', - type: 'Typ odkazu', - unlink: 'Odstrániť odkaz', - upload: 'Nahrať' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sl.js deleted file mode 100644 index 5872355b92..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sl.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'sl', { - acccessKey: 'Tipka za dostop', - advanced: 'Napredno', - advisoryContentType: 'Predlagana vrsta vsebine', - advisoryTitle: 'Predlagani naslov', - anchor: { - toolbar: 'Sidro', - menu: 'Uredi sidro', - title: 'Lastnosti sidra', - name: 'Ime sidra', - errorName: 'Prosimo, vnesite ime sidra', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Odstrani sidro' - }, - anchorId: 'Po ID-ju elementa', - anchorName: 'Po imenu sidra', - charset: 'Nabor znakov povezanega vira', - cssClasses: 'Razredi slogovne predloge', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'E-poštni naslov', - emailBody: 'Telo sporočila', - emailSubject: 'Zadeva sporočila', - id: 'Id', - info: 'Podatki o povezavi', - langCode: 'Koda jezika', - langDir: 'Smer jezika', - langDirLTR: 'Od leve proti desni (LTR)', - langDirRTL: 'Od desne proti levi (RTL)', - menu: 'Uredi povezavo', - name: 'Ime', - noAnchors: '(V tem dokumentu ni sider)', - noEmail: 'Vnesite e-poštni naslov', - noUrl: 'Vnesite URL povezave', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Podokno (Netscape)', - popupFeatures: 'Značilnosti pojavnega okna', - popupFullScreen: 'Celozaslonsko (IE)', - popupLeft: 'Lega levo', - popupLocationBar: 'Naslovna vrstica', - popupMenuBar: 'Menijska vrstica', - popupResizable: 'Spremenljive velikosti', - popupScrollBars: 'Drsniki', - popupStatusBar: 'Vrstica stanja', - popupToolbar: 'Orodna vrstica', - popupTop: 'Lega na vrhu', - rel: 'Odnos', - selectAnchor: 'Izberite sidro', - styles: 'Slog', - tabIndex: 'Številka tabulatorja', - target: 'Cilj', - targetFrame: '', - targetFrameName: 'Ime ciljnega okvirja', - targetPopup: '', - targetPopupName: 'Ime pojavnega okna', - title: 'Povezava', - toAnchor: 'Sidro na tej strani', - toEmail: 'E-pošta', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Vstavi/uredi povezavo', - type: 'Vrsta povezave', - unlink: 'Odstrani povezavo', - upload: 'Naloži' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sq.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sq.js deleted file mode 100644 index a500ceb8ef..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sq.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'sq', { - acccessKey: 'Elementi i qasjes', - advanced: 'Të përparuara', - advisoryContentType: 'Lloji i Përmbajtjes Këshillimorit', - advisoryTitle: 'Titulli Këshillimorit', - anchor: { - toolbar: 'Spirancë', - menu: 'Redakto Spirancën', - title: 'Karakteristikat e Spirancës', - name: 'Emri i Spirancës', - errorName: 'Ju lutemi shkruani emrin e spirancës', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Largo Spirancën' - }, - anchorId: 'Sipas ID-së së Elementit', - anchorName: 'Sipas Emrit të Spirancës', - charset: 'Seti i Karaktereve të Burimeve të lidhura', - cssClasses: 'CSS Klasat', - download: 'Nxit Shkarkimin', - displayText: 'Shfaq Tekstin', - emailAddress: 'Posta Elektronike', - emailBody: 'Hapësira e Porosisë', - emailSubject: 'Titulli i Porosisë', - id: 'Id', - info: 'Informacione të Nyjës', - langCode: 'Kodi Gjuhës', - langDir: 'Drejtimi Gjuhës', - langDirLTR: 'Nga e majta në të djathë (LTR)', - langDirRTL: 'Nga e djathta në të majtë (RTL)', - menu: 'Redakto Nyjen', - name: 'Emri', - noAnchors: '(Nuk ka asnjë spirancë në dokument)', - noEmail: 'Ju lutemi shkruani postën elektronike', - noUrl: 'Ju lutemi shkruani URL-në e nyjës', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'E Varur (Netscape)', - popupFeatures: 'Karakteristikat e Dritares së Dialogut', - popupFullScreen: 'Ekrani Plotë (IE)', - popupLeft: 'Pozita Majtas', - popupLocationBar: 'Shiriti Vendit', - popupMenuBar: 'Shiriti Menysë', - popupResizable: 'I ndryshueshëm', - popupScrollBars: 'Shiritat zvarritës', - popupStatusBar: 'Shiriti Statutit', - popupToolbar: 'Shiriti Mjeteve', - popupTop: 'Top Pozita', - rel: 'Marrëdhëniet', - selectAnchor: 'Përzgjidh Spirancë', - styles: 'Stil', - tabIndex: 'Indeksi Fletës', - target: 'Objektivi', - targetFrame: '', - targetFrameName: 'Emri i Kornizës së Synuar', - targetPopup: '', - targetPopupName: 'Emri i Dritares së Dialogut', - title: 'Nyja', - toAnchor: 'Lidhu me spirancën në tekst', - toEmail: 'Posta Elektronike', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Nyja', - type: 'Lloji i Nyjës', - unlink: 'Largo Nyjën', - upload: 'Ngarko' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sr-latn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sr-latn.js deleted file mode 100644 index 67ccb6bc9c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sr-latn.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'sr-latn', { - acccessKey: 'Kombinacija tastera', - advanced: 'Dalje mogućnosti', - advisoryContentType: 'Tip sadržaja pomoći', - advisoryTitle: 'Oznaka za pomoć', - anchor: { - toolbar: 'Unesi/izmeni sidro', - menu: 'Karakteristike sidra', - title: 'Karakteristike sidra', - name: 'Naziv sidra', - errorName: 'Unesite naziv sidra', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Ukloni sidro' - }, - anchorId: 'Po Id-u elementa', - anchorName: 'Po nazivu sidra', - charset: 'Kod stranica navedenog sadržaja', - cssClasses: 'Stilske oznake', - download: 'Obavezno preuzimanje', - displayText: 'Prikazani tekst', - emailAddress: 'E-Mail adresa', - emailBody: 'Sadržaj poruke', - emailSubject: 'Naslov poruke', - id: 'Id', - info: 'Osnovne karakteristike', - langCode: 'Smer pisanja', - langDir: 'Smer pisanja', - langDirLTR: 'S leva na desno (LTR)', - langDirRTL: 'S desna na levo (RTL)', - menu: 'Izmeni link', - name: 'Naziv', - noAnchors: '(Nema sidra u dokumentu)', - noEmail: 'Odredite e-mail adresu', - noUrl: 'Unesite URL linka', - noTel: 'Unesite broj telefona', - other: '<оstalo>', - phoneNumber: 'Broj telefona', - popupDependent: 'Zavisno (Netscape)', - popupFeatures: 'Karakteristike iskačućeg prozora', - popupFullScreen: 'Prikaz preko celog ekrana (IE)', - popupLeft: 'Leva pozicija ', - popupLocationBar: 'Lokacija', - popupMenuBar: 'Kontekstni meni', - popupResizable: 'Promenljive veličine', - popupScrollBars: 'Klizač', - popupStatusBar: 'Statusna linija', - popupToolbar: 'Traka sa altakama', - popupTop: 'Gornja pozicija', - rel: 'Vrsta odnosа', - selectAnchor: 'Odaberi sidro', - styles: 'Stil', - tabIndex: 'Tab indeks', - target: 'Prikaži sadržaj', - targetFrame: '', - targetFrameName: 'Naziv okvira', - targetPopup: ' ', - targetPopupName: 'Naziv iskačućeg prozora', - title: 'Karaktersitike linka', - toAnchor: 'Sidro na ovoj stranici', - toEmail: 'E-Mail', - toUrl: 'URL', - toPhone: 'Telefon', - toolbar: 'Unesi/izmeni link', - type: 'Vrsta linka', - unlink: 'Ukloni link', - upload: 'Postavi' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sr.js deleted file mode 100644 index 6732ca154c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sr.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'sr', { - acccessKey: 'Комбинација тастера', - advanced: 'Даље поције', - advisoryContentType: 'Тип садржаја помоћи', - advisoryTitle: 'Ознака за помоћ', - anchor: { - toolbar: 'Унеси/измени сидро', - menu: 'Карактеристике сидра', - title: 'Карактеристике сидра', - name: 'Назив сидра', - errorName: 'Унесите назив сидра', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Уклони сидро' - }, - anchorId: 'Пo Ид-у елемента', - anchorName: 'По називу сидра', - charset: 'Код страницанаведеног садржаја', - cssClasses: 'Стилске ознаке', - download: 'Обавезно преузимање', - displayText: 'Приказани текст', - emailAddress: 'Е-маил адреса', - emailBody: 'Садржај поруке', - emailSubject: 'Наслов пруке', - id: 'Ид', - info: 'Основне карактеристике', - langCode: 'Смер писања', - langDir: 'Смер писања', - langDirLTR: 'С лева на десно (LTR)', - langDirRTL: 'С десна на лево (RTL)', - menu: 'Промени линк', - name: 'Назив', - noAnchors: '(Нема сидра у документу)', - noEmail: 'Одредите е-маил адресу', - noUrl: 'Унесите УРЛ линка', - noTel: 'Унесите број телефона', - other: '<друго>', - phoneNumber: 'Број телефона', - popupDependent: 'Зависно (Netscape)', - popupFeatures: 'Карактеристике искачућег прозора', - popupFullScreen: 'Приказ преко целог екрана (ИE)', - popupLeft: 'Лева позиција', - popupLocationBar: 'Локација', - popupMenuBar: 'Контекстни мени', - popupResizable: 'Промењиве величине', - popupScrollBars: 'Клизач', - popupStatusBar: 'Статусна линија', - popupToolbar: 'Трака са алаткама', - popupTop: 'Горња позиција', - rel: 'Врста односа', - selectAnchor: 'Одабери сидро', - styles: 'Стил', - tabIndex: 'Таб индекс', - target: 'Прикажи садржај', - targetFrame: '<оквир>', - targetFrameName: 'Назив оквира', - targetPopup: '<искачући прозор>', - targetPopupName: 'Назив искачућег прозора', - title: 'Карактеристике линка', - toAnchor: 'Сидро на овој страници', - toEmail: 'E-маил', - toUrl: 'УРЛ', - toPhone: 'Телефон', - toolbar: 'Унеси/измени линк', - type: 'Врста линка', - unlink: 'Уклони линк', - upload: 'Постави' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sv.js deleted file mode 100644 index 73d12cb147..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/sv.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'sv', { - acccessKey: 'Behörighetsnyckel', - advanced: 'Avancerad', - advisoryContentType: 'Innehållstyp', - advisoryTitle: 'Titel', - anchor: { - toolbar: 'Infoga/Redigera ankarlänk', - menu: 'Egenskaper för ankarlänk', - title: 'Egenskaper för ankarlänk', - name: 'Ankarnamn', - errorName: 'Var god ange ett ankarnamn', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Radera ankare' - }, - anchorId: 'Efter element-id', - anchorName: 'Efter ankarnamn', - charset: 'Teckenuppställning', - cssClasses: 'Stilmall', - download: 'Tvinga nerladdning', - displayText: 'Visningstext', - emailAddress: 'E-postadress', - emailBody: 'Innehåll', - emailSubject: 'Ämne', - id: 'Id', - info: 'Länkinformation', - langCode: 'Språkkod', - langDir: 'Språkriktning', - langDirLTR: 'Vänster till höger (VTH)', - langDirRTL: 'Höger till vänster (HTV)', - menu: 'Redigera länk', - name: 'Namn', - noAnchors: '(Inga ankare kunde hittas)', - noEmail: 'Var god ange e-postadress', - noUrl: 'Var god ange länkens URL', - noTel: 'Var god ange telefonnummer', - other: '', - phoneNumber: 'Telefonnummer', - popupDependent: 'Beroende (endast Netscape)', - popupFeatures: 'Popup-fönstrets egenskaper', - popupFullScreen: 'Helskärm (endast IE)', - popupLeft: 'Position från vänster', - popupLocationBar: 'Adressfält', - popupMenuBar: 'Menyfält', - popupResizable: 'Skalbart', - popupScrollBars: 'Scrolllista', - popupStatusBar: 'Statusfält', - popupToolbar: 'Verktygsfält', - popupTop: 'Position från sidans topp', - rel: 'Förhållande', - selectAnchor: 'Välj ett ankare', - styles: 'Stilmall', - tabIndex: 'Tabindex', - target: 'Mål', - targetFrame: '', - targetFrameName: 'Målets ramnamn', - targetPopup: '', - targetPopupName: 'Popup-fönstrets namn', - title: 'Länk', - toAnchor: 'Länk till ankare i texten', - toEmail: 'E-post', - toUrl: 'URL', - toPhone: 'Telefon', - toolbar: 'Infoga/Redigera länk', - type: 'Länktyp', - unlink: 'Radera länk', - upload: 'Ladda upp' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/th.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/th.js deleted file mode 100644 index 01e457ecfb..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/th.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'th', { - acccessKey: 'แอคเซส คีย์', - advanced: 'ขั้นสูง', - advisoryContentType: 'ชนิดของคำเกริ่นนำ', - advisoryTitle: 'คำเกริ่นนำ', - anchor: { - toolbar: 'แทรก/แก้ไข Anchor', - menu: 'รายละเอียด Anchor', - title: 'รายละเอียด Anchor', - name: 'ชื่อ Anchor', - errorName: 'กรุณาระบุชื่อของ Anchor', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Remove Anchor' - }, - anchorId: 'ไอดี', - anchorName: 'ชื่อ', - charset: 'ลิงค์เชื่อมโยงไปยังชุดตัวอักษร', - cssClasses: 'คลาสของไฟล์กำหนดลักษณะการแสดงผล', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'อีเมล์ (E-Mail)', - emailBody: 'ข้อความ', - emailSubject: 'หัวเรื่อง', - id: 'ไอดี', - info: 'รายละเอียด', - langCode: 'การเขียน-อ่านภาษา', - langDir: 'การเขียน-อ่านภาษา', - langDirLTR: 'จากซ้ายไปขวา (LTR)', - langDirRTL: 'จากขวามาซ้าย (RTL)', - menu: 'แก้ไข ลิงค์', - name: 'ชื่อ', - noAnchors: '(ยังไม่มีจุดเชื่อมโยงภายในหน้าเอกสารนี้)', - noEmail: 'กรุณาระบุอีเมล์ (E-mail)', - noUrl: 'กรุณาระบุที่อยู่อ้างอิงออนไลน์ (URL)', - noTel: 'Please type the phone number', // MISSING - other: '<อื่น ๆ>', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'แสดงเต็มหน้าจอ (Netscape)', - popupFeatures: 'คุณสมบัติของหน้าจอเล็ก (Pop-up)', - popupFullScreen: 'แสดงเต็มหน้าจอ (IE5.5++ เท่านั้น)', - popupLeft: 'พิกัดซ้าย (Left Position)', - popupLocationBar: 'แสดงที่อยู่ของไฟล์', - popupMenuBar: 'แสดงแถบเมนู', - popupResizable: 'สามารถปรับขนาดได้', - popupScrollBars: 'แสดงแถบเลื่อน', - popupStatusBar: 'แสดงแถบสถานะ', - popupToolbar: 'แสดงแถบเครื่องมือ', - popupTop: 'พิกัดบน (Top Position)', - rel: 'ความสัมพันธ์', - selectAnchor: 'ระบุข้อมูลของจุดเชื่อมโยง (Anchor)', - styles: 'ลักษณะการแสดงผล', - tabIndex: 'ลำดับของ แท็บ', - target: 'การเปิดหน้าลิงค์', - targetFrame: '<เปิดในเฟรม>', - targetFrameName: 'ชื่อทาร์เก็ตเฟรม', - targetPopup: '<เปิดหน้าจอเล็ก (Pop-up)>', - targetPopupName: 'ระบุชื่อหน้าจอเล็ก (Pop-up)', - title: 'ลิงค์เชื่อมโยงเว็บ อีเมล์ รูปภาพ หรือไฟล์อื่นๆ', - toAnchor: 'จุดเชื่อมโยง (Anchor)', - toEmail: 'ส่งอีเมล์ (E-Mail)', - toUrl: 'ที่อยู่อ้างอิง URL', - toPhone: 'Phone', // MISSING - toolbar: 'แทรก/แก้ไข ลิงค์', - type: 'ประเภทของลิงค์', - unlink: 'ลบ ลิงค์', - upload: 'อัพโหลดไฟล์' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/tr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/tr.js deleted file mode 100644 index 397e7703d0..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/tr.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'tr', { - acccessKey: 'Erişim Tuşu', - advanced: 'Gelişmiş', - advisoryContentType: 'Danışma İçerik Türü', - advisoryTitle: 'Danışma Başlığı', - anchor: { - toolbar: 'Bağlantı Ekle/Düzenle', - menu: 'Bağlantı Özellikleri', - title: 'Bağlantı Özellikleri', - name: 'Bağlantı Adı', - errorName: 'Lütfen bağlantı için ad giriniz', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Bağlantıyı Kaldır' - }, - anchorId: 'Eleman Kimlik Numarası ile', - anchorName: 'Bağlantı Adı ile', - charset: 'Bağlı Kaynak Karakter Gurubu', - cssClasses: 'Biçem Sayfası Sınıfları', - download: 'İndirmeye Zorla', - displayText: 'Gösterim Metni', - emailAddress: 'E-Posta Adresi', - emailBody: 'İleti Gövdesi', - emailSubject: 'İleti Konusu', - id: 'Id', - info: 'Link Bilgisi', - langCode: 'Dil Yönü', - langDir: 'Dil Yönü', - langDirLTR: 'Soldan Sağa (LTR)', - langDirRTL: 'Sağdan Sola (RTL)', - menu: 'Link Düzenle', - name: 'Ad', - noAnchors: '(Bu belgede hiç çapa yok)', - noEmail: 'Lütfen E-posta adresini yazın', - noUrl: 'Lütfen Link URL\'sini yazın', - noTel: 'Lütfen telefon numaranızı yazınız', - other: '', - phoneNumber: 'Telefon numarası', - popupDependent: 'Bağımlı (Netscape)', - popupFeatures: 'Yeni Açılan Pencere Özellikleri', - popupFullScreen: 'Tam Ekran (IE)', - popupLeft: 'Sola Göre Konum', - popupLocationBar: 'Yer Çubuğu', - popupMenuBar: 'Menü Çubuğu', - popupResizable: 'Resizable', - popupScrollBars: 'Kaydırma Çubukları', - popupStatusBar: 'Durum Çubuğu', - popupToolbar: 'Araç Çubuğu', - popupTop: 'Yukarıya Göre Konum', - rel: 'İlişki', - selectAnchor: 'Bağlantı Seç', - styles: 'Biçem', - tabIndex: 'Sekme İndeksi', - target: 'Hedef', - targetFrame: '<çerçeve>', - targetFrameName: 'Hedef Çerçeve Adı', - targetPopup: '', - targetPopupName: 'Yeni Açılan Pencere Adı', - title: 'Link', - toAnchor: 'Bu sayfada çapa', - toEmail: 'E-Posta', - toUrl: 'URL', - toPhone: 'Telefon', - toolbar: 'Link Ekle/Düzenle', - type: 'Link Türü', - unlink: 'Köprü Kaldır', - upload: 'Karşıya Yükle' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/tt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/tt.js deleted file mode 100644 index 0a8632ba05..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/tt.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'tt', { - acccessKey: 'Access Key', // MISSING - advanced: 'Киңәйтелгән көйләүләр', - advisoryContentType: 'Advisory Content Type', // MISSING - advisoryTitle: 'Киңәш исем', - anchor: { - toolbar: 'Якорь', - menu: 'Якорьне үзгәртү', - title: 'Якорь үзлекләре', - name: 'Якорь исеме', - errorName: 'Якорьнең исемен языгыз', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Якорьне бетерү' - }, - anchorId: 'Элемент идентификаторы буенча', - anchorName: 'Якорь исеме буенча', - charset: 'Linked Resource Charset', // MISSING - cssClasses: 'Стильләр класслары', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'Электрон почта адресы', - emailBody: 'Хат эчтәлеге', - emailSubject: 'Хат темасы', - id: 'Идентификатор', - info: 'Сылталама тасвирламасы', - langCode: 'Тел коды', - langDir: 'Язылыш юнəлеше', - langDirLTR: 'Сулдан уңга язылыш (LTR)', - langDirRTL: 'Уңнан сулга язылыш (RTL)', - menu: 'Сылталамаyны үзгәртү', - name: 'Исем', - noAnchors: '(Әлеге документта якорьләр табылмады)', - noEmail: 'Электрон почта адресын языгыз', - noUrl: 'Сылталаманы языгыз', - noTel: 'Телефон номерыгызны языгыз', - other: '<бүтән>', - phoneNumber: 'Телефон номеры', - popupDependent: 'Бәйле (Netscape)', - popupFeatures: 'Popup Window Features', // MISSING - popupFullScreen: 'Тулы экран (IE)', - popupLeft: 'Left Position', // MISSING - popupLocationBar: 'Location Bar', // MISSING - popupMenuBar: 'Menu Bar', // MISSING - popupResizable: 'Resizable', // MISSING - popupScrollBars: 'Scroll Bars', // MISSING - popupStatusBar: 'Status Bar', // MISSING - popupToolbar: 'Toolbar', // MISSING - popupTop: 'Top Position', // MISSING - rel: 'Бәйләнеш', - selectAnchor: 'Якорьне сайлау', - styles: 'Стиль', - tabIndex: 'Tab Index', // MISSING - target: 'Максат', - targetFrame: '', - targetFrameName: 'Target Frame Name', // MISSING - targetPopup: '', - targetPopupName: 'Попап тәрәзәсе исеме', - title: 'Сылталама', - toAnchor: 'Якорьне текст белән бәйләү', - toEmail: 'Электрон почта', - toUrl: 'Сылталама', - toPhone: 'Телефон', - toolbar: 'Сылталама', - type: 'Сылталама төре', - unlink: 'Сылталаманы бетерү', - upload: 'Йөкләү' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ug.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ug.js deleted file mode 100644 index fcf02aaf75..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/ug.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'ug', { - acccessKey: 'زىيارەت كۇنۇپكا', - advanced: 'ئالىي', - advisoryContentType: 'مەزمۇن تىپى', - advisoryTitle: 'ماۋزۇ', - anchor: { - toolbar: 'لەڭگەرلىك نۇقتا ئۇلانمىسى قىستۇر/تەھرىرلە', - menu: 'لەڭگەرلىك نۇقتا ئۇلانما خاسلىقى', - title: 'لەڭگەرلىك نۇقتا ئۇلانما خاسلىقى', - name: 'لەڭگەرلىك نۇقتا ئاتى', - errorName: 'لەڭگەرلىك نۇقتا ئاتىنى كىرگۈزۈڭ', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'لەڭگەرلىك نۇقتا ئۆچۈر' - }, - anchorId: 'لەڭگەرلىك نۇقتا ID سى بويىچە', - anchorName: 'لەڭگەرلىك نۇقتا ئاتى بويىچە', - charset: 'ھەرپ كودلىنىشى', - cssClasses: 'ئۇسلۇب خىلى ئاتى', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'ئادرېس', - emailBody: 'مەزمۇن', - emailSubject: 'ماۋزۇ', - id: 'ID', - info: 'ئۇلانما ئۇچۇرى', - langCode: 'تىل كودى', - langDir: 'تىل يۆنىلىشى', - langDirLTR: 'سولدىن ئوڭغا (LTR)', - langDirRTL: 'ئوڭدىن سولغا (RTL)', - menu: 'ئۇلانما تەھرىر', - name: 'ئات', - noAnchors: '(بۇ پۈتۈكتە ئىشلەتكىلى بولىدىغان لەڭگەرلىك نۇقتا يوق)', - noEmail: 'ئېلخەت ئادرېسىنى كىرگۈزۈڭ', - noUrl: 'ئۇلانما ئادرېسىنى كىرگۈزۈڭ', - noTel: 'Please type the phone number', // MISSING - other: '‹باشقا›', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'تەۋە (NS)', - popupFeatures: 'قاڭقىش كۆزنەك خاسلىقى', - popupFullScreen: 'پۈتۈن ئېكران (IE)', - popupLeft: 'سول', - popupLocationBar: 'ئادرېس بالداق', - popupMenuBar: 'تىزىملىك بالداق', - popupResizable: 'چوڭلۇقى ئۆزگەرتىشچان', - popupScrollBars: 'دومىلىما سۈرگۈچ', - popupStatusBar: 'ھالەت بالداق', - popupToolbar: 'قورال بالداق', - popupTop: 'ئوڭ', - rel: 'باغلىنىش', - selectAnchor: 'بىر لەڭگەرلىك نۇقتا تاللاڭ', - styles: 'قۇر ئىچىدىكى ئۇسلۇبى', - tabIndex: 'Tab تەرتىپى', - target: 'نىشان', - targetFrame: '‹كاندۇك›', - targetFrameName: 'نىشان كاندۇك ئاتى', - targetPopup: '‹قاڭقىش كۆزنەك›', - targetPopupName: 'قاڭقىش كۆزنەك ئاتى', - title: 'ئۇلانما', - toAnchor: 'بەت ئىچىدىكى لەڭگەرلىك نۇقتا ئۇلانمىسى', - toEmail: 'ئېلخەت', - toUrl: 'ئادرېس', - toPhone: 'Phone', // MISSING - toolbar: 'ئۇلانما قىستۇر/تەھرىرلە', - type: 'ئۇلانما تىپى', - unlink: 'ئۇلانما بىكار قىل', - upload: 'يۈكلە' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/uk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/uk.js deleted file mode 100644 index 9f02ea9cdf..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/uk.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'uk', { - acccessKey: 'Гаряча клавіша', - advanced: 'Додаткове', - advisoryContentType: 'Тип вмісту', - advisoryTitle: 'Заголовок', - anchor: { - toolbar: 'Вставити/Редагувати якір', - menu: 'Властивості якоря', - title: 'Властивості якоря', - name: 'Ім\'я якоря', - errorName: 'Будь ласка, вкажіть ім\'я якоря', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Прибрати якір' - }, - anchorId: 'За ідентифікатором елементу', - anchorName: 'За ім\'ям елементу', - charset: 'Кодування', - cssClasses: 'Клас CSS', - download: 'Завантажити як файл', - displayText: 'Відображуваний текст', - emailAddress: 'Адреса ел. пошти', - emailBody: 'Тіло повідомлення', - emailSubject: 'Тема листа', - id: 'Ідентифікатор', - info: 'Інформація посилання', - langCode: 'Код мови', - langDir: 'Напрямок мови', - langDirLTR: 'Зліва направо (LTR)', - langDirRTL: 'Справа наліво (RTL)', - menu: 'Вставити посилання', - name: 'Ім\'я', - noAnchors: '(В цьому документі немає якорів)', - noEmail: 'Будь ласка, вкажіть адрес ел. пошти', - noUrl: 'Будь ласка, вкажіть URL посилання', - noTel: 'Будь ласка, введіть номер телефону', - other: '<інший>', - phoneNumber: 'Номер телефону', - popupDependent: 'Залежний (Netscape)', - popupFeatures: 'Властивості випливаючого вікна', - popupFullScreen: 'Повний екран (IE)', - popupLeft: 'Позиція зліва', - popupLocationBar: 'Панель локації', - popupMenuBar: 'Панель меню', - popupResizable: 'Масштабоване', - popupScrollBars: 'Стрічки прокрутки', - popupStatusBar: 'Рядок статусу', - popupToolbar: 'Панель інструментів', - popupTop: 'Позиція зверху', - rel: 'Зв\'язок', - selectAnchor: 'Оберіть якір', - styles: 'Стиль CSS', - tabIndex: 'Послідовність переходу', - target: 'Ціль', - targetFrame: '<фрейм>', - targetFrameName: 'Ім\'я цільового фрейму', - targetPopup: '<випливаюче вікно>', - targetPopupName: 'Ім\'я випливаючого вікна', - title: 'Посилання', - toAnchor: 'Якір на цю сторінку', - toEmail: 'Ел. пошта', - toUrl: 'URL', - toPhone: 'Телефон', - toolbar: 'Вставити/Редагувати посилання', - type: 'Тип посилання', - unlink: 'Видалити посилання', - upload: 'Надіслати' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/vi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/vi.js deleted file mode 100644 index f7473ce65b..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/vi.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'vi', { - acccessKey: 'Phím hỗ trợ truy cập', - advanced: 'Mở rộng', - advisoryContentType: 'Nội dung hướng dẫn', - advisoryTitle: 'Nhan đề hướng dẫn', - anchor: { - toolbar: 'Chèn/Sửa điểm neo', - menu: 'Thuộc tính điểm neo', - title: 'Thuộc tính điểm neo', - name: 'Tên của điểm neo', - errorName: 'Hãy nhập vào tên của điểm neo', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: 'Xóa neo' - }, - anchorId: 'Theo định danh thành phần', - anchorName: 'Theo tên điểm neo', - charset: 'Bảng mã của tài nguyên được liên kết đến', - cssClasses: 'Lớp Stylesheet', - download: 'Force Download', // MISSING - displayText: 'Display Text', // MISSING - emailAddress: 'Thư điện tử', - emailBody: 'Nội dung thông điệp', - emailSubject: 'Tiêu đề thông điệp', - id: 'Định danh', - info: 'Thông tin liên kết', - langCode: 'Mã ngôn ngữ', - langDir: 'Hướng ngôn ngữ', - langDirLTR: 'Trái sang phải (LTR)', - langDirRTL: 'Phải sang trái (RTL)', - menu: 'Sửa liên kết', - name: 'Tên', - noAnchors: '(Không có điểm neo nào trong tài liệu)', - noEmail: 'Hãy đưa vào địa chỉ thư điện tử', - noUrl: 'Hãy đưa vào đường dẫn liên kết (URL)', - noTel: 'Please type the phone number', // MISSING - other: '', - phoneNumber: 'Phone number', // MISSING - popupDependent: 'Phụ thuộc (Netscape)', - popupFeatures: 'Đặc điểm của cửa sổ Popup', - popupFullScreen: 'Toàn màn hình (IE)', - popupLeft: 'Vị trí bên trái', - popupLocationBar: 'Thanh vị trí', - popupMenuBar: 'Thanh Menu', - popupResizable: 'Có thể thay đổi kích cỡ', - popupScrollBars: 'Thanh cuộn', - popupStatusBar: 'Thanh trạng thái', - popupToolbar: 'Thanh công cụ', - popupTop: 'Vị trí phía trên', - rel: 'Quan hệ', - selectAnchor: 'Chọn một điểm neo', - styles: 'Kiểu (style)', - tabIndex: 'Chỉ số của Tab', - target: 'Đích', - targetFrame: '', - targetFrameName: 'Tên khung đích', - targetPopup: '', - targetPopupName: 'Tên cửa sổ Popup', - title: 'Liên kết', - toAnchor: 'Neo trong trang này', - toEmail: 'Thư điện tử', - toUrl: 'URL', - toPhone: 'Phone', // MISSING - toolbar: 'Chèn/Sửa liên kết', - type: 'Kiểu liên kết', - unlink: 'Xoá liên kết', - upload: 'Tải lên' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/zh-cn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/zh-cn.js deleted file mode 100644 index 4e3ef3faba..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/zh-cn.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'zh-cn', { - acccessKey: '访问键', - advanced: '高级', - advisoryContentType: '内容类型', - advisoryTitle: '标题', - anchor: { - toolbar: '插入/编辑锚点链接', - menu: '锚点链接属性', - title: '锚点链接属性', - name: '锚点名称', - errorName: '请输入锚点名称', - errorWhitespace: 'Anchor name cannot contain space characters', // MISSING - remove: '删除锚点' - }, - anchorId: '按锚点 ID', - anchorName: '按锚点名称', - charset: '字符编码', - cssClasses: '样式类名称', - download: '强制下载', - displayText: '显示文本', - emailAddress: '地址', - emailBody: '内容', - emailSubject: '主题', - id: 'ID', - info: '超链接信息', - langCode: '语言代码', - langDir: '语言方向', - langDirLTR: '从左到右 (LTR)', - langDirRTL: '从右到左 (RTL)', - menu: '编辑超链接', - name: '名称', - noAnchors: '(此文档没有可用的锚点)', - noEmail: '请输入电子邮件地址', - noUrl: '请输入超链接地址', - noTel: '请输入电话号码', - other: '<其他>', - phoneNumber: '电话号码', - popupDependent: '依附 (NS)', - popupFeatures: '弹出窗口属性', - popupFullScreen: '全屏 (IE)', - popupLeft: '左', - popupLocationBar: '地址栏', - popupMenuBar: '菜单栏', - popupResizable: '可缩放', - popupScrollBars: '滚动条', - popupStatusBar: '状态栏', - popupToolbar: '工具栏', - popupTop: '右', - rel: '关联', - selectAnchor: '选择一个锚点', - styles: '行内样式', - tabIndex: 'Tab 键次序', - target: '目标', - targetFrame: '<框架>', - targetFrameName: '目标框架名称', - targetPopup: '<弹出窗口>', - targetPopupName: '弹出窗口名称', - title: '超链接', - toAnchor: '页内锚点链接', - toEmail: '电子邮件', - toUrl: '地址', - toPhone: '电话', - toolbar: '插入/编辑超链接', - type: '超链接类型', - unlink: '取消超链接', - upload: '上传' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/zh.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/zh.js deleted file mode 100644 index af3f2f815e..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/lang/zh.js +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. -CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. -*/ -CKEDITOR.plugins.setLang( 'link', 'zh', { - acccessKey: '便捷鍵', - advanced: '進階', - advisoryContentType: '建議內容類型', - advisoryTitle: '標題', - anchor: { - toolbar: '錨點', - menu: '編輯錨點', - title: '錨點內容', - name: '錨點名稱', - errorName: '請輸入錨點名稱', - errorWhitespace: '錨定名稱不能包含空格字元', - remove: '移除錨點' - }, - anchorId: '依元件編號', - anchorName: '依錨點名稱', - charset: '連結資源的字元集', - cssClasses: '樣式表類別', - download: '強制下載', - displayText: '顯示文字', - emailAddress: '電子郵件地址', - emailBody: '郵件本文', - emailSubject: '郵件主旨', - id: 'ID', - info: '連結資訊', - langCode: '語言碼', - langDir: '語言方向', - langDirLTR: '由左至右 (LTR)', - langDirRTL: '由右至左 (RTL)', - menu: '編輯連結', - name: '名稱', - noAnchors: '(本文件中無可用之錨點)', - noEmail: '請輸入電子郵件', - noUrl: '請輸入連結 URL', - noTel: '請輸入電話號碼', - other: '<其他>', - phoneNumber: '電話號碼', - popupDependent: '獨立 (Netscape)', - popupFeatures: '快顯視窗功能', - popupFullScreen: '全螢幕 (IE)', - popupLeft: '左側位置', - popupLocationBar: '位置列', - popupMenuBar: '功能表列', - popupResizable: '可調大小', - popupScrollBars: '捲軸', - popupStatusBar: '狀態列', - popupToolbar: '工具列', - popupTop: '頂端位置', - rel: '關係', - selectAnchor: '選取一個錨點', - styles: '樣式', - tabIndex: '定位順序', - target: '目標', - targetFrame: '<框架>', - targetFrameName: '目標框架名稱', - targetPopup: '<快顯視窗>', - targetPopupName: '快顯視窗名稱', - title: '連結', - toAnchor: '文字中的錨點連結', - toEmail: '電子郵件', - toUrl: '網址', - toPhone: '電話', - toolbar: '連結', - type: '連結類型', - unlink: '取消連結', - upload: '上傳' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/plugin.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/plugin.js deleted file mode 100644 index 03820d94f3..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/link/plugin.js +++ /dev/null @@ -1,961 +0,0 @@ -/** - * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. - * CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. - */ - -'use strict'; - -( function() { - CKEDITOR.plugins.add( 'link', { - requires: 'dialog,fakeobjects', - // jscs:disable maximumLineLength - lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - // jscs:enable maximumLineLength - icons: 'anchor,anchor-rtl,link,unlink', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - onLoad: function() { - // Add the CSS styles for anchor placeholders. - var iconPath = CKEDITOR.getUrl( this.path + 'images' + ( CKEDITOR.env.hidpi ? '/hidpi' : '' ) + '/anchor.png' ), - baseStyle = 'background:url(' + iconPath + ') no-repeat %1 center;border:1px dotted #00f;background-size:16px;'; - - var template = '.%2 a.cke_anchor,' + - '.%2 a.cke_anchor_empty' + - ',.cke_editable.%2 a[name]' + - ',.cke_editable.%2 a[data-cke-saved-name]' + - '{' + - baseStyle + - 'padding-%1:18px;' + - // Show the arrow cursor for the anchor image (FF at least). - 'cursor:auto;' + - '}' + - '.%2 img.cke_anchor' + - '{' + - baseStyle + - 'width:16px;' + - 'min-height:15px;' + - // The default line-height on IE. - 'height:1.15em;' + - // Opera works better with "middle" (even if not perfect) - 'vertical-align:text-bottom;' + - '}'; - - // Styles with contents direction awareness. - function cssWithDir( dir ) { - return template.replace( /%1/g, dir == 'rtl' ? 'right' : 'left' ).replace( /%2/g, 'cke_contents_' + dir ); - } - - CKEDITOR.addCss( cssWithDir( 'ltr' ) + cssWithDir( 'rtl' ) ); - }, - - init: function( editor ) { - var allowed = 'a[!href]', - required = 'a[href]'; - - if ( CKEDITOR.dialog.isTabEnabled( editor, 'link', 'advanced' ) ) { - allowed = allowed.replace( ']', ',accesskey,charset,dir,id,lang,name,rel,tabindex,title,type,download]{*}(*)' ); - } - if ( CKEDITOR.dialog.isTabEnabled( editor, 'link', 'target' ) ) { - allowed = allowed.replace( ']', ',target,onclick]' ); - } - - // Add the link and unlink buttons. - editor.addCommand( 'link', new CKEDITOR.dialogCommand( 'link', { - allowedContent: allowed, - requiredContent: required - } ) ); - editor.addCommand( 'anchor', new CKEDITOR.dialogCommand( 'anchor', { - allowedContent: 'a[!name,id]', - requiredContent: 'a[name]' - } ) ); - editor.addCommand( 'unlink', new CKEDITOR.unlinkCommand() ); - editor.addCommand( 'removeAnchor', new CKEDITOR.removeAnchorCommand() ); - - editor.setKeystroke( CKEDITOR.CTRL + 76 /*L*/, 'link' ); - - // (#2478) - editor.setKeystroke( CKEDITOR.CTRL + 75 /*K*/, 'link' ); - - if ( editor.ui.addButton ) { - editor.ui.addButton( 'Link', { - label: editor.lang.link.toolbar, - command: 'link', - toolbar: 'links,10' - } ); - editor.ui.addButton( 'Unlink', { - label: editor.lang.link.unlink, - command: 'unlink', - toolbar: 'links,20' - } ); - editor.ui.addButton( 'Anchor', { - label: editor.lang.link.anchor.toolbar, - command: 'anchor', - toolbar: 'links,30' - } ); - } - - CKEDITOR.dialog.add( 'link', this.path + 'dialogs/link.js' ); - CKEDITOR.dialog.add( 'anchor', this.path + 'dialogs/anchor.js' ); - - editor.on( 'doubleclick', function( evt ) { - // If the link has descendants and the last part of it is also a part of a word partially - // unlinked, clicked element may be a descendant of the link, not the link itself (https://dev.ckeditor.com/ticket/11956). - // The evt.data.element.getAscendant( 'img', 1 ) condition allows opening anchor dialog if the anchor is empty (#501). - var element = evt.data.element.getAscendant( { a: 1, img: 1 }, true ); - - if ( element && !element.isReadOnly() ) { - if ( element.is( 'a' ) ) { - evt.data.dialog = ( element.getAttribute( 'name' ) && ( !element.getAttribute( 'href' ) || !element.getChildCount() ) ) ? 'anchor' : 'link'; - - // Pass the link to be selected along with event data. - evt.data.link = element; - } else if ( CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, element ) ) { - evt.data.dialog = 'anchor'; - } - } - }, null, null, 0 ); - - // If event was cancelled, link passed in event data will not be selected. - editor.on( 'doubleclick', function( evt ) { - // Make sure both links and anchors are selected (https://dev.ckeditor.com/ticket/11822). - if ( evt.data.dialog in { link: 1, anchor: 1 } && evt.data.link ) { - editor.getSelection().selectElement( evt.data.link ); - } - }, null, null, 20 ); - - // If the "menu" plugin is loaded, register the menu items. - if ( editor.addMenuItems ) { - editor.addMenuItems( { - anchor: { - label: editor.lang.link.anchor.menu, - command: 'anchor', - group: 'anchor', - order: 1 - }, - - removeAnchor: { - label: editor.lang.link.anchor.remove, - command: 'removeAnchor', - group: 'anchor', - order: 5 - }, - - link: { - label: editor.lang.link.menu, - command: 'link', - group: 'link', - order: 1 - }, - - unlink: { - label: editor.lang.link.unlink, - command: 'unlink', - group: 'link', - order: 5 - } - } ); - } - - // If the "contextmenu" plugin is loaded, register the listeners. - if ( editor.contextMenu ) { - editor.contextMenu.addListener( function( element ) { - if ( !element || element.isReadOnly() ) { - return null; - } - - var anchor = CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, element ); - - if ( !anchor && !( anchor = CKEDITOR.plugins.link.getSelectedLink( editor ) ) ) { - return null; - } - - var menu = {}; - - if ( anchor.getAttribute( 'href' ) && anchor.getChildCount() ) { - menu = { link: CKEDITOR.TRISTATE_OFF, unlink: CKEDITOR.TRISTATE_OFF }; - } - - if ( anchor && anchor.hasAttribute( 'name' ) ) { - menu.anchor = menu.removeAnchor = CKEDITOR.TRISTATE_OFF; - } - - return menu; - } ); - } - - this.compiledProtectionFunction = getCompiledProtectionFunction( editor ); - }, - - afterInit: function( editor ) { - // Empty anchors upcasting to fake objects. - editor.dataProcessor.dataFilter.addRules( { - elements: { - a: function( element ) { - if ( !element.attributes.name ) { - return null; - } - - if ( !element.children.length ) { - return editor.createFakeParserElement( element, 'cke_anchor', 'anchor' ); - } - - return null; - } - } - } ); - - var pathFilters = editor._.elementsPath && editor._.elementsPath.filters; - if ( pathFilters ) { - pathFilters.push( function( element, name ) { - if ( name == 'a' ) { - if ( CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, element ) || ( element.getAttribute( 'name' ) && ( !element.getAttribute( 'href' ) || !element.getChildCount() ) ) ) { - return 'anchor'; - } - } - } ); - } - } - } ); - - // Loads the parameters in a selected link to the link dialog fields. - var javascriptProtocolRegex = /^javascript:/, - emailRegex = /^(?:mailto)(?:(?!\?(subject|body)=).)+/i, - emailSubjectRegex = /subject=([^;?:@&=$,\/]*)/i, - emailBodyRegex = /body=([^;?:@&=$,\/]*)/i, - anchorRegex = /^#(.*)$/, - urlRegex = /^((?:http|https|ftp|news):\/\/)?(.*)$/, - selectableTargets = /^(_(?:self|top|parent|blank))$/, - encodedEmailLinkRegex = /^javascript:void\(location\.href='mailto:'\+String\.fromCharCode\(([^)]+)\)(?:\+'(.*)')?\)$/, - functionCallProtectedEmailLinkRegex = /^javascript:([^(]+)\(([^)]+)\)$/, - popupRegex = /\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*/, - popupFeaturesRegex = /(?:^|,)([^=]+)=(\d+|yes|no)/gi, - telRegex = /^tel:(.*)$/; - - var advAttrNames = { - id: 'advId', - dir: 'advLangDir', - accessKey: 'advAccessKey', - // 'data-cke-saved-name': 'advName', - name: 'advName', - lang: 'advLangCode', - tabindex: 'advTabIndex', - title: 'advTitle', - type: 'advContentType', - 'class': 'advCSSClasses', - charset: 'advCharset', - style: 'advStyles', - rel: 'advRel' - }; - - function unescapeSingleQuote( str ) { - return str.replace( /\\'/g, '\'' ); - } - - function escapeSingleQuote( str ) { - return str.replace( /'/g, '\\$&' ); - } - - function protectEmailAddressAsEncodedString( address ) { - var length = address.length, - encodedChars = [], - charCode; - - for ( var i = 0; i < length; i++ ) { - charCode = address.charCodeAt( i ); - encodedChars.push( charCode ); - } - - return 'String.fromCharCode(' + encodedChars.join( ',' ) + ')'; - } - - function protectEmailLinkAsFunction( editor, email ) { - var plugin = editor.plugins.link, - name = plugin.compiledProtectionFunction.name, - params = plugin.compiledProtectionFunction.params, - retval = [ name, '(' ], - paramName, - paramValue; - - for ( var i = 0; i < params.length; i++ ) { - paramName = params[ i ].toLowerCase(); - paramValue = email[ paramName ]; - - i > 0 && retval.push( ',' ); - retval.push( '\'', paramValue ? escapeSingleQuote( encodeURIComponent( email[ paramName ] ) ) : '', '\'' ); - } - retval.push( ')' ); - return retval.join( '' ); - } - - function getCompiledProtectionFunction( editor ) { - var emailProtection = editor.config.emailProtection || '', - compiledProtectionFunction; - - // Compile the protection function pattern. - if ( emailProtection && emailProtection != 'encode' ) { - compiledProtectionFunction = {}; - - emailProtection.replace( /^([^(]+)\(([^)]+)\)$/, function( match, funcName, params ) { - compiledProtectionFunction.name = funcName; - compiledProtectionFunction.params = []; - params.replace( /[^,\s]+/g, function( param ) { - compiledProtectionFunction.params.push( param ); - } ); - } ); - } - - return compiledProtectionFunction; - } - - /** - * Set of Link plugin helpers. - * - * @class - * @singleton - */ - CKEDITOR.plugins.link = { - /** - * Get the surrounding link element of the current selection. - * - * CKEDITOR.plugins.link.getSelectedLink( editor ); - * - * // The following selections will all return the link element. - * - * li^nk - * [link] - * text[link] - * li[nk] - * [li]nk] - * [li]nk - * - * @since 3.2.1 - * @param {CKEDITOR.editor} editor - * @param {Boolean} [returnMultiple=false] Indicates whether the function should return only the first selected link or all of them. - * @returns {CKEDITOR.dom.element/CKEDITOR.dom.element[]/null} A single link element or an array of link - * elements relevant to the current selection. - */ - getSelectedLink: function( editor, returnMultiple ) { - var selection = editor.getSelection(), - selectedElement = selection.getSelectedElement(), - ranges = selection.getRanges(), - links = [], - link, - range; - - if ( !returnMultiple && selectedElement && selectedElement.is( 'a' ) ) { - return selectedElement; - } - - for ( var i = 0; i < ranges.length; i++ ) { - range = selection.getRanges()[ i ]; - - // Skip bogus to cover cases of multiple selection inside tables (#tp2245). - // Shrink to element to prevent losing anchor (#859). - range.shrink( CKEDITOR.SHRINK_ELEMENT, true, { skipBogus: true } ); - link = editor.elementPath( range.getCommonAncestor() ).contains( 'a', 1 ); - - if ( link && returnMultiple ) { - links.push( link ); - } else if ( link ) { - return link; - } - } - - return returnMultiple ? links : null; - }, - - /** - * Collects anchors available in the editor (i.e. used by the Link plugin). - * Note that the scope of search is different for inline (the "global" document) and - * classic (`iframe`-based) editors (the "inner" document). - * - * @since 4.3.3 - * @param {CKEDITOR.editor} editor - * @returns {CKEDITOR.dom.element[]} An array of anchor elements. - */ - getEditorAnchors: function( editor ) { - var editable = editor.editable(), - - // The scope of search for anchors is the entire document for inline editors - // and editor's editable for classic editor/divarea (https://dev.ckeditor.com/ticket/11359). - scope = ( editable.isInline() && !editor.plugins.divarea ) ? editor.document : editable, - - links = scope.getElementsByTag( 'a' ), - imgs = scope.getElementsByTag( 'img' ), - anchors = [], - iterator = 0, - item; - - // Retrieve all anchors within the scope. - while ( ( item = links.getItem( iterator++ ) ) ) { - if ( item.data( 'cke-saved-name' ) || item.hasAttribute( 'name' ) ) { - anchors.push( { - name: item.data( 'cke-saved-name' ) || item.getAttribute( 'name' ), - id: item.getAttribute( 'id' ) - } ); - } - } - // Retrieve all "fake anchors" within the scope. - iterator = 0; - - while ( ( item = imgs.getItem( iterator++ ) ) ) { - if ( ( item = this.tryRestoreFakeAnchor( editor, item ) ) ) { - anchors.push( { - name: item.getAttribute( 'name' ), - id: item.getAttribute( 'id' ) - } ); - } - } - - return anchors; - }, - - /** - * Opera and WebKit do not make it possible to select empty anchors. Fake - * elements must be used for them. - * - * @readonly - * @deprecated 4.3.3 It is set to `true` in every browser. - * @property {Boolean} - */ - fakeAnchor: true, - - /** - * For browsers that do not support CSS3 `a[name]:empty()`. Note that IE9 is included because of https://dev.ckeditor.com/ticket/7783. - * - * @readonly - * @deprecated 4.3.3 It is set to `false` in every browser. - * @property {Boolean} synAnchorSelector - */ - - /** - * For browsers that have editing issues with an empty anchor. - * - * @readonly - * @deprecated 4.3.3 It is set to `false` in every browser. - * @property {Boolean} emptyAnchorFix - */ - - /** - * Returns an element representing a real anchor restored from a fake anchor. - * - * @param {CKEDITOR.editor} editor - * @param {CKEDITOR.dom.element} element - * @returns {CKEDITOR.dom.element} Restored anchor element or nothing if the - * passed element was not a fake anchor. - */ - tryRestoreFakeAnchor: function( editor, element ) { - if ( element && element.data( 'cke-real-element-type' ) && element.data( 'cke-real-element-type' ) == 'anchor' ) { - var link = editor.restoreRealElement( element ); - if ( link.data( 'cke-saved-name' ) ) { - return link; - } - } - }, - - /** - * Parses attributes of the link element and returns an object representing - * the current state (data) of the link. This data format is a plain object accepted - * e.g. by the Link dialog window and {@link #getLinkAttributes}. - * - * **Note:** Data model format produced by the parser must be compatible with the Link - * plugin dialog because it is passed directly to {@link CKEDITOR.dialog#setupContent}. - * - * @since 4.4.0 - * @param {CKEDITOR.editor} editor - * @param {CKEDITOR.dom.element} element - * @returns {Object} An object of link data. - */ - parseLinkAttributes: function( editor, element ) { - var href = ( element && ( element.data( 'cke-saved-href' ) || element.getAttribute( 'href' ) ) ) || '', - compiledProtectionFunction = editor.plugins.link.compiledProtectionFunction, - emailProtection = editor.config.emailProtection, - retval = {}, - javascriptMatch = href.match( javascriptProtocolRegex ), - emailMatch, - anchorMatch, - urlMatch, - telMatch; - - if ( javascriptMatch ) { - if ( emailProtection == 'encode' ) { - href = href.replace( encodedEmailLinkRegex, function( match, protectedAddress, rest ) { - // Without it 'undefined' is appended to e-mails without subject and body (https://dev.ckeditor.com/ticket/9192). - rest = rest || ''; - - return 'mailto:' + - String.fromCharCode.apply( String, protectedAddress.split( ',' ) ) + - unescapeSingleQuote( rest ); - } ); - } - // Protected email link as function call. - else if ( emailProtection ) { - href.replace( functionCallProtectedEmailLinkRegex, function( match, funcName, funcArgs ) { - if ( funcName == compiledProtectionFunction.name ) { - retval.type = 'email'; - - var email = retval.email = {}, - paramRegex = /[^,\s]+/g, - paramQuoteRegex = /(^')|('$)/g, - paramsMatch = funcArgs.match( paramRegex ), - paramsMatchLength = paramsMatch.length, - paramName, - paramVal; - - for ( var i = 0; i < paramsMatchLength; i++ ) { - paramVal = decodeURIComponent( unescapeSingleQuote( paramsMatch[ i ].replace( paramQuoteRegex, '' ) ) ); - paramName = compiledProtectionFunction.params[ i ].toLowerCase(); - email[ paramName ] = paramVal; - } - email.address = [ email.name, email.domain ].join( '@' ); - } - } ); - } - } - - if ( !retval.type ) { - if ( ( anchorMatch = href.match( anchorRegex ) ) ) { - retval.type = 'anchor'; - retval.anchor = {}; - retval.anchor.name = retval.anchor.id = anchorMatch[ 1 ]; - } else if ( ( telMatch = href.match( telRegex ) ) ) { - retval.type = 'tel'; - retval.tel = telMatch[ 1 ]; - } - // Protected email link as encoded string. - else if ( ( emailMatch = href.match( emailRegex ) ) ) { - var subjectMatch = href.match( emailSubjectRegex ), - bodyMatch = href.match( emailBodyRegex ), - email = ( retval.email = {} ); - - retval.type = 'email'; - email.address = emailMatch[ 0 ].replace( 'mailto:', '' ); - subjectMatch && ( email.subject = decodeURIComponent( subjectMatch[ 1 ] ) ); - bodyMatch && ( email.body = decodeURIComponent( bodyMatch[ 1 ] ) ); - } - // urlRegex matches empty strings, so need to check for href as well. - else if ( href && ( urlMatch = href.match( urlRegex ) ) ) { - retval.type = 'url'; - retval.url = {}; - retval.url.protocol = urlMatch[ 1 ]; - retval.url.url = urlMatch[ 2 ]; - } - } - - // Load target and popup settings. - if ( element ) { - var target = element.getAttribute( 'target' ); - - // IE BUG: target attribute is an empty string instead of null in IE if it's not set. - if ( !target ) { - var onclick = element.data( 'cke-pa-onclick' ) || element.getAttribute( 'onclick' ), - onclickMatch = onclick && onclick.match( popupRegex ); - - if ( onclickMatch ) { - retval.target = { - type: 'popup', - name: onclickMatch[ 1 ] - }; - - var featureMatch; - while ( ( featureMatch = popupFeaturesRegex.exec( onclickMatch[ 2 ] ) ) ) { - // Some values should remain numbers (https://dev.ckeditor.com/ticket/7300) - if ( ( featureMatch[ 2 ] == 'yes' || featureMatch[ 2 ] == '1' ) && !( featureMatch[ 1 ] in { height: 1, width: 1, top: 1, left: 1 } ) ) { - retval.target[ featureMatch[ 1 ] ] = true; - } else if ( isFinite( featureMatch[ 2 ] ) ) { - retval.target[ featureMatch[ 1 ] ] = featureMatch[ 2 ]; - } - } - } - } else { - retval.target = { - type: target.match( selectableTargets ) ? target : 'frame', - name: target - }; - } - - var download = element.getAttribute( 'download' ); - if ( download !== null ) { - retval.download = true; - } - - var advanced = {}; - for ( var a in advAttrNames ) { - var val = element.getAttribute( a ); - - if ( val ) { - advanced[ advAttrNames[ a ] ] = val; - } - } - - var advName = element.data( 'cke-saved-name' ) || advanced.advName; - if ( advName ) { - advanced.advName = advName; - } - - if ( !CKEDITOR.tools.isEmpty( advanced ) ) { - retval.advanced = advanced; - } - } - - return retval; - }, - - /** - * Converts link data produced by {@link #parseLinkAttributes} into an object which consists - * of attributes to be set (with their values) and an array of attributes to be removed. - * This method can be used to compose or to update any link element with the given data. - * - * @since 4.4.0 - * @param {CKEDITOR.editor} editor - * @param {Object} data Data in {@link #parseLinkAttributes} format. - * @returns {Object} An object consisting of two keys, i.e.: - * - * { - * // Attributes to be set. - * set: { - * href: 'http://foo.bar', - * target: 'bang' - * }, - * // Attributes to be removed. - * removed: [ - * 'id', 'style' - * ] - * } - * - */ - getLinkAttributes: function( editor, data ) { - var emailProtection = editor.config.emailProtection || '', - set = {}; - - // Compose the URL. - switch ( data.type ) { - case 'url': - var protocol = ( data.url && data.url.protocol !== undefined ) ? data.url.protocol : 'http://', - url = ( data.url && CKEDITOR.tools.trim( data.url.url ) ) || ''; - - set[ 'data-cke-saved-href' ] = ( url.indexOf( '/' ) === 0 ) ? url : protocol + url; - break; - - case 'anchor': - var name = ( data.anchor && data.anchor.name ), - id = ( data.anchor && data.anchor.id ); - - set[ 'data-cke-saved-href' ] = '#' + ( name || id || '' ); - break; - - case 'email': - var email = data.email, - address = email.address, - linkHref; - - switch ( emailProtection ) { - case '': - case 'encode': - var subject = encodeURIComponent( email.subject || '' ), - body = encodeURIComponent( email.body || '' ), - argList = []; - - // Build the e-mail parameters first. - subject && argList.push( 'subject=' + subject ); - body && argList.push( 'body=' + body ); - argList = argList.length ? '?' + argList.join( '&' ) : ''; - - if ( emailProtection == 'encode' ) { - linkHref = [ - 'javascript:void(location.href=\'mailto:\'+', // jshint ignore:line - protectEmailAddressAsEncodedString( address ) - ]; - // parameters are optional. - argList && linkHref.push( '+\'', escapeSingleQuote( argList ), '\'' ); - - linkHref.push( ')' ); - } else { - linkHref = [ 'mailto:', address, argList ]; - } - break; - - default: - // Separating name and domain. - var nameAndDomain = address.split( '@', 2 ); - email.name = nameAndDomain[ 0 ]; - email.domain = nameAndDomain[ 1 ]; - - linkHref = [ 'javascript:', protectEmailLinkAsFunction( editor, email ) ]; // jshint ignore:line - } - set[ 'data-cke-saved-href' ] = linkHref.join( '' ); - break; - - case 'tel': - set[ 'data-cke-saved-href' ] = 'tel:' + data.tel; - break; - } - - // Popups and target. - if ( data.target ) { - if ( data.target.type == 'popup' ) { - var onclickList = [ - 'window.open(this.href, \'', data.target.name || '', '\', \'' - ], - featureList = [ - 'resizable', 'status', 'location', 'toolbar', 'menubar', 'fullscreen', 'scrollbars', 'dependent' - ], - featureLength = featureList.length, - addFeature = function( featureName ) { - if ( data.target[ featureName ] ) { - featureList.push( featureName + '=' + data.target[ featureName ] ); - } - }; - - for ( var i = 0; i < featureLength; i++ ) { - featureList[ i ] = featureList[ i ] + ( data.target[ featureList[ i ] ] ? '=yes' : '=no' ); - } - - addFeature( 'width' ); - addFeature( 'left' ); - addFeature( 'height' ); - addFeature( 'top' ); - - onclickList.push( featureList.join( ',' ), '\'); return false;' ); - set[ 'data-cke-pa-onclick' ] = onclickList.join( '' ); - } - else if ( data.target.type != 'notSet' && data.target.name ) { - set.target = data.target.name; - } - } - - // Force download attribute. - if ( data.download ) { - set.download = ''; - } - - // Advanced attributes. - if ( data.advanced ) { - for ( var a in advAttrNames ) { - var val = data.advanced[ advAttrNames[ a ] ]; - - if ( val ) { - set[ a ] = val; - } - } - - if ( set.name ) { - set[ 'data-cke-saved-name' ] = set.name; - } - } - - // Browser need the "href" fro copy/paste link to work. (https://dev.ckeditor.com/ticket/6641) - if ( set[ 'data-cke-saved-href' ] ) { - set.href = set[ 'data-cke-saved-href' ]; - } - - var removed = { - target: 1, - onclick: 1, - 'data-cke-pa-onclick': 1, - 'data-cke-saved-name': 1, - 'download': 1 - }; - - if ( data.advanced ) { - CKEDITOR.tools.extend( removed, advAttrNames ); - } - - // Remove all attributes which are not currently set. - for ( var s in set ) { - delete removed[ s ]; - } - - return { - set: set, - removed: CKEDITOR.tools.object.keys( removed ) - }; - }, - - - /** - * Determines whether an element should have a "Display Text" field in the Link dialog. - * - * @since 4.5.11 - * @param {CKEDITOR.dom.element/null} element Selected element, `null` if none selected or if a ranged selection - * is made. - * @param {CKEDITOR.editor} editor The editor instance for which the check is performed. - * @returns {Boolean} - */ - showDisplayTextForElement: function( element, editor ) { - var undesiredElements = { - img: 1, - table: 1, - tbody: 1, - thead: 1, - tfoot: 1, - input: 1, - select: 1, - textarea: 1 - }, - selection = editor.getSelection(); - - // Widget duck typing, we don't want to show display text for widgets. - if ( editor.widgets && editor.widgets.focused ) { - return false; - } - - if ( selection && selection.getRanges().length > 1 ) { - return false; - } - - return !element || !element.getName || !element.is( undesiredElements ); - } - }; - - // TODO Much probably there's no need to expose these as public objects. - - CKEDITOR.unlinkCommand = function() {}; - CKEDITOR.unlinkCommand.prototype = { - exec: function( editor ) { - // IE/Edge removes link from selection while executing "unlink" command when cursor - // is right before/after link's text. Therefore whole link must be selected and the - // position of cursor must be restored to its initial state after unlinking. (https://dev.ckeditor.com/ticket/13062) - if ( CKEDITOR.env.ie ) { - var range = editor.getSelection().getRanges()[ 0 ], - link = ( range.getPreviousEditableNode() && range.getPreviousEditableNode().getAscendant( 'a', true ) ) || - ( range.getNextEditableNode() && range.getNextEditableNode().getAscendant( 'a', true ) ), - bookmark; - - if ( range.collapsed && link ) { - bookmark = range.createBookmark(); - range.selectNodeContents( link ); - range.select(); - } - } - - var style = new CKEDITOR.style( { element: 'a', type: CKEDITOR.STYLE_INLINE, alwaysRemoveElement: 1 } ); - editor.removeStyle( style ); - - if ( bookmark ) { - range.moveToBookmark( bookmark ); - range.select(); - } - }, - - refresh: function( editor, path ) { - // Despite our initial hope, document.queryCommandEnabled() does not work - // for this in Firefox. So we must detect the state by element paths. - - var element = path.lastElement && path.lastElement.getAscendant( 'a', true ); - - if ( element && element.getName() == 'a' && element.getAttribute( 'href' ) && element.getChildCount() ) { - this.setState( CKEDITOR.TRISTATE_OFF ); - } else { - this.setState( CKEDITOR.TRISTATE_DISABLED ); - } - }, - - contextSensitive: 1, - startDisabled: 1, - requiredContent: 'a[href]', - editorFocus: 1 - }; - - CKEDITOR.removeAnchorCommand = function() {}; - CKEDITOR.removeAnchorCommand.prototype = { - exec: function( editor ) { - var sel = editor.getSelection(), - bms = sel.createBookmarks(), - anchor; - - if ( sel && ( anchor = sel.getSelectedElement() ) && ( !anchor.getChildCount() ? CKEDITOR.plugins.link.tryRestoreFakeAnchor( editor, anchor ) : anchor.is( 'a' ) ) ) { - anchor.remove( 1 ); - } else { - if ( ( anchor = CKEDITOR.plugins.link.getSelectedLink( editor ) ) ) { - if ( anchor.hasAttribute( 'href' ) ) { - anchor.removeAttributes( { name: 1, 'data-cke-saved-name': 1 } ); - anchor.removeClass( 'cke_anchor' ); - } else { - anchor.remove( 1 ); - } - } - } - sel.selectBookmarks( bms ); - }, - requiredContent: 'a[name]' - }; - - CKEDITOR.tools.extend( CKEDITOR.config, { - /** - * Whether to show the Advanced tab in the Link dialog window. - * - * @cfg {Boolean} [linkShowAdvancedTab=true] - * @member CKEDITOR.config - */ - linkShowAdvancedTab: true, - - /** - * Whether to show the Target tab in the Link dialog window. - * - * @cfg {Boolean} [linkShowTargetTab=true] - * @member CKEDITOR.config - */ - linkShowTargetTab: true, - - /** - * Default URL protocol used for the Link dialog. - * - * Available values are: - * - * * `'http://'` - * * `'https://'` - * * `'ftp://'` - * * `'news://'` - * * `''` — An empty string for the `` option. - * - * ```js - * config.linkDefaultProtocol = 'https://'; - * ``` - * - * @cfg {String} - * @member CKEDITOR.config - * @since 4.13.0 - */ - linkDefaultProtocol: 'http://' - - /** - * Whether JavaScript code is allowed as a `href` attribute in an anchor tag. - * With this option enabled it is possible to create links like: - * - * ```html - * hello world - * ``` - * - * By default JavaScript links are not allowed and will not pass - * the Link dialog window validation. - * - * @since 4.4.1 - * @cfg {Boolean} [linkJavaScriptLinksAllowed=false] - * @member CKEDITOR.config - */ - - /** - * Optional JavaScript regular expression used whenever phone numbers in the Link dialog should be validated. - * - * ```js - * config.linkPhoneRegExp = /^[0-9]{9}$/; - * ``` - * - * @since 4.11.0 - * @cfg {RegExp} [linkPhoneRegExp] - * @member CKEDITOR.config - */ - - /** - * Optional message for the alert popup used when the phone number in the Link dialog does not pass the validation. - * - * ```js - * config.linkPhoneMsg = "Invalid number"; - * ``` - * - * @since 4.11.0 - * @cfg {String} [linkPhoneMsg] - * @member CKEDITOR.config - */ - } ); -} )(); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromgdocs/filter/default.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromgdocs/filter/default.js index 5b959b8228..d8d3e08e54 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromgdocs/filter/default.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromgdocs/filter/default.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ (function(){function g(b){return""===b?!1:b}function h(b){if(!/(o|u)l/i.test(b.parent.name))return b;d.elements.replaceWithChildren(b);return!1}function k(b){function d(a,f){var b,c;if(a&&"tr"===a.name){b=a.children;for(c=0;c/)?!0:!1},convertToFakeListItem:function(c,b){p.isDegenerateListItem(c,b)&&p.assignListLevels(c, -b);this.getListItemInfo(b);if(!b.attributes["cke-dissolved"]){var d;b.forEach(function(b){!d&&"img"==b.name&&b.attributes["cke-ignored"]&&"*"==b.attributes.alt&&(d="·",b.remove())},CKEDITOR.NODE_ELEMENT);b.forEach(function(b){d||b.value.match(/^ /)||(d=b.value)},CKEDITOR.NODE_TEXT);if("undefined"==typeof d)return;b.attributes["cke-symbol"]=d.replace(/(?: | ).*$/,"");g.removeSymbolText(b)}var e=b.attributes&&n.parseCssText(b.attributes.style);if(e["margin-left"]){var f=e["margin-left"],l=b.attributes["cke-list-level"]; -(f=Math.max(CKEDITOR.tools.convertToPx(f)-40*l,0))?e["margin-left"]=f+"px":delete e["margin-left"];b.attributes.style=CKEDITOR.tools.writeCssText(e)}b.name="cke:li"},convertToRealListItems:function(c){var b=[];c.forEach(function(c){"cke:li"==c.name&&(c.name="li",b.push(c))},CKEDITOR.NODE_ELEMENT,!1);return b},removeSymbolText:function(c){var b=c.attributes["cke-symbol"],d=c.findOne(function(c){return c.value&&-1/)?!0:!1},convertToFakeListItem:function(c,b){t.isDegenerateListItem(c,b)&&t.assignListLevels(c, +b);this.getListItemInfo(b);if(!b.attributes["cke-dissolved"]){var d;b.forEach(function(b){!d&&"img"==b.name&&b.attributes["cke-ignored"]&&"*"==b.attributes.alt&&(d="·",b.remove())},CKEDITOR.NODE_ELEMENT);b.forEach(function(b){d||b.value.match(/^ /)||(d=b.value)},CKEDITOR.NODE_TEXT);if("undefined"==typeof d)return;b.attributes["cke-symbol"]=d.replace(/(?: | ).*$/,"");f.removeSymbolText(b)}var e=b.attributes&&l.parseCssText(b.attributes.style);if(e["margin-left"]){var g=e["margin-left"],k=b.attributes["cke-list-level"]; +(g=Math.max(CKEDITOR.tools.convertToPx(g)-40*k,0))?e["margin-left"]=g+"px":delete e["margin-left"];b.attributes.style=CKEDITOR.tools.writeCssText(e)}b.name="cke:li"},convertToRealListItems:function(c){var b=[];c.forEach(function(c){"cke:li"==c.name&&(c.name="li",b.push(c))},CKEDITOR.NODE_ELEMENT,!1);return b},removeSymbolText:function(c){var b=c.attributes["cke-symbol"],d=c.findOne(function(c){return c.value&&-1b&&(c.attributes.dir="rtl")},createList:function(c){return(c.attributes["cke-symbol"].match(/([\da-np-zA-NP-Z]).?/)||[])[1]? -new CKEDITOR.htmlParser.element("ol"):new CKEDITOR.htmlParser.element("ul")},createLists:function(c){function b(b){return CKEDITOR.tools.array.reduce(b,function(b,a){if(a.attributes&&a.attributes.style)var c=CKEDITOR.tools.parseCssText(a.attributes.style)["margin-left"];return c?b+parseInt(c,10):b},0)}var d,e,f,l=g.convertToRealListItems(c);if(0===l.length)return[];var k=g.groupLists(l);for(c=0;ch.length;){var v=g.createList(d),x=m.children;0f;f++)d[f]&&delete d[f];d[c[l].attributes["cke-list-level"]]=h;e[e.length-1].push(c[l]);f=a}[].splice.apply(b,[].concat([n.indexOf(b,c),1],e))},isAListContinuation:function(c){var b=c;do if((b=b.previous)&&b.type===CKEDITOR.NODE_ELEMENT){if(void 0===b.attributes["cke-list-level"])break;if(b.attributes["cke-list-level"]===c.attributes["cke-list-level"])return b.attributes["cke-list-id"]===c.attributes["cke-list-id"]}while(b);return!1},toArabic:function(c){return c.match(/[ivxl]/i)?c.match(/^l/i)? -50+g.toArabic(c.slice(1)):c.match(/^lx/i)?40+g.toArabic(c.slice(1)):c.match(/^x/i)?10+g.toArabic(c.slice(1)):c.match(/^ix/i)?9+g.toArabic(c.slice(2)):c.match(/^v/i)?5+g.toArabic(c.slice(1)):c.match(/^iv/i)?4+g.toArabic(c.slice(2)):c.match(/^i/i)?1+g.toArabic(c.slice(1)):g.toArabic(c.slice(1)):0},getSymbolInfo:function(c,b){var d=c.toUpperCase()==c?"upper-":"lower-",e={"·":["disc",-1],o:["circle",-2],"§":["square",-3]};if(c in e||b&&b.match(/(disc|circle|square)/))return{index:e[c][1],type:e[c][0]}; -if(c.match(/\d/))return{index:c?parseInt(g.getSubsectionSymbol(c),10):0,type:"decimal"};c=c.replace(/\W/g,"").toLowerCase();return!b&&c.match(/[ivxl]+/i)||b&&"alpha"!=b||"roman"==b?{index:g.toArabic(c),type:d+"roman"}:c.match(/[a-z]/i)?{index:c.charCodeAt(0)-97,type:d+"alpha"}:{index:-1,type:"disc"}},getListItemInfo:function(c){if(void 0!==c.attributes["cke-list-id"])return{id:c.attributes["cke-list-id"],level:c.attributes["cke-list-level"]};var b=n.parseCssText(c.attributes.style)["mso-list"],d= -{id:"0",level:"1"};b&&(b+=" ",d.level=b.match(/level(.+?)\s+/)[1],d.id=b.match(/l(\d+?)\s+/)[1]);c.attributes["cke-list-level"]=void 0!==c.attributes["cke-list-level"]?c.attributes["cke-list-level"]:d.level;c.attributes["cke-list-id"]=d.id;return d}};g=q.lists;q.heuristics={isEdgeListItem:function(c,b){if(!CKEDITOR.env.edge||!c.config.pasteFromWord_heuristicsEdgeList)return!1;var d="";b.forEach&&b.forEach(function(b){d+=b.value},CKEDITOR.NODE_TEXT);return d.match(/^(?: | )*\(?[a-zA-Z0-9]+?[\.\)](?: | ){2,}/)? -!0:p.isDegenerateListItem(c,b)},cleanupEdgeListItem:function(c){var b=!1;c.forEach(function(c){b||(c.value=c.value.replace(/^(?: |[\s])+/,""),c.value.length&&(b=!0))},CKEDITOR.NODE_TEXT)},isDegenerateListItem:function(c,b){return!!b.attributes["cke-list-level"]||b.attributes.style&&!b.attributes.style.match(/mso\-list/)&&!!b.find(function(c){if(c.type==CKEDITOR.NODE_ELEMENT&&b.name.match(/h\d/i)&&c.getHtml().match(/^[a-zA-Z0-9]+?[\.\)]$/))return!0;var e=n.parseCssText(c.attributes&&c.attributes.style, -!0);if(!e)return!1;var f=e["font-family"]||"";return(e.font||e["font-size"]||"").match(/7pt/i)&&!!c.previous||f.match(/symbol/i)},!0).length},assignListLevels:function(c,b){if(!b.attributes||void 0===b.attributes["cke-list-level"]){for(var d=[z(b)],e=[b],f=[],g=CKEDITOR.tools.array,k=g.map;b.next&&b.next.attributes&&!b.next.attributes["cke-list-level"]&&p.isDegenerateListItem(c,b.next);)b=b.next,d.push(z(b)),e.push(b);var a=k(d,function(a,b){return 0===b?0:a-d[b-1]}),h=this.guessIndentationStep(g.filter(d, -function(a){return 0!==a})),f=k(d,function(a){return Math.round(a/h)});-1!==g.indexOf(f,0)&&(f=k(f,function(a){return a+1}));g.forEach(e,function(a,b){a.attributes["cke-list-level"]=f[b]});return{indents:d,levels:f,diffs:a}}},guessIndentationStep:function(c){return c.length?Math.min.apply(null,c):null},correctLevelShift:function(c){if(this.isShifted(c)){var b=CKEDITOR.tools.array.filter(c.children,function(b){return"ul"==b.name||"ol"==b.name}),d=CKEDITOR.tools.array.reduce(b,function(b,c){return(c.children&& -1==c.children.length&&p.isShifted(c.children[0])?[c]:c.children).concat(b)},[]);CKEDITOR.tools.array.forEach(b,function(b){b.remove()});CKEDITOR.tools.array.forEach(d,function(b){c.add(b)});delete c.name}},isShifted:function(c){return"li"!==c.name?!1:0===CKEDITOR.tools.array.filter(c.children,function(b){return b.name&&("ul"==b.name||"ol"==b.name||"p"==b.name&&0===b.children.length)?!1:!0}).length}};p=q.heuristics;g.setListSymbol.removeRedundancies=function(c,b){(1===b&&"disc"===c["list-style-type"]|| -"decimal"===c["list-style-type"])&&delete c["list-style-type"]};CKEDITOR.cleanWord=CKEDITOR.pasteFilters.word=B.createFilter({rules:[t.rules,q.rules],additionalTransforms:function(c){CKEDITOR.plugins.clipboard.isCustomDataTypesSupported&&(c=t.styles.inliner.inline(c).getBody().getHtml());return c.replace(//g,"]--\x3e")}});CKEDITOR.config.pasteFromWord_heuristicsEdgeList=!0})(); \ No newline at end of file +new CKEDITOR.htmlParser.element("ol"):new CKEDITOR.htmlParser.element("ul")},createLists:function(c,b){function d(b){return CKEDITOR.tools.array.reduce(b,function(b,a){if(a.attributes&&a.attributes.style)var c=CKEDITOR.tools.parseCssText(a.attributes.style)["margin-left"];return c?b+parseInt(c,10):b},0)}function e(a,c){var d=CKEDITOR.tools.parseCssText(a.attributes.style),e=CKEDITOR.plugins.pastetools.getConfigValue(b,"keepZeroMargins"),g="margin-"+c;if(!(g in d))return"";d=CKEDITOR.tools.convertToPx(d[g]); +return 0===d&&e?g+": "+d+"; ":0p.length;){var l=f.createList(g),y=m.children; +0g;g++)d[g]&&delete d[g];d[c[k].attributes["cke-list-level"]]=n;e[e.length-1].push(c[k]);g=a}[].splice.apply(b,[].concat([l.indexOf(b, +c),1],e))},isAListContinuation:function(c){var b=c;do if((b=b.previous)&&b.type===CKEDITOR.NODE_ELEMENT){if(void 0===b.attributes["cke-list-level"])break;if(b.attributes["cke-list-level"]===c.attributes["cke-list-level"])return b.attributes["cke-list-id"]===c.attributes["cke-list-id"]}while(b);return!1},toArabic:function(c){return c.match(/[ivxl]/i)?c.match(/^l/i)?50+f.toArabic(c.slice(1)):c.match(/^lx/i)?40+f.toArabic(c.slice(1)):c.match(/^x/i)?10+f.toArabic(c.slice(1)):c.match(/^ix/i)?9+f.toArabic(c.slice(2)): +c.match(/^v/i)?5+f.toArabic(c.slice(1)):c.match(/^iv/i)?4+f.toArabic(c.slice(2)):c.match(/^i/i)?1+f.toArabic(c.slice(1)):f.toArabic(c.slice(1)):0},getSymbolInfo:function(c,b){var d=c.toUpperCase()==c?"upper-":"lower-",e={"·":["disc",-1],o:["circle",-2],"§":["square",-3]};if(c in e||b&&b.match(/(disc|circle|square)/))return{index:e[c][1],type:e[c][0]};if(c.match(/\d/))return{index:c?parseInt(f.getSubsectionSymbol(c),10):0,type:"decimal"};c=c.replace(/\W/g,"").toLowerCase();return!b&&c.match(/[ivxl]+/i)|| +b&&"alpha"!=b||"roman"==b?{index:f.toArabic(c),type:d+"roman"}:c.match(/[a-z]/i)?{index:c.charCodeAt(0)-97,type:d+"alpha"}:{index:-1,type:"disc"}},getListItemInfo:function(c){if(void 0!==c.attributes["cke-list-id"])return{id:c.attributes["cke-list-id"],level:c.attributes["cke-list-level"]};var b=l.parseCssText(c.attributes.style)["mso-list"],d={id:"0",level:"1"};b&&(b+=" ",d.level=b.match(/level(.+?)\s+/)[1],d.id=b.match(/l(\d+?)\s+/)[1]);c.attributes["cke-list-level"]=void 0!==c.attributes["cke-list-level"]? +c.attributes["cke-list-level"]:d.level;c.attributes["cke-list-id"]=d.id;return d}};f=u.lists;u.heuristics={isEdgeListItem:function(c,b){if(!CKEDITOR.env.edge||!c.config.pasteFromWord_heuristicsEdgeList)return!1;var d="";b.forEach&&b.forEach(function(b){d+=b.value},CKEDITOR.NODE_TEXT);return d.match(/^(?: | )*\(?[a-zA-Z0-9]+?[\.\)](?: | ){2,}/)?!0:t.isDegenerateListItem(c,b)},cleanupEdgeListItem:function(c){var b=!1;c.forEach(function(c){b||(c.value=c.value.replace(/^(?: |[\s])+/,""), +c.value.length&&(b=!0))},CKEDITOR.NODE_TEXT)},isDegenerateListItem:function(c,b){return!!b.attributes["cke-list-level"]||b.attributes.style&&!b.attributes.style.match(/mso\-list/)&&!!b.find(function(c){if(c.type==CKEDITOR.NODE_ELEMENT&&b.name.match(/h\d/i)&&c.getHtml().match(/^[a-zA-Z0-9]+?[\.\)]$/))return!0;var e=l.parseCssText(c.attributes&&c.attributes.style,!0);if(!e)return!1;var f=e["font-family"]||"";return(e.font||e["font-size"]||"").match(/7pt/i)&&!!c.previous||f.match(/symbol/i)},!0).length}, +assignListLevels:function(c,b){if(!b.attributes||void 0===b.attributes["cke-list-level"]){for(var d=[A(b)],e=[b],f=[],k=CKEDITOR.tools.array,h=k.map;b.next&&b.next.attributes&&!b.next.attributes["cke-list-level"]&&t.isDegenerateListItem(c,b.next);)b=b.next,d.push(A(b)),e.push(b);var a=h(d,function(a,b){return 0===b?0:a-d[b-1]}),l=this.guessIndentationStep(k.filter(d,function(a){return 0!==a})),f=h(d,function(a){return Math.round(a/l)});-1!==k.indexOf(f,0)&&(f=h(f,function(a){return a+1}));k.forEach(e, +function(a,b){a.attributes["cke-list-level"]=f[b]});return{indents:d,levels:f,diffs:a}}},guessIndentationStep:function(c){return c.length?Math.min.apply(null,c):null},correctLevelShift:function(c){if(this.isShifted(c)){var b=CKEDITOR.tools.array.filter(c.children,function(b){return"ul"==b.name||"ol"==b.name}),d=CKEDITOR.tools.array.reduce(b,function(b,c){return(c.children&&1==c.children.length&&t.isShifted(c.children[0])?[c]:c.children).concat(b)},[]);CKEDITOR.tools.array.forEach(b,function(b){b.remove()}); +CKEDITOR.tools.array.forEach(d,function(b){c.add(b)});delete c.name}},isShifted:function(c){return"li"!==c.name?!1:0===CKEDITOR.tools.array.filter(c.children,function(b){return b.name&&("ul"==b.name||"ol"==b.name||"p"==b.name&&0===b.children.length)?!1:!0}).length}};t=u.heuristics;f.setListSymbol.removeRedundancies=function(c,b){(1===b&&"disc"===c["list-style-type"]||"decimal"===c["list-style-type"])&&delete c["list-style-type"]};CKEDITOR.cleanWord=CKEDITOR.pasteFilters.word=D.createFilter({rules:[w.rules, +u.rules],additionalTransforms:function(c){CKEDITOR.plugins.clipboard.isCustomDataTypesSupported&&(c=w.styles.inliner.inline(c).getBody().getHtml());return c.replace(//g,"]--\x3e")}});CKEDITOR.config.pasteFromWord_heuristicsEdgeList=!0})(); \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/hidpi/pastefromword-rtl.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/hidpi/pastefromword-rtl.png deleted file mode 100644 index f1e4190992..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/hidpi/pastefromword-rtl.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/hidpi/pastefromword.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/hidpi/pastefromword.png deleted file mode 100644 index dd844347cb..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/hidpi/pastefromword.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/pastefromword-rtl.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/pastefromword-rtl.png deleted file mode 100644 index 663ce73375..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/pastefromword-rtl.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/pastefromword.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/pastefromword.png deleted file mode 100644 index 0ede58c341..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/icons/pastefromword.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/af.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/af.js deleted file mode 100644 index 6a98e4ef80..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/af.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'af', { - confirmCleanup: 'Die teks wat u wil plak lyk asof dit uit Word gekopiëer is. Wil u dit eers skoonmaak voordat dit geplak word?', - error: 'Die geplakte teks kon nie skoongemaak word nie, weens \'n interne fout', - title: 'Plak vanuit Word', - toolbar: 'Plak vanuit Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ar.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ar.js deleted file mode 100644 index 4ca704b847..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ar.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'ar', { - confirmCleanup: 'يبدو أن النص المراد لصقه منسوخ من برنامج وورد. هل تود تنظيفه قبل الشروع في عملية اللصق؟', - error: 'لم يتم مسح المعلومات الملصقة لخلل داخلي', - title: 'لصق من وورد', - toolbar: 'لصق من وورد' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/az.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/az.js deleted file mode 100644 index ec790ccf8b..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/az.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'az', { - confirmCleanup: 'Əlavə edilən mətn Word-dan köçürülənə oxşayır. Təmizləmək istəyirsinizmi?', - error: 'Daxili səhvə görə əlavə edilən məlumatların təmizlənməsi mümkün deyil', - title: 'Word-dan əlavəetmə', - toolbar: 'Word-dan əlavəetmə' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/bg.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/bg.js deleted file mode 100644 index 6653c72bae..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/bg.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'bg', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'Вмъкни от MS Word', - toolbar: 'Вмъкни от MS Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/bn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/bn.js deleted file mode 100644 index b9eaab68e9..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/bn.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'bn', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'পেস্ট (শব্দ)', - toolbar: 'পেস্ট (শব্দ)' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/bs.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/bs.js deleted file mode 100644 index 8b96b9e2c6..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/bs.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'bs', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'Zalijepi iz Word-a', - toolbar: 'Zalijepi iz Word-a' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ca.js deleted file mode 100644 index 3aa3917fce..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ca.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'ca', { - confirmCleanup: 'El text que voleu enganxar sembla provenir de Word. Voleu netejar aquest text abans que sigui enganxat?', - error: 'No ha estat possible netejar les dades enganxades degut a un error intern', - title: 'Enganxa des del Word', - toolbar: 'Enganxa des del Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/cs.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/cs.js deleted file mode 100644 index 8b9fa0b7a2..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/cs.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'cs', { - confirmCleanup: 'Jak je vidět, vkládaný text je kopírován z Wordu. Chcete jej před vložením vyčistit?', - error: 'Z důvodu vnitřní chyby nebylo možné provést vyčištění vkládaného textu.', - title: 'Vložit z Wordu', - toolbar: 'Vložit z Wordu' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/cy.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/cy.js deleted file mode 100644 index d920782dc6..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/cy.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'cy', { - confirmCleanup: 'Mae\'r testun rydych chi am ludo wedi\'i gopïo o Word. Ydych chi am ei lanhau cyn ei ludo?', - error: 'Doedd dim modd glanhau y data a ludwyd oherwydd gwall mewnol', - title: 'Gludo o Word', - toolbar: 'Gludo o Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/da.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/da.js deleted file mode 100644 index 8671324013..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/da.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'da', { - confirmCleanup: 'Den tekst du forsøger at indsætte ser ud til at komme fra Word. Vil du rense teksten før den indsættes?', - error: 'Det var ikke muligt at fjerne formatteringen på den indsatte tekst grundet en intern fejl', - title: 'Indsæt fra Word', - toolbar: 'Indsæt fra Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/de-ch.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/de-ch.js deleted file mode 100644 index 173955d8a8..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/de-ch.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'de-ch', { - confirmCleanup: 'Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?', - error: 'Aufgrund eines internen Fehlers war es nicht möglich die eingefügten Daten zu bereinigen', - title: 'Aus Word einfügen', - toolbar: 'Aus Word einfügen' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/de.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/de.js deleted file mode 100644 index 07cea8239d..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/de.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'de', { - confirmCleanup: 'Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?', - error: 'Aufgrund eines internen Fehlers war es nicht möglich die eingefügten Daten zu bereinigen', - title: 'Aus Word einfügen', - toolbar: 'Aus Word einfügen' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/el.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/el.js deleted file mode 100644 index 327f904ef2..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/el.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'el', { - confirmCleanup: 'Το κείμενο που επικολλάται φαίνεται να είναι αντιγραμμένο από το Word. Μήπως θα θέλατε να καθαριστεί προτού επικολληθεί;', - error: 'Δεν ήταν δυνατό να καθαριστούν τα δεδομένα λόγω ενός εσωτερικού σφάλματος', - title: 'Επικόλληση από το Word', - toolbar: 'Επικόλληση από το Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en-au.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en-au.js deleted file mode 100644 index 334f699b85..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en-au.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'en-au', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'Paste from Word', - toolbar: 'Paste from Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en-ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en-ca.js deleted file mode 100644 index 61b8a8699e..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en-ca.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'en-ca', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'Paste from Word', - toolbar: 'Paste from Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en-gb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en-gb.js deleted file mode 100644 index 751f6f1eca..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en-gb.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'en-gb', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', - error: 'It was not possible to clean up the pasted data due to an internal error', - title: 'Paste from Word', - toolbar: 'Paste from Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en.js deleted file mode 100644 index a56852337e..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/en.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'en', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', - error: 'It was not possible to clean up the pasted data due to an internal error', - title: 'Paste from Word', - toolbar: 'Paste from Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/eo.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/eo.js deleted file mode 100644 index 94901cb648..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/eo.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'eo', { - confirmCleanup: 'La teksto, kiun vi volas interglui, ŝajnas esti kopiita el Word. Ĉu vi deziras purigi ĝin antaŭ intergluo?', - error: 'Ne eblis purigi la intergluitajn datenojn pro interna eraro', - title: 'Interglui el Word', - toolbar: 'Interglui el Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/es-mx.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/es-mx.js deleted file mode 100644 index 86fe6642b2..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/es-mx.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'es-mx', { - confirmCleanup: 'El texto que desea pegar parece estar copiado de Word. ¿Quieres limpiarlo antes de pegarlo?', - error: 'No fue posible limpiar los datos pegados debido a un error interno', - title: 'Pegar desde word', - toolbar: 'Pegar desde word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/es.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/es.js deleted file mode 100644 index 2aac497638..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/es.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'es', { - confirmCleanup: 'El texto que desea parece provenir de Word.\r\n¿Desea depurarlo antes de pegarlo?', - error: 'No ha sido posible limpiar los datos debido a un error interno', - title: 'Pegar desde Word', - toolbar: 'Pegar desde Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/et.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/et.js deleted file mode 100644 index c19476086b..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/et.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'et', { - confirmCleanup: 'Tekst, mida tahad asetada näib pärinevat Wordist. Kas tahad selle enne asetamist puhastada?', - error: 'Asetatud andmete puhastamine ei olnud sisemise vea tõttu võimalik', - title: 'Asetamine Wordist', - toolbar: 'Asetamine Wordist' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/eu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/eu.js deleted file mode 100644 index 2fb32d37f8..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/eu.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'eu', { - confirmCleanup: 'Itsatsi nahi duzun testua Word-etik kopiatua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?', - error: 'Barne-errore bat dela eta ezin izan da itsatsitako testua garbitu', - title: 'Itsatsi Word-etik', - toolbar: 'Itsatsi Word-etik' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fa.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fa.js deleted file mode 100644 index 47939ca089..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fa.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'fa', { - confirmCleanup: 'متنی که میخواهید بچسبانید به نظر میرسد که از Word کپی شده است. آیا میخواهید قبل از چسباندن آن را پاکسازی کنید؟', - error: 'به دلیل بروز خطای داخلی امکان پاکسازی اطلاعات بازنشانی شده وجود ندارد.', - title: 'چسباندن از Word', - toolbar: 'چسباندن از Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fi.js deleted file mode 100644 index fcbfc1ee0a..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fi.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'fi', { - confirmCleanup: 'Liittämäsi teksti näyttäisi olevan Word-dokumentista. Haluatko siivota sen ennen liittämistä? (Suositus: Kyllä)', - error: 'Liitetyn tiedon siivoaminen ei onnistunut sisäisen virheen takia', - title: 'Liitä Word-dokumentista', - toolbar: 'Liitä Word-dokumentista' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fo.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fo.js deleted file mode 100644 index cc7cb3ebcc..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fo.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'fo', { - confirmCleanup: 'Teksturin, tú roynir at seta inn, sýnist at stava frá Word. Skal teksturin reinsast fyrst?', - error: 'Tað eydnaðist ikki at reinsa tekstin vegna ein internan feil', - title: 'Innrita frá Word', - toolbar: 'Innrita frá Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fr-ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fr-ca.js deleted file mode 100644 index 13758c089f..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fr-ca.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'fr-ca', { - confirmCleanup: 'Le texte que vous tentez de coller semble provenir de Word. Désirez vous le nettoyer avant de coller?', - error: 'Il n\'a pas été possible de nettoyer les données collées du à une erreur interne', - title: 'Coller de Word', - toolbar: 'Coller de Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fr.js deleted file mode 100644 index 2b14c57f01..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/fr.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'fr', { - confirmCleanup: 'Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller ?', - error: 'Les données collées n\'ont pas pu être nettoyées à cause d\'une erreur interne', - title: 'Coller depuis Word', - toolbar: 'Coller depuis Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/gl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/gl.js deleted file mode 100644 index b98db81bb0..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/gl.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'gl', { - confirmCleanup: 'O texto que quere pegar semella ser copiado desde o Word. Quere depuralo antes de pegalo?', - error: 'Non foi posíbel depurar os datos pegados por mor dun erro interno', - title: 'Pegar desde Word', - toolbar: 'Pegar desde Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/gu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/gu.js deleted file mode 100644 index 6bdbdaba44..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/gu.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'gu', { - confirmCleanup: 'તમે જે ટેક્ષ્ત્ કોપી કરી રહ્યા છો ટે વર્ડ ની છે. કોપી કરતા પેહલા સાફ કરવી છે?', - error: 'પેસ્ટ કરેલો ડેટા ઇન્ટરનલ એરર ના લીથે સાફ કરી શકાયો નથી.', - title: 'પેસ્ટ (વડૅ ટેક્સ્ટ)', - toolbar: 'પેસ્ટ (વડૅ ટેક્સ્ટ)' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/he.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/he.js deleted file mode 100644 index f0f41cb5b6..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/he.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'he', { - confirmCleanup: 'נראה הטקסט שבכוונתך להדביק מקורו בקובץ וורד. האם ברצונך לנקות אותו טרם ההדבקה?', - error: 'לא ניתן היה לנקות את המידע בשל תקלה פנימית.', - title: 'הדבקה מ-Word', - toolbar: 'הדבקה מ-Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/hi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/hi.js deleted file mode 100644 index e6e07cfe0f..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/hi.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'hi', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'पेस्ट (वर्ड से)', - toolbar: 'पेस्ट (वर्ड से)' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/hr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/hr.js deleted file mode 100644 index 8bb5af6482..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/hr.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'hr', { - confirmCleanup: 'Tekst koji želite zalijepiti čini se da je kopiran iz Worda. Želite li prije očistiti tekst?', - error: 'Nije moguće očistiti podatke za ljepljenje zbog interne greške', - title: 'Zalijepi iz Worda', - toolbar: 'Zalijepi iz Worda' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/hu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/hu.js deleted file mode 100644 index b178bd31d4..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/hu.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'hu', { - confirmCleanup: 'Úgy tűnik a beillesztett szöveget Word-ből másolt át. Meg szeretné tisztítani a szöveget? (ajánlott)', - error: 'Egy belső hiba miatt nem sikerült megtisztítani a szöveget', - title: 'Beillesztés Word-ből', - toolbar: 'Beillesztés Word-ből' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/id.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/id.js deleted file mode 100644 index bed7ce5ccd..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/id.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'id', { - confirmCleanup: 'Teks yang ingin anda tempel sepertinya di salin dari Word. Apakah anda mau membersihkannya sebelum menempel?', - error: 'Tidak mungkin membersihkan data yang ditempel dikerenakan kesalahan internal', - title: 'Tempel dari Word', - toolbar: 'Tempel dari Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/is.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/is.js deleted file mode 100644 index 39a4c3ad58..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/is.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'is', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'Líma úr Word', - toolbar: 'Líma úr Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/it.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/it.js deleted file mode 100644 index 7f3049540c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/it.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'it', { - confirmCleanup: 'Il testo da incollare sembra provenire da Word. Desideri pulirlo prima di incollare?', - error: 'Non è stato possibile eliminare il testo incollato a causa di un errore interno.', - title: 'Incolla da Word', - toolbar: 'Incolla da Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ja.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ja.js deleted file mode 100644 index dc9e92bc13..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ja.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'ja', { - confirmCleanup: '貼り付けを行うテキストはワード文章からコピーされようとしています。貼り付ける前にクリーニングを行いますか?', - error: '内部エラーにより貼り付けたデータをクリアできませんでした', - title: 'ワード文章から貼り付け', - toolbar: 'ワード文章から貼り付け' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ka.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ka.js deleted file mode 100644 index 807e165c0b..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ka.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'ka', { - confirmCleanup: 'ჩასასმელი ტექსტი ვორდიდან გადმოტანილს გავს - გინდათ მისი წინასწარ გაწმენდა?', - error: 'შიდა შეცდომის გამო ვერ მოხერხდა ტექსტის გაწმენდა', - title: 'ვორდიდან ჩასმა', - toolbar: 'ვორდიდან ჩასმა' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/km.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/km.js deleted file mode 100644 index 1236c45d27..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/km.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'km', { - confirmCleanup: 'អត្ថបទ​ដែល​អ្នក​ចង់​បិទ​ភ្ជាប់​នេះ ទំនង​ដូច​ជា​ចម្លង​មក​ពី Word។ តើ​អ្នក​ចង់​សម្អាត​វា​មុន​បិទ​ភ្ជាប់​ទេ?', - error: 'ដោយ​សារ​មាន​បញ្ហា​ផ្នែក​ក្នុង​ធ្វើ​ឲ្យ​មិន​អាច​សម្អាត​ទិន្នន័យ​ដែល​បាន​បិទ​ភ្ជាប់', - title: 'បិទ​ភ្ជាប់​ពី Word', - toolbar: 'បិទ​ភ្ជាប់​ពី Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ko.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ko.js deleted file mode 100644 index de1dac4a9d..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ko.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'ko', { - confirmCleanup: '붙여 넣을 내용은 MS Word에서 복사 한 것입니다. 붙여 넣기 전에 정리 하시겠습니까?', - error: '내부 오류로 붙여 넣은 데이터를 정리 할 수 없습니다.', - title: 'MS Word 에서 붙여넣기', - toolbar: 'MS Word 에서 붙여넣기' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ku.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ku.js deleted file mode 100644 index aee37f7abc..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ku.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'ku', { - confirmCleanup: 'ئەم دەقەی بەتەمای بیلکێنی پێدەچێت له word هێنرابێت. دەتەوێت پاکی بکەیوه پێش ئەوەی بیلکێنی؟', - error: 'هیچ ڕێگەیەك نەبوو لەلکاندنی دەقەکه بەهۆی هەڵەیەکی ناوەخۆیی', - title: 'لکاندنی لەلایەن Word', - toolbar: 'لکاندنی لەڕێی Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/lt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/lt.js deleted file mode 100644 index ea7be05840..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/lt.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'lt', { - confirmCleanup: 'Tekstas, kurį įkeliate yra kopijuojamas iš Word. Ar norite jį išvalyti prieš įkeliant?', - error: 'Dėl vidinių sutrikimų, nepavyko išvalyti įkeliamo teksto', - title: 'Įdėti iš Word', - toolbar: 'Įdėti iš Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/lv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/lv.js deleted file mode 100644 index 5ba44594d1..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/lv.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'lv', { - confirmCleanup: 'Teksts, kuru vēlaties ielīmēt, izskatās ir nokopēts no Word. Vai vēlaties to iztīrīt pirms ielīmēšanas?', - error: 'Iekšējas kļūdas dēļ, neizdevās iztīrīt ielīmētos datus.', - title: 'Ievietot no Worda', - toolbar: 'Ievietot no Worda' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/mk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/mk.js deleted file mode 100644 index 435abafc76..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/mk.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'mk', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'Paste from Word', // MISSING - toolbar: 'Paste from Word' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/mn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/mn.js deleted file mode 100644 index 2aab071176..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/mn.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'mn', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'Word-оос буулгах', - toolbar: 'Word-оос буулгах' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ms.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ms.js deleted file mode 100644 index cac44f4fd5..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ms.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'ms', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'Tampal dari Word', - toolbar: 'Tampal dari Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/nb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/nb.js deleted file mode 100644 index 74ab432abe..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/nb.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'nb', { - confirmCleanup: 'Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?', - error: 'Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil', - title: 'Lim inn fra Word', - toolbar: 'Lim inn fra Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/nl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/nl.js deleted file mode 100644 index 6454319ef3..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/nl.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'nl', { - confirmCleanup: 'De tekst die u wilt plakken lijkt gekopieerd te zijn vanuit Word. Wilt u de tekst opschonen voordat deze geplakt wordt?', - error: 'Het was niet mogelijk om de geplakte tekst op te schonen door een interne fout', - title: 'Plakken vanuit Word', - toolbar: 'Plakken vanuit Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/no.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/no.js deleted file mode 100644 index fe05bd48d6..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/no.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'no', { - confirmCleanup: 'Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?', - error: 'Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil', - title: 'Lim inn fra Word', - toolbar: 'Lim inn fra Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/oc.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/oc.js deleted file mode 100644 index 5f8a031372..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/oc.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'oc', { - confirmCleanup: 'Sembla que lo tèxte de pegar proven de Word. Lo volètz netejar abans de lo pegar ?', - error: 'Las donadas pegadas an pas pogut èsser netejadas a causa d\'una error intèrna', - title: 'Pegar dempuèi Word', - toolbar: 'Pegar dempuèi Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/pl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/pl.js deleted file mode 100644 index 1b1fe7a230..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/pl.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'pl', { - confirmCleanup: 'Tekst, który chcesz wkleić, prawdopodobnie pochodzi z programu Microsoft Word. Czy chcesz go wyczyścić przed wklejeniem?', - error: 'Wyczyszczenie wklejonych danych nie było możliwe z powodu wystąpienia błędu.', - title: 'Wklej z programu MS Word', - toolbar: 'Wklej z programu MS Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/pt-br.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/pt-br.js deleted file mode 100644 index 6f76d879f8..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/pt-br.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'pt-br', { - confirmCleanup: 'O texto que você deseja colar parece ter sido copiado do Word. Você gostaria de remover a formatação antes de colar?', - error: 'Não foi possível limpar os dados colados devido a um erro interno', - title: 'Colar do Word', - toolbar: 'Colar do Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/pt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/pt.js deleted file mode 100644 index 72e2da2b79..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/pt.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'pt', { - confirmCleanup: 'O texto que pretende colar parece ter sido copiado do Word. Deseja limpar o código antes de o colar?', - error: 'Não foi possível limpar a informação colada devido a um erro interno.', - title: 'Colar do Word', - toolbar: 'Colar do Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ro.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ro.js deleted file mode 100644 index f21b30f671..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ro.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'ro', { - confirmCleanup: 'Textul pe care doriți să-l lipiți este din Word. Doriți curățarea textului înante de a-l adăuga?', - error: 'Nu a fost posibilă curățarea datelor adăugate datorită unei erori interne', - title: 'Adaugă din Word', - toolbar: 'Adaugă din Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ru.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ru.js deleted file mode 100644 index 9457db525c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ru.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'ru', { - confirmCleanup: 'Текст, который вы желаете вставить, по всей видимости, был скопирован из Word. Следует ли очистить его перед вставкой?', - error: 'Невозможно очистить вставленные данные из-за внутренней ошибки', - title: 'Вставить из Word', - toolbar: 'Вставить из Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/si.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/si.js deleted file mode 100644 index c115e8df55..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/si.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'si', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'වචන වලින් අලවන්න', - toolbar: 'වචන වලින් අලවන්න' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sk.js deleted file mode 100644 index 034adc2441..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sk.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'sk', { - confirmCleanup: 'Zdá sa, že vkladaný text pochádza z programu MS Word. Chcete ho pred vkladaním automaticky vyčistiť?', - error: 'Kvôli internej chybe nebolo možné vložené dáta vyčistiť', - title: 'Vložiť z Wordu', - toolbar: 'Vložiť z Wordu' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sl.js deleted file mode 100644 index 3a48e37396..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sl.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'sl', { - confirmCleanup: 'Besedilo, ki ga želite prilepiti, je kopirano iz Worda. Ali ga želite očistiti, preden ga prilepite?', - error: 'Ni bilo mogoče očistiti prilepljenih podatkov zaradi notranje napake', - title: 'Prilepi iz Worda', - toolbar: 'Prilepi iz Worda' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sq.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sq.js deleted file mode 100644 index 0813572ee4..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sq.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'sq', { - confirmCleanup: 'Teksti që dëshironi të e hidhni siç duket është kopjuar nga Word-i. Dëshironi të e pastroni para se të e hidhni?', - error: 'Nuk ishte e mundur të fshiheshin të dhënat e hedhura për shkak të një gabimi të brendshëm', - title: 'Hidhe nga Word-i', - toolbar: 'Hidhe nga Word-i' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sr-latn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sr-latn.js deleted file mode 100644 index acf1796dfb..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sr-latn.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'sr-latn', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'Zalepi iz Worda', - toolbar: 'Zalepi iz Worda' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sr.js deleted file mode 100644 index b82ea9ccc8..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sr.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'sr', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'Залепи из Worda', - toolbar: 'Залепи из Worda' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sv.js deleted file mode 100644 index 2c37675417..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/sv.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'sv', { - confirmCleanup: 'Texten du vill klistra in verkar vara kopierad från Word. Vill du rensa den innan du klistrar in den?', - error: 'Det var inte möjligt att städa upp den inklistrade data på grund av ett internt fel', - title: 'Klistra in från Word', - toolbar: 'Klistra in från Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/th.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/th.js deleted file mode 100644 index de7f356426..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/th.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'th', { - confirmCleanup: 'ข้อความที่คุณต้องการวางลงไปเป็นข้อความที่คัดลอกมาจากโปรแกรมไมโครซอฟท์เวิร์ด คุณต้องการล้างค่าข้อความดังกล่าวก่อนวางลงไปหรือไม่?', - error: 'ไม่สามารถล้างข้อมูลที่ต้องการวางได้เนื่องจากเกิดข้อผิดพลาดภายในระบบ', - title: 'วางสำเนาจากตัวอักษรเวิร์ด', - toolbar: 'วางสำเนาจากตัวอักษรเวิร์ด' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/tr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/tr.js deleted file mode 100644 index 3d754cc129..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/tr.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'tr', { - confirmCleanup: 'Yapıştırmaya çalıştığınız metin Word\'den kopyalanmıştır. Yapıştırmadan önce silmek istermisiniz?', - error: 'Yapıştırmadaki veri bilgisi hata düzelene kadar silinmeyecektir', - title: 'Word\'den Yapıştır', - toolbar: 'Word\'den Yapıştır' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/tt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/tt.js deleted file mode 100644 index 3ac86cf2da..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/tt.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'tt', { - confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING - title: 'Word\'тан өстәү', - toolbar: 'Word\'тан өстәү' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ug.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ug.js deleted file mode 100644 index f8955bdd4c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/ug.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'ug', { - confirmCleanup: 'سىز چاپلىماقچى بولغان مەزمۇن MS Word تىن كەلگەندەك قىلىدۇ، MS Word پىچىمىنى تازىلىۋەتكەندىن كېيىن ئاندىن چاپلامدۇ؟', - error: 'ئىچكى خاتالىق سەۋەبىدىن چاپلايدىغان سانلىق مەلۇماتنى تازىلىيالمايدۇ', - title: 'MS Word تىن چاپلا', - toolbar: 'MS Word تىن چاپلا' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/uk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/uk.js deleted file mode 100644 index 5b475db457..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/uk.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'uk', { - confirmCleanup: 'Текст, що Ви намагаєтесь вставити, схожий на скопійований з Word. Бажаєте очистити його форматування перед вставлянням?', - error: 'Неможливо очистити форматування через внутрішню помилку.', - title: 'Вставити з Word', - toolbar: 'Вставити з Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/vi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/vi.js deleted file mode 100644 index c7c4e9932f..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/vi.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'vi', { - confirmCleanup: 'Văn bản bạn muốn dán có kèm định dạng của Word. Bạn có muốn loại bỏ định dạng Word trước khi dán?', - error: 'Không thể để làm sạch các dữ liệu dán do một lỗi nội bộ', - title: 'Dán với định dạng Word', - toolbar: 'Dán với định dạng Word' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/zh-cn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/zh-cn.js deleted file mode 100644 index f07c2545c2..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/zh-cn.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'zh-cn', { - confirmCleanup: '您要粘贴的内容好像是来自 MS Word,是否要清除 MS Word 格式后再粘贴?', - error: '由于内部错误无法清理要粘贴的数据', - title: '从 MS Word 粘贴', - toolbar: '从 MS Word 粘贴' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/zh.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/zh.js deleted file mode 100644 index da2fe8c4fc..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/lang/zh.js +++ /dev/null @@ -1,10 +0,0 @@ -/* -Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or http://ckeditor.com/license -*/ -CKEDITOR.plugins.setLang( 'pastefromword', 'zh', { - confirmCleanup: '您想貼上的文字似乎是自 Word 複製而來,請問您是否要先清除 Word 的格式後再行貼上?', - error: '由於發生內部錯誤,無法清除清除 Word 的格式。', - title: '自 Word 貼上', - toolbar: '自 Word 貼上' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/plugin.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/plugin.js deleted file mode 100644 index 1819d3a999..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastefromword/plugin.js +++ /dev/null @@ -1,180 +0,0 @@ -/** - * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or http://ckeditor.com/license - */ - -( function() { - /* global confirm */ - - CKEDITOR.plugins.add( 'pastefromword', { - requires: 'clipboard', - // jscs:disable maximumLineLength - lang: 'af,ar,az,bg,bn,bs,ca,cs,cy,da,de,de-ch,el,en,en-au,en-ca,en-gb,eo,es,es-mx,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,oc,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - // jscs:enable maximumLineLength - icons: 'pastefromword,pastefromword-rtl', // %REMOVE_LINE_CORE% - hidpi: true, // %REMOVE_LINE_CORE% - init: function( editor ) { - // Flag indicate this command is actually been asked instead of a generic pasting. - var forceFromWord = 0, - path = this.path; - - editor.addCommand( 'pastefromword', { - // Snapshots are done manually by editable.insertXXX methods. - canUndo: false, - async: true, - - /** - * The Paste from Word command. It will determine its pasted content from Word automatically if possible. - * - * At the time of writing it was working correctly only in Internet Explorer browsers, due to their - * `paste` support in `document.execCommand`. - * - * @private - * @param {CKEDITOR.editor} editor An instance of the editor where the command is being executed. - * @param {Object} [data] The options object. - * @param {Boolean/String} [data.notification=true] Content for a notification shown after an unsuccessful - * paste attempt. If `false`, the notification will not be displayed. This parameter was added in 4.7.0. - * @member CKEDITOR.editor.commands.pastefromword - */ - exec: function( editor, data ) { - forceFromWord = 1; - editor.execCommand( 'paste', { - type: 'html', - notification: data && typeof data.notification !== 'undefined' ? data.notification : true - } ); - } - } ); - - // Register the toolbar button. - editor.ui.addButton && editor.ui.addButton( 'PasteFromWord', { - label: editor.lang.pastefromword.toolbar, - command: 'pastefromword', - toolbar: 'clipboard,50' - } ); - - // Features brought by this command beside the normal process: - // 1. No more bothering of user about the clean-up. - // 2. Perform the clean-up even if content is not from Microsoft Word. - // (e.g. from a Microsoft Word similar application.) - // 3. Listen with high priority (3), so clean up is done before content - // type sniffing (priority = 6). - editor.on( 'paste', function( evt ) { - var data = evt.data, - dataTransferHtml = CKEDITOR.plugins.clipboard.isCustomDataTypesSupported ? - data.dataTransfer.getData( 'text/html', true ) : null, - // Some commands fire paste event without setting dataTransfer property. In such case - // dataValue should be used. - mswordHtml = dataTransferHtml || data.dataValue, - pfwEvtData = { dataValue: mswordHtml }, - officeMetaRegexp = /|<\/font>)/, - isOfficeContent = officeMetaRegexp.test( mswordHtml ) || wordRegexp.test( mswordHtml ); - - if ( !mswordHtml || !( forceFromWord || isOfficeContent ) ) { - return; - } - - // PFW might still get prevented, if it's not forced. - if ( editor.fire( 'pasteFromWord', pfwEvtData ) === false && !forceFromWord ) { - return; - } - - // Do not apply paste filter to data filtered by the Word filter (http://dev.ckeditor.com/ticket/13093). - data.dontFilter = true; - - // If filter rules aren't loaded then cancel 'paste' event, - // load them and when they'll get loaded fire new paste event - // for which data will be filtered in second execution of - // this listener. - var isLazyLoad = loadFilterRules( editor, path, function() { - // Event continuation with the original data. - if ( isLazyLoad ) { - editor.fire( 'paste', data ); - } else if ( !editor.config.pasteFromWordPromptCleanup || ( forceFromWord || confirm( editor.lang.pastefromword.confirmCleanup ) ) ) { - pfwEvtData.dataValue = CKEDITOR.cleanWord( pfwEvtData.dataValue, editor ); - - editor.fire( 'afterPasteFromWord', pfwEvtData ); - - data.dataValue = pfwEvtData.dataValue; - } - - // Reset forceFromWord. - forceFromWord = 0; - } ); - - // The cleanup rules are to be loaded, we should just cancel - // this event. - isLazyLoad && evt.cancel(); - }, null, null, 3 ); - } - - } ); - - function loadFilterRules( editor, path, callback ) { - var isLoaded = CKEDITOR.cleanWord; - - if ( isLoaded ) - callback(); - else { - var filterFilePath = CKEDITOR.getUrl( editor.config.pasteFromWordCleanupFile || ( path + 'filter/default.js' ) ); - - // Load with busy indicator. - CKEDITOR.scriptLoader.load( filterFilePath, callback, null, true ); - } - - return !isLoaded; - } -} )(); - - -/** - * Whether to prompt the user about the clean up of content being pasted from Microsoft Word. - * - * config.pasteFromWordPromptCleanup = true; - * - * @since 3.1 - * @cfg {Boolean} [pasteFromWordPromptCleanup=false] - * @member CKEDITOR.config - */ - -/** - * The file that provides the Microsoft Word cleanup function for pasting operations. - * - * **Note:** This is a global configuration shared by all editor instances present - * on the page. - * - * // Load from the 'pastefromword' plugin 'filter' sub folder (custom.js file) using a path relative to the CKEditor installation folder. - * CKEDITOR.config.pasteFromWordCleanupFile = 'plugins/pastefromword/filter/custom.js'; - * - * // Load from the 'pastefromword' plugin 'filter' sub folder (custom.js file) using a full path (including the CKEditor installation folder). - * CKEDITOR.config.pasteFromWordCleanupFile = '/ckeditor/plugins/pastefromword/filter/custom.js'; - * - * // Load custom.js file from the 'customFilters' folder (located in server's root) using the full URL. - * CKEDITOR.config.pasteFromWordCleanupFile = 'http://my.example.com/customFilters/custom.js'; - * - * @since 3.1 - * @cfg {String} [pasteFromWordCleanupFile= + 'filter/default.js'] - * @member CKEDITOR.config - */ - -/** - * Fired when the pasted content was recognized as Microsoft Word content. - * - * This event is cancellable. If canceled, it will prevent Paste from Word processing. - * - * @since 4.6.0 - * @event pasteFromWord - * @param data - * @param {String} data.dataValue Pasted content. Changes to this property will affect the pasted content. - * @member CKEDITOR.editor - */ - -/** - * Fired after the Paste form Word filters have been applied. - * - * @since 4.6.0 - * @event afterPasteFromWord - * @param data - * @param {String} data.dataValue Pasted content after processing. Changes to this property will affect the pasted content. - * @member CKEDITOR.editor - */ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastetools/filter/common.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastetools/filter/common.js index d4c9bc6869..366a77a3ae 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastetools/filter/common.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastetools/filter/common.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ (function(){function q(a,b,c){b+=c;for(var d=a[b],e=/[\s]/;d&&e.test(d);)b+=c,d=a[b];return d}function r(a){return/%$/.test(a)?a:a+"px"}function t(a){var b=a.margin?"margin":a.MARGIN?"MARGIN":!1,c,d;if(b){d=CKEDITOR.tools.style.parse.margin(a[b]);for(c in d)a["margin-"+c]=d[c];delete a[b]}}function u(a){var b="background-color:transparent;background:transparent;background-color:none;background:none;background-position:initial initial;background-repeat:initial initial;caret-color;font-family:-webkit-standard;font-variant-caps;letter-spacing:normal;orphans;widows;text-transform:none;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;text-indent:0px;margin-bottom:0in".split(";"), diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastetools/filter/image.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastetools/filter/image.js index 4844f829be..aafbeae9c7 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastetools/filter/image.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/pastetools/filter/image.js @@ -1,12 +1,12 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ (function(){function u(a,c,b){c=l(c);var e,d;if(0===c.length)return a;e=CKEDITOR.tools.array.map(c,function(a){return h(a)},this);if(b.length!==e.length)return CKEDITOR.error("pastetools-failed-image-extraction",{rtf:c.length,html:b.length}),a;for(d=0;d]+src="([^"]+)[^>]+/g,b=[],e;e=c.exec(a);)b.push(e[1]);return b}function r(a){var c=CKEDITOR.tools.array.find(CKEDITOR.pasteFilters.image.recognizableImageTypes,function(b){return b.marker.test(a)});return c? -c.type:"unknown"}function h(a){var c=-1!==CKEDITOR.tools.array.indexOf(CKEDITOR.pasteFilters.image.supportedImageTypes,a.type),b=a.hex;if(!c)return null;"string"===typeof b&&(b=CKEDITOR.tools.convertHexStringToBytes(a.hex));return a.type?"data:"+a.type+";base64,"+CKEDITOR.tools.convertBytesToBase64(b):null}function m(a){return new CKEDITOR.tools.promise(function(c){CKEDITOR.ajax.load(a,function(a){a=new Uint8Array(a);var e=t(a);a=h({type:e,hex:a});c(a)},"arraybuffer")})}function t(a){a=a.subarray(0, -4);var c=CKEDITOR.tools.array.map(a,function(a){return a.toString(16)}).join("");return(a=CKEDITOR.tools.array.find(CKEDITOR.pasteFilters.image.recognizableImageSignatures,function(a){return 0===c.indexOf(a.signature)}))?a.type:null}CKEDITOR.pasteFilters.image=function(a,c,b){var e;if(c.activeFilter&&!c.activeFilter.check("img[src]"))return a;e=q(a);return 0===e.length?a:b?u(a,b,e):v(c,a,e)};CKEDITOR.pasteFilters.image.extractFromRtf=l;CKEDITOR.pasteFilters.image.extractTagsFromHtml=q;CKEDITOR.pasteFilters.image.getImageType= -r;CKEDITOR.pasteFilters.image.createSrcWithBase64=h;CKEDITOR.pasteFilters.image.convertBlobUrlToBase64=m;CKEDITOR.pasteFilters.image.getImageTypeFromSignature=t;CKEDITOR.pasteFilters.image.supportedImageTypes=["image/png","image/jpeg","image/gif"];CKEDITOR.pasteFilters.image.recognizableImageTypes=[{marker:/\\pngblip/,type:"image/png"},{marker:/\\jpegblip/,type:"image/jpeg"},{marker:/\\emfblip/,type:"image/emf"},{marker:/\\wmetafile\d/,type:"image/wmf"}];CKEDITOR.pasteFilters.image.recognizableImageSignatures= -[{signature:"ffd8ff",type:"image/jpeg"},{signature:"47494638",type:"image/gif"},{signature:"89504e47",type:"image/png"}]})(); \ No newline at end of file +function l(a){function c(a){return"string"!==typeof a?-1:CKEDITOR.tools.array.indexOf(d,function(b){return b.id===a})}function b(a){var b=a.match(/\\blipuid (\w+)\}/);a=a.match(/\\bliptag(-?\d+)/);return b?b[1]:a?a[1]:null}var e=CKEDITOR.plugins.pastetools.filters.common.rtf,d=[];a=e.removeGroups(a,"(?:(?:header|footer)[lrf]?|nonshppict|shprslt)");a=e.getGroups(a,"pict");if(!a)return d;for(var k=0;k]+src="([^"]+)[^>]+/g,b=[],e;e=c.exec(a);)b.push(e[1]);return b}function t(a){var c=CKEDITOR.tools.array.find(CKEDITOR.pasteFilters.image.recognizableImageTypes, +function(b){return b.marker.test(a)});return c?c.type:"unknown"}function h(a){var c=-1!==CKEDITOR.tools.array.indexOf(CKEDITOR.pasteFilters.image.supportedImageTypes,a.type),b=a.hex;if(!c)return null;"string"===typeof b&&(b=CKEDITOR.tools.convertHexStringToBytes(a.hex));return a.type?"data:"+a.type+";base64,"+CKEDITOR.tools.convertBytesToBase64(b):null}function m(a){return new CKEDITOR.tools.promise(function(c){CKEDITOR.ajax.load(a,function(a){a=new Uint8Array(a);var e=r(a);a=h({type:e,hex:a});c(a)}, +"arraybuffer")})}function r(a){a=a.subarray(0,4);var c=CKEDITOR.tools.array.map(a,function(a){return a.toString(16)}).join("");return(a=CKEDITOR.tools.array.find(CKEDITOR.pasteFilters.image.recognizableImageSignatures,function(a){return 0===c.indexOf(a.signature)}))?a.type:null}CKEDITOR.pasteFilters.image=function(a,c,b){var e;if(c.activeFilter&&!c.activeFilter.check("img[src]"))return a;e=q(a);return 0===e.length?a:b?u(a,b,e):v(c,a,e)};CKEDITOR.pasteFilters.image.extractFromRtf=l;CKEDITOR.pasteFilters.image.extractTagsFromHtml= +q;CKEDITOR.pasteFilters.image.getImageType=t;CKEDITOR.pasteFilters.image.createSrcWithBase64=h;CKEDITOR.pasteFilters.image.convertBlobUrlToBase64=m;CKEDITOR.pasteFilters.image.getImageTypeFromSignature=r;CKEDITOR.pasteFilters.image.supportedImageTypes=["image/png","image/jpeg","image/gif"];CKEDITOR.pasteFilters.image.recognizableImageTypes=[{marker:/\\pngblip/,type:"image/png"},{marker:/\\jpegblip/,type:"image/jpeg"},{marker:/\\emfblip/,type:"image/emf"},{marker:/\\wmetafile\d/,type:"image/wmf"}]; +CKEDITOR.pasteFilters.image.recognizableImageSignatures=[{signature:"ffd8ff",type:"image/jpeg"},{signature:"47494638",type:"image/gif"},{signature:"89504e47",type:"image/png"}]})(); \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt deleted file mode 100644 index 48472fb914..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - -cs.js Found: 118 Missing: 0 -cy.js Found: 118 Missing: 0 -de.js Found: 118 Missing: 0 -el.js Found: 16 Missing: 102 -eo.js Found: 118 Missing: 0 -et.js Found: 31 Missing: 87 -fa.js Found: 24 Missing: 94 -fi.js Found: 23 Missing: 95 -fr.js Found: 118 Missing: 0 -hr.js Found: 23 Missing: 95 -it.js Found: 118 Missing: 0 -nb.js Found: 118 Missing: 0 -nl.js Found: 118 Missing: 0 -no.js Found: 118 Missing: 0 -tr.js Found: 118 Missing: 0 -ug.js Found: 39 Missing: 79 -zh-cn.js Found: 118 Missing: 0 diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/af.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/af.js index 5407963303..723edfbc82 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/af.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/af.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","af",{euro:"Euroteken",lsquo:"Linker enkelkwotasie",rsquo:"Regter enkelkwotasie",ldquo:"Linker dubbelkwotasie",rdquo:"Regter dubbelkwotasie",ndash:"Kortkoppelteken",mdash:"Langkoppelteken",iexcl:"Omgekeerdeuitroepteken",cent:"Centteken",pound:"Pondteken",curren:"Geldeenheidteken",yen:"Yenteken",brvbar:"Gebreekte balk",sect:"Afdeelingsteken",uml:"Deelteken",copy:"Kopieregteken",ordf:"Vroulikekenteken",laquo:"Linkgeoorienteerde aanhaalingsteken",not:"Verbodeteken", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ar.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ar.js index 4e1860beac..8b2f32dd62 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ar.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ar.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","ar",{euro:"رمز اليورو",lsquo:"علامة تنصيص فردية علي اليسار",rsquo:"علامة تنصيص فردية علي اليمين",ldquo:"علامة تنصيص مزدوجة علي اليسار",rdquo:"علامة تنصيص مزدوجة علي اليمين",ndash:"En dash",mdash:"Em dash",iexcl:"علامة تعجب مقلوبة",cent:"رمز السنت",pound:"رمز الاسترليني",curren:"رمز العملة",yen:"رمز الين",brvbar:"شريط مقطوع",sect:"رمز القسم",uml:"Diaeresis",copy:"علامة حقوق الطبع",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/az.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/az.js index 36eb1974d8..c9394a7505 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/az.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/az.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","az",{euro:"Avropa valyuta işarəsi",lsquo:"Sol tək dırnaq işarəsi",rsquo:"Sağ tək dırnaq işarəsi",ldquo:"Sol cüt dırnaq işarəsi",rdquo:"Sağ cüt dırnaq işarəsi",ndash:"Çıxma işarəsi",mdash:"Tire",iexcl:"Çevrilmiş nida işarəsi",cent:"Sent işarəsi",pound:"Funt sterlinq işarəsi",curren:"Valyuta işarəsi",yen:"İena işarəsi",brvbar:"Sınmış zolaq",sect:"Paraqraf işarəsi",uml:"Umlyaut",copy:"Müəllif hüquqları haqqında işarəsi",ordf:"Qadın sıra indikatoru (a)",laquo:"Sola göstərən cüt bucaqlı dırnaq", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/bg.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/bg.js index 04b865efef..7992484055 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/bg.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/bg.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","bg",{euro:"Евро знак",lsquo:"Лява маркировка за цитат",rsquo:"Дясна маркировка за цитат",ldquo:"Лява двойна кавичка за цитат",rdquo:"Дясна двойна кавичка за цитат",ndash:"\\\\",mdash:"/",iexcl:"Обърната питанка",cent:"Знак за цент",pound:"Знак за паунд",curren:"Валутен знак",yen:"Знак за йена",brvbar:"Прекъсната линия",sect:"Знак за секция",uml:"Diaeresis",copy:"Знак за Copyright",ordf:"Женски ординарен индикатор",laquo:"Знак с двоен ъгъл за означаване на лява посока", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ca.js index 6e91bc7e63..4260013612 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ca.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ca.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","ca",{euro:"Símbol d'euro",lsquo:"Signe de cometa simple esquerra",rsquo:"Signe de cometa simple dreta",ldquo:"Signe de cometa doble esquerra",rdquo:"Signe de cometa doble dreta",ndash:"Guió",mdash:"Guió baix",iexcl:"Signe d'exclamació inversa",cent:"Símbol de percentatge",pound:"Símbol de lliura",curren:"Símbol de moneda",yen:"Símbol de Yen",brvbar:"Barra trencada",sect:"Símbol de secció",uml:"Dièresi",copy:"Símbol de Copyright",ordf:"Indicador ordinal femení", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/cs.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/cs.js index 77f3bec533..37fc25702c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/cs.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/cs.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","cs",{euro:"Znak eura",lsquo:"Počáteční uvozovka jednoduchá",rsquo:"Koncová uvozovka jednoduchá",ldquo:"Počáteční uvozovka dvojitá",rdquo:"Koncová uvozovka dvojitá",ndash:"En pomlčka",mdash:"Em pomlčka",iexcl:"Obrácený vykřičník",cent:"Znak centu",pound:"Znak libry",curren:"Znak měny",yen:"Znak jenu",brvbar:"Přerušená svislá čára",sect:"Znak oddílu",uml:"Přehláska",copy:"Znak copyrightu",ordf:"Ženský indikátor rodu",laquo:"Znak dvojitých lomených uvozovek vlevo", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/cy.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/cy.js index d5a32e7f63..0ef8b53898 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/cy.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/cy.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","cy",{euro:"Arwydd yr Ewro",lsquo:"Dyfynnod chwith unigol",rsquo:"Dyfynnod dde unigol",ldquo:"Dyfynnod chwith dwbl",rdquo:"Dyfynnod dde dwbl",ndash:"Cysylltnod en",mdash:"Cysylltnod em",iexcl:"Ebychnod gwrthdro",cent:"Arwydd sent",pound:"Arwydd punt",curren:"Arwydd arian cyfred",yen:"Arwydd yen",brvbar:"Bar toriedig",sect:"Arwydd adran",uml:"Didolnod",copy:"Arwydd hawlfraint",ordf:"Dangosydd benywaidd",laquo:"Dyfynnod dwbl ar ongl i'r chwith",not:"Arwydd Nid", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/da.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/da.js index 42c60ff743..70bdbb6032 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/da.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/da.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","da",{euro:"Euro-tegn",lsquo:"Venstre enkelt anførselstegn",rsquo:"Højre enkelt anførselstegn",ldquo:"Venstre dobbelt anførselstegn",rdquo:"Højre dobbelt anførselstegn",ndash:"Bindestreg",mdash:"Tankestreg",iexcl:"Omvendt udråbstegn",cent:"Cent-tegn",pound:"Pund-tegn",curren:"Valuta-tegn",yen:"Yen-tegn",brvbar:"Brudt streg",sect:"Paragraftegn",uml:"Umlaut",copy:"Copyright-tegn",ordf:"Feminin ordinal indikator",laquo:"Venstre dobbel citations-vinkel",not:"Negation", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js index 7dfa0ca618..3c2971b909 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js @@ -1,12 +1,12 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("specialchar","de-ch",{euro:"Euro Zeichen",lsquo:"Hochkomma links",rsquo:"Hochkomma rechts",ldquo:"Anführungszeichen links",rdquo:"Anführungszeichen rechts",ndash:"Kleiner Strich",mdash:"Mittlerer Strich",iexcl:"Invertiertes Ausrufezeichen",cent:"Cent-Zeichen",pound:"Pfund-Zeichen",curren:"Währungszeichen",yen:"Yen",brvbar:"Gestrichelte Linie",sect:"Paragrafenzeichen",uml:"Diäresis",copy:"Copyright-Zeichen",ordf:"Feminine ordinal Anzeige",laquo:"Nach links zeigenden Doppel-Winkel Anführungszeichen", -not:"Not-Zeichen",reg:"Registriert-Zeichen",macr:"Längezeichen",deg:"Grad-Zeichen",sup2:"Hoch 2",sup3:"Hoch 3",acute:"Akzentzeichen ",micro:"Mikro-Zeichen",para:"Pilcrow-Zeichen",middot:"Mittelpunkt",cedil:"Cedilla",sup1:"Hoch 1",ordm:"Männliche Ordnungszahl Anzeige",raquo:"Nach rechts zeigenden Doppel-Winkel Anführungszeichen",frac14:"ein Viertel",frac12:"Hälfte",frac34:"Dreiviertel",iquest:"Umgekehrtes Fragezeichen",Agrave:"Lateinischer Buchstabe A mit AkzentGrave",Aacute:"Lateinischer Buchstabe A mit Akutakzent", -Acirc:"Lateinischer Buchstabe A mit Zirkumflex",Atilde:"Lateinischer Buchstabe A mit Tilde",Auml:"Lateinischer Buchstabe A mit Trema",Aring:"Lateinischer Buchstabe A mit Ring oben",AElig:"Lateinischer Buchstabe Æ",Ccedil:"Lateinischer Buchstabe C mit Cedille",Egrave:"Lateinischer Buchstabe E mit AkzentGrave",Eacute:"Lateinischer Buchstabe E mit Akutakzent",Ecirc:"Lateinischer Buchstabe E mit Zirkumflex",Euml:"Lateinischer Buchstabe E Trema",Igrave:"Lateinischer Buchstabe I mit AkzentGrave",Iacute:"Lateinischer Buchstabe I mit Akutakzent", -Icirc:"Lateinischer Buchstabe I mit Zirkumflex",Iuml:"Lateinischer Buchstabe I mit Trema",ETH:"Lateinischer Buchstabe Eth",Ntilde:"Lateinischer Buchstabe N mit Tilde",Ograve:"Lateinischer Buchstabe O mit AkzentGrave",Oacute:"Lateinischer Buchstabe O mit Akutakzent",Ocirc:"Lateinischer Buchstabe O mit Zirkumflex",Otilde:"Lateinischer Buchstabe O mit Tilde",Ouml:"Lateinischer Buchstabe O mit Trema",times:"Multiplikation",Oslash:"Lateinischer Buchstabe O durchgestrichen",Ugrave:"Lateinischer Buchstabe U mit Akzentgrave", -Uacute:"Lateinischer Buchstabe U mit Akutakzent",Ucirc:"Lateinischer Buchstabe U mit Zirkumflex",Uuml:"Lateinischer Buchstabe a mit Trema",Yacute:"Lateinischer Buchstabe a mit Akzent",THORN:"Lateinischer Buchstabe mit Dorn",szlig:"Kleiner lateinischer Buchstabe scharfe s",agrave:"Kleiner lateinischer Buchstabe a mit Accent grave",aacute:"Kleiner lateinischer Buchstabe a mit Akut",acirc:"Lateinischer Buchstabe a mit Zirkumflex",atilde:"Lateinischer Buchstabe a mit Tilde",auml:"Kleiner lateinischer Buchstabe a mit Trema", +CKEDITOR.plugins.setLang("specialchar","de-ch",{euro:"Euro-Zeichen",lsquo:"Hochkomma links",rsquo:"Hochkomma rechts",ldquo:"Anführungszeichen links",rdquo:"Anführungszeichen rechts",ndash:"Kleiner Strich",mdash:"Mittlerer Strich",iexcl:"Invertiertes Ausrufezeichen",cent:"Cent-Zeichen",pound:"Pfund-Zeichen",curren:"Währungszeichen",yen:"Yen",brvbar:"Gestrichelte Linie",sect:"Paragrafenzeichen",uml:"Diäresis",copy:"Copyright-Zeichen",ordf:"Feminine ordinal Anzeige",laquo:"Nach links zeigenden Doppel-Winkel Anführungszeichen", +not:"Not-Zeichen",reg:"Registriert-Zeichen",macr:"Längezeichen",deg:"Grad-Zeichen",sup2:"Hoch 2",sup3:"Hoch 3",acute:"Akzentzeichen ",micro:"Mikro-Zeichen",para:"Pilcrow-Zeichen",middot:"Mittelpunkt",cedil:"Cedilla",sup1:"Hoch 1",ordm:"Männliche Ordnungszahl Anzeige",raquo:"Nach rechts zeigenden Doppel-Winkel Anführungszeichen",frac14:"ein Viertel",frac12:"Hälfte",frac34:"Dreiviertel",iquest:"Umgekehrtes Fragezeichen",Agrave:"Lateinischer Buchstabe A mit Accent grave",Aacute:"Lateinischer Buchstabe A mit Akutakzent", +Acirc:"Lateinischer Buchstabe A mit Zirkumflex",Atilde:"Lateinischer Buchstabe A mit Tilde",Auml:"Lateinischer Buchstabe A mit Trema",Aring:"Lateinischer Buchstabe A mit Ring oben",AElig:"Lateinischer Buchstabe Æ",Ccedil:"Lateinischer Buchstabe C mit Cedille",Egrave:"Lateinischer Buchstabe E mit Accent grave",Eacute:"Lateinischer Buchstabe E mit Akutakzent",Ecirc:"Lateinischer Buchstabe E mit Zirkumflex",Euml:"Lateinischer Buchstabe E Trema",Igrave:"Lateinischer Buchstabe I mit Accent grave",Iacute:"Lateinischer Buchstabe I mit Akutakzent", +Icirc:"Lateinischer Buchstabe I mit Zirkumflex",Iuml:"Lateinischer Buchstabe I mit Trema",ETH:"Lateinischer Buchstabe Eth",Ntilde:"Lateinischer Buchstabe N mit Tilde",Ograve:"Lateinischer Buchstabe O mit Accent grave",Oacute:"Lateinischer Buchstabe O mit Akutakzent",Ocirc:"Lateinischer Buchstabe O mit Zirkumflex",Otilde:"Lateinischer Buchstabe O mit Tilde",Ouml:"Lateinischer Buchstabe O mit Trema",times:"Multiplikation",Oslash:"Lateinischer Buchstabe O durchgestrichen",Ugrave:"Lateinischer Buchstabe U mit Accent grave", +Uacute:"Lateinischer Buchstabe U mit Akutakzent",Ucirc:"Lateinischer Buchstabe U mit Zirkumflex",Uuml:"Lateinischer Buchstabe a mit Trema",Yacute:"Lateinischer Buchstabe a mit Akzent",THORN:"Lateinischer Buchstabe mit Dorn",szlig:"Kleiner lateinischer Buchstabe scharfem s",agrave:"Kleiner lateinischer Buchstabe a mit Accent grave",aacute:"Kleiner lateinischer Buchstabe a mit Akut",acirc:"Lateinischer Buchstabe a mit Zirkumflex",atilde:"Lateinischer Buchstabe a mit Tilde",auml:"Kleiner lateinischer Buchstabe a mit Trema", aring:"Kleiner lateinischer Buchstabe a mit Ring oben",aelig:"Lateinischer Buchstabe æ",ccedil:"Kleiner lateinischer Buchstabe c mit Cedille",egrave:"Kleiner lateinischer Buchstabe e mit Accent grave",eacute:"Kleiner lateinischer Buchstabe e mit Akut",ecirc:"Kleiner lateinischer Buchstabe e mit Zirkumflex",euml:"Kleiner lateinischer Buchstabe e mit Trema",igrave:"Kleiner lateinischer Buchstabe i mit AkzentGrave",iacute:"Kleiner lateinischer Buchstabe i mit Akzent",icirc:"Kleiner lateinischer Buchstabe i mit Zirkumflex", iuml:"Kleiner lateinischer Buchstabe i mit Trema",eth:"Kleiner lateinischer Buchstabe eth",ntilde:"Kleiner lateinischer Buchstabe n mit Tilde",ograve:"Kleiner lateinischer Buchstabe o mit Accent grave",oacute:"Kleiner lateinischer Buchstabe o mit Akzent",ocirc:"Kleiner lateinischer Buchstabe o mit Zirkumflex",otilde:"Lateinischer Buchstabe i mit Tilde",ouml:"Kleiner lateinischer Buchstabe o mit Trema",divide:"Divisionszeichen",oslash:"Kleiner lateinischer Buchstabe o durchgestrichen",ugrave:"Kleiner lateinischer Buchstabe u mit Accent grave", uacute:"Kleiner lateinischer Buchstabe u mit Akut",ucirc:"Kleiner lateinischer Buchstabe u mit Zirkumflex",uuml:"Kleiner lateinischer Buchstabe u mit Trema",yacute:"Kleiner lateinischer Buchstabe y mit Akut",thorn:"Kleiner lateinischer Buchstabe Dorn",yuml:"Kleiner lateinischer Buchstabe y mit Trema",OElig:"Lateinischer Buchstabe Ligatur OE",oelig:"Kleiner lateinischer Buchstabe Ligatur OE",372:"Lateinischer Buchstabe W mit Zirkumflex",374:"Lateinischer Buchstabe Y mit Zirkumflex",373:"Kleiner lateinischer Buchstabe w mit Zirkumflex", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/de.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/de.js index c651a12815..1049dc5a12 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/de.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/de.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","de",{euro:"Euro Zeichen",lsquo:"Hochkomma links",rsquo:"Hochkomma rechts",ldquo:"Anführungszeichen links",rdquo:"Anführungszeichen rechts",ndash:"Kleiner Strich",mdash:"Mittlerer Strich",iexcl:"Invertiertes Ausrufezeichen",cent:"Cent-Zeichen",pound:"Pfund-Zeichen",curren:"Währungszeichen",yen:"Yen",brvbar:"Gestrichelte Linie",sect:"Paragrafenzeichen",uml:"Diäresis",copy:"Copyright-Zeichen",ordf:"Feminine ordinal Anzeige",laquo:"Nach links zeigenden Doppel-Winkel Anführungszeichen", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/el.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/el.js index 9edbf9631b..4806df2dd8 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/el.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/el.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","el",{euro:"Σύμβολο Ευρώ",lsquo:"Αριστερός χαρακτήρας μονού εισαγωγικού",rsquo:"Δεξιός χαρακτήρας μονού εισαγωγικού",ldquo:"Αριστερός χαρακτήρας ευθύγραμμων εισαγωγικών",rdquo:"Δεξιός χαρακτήρας ευθύγραμμων εισαγωγικών",ndash:"Παύλα en",mdash:"Παύλα em",iexcl:"Ανάποδο θαυμαστικό",cent:"Σύμβολο σεντ",pound:"Σύμβολο λίρας",curren:"Σύμβολο συναλλαγματικής μονάδας",yen:"Σύμβολο Γιεν",brvbar:"Σπασμένη μπάρα",sect:"Σύμβολο τμήματος",uml:"Διαίρεση",copy:"Σύμβολο πνευματικών δικαιωμάτων", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-au.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-au.js index 6d0e8a0b7d..4ed21df579 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-au.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-au.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","en-au",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js index 1172cf2120..6c1965723b 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","en-ca",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js index 7e03bd9384..72e7b20491 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","en-gb",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en.js index 6e6b4d080f..34271901d7 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/en.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","en",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/eo.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/eo.js index 455a199533..e9113c866c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/eo.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/eo.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","eo",{euro:"Eŭrosigno",lsquo:"Supra 6-citilo",rsquo:"Supra 9-citilo",ldquo:"Supra 66-citilo",rdquo:"Supra 99-citilo",ndash:"Streketo",mdash:"Substreko",iexcl:"Renversita krisigno",cent:"Cendosigno",pound:"Pundosigno",curren:"Monersigno",yen:"Enosigno",brvbar:"Rompita vertikala streko",sect:"Kurba paragrafo",uml:"Tremao",copy:"Kopirajtosigno",ordf:"Adjektiva numerfinaĵo",laquo:"Duobla malplio-citilo",not:"Negohoko",reg:"Registrita marko",macr:"Superstreko",deg:"Gradosigno", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js index 945e0976ed..06813fa5ed 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","es-mx",{euro:"Signo de Euro",lsquo:"Comillas simple izquierda",rsquo:"Comillas simple derecha",ldquo:"Comillas dobles izquierda",rdquo:"Comillas dobles derecha",ndash:"Guión corto",mdash:"Guión largo",iexcl:"Signo de exclamación invertido",cent:"Signo de centavo",pound:"Signo de Libra",curren:"Signo de moneda",yen:"Signo de Yen",brvbar:"Barra rota",sect:"Signo de la sección",uml:"Diéresis",copy:"Signo de Derechos reservados",ordf:"Indicador ordinal femenino", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/es.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/es.js index 8ca2e838b9..f6c52dd7aa 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/es.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/es.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","es",{euro:"Símbolo de euro",lsquo:"Comilla simple izquierda",rsquo:"Comilla simple derecha",ldquo:"Comilla doble izquierda",rdquo:"Comilla doble derecha",ndash:"Guión corto",mdash:"Guión medio largo",iexcl:"Signo de admiración invertido",cent:"Símbolo centavo",pound:"Símbolo libra",curren:"Símbolo moneda",yen:"Símbolo yen",brvbar:"Barra vertical rota",sect:"Símbolo sección",uml:"Diéresis",copy:"Signo de derechos de autor",ordf:"Indicador ordinal femenino",laquo:"Abre comillas angulares", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/et.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/et.js index d4120b321d..e415c948f9 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/et.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/et.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","et",{euro:"Euromärk",lsquo:"Alustav ühekordne jutumärk",rsquo:"Lõpetav ühekordne jutumärk",ldquo:"Alustav kahekordne jutumärk",rdquo:"Lõpetav kahekordne jutumärk",ndash:"Enn-kriips",mdash:"Emm-kriips",iexcl:"Pööratud hüüumärk",cent:"Sendimärk",pound:"Naela märk",curren:"Valuutamärk",yen:"Jeeni märk",brvbar:"Katkestatud kriips",sect:"Lõigu märk",uml:"Täpid",copy:"Autoriõiguse märk",ordf:"Naissoost järjestuse märk",laquo:"Alustav kahekordne nurk jutumärk",not:"Ei-märk", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/eu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/eu.js index 7a5e8e6576..0d03118a8c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/eu.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/eu.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","eu",{euro:"Euro zeinua",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Libera zeinua",curren:"Currency sign",yen:"Yen zeinua",brvbar:"Broken bar",sect:"Section sign",uml:"Dieresia",copy:"Copyright zeinua",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fa.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fa.js index 93deeb0b20..fac1a2c7b7 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fa.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fa.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","fa",{euro:"نشان یورو",lsquo:"علامت نقل قول تکی چپ",rsquo:"علامت نقل قول تکی راست",ldquo:"علامت نقل قول دوتایی چپ",rdquo:"علامت نقل قول دوتایی راست",ndash:"خط تیره En",mdash:"خط تیره Em",iexcl:"علامت تعجب وارونه",cent:"نشان سنت",pound:"نشان پوند",curren:"نشان ارز",yen:"نشان ین",brvbar:"نوار شکسته",sect:"نشان بخش",uml:"نشان سواگیری",copy:"نشان کپی رایت",ordf:"شاخص ترتیبی مونث",laquo:"اشاره چپ مکرر برای زاویه علامت نقل قول",not:"نشان ثبت نشده",reg:"نشان ثبت شده", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fi.js index b97768e709..e5bd90a8b5 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fi.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fi.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","fi",{euro:"Euron merkki",lsquo:"Vasen yksittäinen lainausmerkki",rsquo:"Oikea yksittäinen lainausmerkki",ldquo:"Vasen kaksoislainausmerkki",rdquo:"Oikea kaksoislainausmerkki",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Sentin merkki",pound:"Punnan merkki",curren:"Valuuttamerkki",yen:"Yenin merkki",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js index a22ab4e1b3..a8c47e855b 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","fr-ca",{euro:"Symbole Euro",lsquo:"Guillemet simple ouvrant",rsquo:"Guillemet simple fermant",ldquo:"Guillemet double ouvrant",rdquo:"Guillemet double fermant",ndash:"Tiret haut",mdash:"Tiret",iexcl:"Point d'exclamation inversé",cent:"Symbole de cent",pound:"Symbole de Livre Sterling",curren:"Symbole monétaire",yen:"Symbole du Yen",brvbar:"Barre scindée",sect:"Symbole de section",uml:"Tréma",copy:"Symbole de copyright",ordf:"Indicateur ordinal féminin",laquo:"Guillemet français ouvrant", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fr.js index c9335151af..52494e3413 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fr.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/fr.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","fr",{euro:"Symbole euro",lsquo:"Guillemet simple ouvrant",rsquo:"Guillemet simple fermant",ldquo:"Guillemet double ouvrant",rdquo:"Guillemet double fermant",ndash:"Tiret demi-cadratin",mdash:"Tiret cadratin",iexcl:"Point d'exclamation inversé",cent:"Symbole cent",pound:"Symbole Livre sterling",curren:"Symbole monétaire",yen:"Symbole yen",brvbar:"Barre verticale scindée",sect:"Signe de section",uml:"Tréma",copy:"Symbole Copyright",ordf:"Indicateur ordinal féminin", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/gl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/gl.js index 9743aff220..e9f972ffa1 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/gl.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/gl.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","gl",{euro:"Símbolo do euro",lsquo:"Comiña simple esquerda",rsquo:"Comiña simple dereita",ldquo:"Comiñas dobres esquerda",rdquo:"Comiñas dobres dereita",ndash:"Guión",mdash:"Raia",iexcl:"Signo de admiración invertido",cent:"Símbolo do centavo",pound:"Símbolo da libra",curren:"Símbolo de moeda",yen:"Símbolo do yen",brvbar:"Barra vertical rota",sect:"Símbolo de sección",uml:"Diérese",copy:"Símbolo de dereitos de autoría",ordf:"Indicador ordinal feminino",laquo:"Comiñas latinas, apertura", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/he.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/he.js index 0214d2ab8e..3b2cc330e2 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/he.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/he.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","he",{euro:"יורו",lsquo:"סימן ציטוט יחיד שמאלי",rsquo:"סימן ציטוט יחיד ימני",ldquo:"סימן ציטוט כפול שמאלי",rdquo:"סימן ציטוט כפול ימני",ndash:"קו מפריד קצר",mdash:"קו מפריד ארוך",iexcl:"סימן קריאה הפוך",cent:"סנט",pound:"פאונד",curren:"מטבע",yen:"ין",brvbar:"קו שבור",sect:"סימן מקטע",uml:"שתי נקודות אופקיות (Diaeresis)",copy:"סימן זכויות יוצרים (Copyright)",ordf:"סימן אורדינאלי נקבי",laquo:"סימן ציטוט זווית כפולה לשמאל",not:"סימן שלילה מתמטי",reg:"סימן רשום", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/hr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/hr.js index 0f755bd3dc..638b063cf8 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/hr.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/hr.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","hr",{euro:"Euro znak",lsquo:"Lijevi jednostruki navodnik",rsquo:"Desni jednostruki navodnik",ldquo:"Lijevi dvostruki navodnik",rdquo:"Desni dvostruki navodnik",ndash:"En crtica",mdash:"Em crtica",iexcl:"Naopaki uskličnik",cent:"Cent znak",pound:"Funta znak",curren:"Znak valute",yen:"Yen znak",brvbar:"Potrgana prečka",sect:"Znak odjeljka",uml:"Prijeglasi",copy:"Copyright znak",ordf:"Ženska redna oznaka",laquo:"Lijevi dvostruki uglati navodnik",not:"Not znak", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/hu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/hu.js index 340a42a549..e26b31f0d8 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/hu.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/hu.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","hu",{euro:"Euró jel",lsquo:"Bal szimpla idézőjel",rsquo:"Jobb szimpla idézőjel",ldquo:"Bal dupla idézőjel",rdquo:"Jobb dupla idézőjel",ndash:"Rövid gondolatjel",mdash:"Hosszú gondolatjel",iexcl:"Fordított felkiáltójel",cent:"Cent jel",pound:"Font jel",curren:"Valuta jel",yen:"Yen jel",brvbar:"Hosszú kettőspont",sect:"Paragrafus jel",uml:"Kettős hangzó jel",copy:"Szerzői jog jel",ordf:"Női sorrend mutatója",laquo:"Balra mutató duplanyíl",not:"Feltételes kötőjel", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/id.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/id.js index f2c02cacd3..2f1cc7533e 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/id.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/id.js @@ -1,13 +1,13 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ -CKEDITOR.plugins.setLang("specialchar","id",{euro:"Tanda Euro",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Tanda Yen",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Tanda Hak Cipta",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", -not:"Not sign",reg:"Tanda Telah Terdaftar",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", -Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", -Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", -Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", -aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", -ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", -yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", -trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file +CKEDITOR.plugins.setLang("specialchar","id",{euro:"Tanda Euro",lsquo:"Tanda kutip tunggal kiri",rsquo:"Tanda kutip tunggal kanan",ldquo:"Tanda kutip ganda kiri",rdquo:"Tanda kutip ganda kanan",ndash:"Tanda hubung",mdash:"Sisipan",iexcl:"Tanda seru terbalik",cent:"Tanda cent",pound:"Tanda pound",curren:"Tanda mata uang",yen:"Tanda Yen",brvbar:"Broken bar",sect:"Penanda bagian",uml:"Diaeresis",copy:"Tanda Hak Cipta",ordf:"Indikator ordinal feminin",laquo:"Tanda kutip sudut ganda mengarah ke kiri",not:"Bukan tanda", +reg:"Tanda Telah Terdaftar",macr:"Garis makron",deg:"Tanda derajat",sup2:"Superskrip dua",sup3:"Superskrip tiga",acute:"Aksen akut",micro:"Tanda mikro",para:"Tanda Pilcrow",middot:"Titik tengah",cedil:"Cedilla",sup1:"Superskrip satu",ordm:"Indikator ordinal maskulin",raquo:"Tanda kutip sudut ganda menunjuk ke kanan",frac14:"Bilangan Pecahan seperempat",frac12:"Bilangan Pecahan setengah",frac34:"Bilangan Pecahan tigaperempat",iquest:"Tanda baca terbalik",Agrave:"Huruf kapital Latin A dengan aksen grave", +Aacute:"Huruf kapital Latin A dengan aksen acute",Acirc:"Huruf kapital Latin A dengan circumflex",Atilde:"Huruf kapital Latin A dengan tilde",Auml:"Huruf kapital Latin A dengan diaeresis",Aring:"Huruf kapital Latin A dengan cincin di atas",AElig:"huruf kapital latin Æ",Ccedil:"Huruf kapital latin C dengan cedilla",Egrave:"Huruf kapital Latin E dengan aksen grave",Eacute:"Huruf kapital Latin E dengan aksen acute",Ecirc:"Huruf kapital Latin E dengan circumflex",Euml:"Latin capital letter E with diaeresis", +Igrave:"Latin capital letter I with grave accent",Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis", +times:"Tanda perkalian",Oslash:"Latin capital letter O with stroke",Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex", +atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis",aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex", +iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth",ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Tanda bagi",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex", +uuml:"Latin small letter u with diaeresis",yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark", +hellip:"Horizontal ellipsis",trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/it.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/it.js index 66704da95f..613c627330 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/it.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/it.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","it",{euro:"Simbolo Euro",lsquo:"Virgoletta singola sinistra",rsquo:"Virgoletta singola destra",ldquo:"Virgolette aperte",rdquo:"Virgolette chiuse",ndash:"Trattino",mdash:"Trattino lungo",iexcl:"Punto esclavamativo invertito",cent:"Simbolo Cent",pound:"Simbolo Sterlina",curren:"Simbolo Moneta",yen:"Simbolo Yen",brvbar:"Barra interrotta",sect:"Simbolo di sezione",uml:"Dieresi",copy:"Simbolo Copyright",ordf:"Indicatore ordinale femminile",laquo:"Virgolette basse aperte", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ja.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ja.js index e5db92e78e..ab3eff06ee 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ja.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ja.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","ja",{euro:"ユーロ記号",lsquo:"左シングル引用符",rsquo:"右シングル引用符",ldquo:"左ダブル引用符",rdquo:"右ダブル引用符",ndash:"半角ダッシュ",mdash:"全角ダッシュ",iexcl:"逆さ感嘆符",cent:"セント記号",pound:"ポンド記号",curren:"通貨記号",yen:"円記号",brvbar:"上下に分かれた縦棒",sect:"節記号",uml:"分音記号(ウムラウト)",copy:"著作権表示記号",ordf:"女性序数標識",laquo:" 始め二重山括弧引用記号",not:"論理否定記号",reg:"登録商標記号",macr:"長音符",deg:"度記号",sup2:"上つき2, 2乗",sup3:"上つき3, 3乗",acute:"揚音符",micro:"ミクロン記号",para:"段落記号",middot:"中黒",cedil:"セディラ",sup1:"上つき1",ordm:"男性序数標識",raquo:"終わり二重山括弧引用記号", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/km.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/km.js index d5e5f02a2b..da2a4a37cc 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/km.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/km.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","km",{euro:"សញ្ញា​អឺរ៉ូ",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"សញ្ញា​សេន",pound:"សញ្ញា​ផោន",curren:"សញ្ញា​រូបិយបណ្ណ",yen:"សញ្ញា​យ៉េន",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"សញ្ញា​រក្សា​សិទ្ធិ",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ko.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ko.js index e85a82be6a..05e505eb1e 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ko.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ko.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","ko",{euro:"유로화 기호",lsquo:"왼쪽 외 따옴표",rsquo:"오른쪽 외 따옴표",ldquo:"왼쪽 쌍 따옴표",rdquo:"오른쪽 쌍 따옴표",ndash:"반각 대시",mdash:"전각 대시",iexcl:"반전된 느낌표",cent:"센트 기호",pound:"파운드화 기호",curren:"커런시 기호",yen:"위안화 기호",brvbar:"파선",sect:"섹션 기호",uml:"분음 부호",copy:"저작권 기호",ordf:"Feminine ordinal indicator",laquo:"왼쪽 쌍꺽쇠 인용 부호",not:"금지 기호",reg:"등록 기호",macr:"장음 기호",deg:"도 기호",sup2:"위첨자 2",sup3:"위첨자 3",acute:"양음 악센트 부호",micro:"마이크로 기호",para:"단락 기호",middot:"가운데 점",cedil:"세디유",sup1:"위첨자 1",ordm:"Masculine ordinal indicator", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ku.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ku.js index 3580138535..fb27cce38f 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ku.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ku.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","ku",{euro:"نیشانەی یۆرۆ",lsquo:"نیشانەی فاریزەی سەرووژێری تاکی چەپ",rsquo:"نیشانەی فاریزەی سەرووژێری تاکی ڕاست",ldquo:"نیشانەی فاریزەی سەرووژێری دووهێندەی چه‌پ",rdquo:"نیشانەی فاریزەی سەرووژێری دووهێندەی ڕاست",ndash:"تەقەڵی کورت",mdash:"تەقەڵی درێژ",iexcl:"نیشانەی هەڵەوگێڕی سەرسوڕهێنەر",cent:"نیشانەی سەنت",pound:"نیشانەی پاوەند",curren:"نیشانەی دراو",yen:"نیشانەی یەنی ژاپۆنی",brvbar:"شریتی ئەستوونی پچڕاو",sect:"نیشانەی دوو s لەسەریەک",uml:"خاڵ",copy:"نیشانەی مافی چاپ", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/lt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/lt.js index 5b12e40f70..e826cd851e 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/lt.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/lt.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","lt",{euro:"Euro ženklas",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cento ženklas",pound:"Svaro ženklas",curren:"Valiutos ženklas",yen:"Jenos ženklas",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/lv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/lv.js index 4a85cb3c20..1c31c6056e 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/lv.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/lv.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","lv",{euro:"Euro zīme",lsquo:"Kreisā vienkārtīga pēdiņa",rsquo:"Labā vienkārtīga pēdiņa",ldquo:"Kreisā dubult pēdiņa",rdquo:"Labā dubult pēdiņa",ndash:"En svītra",mdash:"Em svītra",iexcl:"Apgriezta izsaukuma zīme",cent:"Centu naudas zīme",pound:"Sterliņu mārciņu naudas zīme",curren:"Valūtas zīme",yen:"Jenu naudas zīme",brvbar:"Vertikāla pārrauta līnija",sect:"Paragrāfa zīme",uml:"Diakritiska zīme",copy:"Autortiesību zīme",ordf:"Sievišķas kārtas rādītājs", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/nb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/nb.js index 306174e29c..e2f4f4c0ea 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/nb.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/nb.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","nb",{euro:"Eurosymbol",lsquo:"Venstre enkelt anførselstegn",rsquo:"Høyre enkelt anførselstegn",ldquo:"Venstre dobbelt anførselstegn",rdquo:"Høyre anførsesltegn",ndash:"Kort tankestrek",mdash:"Lang tankestrek",iexcl:"Omvendt utropstegn",cent:"Centsymbol",pound:"Pundsymbol",curren:"Valutategn",yen:"Yensymbol",brvbar:"Brutt loddrett strek",sect:"Paragraftegn",uml:"Tøddel",copy:"Copyrighttegn",ordf:"Feminin ordensindikator",laquo:"Venstre anførselstegn",not:"Negasjonstegn", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/nl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/nl.js index 73fb0b3b71..eb9616563e 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/nl.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/nl.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","nl",{euro:"Euro-teken",lsquo:"Linker enkel aanhalingsteken",rsquo:"Rechter enkel aanhalingsteken",ldquo:"Linker dubbel aanhalingsteken",rdquo:"Rechter dubbel aanhalingsteken",ndash:"En dash",mdash:"Em dash",iexcl:"Omgekeerd uitroepteken",cent:"Cent-teken",pound:"Pond-teken",curren:"Valuta-teken",yen:"Yen-teken",brvbar:"Gebroken streep",sect:"Paragraaf-teken",uml:"Trema",copy:"Copyright-teken",ordf:"Vrouwelijk ordinaal",laquo:"Linker guillemet",not:"Ongelijk-teken", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/no.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/no.js index 298c41d46a..560e5f4f8c 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/no.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/no.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","no",{euro:"Eurosymbol",lsquo:"Venstre enkelt anførselstegn",rsquo:"Høyre enkelt anførselstegn",ldquo:"Venstre dobbelt anførselstegn",rdquo:"Høyre anførsesltegn",ndash:"Kort tankestrek",mdash:"Lang tankestrek",iexcl:"Omvendt utropstegn",cent:"Centsymbol",pound:"Pundsymbol",curren:"Valutategn",yen:"Yensymbol",brvbar:"Brutt loddrett strek",sect:"Paragraftegn",uml:"Tøddel",copy:"Copyrighttegn",ordf:"Feminin ordensindikator",laquo:"Venstre anførselstegn",not:"Negasjonstegn", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/oc.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/oc.js index 6dce15e58e..4a02f81f18 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/oc.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/oc.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","oc",{euro:"Simbòl èuro",lsquo:"Vergueta simpla dobrenta",rsquo:"Vergueta simpla tampanta",ldquo:"Vergueta dobla dobrenta",rdquo:"Vergueta dobla tampanta",ndash:"Jonhent semi-quadratin",mdash:"Jonhent quadratin",iexcl:"Punt d'exclamacion inversat",cent:"Simbòl cent",pound:"Simbòl Liura sterling",curren:"Simbòl monetari",yen:"Simbòl ièn",brvbar:"Barra verticala separada",sect:"Signe de seccion",uml:"Trèma",copy:"Simbòl Copyright",ordf:"Indicador ordinal femenin", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pl.js index da08c9ce86..3ba389a6ee 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pl.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pl.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","pl",{euro:"Znak euro",lsquo:"Cudzysłów pojedynczy otwierający",rsquo:"Cudzysłów pojedynczy zamykający",ldquo:"Cudzysłów apostrofowy otwierający",rdquo:"Cudzysłów apostrofowy zamykający",ndash:"Półpauza",mdash:"Pauza",iexcl:"Odwrócony wykrzyknik",cent:"Znak centa",pound:"Znak funta",curren:"Znak waluty",yen:"Znak jena",brvbar:"Przerwana pionowa kreska",sect:"Paragraf",uml:"Diereza",copy:"Znak praw autorskich",ordf:"Wskaźnik rodzaju żeńskiego liczebnika porządkowego", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js index 720a74506f..030790722d 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","pt-br",{euro:"Euro",lsquo:"Aspas simples esquerda",rsquo:"Aspas simples direita",ldquo:"Aspas duplas esquerda",rdquo:"Aspas duplas direita",ndash:"Traço",mdash:"Travessão",iexcl:"Ponto de exclamação invertido",cent:"Cent",pound:"Cerquilha",curren:"Dinheiro",yen:"Yen",brvbar:"Bara interrompida",sect:"Símbolo de Parágrafo",uml:"Trema",copy:"Direito de Cópia",ordf:"Indicador ordinal feminino",laquo:"Aspas duplas angulares esquerda",not:"Negação",reg:"Marca Registrada", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pt.js index 0e8dd46390..bc93f1285a 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pt.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/pt.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","pt",{euro:"Símbolo de Euro",lsquo:"Aspa esquerda simples",rsquo:"Aspa direita simples",ldquo:"Aspa esquerda dupla",rdquo:"Aspa direita dupla",ndash:"Travessão simples",mdash:"Travessão longo",iexcl:"Ponto de exclamação invertido",cent:"Símbolo de cêntimo",pound:"Símbolo de Libra",curren:"Símbolo de Moeda",yen:"Símbolo de Iene",brvbar:"Barra quebrada",sect:"Símbolo de secção",uml:"Trema",copy:"Símbolo de direitos de autor",ordf:"Indicador ordinal feminino",laquo:"Aspa esquerda ângulo duplo", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ro.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ro.js index be6c5fee98..2e23c425e3 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ro.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ro.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","ro",{euro:"Simbol EURO €",lsquo:"Ghilimea simplă stânga",rsquo:"Ghilimea simplă dreapta",ldquo:"Ghilimea dublă stânga",rdquo:"Ghilimea dublă dreapta",ndash:"liniuță despărțire cu spații",mdash:"liniuță despărțire cuvinte fără spații",iexcl:"semnul exclamației inversat",cent:"simbol cent",pound:"simbol lira sterlină",curren:"simbol monedă",yen:"simbol yen",brvbar:"bara verticală întreruptă",sect:"simbol paragraf",uml:"tréma",copy:"simbol drept de autor",ordf:"Indicatorul ordinal feminin a superscript", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ru.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ru.js index 39b8023291..938ef44ca7 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ru.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ru.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","ru",{euro:"Знак евро",lsquo:"Левая одинарная кавычка",rsquo:"Правая одинарная кавычка",ldquo:"Левая двойная кавычка",rdquo:"Левая двойная кавычка",ndash:"Среднее тире",mdash:"Длинное тире",iexcl:"перевёрнутый восклицательный знак",cent:"Цент",pound:"Фунт",curren:"Знак валюты",yen:"Йена",brvbar:"Вертикальная черта с разрывом",sect:"Знак параграфа",uml:"Умлаут",copy:"Знак охраны авторского права",ordf:"Указатель окончания женского рода ...ая",laquo:"Левая кавычка-«ёлочка»", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/si.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/si.js index 9f158d13e0..11d84d4f02 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/si.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/si.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","si",{euro:"යුරෝ සලකුණ",lsquo:"වමේ තනි උපුටා දක්වීම ",rsquo:"දකුණේ තනි උපුටා දක්වීම ",ldquo:"වමේ දිත්ව උපුටා දක්වීම ",rdquo:"දකුණේ දිත්ව උපුටා දක්වීම ",ndash:"En dash",mdash:"Em dash",iexcl:"යටිකුරු හර්ෂදී ",cent:"Cent sign",pound:"Pound sign",curren:"මුල්‍යමය ",yen:"යෙන් ",brvbar:"Broken bar",sect:"තෙරේම් ",uml:"Diaeresis",copy:"පිටපත් අයිතිය ",ordf:"දර්ශකය",laquo:"Left-pointing double angle quotation mark",not:"සලකුණක් නොවේ",reg:"සලකුණක් ලියාපදිංචි කිරීම", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sk.js index e23706a169..924df7a7cd 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sk.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sk.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","sk",{euro:"Znak eura",lsquo:"Ľavá jednoduchá úvodzovka",rsquo:"Pravá jednoduchá úvodzovka",ldquo:"Pravá dvojitá úvodzovka",rdquo:"Pravá dvojitá úvodzovka",ndash:"En pomlčka",mdash:"Em pomlčka",iexcl:"Obrátený výkričník",cent:"Znak centu",pound:"Znak libry",curren:"Znak meny",yen:"Znak jenu",brvbar:"Prerušená zvislá čiara",sect:"Znak odseku",uml:"Prehláska",copy:"Znak copyrightu",ordf:"Ženský indikátor rodu",laquo:"Znak dvojitých lomených úvodzoviek vľavo",not:"Logistický zápor", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sl.js index 7beed925ea..e72e804cff 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sl.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sl.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","sl",{euro:"Znak za evro",lsquo:"Levi enojni narekovaj",rsquo:"Desni enojni narekovaj",ldquo:"Levi dvojni narekovaj",rdquo:"Desni dvojni narekovaj",ndash:"Pomišljaj",mdash:"Dolgi pomišljaj",iexcl:"Obrnjen klicaj",cent:"Znak za cent",pound:"Znak za funt",curren:"Znak valute",yen:"Znak za jen",brvbar:"Zlomljena črta",sect:"Znak za člen",uml:"Diereza",copy:"Znak avtorskih pravic",ordf:"Ženski zaporedni kazalnik",laquo:"Levi dvojni lomljeni narekovaj",not:"Znak za ne", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sq.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sq.js index 4cfaf75a09..f65cef3165 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sq.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sq.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","sq",{euro:"Shenja e Euros",lsquo:"Thonjëza majtas me një vi",rsquo:"Thonjëza djathtas me një vi",ldquo:"Thonjëza majtas",rdquo:"Thonjëza djathtas",ndash:"En viza lidhëse",mdash:"Em viza lidhëse",iexcl:"Pikëçuditëse e përmbysur",cent:"Shenja e Centit",pound:"Shejna e Funtit",curren:"Shenja e valutës",yen:"Shenja e Jenit",brvbar:"Viza e këputur",sect:"Shenja e pjesës",uml:"Diaeresis",copy:"Shenja e të drejtave të kopjimit",ordf:"Tregues rendor femror",laquo:"Thonjëz me dy kënde e kthyer majtas", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js index c784d1a1aa..0b50398886 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","sr-latn",{euro:"Znak eura",lsquo:"Levi simpli znak navoda",rsquo:"Desni simpli znak navoda",ldquo:"Levi dupli znak navoda",rdquo:"Desni dupli znak navoda",ndash:"Kratka crtica",mdash:"Dugačka crtica",iexcl:"Obrnuti uzvičnik",cent:"Znak za cent",pound:"Znak za funtе",curren:"Znak za valutu",yen:"Znak za jenа",brvbar:"Traka sa prekidom",sect:"Znak paragrafa",uml:"Umlaut",copy:"Znak za autorsko pravo",ordf:"Ženski redni indikator",laquo:"Dupla strelica levo",not:"Bez znaka", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sr.js index 865545341b..2ca4c6a7e8 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sr.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sr.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","sr",{euro:"Знак еура",lsquo:"Леви симпли знак навода",rsquo:"Десни симпли знак навода",ldquo:"Леви дупли знак навода",rdquo:"Десни дупли знак навода",ndash:"Кратка цртица",mdash:"Дугачка цртица",iexcl:"Обрнути узвичник",cent:"Знак цент",pound:"Знак фунте",curren:"Знак валуте",yen:"Знак јена",brvbar:"Трака са прекидом",sect:"Знак параграфа",uml:"Умлаут",copy:"Знак ауторско право",ordf:"Женски редни индикатор",laquo:"Дупла стрелица лево",not:"Без знака",reg:"Регистровани знак", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sv.js index e1d6b92952..ea36af2fb8 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sv.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/sv.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","sv",{euro:"Eurotecken",lsquo:"Enkelt vänster citattecken",rsquo:"Enkelt höger citattecken",ldquo:"Dubbelt vänster citattecken",rdquo:"Dubbelt höger citattecken",ndash:"Snedstreck",mdash:"Långt tankstreck",iexcl:"Inverterad utropstecken",cent:"Centtecken",pound:"Pundtecken",curren:"Valutatecken",yen:"Yentecken",brvbar:"Brutet lodrätt streck",sect:"Paragraftecken",uml:"Diaeresis",copy:"Upphovsrättstecken",ordf:"Feminit ordningstalsindikator",laquo:"Vänsterställt dubbelt vinkelcitationstecken", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/th.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/th.js index aeb7f813db..ecc2e52f8b 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/th.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/th.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","th",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"สัญลักษณ์สกุลเงิน",yen:"สัญลักษณ์เงินเยน",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/tr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/tr.js index 30f032e12b..d7d9fd5657 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/tr.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/tr.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","tr",{euro:"Euro işareti",lsquo:"Sol tek tırnak işareti",rsquo:"Sağ tek tırnak işareti",ldquo:"Sol çift tırnak işareti",rdquo:"Sağ çift tırnak işareti",ndash:"En tire",mdash:"Em tire",iexcl:"Ters ünlem işareti",cent:"Cent işareti",pound:"Pound işareti",curren:"Para birimi işareti",yen:"Yen işareti",brvbar:"Kırık bar",sect:"Bölüm işareti",uml:"İki sesli harfin ayrılması",copy:"Telif hakkı işareti",ordf:"Dişil sıralı gösterge",laquo:"Sol-işaret çift açı tırnak işareti", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/tt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/tt.js index 9b44a912a9..a8c0617b05 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/tt.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/tt.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","tt",{euro:"Евро тамгасы",lsquo:"Сул бер иңле куштырнаклар",rsquo:"Уң бер иңле куштырнаклар",ldquo:"Сул ике иңле куштырнаклар",rdquo:"Уң ике иңле куштырнаклар",ndash:"Кыска сызык",mdash:"Озын сызык",iexcl:"Әйләндерелгән өндәү билгесе",cent:"Цент тамгасы",pound:"Фунт тамгасы",curren:"Акча берәмлеге тамгасы",yen:"Иена тамгасы",brvbar:"Broken bar",sect:"Параграф билгесе",uml:"Диерезис",copy:"Хокук иясе булу билгесе",ordf:"Feminine ordinal indicator",laquo:"Ачылучы чыршысыман җәя", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ug.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ug.js index 81eb350558..fbc8e52feb 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ug.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/ug.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","ug",{euro:"ياۋرو بەلگىسى",lsquo:"يالاڭ پەش سول",rsquo:"يالاڭ پەش ئوڭ",ldquo:"قوش پەش سول",rdquo:"قوش پەش ئوڭ",ndash:"سىزىقچە",mdash:"سىزىق",iexcl:"ئۈندەش",cent:"تىيىن بەلگىسى",pound:"فوند ستېرلىڭ",curren:"پۇل بەلگىسى",yen:"ياپونىيە يىنى",brvbar:"ئۈزۈك بالداق",sect:"پاراگراف بەلگىسى",uml:"تاۋۇش ئايرىش بەلگىسى",copy:"نەشر ھوقۇقى بەلگىسى",ordf:"Feminine ordinal indicator",laquo:"قوش تىرناق سول",not:"غەيرى بەلگە",reg:"خەتلەتكەن تاۋار ماركىسى",macr:"سوزۇش بەلگىسى", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/uk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/uk.js index 1c1a0a4e01..aea3c89abe 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/uk.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/uk.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","uk",{euro:"Знак євро",lsquo:"Ліві одинарні лапки",rsquo:"Праві одинарні лапки",ldquo:"Ліві подвійні лапки",rdquo:"Праві подвійні лапки",ndash:"Середнє тире",mdash:"Довге тире",iexcl:"Перевернутий знак оклику",cent:"Знак цента",pound:"Знак фунта",curren:"Знак валюти",yen:"Знак єни",brvbar:"Переривчаста вертикальна лінія",sect:"Знак параграфу",uml:"Умлаут",copy:"Знак авторських прав",ordf:"Жіночий порядковий вказівник",laquo:"ліві вказівні подвійні кутові дужки", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/vi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/vi.js index 99d962d6eb..432c9bb420 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/vi.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/vi.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","vi",{euro:"Ký hiệu Euro",lsquo:"Dấu ngoặc đơn trái",rsquo:"Dấu ngoặc đơn phải",ldquo:"Dấu ngoặc đôi trái",rdquo:"Dấu ngoặc đôi phải",ndash:"Gạch ngang tiếng anh",mdash:"Gạch ngang Em",iexcl:"Chuyển đổi dấu chấm than",cent:"Ký tự tiền Mỹ",pound:"Ký tự tiền Anh",curren:"Ký tự tiền tệ",yen:"Ký tự tiền Yên Nhật",brvbar:"Thanh hỏng",sect:"Ký tự khu vực",uml:"Dấu tách đôi",copy:"Ký tự bản quyền",ordf:"Phần chỉ thị giống cái",laquo:"Chọn dấu ngoặc đôi trái",not:"Không có ký tự", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js index e85260e6d9..2de89d4e37 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","zh-cn",{euro:"欧元符号",lsquo:"左单引号",rsquo:"右单引号",ldquo:"左双引号",rdquo:"右双引号",ndash:"短划线",mdash:"长划线",iexcl:"竖翻叹号",cent:"分币符号",pound:"英镑符号",curren:"货币符号",yen:"日元符号",brvbar:"间断条",sect:"节标记",uml:"分音符",copy:"版权所有标记",ordf:"阴性顺序指示符",laquo:"左指双尖引号",not:"非标记",reg:"注册标记",macr:"长音符",deg:"度标记",sup2:"上标二",sup3:"上标三",acute:"锐音符",micro:"微符",para:"段落标记",middot:"中间点",cedil:"下加符",sup1:"上标一",ordm:"阳性顺序指示符",raquo:"右指双尖引号",frac14:"普通分数四分之一",frac12:"普通分数二分之一",frac34:"普通分数四分之三",iquest:"竖翻问号", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/zh.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/zh.js index 0de1626bd6..990b645f5d 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/zh.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/lang/zh.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.plugins.setLang("specialchar","zh",{euro:"歐元符號",lsquo:"左單引號",rsquo:"右單引號",ldquo:"左雙引號",rdquo:"右雙引號",ndash:"短破折號",mdash:"長破折號",iexcl:"倒置的驚嘆號",cent:"美分符號",pound:"英鎊符號",curren:"貨幣符號",yen:"日圓符號",brvbar:"破折號",sect:"章節符號",uml:"分音符號",copy:"版權符號",ordf:"雌性符號",laquo:"左雙角括號",not:"Not 符號",reg:"註冊商標符號",macr:"長音符號",deg:"度數符號",sup2:"上標字 2",sup3:"上標字 3",acute:"尖音符號",micro:"微",para:"段落符號",middot:"中間點",cedil:"字母 C 下面的尾型符號 ",sup1:"上標",ordm:"雄性符號",raquo:"右雙角括號",frac14:"四分之一符號",frac12:"二分之一符號",frac34:"四分之三符號", diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/specialchar.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/specialchar.js index 1c35e835f8..b1d608a417 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/specialchar.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/specialchar/dialogs/specialchar.js @@ -1,5 +1,5 @@ /* - Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ CKEDITOR.dialog.add("specialchar",function(h){var f,n=h.lang.specialchar,k,l,p,d,e,q;l=function(c){var b;c=c.data?c.data.getTarget():new CKEDITOR.dom.element(c);"a"==c.getName()&&(b=c.getChild(0).getHtml())&&(c.removeClass("cke_light_background"),f.hide(),c=h.document.createElement("span"),c.setHtml(b),h.insertText(c.getText()))};p=CKEDITOR.tools.addFunction(l);e=function(c,b){var a;b=b||c.data.getTarget();"span"==b.getName()&&(b=b.getParent());if("a"==b.getName()&&(a=b.getChild(0).getHtml())){k&& diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/table/dialogs/table.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/table/dialogs/table.js index 11dbc882c7..2af982f829 100644 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/table/dialogs/table.js +++ b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/table/dialogs/table.js @@ -1,571 +1,22 @@ -/** - * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. - * CKEditor 4 LTS ("Long Term Support") is available under the terms of the Extended Support Model. - */ - -( function() { - var defaultToPixel = CKEDITOR.tools.cssLength; - - var commitValue = function( data ) { - var id = this.id; - if ( !data.info ) - data.info = {}; - data.info[ id ] = this.getValue(); - }; - - function tableColumns( table ) { - var cols = 0, - maxCols = 0; - for ( var i = 0, row, rows = table.$.rows.length; i < rows; i++ ) { - row = table.$.rows[ i ], cols = 0; - for ( var j = 0, cell, cells = row.cells.length; j < cells; j++ ) { - cell = row.cells[ j ]; - cols += cell.colSpan; - } - - cols > maxCols && ( maxCols = cols ); - } - - return maxCols; - } - - - // Whole-positive-integer validator. - function validatorNum( msg ) { - return function() { - var value = this.getValue(), - pass = !!( CKEDITOR.dialog.validate.integer().call( this, value ) && value > 0 ); - - if ( !pass ) { - alert( msg ); // jshint ignore:line - this.select(); - } - - return pass; - }; - } - - function tableDialog( editor, command ) { - var makeElement = function( name ) { - return new CKEDITOR.dom.element( name, editor.document ); - }; - - var editable = editor.editable(); - - var dialogadvtab = editor.plugins.dialogadvtab; - - - function shouldReplaceThByTd( cell, headers, index ) { - return cell.type == CKEDITOR.NODE_ELEMENT && ( !headers || index !== 0 ); - } - - return { - title: editor.lang.table.title, - minWidth: 310, - minHeight: CKEDITOR.env.ie ? 310 : 280, - - getModel: function( editor ) { - if ( this.dialog.getName() !== 'tableProperties' ) { - return null; - } - - var selection = editor.getSelection(), - range = selection && selection.getRanges()[ 0 ]; - - return range ? range._getTableElement( { table: 1 } ) : null; - }, - - onLoad: function() { - var dialog = this; - - var styles = dialog.getContentElement( 'advanced', 'advStyles' ); - - if ( styles ) { - styles.on( 'change', function() { - // Synchronize width value. - var width = this.getStyle( 'width', '' ), - txtWidth = dialog.getContentElement( 'info', 'txtWidth' ); - - txtWidth && txtWidth.setValue( width, true ); - - // Synchronize height value. - var height = this.getStyle( 'height', '' ), - txtHeight = dialog.getContentElement( 'info', 'txtHeight' ); - - txtHeight && txtHeight.setValue( height, true ); - } ); - } - }, - - onShow: function() { - // Detect if there's a selected table. - var selection = editor.getSelection(), - ranges = selection.getRanges(), - table; - - var rowsInput = this.getContentElement( 'info', 'txtRows' ), - colsInput = this.getContentElement( 'info', 'txtCols' ), - widthInput = this.getContentElement( 'info', 'txtWidth' ), - heightInput = this.getContentElement( 'info', 'txtHeight' ); - - if ( command == 'tableProperties' ) { - var selected = selection.getSelectedElement(); - if ( selected && selected.is( 'table' ) ) - table = selected; - else if ( ranges.length > 0 ) { - // Webkit could report the following range on cell selection (https://dev.ckeditor.com/ticket/4948): - //
] - if ( CKEDITOR.env.webkit ) - ranges[ 0 ].shrink( CKEDITOR.NODE_ELEMENT ); - - table = editor.elementPath( ranges[ 0 ].getCommonAncestor( true ) ).contains( 'table', 1 ); - } - - // Save a reference to the selected table, and push a new set of default values. - this._.selectedElement = table; - } - - // Enable or disable the row, cols, width fields. - if ( table ) { - this.setupContent( table ); - rowsInput && rowsInput.disable(); - colsInput && colsInput.disable(); - } else { - rowsInput && rowsInput.enable(); - colsInput && colsInput.enable(); - } - - // Call the onChange method for the widht and height fields so - // they get reflected into the Advanced tab. - widthInput && widthInput.onChange(); - heightInput && heightInput.onChange(); - }, - onOk: function() { - var selection = editor.getSelection(), - bms = this._.selectedElement && selection.createBookmarks(); - - var table = this._.selectedElement || makeElement( 'table' ), - data = {}; - - this.commitContent( data, table ); - - if ( data.info ) { - var info = data.info; - - // Generate the rows and cols. - if ( !this._.selectedElement ) { - var tbody = table.append( makeElement( 'tbody' ) ), - rows = parseInt( info.txtRows, 10 ) || 0, - cols = parseInt( info.txtCols, 10 ) || 0; - - for ( var i = 0; i < rows; i++ ) { - var row = tbody.append( makeElement( 'tr' ) ); - for ( var j = 0; j < cols; j++ ) { - var cell = row.append( makeElement( 'td' ) ); - cell.appendBogus(); - } - } - } - - // Modify the table headers. Depends on having rows and cols generated - // correctly so it can't be done in commit functions. - - // Should we make a ? - var headers = info.selHeaders; - if ( !table.$.tHead && ( headers == 'row' || headers == 'both' ) ) { - var thead = table.getElementsByTag( 'thead' ).getItem( 0 ); - tbody = table.getElementsByTag( 'tbody' ).getItem( 0 ); - var theRow = tbody.getElementsByTag( 'tr' ).getItem( 0 ); - - if ( !thead ) { - thead = new CKEDITOR.dom.element( 'thead' ); - thead.insertBefore( tbody ); - } - - // Change TD to TH: - for ( i = 0; i < theRow.getChildCount(); i++ ) { - var th = theRow.getChild( i ); - // Skip bookmark nodes. (https://dev.ckeditor.com/ticket/6155) - if ( th.type == CKEDITOR.NODE_ELEMENT && !th.data( 'cke-bookmark' ) ) { - th.renameNode( 'th' ); - th.setAttribute( 'scope', 'col' ); - } - } - thead.append( theRow.remove() ); - } - - if ( table.$.tHead !== null && !( headers == 'row' || headers == 'both' ) ) { - // Move the row out of the THead and put it in the TBody: - thead = new CKEDITOR.dom.element( table.$.tHead ); - tbody = table.getElementsByTag( 'tbody' ).getItem( 0 ); - - while ( thead.getChildCount() > 0 ) { - theRow = thead.getFirst(); - for ( i = 0; i < theRow.getChildCount(); i++ ) { - var newCell = theRow.getChild( i ); - // In case when header is replaced to td element, - // check if the replaced cell should contain a 'row' scope (#2881). - if ( shouldReplaceThByTd( newCell, headers, i ) ) { - newCell.renameNode( 'td' ); - newCell.removeAttribute( 'scope' ); - } else { - newCell.setAttribute( 'scope', 'row' ); - } - } - - // Append the row to the start (#1397). - tbody.append( theRow, true ); - } - thead.remove(); - } - - // Should we make all first cells in a row TH? - if ( !this.hasColumnHeaders && ( headers == 'col' || headers == 'both' ) ) { - for ( row = 0; row < table.$.rows.length; row++ ) { - newCell = new CKEDITOR.dom.element( table.$.rows[ row ].cells[ 0 ] ); - newCell.renameNode( 'th' ); - - // If "both" is set, the first cell in table head should have scope "col"(#2996). - if ( headers === 'both' && row === 0 ) { - newCell.setAttribute( 'scope', 'col' ); - } else { - newCell.setAttribute( 'scope', 'row' ); - } - } - } - - // Should we make all first TH-cells in a row make TD? If 'yes' we do it the other way round :-) - if ( ( this.hasColumnHeaders ) && !( headers == 'col' || headers == 'both' ) ) { - for ( i = 0; i < table.$.rows.length; i++ ) { - row = new CKEDITOR.dom.element( table.$.rows[ i ] ); - if ( row.getParent().getName() == 'tbody' ) { - newCell = new CKEDITOR.dom.element( row.$.cells[ 0 ] ); - newCell.renameNode( 'td' ); - newCell.removeAttribute( 'scope' ); - } - } - } - - // Set the width and height. - info.txtHeight ? table.setStyle( 'height', info.txtHeight ) : table.removeStyle( 'height' ); - info.txtWidth ? table.setStyle( 'width', info.txtWidth ) : table.removeStyle( 'width' ); - - if ( !table.getAttribute( 'style' ) ) - table.removeAttribute( 'style' ); - } - - // Insert the table element if we're creating one. - if ( !this._.selectedElement ) { - editor.insertElement( table ); - // Override the default cursor position after insertElement to place - // cursor inside the first cell (https://dev.ckeditor.com/ticket/7959), IE needs a while. - setTimeout( function() { - var firstCell = new CKEDITOR.dom.element( table.$.rows[ 0 ].cells[ 0 ] ); - var range = editor.createRange(); - range.moveToPosition( firstCell, CKEDITOR.POSITION_AFTER_START ); - range.select(); - }, 0 ); - } - // Properly restore the selection, (https://dev.ckeditor.com/ticket/4822) but don't break - // because of this, e.g. updated table caption. - else { - try { - selection.selectBookmarks( bms ); - } catch ( er ) { - } - } - }, - contents: [ { - id: 'info', - label: editor.lang.table.title, - elements: [ { - type: 'hbox', - widths: [ null, null ], - styles: [ 'vertical-align:top' ], - children: [ { - type: 'vbox', - padding: 0, - children: [ { - type: 'text', - id: 'txtRows', - 'default': 3, - label: editor.lang.table.rows, - required: true, - controlStyle: 'width:5em', - validate: validatorNum( editor.lang.table.invalidRows ), - setup: function( selectedElement ) { - this.setValue( selectedElement.$.rows.length ); - }, - commit: commitValue - }, - { - type: 'text', - id: 'txtCols', - 'default': 2, - label: editor.lang.table.columns, - required: true, - controlStyle: 'width:5em', - validate: validatorNum( editor.lang.table.invalidCols ), - setup: function( selectedTable ) { - this.setValue( tableColumns( selectedTable ) ); - }, - commit: commitValue - }, - { - type: 'html', - html: ' ' - }, - { - type: 'select', - id: 'selHeaders', - requiredContent: 'th', - 'default': '', - label: editor.lang.table.headers, - items: [ - [ editor.lang.table.headersNone, '' ], - [ editor.lang.table.headersRow, 'row' ], - [ editor.lang.table.headersColumn, 'col' ], - [ editor.lang.table.headersBoth, 'both' ] - ], - setup: function( selectedTable ) { - // Fill in the headers field. - var dialog = this.getDialog(); - dialog.hasColumnHeaders = true; - - // Check if all the first cells in every row are TH - for ( var row = 0; row < selectedTable.$.rows.length; row++ ) { - // If just one cell isn't a TH then it isn't a header column - var headCell = selectedTable.$.rows[ row ].cells[ 0 ]; - if ( headCell && headCell.nodeName.toLowerCase() != 'th' ) { - dialog.hasColumnHeaders = false; - break; - } - } - - // Check if the table contains . - if ( ( selectedTable.$.tHead !== null ) ) - this.setValue( dialog.hasColumnHeaders ? 'both' : 'row' ); - else - this.setValue( dialog.hasColumnHeaders ? 'col' : '' ); - }, - commit: commitValue - }, - { - type: 'text', - id: 'txtBorder', - requiredContent: 'table[border]', - // Avoid setting border which will then disappear. - 'default': editor.filter.check( 'table[border]' ) ? 1 : 0, - label: editor.lang.table.border, - controlStyle: 'width:3em', - validate: CKEDITOR.dialog.validate.number( editor.lang.table.invalidBorder ), - setup: function( selectedTable ) { - this.setValue( selectedTable.getAttribute( 'border' ) || '' ); - }, - commit: function( data, selectedTable ) { - if (this.getValue()) { - selectedTable.setAttribute('border', this.getValue()); - selectedTable.setAttribute('style', `border-width:${this.getValue()}px;`); - } else - selectedTable.removeAttribute('border'); - } - }, - { - id: 'cmbAlign', - type: 'select', - requiredContent: 'table[align]', - 'default': '', - label: editor.lang.common.align, - items: [ - [ editor.lang.common.notSet, '' ], - [ editor.lang.common.left, 'left' ], - [ editor.lang.common.center, 'center' ], - [ editor.lang.common.right, 'right' ] - ], - setup: function( selectedTable ) { - this.setValue( selectedTable.getAttribute( 'align' ) || '' ); - }, - commit: function( data, selectedTable ) { - if ( this.getValue() ) - selectedTable.setAttribute( 'align', this.getValue() ); - else - selectedTable.removeAttribute( 'align' ); - } - } ] - }, - { - type: 'vbox', - padding: 0, - children: [ { - type: 'hbox', - widths: [ '5em' ], - children: [ { - type: 'text', - id: 'txtWidth', - requiredContent: 'table{width}', - controlStyle: 'width:5em', - label: editor.lang.common.width, - title: editor.lang.common.cssLengthTooltip, - // Smarter default table width. (https://dev.ckeditor.com/ticket/9600) - 'default': editor.filter.check( 'table{width}' ) ? ( editable.getSize( 'width' ) < 500 ? '100%' : 500 ) : 0, - getValue: defaultToPixel, - validate: CKEDITOR.dialog.validate.cssLength( editor.lang.common.invalidCssLength.replace( '%1', editor.lang.common.width ) ), - onChange: function() { - var styles = this.getDialog().getContentElement( 'advanced', 'advStyles' ); - styles && styles.updateStyle( 'width', this.getValue() ); - }, - setup: function( selectedTable ) { - var val = selectedTable.getStyle( 'width' ); - this.setValue( val ); - }, - commit: commitValue - } ] - }, - { - type: 'hbox', - widths: [ '5em' ], - children: [ { - type: 'text', - id: 'txtHeight', - requiredContent: 'table{height}', - controlStyle: 'width:5em', - label: editor.lang.common.height, - title: editor.lang.common.cssLengthTooltip, - 'default': '', - getValue: defaultToPixel, - validate: CKEDITOR.dialog.validate.cssLength( editor.lang.common.invalidCssLength.replace( '%1', editor.lang.common.height ) ), - onChange: function() { - var styles = this.getDialog().getContentElement( 'advanced', 'advStyles' ); - styles && styles.updateStyle( 'height', this.getValue() ); - }, - - setup: function( selectedTable ) { - var val = selectedTable.getStyle( 'height' ); - val && this.setValue( val ); - }, - commit: commitValue - } ] - }, - { - type: 'html', - html: ' ' - }, - { - type: 'text', - id: 'txtCellSpace', - requiredContent: 'table[cellspacing]', - controlStyle: 'width:3em', - label: editor.lang.table.cellSpace, - 'default': editor.filter.check( 'table[cellspacing]' ) ? 1 : 0, - validate: CKEDITOR.dialog.validate.number( editor.lang.table.invalidCellSpacing ), - setup: function( selectedTable ) { - this.setValue( selectedTable.getAttribute( 'cellSpacing' ) || '' ); - }, - commit: function( data, selectedTable ) { - if ( this.getValue() ) - selectedTable.setAttribute( 'cellSpacing', this.getValue() ); - else - selectedTable.removeAttribute( 'cellSpacing' ); - } - }, - { - type: 'text', - id: 'txtCellPad', - requiredContent: 'table[cellpadding]', - controlStyle: 'width:3em', - label: editor.lang.table.cellPad, - 'default': editor.filter.check( 'table[cellpadding]' ) ? 1 : 0, - validate: CKEDITOR.dialog.validate.number( editor.lang.table.invalidCellPadding ), - setup: function( selectedTable ) { - this.setValue( selectedTable.getAttribute( 'cellPadding' ) || '' ); - }, - commit: function( data, selectedTable ) { - if ( this.getValue() ) - selectedTable.setAttribute( 'cellPadding', this.getValue() ); - else - selectedTable.removeAttribute( 'cellPadding' ); - } - } ] - } ] - }, - { - type: 'html', - align: 'right', - html: '' - }, - { - type: 'vbox', - padding: 0, - children: [ { - type: 'text', - id: 'txtCaption', - requiredContent: 'caption', - label: editor.lang.table.caption, - setup: function( selectedTable ) { - this.enable(); - - var nodeList = selectedTable.getElementsByTag( 'caption' ); - if ( nodeList.count() > 0 ) { - var caption = nodeList.getItem( 0 ); - var firstElementChild = caption.getFirst( CKEDITOR.dom.walker.nodeType( CKEDITOR.NODE_ELEMENT ) ); - - if ( firstElementChild && !firstElementChild.equals( caption.getBogus() ) ) { - this.disable(); - this.setValue( caption.getText() ); - return; - } - - caption = CKEDITOR.tools.trim( caption.getText() ); - this.setValue( caption ); - } - }, - commit: function( data, table ) { - if ( !this.isEnabled() ) - return; - - var caption = this.getValue(), - captionElement = table.getElementsByTag( 'caption' ); - if ( caption ) { - if ( captionElement.count() > 0 ) { - captionElement = captionElement.getItem( 0 ); - captionElement.setHtml( '' ); - } else { - captionElement = new CKEDITOR.dom.element( 'caption', editor.document ); - table.append( captionElement, true ); - } - captionElement.append( new CKEDITOR.dom.text( caption, editor.document ) ); - } else if ( captionElement.count() > 0 ) { - for ( var i = captionElement.count() - 1; i >= 0; i-- ) - captionElement.getItem( i ).remove(); - } - } - }, - { - type: 'text', - id: 'txtSummary', - bidi: true, - requiredContent: 'table[summary]', - label: editor.lang.table.summary, - setup: function( selectedTable ) { - this.setValue( selectedTable.getAttribute( 'summary' ) || '' ); - }, - commit: function( data, selectedTable ) { - if ( this.getValue() ) - selectedTable.setAttribute( 'summary', this.getValue() ); - else - selectedTable.removeAttribute( 'summary' ); - } - } ] - } ] - }, - dialogadvtab && dialogadvtab.createAdvancedTab( editor, null, 'table' ) - ] }; - } - - CKEDITOR.dialog.add( 'table', function( editor ) { - return tableDialog( editor, 'table' ); - } ); - CKEDITOR.dialog.add( 'tableProperties', function( editor ) { - return tableDialog( editor, 'tableProperties' ); - } ); -} )(); +/* + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){function w(a){for(var b=0,p=0,n=0,q,e=a.$.rows.length;np&&(p=b)}return p}function t(a){return function(){var b=this.getValue(),b=!!(CKEDITOR.dialog.validate.integer().call(this,b)&&0r.getSize("width")?"100%":500:0,getValue:v,validate:CKEDITOR.dialog.validate.cssLength(a.lang.common.invalidCssLength.replace("%1",a.lang.common.width)),onChange:function(){var a=this.getDialog().getContentElement("advanced","advStyles");a&&a.updateStyle("width",this.getValue())},setup:function(a){a=a.getStyle("width");this.setValue(a)},commit:n}]},{type:"hbox",widths:["5em"],children:[{type:"text",id:"txtHeight",requiredContent:"table{height}", +controlStyle:"width:5em",label:a.lang.common.height,title:a.lang.common.cssLengthTooltip,"default":"",getValue:v,validate:CKEDITOR.dialog.validate.cssLength(a.lang.common.invalidCssLength.replace("%1",a.lang.common.height)),onChange:function(){var a=this.getDialog().getContentElement("advanced","advStyles");a&&a.updateStyle("height",this.getValue())},setup:function(a){(a=a.getStyle("height"))&&this.setValue(a)},commit:n}]},{type:"html",html:"\x26nbsp;"},{type:"text",id:"txtCellSpace",requiredContent:"table[cellspacing]", +controlStyle:"width:3em",label:a.lang.table.cellSpace,"default":a.filter.check("table[cellspacing]")?1:0,validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidCellSpacing),setup:function(a){this.setValue(a.getAttribute("cellSpacing")||"")},commit:function(a,b){this.getValue()?b.setAttribute("cellSpacing",this.getValue()):b.removeAttribute("cellSpacing")}},{type:"text",id:"txtCellPad",requiredContent:"table[cellpadding]",controlStyle:"width:3em",label:a.lang.table.cellPad,"default":a.filter.check("table[cellpadding]")? +1:0,validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidCellPadding),setup:function(a){this.setValue(a.getAttribute("cellPadding")||"")},commit:function(a,b){this.getValue()?b.setAttribute("cellPadding",this.getValue()):b.removeAttribute("cellPadding")}}]}]},{type:"html",align:"right",html:""},{type:"vbox",padding:0,children:[{type:"text",id:"txtCaption",requiredContent:"caption",label:a.lang.table.caption,setup:function(a){this.enable();a=a.getElementsByTag("caption");if(0 5 ) { - children = children.concat( [ createSpacer(), createColumn() ] ); - } - - CKEDITOR.tools.array.forEach( items, function( item ) { - if ( !item.isSpacer ) { - index++; - } - if ( itemsCount > 5 && index >= itemsCount / 2 ) { - children[ 2 ].children.push( item ); - } else { - children[ 0 ].children.push( item ); - } - } ); - - CKEDITOR.tools.array.forEach( children, function( item ) { - if ( item.isSpacer ) { - return; - } - - var children = item.children; - - if ( children[ children.length - 1 ].isSpacer ) { - children.pop(); - } - } ); - - return { - title: langCell.title, - minWidth: children.length === 1 ? 205 : 410, - minHeight: 50, - contents: [ { - id: 'info', - label: langCell.title, - accessKey: 'I', - elements: [ { - type: 'hbox', - widths: children.length === 1 ? [ '100%' ] : [ '40%', '5%', '40%' ], - children: children - } ] - } ], - getModel: function( editor ) { - return CKEDITOR.plugins.tabletools.getSelectedCells( editor.getSelection() ); - }, - onShow: function() { - var cells = this.getModel( this.getParentEditor() ); - this.setupContent( cells ); - }, - onOk: function() { - var selection = this._.editor.getSelection(), - bookmarks = selection.createBookmarks(), - editor = this.getParentEditor(), - cells = this.getModel( editor ); - - for ( var i = 0; i < cells.length; i++ ) { - this.commitContent( cells[ i ] ); - } - - editor.forceNextSelectionCheck(); - selection.selectBookmarks( bookmarks ); - editor.selectionChange(); - }, - onLoad: function() { - var saved = {}; - - // Prevent from changing cell properties when the field's value - // remains unaltered, i.e. when selected multiple cells and dialog loaded - // only the properties of the first cell (https://dev.ckeditor.com/ticket/11439). - this.foreach( function( field ) { - if ( !field.setup || !field.commit ) { - return; - } - - // Save field's value every time after "setup" is called. - field.setup = CKEDITOR.tools.override( field.setup, function( orgSetup ) { - return function() { - orgSetup.apply( this, arguments ); - saved[ field.id ] = field.getValue(); - }; - } ); - - // Compare saved value with actual value. Update cell only if value has changed. - field.commit = CKEDITOR.tools.override( field.commit, function( orgCommit ) { - return function() { - if ( saved[ field.id ] !== field.getValue() ) { - orgCommit.apply( this, arguments ); - } - }; - } ); - } ); - } - }; - - function createSpacer( requiredContent ) { - return { - isSpacer: true, - type: 'html', - html: ' ', - requiredContent: requiredContent ? requiredContent : undefined - }; - } - - function createColumn() { - return { - type: 'vbox', - padding: 0, - children: [] - }; - } - - function getCellSizeFieldDefinition( fieldName ) { - return { - requiredContent: 'td{' + fieldName + '}', - type: 'hbox', - widths: [ '70%', '30%' ], - children: [ { - type: 'text', - id: fieldName, - width: '100px', - label: langCommon[ fieldName ], - validate: validate.number( langCell[ 'invalid' + CKEDITOR.tools.capitalize( fieldName ) ] ), - - // Extra labelling of unit type. - onLoad: function() { - var unitType = this.getDialog().getContentElement( 'info', fieldName + 'Type' ), - labelElement = unitType.getElement(), - inputElement = this.getInputElement(), - ariaLabelledByAttr = inputElement.getAttribute( 'aria-labelledby' ); - - inputElement.setAttribute( 'aria-labelledby', [ ariaLabelledByAttr, labelElement.$.id ].join( ' ' ) ); - }, - - setup: setupCells( function( element ) { - var attr = parseFloat( element.getAttribute( fieldName ), 10 ), - style = parseFloat( element.getStyle( fieldName ), 10 ); - - if ( !isNaN( style ) ) { - return style; - } - if ( !isNaN( attr ) ) { - return attr; - } - - return; - - } ), - commit: function( element ) { - var value = parseFloat( this.getValue(), 10 ), - - // There might be no unit type, i.e. when multiple cells are - // selected but some of them have size expressed in pixels and some - // of them in percent. Try to re-read the unit from the cell in such - // case (https://dev.ckeditor.com/ticket/11439). - unit = this.getDialog().getValueOf( 'info', fieldName + 'Type' ) || getCellSizeUnitType( element, fieldName ); - - if ( !isNaN( value ) ) { - element.setStyle( fieldName, value + unit ); - } else { - element.removeStyle( fieldName ); - } - - element.removeAttribute( fieldName ); - }, - 'default': '' - }, { - type: 'select', - id: fieldName + 'Type', - label: editor.lang.table[ fieldName + 'Unit' ], - labelStyle: 'visibility:hidden;display:block;width:0;overflow:hidden', - 'default': 'px', - items: [ - // 'widthPx' and 'widthPc' are also used for height to avoid additional translations. - [ langTable.widthPx, 'px' ], - [ langTable.widthPc, '%' ] - ], - setup: setupCells( function( element ) { - return getCellSizeUnitType( element, fieldName ); - } ) - } ] - }; - } - - // Returns a function that runs a regular "setup" for all selected cells to find out - // whether the initial value of the field would be the same for all cells. If so, - // the value is displayed just as if a regular "setup" was executed. Otherwise, - // when there are several cells with a different value of the property, a field - // gets an empty value. - // - // * @param {Function} setup Setup function which returns a value instead of setting it. - // * @returns {Function} A function to be used in the dialog definition. - function setupCells( setup ) { - return function( cells ) { - var fieldValue = setup( cells[ 0 ] ); - - // If one of the cells would have a different value of the - // property, set the empty value for a field. - for ( var i = 1; i < cells.length; i++ ) { - if ( setup( cells[ i ] ) !== fieldValue ) { - fieldValue = null; - break; - } - } - - // Setting meaningful or empty value only makes sense - // when setup returns some value. Otherwise, a *default* value - // is used for that field. - if ( typeof fieldValue != 'undefined' ) { - this.setValue( fieldValue ); - - // The only way to have an empty select value in Firefox is - // to set a negative selectedIndex. - if ( CKEDITOR.env.gecko && this.type == 'select' && !fieldValue ) { - this.getInputElement().$.selectedIndex = -1; - } - } - }; - } - - // Reads the unit of target property of the table cell. - // - // * @param {CKEDITOR.dom.element} cell An element representing the table cell. - // * @returns {String} Current unit: 'px', '%' or undefined if none. - function getCellSizeUnitType( cell, field ) { - var unitPattern = /^(\d+(?:\.\d+)?)(px|%)$/, - match = unitPattern.exec( - cell.getStyle( field ) || cell.getAttribute( field ) - ); - - if ( match ) { - return match[ 2 ]; - } - } - - function getColorForCell( button, elementId ) { - editor.getColorFromDialog( function( color ) { - if ( color ) { - button.getDialog().getContentElement( 'info', elementId ).setValue( color ); - } - button.focus(); - }, button ); - } - - function applyColorToCell( element, selectedCell, property ) { - var value = element.getValue(); - - if ( value ) { - selectedCell.setStyle( property, value ); - } else { - selectedCell.removeStyle( property ); - } - - if ( property == 'background-color' ) { - selectedCell.removeAttribute( 'bgColor' ); - } else if ( property == 'border-color' ) { - selectedCell.removeAttribute( 'borderColor' ); - } - } - - function getAvailableCellTypes( editor ) { - if ( editor.config.tabletools_scopedHeaders ) { - return [ - [ langCell.data, 'td' ], - [ langCell.columnHeader, 'thc' ], - [ langCell.rowHeader, 'thr' ] - ]; - } - - return [ - [ langCell.data, 'td' ], - [ langCell.header, 'th' ] - ]; - } -} ); +/* + Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("cellProperties",function(g){function k(a){return{isSpacer:!0,type:"html",html:"\x26nbsp;",requiredContent:a?a:void 0}}function r(){return{type:"vbox",padding:0,children:[]}}function t(a){return{requiredContent:"td{"+a+"}",type:"hbox",widths:["70%","30%"],children:[{type:"text",id:a,width:"100px",label:e[a],validate:p.number(d["invalid"+CKEDITOR.tools.capitalize(a)]),onLoad:function(){var b=this.getDialog().getContentElement("info",a+"Type").getElement(),c=this.getInputElement(), +d=c.getAttribute("aria-labelledby");c.setAttribute("aria-labelledby",[d,b.$.id].join(" "))},setup:f(function(b){var c=parseFloat(b.getAttribute(a),10);b=parseFloat(b.getStyle(a),10);if(!isNaN(b))return b;if(!isNaN(c))return c}),commit:function(b){var c=parseFloat(this.getValue(),10),d=this.getDialog().getValueOf("info",a+"Type")||u(b,a);isNaN(c)?b.removeStyle(a):b.setStyle(a,c+d);b.removeAttribute(a)},"default":""},{type:"select",id:a+"Type",label:g.lang.table[a+"Unit"],labelStyle:"visibility:hidden;display:block;width:0;overflow:hidden", +"default":"px",items:[[q.widthPx,"px"],[q.widthPc,"%"]],setup:f(function(b){return u(b,a)})}]}}function f(a){return function(b){for(var c=a(b[0]),d=1;d=n/2?h[2].children.push(a):h[0].children.push(a)});CKEDITOR.tools.array.forEach(h, +function(a){a.isSpacer||(a=a.children,a[a.length-1].isSpacer&&a.pop())});return{title:d.title,minWidth:1===h.length?205:410,minHeight:50,contents:[{id:"info",label:d.title,accessKey:"I",elements:[{type:"hbox",widths:1===h.length?["100%"]:["40%","5%","40%"],children:h}]}],getModel:function(a){return CKEDITOR.plugins.tabletools.getSelectedCells(a.getSelection())},onShow:function(){var a=this.getModel(this.getParentEditor());this.setupContent(a)},onOk:function(){for(var a=this._.editor.getSelection(), +b=a.createBookmarks(),c=this.getParentEditor(),d=this.getModel(c),e=0;e 0 ) { - return; - } - - // If we are exiting from the first , then the td should definitely be - // included. - if ( node.type == CKEDITOR.NODE_ELEMENT && cellNodeRegex.test( node.getName() ) && !node.getCustomData( 'selected_cell' ) ) { - CKEDITOR.dom.element.setMarker( database, node, 'selected_cell', true ); - retval.push( node ); - } - } - - for ( var i = 0; i < ranges.length; i++ ) { - var range = ranges[ i ]; - - if ( range.collapsed ) { - // Walker does not handle collapsed ranges yet - fall back to old API. - var startNode = range.getCommonAncestor(), - nearestCell = startNode.getAscendant( { td: 1, th: 1 }, true ); - - if ( nearestCell && isInTable( nearestCell ) ) { - retval.push( nearestCell ); - } - } else { - var walker = new CKEDITOR.dom.walker( range ), - node; - - walker.guard = moveOutOfCellGuard; - - while ( ( node = walker.next() ) ) { - // If may be possible for us to have a range like this: - // ^1^2 - // The 2nd td shouldn't be included. - // - // So we have to take care to include a td we've entered only when we've - // walked into its children. - - if ( node.type != CKEDITOR.NODE_ELEMENT || !node.is( CKEDITOR.dtd.table ) ) { - var parent = node.getAscendant( { td: 1, th: 1 }, true ); - - if ( parent && !parent.getCustomData( 'selected_cell' ) && isInTable( parent ) ) { - CKEDITOR.dom.element.setMarker( database, parent, 'selected_cell', true ); - retval.push( parent ); - } - } - } - } - } - - CKEDITOR.dom.element.clearAllMarkers( database ); - - return retval; - } - - function getFocusElementAfterDelCells( cellsToDelete ) { - var i = 0, - last = cellsToDelete.length - 1, - database = {}, - cell, - focusedCell, - tr; - - while ( ( cell = cellsToDelete[ i++ ] ) ) { - CKEDITOR.dom.element.setMarker( database, cell, 'delete_cell', true ); - } - - // 1. At first we check left or right side focusable cell row by row; - i = 0; - while ( ( cell = cellsToDelete[ i++ ] ) ) { - if ( ( focusedCell = cell.getPrevious() ) && !focusedCell.getCustomData( 'delete_cell' ) || ( focusedCell = cell.getNext() ) && !focusedCell.getCustomData( 'delete_cell' ) ) { - CKEDITOR.dom.element.clearAllMarkers( database ); - return focusedCell; - } - } - - CKEDITOR.dom.element.clearAllMarkers( database ); - - // 2. then we check the toppest row (outside the selection area square) focusable cell; - tr = cellsToDelete[ 0 ].getParent(); - if ( ( tr = tr.getPrevious() ) ) { - return tr.getLast(); - } - - // 3. last we check the lowerest row focusable cell. - tr = cellsToDelete[ last ].getParent(); - if ( ( tr = tr.getNext() ) ) { - return tr.getChild( 0 ); - } - - return null; - } - - function insertRow( selectionOrCells, insertBefore ) { - var cells = isArray( selectionOrCells ) ? selectionOrCells : getSelectedCells( selectionOrCells ), - firstCell = cells[ 0 ], - table = firstCell.getAscendant( 'table' ), - doc = firstCell.getDocument(), - startRow = cells[ 0 ].getParent(), - startRowIndex = startRow.$.rowIndex, - lastCell = cells[ cells.length - 1 ], - endRowIndex = lastCell.getParent().$.rowIndex + lastCell.$.rowSpan - 1, - endRow = new CKEDITOR.dom.element( table.$.rows[ endRowIndex ] ), - rowIndex = insertBefore ? startRowIndex : endRowIndex, - row = insertBefore ? startRow : endRow, - map = CKEDITOR.tools.buildTableMap( table ), - cloneRow = map[ rowIndex ], - nextRow = insertBefore ? map[ rowIndex - 1 ] : map[ rowIndex + 1 ], - width = map[ 0 ].length, - newRow = doc.createElement( 'tr' ); - - for ( var i = 0; cloneRow[ i ] && i < width; i++ ) { - var cell; - // Check whether there's a spanning row here, do not break it. - if ( cloneRow[ i ].rowSpan > 1 && nextRow && cloneRow[ i ] == nextRow[ i ] ) { - cell = cloneRow[ i ]; - cell.rowSpan += 1; - } else { - cell = new CKEDITOR.dom.element( cloneRow[ i ] ).clone(); - cell.removeAttribute( 'rowSpan' ); - cell.appendBogus(); - newRow.append( cell ); - cell = cell.$; - } - - i += cell.colSpan - 1; - } - - insertBefore ? newRow.insertBefore( row ) : newRow.insertAfter( row ); - - return newRow; - } - - function deleteRows( selectionOrRow ) { - if ( selectionOrRow instanceof CKEDITOR.dom.selection ) { - var ranges = selectionOrRow.getRanges(), - cells = getSelectedCells( selectionOrRow ), - firstCell = cells[ 0 ], - table = firstCell.getAscendant( 'table' ), - map = CKEDITOR.tools.buildTableMap( table ), - startRow = cells[ 0 ].getParent(), - startRowIndex = startRow.$.rowIndex, - lastCell = cells[ cells.length - 1 ], - endRowIndex = lastCell.getParent().$.rowIndex + lastCell.$.rowSpan - 1, - rowsToDelete = []; - - selectionOrRow.reset(); - - // Delete cell or reduce cell spans by checking through the table map. - for ( var i = startRowIndex; i <= endRowIndex; i++ ) { - var mapRow = map[ i ], - row = new CKEDITOR.dom.element( table.$.rows[ i ] ); - - for ( var j = 0; j < mapRow.length; j++ ) { - var cell = new CKEDITOR.dom.element( mapRow[ j ] ), - cellRowIndex = cell.getParent().$.rowIndex; - - if ( cell.$.rowSpan == 1 ) { - cell.remove(); - } - // Row spanned cell. - else { - // Span row of the cell, reduce spanning. - cell.$.rowSpan -= 1; - // Root row of the cell, root cell to next row. - if ( cellRowIndex == i ) { - var nextMapRow = map[ i + 1 ]; - nextMapRow[ j - 1 ] ? cell.insertAfter( new CKEDITOR.dom.element( nextMapRow[ j - 1 ] ) ) : new CKEDITOR.dom.element( table.$.rows[ i + 1 ] ).append( cell, 1 ); - } - } - - j += cell.$.colSpan - 1; - } - - rowsToDelete.push( row ); - } - - var rows = table.$.rows; - - // After deleting whole table, the selection would be broken, - // therefore it's safer to move it outside the table first. - ranges[ 0 ].moveToPosition( table, CKEDITOR.POSITION_BEFORE_START ); - - // Where to put the cursor after rows been deleted? - // 1. Into next sibling row if any; - // 2. Into previous sibling row if any; - // 3. Into table's parent element if it's the very last row. - var cursorPosition = new CKEDITOR.dom.element( rows[ endRowIndex + 1 ] || ( startRowIndex > 0 ? rows[ startRowIndex - 1 ] : null ) || table.$.parentNode ); - - for ( i = rowsToDelete.length; i >= 0; i-- ) { - deleteRows( rowsToDelete[ i ] ); - } - - // If all the rows were removed, table gets removed too. - if ( !table.$.parentNode ) { - ranges[ 0 ].select(); - return null; - } - - return cursorPosition; - } else if ( selectionOrRow instanceof CKEDITOR.dom.element ) { - table = selectionOrRow.getAscendant( 'table' ); - - if ( table.$.rows.length == 1 ) { - table.remove(); - } else { - selectionOrRow.remove(); - } - } - - return null; - } - - function getCellColIndex( cell ) { - var row = cell.getParent(), - rowCells = row.$.cells; - - var colIndex = 0; - for ( var i = 0; i < rowCells.length; i++ ) { - var mapCell = rowCells[ i ]; - - // Not always adding colSpan results in wrong position - // of newly inserted column. (#591) (https://dev.ckeditor.com/ticket/13729) - colIndex += mapCell.colSpan; - if ( mapCell == cell.$ ) { - break; - } - } - - return colIndex - 1; - } - - function getColumnsIndices( cells, isStart ) { - var retval = isStart ? Infinity : 0; - - for ( var i = 0; i < cells.length; i++ ) { - var colIndex = getCellColIndex( cells[ i ] ); - - if ( isStart ? colIndex < retval : colIndex > retval ) { - retval = colIndex; - } - } - return retval; - } - - function insertColumn( selectionOrCells, insertBefore ) { - var cells = isArray( selectionOrCells ) ? selectionOrCells : getSelectedCells( selectionOrCells ), - firstCell = cells[ 0 ], - table = firstCell.getAscendant( 'table' ), - startCol = getColumnsIndices( cells, 1 ), - lastCol = getColumnsIndices( cells ), - colIndex = insertBefore ? startCol : lastCol, - map = CKEDITOR.tools.buildTableMap( table ), - cloneCol = [], - nextCol = [], - addedCells = [], - height = map.length, - originalCell; - - for ( var i = 0; i < height; i++ ) { - var nextCell = insertBefore ? map[ i ][ colIndex - 1 ] : map[ i ][ colIndex + 1 ]; - - cloneCol.push( map[ i ][ colIndex ] ); - nextCol.push( nextCell ); - } - - for ( i = 0; i < height; i++ ) { - var cell; - - if ( !cloneCol[ i ] ) { - continue; - } - - // Check whether there's a spanning column here, do not break it. - if ( cloneCol[ i ].colSpan > 1 && nextCol[ i ] == cloneCol[ i ] ) { - cell = cloneCol[ i ]; - cell.colSpan += 1; - } else { - originalCell = new CKEDITOR.dom.element( cloneCol[ i ] ); - cell = originalCell.clone(); - cell.removeAttribute( 'colSpan' ); - cell.appendBogus(); - cell[ insertBefore ? 'insertBefore' : 'insertAfter' ].call( cell, originalCell ); - addedCells.push( cell ); - cell = cell.$; - } - - i += cell.rowSpan - 1; - } - - return addedCells; - } - - function deleteColumns( selection ) { - function processSelection( selection ) { - // If selection leak to next td/th cell, then preserve it in previous cell. - - var ranges = selection.getRanges(), - range, - endNode, - endNodeName, - previous; - - if ( ranges.length !== 1 ) { - return selection; - } - - range = ranges[ 0 ]; - if ( range.collapsed || range.endOffset !== 0 ) { - return selection; - } - - endNode = range.endContainer; - endNodeName = endNode.getName().toLowerCase(); - if ( !( endNodeName === 'td' || endNodeName === 'th' ) ) { - return selection; - } - - // Get previous td/th element or the last from previous row. - previous = endNode.getPrevious(); - if ( !previous ) { - previous = endNode.getParent().getPrevious().getLast(); - } - - // Get most inner text node or br in case of empty cell. - while ( previous.type !== CKEDITOR.NODE_TEXT && previous.getName().toLowerCase() !== 'br' ) { - previous = previous.getLast(); - // Generraly previous should never be null, if statement is just for possible weird edge cases. - if ( !previous ) { - return selection; - } - } - - range.setEndAt( previous, CKEDITOR.POSITION_BEFORE_END ); - return range.select(); - } - - // Problem occures only on webkit in case of native selection (#577). - // Upstream: https://bugs.webkit.org/show_bug.cgi?id=175131, https://bugs.chromium.org/p/chromium/issues/detail?id=752091 - if ( CKEDITOR.env.webkit && !selection.isFake ) { - selection = processSelection( selection ); - } - - var ranges = selection.getRanges(), - cells = getSelectedCells( selection ), - firstCell = cells[ 0 ], - lastCell = cells[ cells.length - 1 ], - table = firstCell.getAscendant( 'table' ), - map = CKEDITOR.tools.buildTableMap( table ), - startColIndex, endColIndex, - rowsToDelete = []; - - selection.reset(); - - // Figure out selected cells' column indices. - for ( var i = 0, rows = map.length; i < rows; i++ ) { - for ( var j = 0, cols = map[ i ].length; j < cols; j++ ) { - // #577 - // Map might contain multiple times this same element, because of existings collspan. - // We don't want to overwrite startIndex in such situation and take first one. - if ( startColIndex === undefined && map[ i ][ j ] == firstCell.$ ) { - startColIndex = j; - } - if ( map[ i ][ j ] == lastCell.$ ) { - endColIndex = j; - } - } - } - - // Delete cell or reduce cell spans by checking through the table map. - for ( i = startColIndex; i <= endColIndex; i++ ) { - for ( j = 0; j < map.length; j++ ) { - var mapRow = map[ j ], - row = new CKEDITOR.dom.element( table.$.rows[ j ] ), - cell = new CKEDITOR.dom.element( mapRow[ i ] ); - - if ( cell.$ ) { - if ( cell.$.colSpan == 1 ) { - cell.remove(); - } else { - // Reduce the col spans. - cell.$.colSpan -= 1; - } - - j += cell.$.rowSpan - 1; - - if ( !row.$.cells.length ) { - rowsToDelete.push( row ); - } - } - } - } - - // Where to put the cursor after columns been deleted? - // 1. Into next cell of the first row if any; - // 2. Into previous cell of the first row if any; - // 3. Into table's parent element; - var cursorPosition; - if ( map[ 0 ].length - 1 > endColIndex ) { - cursorPosition = new CKEDITOR.dom.element( map[ 0 ][ endColIndex + 1 ] ); - } else if ( startColIndex && map[ 0 ][ startColIndex - 1 ].cellIndex !== -1 ) { - cursorPosition = new CKEDITOR.dom.element( map[ 0 ][ startColIndex - 1 ] ); - } else { - cursorPosition = new CKEDITOR.dom.element( table.$.parentNode ); - } - - // Delete table rows only if all columns are gone (do not remove empty row). - if ( rowsToDelete.length == rows ) { - // After deleting whole table, the selection would be broken, - // therefore it's safer to move it outside the table first. - ranges[ 0 ].moveToPosition( table, CKEDITOR.POSITION_AFTER_END ); - ranges[ 0 ].select(); - - table.remove(); - } - - return cursorPosition; - } - - function insertCell( selection, insertBefore ) { - var startElement = selection.getStartElement(), - cell = startElement.getAscendant( { td: 1, th: 1 }, true ); - - if ( !cell ) { - return; - } - - // Create the new cell element to be added. - var newCell = cell.clone(); - newCell.appendBogus(); - - if ( insertBefore ) { - newCell.insertBefore( cell ); - } else { - newCell.insertAfter( cell ); - } - } - - function deleteCells( selectionOrCell ) { - if ( selectionOrCell instanceof CKEDITOR.dom.selection ) { - var ranges = selectionOrCell.getRanges(), - cellsToDelete = getSelectedCells( selectionOrCell ), - table = cellsToDelete[ 0 ] && cellsToDelete[ 0 ].getAscendant( 'table' ), - cellToFocus = getFocusElementAfterDelCells( cellsToDelete ); - - selectionOrCell.reset(); - - for ( var i = cellsToDelete.length - 1; i >= 0; i-- ) { - deleteCells( cellsToDelete[ i ] ); - } - - if ( cellToFocus ) { - placeCursorInCell( cellToFocus, true ); - } else if ( table ) { - // After deleting whole table, the selection would be broken, - // therefore it's safer to move it outside the table first. - ranges[ 0 ].moveToPosition( table, CKEDITOR.POSITION_BEFORE_START ); - ranges[ 0 ].select(); - - table.remove(); - } - } else if ( selectionOrCell instanceof CKEDITOR.dom.element ) { - var tr = selectionOrCell.getParent(); - - if ( tr.getChildCount() == 1 ) { - tr.remove(); - } else { - selectionOrCell.remove(); - } - } - } - - // Remove filler at end and empty spaces around the cell content. - function trimCell( cell ) { - var bogus = cell.getBogus(); - - bogus && bogus.remove(); - cell.trim(); - } - - function placeCursorInCell( cell, placeAtEnd ) { - var docInner = cell.getDocument(), - docOuter = CKEDITOR.document; - - // Fixing "Unspecified error" thrown in IE10 by resetting - // selection the dirty and shameful way (https://dev.ckeditor.com/ticket/10308). - // We can not apply this hack to IE8 because - // it causes error (https://dev.ckeditor.com/ticket/11058). - if ( CKEDITOR.env.ie && CKEDITOR.env.version == 10 ) { - docOuter.focus(); - docInner.focus(); - } - - var range = new CKEDITOR.dom.range( docInner ); - if ( !range[ 'moveToElementEdit' + ( placeAtEnd ? 'End' : 'Start' ) ]( cell ) ) { - range.selectNodeContents( cell ); - range.collapse( placeAtEnd ? false : true ); - } - range.select( true ); - } - - function cellInRow( tableMap, rowIndex, cell ) { - var oRow = tableMap[ rowIndex ]; - - if ( typeof cell == 'undefined' ) { - return oRow; - } - - for ( var c = 0; oRow && c < oRow.length; c++ ) { - if ( cell.is && oRow[ c ] == cell.$ ) { - return c; - } else if ( c == cell ) { - return new CKEDITOR.dom.element( oRow[ c ] ); - } - } - return cell.is ? -1 : null; - } - - function cellInCol( tableMap, colIndex ) { - var oCol = []; - for ( var r = 0; r < tableMap.length; r++ ) { - var row = tableMap[ r ]; - oCol.push( row[ colIndex ] ); - - // Avoid adding duplicate cells. - if ( row[ colIndex ].rowSpan > 1 ) { - r += row[ colIndex ].rowSpan - 1; - } - } - return oCol; - } - - function mergeCells( selection, mergeDirection, isDetect ) { - var cells = getSelectedCells( selection ), - commonAncestor; - - // Invalid merge request if: - // 1. In batch mode despite that less than two selected. - // 2. In solo mode while not exactly only one selected. - // 3. Cells distributed in different table groups (e.g. from both thead and tbody). - if ( ( mergeDirection ? cells.length != 1 : cells.length < 2 ) || - ( commonAncestor = selection.getCommonAncestor() ) && - commonAncestor.type == CKEDITOR.NODE_ELEMENT && commonAncestor.is( 'table' ) ) { - return false; - } - - var firstCell = cells[ 0 ], - table = firstCell.getAscendant( 'table' ), - map = CKEDITOR.tools.buildTableMap( table ), - mapHeight = map.length, - mapWidth = map[ 0 ].length, - startRow = firstCell.getParent().$.rowIndex, - startColumn = cellInRow( map, startRow, firstCell ), - cell; - - if ( mergeDirection ) { - var targetCell; - try { - var rowspan = parseInt( firstCell.getAttribute( 'rowspan' ), 10 ) || 1, - colspan = parseInt( firstCell.getAttribute( 'colspan' ), 10 ) || 1; - - targetCell = map[ mergeDirection == 'up' ? ( startRow - rowspan ) : mergeDirection == 'down' ? ( startRow + rowspan ) : startRow ][ - mergeDirection == 'left' ? - ( startColumn - colspan ) : - mergeDirection == 'right' ? ( startColumn + colspan ) : startColumn ]; - - } catch ( er ) { - return false; - } - - // 1. No cell could be merged. - // 2. Same cell actually. - if ( !targetCell || firstCell.$ == targetCell ) { - return false; - } - - // Sort in map order regardless of the DOM sequence. - cells[ ( mergeDirection == 'up' || mergeDirection == 'left' ) ? 'unshift' : 'push' ]( new CKEDITOR.dom.element( targetCell ) ); - } - - // Start from here are merging way ignorance (merge up/right, batch merge). - var doc = firstCell.getDocument(), - lastRowIndex = startRow, - totalRowSpan = 0, - totalColSpan = 0, - // Use a documentFragment as buffer when appending cell contents. - frag = !isDetect && new CKEDITOR.dom.documentFragment( doc ), - dimension = 0; - - for ( var i = 0; i < cells.length; i++ ) { - cell = cells[ i ]; - - var tr = cell.getParent(), - cellFirstChild = cell.getFirst(), - colSpan = cell.$.colSpan, - rowSpan = cell.$.rowSpan, - rowIndex = tr.$.rowIndex, - colIndex = cellInRow( map, rowIndex, cell ); - - // Accumulated the actual places taken by all selected cells. - dimension += colSpan * rowSpan; - // Accumulated the maximum virtual spans from column and row. - totalColSpan = Math.max( totalColSpan, colIndex - startColumn + colSpan ); - totalRowSpan = Math.max( totalRowSpan, rowIndex - startRow + rowSpan ); - - if ( !isDetect ) { - // Trim all cell fillers and check to remove empty cells. - if ( trimCell( cell ), cell.getChildren().count() ) { - // Merge vertically cells as two separated paragraphs. - if ( rowIndex != lastRowIndex && cellFirstChild && !( cellFirstChild.isBlockBoundary && cellFirstChild.isBlockBoundary( { br: 1 } ) ) ) { - var last = frag.getLast( CKEDITOR.dom.walker.whitespaces( true ) ); - if ( last && !( last.is && last.is( 'br' ) ) ) { - frag.append( 'br' ); - } - } - - cell.moveChildren( frag ); - } - i ? cell.remove() : cell.setHtml( '' ); - } - lastRowIndex = rowIndex; - } - - if ( !isDetect ) { - frag.moveChildren( firstCell ); - - firstCell.appendBogus(); - - if ( totalColSpan >= mapWidth ) { - firstCell.removeAttribute( 'rowSpan' ); - } else { - firstCell.$.rowSpan = totalRowSpan; - } - - if ( totalRowSpan >= mapHeight ) { - firstCell.removeAttribute( 'colSpan' ); - } else { - firstCell.$.colSpan = totalColSpan; - } - - // Swip empty left at the end of table due to the merging. - var trs = new CKEDITOR.dom.nodeList( table.$.rows ), - count = trs.count(); - - for ( i = count - 1; i >= 0; i-- ) { - var tailTr = trs.getItem( i ); - if ( !tailTr.$.cells.length ) { - tailTr.remove(); - count++; - continue; - } - } - - return firstCell; - } - // Be able to merge cells only if actual dimension of selected - // cells equals to the caculated rectangle. - else { - return ( totalRowSpan * totalColSpan ) == dimension; - } - } - - function horizontalSplitCell( selection, isDetect ) { - var cells = getSelectedCells( selection ); - if ( cells.length > 1 ) - return false; - else if ( isDetect ) - return true; - - var cell = cells[ 0 ], - tr = cell.getParent(), - table = tr.getAscendant( 'table' ), - map = CKEDITOR.tools.buildTableMap( table ), - rowIndex = tr.$.rowIndex, - colIndex = cellInRow( map, rowIndex, cell ), - rowSpan = cell.$.rowSpan, - newCell, newRowSpan, newCellRowSpan, newRowIndex; - - if ( rowSpan > 1 ) { - newRowSpan = Math.ceil( rowSpan / 2 ); - newCellRowSpan = Math.floor( rowSpan / 2 ); - newRowIndex = rowIndex + newRowSpan; - var newCellTr = new CKEDITOR.dom.element( table.$.rows[ newRowIndex ] ), - newCellRow = cellInRow( map, newRowIndex ), - candidateCell; - - newCell = cell.clone(); - - // Figure out where to insert the new cell by checking the vitual row. - for ( var c = 0; c < newCellRow.length; c++ ) { - candidateCell = newCellRow[ c ]; - // Catch first cell actually following the column. - if ( candidateCell.parentNode == newCellTr.$ && c > colIndex ) { - newCell.insertBefore( new CKEDITOR.dom.element( candidateCell ) ); - break; - } else { - candidateCell = null; - } - } - - // The destination row is empty, append at will. - if ( !candidateCell ) - newCellTr.append( newCell ); - } else { - newCellRowSpan = newRowSpan = 1; - - newCellTr = tr.clone(); - newCellTr.insertAfter( tr ); - newCellTr.append( newCell = cell.clone() ); - - var cellsInSameRow = cellInRow( map, rowIndex ); - for ( var i = 0; i < cellsInSameRow.length; i++ ) - cellsInSameRow[ i ].rowSpan++; - } - - newCell.appendBogus(); - - cell.$.rowSpan = newRowSpan; - newCell.$.rowSpan = newCellRowSpan; - if ( newRowSpan == 1 ) - cell.removeAttribute( 'rowSpan' ); - if ( newCellRowSpan == 1 ) - newCell.removeAttribute( 'rowSpan' ); - - return newCell; - } - - function verticalSplitCell( selection, isDetect ) { - var cells = getSelectedCells( selection ); - if ( cells.length > 1 ) - return false; - else if ( isDetect ) - return true; - - var cell = cells[ 0 ], - tr = cell.getParent(), - table = tr.getAscendant( 'table' ), - map = CKEDITOR.tools.buildTableMap( table ), - rowIndex = tr.$.rowIndex, - colIndex = cellInRow( map, rowIndex, cell ), - colSpan = cell.$.colSpan, - newCell, newColSpan, newCellColSpan; - - if ( colSpan > 1 ) { - newColSpan = Math.ceil( colSpan / 2 ); - newCellColSpan = Math.floor( colSpan / 2 ); - } else { - newCellColSpan = newColSpan = 1; - var cellsInSameCol = cellInCol( map, colIndex ); - for ( var i = 0; i < cellsInSameCol.length; i++ ) - cellsInSameCol[ i ].colSpan++; - } - newCell = cell.clone(); - newCell.insertAfter( cell ); - newCell.appendBogus(); - - cell.$.colSpan = newColSpan; - newCell.$.colSpan = newCellColSpan; - if ( newColSpan == 1 ) - cell.removeAttribute( 'colSpan' ); - if ( newCellColSpan == 1 ) - newCell.removeAttribute( 'colSpan' ); - - return newCell; - } - - CKEDITOR.plugins.tabletools = { - requires: 'table,dialog,contextmenu', - - init: function( editor ) { - var lang = editor.lang.table, - styleParse = CKEDITOR.tools.style.parse, - requiredContent = [ - 'td{width}', 'td{height}', 'td{border-color}', 'td{background-color}', 'td{white-space}', 'td{vertical-align}', 'td{text-align}', - 'td[colspan]', 'td[rowspan]', 'th' ]; - - function createDef( def ) { - return CKEDITOR.tools.extend( def || {}, { - contextSensitive: 1, - refresh: function( editor, path ) { - this.setState( path.contains( { td: 1, th: 1 }, 1 ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED ); - } - } ); - } - function addCmd( name, def ) { - var cmd = editor.addCommand( name, def ); - editor.addFeature( cmd ); - } - - addCmd( 'cellProperties', new CKEDITOR.dialogCommand( 'cellProperties', createDef( { - allowedContent: 'td th{width,height,border-color,background-color,white-space,vertical-align,text-align}[colspan,rowspan]', - requiredContent: requiredContent, - contentTransformations: [ [ { - element: 'td', - left: function( element ) { - return element.styles.background && styleParse.background( element.styles.background ).color; - }, - right: function( element ) { - element.styles[ 'background-color' ] = styleParse.background( element.styles.background ).color; - } - }, { - element: 'td', - check: 'td{vertical-align}', - left: function( element ) { - return element.attributes && element.attributes.valign; - }, - right: function( element ) { - element.styles[ 'vertical-align' ] = element.attributes.valign; - delete element.attributes.valign; - } - } - ], [ - { - // (https://dev.ckeditor.com/ticket/16818) - element: 'tr', - check: 'td{height}', - left: function( element ) { - return element.styles && element.styles.height; - }, - right: function( element ) { - CKEDITOR.tools.array.forEach( element.children, function( node ) { - if ( node.name in { td: 1, th: 1 } ) { - node.attributes[ 'cke-row-height' ] = element.styles.height; - } - } ); - - delete element.styles.height; - } - } - ], [ - { - // (https://dev.ckeditor.com/ticket/16818) - element: 'td', - check: 'td{height}', - left: function( element ) { - var attributes = element.attributes; - return attributes && attributes[ 'cke-row-height' ]; - }, - right: function( element ) { - element.styles.height = element.attributes[ 'cke-row-height' ]; - delete element.attributes[ 'cke-row-height' ]; - } - } - ] ] - } ) ) ); - CKEDITOR.dialog.add( 'cellProperties', this.path + 'dialogs/tableCell.js' ); - - addCmd( 'rowDelete', createDef( { - requiredContent: 'table', - exec: function( editor ) { - var selection = editor.getSelection(), - cursorPosition = deleteRows( selection ); - - if ( cursorPosition ) { - placeCursorInCell( cursorPosition ); - } - } - } ) ); - - addCmd( 'rowInsertBefore', createDef( { - requiredContent: 'table', - exec: function( editor ) { - var selection = editor.getSelection(), - cells = getSelectedCells( selection ); - - insertRow( cells, true ); - } - } ) ); - - addCmd( 'rowInsertAfter', createDef( { - requiredContent: 'table', - exec: function( editor ) { - var selection = editor.getSelection(), - cells = getSelectedCells( selection ); - - insertRow( cells ); - } - } ) ); - - addCmd( 'columnDelete', createDef( { - requiredContent: 'table', - exec: function( editor ) { - var selection = editor.getSelection(), - element = deleteColumns( selection ); - - if ( element ) { - placeCursorInCell( element, true ); - } - } - } ) ); - - addCmd( 'columnInsertBefore', createDef( { - requiredContent: 'table', - exec: function( editor ) { - var selection = editor.getSelection(), - cells = getSelectedCells( selection ); - - insertColumn( cells, true ); - } - } ) ); - - addCmd( 'columnInsertAfter', createDef( { - requiredContent: 'table', - exec: function( editor ) { - var selection = editor.getSelection(), - cells = getSelectedCells( selection ); - - insertColumn( cells ); - } - } ) ); - - addCmd( 'cellDelete', createDef( { - requiredContent: 'table', - exec: function( editor ) { - var selection = editor.getSelection(); - - deleteCells( selection ); - } - } ) ); - - addCmd( 'cellMerge', createDef( { - allowedContent: 'td[colspan,rowspan]', - requiredContent: 'td[colspan,rowspan]', - exec: function( editor, data ) { - data.cell = mergeCells( editor.getSelection() ); - - placeCursorInCell( data.cell, true ); - } - } ) ); - - addCmd( 'cellMergeRight', createDef( { - allowedContent: 'td[colspan]', - requiredContent: 'td[colspan]', - exec: function( editor, data ) { - data.cell = mergeCells( editor.getSelection(), 'right' ); - - placeCursorInCell( data.cell, true ); - } - } ) ); - - addCmd( 'cellMergeDown', createDef( { - allowedContent: 'td[rowspan]', - requiredContent: 'td[rowspan]', - exec: function( editor, data ) { - data.cell = mergeCells( editor.getSelection(), 'down' ); - - placeCursorInCell( data.cell, true ); - } - } ) ); - - addCmd( 'cellVerticalSplit', createDef( { - allowedContent: 'td[rowspan]', - requiredContent: 'td[rowspan]', - exec: function( editor ) { - placeCursorInCell( verticalSplitCell( editor.getSelection() ) ); - } - } ) ); - - addCmd( 'cellHorizontalSplit', createDef( { - allowedContent: 'td[colspan]', - requiredContent: 'td[colspan]', - exec: function( editor ) { - placeCursorInCell( horizontalSplitCell( editor.getSelection() ) ); - } - } ) ); - - addCmd( 'cellInsertBefore', createDef( { - requiredContent: 'table', - exec: function( editor ) { - var selection = editor.getSelection(); - - insertCell( selection, true ); - } - } ) ); - - addCmd( 'cellInsertAfter', createDef( { - requiredContent: 'table', - exec: function( editor ) { - var selection = editor.getSelection(); - - insertCell( selection ); - } - } ) ); - - // If the "menu" plugin is loaded, register the menu items. - if ( editor.addMenuItems ) { - editor.addMenuItems( { - tablecell: { - label: lang.cell.menu, - group: 'tablecell', - order: 1, - getItems: function() { - var selection = editor.getSelection(), - cells = getSelectedCells( selection ), - items = { - tablecell_insertBefore: CKEDITOR.TRISTATE_OFF, - tablecell_insertAfter: CKEDITOR.TRISTATE_OFF, - tablecell_delete: CKEDITOR.TRISTATE_OFF, - tablecell_merge: mergeCells( selection, null, true ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED, - tablecell_merge_right: mergeCells( selection, 'right', true ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED, - tablecell_merge_down: mergeCells( selection, 'down', true ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED, - tablecell_split_vertical: verticalSplitCell( selection, true ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED, - tablecell_split_horizontal: horizontalSplitCell( selection, true ) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED - }; - - if ( editor.filter.check( requiredContent ) ) { - items.tablecell_properties = cells.length > 0 ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED; - } - - return items; - } - }, - - tablecell_insertBefore: { - label: lang.cell.insertBefore, - group: 'tablecell', - command: 'cellInsertBefore', - order: 5 - }, - - tablecell_insertAfter: { - label: lang.cell.insertAfter, - group: 'tablecell', - command: 'cellInsertAfter', - order: 10 - }, - - tablecell_delete: { - label: lang.cell.deleteCell, - group: 'tablecell', - command: 'cellDelete', - order: 15 - }, - - tablecell_merge: { - label: lang.cell.merge, - group: 'tablecell', - command: 'cellMerge', - order: 16 - }, - - tablecell_merge_right: { - label: lang.cell.mergeRight, - group: 'tablecell', - command: 'cellMergeRight', - order: 17 - }, - - tablecell_merge_down: { - label: lang.cell.mergeDown, - group: 'tablecell', - command: 'cellMergeDown', - order: 18 - }, - - tablecell_split_horizontal: { - label: lang.cell.splitHorizontal, - group: 'tablecell', - command: 'cellHorizontalSplit', - order: 19 - }, - - tablecell_split_vertical: { - label: lang.cell.splitVertical, - group: 'tablecell', - command: 'cellVerticalSplit', - order: 20 - }, - - tablecell_properties: { - label: lang.cell.title, - group: 'tablecellproperties', - command: 'cellProperties', - order: 21 - }, - - tablerow: { - label: lang.row.menu, - group: 'tablerow', - order: 1, - getItems: function() { - return { - tablerow_insertBefore: CKEDITOR.TRISTATE_OFF, - tablerow_insertAfter: CKEDITOR.TRISTATE_OFF, - tablerow_delete: CKEDITOR.TRISTATE_OFF - }; - } - }, - - tablerow_insertBefore: { - label: lang.row.insertBefore, - group: 'tablerow', - command: 'rowInsertBefore', - order: 5 - }, - - tablerow_insertAfter: { - label: lang.row.insertAfter, - group: 'tablerow', - command: 'rowInsertAfter', - order: 10 - }, - - tablerow_delete: { - label: lang.row.deleteRow, - group: 'tablerow', - command: 'rowDelete', - order: 15 - }, - - tablecolumn: { - label: lang.column.menu, - group: 'tablecolumn', - order: 1, - getItems: function() { - return { - tablecolumn_insertBefore: CKEDITOR.TRISTATE_OFF, - tablecolumn_insertAfter: CKEDITOR.TRISTATE_OFF, - tablecolumn_delete: CKEDITOR.TRISTATE_OFF - }; - } - }, - - tablecolumn_insertBefore: { - label: lang.column.insertBefore, - group: 'tablecolumn', - command: 'columnInsertBefore', - order: 5 - }, - - tablecolumn_insertAfter: { - label: lang.column.insertAfter, - group: 'tablecolumn', - command: 'columnInsertAfter', - order: 10 - }, - - tablecolumn_delete: { - label: lang.column.deleteColumn, - group: 'tablecolumn', - command: 'columnDelete', - order: 15 - } - } ); - } - - // If the "contextmenu" plugin is loaded, register the listeners. - if ( editor.contextMenu ) { - editor.contextMenu.addListener( function( element, selection, path ) { - var cell = path.contains( { 'td': 1, 'th': 1 }, 1 ); - if ( cell && !cell.isReadOnly() ) { - return { - tablecell: CKEDITOR.TRISTATE_OFF, - tablerow: CKEDITOR.TRISTATE_OFF, - tablecolumn: CKEDITOR.TRISTATE_OFF - }; - } - - return null; - } ); - } - }, - - // These methods are needed by tableselection plugin, so we must expose them. - getCellColIndex: getCellColIndex, - insertRow: insertRow, - insertColumn: insertColumn, - - getSelectedCells: getSelectedCells - }; - CKEDITOR.plugins.add( 'tabletools', CKEDITOR.plugins.tabletools ); -} )(); - -/** - * Creates a two-dimension array that reflects the actual layout of table cells, - * with cell spans, with mappings to the original `td` elements. - * - * It could also create a map for the specified fragment of the table. - * - * @param {CKEDITOR.dom.element} table - * @param {Number} startRow Row index from which the map should be created. - * @param {Number} startCell Cell index from which the map should be created. - * @param {Number} endRow Row index to which the map should be created. - * @param {Number} endCell Cell index to which the map should be created. - * @member CKEDITOR.tools - */ -CKEDITOR.tools.buildTableMap = function( table, startRow, startCell, endRow, endCell ) { - var aRows = table.$.rows; - - startRow = startRow || 0; - startCell = startCell || 0; - endRow = typeof endRow === 'number' ? endRow : aRows.length - 1; - endCell = typeof endCell === 'number' ? endCell : -1; - - // Row and Column counters. - var r = -1, - aMap = []; - - for ( var i = startRow; i <= endRow; i++ ) { - r++; - !aMap[ r ] && ( aMap[ r ] = [] ); - - var c = -1; - - for ( var j = startCell; j <= ( endCell === -1 ? ( aRows[ i ].cells.length - 1 ) : endCell ); j++ ) { - var oCell = aRows[ i ].cells[ j ]; - - if ( !oCell ) { - break; - } - - c++; - while ( aMap[ r ][ c ] ) { - c++; - } - - var iColSpan = isNaN( oCell.colSpan ) ? 1 : oCell.colSpan, - iRowSpan = isNaN( oCell.rowSpan ) ? 1 : oCell.rowSpan; - - for ( var rs = 0; rs < iRowSpan; rs++ ) { - if ( i + rs > endRow ) { - break; - } - - if ( !aMap[ r + rs ] ) { - aMap[ r + rs ] = []; - } - - for ( var cs = 0; cs < iColSpan; cs++ ) { - aMap[ r + rs ][ c + cs ] = aRows[ i ].cells[ j ]; - } - } - - c += iColSpan - 1; - - if ( endCell !== -1 && c >= endCell ) { - break; - } - } - } - return aMap; -}; - -/** - * Changes the available values of the "Cell Type" field inside the - * "Cell Properties" dialog. If it's set to `false` (the default value), the "Cell Type" field - * will contain two options: - * - * * "Data", - * * "Header". - * - * If the option is set to `true`, the "Cell Type" field in the "Cell Properties" dialog - * will contain three possible values: - * - * * "Data", - * * "Column Header", - * * "Row Header". - * - * Column and row header options updates table headers (`th`) with the - * [`scope` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th#attr-scope) - * that may improve accessibility experience in more complex tables. Read the - * [w3.org guide about using the scope attribute to associate header cells - * and data cells in data tables](https://www.w3.org/WAI/WCAG21/Techniques/html/H63) - * to learn more. - * - * If this config variable is set to `true` and there is a `th` element without the - * `scope` attribute in the editor's content, its "Cell Type" value will be set to an empty value. - * To avoid that issue, tables with `th` elements need to be migrated. - * The sample transformation that adds `[scope=col]` to all scopeless `th` elements is presented below: - * - * ```javascript - * editor.filter.addTransformations( [ - * [ - * { - * element: 'th', - * left: function( el ) { - * return !el.attributes.scope; - * }, - * right: function( el ) { - * el.attributes.scope = 'col'; - * } - * } - * ] - * ] ); - * ``` - * - * The transformation is added to the editor using {@link CKEDITOR.filter#addTransformations}. - * - * @since 4.20.0 - * @cfg [tabletools_scopedHeaders=false] - * @member CKEDITOR.config - */ -CKEDITOR.config.tabletools_scopedHeaders = false; diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/contents.css b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/contents.css deleted file mode 100644 index c2b51d3630..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/contents.css +++ /dev/null @@ -1,23 +0,0 @@ -.mediumBorder { - border-width: 2px; -} -.thickBorder { - border-width: 5px; -} -img.thickBorder, img.mediumBorder { - border-style: solid; - border-color: #CCC; -} -.important.soMuch { - margin: 25px; - padding: 25px; - background: red; - border: none; -} - -span.redMarker { - background-color: red; -} -.invisible { - opacity: 0.1; -} \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/sample.jpg b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/sample.jpg deleted file mode 100644 index a4a77fae83..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/sample.jpg and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/contents.css b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/contents.css deleted file mode 100644 index dba301503f..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/contents.css +++ /dev/null @@ -1,36 +0,0 @@ -.simplebox { - padding: 8px; - margin: 10px; - background: #eee; - border-radius: 8px; - border: 1px solid #ddd; - box-shadow: 0 1px 1px #fff inset, 0 -1px 0px #ccc inset; -} -.simplebox-title, .simplebox-content { - box-shadow: 0 1px 1px #ddd inset; - border: 1px solid #cccccc; - border-radius: 5px; - background: #fff; -} -.simplebox-title { - margin: 0 0 8px; - padding: 5px 8px; -} -.simplebox-content { - padding: 0 8px; -} -.simplebox-content::after { - content: ''; - display: block; - clear: both; -} -.simplebox.align-right { - float: right; -} -.simplebox.align-left { - float: left; -} -.simplebox.align-center { - margin-left: auto; - margin-right: auto; -} \ No newline at end of file diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/dialogs/simplebox.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/dialogs/simplebox.js deleted file mode 100644 index 88d1e41bde..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/dialogs/simplebox.js +++ /dev/null @@ -1,51 +0,0 @@ -// Note: This automatic widget to dialog window binding (the fact that every field is set up from the widget -// and is committed to the widget) is only possible when the dialog is opened by the Widgets System -// (i.e. the widgetDef.dialog property is set). -// When you are opening the dialog window by yourself, you need to take care of this by yourself too. - -CKEDITOR.dialog.add( 'simplebox', function( editor ) { - return { - title: 'Edit Simple Box', - minWidth: 200, - minHeight: 100, - contents: [ - { - id: 'info', - elements: [ - { - id: 'align', - type: 'select', - label: 'Align', - items: [ - [ editor.lang.common.notSet, '' ], - [ editor.lang.common.left, 'left' ], - [ editor.lang.common.right, 'right' ], - [ editor.lang.common.center, 'center' ] - ], - // When setting up this field, set its value to the "align" value from widget data. - // Note: Align values used in the widget need to be the same as those defined in the "items" array above. - setup: function( widget ) { - this.setValue( widget.data.align ); - }, - // When committing (saving) this field, set its value to the widget data. - commit: function( widget ) { - widget.setData( 'align', this.getValue() ); - } - }, - { - id: 'width', - type: 'text', - label: 'Width', - width: '50px', - setup: function( widget ) { - this.setValue( widget.data.width ); - }, - commit: function( widget ) { - widget.setData( 'width', this.getValue() ); - } - } - ] - } - ] - }; -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/icons/simplebox.png b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/icons/simplebox.png deleted file mode 100644 index 6a5e3131a5..0000000000 Binary files a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/icons/simplebox.png and /dev/null differ diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/plugin.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/plugin.js deleted file mode 100644 index 47d2c62bab..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/assets/simplebox/plugin.js +++ /dev/null @@ -1,114 +0,0 @@ -'use strict'; - -// Register the plugin within the editor. -CKEDITOR.plugins.add( 'simplebox', { - // This plugin requires the Widgets System defined in the 'widget' plugin. - requires: 'widget,dialog', - - // Register the icon used for the toolbar button. It must be the same - // as the name of the widget. - icons: 'simplebox', - - // The plugin initialization logic goes inside this method. - init: function( editor ) { - // Register the editing dialog. - CKEDITOR.dialog.add( 'simplebox', this.path + 'dialogs/simplebox.js' ); - - // Register the simplebox widget. - editor.widgets.add( 'simplebox', { - // Allow all HTML elements, classes, and styles that this widget requires. - // Read more about the Advanced Content Filter here: - // * https://ckeditor.com/docs/ckeditor4/latest/guide/dev_advanced_content_filter.html - // * https://ckeditor.com/docs/ckeditor4/latest/guide/plugin_sdk_integration_with_acf.html - allowedContent: - 'div(!simplebox,align-left,align-right,align-center){width};' + - 'div(!simplebox-content); h2(!simplebox-title)', - - // Minimum HTML which is required by this widget to work. - requiredContent: 'div(simplebox)', - - // Define two nested editable areas. - editables: { - title: { - // Define CSS selector used for finding the element inside widget element. - selector: '.simplebox-title', - // Define content allowed in this nested editable. Its content will be - // filtered accordingly and the toolbar will be adjusted when this editable - // is focused. - allowedContent: 'br strong em' - }, - content: { - selector: '.simplebox-content' - } - }, - - // Define the template of a new Simple Box widget. - // The template will be used when creating new instances of the Simple Box widget. - template: - '
' + - '

Title

' + - '

Content...

' + - '
', - - // Define the label for a widget toolbar button which will be automatically - // created by the Widgets System. This button will insert a new widget instance - // created from the template defined above, or will edit selected widget - // (see second part of this tutorial to learn about editing widgets). - // - // Note: In order to be able to translate your widget you should use the - // editor.lang.simplebox.* property. A string was used directly here to simplify this tutorial. - button: 'Create a simple box', - - // Set the widget dialog window name. This enables the automatic widget-dialog binding. - // This dialog window will be opened when creating a new widget or editing an existing one. - dialog: 'simplebox', - - // Check the elements that need to be converted to widgets. - // - // Note: The "element" argument is an instance of https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_htmlParser_element.html - // so it is not a real DOM element yet. This is caused by the fact that upcasting is performed - // during data processing which is done on DOM represented by JavaScript objects. - upcast: function( element ) { - // Return "true" (that element needs to converted to a Simple Box widget) - // for all
elements with a "simplebox" class. - return element.name == 'div' && element.hasClass( 'simplebox' ); - }, - - // When a widget is being initialized, we need to read the data ("align" and "width") - // from DOM and set it by using the widget.setData() method. - // More code which needs to be executed when DOM is available may go here. - init: function() { - var width = this.element.getStyle( 'width' ); - if ( width ) - this.setData( 'width', width ); - - if ( this.element.hasClass( 'align-left' ) ) - this.setData( 'align', 'left' ); - if ( this.element.hasClass( 'align-right' ) ) - this.setData( 'align', 'right' ); - if ( this.element.hasClass( 'align-center' ) ) - this.setData( 'align', 'center' ); - }, - - // Listen on the widget#data event which is fired every time the widget data changes - // and updates the widget's view. - // Data may be changed by using the widget.setData() method, which we use in the - // Simple Box dialog window. - data: function() { - // Check whether "width" widget data is set and remove or set "width" CSS style. - // The style is set on widget main element (div.simplebox). - if ( !this.data.width ) - this.element.removeStyle( 'width' ); - else - this.element.setStyle( 'width', this.data.width ); - - // Brutally remove all align classes and set a new one if "align" widget data is set. - this.element.removeClass( 'align-left' ); - this.element.removeClass( 'align-right' ); - this.element.removeClass( 'align-center' ); - if ( this.data.align ) - this.element.addClass( 'align-' + this.data.align ); - } - } ); - } -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/console.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/console.js deleted file mode 100644 index 4e08bd320f..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/console.js +++ /dev/null @@ -1,131 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ - -/* global CKCONSOLE */ - -'use strict'; - -( function() { - - CKCONSOLE.add( 'widget', { - panels: [ - { - type: 'box', - content: '
    ', - - refresh: function( editor ) { - var instances = obj2Array( editor.widgets.instances ); - - return { - header: 'Instances (' + instances.length + ')', - instances: generateInstancesList( instances ) - }; - }, - - refreshOn: function( editor, refresh ) { - editor.widgets.on( 'instanceCreated', function( evt ) { - refresh(); - - evt.data.on( 'data', refresh ); - } ); - - editor.widgets.on( 'instanceDestroyed', refresh ); - } - }, - - { - type: 'box', - content: - '
      ' + - '
    • focused:
    • ' + - '
    • selected:
    • ' + - '
    ', - - refresh: function( editor ) { - var focused = editor.widgets.focused, - selected = editor.widgets.selected, - selectedIds = []; - - for ( var i = 0; i < selected.length; ++i ) - selectedIds.push( selected[ i ].id ); - - return { - header: 'Focus & selection', - focused: focused ? 'id: ' + focused.id : '-', - selected: selectedIds.length ? 'id: ' + selectedIds.join( ', id: ' ) : '-' - }; - }, - - refreshOn: function( editor, refresh ) { - editor.on( 'selectionCheck', refresh, null, null, 999 ); - } - }, - - { - type: 'log', - - on: function( editor, log, logFn ) { - // Add all listeners with high priorities to log - // messages in the correct order when one event depends on another. - // E.g. selectionChange triggers widget selection - if this listener - // for selectionChange will be executed later than that one, then order - // will be incorrect. - - editor.on( 'selectionChange', function( evt ) { - var msg = 'selection change', - sel = evt.data.selection, - el = sel.getSelectedElement(), - widget; - - if ( el && ( widget = editor.widgets.getByElement( el, true ) ) ) - msg += ' (id: ' + widget.id + ')'; - - log( msg ); - }, null, null, 1 ); - - editor.widgets.on( 'instanceDestroyed', function( evt ) { - log( 'instance destroyed (id: ' + evt.data.id + ')' ); - }, null, null, 1 ); - - editor.widgets.on( 'instanceCreated', function( evt ) { - log( 'instance created (id: ' + evt.data.id + ')' ); - }, null, null, 1 ); - - editor.widgets.on( 'widgetFocused', function( evt ) { - log( 'widget focused (id: ' + evt.data.widget.id + ')' ); - }, null, null, 1 ); - - editor.widgets.on( 'widgetBlurred', function( evt ) { - log( 'widget blurred (id: ' + evt.data.widget.id + ')' ); - }, null, null, 1 ); - - editor.widgets.on( 'checkWidgets', logFn( 'checking widgets' ), null, null, 1 ); - editor.widgets.on( 'checkSelection', logFn( 'checking selection' ), null, null, 1 ); - } - } - ] - } ); - - function generateInstancesList( instances ) { - var html = '', - instance; - - for ( var i = 0; i < instances.length; ++i ) { - instance = instances[ i ]; - html += itemTpl.output( { id: instance.id, name: instance.name, data: JSON.stringify( instance.data ) } ); - } - return html; - } - - function obj2Array( obj ) { - var arr = []; - for ( var id in obj ) - arr.push( obj[ id ] ); - - return arr; - } - - var itemTpl = new CKEDITOR.template( '
  • id: {id}, name: {name}, data: {data}
  • ' ); -} )(); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/nestedwidgets.html b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/nestedwidgets.html deleted file mode 100644 index 8c40128bf9..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/nestedwidgets.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - Nested widgets — CKEditor Sample - - - - - - - - - -

    Nested widgets

    - -

    Classic (iframe-based) Sample

    - - -

    Inline Sample

    -
    -

    Simple Box Sample

    - -
    -

    Title

    -
    -

    Apollo 11 was the spaceflight that landed the first humans, Americans Neil Armstrong and Buzz Aldrin, on the Moon on [[July 20, 1969, at 20:18 UTC]]. Armstrong became the first to step onto the lunar surface 6 hours later on [[July 21 at 02:56 UTC]].

    - -
    - The Eagle -
    The Eagle in lunar orbit
    -
    - -
      -
    • Foo!
    • -
    • Bar!
    • -
    - -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sit amet orci ut nisi adipiscing ultrices. Sed pellentesque iaculis malesuada. Pellentesque scelerisque, purus non porta dictum, neque urna bibendum dolor, eget tristique ipsum metus fringilla dolor. Nullam sed accumsan sapien. Vestibulum in placerat magna. Sed justo lacus, volutpat rhoncus odio luctus, ornare adipiscing mauris. Vivamus erat sem, egestas et lectus eget, varius cursus odio. Duis posuere lacus sit amet urna bibendum, id iaculis eros ultrices. Vestibulum a ultrices ante.

    -
    -
    - -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sit amet orci ut nisi adipiscing ultrices. Sed pellentesque iaculis malesuada. Pellentesque scelerisque, purus non porta dictum, neque urna bibendum dolor, eget tristique ipsum metus fringilla dolor. Nullam sed accumsan sapien. Vestibulum in placerat magna. Sed justo lacus, volutpat rhoncus odio luctus, ornare adipiscing mauris. Vivamus erat sem, egestas et lectus eget, varius cursus odio. Duis posuere lacus sit amet urna bibendum, id iaculis eros ultrices. Vestibulum a ultrices ante.

    - -

    Pellentesque vitae eleifend nisl, non accumsan tellus. Maecenas nec libero non tellus tincidunt mollis porttitor sed arcu. Donec ultricies nulla vitae eros lacinia, vel congue sem auctor. Vivamus convallis, urna ac tincidunt malesuada, lectus erat convallis metus, a hendrerit massa augue accumsan magna. Nulla mattis tellus elit, nec congue magna scelerisque eget. Aliquam posuere nisi augue, posuere sodales nisi iaculis eu. Donec fermentum urna id nibh sagittis fermentum sit amet sed enim. Aliquam neque elit, pretium elementum nunc a, faucibus accumsan lorem. Etiam pulvinar odio et hendrerit tincidunt. Suspendisse tempus eros lacus, in convallis velit mollis ut. Aenean congue, justo eleifend ultricies malesuada, nunc nunc molestie mauris, eget placerat libero eros vel nisi. Quisque diam arcu, mollis ac laoreet vitae, varius et sem. Interdum et malesuada fames ac ante ipsum primis in faucibus. Duis in vehicula sapien. Nunc feugiat porta elit nec volutpat.

    - -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sit amet orci ut nisi adipiscing ultrices. Sed pellentesque iaculis malesuada. Pellentesque scelerisque, purus non porta dictum, neque urna bibendum dolor, eget tristique ipsum metus fringilla dolor. Nullam sed accumsan sapien. Vestibulum in placerat magna. Sed justo lacus, volutpat rhoncus odio luctus, ornare adipiscing mauris. Vivamus erat sem, egestas et lectus eget, varius cursus odio. Duis posuere lacus sit amet urna bibendum, id iaculis eros ultrices. Vestibulum a ultrices ante.

    - -
    -

    Title

    -
    -

    The EagleApollo 11 was the spaceflight that landed the first humans, Americans Neil Armstrong and Buzz Aldrin, on the Moon on [[July 20, 1969, at 20:18 UTC]]. Armstrong became the first to step onto the lunar surface 6 hours later on [[July 21 at 02:56 UTC]].

    - -
      -
    • Foo!
    • -
    • Bar!
    • -
    -
    -
    - -

    Ut eget ipsum a sapien porta ultrices. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus mi lacus, pharetra eu bibendum blandit, tristique sit amet leo. Integer eu nulla nec magna vulputate blandit. Praesent mattis quis ante eget adipiscing. Nulla vel tempus risus, in placerat velit. Mauris sed nibh at elit posuere laoreet. Morbi non sapien sed nunc fringilla imperdiet.

    -
    - - - - diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/widgetstyles.html b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/widgetstyles.html deleted file mode 100644 index 14bc47999a..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/dev/widgetstyles.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - Applying styles to widgets — CKEditor Sample - - - - - - -

    Applying styles to widgets

    - -

    Classic (iframe-based) Sample

    - - -

    Inline Sample

    -
    -

    Apollo 11

    - -
    - Saturn V -
    Roll out of Saturn V on launch pad
    -
    - -

    Apollo 11 was the spaceflight that landed the first humans, Americans Neil Armstrong and Buzz Aldrin, on the Moon on [[July 20, 1969, at 20:18 UTC]]. Armstrong became the first to step onto the lunar surface 6 hours later on [[July 21 at 02:56 UTC]].

    - -

    Armstrong spent about three and a half two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5 kg) of lunar material for return to Earth. A third member of the mission, Michael Collins, piloted the command spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.

    - -

    Broadcasting and quotes

    - -

    Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:

    - -
    -

    One small step for [a] man, one giant leap for mankind.

    -
    - -

    \( \left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right) \)

    - -

    Apollo 11 effectively ended the Space Race and fulfilled a national goal proposed in 1961 by the late U.S. President John F. Kennedy in a speech before the United States Congress:

    - -
    -

    [...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.

    -
    - -
    - The Eagle -
    The Eagle in lunar orbit
    -
    - -

    Technical details

    - -

    Launched by a Saturn V rocket from Kennedy Space Center in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of NASA's Apollo program. The Apollo spacecraft had three parts:

    - -
      -
    1. Command Module with a cabin for the three astronauts which was the only part which landed back on Earth
    2. -
    3. Service Module which supported the Command Module with propulsion, electrical power, oxygen and water
    4. -
    5. Lunar Module for landing on the Moon.
    6. -
    - -

    After being sent to the Moon by the Saturn V's upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the Sea of Tranquility. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the Pacific Ocean on July 24.

    -
    - - - - diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/af.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/af.js deleted file mode 100644 index 03c5ccd717..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/af.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'af', { - 'move': 'Klik en trek on te beweeg', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ar.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ar.js deleted file mode 100644 index d4aa51d25f..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ar.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'ar', { - 'move': 'إضغط و إسحب للتحريك', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/az.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/az.js deleted file mode 100644 index 099912ca81..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/az.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'az', { - 'move': 'Tıklayın və aparın', - 'label': '%1 vidjet' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/bg.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/bg.js deleted file mode 100644 index fb07cd4627..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/bg.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'bg', { - 'move': 'Кликни и влачи, за да преместиш', - 'label': '%1 приставка' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ca.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ca.js deleted file mode 100644 index 8ca199cb14..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ca.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'ca', { - 'move': 'Clicar i arrossegar per moure', - 'label': '%1 widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/cs.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/cs.js deleted file mode 100644 index 65c38c2825..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/cs.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'cs', { - 'move': 'Klepněte a táhněte pro přesunutí', - 'label': 'Ovládací prvek %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/cy.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/cy.js deleted file mode 100644 index 64dc47b209..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/cy.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'cy', { - 'move': 'Clcio a llusgo i symud', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/da.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/da.js deleted file mode 100644 index 6b1f9c9ab5..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/da.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'da', { - 'move': 'Klik og træk for at flytte', - 'label': '%1 widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/de-ch.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/de-ch.js deleted file mode 100644 index 29aee25fc3..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/de-ch.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'de-ch', { - 'move': 'Zum Verschieben anwählen und ziehen', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/de.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/de.js deleted file mode 100644 index 09b2e14448..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/de.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'de', { - 'move': 'Zum Verschieben anwählen und ziehen', - 'label': '%1 Steuerelement' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/el.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/el.js deleted file mode 100644 index da005a20af..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/el.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'el', { - 'move': 'Κάνετε κλικ και σύρετε το ποντίκι για να μετακινήστε', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/en-au.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/en-au.js deleted file mode 100644 index 48b6ea61e0..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/en-au.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'en-au', { - 'move': 'Click and drag to move', - 'label': '%1 widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/en-gb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/en-gb.js deleted file mode 100644 index 09179e5a65..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/en-gb.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'en-gb', { - 'move': 'Click and drag to move', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/en.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/en.js deleted file mode 100644 index c66d699b52..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/en.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'en', { - 'move': 'Click and drag to move', - 'label': '%1 widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/eo.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/eo.js deleted file mode 100644 index 9cc0c2cf44..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/eo.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'eo', { - 'move': 'klaki kaj treni por movi', - 'label': '%1 fenestraĵo' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/es-mx.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/es-mx.js deleted file mode 100644 index 6406693485..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/es-mx.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'es-mx', { - 'move': 'Presiona y arrastra para mover', - 'label': '%1 widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/es.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/es.js deleted file mode 100644 index 31b28f60f9..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/es.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'es', { - 'move': 'Dar clic y arrastrar para mover', - 'label': 'reproductor %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/et.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/et.js deleted file mode 100644 index d779b5bf00..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/et.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'et', { - 'move': 'Liigutamiseks klõpsa ja lohista', - 'label': '%1 vidin' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/eu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/eu.js deleted file mode 100644 index 931d2f7300..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/eu.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'eu', { - 'move': 'Klikatu eta arrastatu lekuz aldatzeko', - 'label': '%1 widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/fa.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/fa.js deleted file mode 100644 index 9b103004ad..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/fa.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'fa', { - 'move': 'کلیک و کشیدن برای جابجایی', - 'label': 'ابزارک %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/fi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/fi.js deleted file mode 100644 index 4033f837cf..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/fi.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'fi', { - 'move': 'Siirrä klikkaamalla ja raahaamalla', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/fr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/fr.js deleted file mode 100644 index cadc368bbb..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/fr.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'fr', { - 'move': 'Cliquer et glisser pour déplacer', - 'label': 'Élément %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/gl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/gl.js deleted file mode 100644 index 7dcf29a17e..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/gl.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'gl', { - 'move': 'Prema e arrastre para mover', - 'label': 'Trebello %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/he.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/he.js deleted file mode 100644 index 7d80f7a28d..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/he.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'he', { - 'move': 'לחץ וגרור להזזה', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/hr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/hr.js deleted file mode 100644 index 455168bb10..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/hr.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'hr', { - 'move': 'Klikni i povuci za pomicanje', - 'label': '%1 widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/hu.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/hu.js deleted file mode 100644 index 968ea1de49..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/hu.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'hu', { - 'move': 'Kattints és húzd a mozgatáshoz', - 'label': '%1 modul' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/id.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/id.js deleted file mode 100644 index 07005c9862..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/id.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'id', { - 'move': 'Tekan dan geser untuk memindahkan', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/it.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/it.js deleted file mode 100644 index 495fd6312a..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/it.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'it', { - 'move': 'Fare clic e trascinare per spostare', - 'label': 'Widget %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ja.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ja.js deleted file mode 100644 index 12c6127275..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ja.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'ja', { - 'move': 'ドラッグして移動', - 'label': '%1 ウィジェット' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/km.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/km.js deleted file mode 100644 index fd95a56e54..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/km.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'km', { - 'move': 'ចុច​ហើយ​ទាញ​ដើម្បី​ផ្លាស់​ទី', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ko.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ko.js deleted file mode 100644 index 515eae4b19..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ko.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'ko', { - 'move': '움직이려면 클릭 후 드래그 하세요', - 'label': '%1 위젯' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ku.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ku.js deleted file mode 100644 index 24563c4d03..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ku.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'ku', { - 'move': 'کرتەبکە و ڕایبکێشە بۆ جوڵاندن', - 'label': '%1 ویجێت' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/lt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/lt.js deleted file mode 100644 index d113a03114..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/lt.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'lt', { - 'move': 'Paspauskite ir tempkite kad perkeltumėte', - 'label': '%1 valdiklis' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/lv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/lv.js deleted file mode 100644 index ae1108b770..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/lv.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'lv', { - 'move': 'Klikšķina un velc, lai pārvietotu', - 'label': 'logrīks %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/nb.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/nb.js deleted file mode 100644 index 3263ea26e4..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/nb.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'nb', { - 'move': 'Klikk og dra for å flytte', - 'label': 'Widget %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/nl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/nl.js deleted file mode 100644 index 3a46f6049b..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/nl.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'nl', { - 'move': 'Klik en sleep om te verplaatsen', - 'label': '%1 widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/no.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/no.js deleted file mode 100644 index 744acf752c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/no.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'no', { - 'move': 'Klikk og dra for å flytte', - 'label': 'Widget %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/oc.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/oc.js deleted file mode 100644 index 3ee33a31b0..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/oc.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'oc', { - 'move': 'Clicar e lisar per desplaçar', - 'label': 'Element %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/pl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/pl.js deleted file mode 100644 index fcb9fa9a55..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/pl.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'pl', { - 'move': 'Kliknij i przeciągnij, by przenieść.', - 'label': 'Widget %1' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/pt-br.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/pt-br.js deleted file mode 100644 index cc8dd06abf..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/pt-br.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'pt-br', { - 'move': 'Click e arraste para mover', - 'label': '%1 widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/pt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/pt.js deleted file mode 100644 index 67465d1b64..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/pt.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'pt', { - 'move': 'Clique e arraste para mover', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ro.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ro.js deleted file mode 100644 index 042d999157..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ro.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'ro', { - 'move': 'Apasă și trage pentru a muta', - 'label': '%1 widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ru.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ru.js deleted file mode 100644 index 1b1d32efed..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ru.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'ru', { - 'move': 'Нажмите и перетащите, чтобы переместить', - 'label': '%1 виджет' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sk.js deleted file mode 100644 index 7cf523d8d4..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sk.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'sk', { - 'move': 'Kliknite a potiahnite pre presunutie', - 'label': '%1 widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sl.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sl.js deleted file mode 100644 index 5edc542aff..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sl.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'sl', { - 'move': 'Kliknite in povlecite, da premaknete', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sq.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sq.js deleted file mode 100644 index 078bd31c10..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sq.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'sq', { - 'move': 'Kliko dhe tërhiqe për ta lëvizur', - 'label': '%1 vegël' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sr-latn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sr-latn.js deleted file mode 100644 index 34ecb4076e..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sr-latn.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'sr-latn', { - 'move': 'Kliknite i povucite da bi pomerali', - 'label': '%1 modul' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sr.js deleted file mode 100644 index 849289b3d6..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sr.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'sr', { - 'move': 'Кликните и повуците да би померали', - 'label': '%1 модул' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sv.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sv.js deleted file mode 100644 index 1a7c968aa8..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/sv.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'sv', { - 'move': 'Klicka och drag för att flytta', - 'label': '%1-widget' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/tr.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/tr.js deleted file mode 100644 index 64e37fa1b9..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/tr.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'tr', { - 'move': 'Taşımak için, tıklayın ve sürükleyin', - 'label': '%1 Grafik Beleşeni' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/tt.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/tt.js deleted file mode 100644 index 64a833286c..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/tt.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'tt', { - 'move': 'Күчереп куер өчен басып шудырыгыз', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ug.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ug.js deleted file mode 100644 index a339332633..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/ug.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'ug', { - 'move': 'يۆتكەشتە چېكىپ سۆرەڭ', - 'label': '1% بېزەك' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/uk.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/uk.js deleted file mode 100644 index a48ae549c3..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/uk.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'uk', { - 'move': 'Клікніть і потягніть для переміщення', - 'label': '%1 віджет' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/vi.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/vi.js deleted file mode 100644 index 4fff9a1efd..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/vi.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'vi', { - 'move': 'Nhấp chuột và kéo để di chuyển', - 'label': '%1 widget' // MISSING -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/zh-cn.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/zh-cn.js deleted file mode 100644 index 250bb11f67..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/zh-cn.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'zh-cn', { - 'move': '点击并拖拽以移动', - 'label': '%1 小部件' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/zh.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/zh.js deleted file mode 100644 index ad0c39a3da..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/lang/zh.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ -CKEDITOR.plugins.setLang( 'widget', 'zh', { - 'move': '拖曳以移動', - 'label': '%1 小工具' -} ); diff --git a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/plugin.js b/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/plugin.js deleted file mode 100644 index 8364a56e45..0000000000 --- a/commons-extension-webapp/src/main/webapp/ckeditor/plugins/widget/plugin.js +++ /dev/null @@ -1,4852 +0,0 @@ -/** - * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved. - * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license - */ - -/** - * @fileOverview [Widget](https://ckeditor.com/cke4/addon/widget) plugin. - */ - -'use strict'; - -( function() { - var DRAG_HANDLER_SIZE = 15; - - CKEDITOR.plugins.add( 'widget', { - // jscs:disable maximumLineLength - lang: 'af,ar,az,bg,ca,cs,cy,da,de,de-ch,el,en,en-au,en-gb,eo,es,es-mx,et,eu,fa,fi,fr,gl,he,hr,hu,id,it,ja,km,ko,ku,lt,lv,nb,nl,no,oc,pl,pt,pt-br,ro,ru,sk,sl,sq,sr,sr-latn,sv,tr,tt,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% - // jscs:enable maximumLineLength - requires: 'lineutils,clipboard,widgetselection', - onLoad: function() { - // Widgets require querySelectorAll for proper work (#1319). - if ( CKEDITOR.document.$.querySelectorAll === undefined ) { - return; - } - CKEDITOR.addCss( - '.cke_widget_wrapper{' + - 'position:relative;' + - 'outline:none' + - '}' + - '.cke_widget_inline{' + - 'display:inline-block' + - '}' + - '.cke_widget_wrapper:hover>.cke_widget_element{' + - 'outline:2px solid #ffd25c;' + - 'cursor:default' + - '}' + - '.cke_widget_wrapper:hover .cke_widget_editable{' + - 'outline:2px solid #ffd25c' + - '}' + - '.cke_widget_wrapper.cke_widget_focused>.cke_widget_element,' + - // We need higher specificity than hover style. - '.cke_widget_wrapper .cke_widget_editable.cke_widget_editable_focused{' + - 'outline:2px solid #47a4f5' + - '}' + - '.cke_widget_editable{' + - 'cursor:text' + - '}' + - '.cke_widget_drag_handler_container{' + - 'position:absolute;' + - 'width:' + DRAG_HANDLER_SIZE + 'px;' + - 'height:0;' + - 'display:block;' + - 'opacity:0.75;' + - 'transition:height 0s 0.2s;' + // Delay hiding drag handler. - // Prevent drag handler from being misplaced (https://dev.ckeditor.com/ticket/11198). - 'line-height:0' + - '}' + - '.cke_widget_wrapper:hover>.cke_widget_drag_handler_container{' + - 'height:' + DRAG_HANDLER_SIZE + 'px;' + - 'transition:none' + - '}' + - '.cke_widget_drag_handler_container:hover{' + - 'opacity:1' + - '}' + - '.cke_editable[contenteditable="false"] .cke_widget_drag_handler_container{' + // Hide drag handler in read only mode (#3260). - 'display:none;' + - '}' + - 'img.cke_widget_drag_handler{' + - 'cursor:move;' + - 'width:' + DRAG_HANDLER_SIZE + 'px;' + - 'height:' + DRAG_HANDLER_SIZE + 'px;' + - 'display:inline-block' + - '}' + - '.cke_widget_mask{' + - 'position:absolute;' + - 'top:0;' + - 'left:0;' + - 'width:100%;' + - 'height:100%;' + - 'display:block' + - '}' + - '.cke_widget_partial_mask{' + - 'position:absolute;' + - 'display:block' + - '}' + - '.cke_editable.cke_widget_dragging, .cke_editable.cke_widget_dragging *{' + - 'cursor:move !important' + - '}' - ); - - addCustomStyleHandler(); - }, - - beforeInit: function( editor ) { - // Widgets require querySelectorAll for proper work (#1319). - if ( CKEDITOR.document.$.querySelectorAll === undefined ) { - return; - } - /** - * An instance of widget repository. It contains all - * {@link CKEDITOR.plugins.widget.repository#registered registered widget definitions} and - * {@link CKEDITOR.plugins.widget.repository#instances initialized instances}. - * - * editor.widgets.add( 'someName', { - * // Widget definition... - * } ); - * - * editor.widgets.registered.someName; // -> Widget definition - * - * @since 4.3.0 - * @readonly - * @property {CKEDITOR.plugins.widget.repository} widgets - * @member CKEDITOR.editor - */ - editor.widgets = new Repository( editor ); - }, - - afterInit: function( editor ) { - // Widgets require querySelectorAll for proper work (#1319). - if ( CKEDITOR.document.$.querySelectorAll === undefined ) { - return; - } - addWidgetButtons( editor ); - setupContextMenu( editor ); - setupUndoFilter( editor.undoManager ); - } - } ); - - /** - * Widget repository. It keeps track of all {@link #registered registered widget definitions} and - * {@link #instances initialized instances}. An instance of the repository is available under - * the {@link CKEDITOR.editor#widgets} property. - * - * @class CKEDITOR.plugins.widget.repository - * @mixins CKEDITOR.event - * @constructor Creates a widget repository instance. Note that the widget plugin automatically - * creates a repository instance which is available under the {@link CKEDITOR.editor#widgets} property. - * @param {CKEDITOR.editor} editor The editor instance for which the repository will be created. - */ - function Repository( editor ) { - /** - * The editor instance for which this repository was created. - * - * @readonly - * @property {CKEDITOR.editor} editor - */ - this.editor = editor; - - /** - * A hash of registered widget definitions (definition name => {@link CKEDITOR.plugins.widget.definition}). - * - * To register a definition use the {@link #add} method. - * - * @readonly - */ - this.registered = {}; - - /** - * An object containing initialized widget instances (widget id => {@link CKEDITOR.plugins.widget}). - * - * @readonly - */ - this.instances = {}; - - /** - * An array of selected widget instances. - * - * @readonly - * @property {CKEDITOR.plugins.widget[]} selected - */ - this.selected = []; - - /** - * The focused widget instance. See also {@link CKEDITOR.plugins.widget#event-focus} - * and {@link CKEDITOR.plugins.widget#event-blur} events. - * - * editor.on( 'selectionChange', function() { - * if ( editor.widgets.focused ) { - * // Do something when a widget is focused... - * } - * } ); - * - * @readonly - * @property {CKEDITOR.plugins.widget} focused - */ - this.focused = null; - - /** - * The widget instance that contains the nested editable which is currently focused. - * - * @readonly - * @property {CKEDITOR.plugins.widget} widgetHoldingFocusedEditable - */ - this.widgetHoldingFocusedEditable = null; - - this._ = { - nextId: 0, - upcasts: [], - upcastCallbacks: [], - filters: {} - }; - - setupWidgetsLifecycle( this ); - setupSelectionObserver( this ); - setupMouseObserver( this ); - setupKeyboardObserver( this ); - setupDragAndDrop( this ); - setupNativeCutAndCopy( this ); - } - - Repository.prototype = { - /** - * Minimum interval between selection checks. - * - * @private - */ - MIN_SELECTION_CHECK_INTERVAL: 500, - - /** - * Adds a widget definition to the repository. Fires the {@link CKEDITOR.editor#widgetDefinition} event - * which allows to modify the widget definition which is going to be registered. - * - * @param {String} name The name of the widget definition. - * @param {CKEDITOR.plugins.widget.definition} widgetDef Widget definition. - * @returns {CKEDITOR.plugins.widget.definition} - */ - add: function( name, widgetDef ) { - var editor = this.editor; - - // Create prototyped copy of original widget definition, so we won't modify it. - widgetDef = CKEDITOR.tools.prototypedCopy( widgetDef ); - widgetDef.name = name; - - widgetDef._ = widgetDef._ || {}; - - editor.fire( 'widgetDefinition', widgetDef ); - - if ( widgetDef.template ) - widgetDef.template = new CKEDITOR.template( widgetDef.template ); - - addWidgetCommand( editor, widgetDef ); - addWidgetProcessors( this, widgetDef ); - - this.registered[ name ] = widgetDef; - - // Define default `getMode` member for widget dialog definition (#2423). - if ( widgetDef.dialog && editor.plugins.dialog ) { - var dialogListener = CKEDITOR.on( 'dialogDefinition', function( evt ) { - var definition = evt.data.definition, - dialog = definition.dialog; - - if ( !definition.getMode && dialog.getName() === widgetDef.dialog ) { - definition.getMode = function() { - var model = dialog.getModel( editor ); - return model && model instanceof CKEDITOR.plugins.widget && model.ready ? - CKEDITOR.dialog.EDITING_MODE : CKEDITOR.dialog.CREATION_MODE; - }; - } - - dialogListener.removeListener(); - } ); - } - - return widgetDef; - }, - - /** - * Adds a callback for element upcasting. Each callback will be executed - * for every element which is later tested by upcast methods. If a callback - * returns `false`, the element will not be upcasted. - * - * // Images with the "banner" class will not be upcasted (e.g. to the image widget). - * editor.widgets.addUpcastCallback( function( element ) { - * if ( element.name == 'img' && element.hasClass( 'banner' ) ) - * return false; - * } ); - * - * @param {Function} callback - * @param {CKEDITOR.htmlParser.element} callback.element - */ - addUpcastCallback: function( callback ) { - this._.upcastCallbacks.push( callback ); - }, - - /** - * Checks the selection to update widget states (selection and focus). - * - * This method is triggered by the {@link #event-checkSelection} event. - */ - checkSelection: function() { - if ( !this.editor.getSelection() ) { - return; - } - - var sel = this.editor.getSelection(), - selectedElement = sel.getSelectedElement(), - updater = stateUpdater( this ), - widget; - - // Widget is focused so commit and finish checking. - if ( selectedElement && ( widget = this.getByElement( selectedElement, true ) ) ) - return updater.focus( widget ).select( widget ).commit(); - - var range = sel.getRanges()[ 0 ]; - - // No ranges or collapsed range mean that nothing is selected, so commit and finish checking. - if ( !range || range.collapsed ) - return updater.commit(); - - // Range is not empty, so create walker checking for wrappers. - var walker = new CKEDITOR.dom.walker( range ), - wrapper; - - walker.evaluator = Widget.isDomWidgetWrapper; - - while ( ( wrapper = walker.next() ) ) - updater.select( this.getByElement( wrapper ) ); - - updater.commit(); - }, - - /** - * Checks if all widget instances are still present in the DOM. - * Destroys those instances that are not present. - * Reinitializes widgets on widget wrappers for which widget instances - * cannot be found. Takes nested widgets into account, too. - * - * This method triggers the {@link #event-checkWidgets} event whose listeners - * can cancel the method's execution or modify its options. - * - * @param [options] The options object. - * @param {Boolean} [options.initOnlyNew] Initializes widgets only on newly wrapped - * widget elements (those which still have the `cke_widget_new` class). When this option is - * set to `true`, widgets which were invalidated (e.g. by replacing with a cloned DOM structure) - * will not be reinitialized. This makes the check faster. - * @param {Boolean} [options.focusInited] If only one widget is initialized by - * the method, it will be focused. - */ - checkWidgets: function( options ) { - this.fire( 'checkWidgets', CKEDITOR.tools.copy( options || {} ) ); - }, - - /** - * Removes the widget from the editor and moves the selection to the closest - * editable position if the widget was focused before. - * - * @param {CKEDITOR.plugins.widget} widget The widget instance to be deleted. - */ - del: function( widget ) { - if ( this.focused === widget ) { - var editor = widget.editor, - range = editor.createRange(), - found; - - // If haven't found place for caret on the default side, - // try to find it on the other side. - if ( !( found = range.moveToClosestEditablePosition( widget.wrapper, true ) ) ) - found = range.moveToClosestEditablePosition( widget.wrapper, false ); - - if ( found ) - editor.getSelection().selectRanges( [ range ] ); - } - - widget.wrapper.remove(); - this.destroy( widget, true ); - }, - - /** - * Destroys the widget instance and all its nested widgets (widgets inside its nested editables). - * - * @param {CKEDITOR.plugins.widget} widget The widget instance to be destroyed. - * @param {Boolean} [offline] Whether the widget is offline (detached from the DOM tree) — - * in this case the DOM (attributes, classes, etc.) will not be cleaned up. - */ - destroy: function( widget, offline ) { - if ( this.widgetHoldingFocusedEditable === widget ) - setFocusedEditable( this, widget, null, offline ); - - widget.destroy( offline ); - delete this.instances[ widget.id ]; - this.fire( 'instanceDestroyed', widget ); - }, - - /** - * Destroys all widget instances. - * - * @param {Boolean} [offline] Whether the widgets are offline (detached from the DOM tree) — - * in this case the DOM (attributes, classes, etc.) will not be cleaned up. - * @param {CKEDITOR.dom.element} [container] The container within widgets will be destroyed. - * This option will be ignored if the `offline` flag was set to `true`, because in such case - * it is not possible to find widgets within the passed block. - */ - destroyAll: function( offline, container ) { - var widget, - id, - instances = this.instances; - - if ( container && !offline ) { - var wrappers = container.find( '.cke_widget_wrapper' ), - l = wrappers.count(), - i = 0; - - // Length is constant, because this is not a live node list. - // Note: since querySelectorAll returns nodes in document order, - // outer widgets are always placed before their nested widgets and therefore - // are destroyed before them. - for ( ; i < l; ++i ) { - widget = this.getByElement( wrappers.getItem( i ), true ); - // Widget might not be found, because it could be a nested widget, - // which would be destroyed when destroying its parent. - if ( widget ) - this.destroy( widget ); - } - - return; - } - - for ( id in instances ) { - widget = instances[ id ]; - this.destroy( widget, offline ); - } - }, - - /** - * Finalizes a process of widget creation. This includes: - * - * * inserting widget element into editor, - * * marking widget instance as ready (see {@link CKEDITOR.plugins.widget#event-ready}), - * * focusing widget instance. - * - * This method is used by the default widget's command and is called - * after widget's dialog (if set) is closed. It may also be used in a - * customized process of widget creation and insertion. - * - * widget.once( 'edit', function() { - * // Finalize creation only of not ready widgets. - * if ( widget.isReady() ) - * return; - * - * // Cancel edit event to prevent automatic widget insertion. - * evt.cancel(); - * - * CustomDialog.open( widget.data, function saveCallback( savedData ) { - * // Cache the container, because widget may be destroyed while saving data, - * // if this process will require some deep transformations. - * var container = widget.wrapper.getParent(); - * - * widget.setData( savedData ); - * - * // Widget will be retrieved from container and inserted into editor. - * editor.widgets.finalizeCreation( container ); - * } ); - * } ); - * - * @param {CKEDITOR.dom.element/CKEDITOR.dom.documentFragment} container The element - * or document fragment which contains widget wrapper. The container is used, so before - * finalizing creation the widget can be freely transformed (even destroyed and reinitialized). - */ - finalizeCreation: function( container ) { - var wrapper = container.getFirst(); - if ( wrapper && Widget.isDomWidgetWrapper( wrapper ) ) { - this.editor.insertElement( wrapper ); - - var widget = this.getByElement( wrapper ); - // Fire postponed #ready event. - widget.ready = true; - widget.fire( 'ready' ); - widget.focus(); - } - }, - - /** - * Finds a widget instance which contains a given element. The element will be the {@link CKEDITOR.plugins.widget#wrapper wrapper} - * of the returned widget or a descendant of this {@link CKEDITOR.plugins.widget#wrapper wrapper}. - * - * editor.widgets.getByElement( someWidget.wrapper ); // -> someWidget - * editor.widgets.getByElement( someWidget.parts.caption ); // -> someWidget - * - * // Check wrapper only: - * editor.widgets.getByElement( someWidget.wrapper, true ); // -> someWidget - * editor.widgets.getByElement( someWidget.parts.caption, true ); // -> null - * - * @param {CKEDITOR.dom.element} element The element to be checked. - * @param {Boolean} [checkWrapperOnly] If set to `true`, the method will not check wrappers' descendants. - * @returns {CKEDITOR.plugins.widget} The widget instance or `null`. - */ - getByElement: ( function() { - var validWrapperElements = { div: 1, span: 1 }; - function getWidgetId( element ) { - return element.is( validWrapperElements ) && element.data( 'cke-widget-id' ); - } - - return function( element, checkWrapperOnly ) { - if ( !element ) - return null; - - var id = getWidgetId( element ); - - // There's no need to check element parents if element is a wrapper. - if ( !checkWrapperOnly && !id ) { - var limit = this.editor.editable(); - - // Try to find a closest ascendant which is a widget wrapper. - do { - element = element.getParent(); - } while ( element && !element.equals( limit ) && !( id = getWidgetId( element ) ) ); - } - - return this.instances[ id ] || null; - }; - } )(), - - /** - * Initializes a widget on a given element if the widget has not been initialized on it yet. - * - * @param {CKEDITOR.dom.element} element The future widget element. - * @param {String/CKEDITOR.plugins.widget.definition} [widgetDef] Name of a widget or a widget definition. - * The widget definition should be previously registered by using the - * {@link CKEDITOR.plugins.widget.repository#add} method. - * @param [startupData] Widget startup data (has precedence over default one). - * @returns {CKEDITOR.plugins.widget} The widget instance or `null` if a widget could not be initialized on - * a given element. - */ - initOn: function( element, widgetDef, startupData ) { - if ( !widgetDef ) - widgetDef = this.registered[ element.data( 'widget' ) ]; - else if ( typeof widgetDef == 'string' ) - widgetDef = this.registered[ widgetDef ]; - - if ( !widgetDef ) - return null; - - // Wrap element if still wasn't wrapped (was added during runtime by method that skips dataProcessor). - var wrapper = this.wrapElement( element, widgetDef.name ); - - if ( wrapper ) { - // Check if widget wrapper is new (widget hasn't been initialized on it yet). - // This class will be removed by widget constructor to avoid locking snapshot twice. - if ( wrapper.hasClass( 'cke_widget_new' ) ) { - var widget = new Widget( this, this._.nextId++, element, widgetDef, startupData ); - - // Widget could be destroyed when initializing it. - if ( widget.isInited() ) { - this.instances[ widget.id ] = widget; - - return widget; - } else { - return null; - } - } - - // Widget already has been initialized, so try to get widget by element. - // Note - it may happen that other instance will returned than the one created above, - // if for example widget was destroyed and reinitialized. - return this.getByElement( element ); - } - - // No wrapper means that there's no widget for this element. - return null; - }, - - /** - * Initializes widgets on all elements which were wrapped by {@link #wrapElement} and - * have not been initialized yet. - * - * @param {CKEDITOR.dom.element} [container=editor.editable()] The container which will be checked for not - * initialized widgets. Defaults to editor's {@link CKEDITOR.editor#editable editable} element. - * @returns {CKEDITOR.plugins.widget[]} Array of widget instances which have been initialized. - * Note: Only first-level widgets are returned — without nested widgets. - */ - initOnAll: function( container ) { - var newWidgets = ( container || this.editor.editable() ).find( '.cke_widget_new' ), - newInstances = [], - instance; - - for ( var i = newWidgets.count(); i--; ) { - instance = this.initOn( newWidgets.getItem( i ).getFirst( Widget.isDomWidgetElement ) ); - if ( instance ) - newInstances.push( instance ); - } - - return newInstances; - }, - - /** - * Allows to listen to events on specific types of widgets, even if they are not created yet. - * - * Please note that this method inherits parameters from the {@link CKEDITOR.event#method-on} method with one - * extra parameter at the beginning which is the widget name. - * - * editor.widgets.onWidget( 'image', 'action', function( evt ) { - * // Event `action` occurs on `image` widget. - * } ); - * - * @since 4.5.0 - * @param {String} widgetName - * @param {String} eventName - * @param {Function} listenerFunction - * @param {Object} [scopeObj] - * @param {Object} [listenerData] - * @param {Number} [priority=10] - */ - onWidget: function( widgetName ) { - var args = Array.prototype.slice.call( arguments ); - - args.shift(); - - for ( var i in this.instances ) { - var instance = this.instances[ i ]; - - if ( instance.name == widgetName ) { - instance.on.apply( instance, args ); - } - } - - this.on( 'instanceCreated', function( evt ) { - var widget = evt.data; - - if ( widget.name == widgetName ) { - widget.on.apply( widget, args ); - } - } ); - }, - - /** - * Parses element classes string and returns an object - * whose keys contain class names. Skips all `cke_*` classes. - * - * This method is used by the {@link CKEDITOR.plugins.widget#getClasses} method and - * may be used when overriding that method. - * - * @since 4.4.0 - * @param {String} classes String (value of `class` attribute). - * @returns {Object} Object containing classes or `null` if no classes found. - */ - parseElementClasses: function( classes ) { - if ( !classes ) - return null; - - classes = CKEDITOR.tools.trim( classes ).split( /\s+/ ); - - var cl, - obj = {}, - hasClasses = 0; - - while ( ( cl = classes.pop() ) ) { - if ( cl.indexOf( 'cke_' ) == -1 ) - obj[ cl ] = hasClasses = 1; - } - - return hasClasses ? obj : null; - }, - - /** - * Wraps an element with a widget's non-editable container. - * - * If this method is called on an {@link CKEDITOR.htmlParser.element}, then it will - * also take care of fixing the DOM after wrapping (the wrapper may not be allowed in element's parent). - * - * @param {CKEDITOR.dom.element/CKEDITOR.htmlParser.element} element The widget element to be wrapped. - * @param {String} [widgetName] The name of the widget definition. Defaults to element's `data-widget` - * attribute value. - * @returns {CKEDITOR.dom.element/CKEDITOR.htmlParser.element} The wrapper element or `null` if - * the widget definition of this name is not registered. - */ - wrapElement: function( element, widgetName ) { - var wrapper = null, - widgetDef, - isInline; - - if ( element instanceof CKEDITOR.dom.element ) { - widgetName = widgetName || element.data( 'widget' ); - widgetDef = this.registered[ widgetName ]; - - if ( !widgetDef ) - return null; - - // Do not wrap already wrapped element. - wrapper = element.getParent(); - if ( wrapper && wrapper.type == CKEDITOR.NODE_ELEMENT && wrapper.data( 'cke-widget-wrapper' ) ) - return wrapper; - - // If attribute isn't already set (e.g. for pasted widget), set it. - if ( !element.hasAttribute( 'data-cke-widget-keep-attr' ) ) - element.data( 'cke-widget-keep-attr', element.data( 'widget' ) ? 1 : 0 ); - - element.data( 'widget', widgetName ); - - isInline = isWidgetInline( widgetDef, element.getName() ); - - // Preserve initial and trailing space by replacing white space with   (#605). - if ( isInline ) { - preserveSpaces( element ); - } - - wrapper = new CKEDITOR.dom.element( isInline ? 'span' : 'div', element.getDocument() ); - wrapper.setAttributes( getWrapperAttributes( isInline, widgetName ) ); - - wrapper.data( 'cke-display-name', widgetDef.pathName ? widgetDef.pathName : element.getName() ); - - // Replace element unless it is a detached one. - if ( element.getParent( true ) ) - wrapper.replace( element ); - element.appendTo( wrapper ); - } - else if ( element instanceof CKEDITOR.htmlParser.element ) { - widgetName = widgetName || element.attributes[ 'data-widget' ]; - widgetDef = this.registered[ widgetName ]; - - if ( !widgetDef ) - return null; - - wrapper = element.parent; - if ( wrapper && wrapper.type == CKEDITOR.NODE_ELEMENT && wrapper.attributes[ 'data-cke-widget-wrapper' ] ) - return wrapper; - - // If attribute isn't already set (e.g. for pasted widget), set it. - if ( !( 'data-cke-widget-keep-attr' in element.attributes ) ) - element.attributes[ 'data-cke-widget-keep-attr' ] = element.attributes[ 'data-widget' ] ? 1 : 0; - if ( widgetName ) - element.attributes[ 'data-widget' ] = widgetName; - - isInline = isWidgetInline( widgetDef, element.name ); - - // Preserve initial and trailing space by replacing white space with   (#605). - if ( isInline ) { - preserveSpaces( element ); - } - - wrapper = new CKEDITOR.htmlParser.element( isInline ? 'span' : 'div', getWrapperAttributes( isInline, widgetName ) ); - wrapper.attributes[ 'data-cke-display-name' ] = widgetDef.pathName ? widgetDef.pathName : element.name; - - var parent = element.parent, - index; - - // Don't detach already detached element. - if ( parent ) { - index = element.getIndex(); - element.remove(); - } - - wrapper.add( element ); - - // Insert wrapper fixing DOM (splitting parents if wrapper is not allowed inside them). - parent && insertElement( parent, index, wrapper ); - } - - return wrapper; - }, - - // Expose for tests. - _tests_createEditableFilter: createEditableFilter - }; - - CKEDITOR.event.implementOn( Repository.prototype ); - - /** - * An event fired when a widget instance is created, but before it is fully initialized. - * - * @event instanceCreated - * @param {CKEDITOR.plugins.widget} data The widget instance. - */ - - /** - * An event fired when a widget instance was destroyed. - * - * See also {@link CKEDITOR.plugins.widget#event-destroy}. - * - * @event instanceDestroyed - * @param {CKEDITOR.plugins.widget} data The widget instance. - */ - - /** - * An event fired to trigger the selection check. - * - * See the {@link #method-checkSelection} method. - * - * @event checkSelection - */ - - /** - * An event fired by the the {@link #method-checkWidgets} method. - * - * It can be canceled in order to stop the {@link #method-checkWidgets} - * method execution or the event listener can modify the method's options. - * - * @event checkWidgets - * @param [data] - * @param {Boolean} [data.initOnlyNew] Initialize widgets only on newly wrapped - * widget elements (those which still have the `cke_widget_new` class). When this option is - * set to `true`, widgets which were invalidated (e.g. by replacing with a cloned DOM structure) - * will not be reinitialized. This makes the check faster. - * @param {Boolean} [data.focusInited] If only one widget is initialized by - * the method, it will be focused. - */ - - - /** - * An instance of a widget. Together with {@link CKEDITOR.plugins.widget.repository} these - * two classes constitute the core of the Widget System. - * - * Note that neither the repository nor the widget instances can be created by using their constructors. - * A repository instance is automatically set up by the Widget plugin and is accessible under - * {@link CKEDITOR.editor#widgets}, while widget instances are created and destroyed by the repository. - * - * To create a widget, first you need to {@link CKEDITOR.plugins.widget.repository#add register} its - * {@link CKEDITOR.plugins.widget.definition definition}: - * - * editor.widgets.add( 'simplebox', { - * upcast: function( element ) { - * // Defines which elements will become widgets. - * if ( element.hasClass( 'simplebox' ) ) - * return true; - * }, - * init: function() { - * // ... - * } - * } ); - * - * Once the widget definition is registered, widgets will be automatically - * created when loading data: - * - * editor.setData( '
    foo
    ', function() { - * console.log( editor.widgets.instances ); // -> An object containing one instance. - * } ); - * - * It is also possible to create instances during runtime by using a command - * (if a {@link CKEDITOR.plugins.widget.definition#template} property was defined): - * - * // You can execute an automatically defined command to - * // insert a new simplebox widget or edit the one currently focused. - * editor.execCommand( 'simplebox' ); - * - * Note: Since CKEditor 4.5.0 widget's `startupData` can be passed as the command argument: - * - * editor.execCommand( 'simplebox', { - * startupData: { - * align: 'left' - * } - * } ); - * - * A widget can also be created in a completely custom way: - * - * var element = editor.document.createElement( 'div' ); - * editor.insertElement( element ); - * var widget = editor.widgets.initOn( element, 'simplebox' ); - * - * @since 4.3.0 - * @class CKEDITOR.plugins.widget - * @mixins CKEDITOR.event - * @extends CKEDITOR.plugins.widget.definition - * @constructor Creates an instance of the widget class. Do not use it directly, but instead initialize widgets - * by using the {@link CKEDITOR.plugins.widget.repository#initOn} method or by the upcasting system. - * @param {CKEDITOR.plugins.widget.repository} widgetsRepo - * @param {Number} id Unique ID of this widget instance. - * @param {CKEDITOR.dom.element} element The widget element. - * @param {CKEDITOR.plugins.widget.definition} widgetDef Widget's registered definition. - * @param [startupData] Initial widget data. This data object will overwrite the default data and - * the data loaded from the DOM. - */ - function Widget( widgetsRepo, id, element, widgetDef, startupData ) { - var editor = widgetsRepo.editor; - - // Extend this widget with widgetDef-specific methods and properties. - CKEDITOR.tools.extend( this, widgetDef, { - /** - * The editor instance. - * - * @readonly - * @property {CKEDITOR.editor} - */ - editor: editor, - - /** - * This widget's unique (per editor instance) ID. - * - * @readonly - * @property {Number} - */ - id: id, - - /** - * Whether this widget is an inline widget (based on an inline element unless - * forced otherwise by {@link CKEDITOR.plugins.widget.definition#inline}). - * - * **Note:** This option does not allow to turn a block element into an inline widget. - * However, it makes it possible to turn an inline element into a block widget or to - * force a correct type in case when automatic recognition fails. - * - * @readonly - * @property {Boolean} - */ - inline: element.getParent().getName() == 'span', - - /** - * The widget element — the element on which the widget was initialized. - * - * @readonly - * @property {CKEDITOR.dom.element} element - */ - element: element, - - /** - * Widget's data object. - * - * The data can only be set by using the {@link #setData} method. - * Changes made to the data fire the {@link #event-data} event. - * - * @readonly - */ - data: CKEDITOR.tools.extend( {}, typeof widgetDef.defaults == 'function' ? widgetDef.defaults() : widgetDef.defaults ), - - /** - * Indicates if a widget is data-ready. Set to `true` when data from all sources - * ({@link CKEDITOR.plugins.widget.definition#defaults}, set in the - * {@link #init} method, loaded from the widget's element and startup data coming from the constructor) - * are finally loaded. This is immediately followed by the first {@link #event-data}. - * - * @readonly - */ - dataReady: false, - - /** - * Whether a widget instance was initialized. This means that: - * - * * An instance was created, - * * Its properties were set, - * * The `init` method was executed. - * - * **Note**: The first {@link #event-data} event could not be fired yet which - * means that the widget's DOM has not been set up yet. Wait for the {@link #event-ready} - * event to be notified when a widget is fully initialized and ready. - * - * **Note**: Use the {@link #isInited} method to check whether a widget is initialized and - * has not been destroyed. - * - * @readonly - */ - inited: false, - - /** - * Whether a widget instance is ready. This means that the widget is {@link #inited} and - * that its DOM was finally set up. - * - * **Note:** Use the {@link #isReady} method to check whether a widget is ready and - * has not been destroyed. - * - * @readonly - */ - ready: false, - - // Revert what widgetDef could override (automatic #edit listener). - edit: Widget.prototype.edit, - - /** - * The nested editable element which is currently focused. - * - * @readonly - * @property {CKEDITOR.plugins.widget.nestedEditable} - */ - focusedEditable: null, - - /** - * The widget definition from which this instance was created. - * - * @readonly - * @property {CKEDITOR.plugins.widget.definition} definition - */ - definition: widgetDef, - - /** - * Link to the widget repository which created this instance. - * - * @readonly - * @property {CKEDITOR.plugins.widget.repository} repository - */ - repository: widgetsRepo, - - draggable: widgetDef.draggable !== false, - - // WAAARNING: Overwrite widgetDef's priv object, because otherwise violent unicorn's gonna visit you. - _: { - downcastFn: ( widgetDef.downcast && typeof widgetDef.downcast == 'string' ) ? - widgetDef.downcasts[ widgetDef.downcast ] : widgetDef.downcast - } - }, true ); - - /** - * An object of widget component elements. - * - * For every `partName => selector` pair in {@link CKEDITOR.plugins.widget.definition#parts}, - * one `partName => element` pair is added to this object during the widget initialization. - * Parts can be reinitialized with the {@link #refreshParts} method. - * - * @readonly - * @property {Object} parts - */ - - /** - * An object containing definitions of widget parts (`part name => CSS selector`). - * - * Unlike the {@link #parts} object, it stays unchanged throughout the widget lifecycle - * and is used in the {@link #refreshParts} method. - * - * @readonly - * @property {Object} partSelectors - * @since 4.14.0 - */ - - /** - * The template which will be used to create a new widget element (when the widget's command is executed). - * It will be populated with {@link #defaults default values}. - * - * @readonly - * @property {CKEDITOR.template} template - */ - - /** - * The widget wrapper — a non-editable `div` or `span` element (depending on {@link #inline}) - * which is a parent of the {@link #element} and widget compontents like the drag handler and the {@link #mask}. - * It is the outermost widget element. - * - * @readonly - * @property {CKEDITOR.dom.element} wrapper - */ - - widgetsRepo.fire( 'instanceCreated', this ); - - setupWidget( this, widgetDef ); - - this.init && this.init(); - - // Finally mark widget as inited. - this.inited = true; - - setupWidgetData( this, startupData ); - - // If at some point (e.g. in #data listener) widget hasn't been destroyed - // and widget is already attached to document then fire #ready. - if ( this.isInited() && editor.editable().contains( this.wrapper ) ) { - this.ready = true; - this.fire( 'ready' ); - } - } - - Widget.prototype = { - /** - * Adds a class to the widget element. This method is used by - * the {@link #applyStyle} method and should be overridden by widgets - * which should handle classes differently (e.g. add them to other elements). - * - * Since 4.6.0 this method also adds a corresponding class prefixed with {@link #WRAPPER_CLASS_PREFIX} - * to the widget wrapper element. - * - * **Note**: This method should not be used directly. Use the {@link #setData} method to - * set the `classes` property. Read more in the {@link #setData} documentation. - * - * See also: {@link #removeClass}, {@link #hasClass}, {@link #getClasses}. - * - * @since 4.4.0 - * @param {String} className The class name to be added. - */ - addClass: function( className ) { - this.element.addClass( className ); - this.wrapper.addClass( Widget.WRAPPER_CLASS_PREFIX + className ); - }, - - /** - * Applies the specified style to the widget. It is highly recommended to use the - * {@link CKEDITOR.editor#applyStyle} or {@link CKEDITOR.style#apply} methods instead of - * using this method directly, because unlike editor's and style's methods, this one - * does not perform any checks. - * - * By default this method handles only classes defined in the style. It clones existing - * classes which are stored in the {@link #property-data widget data}'s `classes` property, - * adds new classes, and calls the {@link #setData} method if at least one new class was added. - * Then, using the {@link #event-data} event listener widget applies modifications passing - * new classes to the {@link #addClass} method. - * - * If you need to handle classes differently than in the default way, you can override the - * {@link #addClass} and related methods. You can also handle other style properties than `classes` - * by overriding this method. - * - * See also: {@link #checkStyleActive}, {@link #removeStyle}. - * - * @since 4.4.0 - * @param {CKEDITOR.style} style The custom widget style to be applied. - */ - applyStyle: function( style ) { - applyRemoveStyle( this, style, 1 ); - }, - - /** - * Checks if the specified style is applied to this widget. It is highly recommended to use the - * {@link CKEDITOR.style#checkActive} method instead of using this method directly, - * because unlike style's method, this one does not perform any checks. - * - * By default this method handles only classes defined in the style and passes - * them to the {@link #hasClass} method. You can override these methods to handle classes - * differently or to handle more of the style properties. - * - * See also: {@link #applyStyle}, {@link #removeStyle}. - * - * @since 4.4.0 - * @param {CKEDITOR.style} style The custom widget style to be checked. - * @returns {Boolean} Whether the style is applied to this widget. - */ - checkStyleActive: function( style ) { - var classes = getStyleClasses( style ), - cl; - - if ( !classes ) - return false; - - while ( ( cl = classes.pop() ) ) { - if ( !this.hasClass( cl ) ) - return false; - } - return true; - }, - - /** - * Destroys this widget instance. - * - * Use {@link CKEDITOR.plugins.widget.repository#destroy} when possible instead of this method. - * - * This method fires the {#event-destroy} event. - * - * @param {Boolean} [offline] Whether a widget is offline (detached from the DOM tree) — - * in this case the DOM (attributes, classes, etc.) will not be cleaned up. - */ - destroy: function( offline ) { - this.fire( 'destroy' ); - - if ( this.editables ) { - for ( var name in this.editables ) - this.destroyEditable( name, offline ); - } - - if ( !offline ) { - if ( this.element.data( 'cke-widget-keep-attr' ) == '0' ) - this.element.removeAttribute( 'data-widget' ); - this.element.removeAttributes( [ 'data-cke-widget-data', 'data-cke-widget-keep-attr' ] ); - this.element.removeClass( 'cke_widget_element' ); - this.element.replace( this.wrapper ); - } - - this.wrapper = null; - }, - - /** - * Destroys a nested editable and all nested widgets. - * - * @param {String} editableName Nested editable name. - * @param {Boolean} [offline] See {@link #method-destroy} method. - */ - destroyEditable: function( editableName, offline ) { - var editable = this.editables[ editableName ], - canDestroyFilter = true; - - editable.removeListener( 'focus', onEditableFocus ); - editable.removeListener( 'blur', onEditableBlur ); - this.editor.focusManager.remove( editable ); - - // Destroy filter if it's no longer used by other editables (#1722). - if ( editable.filter ) { - for ( var widgetName in this.repository.instances ) { - var widget = this.repository.instances[ widgetName ]; - - if ( !widget.editables ) { - continue; - } - - var widgetEditable = widget.editables[ editableName ]; - - if ( !widgetEditable || widgetEditable === editable ) { - continue; - } - - if ( editable.filter === widgetEditable.filter ) { - canDestroyFilter = false; - } - } - - if ( canDestroyFilter ) { - editable.filter.destroy(); - - var filters = this.repository._.filters[ this.name ]; - if ( filters ) { - delete filters[ editableName ]; - } - } - } - - if ( !offline ) { - this.repository.destroyAll( false, editable ); - editable.removeClass( 'cke_widget_editable' ); - editable.removeClass( 'cke_widget_editable_focused' ); - editable.removeAttributes( [ 'contenteditable', 'data-cke-widget-editable', 'data-cke-enter-mode' ] ); - } - - delete this.editables[ editableName ]; - }, - - /** - * Starts widget editing. - * - * This method fires the {@link CKEDITOR.plugins.widget#event-edit} event - * which may be canceled in order to prevent it from opening a dialog window. - * - * The dialog window name is obtained from the event's data `dialog` property or - * from {@link CKEDITOR.plugins.widget.definition#dialog}. - * - * @returns {Boolean} Returns `true` if a dialog window was opened. - */ - edit: function() { - var evtData = { dialog: this.dialog }, - that = this; - - // Edit event was blocked or there's no dialog to be automatically opened. - if ( this.fire( 'edit', evtData ) === false || !evtData.dialog ) - return false; - - this.editor.openDialog( evtData.dialog, function( dialog ) { - var showListener, - okListener; - - // Allow to add a custom dialog handler. - if ( that.fire( 'dialog', dialog ) === false ) - return; - - showListener = dialog.on( 'show', function() { - dialog.setupContent( that ); - } ); - - okListener = dialog.on( 'ok', function() { - // Commit dialog's fields, but prevent from - // firing data event for every field. Fire only one, - // bulk event at the end. - var dataChanged, - dataListener = that.on( 'data', function( evt ) { - dataChanged = 1; - evt.cancel(); - }, null, null, 0 ); - - // Create snapshot preceeding snapshot with changed widget... - // TODO it should not be required, but it is and I found similar - // code in dialog#ok listener in dialog/plugin.js. - that.editor.fire( 'saveSnapshot' ); - dialog.commitContent( that ); - - dataListener.removeListener(); - if ( dataChanged ) { - that.fire( 'data', that.data ); - that.editor.fire( 'saveSnapshot' ); - } - } ); - - dialog.once( 'hide', function() { - showListener.removeListener(); - okListener.removeListener(); - } ); - }, that ); - - return true; - }, - - /** - * Returns widget element classes parsed to an object. This method - * is used to populate the `classes` property of widget's {@link #property-data}. - * - * This method reuses {@link CKEDITOR.plugins.widget.repository#parseElementClasses}. - * It should be overriden if a widget should handle classes differently (e.g. on other elements). - * - * See also: {@link #removeClass}, {@link #addClass}, {@link #hasClass}. - * - * @since 4.4.0 - * @returns {Object} - */ - getClasses: function() { - return this.repository.parseElementClasses( this.element.getAttribute( 'class' ) ); - }, - - /** - * Returns the HTML of the widget. Can be overridden by - * {@link CKEDITOR.plugins.widget.definition#getClipboardHtml widgetDefinition.getClipboardHtml()} - * to customize the HTML copied to the clipboard during copy, cut and drag events. - * - * @since 4.13.0 - * @returns {String} Widget HTML. - */ - getClipboardHtml: function() { - var range = this.editor.createRange(); - - range.setStartBefore( this.wrapper ); - range.setEndAfter( this.wrapper ); - - return this.editor.editable().getHtmlFromRange( range ).getHtml(); - }, - - /** - * Checks if the widget element has specified class. This method is used by - * the {@link #checkStyleActive} method and should be overriden by widgets - * which should handle classes differently (e.g. on other elements). - * - * See also: {@link #removeClass}, {@link #addClass}, {@link #getClasses}. - * - * @since 4.4.0 - * @param {String} className The class to be checked. - * @param {Boolean} Whether a widget has specified class. - */ - hasClass: function( className ) { - return this.element.hasClass( className ); - }, - - /** - * Initializes a nested editable. - * - * **Note**: Only elements from {@link CKEDITOR.dtd#$editable} may become editables. - * - * @param {String} editableName The nested editable name. - * @param {CKEDITOR.plugins.widget.nestedEditable.definition} definition The definition of the nested editable. - * @returns {Boolean} Whether an editable was successfully initialized. - */ - initEditable: function( editableName, definition ) { - // Don't fetch just first element which matched selector but look for a correct one. (https://dev.ckeditor.com/ticket/13334) - var editable = this._findOneNotNested( definition.selector ); - - if ( editable && editable.is( CKEDITOR.dtd.$editable ) ) { - editable = new NestedEditable( this.editor, editable, { - filter: createEditableFilter.call( this.repository, this.name, editableName, definition ) - } ); - this.editables[ editableName ] = editable; - - editable.setAttributes( { - contenteditable: 'true', - 'data-cke-widget-editable': editableName, - 'data-cke-enter-mode': editable.enterMode - } ); - - if ( editable.filter ) - editable.data( 'cke-filter', editable.filter.id ); - - editable.addClass( 'cke_widget_editable' ); - // This class may be left when d&ding widget which - // had focused editable. Clean this class here, not in - // cleanUpWidgetElement for performance and code size reasons. - editable.removeClass( 'cke_widget_editable_focused' ); - - if ( definition.pathName ) - editable.data( 'cke-display-name', definition.pathName ); - - this.editor.focusManager.add( editable ); - editable.on( 'focus', onEditableFocus, this ); - CKEDITOR.env.ie && editable.on( 'blur', onEditableBlur, this ); - - // Finally, process editable's data. This data wasn't processed when loading - // editor's data, becuase they need to be processed separately, with its own filters and settings. - editable._.initialSetData = true; - editable.setData( editable.getHtml() ); - - return true; - } - - return false; - }, - - /** - * Looks inside wrapper element to find a node that - * matches given selector and is not nested in other widget. (https://dev.ckeditor.com/ticket/13334) - * - * @since 4.5.0 - * @private - * @param {String} selector Selector to match. - * @returns {CKEDITOR.dom.element} Matched element or `null` if a node has not been found. - */ - _findOneNotNested: function( selector ) { - var matchedElements = this.wrapper.find( selector ), - match, - closestWrapper; - - for ( var i = 0; i < matchedElements.count(); i++ ) { - match = matchedElements.getItem( i ); - closestWrapper = match.getAscendant( Widget.isDomWidgetWrapper ); - - // The closest ascendant-wrapper of this match defines to which widget - // this match belongs. If the ascendant is this widget's wrapper - // it means that the match is not nested in other widget. - if ( this.wrapper.equals( closestWrapper ) ) { - return match; - } - } - - return null; - }, - - /** - * Checks if a widget has already been initialized and has not been destroyed yet. - * - * See {@link #inited} for more details. - * - * @returns {Boolean} - */ - isInited: function() { - return !!( this.wrapper && this.inited ); - }, - - /** - * Checks if a widget is ready and has not been destroyed yet. - * - * See {@link #property-ready} for more details. - * - * @returns {Boolean} - */ - isReady: function() { - return this.isInited() && this.ready; - }, - - /** - * Focuses a widget by selecting it. - */ - focus: function() { - var sel = this.editor.getSelection(); - - // Fake the selection before focusing editor, to avoid unpreventable viewports scrolling - // on Webkit/Blink/IE which is done because there's no selection or selection was somewhere else than widget. - if ( sel ) { - var isDirty = this.editor.checkDirty(); - - sel.fake( this.wrapper ); - - !isDirty && this.editor.resetDirty(); - } - - // Always focus editor (not only when focusManger.hasFocus is false) (because of https://dev.ckeditor.com/ticket/10483). - this.editor.focus(); - }, - - /** - * Refreshes the widget's mask. It can be used together with the {@link #refreshParts} method to reinitialize the mask - * for dynamically created widgets. - * - * @since 4.14.0 - */ - refreshMask: function() { - setupMask( this ); - }, - - /** - * Reinitializes the widget's {@link #parts}. - * - * This method can be used to link new DOM elements to widget parts, for example in case when the widget's HTML is created - * asynchronously or modified during the widget lifecycle. Note that it uses the {@link #partSelectors} object, so it does not - * refresh parts that were created manually. - * - * @since 4.14.0 - * @param {Boolean} [refreshInitialized=true] Whether the parts that are already initialized should be reinitialized. - */ - refreshParts: function( refreshInitialized ) { - refreshInitialized = typeof refreshInitialized !== 'undefined' ? refreshInitialized : true; - setupParts( this, refreshInitialized ); - }, - - /** - * Removes a class from the widget element. This method is used by - * the {@link #removeStyle} method and should be overriden by widgets - * which should handle classes differently (e.g. on other elements). - * - * **Note**: This method should not be used directly. Use the {@link #setData} method to - * set the `classes` property. Read more in the {@link #setData} documentation. - * - * See also: {@link #hasClass}, {@link #addClass}. - * - * @since 4.4.0 - * @param {String} className The class to be removed. - */ - removeClass: function( className ) { - this.element.removeClass( className ); - this.wrapper.removeClass( Widget.WRAPPER_CLASS_PREFIX + className ); - }, - - /** - * Removes the specified style from the widget. It is highly recommended to use the - * {@link CKEDITOR.editor#removeStyle} or {@link CKEDITOR.style#remove} methods instead of - * using this method directly, because unlike editor's and style's methods, this one - * does not perform any checks. - * - * Read more about how applying/removing styles works in the {@link #applyStyle} method documentation. - * - * See also {@link #checkStyleActive}, {@link #applyStyle}, {@link #getClasses}. - * - * @since 4.4.0 - * @param {CKEDITOR.style} style The custom widget style to be removed. - */ - removeStyle: function( style ) { - applyRemoveStyle( this, style, 0 ); - }, - - /** - * Sets widget value(s) in the {@link #property-data} object. - * If the given value(s) modifies current ones, the {@link #event-data} event is fired. - * - * this.setData( 'align', 'left' ); - * this.data.align; // -> 'left' - * - * this.setData( { align: 'right', opened: false } ); - * this.data.align; // -> 'right' - * this.data.opened; // -> false - * - * Set values are stored in {@link #element}'s attribute (`data-cke-widget-data`), - * in a JSON string, therefore {@link #property-data} should contain - * only serializable data. - * - * **Note:** A special data property, `classes`, exists. It contains an object with - * classes which were returned by the {@link #getClasses} method during the widget initialization. - * This property is then used by the {@link #applyStyle} and {@link #removeStyle} methods. - * When it is changed (the reference to object must be changed!), the widget updates its classes by - * using the {@link #addClass} and {@link #removeClass} methods. - * - * // Adding a new class. - * var classes = CKEDITOR.tools.clone( widget.data.classes ); - * classes.newClass = 1; - * widget.setData( 'classes', classes ); - * - * // Removing a class. - * var classes = CKEDITOR.tools.clone( widget.data.classes ); - * delete classes.newClass; - * widget.setData( 'classes', classes ); - * - * @param {String/Object} keyOrData - * @param {Object} value - * @chainable - */ - setData: function( key, value ) { - var data = this.data, - modified = 0; - - if ( typeof key == 'string' ) { - if ( data[ key ] !== value ) { - data[ key ] = value; - modified = 1; - } - } - else { - var newData = key; - - for ( key in newData ) { - if ( data[ key ] !== newData[ key ] ) { - modified = 1; - data[ key ] = newData[ key ]; - } - } - } - - // Block firing data event and overwriting data element before setupWidgetData is executed. - if ( modified && this.dataReady ) { - writeDataToElement( this ); - this.fire( 'data', data ); - } - - return this; - }, - - /** - * Changes the widget's focus state. This method is executed automatically after - * a widget was focused by the {@link #method-focus} method or the selection was moved - * out of the widget. - * - * This is a low-level method which is not integrated with e.g. the undo manager. - * Use the {@link #method-focus} method instead. - * - * @param {Boolean} selected Whether to select or deselect this widget. - * @chainable - */ - setFocused: function( focused ) { - this.wrapper[ focused ? 'addClass' : 'removeClass' ]( 'cke_widget_focused' ); - this.fire( focused ? 'focus' : 'blur' ); - return this; - }, - - /** - * Changes the widget's select state. This method is executed automatically after - * a widget was selected by the {@link #method-focus} method or the selection - * was moved out of the widget. - * - * This is a low-level method which is not integrated with e.g. the undo manager. - * Use the {@link #method-focus} method instead or simply change the selection. - * - * @param {Boolean} selected Whether to select or deselect this widget. - * @chainable - */ - setSelected: function( selected ) { - this.wrapper[ selected ? 'addClass' : 'removeClass' ]( 'cke_widget_selected' ); - this.fire( selected ? 'select' : 'deselect' ); - return this; - }, - - /** - * Repositions drag handler according to the widget's element position. Should be called from events, like mouseover. - */ - updateDragHandlerPosition: function() { - var editor = this.editor, - domElement = this.element.$, - oldPos = this._.dragHandlerOffset, - newPos = { - x: domElement.offsetLeft, - y: domElement.offsetTop - DRAG_HANDLER_SIZE - }; - - if ( oldPos && newPos.x == oldPos.x && newPos.y == oldPos.y ) - return; - - // We need to make sure that dirty state is not changed (https://dev.ckeditor.com/ticket/11487). - var initialDirty = editor.checkDirty(); - - editor.fire( 'lockSnapshot' ); - this.dragHandlerContainer.setStyles( { - top: newPos.y + 'px', - left: newPos.x + 'px' - } ); - this.dragHandlerContainer.removeStyle( 'display' ); - - editor.fire( 'unlockSnapshot' ); - !initialDirty && editor.resetDirty(); - - this._.dragHandlerOffset = newPos; - } - }; - - CKEDITOR.event.implementOn( Widget.prototype ); - - /** - * Gets the {@link #isDomNestedEditable nested editable} - * (returned as a {@link CKEDITOR.dom.element}, not as a {@link CKEDITOR.plugins.widget.nestedEditable}) - * closest to the `node` or the `node` if it is a nested editable itself. - * - * @since 4.5.0 - * @static - * @param {CKEDITOR.dom.element} guard Stop ancestor search on this node (usually editor's editable). - * @param {CKEDITOR.dom.node} node Start the search from this node. - * @returns {CKEDITOR.dom.element/null} Element or `null` if not found. - */ - Widget.getNestedEditable = function( guard, node ) { - if ( !node || node.equals( guard ) ) - return null; - - if ( Widget.isDomNestedEditable( node ) ) - return node; - - return Widget.getNestedEditable( guard, node.getParent() ); - }; - - /** - * Checks whether the `node` is a widget's drag handle element. - * - * @since 4.5.0 - * @static - * @param {CKEDITOR.dom.node} node - * @returns {Boolean} - */ - Widget.isDomDragHandler = function( node ) { - return node.type == CKEDITOR.NODE_ELEMENT && node.hasAttribute( 'data-cke-widget-drag-handler' ); - }; - - /** - * Checks whether the `node` is a container of the widget's drag handle element. - * - * @since 4.5.0 - * @static - * @param {CKEDITOR.dom.node} node - * @returns {Boolean} - */ - Widget.isDomDragHandlerContainer = function( node ) { - return node.type == CKEDITOR.NODE_ELEMENT && node.hasClass( 'cke_widget_drag_handler_container' ); - }; - - /** - * Checks whether the `node` is a {@link CKEDITOR.plugins.widget#editables nested editable}. - * Note that this function only checks whether it is the right element, not whether - * the passed `node` is an instance of {@link CKEDITOR.plugins.widget.nestedEditable}. - * - * @since 4.5.0 - * @static - * @param {CKEDITOR.dom.node} node - * @returns {Boolean} - */ - Widget.isDomNestedEditable = function( node ) { - return node.type == CKEDITOR.NODE_ELEMENT && node.hasAttribute( 'data-cke-widget-editable' ); - }; - - /** - * Checks whether the `node` is a {@link CKEDITOR.plugins.widget#element widget element}. - * - * @since 4.5.0 - * @static - * @param {CKEDITOR.dom.node} node - * @returns {Boolean} - */ - Widget.isDomWidgetElement = function( node ) { - return node.type == CKEDITOR.NODE_ELEMENT && node.hasAttribute( 'data-widget' ); - }; - - /** - * Checks whether the `node` is a {@link CKEDITOR.plugins.widget#wrapper widget wrapper}. - * - * @since 4.5.0 - * @static - * @param {CKEDITOR.dom.element} node - * @returns {Boolean} - */ - Widget.isDomWidgetWrapper = function( node ) { - return node.type == CKEDITOR.NODE_ELEMENT && node.hasAttribute( 'data-cke-widget-wrapper' ); - }; - - /** - * Checks whether the `node` is a DOM widget. - * - * @since 4.8.0 - * @static - * @param {CKEDITOR.dom.node} node - * @returns {Boolean} - */ - Widget.isDomWidget = function( node ) { - return node ? this.isDomWidgetWrapper( node ) || this.isDomWidgetElement( node ) : false; - }; - - /** - * Checks whether the `node` is a {@link CKEDITOR.plugins.widget#element widget element}. - * - * @since 4.5.0 - * @static - * @param {CKEDITOR.htmlParser.node} node - * @returns {Boolean} - */ - Widget.isParserWidgetElement = function( node ) { - return node.type == CKEDITOR.NODE_ELEMENT && !!node.attributes[ 'data-widget' ]; - }; - - /** - * Checks whether the `node` is a {@link CKEDITOR.plugins.widget#wrapper widget wrapper}. - * - * @since 4.5.0 - * @static - * @param {CKEDITOR.htmlParser.element} node - * @returns {Boolean} - */ - Widget.isParserWidgetWrapper = function( node ) { - return node.type == CKEDITOR.NODE_ELEMENT && !!node.attributes[ 'data-cke-widget-wrapper' ]; - }; - - /** - * Prefix added to wrapper classes. Each class added to the widget element by the {@link #addClass} - * method will also be added to the wrapper prefixed with it. - * - * @since 4.6.0 - * @static - * @readonly - * @property {String} [='cke_widget_wrapper_'] - */ - Widget.WRAPPER_CLASS_PREFIX = 'cke_widget_wrapper_'; - - /** - * An event fired when a widget is ready (fully initialized). This event is fired after: - * - * * {@link #init} is called, - * * The first {@link #event-data} event is fired, - * * A widget is attached to the document. - * - * Therefore, in case of widget creation with a command which opens a dialog window, this event - * will be delayed after the dialog window is closed and the widget is finally inserted into the document. - * - * **Note**: If your widget does not use automatic dialog window binding (i.e. you open the dialog window manually) - * or another situation in which the widget wrapper is not attached to document at the time when it is - * initialized occurs, you need to take care of firing {@link #event-ready} yourself. - * - * See also {@link #property-ready} and {@link #property-inited} properties, and - * {@link #isReady} and {@link #isInited} methods. - * - * @event ready - */ - - /** - * An event fired when a widget is about to be destroyed, but before it is - * fully torn down. - * - * @event destroy - */ - - /** - * An event fired when a widget is focused. - * - * Widget can be focused by executing {@link #method-focus}. - * - * @event focus - */ - - /** - * An event fired when a widget is blurred. - * - * @event blur - */ - - /** - * An event fired when a widget is selected. - * - * @event select - */ - - /** - * An event fired when a widget is deselected. - * - * @event deselect - */ - - /** - * An event fired by the {@link #method-edit} method. It can be canceled - * in order to stop the default action (opening a dialog window and/or - * {@link CKEDITOR.plugins.widget.repository#finalizeCreation finalizing widget creation}). - * - * @event edit - * @param data - * @param {String} data.dialog Defaults to {@link CKEDITOR.plugins.widget.definition#dialog} - * and can be changed or set by the listener. - */ - - /** - * An event fired when a dialog window for widget editing is opened. - * This event can be canceled in order to handle the editing dialog in a custom manner. - * - * @event dialog - * @param {CKEDITOR.dialog} data The opened dialog window instance. - */ - - /** - * An event fired when a key is pressed on a focused widget. - * This event is forwarded from the {@link CKEDITOR.editor#key} event and - * has the ability to block editor keystrokes if it is canceled. - * - * @event key - * @param data - * @param {Number} data.keyCode A number representing the key code (or combination). - */ - - /** - * An event fired when a widget is double clicked. - * - * **Note:** If a default editing action is executed on double click (i.e. a widget has a - * {@link CKEDITOR.plugins.widget.definition#dialog dialog} defined and the {@link #event-doubleclick} event was not - * canceled), this event will be automatically canceled, so a listener added with the default priority (10) - * will not be executed. Use a listener with low priority (e.g. 5) to be sure that it will be executed. - * - * widget.on( 'doubleclick', function( evt ) { - * console.log( 'widget#doubleclick' ); - * }, null, null, 5 ); - * - * If your widget handles double click in a special way (so the default editing action is not executed), - * make sure you cancel this event, because otherwise it will be propagated to {@link CKEDITOR.editor#doubleclick} - * and another feature may step in (e.g. a Link dialog window may be opened if your widget was inside a link). - * - * @event doubleclick - * @param data - * @param {CKEDITOR.dom.element} data.element The double-clicked element. - */ - - /** - * An event fired when the context menu is opened for a widget. - * - * @event contextMenu - * @param data The object containing context menu options to be added - * for this widget. See {@link CKEDITOR.plugins.contextMenu#addListener}. - */ - - /** - * An event fired when the widget data changed. See the {@link #setData} method and the {@link #property-data} property. - * - * @event data - */ - - - - /** - * The wrapper class for editable elements inside widgets. - * - * Do not use directly. Use {@link CKEDITOR.plugins.widget.definition#editables} or - * {@link CKEDITOR.plugins.widget#initEditable}. - * - * @class CKEDITOR.plugins.widget.nestedEditable - * @extends CKEDITOR.dom.element - * @constructor - * @param {CKEDITOR.editor} editor - * @param {CKEDITOR.dom.element} element - * @param config - * @param {CKEDITOR.filter} [config.filter] - */ - function NestedEditable( editor, element, config ) { - // Call the base constructor. - CKEDITOR.dom.element.call( this, element.$ ); - this.editor = editor; - this._ = {}; - var filter = this.filter = config.filter; - - // If blockless editable - always use BR mode. - if ( !CKEDITOR.dtd[ this.getName() ].p ) - this.enterMode = this.shiftEnterMode = CKEDITOR.ENTER_BR; - else { - this.enterMode = filter ? filter.getAllowedEnterMode( editor.enterMode ) : editor.enterMode; - this.shiftEnterMode = filter ? filter.getAllowedEnterMode( editor.shiftEnterMode, true ) : editor.shiftEnterMode; - } - } - - NestedEditable.prototype = CKEDITOR.tools.extend( CKEDITOR.tools.prototypedCopy( CKEDITOR.dom.element.prototype ), { - /** - * Sets the editable data. The data will be passed through the {@link CKEDITOR.editor#dataProcessor} - * and the {@link CKEDITOR.editor#filter}. This ensures that the data was filtered and prepared to be - * edited like the {@link CKEDITOR.editor#method-setData editor data}. - * - * Before content is changed, all nested widgets are destroyed. Afterwards, after new content is loaded, - * all nested widgets are initialized. - * - * @param {String} data - */ - setData: function( data ) { - // For performance reasons don't call destroyAll when initializing a nested editable, - // because there are no widgets inside. - if ( !this._.initialSetData ) { - // Destroy all nested widgets before setting data. - this.editor.widgets.destroyAll( false, this ); - } - this._.initialSetData = false; - - // Unescape protected content to prevent double escaping and corruption of content. - // This can be done by transforming the content to data format and then back to input HTML (#4060). - data = this.editor.dataProcessor.toDataFormat( data, { - context: this.getName(), - filter: this.filter, - enterMode: this.enterMode - } ); - data = this.editor.dataProcessor.toHtml( data, { - context: this.getName(), - filter: this.filter, - enterMode: this.enterMode - } ); - - this.setHtml( data ); - - this.editor.widgets.initOnAll( this ); - }, - - /** - * Gets the editable data. Like {@link #setData}, this method will process and filter the data. - * - * @returns {String} - */ - getData: function() { - return this.editor.dataProcessor.toDataFormat( this.getHtml(), { - context: this.getName(), - filter: this.filter, - enterMode: this.enterMode - } ); - } - } ); - - /** - * The editor instance. - * - * @readonly - * @property {CKEDITOR.editor} editor - */ - - /** - * The filter instance if allowed content rules were defined. - * - * @readonly - * @property {CKEDITOR.filter} filter - */ - - /** - * The enter mode active in this editable. - * It is determined from editable's name (whether it is a blockless editable), - * its allowed content rules (if defined) and the default editor's mode. - * - * @readonly - * @property {Number} enterMode - */ - - /** - * The shift enter move active in this editable. - * - * @readonly - * @property {Number} shiftEnterMode - */ - - - // - // REPOSITORY helpers ----------------------------------------------------- - // - - function addWidgetButtons( editor ) { - var widgets = editor.widgets.registered, - widget, - widgetName, - widgetButton; - - for ( widgetName in widgets ) { - widget = widgets[ widgetName ]; - - // Create button if defined. - widgetButton = widget.button; - if ( widgetButton && editor.ui.addButton ) { - editor.ui.addButton( CKEDITOR.tools.capitalize( widget.name, true ), { - label: widgetButton, - command: widget.name, - toolbar: 'insert,10' - } ); - } - } - } - - // Create a command creating and editing widget. - // - // @param editor - // @param {CKEDITOR.plugins.widget.definition} widgetDef - function addWidgetCommand( editor, widgetDef ) { - editor.addCommand( widgetDef.name, { - exec: function( editor, commandData ) { - var focused = editor.widgets.focused; - if ( focused && focused.name == widgetDef.name ) { - // If a widget of the same type is focused, start editing. - focused.edit(); - } else if ( widgetDef.insert ) { - // ... use insert method is was defined. - widgetDef.insert( { - editor: editor, - commandData: commandData - } ); - } else if ( widgetDef.template ) { - // ... or create a brand-new widget from template. - var defaults = typeof widgetDef.defaults == 'function' ? widgetDef.defaults() : widgetDef.defaults, - element = CKEDITOR.dom.element.createFromHtml( widgetDef.template.output( defaults ), editor.document ), - instance, - wrapper = editor.widgets.wrapElement( element, widgetDef.name ), - temp = new CKEDITOR.dom.documentFragment( wrapper.getDocument() ); - - // Append wrapper to a temporary document. This will unify the environment - // in which #data listeners work when creating and editing widget. - temp.append( wrapper ); - instance = editor.widgets.initOn( element, widgetDef, commandData && commandData.startupData ); - - // Instance could be destroyed during initialization. - // In this case finalize creation if some new widget - // was left in temporary document fragment. - if ( !instance ) { - finalizeCreation(); - return; - } - - // Listen on edit to finalize widget insertion. - // - // * If dialog was set, then insert widget after dialog was successfully saved or destroy this - // temporary instance. - // * If dialog wasn't set and edit wasn't canceled, insert widget. - var editListener = instance.once( 'edit', function( evt ) { - if ( evt.data.dialog ) { - instance.once( 'dialog', function( evt ) { - var dialog = evt.data, - okListener, - cancelListener; - - // Finalize creation AFTER (20) new data was set. - okListener = dialog.once( 'ok', finalizeCreation, null, null, 20 ); - - cancelListener = dialog.once( 'cancel', function( evt ) { - if ( !( evt.data && evt.data.hide === false ) ) { - editor.widgets.destroy( instance, true ); - } - } ); - - dialog.once( 'hide', function() { - okListener.removeListener(); - cancelListener.removeListener(); - } ); - } ); - } else { - // Dialog hasn't been set, so insert widget now. - finalizeCreation(); - } - }, null, null, 999 ); - - instance.edit(); - - // Remove listener in case someone canceled it before this - // listener was executed. - editListener.removeListener(); - } - - function finalizeCreation() { - editor.widgets.finalizeCreation( temp ); - } - }, - - allowedContent: widgetDef.allowedContent, - requiredContent: widgetDef.requiredContent, - contentForms: widgetDef.contentForms, - contentTransformations: widgetDef.contentTransformations - } ); - } - - function addWidgetProcessors( widgetsRepo, widgetDef ) { - var upcast = widgetDef.upcast, - priority = widgetDef.upcastPriority || 10; - - function multipleUpcastsHandler( element, data ) { - var upcasts = widgetDef.upcast.split( ',' ), - upcast, - i; - - for ( i = 0; i < upcasts.length; i++ ) { - upcast = upcasts[ i ]; - - if ( upcast === element.name ) { - return widgetDef.upcasts[ upcast ].call( this, element, data ); - } - } - - return false; - } - - if ( !upcast ) - return; - - // Multiple upcasts defined in string. - if ( typeof upcast == 'string' ) { - // This handler ensures that upcast method is fired only for appropriate element (#1094). - addUpcast( multipleUpcastsHandler, widgetDef, priority ); - } - // Single rule which is automatically activated. - else { - addUpcast( upcast, widgetDef, priority ); - } - - function addUpcast( upcast, def, priority ) { - // Find index of the first higher (in terms of value) priority upcast. - var index = CKEDITOR.tools.getIndex( widgetsRepo._.upcasts, function( element ) { - return element[ 2 ] > priority; - } ); - // Add at the end if it is the highest priority so far. - if ( index < 0 ) { - index = widgetsRepo._.upcasts.length; - } - - widgetsRepo._.upcasts.splice( index, 0, [ CKEDITOR.tools.bind( upcast, def ), def.name, priority ] ); - } - } - - function blurWidget( widgetsRepo, widget ) { - widgetsRepo.focused = null; - - if ( widget.isInited() ) { - var isDirty = widget.editor.checkDirty(); - - // Widget could be destroyed in the meantime - e.g. data could be set. - widgetsRepo.fire( 'widgetBlurred', { widget: widget } ); - widget.setFocused( false ); - - !isDirty && widget.editor.resetDirty(); - } - } - - function checkWidgets( evt ) { - var options = evt.data; - - if ( this.editor.mode != 'wysiwyg' ) - return; - - var editable = this.editor.editable(), - instances = this.instances, - newInstances, i, count, wrapper, notYetInitialized; - - if ( !editable ) - return; - - // Remove widgets which have no corresponding elements in DOM. - for ( i in instances ) { - // https://dev.ckeditor.com/ticket/13410 Remove widgets that are ready. This prevents from destroying widgets that are during loading process. - if ( instances[ i ].isReady() && !editable.contains( instances[ i ].wrapper ) ) - this.destroy( instances[ i ], true ); - } - - // Init on all (new) if initOnlyNew option was passed. - if ( options && options.initOnlyNew ) - newInstances = this.initOnAll(); - else { - var wrappers = editable.find( '.cke_widget_wrapper' ); - newInstances = []; - - // Create widgets on existing wrappers if they do not exists. - for ( i = 0, count = wrappers.count(); i < count; i++ ) { - wrapper = wrappers.getItem( i ); - notYetInitialized = !this.getByElement( wrapper, true ); - - // Check if: - // * there's no instance for this widget - // * wrapper is not inside some temporary element like copybin (https://dev.ckeditor.com/ticket/11088) - // * it was a nested widget's wrapper which has been detached from DOM, - // when nested editable has been initialized (it overwrites its innerHTML - // and initializes nested widgets). - if ( notYetInitialized && !findParent( wrapper, isDomTemp ) && editable.contains( wrapper ) ) { - // Add cke_widget_new class because otherwise - // widget will not be created on such wrapper. - wrapper.addClass( 'cke_widget_new' ); - newInstances.push( this.initOn( wrapper.getFirst( Widget.isDomWidgetElement ) ) ); - } - } - } - - // If only single widget was initialized and focusInited was passed, focus it. - if ( options && options.focusInited && newInstances.length == 1 ) - newInstances[ 0 ].focus(); - } - - // Unwraps widget element and clean up element. - // - // This function is used to clean up pasted widgets. - // It should have similar result to widget#destroy plus - // some additional adjustments, specific for pasting. - // - // @param {CKEDITOR.htmlParser.element} el - function cleanUpWidgetElement( el ) { - var parent = el.parent; - - if ( parent.type == CKEDITOR.NODE_ELEMENT && parent.attributes[ 'data-cke-widget-wrapper' ] ) { - parent.replaceWith( el ); - } - } - - // Preserves white spaces in widget element. - // - // This function is replacing white spaces with   - // at the beginning of the first text node - // and at the end of the last text node. - // - // @param {CKEDITOR.htmlParser.element} el - function preserveSpaces( el ) { - if ( typeof el.attributes != 'undefined' && el.attributes[ 'data-widget' ] ) { - var firstTextNode = getFirstTextNode( el ), - lastTextNode = getLastTextNode( el ), - spacesReplaced = false; - - // Check whether the value of the first text node contains white space at the beginning and replace it with  . - if ( firstTextNode && firstTextNode.value && firstTextNode.value.match( /^\s/g ) ) { - firstTextNode.parent.attributes[ 'data-cke-white-space-first' ] = 1; - firstTextNode.value = firstTextNode.value.replace( /^\s/g, ' ' ); - spacesReplaced = true; - } - - // Check whether the value of the last text node contains white space at the end and replace it with  . - if ( lastTextNode && lastTextNode.value && lastTextNode.value.match( /\s$/g ) ) { - lastTextNode.parent.attributes[ 'data-cke-white-space-last' ] = 1; - lastTextNode.value = lastTextNode.value.replace( /\s$/g, ' ' ); - spacesReplaced = true; - } - - if ( spacesReplaced ) { - el.attributes[ 'data-cke-widget-white-space' ] = 1; - } - } - } - - // Returns first child text node of the given element. - // - // @param {CKEDITOR.htmlParser.element} el. - // @returns {CKEDITOR.htmlParser.text} - function getFirstTextNode( el ) { - return el.find( function( node ) { - return node.type === 3; - }, true ).shift(); - } - - - // Returns last child text node of the given element. - // - // @param {CKEDITOR.htmlParser.element} el. - // @returns {CKEDITOR.htmlParser.text} - function getLastTextNode( el ) { - return el.find( function( node ) { - return node.type === 3; - }, true ).pop(); - } - - // Similar to cleanUpWidgetElement, but works on DOM and finds - // widget elements by its own. - // - // Unlike cleanUpWidgetElement it will wrap element back. - // - // @param {CKEDITOR.dom.element} container - function cleanUpAllWidgetElements( widgetsRepo, container ) { - var wrappers = container.find( '.cke_widget_wrapper' ), - wrapper, element, - i = 0, - l = wrappers.count(); - - for ( ; i < l; ++i ) { - wrapper = wrappers.getItem( i ); - element = wrapper.getFirst( Widget.isDomWidgetElement ); - // If wrapper contains widget element - unwrap it and wrap again. - if ( element.type == CKEDITOR.NODE_ELEMENT && element.data( 'widget' ) ) { - element.replace( wrapper ); - widgetsRepo.wrapElement( element ); - } else { - // Otherwise - something is wrong... clean this up. - wrapper.remove(); - } - } - } - - // Creates {@link CKEDITOR.filter} instance for given widget, editable and rules. - // - // Once filter for widget-editable pair is created it is cached, so the same instance - // will be returned when method is executed again. - // - // @param {String} widgetName - // @param {String} editableName - // @param {CKEDITOR.plugins.widget.nestedEditableDefinition} editableDefinition The nested editable definition. - // @returns {CKEDITOR.filter} Filter instance or `null` if rules are not defined. - // @context CKEDITOR.plugins.widget.repository - function createEditableFilter( widgetName, editableName, editableDefinition ) { - if ( !editableDefinition.allowedContent && !editableDefinition.disallowedContent ) - return null; - - var editables = this._.filters[ widgetName ]; - - if ( !editables ) - this._.filters[ widgetName ] = editables = {}; - - var filter = editables[ editableName ]; - - if ( !filter ) { - filter = editableDefinition.allowedContent ? new CKEDITOR.filter( editableDefinition.allowedContent ) : this.editor.filter.clone(); - - editables[ editableName ] = filter; - - if ( editableDefinition.disallowedContent ) { - filter.disallow( editableDefinition.disallowedContent ); - } - } - - return filter; - } - - // Creates an iterator function which when executed on all - // elements in DOM tree will gather elements that should be wrapped - // and initialized as widgets. - function createUpcastIterator( widgetsRepo ) { - var toBeWrapped = [], - upcasts = widgetsRepo._.upcasts, - upcastCallbacks = widgetsRepo._.upcastCallbacks; - - return { - toBeWrapped: toBeWrapped, - - iterator: function( element ) { - var upcast, upcasted, - data, - i, - upcastsLength, - upcastCallbacksLength; - - // Wrapper found - find widget element, add it to be - // cleaned up (unwrapped) and wrapped and stop iterating in this branch. - if ( 'data-cke-widget-wrapper' in element.attributes ) { - element = element.getFirst( Widget.isParserWidgetElement ); - - if ( element ) - toBeWrapped.push( [ element ] ); - - // Do not iterate over descendants. - return false; - } - // Widget element found - add it to be cleaned up (just in case) - // and wrapped and stop iterating in this branch. - else if ( 'data-widget' in element.attributes ) { - toBeWrapped.push( [ element ] ); - - // Do not iterate over descendants. - return false; - } - else if ( ( upcastsLength = upcasts.length ) ) { - // Ignore elements with data-cke-widget-upcasted to avoid multiple upcasts (https://dev.ckeditor.com/ticket/11533). - // Do not iterate over descendants. - if ( element.attributes[ 'data-cke-widget-upcasted' ] ) - return false; - - // Check element with upcast callbacks first. - // If any of them return false abort upcasting. - for ( i = 0, upcastCallbacksLength = upcastCallbacks.length; i < upcastCallbacksLength; ++i ) { - if ( upcastCallbacks[ i ]( element ) === false ) - return; - // Return nothing in order to continue iterating over ascendants. - // See https://dev.ckeditor.com/ticket/11186#comment:6 - } - - for ( i = 0; i < upcastsLength; ++i ) { - upcast = upcasts[ i ]; - data = {}; - - if ( ( upcasted = upcast[ 0 ]( element, data ) ) ) { - // If upcast function returned element, upcast this one. - // It can be e.g. a new element wrapping the original one. - if ( upcasted instanceof CKEDITOR.htmlParser.element ) - element = upcasted; - - // Set initial data attr with data from upcast method. - element.attributes[ 'data-cke-widget-data' ] = encodeURIComponent( JSON.stringify( data ) ); - element.attributes[ 'data-cke-widget-upcasted' ] = 1; - - toBeWrapped.push( [ element, upcast[ 1 ] ] ); - - // Do not iterate over descendants. - return false; - } - } - } - } - }; - } - - // Finds a first parent that matches query. - // - // @param {CKEDITOR.dom.element} element - // @param {Function} query - function findParent( element, query ) { - var parent = element; - - while ( ( parent = parent.getParent() ) ) { - if ( query( parent ) ) - return true; - } - return false; - } - - function getWrapperAttributes( inlineWidget, name ) { - return { - // tabindex="-1" means that it can receive focus by code. - tabindex: -1, - contenteditable: 'false', - 'data-cke-widget-wrapper': 1, - 'data-cke-filter': 'off', - // Class cke_widget_new marks widgets which haven't been initialized yet. - 'class': 'cke_widget_wrapper cke_widget_new cke_widget_' + - ( inlineWidget ? 'inline' : 'block' ) + - ( name ? ' cke_widget_' + name : '' ) - }; - } - - // Inserts element at given index. - // It will check DTD and split ancestor elements up to the first - // that can contain this element. - // - // @param {CKEDITOR.htmlParser.element} parent - // @param {Number} index - // @param {CKEDITOR.htmlParser.element} element - function insertElement( parent, index, element ) { - // Do not split doc fragment... - if ( parent.type == CKEDITOR.NODE_ELEMENT ) { - var parentAllows = CKEDITOR.dtd[ parent.name ]; - // Parent element is known (included in DTD) and cannot contain - // this element. - if ( parentAllows && !parentAllows[ element.name ] ) { - var parent2 = parent.split( index ), - parentParent = parent.parent; - - // Element will now be inserted at right parent's index. - index = parent2.getIndex(); - - // If left part of split is empty - remove it. - if ( !parent.children.length ) { - index -= 1; - parent.remove(); - } - - // If right part of split is empty - remove it. - if ( !parent2.children.length ) - parent2.remove(); - - // Try inserting as grandpas' children. - return insertElement( parentParent, index, element ); - } - } - - // Finally we can add this element. - parent.add( element, index ); - } - - // Checks whether for the given widget definition and element widget should be created in inline or block mode. - // - // See also: {@link CKEDITOR.plugins.widget.definition#inline} and {@link CKEDITOR.plugins.widget#element}. - // - // @param {CKEDITOR.plugins.widget.definition} widgetDef The widget definition. - // @param {String} elementName The name of the widget element. - // @returns {Boolean} - function isWidgetInline( widgetDef, elementName ) { - return typeof widgetDef.inline == 'boolean' ? widgetDef.inline : !!CKEDITOR.dtd.$inline[ elementName ]; - } - - // @param {CKEDITOR.dom.element} - // @returns {Boolean} - function isDomTemp( element ) { - return element.hasAttribute( 'data-cke-temp' ); - } - - function onEditableKey( widget, keyCode ) { - var focusedEditable = widget.focusedEditable, - range; - - // CTRL+A. - if ( keyCode == CKEDITOR.CTRL + 65 ) { - var bogus = focusedEditable.getBogus(); - - range = widget.editor.createRange(); - range.selectNodeContents( focusedEditable ); - // Exclude bogus if exists. - if ( bogus ) - range.setEndAt( bogus, CKEDITOR.POSITION_BEFORE_START ); - - range.select(); - // Cancel event - block default. - return false; - } - // DEL or BACKSPACE. - else if ( keyCode == 8 || keyCode == 46 ) { - var ranges = widget.editor.getSelection().getRanges(); - - range = ranges[ 0 ]; - - // Block del or backspace if at editable's boundary. - return !( ranges.length == 1 && range.collapsed && - range.checkBoundaryOfElement( focusedEditable, CKEDITOR[ keyCode == 8 ? 'START' : 'END' ] ) ); - } - } - - function setFocusedEditable( widgetsRepo, widget, editableElement, offline ) { - var editor = widgetsRepo.editor; - - editor.fire( 'lockSnapshot' ); - - if ( editableElement ) { - var editableName = editableElement.data( 'cke-widget-editable' ), - editableInstance = widget.editables[ editableName ]; - - widgetsRepo.widgetHoldingFocusedEditable = widget; - widget.focusedEditable = editableInstance; - editableElement.addClass( 'cke_widget_editable_focused' ); - - if ( editableInstance.filter ) - editor.setActiveFilter( editableInstance.filter ); - editor.setActiveEnterMode( editableInstance.enterMode, editableInstance.shiftEnterMode ); - } else { - if ( !offline ) - widget.focusedEditable.removeClass( 'cke_widget_editable_focused' ); - - widget.focusedEditable = null; - widgetsRepo.widgetHoldingFocusedEditable = null; - editor.setActiveFilter( null ); - editor.setActiveEnterMode( null, null ); - } - - editor.fire( 'unlockSnapshot' ); - } - - function setupContextMenu( editor ) { - if ( !editor.contextMenu ) - return; - - editor.contextMenu.addListener( function( element ) { - var widget = editor.widgets.getByElement( element, true ); - - if ( widget ) - return widget.fire( 'contextMenu', {} ); - } ); - } - - // And now we've got two problems - original problem and RegExp. - // Some softeners: - // * FF tends to copy all blocks up to the copybin container. - // * IE tends to copy only the copybin, without its container. - // * We use spans on IE and blockless editors, but divs in other cases. - var pasteReplaceRegex = new RegExp( - '^' + - '(?:<(?:div|span)(?: data-cke-temp="1")?(?: id="cke_copybin")?(?: data-cke-temp="1")?>)?' + - '(?:<(?:div|span)(?: style="[^"]+")?>)?' + - ']*data-cke-copybin-start="1"[^>]*>.?([\\s\\S]+)]*data-cke-copybin-end="1"[^>]*>.?' + - '(?:)?' + - '(?:)?' + - '$', - // IE8 prefers uppercase when browsers stick to lowercase HTML (https://dev.ckeditor.com/ticket/13460). - 'i' - ); - - function pasteReplaceFn( match, wrapperHtml ) { - // Avoid polluting pasted data with any whitspaces, - // what's going to break check whether only one widget was pasted. - return CKEDITOR.tools.trim( wrapperHtml ); - } - - function setupDragAndDrop( widgetsRepo ) { - var editor = widgetsRepo.editor, - lineutils = CKEDITOR.plugins.lineutils; - - // These listeners handle inline and block widgets drag and drop. - // The only thing we need to do to make block widgets custom drag and drop functionality - // is to fire those events with the right properties (like the target which must be the drag handle). - editor.on( 'dragstart', function( evt ) { - var target = evt.data.target; - - if ( Widget.isDomDragHandler( target ) ) { - var widget = widgetsRepo.getByElement( target ); - - evt.data.dataTransfer.setData( 'cke/widget-id', widget.id ); - - // IE needs focus. - editor.focus(); - - // and widget need to be focused on drag start (https://dev.ckeditor.com/ticket/12172#comment:10). - widget.focus(); - } - - } ); - - editor.on( 'drop', function( evt ) { - var dataTransfer = evt.data.dataTransfer, - id = dataTransfer.getData( 'cke/widget-id' ), - transferType = dataTransfer.getTransferType( editor ), - dragRange = editor.createRange(), - sourceWidget; - - // Disable cross-editor drag & drop for widgets - https://dev.ckeditor.com/ticket/13599. - if ( id !== '' && transferType === CKEDITOR.DATA_TRANSFER_CROSS_EDITORS ) { - evt.cancel(); - return; - } - - if ( transferType != CKEDITOR.DATA_TRANSFER_INTERNAL ) { - return; - } - - // Add support for dropping selection containing more than widget itself - // or more than one widget (#3441). - if ( id === '' && editor.widgets.selected.length > 0 ) { - evt.data.dataTransfer.setData( 'text/html', getClipboardHtml( editor ) ); - return; - } - - sourceWidget = widgetsRepo.instances[ id ]; - if ( !sourceWidget ) { - return; - } - - dragRange.setStartBefore( sourceWidget.wrapper ); - dragRange.setEndAfter( sourceWidget.wrapper ); - evt.data.dragRange = dragRange; - - // [IE8-9] Reset state of the clipboard#fixSplitNodesAfterDrop fix because by setting evt.data.dragRange - // (see above) after drop happened we do not need it. That fix is needed only if dragRange was created - // before drop (before text node was split). - delete CKEDITOR.plugins.clipboard.dragStartContainerChildCount; - delete CKEDITOR.plugins.clipboard.dragEndContainerChildCount; - - evt.data.dataTransfer.setData( 'text/html', sourceWidget.getClipboardHtml() ); - editor.widgets.destroy( sourceWidget, true ); - } ); - - editor.on( 'contentDom', function() { - var editable = editor.editable(); - - // Register Lineutils's utilities as properties of repo. - CKEDITOR.tools.extend( widgetsRepo, { - finder: new lineutils.finder( editor, { - lookups: { - // Element is block but not list item and not in nested editable. - 'default': function( el ) { - if ( el.is( CKEDITOR.dtd.$listItem ) ) - return; - - if ( !el.is( CKEDITOR.dtd.$block ) ) - return; - - // Allow drop line inside, but never before or after nested editable (https://dev.ckeditor.com/ticket/12006). - if ( Widget.isDomNestedEditable( el ) ) - return; - - // Do not allow droping inside the widget being dragged (https://dev.ckeditor.com/ticket/13397). - if ( widgetsRepo._.draggedWidget.wrapper.contains( el ) ) { - return; - } - - // If element is nested editable, make sure widget can be dropped there (https://dev.ckeditor.com/ticket/12006). - var nestedEditable = Widget.getNestedEditable( editable, el ); - if ( nestedEditable ) { - var draggedWidget = widgetsRepo._.draggedWidget; - - // Don't let the widget to be dropped into its own nested editable. - if ( widgetsRepo.getByElement( nestedEditable ) == draggedWidget ) - return; - - var filter = CKEDITOR.filter.instances[ nestedEditable.data( 'cke-filter' ) ], - draggedRequiredContent = draggedWidget.requiredContent; - - // There will be no relation if the filter of nested editable does not allow - // requiredContent of dragged widget. - if ( filter && draggedRequiredContent && !filter.check( draggedRequiredContent ) ) - return; - } - - return CKEDITOR.LINEUTILS_BEFORE | CKEDITOR.LINEUTILS_AFTER; - } - } - } ), - locator: new lineutils.locator( editor ), - liner: new lineutils.liner( editor, { - lineStyle: { - cursor: 'move !important', - 'border-top-color': '#666' - }, - tipLeftStyle: { - 'border-left-color': '#666' - }, - tipRightStyle: { - 'border-right-color': '#666' - } - } ) - }, true ); - } ); - } - - // Setup mouse observer which will trigger: - // * widget focus on widget click, - // * widget#doubleclick forwarded from editor#doubleclick. - function setupMouseObserver( widgetsRepo ) { - var editor = widgetsRepo.editor; - - editor.on( 'contentDom', function() { - var editable = editor.editable(), - evtRoot = editable.isInline() ? editable : editor.document, - widget, - mouseDownOnDragHandler; - - editable.attachListener( evtRoot, 'mousedown', function( evt ) { - var target = evt.data.getTarget(); - - // Clicking scrollbar in Chrome will invoke event with target object of document type (#663). - // In IE8 the target object will be empty (https://dev.ckeditor.com/ticket/10887). - // We need to check if target is a proper element. - widget = ( target instanceof CKEDITOR.dom.element ) ? widgetsRepo.getByElement( target ) : null; - - mouseDownOnDragHandler = 0; // Reset. - - // Widget was clicked, but not editable nested in it. - if ( widget ) { - // Ignore mousedown on drag and drop handler if the widget is inline. - // Block widgets are handled by Lineutils. - if ( widget.inline && target.type == CKEDITOR.NODE_ELEMENT && target.hasAttribute( 'data-cke-widget-drag-handler' ) ) { - mouseDownOnDragHandler = 1; - - // When drag handler is pressed we have to clear current selection if it wasn't already on this widget. - // Otherwise, the selection may be in a fillingChar, which prevents dragging a widget. (https://dev.ckeditor.com/ticket/13284, see comment 8 and 9.) - if ( widgetsRepo.focused != widget ) - editor.getSelection().removeAllRanges(); - - return; - } - - if ( !Widget.getNestedEditable( widget.wrapper, target ) ) { - evt.data.preventDefault(); - if ( !CKEDITOR.env.ie ) - widget.focus(); - } else { - // Reset widget so mouseup listener is not confused. - widget = null; - } - } - } ); - - // Focus widget on mouseup if mousedown was fired on drag handler. - // Note: mouseup won't be fired at all if widget was dragged and dropped, so - // this code will be executed only when drag handler was clicked. - editable.attachListener( evtRoot, 'mouseup', function() { - // Check if widget is not destroyed (if widget is destroyed the wrapper will be null). - if ( mouseDownOnDragHandler && widget && widget.wrapper ) { - mouseDownOnDragHandler = 0; - widget.focus(); - } - } ); - - // On IE it is not enough to block mousedown. If widget wrapper (element with - // contenteditable=false attribute) is clicked directly (it is a target), - // then after mouseup/click IE will select that element. - // It is not possible to prevent that default action, - // so we force fake selection after everything happened. - if ( CKEDITOR.env.ie ) { - editable.attachListener( evtRoot, 'mouseup', function() { - setTimeout( function() { - // Check if widget is not destroyed (if widget is destroyed the wrapper will be null) and - // in editable contains widget (it could be dragged and removed). - if ( widget && widget.wrapper && editable.contains( widget.wrapper ) ) { - widget.focus(); - widget = null; - } - } ); - } ); - } - } ); - - editor.on( 'doubleclick', function( evt ) { - var widget = widgetsRepo.getByElement( evt.data.element ); - - // Not in widget or in nested editable. - if ( !widget || Widget.getNestedEditable( widget.wrapper, evt.data.element ) ) - return; - - return widget.fire( 'doubleclick', { element: evt.data.element } ); - }, null, null, 1 ); - } - - // Setup editor#key observer which will forward it - // to focused widget. - function setupKeyboardObserver( widgetsRepo ) { - var editor = widgetsRepo.editor; - - editor.on( 'key', function( evt ) { - var focused = widgetsRepo.focused, - widgetHoldingFocusedEditable = widgetsRepo.widgetHoldingFocusedEditable, - ret; - - if ( focused ) - ret = focused.fire( 'key', { keyCode: evt.data.keyCode } ); - else if ( widgetHoldingFocusedEditable ) - ret = onEditableKey( widgetHoldingFocusedEditable, evt.data.keyCode ); - - return ret; - }, null, null, 1 ); - } - - // Setup copybin on native copy and cut events in order to handle copy and cut commands - // if the user accepted the security alert on IEs. - // Note: When copying or cutting using keystroke, copyWidgets will be executed first - // by the keydown listener. A conflict between two calls will be resolved by the copy_bin existence check. - function setupNativeCutAndCopy( widgetsRepo ) { - var editor = widgetsRepo.editor; - - editor.on( 'contentDom', function() { - var editable = editor.editable(); - - editable.attachListener( editable, 'copy', eventListener ); - editable.attachListener( editable, 'cut', eventListener ); - } ); - - function eventListener( evt ) { - if ( widgetsRepo.selected.length < 1 ) { - return; - } - - copyWidgets( editor, evt.name === 'cut' ); - } - } - - // Setup selection observer which will trigger: - // * widget select & focus on selection change, - // * nested editable focus (related properties and classes) on selection change, - // * deselecting and blurring all widgets on data, - // * blurring widget on editor blur. - function setupSelectionObserver( widgetsRepo ) { - var editor = widgetsRepo.editor; - - editor.on( 'selectionCheck', fireCheckSelection ); - - // The selectionCheck event is fired on keyup, so we must force refreshing - // widgets selection on key event. Also fire it only in WYSIWYG mode (#3352, #3704). - editor.on( 'contentDom', function() { - editor.editable().attachListener( editor, 'key', function() { - setTimeout( fireCheckSelection, 10 ); - } ); - } ); - - // (#3498) - if ( !CKEDITOR.env.ie ) { - widgetsRepo.on( 'checkSelection', fixCrossContentSelection ); - } - - widgetsRepo.on( 'checkSelection', widgetsRepo.checkSelection, widgetsRepo ); - - editor.on( 'selectionChange', function( evt ) { - var nestedEditable = Widget.getNestedEditable( editor.editable(), evt.data.selection.getStartElement() ), - newWidget = nestedEditable && widgetsRepo.getByElement( nestedEditable ), - oldWidget = widgetsRepo.widgetHoldingFocusedEditable; - - if ( oldWidget ) { - if ( oldWidget !== newWidget || !oldWidget.focusedEditable.equals( nestedEditable ) ) { - setFocusedEditable( widgetsRepo, oldWidget, null ); - - if ( newWidget && nestedEditable ) - setFocusedEditable( widgetsRepo, newWidget, nestedEditable ); - } - } - // It may happen that there's no widget even if editable was found - - // e.g. if selection was automatically set in editable although widget wasn't initialized yet. - else if ( newWidget && nestedEditable ) { - setFocusedEditable( widgetsRepo, newWidget, nestedEditable ); - } - } ); - - // Invalidate old widgets early - immediately on dataReady. - editor.on( 'dataReady', function() { - // Deselect and blur all widgets. - stateUpdater( widgetsRepo ).commit(); - } ); - - editor.on( 'blur', function() { - var widget; - - if ( ( widget = widgetsRepo.focused ) ) - blurWidget( widgetsRepo, widget ); - - if ( ( widget = widgetsRepo.widgetHoldingFocusedEditable ) ) - setFocusedEditable( widgetsRepo, widget, null ); - } ); - - // Selection is fixed only when it starts in content and ends in a widget (and vice versa). - // It's not possible to manually create selection which starts inside one widget and ends in another, - // so we are skipping this case to simplify implementation (#3498). - function fixCrossContentSelection() { - var selection = editor.getSelection(); - if ( !selection ) { - return; - } - - var range = selection.getRanges()[ 0 ]; - if ( !range || range.collapsed ) { - return; - } - - var startWidget = findWidget( range.startContainer ), - endWidget = findWidget( range.endContainer ); - - if ( !startWidget && endWidget ) { - range.setEndBefore( endWidget.wrapper ); - range.select(); - } else if ( startWidget && !endWidget ) { - range.setStartAfter( startWidget.wrapper ); - range.select(); - } - } - - function findWidget( node ) { - if ( !node ) { - return null; - } - - if ( node.type == CKEDITOR.NODE_TEXT ) { - return findWidget( node.getParent() ); - } - - return editor.widgets.getByElement( node ); - } - - function fireCheckSelection() { - widgetsRepo.fire( 'checkSelection' ); - } - } - - // Set up actions like: - // * processing in toHtml/toDataFormat, - // * pasting handling, - // * insertion handling, - // * editable reload handling (setData, mode switch, undo/redo), - // * DOM invalidation handling, - // * widgets checks. - function setupWidgetsLifecycle( widgetsRepo ) { - setupWidgetsLifecycleStart( widgetsRepo ); - setupWidgetsLifecycleEnd( widgetsRepo ); - - widgetsRepo.on( 'checkWidgets', checkWidgets ); - widgetsRepo.editor.on( 'contentDomInvalidated', widgetsRepo.checkWidgets, widgetsRepo ); - } - - function setupWidgetsLifecycleEnd( widgetsRepo ) { - var editor = widgetsRepo.editor, - downcastingSessions = {}; - - // Listen before htmlDP#htmlFilter is applied to cache all widgets, because we'll - // loose data-cke-* attributes. - editor.on( 'toDataFormat', function( evt ) { - // To avoid conflicts between htmlDP#toDF calls done at the same time - // (e.g. nestedEditable#getData called during downcasting some widget) - // mark every toDataFormat event chain with the downcasting session id. - var id = CKEDITOR.tools.getNextNumber(), - toBeDowncasted = []; - evt.data.downcastingSessionId = id; - downcastingSessions[ id ] = toBeDowncasted; - - evt.data.dataValue.forEach( function( element ) { - var attrs = element.attributes, - widget, widgetElement; - - // Reset initial and trailing space by replacing   with white space (#605). - if ( 'data-cke-widget-white-space' in attrs ) { - var firstTextNode = getFirstTextNode( element ), - lastTextNode = getLastTextNode( element ); - - // Check whether the value of the text node contains   at the beginning and replace it with white space. - if ( firstTextNode.parent.attributes[ 'data-cke-white-space-first' ] ) { - firstTextNode.value = firstTextNode.value.replace( /^ /g, ' ' ); - } - - // Check whether the value of the text node contains   at the end and replace it with white space. - if ( lastTextNode.parent.attributes[ 'data-cke-white-space-last' ] ) { - lastTextNode.value = lastTextNode.value.replace( / $/g, ' ' ); - } - } - - // Wrapper. - // Perform first part of downcasting (cleanup) and cache widgets, - // because after applying DP's filter all data-cke-* attributes will be gone. - if ( 'data-cke-widget-id' in attrs ) { - widget = widgetsRepo.instances[ attrs[ 'data-cke-widget-id' ] ]; - if ( widget ) { - widgetElement = element.getFirst( Widget.isParserWidgetElement ); - toBeDowncasted.push( { - wrapper: element, - element: widgetElement, - widget: widget, - editables: {} - } ); - - // If widget did not have data-cke-widget attribute before upcasting remove it. - if ( widgetElement.attributes[ 'data-cke-widget-keep-attr' ] != '1' ) - delete widgetElement.attributes[ 'data-widget' ]; - } - } - // Nested editable. - else if ( 'data-cke-widget-editable' in attrs ) { - // Save the reference to this nested editable in the closest widget to be downcasted. - // Nested editables are downcasted in the successive toDataFormat to create an opportunity - // for dataFilter's "excludeNestedEditable" option to do its job (that option relies on - // contenteditable="true" attribute) (https://dev.ckeditor.com/ticket/11372). - // There is possibility that nested editable is detected during pasting, when widget - // containing it is not yet upcasted (#1469). - if ( toBeDowncasted.length > 0 ) { - toBeDowncasted[ toBeDowncasted.length - 1 ].editables[ attrs[ 'data-cke-widget-editable' ] ] = element; - } - - // Don't check children - there won't be next wrapper or nested editable which we - // should process in this session. - return false; - } - }, CKEDITOR.NODE_ELEMENT, true ); - }, null, null, 8 ); - - // Listen after dataProcessor.htmlFilter and ACF were applied - // so wrappers securing widgets' contents are removed after all filtering was done. - editor.on( 'toDataFormat', function( evt ) { - // Ignore some unmarked sessions. - if ( !evt.data.downcastingSessionId ) - return; - - var toBeDowncasted = downcastingSessions[ evt.data.downcastingSessionId ], - toBe, widget, widgetElement, retElement, editableElement, e, parserFragment; - - while ( ( toBe = toBeDowncasted.shift() ) ) { - widget = toBe.widget; - widgetElement = toBe.element; - retElement = widget._.downcastFn && widget._.downcastFn.call( widget, widgetElement ); - - // In case of copying widgets, we replace the widget with clipboard data (#3138). - if ( evt.data.widgetsCopy && widget.getClipboardHtml ) { - parserFragment = CKEDITOR.htmlParser.fragment.fromHtml( widget.getClipboardHtml() ); - - retElement = parserFragment.children[ 0 ]; - } - - // Replace nested editables' content with their output data. - for ( e in toBe.editables ) { - editableElement = toBe.editables[ e ]; - - delete editableElement.attributes.contenteditable; - editableElement.setHtml( widget.editables[ e ].getData() ); - } - - // Returned element always defaults to widgetElement. - if ( !retElement ) - retElement = widgetElement; - - toBe.wrapper.replaceWith( retElement ); - } - }, null, null, 13 ); - - - editor.on( 'contentDomUnload', function() { - widgetsRepo.destroyAll( true ); - } ); - } - - function setupWidgetsLifecycleStart( widgetsRepo ) { - var editor = widgetsRepo.editor, - processedWidgetOnly, - snapshotLoaded; - - // Listen after ACF (so data are filtered), - // but before dataProcessor.dataFilter was applied (so we can secure widgets' internals). - editor.on( 'toHtml', function( evt ) { - var upcastIterator = createUpcastIterator( widgetsRepo ), - toBeWrapped; - - evt.data.dataValue.forEach( upcastIterator.iterator, CKEDITOR.NODE_ELEMENT, true ); - - // Clean up and wrap all queued elements. - while ( ( toBeWrapped = upcastIterator.toBeWrapped.pop() ) ) { - cleanUpWidgetElement( toBeWrapped[ 0 ] ); - widgetsRepo.wrapElement( toBeWrapped[ 0 ], toBeWrapped[ 1 ] ); - } - - // Used to determine whether only widget was pasted. - if ( evt.data.protectedWhitespaces ) { - // Whitespaces are protected by wrapping content with spans. Take the middle node only. - processedWidgetOnly = evt.data.dataValue.children.length == 3 && - Widget.isParserWidgetWrapper( evt.data.dataValue.children[ 1 ] ); - } else { - processedWidgetOnly = evt.data.dataValue.children.length == 1 && - Widget.isParserWidgetWrapper( evt.data.dataValue.children[ 0 ] ); - } - }, null, null, 8 ); - - editor.on( 'dataReady', function() { - // Clean up all widgets loaded from snapshot. - if ( snapshotLoaded ) { - cleanUpAllWidgetElements( widgetsRepo, editor.editable() ); - } - snapshotLoaded = 0; - - // Some widgets were destroyed on contentDomUnload, - // some on loadSnapshot, but that does not include - // e.g. setHtml on inline editor or widgets removed just - // before setting data. - widgetsRepo.destroyAll( true ); - widgetsRepo.initOnAll(); - } ); - - // Set flag so dataReady will know that additional - // cleanup is needed, because snapshot containing widgets was loaded. - editor.on( 'loadSnapshot', function( evt ) { - // Primitive but sufficient check which will prevent from executing - // heavier cleanUpAllWidgetElements if not needed. - if ( ( /data-cke-widget/ ).test( evt.data ) ) { - snapshotLoaded = 1; - } - - widgetsRepo.destroyAll( true ); - }, null, null, 9 ); - - // Handle pasted single widget. - editor.on( 'paste', function( evt ) { - var data = evt.data; - - data.dataValue = data.dataValue.replace( pasteReplaceRegex, pasteReplaceFn ); - - // If drag'n'drop kind of paste into nested editable (data.range), selection is set AFTER - // data is pasted, which means editor has no chance to change activeFilter's context. - // As a result, pasted data is filtered with default editor's filter instead of NE's and - // funny things get inserted. Changing the filter by analysis of the paste range below (https://dev.ckeditor.com/ticket/13186). - if ( data.range ) { - // Check if pasting into nested editable. - var nestedEditable = Widget.getNestedEditable( editor.editable(), data.range.startContainer ); - - if ( nestedEditable ) { - // Retrieve the filter from NE's data and set it active before editor.insertHtml is done - // in clipboard plugin. - var filter = CKEDITOR.filter.instances[ nestedEditable.data( 'cke-filter' ) ]; - - if ( filter ) { - editor.setActiveFilter( filter ); - } - } - } - } ); - - // Listen with high priority to check widgets after data was inserted. - editor.on( 'afterInsertHtml', function( evt ) { - if ( evt.data.intoRange ) { - widgetsRepo.checkWidgets( { initOnlyNew: true } ); - } else { - editor.fire( 'lockSnapshot' ); - // Init only new for performance reason. - // Focus inited if only widget was processed. - widgetsRepo.checkWidgets( { initOnlyNew: true, focusInited: processedWidgetOnly } ); - - editor.fire( 'unlockSnapshot' ); - } - } ); - } - - // Helper for coordinating which widgets should be - // selected/deselected and which one should be focused/blurred. - function stateUpdater( widgetsRepo ) { - var currentlySelected = widgetsRepo.selected, - toBeSelected = [], - toBeDeselected = currentlySelected.slice( 0 ), - focused = null; - - return { - select: function( widget ) { - if ( CKEDITOR.tools.indexOf( currentlySelected, widget ) < 0 ) { - toBeSelected.push( widget ); - } - - var index = CKEDITOR.tools.indexOf( toBeDeselected, widget ); - if ( index >= 0 ) { - toBeDeselected.splice( index, 1 ); - } - - return this; - }, - - focus: function( widget ) { - focused = widget; - return this; - }, - - commit: function() { - var focusedChanged = widgetsRepo.focused !== focused, - widget, isDirty; - - widgetsRepo.editor.fire( 'lockSnapshot' ); - - if ( focusedChanged && ( widget = widgetsRepo.focused ) ) { - blurWidget( widgetsRepo, widget ); - } - - while ( ( widget = toBeDeselected.pop() ) ) { - currentlySelected.splice( CKEDITOR.tools.indexOf( currentlySelected, widget ), 1 ); - // Widget could be destroyed in the meantime - e.g. data could be set. - if ( widget.isInited() ) { - isDirty = widget.editor.checkDirty(); - - widget.setSelected( false ); - - !isDirty && widget.editor.resetDirty(); - } - } - - if ( focusedChanged && focused ) { - isDirty = widgetsRepo.editor.checkDirty(); - - widgetsRepo.focused = focused; - widgetsRepo.fire( 'widgetFocused', { widget: focused } ); - focused.setFocused( true ); - - !isDirty && widgetsRepo.editor.resetDirty(); - } - - while ( ( widget = toBeSelected.pop() ) ) { - currentlySelected.push( widget ); - widget.setSelected( true ); - } - - widgetsRepo.editor.fire( 'unlockSnapshot' ); - } - }; - } - - function setupUndoFilter( undoManager ) { - if ( !undoManager ) { - return; - } - - undoManager.addFilterRule( function( data ) { - return data.replace( /\s*cke_widget_selected/g, '' ) - .replace( /\s*cke_widget_focused/g, '' ) - .replace( /]*cke_widget_drag_handler_container[^>]*.*?<\/span>/gmi, '' ); - } ); - } - - // - // WIDGET helpers --------------------------------------------------------- - // - - // LEFT, RIGHT, UP, DOWN, DEL, BACKSPACE - unblock default fake sel handlers. - var keystrokesNotBlockedByWidget = { 37: 1, 38: 1, 39: 1, 40: 1, 8: 1, 46: 1 }; - - // Do not block SHIFT + F10 which opens context menu (#1901). - keystrokesNotBlockedByWidget[ CKEDITOR.SHIFT + 121 ] = 1; - - // Applies or removes style's classes from widget. - // @param {CKEDITOR.style} style Custom widget style. - // @param {Boolean} apply Whether to apply or remove style. - function applyRemoveStyle( widget, style, apply ) { - var changed = 0, - classes = getStyleClasses( style ), - updatedClasses = widget.data.classes || {}, - cl; - - // Ee... Something is wrong with this style. - if ( !classes ) { - return; - } - - // Clone, because we need to break reference. - updatedClasses = CKEDITOR.tools.clone( updatedClasses ); - - while ( ( cl = classes.pop() ) ) { - if ( apply ) { - if ( !updatedClasses[ cl ] ) { - changed = updatedClasses[ cl ] = 1; - } - } else { - if ( updatedClasses[ cl ] ) { - delete updatedClasses[ cl ]; - changed = 1; - } - } - } - if ( changed ) { - widget.setData( 'classes', updatedClasses ); - } - } - - function cancel( evt ) { - evt.cancel(); - } - - var CopyBin = CKEDITOR.tools.createClass( { - $: function( editor, options ) { - this._.createCopyBin( editor, options ); - this._.createListeners( options ); - }, - - _: { - createCopyBin: function( editor ) { - // [IE] Use span for copybin and its container to avoid bug with expanding - // editable height by absolutely positioned element. - // For Edge 16+ always use div, as span causes scrolling to the end of the document - // on widget cut (also for blockless editor) (#1160). - // Edge 16+ workaround could be safetly removed after #1169 is fixed. - var doc = editor.document, - isEdge16 = CKEDITOR.env.edge && CKEDITOR.env.version >= 16, - copyBinName = ( ( editor.blockless || CKEDITOR.env.ie ) && !isEdge16 ) ? 'span' : 'div', - copyBin = doc.createElement( copyBinName ), - container = doc.createElement( copyBinName ); - - container.setAttributes( { - id: 'cke_copybin', - 'data-cke-temp': '1' - } ); - - // Position copybin element outside current viewport. - copyBin.setStyles( { - position: 'absolute', - width: '1px', - height: '1px', - overflow: 'hidden' - } ); - - copyBin.setStyle( editor.config.contentsLangDirection == 'ltr' ? 'left' : 'right', '-5000px' ); - - this.editor = editor; - this.copyBin = copyBin; - this.container = container; - }, - - createListeners: function( options ) { - if ( !options ) { - return; - } - - if ( options.beforeDestroy ) { - this.beforeDestroy = options.beforeDestroy; - } - - if ( options.afterDestroy ) { - this.afterDestroy = options.afterDestroy; - } - } - }, - - proto: { - handle: function( html ) { - var copyBin = this.copyBin, - editor = this.editor, - container = this.container, - // IE8 always jumps to the end of document. - needsScrollHack = CKEDITOR.env.ie && CKEDITOR.env.version < 9, - docElement = editor.document.getDocumentElement().$, - range = editor.createRange(), - that = this, - // We need 100ms timeout for Chrome on macOS so it will be able to grab the content on cut. - isMacWebkit = CKEDITOR.env.mac && CKEDITOR.env.webkit, - copyTimeout = isMacWebkit ? 100 : 0, - waitForContent = window.requestAnimationFrame && !isMacWebkit ? requestAnimationFrame : setTimeout, - listener1, - listener2, - scrollTop; - - copyBin.setHtml( - '\u200b' + - html + - '\u200b' ); - - // Ignore copybin. - editor.fire( 'lockSnapshot' ); - - - container.append( copyBin ); - editor.editable().append( container ); - - listener1 = editor.on( 'selectionChange', cancel, null, null, 0 ); - listener2 = editor.widgets.on( 'checkSelection', cancel, null, null, 0 ); - - if ( needsScrollHack ) { - scrollTop = docElement.scrollTop; - } - - // Once the clone of the widget is inside of copybin, select - // the entire contents. This selection will be copied by the - // native browser's clipboard system. - range.selectNodeContents( copyBin ); - range.select(); - - if ( needsScrollHack ) { - docElement.scrollTop = scrollTop; - } - - return new CKEDITOR.tools.promise( function( resolve ) { - waitForContent( function() { - if ( that.beforeDestroy ) { - that.beforeDestroy(); - } - - container.remove(); - - listener1.removeListener(); - listener2.removeListener(); - - editor.fire( 'unlockSnapshot' ); - - if ( that.afterDestroy ) { - that.afterDestroy(); - } - - resolve(); - }, copyTimeout ); - } ); - } - }, - - statics: { - hasCopyBin: function( editor ) { - return !!CopyBin.getCopyBin( editor ); - }, - - getCopyBin: function( editor ) { - return editor.document.getById( 'cke_copybin' ); - } - } - } ); - - function copyWidgets( editor, isCut ) { - var focused = editor.widgets.focused, - isWholeSelection, - copyBin, - bookmarks; - - // We're still handling previous copy/cut. - // When keystroke is used to copy/cut this will also prevent - // conflict with copyWidgets called again for native copy/cut event. - if ( CopyBin.hasCopyBin( editor ) ) { - return; - } - - copyBin = new CopyBin( editor, { - beforeDestroy: function() { - if ( !isCut && focused ) { - focused.focus(); - } - - if ( bookmarks ) { - editor.getSelection().selectBookmarks( bookmarks ); - } - - if ( isWholeSelection ) { - CKEDITOR.plugins.widgetselection.addFillers( editor.editable() ); - } - }, - - afterDestroy: function() { - // Prevent cutting in read-only editor (#1570). - if ( isCut && !editor.readOnly ) { - handleCut(); - } - } - } ); - - // When more than one widget is selected, we must save selection to restore it - // after destroying copybin. Additionally we have to work around issue with selecting all in - // Blink and WebKit, when widgets are at the beginning and at the end of the content (#3138). - if ( !focused ) { - isWholeSelection = CKEDITOR.env.webkit && CKEDITOR.plugins.widgetselection.isWholeContentSelected( editor.editable() ); - bookmarks = editor.getSelection().createBookmarks( true ); - } - - copyBin.handle( getClipboardHtml( editor ) ); - - function handleCut() { - if ( focused ) { - editor.widgets.del( focused ); - } else { - editor.extractSelectedHtml(); - } - - editor.fire( 'saveSnapshot' ); - } - } - - // Extracts classes array from style instance. - function getStyleClasses( style ) { - var attrs = style.getDefinition().attributes, - classes = attrs && attrs[ 'class' ]; - - return classes ? classes.split( /\s+/ ) : null; - } - - // [IE] Force keeping focus because IE sometimes forgets to fire focus on main editable - // when blurring nested editable. - // @context widget - function onEditableBlur() { - var active = CKEDITOR.document.getActive(), - editor = this.editor, - editable = editor.editable(); - - // If focus stays within editor override blur and set currentActive because it should be - // automatically changed to editable on editable#focus but it is not fired. - if ( ( editable.isInline() ? editable : editor.document.getWindow().getFrame() ).equals( active ) ) { - editor.focusManager.focus( editable ); - } - } - - // Force selectionChange when editable was focused. - // Similar to hack in selection.js#~620. - // @context widget - function onEditableFocus() { - // Gecko does not support 'DOMFocusIn' event on which we unlock selection - // in selection.js to prevent selection locking when entering nested editables. - if ( CKEDITOR.env.gecko ) { - this.editor.unlockSelection(); - } - - // We don't need to force selectionCheck on Webkit, because on Webkit - // we do that on DOMFocusIn in selection.js. - if ( !CKEDITOR.env.webkit ) { - this.editor.forceNextSelectionCheck(); - this.editor.selectionChange( 1 ); - } - } - - function getClipboardHtml( editor ) { - var selectedHtml = editor.getSelectedHtml( true ); - - if ( editor.widgets.focused ) { - return editor.widgets.focused.getClipboardHtml(); - } - - editor.once( 'toDataFormat', function( evt ) { - evt.data.widgetsCopy = true; - }, null, null, -1 ); - - return editor.dataProcessor.toDataFormat( selectedHtml ); - } - - function setupWidget( widget, widgetDef ) { - setupWrapper( widget ); - setupParts( widget ); - setupEditables( widget ); - setupMask( widget ); - setupDragHandler( widget ); - setupDataClassesListener( widget ); - setupA11yListener( widget ); - - // https://dev.ckeditor.com/ticket/11145: [IE8] Non-editable content of widget is draggable. - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) { - widget.wrapper.on( 'dragstart', function( evt ) { - var target = evt.data.getTarget(); - - // Allow text dragging inside nested editables or dragging inline widget's drag handler. - if ( !Widget.getNestedEditable( widget, target ) && - !( widget.inline && - Widget.isDomDragHandler( target ) ) ) { - evt.data.preventDefault(); - } - } ); - } - - widget.wrapper.removeClass( 'cke_widget_new' ); - widget.element.addClass( 'cke_widget_element' ); - - widget.on( 'key', function( evt ) { - var keyCode = evt.data.keyCode; - - // ENTER. - if ( keyCode == 13 ) { - widget.edit(); - // CTRL+C or CTRL+X. - } else if ( keyCode == CKEDITOR.CTRL + 67 || keyCode == CKEDITOR.CTRL + 88 ) { - copyWidgets( widget.editor, keyCode == CKEDITOR.CTRL + 88 ); - return; // Do not preventDefault. - // Pass chosen keystrokes to other plugins or default fake sel handlers. - // Pass all CTRL/ALT keystrokes. - } else if ( keyCode in keystrokesNotBlockedByWidget || - ( CKEDITOR.CTRL & keyCode ) || - ( CKEDITOR.ALT & keyCode ) ) { - return; - } - return false; - }, null, null, 999 ); - - // Listen with high priority so it's possible - // to overwrite this callback. - - widget.on( 'doubleclick', function( evt ) { - if ( widget.edit() ) { - // We have to cancel event if edit method opens a dialog, otherwise - // link plugin may open extra dialog (https://dev.ckeditor.com/ticket/12140). - evt.cancel(); - } - } ); - - if ( widgetDef.data ) { - widget.on( 'data', widgetDef.data ); - } - - if ( widgetDef.edit ) { - widget.on( 'edit', widgetDef.edit ); - } - } - - function setupWrapper( widget ) { - // Retrieve widget wrapper. Assign an id to it. - var wrapper = widget.wrapper = widget.element.getParent(); - wrapper.setAttribute( 'data-cke-widget-id', widget.id ); - } - - // Replace parts object containing: - // partName => selector pairs - // with: - // partName => element pairs - function setupParts( widget, refreshInitialized ) { - if ( !widget.partSelectors ) { - widget.partSelectors = widget.parts; - } - - if ( widget.parts ) { - var parts = {}, - el, - partName; - - for ( partName in widget.partSelectors ) { - if ( refreshInitialized || !widget.parts[ partName ] || typeof widget.parts[ partName ] == 'string' ) { - el = widget.wrapper.findOne( widget.partSelectors[ partName ] ); - parts[ partName ] = el; - } else { - parts[ partName ] = widget.parts[ partName ]; - } - } - widget.parts = parts; - } - } - - function setupEditables( widget ) { - var definedEditables = widget.editables, - editableName, - editableDef; - - widget.editables = {}; - - if ( !widget.editables ) { - return; - } - - for ( editableName in definedEditables ) { - editableDef = definedEditables[ editableName ]; - widget.initEditable( editableName, typeof editableDef == 'string' ? { selector: editableDef } : editableDef ); - } - } - - function setupMask( widget ) { - if ( widget.mask === true ) { - setupFullMask( widget ); - } else if ( widget.mask ) { - // Buffer to limit number of separate calls to 'refreshPartialMask()', e.g. during writing. - var maskBuffer = new CKEDITOR.tools.buffers.throttle( 250, refreshPartialMask, widget ), - timeout = ( CKEDITOR.env.gecko ? 300 : 0 ), - changeListener, - blurListener; - - // First listener is the most obvious, refresh mask after every change that could affect widget. - widget.on( 'focus', function() { - // Refresh widget mask on initial focus. This handle cases when widget can be resized without - // being focused and is focused right after (e.g. `image2` on Edge/IE browsers). - maskBuffer.input(); - - changeListener = widget.editor.on( 'change', maskBuffer.input ); - blurListener = widget.on( 'blur', function() { - changeListener.removeListener(); - blurListener.removeListener(); - } ); - } ); - - // Another insurance policy vs FF but this time also Chrome (the latter is just a bit better here). - // This time setup mask after editor is ready (in FF it doesn't mean that widgets are fully loaded - // so timeout is needed) and after switching from source mode (same story). - widget.editor.on( 'instanceReady', function() { - setTimeout( function() { - maskBuffer.input(); - }, timeout ); - } ); - - widget.editor.on( 'mode', function() { - setTimeout( function() { - maskBuffer.input(); - }, timeout ); - } ); - - // FF renders image-like widget very late, so mask has to be create asynchronously after - // image is loaded. - if ( CKEDITOR.env.gecko ) { - var imgs = widget.element.find( 'img' ); - CKEDITOR.tools.array.forEach( imgs.toArray(), function( img ) { - img.on( 'load', function() { - maskBuffer.input(); - } ); - } ); - } - - // Focusing editable doesn't trigger focus on widget, so listen to those events separately. - for ( var editable in widget.editables ) { - widget.editables[ editable ].on( 'focus', function() { - widget.editor.on( 'change', maskBuffer.input ); - // If widget was focused before focusing editable, the 'blur' event has to be removed. - // Otherwise on Chrome it will trigger after the focus event and cancel listening to - // changes (on FF it works inversely). - if ( blurListener ) { - blurListener.removeListener(); - } - } ); - widget.editables[ editable ].on( 'blur', function() { - widget.editor.removeListener( 'change', maskBuffer.input ); - } ); - } - - // Trigger initial setup. - maskBuffer.input(); - } - } - - function setupFullMask( widget ) { - // Reuse mask if already exists (https://dev.ckeditor.com/ticket/11281). - var mask = widget.wrapper.findOne( '.cke_widget_mask' ); - - if ( !mask ) { - mask = new CKEDITOR.dom.element( 'img', widget.editor.document ); - mask.setAttributes( { - src: CKEDITOR.tools.transparentImageData, - 'class': 'cke_reset cke_widget_mask' - } ); - widget.wrapper.append( mask ); - } - - widget.mask = mask; - } - - function refreshPartialMask() { - if ( !this.wrapper ) { - return; - } - - // Original value of 'widget.mask' is substituted with actual mask element, so - // 'widget.maskPart' property was added to be able to adjust partial mask e.g. after resizing. - this.maskPart = this.maskPart || this.mask; - - var part = this.parts[ this.maskPart ], - mask; - - // If requested part is invalid or wasn't fetched yet (#3775), don't create mask. - if ( !part || typeof part == 'string' ) { - return; - } - - mask = this.wrapper.findOne( '.cke_widget_partial_mask' ); - - if ( !mask ) { - mask = new CKEDITOR.dom.element( 'img', this.editor.document ); - mask.setAttributes( { - src: CKEDITOR.tools.transparentImageData, - 'class': 'cke_reset cke_widget_partial_mask' - } ); - this.wrapper.append( mask ); - } - - this.mask = mask; - - if ( !isMaskFitting( mask, part ) ) { - setMaskSizeAndPosition( mask, part ); - } - } - - function isMaskFitting( oldElement, newElement ) { - var oldEl = oldElement.$, - newEl = newElement.$, - dimensionsChanged = !( oldEl.offsetWidth == newEl.offsetWidth && oldEl.offsetHeight == newEl.offsetHeight ), - positionChanged = !( oldEl.offsetTop == newEl.offsetTop && oldEl.offsetLeft == newEl.offsetLeft ); - - return !( dimensionsChanged || positionChanged ); - } - - function setMaskSizeAndPosition( mask, maskedPart ) { - // Widgets with resize feature are messing with default widget structure, - // so it needs to be taken into account and mask's position will be adjusted. - // The problem was appearing after dragging the widget in FF. - var parent = maskedPart.getParent(), - isDomWidget = CKEDITOR.plugins.widget.isDomWidget( parent ); - - mask.setStyles( { - top: maskedPart.$.offsetTop + ( !isDomWidget ? parent.$.offsetTop : 0 ) + 'px', - left: maskedPart.$.offsetLeft + ( !isDomWidget ? parent.$.offsetLeft : 0 ) + 'px', - width: maskedPart.$.offsetWidth + 'px', - height: maskedPart.$.offsetHeight + 'px' - } ); - } - - function setupDragHandler( widget ) { - if ( !widget.draggable ) { - return; - } - - var editor = widget.editor, - // Use getLast to find wrapper's direct descendant (https://dev.ckeditor.com/ticket/12022). - container = widget.wrapper.getLast( Widget.isDomDragHandlerContainer ), - img; - - // Reuse drag handler if already exists (https://dev.ckeditor.com/ticket/11281). - if ( container ) { - img = container.findOne( 'img' ); - } else { - container = new CKEDITOR.dom.element( 'span', editor.document ); - container.setAttributes( { - 'class': 'cke_reset cke_widget_drag_handler_container', - // Split background and background-image for IE8 which will break on rgba(). - // Initially drag handler should not be visible, until its position will be - // calculated (https://dev.ckeditor.com/ticket/11177). - // We need to hide unpositined handlers, so they don't extend - // widget's outline far to the left (https://dev.ckeditor.com/ticket/12024). - style: 'background:rgba(220,220,220,0.5);background-image:url(' + editor.plugins.widget.path + 'images/handle.png);' + - 'display:none;' - } ); - - img = new CKEDITOR.dom.element( 'img', editor.document ); - img.setAttributes( { - 'class': 'cke_reset cke_widget_drag_handler', - 'data-cke-widget-drag-handler': '1', - src: CKEDITOR.tools.transparentImageData, - width: DRAG_HANDLER_SIZE, - title: editor.lang.widget.move, - height: DRAG_HANDLER_SIZE, - role: 'presentation' - } ); - widget.inline && img.setAttribute( 'draggable', 'true' ); - - container.append( img ); - widget.wrapper.append( container ); - } - - // Preventing page reload when dropped content on widget wrapper (https://dev.ckeditor.com/ticket/13015). - // Widget is not editable so by default drop on it isn't allowed what means that - // browser handles it (there's no editable#drop event). If there's no drop event we cannot block - // the drop, so page is reloaded. This listener enables drop on widget wrappers. - widget.wrapper.on( 'dragover', function( evt ) { - evt.data.preventDefault(); - } ); - - widget.wrapper.on( 'mouseenter', widget.updateDragHandlerPosition, widget ); - setTimeout( function() { - widget.on( 'data', widget.updateDragHandlerPosition, widget ); - }, 50 ); - - if ( !widget.inline ) { - img.on( 'mousedown', onBlockWidgetDrag, widget ); - - // On IE8 'dragstart' is propagated to editable, so editor#dragstart is fired twice on block widgets. - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) { - img.on( 'dragstart', function( evt ) { - evt.data.preventDefault( true ); - } ); - } - } - - widget.dragHandlerContainer = container; - } - - function onBlockWidgetDrag( evt ) { - // Allow to drag widget only with left mouse button (#711). - if ( CKEDITOR.tools.getMouseButton( evt ) !== CKEDITOR.MOUSE_BUTTON_LEFT ) { - return; - } - - var finder = this.repository.finder, - locator = this.repository.locator, - liner = this.repository.liner, - editor = this.editor, - editable = editor.editable(), - listeners = [], - sorted = [], - locations, - y; - - // Mark dragged widget for repository#finder. - this.repository._.draggedWidget = this; - - // Harvest all possible relations and display some closest. - var relations = finder.greedySearch(), - buffer = CKEDITOR.tools.eventsBuffer( 50, function() { - locations = locator.locate( relations ); - - // There's only a single line displayed for D&D. - sorted = locator.sort( y, 1 ); - - if ( sorted.length ) { - liner.prepare( relations, locations ); - liner.placeLine( sorted[ 0 ] ); - liner.cleanup(); - } - } ); - - // Let's have the "dragging cursor" over entire editable. - editable.addClass( 'cke_widget_dragging' ); - - // Cache mouse position so it is re-used in events buffer. - listeners.push( editable.on( 'mousemove', function( evt ) { - y = evt.data.$.clientY; - buffer.input(); - } ) ); - - // Fire drag start as it happens during the native D&D. - editor.fire( 'dragstart', { target: evt.sender } ); - - function onMouseUp() { - var l; - - buffer.reset(); - - // Stop observing events. - while ( ( l = listeners.pop() ) ) - l.removeListener(); - - onBlockWidgetDrop.call( this, sorted, evt.sender ); - } - - // Mouseup means "drop". This is when the widget is being detached - // from DOM and placed at range determined by the line (location). - listeners.push( editor.document.once( 'mouseup', onMouseUp, this ) ); - - // Prevent calling 'onBlockWidgetDrop' twice in the inline editor. - // `removeListener` does not work if it is called at the same time event is fired. - if ( !editable.isInline() ) { - // Mouseup may occur when user hovers the line, which belongs to - // the outer document. This is, of course, a valid listener too. - listeners.push( CKEDITOR.document.once( 'mouseup', onMouseUp, this ) ); - } - } - - function onBlockWidgetDrop( sorted, dragTarget ) { - var finder = this.repository.finder, - liner = this.repository.liner, - editor = this.editor, - editable = this.editor.editable(); - - if ( !CKEDITOR.tools.isEmpty( liner.visible ) ) { - // Retrieve range for the closest location. - var dropRange = finder.getRange( sorted[ 0 ] ); - - // Focus widget (it could lost focus after mousedown+mouseup) - // and save this state as the one where we want to be taken back when undoing. - this.focus(); - - // Drag range will be set in the drop listener. - editor.fire( 'drop', { - dropRange: dropRange, - target: dropRange.startContainer - } ); - } - - // Clean-up custom cursor for editable. - editable.removeClass( 'cke_widget_dragging' ); - - // Clean-up all remaining lines. - liner.hideVisible(); - - // Clean-up drag & drop. - editor.fire( 'dragend', { target: dragTarget } ); - } - - // Setup listener on widget#data which will update (remove/add) classes - // by comparing newly set classes with the old ones. - function setupDataClassesListener( widget ) { - // Note: previousClasses and newClasses may be null! - // Tip: for ( cl in null ) is correct. - var previousClasses = null; - - widget.on( 'data', function() { - var newClasses = this.data.classes, - cl; - - // When setting new classes one need to remember - // that he must break reference. - if ( previousClasses == newClasses ) { - return; - } - - for ( cl in previousClasses ) { - // Avoid removing and adding classes again. - if ( !( newClasses && newClasses[ cl ] ) ) { - this.removeClass( cl ); - } - } - for ( cl in newClasses ) { - this.addClass( cl ); - } - - previousClasses = newClasses; - } ); - } - - // Add a listener to data event that will set/change widget's label (https://dev.ckeditor.com/ticket/14539). - function setupA11yListener( widget ) { - // Note, the function gets executed in a context of widget instance. - function getLabelDefault() { - return this.editor.lang.widget.label.replace( /%1/, this.pathName || this.element.getName() ); - } - - // Setting a listener on data is enough, there's no need to perform it on widget initialization, as - // setupWidgetData fires this event anyway. - widget.on( 'data', function() { - // In some cases widget might get destroyed in an earlier data listener. For instance, image2 plugin, does - // so when changing its internal state. - if ( !widget.wrapper ) { - return; - } - - var label = this.getLabel ? this.getLabel() : getLabelDefault.call( this ); - - widget.wrapper.setAttribute( 'role', 'region' ); - widget.wrapper.setAttribute( 'aria-label', label ); - }, null, null, 9999 ); - } - - function setupWidgetData( widget, startupData ) { - var widgetDataAttr = widget.element.data( 'cke-widget-data' ); - - if ( widgetDataAttr ) { - widget.setData( JSON.parse( decodeURIComponent( widgetDataAttr ) ) ); - } - if ( startupData ) { - widget.setData( startupData ); - } - - // Populate classes if they are not preset. - if ( !widget.data.classes ) { - widget.setData( 'classes', widget.getClasses() ); - } - - // Unblock data and... - widget.dataReady = true; - - // Write data to element because this was blocked when data wasn't ready. - writeDataToElement( widget ); - - // Fire data event first time, because this was blocked when data wasn't ready. - widget.fire( 'data', widget.data ); - } - - function writeDataToElement( widget ) { - widget.element.data( 'cke-widget-data', encodeURIComponent( JSON.stringify( widget.data ) ) ); - } - - // - // WIDGET STYLE HANDLER --------------------------------------------------- - // - - function addCustomStyleHandler() { - // Styles categorized by group. It is used to prevent applying styles for the same group being used together. - var styleGroups = {}; - - /** - * The class representing a widget style. It is an {@link CKEDITOR#STYLE_OBJECT object} like - * the styles handler for widgets. - * - * **Note:** This custom style handler does not support all methods of the {@link CKEDITOR.style} class. - * Not supported methods: {@link #applyToRange}, {@link #removeFromRange}, {@link #applyToObject}. - * - * @since 4.4.0 - * @class CKEDITOR.style.customHandlers.widget - * @extends CKEDITOR.style - */ - CKEDITOR.style.addCustomHandler( { - type: 'widget', - - setup: function( styleDefinition ) { - /** - * The name of widget to which this style can be applied. - * It is extracted from style definition's `widget` property. - * - * @property {String} widget - */ - this.widget = styleDefinition.widget; - - /** - * An array of groups that this style belongs to. - * Styles assigned to the same group cannot be combined. - * - * @since 4.6.2 - * @property {Array} group - */ - this.group = typeof styleDefinition.group == 'string' ? [ styleDefinition.group ] : styleDefinition.group; - - // Store style categorized by its group. - // It is used to prevent enabling two styles from same group. - if ( this.group ) { - saveStyleGroup( this ); - } - }, - - apply: function( editor ) { - var widget; - - // Before CKEditor 4.4.0 wasn't a required argument, so we need to - // handle a case when it wasn't provided. - if ( !( editor instanceof CKEDITOR.editor ) ) { - return; - } - - // Theoretically we could bypass checkApplicable, get widget from - // widgets.focused and check its name, what would be faster, but then - // this custom style would work differently than the default style - // which checks if it's applicable before applying or removing itself. - if ( this.checkApplicable( editor.elementPath(), editor ) ) { - widget = editor.widgets.focused; - - // Remove other styles from the same group. - if ( this.group ) { - this.removeStylesFromSameGroup( editor ); - } - - widget.applyStyle( this ); - } - }, - - remove: function( editor ) { - // Before CKEditor 4.4.0 wasn't a required argument, so we need to - // handle a case when it wasn't provided. - if ( !( editor instanceof CKEDITOR.editor ) ) { - return; - } - - if ( this.checkApplicable( editor.elementPath(), editor ) ) { - editor.widgets.focused.removeStyle( this ); - } - }, - - /** - * Removes all styles that belong to the same group as this style. This method will neither add nor remove - * the current style. - * Returns `true` if any style was removed, otherwise returns `false`. - * - * @since 4.6.2 - * @param {CKEDITOR.editor} editor - * @returns {Boolean} - */ - removeStylesFromSameGroup: function( editor ) { - var removed = false, - stylesFromSameGroup, - path; - - // Before CKEditor 4.4.0 wasn't a required argument, so we need to - // handle a case when it wasn't provided. - if ( !( editor instanceof CKEDITOR.editor ) ) { - return false; - } - - path = editor.elementPath(); - if ( this.checkApplicable( path, editor ) ) { - // Iterate over each group. - for ( var i = 0, l = this.group.length; i < l; i++ ) { - stylesFromSameGroup = styleGroups[ this.widget ][ this.group[ i ] ]; - // Iterate over each style from group. - for ( var j = 0; j < stylesFromSameGroup.length; j++ ) { - if ( stylesFromSameGroup[ j ] !== this && stylesFromSameGroup[ j ].checkActive( path, editor ) ) { - editor.widgets.focused.removeStyle( stylesFromSameGroup[ j ] ); - removed = true; - } - } - } - } - - return removed; - }, - - checkActive: function( elementPath, editor ) { - return this.checkElementMatch( elementPath.lastElement, 0, editor ); - }, - - checkApplicable: function( elementPath, editor ) { - // Before CKEditor 4.4.0 wasn't a required argument, so we need to - // handle a case when it wasn't provided. - if ( !( editor instanceof CKEDITOR.editor ) ) { - return false; - } - - return this.checkElement( elementPath.lastElement ); - }, - - checkElementMatch: checkElementMatch, - - checkElementRemovable: checkElementMatch, - - /** - * Checks if an element is a {@link CKEDITOR.plugins.widget#wrapper wrapper} of a - * widget whose name matches the {@link #widget widget name} specified in the style definition. - * - * @param {CKEDITOR.dom.element} element - * @returns {Boolean} - */ - checkElement: function( element ) { - if ( !Widget.isDomWidgetWrapper( element ) ) { - return false; - } - - var widgetElement = element.getFirst( Widget.isDomWidgetElement ); - return widgetElement && widgetElement.data( 'widget' ) == this.widget; - }, - - buildPreview: function( label ) { - return label || this._.definition.name; - }, - - /** - * Returns allowed content rules which should be registered for this style. - * Uses widget's {@link CKEDITOR.plugins.widget.definition#styleableElements} to make a rule - * allowing classes on specified elements or use widget's - * {@link CKEDITOR.plugins.widget.definition#styleToAllowedContentRules} method to transform a style - * into allowed content rules. - * - * @param {CKEDITOR.editor} The editor instance. - * @returns {CKEDITOR.filter.allowedContentRules} - */ - toAllowedContentRules: function( editor ) { - if ( !editor ) { - return null; - } - - var widgetDef = editor.widgets.registered[ this.widget ], - classes, - rule = {}; - - if ( !widgetDef ) { - return null; - } - - if ( widgetDef.styleableElements ) { - classes = this.getClassesArray(); - if ( !classes ) { - return null; - } - - rule[ widgetDef.styleableElements ] = { - classes: classes, - propertiesOnly: true - }; - return rule; - } - - if ( widgetDef.styleToAllowedContentRules ) { - return widgetDef.styleToAllowedContentRules( this ); - } - return null; - }, - - /** - * Returns classes defined in the style in form of an array. - * - * @returns {String[]} - */ - getClassesArray: function() { - var classes = this._.definition.attributes && this._.definition.attributes[ 'class' ]; - - return classes ? CKEDITOR.tools.trim( classes ).split( /\s+/ ) : null; - }, - - /** - * Not implemented. - * - * @method applyToRange - */ - applyToRange: notImplemented, - - /** - * Not implemented. - * - * @method removeFromRange - */ - removeFromRange: notImplemented, - - /** - * Not implemented. - * - * @method applyToObject - */ - applyToObject: notImplemented - } ); - - function notImplemented() {} - - // @context style - function checkElementMatch( element, fullMatch, editor ) { - // Before CKEditor 4.4.0 wasn't a required argument, so we need to - // handle a case when it wasn't provided. - if ( !editor ) { - return false; - } - - if ( !this.checkElement( element ) ) { - return false; - } - - var widget = editor.widgets.getByElement( element, true ); - return widget && widget.checkStyleActive( this ); - } - - // Save and categorize style by its group. - function saveStyleGroup( style ) { - var widgetName = style.widget, - groupName, - group; - - if ( !styleGroups[ widgetName ] ) { - styleGroups[ widgetName ] = {}; - } - - for ( var i = 0, l = style.group.length; i < l; i++ ) { - groupName = style.group[ i ]; - - if ( !styleGroups[ widgetName ][ groupName ] ) { - styleGroups[ widgetName ][ groupName ] = []; - } - - group = styleGroups[ widgetName ][ groupName ]; - - // Don't push the style if it's already stored (#589). - if ( !find( group, getCompareFn( style ) ) ) { - group.push( style ); - } - } - - // Copied `CKEDITOR.tools.array` from major branch. - function find( array, fn, thisArg ) { - var length = array.length, - i = 0; - - while ( i < length ) { - if ( fn.call( thisArg, array[ i ], i, array ) ) { - return array[ i ]; - } - i++; - } - - return undefined; - } - - function getCompareFn( left ) { - return function( right ) { - return deepCompare( left.getDefinition(), right.getDefinition() ); - }; - - function deepCompare( left, right ) { - var leftKeys = CKEDITOR.tools.object.keys( left ), - rightKeys = CKEDITOR.tools.object.keys( right ); - - if ( leftKeys.length !== rightKeys.length ) { - return false; - } - - for ( var key in left ) { - var areSameObjects = typeof left[ key ] === 'object' && typeof right[ key ] === 'object' && deepCompare( left[ key ], right[ key ] ); - - if ( !areSameObjects && left[ key ] !== right[ key ] ) { - return false; - } - } - - return true; - } - } - } - - } - - // - // EXPOSE PUBLIC API ------------------------------------------------------ - // - - CKEDITOR.plugins.widget = Widget; - Widget.repository = Repository; - Widget.nestedEditable = NestedEditable; -} )(); - -/** - * An event fired when a widget definition is registered by the {@link CKEDITOR.plugins.widget.repository#add} method. - * It is possible to modify the definition being registered. - * - * @event widgetDefinition - * @member CKEDITOR.editor - * @param {CKEDITOR.plugins.widget.definition} data Widget definition. - */ - -/** - * This is an abstract class that describes the definition of a widget. - * It is a type of {@link CKEDITOR.plugins.widget.repository#add} method's second argument. - * - * Widget instances inherit from registered widget definitions, although not in a prototypal way. - * They are simply extended with corresponding widget definitions. Note that not all properties of - * the widget definition become properties of a widget. Some, like {@link #data} or {@link #edit}, become - * widget's events listeners. - * - * @class CKEDITOR.plugins.widget.definition - * @abstract - * @mixins CKEDITOR.feature - */ - -/** - * Widget definition name. It is automatically set when the definition is - * {@link CKEDITOR.plugins.widget.repository#add registered}. - * - * @property {String} name - */ - -/** - * The method executed while initializing a widget, after a widget instance - * is created, but before it is ready. It is executed before the first - * {@link CKEDITOR.plugins.widget#event-data} is fired so it is common to - * use the `init` method to populate widget data with information loaded from - * the DOM, like for exmaple: - * - * init: function() { - * this.setData( 'width', this.element.getStyle( 'width' ) ); - * - * if ( this.parts.caption.getStyle( 'display' ) != 'none' ) - * this.setData( 'showCaption', true ); - * } - * - * @property {Function} init - */ - -/** - * The function to be used to upcast an element to this widget or a - * comma-separated list of upcast methods from the {@link #upcasts} object. - * - * The upcast function **is not** executed in the widget context (because the widget - * does not exist yet), however, it is executed in the - * {@link CKEDITOR.plugins.widget#definition widget's definition} context. - * Two arguments are passed to the upcast function: - * - * * `element` ({@link CKEDITOR.htmlParser.element}) – The element to be checked. - * * `data` (`Object`) – The object which can be extended with data which will then be passed to the widget. - * - * An element will be upcasted if a function returned `true` or an instance of - * a {@link CKEDITOR.htmlParser.element} if upcasting meant DOM structure changes - * (in this case the widget will be initialized on the returned element). - * - * @property {String/Function} upcast - */ - -/** - * The object containing functions which can be used to upcast this widget. - * Only those pointed by the {@link #upcast} property will be used. - * - * In most cases it is appropriate to use {@link #upcast} directly, - * because majority of widgets need just one method. - * However, in some cases the widget author may want to expose more than one variant - * and then this property may be used. - * - * upcasts: { - * // This function may upcast only figure elements. - * figure: function() { - * // ... - * }, - * // This function may upcast only image elements. - * image: function() { - * // ... - * }, - * // More variants... - * } - * - * // Then, widget user may choose which upcast methods will be enabled. - * editor.on( 'widgetDefinition', function( evt ) { - * if ( evt.data.name == 'image' ) - * evt.data.upcast = 'figure,image'; // Use both methods. - * } ); - * - * @property {Object} upcasts - */ - -/** - * The {@link #upcast} method(s) priority. The upcast with a lower priority number will be called before - * the one with a higher number. The default priority is `10`. - * - * @since 4.5.0 - * @property {Number} [upcastPriority=10] - */ - -/** - * The function to be used to downcast this widget or - * a name of the downcast option from the {@link #downcasts} object. - * - * The downcast function will be executed in the {@link CKEDITOR.plugins.widget} context - * and with `widgetElement` ({@link CKEDITOR.htmlParser.element}) argument which is - * the widget's main element. - * - * The function may return an instance of the {@link CKEDITOR.htmlParser.node} class if the widget - * needs to be downcasted to a different node than the widget's main element. - * - * @property {String/Function} downcast - */ - -/** - * The object containing functions which can be used to downcast this widget. - * Only the one pointed by the {@link #downcast} property will be used. - * - * In most cases it is appropriate to use {@link #downcast} directly, - * because majority of widgets have just one variant of downcasting (or none at all). - * However, in some cases the widget author may want to expose more than one variant - * and then this property may be used. - * - * downcasts: { - * // This downcast may transform the widget into the figure element. - * figure: function() { - * // ... - * }, - * // This downcast may transform the widget into the image element with data-* attributes. - * image: function() { - * // ... - * } - * } - * - * // Then, the widget user may choose one of the downcast options when setting up his editor. - * editor.on( 'widgetDefinition', function( evt ) { - * if ( evt.data.name == 'image' ) - * evt.data.downcast = 'figure'; - * } ); - * - * @property downcasts - */ - -/** - * If set, it will be added as the {@link CKEDITOR.plugins.widget#event-edit} event listener. - * This means that it will be executed when a widget is being edited. - * See the {@link CKEDITOR.plugins.widget#method-edit} method. - * - * @property {Function} edit - */ - -/** - * If set, it will be added as the {@link CKEDITOR.plugins.widget#event-data} event listener. - * This means that it will be executed every time the {@link CKEDITOR.plugins.widget#property-data widget data} changes. - * - * @property {Function} data - */ - -/** - * The method to be executed when the widget's command is executed in order to insert a new widget - * (widget of this type is not focused). If not defined, then the default action will be - * performed which means that: - * - * * An instance of the widget will be created in a detached {@link CKEDITOR.dom.documentFragment document fragment}, - * * The {@link CKEDITOR.plugins.widget#method-edit} method will be called to trigger widget editing, - * * The widget element will be inserted into DOM. - * - * @property {Function} insert - * @param {Object} options Options object added in **4.11.0**. - * @param {CKEDITOR.editor} options.editor The editor where the widget is going to be inserted to. - * @param {Object} [options.commandData] Command data passed to the invoking command, if any. - */ - -/** - * The name of a dialog window which will be opened on {@link CKEDITOR.plugins.widget#method-edit}. - * If not defined, then the {@link CKEDITOR.plugins.widget#method-edit} method will not perform any action and - * widget's command will insert a new widget without opening a dialog window first. - * - * @property {String} dialog - */ - -/** - * The template which will be used to create a new widget element (when the widget's command is executed). - * This string is populated with {@link #defaults default values} by using the {@link CKEDITOR.template} format. - * Therefore it has to be a valid {@link CKEDITOR.template} argument. - * - * @property {String} template - */ - -/** - * The data object which will be used to populate the data of a newly created widget. - * See {@link CKEDITOR.plugins.widget#property-data}. - * - * defaults: { - * showCaption: true, - * align: 'none' - * } - * - * @property defaults - */ - -/** - * An object containing definitions of widget components (part name => CSS selector). - * - * parts: { - * image: 'img', - * caption: 'div.caption' - * } - * - * @property parts - */ - -/** - * An object containing definitions of nested editables (editable name => {@link CKEDITOR.plugins.widget.nestedEditable.definition}). - * Note that editables *have to* be defined in the same order as they are in DOM / {@link CKEDITOR.plugins.widget.definition#template template}. - * Otherwise errors will occur when nesting widgets inside each other. - * - * editables: { - * header: 'h1', - * content: { - * selector: 'div.content', - * allowedContent: 'p strong em; a[!href]' - * } - * } - * - * @property editables - */ - -/** - * The function used to obtain an accessibility label for the widget. It might be used to make - * the widget labels as precise as possible, since it has access to the widget instance. - * - * If not specified, the default implementation will use the {@link #pathName} or the main - * {@link CKEDITOR.plugins.widget#element element} tag name. - * - * @property {Function} getLabel - */ - -/** - * The widget name displayed in the elements path. - * - * @property {String} pathName - */ - -/** - * If set to `true`, the widget's element will be covered with a transparent mask. - * This will prevent its content from being clickable, which matters in case - * of special elements like embedded Flash or iframes that generate a separate "context". - * - * If the value is a `string` type, then the partial mask covering only the given widget part - * is created instead. The `string` mask should point to the name of one of the widget {@link CKEDITOR.plugins.widget#parts parts}. - * - * **Note**: Partial mask is available since the `4.13.0` version. - * - * @property {Boolean/String} mask - */ - -/** - * If set to `true`/`false`, it will force the widget to be either an inline or a block widget. - * If not set, the widget type will be determined from the widget element. - * - * Widget type influences whether a block (`
    `) or an inline (``) element is used - * for the wrapper. - * - * @property {Boolean} inline - */ - -/** - * The label for the widget toolbar button. - * - * editor.widgets.add( 'simplebox', { - * button: 'Create a simple box' - * } ); - * - * editor.widgets.add( 'simplebox', { - * button: editor.lang.simplebox.title - * } ); - * - * @property {String} button - */ - -/** - * Customizes widget HTML copied to the clipboard - * during copy, cut and drop operations. - * - * If not set, the current widget HTML will be used instead. - * - * Note: This method will overwrite the HTML for the whole widget, **including** - * any nested widgets. - * - * @method getClipboardHtml - * @since 4.13.0 - * @returns {String} Widget HTML. - */ - -/** - * Whether the widget should be draggable. Defaults to `true`. - * If set to `false`, the drag handler will not be displayed when hovering the widget. - * - * @property {Boolean} draggable - */ - -/** - * Names of element(s) (separated by spaces) for which the {@link CKEDITOR.filter} should allow classes - * defined in the widget styles. For example, if your widget is upcasted from a simple `
    ` - * element, then in order to make it styleable you can set: - * - * editor.widgets.add( 'customWidget', { - * upcast: function( element ) { - * return element.name == 'div'; - * }, - * - * // ... - * - * styleableElements: 'div' - * } ); - * - * Then, when the following style is defined: - * - * { - * name: 'Thick border', type: 'widget', widget: 'customWidget', - * attributes: { 'class': 'thickBorder' } - * } - * - * a rule allowing the `thickBorder` class for `div` elements will be registered in the {@link CKEDITOR.filter}. - * - * If you need to have more freedom when transforming widget style to allowed content rules, - * you can use the {@link #styleToAllowedContentRules} callback. - * - * @since 4.4.0 - * @property {String} styleableElements - */ - -/** - * Function transforming custom widget's {@link CKEDITOR.style} instance into - * {@link CKEDITOR.filter.allowedContentRules}. It may be used when a static - * {@link #styleableElements} property is not enough to inform the {@link CKEDITOR.filter} - * what HTML features should be enabled when allowing the given style. - * - * In most cases, when style's classes just have to be added to element name(s) used by - * the widget element, it is recommended to use simpler {@link #styleableElements} property. - * - * In order to get parsed classes from the style definition you can use - * {@link CKEDITOR.style.customHandlers.widget#getClassesArray}. - * - * For example, if you want to use the [object format of allowed content rules](#!/guide/dev_allowed_content_rules-section-object-format), - * to specify `match` validator, your implementation could look like this: - * - * editor.widgets.add( 'customWidget', { - * // ... - * - * styleToAllowedContentRules: funciton( style ) { - * // Retrieve classes defined in the style. - * var classes = style.getClassesArray(); - * - * // Do something crazy - for example return allowed content rules in object format, - * // with custom match property and propertiesOnly flag. - * return { - * h1: { - * match: isWidgetElement, - * propertiesOnly: true, - * classes: classes - * } - * }; - * } - * } ); - * - * @since 4.4.0 - * @property {Function} styleToAllowedContentRules - * @param {CKEDITOR.style.customHandlers.widget} style The style to be transformed. - * @returns {CKEDITOR.filter.allowedContentRules} - */ - -/** - * This is an abstract class that describes the definition of a widget's nested editable. - * It is a type of values in the {@link CKEDITOR.plugins.widget.definition#editables} object. - * - * In the simplest case the definition is a string which is a CSS selector used to - * find an element that will become a nested editable inside the widget. Note that - * the widget element can be a nested editable, too. - * - * In the more advanced case a definition is an object with a required `selector` property. - * - * editables: { - * header: 'h1', - * content: { - * selector: 'div.content', - * allowedContent: 'p strong em; a[!href]' - * } - * } - * - * @class CKEDITOR.plugins.widget.nestedEditable.definition - * @abstract - */ - -/** - * The CSS selector used to find an element which will become a nested editable. - * - * @property {String} selector - */ - -/** - * The {@glink guide/dev_advanced_content_filter Advanced Content Filter} rules - * which will be used to limit the content allowed in this nested editable. - * This option is similar to {@link CKEDITOR.config#allowedContent} and one can - * use it to limit the editor features available in the nested editable. - * - * If no `allowedContent` is specified, the editable will use the editor default - * {@link CKEDITOR.editor#filter}. - * - * @property {CKEDITOR.filter.allowedContentRules} allowedContent - */ - -/** - * The {@glink guide/dev_advanced_content_filter Advanced Content Filter} rules - * which will be used to blacklist elements within this nested editable. - * This option is similar to {@link CKEDITOR.config#disallowedContent}. - * - * Note that `disallowedContent` work on top of the definition's {@link #allowedContent}. - * - * @since 4.7.3 - * @property {CKEDITOR.filter.disallowedContentRules} disallowedContent - */ - -/** - * Nested editable name displayed in the elements path. - * - * @property {String} pathName - */