From 2f22c0c38f17e75be5541089076885442aaa2377 Mon Sep 17 00:00:00 2001 From: Jason Woofenden Date: Sat, 29 Jun 2013 18:29:16 -0400 Subject: [PATCH] vanilla ckeditor-3.6.3 --- .htaccess | 2 +- CHANGES.html | 74 +- INSTALL.html | 4 +- LICENSE.html | 4 +- _samples/adobeair/application.xml | 4 +- _samples/adobeair/run.bat | 2 +- _samples/adobeair/run.sh | 2 +- _samples/adobeair/sample.html | 4 +- _samples/ajax.html | 4 +- _samples/api.html | 4 +- _samples/api_dialog.html | 4 +- _samples/api_dialog/my_dialog.js | 2 +- _samples/asp/advanced.asp | 4 +- _samples/asp/events.asp | 4 +- _samples/asp/index.html | 4 +- _samples/asp/replace.asp | 4 +- _samples/asp/replaceall.asp | 4 +- _samples/asp/sample_posteddata.asp | 4 +- _samples/asp/standalone.asp | 4 +- _samples/assets/_posteddata.php | 4 +- _samples/assets/output_xhtml.css | 2 +- _samples/autogrow.html | 4 +- _samples/bbcode.html | 4 +- _samples/devtools.html | 4 +- _samples/divreplace.html | 4 +- _samples/enterkey.html | 4 +- _samples/fullpage.html | 4 +- _samples/index.html | 4 +- _samples/jqueryadapter.html | 4 +- _samples/output_for_flash.html | 4 +- _samples/output_html.html | 4 +- _samples/output_xhtml.html | 16 +- _samples/php/advanced.php | 4 +- _samples/php/events.php | 4 +- _samples/php/index.html | 4 +- _samples/php/replace.php | 4 +- _samples/php/replaceall.php | 4 +- _samples/php/standalone.php | 4 +- _samples/placeholder.html | 4 +- _samples/readonly.html | 4 +- _samples/replacebyclass.html | 4 +- _samples/replacebycode.html | 4 +- _samples/sample.css | 2 +- _samples/sample.js | 2 +- _samples/sample_posteddata.php | 2 +- _samples/sharedspaces.html | 4 +- _samples/skins.html | 4 +- _samples/stylesheetparser.html | 4 +- _samples/tableresize.html | 4 +- _samples/ui_color.html | 4 +- _samples/ui_languages.html | 4 +- _source/adapters/jquery.js | 2 +- _source/core/_bootstrap.js | 2 +- _source/core/ckeditor.js | 2 +- _source/core/ckeditor_base.js | 18 +- _source/core/ckeditor_basic.js | 2 +- _source/core/command.js | 18 +- _source/core/commanddefinition.js | 2 +- _source/core/config.js | 30 +- _source/core/dataprocessor.js | 2 +- _source/core/dom.js | 2 +- _source/core/dom/comment.js | 36 +- _source/core/dom/document.js | 2 +- _source/core/dom/documentfragment.js | 2 +- _source/core/dom/domobject.js | 14 +- _source/core/dom/element.js | 165 +++- _source/core/dom/elementpath.js | 4 +- _source/core/dom/event.js | 2 +- _source/core/dom/node.js | 27 +- _source/core/dom/nodelist.js | 2 +- _source/core/dom/range.js | 40 +- _source/core/dom/rangelist.js | 2 +- _source/core/dom/text.js | 2 +- _source/core/dom/walker.js | 104 ++- _source/core/dom/window.js | 2 +- _source/core/dtd.js | 2 +- _source/core/editor.js | 2 +- _source/core/editor_basic.js | 2 +- _source/core/env.js | 2 +- _source/core/event.js | 2 +- _source/core/eventInfo.js | 2 +- _source/core/focusmanager.js | 2 +- _source/core/htmlparser.js | 2 +- _source/core/htmlparser/basicwriter.js | 2 +- _source/core/htmlparser/cdata.js | 2 +- _source/core/htmlparser/comment.js | 2 +- _source/core/htmlparser/element.js | 2 +- _source/core/htmlparser/filter.js | 2 +- _source/core/htmlparser/fragment.js | 33 +- _source/core/htmlparser/text.js | 2 +- _source/core/lang.js | 2 +- _source/core/loader.js | 4 +- _source/core/plugindefinition.js | 2 +- _source/core/plugins.js | 2 +- _source/core/resourcemanager.js | 2 +- _source/core/scriptloader.js | 2 +- _source/core/skins.js | 2 +- _source/core/themes.js | 2 +- _source/core/tools.js | 2 +- _source/core/ui.js | 2 +- _source/lang/_languages.js | 2 +- _source/lang/_translationstatus.txt | 48 +- _source/lang/af.js | 2 +- _source/lang/ar.js | 8 +- _source/lang/bg.js | 806 +++++++++---------- _source/lang/bn.js | 2 +- _source/lang/bs.js | 2 +- _source/lang/ca.js | 2 +- _source/lang/cs.js | 56 +- _source/lang/cy.js | 12 +- _source/lang/da.js | 324 ++++---- _source/lang/de.js | 4 +- _source/lang/el.js | 264 +++---- _source/lang/en-au.js | 8 +- _source/lang/en-ca.js | 2 +- _source/lang/en-gb.js | 2 +- _source/lang/en.js | 2 +- _source/lang/eo.js | 752 +++++++++--------- _source/lang/es.js | 2 +- _source/lang/et.js | 4 +- _source/lang/eu.js | 2 +- _source/lang/fa.js | 2 +- _source/lang/fi.js | 2 +- _source/lang/fo.js | 62 +- _source/lang/fr-ca.js | 2 +- _source/lang/fr.js | 60 +- _source/lang/gl.js | 2 +- _source/lang/gu.js | 522 ++++++------- _source/lang/he.js | 2 +- _source/lang/hi.js | 14 +- _source/lang/hr.js | 316 ++++---- _source/lang/hu.js | 2 +- _source/lang/is.js | 2 +- _source/lang/it.js | 8 +- _source/lang/ja.js | 2 +- _source/lang/ka.js | 2 +- _source/lang/km.js | 2 +- _source/lang/ko.js | 2 +- _source/lang/lt.js | 2 +- _source/lang/lv.js | 2 +- _source/lang/mk.js | 814 ++++++++++++++++++++ _source/lang/mn.js | 2 +- _source/lang/ms.js | 2 +- _source/lang/nb.js | 8 +- _source/lang/nl.js | 70 +- _source/lang/no.js | 8 +- _source/lang/pl.js | 6 +- _source/lang/pt-br.js | 2 +- _source/lang/pt.js | 68 +- _source/lang/ro.js | 2 +- _source/lang/ru.js | 2 +- _source/lang/sk.js | 2 +- _source/lang/sl.js | 2 +- _source/lang/sr-latn.js | 2 +- _source/lang/sr.js | 2 +- _source/lang/sv.js | 2 +- _source/lang/th.js | 2 +- _source/lang/tr.js | 100 +-- _source/lang/ug.js | 814 ++++++++++++++++++++ _source/lang/uk.js | 70 +- _source/lang/vi.js | 168 ++-- _source/lang/zh-cn.js | 8 +- _source/lang/zh.js | 32 +- _source/plugins/a11yhelp/dialogs/a11yhelp.js | 2 +- .../plugins/a11yhelp/lang/_translationstatus.txt | 23 + _source/plugins/a11yhelp/lang/cs.js | 89 +++ _source/plugins/a11yhelp/lang/cy.js | 89 +++ _source/plugins/a11yhelp/lang/da.js | 89 +++ _source/plugins/a11yhelp/lang/de.js | 89 +++ _source/plugins/a11yhelp/lang/el.js | 89 +++ _source/plugins/a11yhelp/lang/en.js | 6 +- _source/plugins/a11yhelp/lang/eo.js | 89 +++ _source/plugins/a11yhelp/lang/fa.js | 89 +++ _source/plugins/a11yhelp/lang/fi.js | 89 +++ _source/plugins/a11yhelp/lang/fr.js | 89 +++ _source/plugins/a11yhelp/lang/gu.js | 89 +++ _source/plugins/a11yhelp/lang/he.js | 139 +--- _source/plugins/a11yhelp/lang/it.js | 89 +++ _source/plugins/a11yhelp/lang/mk.js | 89 +++ _source/plugins/a11yhelp/lang/nb.js | 89 +++ _source/plugins/a11yhelp/lang/nl.js | 89 +++ _source/plugins/a11yhelp/lang/no.js | 89 +++ _source/plugins/a11yhelp/lang/tr.js | 89 +++ _source/plugins/a11yhelp/lang/ug.js | 89 +++ _source/plugins/a11yhelp/lang/vi.js | 89 +++ _source/plugins/a11yhelp/lang/zh-cn.js | 89 +++ _source/plugins/a11yhelp/plugin.js | 4 +- _source/plugins/about/dialogs/about.js | 2 +- _source/plugins/about/plugin.js | 2 +- _source/plugins/adobeair/plugin.js | 2 +- _source/plugins/ajax/plugin.js | 2 +- _source/plugins/autogrow/plugin.js | 4 +- _source/plugins/basicstyles/plugin.js | 2 +- _source/plugins/bbcode/plugin.js | 2 +- _source/plugins/bidi/plugin.js | 2 +- _source/plugins/blockquote/plugin.js | 2 +- _source/plugins/button/plugin.js | 2 +- _source/plugins/clipboard/dialogs/paste.js | 4 +- _source/plugins/clipboard/plugin.js | 56 +- _source/plugins/colorbutton/plugin.js | 11 +- _source/plugins/colordialog/dialogs/colordialog.js | 233 +++--- _source/plugins/colordialog/plugin.js | 2 +- _source/plugins/contextmenu/plugin.js | 2 +- .../plugins/devtools/lang/_translationstatus.txt | 27 + _source/plugins/devtools/lang/bg.js | 16 + _source/plugins/devtools/lang/cs.js | 16 + _source/plugins/devtools/lang/cy.js | 16 + _source/plugins/devtools/lang/da.js | 16 + _source/plugins/devtools/lang/de.js | 16 + _source/plugins/devtools/lang/el.js | 16 + _source/plugins/devtools/lang/en.js | 2 +- _source/plugins/devtools/lang/eo.js | 16 + _source/plugins/devtools/lang/et.js | 16 + _source/plugins/devtools/lang/fa.js | 16 + _source/plugins/devtools/lang/fi.js | 16 + _source/plugins/devtools/lang/fr.js | 16 + _source/plugins/devtools/lang/gu.js | 16 + _source/plugins/devtools/lang/he.js | 16 + _source/plugins/devtools/lang/hr.js | 16 + _source/plugins/devtools/lang/it.js | 16 + _source/plugins/devtools/lang/nb.js | 16 + _source/plugins/devtools/lang/nl.js | 16 + _source/plugins/devtools/lang/no.js | 16 + _source/plugins/devtools/lang/pl.js | 16 + _source/plugins/devtools/lang/tr.js | 16 + _source/plugins/devtools/lang/ug.js | 16 + _source/plugins/devtools/lang/uk.js | 16 + _source/plugins/devtools/lang/vi.js | 16 + _source/plugins/devtools/lang/zh-cn.js | 16 + _source/plugins/devtools/plugin.js | 4 +- _source/plugins/dialog/dialogDefinition.js | 2 +- _source/plugins/dialog/plugin.js | 55 +- _source/plugins/dialogadvtab/plugin.js | 2 +- _source/plugins/dialogui/plugin.js | 16 +- _source/plugins/div/dialogs/div.js | 2 +- _source/plugins/div/plugin.js | 2 +- _source/plugins/docprops/dialogs/docprops.js | 2 +- _source/plugins/docprops/plugin.js | 2 +- _source/plugins/domiterator/plugin.js | 77 +- _source/plugins/editingblock/plugin.js | 2 +- _source/plugins/elementspath/plugin.js | 2 +- _source/plugins/enterkey/plugin.js | 2 +- _source/plugins/entities/plugin.js | 24 +- _source/plugins/fakeobjects/plugin.js | 2 +- _source/plugins/filebrowser/plugin.js | 5 +- _source/plugins/find/dialogs/find.js | 2 +- _source/plugins/find/plugin.js | 2 +- _source/plugins/flash/dialogs/flash.js | 2 +- _source/plugins/flash/plugin.js | 2 +- _source/plugins/floatpanel/plugin.js | 86 ++- _source/plugins/font/plugin.js | 2 +- _source/plugins/format/plugin.js | 2 +- _source/plugins/forms/dialogs/button.js | 2 +- _source/plugins/forms/dialogs/checkbox.js | 2 +- _source/plugins/forms/dialogs/form.js | 2 +- _source/plugins/forms/dialogs/hiddenfield.js | 2 +- _source/plugins/forms/dialogs/radio.js | 2 +- _source/plugins/forms/dialogs/select.js | 2 +- _source/plugins/forms/dialogs/textarea.js | 2 +- _source/plugins/forms/dialogs/textfield.js | 2 +- _source/plugins/forms/plugin.js | 2 +- _source/plugins/horizontalrule/plugin.js | 2 +- _source/plugins/htmldataprocessor/plugin.js | 8 +- _source/plugins/htmlwriter/plugin.js | 2 +- _source/plugins/iframe/dialogs/iframe.js | 2 +- _source/plugins/iframe/plugin.js | 2 +- _source/plugins/iframedialog/plugin.js | 2 +- _source/plugins/image/dialogs/image.js | 9 +- _source/plugins/image/plugin.js | 95 ++- _source/plugins/indent/plugin.js | 21 +- _source/plugins/justify/plugin.js | 32 +- _source/plugins/keystrokes/plugin.js | 2 +- _source/plugins/link/dialogs/anchor.js | 2 +- _source/plugins/link/dialogs/link.js | 14 +- _source/plugins/link/plugin.js | 2 +- _source/plugins/list/plugin.js | 307 ++++++-- _source/plugins/listblock/plugin.js | 10 +- _source/plugins/liststyle/dialogs/liststyle.js | 2 +- _source/plugins/liststyle/plugin.js | 2 +- _source/plugins/maximize/plugin.js | 2 +- _source/plugins/menu/plugin.js | 7 +- _source/plugins/menubutton/plugin.js | 2 +- _source/plugins/newpage/plugin.js | 2 +- _source/plugins/pagebreak/plugin.js | 2 +- _source/plugins/panel/plugin.js | 18 +- _source/plugins/panelbutton/plugin.js | 2 +- _source/plugins/pastefromword/filter/default.js | 2 +- _source/plugins/pastefromword/plugin.js | 2 +- _source/plugins/pastetext/dialogs/pastetext.js | 2 +- _source/plugins/pastetext/plugin.js | 2 +- _source/plugins/placeholder/dialogs/placeholder.js | 2 +- .../placeholder/lang/_translationstatus.txt | 26 + _source/plugins/placeholder/lang/bg.js | 16 + _source/plugins/placeholder/lang/cs.js | 16 + _source/plugins/placeholder/lang/cy.js | 16 + _source/plugins/placeholder/lang/da.js | 16 + _source/plugins/placeholder/lang/de.js | 16 + _source/plugins/placeholder/lang/el.js | 16 + _source/plugins/placeholder/lang/en.js | 2 +- _source/plugins/placeholder/lang/eo.js | 16 + _source/plugins/placeholder/lang/et.js | 16 + _source/plugins/placeholder/lang/fa.js | 16 + _source/plugins/placeholder/lang/fi.js | 16 + _source/plugins/placeholder/lang/fr.js | 16 + _source/plugins/placeholder/lang/he.js | 2 +- _source/plugins/placeholder/lang/hr.js | 16 + _source/plugins/placeholder/lang/it.js | 16 + _source/plugins/placeholder/lang/nb.js | 16 + _source/plugins/placeholder/lang/nl.js | 16 + _source/plugins/placeholder/lang/no.js | 16 + _source/plugins/placeholder/lang/pl.js | 16 + _source/plugins/placeholder/lang/tr.js | 16 + _source/plugins/placeholder/lang/ug.js | 16 + _source/plugins/placeholder/lang/uk.js | 16 + _source/plugins/placeholder/lang/vi.js | 16 + _source/plugins/placeholder/lang/zh-cn.js | 16 + _source/plugins/placeholder/plugin.js | 4 +- _source/plugins/popup/plugin.js | 11 +- _source/plugins/preview/plugin.js | 2 +- _source/plugins/print/plugin.js | 2 +- _source/plugins/removeformat/plugin.js | 2 +- _source/plugins/resize/plugin.js | 5 +- _source/plugins/richcombo/plugin.js | 2 +- _source/plugins/save/plugin.js | 2 +- _source/plugins/scayt/dialogs/options.js | 2 +- _source/plugins/scayt/plugin.js | 2 +- _source/plugins/selection/plugin.js | 290 +++++-- _source/plugins/showblocks/plugin.js | 2 +- _source/plugins/showborders/plugin.js | 2 +- _source/plugins/smiley/dialogs/smiley.js | 2 +- _source/plugins/smiley/plugin.js | 2 +- _source/plugins/sourcearea/plugin.js | 2 +- _source/plugins/specialchar/dialogs/specialchar.js | 2 +- .../specialchar/lang/_translationstatus.txt | 19 + _source/plugins/specialchar/lang/cs.js | 126 +++ _source/plugins/specialchar/lang/cy.js | 126 +++ _source/plugins/specialchar/lang/de.js | 126 +++ _source/plugins/specialchar/lang/en.js | 242 +++--- _source/plugins/specialchar/lang/eo.js | 126 +++ _source/plugins/specialchar/lang/et.js | 126 +++ _source/plugins/specialchar/lang/fa.js | 126 +++ _source/plugins/specialchar/lang/fi.js | 126 +++ _source/plugins/specialchar/lang/fr.js | 126 +++ _source/plugins/specialchar/lang/hr.js | 126 +++ _source/plugins/specialchar/lang/it.js | 126 +++ _source/plugins/specialchar/lang/nb.js | 126 +++ _source/plugins/specialchar/lang/nl.js | 126 +++ _source/plugins/specialchar/lang/no.js | 126 +++ _source/plugins/specialchar/lang/tr.js | 126 +++ _source/plugins/specialchar/lang/ug.js | 126 +++ _source/plugins/specialchar/lang/zh-cn.js | 126 +++ _source/plugins/specialchar/plugin.js | 4 +- _source/plugins/styles/plugin.js | 14 +- _source/plugins/styles/styles/default.js | 2 +- _source/plugins/stylescombo/plugin.js | 2 +- _source/plugins/stylesheetparser/plugin.js | 2 +- _source/plugins/tab/plugin.js | 2 +- _source/plugins/table/dialogs/table.js | 51 +- _source/plugins/table/plugin.js | 2 +- _source/plugins/tableresize/plugin.js | 2 +- _source/plugins/tabletools/dialogs/tableCell.js | 13 +- _source/plugins/tabletools/plugin.js | 25 +- _source/plugins/templates/dialogs/templates.js | 2 +- _source/plugins/templates/plugin.js | 3 +- _source/plugins/templates/templates/default.js | 2 +- _source/plugins/toolbar/plugin.js | 2 +- _source/plugins/uicolor/dialogs/uicolor.js | 2 +- .../plugins/uicolor/lang/_translationstatus.txt | 27 + _source/plugins/uicolor/lang/bg.js | 15 + _source/plugins/uicolor/lang/cs.js | 15 + _source/plugins/uicolor/lang/cy.js | 15 + _source/plugins/uicolor/lang/da.js | 15 + _source/plugins/uicolor/lang/de.js | 15 + _source/plugins/uicolor/lang/el.js | 15 + _source/plugins/uicolor/lang/en.js | 2 +- _source/plugins/uicolor/lang/eo.js | 15 + _source/plugins/uicolor/lang/et.js | 15 + _source/plugins/uicolor/lang/fa.js | 15 + _source/plugins/uicolor/lang/fi.js | 15 + _source/plugins/uicolor/lang/fr.js | 15 + _source/plugins/uicolor/lang/he.js | 2 +- _source/plugins/uicolor/lang/hr.js | 15 + _source/plugins/uicolor/lang/it.js | 15 + _source/plugins/uicolor/lang/mk.js | 15 + _source/plugins/uicolor/lang/nb.js | 15 + _source/plugins/uicolor/lang/nl.js | 15 + _source/plugins/uicolor/lang/no.js | 15 + _source/plugins/uicolor/lang/pl.js | 15 + _source/plugins/uicolor/lang/tr.js | 15 + _source/plugins/uicolor/lang/ug.js | 15 + _source/plugins/uicolor/lang/uk.js | 15 + _source/plugins/uicolor/lang/vi.js | 15 + _source/plugins/uicolor/lang/zh-cn.js | 15 + _source/plugins/uicolor/plugin.js | 4 +- _source/plugins/undo/plugin.js | 23 +- _source/plugins/wsc/dialogs/ciframe.html | 2 +- _source/plugins/wsc/dialogs/tmpFrameset.html | 2 +- _source/plugins/wsc/dialogs/wsc.css | 2 +- _source/plugins/wsc/dialogs/wsc.js | 2 +- _source/plugins/wsc/plugin.js | 2 +- _source/plugins/wysiwygarea/plugin.js | 117 ++- _source/plugins/xml/plugin.js | 2 +- _source/skins/kama/dialog.css | 2 +- _source/skins/kama/editor.css | 2 +- _source/skins/kama/elementspath.css | 2 +- _source/skins/kama/icons.css | 2 +- _source/skins/kama/mainui.css | 2 +- _source/skins/kama/menu.css | 2 +- _source/skins/kama/panel.css | 2 +- _source/skins/kama/presets.css | 2 +- _source/skins/kama/reset.css | 2 +- _source/skins/kama/richcombo.css | 2 +- _source/skins/kama/skin.js | 2 +- _source/skins/kama/templates.css | 2 +- _source/skins/kama/toolbar.css | 2 +- _source/skins/office2003/dialog.css | 2 +- _source/skins/office2003/editor.css | 2 +- _source/skins/office2003/elementspath.css | 2 +- _source/skins/office2003/icons.css | 2 +- _source/skins/office2003/mainui.css | 2 +- _source/skins/office2003/menu.css | 2 +- _source/skins/office2003/panel.css | 2 +- _source/skins/office2003/presets.css | 2 +- _source/skins/office2003/reset.css | 2 +- _source/skins/office2003/skin.js | 2 +- _source/skins/office2003/templates.css | 2 +- _source/skins/office2003/toolbar.css | 2 +- _source/skins/v2/dialog.css | 2 +- _source/skins/v2/editor.css | 2 +- _source/skins/v2/elementspath.css | 2 +- _source/skins/v2/icons.css | 2 +- _source/skins/v2/mainui.css | 2 +- _source/skins/v2/menu.css | 2 +- _source/skins/v2/panel.css | 2 +- _source/skins/v2/presets.css | 2 +- _source/skins/v2/reset.css | 2 +- _source/skins/v2/skin.js | 2 +- _source/skins/v2/templates.css | 2 +- _source/skins/v2/toolbar.css | 2 +- _source/themes/default/theme.js | 2 +- adapters/jquery.js | 2 +- ckeditor.asp | 8 +- ckeditor.js | 236 +++--- ckeditor.pack | 2 +- ckeditor.php | 2 +- ckeditor_basic.js | 6 +- ckeditor_basic_source.js | 4 +- ckeditor_php4.php | 8 +- ckeditor_php5.php | 8 +- ckeditor_source.js | 4 +- config.js | 2 +- contents.css | 2 +- lang/_languages.js | 2 +- lang/_translationstatus.txt | 48 +- lang/af.js | 2 +- lang/ar.js | 4 +- lang/bg.js | 4 +- lang/bn.js | 2 +- lang/bs.js | 2 +- lang/ca.js | 2 +- lang/cs.js | 4 +- lang/cy.js | 4 +- lang/da.js | 4 +- lang/de.js | 4 +- lang/el.js | 4 +- lang/en-au.js | 2 +- lang/en-ca.js | 2 +- lang/en-gb.js | 2 +- lang/en.js | 2 +- lang/eo.js | 4 +- lang/es.js | 2 +- lang/et.js | 4 +- lang/eu.js | 2 +- lang/fa.js | 2 +- lang/fi.js | 2 +- lang/fo.js | 4 +- lang/fr-ca.js | 2 +- lang/fr.js | 4 +- lang/gl.js | 2 +- lang/gu.js | 4 +- lang/he.js | 2 +- lang/hi.js | 4 +- lang/hr.js | 4 +- lang/hu.js | 2 +- lang/is.js | 2 +- lang/it.js | 4 +- lang/ja.js | 2 +- lang/ka.js | 2 +- lang/km.js | 2 +- lang/ko.js | 2 +- lang/lt.js | 2 +- lang/lv.js | 2 +- lang/mk.js | 6 + lang/mn.js | 2 +- lang/ms.js | 2 +- lang/nb.js | 4 +- lang/nl.js | 4 +- lang/no.js | 4 +- lang/pl.js | 4 +- lang/pt-br.js | 2 +- lang/pt.js | 4 +- lang/ro.js | 2 +- lang/ru.js | 2 +- lang/sk.js | 2 +- lang/sl.js | 2 +- lang/sr-latn.js | 2 +- lang/sr.js | 2 +- lang/sv.js | 2 +- lang/th.js | 2 +- lang/tr.js | 4 +- lang/ug.js | 6 + lang/uk.js | 4 +- lang/vi.js | 4 +- lang/zh-cn.js | 4 +- lang/zh.js | 4 +- plugins/a11yhelp/dialogs/a11yhelp.js | 2 +- plugins/a11yhelp/lang/_translationstatus.txt | 23 + plugins/a11yhelp/lang/cs.js | 6 + plugins/a11yhelp/lang/cy.js | 6 + plugins/a11yhelp/lang/da.js | 6 + plugins/a11yhelp/lang/de.js | 6 + plugins/a11yhelp/lang/el.js | 6 + plugins/a11yhelp/lang/en.js | 4 +- plugins/a11yhelp/lang/eo.js | 6 + plugins/a11yhelp/lang/fa.js | 6 + plugins/a11yhelp/lang/fi.js | 6 + plugins/a11yhelp/lang/fr.js | 6 + plugins/a11yhelp/lang/gu.js | 6 + plugins/a11yhelp/lang/he.js | 4 +- plugins/a11yhelp/lang/it.js | 6 + plugins/a11yhelp/lang/mk.js | 6 + plugins/a11yhelp/lang/nb.js | 6 + plugins/a11yhelp/lang/nl.js | 6 + plugins/a11yhelp/lang/no.js | 6 + plugins/a11yhelp/lang/tr.js | 6 + plugins/a11yhelp/lang/ug.js | 6 + plugins/a11yhelp/lang/vi.js | 6 + plugins/a11yhelp/lang/zh-cn.js | 6 + plugins/about/dialogs/about.js | 2 +- plugins/adobeair/plugin.js | 2 +- plugins/ajax/plugin.js | 2 +- plugins/autogrow/plugin.js | 4 +- plugins/bbcode/plugin.js | 2 +- plugins/clipboard/dialogs/paste.js | 4 +- plugins/colordialog/dialogs/colordialog.js | 6 +- plugins/devtools/lang/_translationstatus.txt | 27 + plugins/devtools/lang/bg.js | 6 + plugins/devtools/lang/cs.js | 6 + plugins/devtools/lang/cy.js | 6 + plugins/devtools/lang/da.js | 6 + plugins/devtools/lang/de.js | 6 + plugins/devtools/lang/el.js | 6 + plugins/devtools/lang/en.js | 2 +- plugins/devtools/lang/eo.js | 6 + plugins/devtools/lang/et.js | 6 + plugins/devtools/lang/fa.js | 6 + plugins/devtools/lang/fi.js | 6 + plugins/devtools/lang/fr.js | 6 + plugins/devtools/lang/gu.js | 6 + plugins/devtools/lang/he.js | 6 + plugins/devtools/lang/hr.js | 6 + plugins/devtools/lang/it.js | 6 + plugins/devtools/lang/nb.js | 6 + plugins/devtools/lang/nl.js | 6 + plugins/devtools/lang/no.js | 6 + plugins/devtools/lang/pl.js | 6 + plugins/devtools/lang/tr.js | 6 + plugins/devtools/lang/ug.js | 6 + plugins/devtools/lang/uk.js | 6 + plugins/devtools/lang/vi.js | 6 + plugins/devtools/lang/zh-cn.js | 6 + plugins/devtools/plugin.js | 4 +- plugins/dialog/dialogDefinition.js | 2 +- plugins/div/dialogs/div.js | 2 +- plugins/docprops/dialogs/docprops.js | 2 +- plugins/docprops/plugin.js | 2 +- plugins/find/dialogs/find.js | 2 +- plugins/flash/dialogs/flash.js | 2 +- plugins/forms/dialogs/button.js | 2 +- plugins/forms/dialogs/checkbox.js | 2 +- plugins/forms/dialogs/form.js | 2 +- plugins/forms/dialogs/hiddenfield.js | 2 +- plugins/forms/dialogs/radio.js | 2 +- plugins/forms/dialogs/select.js | 2 +- plugins/forms/dialogs/textarea.js | 2 +- plugins/forms/dialogs/textfield.js | 2 +- plugins/iframe/dialogs/iframe.js | 2 +- plugins/iframedialog/plugin.js | 2 +- plugins/image/dialogs/image.js | 18 +- plugins/link/dialogs/anchor.js | 2 +- plugins/link/dialogs/link.js | 10 +- plugins/liststyle/dialogs/liststyle.js | 2 +- plugins/pastefromword/filter/default.js | 2 +- plugins/pastetext/dialogs/pastetext.js | 2 +- plugins/placeholder/dialogs/placeholder.js | 2 +- plugins/placeholder/lang/_translationstatus.txt | 26 + plugins/placeholder/lang/bg.js | 6 + plugins/placeholder/lang/cs.js | 6 + plugins/placeholder/lang/cy.js | 6 + plugins/placeholder/lang/da.js | 6 + plugins/placeholder/lang/de.js | 6 + plugins/placeholder/lang/el.js | 6 + plugins/placeholder/lang/en.js | 2 +- plugins/placeholder/lang/eo.js | 6 + plugins/placeholder/lang/et.js | 6 + plugins/placeholder/lang/fa.js | 6 + plugins/placeholder/lang/fi.js | 6 + plugins/placeholder/lang/fr.js | 6 + plugins/placeholder/lang/he.js | 2 +- plugins/placeholder/lang/hr.js | 6 + plugins/placeholder/lang/it.js | 6 + plugins/placeholder/lang/nb.js | 6 + plugins/placeholder/lang/nl.js | 6 + plugins/placeholder/lang/no.js | 6 + plugins/placeholder/lang/pl.js | 6 + plugins/placeholder/lang/tr.js | 6 + plugins/placeholder/lang/ug.js | 6 + plugins/placeholder/lang/uk.js | 6 + plugins/placeholder/lang/vi.js | 6 + plugins/placeholder/lang/zh-cn.js | 6 + plugins/placeholder/plugin.js | 4 +- plugins/scayt/dialogs/options.js | 2 +- plugins/scayt/dialogs/toolbar.css | 2 +- plugins/smiley/dialogs/smiley.js | 2 +- plugins/specialchar/dialogs/specialchar.js | 2 +- plugins/specialchar/lang/_translationstatus.txt | 19 + plugins/specialchar/lang/cs.js | 6 + plugins/specialchar/lang/cy.js | 6 + plugins/specialchar/lang/de.js | 6 + plugins/specialchar/lang/en.js | 2 +- plugins/specialchar/lang/eo.js | 6 + plugins/specialchar/lang/et.js | 6 + plugins/specialchar/lang/fa.js | 6 + plugins/specialchar/lang/fi.js | 6 + plugins/specialchar/lang/fr.js | 6 + plugins/specialchar/lang/hr.js | 6 + plugins/specialchar/lang/it.js | 6 + plugins/specialchar/lang/nb.js | 6 + plugins/specialchar/lang/nl.js | 6 + plugins/specialchar/lang/no.js | 6 + plugins/specialchar/lang/tr.js | 6 + plugins/specialchar/lang/ug.js | 6 + plugins/specialchar/lang/zh-cn.js | 6 + plugins/styles/styles/default.js | 2 +- plugins/stylesheetparser/plugin.js | 2 +- plugins/table/dialogs/table.js | 10 +- plugins/tableresize/plugin.js | 2 +- plugins/tabletools/dialogs/tableCell.js | 6 +- plugins/templates/dialogs/templates.js | 2 +- plugins/templates/templates/default.js | 2 +- plugins/uicolor/dialogs/uicolor.js | 2 +- plugins/uicolor/lang/_translationstatus.txt | 27 + plugins/uicolor/lang/bg.js | 6 + plugins/uicolor/lang/cs.js | 6 + plugins/uicolor/lang/cy.js | 6 + plugins/uicolor/lang/da.js | 6 + plugins/uicolor/lang/de.js | 6 + plugins/uicolor/lang/el.js | 6 + plugins/uicolor/lang/en.js | 2 +- plugins/uicolor/lang/eo.js | 6 + plugins/uicolor/lang/et.js | 6 + plugins/uicolor/lang/fa.js | 6 + plugins/uicolor/lang/fi.js | 6 + plugins/uicolor/lang/fr.js | 6 + plugins/uicolor/lang/he.js | 2 +- plugins/uicolor/lang/hr.js | 6 + plugins/uicolor/lang/it.js | 6 + plugins/uicolor/lang/mk.js | 6 + plugins/uicolor/lang/nb.js | 6 + plugins/uicolor/lang/nl.js | 6 + plugins/uicolor/lang/no.js | 6 + plugins/uicolor/lang/pl.js | 6 + plugins/uicolor/lang/tr.js | 6 + plugins/uicolor/lang/ug.js | 6 + plugins/uicolor/lang/uk.js | 6 + plugins/uicolor/lang/vi.js | 6 + plugins/uicolor/lang/zh-cn.js | 6 + plugins/uicolor/plugin.js | 4 +- plugins/uicolor/yui/assets/yui.css | 2 +- plugins/uicolor/yui/yui.js | 2 +- plugins/wsc/dialogs/ciframe.html | 2 +- plugins/wsc/dialogs/tmpFrameset.html | 2 +- plugins/wsc/dialogs/wsc.css | 2 +- plugins/wsc/dialogs/wsc.js | 2 +- plugins/xml/plugin.js | 2 +- skins/kama/dialog.css | 2 +- skins/kama/editor.css | 2 +- skins/kama/skin.js | 2 +- skins/kama/templates.css | 2 +- skins/office2003/dialog.css | 2 +- skins/office2003/editor.css | 2 +- skins/office2003/skin.js | 2 +- skins/office2003/templates.css | 2 +- skins/v2/dialog.css | 2 +- skins/v2/editor.css | 2 +- skins/v2/skin.js | 2 +- skins/v2/templates.css | 2 +- themes/default/theme.js | 2 +- 698 files changed, 11526 insertions(+), 3494 deletions(-) create mode 100644 _source/lang/mk.js create mode 100644 _source/lang/ug.js create mode 100644 _source/plugins/a11yhelp/lang/_translationstatus.txt create mode 100644 _source/plugins/a11yhelp/lang/cs.js create mode 100644 _source/plugins/a11yhelp/lang/cy.js create mode 100644 _source/plugins/a11yhelp/lang/da.js create mode 100644 _source/plugins/a11yhelp/lang/de.js create mode 100644 _source/plugins/a11yhelp/lang/el.js create mode 100644 _source/plugins/a11yhelp/lang/eo.js create mode 100644 _source/plugins/a11yhelp/lang/fa.js create mode 100644 _source/plugins/a11yhelp/lang/fi.js create mode 100644 _source/plugins/a11yhelp/lang/fr.js create mode 100644 _source/plugins/a11yhelp/lang/gu.js create mode 100644 _source/plugins/a11yhelp/lang/it.js create mode 100644 _source/plugins/a11yhelp/lang/mk.js create mode 100644 _source/plugins/a11yhelp/lang/nb.js create mode 100644 _source/plugins/a11yhelp/lang/nl.js create mode 100644 _source/plugins/a11yhelp/lang/no.js create mode 100644 _source/plugins/a11yhelp/lang/tr.js create mode 100644 _source/plugins/a11yhelp/lang/ug.js create mode 100644 _source/plugins/a11yhelp/lang/vi.js create mode 100644 _source/plugins/a11yhelp/lang/zh-cn.js create mode 100644 _source/plugins/devtools/lang/_translationstatus.txt create mode 100644 _source/plugins/devtools/lang/bg.js create mode 100644 _source/plugins/devtools/lang/cs.js create mode 100644 _source/plugins/devtools/lang/cy.js create mode 100644 _source/plugins/devtools/lang/da.js create mode 100644 _source/plugins/devtools/lang/de.js create mode 100644 _source/plugins/devtools/lang/el.js create mode 100644 _source/plugins/devtools/lang/eo.js create mode 100644 _source/plugins/devtools/lang/et.js create mode 100644 _source/plugins/devtools/lang/fa.js create mode 100644 _source/plugins/devtools/lang/fi.js create mode 100644 _source/plugins/devtools/lang/fr.js create mode 100644 _source/plugins/devtools/lang/gu.js create mode 100644 _source/plugins/devtools/lang/he.js create mode 100644 _source/plugins/devtools/lang/hr.js create mode 100644 _source/plugins/devtools/lang/it.js create mode 100644 _source/plugins/devtools/lang/nb.js create mode 100644 _source/plugins/devtools/lang/nl.js create mode 100644 _source/plugins/devtools/lang/no.js create mode 100644 _source/plugins/devtools/lang/pl.js create mode 100644 _source/plugins/devtools/lang/tr.js create mode 100644 _source/plugins/devtools/lang/ug.js create mode 100644 _source/plugins/devtools/lang/uk.js create mode 100644 _source/plugins/devtools/lang/vi.js create mode 100644 _source/plugins/devtools/lang/zh-cn.js create mode 100644 _source/plugins/placeholder/lang/_translationstatus.txt create mode 100644 _source/plugins/placeholder/lang/bg.js create mode 100644 _source/plugins/placeholder/lang/cs.js create mode 100644 _source/plugins/placeholder/lang/cy.js create mode 100644 _source/plugins/placeholder/lang/da.js create mode 100644 _source/plugins/placeholder/lang/de.js create mode 100644 _source/plugins/placeholder/lang/el.js create mode 100644 _source/plugins/placeholder/lang/eo.js create mode 100644 _source/plugins/placeholder/lang/et.js create mode 100644 _source/plugins/placeholder/lang/fa.js create mode 100644 _source/plugins/placeholder/lang/fi.js create mode 100644 _source/plugins/placeholder/lang/fr.js create mode 100644 _source/plugins/placeholder/lang/hr.js create mode 100644 _source/plugins/placeholder/lang/it.js create mode 100644 _source/plugins/placeholder/lang/nb.js create mode 100644 _source/plugins/placeholder/lang/nl.js create mode 100644 _source/plugins/placeholder/lang/no.js create mode 100644 _source/plugins/placeholder/lang/pl.js create mode 100644 _source/plugins/placeholder/lang/tr.js create mode 100644 _source/plugins/placeholder/lang/ug.js create mode 100644 _source/plugins/placeholder/lang/uk.js create mode 100644 _source/plugins/placeholder/lang/vi.js create mode 100644 _source/plugins/placeholder/lang/zh-cn.js create mode 100644 _source/plugins/specialchar/lang/_translationstatus.txt create mode 100644 _source/plugins/specialchar/lang/cs.js create mode 100644 _source/plugins/specialchar/lang/cy.js create mode 100644 _source/plugins/specialchar/lang/de.js create mode 100644 _source/plugins/specialchar/lang/eo.js create mode 100644 _source/plugins/specialchar/lang/et.js create mode 100644 _source/plugins/specialchar/lang/fa.js create mode 100644 _source/plugins/specialchar/lang/fi.js create mode 100644 _source/plugins/specialchar/lang/fr.js create mode 100644 _source/plugins/specialchar/lang/hr.js create mode 100644 _source/plugins/specialchar/lang/it.js create mode 100644 _source/plugins/specialchar/lang/nb.js create mode 100644 _source/plugins/specialchar/lang/nl.js create mode 100644 _source/plugins/specialchar/lang/no.js create mode 100644 _source/plugins/specialchar/lang/tr.js create mode 100644 _source/plugins/specialchar/lang/ug.js create mode 100644 _source/plugins/specialchar/lang/zh-cn.js create mode 100644 _source/plugins/uicolor/lang/_translationstatus.txt create mode 100644 _source/plugins/uicolor/lang/bg.js create mode 100644 _source/plugins/uicolor/lang/cs.js create mode 100644 _source/plugins/uicolor/lang/cy.js create mode 100644 _source/plugins/uicolor/lang/da.js create mode 100644 _source/plugins/uicolor/lang/de.js create mode 100644 _source/plugins/uicolor/lang/el.js create mode 100644 _source/plugins/uicolor/lang/eo.js create mode 100644 _source/plugins/uicolor/lang/et.js create mode 100644 _source/plugins/uicolor/lang/fa.js create mode 100644 _source/plugins/uicolor/lang/fi.js create mode 100644 _source/plugins/uicolor/lang/fr.js create mode 100644 _source/plugins/uicolor/lang/hr.js create mode 100644 _source/plugins/uicolor/lang/it.js create mode 100644 _source/plugins/uicolor/lang/mk.js create mode 100644 _source/plugins/uicolor/lang/nb.js create mode 100644 _source/plugins/uicolor/lang/nl.js create mode 100644 _source/plugins/uicolor/lang/no.js create mode 100644 _source/plugins/uicolor/lang/pl.js create mode 100644 _source/plugins/uicolor/lang/tr.js create mode 100644 _source/plugins/uicolor/lang/ug.js create mode 100644 _source/plugins/uicolor/lang/uk.js create mode 100644 _source/plugins/uicolor/lang/vi.js create mode 100644 _source/plugins/uicolor/lang/zh-cn.js create mode 100644 lang/mk.js create mode 100644 lang/ug.js create mode 100644 plugins/a11yhelp/lang/_translationstatus.txt create mode 100644 plugins/a11yhelp/lang/cs.js create mode 100644 plugins/a11yhelp/lang/cy.js create mode 100644 plugins/a11yhelp/lang/da.js create mode 100644 plugins/a11yhelp/lang/de.js create mode 100644 plugins/a11yhelp/lang/el.js create mode 100644 plugins/a11yhelp/lang/eo.js create mode 100644 plugins/a11yhelp/lang/fa.js create mode 100644 plugins/a11yhelp/lang/fi.js create mode 100644 plugins/a11yhelp/lang/fr.js create mode 100644 plugins/a11yhelp/lang/gu.js create mode 100644 plugins/a11yhelp/lang/it.js create mode 100644 plugins/a11yhelp/lang/mk.js create mode 100644 plugins/a11yhelp/lang/nb.js create mode 100644 plugins/a11yhelp/lang/nl.js create mode 100644 plugins/a11yhelp/lang/no.js create mode 100644 plugins/a11yhelp/lang/tr.js create mode 100644 plugins/a11yhelp/lang/ug.js create mode 100644 plugins/a11yhelp/lang/vi.js create mode 100644 plugins/a11yhelp/lang/zh-cn.js create mode 100644 plugins/devtools/lang/_translationstatus.txt create mode 100644 plugins/devtools/lang/bg.js create mode 100644 plugins/devtools/lang/cs.js create mode 100644 plugins/devtools/lang/cy.js create mode 100644 plugins/devtools/lang/da.js create mode 100644 plugins/devtools/lang/de.js create mode 100644 plugins/devtools/lang/el.js create mode 100644 plugins/devtools/lang/eo.js create mode 100644 plugins/devtools/lang/et.js create mode 100644 plugins/devtools/lang/fa.js create mode 100644 plugins/devtools/lang/fi.js create mode 100644 plugins/devtools/lang/fr.js create mode 100644 plugins/devtools/lang/gu.js create mode 100644 plugins/devtools/lang/he.js create mode 100644 plugins/devtools/lang/hr.js create mode 100644 plugins/devtools/lang/it.js create mode 100644 plugins/devtools/lang/nb.js create mode 100644 plugins/devtools/lang/nl.js create mode 100644 plugins/devtools/lang/no.js create mode 100644 plugins/devtools/lang/pl.js create mode 100644 plugins/devtools/lang/tr.js create mode 100644 plugins/devtools/lang/ug.js create mode 100644 plugins/devtools/lang/uk.js create mode 100644 plugins/devtools/lang/vi.js create mode 100644 plugins/devtools/lang/zh-cn.js create mode 100644 plugins/placeholder/lang/_translationstatus.txt create mode 100644 plugins/placeholder/lang/bg.js create mode 100644 plugins/placeholder/lang/cs.js create mode 100644 plugins/placeholder/lang/cy.js create mode 100644 plugins/placeholder/lang/da.js create mode 100644 plugins/placeholder/lang/de.js create mode 100644 plugins/placeholder/lang/el.js create mode 100644 plugins/placeholder/lang/eo.js create mode 100644 plugins/placeholder/lang/et.js create mode 100644 plugins/placeholder/lang/fa.js create mode 100644 plugins/placeholder/lang/fi.js create mode 100644 plugins/placeholder/lang/fr.js create mode 100644 plugins/placeholder/lang/hr.js create mode 100644 plugins/placeholder/lang/it.js create mode 100644 plugins/placeholder/lang/nb.js create mode 100644 plugins/placeholder/lang/nl.js create mode 100644 plugins/placeholder/lang/no.js create mode 100644 plugins/placeholder/lang/pl.js create mode 100644 plugins/placeholder/lang/tr.js create mode 100644 plugins/placeholder/lang/ug.js create mode 100644 plugins/placeholder/lang/uk.js create mode 100644 plugins/placeholder/lang/vi.js create mode 100644 plugins/placeholder/lang/zh-cn.js create mode 100644 plugins/specialchar/lang/_translationstatus.txt create mode 100644 plugins/specialchar/lang/cs.js create mode 100644 plugins/specialchar/lang/cy.js create mode 100644 plugins/specialchar/lang/de.js create mode 100644 plugins/specialchar/lang/eo.js create mode 100644 plugins/specialchar/lang/et.js create mode 100644 plugins/specialchar/lang/fa.js create mode 100644 plugins/specialchar/lang/fi.js create mode 100644 plugins/specialchar/lang/fr.js create mode 100644 plugins/specialchar/lang/hr.js create mode 100644 plugins/specialchar/lang/it.js create mode 100644 plugins/specialchar/lang/nb.js create mode 100644 plugins/specialchar/lang/nl.js create mode 100644 plugins/specialchar/lang/no.js create mode 100644 plugins/specialchar/lang/tr.js create mode 100644 plugins/specialchar/lang/ug.js create mode 100644 plugins/specialchar/lang/zh-cn.js create mode 100644 plugins/uicolor/lang/_translationstatus.txt create mode 100644 plugins/uicolor/lang/bg.js create mode 100644 plugins/uicolor/lang/cs.js create mode 100644 plugins/uicolor/lang/cy.js create mode 100644 plugins/uicolor/lang/da.js create mode 100644 plugins/uicolor/lang/de.js create mode 100644 plugins/uicolor/lang/el.js create mode 100644 plugins/uicolor/lang/eo.js create mode 100644 plugins/uicolor/lang/et.js create mode 100644 plugins/uicolor/lang/fa.js create mode 100644 plugins/uicolor/lang/fi.js create mode 100644 plugins/uicolor/lang/fr.js create mode 100644 plugins/uicolor/lang/hr.js create mode 100644 plugins/uicolor/lang/it.js create mode 100644 plugins/uicolor/lang/mk.js create mode 100644 plugins/uicolor/lang/nb.js create mode 100644 plugins/uicolor/lang/nl.js create mode 100644 plugins/uicolor/lang/no.js create mode 100644 plugins/uicolor/lang/pl.js create mode 100644 plugins/uicolor/lang/tr.js create mode 100644 plugins/uicolor/lang/ug.js create mode 100644 plugins/uicolor/lang/uk.js create mode 100644 plugins/uicolor/lang/vi.js create mode 100644 plugins/uicolor/lang/zh-cn.js diff --git a/.htaccess b/.htaccess index 94d69cd..8d694ef 100644 --- a/.htaccess +++ b/.htaccess @@ -1,5 +1,5 @@ # -# Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +# Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. # For licensing, see LICENSE.html or http://ckeditor.com/license # diff --git a/CHANGES.html b/CHANGES.html index b305947..78bcb13 100644 --- a/CHANGES.html +++ b/CHANGES.html @@ -1,6 +1,6 @@ @@ -35,6 +35,76 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor Changelog

+ CKEditor 3.6.3

+

+ New features:

+ +

+ Fixed issues:

+ +

CKEditor 3.6.2

New features:

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

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

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

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

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

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

Licensed under the terms of any of the following licenses at your choice: diff --git a/_samples/adobeair/application.xml b/_samples/adobeair/application.xml index a6635a6..5ecb458 100644 --- a/_samples/adobeair/application.xml +++ b/_samples/adobeair/application.xml @@ -1,6 +1,6 @@ @@ -9,7 +9,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license 1.0 CKEditor AIR Samples This is a sample AIR application of CKEditor. - Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. + Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. _samples/adobeair/sample.html CKEditor - Adobe AIR Sample diff --git a/_samples/adobeair/run.bat b/_samples/adobeair/run.bat index 2e1518e..b12039c 100644 --- a/_samples/adobeair/run.bat +++ b/_samples/adobeair/run.bat @@ -1,6 +1,6 @@ @ECHO OFF :: -:: Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +:: Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. :: For licensing, see LICENSE.html or http://ckeditor.com/license :: :: Use this file to quickly run the sample in a Windows environment. diff --git a/_samples/adobeair/run.sh b/_samples/adobeair/run.sh index be08d9e..51b7309 100644 --- a/_samples/adobeair/run.sh +++ b/_samples/adobeair/run.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +# Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. # For licensing, see LICENSE.html or http://ckeditor.com/license # Use this file to quickly run the sample under Linux. diff --git a/_samples/adobeair/sample.html b/_samples/adobeair/sample.html index 493f4bf..809341d 100644 --- a/_samples/adobeair/sample.html +++ b/_samples/adobeair/sample.html @@ -1,6 +1,6 @@ @@ -37,7 +37,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for Internet - http://ckeditor.com

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

diff --git a/_samples/ajax.html b/_samples/ajax.html index c6fe892..430971f 100644 --- a/_samples/ajax.html +++ b/_samples/ajax.html @@ -1,6 +1,6 @@ @@ -90,7 +90,7 @@ function removeEditor() CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/api.html b/_samples/api.html index a3f2035..aa858cd 100644 --- a/_samples/api.html +++ b/_samples/api.html @@ -1,6 +1,6 @@ @@ -184,7 +184,7 @@ Second line of text preceded by two line breaks. CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/api_dialog.html b/_samples/api_dialog.html index 9882d6a..451d502 100644 --- a/_samples/api_dialog.html +++ b/_samples/api_dialog.html @@ -1,6 +1,6 @@ @@ -190,7 +190,7 @@ For details on how to create this setup check the source code of this sample pag CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/api_dialog/my_dialog.js b/_samples/api_dialog/my_dialog.js index 638d4b0..3873fa0 100644 --- a/_samples/api_dialog/my_dialog.js +++ b/_samples/api_dialog/my_dialog.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_samples/asp/advanced.asp b/_samples/asp/advanced.asp index b101c2c..c5c7c1f 100644 --- a/_samples/asp/advanced.asp +++ b/_samples/asp/advanced.asp @@ -10,7 +10,7 @@ %> @@ -97,7 +97,7 @@ response.write editor.editor("editor2", initialValue) CKEditor - The text editor for Internet - http://ckeditor.com

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

diff --git a/_samples/asp/events.asp b/_samples/asp/events.asp index c24e5e1..89c56a1 100644 --- a/_samples/asp/events.asp +++ b/_samples/asp/events.asp @@ -10,7 +10,7 @@ %> @@ -128,7 +128,7 @@ editor.editor "editor2", initialValue CKEditor - The text editor for Internet - http://ckeditor.com

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

diff --git a/_samples/asp/index.html b/_samples/asp/index.html index 76522bf..b5103c7 100644 --- a/_samples/asp/index.html +++ b/_samples/asp/index.html @@ -1,6 +1,6 @@ @@ -96,7 +96,7 @@ that will be created:

CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/asp/replace.asp b/_samples/asp/replace.asp index 5aafbb2..8e88b19 100644 --- a/_samples/asp/replace.asp +++ b/_samples/asp/replace.asp @@ -10,7 +10,7 @@ %> @@ -53,7 +53,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for Internet - http://ckeditor.com

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

diff --git a/_samples/asp/replaceall.asp b/_samples/asp/replaceall.asp index 1337f60..bc4438b 100644 --- a/_samples/asp/replaceall.asp +++ b/_samples/asp/replaceall.asp @@ -10,7 +10,7 @@ %> @@ -58,7 +58,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for Internet - http://ckeditor.com

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

diff --git a/_samples/asp/sample_posteddata.asp b/_samples/asp/sample_posteddata.asp index 81e6e49..feb025a 100644 --- a/_samples/asp/sample_posteddata.asp +++ b/_samples/asp/sample_posteddata.asp @@ -2,7 +2,7 @@ <% Option Explicit %> @@ -39,7 +39,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for Internet - http://ckeditor.com

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

diff --git a/_samples/asp/standalone.asp b/_samples/asp/standalone.asp index 0f453e9..28d8118 100644 --- a/_samples/asp/standalone.asp +++ b/_samples/asp/standalone.asp @@ -10,7 +10,7 @@ %> @@ -64,7 +64,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for Internet - http://ckeditor.com

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

diff --git a/_samples/assets/_posteddata.php b/_samples/assets/_posteddata.php index 4d3e34e..ff77047 100644 --- a/_samples/assets/_posteddata.php +++ b/_samples/assets/_posteddata.php @@ -1,7 +1,7 @@ @@ -52,7 +52,7 @@ foreach ( $postArray as $sForm => $value ) CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/assets/output_xhtml.css b/_samples/assets/output_xhtml.css index 79ffb98..817e41d 100644 --- a/_samples/assets/output_xhtml.css +++ b/_samples/assets/output_xhtml.css @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. + * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.html or http://ckeditor.com/license * * Styles used by the XHTML 1.1 sample page (xhtml.html). diff --git a/_samples/autogrow.html b/_samples/autogrow.html index 5d159e3..59e3a98 100644 --- a/_samples/autogrow.html +++ b/_samples/autogrow.html @@ -1,6 +1,6 @@ @@ -100,7 +100,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/bbcode.html b/_samples/bbcode.html index 6dafd02..8a68c71 100644 --- a/_samples/bbcode.html +++ b/_samples/bbcode.html @@ -1,6 +1,6 @@ @@ -117,7 +117,7 @@ CKEDITOR.replace( 'editor1', CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/devtools.html b/_samples/devtools.html index 87a3a7f..361b881 100644 --- a/_samples/devtools.html +++ b/_samples/devtools.html @@ -1,6 +1,6 @@ @@ -86,7 +86,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/divreplace.html b/_samples/divreplace.html index 4568f52..9985fe2 100644 --- a/_samples/divreplace.html +++ b/_samples/divreplace.html @@ -1,6 +1,6 @@ @@ -146,7 +146,7 @@ function replaceDiv( div ) CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/enterkey.html b/_samples/enterkey.html index e6e6c8f..9b2015b 100644 --- a/_samples/enterkey.html +++ b/_samples/enterkey.html @@ -1,6 +1,6 @@ @@ -107,7 +107,7 @@ window.onload = changeEnter; CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/fullpage.html b/_samples/fullpage.html index 0b0070e..7f24f02 100644 --- a/_samples/fullpage.html +++ b/_samples/fullpage.html @@ -1,6 +1,6 @@ @@ -74,7 +74,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/index.html b/_samples/index.html index dabc9af..f35d8be 100644 --- a/_samples/index.html +++ b/_samples/index.html @@ -1,6 +1,6 @@ @@ -109,7 +109,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/jqueryadapter.html b/_samples/jqueryadapter.html index 2772878..37001af 100644 --- a/_samples/jqueryadapter.html +++ b/_samples/jqueryadapter.html @@ -1,6 +1,6 @@ @@ -91,7 +91,7 @@ $(function() CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/output_for_flash.html b/_samples/output_for_flash.html index 5dc63a4..91b10b5 100644 --- a/_samples/output_for_flash.html +++ b/_samples/output_for_flash.html @@ -1,6 +1,6 @@ @@ -267,7 +267,7 @@ function configureFlashOutput( ev ) CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/output_html.html b/_samples/output_html.html index ad63716..8d833d4 100644 --- a/_samples/output_html.html +++ b/_samples/output_html.html @@ -1,6 +1,6 @@ @@ -277,7 +277,7 @@ function convertRGBToHex( cssStyle ) CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/output_xhtml.html b/_samples/output_xhtml.html index 2fcd5b2..ba66a48 100644 --- a/_samples/output_xhtml.html +++ b/_samples/output_xhtml.html @@ -1,6 +1,6 @@ @@ -94,7 +94,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license font_style : { element : 'span', - attributes : { 'class' : '#(family)' } + attributes : { 'class' : '#(family)' }, + overrides : [ { element : 'span', attributes : { 'class' : /^Font(?:Comic|Courier|Times)$/ } } ] }, /* @@ -104,7 +105,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license fontSize_style : { element : 'span', - attributes : { 'class' : '#(size)' } + attributes : { 'class' : '#(size)' }, + overrides : [ { element : 'span', attributes : { 'class' : /^Font(?:Smaller|Larger|Small|Big|Double)$/ } } ] } , /* @@ -116,13 +118,15 @@ For licensing, see LICENSE.html or http://ckeditor.com/license colorButton_foreStyle : { element : 'span', - attributes : { 'class' : '#(color)' } + attributes : { 'class' : '#(color)' }, + overrides : [ { element : 'span', attributes : { 'class' : /^FontColor(?:1|2|3)$/ } } ] }, colorButton_backStyle : { element : 'span', - attributes : { 'class' : '#(color)BG' } + attributes : { 'class' : '#(color)BG' }, + overrides : [ { element : 'span', attributes : { 'class' : /^FontColor(?:1|2|3)BG$/ } } ] }, /* @@ -169,7 +173,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/php/advanced.php b/_samples/php/advanced.php index 1d62ce5..74b87dd 100644 --- a/_samples/php/advanced.php +++ b/_samples/php/advanced.php @@ -1,6 +1,6 @@ @@ -112,7 +112,7 @@ echo $CKEditor->editor("editor2", $initialValue, $config); CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/php/events.php b/_samples/php/events.php index a625192..de09c56 100644 --- a/_samples/php/events.php +++ b/_samples/php/events.php @@ -1,6 +1,6 @@ @@ -145,7 +145,7 @@ $CKEditor->editor("editor2", $initialValue, $config, $events); CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/php/index.html b/_samples/php/index.html index b26792d..d5428e6 100644 --- a/_samples/php/index.html +++ b/_samples/php/index.html @@ -1,6 +1,6 @@ @@ -40,7 +40,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/php/replace.php b/_samples/php/replace.php index d22dcb7..36f877b 100644 --- a/_samples/php/replace.php +++ b/_samples/php/replace.php @@ -1,6 +1,6 @@ @@ -67,7 +67,7 @@ $CKEditor->replace("textarea_id"); CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/php/replaceall.php b/_samples/php/replaceall.php index 4415fbd..882a44c 100644 --- a/_samples/php/replaceall.php +++ b/_samples/php/replaceall.php @@ -1,6 +1,6 @@ @@ -68,7 +68,7 @@ $CKEditor->replaceAll(); CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/php/standalone.php b/_samples/php/standalone.php index cb8d2de..586e0c8 100644 --- a/_samples/php/standalone.php +++ b/_samples/php/standalone.php @@ -1,6 +1,6 @@ @@ -75,7 +75,7 @@ $CKEditor->editor("textarea_id", "This is some sample text"); CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/placeholder.html b/_samples/placeholder.html index 015e01b..d6acead 100644 --- a/_samples/placeholder.html +++ b/_samples/placeholder.html @@ -1,6 +1,6 @@ @@ -73,7 +73,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/readonly.html b/_samples/readonly.html index 8b6c3a8..83cf314 100644 --- a/_samples/readonly.html +++ b/_samples/readonly.html @@ -1,6 +1,6 @@ @@ -83,7 +83,7 @@ function toggleReadOnly( isReadOnly ) CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/replacebyclass.html b/_samples/replacebyclass.html index 117640f..645e0e0 100644 --- a/_samples/replacebyclass.html +++ b/_samples/replacebyclass.html @@ -1,6 +1,6 @@ @@ -56,7 +56,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/replacebycode.html b/_samples/replacebycode.html index beb779e..fc0bb8c 100644 --- a/_samples/replacebycode.html +++ b/_samples/replacebycode.html @@ -1,6 +1,6 @@ @@ -89,7 +89,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/sample.css b/_samples/sample.css index a9a57ee..49ae386 100644 --- a/_samples/sample.css +++ b/_samples/sample.css @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_samples/sample.js b/_samples/sample.js index 9e0b411..d80646e 100644 --- a/_samples/sample.js +++ b/_samples/sample.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_samples/sample_posteddata.php b/_samples/sample_posteddata.php index 71cdd84..ebefa0d 100644 --- a/_samples/sample_posteddata.php +++ b/_samples/sample_posteddata.php @@ -11,7 +11,7 @@ side and write it to a file or a database. - Copyright 2003-2011, CKSource - Frederico Knabben. + Copyright 2003-2012, CKSource - Frederico Knabben. All rights reserved. ------------------------------------------------------------------------------------------- diff --git a/_samples/sharedspaces.html b/_samples/sharedspaces.html index 624b5fc..d514b1b 100644 --- a/_samples/sharedspaces.html +++ b/_samples/sharedspaces.html @@ -1,6 +1,6 @@ @@ -94,7 +94,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/skins.html b/_samples/skins.html index a9d7b6e..b73f8b9 100644 --- a/_samples/skins.html +++ b/_samples/skins.html @@ -1,6 +1,6 @@ @@ -102,7 +102,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/stylesheetparser.html b/_samples/stylesheetparser.html index a938802..a549f9e 100644 --- a/_samples/stylesheetparser.html +++ b/_samples/stylesheetparser.html @@ -1,6 +1,6 @@ @@ -85,7 +85,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/tableresize.html b/_samples/tableresize.html index 0bb3919..f337882 100644 --- a/_samples/tableresize.html +++ b/_samples/tableresize.html @@ -1,6 +1,6 @@ @@ -107,7 +107,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/ui_color.html b/_samples/ui_color.html index 78e0104..a93b730 100644 --- a/_samples/ui_color.html +++ b/_samples/ui_color.html @@ -1,6 +1,6 @@ @@ -121,7 +121,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_samples/ui_languages.html b/_samples/ui_languages.html index 0832a9a..9fe56ef 100644 --- a/_samples/ui_languages.html +++ b/_samples/ui_languages.html @@ -1,6 +1,6 @@ @@ -126,7 +126,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor - The text editor for the Internet - http://ckeditor.com

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

diff --git a/_source/adapters/jquery.js b/_source/adapters/jquery.js index 1b0a994..d958426 100644 --- a/_source/adapters/jquery.js +++ b/_source/adapters/jquery.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/_bootstrap.js b/_source/core/_bootstrap.js index 1fa5f5e..c2a0cf7 100644 --- a/_source/core/_bootstrap.js +++ b/_source/core/_bootstrap.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/ckeditor.js b/_source/core/ckeditor.js index 201c195..086a866 100644 --- a/_source/core/ckeditor.js +++ b/_source/core/ckeditor.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/ckeditor_base.js b/_source/core/ckeditor_base.js index 58e245f..d98218f 100644 --- a/_source/core/ckeditor_base.js +++ b/_source/core/ckeditor_base.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -12,7 +12,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Must be updated on changes in the script as well as updated in the // ckeditor_source.js and ckeditor_basic_source.js files. -// if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.6.2',rev:'7275',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f=0?'&':'?')+('t=')+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})(); +// if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.6.3',revision:'7474',rnd:Math.floor(Math.random()*900)+100,_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})(); // #### Raw code // ATTENTION: read the above "Compressed Code" notes when changing this code. @@ -51,7 +51,7 @@ if ( !window.CKEDITOR ) // The production implementation contains a fixed timestamp, unique // for each release and generated by the releaser. // (Base 36 value of each component of YYMMDDHH - 4 chars total - e.g. 87bm == 08071122) - timestamp : 'B8DJ5M3', + timestamp : 'C3HA5RM', /** * Contains the CKEditor version number. @@ -59,7 +59,7 @@ if ( !window.CKEDITOR ) * @example * alert( CKEDITOR.version ); // e.g. 'CKEditor 3.4.1' */ - version : '3.6.2', + version : '3.6.3', /** * Contains the CKEditor revision number. @@ -69,7 +69,15 @@ if ( !window.CKEDITOR ) * @example * alert( CKEDITOR.revision ); // e.g. '3975' */ - revision : '7275', + revision : '7474', + + /** + * A 3-digit random integer, valid for the entire life of the CKEDITOR object. + * @type Number + * @example + * alert( CKEDITOR.rnd ); // e.g. '319' + */ + rnd : Math.floor( Math.random() * ( 999/*Max*/ - 100/*Min*/ + 1 ) ) + 100/*Min*/, /** * Private object used to hold core stuff. It should not be used outside of diff --git a/_source/core/ckeditor_basic.js b/_source/core/ckeditor_basic.js index be06db8..6a2322f 100644 --- a/_source/core/ckeditor_basic.js +++ b/_source/core/ckeditor_basic.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/command.js b/_source/core/command.js index c0868f0..d58c684 100644 --- a/_source/core/command.js +++ b/_source/core/command.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -49,9 +49,25 @@ CKEDITOR.command = function( editor, commandDefinition ) if ( this.editorFocus ) // Give editor focus if necessary (#4355). editor.focus(); + if ( this.fire( 'exec' ) === true ) + return true; + return ( commandDefinition.exec.call( this, editor, data ) !== false ); }; + /** + * Explicitly update the status of the command, by firing the {@link CKEDITOR.command#event:refresh} event, + * as well as invoke the {@link CKEDITOR.commandDefinition.prototype.refresh} method if defined, this method + * is to allow different parts of the editor code to contribute in command status resolution. + */ + this.refresh = function() + { + if ( this.fire( 'refresh' ) === true ) + return true; + + return ( commandDefinition.refresh && commandDefinition.refresh.apply( this, arguments ) !== false ); + }; + CKEDITOR.tools.extend( this, commandDefinition, // Defaults /** @lends CKEDITOR.command.prototype */ diff --git a/_source/core/commanddefinition.js b/_source/core/commanddefinition.js index de078ca..15e8118 100644 --- a/_source/core/commanddefinition.js +++ b/_source/core/commanddefinition.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/config.js b/_source/core/config.js index db77f76..962f33b 100644 --- a/_source/core/config.js +++ b/_source/core/config.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -256,15 +256,18 @@ CKEDITOR.config = fullPage : false, /** - * The height of the editing area (that includes the editor content), - * in relative or absolute units, e.g. 30px, 5em. - * Note: Percentage units, like 30%, are not supported yet. + * The height of the editing area (that includes the editor content). This + * can be an integer, for pixel sizes, or any CSS-defined length unit.
+ *
+ * Note: Percent units (%) are not supported. * @type Number|String - * @default '200' + * @default 200 * @example - * config.height = 500; - * config.height = '25em'; - * config.height = '300px'; + * config.height = 500; // 500 pixels. + * @example + * config.height = '25em'; // CSS length. + * @example + * config.height = '300px'; // CSS length. */ height : 200, @@ -400,13 +403,18 @@ CKEDITOR.config = skin : 'kama', /** - * The editor width in CSS-defined units or an integer denoting a value in pixels. + * The editor UI outer width. This can be an integer, for pixel sizes, or + * any CSS-defined unit.
+ *
+ * Unlike the {@link CKEDITOR.config.height} setting, this + * one will set the outer width of the entire editor UI, not for the + * editing area only. * @type String|Number * @default '' (empty) * @example - * config.width = 850; + * config.width = 850; // 850 pixels wide. * @example - * config.width = '75%'; + * config.width = '75%'; // CSS unit. */ width : '', diff --git a/_source/core/dataprocessor.js b/_source/core/dataprocessor.js index e8677ed..6efe5a4 100644 --- a/_source/core/dataprocessor.js +++ b/_source/core/dataprocessor.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/dom.js b/_source/core/dom.js index 06c5ae7..54832d8 100644 --- a/_source/core/dom.js +++ b/_source/core/dom.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/dom/comment.js b/_source/core/dom/comment.js index 4c580da..05c13cf 100644 --- a/_source/core/dom/comment.js +++ b/_source/core/dom/comment.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -8,19 +8,32 @@ For licensing, see LICENSE.html or http://ckeditor.com/license * a DOM comment node. */ -CKEDITOR.dom.comment = CKEDITOR.tools.createClass( +/** + * Represents a DOM comment node. + * @constructor + * @augments CKEDITOR.dom.node + * @param {Object|String} comment A native DOM comment node or a string containing + * the text to use to create a new comment node. + * @param {CKEDITOR.dom.document} [ownerDocument] The document that will contain + * the node in case of new node creation. Defaults to the current document. + * @example + * var nativeNode = document.createComment( 'Example' ); + * var comment = CKEDITOR.dom.comment( nativeNode ); + * @example + * var comment = CKEDITOR.dom.comment( 'Example' ); + */ +CKEDITOR.dom.comment = function( comment, ownerDocument ) { - base : CKEDITOR.dom.node, + if ( typeof comment == 'string' ) + comment = ( ownerDocument ? ownerDocument.$ : document ).createComment( comment ); - $ : function( text, ownerDocument ) - { - if ( typeof text == 'string' ) - text = ( ownerDocument ? ownerDocument.$ : document ).createComment( text ); + CKEDITOR.dom.domObject.call( this, comment ); +}; - this.base( text ); - }, +CKEDITOR.dom.comment.prototype = new CKEDITOR.dom.node(); - proto : +CKEDITOR.tools.extend( CKEDITOR.dom.comment.prototype, + /** @lends CKEDITOR.dom.comment.prototype */ { type : CKEDITOR.NODE_COMMENT, @@ -28,5 +41,4 @@ CKEDITOR.dom.comment = CKEDITOR.tools.createClass( { return ''; } - } -}); + }); diff --git a/_source/core/dom/document.js b/_source/core/dom/document.js index 8880de8..0b42118 100644 --- a/_source/core/dom/document.js +++ b/_source/core/dom/document.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/dom/documentfragment.js b/_source/core/dom/documentfragment.js index 6152031..c08c640 100644 --- a/_source/core/dom/documentfragment.js +++ b/_source/core/dom/documentfragment.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/dom/domobject.js b/_source/core/dom/domobject.js index d37790f..e342dc8 100644 --- a/_source/core/dom/domobject.js +++ b/_source/core/dom/domobject.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -84,10 +84,10 @@ CKEDITOR.dom.domObject.prototype = (function() { var listener = nativeListeners[ eventName ] = getNativeListener( this, eventName ); - if ( this.$.attachEvent ) - this.$.attachEvent( 'on' + eventName, listener ); - else if ( this.$.addEventListener ) + if ( this.$.addEventListener ) this.$.addEventListener( eventName, listener, !!CKEDITOR.event.useCapture ); + else if ( this.$.attachEvent ) + this.$.attachEvent( 'on' + eventName, listener ); } // Call the original implementation. @@ -107,10 +107,10 @@ CKEDITOR.dom.domObject.prototype = (function() var listener = nativeListeners && nativeListeners[ eventName ]; if ( listener ) { - if ( this.$.detachEvent ) - this.$.detachEvent( 'on' + eventName, listener ); - else if ( this.$.removeEventListener ) + if ( this.$.removeEventListener ) this.$.removeEventListener( eventName, listener, false ); + else if ( this.$.detachEvent ) + this.$.detachEvent( 'on' + eventName, listener ); delete nativeListeners[ eventName ]; } diff --git a/_source/core/dom/element.js b/_source/core/dom/element.js index 7adb189..c83674a 100644 --- a/_source/core/dom/element.js +++ b/_source/core/dom/element.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -580,7 +580,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, * in the future. * @returns {String} The text value. * @example - * var element = CKEDITOR.dom.element.createFromHtml( '<div>Same <i>text</i>.</div>' ); + * var element = CKEDITOR.dom.element.createFromHtml( '<div>Sample <i>text</i>.</div>' ); * alert( element.getText() ); // "Sample text." */ getText : function() @@ -730,6 +730,7 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, if ( this.isReadOnly() || this.getComputedStyle( 'display' ) == 'none' || this.getComputedStyle( 'visibility' ) == 'hidden' + || this.is( 'a' ) && this.data( 'cke-saved-name' ) && !this.getChildCount() || CKEDITOR.dtd.$nonEditable[ name ] ) { return false; @@ -1261,12 +1262,13 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, if ( CKEDITOR.env.ie || CKEDITOR.env.opera ) { var element = this.$, + elements = element.getElementsByTagName("*"), e, i = 0; element.unselectable = 'on'; - while ( ( e = element.all[ i++ ] ) ) + while ( ( e = elements[ i++ ] ) ) { switch ( e.tagName.toLowerCase() ) { @@ -1396,40 +1398,143 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, return { x : x, y : y }; }, - scrollIntoView : function( alignTop ) + /** + * Make any page element visible inside the browser viewport. + * @param {Boolean} [alignToTop] + */ + scrollIntoView : function( alignToTop ) { - // Get the element window. - var win = this.getWindow(), - winHeight = win.getViewPaneSize().height; - - // Starts from the offset that will be scrolled with the negative value of - // the visible window height. - var offset = winHeight * -1; - - // Append the view pane's height if align to top. - // Append element height if we are aligning to the bottom. - if ( alignTop ) - offset += winHeight; - else + var parent = this.getParent(); + if ( !parent ) return; + + // Scroll the element into parent container from the inner out. + do { - offset += this.$.offsetHeight || 0; + // Check ancestors that overflows. + var overflowed = + parent.$.clientWidth && parent.$.clientWidth < parent.$.scrollWidth + || parent.$.clientHeight && parent.$.clientHeight < parent.$.scrollHeight; + + if ( overflowed ) + this.scrollIntoParent( parent, alignToTop, 1 ); + + // Walk across the frame. + if ( parent.is( 'html' ) ) + { + var win = parent.getWindow(); - // Consider the margin in the scroll, which is ok for our current needs, but - // needs investigation if we will be using this function in other places. - offset += parseInt( this.getComputedStyle( 'marginBottom' ) || 0, 10 ) || 0; + // Avoid security error. + try + { + var iframe = win.$.frameElement; + iframe && ( parent = new CKEDITOR.dom.element( iframe ) ); + } + catch(er){} + } } + while ( ( parent = parent.getParent() ) ); + }, - // Append the offsets for the entire element hierarchy. - var elementPosition = this.getDocumentPosition(); - offset += elementPosition.y; + /** + * Make any page element visible inside one of the ancestors by scrolling the parent. + * @param {CKEDITOR.dom.element|CKEDITOR.dom.window} parent The container to scroll into. + * @param {Boolean} [alignToTop] Align the element's top side with the container's + * when true is specified; align the bottom with viewport bottom when + * false is specified. Otherwise scroll on either side with the minimum + * amount to show the element. + * @param {Boolean} [hscroll] Whether horizontal overflow should be considered. + */ + scrollIntoParent : function( parent, alignToTop, hscroll ) + { + !parent && ( parent = this.getWindow() ); + + var doc = parent.getDocument(); + var isQuirks = doc.$.compatMode == 'BackCompat'; - // offset value might be out of range(nagative), fix it(#3692). - offset = offset < 0 ? 0 : offset; + // On window is scrolled while quirks scrolls . + if ( parent instanceof CKEDITOR.dom.window ) + parent = isQuirks ? doc.getBody() : doc.getDocumentElement(); + + // Scroll the parent by the specified amount. + function scrollBy( x, y ) + { + // Webkit doesn't support "scrollTop/scrollLeft" + // on documentElement/body element. + if ( /body|html/.test( parent.getName() ) ) + parent.getWindow().$.scrollBy( x, y ); + else + { + parent.$[ 'scrollLeft' ] += x; + parent.$[ 'scrollTop' ] += y; + } + } + + // Figure out the element position relative to the specified window. + function screenPos( element, refWin ) + { + var pos = { x: 0, y: 0 }; + + if ( !( element.is( isQuirks ? 'body' : 'html' ) ) ) + { + var box = element.$.getBoundingClientRect(); + pos.x = box.left, pos.y = box.top; + } + + var win = element.getWindow(); + if ( !win.equals( refWin ) ) + { + var outerPos = screenPos( CKEDITOR.dom.element.get( win.$.frameElement ), refWin ); + pos.x += outerPos.x, pos.y += outerPos.y; + } + + return pos; + } + + // calculated margin size. + function margin( element, side ) + { + return parseInt( element.getComputedStyle( 'margin-' + side ) || 0, 10 ) || 0; + } + + var win = parent.getWindow(); + + var thisPos = screenPos( this, win ), + parentPos = screenPos( parent, win ), + eh = this.$.offsetHeight, + ew = this.$.offsetWidth, + ch = parent.$.clientHeight, + cw = parent.$.clientWidth, + lt, + br; + + // Left-top margins. + lt = + { + x : thisPos.x - margin( this, 'left' ) - parentPos.x || 0, + y : thisPos.y - margin( this, 'top' ) - parentPos.y|| 0 + }; + + // Bottom-right margins. + br = + { + x : thisPos.x + ew + margin( this, 'right' ) - ( ( parentPos.x ) + cw ) || 0, + y : thisPos.y + eh + margin( this, 'bottom' ) - ( ( parentPos.y ) + ch ) || 0 + }; + + // 1. Do the specified alignment as much as possible; + // 2. Otherwise be smart to scroll only the minimum amount; + // 3. Never cut at the top; + // 4. DO NOT scroll when already visible. + if ( lt.y < 0 || br.y > 0 ) + { + scrollBy( 0, + alignToTop === true ? lt.y : + alignToTop === false ? br.y : + lt.y < 0 ? lt.y : br.y ); + } - // Scroll the window to the desired position, if not already visible(#3795). - var currentScroll = win.getScrollPosition().y; - if ( offset > currentScroll || offset < currentScroll - winHeight ) - win.$.scrollTo( 0, offset ); + if ( hscroll && ( lt.x < 0 || br.x > 0 ) ) + scrollBy( lt.x < 0 ? lt.x : br.x, 0 ); }, setState : function( state ) diff --git a/_source/core/dom/elementpath.js b/_source/core/dom/elementpath.js index 6dcd4d4..caf4d38 100644 --- a/_source/core/dom/elementpath.js +++ b/_source/core/dom/elementpath.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -46,8 +46,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license this.lastElement = e; var elementName = e.getName(); - if ( CKEDITOR.env.ie && e.$.scopeName != 'HTML' ) - elementName = e.$.scopeName.toLowerCase() + ':' + elementName; if ( !blockLimit ) { diff --git a/_source/core/dom/event.js b/_source/core/dom/event.js index 618a110..c63469c 100644 --- a/_source/core/dom/event.js +++ b/_source/core/dom/event.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/dom/node.js b/_source/core/dom/node.js index 6a4cbde..90412e4 100644 --- a/_source/core/dom/node.js +++ b/_source/core/dom/node.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -23,21 +23,13 @@ CKEDITOR.dom.node = function( domNode ) { if ( domNode ) { - switch ( domNode.nodeType ) - { - // Safari don't consider document as element node type. (#3389) - case CKEDITOR.NODE_DOCUMENT : - return new CKEDITOR.dom.document( domNode ); - - case CKEDITOR.NODE_ELEMENT : - return new CKEDITOR.dom.element( domNode ); + var type = domNode.nodeType == CKEDITOR.NODE_DOCUMENT ? 'document' + : domNode.nodeType == CKEDITOR.NODE_ELEMENT ? 'element' + : domNode.nodeType == CKEDITOR.NODE_TEXT ? 'text' + : domNode.nodeType == CKEDITOR.NODE_COMMENT ? 'comment' + : 'domObject'; // Call the base constructor otherwise. - case CKEDITOR.NODE_TEXT : - return new CKEDITOR.dom.text( domNode ); - } - - // Call the base constructor. - CKEDITOR.dom.domObject.call( this, domNode ); + return new CKEDITOR.dom[ type ]( domNode ); } return this; @@ -352,7 +344,10 @@ CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype, do { previous = previous.previousSibling; - retval = previous && new CKEDITOR.dom.node( previous ); + + // Avoid returning the doc type node. + // http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-412266927 + retval = previous && previous.nodeType != 10 && new CKEDITOR.dom.node( previous ); } while ( retval && evaluator && !evaluator( retval ) ) return retval; diff --git a/_source/core/dom/nodelist.js b/_source/core/dom/nodelist.js index 42efafc..6c394dc 100644 --- a/_source/core/dom/nodelist.js +++ b/_source/core/dom/nodelist.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/dom/range.js b/_source/core/dom/range.js index 67759c8..30a78c4 100644 --- a/_source/core/dom/range.js +++ b/_source/core/dom/range.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -380,16 +380,23 @@ CKEDITOR.dom.range = function( document ) }; } + + var isBogus = CKEDITOR.dom.walker.bogus(); // Evaluator for CKEDITOR.dom.element::checkBoundaryOfElement, reject any // text node and non-empty elements unless it's being bookmark text. - function elementBoundaryEval( node ) + function elementBoundaryEval( checkStart ) { - // Reject any text node unless it's being bookmark - // OR it's spaces. (#3883) - return node.type != CKEDITOR.NODE_TEXT - && node.getName() in CKEDITOR.dtd.$removeEmpty - || !CKEDITOR.tools.trim( node.getText() ) - || !!node.getParent().data( 'cke-bookmark' ); + return function( node ) + { + // Tolerant bogus br when checking at the end of block. + // Reject any text node unless it's being bookmark + // OR it's spaces. + // Reject any element unless it's being invisible empty. (#3883) + return !checkStart && isBogus( node ) || + ( node.type == CKEDITOR.NODE_TEXT ? + !CKEDITOR.tools.trim( node.getText() ) || !!node.getParent().data( 'cke-bookmark' ) + : node.getName() in CKEDITOR.dtd.$removeEmpty ); + }; } var whitespaceEval = new CKEDITOR.dom.walker.whitespaces(), @@ -1014,7 +1021,12 @@ CKEDITOR.dom.range = function( document ) // whitespaces at the end. isWhiteSpace = false; - if ( sibling.type == CKEDITOR.NODE_TEXT ) + if ( sibling.type == CKEDITOR.NODE_COMMENT ) + { + sibling = sibling.getPrevious(); + continue; + } + else if ( sibling.type == CKEDITOR.NODE_TEXT ) { siblingText = sibling.getText(); @@ -1044,7 +1056,7 @@ CKEDITOR.dom.range = function( document ) sibling = null; else { - var allChildren = sibling.$.all || sibling.$.getElementsByTagName( '*' ); + var allChildren = sibling.$.getElementsByTagName( '*' ); for ( var i = 0, child ; child = allChildren[ i++ ] ; ) { if ( !CKEDITOR.dtd.$removeEmpty[ child.nodeName.toLowerCase() ] ) @@ -1183,7 +1195,7 @@ CKEDITOR.dom.range = function( document ) isWhiteSpace = /^[\s\ufeff]/.test( siblingText ); } - else + else if ( sibling.type == CKEDITOR.NODE_ELEMENT ) { // If this is a visible element. // We need to check for the bookmark attribute because IE insists on @@ -1204,7 +1216,7 @@ CKEDITOR.dom.range = function( document ) sibling = null; else { - allChildren = sibling.$.all || sibling.$.getElementsByTagName( '*' ); + allChildren = sibling.$.getElementsByTagName( '*' ); for ( i = 0 ; child = allChildren[ i++ ] ; ) { if ( !CKEDITOR.dtd.$removeEmpty[ child.nodeName.toLowerCase() ] ) @@ -1222,6 +1234,8 @@ CKEDITOR.dom.range = function( document ) sibling = null; } } + else + isWhiteSpace = 1; if ( isWhiteSpace ) { @@ -1793,7 +1807,7 @@ CKEDITOR.dom.range = function( document ) // Create the walker, which will check if we have anything useful // in the range. var walker = new CKEDITOR.dom.walker( walkerRange ); - walker.evaluator = elementBoundaryEval; + walker.evaluator = elementBoundaryEval( checkStart ); return walker[ checkStart ? 'checkBackward' : 'checkForward' ](); }, diff --git a/_source/core/dom/rangelist.js b/_source/core/dom/rangelist.js index 2685506..2e5a1b2 100644 --- a/_source/core/dom/rangelist.js +++ b/_source/core/dom/rangelist.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/dom/text.js b/_source/core/dom/text.js index 4abf8fc..dfb46d5 100644 --- a/_source/core/dom/text.js +++ b/_source/core/dom/text.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/dom/walker.js b/_source/core/dom/walker.js index 7f430b8..3d19425 100644 --- a/_source/core/dom/walker.js +++ b/_source/core/dom/walker.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -8,40 +8,50 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // This function is to be called under a "walker" instance scope. function iterate( rtl, breakOnFalse ) { + var range = this.range; + // Return null if we have reached the end. if ( this._.end ) return null; - var node, - range = this.range, - guard, - userGuard = this.guard, - type = this.type, - getSourceNodeFn = ( rtl ? 'getPreviousSourceNode' : 'getNextSourceNode' ); - // This is the first call. Initialize it. if ( !this._.start ) { this._.start = 1; - // Trim text nodes and optmize the range boundaries. DOM changes - // may happen at this point. - range.trim(); - // A collapsed range must return null at first call. if ( range.collapsed ) { this.end(); return null; } + + // Move outside of text node edges. + range.optimize(); } + var node, + startCt = range.startContainer, + endCt = range.endContainer, + startOffset = range.startOffset, + endOffset = range.endOffset, + guard, + userGuard = this.guard, + type = this.type, + getSourceNodeFn = ( rtl ? 'getPreviousSourceNode' : 'getNextSourceNode' ); + // Create the LTR guard function, if necessary. if ( !rtl && !this._.guardLTR ) { - // Gets the node that stops the walker when going LTR. - var limitLTR = range.endContainer, - blockerLTR = limitLTR.getChild( range.endOffset ); + // The node that stops walker from moving up. + var limitLTR = endCt.type == CKEDITOR.NODE_ELEMENT ? + endCt : + endCt.getParent(); + + // The node that stops the walker from going to next. + var blockerLTR = endCt.type == CKEDITOR.NODE_ELEMENT ? + endCt.getChild( endOffset ) : + endCt.getNext(); this._.guardLTR = function( node, movingOut ) { @@ -54,9 +64,16 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Create the RTL guard function, if necessary. if ( rtl && !this._.guardRTL ) { - // Gets the node that stops the walker when going LTR. - var limitRTL = range.startContainer, - blockerRTL = ( range.startOffset > 0 ) && limitRTL.getChild( range.startOffset - 1 ); + // The node that stops walker from moving up. + var limitRTL = startCt.type == CKEDITOR.NODE_ELEMENT ? + startCt : + startCt.getParent(); + + // The node that stops the walker from going to next. + var blockerRTL = startCt.type == CKEDITOR.NODE_ELEMENT ? + startOffset ? + startCt.getChild( startOffset - 1 ) : null : + startCt.getPrevious(); this._.guardRTL = function( node, movingOut ) { @@ -89,35 +106,33 @@ For licensing, see LICENSE.html or http://ckeditor.com/license else { // Get the first node to be returned. - if ( rtl ) { - node = range.endContainer; + node = endCt; - if ( range.endOffset > 0 ) + if ( node.type == CKEDITOR.NODE_ELEMENT ) { - node = node.getChild( range.endOffset - 1 ); - if ( guard( node ) === false ) - node = null; + if ( endOffset > 0 ) + node = node.getChild( endOffset - 1 ); + else + node = ( guard ( node, true ) === false ) ? + null : node.getPreviousSourceNode( true, type, guard ); } - else - node = ( guard ( node, true ) === false ) ? - null : node.getPreviousSourceNode( true, type, guard ); } else { - node = range.startContainer; - node = node.getChild( range.startOffset ); + node = startCt; - if ( node ) + if ( node.type == CKEDITOR.NODE_ELEMENT ) { - if ( guard( node ) === false ) - node = null; + if ( ! ( node = node.getChild( startOffset ) ) ) + node = ( guard ( startCt, true ) === false ) ? + null : startCt.getNextSourceNode( true, type, guard ) ; } - else - node = ( guard ( range.startContainer, true ) === false ) ? - null : range.startContainer.getNextSourceNode( true, type, guard ) ; } + + if ( node && guard( node ) === false ) + node = null; } while ( node && !this._.end ) @@ -431,6 +446,25 @@ For licensing, see LICENSE.html or http://ckeditor.com/license }; }; + CKEDITOR.dom.walker.bogus = function( type, isReject ) + { + function nonEmpty( node ) + { + return !isWhitespaces( node ) && !isBookmark( node ); + } + + return function( node ) + { + var parent = node.getParent(), + isBogus = !CKEDITOR.env.ie ? node.is && node.is( 'br' ) : + node.getText && tailNbspRegex.test( node.getText() ); + + isBogus = isBogus && parent.isBlockBoundary() && !!parent.getLast( nonEmpty ); + + return !! ( isReject ^ isBogus ); + }; + }; + var tailNbspRegex = /^[\t\r\n ]*(?: |\xa0)$/, isWhitespaces = CKEDITOR.dom.walker.whitespaces(), isBookmark = CKEDITOR.dom.walker.bookmark(), diff --git a/_source/core/dom/window.js b/_source/core/dom/window.js index c5492b6..755b658 100644 --- a/_source/core/dom/window.js +++ b/_source/core/dom/window.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/dtd.js b/_source/core/dtd.js index 51293a0..6636dca 100644 --- a/_source/core/dtd.js +++ b/_source/core/dtd.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/editor.js b/_source/core/editor.js index ff17efb..20e5d7c 100644 --- a/_source/core/editor.js +++ b/_source/core/editor.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/editor_basic.js b/_source/core/editor_basic.js index 8d109c8..da7ef1f 100644 --- a/_source/core/editor_basic.js +++ b/_source/core/editor_basic.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/env.js b/_source/core/env.js index 61df909..e803371 100644 --- a/_source/core/env.js +++ b/_source/core/env.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/event.js b/_source/core/event.js index fa19060..7b2b557 100644 --- a/_source/core/event.js +++ b/_source/core/event.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/eventInfo.js b/_source/core/eventInfo.js index 0f313e8..910f365 100644 --- a/_source/core/eventInfo.js +++ b/_source/core/eventInfo.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/focusmanager.js b/_source/core/focusmanager.js index e59900d..812bc9b 100644 --- a/_source/core/focusmanager.js +++ b/_source/core/focusmanager.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/htmlparser.js b/_source/core/htmlparser.js index 45808e3..b652c6f 100644 --- a/_source/core/htmlparser.js +++ b/_source/core/htmlparser.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/htmlparser/basicwriter.js b/_source/core/htmlparser/basicwriter.js index 010ae74..6334e8f 100644 --- a/_source/core/htmlparser/basicwriter.js +++ b/_source/core/htmlparser/basicwriter.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/htmlparser/cdata.js b/_source/core/htmlparser/cdata.js index 422f603..f8eb01c 100644 --- a/_source/core/htmlparser/cdata.js +++ b/_source/core/htmlparser/cdata.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/htmlparser/comment.js b/_source/core/htmlparser/comment.js index a55b489..0cc5419 100644 --- a/_source/core/htmlparser/comment.js +++ b/_source/core/htmlparser/comment.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/htmlparser/element.js b/_source/core/htmlparser/element.js index b1d5547..4c17265 100644 --- a/_source/core/htmlparser/element.js +++ b/_source/core/htmlparser/element.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/htmlparser/filter.js b/_source/core/htmlparser/filter.js index a1f16e2..e4df361 100644 --- a/_source/core/htmlparser/filter.js +++ b/_source/core/htmlparser/filter.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/htmlparser/fragment.js b/_source/core/htmlparser/fragment.js index f69f7cd..a80fd1d 100644 --- a/_source/core/htmlparser/fragment.js +++ b/_source/core/htmlparser/fragment.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -194,6 +194,13 @@ CKEDITOR.htmlParser.fragment = function() target.add( element ); + if ( element.name == 'pre' ) + inPre = false; + + if ( element.name == 'textarea' ) + inTextarea = false; + + if ( element.returnPoint ) { currentNode = element.returnPoint; @@ -360,12 +367,6 @@ CKEDITOR.htmlParser.fragment = function() currentNode = candidate; - if ( currentNode.name == 'pre' ) - inPre = false; - - if ( currentNode.name == 'textarea' ) - inTextarea = false; - if ( candidate._.isBlockLike ) sendPendingBRs(); @@ -394,6 +395,24 @@ CKEDITOR.htmlParser.fragment = function() return; } + var currentName = currentNode.name, + currentDtd = currentName ? ( CKEDITOR.dtd[ currentName ] + || ( currentNode._.isBlockLike ? + CKEDITOR.dtd.div : CKEDITOR.dtd.span ) ) : rootDtd; + + // Fix orphan text in list/table. (#8540) (#8870) + if ( !inTextarea && + !currentDtd [ '#' ] && + currentName in nonBreakingBlocks ) + { + parser.onTagOpen( currentName in listBlocks ? 'li' : + currentName == 'dl' ? 'dd' : + currentName == 'table' ? 'tr' : + currentName == 'tr' ? 'td' : '' ); + parser.onText( text ); + return; + } + sendPendingBRs(); checkPending(); diff --git a/_source/core/htmlparser/text.js b/_source/core/htmlparser/text.js index 227e1c4..4bf5fd6 100644 --- a/_source/core/htmlparser/text.js +++ b/_source/core/htmlparser/text.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/lang.js b/_source/core/lang.js index 8c7f522..e75909f 100644 --- a/_source/core/lang.js +++ b/_source/core/lang.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/loader.js b/_source/core/loader.js index bf8d97c..bdddc22 100644 --- a/_source/core/loader.js +++ b/_source/core/loader.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -105,7 +105,7 @@ if ( !CKEDITOR.loader ) return path; })(); - var timestamp = 'B8DJ5M3'; + var timestamp = 'C3HA5RM'; var getUrl = function( resource ) { diff --git a/_source/core/plugindefinition.js b/_source/core/plugindefinition.js index d9dc526..f2cb536 100644 --- a/_source/core/plugindefinition.js +++ b/_source/core/plugindefinition.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/plugins.js b/_source/core/plugins.js index 9a55980..0bbe53f 100644 --- a/_source/core/plugins.js +++ b/_source/core/plugins.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/resourcemanager.js b/_source/core/resourcemanager.js index 4dab1d7..53ffba2 100644 --- a/_source/core/resourcemanager.js +++ b/_source/core/resourcemanager.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/scriptloader.js b/_source/core/scriptloader.js index c2df992..3640fcd 100644 --- a/_source/core/scriptloader.js +++ b/_source/core/scriptloader.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/skins.js b/_source/core/skins.js index c23dcf2..f91d45c 100644 --- a/_source/core/skins.js +++ b/_source/core/skins.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/themes.js b/_source/core/themes.js index d412577..0ac8952 100644 --- a/_source/core/themes.js +++ b/_source/core/themes.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/tools.js b/_source/core/tools.js index 5d0573c..148c588 100644 --- a/_source/core/tools.js +++ b/_source/core/tools.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/core/ui.js b/_source/core/ui.js index b569d8a..085815c 100644 --- a/_source/core/ui.js +++ b/_source/core/ui.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/_languages.js b/_source/lang/_languages.js index 179e8a3..bb882af 100644 --- a/_source/lang/_languages.js +++ b/_source/lang/_languages.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/_translationstatus.txt b/_source/lang/_translationstatus.txt index 894ceb2..1dc3a26 100644 --- a/_source/lang/_translationstatus.txt +++ b/_source/lang/_translationstatus.txt @@ -1,51 +1,52 @@ -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license af.js Found: 549 Missing: 27 -ar.js Found: 467 Missing: 109 -bg.js Found: 291 Missing: 285 +ar.js Found: 470 Missing: 106 +bg.js Found: 394 Missing: 182 bn.js Found: 292 Missing: 284 bs.js Found: 175 Missing: 401 ca.js Found: 550 Missing: 26 -cs.js Found: 550 Missing: 26 -cy.js Found: 573 Missing: 3 -da.js Found: 417 Missing: 159 +cs.js Found: 576 Missing: 0 +cy.js Found: 576 Missing: 0 +da.js Found: 576 Missing: 0 de.js Found: 576 Missing: 0 -el.js Found: 306 Missing: 270 -en-au.js Found: 345 Missing: 231 +el.js Found: 329 Missing: 247 +en-au.js Found: 348 Missing: 228 en-ca.js Found: 345 Missing: 231 en-gb.js Found: 518 Missing: 58 -eo.js Found: 270 Missing: 306 +eo.js Found: 576 Missing: 0 es.js Found: 576 Missing: 0 -et.js Found: 575 Missing: 1 +et.js Found: 576 Missing: 0 eu.js Found: 417 Missing: 159 fa.js Found: 576 Missing: 0 fi.js Found: 576 Missing: 0 -fo.js Found: 551 Missing: 25 +fo.js Found: 576 Missing: 0 fr-ca.js Found: 319 Missing: 257 -fr.js Found: 551 Missing: 25 +fr.js Found: 576 Missing: 0 gl.js Found: 292 Missing: 284 -gu.js Found: 320 Missing: 256 +gu.js Found: 576 Missing: 0 he.js Found: 576 Missing: 0 -hi.js Found: 322 Missing: 254 -hr.js Found: 419 Missing: 157 +hi.js Found: 328 Missing: 248 +hr.js Found: 576 Missing: 0 hu.js Found: 573 Missing: 3 is.js Found: 326 Missing: 250 -it.js Found: 573 Missing: 3 +it.js Found: 576 Missing: 0 ja.js Found: 494 Missing: 82 ka.js Found: 569 Missing: 7 km.js Found: 286 Missing: 290 ko.js Found: 304 Missing: 272 lt.js Found: 576 Missing: 0 lv.js Found: 294 Missing: 282 +mk.js Found: 1 Missing: 575 mn.js Found: 320 Missing: 256 ms.js Found: 276 Missing: 300 -nb.js Found: 575 Missing: 1 +nb.js Found: 576 Missing: 0 nl.js Found: 576 Missing: 0 -no.js Found: 575 Missing: 1 +no.js Found: 576 Missing: 0 pl.js Found: 576 Missing: 0 pt-br.js Found: 576 Missing: 0 -pt.js Found: 293 Missing: 283 +pt.js Found: 326 Missing: 250 ro.js Found: 317 Missing: 259 ru.js Found: 576 Missing: 0 sk.js Found: 365 Missing: 211 @@ -54,8 +55,9 @@ sr-latn.js Found: 287 Missing: 289 sr.js Found: 286 Missing: 290 sv.js Found: 551 Missing: 25 th.js Found: 298 Missing: 278 -tr.js Found: 536 Missing: 40 -uk.js Found: 544 Missing: 32 -vi.js Found: 493 Missing: 83 +tr.js Found: 576 Missing: 0 +ug.js Found: 573 Missing: 3 +uk.js Found: 576 Missing: 0 +vi.js Found: 576 Missing: 0 zh-cn.js Found: 576 Missing: 0 -zh.js Found: 419 Missing: 157 +zh.js Found: 434 Missing: 142 diff --git a/_source/lang/af.js b/_source/lang/af.js index 34227fc..9493d70 100644 --- a/_source/lang/af.js +++ b/_source/lang/af.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/ar.js b/_source/lang/ar.js index cf31ea0..d3fe94b 100644 --- a/_source/lang/ar.js +++ b/_source/lang/ar.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -93,14 +93,14 @@ CKEDITOR.lang['ar'] = cssStyle : 'نمط', ok : 'موافق', cancel : 'إلغاء الأمر', - close : 'Close', // MISSING - preview : 'Preview', // MISSING + close : 'أغلق', + preview : 'استعراض', generalTab : 'عام', advancedTab : 'متقدم', validateNumberFailed : 'لايوجد نتيجة', confirmNewPage : 'ستفقد أي متغييرات اذا لم تقم بحفظها اولا. هل أنت متأكد أنك تريد صفحة جديدة؟', confirmCancel : 'بعض الخيارات قد تغيرت. هل أنت متأكد من إغلاق مربع النص؟', - options : 'Options', // MISSING + options : 'خيارات', target : 'Target', // MISSING targetNew : 'New Window (_blank)', // MISSING targetTop : 'Topmost Window (_top)', // MISSING diff --git a/_source/lang/bg.js b/_source/lang/bg.js index ec7479f..477051c 100644 --- a/_source/lang/bg.js +++ b/_source/lang/bg.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,96 +31,96 @@ CKEDITOR.lang['bg'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : 'Текстов редактор за форматиран текст, %1, натиснете ALT 0 за помощ.', // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Ленти с инструменти', + editor : 'Текстов редактор за форматиран текст', // Toolbar buttons without dialogs. - source : 'Код', + source : 'Източник', newPage : 'Нова страница', - save : 'Запази', - preview : 'Предварителен изглед', - cut : 'Изрежи', - copy : 'Запамети', + save : 'Запис', + preview : 'Преглед', + cut : 'Отрежи', + copy : 'Копирай', paste : 'Вмъкни', print : 'Печат', underline : 'Подчертан', bold : 'Удебелен', - italic : 'Курсив', - selectAll : 'Селектирай всичко', - removeFormat : 'Изтрий форматирането', - strike : 'Зачертан', - subscript : 'Индекс за база', - superscript : 'Индекс за степен', - horizontalrule : 'Вмъкни хоризонтална линия', - pagebreak : 'Вмъкни нов ред', - pagebreakAlt : 'Page Break', // MISSING - unlink : 'Изтрий връзка', - undo : 'Отмени', - redo : 'Повтори', + italic : 'Наклонен', + selectAll : 'Избери всичко', + removeFormat : 'Премахване на форматирането', + strike : 'Зачертан текст', + subscript : 'Индексиран текст', + superscript : 'Суперскрипт', + horizontalrule : 'Вмъкване на хоризонтална линия', + pagebreak : 'Вмъкване на нова страница при печат', + pagebreakAlt : 'Разделяне на страници', + unlink : 'Премахни връзката', + undo : 'Възтанови', + redo : 'Връщане на предишен статус', // Common messages and labels. common : { - browseServer : 'Разгледай сървъра', - url : 'Пълен път (URL)', + browseServer : 'Избор ор сървъра', + url : 'URL', protocol : 'Протокол', - upload : 'Качи', - uploadSubmit : 'Прати към сървъра', - image : 'Изображение', - flash : 'Flash', - form : 'Формуляр', - checkbox : 'Поле за отметка', - radio : 'Поле за опция', + upload : 'Качване', + uploadSubmit : 'Изпращане към сървъра', + image : 'Снимка', + flash : 'Флаш', + form : 'Форма', + checkbox : 'Поле за избор', + radio : 'Радио бутон', textField : 'Текстово поле', - textarea : 'Текстова област', + textarea : 'Текстова зона', hiddenField : 'Скрито поле', button : 'Бутон', - select : 'Падащо меню с опции', - imageButton : 'Бутон-изображение', - notSet : '<не е настроен>', - id : 'Идентификатор', + select : 'Поле за избор', + imageButton : 'Бутон за снимка', + notSet : '<не е избрано>', + id : 'ID', name : 'Име', - langDir : 'посока на речта', - langDirLtr : 'От ляво на дясно', - langDirRtl : 'От дясно на ляво', + langDir : 'Посока на езика', + langDirLtr : 'Ляво на дясно (ЛнД)', + langDirRtl : 'Дясно на ляво (ДнЛ)', langCode : 'Код на езика', - longDescr : 'Описание на връзката', - cssClass : 'Клас от стиловите таблици', - advisoryTitle : 'Препоръчително заглавие', + longDescr : 'Уеб адрес за дълго описание', + cssClass : 'Класове за CSS', + advisoryTitle : 'Advisory Title', // MISSING cssStyle : 'Стил', ok : 'ОК', cancel : 'Отказ', - close : 'Close', // MISSING - preview : 'Preview', // MISSING - generalTab : 'General', // MISSING - advancedTab : 'Подробности...', - validateNumberFailed : 'This value is not a number.', // MISSING + close : 'Затвори', + preview : 'Преглед', + generalTab : 'Общо', + advancedTab : 'Разширено', + validateNumberFailed : 'Тази стойност не е число', confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING - cssClasses : 'Stylesheet Classes', // MISSING + options : 'Опции', + target : 'Цел', + targetNew : 'Нов прозорец (_blank)', + targetTop : 'Горна позиция (_top)', + targetSelf : 'Текущия прозорец (_self)', + targetParent : 'Основен прозорец (_parent)', + langDirLTR : 'Ляво на дясно (ЛнД)', + langDirRTL : 'Дясно на ляво (ДнЛ)', + styles : 'Стил', + cssClasses : 'Класове за CSS', width : 'Ширина', height : 'Височина', align : 'Подравняване', alignLeft : 'Ляво', alignRight : 'Дясно', alignCenter : 'Център', - alignTop : 'Отгоре', + alignTop : 'Горе', alignMiddle : 'По средата', alignBottom : 'Долу', - invalidHeight : 'Height must be a number.', // MISSING - invalidWidth : 'Width must be a number.', // MISSING + invalidHeight : 'Височината трябва да е число.', + invalidWidth : 'Ширина требе да е число.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING @@ -132,81 +132,81 @@ CKEDITOR.lang['bg'] = contextmenu : { - options : 'Context Menu Options' // MISSING + options : 'Опции на контекстното меню' }, // Special char dialog. specialChar : { - toolbar : 'Вмъкни специален символ', - title : 'Изберете специален символ', - options : 'Special Character Options' // MISSING + toolbar : 'Вмъкване на специален знак', + title : 'Избор на специален знак', + options : 'Опции за специален знак' }, // Link dialog. link : { - toolbar : 'Добави/Редактирай връзка', - other : '<друг>', - menu : 'Редактирай връзка', + toolbar : 'Връзка', + other : '<друго>', + menu : 'Промяна на връзка', title : 'Връзка', - info : 'Информация за връзката', + info : 'Инфо за връзката', target : 'Цел', - upload : 'Качи', - advanced : 'Подробности...', - type : 'Вид на връзката', - toUrl : 'URL', // MISSING - toAnchor : 'Котва в текущата страница', - toEmail : 'Е-поща', - targetFrame : '<рамка>', - targetPopup : '<дъщерен прозорец>', - targetFrameName : 'Име на целевия прозорец', - targetPopupName : 'Име на дъщерния прозорец', - popupFeatures : 'Параметри на дъщерния прозорец', - popupResizable : 'Resizable', // MISSING - popupStatusBar : 'Поле за статус', - popupLocationBar: 'Поле за адрес', - popupToolbar : 'Панел с бутони', - popupMenuBar : 'Меню', - popupFullScreen : 'Голям екран (MS IE)', - popupScrollBars : 'Плъзгач', - popupDependent : 'Зависим (Netscape)', - popupLeft : 'Координати - X', - popupTop : 'Координати - Y', - id : 'Id', // MISSING - langDir : 'посока на речта', - langDirLTR : 'От ляво на дясно', - langDirRTL : 'От дясно на ляво', - acccessKey : 'Бърз клавиш', + upload : 'Качване', + advanced : 'Разширено', + type : 'Тип на връзката', + toUrl : 'Уеб адрес', + toAnchor : 'Връзка към котва в текста', + toEmail : 'E-mail', + targetFrame : '', + targetPopup : '<изкачащ прозорец>', + targetFrameName : 'Име на целевият прозорец', + targetPopupName : 'Име на изкачащ прозорец', + popupFeatures : 'Функции на изкачащ прозорец', + popupResizable : 'Оразмеряем', + popupStatusBar : 'Статусна лента', + popupLocationBar: 'Лента с локацията', + popupToolbar : 'Лента с инструменти', + popupMenuBar : 'Лента за меню', + popupFullScreen : 'Цял екран (IE)', + popupScrollBars : 'Скролери', + popupDependent : 'Зависимост (Netscape)', + popupLeft : 'Лява позиция', + popupTop : 'Горна позиция', + id : 'ID', + langDir : 'Посока на езика', + langDirLTR : 'Ляво на Дясно (ЛнД)', + langDirRTL : 'Дясно на Ляво (ДнЛ)', + acccessKey : 'Ключ за достъп', name : 'Име', - langCode : 'посока на речта', - tabIndex : 'Ред на достъп', - advisoryTitle : 'Препоръчително заглавие', - advisoryContentType : 'Препоръчителен тип на съдържанието', - cssClasses : 'Клас от стиловите таблици', - charset : 'Тип на свързания ресурс', + langCode : 'Код за езика', + tabIndex : 'Tab Index', // MISSING + advisoryTitle : 'Advisory Title', // MISSING + advisoryContentType : 'Advisory Content Type', // MISSING + cssClasses : 'Класове за CSS', + charset : 'Linked Resource Charset', // MISSING styles : 'Стил', - rel : 'Relationship', // MISSING + rel : 'Връзка', selectAnchor : 'Изберете котва', - anchorName : 'По име на котвата', - anchorId : 'По идентификатор на елемент', - emailAddress : 'Адрес за е-поща', - emailSubject : 'Тема на писмото', - emailBody : 'Текст на писмото', - noAnchors : '(Няма котви в текущия документ)', - noUrl : 'Моля, напишете пълния път (URL)', - noEmail : 'Моля, напишете адреса за е-поща' + anchorName : 'По име на котва', + anchorId : 'По ID на елемент', + emailAddress : 'E-mail aдрес', + emailSubject : 'Тема', + emailBody : 'Съдържание', + noAnchors : '(No anchors available in the document)', // MISSING + noUrl : 'Please type the link URL', // MISSING + noEmail : 'Моля въведете e-mail aдрес' }, // Anchor dialog anchor : { - toolbar : 'Добави/Редактирай котва', - menu : 'Параметри на котвата', - title : 'Параметри на котвата', - name : 'Име на котвата', - errorName : 'Моля, въведете име на котвата', - remove : 'Remove Anchor' // MISSING + toolbar : 'Котва', + menu : 'Промяна на котва', + title : 'Настройки на котва', + name : 'Име на котва', + errorName : 'Моля въведете име на котвата', + remove : 'Премахване на котва' }, // List style dialog @@ -214,39 +214,39 @@ CKEDITOR.lang['bg'] = { numberedTitle : 'Numbered List Properties', // MISSING bulletedTitle : 'Bulleted List Properties', // MISSING - type : 'Type', // MISSING - start : 'Start', // MISSING + type : 'Тип', + start : 'Старт', validateStartNumber :'List start number must be a whole number.', // MISSING - circle : 'Circle', // MISSING - disc : 'Disc', // MISSING - square : 'Square', // MISSING - none : 'None', // MISSING - notset : '', // MISSING - armenian : 'Armenian numbering', // MISSING - georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING - lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING - upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING - lowerAlpha : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING - upperAlpha : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING - lowerGreek : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING - decimal : 'Decimal (1, 2, 3, etc.)', // MISSING - decimalLeadingZero : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING + circle : 'Кръг', + disc : 'Диск', + square : 'Квадрат', + none : 'Няма', + notset : '<не е указано>', + armenian : 'Арменско номериране', + georgian : 'Грузинско номериране (an, ban, gan, и т.н.)', + lowerRoman : 'Малки римски числа (i, ii, iii, iv, v и т.н.)', + upperRoman : 'Големи римски числа (I, II, III, IV, V и т.н.)', + lowerAlpha : 'Малки букви (а, б, в, г, д и т.н.)', + upperAlpha : 'Големи букви (А, Б, В, Г, Д и т.н.)', + lowerGreek : 'Малки гръцки букви (алфа, бета, гама и т.н.)', + decimal : 'Числа (1, 2, 3 и др.)', + decimalLeadingZero : 'Числа с водеща нула (01, 02, 03 и т.н.)' }, // Find And Replace Dialog findAndReplace : { - title : 'Find and Replace', // MISSING - find : 'Търси', - replace : 'Замести', - findWhat : 'Търси:', - replaceWith : 'Замести с:', - notFoundMsg : 'Указания текст не беше намерен.', + title : 'Търсене и препокриване', + find : 'Търсене', + replace : 'Препокриване', + findWhat : 'Търси за:', + replaceWith : 'Препокрива с:', + notFoundMsg : 'Указаният текст не е намерен.', findOptions : 'Find Options', // MISSING - matchCase : 'Със същия регистър', - matchWord : 'Търси същата дума', - matchCyclic : 'Match cyclic', // MISSING - replaceAll : 'Замести всички', + matchCase : 'Съвпадение', + matchWord : 'Съвпадение с дума', + matchCyclic : 'Циклично съвпадение', + replaceAll : 'Препокрий всички', replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING }, @@ -254,26 +254,26 @@ CKEDITOR.lang['bg'] = table : { toolbar : 'Таблица', - title : 'Параметри на таблицата', - menu : 'Параметри на таблицата', - deleteTable : 'Изтрий таблицата', + title : 'Настройки на таблицата', + menu : 'Настройки на таблицата', + deleteTable : 'Изтриване на таблица', rows : 'Редове', columns : 'Колони', border : 'Размер на рамката', - widthPx : 'пиксели', - widthPc : 'проценти', - widthUnit : 'width unit', // MISSING - cellSpace : 'Разстояние между клетките', - cellPad : 'Отстъп на съдържанието в клетките', + widthPx : 'пиксела', + widthPc : 'процент', + widthUnit : 'единица за ширина', + cellSpace : 'Разтояние между клетките', + cellPad : 'Отделяне на клетките', caption : 'Заглавие', - summary : 'Резюме', - headers : 'Headers', // MISSING - headersNone : 'None', // MISSING - headersColumn : 'First column', // MISSING - headersRow : 'First Row', // MISSING - headersBoth : 'Both', // MISSING - invalidRows : 'Number of rows must be a number greater than 0.', // MISSING - invalidCols : 'Number of columns must be a number greater than 0.', // MISSING + summary : 'Обща информация', + headers : 'Хедъри', + headersNone : 'Няма', + headersColumn : 'Първа колона', + headersRow : 'Първи ред', + headersBoth : 'Заедно', + invalidRows : 'Броят редове трябва да е по-голям от 0.', + invalidCols : 'Броят колони трябва да е по-голям от 0.', invalidBorder : 'Border size must be a number.', // MISSING invalidWidth : 'Table width must be a number.', // MISSING invalidHeight : 'Table height must be a number.', // MISSING @@ -282,107 +282,107 @@ CKEDITOR.lang['bg'] = cell : { - menu : 'Cell', // MISSING - insertBefore : 'Insert Cell Before', // MISSING - insertAfter : 'Insert Cell After', // MISSING - deleteCell : 'Изтрий клетките', - merge : 'Обедини клетките', - mergeRight : 'Merge Right', // MISSING + menu : 'Клетка', + insertBefore : 'Вмъкване на клетка преди', + insertAfter : 'Вмъкване на клетка след', + deleteCell : 'Изтриване на клетки', + merge : 'Сливане на клетки', + mergeRight : 'Сливане в дясно', mergeDown : 'Merge Down', // MISSING splitHorizontal : 'Split Cell Horizontally', // MISSING splitVertical : 'Split Cell Vertically', // MISSING - title : 'Cell Properties', // MISSING - cellType : 'Cell Type', // MISSING + title : 'Настройки на клетката', + cellType : 'Тип на клетката', rowSpan : 'Rows Span', // MISSING colSpan : 'Columns Span', // MISSING - wordWrap : 'Word Wrap', // MISSING - hAlign : 'Horizontal Alignment', // MISSING - vAlign : 'Vertical Alignment', // MISSING - alignBaseline : 'Baseline', // MISSING - bgColor : 'Background Color', // MISSING - borderColor : 'Border Color', // MISSING - data : 'Data', // MISSING - header : 'Header', // MISSING - yes : 'Yes', // MISSING - no : 'No', // MISSING + wordWrap : 'Авто. пренос', + hAlign : 'Хоризонтално подравняване', + vAlign : 'Вертикално подравняване', + alignBaseline : 'Базова линия', + bgColor : 'Фон', + borderColor : 'Цвят на рамката', + data : 'Данни', + header : 'Хедър', + yes : 'Да', + no : 'Не', invalidWidth : 'Cell width must be a number.', // MISSING invalidHeight : 'Cell height must be a number.', // MISSING invalidRowSpan : 'Rows span must be a whole number.', // MISSING invalidColSpan : 'Columns span must be a whole number.', // MISSING - chooseColor : 'Choose' // MISSING + chooseColor : 'Изберете' }, row : { - menu : 'Row', // MISSING + menu : 'Ред', insertBefore : 'Insert Row Before', // MISSING - insertAfter : 'Insert Row After', // MISSING - deleteRow : 'Изтрий редовете' + insertAfter : 'Вмъкване на ред след', + deleteRow : 'Изтриване на редове' }, column : { - menu : 'Column', // MISSING - insertBefore : 'Insert Column Before', // MISSING - insertAfter : 'Insert Column After', // MISSING - deleteColumn : 'Изтрий колоните' + menu : 'Колона', + insertBefore : 'Вмъкване на колона преди', + insertAfter : 'Вмъкване на колона след', + deleteColumn : 'Изтриване на колони' } }, // Button Dialog. button : { - title : 'Параметри на бутона', - text : 'Текст (Стойност)', + title : 'Настройки на бутона', + text : 'Текст (стойност)', type : 'Тип', - typeBtn : 'Button', // MISSING - typeSbm : 'Submit', // MISSING - typeRst : 'Reset' // MISSING + typeBtn : 'Бутон', + typeSbm : 'Добави', + typeRst : 'Нулиране' }, // Checkbox and Radio Button Dialogs. checkboxAndRadio : { - checkboxTitle : 'Параметри на полето за отметка', - radioTitle : 'Параметри на полето за опция', + checkboxTitle : 'Checkbox Properties', // MISSING + radioTitle : 'Настройки на радиобутон', value : 'Стойност', - selected : 'Отметнато' + selected : 'Избрано' }, // Form Dialog. form : { - title : 'Параметри на формуляра', - menu : 'Параметри на формуляра', + title : 'Настройки на формата', + menu : 'Настройки на формата', action : 'Действие', method : 'Метод', - encoding : 'Encoding' // MISSING + encoding : 'Кодиране' }, // Select Field Dialog. select : { - title : 'Параметри на падащото меню с опции', - selectInfo : 'Информация', - opAvail : 'Възможни опции', + title : 'Selection Field Properties', // MISSING + selectInfo : 'Select Info', // MISSING + opAvail : 'Налични опции', value : 'Стойност', size : 'Размер', lines : 'линии', - chkMulti : 'Разрешено множествено селектиране', + chkMulti : 'Allow multiple selections', // MISSING opText : 'Текст', opValue : 'Стойност', btnAdd : 'Добави', btnModify : 'Промени', - btnUp : 'Нагоре', - btnDown : 'Надолу', - btnSetValue : 'Настрой като избрана стойност', - btnDelete : 'Изтрий' + btnUp : 'На горе', + btnDown : 'На долу', + btnSetValue : 'Set as selected value', // MISSING + btnDelete : 'Изтриване' }, // Textarea Dialog. textarea : { - title : 'Параметри на текстовата област', + title : 'Опции за текстовата зона', cols : 'Колони', rows : 'Редове' }, @@ -390,11 +390,11 @@ CKEDITOR.lang['bg'] = // Text Field Dialog. textfield : { - title : 'Параметри на текстовото-поле', + title : 'Настройки за текстово поле', name : 'Име', value : 'Стойност', - charWidth : 'Ширина на символите', - maxChars : 'Максимум символи', + charWidth : 'Ширина на знаците', + maxChars : 'Макс. знаци', type : 'Тип', typeText : 'Текст', typePass : 'Парола' @@ -403,7 +403,7 @@ CKEDITOR.lang['bg'] = // Hidden Field Dialog. hidden : { - title : 'Параметри на скритото поле', + title : 'Настройки за скрито поле', name : 'Име', value : 'Стойност' }, @@ -411,19 +411,19 @@ CKEDITOR.lang['bg'] = // Image Dialog. image : { - title : 'Параметри на изображението', - titleButton : 'Параметри на бутона-изображение', - menu : 'Параметри на изображението', - infoTab : 'Информация за изображението', - btnUpload : 'Прати към сървъра', - upload : 'Качи', + title : 'Настройки за снимка', + titleButton : 'Настойки за бутон за снимка', + menu : 'Настройки за снимка', + infoTab : 'Инфо за снимка', + btnUpload : 'Изпрати я на сървъра', + upload : 'Качване', alt : 'Алтернативен текст', - lockRatio : 'Запази пропорцията', - resetSize : 'Възстанови размера', + lockRatio : 'Заключване на съотношението', + resetSize : 'Нулиране на размер', border : 'Рамка', - hSpace : 'Хоризонтален отстъп', - vSpace : 'Вертикален отстъп', - alertUrl : 'Моля, въведете пълния път до изображението', + hSpace : 'HSpace', // MISSING + vSpace : 'VSpace', // MISSING + alertUrl : 'Please type the image URL', // MISSING linkTab : 'Връзка', button2Img : 'Do you want to transform the selected image button on a simple image?', // MISSING img2Button : 'Do you want to transform the selected image on a image button?', // MISSING @@ -436,41 +436,41 @@ CKEDITOR.lang['bg'] = // Flash Dialog flash : { - properties : 'Параметри на Flash обекта', - propertiesTab : 'Properties', // MISSING - title : 'Параметри на Flash обекта', - chkPlay : 'Автоматично стартиране', - chkLoop : 'Ново стартиране след завършването', - chkMenu : 'Разрешено Flash меню', + properties : 'Настройки за флаш', + propertiesTab : 'Настройки', + title : 'Настройки за флаш', + chkPlay : 'Авто. пускане', + chkLoop : 'Цикъл', + chkMenu : 'Enable Flash Menu', // MISSING chkFull : 'Allow Fullscreen', // MISSING - scale : 'Оразмеряване', - scaleAll : 'Покажи целия обект', + scale : 'Scale', // MISSING + scaleAll : 'Показва всичко', scaleNoBorder : 'Без рамка', - scaleFit : 'Според мястото', + scaleFit : 'Exact Fit', // MISSING access : 'Script Access', // MISSING - accessAlways : 'Always', // MISSING - accessSameDomain: 'Same domain', // MISSING - accessNever : 'Never', // MISSING - alignAbsBottom : 'Най-долу', - alignAbsMiddle : 'Точно по средата', - alignBaseline : 'По базовата линия', - alignTextTop : 'Върху текста', - quality : 'Quality', // MISSING - qualityBest : 'Best', // MISSING - qualityHigh : 'High', // MISSING - qualityAutoHigh : 'Auto High', // MISSING - qualityMedium : 'Medium', // MISSING - qualityAutoLow : 'Auto Low', // MISSING - qualityLow : 'Low', // MISSING - windowModeWindow: 'Window', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent : 'Transparent', // MISSING - windowMode : 'Window mode', // MISSING - flashvars : 'Variables for Flash', // MISSING - bgcolor : 'Цвят на фона', - hSpace : 'Хоризонтален отстъп', - vSpace : 'Вертикален отстъп', - validateSrc : 'Моля, напишете пълния път (URL)', + accessAlways : 'Винаги', + accessSameDomain: 'Същият домейн', + accessNever : 'Никога', + alignAbsBottom : 'Abs Bottom', // MISSING + alignAbsMiddle : 'Abs Middle', // MISSING + alignBaseline : 'Baseline', // MISSING + alignTextTop : 'Text Top', // MISSING + quality : 'Качество', + qualityBest : 'Отлично', + qualityHigh : 'Високо', + qualityAutoHigh : 'Авто. високо', + qualityMedium : 'Средно', + qualityAutoLow : 'Авто. ниско', + qualityLow : 'Ниско', + windowModeWindow: 'Прозорец', + windowModeOpaque: 'Плътност', + windowModeTransparent : 'Прозрачност', + windowMode : 'Режим на прозореца', + flashvars : 'Променливи за Флаш', + bgcolor : 'Background color', // MISSING + hSpace : 'HSpace', // MISSING + vSpace : 'VSpace', // MISSING + validateSrc : 'Уеб адреса не трябва да е празен.', validateHSpace : 'HSpace must be a number.', // MISSING validateVSpace : 'VSpace must be a number.' // MISSING }, @@ -478,60 +478,60 @@ CKEDITOR.lang['bg'] = // Speller Pages Dialog spellCheck : { - toolbar : 'Провери правописа', - title : 'Spell Check', // MISSING - notAvailable : 'Sorry, but service is unavailable now.', // MISSING + toolbar : 'Проверка на правопис', + title : 'Проверка на правопис', + notAvailable : 'Съжаляваме, но услугата не е достъпна за момента', errorLoading : 'Error loading application service host: %s.', // MISSING - notInDic : 'Липсва в речника', + notInDic : 'Не е в речника', changeTo : 'Промени на', btnIgnore : 'Игнорирай', - btnIgnoreAll : 'Игнорирай всички', - btnReplace : 'Замести', - btnReplaceAll : 'Замести всички', - btnUndo : 'Отмени', - noSuggestions : '- Няма предложения -', - progress : 'Извършване на проверката за правопис...', - noMispell : 'Проверката за правопис завършена: не са открити правописни грешки', - noChanges : 'Проверката за правопис завършена: няма променени думи', - oneChange : 'Проверката за правопис завършена: една дума е променена', - manyChanges : 'Проверката за правопис завършена: %1 думи са променени', - ieSpellDownload : 'Инструментът за проверка на правопис не е инсталиран. Желаете ли да го инсталирате ?' + btnIgnoreAll : 'Игнорирай всичко', + btnReplace : 'Препокриване', + btnReplaceAll : 'Препокрий всичко', + btnUndo : 'Възтанови', + noSuggestions : '- Няма препоръчани -', + progress : 'Проверява се правописа...', + noMispell : 'Spell check complete: No misspellings found', // MISSING + noChanges : 'Spell check complete: No words changed', // MISSING + oneChange : 'Spell check complete: One word changed', // MISSING + manyChanges : 'Spell check complete: %1 words changed', // MISSING + ieSpellDownload : 'Spell checker not installed. Do you want to download it now?' // MISSING }, smiley : { toolbar : 'Усмивка', - title : 'Добави усмивка', - options : 'Smiley Options' // MISSING + title : 'Вмъкване на усмивка', + options : 'Опции за усмивката' }, elementsPath : { - eleLabel : 'Elements path', // MISSING - eleTitle : '%1 element' // MISSING + eleLabel : 'Път за елементите', + eleTitle : '%1 елемент' }, - numberedlist : 'Нумериран списък', - bulletedlist : 'Ненумериран списък', - indent : 'Увеличи отстъпа', - outdent : 'Намали отстъпа', + numberedlist : 'Вмъкване/Премахване на номериран списък', + bulletedlist : 'Вмъкване/Премахване на точков списък', + indent : 'Увеличаване на отстъпа', + outdent : 'Намаляване на отстъпа', justify : { - left : 'Подравняване в ляво', - center : 'Подравнявне в средата', - right : 'Подравняване в дясно', - block : 'Двустранно подравняване' + left : 'Подравни в ляво', + center : 'Център', + right : 'Подравни в дясно', + block : 'Justify' // MISSING }, - blockquote : 'Block Quote', // MISSING + blockquote : 'Блок за цитат', clipboard : { - title : 'Вмъкни', - cutError : 'Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни изрязването. За целта използвайте клавиатурата (Ctrl/Cmd+X).', - copyError : 'Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни запаметяването. За целта използвайте клавиатурата (Ctrl/Cmd+C).', - pasteMsg : 'Вмъкнете тук съдъжанието с клавиатуарата (Ctrl/Cmd+V) и натиснете OK.', + title : 'Paste', // MISSING + cutError : 'Настройките за сигурност на Вашия браузър не позволяват на редактора автоматично да изъплни действията за отрязване. Моля ползвайте клавиатурните команди за целта (ctrl+x).', + copyError : 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).', // MISSING + pasteMsg : 'Please paste inside the following box using the keyboard (Ctrl/Cmd+V) and hit OK', // MISSING securityMsg : 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING pasteArea : 'Paste Area' // MISSING }, @@ -539,32 +539,32 @@ CKEDITOR.lang['bg'] = pastefromword : { confirmCleanup : 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING - toolbar : 'Вмъкни от MS Word', - title : 'Вмъкни от MS Word', + toolbar : 'Paste from Word', // MISSING + title : 'Paste from Word', // MISSING error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING }, pasteText : { - button : 'Вмъкни като чист текст', - title : 'Вмъкни като чист текст' + button : 'Paste as plain text', // MISSING + title : 'Paste as Plain Text' // MISSING }, templates : { - button : 'Шаблони', - title : 'Шаблони', + button : 'Templates', // MISSING + title : 'Content Templates', // MISSING options : 'Template Options', // MISSING insertOption : 'Replace actual contents', // MISSING - selectPromptMsg : 'Изберете шаблон
(текущото съдържание на редактора ще бъде загубено):', - emptyListMsg : '(Няма дефинирани шаблони)' + selectPromptMsg : 'Please select the template to open in the editor', // MISSING + emptyListMsg : '(No templates defined)' // MISSING }, - showBlocks : 'Show Blocks', // MISSING + showBlocks : 'Показва блокове', stylesCombo : { - label : 'Стил', + label : 'Styles', // MISSING panelTitle : 'Formatting Styles', // MISSING panelTitle1 : 'Block Styles', // MISSING panelTitle2 : 'Inline Styles', // MISSING @@ -573,19 +573,19 @@ CKEDITOR.lang['bg'] = format : { - label : 'Формат', - panelTitle : 'Формат', + label : 'Format', // MISSING + panelTitle : 'Paragraph Format', // MISSING - tag_p : 'Нормален', - tag_pre : 'Форматиран', - tag_address : 'Адрес', - tag_h1 : 'Заглавие 1', - tag_h2 : 'Заглавие 2', - tag_h3 : 'Заглавие 3', - tag_h4 : 'Заглавие 4', - tag_h5 : 'Заглавие 5', - tag_h6 : 'Заглавие 6', - tag_div : 'Параграф (DIV)' + tag_p : 'Normal', // MISSING + tag_pre : 'Formatted', // MISSING + tag_address : 'Address', // MISSING + tag_h1 : 'Heading 1', // MISSING + tag_h2 : 'Heading 2', // MISSING + tag_h3 : 'Heading 3', // MISSING + tag_h4 : 'Heading 4', // MISSING + tag_h5 : 'Heading 5', // MISSING + tag_h6 : 'Heading 6', // MISSING + tag_div : 'Normal (DIV)' // MISSING }, div : @@ -593,22 +593,22 @@ CKEDITOR.lang['bg'] = title : 'Create Div Container', // MISSING toolbar : 'Create Div Container', // MISSING cssClassInputLabel : 'Stylesheet Classes', // MISSING - styleSelectLabel : 'Style', // MISSING - IdInputLabel : 'Id', // MISSING - languageCodeInputLabel : ' Language Code', // MISSING + styleSelectLabel : 'Стил', + IdInputLabel : 'ID', + languageCodeInputLabel : ' Код на езика', inlineStyleInputLabel : 'Inline Style', // MISSING advisoryTitleInputLabel : 'Advisory Title', // MISSING langDirLabel : 'Language Direction', // MISSING langDirLTRLabel : 'Left to Right (LTR)', // MISSING langDirRTLLabel : 'Right to Left (RTL)', // MISSING - edit : 'Edit Div', // MISSING - remove : 'Remove Div' // MISSING + edit : 'Промяна на Div', + remove : 'Премахване на Div' }, iframe : { - title : 'IFrame Properties', // MISSING - toolbar : 'IFrame', // MISSING + title : 'IFrame настройки', + toolbar : 'IFrame', noUrl : 'Please type the iframe URL', // MISSING scrolling : 'Enable scrollbars', // MISSING border : 'Show frame border' // MISSING @@ -617,49 +617,49 @@ CKEDITOR.lang['bg'] = font : { label : 'Шрифт', - voiceLabel : 'Font', // MISSING - panelTitle : 'Шрифт' + voiceLabel : 'Шрифт', + panelTitle : 'Име на шрифт' }, fontSize : { label : 'Размер', - voiceLabel : 'Font Size', // MISSING - panelTitle : 'Размер' + voiceLabel : 'Размер на шрифт', + panelTitle : 'Размер на шрифт' }, colorButton : { - textColorTitle : 'Цвят на текста', - bgColorTitle : 'Цвят на фона', - panelTitle : 'Colors', // MISSING - auto : 'По подразбиране', - more : 'Други цветове...' + textColorTitle : 'Цвят на шрифт', + bgColorTitle : 'Фонов цвят', + panelTitle : 'Цветове', + auto : 'Автоматично', + more : 'Още цветове' }, colors : { - '000' : 'Black', // MISSING - '800000' : 'Maroon', // MISSING - '8B4513' : 'Saddle Brown', // MISSING + '000' : 'Черно', + '800000' : 'Кестеняво', + '8B4513' : 'Светлокафяво', '2F4F4F' : 'Dark Slate Gray', // MISSING '008080' : 'Teal', // MISSING '000080' : 'Navy', // MISSING - '4B0082' : 'Indigo', // MISSING - '696969' : 'Dark Gray', // MISSING - 'B22222' : 'Fire Brick', // MISSING - 'A52A2A' : 'Brown', // MISSING - 'DAA520' : 'Golden Rod', // MISSING - '006400' : 'Dark Green', // MISSING - '40E0D0' : 'Turquoise', // MISSING - '0000CD' : 'Medium Blue', // MISSING - '800080' : 'Purple', // MISSING - '808080' : 'Gray', // MISSING - 'F00' : 'Red', // MISSING - 'FF8C00' : 'Dark Orange', // MISSING - 'FFD700' : 'Gold', // MISSING - '008000' : 'Green', // MISSING - '0FF' : 'Cyan', // MISSING + '4B0082' : 'Индиго', + '696969' : 'Тъмно сиво', + 'B22222' : 'Огнено червено', + 'A52A2A' : 'Кафяво', + 'DAA520' : 'Златисто', + '006400' : 'Тъмно зелено', + '40E0D0' : 'Тюркуазено', + '0000CD' : 'Средно синьо', + '800080' : 'Пурпурно', + '808080' : 'Сиво', + 'F00' : 'Червено', + 'FF8C00' : 'Тъмно оранжево', + 'FFD700' : 'Златно', + '008000' : 'Зелено', + '0FF' : 'Светло синьо', '00F' : 'Blue', // MISSING 'EE82EE' : 'Violet', // MISSING 'A9A9A9' : 'Dim Gray', // MISSING @@ -701,70 +701,70 @@ CKEDITOR.lang['bg'] = allCaps : 'Ignore All-Caps Words', // MISSING ignoreDomainNames : 'Ignore Domain Names', // MISSING mixedCase : 'Ignore Words with Mixed Case', // MISSING - mixedWithDigits : 'Ignore Words with Numbers', // MISSING + mixedWithDigits : 'Игнорирани думи и цифри', - languagesTab : 'Languages', // MISSING + languagesTab : 'Езици', - dictionariesTab : 'Dictionaries', // MISSING - dic_field_name : 'Dictionary name', // MISSING - dic_create : 'Create', // MISSING - dic_restore : 'Restore', // MISSING - dic_delete : 'Delete', // MISSING - dic_rename : 'Rename', // MISSING + dictionariesTab : 'Речници', + dic_field_name : 'Име на речнк', + dic_create : 'Нов', + dic_restore : 'Възтановяване', + dic_delete : 'Изтриване', + dic_rename : 'Преименуване', dic_info : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING - aboutTab : 'About' // MISSING + aboutTab : 'Относно' }, about : { - title : 'About CKEditor', // MISSING - dlgTitle : 'About CKEditor', // MISSING - help : 'Check $1 for help.', // MISSING + title : 'Относно CKEditor', + dlgTitle : 'Относно CKEditor', + help : 'Проверете $1 за помощ.', userGuide : 'CKEditor User\'s Guide', // MISSING - moreInfo : 'For licensing information please visit our web site:', // MISSING - copy : 'Copyright © $1. All rights reserved.' // MISSING + moreInfo : 'За лицензионна информация моля посетете сайта ни:', + copy : 'Copyright © $1. All rights reserved.' }, - maximize : 'Maximize', // MISSING - minimize : 'Minimize', // MISSING + maximize : 'Максимизиране', + minimize : 'Минимизиране', fakeobjects : { - anchor : 'Anchor', // MISSING - flash : 'Flash Animation', // MISSING - iframe : 'IFrame', // MISSING - hiddenfield : 'Hidden Field', // MISSING - unknown : 'Unknown Object' // MISSING + anchor : 'Кука', + flash : 'Флаш анимация', + iframe : 'IFrame', + hiddenfield : 'Скрито поле', + unknown : 'Неизвестен обект' }, - resize : 'Drag to resize', // MISSING + resize : 'Влачете за да оразмерите', colordialog : { - title : 'Select color', // MISSING - options : 'Color Options', // MISSING - highlight : 'Highlight', // MISSING - selected : 'Selected Color', // MISSING - clear : 'Clear' // MISSING + title : 'Изберете цвят', + options : 'Цветови опции', + highlight : 'Осветяване', + selected : 'Изберете цвят', + clear : 'Изчистване' }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'Свиване на лентата с инструменти', + toolbarExpand : 'Разширяване на лентата с инструменти', toolbarGroups : { - document : 'Document', // MISSING + document : 'Документ', clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + editing : 'Промяна', + forms : 'Форми', + basicstyles : 'Базови стилове', + paragraph : 'Параграф', + links : 'Връзки', + insert : 'Вмъкване', + styles : 'Стилове', + colors : 'Цветове', + tools : 'Инструменти' }, bidi : @@ -775,18 +775,18 @@ CKEDITOR.lang['bg'] = docprops : { - label : 'Параметри на документа', - title : 'Параметри на документа', - design : 'Design', // MISSING - meta : 'Мета данни', - chooseColor : 'Choose', // MISSING - other : '<друг>', + label : 'Настройки на документа', + title : 'Настройки на документа', + design : 'Дизайн', + meta : 'Мета етикети', + chooseColor : 'Изберете', + other : 'Други...', docTitle : 'Заглавие на страницата', - charset : 'Кодиране на символите', - charsetOther : 'Друго кодиране на символите', - charsetASCII : 'ASCII', // MISSING - charsetCE : 'Central European', // MISSING - charsetCT : 'Chinese Traditional (Big5)', // MISSING + charset : 'Кодова таблица', + charsetOther : 'Друга кодова таблица', + charsetASCII : 'ASCII', + charsetCE : 'Централна европейска', + charsetCT : 'Китайски традиционен', charsetCR : 'Cyrillic', // MISSING charsetGR : 'Greek', // MISSING charsetJP : 'Japanese', // MISSING @@ -794,22 +794,22 @@ CKEDITOR.lang['bg'] = charsetTR : 'Turkish', // MISSING charsetUN : 'Unicode (UTF-8)', // MISSING charsetWE : 'Western European', // MISSING - docType : 'Тип на документа', - docTypeOther : 'Друг тип на документа', - xhtmlDec : 'Включи XHTML декларация', - bgColor : 'Цвят на фона', - bgImage : 'Пълен път до фоновото изображение', - bgFixed : 'Не-повтарящо се фоново изображение', - txtColor : 'Цвят на текста', - margin : 'Отстъпи на страницата', - marginTop : 'Горе', - marginLeft : 'Ляво', - marginRight : 'Дясно', - marginBottom : 'Долу', - metaKeywords : 'Ключови думи за документа (разделени със запетаи)', - metaDescription : 'Описание на документа', - metaAuthor : 'Автор', - metaCopyright : 'Авторски права', + docType : 'Document Type Heading', // MISSING + docTypeOther : 'Other Document Type Heading', // MISSING + xhtmlDec : 'Include XHTML Declarations', // MISSING + bgColor : 'Background Color', // MISSING + bgImage : 'Background Image URL', // MISSING + bgFixed : 'Non-scrolling (Fixed) Background', // MISSING + txtColor : 'Text Color', // MISSING + margin : 'Page Margins', // MISSING + marginTop : 'Top', // MISSING + marginLeft : 'Left', // MISSING + marginRight : 'Right', // MISSING + marginBottom : 'Bottom', // MISSING + metaKeywords : 'Document Indexing Keywords (comma separated)', // MISSING + metaDescription : 'Document Description', // MISSING + metaAuthor : 'Author', // MISSING + metaCopyright : 'Copyright', // MISSING previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING } }; diff --git a/_source/lang/bn.js b/_source/lang/bn.js index e0a146c..ab6d0f6 100644 --- a/_source/lang/bn.js +++ b/_source/lang/bn.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/bs.js b/_source/lang/bs.js index b3317ee..ae72209 100644 --- a/_source/lang/bs.js +++ b/_source/lang/bs.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/ca.js b/_source/lang/ca.js index a50e276..cfb8a94 100644 --- a/_source/lang/ca.js +++ b/_source/lang/ca.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/cs.js b/_source/lang/cs.js index 09ea741..8547cc9 100644 --- a/_source/lang/cs.js +++ b/_source/lang/cs.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -34,7 +34,7 @@ CKEDITOR.lang['cs'] = editorTitle : 'Textový editor, %1, nápovědu zobrazíte stiskem ALT 0.', // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING + toolbars : 'Panely nástrojů editoru', editor : 'Textový editor', // Toolbar buttons without dialogs. @@ -121,10 +121,10 @@ CKEDITOR.lang['cs'] = alignBottom : 'Dolů', invalidHeight : 'Zadaná výška musí být číslo.', invalidWidth : 'Zadaná šířka musí být číslo.', - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidCssLength : 'Hodnota určená pro pole "%1" musí být kladné číslo bez nebo s platnou jednotkou míry CSS (px, %, in, cm, mm, em, ex, pt, nebo pc).', + invalidHtmlLength : 'Hodnota určená pro pole "%1" musí být kladné číslo bez nebo s platnou jednotkou míry HTML (px nebo %).', + invalidInlineStyle : 'Hodnota určená pro řádkový styl se musí skládat z jedné nebo více n-tic ve formátu "název : hodnota", oddělené středníky', + cssLengthTooltip : 'Zadejte číslo jako hodnotu v pixelech nebo číslo s platnou jednotkou CSS (px, %, v cm, mm, em, ex, pt, nebo pc).', // Put the voice-only part of the label in the span. unavailable : '%1, nedostupné' @@ -186,7 +186,7 @@ CKEDITOR.lang['cs'] = cssClasses : 'Třída stylu', charset : 'Přiřazená znaková sada', styles : 'Styl', - rel : 'Relationship', // MISSING + rel : 'Vztah', selectAnchor : 'Vybrat kotvu', anchorName : 'Podle jména kotvy', anchorId : 'Podle Id objektu', @@ -206,7 +206,7 @@ CKEDITOR.lang['cs'] = title : 'Vlastnosti záložky', name : 'Název záložky', errorName : 'Zadejte prosím název záložky', - remove : 'Remove Anchor' // MISSING + remove : 'Odstranit záložku' }, // List style dialog @@ -242,7 +242,7 @@ CKEDITOR.lang['cs'] = findWhat : 'Co hledat:', replaceWith : 'Čím nahradit:', notFoundMsg : 'Hledaný text nebyl nalezen.', - findOptions : 'Find Options', // MISSING + findOptions : 'Možnosti hledání', matchCase : 'RozliÅ¡ovat velikost písma', matchWord : 'Pouze celá slova', matchCyclic : 'Procházet opakovaně', @@ -500,7 +500,7 @@ CKEDITOR.lang['cs'] = smiley : { - toolbar : 'Smajlíky', + toolbar : 'Smajlíci', title : 'Vkládání smajlíků', options : 'Nastavení smajlíků' }, @@ -684,7 +684,7 @@ CKEDITOR.lang['cs'] = scayt : { title : 'Kontrola pravopisu během psaní (SCAYT)', - opera_title : 'Not supported by Opera', // MISSING + opera_title : 'Toto Opera nepodporuje', enable : 'Zapnout SCAYT', disable : 'Vypnout SCAYT', about : 'O aplikaci SCAYT', @@ -720,8 +720,8 @@ CKEDITOR.lang['cs'] = { title : 'O aplikaci CKEditor', dlgTitle : 'O aplikaci CKEditor', - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING + help : 'Prohlédněte si $1 pro nápovědu.', + userGuide : 'Uživatelská příručka CKEditor', moreInfo : 'Pro informace o lincenci navÅ¡tivte naÅ¡i webovou stránku:', copy : 'Copyright © $1. All rights reserved.' }, @@ -754,17 +754,17 @@ CKEDITOR.lang['cs'] = toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Dokument', + clipboard : 'Schránka/Zpět', + editing : 'Úpravy', + forms : 'Formuláře', + basicstyles : 'Základní styly', + paragraph : 'Odstavec', + links : 'Odkazy', + insert : 'Vložit', + styles : 'Styly', + colors : 'Barvy', + tools : 'Nástroje' }, bidi : @@ -777,14 +777,14 @@ CKEDITOR.lang['cs'] = { label : 'Vlastnosti dokumentu', title : 'Vlastnosti dokumentu', - design : 'Design', // MISSING + design : 'Vzhled', meta : 'Metadata', chooseColor : 'Výběr', other : '', docTitle : 'Titulek stránky', charset : 'Znaková sada', charsetOther : 'Další znaková sada', - charsetASCII : 'ASCII', // MISSING + charsetASCII : 'ASCII', charsetCE : 'Středoevropské jazyky', charsetCT : 'Tradiční čínÅ¡tina (Big5)', charsetCR : 'Cyrilice', @@ -792,7 +792,7 @@ CKEDITOR.lang['cs'] = charsetJP : 'JaponÅ¡tina', charsetKR : 'KorejÅ¡tina', charsetTR : 'Turečtina', - charsetUN : 'Unicode (UTF-8)', // MISSING + charsetUN : 'Unicode (UTF-8)', charsetWE : 'Západoevropské jazyky', docType : 'Typ dokumentu', docTypeOther : 'Jiný typ dokumetu', @@ -810,6 +810,6 @@ CKEDITOR.lang['cs'] = metaDescription : 'Popis dokumentu', metaAuthor : 'Autor', metaCopyright : 'Autorská práva', - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

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

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

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

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

This is some sample text. You are using CKEditor.

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

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

' } }; diff --git a/_source/lang/de.js b/_source/lang/de.js index 03831a0..5429a05 100644 --- a/_source/lang/de.js +++ b/_source/lang/de.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -190,7 +190,7 @@ CKEDITOR.lang['de'] = selectAnchor : 'Anker auswählen', anchorName : 'nach Anker Name', anchorId : 'nach Element Id', - emailAddress : 'E-Mail Addresse', + emailAddress : 'E-Mail Adresse', emailSubject : 'Betreffzeile', emailBody : 'Nachrichtentext', noAnchors : '(keine Anker im Dokument vorhanden)', diff --git a/_source/lang/el.js b/_source/lang/el.js index 8aa3268..b553244 100644 --- a/_source/lang/el.js +++ b/_source/lang/el.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -34,8 +34,8 @@ CKEDITOR.lang['el'] = editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Εργαλειοθήκες Επεξεργαστή', + editor : 'Επεξεργαστής Πλούσιου Κειμένου', // Toolbar buttons without dialogs. source : 'HTML κώδικας', @@ -56,7 +56,7 @@ CKEDITOR.lang['el'] = superscript : 'Εκθέτης', horizontalrule : 'Εισαγωγή Οριζόντιας Γραμμής', pagebreak : 'Εισαγωγή τέλους σελίδας', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'Αλλαγή Σελίδας', unlink : 'Αφαίρεση Συνδέσμου (Link)', undo : 'Αναίρεση', redo : 'Επαναφορά', @@ -66,21 +66,21 @@ CKEDITOR.lang['el'] = { browseServer : 'Εξερεύνηση διακομιστή', url : 'URL', - protocol : 'Προτόκολο', - upload : 'Αποστολή', + protocol : 'Πρωτόκολλο', + upload : 'Ανέβασμα', uploadSubmit : 'Αποστολή στον Διακομιστή', image : 'Εικόνα', flash : 'Εισαγωγή Flash', form : 'Φόρμα', checkbox : 'Κουτί επιλογής', - radio : 'Κουμπί Radio', + radio : 'Κουμπί επιλογής', textField : 'Πεδίο κειμένου', textarea : 'Περιοχή κειμένου', hiddenField : 'Κρυφό πεδίο', button : 'Κουμπί', select : 'Πεδίο επιλογής', imageButton : 'Κουμπί εικόνας', - notSet : '<χωρίς>', + notSet : '<δεν έχει ρυθμιστεί>', id : 'Id', name : 'Όνομα', langDir : 'Κατεύθυνση κειμένου', @@ -89,36 +89,36 @@ CKEDITOR.lang['el'] = langCode : 'Κωδικός Γλώσσας', longDescr : 'Αναλυτική περιγραφή URL', cssClass : 'Stylesheet Classes', - advisoryTitle : 'Συμβουλευτικός τίτλος', - cssStyle : 'Στύλ', + advisoryTitle : 'Ενδεικτικός τίτλος', + cssStyle : 'Μορφή κειμένου', ok : 'OK', cancel : 'Ακύρωση', - close : 'Close', // MISSING - preview : 'Preview', // MISSING - generalTab : 'General', // MISSING + close : 'Κλείσιμο', + preview : 'Προεπισκόπηση', + generalTab : 'Γενικά', advancedTab : 'Για προχωρημένους', - validateNumberFailed : 'This value is not a number.', // MISSING - confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING - confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING + validateNumberFailed : 'Αυτή η τιμή δεν είναι αριθμός.', + confirmNewPage : 'Οι όποιες αλλαγές στο περιεχόμενο θα χαθούν. Είσαστε σίγουροι ότι θέλετε να φορτώσετε μια νέα σελίδα;', + confirmCancel : 'Μερικές επιλογές έχουν αλλάξει. Είσαστε σίγουροι ότι θέλετε να κλείσετε το παράθυρο διαλόγου;', + options : 'Επιλογές', + target : 'Προορισμός', + targetNew : 'Νέο Παράθυρο (_blank)', + targetTop : 'Αρχική Περιοχή (_top)', + targetSelf : 'Ίδια Περιοχή (_self)', + targetParent : 'Γονεϊκό Παράθυρο (_parent)', langDirLTR : 'Left to Right (LTR)', // MISSING langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING + styles : 'Μορφή', cssClasses : 'Stylesheet Classes', // MISSING width : 'Πλάτος', height : 'Ύψος', - align : 'Ευθυγράμμιση (Align)', + align : 'Στοίχιση', alignLeft : 'Αριστερά', - alignRight : 'Δεξιά (Right)', + alignRight : 'Δεξιά', alignCenter : 'Κέντρο', - alignTop : 'Πάνω (Top)', - alignMiddle : 'Μέση (Middle)', - alignBottom : 'Κάτω (Bottom)', + alignTop : 'Πάνω', + alignMiddle : 'Μέση', + alignBottom : 'Κάτω', invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING @@ -138,59 +138,59 @@ CKEDITOR.lang['el'] = // Special char dialog. specialChar : { - toolbar : 'Εισαγωγή Ειδικού Συμβόλου', - title : 'Επιλέξτε ένα Ειδικό Σύμβολο', + toolbar : 'Εισαγωγή Ειδικού Χαρακτήρα', + title : 'Επιλέξτε έναν Ειδικό Χαρακτήρα', options : 'Special Character Options' // MISSING }, // Link dialog. link : { - toolbar : 'Εισαγωγή/Μεταβολή Συνδέσμου (Link)', - other : '<άλλος>', - menu : 'Μεταβολή Συνδέσμου (Link)', - title : 'Σύνδεσμος (Link)', - info : 'Link', - target : 'Παράθυρο Στόχος (Target)', - upload : 'Αποστολή', + toolbar : 'Σύνδεσμος', + other : '<άλλο>', + menu : 'Επεξεργασία Συνδέσμου', + title : 'Σύνδεσμος', + info : 'Πληροφορίες Συνδέσμου', + target : 'Παράθυρο Προορισμού', + upload : 'Ανέβασμα', advanced : 'Για προχωρημένους', - type : 'Τύπος συνδέσμου (Link)', + type : 'Τύπος Συνδέσμου', toUrl : 'URL', // MISSING toAnchor : 'Άγκυρα σε αυτή τη σελίδα', toEmail : 'E-Mail', targetFrame : '<πλαίσιο>', - targetPopup : '<παράθυρο popup>', - targetFrameName : 'Όνομα πλαισίου στόχου', - targetPopupName : 'Όνομα Popup Window', - popupFeatures : 'Επιλογές Popup Window', + targetPopup : '<αναδυόμενο παράθυρο>', + targetFrameName : 'Όνομα Παραθύρου Προορισμού', + targetPopupName : 'Όνομα Αναδυόμενου Παραθύρου', + popupFeatures : 'Επιλογές Αναδυόμενου Παραθύρου', popupResizable : 'Resizable', // MISSING - popupStatusBar : 'Μπάρα Status', - popupLocationBar: 'Μπάρα Τοποθεσίας', - popupToolbar : 'Μπάρα Εργαλείων', - popupMenuBar : 'Μπάρα Menu', - popupFullScreen : 'Ολόκληρη η Οθόνη (IE)', + popupStatusBar : 'Γραμμή Κατάστασης', + popupLocationBar: 'Γραμμή Τοποθεσίας', + popupToolbar : 'Εργαλειοθήκη', + popupMenuBar : 'Γραμμή Επιλογών', + popupFullScreen : 'Πλήρης Οθόνη (IE)', popupScrollBars : 'Μπάρες Κύλισης', - popupDependent : 'Dependent (Netscape)', - popupLeft : 'Τοποθεσία Αριστερής Άκρης', - popupTop : 'Τοποθεσία Πάνω Άκρης', + popupDependent : 'Εξαρτημένο (Netscape)', + popupLeft : 'Θέση Αριστερά', + popupTop : 'Θέση Πάνω', id : 'Id', // MISSING - langDir : 'Κατεύθυνση κειμένου', + langDir : 'Κατεύθυνση Κειμένου', langDirLTR : 'Αριστερά προς Δεξιά (LTR)', langDirRTL : 'Δεξιά προς Αριστερά (RTL)', - acccessKey : 'Συντόμευση (Access Key)', + acccessKey : 'Συντόμευση', name : 'Όνομα', - langCode : 'Κατεύθυνση κειμένου', - tabIndex : 'Tab Index', - advisoryTitle : 'Συμβουλευτικός τίτλος', - advisoryContentType : 'Συμβουλευτικός τίτλος περιεχομένου', + langCode : 'Κατεύθυνση Κειμένου', + tabIndex : 'Σειρά Μεταπήδησης', + advisoryTitle : 'Ενδεικτικός Τίτλος', + advisoryContentType : 'Ενδεικτικός Τύπος Περιεχομένου', cssClasses : 'Stylesheet Classes', - charset : 'Linked Resource Charset', - styles : 'Στύλ', + charset : 'Κωδικοποίηση Χαρακτήρων Προσαρτημένης Πηγής', + styles : 'Μορφή', rel : 'Relationship', // MISSING selectAnchor : 'Επιλέξτε μια άγκυρα', - anchorName : 'Βάσει του Ονόματος (Name) της άγκυρας', + anchorName : 'Βάσει του Ονόματος της άγκυρας', anchorId : 'Βάσει του Element Id', - emailAddress : 'Διεύθυνση Ηλεκτρονικού Ταχυδρομείου', + emailAddress : 'Διεύθυνση e-mail', emailSubject : 'Θέμα Μηνύματος', emailBody : 'Κείμενο Μηνύματος', noAnchors : '(Δεν υπάρχουν άγκυρες στο κείμενο)', @@ -201,7 +201,7 @@ CKEDITOR.lang['el'] = // Anchor dialog anchor : { - toolbar : 'Εισαγωγή/επεξεργασία Anchor', + toolbar : 'Εισαγωγή/επεξεργασία Άγκυρας', menu : 'Ιδιότητες άγκυρας', title : 'Ιδιότητες άγκυρας', name : 'Όνομα άγκυρας', @@ -239,7 +239,7 @@ CKEDITOR.lang['el'] = title : 'Find and Replace', // MISSING find : 'Αναζήτηση', replace : 'Αντικατάσταση', - findWhat : 'Αναζήτηση:', + findWhat : 'Αναζήτηση για:', replaceWith : 'Αντικατάσταση με:', notFoundMsg : 'Το κείμενο δεν βρέθηκε.', findOptions : 'Find Options', // MISSING @@ -259,13 +259,13 @@ CKEDITOR.lang['el'] = deleteTable : 'Διαγραφή πίνακα', rows : 'Γραμμές', columns : 'Κολώνες', - border : 'Μέγεθος Περιθωρίου', + border : 'Πάχος Περιγράμματος', widthPx : 'pixels', - widthPc : '%', + widthPc : 'τοις εκατό', widthUnit : 'width unit', // MISSING - cellSpace : 'Απόσταση κελιών', + cellSpace : 'Διάστημα κελιών', cellPad : 'Γέμισμα κελιών', - caption : 'Υπέρτιτλος', + caption : 'Λεζάντα', summary : 'Περίληψη', headers : 'Headers', // MISSING headersNone : 'None', // MISSING @@ -332,19 +332,19 @@ CKEDITOR.lang['el'] = // Button Dialog. button : { - title : 'Ιδιότητες κουμπιού', + title : 'Ιδιότητες Κουμπιού', text : 'Κείμενο (Τιμή)', type : 'Τύπος', typeBtn : 'Κουμπί', - typeSbm : 'Καταχώρηση', + typeSbm : 'Υποβολή', typeRst : 'Επαναφορά' }, // Checkbox and Radio Button Dialogs. checkboxAndRadio : { - checkboxTitle : 'Ιδιότητες κουμπιού επιλογής', - radioTitle : 'Ιδιότητες κουμπιού radio', + checkboxTitle : 'Ιδιότητες Κουτιού Επιλογής', + radioTitle : 'Ιδιότητες Κουμπιού Επιλογής', value : 'Τιμή', selected : 'Επιλεγμένο' }, @@ -352,37 +352,37 @@ CKEDITOR.lang['el'] = // Form Dialog. form : { - title : 'Ιδιότητες φόρμας', - menu : 'Ιδιότητες φόρμας', + title : 'Ιδιότητες Φόρμας', + menu : 'Ιδιότητες Φόρμας', action : 'Δράση', - method : 'Μάθοδος', + method : 'Μέθοδος', encoding : 'Encoding' // MISSING }, // Select Field Dialog. select : { - title : 'Ιδιότητες πεδίου επιλογής', - selectInfo : 'Πληροφορίες', - opAvail : 'Διαθέσιμες επιλογές', + title : 'Ιδιότητες Πεδίου Επιλογής', + selectInfo : 'Πληροφορίες Πεδίου Επιλογής', + opAvail : 'Διαθέσιμες Επιλογές', value : 'Τιμή', size : 'Μέγεθος', lines : 'γραμμές', - chkMulti : 'Πολλαπλές επιλογές', + chkMulti : 'Να επιτρέπονται οι πολλαπλές επιλογές', opText : 'Κείμενο', opValue : 'Τιμή', btnAdd : 'Προσθήκη', - btnModify : 'Αλλαγή', + btnModify : 'Τροποποίηση', btnUp : 'Πάνω', btnDown : 'Κάτω', - btnSetValue : 'Προεπιλεγμένη επιλογή', + btnSetValue : 'Προεπιλογή', btnDelete : 'Διαγραφή' }, // Textarea Dialog. textarea : { - title : 'Ιδιότητες περιοχής κειμένου', + title : 'Ιδιότητες Περιοχής Κειμένου', cols : 'Στήλες', rows : 'Σειρές' }, @@ -390,10 +390,10 @@ CKEDITOR.lang['el'] = // Text Field Dialog. textfield : { - title : 'Ιδιότητες πεδίου κειμένου', + title : 'Ιδιότητες Πεδίου Κειμένου', name : 'Όνομα', value : 'Τιμή', - charWidth : 'Μήκος χαρακτήρων', + charWidth : 'Πλάτος Χαρακτήρων', maxChars : 'Μέγιστοι χαρακτήρες', type : 'Τύπος', typeText : 'Κείμενο', @@ -403,7 +403,7 @@ CKEDITOR.lang['el'] = // Hidden Field Dialog. hidden : { - title : 'Ιδιότητες κρυφού πεδίου', + title : 'Ιδιότητες Κρυφού Πεδίου', name : 'Όνομα', value : 'Τιμή' }, @@ -412,17 +412,17 @@ CKEDITOR.lang['el'] = image : { title : 'Ιδιότητες Εικόνας', - titleButton : 'Ιδιότητες κουμπιού εικόνας', + titleButton : 'Ιδιότητες Κουμπιού Εικόνας', menu : 'Ιδιότητες Εικόνας', infoTab : 'Πληροφορίες Εικόνας', btnUpload : 'Αποστολή στον Διακομιστή', - upload : 'Αποστολή', - alt : 'Εναλλακτικό Κείμενο (ALT)', + upload : 'Ανέβασμα', + alt : 'Εναλλακτικό Κείμενο', lockRatio : 'Κλείδωμα Αναλογίας', resetSize : 'Επαναφορά Αρχικού Μεγέθους', - border : 'Περιθώριο', - hSpace : 'Οριζόντιος Χώρος (HSpace)', - vSpace : 'Κάθετος Χώρος (VSpace)', + border : 'Περίγραμμα', + hSpace : 'Οριζόντιο Διάστημα', + vSpace : 'Κάθετο Διάστημα', alertUrl : 'Εισάγετε την τοποθεσία (URL) της εικόνας', linkTab : 'Σύνδεσμος', button2Img : 'Do you want to transform the selected image button on a simple image?', // MISSING @@ -438,23 +438,23 @@ CKEDITOR.lang['el'] = { properties : 'Ιδιότητες Flash', propertiesTab : 'Properties', // MISSING - title : 'Ιδιότητες flash', - chkPlay : 'Αυτόματη έναρξη', + title : 'Ιδιότητες Flash', + chkPlay : 'Αυτόματη Εκτέλεση', chkLoop : 'Επανάληψη', chkMenu : 'Ενεργοποίηση Flash Menu', chkFull : 'Allow Fullscreen', // MISSING - scale : 'Κλίμακα', + scale : 'Μεγέθυνση', scaleAll : 'Εμφάνιση όλων', - scaleNoBorder : 'Χωρίς όρια', - scaleFit : 'Ακριβής εφαρμογή', + scaleNoBorder : 'Χωρίς Περίγραμμα', + scaleFit : 'Ακριβές Μέγεθος', access : 'Script Access', // MISSING accessAlways : 'Always', // MISSING accessSameDomain: 'Same domain', // MISSING accessNever : 'Never', // MISSING - alignAbsBottom : 'Απόλυτα Κάτω (Abs Bottom)', - alignAbsMiddle : 'Απόλυτα στη Μέση (Abs Middle)', - alignBaseline : 'Γραμμή Βάσης (Baseline)', - alignTextTop : 'Κορυφή Κειμένου (Text Top)', + alignAbsBottom : 'Απόλυτα Κάτω', + alignAbsMiddle : 'Απόλυτα στη Μέση', + alignBaseline : 'Γραμμή Βάσης', + alignTextTop : 'Κορυφή Κειμένου', quality : 'Quality', // MISSING qualityBest : 'Best', // MISSING qualityHigh : 'High', // MISSING @@ -468,8 +468,8 @@ CKEDITOR.lang['el'] = windowMode : 'Window mode', // MISSING flashvars : 'Variables for Flash', // MISSING bgcolor : 'Χρώμα Υποβάθρου', - hSpace : 'Οριζόντιος Χώρος (HSpace)', - vSpace : 'Κάθετος Χώρος (VSpace)', + hSpace : 'Οριζόντιο Διάστημα', + vSpace : 'Κάθετο Διάστημα', validateSrc : 'Εισάγετε την τοποθεσία (URL) του υπερσυνδέσμου (Link)', validateHSpace : 'HSpace must be a number.', // MISSING validateVSpace : 'VSpace must be a number.' // MISSING @@ -478,7 +478,7 @@ CKEDITOR.lang['el'] = // Speller Pages Dialog spellCheck : { - toolbar : 'Ορθογραφικός έλεγχος', + toolbar : 'Ορθογραφικός Έλεγχος', title : 'Spell Check', // MISSING notAvailable : 'Sorry, but service is unavailable now.', // MISSING errorLoading : 'Error loading application service host: %s.', // MISSING @@ -490,11 +490,11 @@ CKEDITOR.lang['el'] = btnReplaceAll : 'Αντικατάσταση όλων', btnUndo : 'Αναίρεση', noSuggestions : '- Δεν υπάρχουν προτάσεις -', - progress : 'Ορθογραφικός έλεγχος σε εξέλιξη...', + progress : 'Γίνεται ορθογραφικός έλεγχος...', noMispell : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν βρέθηκαν λάθη', noChanges : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν άλλαξαν λέξεις', - oneChange : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Μια λέξη άλλαξε', - manyChanges : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: %1 λέξεις άλλαξαν', + oneChange : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Άλλαξε μια λέξη', + manyChanges : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Άλλαξαν %1 λέξεις', ieSpellDownload : 'Δεν υπάρχει εγκατεστημένος ορθογράφος. Θέλετε να τον κατεβάσετε τώρα;' }, @@ -511,8 +511,8 @@ CKEDITOR.lang['el'] = eleTitle : '%1 element' // MISSING }, - numberedlist : 'Λίστα με Αριθμούς', - bulletedlist : 'Λίστα με Bullets', + numberedlist : 'Εισαγωγή/Απομάκρυνση Αριθμημένης Λίστας', + bulletedlist : 'Εισαγωγή/Απομάκρυνση Λίστας Κουκκίδων', indent : 'Αύξηση Εσοχής', outdent : 'Μείωση Εσοχής', @@ -521,17 +521,17 @@ CKEDITOR.lang['el'] = left : 'Στοίχιση Αριστερά', center : 'Στοίχιση στο Κέντρο', right : 'Στοίχιση Δεξιά', - block : 'Πλήρης Στοίχιση (Block)' + block : 'Πλήρης Στοίχιση' }, - blockquote : 'Block Quote', // MISSING + blockquote : 'Περιοχή Παράθεσης', clipboard : { title : 'Επικόλληση', cutError : 'Οι ρυθμίσεις ασφαλείας του φυλλομετρητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).', copyError : 'Οι ρυθμίσεις ασφαλείας του φυλλομετρητή σας δεν επιτρέπουν την επιλεγμένη εργασία αντιγραφής. Χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+C).', - pasteMsg : 'Παρακαλώ επικολήστε στο ακόλουθο κουτί χρησιμοποιόντας το πληκτρολόγιο (Ctrl/Cmd+V) και πατήστε OK.', + pasteMsg : 'Παρακαλώ επικολήστε στο ακόλουθο κουτί χρησιμοποιόντας το πληκτρολόγιο (Ctrl/Cmd+V) και πατήστε OK.', securityMsg : 'Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.', // MISSING pasteArea : 'Paste Area' // MISSING }, @@ -553,18 +553,18 @@ CKEDITOR.lang['el'] = templates : { button : 'Πρότυπα', - title : 'Πρότυπα περιεχομένου', + title : 'Πρότυπα Περιεχομένου', options : 'Template Options', // MISSING insertOption : 'Αντικατάσταση υπάρχοντων περιεχομένων', - selectPromptMsg : 'Παρακαλώ επιλέξτε πρότυπο για εισαγωγή στο πρόγραμμα
(τα υπάρχοντα περιεχόμενα θα χαθούν):', + selectPromptMsg : 'Παρακαλώ επιλέξτε πρότυπο για εισαγωγή στο πρόγραμμα', emptyListMsg : '(Δεν έχουν καθοριστεί πρότυπα)' }, - showBlocks : 'Show Blocks', // MISSING + showBlocks : 'Προβολή Περιοχών', stylesCombo : { - label : 'Στυλ', + label : 'Μορφές', panelTitle : 'Formatting Styles', // MISSING panelTitle1 : 'Block Styles', // MISSING panelTitle2 : 'Inline Styles', // MISSING @@ -573,8 +573,8 @@ CKEDITOR.lang['el'] = format : { - label : 'Μορφή Γραμματοσειράς', - panelTitle : 'Μορφή Γραμματοσειράς', + label : 'Μορφοποίηση', + panelTitle : 'Μορφοποίηση Παραγράφου', tag_p : 'Κανονικό', tag_pre : 'Μορφοποιημένο', @@ -618,22 +618,22 @@ CKEDITOR.lang['el'] = { label : 'Γραμματοσειρά', voiceLabel : 'Font', // MISSING - panelTitle : 'Γραμματοσειρά' + panelTitle : 'Όνομα Γραμματοσειράς' }, fontSize : { label : 'Μέγεθος', voiceLabel : 'Font Size', // MISSING - panelTitle : 'Μέγεθος' + panelTitle : 'Μέγεθος Γραμματοσειράς' }, colorButton : { - textColorTitle : 'Χρώμα Γραμμάτων', - bgColorTitle : 'Χρώμα Υποβάθρου', + textColorTitle : 'Χρώμα Κειμένου', + bgColorTitle : 'Χρώμα Φόντου', panelTitle : 'Colors', // MISSING - auto : 'Αυτόματο', + auto : 'Αυτόματα', more : 'Περισσότερα χρώματα...' }, @@ -726,8 +726,8 @@ CKEDITOR.lang['el'] = copy : 'Copyright © $1. All rights reserved.' // MISSING }, - maximize : 'Maximize', // MISSING - minimize : 'Minimize', // MISSING + maximize : 'Μεγιστοποίηση', + minimize : 'Ελαχιστοποίηση', fakeobjects : { @@ -738,7 +738,7 @@ CKEDITOR.lang['el'] = unknown : 'Unknown Object' // MISSING }, - resize : 'Drag to resize', // MISSING + resize : 'Σύρσιμο για αλλαγή μεγέθους', colordialog : { @@ -749,8 +749,8 @@ CKEDITOR.lang['el'] = clear : 'Clear' // MISSING }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'Σύμπτηξη Εργαλειοθήκης', + toolbarExpand : 'Ανάπτυξη Εργαλειοθήκης', toolbarGroups : { @@ -775,15 +775,15 @@ CKEDITOR.lang['el'] = docprops : { - label : 'Ιδιότητες εγγράφου', - title : 'Ιδιότητες εγγράφου', + label : 'Ιδιότητες Εγγράφου', + title : 'Ιδιότητες Εγγράφου', design : 'Design', // MISSING meta : 'Δεδομένα Meta', chooseColor : 'Choose', // MISSING - other : '<άλλος>', - docTitle : 'Τίτλος σελίδας', - charset : 'Κωδικοποίηση χαρακτήρων', - charsetOther : 'Άλλη κωδικοποίηση χαρακτήρων', + other : 'Άλλο...', + docTitle : 'Τίτλος Σελίδας', + charset : 'Κωδικοποίηση Χαρακτήρων', + charsetOther : 'Άλλη Κωδικοποίηση Χαρακτήρων', charsetASCII : 'ASCII', // MISSING charsetCE : 'Κεντρικής Ευρώπης', charsetCT : 'Παραδοσιακά κινέζικα (Big5)', @@ -809,7 +809,7 @@ CKEDITOR.lang['el'] = metaKeywords : 'Λέξεις κλειδιά δείκτες εγγράφου (διαχωρισμός με κόμμα)', metaDescription : 'Περιγραφή εγγράφου', metaAuthor : 'Συγγραφέας', - metaCopyright : 'Πνευματικά δικαιώματα', + metaCopyright : 'Πνευματικά Δικαιώματα', previewHtml : '

This is some sample text. You are using CKEditor.

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

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

Tio estas sampla teksto. Vi estas uzanta CKEditor.

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

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

Hetta er ein royndartekstur. Tygum brúka CKEditor.

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

This is some sample text. You are using CKEditor.

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

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

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

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

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

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

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

Ovo je neki primjer teksta. Vi koristite CKEditor.

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

This is some sample text. You are using CKEditor.

' // MISSING + } +}; diff --git a/_source/lang/mn.js b/_source/lang/mn.js index 99fef98..3ca824a 100644 --- a/_source/lang/mn.js +++ b/_source/lang/mn.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/ms.js b/_source/lang/ms.js index 2c27818..969652d 100644 --- a/_source/lang/ms.js +++ b/_source/lang/ms.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/nb.js b/_source/lang/nb.js index 1ae1f34..8bf1673 100644 --- a/_source/lang/nb.js +++ b/_source/lang/nb.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -124,7 +124,7 @@ CKEDITOR.lang['nb'] = invalidCssLength : 'Den angitte verdien for feltet "%1" mÃ¥ være et positivt tall med eller uten en gyldig CSS-mÃ¥lingsenhet (px, %, in, cm, mm, em, ex, pt, eller pc).', invalidHtmlLength : 'Den angitte verdien for feltet "%1" mÃ¥ være et positivt tall med eller uten en gyldig HTML-mÃ¥lingsenhet (px eller %).', invalidInlineStyle : 'Verdi angitt for inline stil mÃ¥ bestÃ¥ av en eller flere sett med formatet "navn : verdi", separert med semikolon', - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + cssLengthTooltip : 'Skriv inn et tall for en piksel-verdi eller et tall med en gyldig CSS-enhet (px, %, in, cm, mm, em, ex, pt, eller pc).', // Put the voice-only part of the label in the span. unavailable : '%1, utilgjenglig' @@ -529,8 +529,8 @@ CKEDITOR.lang['nb'] = clipboard : { title : 'Lim inn', - cutError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl/Cmd+X).', - copyError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl/Cmd+C).', + cutError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).', + copyError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snarveien (Ctrl/Cmd+C).', pasteMsg : 'Vennligst lim inn i følgende boks med tastaturet (Ctrl/Cmd+V) og trykk OK.', securityMsg : 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du mÃ¥ derfor lime det inn pÃ¥ nytt i dette vinduet.', pasteArea : 'InnlimingsomrÃ¥de' diff --git a/_source/lang/nl.js b/_source/lang/nl.js index 878b1fa..2bb8f86 100644 --- a/_source/lang/nl.js +++ b/_source/lang/nl.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -48,7 +48,7 @@ CKEDITOR.lang['nl'] = print : 'Printen', underline : 'Onderstreept', bold : 'Vet', - italic : 'Schuingedrukt', + italic : 'Cursief', selectAll : 'Alles selecteren', removeFormat : 'Opmaak verwijderen', strike : 'Doorhalen', @@ -81,7 +81,7 @@ CKEDITOR.lang['nl'] = select : 'Selectieveld', imageButton : 'Afbeeldingsknop', notSet : '', - id : 'Kenmerk', + id : 'Id', name : 'Naam', langDir : 'Schrijfrichting', langDirLtr : 'Links naar rechts (LTR)', @@ -89,7 +89,7 @@ CKEDITOR.lang['nl'] = langCode : 'Taalcode', longDescr : 'Lange URL-omschrijving', cssClass : 'Stylesheet-klassen', - advisoryTitle : 'Aanbevolen titel', + advisoryTitle : 'Adviserende titel', cssStyle : 'Stijl', ok : 'OK', cancel : 'Annuleren', @@ -101,14 +101,14 @@ CKEDITOR.lang['nl'] = confirmNewPage : 'Alle aangebrachte wijzigingen gaan verloren. Weet u zeker dat u een nieuwe pagina wilt openen?', confirmCancel : 'Enkele opties zijn gewijzigd. Weet u zeker dat u dit dialoogvenster wilt sluiten?', options : 'Opties', - target : 'Doel', + target : 'Doelvenster', targetNew : 'Nieuw venster (_blank)', targetTop : 'Hele venster (_top)', targetSelf : 'Zelfde venster (_self)', targetParent : 'Origineel venster (_parent)', langDirLTR : 'Links naar rechts (LTR)', langDirRTL : 'Rechts naar links (RTL)', - styles : 'Stijlen', + styles : 'Stijl', cssClasses : 'Stylesheet klassen', width : 'Breedte', height : 'Hoogte', @@ -118,7 +118,7 @@ CKEDITOR.lang['nl'] = alignCenter : 'Centreren', alignTop : 'Boven', alignMiddle : 'Midden', - alignBottom : 'Beneden', + alignBottom : 'Onder', invalidHeight : 'De hoogte moet een getal zijn.', invalidWidth : 'De breedte moet een getal zijn.', invalidCssLength : 'Waarde in veld "%1" moet een positief nummer zijn, met of zonder een geldige CSS meeteenheid (px, %, in, cm, mm, em, ex, pt of pc).', @@ -132,7 +132,7 @@ CKEDITOR.lang['nl'] = contextmenu : { - options : 'Context menu opties' + options : 'Contextmenu opties' }, // Special char dialog. @@ -151,7 +151,7 @@ CKEDITOR.lang['nl'] = menu : 'Link wijzigen', title : 'Link', info : 'Linkomschrijving', - target : 'Doel', + target : 'Doelvenster', upload : 'Upload', advanced : 'Geavanceerd', type : 'Linktype', @@ -159,14 +159,14 @@ CKEDITOR.lang['nl'] = toAnchor : 'Interne link in pagina', toEmail : 'E-mail', targetFrame : '', - targetPopup : '', + targetPopup : '', targetFrameName : 'Naam doelframe', targetPopupName : 'Naam popupvenster', popupFeatures : 'Instellingen popupvenster', popupResizable : 'Herschaalbaar', popupStatusBar : 'Statusbalk', popupLocationBar: 'Locatiemenu', - popupToolbar : 'Menubalk', + popupToolbar : 'Werkbalk', popupMenuBar : 'Menubalk', popupFullScreen : 'Volledig scherm (IE)', popupScrollBars : 'Schuifbalken', @@ -179,9 +179,9 @@ CKEDITOR.lang['nl'] = langDirRTL : 'Rechts naar links (RTL)', acccessKey : 'Toegangstoets', name : 'Naam', - langCode : 'Schrijfrichting', + langCode : 'Taalcode', tabIndex : 'Tabvolgorde', - advisoryTitle : 'Aanbevolen titel', + advisoryTitle : 'Adviserende titel', advisoryContentType : 'Aanbevolen content-type', cssClasses : 'Stylesheet-klassen', charset : 'Karakterset van gelinkte bron', @@ -216,16 +216,16 @@ CKEDITOR.lang['nl'] = bulletedTitle : 'Eigenschappen lijst met opsommingstekens', type : 'Type', start : 'Start', - validateStartNumber :'Starnummer van de lijst moet een heel nummer zijn.', + validateStartNumber :'Startnummer van de lijst moet een heel nummer zijn.', circle : 'Cirkel', disc : 'Schijf', square : 'Vierkant', none : 'Geen', notset : '', - armenian : 'Armeense numering', - georgian : 'Greorgische numering (an, ban, gan, etc.)', + armenian : 'Armeense nummering', + georgian : 'Georgische nummering (an, ban, gan, etc.)', lowerRoman : 'Romeins kleine letters (i, ii, iii, iv, v, etc.)', - upperRoman : 'Romeins hoofdletters (I, II, III, IV, V, etc.)', + upperRoman : 'Romeinse hoofdletters (I, II, III, IV, V, etc.)', lowerAlpha : 'Kleine letters (a, b, c, d, e, etc.)', upperAlpha : 'Hoofdletters (A, B, C, D, E, etc.)', lowerGreek : 'Grieks kleine letters (alpha, beta, gamma, etc.)', @@ -247,7 +247,7 @@ CKEDITOR.lang['nl'] = matchWord : 'Hele woord moet voorkomen', matchCyclic : 'Doorlopend zoeken', replaceAll : 'Alles vervangen', - replaceSuccessMsg : '%1 resulaten vervangen.' + replaceSuccessMsg : '%1 resultaten vervangen.' }, // Table Dialog @@ -275,8 +275,8 @@ CKEDITOR.lang['nl'] = invalidRows : 'Het aantal rijen moet een getal zijn groter dan 0.', invalidCols : 'Het aantal kolommen moet een getal zijn groter dan 0.', invalidBorder : 'De rand breedte moet een getal zijn.', - invalidWidth : 'De tabel breedte moet een getal zijn.', - invalidHeight : 'De tabel hoogte moet een getal zijn.', + invalidWidth : 'De tabelbreedte moet een getal zijn.', + invalidHeight : 'De tabelhoogte moet een getal zijn.', invalidCellSpacing : 'Afstand tussen cellen moet een getal zijn.', invalidCellPadding : 'Ruimte in de cel moet een getal zijn.', @@ -470,7 +470,7 @@ CKEDITOR.lang['nl'] = bgcolor : 'Achtergrondkleur', hSpace : 'HSpace', vSpace : 'VSpace', - validateSrc : 'Geef de link van de URL', + validateSrc : 'De URL mag niet leeg zijn.', validateHSpace : 'De HSpace moet een getal zijn.', validateVSpace : 'De VSpace moet een getal zijn.' }, @@ -481,7 +481,7 @@ CKEDITOR.lang['nl'] = toolbar : 'Spellingscontrole', title : 'Spellingscontrole', notAvailable : 'Excuses, deze dienst is momenteel niet beschikbaar.', - errorLoading : 'Er is een fout opgetreden bij het laden van de diesnt: %s.', + errorLoading : 'Er is een fout opgetreden bij het laden van de dienst: %s.', notInDic : 'Niet in het woordenboek', changeTo : 'Wijzig in', btnIgnore : 'Negeren', @@ -489,13 +489,13 @@ CKEDITOR.lang['nl'] = btnReplace : 'Vervangen', btnReplaceAll : 'Alles vervangen', btnUndo : 'Ongedaan maken', - noSuggestions : '-Geen suggesties-', + noSuggestions : '- Geen suggesties -', progress : 'Bezig met spellingscontrole...', noMispell : 'Klaar met spellingscontrole: geen fouten gevonden', noChanges : 'Klaar met spellingscontrole: geen woorden aangepast', oneChange : 'Klaar met spellingscontrole: één woord aangepast', manyChanges : 'Klaar met spellingscontrole: %1 woorden aangepast', - ieSpellDownload : 'De spellingscontrole niet geïnstalleerd. Wilt u deze nu downloaden?' + ieSpellDownload : 'De spellingscontrole is niet geïnstalleerd. Wilt u deze nu downloaden?' }, smiley : @@ -513,8 +513,8 @@ CKEDITOR.lang['nl'] = numberedlist : 'Genummerde lijst', bulletedlist : 'Opsomming', - indent : 'Inspringen vergroten', - outdent : 'Inspringen verkleinen', + indent : 'Inspringing vergroten', + outdent : 'Inspringing verkleinen', justify : { @@ -531,7 +531,7 @@ CKEDITOR.lang['nl'] = title : 'Plakken', cutError : 'De beveiligingsinstelling van de browser verhinderen het automatisch knippen. Gebruik de sneltoets Ctrl/Cmd+X van het toetsenbord.', copyError : 'De beveiligingsinstelling van de browser verhinderen het automatisch kopiëren. Gebruik de sneltoets Ctrl/Cmd+C van het toetsenbord.', - pasteMsg : 'Plak de tekst in het volgende vak gebruik makend van uw toetsenbord (Ctrl/Cmd+V) en klik op OK.', + pasteMsg : 'Plak de tekst in het volgende vak gebruikmakend van uw toetsenbord (Ctrl/Cmd+V) en klik op OK.', securityMsg : 'Door de beveiligingsinstellingen van uw browser is het niet mogelijk om direct vanuit het klembord in de editor te plakken. Middels opnieuw plakken in dit venster kunt u de tekst alsnog plakken in de editor.', pasteArea : 'Plakgebied' }, @@ -553,7 +553,7 @@ CKEDITOR.lang['nl'] = templates : { button : 'Sjablonen', - title : 'Inhoud sjabonen', + title : 'Inhoud sjablonen', options : 'Template opties', insertOption : 'Vervang de huidige inhoud', selectPromptMsg : 'Selecteer het sjabloon dat in de editor geopend moet worden (de actuele inhoud gaat verloren):', @@ -567,7 +567,7 @@ CKEDITOR.lang['nl'] = label : 'Stijl', panelTitle : 'Opmaakstijlen', panelTitle1 : 'Blok stijlen', - panelTitle2 : 'In-line stijlen', + panelTitle2 : 'Inline stijlen', panelTitle3 : 'Object stijlen' }, @@ -597,7 +597,7 @@ CKEDITOR.lang['nl'] = IdInputLabel : 'Id', languageCodeInputLabel : ' Taalcode', inlineStyleInputLabel : 'Inline stijl', - advisoryTitleInputLabel : 'informatieve titel', + advisoryTitleInputLabel : 'Adviserende titel', langDirLabel : 'Schrijfrichting', langDirLTRLabel : 'Links naar rechts (LTR)', langDirRTLLabel : 'Rechts naar links (RTL)', @@ -720,7 +720,7 @@ CKEDITOR.lang['nl'] = { title : 'Over CKEditor', dlgTitle : 'Over CKEditor', - help : 'Bekijk $1 voor hulp.', + help : 'Bekijk de $1 voor hulp.', userGuide : 'CKEditor gebruiksaanwijzing', moreInfo : 'Voor licentie informatie, bezoek onze website:', copy : 'Copyright © $1. Alle rechten voorbehouden.' @@ -731,7 +731,7 @@ CKEDITOR.lang['nl'] = fakeobjects : { - anchor : 'Anker', + anchor : 'Interne link', flash : 'Flash animatie', iframe : 'IFrame', hiddenfield : 'Verborgen veld', @@ -745,7 +745,7 @@ CKEDITOR.lang['nl'] = title : 'Selecteer kleur', options : 'Kleuropties', highlight : 'Actief', - selected : 'Geselecteerd', + selected : 'Geselecteerde kleur', clear : 'Wissen' }, @@ -779,14 +779,14 @@ CKEDITOR.lang['nl'] = title : 'Documenteigenschappen', design : 'Ontwerp', meta : 'Meta tags', - chooseColor : 'Kiezen', + chooseColor : 'Kies', other : 'Anders...', docTitle : 'Paginatitel', charset : 'Tekencodering', charsetOther : 'Andere tekencodering', charsetASCII : 'ASCII', charsetCE : 'Centraal Europees', - charsetCT : 'Tranditioneel Chinees (Big5)', + charsetCT : 'Traditioneel Chinees (Big5)', charsetCR : 'Cyrillisch', charsetGR : 'Grieks', charsetJP : 'Japans', diff --git a/_source/lang/no.js b/_source/lang/no.js index 18d4a6d..663735a 100644 --- a/_source/lang/no.js +++ b/_source/lang/no.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -124,7 +124,7 @@ CKEDITOR.lang['no'] = invalidCssLength : 'Den angitte verdien for feltet "%1" mÃ¥ være et positivt tall med eller uten en gyldig CSS-mÃ¥lingsenhet (px, %, in, cm, mm, em, ex, pt, eller pc).', invalidHtmlLength : 'Den angitte verdien for feltet "%1" mÃ¥ være et positivt tall med eller uten en gyldig HTML-mÃ¥lingsenhet (px eller %).', invalidInlineStyle : 'Verdi angitt for inline stil mÃ¥ bestÃ¥ av en eller flere sett med formatet "navn : verdi", separert med semikolon', - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + cssLengthTooltip : 'Skriv inn et tall for en piksel-verdi eller et tall med en gyldig CSS-enhet (px, %, in, cm, mm, em, ex, pt, eller pc).', // Put the voice-only part of the label in the span. unavailable : '%1, utilgjenglig' @@ -529,8 +529,8 @@ CKEDITOR.lang['no'] = clipboard : { title : 'Lim inn', - cutError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk klipping av tekst. Vennligst bruk snareveien (Ctrl/Cmd+X).', - copyError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snareveien (Ctrl/Cmd+C).', + cutError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).', + copyError : 'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snarveien (Ctrl/Cmd+C).', pasteMsg : 'Vennligst lim inn i følgende boks med tastaturet (Ctrl/Cmd+V) og trykk OK.', securityMsg : 'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du mÃ¥ derfor lime det inn pÃ¥ nytt i dette vinduet.', pasteArea : 'InnlimingsomrÃ¥de' diff --git a/_source/lang/pl.js b/_source/lang/pl.js index 1f21466..5bdafa5 100644 --- a/_source/lang/pl.js +++ b/_source/lang/pl.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -55,7 +55,7 @@ CKEDITOR.lang['pl'] = subscript : 'Indeks dolny', superscript : 'Indeks górny', horizontalrule : 'Wstaw poziomą linię', - pagebreak : 'Wstaw pdodział strony', + pagebreak : 'Wstaw podział strony', pagebreakAlt : 'Wstaw podział strony', unlink : 'Usuń odnośnik', undo : 'Cofnij', @@ -302,7 +302,7 @@ CKEDITOR.lang['pl'] = bgColor : 'Kolor tła', borderColor : 'Kolor obramowania', data : 'Dane', - header : 'Nagłowek', + header : 'Nagłówek', yes : 'Tak', no : 'Nie', invalidWidth : 'Szerokość komórki musi być liczbą.', diff --git a/_source/lang/pt-br.js b/_source/lang/pt-br.js index 55fc167..f937e3c 100644 --- a/_source/lang/pt-br.js +++ b/_source/lang/pt-br.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/pt.js b/_source/lang/pt.js index 33bcf89..7c75809 100644 --- a/_source/lang/pt.js +++ b/_source/lang/pt.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -34,8 +34,8 @@ CKEDITOR.lang['pt'] = editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Editor de barras de ferramentas', + editor : 'Editor de texto enriquecido', // Toolbar buttons without dialogs. source : 'Fonte', @@ -56,7 +56,7 @@ CKEDITOR.lang['pt'] = superscript : 'Inferior à Linha', horizontalrule : 'Inserir Linha Horizontal', pagebreak : 'Inserir Quebra de Página', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'Quebra de página', unlink : 'Eliminar Hiperligação', undo : 'Anular', redo : 'Repetir', @@ -93,22 +93,22 @@ CKEDITOR.lang['pt'] = cssStyle : 'Estilo', ok : 'OK', cancel : 'Cancelar', - close : 'Close', // MISSING - preview : 'Preview', // MISSING - generalTab : 'General', // MISSING + close : 'Fechar', + preview : 'Pré-visualização', + generalTab : 'Geral', advancedTab : 'Avançado', validateNumberFailed : 'This value is not a number.', // MISSING confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING + options : 'Opções', + target : 'Alvo', + targetNew : 'Nova Janela (_blank)', + targetTop : 'Janela superior (_top)', + targetSelf : 'Mesma janela (_self)', targetParent : 'Parent Window (_parent)', // MISSING langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING + langDirRTL : 'Direita para Esquerda (RTL)', + styles : 'Estilo', cssClasses : 'Stylesheet Classes', // MISSING width : 'Largura', height : 'Altura', @@ -132,7 +132,7 @@ CKEDITOR.lang['pt'] = contextmenu : { - options : 'Context Menu Options' // MISSING + options : 'Menu de opções de contexto' }, // Special char dialog. @@ -155,7 +155,7 @@ CKEDITOR.lang['pt'] = upload : 'Carregar', advanced : 'Avançado', type : 'Tipo de Hiperligação', - toUrl : 'URL', // MISSING + toUrl : 'URL', toAnchor : 'Referência a esta página', toEmail : 'E-Mail', targetFrame : '', @@ -163,7 +163,7 @@ CKEDITOR.lang['pt'] = targetFrameName : 'Nome do Frame Destino', targetPopupName : 'Nome da Janela de Popup', popupFeatures : 'Características de Janela de Popup', - popupResizable : 'Resizable', // MISSING + popupResizable : 'Redimensionável', popupStatusBar : 'Barra de Estado', popupLocationBar: 'Barra de localização', popupToolbar : 'Barra de Ferramentas', @@ -173,7 +173,7 @@ CKEDITOR.lang['pt'] = popupDependent : 'Dependente (Netscape)', popupLeft : 'Posição Esquerda', popupTop : 'Posição Direita', - id : 'Id', // MISSING + id : 'ID', langDir : 'Orientação de idioma', langDirLTR : 'Esquerda à Direita (LTR)', langDirRTL : 'Direita a Esquerda (RTL)', @@ -186,7 +186,7 @@ CKEDITOR.lang['pt'] = cssClasses : 'Classes de Estilo de Folhas Classes', charset : 'Fonte de caracteres vinculado', styles : 'Estilo', - rel : 'Relationship', // MISSING + rel : 'Relação', selectAnchor : 'Seleccionar una referência', anchorName : 'Por Nome de Referência', anchorId : 'Por ID de elemento', @@ -214,15 +214,15 @@ CKEDITOR.lang['pt'] = { numberedTitle : 'Numbered List Properties', // MISSING bulletedTitle : 'Bulleted List Properties', // MISSING - type : 'Type', // MISSING - start : 'Start', // MISSING + type : 'Tipo', + start : 'Iniciar', validateStartNumber :'List start number must be a whole number.', // MISSING - circle : 'Circle', // MISSING - disc : 'Disc', // MISSING - square : 'Square', // MISSING - none : 'None', // MISSING - notset : '', // MISSING - armenian : 'Armenian numbering', // MISSING + circle : 'Círculo', + disc : 'Disco', + square : 'Quadrado', + none : 'Nenhum', + notset : '', + armenian : 'Numeração armênia', georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING @@ -524,7 +524,7 @@ CKEDITOR.lang['pt'] = block : 'Justificado' }, - blockquote : 'Block Quote', // MISSING + blockquote : 'Bloco de citação', clipboard : { @@ -560,7 +560,7 @@ CKEDITOR.lang['pt'] = emptyListMsg : '(Sem modelos definidos)' }, - showBlocks : 'Show Blocks', // MISSING + showBlocks : 'Exibir blocos', stylesCombo : { @@ -726,8 +726,8 @@ CKEDITOR.lang['pt'] = copy : 'Copyright © $1. All rights reserved.' // MISSING }, - maximize : 'Maximize', // MISSING - minimize : 'Minimize', // MISSING + maximize : 'Maximizar', + minimize : 'Minimizar', fakeobjects : { @@ -738,7 +738,7 @@ CKEDITOR.lang['pt'] = unknown : 'Unknown Object' // MISSING }, - resize : 'Drag to resize', // MISSING + resize : 'Arraste para redimensionar', colordialog : { @@ -749,8 +749,8 @@ CKEDITOR.lang['pt'] = clear : 'Clear' // MISSING }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'Colapsar Barra', + toolbarExpand : 'Expandir Barra', toolbarGroups : { diff --git a/_source/lang/ro.js b/_source/lang/ro.js index 90c1e0d..f1b5814 100644 --- a/_source/lang/ro.js +++ b/_source/lang/ro.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/ru.js b/_source/lang/ru.js index 583abae..80e1ddc 100644 --- a/_source/lang/ru.js +++ b/_source/lang/ru.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/sk.js b/_source/lang/sk.js index 1d03cc2..61fb30e 100644 --- a/_source/lang/sk.js +++ b/_source/lang/sk.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/sl.js b/_source/lang/sl.js index 88d3d25..7e50374 100644 --- a/_source/lang/sl.js +++ b/_source/lang/sl.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/sr-latn.js b/_source/lang/sr-latn.js index 7b47d2c..63edc58 100644 --- a/_source/lang/sr-latn.js +++ b/_source/lang/sr-latn.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/sr.js b/_source/lang/sr.js index 63041e8..9b80500 100644 --- a/_source/lang/sr.js +++ b/_source/lang/sr.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/sv.js b/_source/lang/sv.js index 7c1608e..a725b81 100644 --- a/_source/lang/sv.js +++ b/_source/lang/sv.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/th.js b/_source/lang/th.js index 13871e8..6b24808 100644 --- a/_source/lang/th.js +++ b/_source/lang/th.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/lang/tr.js b/_source/lang/tr.js index c8a093d..4e36c4a 100644 --- a/_source/lang/tr.js +++ b/_source/lang/tr.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -33,7 +33,7 @@ CKEDITOR.lang['tr'] = editorTitle : 'Zengin metin editörü, %1, yardım için ALT 0 tuşuna basın.', // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING + toolbars : 'Araç çubukları Editörü', editor : 'Zengin Metin Editörü', // Toolbar buttons without dialogs. @@ -55,7 +55,7 @@ CKEDITOR.lang['tr'] = superscript : 'Üst Simge', horizontalrule : 'Yatay Satır Ekle', pagebreak : 'Sayfa Sonu Ekle', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : 'Sayfa Sonu', unlink : 'Köprü Kaldır', undo : 'Geri Al', redo : 'Tekrarla', @@ -105,10 +105,10 @@ CKEDITOR.lang['tr'] = targetTop : 'Enüst Pencere (_top)', targetSelf : 'Aynı Pencere (_self)', targetParent : 'Ana Pencere (_parent)', - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING - cssClasses : 'Stylesheet Classes', // MISSING + langDirLTR : 'Soldan Sağa (LTR)', + langDirRTL : 'Sağdan Sola (RTL)', + styles : 'Stil', + cssClasses : 'Stil sayfası Sınıfı', width : 'Genişlik', height : 'Yükseklik', align : 'Hizalama', @@ -120,10 +120,10 @@ CKEDITOR.lang['tr'] = alignBottom : 'Alt', invalidHeight : 'Yükseklik sayı olmalıdır.', invalidWidth : 'Genişlik bir sayı olmalıdır.', - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidCssLength : 'Belirttiğiniz sayı "%1" alanı için pozitif bir sayı CSS birim değeri olmalıdır (px, %, in, cm, mm, em, ex, pt, veya pc).', + invalidHtmlLength : 'Belirttiğiniz sayı "%1" alanı için pozitif bir sayı HTML birim değeri olmalıdır (px veya %).', + invalidInlineStyle : 'Noktalı virgülle ayrılmış: "değer adı," inline stil için belirtilen değer biçiminde bir veya daha fazla dizilerden oluşmalıdır.', + cssLengthTooltip : 'Pikseller için bir numara girin veya geçerli bir CSS numarası (px, %, in, cm, mm, em, ex, pt, veya pc).', // Put the voice-only part of the label in the span. unavailable : '%1, hazır değildir' @@ -185,7 +185,7 @@ CKEDITOR.lang['tr'] = cssClasses : 'Biçem Sayfası Sınıfları', charset : 'Bağlı Kaynak Karakter Gurubu', styles : 'Biçem', - rel : 'Relationship', // MISSING + rel : 'Ä°lişki', selectAnchor : 'Bağlantı Seç', anchorName : 'Bağlantı Adı ile', anchorId : 'Eleman Kimlik Numarası ile', @@ -205,7 +205,7 @@ CKEDITOR.lang['tr'] = title : 'Bağlantı Özellikleri', name : 'Bağlantı Adı', errorName : 'Lütfen bağlantı için ad giriniz', - remove : 'Remove Anchor' // MISSING + remove : 'Bağlantıyı Kaldır' }, // List style dialog @@ -215,7 +215,7 @@ CKEDITOR.lang['tr'] = bulletedTitle : 'Simgeli Liste Özellikleri', type : 'Tipi', start : 'Başla', - validateStartNumber :'List start number must be a whole number.', // MISSING + validateStartNumber :'Liste başlangıcı tam sayı olmalıdır.', circle : 'Daire', disc : 'Disk', square : 'Kare', @@ -241,7 +241,7 @@ CKEDITOR.lang['tr'] = findWhat : 'Aranan:', replaceWith : 'Bununla değiştir:', notFoundMsg : 'Belirtilen yazı bulunamadı.', - findOptions : 'Find Options', // MISSING + findOptions : 'Seçenekleri Bul', matchCase : 'Büyük/küçük harf duyarlı', matchWord : 'Kelimenin tamamı uysun', matchCyclic : 'Eşleşen döngü', @@ -507,7 +507,7 @@ CKEDITOR.lang['tr'] = elementsPath : { eleLabel : 'Elementlerin yolu', - eleTitle : '%1 element' + eleTitle : '%1 elementi' }, numberedlist : 'Numaralı Liste', @@ -532,7 +532,7 @@ CKEDITOR.lang['tr'] = copyError : 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kopyalama işlemine izin vermiyor. İşlem için (Ctrl/Cmd+C) tuşlarını kullanın.', pasteMsg : 'Lütfen aşağıdaki kutunun içine yapıştırın. (Ctrl/Cmd+V) ve Tamam butonunu tıklayın.', securityMsg : 'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin direkt olarak panoya erişimine izin vermiyor. Bu pencere içine tekrar yapıştırmalısınız..', - pasteArea : 'Paste Area' + pasteArea : 'Yapıştırma Alanı' }, pastefromword : @@ -606,11 +606,11 @@ CKEDITOR.lang['tr'] = iframe : { - title : 'IFrame Properties', // MISSING - toolbar : 'IFrame', // MISSING - noUrl : 'Please type the iframe URL', // MISSING - scrolling : 'Enable scrollbars', // MISSING - border : 'Show frame border' // MISSING + title : 'IFrame Özellikleri', + toolbar : 'IFrame', + noUrl : 'Lütfen IFrame köprü (URL) bağlantısını yazın', + scrolling : 'Kaydırma çubuklarını aktif et', + border : 'Çerceve sınırlarını göster' }, font : @@ -684,10 +684,10 @@ CKEDITOR.lang['tr'] = { title : 'Girmiş olduğunuz kelime denetimi', opera_title : 'Opera tarafından desteklenmemektedir', - enable : 'SCAYT etkinleştir', - disable : 'SCAYT pasifleştir', - about : 'SCAYT hakkında', - toggle : 'SCAYT değiştir', + enable : 'SCAYT\'ı etkinleştir', + disable : 'SCAYT\'ı pasifleştir', + about : 'SCAYT\'ı hakkında', + toggle : 'SCAYT\'ı değiştir', options : 'Seçenekler', langs : 'Diller', moreSuggestions : 'Daha fazla öneri', @@ -710,7 +710,7 @@ CKEDITOR.lang['tr'] = dic_restore : 'Geri al', dic_delete : 'Sil', dic_rename : 'Yeniden adlandır', - dic_info : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type it\'s name and click the Restore button.', + dic_info : 'Başlangıçta Kullanıcı Sözlüğü bir çerezde saklanır. Ancak, Çerezler boyutu sınırlıdır. Kullanıcı Sözlüğü, çerezin içinde saklanamayacağı bir noktada, bizim sunucularımızın içindeki sözlükte saklanabilir. Bizim sunucu üzerinde kişisel Sözlük saklamanız için, Sözlüğe bir ad belirtmelisiniz. Eğer zaten bir saklı Sözlük varsa, lütfen adını yazın ve Geri Yükle düğmesini tıklayın.', aboutTab : 'Hakkında' }, @@ -719,8 +719,8 @@ CKEDITOR.lang['tr'] = { title : 'CKEditor Hakkında', dlgTitle : 'CKEditor Hakkında', - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING + help : 'Yardım için $1 kontrol edin.', + userGuide : 'CKEditor Kullanıcı Kılavuzu', moreInfo : 'Lisanslama hakkında daha fazla bilgi almak için lütfen sitemizi ziyaret edin:', copy : 'Copyright © $1. Tüm hakları saklıdır.' }, @@ -732,8 +732,8 @@ CKEDITOR.lang['tr'] = { anchor : 'Bağlantı', flash : 'Flash Animasyonu', - iframe : 'IFrame', // MISSING - hiddenfield : 'Hidden Field', // MISSING + iframe : 'IFrame', + hiddenfield : 'Gizli Alan', unknown : 'Bilinmeyen Nesne' }, @@ -748,42 +748,42 @@ CKEDITOR.lang['tr'] = clear : 'Temizle' }, - toolbarCollapse : 'Toolbar\'ı topla', - toolbarExpand : 'Toolbar\'ı aç', + toolbarCollapse : 'Araç çubuklarını topla', + toolbarExpand : 'Araç çubuklarını aç', toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Belge', + clipboard : 'Pano/Geri al', + editing : 'Düzenleme', + forms : 'Formlar', + basicstyles : 'Temel Stiller', + paragraph : 'Paragraf', + links : 'Bağlantılar', + insert : 'Ekle', + styles : 'Stiller', + colors : 'Renkler', + tools : 'Araçlar' }, bidi : { - ltr : 'Text direction from left to right', // MISSING - rtl : 'Text direction from right to left' // MISSING + ltr : 'Metin yönü soldan sağa', + rtl : 'Metin yönü sağdan sola' }, docprops : { label : 'Belge Özellikleri', title : 'Belge Özellikleri', - design : 'Design', // MISSING + design : 'Dizayn', meta : 'Tanım Bilgisi (Meta)', chooseColor : 'Seçiniz', other : '', docTitle : 'Sayfa Başlığı', charset : 'Karakter Kümesi Kodlaması', charsetOther : 'Diğer Karakter Kümesi Kodlaması', - charsetASCII : 'ASCII', // MISSING + charsetASCII : 'ASCII', charsetCE : 'Orta Avrupa', charsetCT : 'Geleneksel Çince (Big5)', charsetCR : 'Kiril', @@ -791,7 +791,7 @@ CKEDITOR.lang['tr'] = charsetJP : 'Japonca', charsetKR : 'Korece', charsetTR : 'Türkçe', - charsetUN : 'Unicode (UTF-8)', // MISSING + charsetUN : 'Evrensel Kod (UTF-8)', charsetWE : 'Batı Avrupa', docType : 'Belge Türü Başlığı', docTypeOther : 'Diğer Belge Türü Başlığı', @@ -809,6 +809,6 @@ CKEDITOR.lang['tr'] = metaDescription : 'Belge Tanımı', metaAuthor : 'Yazar', metaCopyright : 'Telif', - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

Bu bir örnek metindir. CKEditor kullanıyorsunuz.

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

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

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

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

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

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

This is some sample text. You are using CKEditor.

' // MISSING + previewHtml : '

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

' } }; diff --git a/_source/lang/zh-cn.js b/_source/lang/zh-cn.js index 5ab5bf6..60a954e 100644 --- a/_source/lang/zh-cn.js +++ b/_source/lang/zh-cn.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -607,8 +607,8 @@ CKEDITOR.lang['zh-cn'] = iframe : { - title : 'iFrame属性', - toolbar : 'iFrame', + title : 'IFrame 属性', + toolbar : 'IFrame', noUrl : '请输入框架的 URL', scrolling : '允许滚动条', border : '显示框架边框' @@ -810,6 +810,6 @@ CKEDITOR.lang['zh-cn'] = metaDescription : '页面说明', metaAuthor : '作者', metaCopyright : '版权', - previewHtml : '

This is some sample text. You are using CKEditor.

' + previewHtml : '

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

' } }; diff --git a/_source/lang/zh.js b/_source/lang/zh.js index eb9172d..cd40be6 100644 --- a/_source/lang/zh.js +++ b/_source/lang/zh.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -31,11 +31,11 @@ CKEDITOR.lang['zh'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING + editorTitle : '富文本編輯器,%1,按 ALT+0 以獲得幫助。', // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : '編輯器工具欄', + editor : '富文本編輯器', // Toolbar buttons without dialogs. source : '原始碼', @@ -56,7 +56,7 @@ CKEDITOR.lang['zh'] = superscript : '上標', horizontalrule : '插入水平線', pagebreak : '插入分頁符號', - pagebreakAlt : 'Page Break', // MISSING + pagebreakAlt : '分頁符號', unlink : '移除超連結', undo : '復原', redo : '重複', @@ -93,19 +93,19 @@ CKEDITOR.lang['zh'] = cssStyle : '樣式', ok : '確定', cancel : '取消', - close : 'Close', // MISSING - preview : 'Preview', // MISSING + close : '关闭', + preview : '预览', generalTab : '一般', advancedTab : '進階', validateNumberFailed : '需要輸入數字格式', confirmNewPage : '現存的修改尚未儲存,要開新檔案?', confirmCancel : '部份選項尚未儲存,要關閉對話盒?', - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING + options : '选项', + target : '目标', + targetNew : '新窗口(_blank)', + targetTop : '整页(_top)', + targetSelf : '本窗口(_self)', + targetParent : '父窗口(_parent)', langDirLTR : 'Left to Right (LTR)', // MISSING langDirRTL : 'Right to Left (RTL)', // MISSING styles : 'Style', // MISSING @@ -727,7 +727,7 @@ CKEDITOR.lang['zh'] = }, maximize : '最大化', - minimize : 'Minimize', // MISSING + minimize : '最小化', fakeobjects : { @@ -749,8 +749,8 @@ CKEDITOR.lang['zh'] = clear : 'Clear' // MISSING }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : '折叠工具栏', + toolbarExpand : '展开工具栏', toolbarGroups : { diff --git a/_source/plugins/a11yhelp/dialogs/a11yhelp.js b/_source/plugins/a11yhelp/dialogs/a11yhelp.js index ff07429..15bee48 100644 --- a/_source/plugins/a11yhelp/dialogs/a11yhelp.js +++ b/_source/plugins/a11yhelp/dialogs/a11yhelp.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/a11yhelp/lang/_translationstatus.txt b/_source/plugins/a11yhelp/lang/_translationstatus.txt new file mode 100644 index 0000000..c04d7fe --- /dev/null +++ b/_source/plugins/a11yhelp/lang/_translationstatus.txt @@ -0,0 +1,23 @@ +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +cs.js Found: 30 Missing: 0 +cy.js Found: 30 Missing: 0 +da.js Found: 11 Missing: 19 +de.js Found: 30 Missing: 0 +el.js Found: 23 Missing: 7 +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 +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/_source/plugins/a11yhelp/lang/cs.js b/_source/plugins/a11yhelp/lang/cs.js new file mode 100644 index 0000000..711a675 --- /dev/null +++ b/_source/plugins/a11yhelp/lang/cs.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'cs', +{ + accessibilityHelp : + { + title : 'Instrukce pro přístupnost', + contents : 'Obsah nápovědy. Pro uzavření tohoto dialogu stiskněte klávesu ESC.', + legend : + [ + { + name : 'Obecné', + items : + [ + { + name : 'Panel nástrojů editoru', + legend: + 'Stiskněte${toolbarFocus} k procházení panelu nástrojů. Přejděte na další a předchozí skupiny pomocí TAB a SHIFT-TAB. Přechod na další a předchozí tlačítko panelu nástrojů je pomocí Å IPKA VPRAVO nebo Å IPKA VLEVO. Stisknutím mezerníku nebo klávesy ENTER tlačítko aktivujete.' + }, + + { + name : 'Dialogové okno editoru', + legend : + 'Uvnitř dialogového okna stiskněte TAB pro přesunutí na další pole, stiskněte SHIFT + TAB pro přesun na předchozí pole, stiskněte ENTER pro odeslání dialogu, stiskněte ESC pro jeho zruÅ¡ení. Pro dialogová okna, která mají mnoho karet stiskněte ALT + F10 pr oprocházení seznamu karet. Pak se přesuňte na další kartu pomocí TAB nebo Å IPKA VPRAVO. Pro přesun na předchozí stiskněte SHIFT + TAB nebo Å IPKA VLEVO. Stiskněte MEZERNÍK nebo ENTER pro vybrání stránky karet.' + }, + + { + name : 'Kontextové menu editoru', + legend : + 'Stiskněte ${contextMenu} nebo klávesu APPLICATION k otevření kontextového menu. Pak se přesuňte na další možnost menu pomocí TAB nebo Å IPKY DOLÅ®. Přesuňte se na předchozí možnost pomocí SHIFT+TAB nebo Å IPKY NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti menu. Podmenu současné možnosti otevřete pomocí MEZERNÍKU nebo ENTER či Å IPKY DOLEVA. Kontextové menu uzavřete stiskem ESC.' + }, + + { + name : 'Rámeček seznamu editoru', + legend : + 'Uvnitř rámečku seznamu se přesunete na další položku menu pomocí TAB nebo Å IPKA DOLÅ®. Na předchozí položku se přesunete SHIFT + TAB nebo Å IPKA NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti seznamu. Stiskněte ESC pro uzavření seznamu.' + }, + + { + name : 'LiÅ¡ta cesty prvku v editoru', + legend : + 'Stiskněte ${elementsPathFocus} pro procházení liÅ¡ty cesty prvku. Na další tlačítko prvku se přesunete pomocí TAB nebo Å IPKA VPRAVO. Na předchozí položku se přesunete pomocí SHIFT + TAB nebo Å IPKA VLEVO. Stiskněte MEZERNÍK nebo ENTER pro vybrání prvku v editoru.' + } + ] + }, + { + name : 'Příkazy', + items : + [ + { + name : ' Příkaz Zpět', + legend : 'Stiskněte ${undo}' + }, + { + name : ' Příkaz Znovu', + legend : 'Stiskněte ${redo}' + }, + { + name : ' Příkaz Tučné', + legend : 'Stiskněte ${bold}' + }, + { + name : ' Příkaz Kurzíva', + legend : 'Stiskněte ${italic}' + }, + { + name : ' Příkaz Podtržení', + legend : 'Stiskněte ${underline}' + }, + { + name : ' Příkaz Odkaz', + legend : 'Stiskněte ${link}' + }, + { + name : ' Příkaz Skrýt panel nástrojů', + legend : 'Stiskněte ${toolbarCollapse}' + }, + { + name : ' Nápověda přístupnosti', + legend : 'Stiskněte ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/cy.js b/_source/plugins/a11yhelp/lang/cy.js new file mode 100644 index 0000000..e9d6362 --- /dev/null +++ b/_source/plugins/a11yhelp/lang/cy.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'cy', +{ + accessibilityHelp : + { + title : 'Canllawiau Hygyrchedd', + contents : 'Cynnwys Cymorth. I gau y deialog hwn, pwyswch ESC.', + legend : + [ + { + name : 'Cyffredinol', + items : + [ + { + name : 'Bar Offer y Golygydd', + legend: + 'Pwyswch $ {toolbarFocus} i fynd at y bar offer. Symudwch i\'r grŵp bar offer nesaf a blaenorol gyda TAB a SHIFT-TAB. Symudwch i\'r botwm bar offer nesaf a blaenorol gyda SAETH DDE neu SAETH CHWITH. Pwyswch SPACE neu ENTER i wneud botwm y bar offer yn weithredol.' + }, + + { + name : 'Deialog y Golygydd', + legend : + 'Tu mewn i\'r deialog, pwyswch TAB i fynd i\'r maes nesaf ar y deialog, pwyswch SHIFT + TAB i symud i faes blaenorol, pwyswch ENTER i gyflwyno\'r deialog, pwyswch ESC i ddiddymu\'r deialog. Ar gyfer deialogau sydd â thudalennau aml-tab, pwyswch ALT + F10 i lywio\'r tab-restr. Yna symudwch i\'r tab nesaf gyda TAB neu SAETH DDE. Symudwch i dab blaenorol gyda SHIFT + TAB neu\'r SAETH CHWITH. Pwyswch SPACE neu ENTER i ddewis y dudalen tab.' + }, + + { + name : 'Dewislen Cyd-destun y Golygydd', + legend : + 'Pwyswch $ {contextMenu} neu\'r ALLWEDD \'APPLICATION\' i agor y ddewislen cyd-destun. Yna symudwch i\'r opsiwn ddewislen nesaf gyda\'r TAB neu\'r SAETH I LAWR. Symudwch i\'r opsiwn blaenorol gyda SHIFT + TAB neu\'r SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn ddewislen. Agorwch is-dewislen yr opsiwn cyfredol gyda SPACE neu ENTER neu SAETH DDE. Ewch yn ôl i\'r eitem ar y ddewislen uwch gydag ESC neu SAETH CHWITH. Ceuwch y ddewislen cyd-destun gydag ESC.' + }, + + { + name : 'Blwch Rhestr y Golygydd', + legend : + 'Tu mewn rhestr-bocs, ewch i\'r eitem rhestr nesaf gyda TAB neu\'r SAETH I LAWR. Symudwch i restr eitem flaenorol gyda SHIFT + TAB neu SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn o\'r rhestr. Pwyswch ESC i gau\'r rhestr.' + }, + + { + name : 'Bar Llwybr Elfen y Golygydd', + legend : + 'Pwyswch $ {elementsPathFocus} i fynd i\'r elfennau llwybr bar. Symudwch i fotwm yr elfen nesaf gyda TAB neu SAETH DDE. Symudwch i fotwm blaenorol gyda SHIFT + TAB neu SAETH CHWITH. Pwyswch SPACE neu ENTER i ddewis yr elfen yn y golygydd.' + } + ] + }, + { + name : 'Gorchmynion', + items : + [ + { + name : 'Gorchymyn dadwneud', + legend : 'Pwyswch ${undo}' + }, + { + name : 'Gorchymyn ailadrodd', + legend : 'Pwyswch ${redo}' + }, + { + name : 'Gorchymyn Bras', + legend : 'Pwyswch ${bold}' + }, + { + name : 'Gorchymyn italig', + legend : 'Pwyswch ${italig}' + }, + { + name : 'Gorchymyn tanlinellu', + legend : 'Pwyso ${underline}' + }, + { + name : 'Gorchymyn dolen', + legend : 'Pwyswch ${link}' + }, + { + name : 'Gorchymyn Cwympo\'r Dewislen', + legend : 'Pwyswch ${toolbarCollapse}' + }, + { + name : 'Cymorth Hygyrchedd', + legend : 'Pwyswch ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/da.js b/_source/plugins/a11yhelp/lang/da.js new file mode 100644 index 0000000..965824e --- /dev/null +++ b/_source/plugins/a11yhelp/lang/da.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'da', +{ + accessibilityHelp : + { + title : 'Accessibility Instructions', // MISSING + contents : 'Help Contents. To close this dialog press ESC.', // MISSING + legend : + [ + { + name : 'Generelt', + items : + [ + { + name : 'Editor værktøjslinje', + legend: + 'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.' // MISSING + }, + + { + name : 'Editor Dialog', // MISSING + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'Editor Context Menu', // MISSING + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'Editor List Box', // MISSING + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'Editor Element Path Bar', // MISSING + legend : + 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING + } + ] + }, + { + name : 'Kommandoer', + items : + [ + { + name : 'Fortryd kommando', + legend : 'Klik pÃ¥ ${undo}' + }, + { + name : 'Gentag kommando', + legend : 'Klik ${redo}' + }, + { + name : ' Bold command', // MISSING + legend : 'Klik ${bold}' + }, + { + name : ' Italic command', // MISSING + legend : 'Press ${italic}' // MISSING + }, + { + name : ' Underline command', // MISSING + legend : 'Klik ${underline}' + }, + { + name : ' Link command', // MISSING + legend : 'Klik ${link}' + }, + { + name : ' Toolbar Collapse command', // MISSING + legend : 'Press ${toolbarCollapse}' // MISSING + }, + { + name : ' Accessibility Help', // MISSING + legend : 'Kilk ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/de.js b/_source/plugins/a11yhelp/lang/de.js new file mode 100644 index 0000000..2feea16 --- /dev/null +++ b/_source/plugins/a11yhelp/lang/de.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'de', +{ + accessibilityHelp : + { + title : 'Barrierefreiheitinformationen', + contents : 'Hilfeinhalt. Um den Dialog zu schliessen die Taste \'ESC\' drücken.', + legend : + [ + { + name : 'Allgemein', + items : + [ + { + name : 'Editor Symbolleiste', + legend: + 'Drücken Sie ${toolbarFocus} auf der Symbolleiste. Gehen Sie zur nächsten oder vorherigen Symbolleistengruppe mit TAB und SHIFT-TAB. Gehen Sie zur nächsten oder vorherigen Symbolleiste auf die Schaltfläche mit dem RECHTS- oder LINKS-Pfeil. Drücken Sie die Leertaste oder Eingabetaste, um die Schaltfläche in der Symbolleiste aktivieren.' + }, + + { + name : 'Editor Dialog', + legend : + 'Innerhalb des Dialogs drücken Sie TAB um zum nächsten Dialogfeld zu gelangen, drücken Sie SHIFT-TAG um zum vorherigen Feld zu wechseln, drücken Sie ENTER um den Dialog abzusenden und ESC um den Dialog zu abzubrechen. Um zwischen den Reitern innerhalb eines Dialogs zu wechseln drücken sie ALT-F10. Um zum nächsten Reiter zu gelangen können Sie TAB oder die rechte Pfeiltaste. Zurück gelangt man mit SHIFT-TAB oder der linken Pfeiltaste. Mit der Leertaste oder Enter kann man den Reiter auswählen.' + }, + + { + name : 'Editor Kontextmenü', + legend : + 'Dürcken Sie ${contextMenu} oder die Anwendungstaste um das Kontextmenü zu öffnen. Man kann die Pfeiltasten zum Wechsel benutzen. Mit der Leertaste oder der Enter-Taste kann man den Menüpunkt aufrufen. Schliessen Sie das Kontextmenü mit der ESC-Taste.' + }, + + { + name : 'Editor Listen', + legend : + 'Innerhalb einer Listenbox kann man mit der TAB-Taste oder den Pfeilrunter-Taste den nächsten Menüeintrag wählen. Mit der Shift-TAB Tastenkombination oder der Pfeilhoch-Taste gelangt man zum vorherigen Menüpunkt. Mit der Leertaste oder Enter kann man den Menüpunkt auswählen. Drücken Sie ESC zum Verlassen des Menüs.' + }, + + { + name : 'Editor Elementpfadleiste', + legend : + 'Drücken Sie ${elementsPathFocus} um sich durch die Pfadleiste zu bewegen. Um zum nächsten Element zu gelangen drücken Sie TAB oder die Pfeilrechts-Taste. Zum vorherigen Element gelangen Sie mit der SHIFT-TAB oder der Pfeillinks-Taste. Drücken Sie die Leertaste oder Enter um das Element auszuwählen.' + } + ] + }, + { + name : 'Befehle', + items : + [ + { + name : 'Wiederholen Befehl', + legend : 'Drücken Sie ${undo}' + }, + { + name : 'Rückgängig Befehl', + legend : 'Drücken Sie ${redo}' + }, + { + name : 'Fettschrift Befehl', + legend : 'Drücken Sie ${bold}' + }, + { + name : 'Italic Befehl', + legend : 'Drücken Sie ${italic}' + }, + { + name : 'Unterstreichung Befehl', + legend : 'Drücken Sie ${underline}' + }, + { + name : 'Link Befehl', + legend : 'Drücken Sie ${link}' + }, + { + name : 'Symbolleiste zuammenklappen Befehl', + legend : 'Drücken Sie ${toolbarCollapse}' + }, + { + name : 'Eingabehilfen', + legend : 'Drücken Sie ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/el.js b/_source/plugins/a11yhelp/lang/el.js new file mode 100644 index 0000000..1eecb22 --- /dev/null +++ b/_source/plugins/a11yhelp/lang/el.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'el', +{ + accessibilityHelp : + { + title : 'Οδηγίες Προσβασιμότητας', + contents : 'Περιεχόμενα Βοήθειας. Πατήστε ESC για κλείσιμο.', + legend : + [ + { + name : 'Γενικά', + items : + [ + { + name : 'Εργαλειοθήκη Επεξεργαστή', + legend: + 'Πατήστε ${toolbarFocus} για να περιηγηθείτε στην γραμμή εργαλείων. Μετακινηθείτε ανάμεσα στις ομάδες της γραμμής εργαλείων με TAB και Shift-TAB. Μετακινηθείτε ανάμεσα στα κουμπία εργαλείων με ΔΕΞΙ και ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Πατήστε ΚΕΝΟ ή ENTER για να ενεργοποιήσετε το ενεργό κουμπί εργαλείου.' + }, + + { + name : 'Παράθυρο Διαλόγου Επεξεργαστή', + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'Editor Context Menu', // MISSING + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'Editor List Box', // MISSING + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'Editor Element Path Bar', // MISSING + legend : + 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING + } + ] + }, + { + name : 'Εντολές', + items : + [ + { + name : ' Εντολή αναίρεσης', + legend : 'Πατήστε ${undo}' + }, + { + name : ' Εντολή επανάληψης', + legend : 'Πατήστε ${redo}' + }, + { + name : ' Εντολή έντονης γραφής', + legend : 'Πατήστε ${bold}' + }, + { + name : ' Εντολή πλάγιας γραφής', + legend : 'Πατήστε ${italic}' + }, + { + name : ' Εντολή υπογράμμισης', + legend : 'Πατήστε ${underline}' + }, + { + name : ' Εντολή συνδέσμου', + legend : 'Πατήστε ${link}' + }, + { + name : ' Εντολή Σύμπτηξης Εργαλειοθήκης', + legend : 'Πατήστε ${toolbarCollapse}' + }, + { + name : ' Βοήθεια Προσβασιμότητας', + legend : 'Πατήστε ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/en.js b/_source/plugins/a11yhelp/lang/en.js index a3edc25..7a78608 100644 --- a/_source/plugins/a11yhelp/lang/en.js +++ b/_source/plugins/a11yhelp/lang/en.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -39,9 +39,9 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'en', legend : 'Press ${contextMenu} or APPLICATION KEY to open context-menu. ' + 'Then move to next menu option with TAB or DOWN ARROW. ' + - 'Move to previous option with SHIFT+TAB or UP ARROW. ' + + 'Move to previous option with SHIFT+TAB or UP ARROW. ' + 'Press SPACE or ENTER to select the menu option. ' + - 'Open sub-menu of current option wtih SPACE or ENTER or RIGHT ARROW. ' + + 'Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. ' + 'Go back to parent menu item with ESC or LEFT ARROW. ' + 'Close context menu with ESC.' }, diff --git a/_source/plugins/a11yhelp/lang/eo.js b/_source/plugins/a11yhelp/lang/eo.js new file mode 100644 index 0000000..58af07e --- /dev/null +++ b/_source/plugins/a11yhelp/lang/eo.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'eo', +{ + accessibilityHelp : + { + title : 'Uzindikoj pri atingeblo', + contents : 'Helpilenhavo. Por fermi tiun dialogon, premu la ESKAPAN klavon.', + legend : + [ + { + name : 'Ĝeneralaĵoj', + items : + [ + { + name : 'Ilbreto de la redaktilo', + legend: + 'Premu ${toolbarFocus} por atingi la ilbreton. Moviĝu al la sekva aÅ­ antaÅ­a grupoj de la ilbreto per la klavoj TABA kaj MAJUSKLIGA-TABA. Moviĝu al la sekva aÅ­ antaÅ­a butonoj de la ilbreto per la klavoj SAGO DEKSTREN kaj SAGO MALDEKSTREN. Premu la SPACETklavon aÅ­ la ENENklavon por aktivigi la ilbretbutonon.' + }, + + { + name : 'Redaktildialogo', + legend : + 'En dialogo, premu la TABAN klavon por navigi al la sekva dialogkampo, premu la MAJUSKLIGAN + TABAN klavojn por reveni al la antaÅ­a kampo, premu la ENENklavon por sendi la dialogon, premu la ESKAPAN klavon por nuligi la dialogon. Por dialogoj kun pluraj retpaĝoj sub langetoj, premu ALT + F10 por navigi al la langetlisto. Poste moviĝu al la sekva langeto per la klavo TABA aÅ­ SAGO DEKSTREN. Moviĝu al la antaÅ­a langeto per la klavoj MAJUSKLIGA + TABA aÅ­ SAGO MALDEKSTREN. Premu la SPACETklavon aÅ­ la ENENklavon por selekti la langetretpaĝon.' + }, + + { + name : 'Kunteksta menuo de la redaktilo', + legend : + 'Premu ${contextMenu} aÅ­ entajpu la KLAVKOMBINAÄ´ON por malfermi la kuntekstan menuon. Poste moviĝu al la sekva opcio de la menuo per la klavoj TABA aÅ­ SAGO SUBEN. Moviĝu al la antaÅ­a opcio per la klavoj MAJUSKLGA + TABA aÅ­ SAGO SUPREN. Premu la SPACETklavon aÅ­ ENENklavon por selekti la menuopcion. Malfermu la submenuon de la kuranta opcio per la SPACETklavo aÅ­ la ENENklavo aÅ­ la SAGO DEKSTREN. Revenu al la elemento de la patra menuo per la klavoj ESKAPA aÅ­ SAGO MALDEKSTREN. Fermu la kuntekstan menuon per la ESKAPA klavo.' + }, + + { + name : 'Fallisto de la redaktilo', + legend : + 'En fallisto, moviĝu al la sekva listelemento per la klavoj TABA aÅ­ SAGO SUBEN. Moviĝu al la antaÅ­a listelemento per la klavoj MAJUSKLIGA + TABA aÅ­ SAGO SUPREN. Premu la SPACETklavon aÅ­ ENENklavon por selekti la opcion en la listo. Premu la ESKAPAN klavon por fermi la falmenuon.' + }, + + { + name : 'Breto indikanta la vojon al la redaktilelementoj', + legend : + 'Premu ${elementsPathFocus} por navigi al la breto indikanta la vojon al la redaktilelementoj. Moviĝu al la butono de la sekva elemento per la klavoj TABA aÅ­ SAGO DEKSTREN. Moviĝu al la butono de la antaÅ­a elemento per la klavoj MAJUSKLIGA + TABA aÅ­ SAGO MALDEKSTREN. Premu la SPACETklavon aÅ­ ENENklavon por selekti la elementon en la redaktilo.' + } + ] + }, + { + name : 'Komandoj', + items : + [ + { + name : 'Komando malfari', + legend : 'Premu ${undo}' + }, + { + name : 'Komando refari', + legend : 'Premu ${redo}' + }, + { + name : 'Komando grasa', + legend : 'Premu ${bold}' + }, + { + name : 'Komando kursiva', + legend : 'Premu ${italic}' + }, + { + name : 'Komando substreki', + legend : 'Premu ${underline}' + }, + { + name : 'Komando ligilo', + legend : 'Premu ${link}' + }, + { + name : 'Komando faldi la ilbreton', + legend : 'Premu ${toolbarCollapse}' + }, + { + name : 'Helpilo pri atingeblo', + legend : 'Premu ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/fa.js b/_source/plugins/a11yhelp/lang/fa.js new file mode 100644 index 0000000..bbec6bf --- /dev/null +++ b/_source/plugins/a11yhelp/lang/fa.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'fa', +{ + accessibilityHelp : + { + title : 'دستورالعملهای دسترسی', + contents : 'راهنمای فهرست مطالب. برای بستن این کادر محاورهای ESC را فشار دهید.', + legend : + [ + { + name : 'عمومی', + items : + [ + { + name : 'نوار ابزار ویرایشگر', + legend: + '${toolbarFocus} را برای باز کردن نوار ابزار بفشارید. با کلید Tab و Shif-Tab در مجموعه نوار ابزار بعدی و قبلی حرکت کنید. برای حرکت در کلید نوار ابزار قبلی و بعدی با کلید جهتنمای راست و چپ جابجا شوید. کلید Space یا Enter را برای فعال کردن کلید نوار ابزار بفشارید.' + }, + + { + name : 'پنجره محاورهای ویرایشگر', + legend : + 'در داخل یک پنجره محاورهای، کلید Tab را بفشارید تا به پنجرهی بعدی بروید، Shift+Tab برای حرکت به فیلد قبلی، فشردن Enter برای ثبت اطلاعات پنجره، فشردن Esc برای لغو پنجره محاورهای و برای پنجرههایی که چندین برگه دارند، فشردن Alt+F10 جهت رفتن به Tab-List. در نهایت حرکت به برگه بعدی با Tab یا کلید جهتنمای راست. حرکت به برگه قبلی با Shift+Tab یا کلید جهتنمای چپ. فشردن Space یا Enter برای انتخاب یک برگه.' + }, + + { + name : 'منوی متنی ویرایشگر', + legend : + '${contextMenu} یا کلید برنامههای کاربردی را برای باز کردن منوی متن را بفشارید. سپس میتوانید برای حرکت به گزینه بعدی منو با کلید Tab و یا کلید جهتنمای پایین جابجا شوید. حرکت به گزینه قبلی با Shift+Tab یا کلید جهتنمای بالا. فشردن Space یا Enter برای انتخاب یک گزینه از منو. باز کردن زیر شاخه گزینه منو جاری با کلید Space یا Enter و یا کلید جهتنمای راست و چپ. بازگشت به منوی والد با کلید Esc یا کلید جهتنمای چپ. بستن منوی متن با Esc.' + }, + + { + name : 'جعبه فهرست ویرایشگر', + legend : + 'در داخل جعبه لیست، قلم دوم از اقلام لیست بعدی را با TAB و یا Arrow Down حرکت دهید. انتقال به قلم دوم از اقلام لیست قبلی را با SHIFT + TAB یا UP ARROW. کلید Space یا ENTER را برای انتخاب گزینه لیست بفشارید. کلید ESC را برای بستن جعبه لیست بفشارید.' + }, + + { + name : 'ویرایشگر عنصر نوار راه', + legend : + 'برای رفتن به مسیر عناصر ${elementsPathFocus} را بفشارید. حرکت به کلید عنصر بعدی با کلید Tab یا کلید جهتنمای راست. برگشت به کلید قبلی با Shift+Tab یا کلید جهتنمای چپ. فشردن Space یا Enter برای انتخاب یک عنصر در ویرایشگر.' + } + ] + }, + { + name : 'فرمانها', + items : + [ + { + name : 'بازگشت فرمان', + legend : 'فشردن ${undo}' + }, + { + name : 'انجام مجدد فرمان', + legend : 'فشردن ${redo}' + }, + { + name : 'فرمان متن درشت', + legend : 'فشردن ${bold}' + }, + { + name : 'فرمان متن کج', + legend : 'فشردن ${italic}' + }, + { + name : 'فرمان متن زیرخطدار', + legend : 'فشردن ${underline}' + }, + { + name : 'فرمان پیوند', + legend : 'فشردن ${link}' + }, + { + name : 'بستن نوار ابزار فرمان', + legend : 'فشردن ${toolbarCollapse}' + }, + { + name : 'راهنمای دسترسی', + legend : 'فشردن ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/fi.js b/_source/plugins/a11yhelp/lang/fi.js new file mode 100644 index 0000000..718b046 --- /dev/null +++ b/_source/plugins/a11yhelp/lang/fi.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'fi', +{ + accessibilityHelp : + { + title : 'Saavutettavuus ohjeet', + contents : 'Ohjeen sisällöt. Sulkeaksesi tämän dialogin paina ESC.', + legend : + [ + { + name : 'Yleinen', + items : + [ + { + name : 'Editorin työkalupalkki', + legend: + 'Paina ${toolbarFocus} siirtyäksesi työkalupalkkiin. Siirry seuraavaan ja edelliseen työkalupalkin ryhmään TAB ja SHIFT-TAB näppäimillä. Siirry seuraavaan ja edelliseen työkalupainikkeeseen käyttämällä NUOLI OIKEALLE tai NUOLI VASEMMALLE näppäimillä. Paina VÄLILYÖNTI tai ENTER näppäintä aktivoidaksesi työkalupainikkeen.' + }, + + { + name : 'Editorin dialogi', + legend : + 'Dialogin sisällä, painamalla TAB siirryt seuraavaan dialogin kenttään, painamalla SHIFT+TAB siirryt aiempaan kenttään, painamalla ENTER lähetät dialogin, painamalla ESC peruutat dialogin. Dialogeille joissa on useita välilehtiä, paina ALT+F10 siirtyäksesi välillehtilistaan. Siirtyäksesi seuraavaan välilehteen paina TAB tai NUOLI OIKEALLE. Siirry edelliseen välilehteen painamalla SHIFT+TAB tai nuoli vasemmalle. Paina VÄLILYÖNTI tai ENTER valitaksesi välilehden.' + }, + + { + name : 'Editorin oheisvalikko', + legend : + 'Paina ${contextMenu} tai SOVELLUSPAINIKETTA avataksesi oheisvalikon. Liiku seuraavaan valikon vaihtoehtoon TAB tai NUOLI ALAS näppäimillä. Siirry edelliseen vaihtoehtoon SHIFT+TAB tai NUOLI YLÖS näppäimillä. Paina VÄLILYÖNTI tai ENTER valitaksesi valikon kohdan. Avataksesi nykyisen kohdan alivalikon paina VÄLILYÖNTI tai ENTER tai NUOLI OIKEALLE painiketta. Siirtyäksesi takaisin valikon ylemmälle tasolle paina ESC tai NUOLI vasemmalle. Oheisvalikko suljetaan ESC painikkeella.' + }, + + { + name : 'Editorin listalaatikko', + legend : + 'Listalaatikon sisällä siirry seuraavaan listan kohtaan TAB tai NUOLI ALAS painikkeilla. Siirry edelliseen listan kohtaan SHIFT+TAB tai NUOLI YLÖS painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi listan vaihtoehdon. Paina ESC sulkeaksesi listalaatikon.' + }, + + { + name : 'Editorin elementtipolun palkki', + legend : + 'Paina ${elementsPathFocus} siirtyäksesi elementtipolun palkkiin. Siirry seuraavaan elementtipainikkeeseen TAB tai NUOLI OIKEALLE painikkeilla. Siirry aiempaan painikkeeseen SHIFT+TAB tai NUOLI VASEMMALLE painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi elementin editorissa.' + } + ] + }, + { + name : 'Komennot', + items : + [ + { + name : 'Peruuta komento', + legend : 'Paina ${undo}' + }, + { + name : 'Tee uudelleen komento', + legend : 'Paina ${redo}' + }, + { + name : 'Lihavoi komento', + legend : 'Paina ${bold}' + }, + { + name : 'Kursivoi komento', + legend : 'Paina ${italic}' + }, + { + name : 'Alleviivaa komento', + legend : 'Paina ${underline}' + }, + { + name : 'Linkki komento', + legend : 'Paina ${link}' + }, + { + name : 'Pienennä työkalupalkki komento', + legend : 'Paina ${toolbarCollapse}' + }, + { + name : 'Saavutettavuus ohjeet', + legend : 'Paina ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/fr.js b/_source/plugins/a11yhelp/lang/fr.js new file mode 100644 index 0000000..0525141 --- /dev/null +++ b/_source/plugins/a11yhelp/lang/fr.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'fr', +{ + accessibilityHelp : + { + title : 'Instructions pour l\'accessibilité', + contents : 'Contenu de l\'aide. Pour fermer ce dialogue, appuyez sur la touche ESC (Echappement).', + legend : + [ + { + name : 'Général', + items : + [ + { + name : 'Barre d\'outils de l\'éditeur', + legend: + 'Appuyer sur ${toolbarFocus} pour accéder à la barre d\'outils. Se déplacer vers les groupes suivant ou précédent de la barre d\'outil avec les touches TAB et SHIFT-TAB. Se déplacer vers les boutons suivant ou précédent de la barre d\'outils avec les touches FLECHE DROITE et FLECHE GAUCHE. Appuyer sur la barre d\'espace ou la touche ENTRER pour activer le bouton de barre d\'outils.' + }, + + { + name : 'Dialogue de léditeur', + legend : + 'A l\'intérieur d\'un dialogue, appuyer sur la touche TAB pour naviguer jusqu\'au champ de dalogue suivant, appuyez sur les touches SHIFT + TAB pour revenir au champ précédent, appuyez sur la touche ENTRER pour soumettre le dialogue, appuyer sur la touche ESC pour annuler le dialogue. Pour les dialogues avec plusieurs pages d\'onglets, appuyer sur ALT + F10 pour naviguer jusqu\'à la liste des onglets. Puis se déplacer vers l\'onglet suivant avec la touche TAB ou FLECHE DROITE. Se déplacer vers l\'onglet précédent avec les touches SHIFT + TAB ou FLECHE GAUCHE. Appuyer sur la barre d\'espace ou la touche ENTRER pour sélectionner la page de l\'onglet.' + }, + + { + name : 'Menu contextuel de l\'éditeur', + legend : + 'Appuyer sur ${contextMenu} ou entrer le RACCOURCI CLAVIER pour ouvrir le menu contextuel. Puis se déplacer vers l\'option suivante du menu avec les touches TAB ou FLECHE BAS. Se déplacer vers l\'option précédente avec les touches SHIFT+TAB ou FLECHE HAUT. appuyer sur la BARRE D\'ESPACE ou la touche ENTREE pour sélectionner l\'option du menu. Oovrir le sous-menu de l\'option courante avec la BARRE D\'ESPACE ou les touches ENTREE ou FLECHE DROITE. Revenir à l\'élément de menu parent avec les touches ESC ou FLECHE GAUCHE. Fermer le menu contextuel avec ESC.' + }, + + { + name : 'Zone de liste en menu déroulant de l\'éditeur', + legend : + 'A l\'intérieur d\'une liste en menu déroulant, se déplacer vers l\'élément suivant de la liste avec les touches TAB ou FLECHE BAS. Se déplacer vers l\'élément précédent de la liste avec les touches SHIFT + TAB ou FLECHE HAUT. Appuyer sur la BARRE D\'ESPACE ou sur ENTREE pour sélectionner l\'option dans la liste. Appuyer sur ESC pour fermer le menu déroulant.' + }, + + { + name : 'Barre d\'emplacement des éléments de léditeur', + legend : + 'Appuyer sur ${elementsPathFocus} pour naviguer vers la barre d\'emplacement des éléments de léditeur. Se déplacer vers le bouton d\'élément suivant avec les touches TAB ou FLECHE DROITE. Se déplacer vers le bouton d\'élément précédent avec les touches SHIFT+TAB ou FLECHE GAUCHE. Appuyer sur la BARRE D\'ESPACE ou sur ENTREE pour sélectionner l\'élément dans l\'éditeur.' + } + ] + }, + { + name : 'Commandes', + items : + [ + { + name : ' Commande défaire', + legend : 'Appuyer sur ${undo}' + }, + { + name : ' Commande refaire', + legend : 'Appuyer sur ${redo}' + }, + { + name : ' Commande gras', + legend : 'Appuyer sur ${bold}' + }, + { + name : ' Commande italique', + legend : 'Appuyer sur ${italic}' + }, + { + name : ' Commande souligné', + legend : 'Appuyer sur ${underline}' + }, + { + name : ' Commande lien', + legend : 'Appuyer sur ${link}' + }, + { + name : ' Commande enrouler la barre d\'outils', + legend : 'Appuyer sur ${toolbarCollapse}' + }, + { + name : ' Aide Accessibilité', + legend : 'Appuyer sur ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/gu.js b/_source/plugins/a11yhelp/lang/gu.js new file mode 100644 index 0000000..9fd170c --- /dev/null +++ b/_source/plugins/a11yhelp/lang/gu.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'gu', +{ + accessibilityHelp : + { + title : 'એક્ક્ષેબિલિટી ની વિગતો', + contents : 'હેલ્પ. આ બંધ કરવા ESC દબાવો.', + legend : + [ + { + name : 'જનરલ', + items : + [ + { + name : 'એડિટર ટૂલબાર', + legend: + 'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.' // MISSING + }, + + { + name : 'એડિટર ડાયલોગ', + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'Editor Context Menu', // MISSING + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'Editor List Box', // MISSING + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'Editor Element Path Bar', // MISSING + legend : + 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING + } + ] + }, + { + name : 'કમાંડસ', + items : + [ + { + name : 'અન્ડું કમાંડ', + legend : '$ દબાવો {undo}' + }, + { + name : 'ફરી કરો કમાંડ', + legend : '$ દબાવો {redo}' + }, + { + name : 'બોલ્દનો કમાંડ', + legend : '$ દબાવો {bold}' + }, + { + name : ' Italic command', // MISSING + legend : 'Press ${italic}' // MISSING + }, + { + name : ' Underline command', // MISSING + legend : 'Press ${underline}' // MISSING + }, + { + name : ' Link command', // MISSING + legend : 'Press ${link}' // MISSING + }, + { + name : ' Toolbar Collapse command', // MISSING + legend : 'Press ${toolbarCollapse}' // MISSING + }, + { + name : ' Accessibility Help', // MISSING + legend : 'Press ${a11yHelp}' // MISSING + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/he.js b/_source/plugins/a11yhelp/lang/he.js index d708b86..7161e4d 100644 --- a/_source/plugins/a11yhelp/lang/he.js +++ b/_source/plugins/a11yhelp/lang/he.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -18,158 +18,31 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'he', { name : 'סרגל הכלים', legend: - 'לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלים. ' + - 'עבור לכפתור הבא עם מקש הטאב (TAB) או חץ שמאלי. ' + - 'עבור לכפתור הקודם עם מקש השיפט (SHIFT) + טאב (TAB) או חץ ימני. ' + - 'לחץ רווח או אנטר (ENTER) כדי להפעיל את הכפתור הנבחר.' + 'לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלים. עבור לכפתור הבא עם מקש הטאב (TAB) או חץ שמאלי. עבור לכפתור הקודם עם מקש השיפט (SHIFT) + טאב (TAB) או חץ ימני. לחץ רווח או אנטר (ENTER) כדי להפעיל את הכפתור הנבחר.' }, { name : 'דיאלוגים (חלונות תשאול)', legend : - 'בתוך דיאלוג, לחץ טאב (TAB) כדי לנווט לשדה הבא, לחץ שיפט (SHIFT) + טאב (TAB) כדי לנווט לשדה הקודם, לחץ אנטר (ENTER) כדי לשלוח את הדיאלוג, לחץ אסקייפ (ESC) כדי לבטל. ' + - 'בתוך דיאלוגים בעלי מספר טאבים (לשוניות), לחץ אלט (ALT) + F10 כדי לנווט לשורת הטאבים. ' + - 'נווט לטאב הבא עם טאב (TAB) או חץ שמאלי. ' + - 'עבור לטאב הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. ' + - 'לחץ רווח או אנטר (ENTER) כדי להיכנס לטאב.' + 'בתוך דיאלוג, לחץ טאב (TAB) כדי לנווט לשדה הבא, לחץ שיפט (SHIFT) + טאב (TAB) כדי לנווט לשדה הקודם, לחץ אנטר (ENTER) כדי לשלוח את הדיאלוג, לחץ אסקייפ (ESC) כדי לבטל. בתוך דיאלוגים בעלי מספר טאבים (לשוניות), לחץ אלט (ALT) + F10 כדי לנווט לשורת הטאבים. נווט לטאב הבא עם טאב (TAB) או חץ שמאלי. עבור לטאב הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. לחץ רווח או אנטר (ENTER) כדי להיכנס לטאב.' }, { name : 'תפריט ההקשר (Context Menu)', legend : - 'לחץ ${contextMenu} או APPLICATION KEYכדי לפתוח את תפריט ההקשר. ' + - 'עבור לאפשרות הבאה עם טאב (TAB) או חץ למטה. ' + - 'עבור לאפשרות הקודמת עם שיפט (SHIFT) + טאב (TAB) או חץ למעלה. ' + - 'לחץ רווח או אנטר (ENTER) כדי לבחור את האפשרות. ' + - 'פתח את תת התפריט (Sub-menu) של האפשרות הנוכחית עם רווח או אנטר (ENTER) או חץ שמאלי. ' + - 'חזור לתפריט האב עם אסקייפ (ESC) או חץ שמאלי. ' + - 'סגור את תפריט ההקשר עם אסקייפ (ESC).' + 'לחץ ${contextMenu} או APPLICATION KEYכדי לפתוח את תפריט ההקשר. עבור לאפשרות הבאה עם טאב (TAB) או חץ למטה. עבור לאפשרות הקודמת עם שיפט (SHIFT) + טאב (TAB) או חץ למעלה. לחץ רווח או אנטר (ENTER) כדי לבחור את האפשרות. פתח את תת התפריט (Sub-menu) של האפשרות הנוכחית עם רווח או אנטר (ENTER) או חץ שמאלי. חזור לתפריט האב עם אסקייפ (ESC) או חץ שמאלי. סגור את תפריט ההקשר עם אסקייפ (ESC).' }, { name : 'תפריטים צפים (List boxes)', legend : - 'בתוך תפריט צף, עבור לפריט הבא עם טאב (TAB) או חץ למטה. ' + - 'עבור לתפריט הקודם עם שיפט (SHIFT) + טאב (TAB) or חץ עליון. ' + - 'Press SPACE or ENTER to select the list option. ' + - 'Press ESC to close the list-box.' + 'בתוך תפריט צף, עבור לפריט הבא עם טאב (TAB) או חץ למטה. עבור לתפריט הקודם עם שיפט (SHIFT) + טאב (TAB) or חץ עליון. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' }, { name : '×¢×¥ אלמנטים (Elements Path)', legend : - 'לחץ ${elementsPathFocus} כדי לנווט לעץ האלמנטים. ' + - 'עבור לפריט הבא עם טאב (TAB) או חץ ימני. ' + - 'עבור לפריט הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. ' + - 'לחץ רווח או אנטר (ENTER) כדי לבחור את האלמנט בעורך.' - } - ] - }, - { - name : 'פקודות', - items : - [ - { - name : ' ביטול צעד אחרון', - legend : 'לחץ ${undo}' - }, - { - name : ' חזרה על צעד אחרון', - legend : 'לחץ ${redo}' - }, - { - name : ' הדגשה', - legend : 'לחץ ${bold}' - }, - { - name : ' הטייה', - legend : 'לחץ ${italic}' - }, - { - name : ' הוספת קו תחתון', - legend : 'לחץ ${underline}' - }, - { - name : ' הוספת לינק', - legend : 'לחץ ${link}' - }, - { - name : ' כיווץ סרגל הכלים', - legend : 'לחץ ${toolbarCollapse}' - }, - { - name : ' הוראות נגישות', - legend : 'לחץ ${a11yHelp}' - } - ] - } - ] - } -}); -/* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.plugins.setLang( 'a11yhelp', 'he', -{ - accessibilityHelp : - { - title : 'הוראות נגישות', - contents : 'הוראות נגישות. לסגירה לחץ אסקייפ (ESC).', - legend : - [ - { - name : 'כללי', - items : - [ - { - name : 'סרגל הכלים', - legend: - 'לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלים. ' + - 'עבור לכפתור הבא עם מקש הטאב (TAB) או חץ שמאלי. ' + - 'עבור לכפתור הקודם עם מקש השיפט (SHIFT) + טאב (TAB) או חץ ימני. ' + - 'לחץ רווח או אנטר (ENTER) כדי להפעיל את הכפתור הנבחר.' - }, - - { - name : 'דיאלוגים (חלונות תשאול)', - legend : - 'בתוך דיאלוג, לחץ טאב (TAB) כדי לנווט לשדה הבא, לחץ שיפט (SHIFT) + טאב (TAB) כדי לנווט לשדה הקודם, לחץ אנטר (ENTER) כדי לשלוח את הדיאלוג, לחץ אסקייפ (ESC) כדי לבטל. ' + - 'בתוך דיאלוגים בעלי מספר טאבים (לשוניות), לחץ אלט (ALT) + F10 כדי לנווט לשורת הטאבים. ' + - 'נווט לטאב הבא עם טאב (TAB) או חץ שמאלי. ' + - 'עבור לטאב הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. ' + - 'לחץ רווח או אנטר (ENTER) כדי להיכנס לטאב.' - }, - - { - name : 'תפריט ההקשר (Context Menu)', - legend : - 'לחץ ${contextMenu} או APPLICATION KEYכדי לפתוח את תפריט ההקשר. ' + - 'עבור לאפשרות הבאה עם טאב (TAB) או חץ למטה. ' + - 'עבור לאפשרות הקודמת עם שיפט (SHIFT) + טאב (TAB) או חץ למעלה. ' + - 'לחץ רווח או אנטר (ENTER) כדי לבחור את האפשרות. ' + - 'פתח את תת התפריט (Sub-menu) של האפשרות הנוכחית עם רווח או אנטר (ENTER) או חץ שמאלי. ' + - 'חזור לתפריט האב עם אסקייפ (ESC) או חץ שמאלי. ' + - 'סגור את תפריט ההקשר עם אסקייפ (ESC).' - }, - - { - name : 'תפריטים צפים (List boxes)', - legend : - 'בתוך תפריט צף, עבור לפריט הבא עם טאב (TAB) או חץ למטה. ' + - 'עבור לתפריט הקודם עם שיפט (SHIFT) + טאב (TAB) or חץ עליון. ' + - 'Press SPACE or ENTER to select the list option. ' + - 'Press ESC to close the list-box.' - }, - - { - name : '×¢×¥ אלמנטים (Elements Path)', - legend : - 'לחץ ${elementsPathFocus} כדי לנווט לעץ האלמנטים. ' + - 'עבור לפריט הבא עם טאב (TAB) או חץ ימני. ' + - 'עבור לפריט הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. ' + - 'לחץ רווח או אנטר (ENTER) כדי לבחור את האלמנט בעורך.' + 'לחץ ${elementsPathFocus} כדי לנווט לעץ האלמנטים. עבור לפריט הבא עם טאב (TAB) או חץ ימני. עבור לפריט הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. לחץ רווח או אנטר (ENTER) כדי לבחור את האלמנט בעורך.' } ] }, diff --git a/_source/plugins/a11yhelp/lang/it.js b/_source/plugins/a11yhelp/lang/it.js new file mode 100644 index 0000000..848d03f --- /dev/null +++ b/_source/plugins/a11yhelp/lang/it.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'it', +{ + accessibilityHelp : + { + title : 'Istruzioni di Accessibilità', + contents : 'Contenuti di Aiuto. Per chiudere questa finestra premi ESC.', + legend : + [ + { + name : 'Generale', + items : + [ + { + name : 'Barra degli strumenti Editor', + legend: + 'Premi ${toolbarFocus} per navigare fino alla barra degli strumenti. Muoviti tra i gruppi della barra degli strumenti con i tasti Tab e Maiusc-Tab. Spostati tra il successivo ed il precedente pulsante della barra degli strumenti usando le frecce direzionali Destra e Sinistra. Premi Spazio o Invio per attivare il pulsante della barra degli strumenti.' + }, + + { + name : 'Finestra Editor', + legend : + 'All\'interno di una finestra di dialogo, premi Tab per navigare fino al campo successivo della finestra di dialogo, premi Maiusc-Tab per tornare al campo precedente, premi Invio per inviare la finestra di dialogo, premi Esc per uscire. Per le finestre che hanno schede multiple, premi Alt+F10 per navigare nella lista delle schede. Quindi spostati alla scheda successiva con il tasto Tab oppure con la Freccia Destra. Torna alla scheda precedente con Maiusc+Tab oppure con la Freccia Sinistra. Premi Spazio o Invio per scegliere la scheda.' + }, + + { + name : 'Menù contestuale Editor', + legend : + 'Premi ${contextMenu} o TASTO APPLICAZIONE per aprire il menu contestuale. Dunque muoviti all\'opzione successiva del menu con il tasto TAB o con la Freccia Sotto. Muoviti all\'opzione precedente con MAIUSC+TAB o con Freccia Sopra. Premi SPAZIO o INVIO per scegliere l\'opzione di menu. Apri il sottomenu dell\'opzione corrente con SPAZIO o INVIO oppure con la Freccia Destra. Torna indietro al menu superiore con ESC oppure Freccia Sinistra. Chiudi il menu contestuale con ESC.' + }, + + { + name : 'Box Lista Editor', + legend : + 'Dentro un box-lista, muoviti al prossimo elemento della lista con TAB o con la Freccia direzionale giù. Spostati all\'elemento precedente con MAIUSC+TAB oppure con Freccia direzionale sopra. Premi SPAZIO o INVIO per scegliere l\'opzione della lista. Premi ESC per chiudere il box-lista.' + }, + + { + name : 'Barra percorso elementi editor', + legend : + 'Premi ${elementsPathFocus} per navigare tra gli elementi della barra percorso. Muoviti al prossimo pulsante di elemento con TAB o la Freccia direzionale destra. Muoviti al pulsante precedente con MAIUSC+TAB o la Freccia Direzionale Sinistra. Premi SPAZIO o INVIO per scegliere l\'elemento nell\'editor.' + } + ] + }, + { + name : 'Comandi', + items : + [ + { + name : ' Annulla comando', + legend : 'Premi ${undo}' + }, + { + name : ' Ripeti comando', + legend : 'Premi ${redo}' + }, + { + name : ' Comando Grassetto', + legend : 'Premi ${bold}' + }, + { + name : ' Comando Corsivo', + legend : 'Premi ${italic}' + }, + { + name : ' Comando Sottolineato', + legend : 'Premi ${underline}' + }, + { + name : ' Comando Link', + legend : 'Premi ${link}' + }, + { + name : ' Comando riduci barra degli strumenti', + legend : 'Premi ${toolbarCollapse}' + }, + { + name : ' Aiuto Accessibilità', + legend : 'Premi ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/mk.js b/_source/plugins/a11yhelp/lang/mk.js new file mode 100644 index 0000000..36d1aba --- /dev/null +++ b/_source/plugins/a11yhelp/lang/mk.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'mk', +{ + accessibilityHelp : + { + title : 'Инструкции за пристапност', + contents : 'Содржина на делот за помош. За да го затворите овој дијалот притиснете ESC.', + legend : + [ + { + name : 'Општо', + items : + [ + { + name : 'Мени за едиторот', + legend: + 'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.' // MISSING + }, + + { + name : 'Дијалот за едиторот', + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'Editor Context Menu', // MISSING + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'Editor List Box', // MISSING + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'Editor Element Path Bar', // MISSING + legend : + 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING + } + ] + }, + { + name : 'Commands', // MISSING + items : + [ + { + name : ' Undo command', // MISSING + legend : 'Press ${undo}' // MISSING + }, + { + name : ' Redo command', // MISSING + legend : 'Press ${redo}' // MISSING + }, + { + name : ' Bold command', // MISSING + legend : 'Press ${bold}' // MISSING + }, + { + name : ' Italic command', // MISSING + legend : 'Press ${italic}' // MISSING + }, + { + name : ' Underline command', // MISSING + legend : 'Press ${underline}' // MISSING + }, + { + name : ' Link command', // MISSING + legend : 'Press ${link}' // MISSING + }, + { + name : ' Toolbar Collapse command', // MISSING + legend : 'Press ${toolbarCollapse}' // MISSING + }, + { + name : ' Accessibility Help', // MISSING + legend : 'Press ${a11yHelp}' // MISSING + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/nb.js b/_source/plugins/a11yhelp/lang/nb.js new file mode 100644 index 0000000..dc4966b --- /dev/null +++ b/_source/plugins/a11yhelp/lang/nb.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'nb', +{ + accessibilityHelp : + { + title : 'Instruksjoner for tilgjengelighet', + contents : 'Innhold for hjelp. Trykk ESC for Ã¥ lukke denne dialogen.', + legend : + [ + { + name : 'Generelt', + items : + [ + { + name : 'Verktøylinje for editor', + legend: + 'Trykk ${toolbarFocus} for Ã¥ navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT-TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for Ã¥ aktivere verktøylinjeknappen.' + }, + + { + name : 'Dialog for editor', + legend : + 'Mens du er i en dialog, trykk TAB for Ã¥ navigere til neste dialogfelt, press SHIFT + TAB for Ã¥ flytte til forrige felt, trykk ENTER for Ã¥ akseptere dialogen, trykk ESC for Ã¥ avbryte dialogen. For dialoger med flere faner, trykk ALT + F10 for Ã¥ navigere til listen over faner. GÃ¥ til neste fane med TAB eller HØYRE PILTAST. GÃ¥ til forrige fane med SHIFT + TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for Ã¥ velge fanen.' + }, + + { + name : 'Kontekstmeny for editor', + legend : + 'Trykk ${contextMenu} eller MENYKNAPP for Ã¥ Ã¥pne kontekstmeny. GÃ¥ til neste alternativ i menyen med TAB eller PILTAST NED. GÃ¥ til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for Ã¥ velge menyalternativet. Åpne undermenyen pÃ¥ valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. GÃ¥ tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC.' + }, + + { + name : 'Listeboks for editor', + legend : + 'I en listeboks, gÃ¥ til neste alternativ i listen med TAB eller PILTAST NED. GÃ¥ til forrige alternativ i listen med SHIFT + TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for Ã¥ velge alternativet i listen. Trykk ESC for Ã¥ lukke listeboksen.' + }, + + { + name : 'Verktøylinje for elementsti', + legend : + 'Trykk ${elementsPathFocus} for Ã¥ navigere til verktøylinjen som viser elementsti. GÃ¥ til neste elementknapp med TAB eller HØYRE PILTAST. GÃ¥ til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for Ã¥ velge elementet i editoren.' + } + ] + }, + { + name : 'Kommandoer', + items : + [ + { + name : 'Angre', + legend : 'Trykk ${undo}' + }, + { + name : 'Gjør om', + legend : 'Trykk ${redo}' + }, + { + name : 'Fet tekst', + legend : 'Trykk ${bold}' + }, + { + name : 'Kursiv tekst', + legend : 'Trykk ${italic}' + }, + { + name : 'Understreking', + legend : 'Trykk ${underline}' + }, + { + name : 'Link', + legend : 'Trykk ${link}' + }, + { + name : 'Skjul verktøylinje', + legend : 'Trykk ${toolbarCollapse}' + }, + { + name : 'Hjelp for tilgjengelighet', + legend : 'Trykk ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/nl.js b/_source/plugins/a11yhelp/lang/nl.js new file mode 100644 index 0000000..61b2989 --- /dev/null +++ b/_source/plugins/a11yhelp/lang/nl.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'nl', +{ + accessibilityHelp : + { + title : 'Toegankelijkheidsinstructies', + contents : 'Help inhoud. Druk op ESC om dit dialoog te sluiten.', + legend : + [ + { + name : 'Algemeen', + items : + [ + { + name : 'Werkbalk tekstverwerker', + legend: + 'Druk op ${toolbarFocus} om naar de werkbalk te navigeren. Om te schakelen naar de volgende en vorige werkbalkgroep, gebruik TAB en SHIFT+TAB. Om te schakelen naar de volgende en vorige werkbalkknop, gebruik de PIJL RECHTS en PIJL LINKS. Druk op SPATIE of ENTER om een werkbalkknop te activeren.' + }, + + { + name : 'Dialoog tekstverwerker', + legend : + 'In een dialoogvenster, druk op TAB om te navigeren naar het volgende veld. Druk op SHIFT+TAB om naar het vorige veld te navigeren. Druk op ENTER om het dialoogvenster te verzenden. Druk op ESC om het dialoogvenster te sluiten. Voor dialoogvensters met meerdere tabbladen, druk op ALT+F10 om naar de tabset te navigeren. Schakel naar het volgende tabblad met TAB of PIJL RECHTS. Schakel naar het vorige tabblad met SHIFT+TAB of PIJL LINKS. Druk op SPATIE of ENTER om het tabblad te selecteren.' + }, + + { + name : 'Contextmenu tekstverwerker', + legend : + 'Druk op ${contextMenu} of APPLICATION KEY om het contextmenu te openen. Schakel naar de volgende menuoptie met TAB of PIJL OMLAAG. Schakel naar de vorige menuoptie met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om een menuoptie te selecteren. Op een submenu van de huidige optie met SPATIE, ENTER of PIJL RECHTS. Ga terug naar de bovenliggende menuoptie met ESC of PIJL LINKS. Sluit het contextmenu met ESC.' + }, + + { + name : 'Keuzelijst tekstverwerker', + legend : + 'In een keuzelijst, schakel naar het volgende item met TAB of PIJL OMLAAG. Schakel naar het vorige item met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om het item te selecteren. Druk op ESC om de keuzelijst te sluiten.' + }, + + { + name : 'Elementenpad werkbalk tekstverwerker', + legend : + 'Druk op ${elementsPathFocus} om naar het elementenpad te navigeren. Om te schakelen naar het volgende element, gebruik TAB of PIJL RECHTS. Om te schakelen naar het vorige element, gebruik SHIFT+TAB or PIJL LINKS. Druk op SPATIE of ENTER om een element te selecteren in de tekstverwerker.' + } + ] + }, + { + name : 'Opdrachten', + items : + [ + { + name : 'Ongedaan maken opdracht', + legend : 'Druk op ${undo}' + }, + { + name : 'Opnieuw uitvoeren opdracht', + legend : 'Druk op ${redo}' + }, + { + name : 'Vetgedrukt opdracht', + legend : 'Druk up ${bold}' + }, + { + name : 'Cursief opdracht', + legend : 'Druk op ${italic}' + }, + { + name : 'Onderstrepen opdracht', + legend : 'Druk op ${underline}' + }, + { + name : 'Link opdracht', + legend : 'Druk op ${link}' + }, + { + name : 'Werkbalk inklappen opdracht', + legend : 'Druk op ${toolbarCollapse}' + }, + { + name : 'Toegankelijkheidshulp', + legend : 'Druk op ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/no.js b/_source/plugins/a11yhelp/lang/no.js new file mode 100644 index 0000000..8fe719e --- /dev/null +++ b/_source/plugins/a11yhelp/lang/no.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'no', +{ + accessibilityHelp : + { + title : 'Instruksjoner for tilgjengelighet', + contents : 'Innhold for hjelp. Trykk ESC for Ã¥ lukke denne dialogen.', + legend : + [ + { + name : 'Generelt', + items : + [ + { + name : 'Verktøylinje for editor', + legend: + 'Trykk ${toolbarFocus} for Ã¥ navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT-TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for Ã¥ aktivere verktøylinjeknappen.' + }, + + { + name : 'Dialog for editor', + legend : + 'Mens du er i en dialog, trykk TAB for Ã¥ navigere til neste dialogfelt, press SHIFT + TAB for Ã¥ flytte til forrige felt, trykk ENTER for Ã¥ akseptere dialogen, trykk ESC for Ã¥ avbryte dialogen. For dialoger med flere faner, trykk ALT + F10 for Ã¥ navigere til listen over faner. GÃ¥ til neste fane med TAB eller HØYRE PILTAST. GÃ¥ til forrige fane med SHIFT + TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for Ã¥ velge fanen.' + }, + + { + name : 'Kontekstmeny for editor', + legend : + 'Trykk ${contextMenu} eller MENYKNAPP for Ã¥ Ã¥pne kontekstmeny. GÃ¥ til neste alternativ i menyen med TAB eller PILTAST NED. GÃ¥ til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for Ã¥ velge menyalternativet. Åpne undermenyen pÃ¥ valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. GÃ¥ tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC.' + }, + + { + name : 'Listeboks for editor', + legend : + 'I en listeboks, gÃ¥ til neste alternativ i listen med TAB eller PILTAST NED. GÃ¥ til forrige alternativ i listen med SHIFT + TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for Ã¥ velge alternativet i listen. Trykk ESC for Ã¥ lukke listeboksen.' + }, + + { + name : 'Verktøylinje for elementsti', + legend : + 'Trykk ${elementsPathFocus} for Ã¥ navigere til verktøylinjen som viser elementsti. GÃ¥ til neste elementknapp med TAB eller HØYRE PILTAST. GÃ¥ til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for Ã¥ velge elementet i editoren.' + } + ] + }, + { + name : 'Kommandoer', + items : + [ + { + name : 'Angre', + legend : 'Trykk ${undo}' + }, + { + name : 'Gjør om', + legend : 'Trykk ${redo}' + }, + { + name : 'Fet tekst', + legend : 'Trykk ${bold}' + }, + { + name : 'Kursiv tekst', + legend : 'Trykk ${italic}' + }, + { + name : 'Understreking', + legend : 'Trykk ${underline}' + }, + { + name : 'Link', + legend : 'Trykk ${link}' + }, + { + name : 'Skjul verktøylinje', + legend : 'Trykk ${toolbarCollapse}' + }, + { + name : 'Hjelp for tilgjengelighet', + legend : 'Trykk ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/tr.js b/_source/plugins/a11yhelp/lang/tr.js new file mode 100644 index 0000000..34c1a46 --- /dev/null +++ b/_source/plugins/a11yhelp/lang/tr.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'tr', +{ + accessibilityHelp : + { + title : 'Erişilebilirlik Talimatları', + contents : 'Yardım içeriği. Bu pencereyi kapatmak için ESC tuşuna basın.', + legend : + [ + { + name : 'Genel', + items : + [ + { + name : 'Araç Çubuğu Editörü', + legend: + 'Araç çubuğunda gezinmek için ${toolbarFocus} basın. TAB ve SHIFT-TAB ile önceki ve sonraki araç çubuğu grubuna taşıyın. SAĞ OK veya SOL OK ile önceki ve sonraki bir araç çubuğu düğmesini hareket ettirin. SPACE tuşuna basın veya araç çubuğu düğmesini etkinleştirmek için ENTER tuşna basın.' + }, + + { + name : 'Dialog Editörü', + legend : + 'Dialog penceresi içinde, sonraki iletişim alanına gitmek için SEKME tuşuna basın, önceki alana geçmek için SHIFT + TAB tuşuna basın, pencereyi göndermek için ENTER tuşuna basın, dialog penceresini iptal etmek için ESC tuşuna basın. Birden çok sekme sayfaları olan diyalogların, sekme listesine gitmek için ALT + F10 tuşlarına basın. Sonra TAB veya SAĞ OK sonraki sekmeye taşıyın. SHIFT + TAB veya SOL OK ile önceki sekmeye geçin. Sekme sayfayı seçmek için SPACE veya ENTER tuşuna basın.' + }, + + { + name : 'İçerik Menü Editörü', + legend : + 'İçerik menüsünü açmak için ${contextMenu} veya UYGULAMA TUŞU\'na basın. Daha sonra SEKME veya AŞAĞI OK ile bir sonraki menü seçeneği taşıyın. SHIFT + TAB veya YUKARI OK ile önceki seçeneğe gider. Menü seçeneğini seçmek için SPACE veya ENTER tuşuna basın. Seçili seçeneğin alt menüsünü SPACE ya da ENTER veya SAĞ OK açın. Üst menü öğesini geçmek için ESC veya SOL OK ile geri dönün. ESC ile bağlam menüsünü kapatın.' + }, + + { + name : 'Liste Kutusu Editörü', + legend : + 'Liste kutusu içinde, bir sonraki liste öğesine SEKME VEYA AŞAĞI OK ile taşıyın. SHIFT + TAB veya YUKARI önceki liste öğesi taşıyın. Liste seçeneği seçmek için SPACE veya ENTER tuşuna basın. Liste kutusunu kapatmak için ESC tuşuna basın.' + }, + + { + name : 'Element Yol Çubuğu Editörü', + legend : + 'Elementlerin yol çubuğunda gezinmek için ${ElementsPathFocus} basın. SEKME veya SAĞ OK ile sonraki element düğmesine taşıyın. SHIFT + TAB veya SOL OK önceki düğmeye hareket ettirin. Editör içindeki elementi seçmek için ENTER veya SPACE tuşuna basın.' + } + ] + }, + { + name : 'Komutlar', + items : + [ + { + name : 'Komutu geri al', + legend : '${undo} basın' + }, + { + name : ' Tekrar komutu uygula', + legend : '${redo} basın' + }, + { + name : ' Kalın komut', + legend : '${bold} basın' + }, + { + name : ' Ä°talik komutu', + legend : '${italic} basın' + }, + { + name : ' Alttan çizgi komutu', + legend : '${underline} basın' + }, + { + name : ' Bağlantı komutu', + legend : '${link} basın' + }, + { + name : ' Araç çubuğu Toplama komutu', + legend : '${toolbarCollapse} basın' + }, + { + name : 'Erişilebilirlik Yardımı', + legend : '${a11yHelp} basın' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/ug.js b/_source/plugins/a11yhelp/lang/ug.js new file mode 100644 index 0000000..6e9a84a --- /dev/null +++ b/_source/plugins/a11yhelp/lang/ug.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'ug', +{ + accessibilityHelp : + { + title : 'قوشۇمچە چۈشەندۈرۈش', + contents : 'ياردەم مەزمۇنى. بۇ سۆزلەشكۈنى ياپماقچى بولسىڭىز ESC نى بېسىڭ.', + legend : + [ + { + name : 'ئادەتتىكى', + items : + [ + { + name : 'قورال بالداق تەھرىر', + legend: + '${toolbarFocus} بېسىلسا قورال بالداققا يېتەكلەيدۇ، TAB ياكى SHIFT+TAB ئارقىلىق قورال بالداق گۇرۇپپىسى تاللىنىدۇ، ئوڭ سول يا ئوقتا توپچا تاللىنىدۇ، بوشلۇق ياكى Enter كۇنۇپكىسىدا تاللانغان توپچىنى قوللىنىدۇ.' + }, + + { + name : 'تەھرىرلىگۈچ سۆزلەشكۈسى', + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'تەھرىرلىگۈچ تىل مۇھىت تىزىملىكى', + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'تەھرىرلىگۈچ تىزىمى', + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'تەھرىرلىگۈچ ئېلېمېنت يول بالداق', + legend : + '${elementsPathFocus} بېسىلسا ئېلېمېنت يول بالداققا يېتەكلەيدۇ، TAB ياكى ئوڭ يا ئوقتا كېيىنكى ئېلېمېنت تاللىنىدۇ، SHIFT+TAB ياكى سول يا ئوقتا ئالدىنقى ئېلېمېنت تاللىنىدۇ، بوشلۇق ياكى Enter كۇنۇپكىسىدا تەھرىرلىگۈچتىكى ئېلېمېنت تاللىنىدۇ.' + } + ] + }, + { + name : 'بۇيرۇق', + items : + [ + { + name : 'بۇيرۇقتىن يېنىۋال', + legend : '${undo} نى بېسىڭ' + }, + { + name : 'قايتىلاش بۇيرۇقى', + legend : '${redo} نى بېسىڭ' + }, + { + name : 'توملىتىش بۇيرۇقى', + legend : '${bold} نى بېسىڭ' + }, + { + name : 'يانتۇ بۇيرۇقى', + legend : '${italic} نى بېسىڭ' + }, + { + name : 'ئاستى سىزىق بۇيرۇقى', + legend : '${underline} نى بېسىڭ' + }, + { + name : 'ئۇلانما بۇيرۇقى', + legend : '${link} نى بېسىڭ' + }, + { + name : 'قورال بالداق قاتلاش بۇيرۇقى', + legend : '${toolbarCollapse} نى بېسىڭ' + }, + { + name : 'توسالغۇسىز لايىھە چۈشەندۈرۈشى', + legend : '${a11yHelp} نى بېسىڭ' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/vi.js b/_source/plugins/a11yhelp/lang/vi.js new file mode 100644 index 0000000..c045369 --- /dev/null +++ b/_source/plugins/a11yhelp/lang/vi.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'vi', +{ + accessibilityHelp : + { + title : 'Accessibility Instructions', // MISSING + contents : 'Nội dung Hỗ trợ. Nhấn ESC để đóng hộp thoại.', + legend : + [ + { + name : 'Chung', + items : + [ + { + name : 'Thanh công cụ soạn th', + legend: + 'Nhấn ${toolbarFocus} để điều hướng đến thanh công cụ. Nhấn TAB và SHIFT-TAB để chuyển đến nhóm thanh công cụ khác. Nhấn MŨI TÊN PHẢI hoặc MŨI TÊN TRÁI để chuyển sang nút khác trên thanh công cụ. Nhấn PHÍM CÁCH hoặc ENTER để kích hoạt nút trên thanh công c.' + }, + + { + name : 'Hộp thoại Biên t', + legend : + 'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.' // MISSING + }, + + { + name : 'Trình đơn Ngữ cảnh cBộ soạn thảo', + legend : + 'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.' // MISSING + }, + + { + name : 'Editor List Box', // MISSING + legend : + 'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.' // MISSING + }, + + { + name : 'Editor Element Path Bar', // MISSING + legend : + 'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.' // MISSING + } + ] + }, + { + name : 'Commands', // MISSING + items : + [ + { + name : ' Undo command', // MISSING + legend : 'Press ${undo}' // MISSING + }, + { + name : ' Redo command', // MISSING + legend : 'Press ${redo}' // MISSING + }, + { + name : ' Bold command', // MISSING + legend : 'Press ${bold}' // MISSING + }, + { + name : ' Italic command', // MISSING + legend : 'Press ${italic}' // MISSING + }, + { + name : ' Underline command', // MISSING + legend : 'Press ${underline}' // MISSING + }, + { + name : ' Link command', // MISSING + legend : 'Press ${link}' // MISSING + }, + { + name : ' Toolbar Collapse command', // MISSING + legend : 'Press ${toolbarCollapse}' // MISSING + }, + { + name : ' Accessibility Help', // MISSING + legend : 'Press ${a11yHelp}' // MISSING + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/zh-cn.js b/_source/plugins/a11yhelp/lang/zh-cn.js new file mode 100644 index 0000000..a595f6f --- /dev/null +++ b/_source/plugins/a11yhelp/lang/zh-cn.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'zh-cn', +{ + accessibilityHelp : + { + title : '辅助说明', + contents : '帮助内容。要关闭此对话框请按 ESC 键。', + legend : + [ + { + name : '常规', + items : + [ + { + name : '编辑器工具栏', + legend: + '按 ${toolbarFocus} 以导航到工具栏,使用 TAB 键或 SHIFT+TAB 组合键以选择工具栏组,使用左右箭头键以选择按钮,按空格键或回车键以应用选中的按钮。' + }, + + { + name : '编辑器对话框', + legend : + '在对话框内,TAB键移动到下一个字段,SHIFT + TAB 移动到上一个字段,ENTER键提交对话框,ESC键取消对话框。对于有多标签的对话框,用ALT + F10来移到标签列表。然后用TAB键或者向右箭头来移动到下一个标签;SHIFT + TAB或者向左箭头移动到上一个标签。用SPACE或者ENTER选择标签。' + }, + + { + name : '编辑器上下文菜单', + legend : + '用 ${contextMenu}或者 应用程序键 打开上下文菜单。然后用TAB键或者向下箭头来移动到下一个菜单项;SHIFT + TAB或者向上箭头移动到上一个菜单项。用SPACE或者ENTER选择菜单项。用SPACE,ENTER或者向右箭头打开子菜单。返回菜单用ESC键或者向左箭头。用ESC关闭上下文菜单。' + }, + + { + name : '编辑器列表框', + legend : + '在列表框中,移到下一列表项用TAB键或者向下箭头。移到上一列表项用SHIFT + TAB或者向上箭头,用SPACE或者ENTER选择列表项。用ESC收起列表框。' + }, + + { + name : '编辑器元素路径栏', + legend : + '按 ${elementsPathFocus} 以导航到元素路径栏,使用 TAB 键或右箭头键选择下一个元素,使用 SHIFT+TAB 组合键或左箭头键选择上一个元素,按空格键或回车键以选定编辑器里的元素。' + } + ] + }, + { + name : '命令', + items : + [ + { + name : ' 撤消命令', + legend : '按 ${undo}' + }, + { + name : ' 重做命令', + legend : '按 ${redo}' + }, + { + name : ' 加粗命令', + legend : '按 ${bold}' + }, + { + name : ' 倾斜命令', + legend : '按 ${italic}' + }, + { + name : ' 下划线命令', + legend : '按 ${underline}' + }, + { + name : ' 链接命令', + legend : '按 ${link}' + }, + { + name : ' 工具栏折叠命令', + legend : '按 ${toolbarCollapse}' + }, + { + name : ' 无障碍设计说明', + legend : '按 ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/plugin.js b/_source/plugins/a11yhelp/plugin.js index 80e556c..31996a1 100644 --- a/_source/plugins/a11yhelp/plugin.js +++ b/_source/plugins/a11yhelp/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -16,7 +16,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.plugins.add( pluginName, { // List of available localizations. - availableLangs : { en:1, he:1 }, + availableLangs : { cs:1, cy:1, da:1, de:1, el:1, en:1, eo:1, fa:1, fi:1, fr:1, gu:1, he:1, it:1, mk:1, nb:1, nl:1, no:1, tr:1, ug:1, vi:1, 'zh-cn':1 }, init : function( editor ) { diff --git a/_source/plugins/about/dialogs/about.js b/_source/plugins/about/dialogs/about.js index 1bb2e5d..53b4b0a 100644 --- a/_source/plugins/about/dialogs/about.js +++ b/_source/plugins/about/dialogs/about.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/about/plugin.js b/_source/plugins/about/plugin.js index 29451c6..40eae7e 100644 --- a/_source/plugins/about/plugin.js +++ b/_source/plugins/about/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/adobeair/plugin.js b/_source/plugins/adobeair/plugin.js index 8cd799b..065cde0 100644 --- a/_source/plugins/adobeair/plugin.js +++ b/_source/plugins/adobeair/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/ajax/plugin.js b/_source/plugins/ajax/plugin.js index a4b713a..1c032a9 100644 --- a/_source/plugins/ajax/plugin.js +++ b/_source/plugins/ajax/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/autogrow/plugin.js b/_source/plugins/autogrow/plugin.js index c8c668e..fdbb578 100644 --- a/_source/plugins/autogrow/plugin.js +++ b/_source/plugins/autogrow/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -67,7 +67,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { editor.addCommand( 'autogrow', { exec : resizeEditor, modes : { wysiwyg:1 }, readOnly: 1, canUndo: false, editorFocus: false } ); - var eventsList = { contentDom:1, key:1, selectionChange:1, insertElement:1 }; + var eventsList = { contentDom:1, key:1, selectionChange:1, insertElement:1, mode:1 }; editor.config.autoGrow_onStartup && ( eventsList[ 'instanceReady' ] = 1 ); for ( var eventName in eventsList ) { diff --git a/_source/plugins/basicstyles/plugin.js b/_source/plugins/basicstyles/plugin.js index 6ad08b0..b3f64fb 100644 --- a/_source/plugins/basicstyles/plugin.js +++ b/_source/plugins/basicstyles/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/bbcode/plugin.js b/_source/plugins/bbcode/plugin.js index 9ea7232..fa8bc1a 100644 --- a/_source/plugins/bbcode/plugin.js +++ b/_source/plugins/bbcode/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/bidi/plugin.js b/_source/plugins/bidi/plugin.js index 2233ee1..72f1041 100644 --- a/_source/plugins/bidi/plugin.js +++ b/_source/plugins/bidi/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/blockquote/plugin.js b/_source/plugins/blockquote/plugin.js index dc4eb8c..f17aec2 100644 --- a/_source/plugins/blockquote/plugin.js +++ b/_source/plugins/blockquote/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/button/plugin.js b/_source/plugins/button/plugin.js index 7655229..af95b69 100644 --- a/_source/plugins/button/plugin.js +++ b/_source/plugins/button/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/clipboard/dialogs/paste.js b/_source/plugins/clipboard/dialogs/paste.js index 9a659ed..cec04d3 100644 --- a/_source/plugins/clipboard/dialogs/paste.js +++ b/_source/plugins/clipboard/dialogs/paste.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -45,7 +45,7 @@ CKEDITOR.dialog.add( 'paste', function( editor ) case 9 : case CKEDITOR.SHIFT + 9 : - this.changeFocus( true ); + this.changeFocus( 1 ); processed = 1; } diff --git a/_source/plugins/clipboard/plugin.js b/_source/plugins/clipboard/plugin.js index 3c53ab1..a285954 100644 --- a/_source/plugins/clipboard/plugin.js +++ b/_source/plugins/clipboard/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -16,10 +16,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var doc = editor.document, body = doc.getBody(); - var enabled = 0; + var enabled = false; var onExec = function() { - enabled = 1; + enabled = true; }; // The following seems to be the only reliable way to detect that @@ -135,11 +135,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var body = this.document.getBody(); - // Simulate 'beforepaste' event for all none-IEs. - if ( !CKEDITOR.env.ie && body.fire( 'beforepaste' ) ) - event.cancel(); // Simulate 'paste' event for Opera/Firefox2. - else if ( CKEDITOR.env.opera + if ( CKEDITOR.env.opera || CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 ) body.fire( 'paste' ); return; @@ -226,8 +223,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Wait a while and grab the pasted contents window.setTimeout( function() { - mode == 'text' && CKEDITOR.env.gecko && editor.focusGrabber.focus(); - pastebin.remove(); + // Restore properly the document focus. (#5684, #8849) + editor.document.getBody().focus(); + editor.removeListener( 'selectionChange', cancel ); // Grab the HTML contents. @@ -240,7 +238,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license && ( bogusSpan.is && bogusSpan.hasClass( 'Apple-style-span' ) ) ? bogusSpan : pastebin ); + // IE7: selection must go before removing paste. (#8691) sel.selectBookmarks( bms ); + pastebin.remove(); callback( pastebin[ 'get' + ( mode == 'text' ? 'Value' : 'Html' ) ]() ); }, 0 ); } @@ -375,11 +375,18 @@ For licensing, see LICENSE.html or http://ckeditor.com/license editor.on( 'contentDom', function() { var body = editor.document.getBody(); - body.on( CKEDITOR.env.webkit ? 'paste' : 'beforepaste', function( evt ) + + // Intercept the paste before it actually takes place. + body.on( !CKEDITOR.env.ie ? 'paste' : 'beforepaste', function( evt ) { if ( depressBeforeEvent ) return; + // Dismiss the (wrong) 'beforepaste' event fired on toolbar menu open. + var domEvent = evt.data && evt.data.$; + if ( CKEDITOR.env.ie && domEvent && !domEvent.ctrlKey ) + return; + // Fire 'beforePaste' event so clipboard flavor get customized // by other plugins. var eventData = { mode : 'html' }; @@ -398,12 +405,31 @@ For licensing, see LICENSE.html or http://ckeditor.com/license } ); }); - // Dismiss the (wrong) 'beforepaste' event fired on context menu open. (#7953) - body.on( 'contextmenu', function() + if ( CKEDITOR.env.ie ) { - depressBeforeEvent = 1; - setTimeout( function() { depressBeforeEvent = 0; }, 10 ); - }); + // Dismiss the (wrong) 'beforepaste' event fired on context menu open. (#7953) + body.on( 'contextmenu', function() + { + depressBeforeEvent = 1; + // Important: The following timeout will be called only after menu closed. + setTimeout( function() { depressBeforeEvent = 0; }, 0 ); + } ); + + // Handle IE's late coming "paste" event when pasting from + // browser toolbar/context menu. + body.on( 'paste', function( evt ) + { + if ( !editor.document.getById( 'cke_pastebin' ) ) + { + // Prevent native paste. + evt.data.preventDefault(); + + depressBeforeEvent = 0; + // Resort to the paste command. + pasteCmd.exec( editor ); + } + } ); + } body.on( 'beforecut', function() { !depressBeforeEvent && fixCut( editor ); } ); diff --git a/_source/plugins/colorbutton/plugin.js b/_source/plugins/colorbutton/plugin.js index 25e6ef4..7cc0604 100644 --- a/_source/plugins/colorbutton/plugin.js +++ b/_source/plugins/colorbutton/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -93,8 +93,7 @@ CKEDITOR.plugins.add( 'colorbutton', function renderColors( panel, type, colorBoxId ) { var output = [], - colors = config.colorButton_colors.split( ',' ), - total = colors.length + ( config.colorButton_enableMore ? 2 : 1 ); + colors = config.colorButton_colors.split( ',' ); var clickFn = CKEDITOR.tools.addFunction( function( color, type ) { @@ -157,7 +156,7 @@ CKEDITOR.plugins.add( 'colorbutton', ' title="', lang.auto, '"' + ' onclick="CKEDITOR.tools.callFunction(', clickFn, ',null,\'', type, '\');return false;"' + ' href="javascript:void(\'', lang.auto, '\')"' + - ' role="option" aria-posinset="1" aria-setsize="', total, '">' + + ' role="option">' + '' + '' + '' ); @@ -211,7 +210,7 @@ CKEDITOR.plugins.add( 'colorbutton', ' title="', lang.more, '"' + ' onclick="CKEDITOR.tools.callFunction(', clickFn, ',\'?\',\'', type, '\');return false;"' + ' href="javascript:void(\'', lang.more, '\')"', - ' role="option" aria-posinset="', total, '" aria-setsize="', total, '">', + ' role="option">', lang.more, '' + '' ); // tr is later in the code. diff --git a/_source/plugins/colordialog/dialogs/colordialog.js b/_source/plugins/colordialog/dialogs/colordialog.js index 61d411b..a8e83f5 100644 --- a/_source/plugins/colordialog/dialogs/colordialog.js +++ b/_source/plugins/colordialog/dialogs/colordialog.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -8,7 +8,6 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) // Define some shorthands. var $el = CKEDITOR.dom.element, $doc = CKEDITOR.document, - $tools = CKEDITOR.tools, lang = editor.lang.colordialog; // Reference the dialog. @@ -20,34 +19,66 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) html : ' ' }; + var selected; + function clearSelected() { $doc.getById( selHiColorId ).removeStyle( 'background-color' ); dialog.getContentElement( 'picker', 'selectedColor' ).setValue( '' ); + selected && selected.removeAttribute( 'aria-selected' ); + selected = null; } function updateSelected( evt ) { - if ( ! ( evt instanceof CKEDITOR.dom.event ) ) - evt = new CKEDITOR.dom.event( evt ); - - var target = evt.getTarget(), + var target = evt.data.getTarget(), color; - if ( target.getName() == 'a' && ( color = target.getChild( 0 ).getHtml() ) ) + if ( target.getName() == 'td' && + ( color = target.getChild( 0 ).getHtml() ) ) + { + selected = target; + selected.setAttribute( 'aria-selected', true ); dialog.getContentElement( 'picker', 'selectedColor' ).setValue( color ); + } + } + + // Basing black-white decision off of luma scheme using the Rec. 709 version + function whiteOrBlack( color ) + { + color = color.replace( /^#/, '' ); + for ( var i = 0, rgb = []; i <= 2; i++ ) + rgb[i] = parseInt( color.substr( i * 2, 2 ), 16 ); + var luma = (0.2126 * rgb[0]) + (0.7152 * rgb[1]) + (0.0722 * rgb[2]); + return '#' + ( luma >= 165 ? '000' : 'fff' ); } + // Distinguish focused and hover states. + var focused, hovered; + + // Apply highlight style. function updateHighlight( event ) { - if ( ! ( event instanceof CKEDITOR.dom.event ) ) - event = event.data; + // Convert to event. + !event.name && ( event = new CKEDITOR.event( event ) ); - var target = event.getTarget(), - color; + var isFocus = !(/mouse/).test( event.name ), + target = event.data.getTarget(), + color; - if ( target.getName() == 'a' && ( color = target.getChild( 0 ).getHtml() ) ) + if ( target.getName() == 'td' && ( color = target.getChild( 0 ).getHtml() ) ) { + removeHighlight( event ); + + isFocus ? focused = target : hovered = target; + + // Apply outline style to show focus. + if ( isFocus ) + { + target.setStyle( 'border-color', whiteOrBlack( color ) ); + target.setStyle( 'border-style', 'dotted' ); + } + $doc.getById( hicolorId ).setStyle( 'background-color', color ); $doc.getById( hicolorTextId ).setHtml( color ); } @@ -55,22 +86,41 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) function clearHighlight() { + var color = focused.getChild( 0 ).getHtml(); + focused.setStyle( 'border-color', color ); + focused.setStyle( 'border-style', 'solid' ); $doc.getById( hicolorId ).removeStyle( 'background-color' ); $doc.getById( hicolorTextId ).setHtml( ' ' ); + focused = null; } - var onMouseout = $tools.addFunction( clearHighlight ), - onClick = updateSelected, - onClickHandler = CKEDITOR.tools.addFunction( onClick ), - onFocus = updateHighlight, - onBlur = clearHighlight; + // Remove previously focused style. + function removeHighlight( event ) + { + var isFocus = !(/mouse/).test( event.name ), + target = isFocus && focused; + + if ( target ) + { + var color = target.getChild( 0 ).getHtml(); + target.setStyle( 'border-color', color ); + target.setStyle( 'border-style', 'solid' ); + } + + if ( ! ( focused || hovered ) ) + { + $doc.getById( hicolorId ).removeStyle( 'background-color' ); + $doc.getById( hicolorTextId ).setHtml( ' ' ); + } + } - var onKeydownHandler = CKEDITOR.tools.addFunction( function( ev ) + function onKeyStrokes( evt ) { - ev = new CKEDITOR.dom.event( ev ); - var element = ev.getTarget(); + var domEvt = evt.data; + + var element = domEvt.getTarget(); var relative, nodeToMove; - var keystroke = ev.getKeystroke(), + var keystroke = domEvt.getKeystroke(), rtl = editor.lang.dir == 'rtl'; switch ( keystroke ) @@ -78,100 +128,93 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) // UP-ARROW case 38 : // relative is TR - if ( ( relative = element.getParent().getParent().getPrevious() ) ) + if ( ( relative = element.getParent().getPrevious() ) ) { - nodeToMove = relative.getChild( [element.getParent().getIndex(), 0] ); + nodeToMove = relative.getChild( [ element.getIndex() ] ); nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); } - ev.preventDefault(); + domEvt.preventDefault(); break; // DOWN-ARROW case 40 : // relative is TR - if ( ( relative = element.getParent().getParent().getNext() ) ) + if ( ( relative = element.getParent().getNext() ) ) { - nodeToMove = relative.getChild( [ element.getParent().getIndex(), 0 ] ); + nodeToMove = relative.getChild( [ element.getIndex() ] ); if ( nodeToMove && nodeToMove.type == 1 ) { nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); } } - ev.preventDefault(); + domEvt.preventDefault(); break; + // SPACE - // ENTER is already handled as onClick + // ENTER case 32 : - onClick( ev ); - ev.preventDefault(); + case 13 : + updateSelected( evt ); + domEvt.preventDefault(); break; // RIGHT-ARROW case rtl ? 37 : 39 : // relative is TD - if ( ( relative = element.getParent().getNext() ) ) + if ( ( nodeToMove = element.getNext() ) ) { - nodeToMove = relative.getChild( 0 ); if ( nodeToMove.type == 1 ) { nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); - ev.preventDefault( true ); + domEvt.preventDefault( true ); } - else - onBlur( null, element ); } // relative is TR - else if ( ( relative = element.getParent().getParent().getNext() ) ) + else if ( ( relative = element.getParent().getNext() ) ) { - nodeToMove = relative.getChild( [ 0, 0 ] ); + nodeToMove = relative.getChild( [ 0 ] ); if ( nodeToMove && nodeToMove.type == 1 ) { nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); - ev.preventDefault( true ); + domEvt.preventDefault( true ); } - else - onBlur( null, element ); } break; // LEFT-ARROW case rtl ? 39 : 37 : // relative is TD - if ( ( relative = element.getParent().getPrevious() ) ) + if ( ( nodeToMove = element.getPrevious() ) ) { - nodeToMove = relative.getChild( 0 ); nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); - ev.preventDefault( true ); + domEvt.preventDefault( true ); } // relative is TR - else if ( ( relative = element.getParent().getParent().getPrevious() ) ) + else if ( ( relative = element.getParent().getPrevious() ) ) { - nodeToMove = relative.getLast().getChild( 0 ); + nodeToMove = relative.getLast(); nodeToMove.focus(); - onBlur( ev, element ); - onFocus( ev, nodeToMove ); - ev.preventDefault( true ); + domEvt.preventDefault( true ); } - else - onBlur( null, element ); break; default : // Do not stop not handled events. return; } - }); + } function createColorTable() { + table = CKEDITOR.dom.element.createFromHtml + ( + '
' + @@ -194,7 +193,7 @@ CKEDITOR.plugins.add( 'colorbutton', ' title="', colorLabel, '"' + ' onclick="CKEDITOR.tools.callFunction(', clickFn, ',\'', colorName, '\',\'', type, '\'); return false;"' + ' href="javascript:void(\'', colorLabel, '\')"' + - ' role="option" aria-posinset="', ( i + 2 ), '" aria-setsize="', total, '">' + + ' role="option">' + '' + '' + '
' + + '' + + '
' + lang.options + '
' + ); + + table.on( 'mouseover', updateHighlight ); + table.on( 'mouseout', removeHighlight ); + // Create the base colors array. var aColors = [ '00', '33', '66', '99', 'cc', 'ff' ]; @@ -180,13 +223,14 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) { for ( var i = rangeA ; i < rangeA + 3 ; i++ ) { - var row = table.$.insertRow( -1 ); + var row = new $el( table.$.insertRow( -1 ) ); + row.setAttribute( 'role', 'row' ); for ( var j = rangeB ; j < rangeB + 3 ; j++ ) { for ( var n = 0 ; n < 6 ; n++ ) { - appendColorCell( row, '#' + aColors[j] + aColors[n] + aColors[i] ); + appendColorCell( row.$, '#' + aColors[j] + aColors[n] + aColors[i] ); } } } @@ -197,20 +241,23 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) { var cell = new $el( targetRow.insertCell( -1 ) ); cell.setAttribute( 'class', 'ColorCell' ); + cell.setAttribute( 'tabIndex', -1 ); + cell.setAttribute( 'role', 'gridcell' ); + + cell.on( 'keydown', onKeyStrokes ); + cell.on( 'click', updateSelected ); + cell.on( 'focus', updateHighlight ); + cell.on( 'blur', removeHighlight ); + cell.setStyle( 'background-color', color ); + cell.setStyle( 'border', '1px solid ' + color ); - cell.setStyle( 'width', '15px' ); - cell.setStyle( 'height', '15px' ); - - var index = cell.$.cellIndex + 1 + 18 * targetRow.rowIndex; - cell.append( CKEDITOR.dom.element.createFromHtml( - '' + color + ' ', CKEDITOR.document ) ); + cell.setStyle( 'width', '14px' ); + cell.setStyle( 'height', '14px' ); + + var colorLabel = numbering( 'color_table_cell' ); + cell.setAttribute( 'aria-labelledby',colorLabel ); + cell.append( CKEDITOR.dom.element.createFromHtml( '' + color + '', CKEDITOR.document ) ); } appendColorRow( 0, 0 ); @@ -219,25 +266,22 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) appendColorRow( 3, 3 ); // Create the last row. - var oRow = table.$.insertRow(-1) ; + var oRow = new $el( table.$.insertRow( -1 ) ) ; + oRow.setAttribute( 'role', 'row' ); // Create the gray scale colors cells. for ( var n = 0 ; n < 6 ; n++ ) { - appendColorCell( oRow, '#' + aColors[n] + aColors[n] + aColors[n] ) ; + appendColorCell( oRow.$, '#' + aColors[n] + aColors[n] + aColors[n] ) ; } // Fill the row with black cells. for ( var i = 0 ; i < 12 ; i++ ) { - appendColorCell( oRow, '#000000' ) ; + appendColorCell( oRow.$, '#000000' ) ; } } - var table = new $el( 'table' ); - createColorTable(); - var html = table.getHtml(); - var numbering = function( id ) { return CKEDITOR.tools.getNextId() + '_' + id; @@ -245,7 +289,9 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) hicolorId = numbering( 'hicolor' ), hicolorTextId = numbering( 'hicolortext' ), selHiColorId = numbering( 'selhicolor' ), - tableLabelId = numbering( 'color_table_label' ); + table; + + createColorTable(); return { title : lang.title, @@ -256,6 +302,11 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) // Update reference. dialog = this; }, + onHide : function() + { + clearSelected(); + clearHighlight(); + }, contents : [ { id : 'picker', @@ -271,20 +322,16 @@ CKEDITOR.dialog.add( 'colordialog', function( editor ) [ { type : 'html', - html : '' + - ( !CKEDITOR.env.webkit ? html : '' ) + - '
' + lang.options +'', + html : '
', onLoad : function() { - var table = CKEDITOR.document.getById( this.domId ); - table.on( 'mouseover', updateHighlight ); - // In WebKit, the table content must be inserted after this event call (#6150) - CKEDITOR.env.webkit && table.setHtml( html ); + CKEDITOR.document.getById( this.domId ).append( table ); }, - focus: function() + focus : function() { - var firstColor = this.getElement().getElementsByTag( 'a' ).getItem( 0 ); - firstColor.focus(); + // Restore the previously focused cell, + // otherwise put the initial focus on the first table cell. + ( focused || this.getElement().getElementsByTag( 'td' ).getItem( 0 ) ).focus(); } }, spacer, diff --git a/_source/plugins/colordialog/plugin.js b/_source/plugins/colordialog/plugin.js index ca7f44e..5687740 100644 --- a/_source/plugins/colordialog/plugin.js +++ b/_source/plugins/colordialog/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/contextmenu/plugin.js b/_source/plugins/contextmenu/plugin.js index 09a9f93..5d95080 100644 --- a/_source/plugins/contextmenu/plugin.js +++ b/_source/plugins/contextmenu/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/devtools/lang/_translationstatus.txt b/_source/plugins/devtools/lang/_translationstatus.txt new file mode 100644 index 0000000..fc6f642 --- /dev/null +++ b/_source/plugins/devtools/lang/_translationstatus.txt @@ -0,0 +1,27 @@ +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +bg.js Found: 5 Missing: 0 +cs.js Found: 5 Missing: 0 +cy.js Found: 5 Missing: 0 +da.js Found: 5 Missing: 0 +de.js Found: 5 Missing: 0 +el.js Found: 5 Missing: 0 +eo.js Found: 5 Missing: 0 +et.js Found: 5 Missing: 0 +fa.js Found: 5 Missing: 0 +fi.js Found: 5 Missing: 0 +fr.js Found: 5 Missing: 0 +gu.js Found: 5 Missing: 0 +he.js Found: 5 Missing: 0 +hr.js Found: 5 Missing: 0 +it.js Found: 5 Missing: 0 +nb.js Found: 5 Missing: 0 +nl.js Found: 5 Missing: 0 +no.js Found: 5 Missing: 0 +pl.js Found: 5 Missing: 0 +tr.js Found: 5 Missing: 0 +ug.js Found: 5 Missing: 0 +uk.js Found: 5 Missing: 0 +vi.js Found: 5 Missing: 0 +zh-cn.js Found: 5 Missing: 0 diff --git a/_source/plugins/devtools/lang/bg.js b/_source/plugins/devtools/lang/bg.js new file mode 100644 index 0000000..c524ded --- /dev/null +++ b/_source/plugins/devtools/lang/bg.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'bg', +{ + devTools : + { + title : 'Информация за елемента', + dialogName : 'Име на диалоговия прозорец', + tabName : 'Име на таб', + elementId : 'ID на елемента', + elementType : 'Тип на елемента' + } +}); diff --git a/_source/plugins/devtools/lang/cs.js b/_source/plugins/devtools/lang/cs.js new file mode 100644 index 0000000..41050c8 --- /dev/null +++ b/_source/plugins/devtools/lang/cs.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'cs', +{ + devTools : + { + title : 'Informace o prvku', + dialogName : 'Název dialogového okna', + tabName : 'Název karty', + elementId : 'ID prvku', + elementType : 'Typ prvku' + } +}); diff --git a/_source/plugins/devtools/lang/cy.js b/_source/plugins/devtools/lang/cy.js new file mode 100644 index 0000000..eb65ec7 --- /dev/null +++ b/_source/plugins/devtools/lang/cy.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'cy', +{ + devTools : + { + title : 'Gwybodaeth am yr Elfen', + dialogName : 'Enw ffenestr y deialog', + tabName : 'Enw\'r tab', + elementId : 'ID yr Elfen', + elementType : 'Math yr elfen' + } +}); diff --git a/_source/plugins/devtools/lang/da.js b/_source/plugins/devtools/lang/da.js new file mode 100644 index 0000000..90279c3 --- /dev/null +++ b/_source/plugins/devtools/lang/da.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'da', +{ + devTools : + { + title : 'Information på elementet', + dialogName : 'Dialogboks', + tabName : 'Tab beskrivelse', + elementId : 'ID på element', + elementType : 'Type af element' + } +}); diff --git a/_source/plugins/devtools/lang/de.js b/_source/plugins/devtools/lang/de.js new file mode 100644 index 0000000..c958ef9 --- /dev/null +++ b/_source/plugins/devtools/lang/de.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'de', +{ + devTools : + { + title : 'Elementinformation', + dialogName : 'Dialogfenstername', + tabName : 'Reitername', + elementId : 'Element ID', + elementType : 'Elementtyp' + } +}); diff --git a/_source/plugins/devtools/lang/el.js b/_source/plugins/devtools/lang/el.js new file mode 100644 index 0000000..9e7223c --- /dev/null +++ b/_source/plugins/devtools/lang/el.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'el', +{ + devTools : + { + title : 'Πληροφορίες Στοιχείου', + dialogName : 'Όνομα παραθύρου διαλόγου', + tabName : 'Όνομα καρτέλας', + elementId : 'ID Στοιχείου', + elementType : 'Τύπος στοιχείου' + } +}); diff --git a/_source/plugins/devtools/lang/en.js b/_source/plugins/devtools/lang/en.js index 3281505..ec2771a 100644 --- a/_source/plugins/devtools/lang/en.js +++ b/_source/plugins/devtools/lang/en.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/devtools/lang/eo.js b/_source/plugins/devtools/lang/eo.js new file mode 100644 index 0000000..15bceba --- /dev/null +++ b/_source/plugins/devtools/lang/eo.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'eo', +{ + devTools : + { + title : 'Informo pri la elemento', + dialogName : 'Nomo de la dialogfenestro', + tabName : 'Langetnomo', + elementId : 'ID de la elemento', + elementType : 'Tipo de la elemento' + } +}); diff --git a/_source/plugins/devtools/lang/et.js b/_source/plugins/devtools/lang/et.js new file mode 100644 index 0000000..6ca4ef9 --- /dev/null +++ b/_source/plugins/devtools/lang/et.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'et', +{ + devTools : + { + title : 'Elemendi andmed', + dialogName : 'Dialoogiakna nimi', + tabName : 'Saki nimi', + elementId : 'Elemendi ID', + elementType : 'Elemendi liik' + } +}); diff --git a/_source/plugins/devtools/lang/fa.js b/_source/plugins/devtools/lang/fa.js new file mode 100644 index 0000000..4184d14 --- /dev/null +++ b/_source/plugins/devtools/lang/fa.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'fa', +{ + devTools : + { + title : 'اطلاعات عنصر', + dialogName : 'نام پنجره محاورهای', + tabName : 'نام برگه', + elementId : 'ID عنصر', + elementType : 'نوع عنصر' + } +}); diff --git a/_source/plugins/devtools/lang/fi.js b/_source/plugins/devtools/lang/fi.js new file mode 100644 index 0000000..c415660 --- /dev/null +++ b/_source/plugins/devtools/lang/fi.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'fi', +{ + devTools : + { + title : 'Elementin tiedot', + dialogName : 'Dialogi-ikkunan nimi', + tabName : 'Välilehden nimi', + elementId : 'Elementin ID', + elementType : 'Elementin tyyppi' + } +}); diff --git a/_source/plugins/devtools/lang/fr.js b/_source/plugins/devtools/lang/fr.js new file mode 100644 index 0000000..2eab122 --- /dev/null +++ b/_source/plugins/devtools/lang/fr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'fr', +{ + devTools : + { + title : 'Information sur l\'élément', + dialogName : 'Nom de la fenêtre de dialogue', + tabName : 'Nom de l\'onglet', + elementId : 'ID de l\'élément', + elementType : 'Type de l\'élément' + } +}); diff --git a/_source/plugins/devtools/lang/gu.js b/_source/plugins/devtools/lang/gu.js new file mode 100644 index 0000000..cea9282 --- /dev/null +++ b/_source/plugins/devtools/lang/gu.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'gu', +{ + devTools : + { + title : 'પ્રાથમિક માહિતી', + dialogName : 'વિન્ડોનું નામ', + tabName : 'ટેબનું નામ', + elementId : 'પ્રાથમિક આઈડી', + elementType : 'પ્રાથમિક પ્રકાર' + } +}); diff --git a/_source/plugins/devtools/lang/he.js b/_source/plugins/devtools/lang/he.js new file mode 100644 index 0000000..b61f3c7 --- /dev/null +++ b/_source/plugins/devtools/lang/he.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'he', +{ + devTools : + { + title : 'מידע על האלמנט', + dialogName : 'שם הדיאלוג', + tabName : 'שם הטאב', + elementId : 'ID של האלמנט', + elementType : 'סוג האלמנט' + } +}); diff --git a/_source/plugins/devtools/lang/hr.js b/_source/plugins/devtools/lang/hr.js new file mode 100644 index 0000000..a4e5d1b --- /dev/null +++ b/_source/plugins/devtools/lang/hr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'hr', +{ + devTools : + { + title : 'Informacije elementa', + dialogName : 'Naziv prozora za dijalog', + tabName : 'Naziva jahača', + elementId : 'ID elementa', + elementType : 'Vrsta elementa' + } +}); diff --git a/_source/plugins/devtools/lang/it.js b/_source/plugins/devtools/lang/it.js new file mode 100644 index 0000000..27c01ed --- /dev/null +++ b/_source/plugins/devtools/lang/it.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'it', +{ + devTools : + { + title : 'Informazioni elemento', + dialogName : 'Nome finestra di dialogo', + tabName : 'Nome Tab', + elementId : 'ID Elemento', + elementType : 'Tipo elemento' + } +}); diff --git a/_source/plugins/devtools/lang/nb.js b/_source/plugins/devtools/lang/nb.js new file mode 100644 index 0000000..1df7af1 --- /dev/null +++ b/_source/plugins/devtools/lang/nb.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'nb', +{ + devTools : + { + title : 'Elementinformasjon', + dialogName : 'Navn på dialogvindu', + tabName : 'Navn på fane', + elementId : 'Element-ID', + elementType : 'Elementtype' + } +}); diff --git a/_source/plugins/devtools/lang/nl.js b/_source/plugins/devtools/lang/nl.js new file mode 100644 index 0000000..2c674fc --- /dev/null +++ b/_source/plugins/devtools/lang/nl.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'nl', +{ + devTools : + { + title : 'Elementinformatie', + dialogName : 'Naam dialoogvenster', + tabName : 'Tabnaam', + elementId : 'Element ID', + elementType : 'Elementtype' + } +}); diff --git a/_source/plugins/devtools/lang/no.js b/_source/plugins/devtools/lang/no.js new file mode 100644 index 0000000..0d51dbf --- /dev/null +++ b/_source/plugins/devtools/lang/no.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'no', +{ + devTools : + { + title : 'Elementinformasjon', + dialogName : 'Navn på dialogvindu', + tabName : 'Navn på fane', + elementId : 'Element-ID', + elementType : 'Elementtype' + } +}); diff --git a/_source/plugins/devtools/lang/pl.js b/_source/plugins/devtools/lang/pl.js new file mode 100644 index 0000000..1099684 --- /dev/null +++ b/_source/plugins/devtools/lang/pl.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'pl', +{ + devTools : + { + title : 'Informacja o elemencie', + dialogName : 'Nazwa okna dialogowego', + tabName : 'Nazwa zakładki', + elementId : 'ID elementu', + elementType : 'Typ elementu' + } +}); diff --git a/_source/plugins/devtools/lang/tr.js b/_source/plugins/devtools/lang/tr.js new file mode 100644 index 0000000..9940638 --- /dev/null +++ b/_source/plugins/devtools/lang/tr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'tr', +{ + devTools : + { + title : 'Eleman Bilgisi', + dialogName : 'İletişim pencere ismi', + tabName : 'Sekme adı', + elementId : 'Eleman ID', + elementType : 'Eleman türü' + } +}); diff --git a/_source/plugins/devtools/lang/ug.js b/_source/plugins/devtools/lang/ug.js new file mode 100644 index 0000000..5b1be62 --- /dev/null +++ b/_source/plugins/devtools/lang/ug.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'ug', +{ + devTools : + { + title : 'ئېلېمېنت ئۇچۇرى', + dialogName : 'سۆزلەشكۈ كۆزنەك ئاتى', + tabName : 'Tab ئاتى', + elementId : 'ئېلېمېنت كىملىكى', + elementType : 'ئېلېمېنت تىپى' + } +}); diff --git a/_source/plugins/devtools/lang/uk.js b/_source/plugins/devtools/lang/uk.js new file mode 100644 index 0000000..21c4f29 --- /dev/null +++ b/_source/plugins/devtools/lang/uk.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'uk', +{ + devTools : + { + title : 'Відомості про Елемент', + dialogName : 'Заголовок діалогового вікна', + tabName : 'Назва вкладки', + elementId : 'Ідентифікатор Елемента', + elementType : 'Тип Елемента' + } +}); diff --git a/_source/plugins/devtools/lang/vi.js b/_source/plugins/devtools/lang/vi.js new file mode 100644 index 0000000..9470587 --- /dev/null +++ b/_source/plugins/devtools/lang/vi.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'vi', +{ + devTools : + { + title : 'Thông tin thành ph', + dialogName : 'Tên hộp tho', + tabName : 'Tên th', + elementId : 'Mã thành ph', + elementType : 'Loại thành ph' + } +}); diff --git a/_source/plugins/devtools/lang/zh-cn.js b/_source/plugins/devtools/lang/zh-cn.js new file mode 100644 index 0000000..d06ceb2 --- /dev/null +++ b/_source/plugins/devtools/lang/zh-cn.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'zh-cn', +{ + devTools : + { + title : '元素信息', + dialogName : '对话框窗口名称', + tabName : 'Tab 名称', + elementId : '元素 ID', + elementType : '元素类型' + } +}); diff --git a/_source/plugins/devtools/plugin.js b/_source/plugins/devtools/plugin.js index 6067138..255b1c3 100644 --- a/_source/plugins/devtools/plugin.js +++ b/_source/plugins/devtools/plugin.js @@ -1,11 +1,11 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.plugins.add( 'devtools', { - lang : [ 'en' ], + lang : [ 'bg', 'cs', 'cy', 'da', 'de', 'el', 'en', 'eo', 'et', 'fa', 'fi', 'fr', 'gu', 'he', 'hr', 'it', 'nb', 'nl', 'no', 'pl', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ], init : function( editor ) { diff --git a/_source/plugins/dialog/dialogDefinition.js b/_source/plugins/dialog/dialogDefinition.js index a3db7f8..3d36d04 100644 --- a/_source/plugins/dialog/dialogDefinition.js +++ b/_source/plugins/dialog/dialogDefinition.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/dialog/plugin.js b/_source/plugins/dialog/plugin.js index 13ee0ef..eee4916 100644 --- a/_source/plugins/dialog/plugin.js +++ b/_source/plugins/dialog/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -138,7 +138,10 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; var definition = CKEDITOR.dialog._.dialogDefinitions[ dialogName ], defaultDefinition = CKEDITOR.tools.clone( defaultDialogDefinition ), buttonsOrder = editor.config.dialog_buttonsOrder || 'OS', - dir = editor.lang.dir; + dir = editor.lang.dir, + tabsToRemove = {}, + i, + processed; if ( ( buttonsOrder == 'OS' && CKEDITOR.env.mac ) || // The buttons in MacOS Apps are in reverse order (#4750) ( buttonsOrder == 'rtl' && dir == 'ltr' ) || @@ -219,7 +222,6 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; } , editor ).definition; - var tabsToRemove = {}; // Cache tabs that should be removed. if ( !( 'removeDialogTabs' in editor._ ) && editor.config.removeDialogTabs ) { @@ -358,10 +360,11 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; focusList[ i ].focusIndex = i; } - function changeFocus( forward ) + function changeFocus( offset ) { - var focusList = me._.focusList, - offset = forward ? 1 : -1; + var focusList = me._.focusList; + offset = offset || 0; + if ( focusList.length < 1 ) return; @@ -377,12 +380,13 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; var startIndex = ( current + offset + focusList.length ) % focusList.length, currentIndex = startIndex; - while ( !focusList[ currentIndex ].isFocusable() ) + while ( offset && !focusList[ currentIndex ].isFocusable() ) { currentIndex = ( currentIndex + offset + focusList.length ) % focusList.length; if ( currentIndex == startIndex ) break; } + focusList[ currentIndex ].focus(); // Select whole field content. @@ -392,7 +396,6 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; this.changeFocus = changeFocus; - var processed; function focusKeydownHandler( evt ) { @@ -419,7 +422,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; else { // Change the focus of inputs. - changeFocus( !shiftPressed ); + changeFocus( shiftPressed ? -1 : 1 ); } processed = 1; @@ -444,7 +447,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; this.selectPage( this._.currentTabId ); this._.tabBarMode = false; this._.currentFocusIndex = -1; - changeFocus( true ); + changeFocus( 1 ); processed = 1; } @@ -512,7 +515,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; } // Focus the first field in layout order. else - changeFocus( true ); + changeFocus( 1 ); /* * IE BUG: If the initial focus went into a non-text element (e.g. button), @@ -558,7 +561,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; ( new CKEDITOR.dom.text( definition.title, CKEDITOR.document ) ).appendTo( this.parts.title ); // Insert the tabs and contents. - for ( var i = 0 ; i < definition.contents.length ; i++ ) + for ( i = 0 ; i < definition.contents.length ; i++ ) { var page = definition.contents[i]; page && this.addPage( page ); @@ -578,7 +581,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; { this._.tabBarMode = false; this._.currentFocusIndex = -1; - changeFocus( true ); + changeFocus( 1 ); } evt.data.preventDefault(); } @@ -794,19 +797,12 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; this._.element.getFirst().setStyle( 'z-index', CKEDITOR.dialog._.currentZIndex += 10 ); // Maintain the dialog ordering and dialog cover. - // Also register key handlers if first dialog. if ( CKEDITOR.dialog._.currentTop === null ) { CKEDITOR.dialog._.currentTop = this; this._.parentDialog = null; showCover( this._.editor ); - element.on( 'keydown', accessKeyDownHandler ); - element.on( CKEDITOR.env.opera ? 'keypress' : 'keyup', accessKeyUpHandler ); - - // Prevent some keys from bubbling up. (#4269) - for ( var event in { keyup :1, keydown :1, keypress :1 } ) - element.on( event, preventKeyBubbling ); } else { @@ -816,10 +812,25 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; CKEDITOR.dialog._.currentTop = this; } + element.on( 'keydown', accessKeyDownHandler ); + element.on( CKEDITOR.env.opera ? 'keypress' : 'keyup', accessKeyUpHandler ); + + // Prevent some keys from bubbling up. (#4269) + for ( var event in { keyup :1, keydown :1, keypress :1 } ) + element.on( event, preventKeyBubbling ); + // Register the Esc hotkeys. registerAccessKey( this, this, '\x1b', null, function() { - this.getButton( 'cancel' ) && this.getButton( 'cancel' ).click(); + var button = this.getButton( 'cancel' ); + // If there's a Cancel button, click it, else just fire the cancel event and hide the dialog + if ( button ) + button.click(); + else + { + if ( this.fire( 'cancel', { hide : true } ).hide !== false ) + this.hide(); + } } ); // Reset the hasFocus state. @@ -2935,7 +2946,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; { // Special treatment for Opera. (#8031) CKEDITOR.env.opera ? - CKEDITOR.tools.setTimeout( function() { editor.openDialog( this.dialogName ) }, 0, this ) + CKEDITOR.tools.setTimeout( function() { editor.openDialog( this.dialogName ); }, 0, this ) : editor.openDialog( this.dialogName ); }, diff --git a/_source/plugins/dialogadvtab/plugin.js b/_source/plugins/dialogadvtab/plugin.js index bd8aa7f..d369be7 100644 --- a/_source/plugins/dialogadvtab/plugin.js +++ b/_source/plugins/dialogadvtab/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/dialogui/plugin.js b/_source/plugins/dialogui/plugin.js index 826dc57..963c80c 100644 --- a/_source/plugins/dialogui/plugin.js +++ b/_source/plugins/dialogui/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -224,7 +224,7 @@ CKEDITOR.plugins.add( 'dialogui' ); initPrivateObject.call( this, elementDefinition ); var domId = this._.inputId = CKEDITOR.tools.getNextId() + '_textInput', - attributes = { 'class' : 'cke_dialog_ui_input_' + elementDefinition.type, id : domId, type : 'text' }, + attributes = { 'class' : 'cke_dialog_ui_input_' + elementDefinition.type, id : domId, type : elementDefinition.type }, i; // Set the validator, if any. @@ -855,7 +855,9 @@ CKEDITOR.plugins.add( 'dialogui' ); var innerHTML = function() { var html = []; - legendLabel && html.push( '' + legendLabel + '' ); + legendLabel && html.push( '' + legendLabel + '' ); for ( var i = 0; i < childHtmlList.length; i++ ) html.push( childHtmlList[ i ] ); return html.join( '' ); @@ -969,7 +971,13 @@ CKEDITOR.plugins.add( 'dialogui' ); /** @ignore */ onClick : function( dialog, func ) { - this.on( 'click', func ); + this.on( 'click', function() + { + // Some browsers (Chrome, IE8, IE7 compat mode) don't move + // focus to clicked button. Force this. + this.getElement().focus(); + func.apply( this, arguments ); + }); } }, true ), diff --git a/_source/plugins/div/dialogs/div.js b/_source/plugins/div/dialogs/div.js index 27ca096..37e1e97 100644 --- a/_source/plugins/div/dialogs/div.js +++ b/_source/plugins/div/dialogs/div.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. + * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/div/plugin.js b/_source/plugins/div/plugin.js index 2f954dc..4cddea7 100644 --- a/_source/plugins/div/plugin.js +++ b/_source/plugins/div/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/docprops/dialogs/docprops.js b/_source/plugins/docprops/dialogs/docprops.js index 1ba7b9a..d2012ab 100644 --- a/_source/plugins/docprops/dialogs/docprops.js +++ b/_source/plugins/docprops/dialogs/docprops.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/docprops/plugin.js b/_source/plugins/docprops/plugin.js index d905bdf..b9e0315 100644 --- a/_source/plugins/docprops/plugin.js +++ b/_source/plugins/docprops/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/domiterator/plugin.js b/_source/plugins/domiterator/plugin.js index 5c092bb..f68f7c0 100644 --- a/_source/plugins/domiterator/plugin.js +++ b/_source/plugins/domiterator/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -63,7 +63,7 @@ CKEDITOR.plugins.add( 'domiterator' ); var removePreviousBr, removeLastBr; // This is the first iteration. Let's initialize it. - if ( !this._.lastNode ) + if ( !this._.started ) { range = this.range.clone(); @@ -76,44 +76,49 @@ CKEDITOR.plugins.add( 'domiterator' ); range.enlarge( this.forceBrBreak && !touchPre || !this.enlargeBr ? CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS : CKEDITOR.ENLARGE_BLOCK_CONTENTS ); - var walker = new CKEDITOR.dom.walker( range ), - ignoreBookmarkTextEvaluator = CKEDITOR.dom.walker.bookmark( true, true ); - // Avoid anchor inside bookmark inner text. - walker.evaluator = ignoreBookmarkTextEvaluator; - this._.nextNode = walker.next(); - // TODO: It's better to have walker.reset() used here. - walker = new CKEDITOR.dom.walker( range ); - walker.evaluator = ignoreBookmarkTextEvaluator; - var lastNode = walker.previous(); - this._.lastNode = lastNode.getNextSourceNode( true ); - - // We may have an empty text node at the end of block due to [3770]. - // If that node is the lastNode, it would cause our logic to leak to the - // next block.(#3887) - if ( this._.lastNode && - this._.lastNode.type == CKEDITOR.NODE_TEXT && - !CKEDITOR.tools.trim( this._.lastNode.getText() ) && - this._.lastNode.getParent().isBlockBoundary() ) + if ( !range.collapsed ) { - var testRange = new CKEDITOR.dom.range( range.document ); - testRange.moveToPosition( this._.lastNode, CKEDITOR.POSITION_AFTER_END ); - if ( testRange.checkEndOfBlock() ) + var walker = new CKEDITOR.dom.walker( range.clone() ), + ignoreBookmarkTextEvaluator = CKEDITOR.dom.walker.bookmark( true, true ); + // Avoid anchor inside bookmark inner text. + walker.evaluator = ignoreBookmarkTextEvaluator; + this._.nextNode = walker.next(); + // TODO: It's better to have walker.reset() used here. + walker = new CKEDITOR.dom.walker( range.clone() ); + walker.evaluator = ignoreBookmarkTextEvaluator; + var lastNode = walker.previous(); + this._.lastNode = lastNode.getNextSourceNode( true ); + + // We may have an empty text node at the end of block due to [3770]. + // If that node is the lastNode, it would cause our logic to leak to the + // next block.(#3887) + if ( this._.lastNode && + this._.lastNode.type == CKEDITOR.NODE_TEXT && + !CKEDITOR.tools.trim( this._.lastNode.getText() ) && + this._.lastNode.getParent().isBlockBoundary() ) { - var path = new CKEDITOR.dom.elementPath( testRange.endContainer ); - var lastBlock = path.block || path.blockLimit; - this._.lastNode = lastBlock.getNextSourceNode( true ); + var testRange = new CKEDITOR.dom.range( range.document ); + testRange.moveToPosition( this._.lastNode, CKEDITOR.POSITION_AFTER_END ); + if ( testRange.checkEndOfBlock() ) + { + var path = new CKEDITOR.dom.elementPath( testRange.endContainer ); + var lastBlock = path.block || path.blockLimit; + this._.lastNode = lastBlock.getNextSourceNode( true ); + } } - } - // Probably the document end is reached, we need a marker node. - if ( !this._.lastNode ) - { - this._.lastNode = this._.docEndMarker = range.document.createText( '' ); - this._.lastNode.insertAfter( lastNode ); + // Probably the document end is reached, we need a marker node. + if ( !this._.lastNode ) + { + this._.lastNode = this._.docEndMarker = range.document.createText( '' ); + this._.lastNode.insertAfter( lastNode ); + } + + // Let's reuse this variable. + range = null; } - // Let's reuse this variable. - range = null; + this._.started = 1; } var currentNode = this._.nextNode; @@ -279,7 +284,7 @@ CKEDITOR.plugins.add( 'domiterator' ); range.insertNode( block ); removePreviousBr = removeLastBr = true; - } + } else if ( block.getName() != 'li' ) { // If the range doesn't includes the entire contents of the @@ -346,7 +351,7 @@ CKEDITOR.plugins.add( 'domiterator' ); // next interation. if ( !this._.nextNode ) { - this._.nextNode = ( isLast || block.equals( lastNode ) ) ? null : + this._.nextNode = ( isLast || block.equals( lastNode ) || !lastNode ) ? null : getNextSourceNode( block, 1, lastNode ); } diff --git a/_source/plugins/editingblock/plugin.js b/_source/plugins/editingblock/plugin.js index 4d5cfe2..abe0b71 100644 --- a/_source/plugins/editingblock/plugin.js +++ b/_source/plugins/editingblock/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/elementspath/plugin.js b/_source/plugins/elementspath/plugin.js index 814e107..1fb5435 100644 --- a/_source/plugins/elementspath/plugin.js +++ b/_source/plugins/elementspath/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/enterkey/plugin.js b/_source/plugins/enterkey/plugin.js index c7e8d4e..dac6fb2 100644 --- a/_source/plugins/enterkey/plugin.js +++ b/_source/plugins/enterkey/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/entities/plugin.js b/_source/plugins/entities/plugin.js index 5402365..5729831 100644 --- a/_source/plugins/entities/plugin.js +++ b/_source/plugins/entities/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -62,10 +62,12 @@ For licensing, see LICENSE.html or http://ckeditor.com/license shy : '\u00AD', // IE gt : '\u003E', // IE | FF | -- | Opera lt : '\u003C', // IE | FF | Safari | Opera - amp : '\u0026' // ALL + amp : '\u0026', // ALL + apos : '\u0027', // IE + quot : '\u0022' // IE }; - entities = entities.replace( /\b(nbsp|shy|gt|lt|amp)(?:,|$)/g, function( match, entity ) + entities = entities.replace( /\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g, function( match, entity ) { var org = reverse ? '&' + entity + ';' : specialTable[ entity ], result = reverse ? specialTable[ entity ] : '&' + entity + ';'; @@ -114,25 +116,27 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( htmlFilter ) { // Mandatory HTML base entities. - var selectedEntities = ''; + var selectedEntities = []; if ( config.basicEntities !== false ) - selectedEntities += htmlbase; + selectedEntities.push( htmlbase ); if ( config.entities ) { - selectedEntities += ',' + entities; + if ( selectedEntities.length ) + selectedEntities.push( entities ); + if ( config.entities_latin ) - selectedEntities += ',' + latin; + selectedEntities.push( latin ); if ( config.entities_greek ) - selectedEntities += ',' + greek; + selectedEntities.push( greek ); if ( config.entities_additional ) - selectedEntities += ',' + config.entities_additional; + selectedEntities.push( config.entities_additional ); } - var entitiesTable = buildTable( selectedEntities ); + var entitiesTable = buildTable( selectedEntities.join( ',' ) ); // Create the Regex used to find entities in the text, leave it matches nothing if entities are empty. var entitiesRegex = entitiesTable.regex ? '[' + entitiesTable.regex + ']' : 'a^'; diff --git a/_source/plugins/fakeobjects/plugin.js b/_source/plugins/fakeobjects/plugin.js index d4ebce5..f55922a 100644 --- a/_source/plugins/fakeobjects/plugin.js +++ b/_source/plugins/fakeobjects/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/filebrowser/plugin.js b/_source/plugins/filebrowser/plugin.js index 5f87180..d354327 100644 --- a/_source/plugins/filebrowser/plugin.js +++ b/_source/plugins/filebrowser/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -246,7 +246,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { element = elements[ i ]; - if ( element.type == 'hbox' || element.type == 'vbox' ) + if ( element.type == 'hbox' || element.type == 'vbox' || element.type == 'fieldset' ) attachFileBrowser( editor, dialogName, definition, element.children ); if ( !element.filebrowser ) @@ -321,7 +321,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { var dialog = sourceElement.getDialog(); var targetElement = sourceElement.filebrowser.target || null; - url = url.replace( /#/g, '%23' ); // If there is a reference to targetElement, update it. if ( targetElement ) diff --git a/_source/plugins/find/dialogs/find.js b/_source/plugins/find/dialogs/find.js index d845166..a84315e 100644 --- a/_source/plugins/find/dialogs/find.js +++ b/_source/plugins/find/dialogs/find.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/find/plugin.js b/_source/plugins/find/plugin.js index 721fb5e..2e9cda8 100644 --- a/_source/plugins/find/plugin.js +++ b/_source/plugins/find/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/flash/dialogs/flash.js b/_source/plugins/flash/dialogs/flash.js index caf2b4d..5ac131a 100644 --- a/_source/plugins/flash/dialogs/flash.js +++ b/_source/plugins/flash/dialogs/flash.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/flash/plugin.js b/_source/plugins/flash/plugin.js index 97f8a12..a018512 100644 --- a/_source/plugins/flash/plugin.js +++ b/_source/plugins/flash/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/floatpanel/plugin.js b/_source/plugins/floatpanel/plugin.js index 5569e5e..7e9af39 100644 --- a/_source/plugins/floatpanel/plugin.js +++ b/_source/plugins/floatpanel/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -47,6 +47,9 @@ CKEDITOR.plugins.add( 'floatpanel', element = panel.element, iframe = element.getFirst().getFirst(); + // Disable native browser menu. (#4825) + element.disableContextMenu(); + this.element = element; this._ = @@ -198,9 +201,6 @@ CKEDITOR.plugins.add( 'floatpanel', CKEDITOR.tools.setTimeout( function() { - if ( rtl ) - left -= element.$.offsetWidth; - var panelLoad = CKEDITOR.tools.bind( function () { var target = element.getFirst(); @@ -247,24 +247,72 @@ CKEDITOR.plugins.add( 'floatpanel', else target.removeStyle( 'height' ); + // Flip panel layout horizontally in RTL with known width. + if ( rtl ) + left -= element.$.offsetWidth; + + // Pop the style now for measurement. + element.setStyle( 'left', left + 'px' ); + + /* panel layout smartly fit the viewport size. */ var panelElement = panel.element, panelWindow = panelElement.getWindow(), - windowScroll = panelWindow.getScrollPosition(), - viewportSize = panelWindow.getViewPaneSize(), - panelSize = + rect = element.$.getBoundingClientRect(), + viewportSize = panelWindow.getViewPaneSize(); + + // Compensation for browsers that dont support "width" and "height". + var rectWidth = rect.width || rect.right - rect.left, + rectHeight = rect.height || rect.bottom - rect.top; + + // Check if default horizontal layout is impossible. + var spaceAfter = rtl ? rect.right : viewportSize.width - rect.left, + spaceBefore = rtl ? viewportSize.width - rect.right : rect.left; + + if ( rtl ) + { + if ( spaceAfter < rectWidth ) { - 'height' : panelElement.$.offsetHeight, - 'width' : panelElement.$.offsetWidth - }; - - // If the menu is horizontal off, shift it toward - // the opposite language direction. - if ( rtl ? left < 0 : left + panelSize.width > viewportSize.width + windowScroll.x ) - left += ( panelSize.width * ( rtl ? 1 : -1 ) ); - - // Vertical off screen is simpler. - if ( top + panelSize.height > viewportSize.height + windowScroll.y ) - top -= panelSize.height; + // Flip to show on right. + if ( spaceBefore > rectWidth ) + left += rectWidth; + // Align to window left. + else if ( viewportSize.width > rectWidth ) + left = left - rect.left; + // Align to window right, never cutting the panel at right. + else + left = left - rect.right + viewportSize.width; + } + } + else if ( spaceAfter < rectWidth ) + { + // Flip to show on left. + if ( spaceBefore > rectWidth ) + left -= rectWidth; + // Align to window right. + else if ( viewportSize.width > rectWidth ) + left = left - rect.right + viewportSize.width; + // Align to window left, never cutting the panel at left. + else + left = left - rect.left; + } + + + // Check if the default vertical layout is possible. + var spaceBelow = viewportSize.height - rect.top, + spaceAbove = rect.top; + + if ( spaceBelow < rectHeight ) + { + // Flip to show above. + if ( spaceAbove > rectHeight ) + top -= rectHeight; + // Align to window bottom. + else if ( viewportSize.height > rectHeight ) + top = top - rect.bottom + viewportSize.height; + // Align to top, never cutting the panel at top. + else + top = top - rect.top; + } // If IE is in RTL, we have troubles with absolute // position and horizontal scrolls. Here we have a diff --git a/_source/plugins/font/plugin.js b/_source/plugins/font/plugin.js index 6a1efee..74d3c9d 100644 --- a/_source/plugins/font/plugin.js +++ b/_source/plugins/font/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/format/plugin.js b/_source/plugins/format/plugin.js index 8e96529..6488e75 100644 --- a/_source/plugins/format/plugin.js +++ b/_source/plugins/format/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/forms/dialogs/button.js b/_source/plugins/forms/dialogs/button.js index 730864f..abb6b8a 100644 --- a/_source/plugins/forms/dialogs/button.js +++ b/_source/plugins/forms/dialogs/button.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'button', function( editor ) diff --git a/_source/plugins/forms/dialogs/checkbox.js b/_source/plugins/forms/dialogs/checkbox.js index 8c6e4d2..5a44046 100644 --- a/_source/plugins/forms/dialogs/checkbox.js +++ b/_source/plugins/forms/dialogs/checkbox.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'checkbox', function( editor ) diff --git a/_source/plugins/forms/dialogs/form.js b/_source/plugins/forms/dialogs/form.js index 975ebdd..c637ab3 100644 --- a/_source/plugins/forms/dialogs/form.js +++ b/_source/plugins/forms/dialogs/form.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'form', function( editor ) diff --git a/_source/plugins/forms/dialogs/hiddenfield.js b/_source/plugins/forms/dialogs/hiddenfield.js index ce63239..2f629a9 100644 --- a/_source/plugins/forms/dialogs/hiddenfield.js +++ b/_source/plugins/forms/dialogs/hiddenfield.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'hiddenfield', function( editor ) diff --git a/_source/plugins/forms/dialogs/radio.js b/_source/plugins/forms/dialogs/radio.js index 5b154aa..9ea0673 100644 --- a/_source/plugins/forms/dialogs/radio.js +++ b/_source/plugins/forms/dialogs/radio.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'radio', function( editor ) diff --git a/_source/plugins/forms/dialogs/select.js b/_source/plugins/forms/dialogs/select.js index aee101b..0117ec9 100644 --- a/_source/plugins/forms/dialogs/select.js +++ b/_source/plugins/forms/dialogs/select.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'select', function( editor ) diff --git a/_source/plugins/forms/dialogs/textarea.js b/_source/plugins/forms/dialogs/textarea.js index f0f7967..cae945d 100644 --- a/_source/plugins/forms/dialogs/textarea.js +++ b/_source/plugins/forms/dialogs/textarea.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'textarea', function( editor ) diff --git a/_source/plugins/forms/dialogs/textfield.js b/_source/plugins/forms/dialogs/textfield.js index cc250de..877edb8 100644 --- a/_source/plugins/forms/dialogs/textfield.js +++ b/_source/plugins/forms/dialogs/textfield.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ CKEDITOR.dialog.add( 'textfield', function( editor ) diff --git a/_source/plugins/forms/plugin.js b/_source/plugins/forms/plugin.js index 5caac87..8c247c4 100644 --- a/_source/plugins/forms/plugin.js +++ b/_source/plugins/forms/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/horizontalrule/plugin.js b/_source/plugins/horizontalrule/plugin.js index 3eac319..7d8bde2 100644 --- a/_source/plugins/horizontalrule/plugin.js +++ b/_source/plugins/horizontalrule/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/htmldataprocessor/plugin.js b/_source/plugins/htmldataprocessor/plugin.js index 8aad224..ecf87ed 100644 --- a/_source/plugins/htmldataprocessor/plugin.js +++ b/_source/plugins/htmldataprocessor/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -308,7 +308,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Avoid corrupting the inline event attributes (#7243). // We should not rewrite the existed protected attributes, e.g. clipboard content from editor. (#5218) if ( !( /^on/ ).test( attrName ) && attributes.indexOf( 'data-cke-saved-' + attrName ) == -1 ) - return ' data-cke-saved-' + fullAttr + ' ' + fullAttr; + return ' data-cke-saved-' + fullAttr + ' data-cke-' + CKEDITOR.rnd + '-' + fullAttr; return fullAttr; }) + '>'; @@ -516,10 +516,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Call the browser to help us fixing a possibly invalid HTML // structure. var div = new CKEDITOR.dom.element( 'div' ); + // Add fake character to workaround IE comments bug. (#3801) div.setHtml( 'a' + data ); data = div.getHtml().substr( 1 ); + // Restore shortly protected attribute names. + data = data.replace( new RegExp( ' data-cke-' + CKEDITOR.rnd + '-', 'ig' ), ' ' ); + // Unprotect "some" of the protected elements at this point. data = unprotectElementNames( data ); diff --git a/_source/plugins/htmlwriter/plugin.js b/_source/plugins/htmlwriter/plugin.js index d06a125..32acfb0 100644 --- a/_source/plugins/htmlwriter/plugin.js +++ b/_source/plugins/htmlwriter/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/iframe/dialogs/iframe.js b/_source/plugins/iframe/dialogs/iframe.js index 769b6af..4c97c66 100644 --- a/_source/plugins/iframe/dialogs/iframe.js +++ b/_source/plugins/iframe/dialogs/iframe.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/iframe/plugin.js b/_source/plugins/iframe/plugin.js index 6c21a32..23fb764 100644 --- a/_source/plugins/iframe/plugin.js +++ b/_source/plugins/iframe/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/iframedialog/plugin.js b/_source/plugins/iframedialog/plugin.js index 870ec1c..61ee605 100644 --- a/_source/plugins/iframedialog/plugin.js +++ b/_source/plugins/iframedialog/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/image/dialogs/image.js b/_source/plugins/image/dialogs/image.js index 8902f9b..992d700 100644 --- a/_source/plugins/image/dialogs/image.js +++ b/_source/plugins/image/dialogs/image.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -266,7 +266,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license btnLockSizesId = numbering( 'btnLockSizes' ), btnResetSizeId = numbering( 'btnResetSize' ), imagePreviewLoaderId = numbering( 'ImagePreviewLoader' ), - imagePreviewBoxId = numbering( 'ImagePreviewBox' ), previewLinkId = numbering( 'previewLink' ), previewImageId = numbering( 'previewImage' ); @@ -290,8 +289,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license this.addLink = false; var editor = this.getParentEditor(), - sel = this.getParentEditor().getSelection(), - element = sel.getSelectedElement(), + sel = editor.getSelection(), + element = sel && sel.getSelectedElement(), link = element && element.getAscendant( 'a' ); //Hide loader. @@ -1077,7 +1076,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license style : 'width:95%;', html : '
' + CKEDITOR.tools.htmlEncode( editor.lang.common.preview ) +'
'+ ''+ - '
'+ + '
'+ ''+ '' + ( editor.config.image_previewText || diff --git a/_source/plugins/image/plugin.js b/_source/plugins/image/plugin.js index 7285b0f..f3c6d6d 100644 --- a/_source/plugins/image/plugin.js +++ b/_source/plugins/image/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -7,6 +7,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license * @file Image plugin */ +(function() +{ + CKEDITOR.plugins.add( 'image', { init : function( editor ) @@ -53,14 +56,94 @@ CKEDITOR.plugins.add( 'image', { editor.contextMenu.addListener( function( element, selection ) { - if ( !element || !element.is( 'img' ) || element.data( 'cke-realelement' ) || element.isReadOnly() ) - return null; - - return { image : CKEDITOR.TRISTATE_OFF }; + if ( getSelectedImage( editor, element ) ) + return { image : CKEDITOR.TRISTATE_OFF }; }); } + }, + afterInit : function( editor ) + { + // Customize the behavior of the alignment commands. (#7430) + setupAlignCommand( 'left' ); + setupAlignCommand( 'right' ); + setupAlignCommand( 'center' ); + setupAlignCommand( 'block' ); + + function setupAlignCommand( value ) + { + var command = editor.getCommand( 'justify' + value ); + if ( command ) + { + if ( value == 'left' || value == 'right' ) + { + command.on( 'exec', function( evt ) + { + var img = getSelectedImage( editor ), align; + if ( img ) + { + align = getImageAlignment( img ); + if ( align == value ) + { + img.removeStyle( 'float' ); + + // Remove "align" attribute when necessary. + if ( value == getImageAlignment( img ) ) + img.removeAttribute( 'align' ); + } + else + img.setStyle( 'float', value ); + + evt.cancel(); + } + }); + } + + command.on( 'refresh', function( evt ) + { + var img = getSelectedImage( editor ), align; + if ( img ) + { + align = getImageAlignment( img ); + + this.setState( + ( align == value ) ? CKEDITOR.TRISTATE_ON : + ( value == 'right' || value == 'left' ) ? CKEDITOR.TRISTATE_OFF : + CKEDITOR.TRISTATE_DISABLED ); + + evt.cancel(); + } + }); + } + } } -} ); +}); + +function getSelectedImage( editor, element ) +{ + if ( !element ) + { + var sel = editor.getSelection(); + element = ( sel.getType() == CKEDITOR.SELECTION_ELEMENT ) && sel.getSelectedElement(); + } + + if ( element && element.is( 'img' ) && !element.data( 'cke-realelement' ) && !element.isReadOnly() ) + return element; +} + +function getImageAlignment( element ) +{ + var align = element.getStyle( 'float' ); + + if ( align == 'inherit' || align == 'none' ) + align = 0; + + if ( !align ) + align = element.getAttribute( 'align' ); + + return align; +} + +})(); /** * Whether to remove links when emptying the link URL field in the image dialog. diff --git a/_source/plugins/indent/plugin.js b/_source/plugins/indent/plugin.js index b0c82bf..1e3ec49 100644 --- a/_source/plugins/indent/plugin.js +++ b/_source/plugins/indent/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -425,6 +425,25 @@ For licensing, see LICENSE.html or http://ckeditor.com/license } } }); + + editor.on( 'key', function( evt ) + { + // Backspace at the beginning of list item should outdent it. + if ( editor.mode == 'wysiwyg' && evt.data.keyCode == 8 ) + { + var sel = editor.getSelection(), + range = sel.getRanges()[ 0 ], + li; + + if ( range.collapsed && + ( li = range.startContainer.getAscendant( 'li', 1 ) ) && + range.checkBoundaryOfElement( li, CKEDITOR.START ) ) + { + editor.execCommand( 'outdent' ); + evt.cancel(); + } + } + }); }, requires : [ 'domiterator', 'list' ] diff --git a/_source/plugins/justify/plugin.js b/_source/plugins/justify/plugin.js index 82c1fcc..1b3aaa5 100644 --- a/_source/plugins/justify/plugin.js +++ b/_source/plugins/justify/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -9,18 +9,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license (function() { - function getState( editor, path ) - { - var firstBlock = path.block || path.blockLimit; - - if ( !firstBlock || firstBlock.getName() == 'body' ) - return CKEDITOR.TRISTATE_OFF; - - return ( getAlignment( firstBlock, editor.config.useComputedState ) == this.value ) ? - CKEDITOR.TRISTATE_ON : - CKEDITOR.TRISTATE_OFF; - } - function getAlignment( element, useComputedState ) { useComputedState = useComputedState === undefined || useComputedState; @@ -40,7 +28,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license align = element.getStyle( 'text-align' ) || element.getAttribute( 'align' ) || ''; } - align && ( align = align.replace( /-moz-|-webkit-|start|auto/i, '' ) ); + // Sometimes computed values doesn't tell. + align && ( align = align.replace( /(?:-(?:moz|webkit)-)?(?:start|auto)/i, '' ) ); !align && useComputedState && ( align = element.getComputedStyle( 'direction' ) == 'rtl' ? 'right' : 'left' ); @@ -52,13 +41,12 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( evt.editor.readOnly ) return; - var command = evt.editor.getCommand( this.name ); - command.state = getState.call( this, evt.editor, evt.data.path ); - command.fire( 'state' ); + evt.editor.getCommand( this.name ).refresh( evt.data.path ); } function justifyCommand( editor, name, value ) { + this.editor = editor; this.name = name; this.value = value; @@ -192,6 +180,16 @@ For licensing, see LICENSE.html or http://ckeditor.com/license editor.focus(); editor.forceNextSelectionCheck(); selection.selectBookmarks( bookmarks ); + }, + + refresh : function( path ) + { + var firstBlock = path.block || path.blockLimit; + + this.setState( firstBlock.getName() != 'body' && + getAlignment( firstBlock, this.editor.config.useComputedState ) == this.value ? + CKEDITOR.TRISTATE_ON : + CKEDITOR.TRISTATE_OFF ); } }; diff --git a/_source/plugins/keystrokes/plugin.js b/_source/plugins/keystrokes/plugin.js index b49a893..d0dc82e 100644 --- a/_source/plugins/keystrokes/plugin.js +++ b/_source/plugins/keystrokes/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/link/dialogs/anchor.js b/_source/plugins/link/dialogs/anchor.js index 1fbcc2a..1e5b0ae 100644 --- a/_source/plugins/link/dialogs/anchor.js +++ b/_source/plugins/link/dialogs/anchor.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/link/dialogs/link.js b/_source/plugins/link/dialogs/link.js index 3ad641b..238113a 100644 --- a/_source/plugins/link/dialogs/link.js +++ b/_source/plugins/link/dialogs/link.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -245,7 +245,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) // Find out whether we have any anchors in the editor. var anchors = retval.anchors = [], - item; + i, count, item; // For some browsers we set contenteditable="false" on anchors, making document.anchors not to include them, so we must traverse the links manually (#7893). if ( CKEDITOR.plugins.link.emptyAnchorFix ) @@ -261,7 +261,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) else { var anchorList = new CKEDITOR.dom.nodeList( editor.document.$.anchors ); - for ( var i = 0, count = anchorList.count(); i < count; i++ ) + for ( i = 0, count = anchorList.count(); i < count; i++ ) { item = anchorList.getItem( i ); anchors[ i ] = { name : item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) }; @@ -653,7 +653,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) type : 'html', id : 'noAnchors', style : 'text-align: center;', - html : '
' + CKEDITOR.tools.htmlEncode( linkLang.noAnchors ) + '
', + html : '
' + CKEDITOR.tools.htmlEncode( linkLang.noAnchors ) + '
', // Focus the first element defined in above html. focus : true, setup : function( data ) @@ -1328,14 +1328,15 @@ CKEDITOR.dialog.add( 'link', function( editor ) } + var selection = editor.getSelection(); + // Browser need the "href" fro copy/paste link to work. (#6641) attributes.href = attributes[ 'data-cke-saved-href' ]; if ( !this._.selectedElement ) { // Create element if current selection is collapsed. - var selection = editor.getSelection(), - ranges = selection.getRanges( true ); + var ranges = selection.getRanges( true ); if ( ranges.length == 1 && ranges[0].collapsed ) { // Short mailto link text view (#5736). @@ -1372,6 +1373,7 @@ CKEDITOR.dialog.add( 'link', function( editor ) data.email.address : attributes[ 'data-cke-saved-href' ] ); } + selection.selectElement( element ); delete this._.selectedElement; } }, diff --git a/_source/plugins/link/plugin.js b/_source/plugins/link/plugin.js index 4442432..d583369 100644 --- a/_source/plugins/link/plugin.js +++ b/_source/plugins/link/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/list/plugin.js b/_source/plugins/list/plugin.js index ad79153..152be3c 100644 --- a/_source/plugins/list/plugin.js +++ b/_source/plugins/list/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -14,7 +14,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var whitespaces = CKEDITOR.dom.walker.whitespaces(), bookmarks = CKEDITOR.dom.walker.bookmark(), - nonEmpty = function( node ){ return !( whitespaces( node ) || bookmarks( node ) ); }; + nonEmpty = function( node ){ return !( whitespaces( node ) || bookmarks( node ) );}, + blockBogus = CKEDITOR.dom.walker.bogus(); function cleanUpDirection( element ) { @@ -95,13 +96,15 @@ For licensing, see LICENSE.html or http://ckeditor.com/license baseIndex = 0; if ( !listArray || listArray.length < baseIndex + 1 ) return null; - var doc = listArray[ baseIndex ].parent.getDocument(), + var i, + doc = listArray[ baseIndex ].parent.getDocument(), retval = new CKEDITOR.dom.documentFragment( doc ), rootNode = null, currentIndex = baseIndex, indentLevel = Math.max( listArray[ baseIndex ].indent, 0 ), currentListItem = null, orgDir, + block, paragraphName = ( paragraphMode == CKEDITOR.ENTER_P ? 'p' : 'div' ); while ( 1 ) { @@ -122,7 +125,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( orgDir != rootNode.getDirection( 1 ) ) currentListItem.setAttribute( 'dir', orgDir ); - for ( var i = 0 ; i < item.contents.length ; i++ ) + for ( i = 0 ; i < item.contents.length ; i++ ) currentListItem.append( item.contents[i].clone( 1, 1 ) ); currentIndex++; } @@ -146,31 +149,53 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( listNodeNames[ item.grandparent.getName() ] ) currentListItem = item.element.clone( false, true ); else + currentListItem = new CKEDITOR.dom.documentFragment( doc ); + + // Migrate all children to the new container, + // apply the proper text direction. + var dirLoose = item.grandparent.getDirection( 1 ) != orgDir, + needsBlock = currentListItem.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT && + paragraphMode != CKEDITOR.ENTER_BR, + li = item.element, + className = li.getAttribute( 'class' ), + style = li.getAttribute( 'style' ); + + var child, count = item.contents.length; + for ( i = 0 ; i < count; i++ ) { - // Create completely new blocks here. - if ( dir || item.element.hasAttributes() || paragraphMode != CKEDITOR.ENTER_BR ) + child = item.contents[ i ]; + + if ( child.type == CKEDITOR.NODE_ELEMENT && child.isBlockBoundary() ) { - currentListItem = doc.createElement( paragraphName ); - item.element.copyAttributes( currentListItem, { type:1, value:1 } ); - - // There might be a case where there are no attributes in the element after all - // (i.e. when "type" or "value" are the only attributes set). In this case, if enterMode = BR, - // the current item should be a fragment. - if ( !dir && paragraphMode == CKEDITOR.ENTER_BR && !currentListItem.hasAttributes() ) - currentListItem = new CKEDITOR.dom.documentFragment( doc ); + // Apply direction on content blocks. + if ( dirLoose && !child.getDirection() ) + child.setAttribute( 'dir', orgDir ); + + // Merge into child styles. + style && child.setAttribute( 'style', + style.replace( /([^;])$/, '$1;') + + ( child.getAttribute( 'style' ) || '' ) ); + + className && child.addClass( className ); } - else - currentListItem = new CKEDITOR.dom.documentFragment( doc ); - } + else if ( dirLoose || needsBlock || style || className ) + { + // Establish new block to hold text direction and styles. + if ( !block ) + { + block = doc.createElement( paragraphName ); + dirLoose && block.setAttribute( 'dir', orgDir ); + } - if ( currentListItem.type == CKEDITOR.NODE_ELEMENT ) - { - if ( item.grandparent.getDirection( 1 ) != orgDir ) - currentListItem.setAttribute( 'dir', orgDir ); - } + // Copy over styles to new block; + style && block.setAttribute( 'style', style ); + className && block.setAttribute( 'class', className ); - for ( i = 0 ; i < item.contents.length ; i++ ) - currentListItem.append( item.contents[i].clone( 1, 1 ) ); + block.append( child.clone( 1, 1 ) ); + } + + currentListItem.append( block || child.clone( 1, 1 ) ); + } if ( currentListItem.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT && currentIndex != listArray.length - 1 ) @@ -190,20 +215,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license } } - if ( currentListItem.type == CKEDITOR.NODE_ELEMENT && - currentListItem.getName() == paragraphName && - currentListItem.$.firstChild ) - { - currentListItem.trim(); - var firstChild = currentListItem.getFirst(); - if ( firstChild.type == CKEDITOR.NODE_ELEMENT && firstChild.isBlockBoundary() ) - { - var tmp = new CKEDITOR.dom.documentFragment( doc ); - currentListItem.moveChildren( tmp ); - currentListItem = tmp; - } - } - var currentListItemName = currentListItem.$.nodeName.toLowerCase(); if ( !CKEDITOR.env.ie && ( currentListItemName == 'div' || currentListItemName == 'p' ) ) currentListItem.appendBogus(); @@ -214,6 +225,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license else return null; + block = null; + if ( listArray.length <= currentIndex || Math.max( listArray[ currentIndex ].indent, 0 ) < indentLevel ) break; } @@ -483,19 +496,21 @@ For licensing, see LICENSE.html or http://ckeditor.com/license this.type = type; } - // Move direction attribute from root to list items. - function dirToListItems( list ) + var elementType = CKEDITOR.dom.walker.nodeType( CKEDITOR.NODE_ELEMENT ); + // Merge list items with direction preserved. (#7448) + function mergeListItems( from, into, refNode, toHead ) { - var dir = list.getDirection(); - if ( dir ) + var child, itemDir; + while ( ( child = from.getFirst( elementType ) ) ) { - for ( var i = 0, children = list.getChildren(), child; child = children.getItem( i ), i < children.count(); i++ ) - { - if ( child.type == CKEDITOR.NODE_ELEMENT && child.is( 'li' ) && !child.getDirection() ) - child.setAttribute( 'dir', dir ); - } + if ( ( itemDir = child.getDirection( 1 ) ) !== into.getDirection( 1 ) ) + child.setAttribute( 'dir', itemDir ); - list.removeAttribute( 'dir' ); + child.remove(); + + refNode ? + child[ toHead ? 'insertBefore' : 'insertAfter' ]( refNode ) : + into.append( child, toHead ); } } @@ -640,26 +655,24 @@ For licensing, see LICENSE.html or http://ckeditor.com/license removeList.call( this, editor, groupObj, database ); } - // For all new lists created, merge adjacent, same type lists. + // For all new lists created, merge into adjacent, same type lists. for ( i = 0 ; i < listsCreated.length ; i++ ) { listNode = listsCreated[i]; var mergeSibling, listCommand = this; - ( mergeSibling = function( rtl ){ + ( mergeSibling = function( rtl ) + { var sibling = listNode[ rtl ? 'getPrevious' : 'getNext' ]( CKEDITOR.dom.walker.whitespaces( true ) ); if ( sibling && sibling.getName && sibling.getName() == listCommand.type ) { - - // In case to be merged lists have difference directions. (#7448) - if ( sibling.getDirection( 1 ) != listNode.getDirection( 1 ) ) - dirToListItems( listNode.getDirection() ? listNode : sibling ); - - sibling.remove(); // Move children order by merge direction.(#3820) - sibling.moveChildren( listNode, rtl ); + mergeListItems( listNode, sibling, null, !rtl ); + + listNode.remove(); + listNode = sibling; } } )(); mergeSibling( 1 ); @@ -734,6 +747,96 @@ For licensing, see LICENSE.html or http://ckeditor.com/license for ( i in dtd.$listItem ) defaultListHtmlFilterRules.elements[ i ] = getExtendNestedListFilter( true ); + // Check if node is block element that recieves text. + function isTextBlock( node ) + { + return node.type == CKEDITOR.NODE_ELEMENT && + ( node.getName() in CKEDITOR.dtd.$block || + node.getName() in CKEDITOR.dtd.$listItem ) && + CKEDITOR.dtd[ node.getName() ][ '#' ]; + } + + // Merge the visual line content at the cursor range into the block. + function joinNextLineToCursor( editor, cursor, nextCursor ) + { + editor.fire( 'saveSnapshot' ); + + // Merge with previous block's content. + nextCursor.enlarge( CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS ); + var frag = nextCursor.extractContents(); + + cursor.trim( false, true ); + + // Kill original bogus; + var currentPath = new CKEDITOR.dom.elementPath( cursor.startContainer ); + var currentLi = currentPath.lastElement.getAscendant( 'li', 1 ); + + var bogus = currentPath.block.getBogus(); + bogus && bogus.remove(); + + // Kill the tail br in extracted. + var last = frag.getLast(); + if ( last && last.type == CKEDITOR.NODE_ELEMENT && last.is( 'br' ) ) + last.remove(); + + // Insert fragment at the range position. + var nextNode = cursor.startContainer.getChild( cursor.startOffset ); + if ( nextNode ) + frag.insertBefore( nextNode ); + else + cursor.startContainer.append( frag ); + + var nextPath = new CKEDITOR.dom.elementPath( nextCursor.startContainer ); + var nextLi = nextCursor.startContainer.getAscendant( 'li', 1 ); + + // Move the sub list nested in the next list item. + if ( nextLi ) + { + var sublist = getSubList( nextLi ); + if ( sublist ) + { + // If next line is in the sub list of the current list item. + if ( currentLi.contains( nextLi ) ) + { + mergeListItems( sublist, nextLi.getParent(), nextLi ); + sublist.remove(); + } + // Migrate the sub list to current list item. + else + currentLi.append( sublist ); + } + } + + + if ( nextCursor.checkStartOfBlock() && + nextCursor.checkEndOfBlock() ) + { + var nextBlock = nextPath.block, + parentBlock = nextBlock.getParent(); + + nextBlock.remove(); + + // Remove if the path block container is now empty, e.g. li. + if ( parentBlock && + !parentBlock.getFirst( nonEmpty ) && + !parentBlock.equals( nextPath.blockLimit ) ) + { + parentBlock.remove(); + } + } + + // Make fresh selection. + cursor.select(); + + editor.fire( 'saveSnapshot' ); + } + + function getSubList( li ) + { + var last = li.getLast( nonEmpty ); + return last && last.type == CKEDITOR.NODE_ELEMENT && last.getName() in listNodeNames ? last : null; + } + CKEDITOR.plugins.add( 'list', { init : function( editor ) @@ -757,6 +860,96 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Register the state changing handlers. editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, numberedListCommand ) ); editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, bulletedListCommand ) ); + + // [IE8] Fix "backspace" after list and "del" at the end of list item. (#8248) + if ( CKEDITOR.env.ie8Compat ) + { + editor.on( 'key', function( evt ) + { + var key = evt.data.keyCode; + + // DEl/BACKSPACE + if ( editor.mode == 'wysiwyg' && key in { 8 : 1, 46 : 1 } ) + { + var sel = editor.getSelection(), + range = sel.getRanges()[ 0 ]; + + if ( !range.collapsed ) + return; + + var isBackspace = key == 8; + var body = editor.document.getBody(); + var walker = new CKEDITOR.dom.walker( range.clone() ); + walker.evaluator = function( node ) { return nonEmpty( node ) && !blockBogus( node ); }; + + var cursor = range.clone(); + + if ( isBackspace ) + { + walker.range.setStartAt( body, CKEDITOR.POSITION_AFTER_START ); + walker.range.setEnd( range.startContainer, range.startOffset ); + + var previous = walker.previous(); + + // Check if cursor collapsed right behind of a list. + if ( previous && + previous.type == CKEDITOR.NODE_ELEMENT && + previous.getName() in listNodeNames ) + { + walker.range.selectNodeContents( previous ); + walker.reset(); + walker.evaluator = isTextBlock; + + // Place cursor at the end of previous block. + cursor.moveToElementEditEnd( walker.lastForward() ); + joinNextLineToCursor( editor, cursor, range ); + evt.cancel(); + } + } + else + { + var li = range.startContainer.getAscendant( 'li', 1 ); + if ( li ) + { + walker.range.setEndAt( body, CKEDITOR.POSITION_BEFORE_END ); + + var last = li.getLast( nonEmpty ); + var block = last && isTextBlock( last ) ? last : li; + + // Indicate cursor at the visual end of an list item. + var isAtEnd = 0; + + var next = walker.next(); + + // When list item contains a sub list. + if ( next && next.type == CKEDITOR.NODE_ELEMENT && + next.getName() in listNodeNames + && next.equals( last ) ) + { + isAtEnd = 1; + + // Move to the first item in sub list. + next = walker.next(); + } + // Right at the end of list item. + else if ( range.checkBoundaryOfElement( block, CKEDITOR.END ) ) + isAtEnd = 1; + + + if ( isAtEnd && next ) + { + // Put cursor range there. + var nextLine = range.clone(); + nextLine.moveToElementEditStart( next ); + + joinNextLineToCursor( editor, cursor, nextLine ); + evt.cancel(); + } + } + } + } + } ); + } }, afterInit : function ( editor ) diff --git a/_source/plugins/listblock/plugin.js b/_source/plugins/listblock/plugin.js index e22956b..c505f0e 100644 --- a/_source/plugins/listblock/plugin.js +++ b/_source/plugins/listblock/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -100,8 +100,7 @@ CKEDITOR.plugins.add( 'listblock', ' href="javascript:void(\'', value, '\')" ' + ( CKEDITOR.env.ie ? 'onclick="return false;" onmouseup' : 'onclick' ) + // #188 '="CKEDITOR.tools.callFunction(', this._.getClick(), ',\'', value, '\'); return false;"', - ' role="option"' + - ' aria-posinset="' + ++this._.size + '">', + ' role="option">', html || value, '' + '' ); @@ -122,11 +121,6 @@ CKEDITOR.plugins.add( 'listblock', { this._.close(); this.element.appendHtml( this._.pendingHtml.join( '' ) ); - - var items = this._.items, - doc = this.element.getDocument(); - for ( var value in items ) - doc.getById( items[ value ] + '_option' ).setAttribute( 'aria-setsize', this._.size ); delete this._.size; this._.pendingHtml = []; diff --git a/_source/plugins/liststyle/dialogs/liststyle.js b/_source/plugins/liststyle/dialogs/liststyle.js index 6761022..5b776ed 100644 --- a/_source/plugins/liststyle/dialogs/liststyle.js +++ b/_source/plugins/liststyle/dialogs/liststyle.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. + * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/liststyle/plugin.js b/_source/plugins/liststyle/plugin.js index 02f1837..e99b339 100644 --- a/_source/plugins/liststyle/plugin.js +++ b/_source/plugins/liststyle/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/maximize/plugin.js b/_source/plugins/maximize/plugin.js index 97ac0b0..9e9676a 100644 --- a/_source/plugins/maximize/plugin.js +++ b/_source/plugins/maximize/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/menu/plugin.js b/_source/plugins/menu/plugin.js index 0165d31..265604c 100644 --- a/_source/plugins/menu/plugin.js +++ b/_source/plugins/menu/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -175,10 +175,11 @@ CKEDITOR.plugins.add( 'menu', onHide : function() { - if ( CKEDITOR.env.ie ) + // Unlock the selection upon first panel closing. + if ( CKEDITOR.env.ie && !this.parent ) { var selection = this.editor.getSelection(); - selection && selection.unlock(); + selection && selection.unlock( true ); } this.onHide && this.onHide(); diff --git a/_source/plugins/menubutton/plugin.js b/_source/plugins/menubutton/plugin.js index 6f07531..1bb6599 100644 --- a/_source/plugins/menubutton/plugin.js +++ b/_source/plugins/menubutton/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/newpage/plugin.js b/_source/plugins/newpage/plugin.js index fe73dbe..6a9d7ca 100644 --- a/_source/plugins/newpage/plugin.js +++ b/_source/plugins/newpage/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/pagebreak/plugin.js b/_source/plugins/pagebreak/plugin.js index ac7653f..3b54b68 100644 --- a/_source/plugins/pagebreak/plugin.js +++ b/_source/plugins/pagebreak/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/panel/plugin.js b/_source/plugins/panel/plugin.js index 2f2bc2c..6dc1616 100644 --- a/_source/plugins/panel/plugin.js +++ b/_source/plugins/panel/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -156,13 +156,10 @@ CKEDITOR.ui.panel.prototype = '' + '' + '' + + CKEDITOR.tools.buildStyleHtml( this.css ) + '' + '' + - // It looks strange, but for FF2, the styles must go - // after , so it (body) becames immediatelly - // available. (#3031) - CKEDITOR.tools.buildStyleHtml( this.css ) + '<\/html>'; doc.write( data ); @@ -227,13 +224,12 @@ CKEDITOR.ui.panel.prototype = { var blocks = this._.blocks, block = blocks[ name ], - current = this._.currentBlock, - holder = this.forceIFrame ? - this.document.getById( this.id + '_frame' ) - : this._.holder; + current = this._.currentBlock; - // Disable context menu for block panel. - holder.getParent().getParent().disableContextMenu(); + // ARIA role works better in IE on the body element, while on the iframe + // for FF. (#8864) + var holder = !this.forceIFrame || CKEDITOR.env.ie ? + this._.holder : this.document.getById( this.id + '_frame' ); if ( current ) { diff --git a/_source/plugins/panelbutton/plugin.js b/_source/plugins/panelbutton/plugin.js index eba97cd..078b398 100644 --- a/_source/plugins/panelbutton/plugin.js +++ b/_source/plugins/panelbutton/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/pastefromword/filter/default.js b/_source/plugins/pastefromword/filter/default.js index 2eb948d..353e4bf 100644 --- a/_source/plugins/pastefromword/filter/default.js +++ b/_source/plugins/pastefromword/filter/default.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/pastefromword/plugin.js b/_source/plugins/pastefromword/plugin.js index c9bd2ec..5686c30 100644 --- a/_source/plugins/pastefromword/plugin.js +++ b/_source/plugins/pastefromword/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ (function() diff --git a/_source/plugins/pastetext/dialogs/pastetext.js b/_source/plugins/pastetext/dialogs/pastetext.js index 56143df..0256837 100644 --- a/_source/plugins/pastetext/dialogs/pastetext.js +++ b/_source/plugins/pastetext/dialogs/pastetext.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/pastetext/plugin.js b/_source/plugins/pastetext/plugin.js index 42dbf5d..33eb8cd 100644 --- a/_source/plugins/pastetext/plugin.js +++ b/_source/plugins/pastetext/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/placeholder/dialogs/placeholder.js b/_source/plugins/placeholder/dialogs/placeholder.js index d709b38..94c8c9e 100644 --- a/_source/plugins/placeholder/dialogs/placeholder.js +++ b/_source/plugins/placeholder/dialogs/placeholder.js @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. + * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/placeholder/lang/_translationstatus.txt b/_source/plugins/placeholder/lang/_translationstatus.txt new file mode 100644 index 0000000..a72d432 --- /dev/null +++ b/_source/plugins/placeholder/lang/_translationstatus.txt @@ -0,0 +1,26 @@ +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license + +bg.js Found: 5 Missing: 0 +cs.js Found: 5 Missing: 0 +cy.js Found: 5 Missing: 0 +da.js Found: 5 Missing: 0 +de.js Found: 5 Missing: 0 +el.js Found: 5 Missing: 0 +eo.js Found: 5 Missing: 0 +et.js Found: 5 Missing: 0 +fa.js Found: 5 Missing: 0 +fi.js Found: 5 Missing: 0 +fr.js Found: 5 Missing: 0 +he.js Found: 5 Missing: 0 +hr.js Found: 5 Missing: 0 +it.js Found: 5 Missing: 0 +nb.js Found: 5 Missing: 0 +nl.js Found: 5 Missing: 0 +no.js Found: 5 Missing: 0 +pl.js Found: 5 Missing: 0 +tr.js Found: 5 Missing: 0 +ug.js Found: 5 Missing: 0 +uk.js Found: 5 Missing: 0 +vi.js Found: 3 Missing: 2 +zh-cn.js Found: 5 Missing: 0 diff --git a/_source/plugins/placeholder/lang/bg.js b/_source/plugins/placeholder/lang/bg.js new file mode 100644 index 0000000..96a088a --- /dev/null +++ b/_source/plugins/placeholder/lang/bg.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'bg', +{ + placeholder : + { + title : 'Настройки на контейнера', + toolbar : 'Нов контейнер', + text : 'Текст за контейнера', + edit : 'Промяна на контейнер', + textMissing : 'Контейнера трябва да съдържа текст.' + } +}); diff --git a/_source/plugins/placeholder/lang/cs.js b/_source/plugins/placeholder/lang/cs.js new file mode 100644 index 0000000..afa3537 --- /dev/null +++ b/_source/plugins/placeholder/lang/cs.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'cs', +{ + placeholder : + { + title : 'Vlastnosti vyhrazeného prostoru', + toolbar : 'Vytvořit vyhrazený prostor', + text : 'Vyhrazený text', + edit : 'Upravit vyhrazený prostor', + textMissing : 'Vyhrazený prostor musí obsahovat text.' + } +}); diff --git a/_source/plugins/placeholder/lang/cy.js b/_source/plugins/placeholder/lang/cy.js new file mode 100644 index 0000000..1ac1e03 --- /dev/null +++ b/_source/plugins/placeholder/lang/cy.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'cy', +{ + placeholder : + { + title : 'Priodweddau\'r Daliwr Geiriau', + toolbar : 'Creu Daliwr Geiriau', + text : 'Testun y Daliwr Geiriau', + edit : 'Golygu\'r Dailwr Geiriau', + textMissing : 'Mae\'n rhaid i\'r daliwr geiriau gynnwys testun.' + } +}); diff --git a/_source/plugins/placeholder/lang/da.js b/_source/plugins/placeholder/lang/da.js new file mode 100644 index 0000000..ad31c3f --- /dev/null +++ b/_source/plugins/placeholder/lang/da.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'da', +{ + placeholder : + { + title : 'Egenskaber for pladsholder', + toolbar : 'Opret pladsholder', + text : 'Tekst til pladsholder', + edit : 'Rediger pladsholder', + textMissing : 'Pladsholder skal indeholde tekst' + } +}); diff --git a/_source/plugins/placeholder/lang/de.js b/_source/plugins/placeholder/lang/de.js new file mode 100644 index 0000000..4d91ba4 --- /dev/null +++ b/_source/plugins/placeholder/lang/de.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'de', +{ + placeholder : + { + title : 'Platzhalter Einstellungen', + toolbar : 'Platzhalter erstellen', + text : 'Platzhalter Text', + edit : 'Platzhalter bearbeiten', + textMissing : 'Der Platzhalter muss einen Text beinhalten.' + } +}); diff --git a/_source/plugins/placeholder/lang/el.js b/_source/plugins/placeholder/lang/el.js new file mode 100644 index 0000000..315674b --- /dev/null +++ b/_source/plugins/placeholder/lang/el.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'el', +{ + placeholder : + { + title : 'Ιδιότητες Υποκατάστατου Κειμένου', + toolbar : 'Δημιουργία Υποκατάσταστου Κειμένου', + text : 'Υποκαθιστόμενο Κείμενο', + edit : 'Επεξεργασία Υποκατάσταστου Κειμένου', + textMissing : 'Πρέπει να υπάρχει υποκαθιστόμενο κείμενο.' + } +}); diff --git a/_source/plugins/placeholder/lang/en.js b/_source/plugins/placeholder/lang/en.js index 3cff992..060850c 100644 --- a/_source/plugins/placeholder/lang/en.js +++ b/_source/plugins/placeholder/lang/en.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/placeholder/lang/eo.js b/_source/plugins/placeholder/lang/eo.js new file mode 100644 index 0000000..1cafa60 --- /dev/null +++ b/_source/plugins/placeholder/lang/eo.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'eo', +{ + placeholder : + { + title : 'Atributoj de la rezervita spaco', + toolbar : 'Krei la rezervitan spacon', + text : 'Texto de la rezervita spaco', + edit : 'Modifi la rezervitan spacon', + textMissing : 'La rezervita spaco devas enteni tekston.' + } +}); diff --git a/_source/plugins/placeholder/lang/et.js b/_source/plugins/placeholder/lang/et.js new file mode 100644 index 0000000..1b7dd98 --- /dev/null +++ b/_source/plugins/placeholder/lang/et.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'et', +{ + placeholder : + { + title : 'Kohahoidja omadused', + toolbar : 'Kohahoidja loomine', + text : 'Kohahoidja tekst', + edit : 'Kohahoidja muutmine', + textMissing : 'Kohahoidja peab sisaldama teksti.' + } +}); diff --git a/_source/plugins/placeholder/lang/fa.js b/_source/plugins/placeholder/lang/fa.js new file mode 100644 index 0000000..6154598 --- /dev/null +++ b/_source/plugins/placeholder/lang/fa.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'fa', +{ + placeholder : + { + title : 'ویژگیهای محل نگهداری', + toolbar : 'ایجاد یک محل نگهداری', + text : 'متن محل نگهداری', + edit : 'ویرایش محل نگهداری', + textMissing : 'محل نگهداری باید محتوی متن باشد.' + } +}); diff --git a/_source/plugins/placeholder/lang/fi.js b/_source/plugins/placeholder/lang/fi.js new file mode 100644 index 0000000..598cfca --- /dev/null +++ b/_source/plugins/placeholder/lang/fi.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'fi', +{ + placeholder : + { + title : 'Paikkamerkin ominaisuudet', + toolbar : 'Luo paikkamerkki', + text : 'Paikkamerkin teksti', + edit : 'Muokkaa paikkamerkkiä', + textMissing : 'Paikkamerkin täytyy sisältää tekstiä' + } +}); diff --git a/_source/plugins/placeholder/lang/fr.js b/_source/plugins/placeholder/lang/fr.js new file mode 100644 index 0000000..b887619 --- /dev/null +++ b/_source/plugins/placeholder/lang/fr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'fr', +{ + placeholder : + { + title : 'Propriétés de l\'Espace réservé', + toolbar : 'Créer l\'Espace réservé', + text : 'Texte de l\'Espace réservé', + edit : 'Modifier l\'Espace réservé', + textMissing : 'L\'Espace réservé doit contenir du texte.' + } +}); diff --git a/_source/plugins/placeholder/lang/he.js b/_source/plugins/placeholder/lang/he.js index 14814e8..5dfc09f 100644 --- a/_source/plugins/placeholder/lang/he.js +++ b/_source/plugins/placeholder/lang/he.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/placeholder/lang/hr.js b/_source/plugins/placeholder/lang/hr.js new file mode 100644 index 0000000..7156ab3 --- /dev/null +++ b/_source/plugins/placeholder/lang/hr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'hr', +{ + placeholder : + { + title : 'Svojstva rezerviranog mjesta', + toolbar : 'Napravi rezervirano mjesto', + text : 'Tekst rezerviranog mjesta', + edit : 'Uredi rezervirano mjesto', + textMissing : 'Rezervirano mjesto mora sadržavati tekst.' + } +}); diff --git a/_source/plugins/placeholder/lang/it.js b/_source/plugins/placeholder/lang/it.js new file mode 100644 index 0000000..920657a --- /dev/null +++ b/_source/plugins/placeholder/lang/it.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'it', +{ + placeholder : + { + title : 'Proprietà segnaposto', + toolbar : 'Crea segnaposto', + text : 'Testo segnaposto', + edit : 'Modifica segnaposto', + textMissing : 'Il segnaposto deve contenere del testo.' + } +}); diff --git a/_source/plugins/placeholder/lang/nb.js b/_source/plugins/placeholder/lang/nb.js new file mode 100644 index 0000000..d891784 --- /dev/null +++ b/_source/plugins/placeholder/lang/nb.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'nb', +{ + placeholder : + { + title : 'Egenskaper for plassholder', + toolbar : 'Opprett plassholder', + text : 'Tekst for plassholder', + edit : 'Rediger plassholder', + textMissing : 'Plassholderen må inneholde tekst.' + } +}); diff --git a/_source/plugins/placeholder/lang/nl.js b/_source/plugins/placeholder/lang/nl.js new file mode 100644 index 0000000..558504a --- /dev/null +++ b/_source/plugins/placeholder/lang/nl.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'nl', +{ + placeholder : + { + title : 'Eigenschappen placeholder', + toolbar : 'Placeholder aanmaken', + text : 'Placeholder tekst', + edit : 'Placeholder wijzigen', + textMissing : 'De placeholder moet tekst bevatten.' + } +}); diff --git a/_source/plugins/placeholder/lang/no.js b/_source/plugins/placeholder/lang/no.js new file mode 100644 index 0000000..f258ee3 --- /dev/null +++ b/_source/plugins/placeholder/lang/no.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'no', +{ + placeholder : + { + title : 'Egenskaper for plassholder', + toolbar : 'Opprett plassholder', + text : 'Tekst for plassholder', + edit : 'Rediger plassholder', + textMissing : 'Plassholderen må inneholde tekst.' + } +}); diff --git a/_source/plugins/placeholder/lang/pl.js b/_source/plugins/placeholder/lang/pl.js new file mode 100644 index 0000000..94c5390 --- /dev/null +++ b/_source/plugins/placeholder/lang/pl.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'pl', +{ + placeholder : + { + title : 'Właściwości wypełniacza', + toolbar : 'Utwórz wypełniacz', + text : 'Tekst wypełnienia', + edit : 'Edytuj wypełnienie', + textMissing : 'Wypełnienie musi posiadać jakiś tekst.' + } +}); diff --git a/_source/plugins/placeholder/lang/tr.js b/_source/plugins/placeholder/lang/tr.js new file mode 100644 index 0000000..117da13 --- /dev/null +++ b/_source/plugins/placeholder/lang/tr.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'tr', +{ + placeholder : + { + title : 'Yer tutucu özellikleri', + toolbar : 'Yer tutucu oluşturun', + text : 'Yer tutucu metini', + edit : 'Yer tutucuyu düzenle', + textMissing : 'Yer tutucu metin içermelidir.' + } +}); diff --git a/_source/plugins/placeholder/lang/ug.js b/_source/plugins/placeholder/lang/ug.js new file mode 100644 index 0000000..fb6e8a4 --- /dev/null +++ b/_source/plugins/placeholder/lang/ug.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'ug', +{ + placeholder : + { + title : 'ئورۇن بەلگە خاسلىقى', + toolbar : 'ئورۇن بەلگە قۇر', + text : 'ئورۇن بەلگە تېكىستى', + edit : 'ئورۇن بەلگە تەھرىر', + textMissing : 'ئورۇن بەلگىسىدە چوقۇم تېكىست بولۇشى لازىم' + } +}); diff --git a/_source/plugins/placeholder/lang/uk.js b/_source/plugins/placeholder/lang/uk.js new file mode 100644 index 0000000..c7620f7 --- /dev/null +++ b/_source/plugins/placeholder/lang/uk.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'uk', +{ + placeholder : + { + title : 'Налаштування Заповнювача', + toolbar : 'Створити Заповнювач', + text : 'Текст Заповнювача', + edit : 'Редагувати Заповнювач', + textMissing : 'Заповнювач повинен містити текст.' + } +}); diff --git a/_source/plugins/placeholder/lang/vi.js b/_source/plugins/placeholder/lang/vi.js new file mode 100644 index 0000000..bd3175f --- /dev/null +++ b/_source/plugins/placeholder/lang/vi.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'vi', +{ + placeholder : + { + title : 'Thuộc tính đặt chỗ', + toolbar : 'Tạo đặt chỗ', + text : 'Văn bản đặt chỗ', + edit : 'Edit Placeholder', // MISSING + textMissing : 'The placeholder must contain text.' // MISSING + } +}); diff --git a/_source/plugins/placeholder/lang/zh-cn.js b/_source/plugins/placeholder/lang/zh-cn.js new file mode 100644 index 0000000..adf7219 --- /dev/null +++ b/_source/plugins/placeholder/lang/zh-cn.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'zh-cn', +{ + placeholder : + { + title : '占位符属性', + toolbar : '创建占位符', + text : '占位符文字', + edit : '编辑占位符', + textMissing : '占位符必需包含有文字' + } +}); diff --git a/_source/plugins/placeholder/plugin.js b/_source/plugins/placeholder/plugin.js index 503f08a..1830741 100644 --- a/_source/plugins/placeholder/plugin.js +++ b/_source/plugins/placeholder/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -14,7 +14,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.plugins.add( 'placeholder', { requires : [ 'dialog' ], - lang : [ 'en', 'he' ], + lang : [ 'bg', 'cs', 'cy', 'da', 'de', 'el', 'en', 'eo', 'et', 'fa', 'fi', 'fr', 'he', 'hr', 'it', 'nb', 'nl', 'no', 'pl', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ], init : function( editor ) { var lang = editor.lang.placeholder; diff --git a/_source/plugins/popup/plugin.js b/_source/plugins/popup/plugin.js index a2e1f33..bd59fe2 100644 --- a/_source/plugins/popup/plugin.js +++ b/_source/plugins/popup/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -49,8 +49,13 @@ CKEDITOR.tools.extend( CKEDITOR.editor.prototype, try { - popupWindow.moveTo( left, top ); - popupWindow.resizeTo( width, height ); + // Chrome 18 is problematic, but it's not really needed here (#8855). + var ua = navigator.userAgent.toLowerCase(); + if ( ua.indexOf( ' chrome/18' ) == -1 ) + { + popupWindow.moveTo( left, top ); + popupWindow.resizeTo( width, height ); + } popupWindow.focus(); popupWindow.location.href = url; } diff --git a/_source/plugins/preview/plugin.js b/_source/plugins/preview/plugin.js index a835c19..fd6e633 100644 --- a/_source/plugins/preview/plugin.js +++ b/_source/plugins/preview/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/print/plugin.js b/_source/plugins/print/plugin.js index cc26932..5f27770 100644 --- a/_source/plugins/print/plugin.js +++ b/_source/plugins/print/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/removeformat/plugin.js b/_source/plugins/removeformat/plugin.js index 066fce6..d031a65 100644 --- a/_source/plugins/removeformat/plugin.js +++ b/_source/plugins/removeformat/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/resize/plugin.js b/_source/plugins/resize/plugin.js index 9f824b0..3fbec77 100644 --- a/_source/plugins/resize/plugin.js +++ b/_source/plugins/resize/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -44,7 +44,8 @@ CKEDITOR.plugins.add( 'resize', if ( resizeVertical ) height = Math.max( config.resize_minHeight, Math.min( internalHeight, config.resize_maxHeight ) ); - editor.resize( width, height ); + // DO NOT impose fixed size with single direction resize. (#6308) + editor.resize( resizeHorizontal ? width : null, height ); } function dragEndHandler ( evt ) diff --git a/_source/plugins/richcombo/plugin.js b/_source/plugins/richcombo/plugin.js index 1fa8f34..791dede 100644 --- a/_source/plugins/richcombo/plugin.js +++ b/_source/plugins/richcombo/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/save/plugin.js b/_source/plugins/save/plugin.js index 4a075b5..50bb168 100644 --- a/_source/plugins/save/plugin.js +++ b/_source/plugins/save/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/scayt/dialogs/options.js b/_source/plugins/scayt/dialogs/options.js index 3bd9916..f60eee9 100644 --- a/_source/plugins/scayt/dialogs/options.js +++ b/_source/plugins/scayt/dialogs/options.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/scayt/plugin.js b/_source/plugins/scayt/plugin.js index c945735..336fb3a 100644 --- a/_source/plugins/scayt/plugin.js +++ b/_source/plugins/scayt/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ diff --git a/_source/plugins/selection/plugin.js b/_source/plugins/selection/plugin.js index 39c6db7..aff5ba2 100644 --- a/_source/plugins/selection/plugin.js +++ b/_source/plugins/selection/plugin.js @@ -1,5 +1,5 @@ /* -Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ @@ -162,11 +162,54 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var fillingChar = doc && doc.removeCustomData( 'cke-fillingChar' ); if ( fillingChar ) { + var bm, + sel = doc.getSelection().getNative(), + // Be error proof. + range = sel && sel.type != 'None' && sel.getRangeAt( 0 ); + + // Text selection position might get mangled by + // subsequent dom modification, save it now for restoring. (#8617) + if ( fillingChar.getLength() > 1 + && range && range.intersectsNode( fillingChar.$ ) ) + { + bm = [ sel.anchorOffset, sel.focusOffset ]; + + // Anticipate the offset change brought by the removed char. + var startAffected = sel.anchorNode == fillingChar.$ && sel.anchorOffset > 0, + endAffected = sel.focusNode == fillingChar.$ && sel.focusOffset > 0; + startAffected && bm[ 0 ]--; + endAffected && bm[ 1 ]--; + + // Revert the bookmark order on reverse selection. + isReversedSelection( sel ) && bm.unshift( bm.pop() ); + } + // We can't simply remove the filling node because the user // will actually enlarge it when typing, so we just remove the // invisible char from it. fillingChar.setText( fillingChar.getText().replace( /\u200B/g, '' ) ); - fillingChar = 0; + + // Restore the bookmark. + if ( bm ) + { + var rng = sel.getRangeAt( 0 ); + rng.setStart( rng.startContainer, bm[ 0 ] ); + rng.setEnd( rng.startContainer, bm[ 1 ] ); + sel.removeAllRanges(); + sel.addRange( rng ); + } + } + } + + function isReversedSelection( sel ) + { + if ( !sel.isCollapsed ) + { + var range = sel.getRangeAt( 0 ); + // Potentially alter an reversed selection range. + range.setStart( sel.anchorNode, sel.anchorOffset ); + range.setEnd( sel.focusNode, sel.focusOffset ); + return range.collapsed; } } @@ -180,20 +223,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { editor.on( 'selectionChange', function() { checkFillingChar( editor.document ); } ); editor.on( 'beforeSetMode', function() { removeFillingChar( editor.document ); } ); - editor.on( 'key', function( e ) - { - // Remove the filling char before some keys get - // executed, so they'll not get blocked by it. - switch ( e.data.keyCode ) - { - case 13 : // ENTER - case CKEDITOR.SHIFT + 13 : // SHIFT-ENTER - case 37 : // LEFT-ARROW - case 39 : // RIGHT-ARROW - case 8 : // BACKSPACE - removeFillingChar( editor.document ); - } - }, null, null, 10 ); var fillingCharBefore, resetSelection; @@ -264,29 +293,22 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( evt.data.$.srcElement.nodeName != 'BODY' ) return; - // If we have saved a range, restore it at this + // Give the priority to locked selection since it probably + // reflects the actual situation, besides locked selection + // could be interfered because of text nodes normalizing. + // (#6083, #6987) + var lockedSelection = doc.getCustomData( 'cke_locked_selection' ); + if ( lockedSelection ) + { + lockedSelection.unlock( 1 ); + lockedSelection.lock(); + } + // Then check ff we have saved a range, restore it at this // point. - if ( savedRange ) + else if ( savedRange && restoreEnabled ) { - if ( restoreEnabled ) - { - // Well not break because of this. - try - { - savedRange.select(); - } - catch (e) - {} - - // Update locked selection because of the normalized text nodes. (#6083, #6987) - var lockedSelection = doc.getCustomData( 'cke_locked_selection' ); - if ( lockedSelection ) - { - lockedSelection.unlock(); - lockedSelection.lock(); - } - } - + // Well not break because of this. + try { savedRange.select(); } catch (e) {} savedRange = null; } }); @@ -311,20 +333,21 @@ For licensing, see LICENSE.html or http://ckeditor.com/license restoreEnabled = 1; }); - // IE before version 8 will leave cursor blinking inside the document after - // editor blurred unless we clean up the selection. (#4716) - if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 ) + // [IE] Iframe will still keep the selection when blurred, if + // focus is moved onto a non-editing host, e.g. link or button, but + // it becomes a problem for the object type selection, since the resizer + // handler attached on it will mark other part of the UI, especially + // for the dialog. (#8157) + // [IE<8] Even worse For old IEs, the cursor will not vanish even if + // the selection has been moved to another text input in some cases. (#4716) + // + // Now the range restore is disabled, so we simply force IE to clean + // up the selection before blur. + CKEDITOR.env.ie && editor.on( 'blur', function() { - editor.on( 'blur', function( evt ) - { - // Try/Catch to avoid errors if the editor is hidden. (#6375) - try - { - editor.document && editor.document.$.selection.empty(); - } - catch (e) {} - }); - } + // Error proof when the editor is not visible. (#6375) + try{ doc.$.selection.empty(); } catch ( er){} + }); // Listening on document element ensures that // scrollbar is included. (#5280) @@ -341,20 +364,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license restoreEnabled = 1; }); - // In IE6/7 the blinking cursor appears, but contents are - // not editable. (#5634) - if ( CKEDITOR.env.ie && ( CKEDITOR.env.ie7Compat || CKEDITOR.env.version < 8 || CKEDITOR.env.quirks ) ) - { - // The 'click' event is not fired when clicking the - // scrollbars, so we can use it to check whether - // the empty space following has been clicked. - html.on( 'click', function( evt ) - { - if ( evt.data.getTarget().getName() == 'html' ) - editor.getSelection().getRanges()[ 0 ].select(); - }); - } - var scroll; // IE fires the "selectionchange" event when clicking // inside a selection. We don't want to capture that. @@ -399,6 +408,80 @@ For licensing, see LICENSE.html or http://ckeditor.com/license saveSelection(); }); + // When content doc is in standards mode, IE doesn't focus the editor when + // clicking at the region below body (on html element) content, we emulate + // the normal behavior on old IEs. (#1659, #7932) + if ( ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) + && doc.$.compatMode != 'BackCompat' ) + { + html.on( 'mousedown', function( evt ) + { + evt = evt.data.$; + + // Expand the text range along with mouse move. + function onHover( evt ) + { + evt = evt.data.$; + if ( textRng ) + { + // Read the current cursor. + var rngEnd = body.$.createTextRange(); + rngEnd.moveToPoint( evt.x, evt.y ); + + // Handle drag directions. + textRng.setEndPoint( + textRng.compareEndPoints( 'StartToStart', rngEnd ) < 0 ? + 'EndToEnd' : + 'StartToStart', + rngEnd ); + + // Update selection with new range. + textRng.select(); + } + } + + // We're sure that the click happens at the region + // below body, but not on scrollbar. + if ( evt.y < html.$.clientHeight + && evt.y > body.$.offsetTop + body.$.clientHeight + && evt.x < html.$.clientWidth ) + { + // Start to build the text range. + var textRng = body.$.createTextRange(); + textRng.moveToPoint( evt.x, evt.y ); + textRng.select(); + + html.on( 'mousemove', onHover ); + + html.on( 'mouseup', function( evt ) + { + html.removeListener( 'mousemove', onHover ); + evt.removeListener(); + textRng.select(); + textRng = null; + } ); + } + }); + } + + // It's much simpler for IE8, we just need to reselect the reported range. + if ( CKEDITOR.env.ie8 ) + { + html.on( 'mouseup', function( evt ) + { + // The event is not fired when clicking on the scrollbars, + // so we can safely check the following to understand + // whether the empty space following has been clicked. + if ( evt.data.getTarget().getName() == 'html' ) + { + var sel = CKEDITOR.document.$.selection, + range = sel.createRange(); + // The selection range is reported on host, but actually it should applies to the content doc. + if ( sel.type != 'None' && range.parentElement().ownerDocument == doc.$ ) + range.select(); + } + } ); + } // IE is the only to provide the "selectionchange" // event. @@ -465,6 +548,31 @@ For licensing, see LICENSE.html or http://ckeditor.com/license doc.on( 'keyup', checkSelectionChangeTimeout, editor ); doc.on( 'selectionchange', checkSelectionChangeTimeout, editor ); } + + if ( CKEDITOR.env.webkit ) + { + doc.on( 'keydown', function( evt ) + { + var key = evt.data.getKey(); + // Remove the filling char before some keys get + // executed, so they'll not get blocked by it. + switch ( key ) + { + case 13 : // ENTER + case 33 : // PAGEUP + case 34 : // PAGEDOWN + case 35 : // HOME + case 36 : // END + case 37 : // LEFT-ARROW + case 39 : // RIGHT-ARROW + case 8 : // BACKSPACE + case 45 : // INS + case 46 : // DEl + removeFillingChar( editor.document ); + } + + }, null, null, 10 ); + } }); // Clear the cached range path before unload. (#7174) @@ -573,10 +681,18 @@ For licensing, see LICENSE.html or http://ckeditor.com/license */ if ( CKEDITOR.env.ie ) { - var range = this.getNative().createRange(); - if ( !range - || ( range.item && range.item(0).ownerDocument != this.document.$ ) - || ( range.parentElement && range.parentElement().ownerDocument != this.document.$ ) ) + // Avoid breaking because of it. (#8836) + try + { + var range = this.getNative().createRange(); + if ( !range || + ( range.item && range.item( 0 ).ownerDocument != this.document.$ ) || + ( range.parentElement && range.parentElement().ownerDocument != this.document.$ ) ) + { + throw 0; + } + } + catch ( e ) { this.isInvalid = true; } @@ -737,7 +853,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license endIndex = siblings.length - 1, index = -1, position, - distance; + distance, + container; // Binary search over all element childs to test the range to see whether // range is right on the boundary of one element. @@ -758,12 +875,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // e.g.

text
^

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

 <\/p>$/i)&&ag.startContainer.equals(af))setTimeout(function(){ag=C.getSelection().getRanges()[0];if(!ag.startContainer.equals('body')){af.getFirst().remove(1);ag.moveToElementEditEnd(af);ag.select(1);}},0);});if(C.contextMenu)C.contextMenu.addTarget(W,C.config.browserContextMenuOnCtrl!==false); -setTimeout(function(){C.fire('contentDom');if(Q){C.mode='wysiwyg';C.fire('mode',{previousMode:C._.previousMode});Q=false;}N=false;if(O){C.focus();O=false;}setTimeout(function(){C.fire('dataReady');},0);try{C.document.$.execCommand('enableInlineTableEditing',false,!C.config.disableNativeTableHandles);}catch(af){}if(C.config.disableObjectResizing)try{C.document.$.execCommand('enableObjectResizing',false,false);}catch(ag){C.document.getBody().on(c?'resizestart':'resize',function(ah){ah.data.preventDefault();});}if(c)setTimeout(function(){if(C.document){var ah=C.document.$.body;ah.runtimeStyle.marginBottom='0px';ah.runtimeStyle.marginBottom='';}},1000);},0);};C.addMode('wysiwyg',{load:function(V,W,X){L=V;if(c&&b.quirks)V.setStyle('position','relative');C.mayBeDirty=true;Q=true;if(X)this.loadSnapshotData(W);else this.loadData(W);},loadData:function(V){N=true;C._.dataStore={id:1};var W=C.config,X=W.fullPage,Y=W.docType,Z='';!X&&(Z=e.buildStyleHtml(C.config.contentsCss)+Z);var aa=W.baseHref?'':'';if(X)V=V.replace(/]*>/i,function(ab){C.docType=Y=ab;return '';}).replace(/<\?xml\s[^\?]*\?>/i,function(ab){C.xmlDeclaration=ab;return '';});if(C.dataProcessor)V=C.dataProcessor.toHtml(V,D);if(X){if(!/]/.test(V))V=''+V;if(!/]/.test(V))V=''+V+'';if(!/]/.test(V))V=V.replace(/]*>/,'$&');else if(!/]/.test(V))V=V.replace(/]*>/,'$&');aa&&(V=V.replace(//,'$&'+aa));V=V.replace(/<\/head\s*>/,Z+'$&');V=Y+V;}else V=W.docType+''+''+''+E+''+aa+Z+''+''+V+'';if(b.gecko)V=V.replace(/
(?=\s*<\/(:?html|body)>)/,'$&
');V+=T;this.onDispose();S(V);},getData:function(){var V=C.config,W=V.fullPage,X=W&&C.docType,Y=W&&C.xmlDeclaration,Z=M.getFrameDocument(),aa=W?Z.getDocumentElement().getOuterHtml():Z.getBody().getHtml();if(b.gecko)aa=aa.replace(/
(?=\s*(:?$|<\/body>))/,'');if(C.dataProcessor)aa=C.dataProcessor.toDataFormat(aa,D);if(V.ignoreEmptyParagraph)aa=aa.replace(m,function(ab,ac){return ac;});if(Y)aa=Y+'\n'+aa;if(X)aa=X+'\n'+aa;return aa;},getSnapshotData:function(){return M.getFrameDocument().getBody().getHtml(); -},loadSnapshotData:function(V){M.getFrameDocument().getBody().setHtml(V);},onDispose:function(){if(!C.document)return;C.document.getDocumentElement().clearCustomData();C.document.getBody().clearCustomData();C.window.clearCustomData();C.document.clearCustomData();M.clearCustomData();M.remove();},unload:function(V){this.onDispose();C.window=C.document=M=L=O=null;C.fire('contentDomUnload');},focus:function(){var V=C.window;if(N)O=true;else if(V){b.air?setTimeout(function(){V.focus();},0):V.focus();C.selectionChange();}}});C.on('insertHtml',p(q),null,null,20);C.on('insertElement',p(s),null,null,20);C.on('insertText',p(r),null,null,20);C.on('selectionChange',function(V){if(C.readOnly)return;var W=C.getSelection();if(W&&!W.isLocked){var X=C.checkDirty();C.fire('saveSnapshot',{contentOnly:1});B.call(this,V);C.fire('updateSnapshot');!X&&C.resetDirty();}},null,null,1);});var G;C.on('contentDom',function(){var L=C.document.getElementsByTag('title').getItem(0);L.data('cke-title',C.document.$.title);C.document.$.title=E;});C.on('readOnly',function(){if(C.mode=='wysiwyg'){var L=C.getMode();L.loadData(L.getData());}});if(a.document.$.documentMode>=8){C.addCss('html.CSS1Compat [contenteditable=false]{ min-height:0 !important;}');var H=[];for(var I in f.$removeEmpty)H.push('html.CSS1Compat '+I+'[contenteditable=false]');C.addCss(H.join(',')+'{ display:inline-block;}');}else if(b.gecko){C.addCss('html { height: 100% !important; }');C.addCss('img:-moz-broken { -moz-force-broken-image-icon : 1;\twidth : 24px; height : 24px; }');}C.addCss('html {\t_overflow-y: scroll; cursor: text;\t*cursor:auto;}');C.addCss('img, input, textarea { cursor: default;}');function J(L){if(C.readOnly)return;e.tryThese(function(){C.document.$.designMode='on';setTimeout(function(){C.document.$.designMode='off';if(a.currentInstance==C)C.document.getBody().focus();},50);},function(){C.document.$.designMode='off';var M=C.document.getBody();M.setAttribute('contentEditable',false);M.setAttribute('contentEditable',true);!L&&J(1);});};if(b.gecko||c||b.opera){var K;C.on('uiReady',function(){K=C.container.append(h.createFromHtml(''));K.on('focus',function(){C.focus();});C.focusGrabber=K;});C.on('destroy',function(){e.removeFunction(F);K.clearCustomData();delete C.focusGrabber;});}C.on('insertElement',function(L){var M=L.data;if(M.type==1&&(M.is('input')||M.is('textarea'))){var N=M.getAttribute('contenteditable')=='false';if(!N){M.data('cke-editable',M.hasAttribute('contenteditable')?'true':'1'); -M.setAttribute('contenteditable',false);}}});}});if(b.gecko)(function(){var C=document.body;if(!C)window.addEventListener('load',arguments.callee,false);else{var D=C.getAttribute('onpageshow');C.setAttribute('onpageshow',(D?D+';':'')+'event.persisted && (function(){'+'var allInstances = CKEDITOR.instances, editor, doc;'+'for ( var i in allInstances )'+'{'+'\teditor = allInstances[ i ];'+'\tdoc = editor.document;'+'\tif ( doc )'+'\t{'+'\t\tdoc.$.designMode = "off";'+'\t\tdoc.$.designMode = "on";'+'\t}'+'}'+'})();');}})();})();i.disableObjectResizing=false;i.disableNativeTableHandles=true;i.disableNativeSpellChecker=true;i.ignoreEmptyParagraph=true;j.add('wsc',{requires:['dialog'],init:function(m){var n='checkspell',o=m.addCommand(n,new a.dialogCommand(n));o.modes={wysiwyg:!b.opera&&!b.air&&document.domain==window.location.hostname};m.ui.addButton('SpellChecker',{label:m.lang.spellCheck.toolbar,command:n});a.dialog.add(n,this.path+'dialogs/wsc.js');}});i.wsc_customerId=i.wsc_customerId||'1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk';i.wsc_customLoaderScript=i.wsc_customLoaderScript||null;a.DIALOG_RESIZE_NONE=0;a.DIALOG_RESIZE_WIDTH=1;a.DIALOG_RESIZE_HEIGHT=2;a.DIALOG_RESIZE_BOTH=3;(function(){var m=e.cssLength;function n(S){return!!this._.tabs[S][0].$.offsetHeight;};function o(){var W=this;var S=W._.currentTabId,T=W._.tabIdList.length,U=e.indexOf(W._.tabIdList,S)+T;for(var V=U-1;V>U-T;V--){if(n.call(W,W._.tabIdList[V%T]))return W._.tabIdList[V%T];}return null;};function p(){var W=this;var S=W._.currentTabId,T=W._.tabIdList.length,U=e.indexOf(W._.tabIdList,S);for(var V=U+1;V1){af._.tabBarMode=true;af._.tabs[af._.currentTabId][0].focus();aj=1;}else if((as==37||as==39)&&af._.tabBarMode){av=as==(at?39:37)?o.call(af):p.call(af);af.selectPage(av);af._.tabs[av][0].focus();aj=1;}else if((as==13||as==32)&&af._.tabBarMode){aw.selectPage(aw._.currentTabId);aw._.tabBarMode=false;aw._.currentFocusIndex=-1;ai(true);aj=1;}if(aj){ar.stop();ar.data.preventDefault();}};function al(ar){aj&&ar.data.preventDefault();};var am=this._.element;this.on('show',function(){am.on('keydown',ak,this,null,0);if(b.opera||b.gecko&&b.mac)am.on('keypress',al,this);});this.on('hide',function(){am.removeListener('keydown',ak);if(b.opera||b.gecko&&b.mac)am.removeListener('keypress',al);ag(function(ar){s.apply(ar);});});this.on('iframeAdded',function(ar){var as=new g(ar.data.iframe.$.contentWindow.document);as.on('keydown',ak,this,null,0);});this.on('show',function(){var av=this;ah();if(S.config.dialog_startupFocusTab&&af._.pageCount>1){af._.tabBarMode=true;af._.tabs[af._.currentTabId][0].focus();}else if(!av._.hasFocus){av._.currentFocusIndex=-1;if(U.onFocus){var ar=U.onFocus.call(av);ar&&ar.focus();}else ai(true);if(av._.editor.mode=='wysiwyg'&&c){var as=S.document.$.selection,at=as.createRange();if(at)if(at.parentElement&&at.parentElement().ownerDocument==S.document.$||at.item&&at.item(0).ownerDocument==S.document.$){var au=document.body.createTextRange();au.moveToElementText(av.getElement().getFirst().$);au.collapse(true);au.select();}}}},this,null,4294967295);if(b.ie6Compat)this.on('load',function(ar){var as=this.getElement(),at=as.getFirst();at.remove();at.appendTo(as);},this);A(this);B(this);new d.text(U.title,a.document).appendTo(this.parts.title);for(var an=0;an0?U:0)+'px'};ab[X?'right':'left']=(T>0?T:0)+'px';W.setStyles(ab);V&&(ac._.moved=1);};})(),getPosition:function(){return e.extend({},this._.position);},show:function(){var S=this._.element,T=this.definition;if(!(S.getParent()&&S.getParent().equals(a.document.getBody())))S.appendTo(a.document.getBody());else S.setStyle('display','block');if(b.gecko&&b.version<10900){var U=this.parts.dialog;U.setStyle('position','absolute');setTimeout(function(){U.setStyle('position','fixed');},0);}this.resize(this._.contentSize&&this._.contentSize.width||T.width||T.minWidth,this._.contentSize&&this._.contentSize.height||T.height||T.minHeight);this.reset(); -this.selectPage(this.definition.contents[0].id);if(a.dialog._.currentZIndex===null)a.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex;this._.element.getFirst().setStyle('z-index',a.dialog._.currentZIndex+=10);if(a.dialog._.currentTop===null){a.dialog._.currentTop=this;this._.parentDialog=null;G(this._.editor);S.on('keydown',K);S.on(b.opera?'keypress':'keyup',L);for(var V in {keyup:1,keydown:1,keypress:1})S.on(V,R);}else{this._.parentDialog=a.dialog._.currentTop;var W=this._.parentDialog.getElement().getFirst();W.$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/2);a.dialog._.currentTop=this;}M(this,this,'\x1b',null,function(){this.getButton('cancel')&&this.getButton('cancel').click();});this._.hasFocus=false;e.setTimeout(function(){this.layout();this.parts.dialog.setStyle('visibility','');this.fireOnce('load',{});k.fire('ready',this);this.fire('show',{});this._.editor.fire('dialogShow',this);this.foreach(function(X){X.setInitValue&&X.setInitValue();});},100,this);},layout:function(){var U=this;var S=a.document.getWindow().getViewPaneSize(),T=U.getSize();U.move(U._.moved?U._.position.x:(S.width-T.width)/2,U._.moved?U._.position.y:(S.height-T.height)/2);},foreach:function(S){var V=this;for(var T in V._.contents)for(var U in V._.contents[T])S.call(V,V._.contents[T][U]);return V;},reset:(function(){var S=function(T){if(T.reset)T.reset(1);};return function(){this.foreach(S);return this;};})(),setupContent:function(){var S=arguments;this.foreach(function(T){if(T.setup)T.setup.apply(T,S);});},commitContent:function(){var S=arguments;this.foreach(function(T){if(c&&this._.currentFocusIndex==T.focusIndex)T.getInputElement().$.blur();if(T.commit)T.commit.apply(T,S);});},hide:function(){if(!this.parts.dialog.isVisible())return;this.fire('hide',{});this._.editor.fire('dialogHide',this);var S=this._.element;S.setStyle('display','none');this.parts.dialog.setStyle('visibility','hidden');N(this);while(a.dialog._.currentTop!=this)a.dialog._.currentTop.hide();if(!this._.parentDialog)H();else{var T=this._.parentDialog.getElement().getFirst();T.setStyle('z-index',parseInt(T.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2));}a.dialog._.currentTop=this._.parentDialog;if(!this._.parentDialog){a.dialog._.currentZIndex=null;S.removeListener('keydown',K);S.removeListener(b.opera?'keypress':'keyup',L);for(var U in {keyup:1,keydown:1,keypress:1})S.removeListener(U,R);var V=this._.editor;V.focus();if(V.mode=='wysiwyg'&&c){var W=V.getSelection(); +if(b.gecko){A(D);var K=E.block||E.blockLimit,L=K&&K.getLast(w);if(K&&K.isBlockBoundary()&&!(L&&L.type==1&&L.isBlockBoundary())&&!K.is('pre')&&!K.getBogus())K.appendBogus();}if(D.config.autoParagraph!==false&&J!=2&&H.collapsed&&F.getName()=='body'&&!E.block){var M=H.fixBlock(true,D.config.enterMode==3?'div':'p');if(c){var N=M.getFirst(w);N&&x(N)&&N.remove();}if(z(M)){var O=M.getNext(u);if(O&&O.type==1&&!o(O)){H.moveToElementEditStart(O);M.remove();}else{O=M.getPrevious(u);if(O&&O.type==1&&!o(O)){H.moveToElementEditEnd(O);M.remove();}}}H.select();C.cancel();}var P=new d.range(D.document);P.moveToElementEditEnd(D.document.getBody());var Q=new d.elementPath(P.startContainer);if(!Q.blockLimit.is('body')){var R;if(J!=2)R=I.append(D.document.createElement(J==1?'p':'div'));else R=I;if(!c)R.appendBogus();}};j.add('wysiwygarea',{requires:['editingblock'],init:function(C){var D=C.config.enterMode!=2&&C.config.autoParagraph!==false?C.config.enterMode==3?'div':'p':false,E=C.lang.editorTitle.replace('%1',C.name),F=a.document.getWindow(),G;C.on('editingBlockReady',function(){var L,M,N,O,P,Q,R,S=b.isCustomDomain(),T=function(W){if(M)M.remove();var X='document.open();'+(S?'document.domain="'+document.domain+'";':'')+'document.close();';X=b.air?'javascript:void(0)':c?'javascript:void(function(){'+encodeURIComponent(X)+'}())':'';M=h.createFromHtml('');if(document.location.protocol=='chrome:')a.event.useCapture=true;M.on('load',function(Y){P=1;Y.removeListener();var Z=M.getFrameDocument();Z.write(W);b.air&&V(Z.getWindow().$);});if(document.location.protocol=='chrome:')a.event.useCapture=false;L.append(M);if(b.webkit){R=function(){M.hide();M.setSize('width',L.getSize('width'));M.show();};F.on('resize',R);}};G=e.addFunction(V);var U='';function V(W){if(!P)return;P=0;C.fire('ariaWidget',M);var X=W.document,Y=X.body,Z=X.getElementById('cke_actscrpt');Z&&Z.parentNode.removeChild(Z);Y.spellcheck=!C.config.disableNativeSpellChecker;var aa=!C.readOnly;if(c){Y.hideFocus=true;Y.disabled=true;Y.contentEditable=aa;Y.removeAttribute('disabled');}else setTimeout(function(){if(b.gecko&&b.version>=10900||b.opera)X.$.body.contentEditable=aa;else if(b.webkit)X.$.body.parentNode.contentEditable=aa; +else X.$.designMode=aa?'off':'on';},0);aa&&b.gecko&&e.setTimeout(A,0,null,C);W=C.window=new d.window(W);X=C.document=new g(X);aa&&X.on('dblclick',function(af){var ag=af.data.getTarget(),ah={element:ag,dialog:''};C.fire('doubleclick',ah);ah.dialog&&C.openDialog(ah.dialog);});c&&X.on('click',function(af){var ag=af.data.getTarget();if(ag.is('input')){var ah=ag.getAttribute('type');if(ah=='submit'||ah=='reset')af.data.preventDefault();}});if(!(c||b.opera))X.on('mousedown',function(af){var ag=af.data.getTarget();if(ag.is('img','hr','input','textarea','select'))C.getSelection().selectElement(ag);});if(b.gecko)X.on('mouseup',function(af){if(af.data.$.button==2){var ag=af.data.getTarget();if(!ag.getOuterHtml().replace(m,'')){var ah=new d.range(X);ah.moveToElementEditStart(ag);ah.select(true);}}});X.on('click',function(af){af=af.data;if(af.getTarget().is('a')&&af.$.button!=2)af.preventDefault();});if(b.webkit){X.on('mousedown',function(){ac=1;});X.on('click',function(af){if(af.data.getTarget().is('input','select'))af.data.preventDefault();});X.on('mouseup',function(af){if(af.data.getTarget().is('input','textarea'))af.data.preventDefault();});}var ab=c?M:W;ab.on('blur',function(){C.focusManager.blur();});var ac;ab.on('focus',function(){var af=C.document;if(aa&&b.gecko&&b.version>=10900)K();else if(b.opera)af.getBody().focus();else if(b.webkit)if(!ac){C.document.getDocumentElement().focus();ac=1;}C.focusManager.focus();});var ad=C.keystrokeHandler;ad.blockedKeystrokes[8]=!aa;ad.attach(X);X.getDocumentElement().addClass(X.$.compatMode);aa&&X.on('keydown',function(af){var ag=af.data.getKeystroke();if(ag in {8:1,46:1}){var ah=C.getSelection(),ai=ah.getSelectedElement(),aj=ah.getRanges()[0];if(ai){C.fire('saveSnapshot');aj.moveToPosition(ai,3);ai.remove();aj.select();C.fire('saveSnapshot');af.data.preventDefault();return;}}if(ag==33||ag==34)if(b.gecko){var ak=X.getBody();if(W.$.innerHeight>ak.$.offsetHeight){aj=new d.range(X);aj[ag==33?'moveToElementEditStart':'moveToElementEditEnd'](ak);aj.select();af.data.preventDefault();}}});if(c&&X.$.compatMode=='CSS1Compat'){var ae={33:1,34:1};X.on('keydown',function(af){if(af.data.getKeystroke() in ae)setTimeout(function(){C.getSelection().scrollIntoView();},0);});}if(c&&C.config.enterMode!=1)X.on('selectionchange',function(){var af=X.getBody(),ag=C.getSelection(),ah=ag&&ag.getRanges()[0];if(ah&&af.getHtml().match(/^

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

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