forked from extern/egroupware
Committed CKEditor 3.2.1 stock version
This commit is contained in:
parent
3b427a4062
commit
ffa48c7c40
24
phpgwapi/js/ckeditor3/.htaccess
Normal file
24
phpgwapi/js/ckeditor3/.htaccess
Normal file
@ -0,0 +1,24 @@
|
||||
#
|
||||
# Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
# For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
#
|
||||
|
||||
#
|
||||
# On some specific Linux installations you could face problems with Firefox.
|
||||
# It could give you errors when loading the editor saying that some illegal
|
||||
# characters were found (three strange chars in the beginning of the file).
|
||||
# This could happen if you map the .js or .css files to PHP, for example.
|
||||
#
|
||||
# Those characters are the Byte Order Mask (BOM) of the Unicode encoded files.
|
||||
# All FCKeditor files are Unicode encoded.
|
||||
#
|
||||
|
||||
AddType application/x-javascript .js
|
||||
AddType text/css .css
|
||||
|
||||
#
|
||||
# If PHP is mapped to handle XML files, you could have some issues. The
|
||||
# following will disable it.
|
||||
#
|
||||
|
||||
AddType text/xml .xml
|
642
phpgwapi/js/ckeditor3/CHANGES.html
Normal file
642
phpgwapi/js/ckeditor3/CHANGES.html
Normal file
@ -0,0 +1,642 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Changelog - CKEditor</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<style type="text/css">
|
||||
|
||||
#footer hr
|
||||
{
|
||||
margin: 10px 0 15px 0;
|
||||
height: 1px;
|
||||
border: solid 1px gray;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
#footer p
|
||||
{
|
||||
margin: 0 10px 10px 10px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#footer #copy
|
||||
{
|
||||
float: right;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Changelog
|
||||
</h1>
|
||||
<h3>
|
||||
CKEditor 3.2.1</h3>
|
||||
<p>
|
||||
New features:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4478">#4478</a> : Enable the SelectAll command in source mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5150">#5150</a> : Allow names in the CKEDITOR.config.colorButton_colors setting.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4810">#4810</a> : Adding configuration option for image dialog preview area filling text.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/536">#536</a> : Object style now could be applied on any parent element of current selection.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5290">#5290</a> : Unified stylesSet loading removing dependencies from the styles combo.
|
||||
Now the configuration entry is named 'config.stylesSet' instead of config.stylesCombo_stylesSet and the default location
|
||||
is under the 'styles' plugin instead of 'stylescombo'.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5352">#5352</a> : Allow to define the stylesSet array in the config object for the editor.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5302">#5302</a> : Adding config option "forceEnterMode".</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5216">#5216</a> : Extend CKEDITOR.appendTo to allow a data parameter for the initial value.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5024">#5024</a> : Added sample to show how to output XHTML and avoid deprecated tags.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Fixed issues:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5152">#5152</a> : Indentation using class attribute doesn't work properly.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4682">#4682</a> : It wasn't possible to edit block elements in IE that had styles like width, height or float.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4750">#4750</a> : Correcting default order of buttons layout in dialogs on Mac.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4932">#4932</a> : Fixed collapse button not clickable on simple toolbar.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5228">#5228</a> : Link dialog is automatically changes protocol when URLs that starts with '?'.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4877">#4877</a> : Fixed CKEditor displays source code in one long line (IE quirks mode + office2003 skin).</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5132">#5132</a> : Apply inline style leaks into sibling words which are seperated spaces.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3599">#3599</a> : Background color style on sized text displayed as narrow band behind.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4661">#4661</a> : Translation missing in link dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5240">#5240</a> : Flash alignment property is not presented visually on fake element.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4910">#4910</a> : Pasting in IE scrolls document to the end.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5041">#5041</a> : Table summary attribute can't be removed with dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5124">#5124</a> : All inline styles cannot be applied on empty spaces.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3570">#3570</a> : SCAYT marker shouldn't appear inside elements path bar.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4553">#4553</a> : Dirty check result incorrect when editor document is empty.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4555">#4555</a> : Unreleased memory when editor is created and destroyed.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5118">#5118</a> : Arrow keys navigation in RTL languages is incorrect.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4721">#4721</a> : Remove attribute 'value' of checkbox in IE.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5278">#5278</a> : IE: Add validation to check for bad window names of popup window.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5171">#5171</a> : Dialogs contains lists don't have proper voice labels.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4791">#4791</a> : Can't place cursor inside a form that end with a checkbox/radio.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4479">#4479</a> : StylesCombo doesn't reflect the selection state until it's first opened.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4717">#4717</a> : 'Unlink' and 'Outdent' command buttons should be disabled on editor startup.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5119">#5119</a> : Disabled command buttons are not being properly styled when focused.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5307">#5307</a> : Hide dialog page cause problem when there's two tab pages remain.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5343">#5343</a> : Active list item ARIA role is wrongly placed.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3599">#3599</a> : Background color style applying to text with font size style has been narrowly rendered.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4711">#4711</a> : Line break character inside preformatted text makes it unable to type text at the end of previous line.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4829">#4829</a> : [IE] Apply style from combo has wrong result on manually created selection.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4830">#4830</a> : Retrieving selected element isn't always right, especially selecting using keyboard (SHIFT+ARROW).</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5128">#5128</a> : Element attribute inside preformatted text is corrupted when converting to other blocks.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5190">#5190</a> : Template list entry shouldn't gain initial focus open templates list dialog opens.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5238">#5238</a> : Menu button doesn't display arrow icon in high-contrast mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3576">#3576</a> : Non-attributed element of the same name with the applied style is incorrectly removed.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5221">#5221</a> : Insert table into empty document cause JavaScript error thrown.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5242">#5242</a> : Apply 'automatic' color option of text color incorrectly removes background-color style.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4719">#4719</a> : IE does not escape attribute values properly.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5170">#5170</a> : Firefox does not insert text into styled element properly.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4026">#4026</a> : Office2003 skin has no toolbar button borders in High Contrast in IE7.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4348">#4348</a> : There should have exception thrown when 'CKEDITOR_BASEPATH' couldn't be figured out automatically.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5364">#5364</a> : Focus may not be put into dialog correctly when dialog skin file is loading slow.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4016">#4016</a> : Justify the layout of forms select dialog in Chrome and IE7.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5373">#5373</a> : Variable 'pathBlockElements' defines wrong items in CKEDITOR.dom.elementPath.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5082">#5082</a> : Ctrl key should be described as Cmd key on Mac.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5182">#5182</a> : Context menu is not been announced correctly by ATs.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4898">#4898</a> : Can't navigate outside table under the last paragraph of document.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4950">#4950</a> : List commands could compromise list item attribute and styles.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5018">#5018</a> : Find result highlighting remove normal font color styles unintentionally.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5376">#5376</a> : Unable to exit list from within a empty block under list item.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5145">#5145</a> : Various SCAYT fixes.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5319">#5319</a> : Match whole word doesn't work anymore after replacement has happened.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5363">#5363</a> : 'title' attribute now presents on all editor iframes.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5374">#5374</a> : Unable to toggle inline style when the selection starts at the linefeed of the previous paragraph.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4513">#4513</a> : Selected link element is not always correctly detected when using keyboard arrows to perform such selection.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5372">#5372</a> : Newly created sub list should inherit nothing from the original (parent) list, except the list type.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5274">#5274</a> : [IE6] Templates preview image is displayed in wrong size.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5292">#5292</a> : Preview in font size and family doesn't work with custom styles.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5396">#5396</a> : Selection is lost when use cell properties dialog to change cell type to header.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4082">#4082</a> : [IE+Quirks] Preview text in the image dialog is not wrapping.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4197">#4197</a> : Fixing format combo don't hide when editor blur on Safari.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5401">#5401</a> : The context menu break layout with Office2003 and V2 skin on IE quirks mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4825">#4825</a> : Fixing browser context menu is opened when clicking right mouse button twice.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5356">#5356</a> : The SCAYT dialog had issues with Prototype enabled pages.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5266">#5266</a> : SCAYT was disturbing the rendering of TH elements.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4688">#4688</a> : SCAYT was interfering on checkDirty.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5429">#5429</a> : High Contrast mode was being mistakenly detected when loading the editor through Dojo's xhrGet.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5221">#5221</a> : Range is mangled when making collapsed selection in an empty paragraph.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5261">#5261</a> : Config option 'scayt_autoStartup' slow down editor loading.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3846">#3846</a> : Google Chrome - No Img properties after inserting.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5465">#5465</a> : ShiftEnter=DIV doesn't respect list item when pressing enter at end of list item.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5454">#5454</a> : After replaced success, the popup window couldn't be closed and a js error occured.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4784">#4784</a> : Incorrect cursor position after delete table cells.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5149">#5149</a> : [FF] Cursor disappears after maximize when the editor has focus.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5220">#5220</a> : DTD now shows tolerance to <style> appear inside content.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5540">#5540</a> : Mobile browsers (iPhone, Android...) are marked as incompatible as they don't support editing features.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5504">#5504</a> : [IE6/7] 'Paste' dialog will always get opened even when user allows the clipboard access dialog when using 'Paste' button.</li>
|
||||
<li>Updated the following language files:<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5326">#5326</a> : Catalan;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5370">#5370</a> : Faroese;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5392">#5392</a> : Finnish;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4580">#4580</a> : Hungarian;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5301">#5301</a> : Norwegian;</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<h3>
|
||||
CKEditor 3.2</h3>
|
||||
<p>
|
||||
New features:</p>
|
||||
<ul>
|
||||
<li>Several accessibility enhancements:<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4502">#4502</a> : The editor accessibility is now totally based on <a href="http://www.w3.org/WAI/intro/aria">WAI-ARIA</a>.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5015">#5015</a> : Adding accessibility help dialog plugin.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5014">#5014</a> : Keyboard navigation compliance with screen reader suggested keys.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4595">#4595</a> : Better accessibility in the Templates dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3389">#3389</a> : Esc/Arrow Key now works for closing sub menu.</li>
|
||||
</ul></li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4973">#4973</a> : The Style field in the Div Container dialog is now loading the styles defined in the default styleset used by the Styles toolbar combo.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Fixed issues:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5049">#5049</a> : Form Field list command in JAWS incorrectly lists extra fields.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5008">#5008</a> : Lock/Unlock ratio buttons in the Image dialog was poorly designed in High Contrast mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3980">#3980</a> : All labels in dialogs now use <label> instead of <div>.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5213">#5213</a> : Reorganization of some entries in the language files to make it more consistent.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5199">#5199</a> : In IE, single row toolbars didn't have the bottom padding.</li>
|
||||
</ul>
|
||||
<h3>
|
||||
CKEditor 3.1.1</h3>
|
||||
<p>
|
||||
New features:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4399">#4399</a> : Improved support for external file browsers by allowing executing a callback function.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4612">#4612</a> : The text of links is now updated if it matches the URL to which it points to.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4936">#4936</a> : New localization support for the Welsh language.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Fixed issues:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4272">#4272</a> : Kama skin toolbar was broken in IE+Quirks+RTL.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4987">#4987</a> : Changed the url which is called by the Browser Server button in the Link tab of Image Properties dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5030">#5030</a> : The CKEDITOR.timestamp wasn't been appended to the skin.js file.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4993">#4993</a> : Removed the float style from images when the user selects 'not set' for alignment.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4944">#4944</a> : Fixed a bug where nested list structures with inconsequent levels were not being pasted correctly from MS Word.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4637">#4637</a> : Table cells' 'nowrap' attribute was not being loaded by the cell property dialog. Thanks to pomu0325.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4724">#4724</a> : Using the mouse to insert a link in IE might create incorrect results.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4640">#4640</a> : Small optimizations for the fileBrowser plugin.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4583">#4583</a> : The "Target Frame Name" field is now visible when target is set to 'frame' only.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4863">#4863</a> : Fixing iframedialog's height doesn't stretch to 100% (except IE Quirks).</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4964">#4964</a> : The BACKSPACE key positioning was not correct in some cases with Firefox.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4980">#4980</a> : Setting border, vspace and hspace of images to zero was not working.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4773">#4773</a> : The fileBrowser plugin was overwriting onClick functions eventually defined on fileButton elements.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4731">#4731</a> : The clipboard plugin was missing a reference to the dialog plugin.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5051">#5051</a> : The about plugin was missing a reference to the dialog plugin.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5146">#5146</a> : The wsc plugin was missing a reference to the dialog plugin.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4632">#4632</a> : The print command will now properly break on the insertion point of page break for printing.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4862">#4862</a> : The English (United Kingdom) language file has been renamed to en-gb.js.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4618">#4618</a> : Selecting an emoticon or the lock and reset buttons in the image dialog fired the onBeforeUnload event in IE.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4678">#4678</a> : It was not possible to set tables' width to empty value.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5012">#5012</a> : Fixed dependency issues with the menu plugin.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5040">#5040</a> : The editor will not properly ignore font related settings that have extra item separators (semi-colons).</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4046">#4046</a> : Justify should respect config.enterMode = CKEDITOR.ENTER_BR.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4622">#4622</a> : Inserting tables multiple times was corrupting the undo system.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4647">#4647</a> : [IE] Selection on an element within positioned container is lost after open context-menu then click one menu item.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4683">#4683</a> : Double-quote character in attribute values was not escaped in the editor output.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4762">#4762</a> : [IE] Unexpected vertical-scrolling behavior happens whenever focus is moving out of editor in source mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4772">#4772</a> : Text color was not being applied properly on links.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4795">#4795</a> : [IE] Press 'Del' key on horizontal line or table result in error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4824">#4824</a> : [IE] <br/> at the very first table cell breaks the editor selection.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4851">#4851</a> : [IE] Delete table rows with context-menu may cause error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4951">#4951</a> : Replacing text with empty string was throwing errors.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4963">#4963</a> : Link dialog was not opening properly for e-mail type links.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5043">#5043</a> : Removed the possibility of having an unwanted script tag being outputted with the editor contents.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3678">#3678</a> : There were issues when editing links inside floating divs with IE.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4763">#4763</a> : Pressing ENTER key with text selected was not deleting the text in some situations.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5096">#5096</a> : Simple ampersand attribute value doesn't work for more than one occurrence.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3494">#3494</a> : Context menu is too narrow in some translations.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5005">#5005</a> : Fixed HTML errors in PHP samples.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5123">#5123</a> : Fixed broken XHTML in User Interface Languages sample.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4893">#4893</a> : Editor now understands table cell inline styles.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4611">#4611</a> : Selection around <select> in editor doesn't cause error anymore.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4886">#4886</a> : Extra BR tags were being created in the output HTML.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4933">#4933</a> : Empty tags with BR were being left in the DOM.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5127">#5127</a> : There were errors when removing dialog definition pages through code.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4767">#4767</a> : CKEditor was not working when ckeditor_source.js is loaded in the <body> .</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5062">#5062</a> : Avoided security warning message when loading the wysiwyg area in IE6 under HTTPS.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5135">#5135</a> : The TAB key will now behave properly when in Source mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4988">#4988</a> : It wasn't possible to use forcePasteAsPlainText with Safari on Mac.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5095">#5095</a> : Safari on Mac deleted the current selection in the editor when Edit menu was clicked.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5140">#5140</a> : In High Contrast mode, arrows were now been displayed for menus with submenus.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5163">#5163</a> : The undo system was not working on some specific cases.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5162">#5162</a> : The ajax sample was throwing errors when loading data.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4999">#4999</a> : The Template dialog was not generating an undo snapshot.</li>
|
||||
<li>Updated the following language files:<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5006">#5006</a> : Dutch;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5039">#5039</a> : Finnish;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5148">#5148</a> : Hebrew;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5071">#5071</a> : Russian;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/5147">#5147</a> : Spanish;</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<h3>
|
||||
CKEditor 3.1</h3>
|
||||
<p>
|
||||
New features:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4067">#4067</a> : Introduced the full page editing support (from <html> to </html>).</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4228">#4228</a> : Introduced the Shared Spaces feature.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4379">#4379</a> : Introduced the new powerful pasting system and word cleanup procedure, including enhancements to the paste as plain text feature.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/2872">#2872</a> : Introduced the new native PHP API, the first standardized server side support.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4210">#4210</a> : Added CKEditor plugin for jQuery.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/2885">#2885</a> : Added 'div' dialog and corresponding context menu options.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4574">#4574</a> : Added the table merging tools and corresponding context menu options.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4340">#4340</a> : Added the email protection option for link dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4463">#4463</a> : Added inline CSS support in all places where custom stylesheet could apply.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3881">#3881</a> : Added color dialog for 'more color' option in color buttons.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4341">#4341</a> : Added the 'showborder' plugin.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4549">#4549</a> : Make the anti-cache query string configurable.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4708">#4708</a> : Added the 'htmlEncodeOutput' config option.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4342">#4342</a> : Introduced the bodyId and bodyClass settings to specify the id and class. to be used in the editing area at runtime.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3401">#3401</a> : Introduced the baseHref setting so it's possible to set the URL to be used to resolve absolute and relative URLs in the contents.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4729">#4729</a> : Added support to fake elements for comments.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Fixed issues:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4707">#4707</a> : Fixed invalid link is requested in image preview.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4461">#4461</a> : Fixed toolbar separator line along side combo enlarging the toolbar height.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4596">#4596</a> : Fixed image re-size lock buttons aren't accessible in high-contrast mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4676">#4676</a> : Fixed editing tables using table properties dialog overwrites original style values.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4714">#4714</a> : Fixed IE6 JavaScript error when editing flash by commit 'Flash' dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3905">#3905</a> : Fixed 'wysiwyg' mode causes unauthenticated content warnings over SSL in FF 3.5.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4768">#4768</a> : Fixed open context menu in IE throws js error when focus is not inside document.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4822">#4822</a> : Fixed applying 'Headers' to existing table does not work in IE.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4855">#4855</a> : Fixed toolbar doesn't wrap well for 'v2' skin in all browsers.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4882">#4882</a> : Fixed auto detect paste from MS-Word is not working for Safari.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4882">#4882</a> : Fixed unexpected margin style left behind on content cleaning up from MS-Word.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4896">#4896</a> : Fixed paste nested list from MS-Word with measurement units set to cm is broken.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4899">#4899</a> : Fixed unable to undo pre-formatted style.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4900">#4900</a> : Fixed ratio-lock inconsistent between browsers.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4901">#4901</a> : Fixed unable to edit any link with popup window's features in Firefox.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4904">#4904</a> : Fixed when paste happen from dialog, it always throw JavaScript error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4905">#4905</a> : Fixed paste plain text result incorrect when content from dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4889">#4889</a> : Fixed unable to undo 'New Page' command after typing inside editor.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4892">#4892</a> : Fixed table alignment style is not properly represented by the wrapping div.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4918">#4918</a> : Fixed switching mode when maximized is showing background page contents.</li>
|
||||
</ul>
|
||||
<h3>
|
||||
CKEditor 3.0.2</h3>
|
||||
<p>
|
||||
New features:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4343">#4343</a> : Added the configuration option 'browserContextMenuOnCtrl' so it's possible to enable the default browser context menu by holding the CTRL key.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Fixed issues:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4552">#4552</a> : Fixed float panel doesn't show up since editor instanced been destroyed once.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3918">#3918</a> : Fixed fake object is editable with Image dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4053">#4053</a> : Fixed 'Form Properties' missing from context menu when selection collapsed inside form.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4401">#4401</a> : Fixed customized by removing 'upload' tab page from 'Link dialog' cause JavaScript error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4477">#4477</a> : Adding missing tag names in object style elements.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4567">#4567</a> : Fixed IE throw error when pressing BACKSPACE in source mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4573">#4573</a> : Fixed 'IgnoreEmptyPargraph' config doesn't work with the config 'entities' is set to 'false'.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4614">#4614</a> : Fixed attribute protection fails because of line-break.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4546">#4546</a> : Fixed UIColor plugin doesn't work when editor id contains CSS selector preserved keywords.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4609">#4609</a> : Fixed flash object is lost when loading data from outside editor.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4625">#4625</a> : Fixed editor stays visible in a div with style 'visibility:hidden'.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4621">#4621</a> : Fixed clicking below table caused an empty table been generated.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3373">#3373</a> : Fixed empty context menu when there's no menu item at all.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4473">#4473</a> : Fixed setting rules on the same element tag name throws error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4514">#4514</a> : Fixed press 'Back' button breaks wysiwyg editing mode is Firefox.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4542">#4542</a> : Fixed unable to access buttons using tab key in Safari and Opera.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4577">#4577</a> : Fixed relative link url is broken after opening 'Link' dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4597">#4597</a> : Fixed custom style with same attribute name but different attribute value doesn't work.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4651">#4651</a> : Fixed 'Deleted' and 'Inserted' text style is not rendering in wysiwyg mode and is wrong is source mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4654">#4654</a> : Fixed 'CKEDITOR.config.font_defaultLabel(fontSize_defaultLabel)' is not working.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3950">#3950</a> : Fixed table column insertion incorrect when selecting empty cell area.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3912">#3912</a> : Fixed UIColor not working in IE when page has more than 30+ editors.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4031">#4031</a> : Fixed mouse cursor on toolbar combo has more than 3 shapes.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4041">#4041</a> : Fixed open context menu on multiple cells to remove them result in only one removed.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4185">#4185</a> : Fixed resize handler effect doesn't affect flash object on output.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4196">#4196</a> : Fixed 'Remove Numbered/Bulleted List' on nested list doesn't work well on nested list.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4200">#4200</a> : Fixed unable to insert 'password' type filed with attributes.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4530">#4530</a> : Fixed context menu couldn't open in Opera.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4536">#4536</a> : Fixed keyboard navigation doesn't work at all in IE quirks mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4584">#4584</a> : Fixed updated link Target field is not updating when updating to certain values.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4603">#4603</a> : Fixed unable to disable submenu items in contextmenu.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4672">#4672</a> : Fixed unable to redo the insertion of horizontal line.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4677">#4677</a> : Fixed 'Tab' key is trapped by hidden dialog elements.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4073">#4073</a> : Fixed insert template with replace option could result in empty document.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4455">#4455</a> : Fixed unable to start editing when image inside document not loaded.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4517">#4517</a> : Fixed 'dialog_backgroundCoverColor' doesn't work on IE6.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3165">#3165</a> : Fixed enter key in empty list item before nested one result in collapsed line.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4527">#4527</a> : Fixed checkbox generate invalid 'checked' attribute.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/1659">#1659</a> : Fixed unable to click below content to start editing in IE with 'config.docType' setting to standard compliant.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3933">#3933</a> : Fixed extra <br> left at the end of document when the last element is a table.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4736">#4736</a> : Fixed PAGE UP and PAGE DOWN keys in standards mode are not working.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4725">#4725</a> : Fixed hitting 'enter' before html comment node produces a JavaScript error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4522">#4522</a> : Fixed unable to redo when typing after insert an image with relative url.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4594">#4594</a> : Fixed context menu goes off-screen when mouse is at right had side of screen.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4673">#4673</a> : Fixed undo not available straight away if shift key is used to enter first character.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4690">#4690</a> : Fixed the parsing of nested inline elements.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4450">#4450</a> : Fixed selecting multiple table cells before apply justify commands generates spurious paragraph in Firefox.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4733">#4733</a> : Fixed dialog opening sometimes hang up Firefox and Safari.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4498">#4498</a> : Fixed toolbar collapse button missing tooltip.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4738">#4738</a> : Fixed inserting table inside bold/italic/underline generates error on ENTER_BR mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4246">#4246</a> : Fixed avoid XHTML deprecated attributes for image styling.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4543">#4543</a> : Fixed unable to move cursor between table and hr.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4764">#4764</a> : Fixed wrong exception message when CKEDITOR.editor.append() to non-existing elements.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4521">#4521</a> : Fixed dialog layout in IE6/7 may have scroll-bar and other weird effects.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4709">#4709</a> : Fixed inconsistent scroll-bar behavior on IE.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4776">#4776</a> : Fixed preview page failed to open when relative URl contains in document.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4812">#4812</a> : Fixed 'Esc' key not working on dialogs in Opera.</li>
|
||||
<li>Updated the following language files:<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4346">#4346</a> : Dutch;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4837">#4837</a> : Finnish;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4371">#4371</a> : Hebrew;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4371">#4607</a> <a href="http://dev.fckeditor.net/ticket/4713">#4713</a> : Japanese;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4660">#4660</a> : Norwegian.</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<h3>
|
||||
CKEditor 3.0.1</h3>
|
||||
<p>
|
||||
New features:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4219">#4219</a> : Added fallback mechanism for config.language.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4194">#4194</a> : Added support for using multiple css style sheets within the editor.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Fixed issues:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3898">#3898</a> : Added validation for URL value in Image dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3528">#3528</a> : Fixed Context Menu issue when triggered using Shift+F10.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4028">#4028</a> : Maximize control's tool tip was wrong once it is maximized.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4237">#4237</a> : Toolbar is chopped off in Safari browser 3.x.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4241">#4241</a> : Float panels are left on screen while editor is destroyed.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4274">#4274</a> : Double click event is incorrect handled in 'divreplace' sample.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4354">#4354</a> : Fixed TAB key on toolbar to not focus disabled buttons.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3856">#3856</a> : Fixed focus and blur events in source view mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3438">#3438</a> : Floating panels are off by (-1px, 0px) in RTL mode.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3370">#3370</a> : Refactored use of CKEDITOR.env.isCustomDomain().</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4230">#4230</a> : HC detection caused js error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3978">#3978</a> : Fixed setStyle float on IE7 strict.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4262">#4262</a> : Tab and Shift+Tab was not working to cycle through CTRL+SHIFT+F10 context menu in IE.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3633">#3633</a> : Default context menu isn't disabled in toolbar, status bar, panels...</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3897">#3897</a> : Now there is no image previews when the URL is empty in image dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4048">#4048</a> : Context submenu was lacking uiColor.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3568">#3568</a> : Dialogs now select all text when tabbing to text inputs.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3727">#3727</a> : Cell Properties dialog was missing color selection option.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3517">#3517</a> : Fixed "Match cyclic" field in Find & Replace dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4368">#4368</a> : borderColor table cell attribute haven't worked for none-IE</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4203">#4203</a> : In IE quirks mode + toolbar collapsed + source mode editing block height was incorrect.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4387">#4387</a> : Fixed: right clicking in Kama skin can lead to a javascript error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4397">#4397</a> : Wysiwyg mode caused the host page scroll.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4385">#4385</a> : Fixed editor's auto adjusting on DOM structure were confusing the dirty checking mechanism.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4397">#4397</a> : Fixed regression of [3816] where turn on design mode was causing Firefox3 to scroll the host page.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4254">#4254</a> : Added basic API sample.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4107">#4107</a> : Normalize css font-family style text for correct comparision.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3664">#3664</a> : Insert block element in empty editor document should not create new paragraph.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4037">#4037</a> : 'id' attribute is missing with Flash dialog advanced page.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4047">#4047</a> : Delete selected control type element when 'Backspace' is pressed on it.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4191">#4191</a> : Fixed: dialog changes confirmation on image dialog appeared even when no changes have been made.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4351">#4351</a> : Dash and dot could appear in attribute names.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4355">#4355</a> : 'maximize' and 'showblock' commands shouldn't take editor focus.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4504">#4504</a> : Fixed 'Enter'/'Esc' key is not working on dialog button.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4245">#4245</a> : 'Strange Template' now come with a style attribute for width.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4512">#4512</a> : Fixed styles plugin incorrectly adding semicolons to style text.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3855">#3855</a> : Fixed loading unminified _source files when ckeditor_source.js is used.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3717">#3717</a> : Dialog settings defaults can now be overridden in-page through the CKEDITOR.config object.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4481">#4481</a> : The 'stylesCombo_stylesSet' configuration entry didn't work for full URLs.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4480">#4480</a> : Fixed scope attribute in th.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4467">#4467</a> : Fixed bug to use custom icon in context menus. Thanks to george.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4190">#4190</a> : Fixed select field dialog layout in Safari.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4518">#4518</a> : Fixed unable to open dialog without editor focus in IE.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4519">#4519</a> : Fixed maximize without editor focus throw error in IE.</li>
|
||||
<li>Updated the following language files:<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3947">#3947</a> : Arabic;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4466">#4466</a> : Czech;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4363">#4363</a> : Danish;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4346">#4346</a> : Dutch;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4371">#4371</a> <a href="http://dev.fckeditor.net/ticket/4456">#4456</a> : Hebrew;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4382">#4382</a> : Polish.</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
<h3>
|
||||
CKEditor 3.0</h3>
|
||||
<p>
|
||||
New features:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3188">#3188</a> : Introduce
|
||||
<pre> formatting feature when converting from other blocks.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4445">#4445</a> : editor::setData now support an optional callback parameter.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Fixed issues:</p>
|
||||
<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/2856">#2856</a> : Fixed problem with inches in Paste From Word plugin.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3929">#3929</a> : Using Paste dialog,
|
||||
the text is pasted into current selection</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3920">#3920</a> : Mouse cursor over characters in
|
||||
Special Character dialog now is correct</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3882">#3882</a> : Fixed an issue
|
||||
with PasteFromWord dialog in which default values was ignored</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3859">#3859</a> : Fixed Flash dialog layout in Webkit</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3852">#3852</a> : Disabled textarea resizing in dialogs</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3831">#3831</a> : The attempt to remove the contextmenu plugin
|
||||
will not anymore break the editor</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3781">#3781</a> : Colorbutton is now disabled in 'source' mode</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3848">#3848</a> : Fixed an issue with Webkit in witch
|
||||
elements in the Image and Link dialogs had wrong dimensions.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3808">#3808</a> : Fixed UI Color Picker dialog size in example page.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3658">#3658</a> : Editor had horizontal scrollbar in IE6.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3819">#3819</a> : The cursor was not visible
|
||||
when applying style to collapsed selections in Firefox 2.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3809">#3809</a> : Fixed beam cursor
|
||||
when mouse cursor is over text-only buttons in IE.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3815">#3815</a> : Fixed an issue
|
||||
with the form dialog in which the "enctype" attribute is outputted as "encoding".</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3785">#3785</a> : Fixed an issue
|
||||
in CKEDITOR.tools.htmlEncode() which incorrectly outputs &nbsp; in IE8.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3820">#3820</a> : Fixed an issue in
|
||||
bullet list command in which a list created at the bottom of another gets merged to the top.
|
||||
</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3830">#3830</a> : Table cell properties dialog
|
||||
doesn't apply to all selected cells.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3835">#3835</a> : Element path is not refreshed
|
||||
after click on 'newpage'; and safari is not putting focus on document also.
|
||||
</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3821">#3821</a> : Fixed an issue with JAWS in which
|
||||
toolbar items are read inconsistently between virtual cursor modes.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3789">#3789</a> : The "src" attribute
|
||||
was getting duplicated in some situations.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3591">#3591</a> : Protecting flash related elements
|
||||
including '<object>', '<embed>' and '<param>'.
|
||||
</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3759">#3759</a> : Fixed CKEDITOR.dom.element::scrollIntoView
|
||||
logic bug which scroll even element is inside viewport.
|
||||
</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3773">#3773</a> : Fixed remove list will merge lines.
|
||||
</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3829">#3829</a> : Fixed remove empty link on output data.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3730">#3730</a> : Indent is performing on the whole
|
||||
block instead of selected lines in enterMode = BR.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3844">#3844</a> : Fixed UndoManager register keydown on obsoleted document</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3805">#3805</a> : Enabled SCAYT plugin for IE.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3834">#3834</a> : Context menu on table caption was incorrect.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3812">#3812</a> : Fixed an issue in which the editor
|
||||
may show up empty or uneditable in IE7, 8 and Firefox 3.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3825">#3825</a> : Fixed JS error when opening spellingcheck.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3862">#3862</a> : Fixed html parser infinite loop on certain malformed
|
||||
source code.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3639">#3639</a> : Button size was inconsistent.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3874">#3874</a> : Paste as plain text in Safari loosing lines.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3849">#3849</a> : Fixed IE8 crashes when applying lists and indenting.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3876">#3876</a> : Changed dialog checkbox and radio labels to explicit labels.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3843">#3843</a> : Fixed context submenu position in IE 6 & 7 RTL.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3864">#3864</a> : [FF]Document is not editable after inserting element on a fresh page.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3883">#3883</a> : Fixed removing inline style logic incorrect on Firefox2.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3884">#3884</a> : Empty "href" attribute was duplicated on output data.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3858">#3858</a> : Fixed the issue where toolbars
|
||||
break up in IE6 and IE7 after the browser is resized.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3868">#3868</a> : [chrome] SCAYT toolbar options was in reversed order.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3875">#3875</a> : Fixed an issue in Safari where
|
||||
table row/column/cell menus are not useable when table cells are selected.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3896">#3896</a> : The editing area was
|
||||
flashing when switching forth and back to source view.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3894">#3894</a> : Fixed an issue where editor failed to initialize when using the on-demand loading way.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3903">#3903</a> : Color button plugin doesn't read config entry from editor instance correctly.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3801">#3801</a> : Comments at the start of the document was lost in IE.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3871">#3871</a> : Unable to redo when undos to the front of snapshots stack.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3909">#3909</a> : Move focus from editor into a text input control is broken.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3870">#3870</a> : The empty paragraph
|
||||
desappears when hitting ENTER after "New Page".</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3887">#3887</a> : Fixed an issue in which the create
|
||||
list command may leak outside of a selected table cell and into the rest of document.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3916">#3916</a> : Fixed maximize does not enlarge editor width when width is set.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3879">#3879</a> : [webkit] Color button panel had incorrect size on first open.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3839">#3839</a> : Update Scayt plugin to reflect the latest change from SpellChecker.net.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3742">#3742</a> : Fixed wrong dialog layout for dialogs without tab bar in IE RTL mode .</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3671">#3671</a> : Fixed body fixing should be applied to the real type under fake elements.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3836">#3836</a> : Fixed remove list in enterMode=BR will merge sibling text to one line.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3949">#3949</a> : Fixed enterKey within pre-formatted text introduce wrong line-break.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3878">#3878</a> : Whenever possible,
|
||||
dialogs will not present scrollbars if the content is too big for its standard
|
||||
size.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3782">#3782</a> : Remove empty list in table cell result in collapsed cell.</li>
|
||||
<li>Updated the following language files:<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4183">#4183</a> : Basque;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3837">#3837</a> : Brazilian Portuguese;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4171">#4171</a> : Catalan;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4115">#4115</a> : Chinese (Simplified);</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4179">#4179</a> : Chinese (Traditional);</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4102">#4102</a> : Croatian;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4105">#4105</a> : French;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4104">#4104</a> : German;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4116">#4116</a> : Italian;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4091">#4091</a> : Japanese;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4120">#4120</a> : Polish;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3987">#3987</a> : Spanish;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4089">#4089</a> : Ukrainian;</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4166">#4166</a> : Vietnamese.</li>
|
||||
</ul></li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3984">#3984</a> : [IE]The pre-formatted style is generating error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3946">#3946</a> : Fixed unable to hide contextmenu.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3956">#3956</a> : Fixed About dialog in Source Mode for IE.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3953">#3953</a> : Fixed keystroke for close Paste dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3951">#3951</a> : Reset size and lock ratio options were not accessible in Image dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3921">#3921</a> : Fixed Container scroll issue on IE7.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3940">#3940</a> : Fixed list operation doesn't stop at table.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3891">#3891</a> : [IE] Fixed 'automatic' font color doesn't work.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3972">#3972</a> : Fixed unable to remove a single empty list in document in Firefox with enterMode=BR.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3973">#3973</a> : Fixed list creation error at the end of document.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3959">#3959</a> : Pasting styled text from word result in content lost.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3793">#3793</a> : Combined images into sprites.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3783">#3783</a> : Fixed indenting command in table cells create collapsed paragraph.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3968">#3968</a> : About dialog layout was broken with IE+Standards+RTL.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3991">#3991</a> : In IE quirks, text was not visible in v2 and office2003 skins.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3983">#3983</a> : In IE, we'll now
|
||||
silently ignore wrong toolbar definition settings which have extra commas being
|
||||
left around.</li>
|
||||
<li>Fixed the following test cases:<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3992">#3992</a> : core/ckeditor2.html</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4138">#4138</a> : core/plugins.html</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3801">#3801</a> : plugins/htmldataprocessor/htmldataprocessor.html</li>
|
||||
</ul></li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3989">#3989</a> : Host page horizontal scrolling a lot when on having righ-to-left direction.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4001">#4001</a> : Create link around existing image result incorrect.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3988">#3988</a> : Destroy editor on form submit event cause error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3994">#3994</a> : Insert horizontal line at end of document cause error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4074">#4074</a> : Indent error with 'indentClasses' config specified.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4057">#4057</a> : Fixed anchor is lost after switch between editing modes.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3644">#3644</a> : Image dialog was missin radio lock.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4014">#4014</a> : Firefox2 had no dialog button backgrounds.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4018">#4018</a> : Firefox2 had no richcombo text visible.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4035">#4035</a> : [IE6] Paste dialog size was too small.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4049">#4049</a> : Kama skin was too wide with config.width.</li>
|
||||
<li>The following released files now doesn't require the _source folder<ul>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4086">#4086</a> : _samples/ui_languages.html</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4093">#4093</a> : _tests/core/dom/document.html</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4094">#4094</a> : Smiley plugin file</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4097">#4097</a> : No undo/redo support for fontColor and backgroundColor buttons.</li>
|
||||
</ul></li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4085">#4085</a> : Paste and Paste from Word dialogs were not well styled in IE+RTL.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3982">#3982</a> : Fixed enterKey on empty list item result in weird dom structure.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4101">#4101</a> : Now it is possible to close dialog before gets focus.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4075">#4075</a> : [IE6/7]Fixed apply custom inline style with "class" attribute failed.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4087">#4087</a> : [Firefox]Fixed extra blocks created on create list when full document selected.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4097">#4097</a> : No undo/redo support for fontColor and backgroundColor buttons.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4111">#4111</a> : Fixed apply block style after inline style applied on full document error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3622">#3622</a> : Fixed shift enter with selection not deleting highlighted text.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4092">#4092</a> : [IE6] Close button was missing for dialog without multiple tabs.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4003">#4003</a> : Markup on the image dialog was disrupted when removing the border input.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4096">#4096</a> : Editor content area was pushed down in IE RTL quirks.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4112">#4112</a> : [FF] Paste dialog had scrollbars in quirks.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4118">#4118</a> : Dialog dragging was
|
||||
occasionally behaving strangely .</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4077">#4077</a> : The toolbar combos
|
||||
were rendering incorrectly in some languages, like Chinese.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3622">#3622</a> : The toolbar in the v2
|
||||
skin was wrapping improperly in some languages.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4119">#4119</a> : Unable to edit image link with image dialog.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4117">#4117</a> : Fixed dialog error when transforming image into button.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4058">#4058</a> : [FF] wysiwyg mode is sometimes not been activated.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4114">#4114</a> : [IE] RTE + IE6/IE7 Quirks = dialog mispositoned.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4123">#4123</a> : Some dialog buttons were broken in IE7 quirks.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4122">#4122</a> : [IE] The image dialog
|
||||
was being rendered improperly when loading an image with long URL.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4144">#4144</a> : Fixed the white-spaces at the end of <pre> is incorrectly removed.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4143">#4143</a> : Fixed element id is lost when extracting contents from the range.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4007">#4007</a> : [IE] Source area overflow from editor chrome.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4145">#4145</a> : Fixed the on demand
|
||||
("basic") loading model of the editor.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4139">#4139</a> : Fixed list plugin regression of [3903].</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4147">#4147</a> : Unify style text normalization logic when comparing styles.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4150">#4150</a> : Fixed enlarge list result incorrect at the inner boundary of block.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4164">#4164</a> : Now it is possible to paste text
|
||||
in Source mode even if forcePasteAsPlainText = true.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4129">#4129</a> : [FF]Unable to remove list with Ctrl-A.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4172">#4172</a> : [Safari] The trailing
|
||||
<br> was not been always added to blank lines ending with &nbsp;.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4178">#4178</a> : It's now possible to
|
||||
copy and paste Flash content among different editor instances.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4193">#4193</a> : Automatic font color produced empty span on Firefox 3.5.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4186">#4186</a> : [FF] Fixed First open float panel cause host page scrollbar blinking.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4227">#4227</a> : Fixed destroy editor instance created on textarea which is not within form cause error.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/4240">#4240</a> : Fixed editor name containing hyphen break editor completely.</li>
|
||||
<li><a href="http://dev.fckeditor.net/ticket/3828">#3828</a> : Malformed nested list is now corrected by the parser.</li>
|
||||
</ul>
|
||||
<h3>
|
||||
CKEditor 3.0 RC</h3>
|
||||
<p>
|
||||
Changelog starts at this release.</p>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
92
phpgwapi/js/ckeditor3/INSTALL.html
Normal file
92
phpgwapi/js/ckeditor3/INSTALL.html
Normal file
@ -0,0 +1,92 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Installation Guide - CKEditor</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<style type="text/css">
|
||||
h3
|
||||
{
|
||||
border-bottom: 1px solid #AAAAAA;
|
||||
}
|
||||
pre
|
||||
{
|
||||
background-color: #F9F9F9;
|
||||
border: 1px dashed #2F6FAB;
|
||||
padding: 1em;
|
||||
line-height: 1.1em;
|
||||
}
|
||||
#footer hr
|
||||
{
|
||||
margin: 10px 0 15px 0;
|
||||
height: 1px;
|
||||
border: solid 1px gray;
|
||||
border-bottom: none;
|
||||
}
|
||||
#footer p
|
||||
{
|
||||
margin: 0 10px 10px 10px;
|
||||
float: left;
|
||||
}
|
||||
#footer #copy
|
||||
{
|
||||
float: right;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Installation Guide</h1>
|
||||
<h3>
|
||||
What's CKEditor?</h3>
|
||||
<p>
|
||||
CKEditor is a text editor to be used inside web pages. It's not a replacement
|
||||
for desktop text editors like Word or OpenOffice, but a component to be used as
|
||||
part of web applications and web sites.</p>
|
||||
<h3>
|
||||
Installation</h3>
|
||||
<p>
|
||||
Installing CKEditor is an easy task. Just follow these simple steps:</p>
|
||||
<ol>
|
||||
<li><strong>Download</strong> the latest version of the editor from our web site: <a
|
||||
href="http://ckeditor.com">http://ckeditor.com</a>. You should have already completed
|
||||
this step, but be sure you have the very latest version.</li>
|
||||
<li><strong>Extract</strong> (decompress) the downloaded file into the root of your
|
||||
web site.</li>
|
||||
</ol>
|
||||
<p>
|
||||
<strong>Note:</strong> CKEditor is by default installed in the "ckeditor"
|
||||
folder. You can place the files in whichever you want though.</p>
|
||||
<h3>
|
||||
Checking Your Installation
|
||||
</h3>
|
||||
<p>
|
||||
The editor comes with a few sample pages that can be used to verify that installation
|
||||
proceeded properly. Take a look at the <a href="_samples">_samples</a> directory.</p>
|
||||
<p>
|
||||
To test your installation, just call the following page at your web site:</p>
|
||||
<pre>
|
||||
http://<your site>/<CKEditor installation path>/_samples/index.html
|
||||
|
||||
For example:
|
||||
http://www.example.com/ckeditor/_samples/index.html</pre>
|
||||
<h3>
|
||||
Documentation</h3>
|
||||
<p>
|
||||
The full editor documentation is available online at the following address:<br />
|
||||
<a href="http://docs.cksource.com/ckeditor">http://docs.cksource.com/ckeditor</a></p>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
1334
phpgwapi/js/ckeditor3/LICENSE.html
Normal file
1334
phpgwapi/js/ckeditor3/LICENSE.html
Normal file
File diff suppressed because it is too large
Load Diff
87
phpgwapi/js/ckeditor3/_samples/ajax.html
Normal file
87
phpgwapi/js/ckeditor3/_samples/ajax.html
Normal file
@ -0,0 +1,87 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Ajax - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
var editor;
|
||||
|
||||
function createEditor()
|
||||
{
|
||||
if ( editor )
|
||||
return;
|
||||
|
||||
var html = document.getElementById( 'editorcontents' ).innerHTML;
|
||||
|
||||
// Create a new editor inside the <div id="editor">, setting its value to html
|
||||
var config = {};
|
||||
editor = CKEDITOR.appendTo( 'editor', config, html );
|
||||
}
|
||||
|
||||
function removeEditor()
|
||||
{
|
||||
if ( !editor )
|
||||
return;
|
||||
|
||||
// Retrieve the editor contents. In an Ajax application, this data would be
|
||||
// sent to the server or used in any other way.
|
||||
document.getElementById( 'editorcontents' ).innerHTML = editor.getData();
|
||||
document.getElementById( 'contents' ).style.display = '';
|
||||
|
||||
// Destroy the editor.
|
||||
editor.destroy();
|
||||
editor = null;
|
||||
}
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<p>
|
||||
<input onclick="createEditor();" type="button" value="Create Editor" />
|
||||
<input onclick="removeEditor();" type="button" value="Remove Editor" />
|
||||
</p>
|
||||
<!-- This div will hold the editor. -->
|
||||
<div id="editor">
|
||||
</div>
|
||||
<div id="contents" style="display: none">
|
||||
<p>
|
||||
Edited Contents:</p>
|
||||
<!-- This div will be used to display the editor contents. -->
|
||||
<div id="editorcontents">
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
152
phpgwapi/js/ckeditor3/_samples/api.html
Normal file
152
phpgwapi/js/ckeditor3/_samples/api.html
Normal file
@ -0,0 +1,152 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>API usage - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
// The instanceReady event is fired when an instance of CKEditor has finished
|
||||
// its initialization.
|
||||
CKEDITOR.on( 'instanceReady', function( ev )
|
||||
{
|
||||
// Show the editor name and description in the browser status bar.
|
||||
document.getElementById( 'eMessage' ).innerHTML = '<p>Instance "' + ev.editor.name + '" loaded.<\/p>';
|
||||
|
||||
// Show this sample buttons.
|
||||
document.getElementById( 'eButtons' ).style.visibility = '';
|
||||
});
|
||||
|
||||
function InsertHTML()
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = CKEDITOR.instances.editor1;
|
||||
var value = document.getElementById( 'plainArea' ).value;
|
||||
|
||||
// Check the active editing mode.
|
||||
if ( oEditor.mode == 'wysiwyg' )
|
||||
{
|
||||
// Insert the desired HTML.
|
||||
oEditor.insertHtml( value );
|
||||
}
|
||||
else
|
||||
alert( 'You must be on WYSIWYG mode!' );
|
||||
}
|
||||
|
||||
function SetContents()
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = CKEDITOR.instances.editor1;
|
||||
var value = document.getElementById( 'plainArea' ).value;
|
||||
|
||||
// Set the editor contents (replace the actual one).
|
||||
oEditor.setData( value );
|
||||
}
|
||||
|
||||
function GetContents()
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = CKEDITOR.instances.editor1;
|
||||
|
||||
// Get the editor contents
|
||||
alert( oEditor.getData() );
|
||||
}
|
||||
|
||||
function ExecuteCommand(commandName)
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = CKEDITOR.instances.editor1;
|
||||
|
||||
// Check the active editing mode.
|
||||
if ( oEditor.mode == 'wysiwyg' )
|
||||
{
|
||||
// Execute the command.
|
||||
oEditor.execCommand( commandName );
|
||||
}
|
||||
else
|
||||
alert( 'You must be on WYSIWYG mode!' );
|
||||
}
|
||||
|
||||
function CheckDirty()
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = CKEDITOR.instances.editor1;
|
||||
alert( oEditor.checkDirty() );
|
||||
}
|
||||
|
||||
function ResetDirty()
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = CKEDITOR.instances.editor1;
|
||||
oEditor.resetDirty();
|
||||
alert( 'The "IsDirty" status has been reset' );
|
||||
}
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<form action="sample_posteddata.php" method="post">
|
||||
<p>
|
||||
This sample shows how to use the CKeditor JavaScript API to interact with the editor
|
||||
at runtime.</p>
|
||||
<textarea cols="80" id="editor1" name="editor1" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
// Replace the <textarea id="editor1"> with an CKEditor instance.
|
||||
var editor = CKEDITOR.replace( 'editor1' );
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
<div id="eMessage">
|
||||
</div>
|
||||
<div id="eButtons" style="visibility: hidden">
|
||||
<input onclick="InsertHTML();" type="button" value="Insert HTML" />
|
||||
<input onclick="SetContents();" type="button" value="Set Editor Contents" />
|
||||
<input onclick="GetContents();" type="button" value="Get Editor Contents (XHTML)" />
|
||||
<br />
|
||||
<textarea cols="80" id="plainArea" rows="3"><h2>Test</h2><p>This is some <a href="/Test1.html">sample</a> HTML</p></textarea>
|
||||
<br />
|
||||
<br />
|
||||
<input onclick="ExecuteCommand('bold');" type="button" value="Execute "bold" Command" />
|
||||
<input onclick="ExecuteCommand('link');" type="button" value="Execute "link" Command" />
|
||||
<br />
|
||||
<br />
|
||||
<input onclick="CheckDirty();" type="button" value="checkDirty()" />
|
||||
<input onclick="ResetDirty();" type="button" value="resetDirty()" />
|
||||
</div>
|
||||
</form>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
181
phpgwapi/js/ckeditor3/_samples/api_dialog.html
Normal file
181
phpgwapi/js/ckeditor3/_samples/api_dialog.html
Normal file
@ -0,0 +1,181 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Using API to customize dialogs - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
<style id="styles" type="text/css">
|
||||
|
||||
.cke_button_myDialogCmd .cke_icon
|
||||
{
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.cke_button_myDialogCmd .cke_label
|
||||
{
|
||||
display: inline !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
// When opening a dialog, its "definition" is created for it, for
|
||||
// each editor instance. The "dialogDefinition" event is then
|
||||
// fired. We should use this event to make customizations to the
|
||||
// definition of existing dialogs.
|
||||
CKEDITOR.on( 'dialogDefinition', function( ev )
|
||||
{
|
||||
// Take the dialog name and its definition from the event
|
||||
// data.
|
||||
var dialogName = ev.data.name;
|
||||
var dialogDefinition = ev.data.definition;
|
||||
|
||||
// Check if the definition is from the dialog we're
|
||||
// interested on (the "Link" dialog).
|
||||
if ( dialogName == 'link' )
|
||||
{
|
||||
// Get a reference to the "Link Info" tab.
|
||||
var infoTab = dialogDefinition.getContents( 'info' );
|
||||
|
||||
// Add a text field to the "info" tab.
|
||||
infoTab.add( {
|
||||
type : 'text',
|
||||
label : 'My Custom Field',
|
||||
id : 'customField',
|
||||
'default' : 'Sample!',
|
||||
validate : function()
|
||||
{
|
||||
if ( /\d/.test( this.getValue() ) )
|
||||
return 'My Custom Field must not contain digits';
|
||||
}
|
||||
});
|
||||
|
||||
// Remove the "Link Type" combo and the "Browser
|
||||
// Server" button from the "info" tab.
|
||||
infoTab.remove( 'linkType' );
|
||||
infoTab.remove( 'browse' );
|
||||
|
||||
// Set the default value for the URL field.
|
||||
var urlField = infoTab.get( 'url' );
|
||||
urlField['default'] = 'www.example.com';
|
||||
|
||||
// Remove the "Target" tab from the "Link" dialog.
|
||||
dialogDefinition.removeContents( 'target' );
|
||||
|
||||
// Add a new tab to the "Link" dialog.
|
||||
dialogDefinition.addContents({
|
||||
id : 'customTab',
|
||||
label : 'My Tab',
|
||||
accessKey : 'M',
|
||||
elements : [
|
||||
{
|
||||
id : 'myField1',
|
||||
type : 'text',
|
||||
label : 'My Text Field'
|
||||
},
|
||||
{
|
||||
id : 'myField2',
|
||||
type : 'text',
|
||||
label : 'Another Text Field'
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<!-- This <fieldset> holds the HTML that you will usually find in your
|
||||
pages. -->
|
||||
<p>
|
||||
This sample shows how to use the dialog API to customize dialogs whithout changing
|
||||
the original editor code. The following customizations are being done::</p>
|
||||
<ol>
|
||||
<li><strong>Add dialog pages</strong> ("My Tab" in the Link dialog).</li>
|
||||
<li><strong>Remove a dialog tab</strong> ("Target" tab from the Link dialog).</li>
|
||||
<li><strong>Add dialog fields</strong> ("My Custom Field" into the Link dialog).</li>
|
||||
<li><strong>Remove dialog fields</strong> ("Link Type" and "Browser Server" the Link
|
||||
dialog).</li>
|
||||
<li><strong>Set default values for dialog fields</strong> (for the "URL" field in the
|
||||
Link dialog). </li>
|
||||
<li><strong>Create a custom dialog</strong> ("My Dialog" button).</li>
|
||||
</ol>
|
||||
<textarea cols="80" id="editor1" name="editor1" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
// Replace the <textarea id="editor1"> with an CKEditor instance.
|
||||
var editor = CKEDITOR.replace( 'editor1',
|
||||
{
|
||||
// Defines a simpler toolbar to be used in this sample.
|
||||
// Note that we have added out "MyButton" button here.
|
||||
toolbar : [ [ 'Source', '-', 'Bold', 'Italic', 'Underline', 'Strike','-','Link', '-', 'MyButton' ] ]
|
||||
});
|
||||
|
||||
// Listen for the "pluginsLoaded" event, so we are sure that the
|
||||
// "dialog" plugin has been loaded and we are able to do our
|
||||
// customizations.
|
||||
editor.on( 'pluginsLoaded', function( ev )
|
||||
{
|
||||
// If our custom dialog has not been registered, do that now.
|
||||
if ( !CKEDITOR.dialog.exists( 'myDialog' ) )
|
||||
{
|
||||
// We need to do the following trick to find out the dialog
|
||||
// definition file URL path. In the real world, you would simply
|
||||
// point to an absolute path directly, like "/mydir/mydialog.js".
|
||||
var href = document.location.href.split( '/' );
|
||||
href.pop();
|
||||
href.push( 'api_dialog', 'my_dialog.js' );
|
||||
href = href.join( '/' );
|
||||
|
||||
// Finally, register the dialog.
|
||||
CKEDITOR.dialog.add( 'myDialog', href );
|
||||
}
|
||||
|
||||
// Register the command used to open the dialog.
|
||||
editor.addCommand( 'myDialogCmd', new CKEDITOR.dialogCommand( 'myDialog' ) );
|
||||
|
||||
// Add the a custom toolbar buttons, which fires the above
|
||||
// command..
|
||||
editor.ui.addButton( 'MyButton',
|
||||
{
|
||||
label : 'My Dialog',
|
||||
command : 'myDialogCmd'
|
||||
} );
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
28
phpgwapi/js/ckeditor3/_samples/api_dialog/my_dialog.js
Normal file
28
phpgwapi/js/ckeditor3/_samples/api_dialog/my_dialog.js
Normal file
@ -0,0 +1,28 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
CKEDITOR.dialog.add( 'myDialog', function( editor )
|
||||
{
|
||||
return {
|
||||
title : 'My Dialog',
|
||||
minWidth : 400,
|
||||
minHeight : 200,
|
||||
contents : [
|
||||
{
|
||||
id : 'tab1',
|
||||
label : 'First Tab',
|
||||
title : 'First Tab',
|
||||
elements :
|
||||
[
|
||||
{
|
||||
id : 'input1',
|
||||
type : 'text',
|
||||
label : 'Input 1'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
} );
|
204
phpgwapi/js/ckeditor3/_samples/assets/output_xhtml.css
Normal file
204
phpgwapi/js/ckeditor3/_samples/assets/output_xhtml.css
Normal file
@ -0,0 +1,204 @@
|
||||
/*
|
||||
* Copyright (c) 2003-2010, 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).
|
||||
*/
|
||||
|
||||
/**
|
||||
* Basic definitions for the editing area.
|
||||
*/
|
||||
body
|
||||
{
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
font-size: 80%;
|
||||
color: #000000;
|
||||
background-color: #ffffff;
|
||||
padding: 5px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Core styles.
|
||||
*/
|
||||
|
||||
.Bold
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.Italic
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.Underline
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.StrikeThrough
|
||||
{
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.Subscript
|
||||
{
|
||||
vertical-align: sub;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.Superscript
|
||||
{
|
||||
vertical-align: super;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
/**
|
||||
* Font faces.
|
||||
*/
|
||||
|
||||
.FontComic
|
||||
{
|
||||
font-family: 'Comic Sans MS';
|
||||
}
|
||||
|
||||
.FontCourier
|
||||
{
|
||||
font-family: 'Courier New';
|
||||
}
|
||||
|
||||
.FontTimes
|
||||
{
|
||||
font-family: 'Times New Roman';
|
||||
}
|
||||
|
||||
/**
|
||||
* Font sizes.
|
||||
*/
|
||||
|
||||
.FontSmaller
|
||||
{
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.FontLarger
|
||||
{
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
.FontSmall
|
||||
{
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
.FontBig
|
||||
{
|
||||
font-size: 14pt;
|
||||
}
|
||||
|
||||
.FontDouble
|
||||
{
|
||||
font-size: 200%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Font colors.
|
||||
*/
|
||||
.FontColor1
|
||||
{
|
||||
color: #ff9900;
|
||||
}
|
||||
|
||||
.FontColor2
|
||||
{
|
||||
color: #0066cc;
|
||||
}
|
||||
|
||||
.FontColor3
|
||||
{
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
.FontColor1BG
|
||||
{
|
||||
background-color: #ff9900;
|
||||
}
|
||||
|
||||
.FontColor2BG
|
||||
{
|
||||
background-color: #0066cc;
|
||||
}
|
||||
|
||||
.FontColor3BG
|
||||
{
|
||||
background-color: #ff0000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indentation.
|
||||
*/
|
||||
|
||||
.Indent1
|
||||
{
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
.Indent2
|
||||
{
|
||||
margin-left: 80px;
|
||||
}
|
||||
|
||||
.Indent3
|
||||
{
|
||||
margin-left: 120px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Alignment.
|
||||
*/
|
||||
|
||||
.JustifyLeft
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.JustifyRight
|
||||
{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.JustifyCenter
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.JustifyFull
|
||||
{
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
/**
|
||||
* Other.
|
||||
*/
|
||||
|
||||
code
|
||||
{
|
||||
font-family: courier, monospace;
|
||||
background-color: #eeeeee;
|
||||
padding-left: 1px;
|
||||
padding-right: 1px;
|
||||
border: #c0c0c0 1px solid;
|
||||
}
|
||||
|
||||
kbd
|
||||
{
|
||||
padding: 0px 1px 0px 1px;
|
||||
border-width: 1px 2px 2px 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
blockquote
|
||||
{
|
||||
color: #808080;
|
||||
}
|
137
phpgwapi/js/ckeditor3/_samples/divreplace.html
Normal file
137
phpgwapi/js/ckeditor3/_samples/divreplace.html
Normal file
@ -0,0 +1,137 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Replace DIV - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
<style id="styles" type="text/css">
|
||||
|
||||
div.editable
|
||||
{
|
||||
border: solid 2px Transparent;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
div.editable:hover
|
||||
{
|
||||
border-color: black;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
// Uncomment the following code to test the "Timeout Loading Method".
|
||||
// CKEDITOR.loadFullCoreTimeout = 5;
|
||||
|
||||
window.onload = function()
|
||||
{
|
||||
// Listen to the double click event.
|
||||
if ( window.addEventListener )
|
||||
document.body.addEventListener( 'dblclick', onDoubleClick, false );
|
||||
else if ( window.attachEvent )
|
||||
document.body.attachEvent( 'ondblclick', onDoubleClick );
|
||||
|
||||
};
|
||||
|
||||
function onDoubleClick( ev )
|
||||
{
|
||||
// Get the element which fired the event. This is not necessarily the
|
||||
// element to which the event has been attached.
|
||||
var element = ev.target || ev.srcElement;
|
||||
|
||||
// Find out the div that holds this element.
|
||||
element = element.parentNode;
|
||||
|
||||
if ( element.nodeName.toLowerCase() == 'div'
|
||||
&& ( element.className.indexOf( 'editable' ) != -1 ) )
|
||||
replaceDiv( element );
|
||||
}
|
||||
|
||||
var editor;
|
||||
|
||||
function replaceDiv( div )
|
||||
{
|
||||
if ( editor )
|
||||
editor.destroy();
|
||||
|
||||
editor = CKEDITOR.replace( div );
|
||||
}
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<p>
|
||||
Double-click on any of the following DIVs to transform them into editor instances.</p>
|
||||
<div class="editable">
|
||||
<h3>
|
||||
Part 1</h3>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi
|
||||
semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna
|
||||
rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla
|
||||
nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce
|
||||
eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus.
|
||||
</p>
|
||||
</div>
|
||||
<div class="editable">
|
||||
<h3>
|
||||
Part 2</h3>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi
|
||||
semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna
|
||||
rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla
|
||||
nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce
|
||||
eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus.
|
||||
</p>
|
||||
<p>
|
||||
Donec velit. Mauris massa. Vestibulum non nulla. Nam suscipit arcu nec elit. Phasellus
|
||||
sollicitudin iaculis ante. Ut non mauris et sapien tincidunt adipiscing. Vestibulum
|
||||
vitae leo. Suspendisse nec mi tristique nulla laoreet vulputate.
|
||||
</p>
|
||||
</div>
|
||||
<div class="editable">
|
||||
<h3>
|
||||
Part 3</h3>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi
|
||||
semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna
|
||||
rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla
|
||||
nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce
|
||||
eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus.
|
||||
</p>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
88
phpgwapi/js/ckeditor3/_samples/enterkey.html
Normal file
88
phpgwapi/js/ckeditor3/_samples/enterkey.html
Normal file
@ -0,0 +1,88 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>ENTER Key Configuration - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
var editor;
|
||||
|
||||
function changeEnter()
|
||||
{
|
||||
// If we already have an editor, let's destroy it first.
|
||||
if ( editor )
|
||||
editor.destroy( true );
|
||||
|
||||
// Create the editor again, with the appropriate settings.
|
||||
editor = CKEDITOR.replace( 'editor1',
|
||||
{
|
||||
enterMode : Number( document.getElementById( 'xEnter' ).value ),
|
||||
shiftEnterMode : Number( document.getElementById( 'xShiftEnter' ).value )
|
||||
});
|
||||
}
|
||||
|
||||
window.onload = changeEnter;
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<div style="float: left; margin-right: 20px">
|
||||
When ENTER is pressed:<br />
|
||||
<select id="xEnter" onchange="changeEnter();">
|
||||
<option selected="selected" value="1">Create new <P> (recommended)</option>
|
||||
<option value="3">Create new <DIV></option>
|
||||
<option value="2">Break the line with a <BR></option>
|
||||
</select>
|
||||
</div>
|
||||
<div style="float: left">
|
||||
When SHIFT + ENTER is pressed:<br />
|
||||
<select id="xShiftEnter" onchange="changeEnter();">
|
||||
<option value="1">Create new <P></option>
|
||||
<option value="3">Create new <DIV></option>
|
||||
<option selected="selected" value="2">Break the line with a <BR> (recommended)</option>
|
||||
</select>
|
||||
</div>
|
||||
<br style="clear: both" />
|
||||
<form action="sample_posteddata.php" method="post">
|
||||
<p>
|
||||
<br />
|
||||
<textarea cols="80" id="editor1" name="editor1" rows="10">This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</textarea>
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Submit" />
|
||||
</p>
|
||||
</form>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
62
phpgwapi/js/ckeditor3/_samples/fullpage.html
Normal file
62
phpgwapi/js/ckeditor3/_samples/fullpage.html
Normal file
@ -0,0 +1,62 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Full Page Editing - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<form action="sample_posteddata.php" method="post">
|
||||
<p>
|
||||
In this sample the editor is configured to edit entire HTML pages, from the <html>
|
||||
tag to </html>.</p>
|
||||
<p>
|
||||
<label for="editor1">
|
||||
Editor 1:</label><br />
|
||||
<textarea cols="80" id="editor1" name="editor1" rows="10"><html><head><title>CKEditor Sample</title></head><body><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></body></html></textarea>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
CKEDITOR.replace( 'editor1',
|
||||
{
|
||||
fullPage : true
|
||||
});
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Submit" />
|
||||
</p>
|
||||
</form>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
54
phpgwapi/js/ckeditor3/_samples/index.html
Normal file
54
phpgwapi/js/ckeditor3/_samples/index.html
Normal file
@ -0,0 +1,54 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Samples List - CKEditor</title>
|
||||
<link type="text/css" rel="stylesheet" href="sample.css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Samples List
|
||||
</h1>
|
||||
<h2>
|
||||
Basic Samples
|
||||
</h2>
|
||||
<ul>
|
||||
<li><a href="replacebyclass.html">Replace textareas by class name</a></li>
|
||||
<li><a href="replacebycode.html">Replace textareas by code</a></li>
|
||||
<li><a href="fullpage.html">Full page support (editing from <html> to </html>)</a></li>
|
||||
</ul>
|
||||
<h2>
|
||||
Basic Customization
|
||||
</h2>
|
||||
<ul>
|
||||
<li><a href="skins.html">Skins</a></li>
|
||||
<li><a href="ui_color.html">User Interface Color</a></li>
|
||||
<li><a href="ui_languages.html">User Interface Languages</a></li>
|
||||
</ul>
|
||||
<h2>
|
||||
Advanced Samples
|
||||
</h2>
|
||||
<ul>
|
||||
<li><a href="divreplace.html">Replace DIV elements on the fly</a> </li>
|
||||
<li><a href="ajax.html">Create and destroy editor instances for Ajax applications</a></li>
|
||||
<li><a href="api.html">Basic usage of the API</a></li>
|
||||
<li><a href="api_dialog.html">Using the JavaScript API to customize dialogs</a></li>
|
||||
<li><a href="enterkey.html">Using the "Enter" key in CKEditor</a></li>
|
||||
<li><a href="sharedspaces.html">Shared toolbars</a></li>
|
||||
<li><a href="jqueryadapter.html">jQuery adapter example</a></li>
|
||||
<li><a href="output_xhtml.html">Output XHTML</a></li>
|
||||
</ul>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
73
phpgwapi/js/ckeditor3/_samples/jqueryadapter.html
Normal file
73
phpgwapi/js/ckeditor3/_samples/jqueryadapter.html
Normal file
@ -0,0 +1,73 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>jQuery adapter - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script type="text/javascript" src="../adapters/jquery.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
$(function()
|
||||
{
|
||||
var config = {
|
||||
toolbar:
|
||||
[
|
||||
['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink'],
|
||||
['UIColor']
|
||||
]
|
||||
};
|
||||
|
||||
// Initialize the editor.
|
||||
// Callback function can be passed and executed after full instance creation.
|
||||
$('.jquery_ckeditor').ckeditor(config);
|
||||
});
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<!-- This <fieldset> holds the HTML that you will usually find in your
|
||||
pages. -->
|
||||
<form action="sample_posteddata.php" method="post">
|
||||
<p>
|
||||
<label for="editor1">
|
||||
Editor 1:</label><br />
|
||||
<textarea class="jquery_ckeditor" cols="80" id="editor1" name="editor1" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Submit" />
|
||||
</p>
|
||||
</form>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
159
phpgwapi/js/ckeditor3/_samples/output_xhtml.html
Normal file
159
phpgwapi/js/ckeditor3/_samples/output_xhtml.html
Normal file
@ -0,0 +1,159 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>XHTML compliant output - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<form action="sample_posteddata.php" method="post">
|
||||
<p>
|
||||
This sample shows CKEditor configured to produce <strong>XHTML 1.1</strong> compliant
|
||||
HTML. Deprecated elements or attributes, like the <font> and <u> elements
|
||||
or the "style" attribute, are avoided.</p>
|
||||
<p>
|
||||
<label for="editor1">
|
||||
Editor 1:</label><br />
|
||||
<textarea cols="80" id="editor1" name="editor1" rows="10"><p>This is some <span class="Bold">sample text</span>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
CKEDITOR.replace( 'editor1',
|
||||
{
|
||||
/*
|
||||
* Style sheet for the contents
|
||||
*/
|
||||
contentsCss : 'assets/output_xhtml.css',
|
||||
|
||||
/*
|
||||
* Core styles.
|
||||
*/
|
||||
coreStyles_bold : { element : 'span', attributes : {'class': 'Bold'} },
|
||||
coreStyles_italic : { element : 'span', attributes : {'class': 'Italic'}},
|
||||
coreStyles_underline : { element : 'span', attributes : {'class': 'Underline'}},
|
||||
coreStyles_strike : { element : 'span', attributes : {'class': 'StrikeThrough'}, overrides : 'strike' },
|
||||
|
||||
coreStyles_subscript : { element : 'span', attributes : {'class': 'Subscript'}, overrides : 'sub' },
|
||||
coreStyles_superscript : { element : 'span', attributes : {'class': 'Superscript'}, overrides : 'sup' },
|
||||
|
||||
/*
|
||||
* Font face
|
||||
*/
|
||||
// List of fonts available in the toolbar combo. Each font definition is
|
||||
// separated by a semi-colon (;). We are using class names here, so each font
|
||||
// is defined by {Combo Label}/{Class Name}.
|
||||
font_names : 'Comic Sans MS/FontComic;Courier New/FontCourier;Times New Roman/FontTimes',
|
||||
|
||||
// Define the way font elements will be applied to the document. The "span"
|
||||
// element will be used. When a font is selected, the font name defined in the
|
||||
// above list is passed to this definition with the name "Font", being it
|
||||
// injected in the "class" attribute.
|
||||
// We must also instruct the editor to replace span elements that are used to
|
||||
// set the font (Overrides).
|
||||
font_style :
|
||||
{
|
||||
element : 'span',
|
||||
attributes : { 'class' : '#(family)' },
|
||||
overrides : [ { element : 'span', attributes : { 'class' : /^Font(?:Comic|Courier|Times)$/ } } ]
|
||||
},
|
||||
|
||||
/*
|
||||
* Font sizes.
|
||||
*/
|
||||
fontSize_sizes : 'Smaller/FontSmaller;Larger/FontLarger;8pt/FontSmall;14pt/FontBig;Double Size/FontDouble',
|
||||
fontSize_style :
|
||||
{
|
||||
element : 'span',
|
||||
attributes : { 'class' : '#(size)' },
|
||||
overrides : [ { element : 'span', attributes : { 'class' : /^Font(?:Smaller|Larger|Small|Big|Double)$/ } } ]
|
||||
} ,
|
||||
|
||||
/*
|
||||
* Font colors.
|
||||
*/
|
||||
colorButton_enableMore : false,
|
||||
|
||||
colorButton_colors : 'FontColor1/FF9900,FontColor2/0066CC,FontColor3/F00',
|
||||
colorButton_foreStyle :
|
||||
{
|
||||
element : 'span',
|
||||
attributes : { 'class' : '#(color)' },
|
||||
overrides : [ { element : 'span', attributes : { 'class' : /^FontColor(?:1|2|3)$/ } } ]
|
||||
},
|
||||
|
||||
colorButton_backStyle :
|
||||
{
|
||||
element : 'span',
|
||||
attributes : { 'class' : '#(color)BG' },
|
||||
overrides : [ { element : 'span', attributes : { 'class' : /^FontColor(?:1|2|3)BG$/ } } ]
|
||||
},
|
||||
|
||||
/*
|
||||
* Indentation.
|
||||
*/
|
||||
indentClasses : ['Indent1', 'Indent2', 'Indent3'],
|
||||
|
||||
/*
|
||||
* Paragraph justification.
|
||||
*/
|
||||
justifyClasses : [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyFull' ],
|
||||
|
||||
/*
|
||||
* Styles combo.
|
||||
*/
|
||||
stylesSet :
|
||||
[
|
||||
{ name : 'Strong Emphasis', element : 'strong' },
|
||||
{ name : 'Emphasis', element : 'em' },
|
||||
|
||||
{ name : 'Computer Code', element : 'code' },
|
||||
{ name : 'Keyboard Phrase', element : 'kbd' },
|
||||
{ name : 'Sample Text', element : 'samp' },
|
||||
{ name : 'Variable', element : 'var' },
|
||||
|
||||
{ name : 'Deleted Text', element : 'del' },
|
||||
{ name : 'Inserted Text', element : 'ins' },
|
||||
|
||||
{ name : 'Cited Work', element : 'cite' },
|
||||
{ name : 'Inline Quotation', element : 'q' }
|
||||
]
|
||||
|
||||
});
|
||||
//]]>
|
||||
</script>
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Submit" />
|
||||
</p>
|
||||
</form>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
93
phpgwapi/js/ckeditor3/_samples/php/advanced.php
Normal file
93
phpgwapi/js/ckeditor3/_samples/php/advanced.php
Normal file
@ -0,0 +1,93 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Sample - CKEditor</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type"/>
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<!-- This <fieldset> holds the HTML that you will usually find in your pages. -->
|
||||
<fieldset title="Output">
|
||||
<legend>Output</legend>
|
||||
<form action="../sample_posteddata.php" method="post">
|
||||
<p>
|
||||
<label>Editor 1:</label><br/>
|
||||
</p>
|
||||
<?php
|
||||
// Include CKEditor class.
|
||||
include("../../ckeditor.php");
|
||||
|
||||
// Create class instance.
|
||||
$CKEditor = new CKEditor();
|
||||
|
||||
// Do not print the code directly to the browser, return it instead
|
||||
$CKEditor->returnOutput = true;
|
||||
|
||||
// Path to CKEditor directory, ideally instead of relative dir, use an absolute path:
|
||||
// $CKEditor->basePath = '/ckeditor/'
|
||||
// If not set, CKEditor will try to detect the correct path.
|
||||
$CKEditor->basePath = '../../';
|
||||
|
||||
// Set global configuration (will be used by all instances of CKEditor).
|
||||
$CKEditor->config['width'] = 600;
|
||||
|
||||
// Change default textarea attributes
|
||||
$CKEditor->textareaAttributes = array("cols" => 80, "rows" => 10);
|
||||
|
||||
// The initial value to be displayed in the editor.
|
||||
$initialValue = '<p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p>';
|
||||
|
||||
// Create first instance.
|
||||
$code = $CKEditor->editor("editor1", $initialValue);
|
||||
|
||||
echo $code;
|
||||
?>
|
||||
<p>
|
||||
<label>Editor 2:</label><br/>
|
||||
</p>
|
||||
<?php
|
||||
// Configuration that will be used only by the second editor.
|
||||
$config['toolbar'] = array(
|
||||
array( 'Source', '-', 'Bold', 'Italic', 'Underline', 'Strike' ),
|
||||
array( 'Image', 'Link', 'Unlink', 'Anchor' )
|
||||
);
|
||||
|
||||
$config['skin'] = 'v2';
|
||||
|
||||
// Create second instance.
|
||||
echo $CKEditor->editor("editor2", $initialValue, $config);
|
||||
?>
|
||||
<p>
|
||||
<input type="submit" value="Submit"/>
|
||||
</p>
|
||||
</form>
|
||||
</fieldset>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
130
phpgwapi/js/ckeditor3/_samples/php/events.php
Normal file
130
phpgwapi/js/ckeditor3/_samples/php/events.php
Normal file
@ -0,0 +1,130 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Sample - CKEditor</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type"/>
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<!-- This <fieldset> holds the HTML that you will usually find in your pages. -->
|
||||
<fieldset title="Output">
|
||||
<legend>Output</legend>
|
||||
<form action="../sample_posteddata.php" method="post">
|
||||
<p>
|
||||
<label>Editor 1:</label><br/>
|
||||
</p>
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Adds global event, will hide "Target" tab in Link dialog in all instances.
|
||||
*/
|
||||
function CKEditorHideLinkTargetTab(&$CKEditor) {
|
||||
|
||||
$function = 'function (ev) {
|
||||
// Take the dialog name and its definition from the event data
|
||||
var dialogName = ev.data.name;
|
||||
var dialogDefinition = ev.data.definition;
|
||||
|
||||
// Check if the definition is from the Link dialog.
|
||||
if ( dialogName == "link" )
|
||||
dialogDefinition.removeContents("target")
|
||||
}';
|
||||
|
||||
$CKEditor->addGlobalEventHandler('dialogDefinition', $function);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds global event, will notify about opened dialog.
|
||||
*/
|
||||
function CKEditorNotifyAboutOpenedDialog(&$CKEditor) {
|
||||
$function = 'function (evt) {
|
||||
alert("Loading dialog: " + evt.data.name);
|
||||
}';
|
||||
|
||||
$CKEditor->addGlobalEventHandler('dialogDefinition', $function);
|
||||
}
|
||||
|
||||
// Include CKEditor class.
|
||||
include("../../ckeditor.php");
|
||||
|
||||
// Create class instance.
|
||||
$CKEditor = new CKEditor();
|
||||
|
||||
// Set configuration option for all editors.
|
||||
$CKEditor->config['width'] = 750;
|
||||
|
||||
// Path to CKEditor directory, ideally instead of relative dir, use an absolute path:
|
||||
// $CKEditor->basePath = '/ckeditor/'
|
||||
// If not set, CKEditor will try to detect the correct path.
|
||||
$CKEditor->basePath = '../../';
|
||||
|
||||
// The initial value to be displayed in the editor.
|
||||
$initialValue = '<p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p>';
|
||||
|
||||
// Event that will be handled only by the first editor.
|
||||
$CKEditor->addEventHandler('instanceReady', 'function (evt) {
|
||||
alert("Loaded editor: " + evt.editor.name);
|
||||
}');
|
||||
|
||||
// Create first instance.
|
||||
$CKEditor->editor("editor1", $initialValue);
|
||||
|
||||
// Clear event handlers, instances that will be created later will not have
|
||||
// the 'instanceReady' listener defined a couple of lines above.
|
||||
$CKEditor->clearEventHandlers();
|
||||
?>
|
||||
<p>
|
||||
<label>Editor 2:</label><br/>
|
||||
</p>
|
||||
<?php
|
||||
// Configuration that will be used only by the second editor.
|
||||
$config['width'] = '600';
|
||||
$config['toolbar'] = 'Basic';
|
||||
|
||||
// Add some global event handlers (for all editors).
|
||||
CKEditorHideLinkTargetTab($CKEditor);
|
||||
CKEditorNotifyAboutOpenedDialog($CKEditor);
|
||||
|
||||
// Event that will be handled only by the second editor.
|
||||
// Instead of calling addEventHandler(), events may be passed as an argument.
|
||||
$events['instanceReady'] = 'function (evt) {
|
||||
alert("Loaded second editor: " + evt.editor.name);
|
||||
}';
|
||||
|
||||
// Create second instance.
|
||||
$CKEditor->editor("editor2", $initialValue, $config, $events);
|
||||
?>
|
||||
<p>
|
||||
<input type="submit" value="Submit"/>
|
||||
</p>
|
||||
</form>
|
||||
</fieldset>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
63
phpgwapi/js/ckeditor3/_samples/php/replace.php
Normal file
63
phpgwapi/js/ckeditor3/_samples/php/replace.php
Normal file
@ -0,0 +1,63 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Sample - CKEditor</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type"/>
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<!-- This <fieldset> holds the HTML that you will usually find in your pages. -->
|
||||
<fieldset title="Output">
|
||||
<legend>Output</legend>
|
||||
<form action="../sample_posteddata.php" method="post">
|
||||
<p>
|
||||
<label for="editor1">
|
||||
Editor 1:</label><br/>
|
||||
<textarea cols="80" id="editor1" name="editor1" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Submit"/>
|
||||
</p>
|
||||
</form>
|
||||
</fieldset>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
<?php
|
||||
// Include CKEditor class.
|
||||
include_once "../../ckeditor.php";
|
||||
// Create class instance.
|
||||
$CKEditor = new CKEditor();
|
||||
// Path to CKEditor directory, ideally instead of relative dir, use an absolute path:
|
||||
// $CKEditor->basePath = '/ckeditor/'
|
||||
// If not set, CKEditor will try to detect the correct path.
|
||||
$CKEditor->basePath = '../../';
|
||||
// Replace textarea with id (or name) "editor1".
|
||||
$CKEditor->replace("editor1");
|
||||
?>
|
||||
</body>
|
||||
</html>
|
68
phpgwapi/js/ckeditor3/_samples/php/replaceall.php
Normal file
68
phpgwapi/js/ckeditor3/_samples/php/replaceall.php
Normal file
@ -0,0 +1,68 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Sample - CKEditor</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type"/>
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<!-- This <fieldset> holds the HTML that you will usually find in your pages. -->
|
||||
<fieldset title="Output">
|
||||
<legend>Output</legend>
|
||||
<form action="../sample_posteddata.php" method="post">
|
||||
<p>
|
||||
<label for="editor1">
|
||||
Editor 1:</label><br/>
|
||||
<textarea cols="80" id="editor1" name="editor1" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
</p>
|
||||
<p>
|
||||
<label for="editor2">
|
||||
Editor 2:</label><br/>
|
||||
<textarea cols="80" id="editor2" name="editor2" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Submit"/>
|
||||
</p>
|
||||
</form>
|
||||
</fieldset>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
<?php
|
||||
// Include CKEditor class.
|
||||
include("../../ckeditor.php");
|
||||
// Create class instance.
|
||||
$CKEditor = new CKEditor();
|
||||
// Path to CKEditor directory, ideally instead of relative dir, use an absolute path:
|
||||
// $CKEditor->basePath = '/ckeditor/'
|
||||
// If not set, CKEditor will try to detect the correct path.
|
||||
$CKEditor->basePath = '../../';
|
||||
// Replace all textareas with CKEditor.
|
||||
$CKEditor->replaceAll();
|
||||
?>
|
||||
</body>
|
||||
</html>
|
64
phpgwapi/js/ckeditor3/_samples/php/standalone.php
Normal file
64
phpgwapi/js/ckeditor3/_samples/php/standalone.php
Normal file
@ -0,0 +1,64 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Sample - CKEditor</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type"/>
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<!-- This <fieldset> holds the HTML that you will usually find in your pages. -->
|
||||
<fieldset title="Output">
|
||||
<legend>Output</legend>
|
||||
<form action="../sample_posteddata.php" method="post">
|
||||
<p>
|
||||
<label for="editor1">
|
||||
Editor 1:</label><br/>
|
||||
</p>
|
||||
<p>
|
||||
<?php
|
||||
// Include CKEditor class.
|
||||
include_once "../../ckeditor.php";
|
||||
// The initial value to be displayed in the editor.
|
||||
$initialValue = '<p>This is some <strong>sample text</strong>.</p>';
|
||||
// Create class instance.
|
||||
$CKEditor = new CKEditor();
|
||||
// Path to CKEditor directory, ideally instead of relative dir, use an absolute path:
|
||||
// $CKEditor->basePath = '/ckeditor/'
|
||||
// If not set, CKEditor will try to detect the correct path.
|
||||
$CKEditor->basePath = '../../';
|
||||
// Create textarea element and attach CKEditor to it.
|
||||
$CKEditor->editor("editor1", $initialValue);
|
||||
?>
|
||||
<input type="submit" value="Submit"/>
|
||||
</p>
|
||||
</form>
|
||||
</fieldset>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
49
phpgwapi/js/ckeditor3/_samples/replacebyclass.html
Normal file
49
phpgwapi/js/ckeditor3/_samples/replacebyclass.html
Normal file
@ -0,0 +1,49 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Replace Textareas by Class Name - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<form action="sample_posteddata.php" method="post">
|
||||
<p>
|
||||
<label for="editor1">
|
||||
Editor 1:</label><br />
|
||||
<textarea class="ckeditor" cols="80" id="editor1" name="editor1" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Submit" />
|
||||
</p>
|
||||
</form>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
80
phpgwapi/js/ckeditor3/_samples/replacebycode.html
Normal file
80
phpgwapi/js/ckeditor3/_samples/replacebycode.html
Normal file
@ -0,0 +1,80 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Replace Textarea by Code - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<form action="sample_posteddata.php" method="post">
|
||||
<p>
|
||||
<label for="editor1">
|
||||
Editor 1:</label><br />
|
||||
<textarea cols="80" id="editor1" name="editor1" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
// This call can be placed at any point after the
|
||||
// <textarea>, or inside a <head><script> in a
|
||||
// window.onload event handler.
|
||||
|
||||
// Replace the <textarea id="editor"> with an CKEditor
|
||||
// instance, using default configurations.
|
||||
CKEDITOR.replace( 'editor1' );
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</p>
|
||||
<p>
|
||||
<label for="editor2">
|
||||
Editor 2:</label><br />
|
||||
<textarea cols="80" id="editor2" name="editor2" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
// This call can be placed at any point after the
|
||||
// <textarea>, or inside a <head><script> in a
|
||||
// window.onload event handler.
|
||||
|
||||
// Replace the <textarea id="editor"> with an CKEditor
|
||||
// instance, using default configurations.
|
||||
CKEDITOR.replace( 'editor2' );
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Submit" />
|
||||
</p>
|
||||
</form>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
81
phpgwapi/js/ckeditor3/_samples/sample.css
Normal file
81
phpgwapi/js/ckeditor3/_samples/sample.css
Normal file
@ -0,0 +1,81 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
fieldset
|
||||
{
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
form
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
pre
|
||||
{
|
||||
background-color: #F7F7F7;
|
||||
border: 1px solid #D7D7D7;
|
||||
overflow: auto;
|
||||
margin: 0;
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
#alerts
|
||||
{
|
||||
color: Red;
|
||||
}
|
||||
|
||||
#footer hr
|
||||
{
|
||||
margin: 10px 0 15px 0;
|
||||
height: 1px;
|
||||
border: solid 1px gray;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
#footer p
|
||||
{
|
||||
margin: 0 10px 10px 10px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
#footer #copy
|
||||
{
|
||||
float: right;
|
||||
}
|
||||
|
||||
#outputSample
|
||||
{
|
||||
width: 100%;
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
#outputSample thead th
|
||||
{
|
||||
color: #dddddd;
|
||||
background-color: #999999;
|
||||
padding: 4px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#outputSample tbody th
|
||||
{
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#outputSample pre
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
white-space: pre; /* CSS2 */
|
||||
white-space: -moz-pre-wrap; /* Mozilla*/
|
||||
white-space: -o-pre-wrap; /* Opera 7 */
|
||||
white-space: pre-wrap; /* CSS 2.1 */
|
||||
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
|
||||
word-wrap: break-word; /* IE */
|
||||
}
|
65
phpgwapi/js/ckeditor3/_samples/sample.js
Normal file
65
phpgwapi/js/ckeditor3/_samples/sample.js
Normal file
@ -0,0 +1,65 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
// This file is not required by CKEditor and may be safely ignored.
|
||||
// It is just a helper file that displays a red message about browser compatibility
|
||||
// at the top of the samples (if incompatible browser is detected).
|
||||
|
||||
if ( window.CKEDITOR )
|
||||
{
|
||||
(function()
|
||||
{
|
||||
var showCompatibilityMsg = function()
|
||||
{
|
||||
var env = CKEDITOR.env;
|
||||
|
||||
var html = '<p><strong>Your browser is not compatible with CKEditor.</strong>';
|
||||
|
||||
var browsers =
|
||||
{
|
||||
gecko : 'Firefox 2.0',
|
||||
ie : 'Internet Explorer 6.0',
|
||||
opera : 'Opera 9.5',
|
||||
webkit : 'Safari 3.0'
|
||||
};
|
||||
|
||||
var alsoBrowsers = '';
|
||||
|
||||
for ( var key in env )
|
||||
{
|
||||
if ( browsers[ key ] )
|
||||
{
|
||||
if ( env[key] )
|
||||
html += ' CKEditor is compatible with ' + browsers[ key ] + ' or higher.';
|
||||
else
|
||||
alsoBrowsers += browsers[ key ] + '+, ';
|
||||
}
|
||||
}
|
||||
|
||||
alsoBrowsers = alsoBrowsers.replace( /\+,([^,]+), $/, '+ and $1' );
|
||||
|
||||
html += ' It is also compatible with ' + alsoBrowsers + '.';
|
||||
|
||||
html += '</p><p>With non compatible browsers, you should still be able to see and edit the contents (HTML) in a plain text field.</p>';
|
||||
|
||||
var alertsEl = document.getElementById( 'alerts' );
|
||||
alertsEl && ( alertsEl.innerHTML = html );
|
||||
};
|
||||
|
||||
var onload = function()
|
||||
{
|
||||
// Show a friendly compatibility message as soon as the page is loaded,
|
||||
// for those browsers that are not compatible with CKEditor.
|
||||
if ( !CKEDITOR.env.isCompatible )
|
||||
showCompatibilityMsg();
|
||||
};
|
||||
|
||||
// Register the onload listener.
|
||||
if ( window.addEventListener )
|
||||
window.addEventListener( 'load', onload, false );
|
||||
else if ( window.attachEvent )
|
||||
window.attachEvent( 'onload', onload );
|
||||
})();
|
||||
}
|
59
phpgwapi/js/ckeditor3/_samples/sample_posteddata.php
Normal file
59
phpgwapi/js/ckeditor3/_samples/sample_posteddata.php
Normal file
@ -0,0 +1,59 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<?php
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Sample - CKEditor</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<link type="text/css" rel="stylesheet" href="sample.css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor - Posted Data
|
||||
</h1>
|
||||
<table border="1" cellspacing="0" id="outputSample">
|
||||
<colgroup><col width="100" /></colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<?php
|
||||
|
||||
if ( isset( $_POST ) )
|
||||
$postArray = &$_POST ; // 4.1.0 or later, use $_POST
|
||||
else
|
||||
$postArray = &$HTTP_POST_VARS ; // prior to 4.1.0, use HTTP_POST_VARS
|
||||
|
||||
foreach ( $postArray as $sForm => $value )
|
||||
{
|
||||
if ( get_magic_quotes_gpc() )
|
||||
$postedValue = htmlspecialchars( stripslashes( $value ) ) ;
|
||||
else
|
||||
$postedValue = htmlspecialchars( $value ) ;
|
||||
|
||||
?>
|
||||
<tr>
|
||||
<th style="vertical-align: top"><?php echo $sForm?></th>
|
||||
<td><pre><?php echo $postedValue?></pre></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
131
phpgwapi/js/ckeditor3/_samples/sharedspaces.html
Normal file
131
phpgwapi/js/ckeditor3/_samples/sharedspaces.html
Normal file
@ -0,0 +1,131 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Shared toolbars - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
<style id="styles" type="text/css">
|
||||
|
||||
#editorsForm
|
||||
{
|
||||
height: 400px;
|
||||
overflow: auto;
|
||||
border: solid 1px #555;
|
||||
margin: 10px 0;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<div id="topSpace">
|
||||
</div>
|
||||
<form action="sample_posteddata.php" id="editorsForm" method="post">
|
||||
<p>
|
||||
<label for="editor1">
|
||||
Editor 1 (uses the shared toolbar and element path):</label><br />
|
||||
<textarea cols="80" id="editor1" name="editor1" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
</p>
|
||||
<p>
|
||||
<label for="editor2">
|
||||
Editor 2 (uses the shared toolbar and element path):</label><br />
|
||||
<textarea cols="80" id="editor2" name="editor2" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
</p>
|
||||
<p>
|
||||
<label for="editor3">
|
||||
Editor 3 (uses the shared toolbar only):</label><br />
|
||||
<textarea cols="80" id="editor3" name="editor3" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
</p>
|
||||
<p>
|
||||
<label for="editor4">
|
||||
Editor 4 (no shared spaces):</label><br />
|
||||
<textarea cols="80" id="editor4" name="editor4" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Submit" />
|
||||
</p>
|
||||
</form>
|
||||
<div id="bottomSpace">
|
||||
</div>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
// Create all editor instances at the end of the page, so we are sure
|
||||
// that the "bottomSpace" div is available in the DOM (IE issue).
|
||||
|
||||
CKEDITOR.replace( 'editor1',
|
||||
{
|
||||
sharedSpaces :
|
||||
{
|
||||
top : 'topSpace',
|
||||
bottom : 'bottomSpace'
|
||||
},
|
||||
|
||||
// Removes the maximize plugin as it's not usable
|
||||
// in a shared toolbar.
|
||||
// Removes the resizer as it's not usable in a
|
||||
// shared elements path.
|
||||
removePlugins : 'maximize,resize'
|
||||
} );
|
||||
|
||||
CKEDITOR.replace( 'editor2',
|
||||
{
|
||||
sharedSpaces :
|
||||
{
|
||||
top : 'topSpace',
|
||||
bottom : 'bottomSpace'
|
||||
},
|
||||
|
||||
// Removes the maximize plugin as it's not usable
|
||||
// in a shared toolbar.
|
||||
// Removes the resizer as it's not usable in a
|
||||
// shared elements path.
|
||||
removePlugins : 'maximize,resize'
|
||||
} );
|
||||
|
||||
CKEDITOR.replace( 'editor3',
|
||||
{
|
||||
sharedSpaces :
|
||||
{
|
||||
top : 'topSpace'
|
||||
},
|
||||
|
||||
// Removes the maximize plugin as it's not usable
|
||||
// in a shared toolbar.
|
||||
removePlugins : 'maximize'
|
||||
} );
|
||||
|
||||
CKEDITOR.replace( 'editor4' );
|
||||
//]]>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
83
phpgwapi/js/ckeditor3/_samples/skins.html
Normal file
83
phpgwapi/js/ckeditor3/_samples/skins.html
Normal file
@ -0,0 +1,83 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>Skins - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<form action="sample_posteddata.php" method="post">
|
||||
<p>
|
||||
"Kama" skin:<br />
|
||||
<textarea cols="80" id="editor_kama" name="editor_kama" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
CKEDITOR.replace( 'editor_kama',
|
||||
{
|
||||
skin : 'kama'
|
||||
});
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</p>
|
||||
<p>
|
||||
"Office 2003" skin:<br />
|
||||
<textarea cols="80" id="editor_office2003" name="editor_office2003" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
CKEDITOR.replace( 'editor_office2003',
|
||||
{
|
||||
skin : 'office2003'
|
||||
});
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</p>
|
||||
<p>
|
||||
"V2" skin:<br />
|
||||
<textarea cols="80" id="editor_v2" name="editor_v2" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
CKEDITOR.replace( 'editor_v2',
|
||||
{
|
||||
skin : 'v2'
|
||||
});
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</p>
|
||||
</form>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
87
phpgwapi/js/ckeditor3/_samples/ui_color.html
Normal file
87
phpgwapi/js/ckeditor3/_samples/ui_color.html
Normal file
@ -0,0 +1,87 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>UI Color Setting Tool - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<p>
|
||||
Click the UI Color Picker button to test your color preferences at runtime.</p>
|
||||
<form action="sample_posteddata.php" method="post">
|
||||
<p>
|
||||
<textarea cols="80" id="editor1" name="editor1" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
// Replace the <textarea id="editor"> with an CKEditor
|
||||
// instance, using default configurations.
|
||||
CKEDITOR.replace( 'editor1',
|
||||
{
|
||||
extraPlugins : 'uicolor',
|
||||
toolbar :
|
||||
[
|
||||
[ 'Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink' ],
|
||||
[ 'UIColor' ]
|
||||
]
|
||||
});
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</p>
|
||||
<p>
|
||||
<textarea cols="80" id="editor2" name="editor2" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
// Replace the <textarea id="editor"> with an CKEditor
|
||||
// instance, using default configurations.
|
||||
CKEDITOR.replace( 'editor2',
|
||||
{
|
||||
extraPlugins : 'uicolor',
|
||||
uiColor: '#14B8C4',
|
||||
toolbar :
|
||||
[
|
||||
[ 'Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink' ],
|
||||
[ 'UIColor' ]
|
||||
]
|
||||
} );
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Submit" />
|
||||
</p>
|
||||
</form>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
103
phpgwapi/js/ckeditor3/_samples/ui_languages.html
Normal file
103
phpgwapi/js/ckeditor3/_samples/ui_languages.html
Normal file
@ -0,0 +1,103 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>User Interface Globalization - CKEditor Sample</title>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
|
||||
<script type="text/javascript" src="../ckeditor.js"></script>
|
||||
<script type="text/javascript" src="../lang/_languages.js"></script>
|
||||
<script src="sample.js" type="text/javascript"></script>
|
||||
<link href="sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
CKEditor Sample
|
||||
</h1>
|
||||
<!-- This <div> holds alert messages to be display in the sample page. -->
|
||||
<div id="alerts">
|
||||
<noscript>
|
||||
<p>
|
||||
<strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript
|
||||
support, like yours, you should still see the contents (HTML data) and you should
|
||||
be able to edit it normally, without a rich editor interface.
|
||||
</p>
|
||||
</noscript>
|
||||
</div>
|
||||
<form action="sample_posteddata.php" method="post">
|
||||
<p>
|
||||
Available languages (<span id="count"> </span> languages!):<br />
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
document.write( '<select disabled="disabled" id="languages" onchange="createEditor( this.value );">' );
|
||||
// Get the language list from the _languages.js file.
|
||||
for ( var i = 0 ; i < window.CKEDITOR_LANGS.length ; i++ )
|
||||
{
|
||||
document.write(
|
||||
'<option value="' + window.CKEDITOR_LANGS[i].code + '">' +
|
||||
window.CKEDITOR_LANGS[i].name +
|
||||
'</option>' );
|
||||
}
|
||||
document.write( '</select>' );
|
||||
//]]>
|
||||
</script>
|
||||
<br />
|
||||
<span style="color: #888888">(You may see strange characters if your system doesn't
|
||||
support the selected language)</span>
|
||||
</p>
|
||||
<p>
|
||||
<textarea cols="80" id="editor1" name="editor1" rows="10"><p>This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.</p></textarea>
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
|
||||
// Set the number of languages.
|
||||
document.getElementById( 'count' ).innerHTML = window.CKEDITOR_LANGS.length;
|
||||
|
||||
var editor;
|
||||
|
||||
function createEditor( languageCode )
|
||||
{
|
||||
if ( editor )
|
||||
editor.destroy();
|
||||
|
||||
// Replace the <textarea id="editor"> with an CKEditor
|
||||
// instance, using default configurations.
|
||||
editor = CKEDITOR.replace( 'editor1',
|
||||
{
|
||||
language : languageCode,
|
||||
|
||||
on :
|
||||
{
|
||||
instanceReady : function()
|
||||
{
|
||||
// Wait for the editor to be ready to set
|
||||
// the language combo.
|
||||
var languages = document.getElementById( 'languages' );
|
||||
languages.value = this.langCode;
|
||||
languages.disabled = false;
|
||||
}
|
||||
}
|
||||
} );
|
||||
}
|
||||
|
||||
// At page startup, load the default language:
|
||||
createEditor( '' );
|
||||
|
||||
//]]>
|
||||
</script>
|
||||
</p>
|
||||
</form>
|
||||
<div id="footer">
|
||||
<hr />
|
||||
<p>
|
||||
CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
|
||||
</p>
|
||||
<p id="copy">
|
||||
Copyright © 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
|
||||
Knabben. All rights reserved.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
297
phpgwapi/js/ckeditor3/_source/adapters/jquery.js
vendored
Normal file
297
phpgwapi/js/ckeditor3/_source/adapters/jquery.js
vendored
Normal file
@ -0,0 +1,297 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview jQuery adapter provides easy use of basic CKEditor functions
|
||||
* and access to internal API. It also integrates some aspects of CKEditor with
|
||||
* jQuery framework.
|
||||
*
|
||||
* Every TEXTAREA, DIV and P elements can be converted to working editor.
|
||||
*
|
||||
* Plugin exposes some of editor's event to jQuery event system. All of those are namespaces inside
|
||||
* ".ckeditor" namespace and can be binded/listened on supported textarea, div and p nodes.
|
||||
*
|
||||
* Available jQuery events:
|
||||
* - instanceReady.ckeditor( editor, rootNode )
|
||||
* Triggered when new instance is ready.
|
||||
* - destroy.ckeditor( editor )
|
||||
* Triggered when instance is destroyed.
|
||||
* - getData.ckeditor( editor, eventData )
|
||||
* Triggered when getData event is fired inside editor. It can change returned data using eventData reference.
|
||||
* - setData.ckeditor( editor )
|
||||
* Triggered when getData event is fired inside editor.
|
||||
*
|
||||
* @example
|
||||
* <script src="jquery.js"></script>
|
||||
* <script src="ckeditor.js"></script>
|
||||
* <script src="adapters/jquery/adapter.js"></script>
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
/**
|
||||
* Allow CKEditor to override jQuery.fn.val(). This results in ability to use val()
|
||||
* function on textareas as usual and having those calls synchronized with CKEditor
|
||||
* Rich Text Editor component.
|
||||
*
|
||||
* This config option is global and executed during plugin load.
|
||||
* Can't be customized across editor instances.
|
||||
*
|
||||
* @type Boolean
|
||||
* @example
|
||||
* $( 'textarea' ).ckeditor();
|
||||
* // ...
|
||||
* $( 'textarea' ).val( 'New content' );
|
||||
*/
|
||||
CKEDITOR.config.jqueryOverrideVal = typeof CKEDITOR.config.jqueryOverrideVal == 'undefined'
|
||||
? true : CKEDITOR.config.jqueryOverrideVal;
|
||||
|
||||
var jQuery = window.jQuery;
|
||||
|
||||
if ( typeof jQuery == 'undefined' )
|
||||
return;
|
||||
|
||||
// jQuery object methods.
|
||||
jQuery.extend( jQuery.fn,
|
||||
/** @lends jQuery.fn */
|
||||
{
|
||||
/**
|
||||
* Return existing CKEditor instance for first matched element.
|
||||
* Allows to easily use internal API. Doesn't return jQuery object.
|
||||
*
|
||||
* Raised exception if editor doesn't exist or isn't ready yet.
|
||||
*
|
||||
* @name jQuery.ckeditorGet
|
||||
* @return CKEDITOR.editor
|
||||
* @see CKEDITOR.editor
|
||||
*/
|
||||
ckeditorGet: function()
|
||||
{
|
||||
var instance = this.eq( 0 ).data( 'ckeditorInstance' );
|
||||
if ( !instance )
|
||||
throw "CKEditor not yet initialized, use ckeditor() with callback.";
|
||||
return instance;
|
||||
},
|
||||
/**
|
||||
* Triggers creation of CKEditor in all matched elements (reduced to DIV, P and TEXTAREAs).
|
||||
* Binds callback to instanceReady event of all instances. If editor is already created, than
|
||||
* callback is fired right away.
|
||||
*
|
||||
* Mixed parameter order allowed.
|
||||
*
|
||||
* @param callback Function to be run on editor instance. Passed parameters: [ textarea ].
|
||||
* Callback is fiered in "this" scope being ckeditor instance and having source textarea as first param.
|
||||
*
|
||||
* @param config Configuration options for new instance(s) if not already created.
|
||||
* See URL
|
||||
*
|
||||
* @example
|
||||
* $( 'textarea' ).ckeditor( function( textarea ) {
|
||||
* $( textarea ).val( this.getData() )
|
||||
* } );
|
||||
*
|
||||
* @name jQuery.fn.ckeditor
|
||||
* @return jQuery.fn
|
||||
*/
|
||||
ckeditor: function( callback, config )
|
||||
{
|
||||
if ( !jQuery.isFunction( callback ))
|
||||
{
|
||||
var tmp = config;
|
||||
config = callback;
|
||||
callback = tmp;
|
||||
}
|
||||
config = config || {};
|
||||
|
||||
this.filter( 'textarea, div, p' ).each( function()
|
||||
{
|
||||
var $element = jQuery( this ),
|
||||
editor = $element.data( 'ckeditorInstance' ),
|
||||
instanceLock = $element.data( '_ckeditorInstanceLock' ),
|
||||
element = this;
|
||||
|
||||
if ( editor && !instanceLock )
|
||||
{
|
||||
if ( callback )
|
||||
callback.apply( editor, [ this ] );
|
||||
}
|
||||
else if ( !instanceLock )
|
||||
{
|
||||
// CREATE NEW INSTANCE
|
||||
|
||||
// Handle config.autoUpdateElement inside this plugin if desired.
|
||||
if ( config.autoUpdateElement
|
||||
|| ( typeof config.autoUpdateElement == 'undefined' && CKEDITOR.config.autoUpdateElement ) )
|
||||
{
|
||||
config.autoUpdateElementJquery = true;
|
||||
}
|
||||
|
||||
// Always disable config.autoUpdateElement.
|
||||
config.autoUpdateElement = false;
|
||||
$element.data( '_ckeditorInstanceLock', true );
|
||||
|
||||
// Set instance reference in element's data.
|
||||
editor = CKEDITOR.replace( element, config );
|
||||
$element.data( 'ckeditorInstance', editor );
|
||||
|
||||
// Register callback.
|
||||
editor.on( 'instanceReady', function( event )
|
||||
{
|
||||
var editor = event.editor;
|
||||
setTimeout( function()
|
||||
{
|
||||
// Delay bit more if editor is still not ready.
|
||||
if ( !editor.element )
|
||||
{
|
||||
setTimeout( arguments.callee, 100 );
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove this listener.
|
||||
event.removeListener( 'instanceReady', this.callee );
|
||||
|
||||
// Forward setData on dataReady.
|
||||
editor.on( 'dataReady', function()
|
||||
{
|
||||
$element.trigger( 'setData' + '.ckeditor', [ editor ] );
|
||||
});
|
||||
|
||||
// Forward getData.
|
||||
editor.on( 'getData', function( event ) {
|
||||
$element.trigger( 'getData' + '.ckeditor', [ editor, event.data ] );
|
||||
}, 999 );
|
||||
|
||||
// Forward destroy event.
|
||||
editor.on( 'destroy', function()
|
||||
{
|
||||
$element.trigger( 'destroy.ckeditor', [ editor ] );
|
||||
});
|
||||
|
||||
// Integrate with form submit.
|
||||
if ( editor.config.autoUpdateElementJquery && $element.is( 'textarea' ) && $element.parents( 'form' ).length )
|
||||
{
|
||||
var onSubmit = function()
|
||||
{
|
||||
$element.ckeditor( function()
|
||||
{
|
||||
editor.updateElement();
|
||||
});
|
||||
};
|
||||
|
||||
// Bind to submit event.
|
||||
$element.parents( 'form' ).submit( onSubmit );
|
||||
|
||||
// Bind to form-pre-serialize from jQuery Forms plugin.
|
||||
$element.parents( 'form' ).bind( 'form-pre-serialize', onSubmit );
|
||||
|
||||
// Unbind when editor destroyed.
|
||||
$element.bind( 'destroy.ckeditor', function()
|
||||
{
|
||||
$element.parents( 'form' ).unbind( 'submit', onSubmit );
|
||||
$element.parents( 'form' ).unbind( 'form-pre-serialize', onSubmit );
|
||||
});
|
||||
}
|
||||
|
||||
// Garbage collect on destroy.
|
||||
editor.on( 'destroy', function()
|
||||
{
|
||||
$element.data( 'ckeditorInstance', null );
|
||||
});
|
||||
|
||||
// Remove lock.
|
||||
$element.data( '_ckeditorInstanceLock', null );
|
||||
|
||||
// Fire instanceReady event.
|
||||
$element.trigger( 'instanceReady.ckeditor', [ editor ] );
|
||||
|
||||
// Run given (first) code.
|
||||
if ( callback )
|
||||
callback.apply( editor, [ element ] );
|
||||
}, 0 );
|
||||
}, null, null, 9999);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Editor is already during creation process, bind our code to the event.
|
||||
CKEDITOR.on( 'instanceReady', function( event )
|
||||
{
|
||||
var editor = event.editor;
|
||||
setTimeout( function()
|
||||
{
|
||||
// Delay bit more if editor is still not ready.
|
||||
if ( !editor.element )
|
||||
{
|
||||
setTimeout( arguments.callee, 100 );
|
||||
return;
|
||||
}
|
||||
|
||||
if ( editor.element.$ == element )
|
||||
{
|
||||
// Run given code.
|
||||
if ( callback )
|
||||
callback.apply( editor, [ element ] );
|
||||
}
|
||||
}, 0 );
|
||||
}, null, null, 9999);
|
||||
}
|
||||
});
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
// New val() method for objects.
|
||||
if ( CKEDITOR.config.jqueryOverrideVal )
|
||||
{
|
||||
jQuery.fn.val = CKEDITOR.tools.override( jQuery.fn.val, function( oldValMethod )
|
||||
{
|
||||
/**
|
||||
* CKEditor-aware val() method.
|
||||
*
|
||||
* Acts same as original jQuery val(), but for textareas which have CKEditor instances binded to them, method
|
||||
* returns editor's content. It also works for settings values.
|
||||
*
|
||||
* @param oldValMethod
|
||||
* @name jQuery.fn.val
|
||||
*/
|
||||
return function( newValue, forceNative )
|
||||
{
|
||||
var isSetter = typeof newValue != 'undefined',
|
||||
result;
|
||||
|
||||
this.each( function()
|
||||
{
|
||||
var $this = jQuery( this ),
|
||||
editor = $this.data( 'ckeditorInstance' );
|
||||
|
||||
if ( !forceNative && $this.is( 'textarea' ) && editor )
|
||||
{
|
||||
if ( isSetter )
|
||||
editor.setData( newValue );
|
||||
else
|
||||
{
|
||||
result = editor.getData();
|
||||
// break;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( isSetter )
|
||||
oldValMethod.call( $this, newValue );
|
||||
else
|
||||
{
|
||||
result = oldValMethod.call( $this );
|
||||
// break;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
return isSetter ? this : result;
|
||||
};
|
||||
});
|
||||
}
|
||||
})();
|
91
phpgwapi/js/ckeditor3/_source/core/_bootstrap.js
Normal file
91
phpgwapi/js/ckeditor3/_source/core/_bootstrap.js
Normal file
@ -0,0 +1,91 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview API initialization code.
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
// Disable HC detaction in WebKit. (#5429)
|
||||
if ( CKEDITOR.env.webkit )
|
||||
{
|
||||
CKEDITOR.env.hc = false;
|
||||
return;
|
||||
}
|
||||
|
||||
// Check is High Contrast is active by creating a temporary element with a
|
||||
// background image.
|
||||
|
||||
var useSpacer = CKEDITOR.env.ie && CKEDITOR.env.version < 7,
|
||||
useBlank = CKEDITOR.env.ie && CKEDITOR.env.version == 7;
|
||||
|
||||
var backgroundImageUrl = useSpacer ? ( CKEDITOR.basePath + 'images/spacer.gif' ) :
|
||||
useBlank ? 'about:blank' : 'data:image/png;base64,';
|
||||
|
||||
var hcDetect = CKEDITOR.dom.element.createFromHtml(
|
||||
'<div style="width:0px;height:0px;' +
|
||||
'position:absolute;left:-10000px;' +
|
||||
'background-image:url(' + backgroundImageUrl + ')"></div>', CKEDITOR.document );
|
||||
|
||||
hcDetect.appendTo( CKEDITOR.document.getHead() );
|
||||
|
||||
// Update CKEDITOR.env.
|
||||
// Catch exception needed sometimes for FF. (#4230)
|
||||
try
|
||||
{
|
||||
CKEDITOR.env.hc = ( hcDetect.getComputedStyle( 'background-image' ) == 'none' );
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
CKEDITOR.env.hc = false;
|
||||
}
|
||||
|
||||
if ( CKEDITOR.env.hc )
|
||||
CKEDITOR.env.cssClass += ' cke_hc';
|
||||
|
||||
hcDetect.remove();
|
||||
})();
|
||||
|
||||
// Load core plugins.
|
||||
CKEDITOR.plugins.load( CKEDITOR.config.corePlugins.split( ',' ), function()
|
||||
{
|
||||
CKEDITOR.status = 'loaded';
|
||||
CKEDITOR.fire( 'loaded' );
|
||||
|
||||
// Process all instances created by the "basic" implementation.
|
||||
var pending = CKEDITOR._.pending;
|
||||
if ( pending )
|
||||
{
|
||||
delete CKEDITOR._.pending;
|
||||
|
||||
for ( var i = 0 ; i < pending.length ; i++ )
|
||||
CKEDITOR.add( pending[ i ] );
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
TODO: Enable the following and check if effective.
|
||||
|
||||
if ( CKEDITOR.env.ie )
|
||||
{
|
||||
// Remove IE mouse flickering on IE6 because of background images.
|
||||
try
|
||||
{
|
||||
document.execCommand( 'BackgroundImageCache', false, true );
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// We have been reported about loading problems caused by the above
|
||||
// line. For safety, let's just ignore errors.
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fired when a CKEDITOR core object is fully loaded and ready for interaction.
|
||||
* @name CKEDITOR#loaded
|
||||
* @event
|
||||
*/
|
143
phpgwapi/js/ckeditor3/_source/core/ajax.js
Normal file
143
phpgwapi/js/ckeditor3/_source/core/ajax.js
Normal file
@ -0,0 +1,143 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.ajax} object, which holds ajax methods for
|
||||
* data loading.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Ajax methods for data loading.
|
||||
* @namespace
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.ajax = (function()
|
||||
{
|
||||
var createXMLHttpRequest = function()
|
||||
{
|
||||
// In IE, using the native XMLHttpRequest for local files may throw
|
||||
// "Access is Denied" errors.
|
||||
if ( !CKEDITOR.env.ie || location.protocol != 'file:' )
|
||||
try { return new XMLHttpRequest(); } catch(e) {}
|
||||
|
||||
try { return new ActiveXObject( 'Msxml2.XMLHTTP' ); } catch (e) {}
|
||||
try { return new ActiveXObject( 'Microsoft.XMLHTTP' ); } catch (e) {}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
var checkStatus = function( xhr )
|
||||
{
|
||||
// HTTP Status Codes:
|
||||
// 2xx : Success
|
||||
// 304 : Not Modified
|
||||
// 0 : Returned when running locally (file://)
|
||||
// 1223 : IE may change 204 to 1223 (see http://dev.jquery.com/ticket/1450)
|
||||
|
||||
return ( xhr.readyState == 4 &&
|
||||
( ( xhr.status >= 200 && xhr.status < 300 ) ||
|
||||
xhr.status == 304 ||
|
||||
xhr.status === 0 ||
|
||||
xhr.status == 1223 ) );
|
||||
};
|
||||
|
||||
var getResponseText = function( xhr )
|
||||
{
|
||||
if ( checkStatus( xhr ) )
|
||||
return xhr.responseText;
|
||||
return null;
|
||||
};
|
||||
|
||||
var getResponseXml = function( xhr )
|
||||
{
|
||||
if ( checkStatus( xhr ) )
|
||||
{
|
||||
var xml = xhr.responseXML;
|
||||
return new CKEDITOR.xml( xml && xml.firstChild ? xml : xhr.responseText );
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
var load = function( url, callback, getResponseFn )
|
||||
{
|
||||
var async = !!callback;
|
||||
|
||||
var xhr = createXMLHttpRequest();
|
||||
|
||||
if ( !xhr )
|
||||
return null;
|
||||
|
||||
xhr.open( 'GET', url, async );
|
||||
|
||||
if ( async )
|
||||
{
|
||||
// TODO: perform leak checks on this closure.
|
||||
/** @ignore */
|
||||
xhr.onreadystatechange = function()
|
||||
{
|
||||
if ( xhr.readyState == 4 )
|
||||
{
|
||||
callback( getResponseFn( xhr ) );
|
||||
xhr = null;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
xhr.send(null);
|
||||
|
||||
return async ? '' : getResponseFn( xhr );
|
||||
};
|
||||
|
||||
return /** @lends CKEDITOR.ajax */ {
|
||||
|
||||
/**
|
||||
* Loads data from an URL as plain text.
|
||||
* @param {String} url The URL from which load data.
|
||||
* @param {Function} [callback] A callback function to be called on
|
||||
* data load. If not provided, the data will be loaded
|
||||
* asynchronously, passing the data value the function on load.
|
||||
* @returns {String} The loaded data. For asynchronous requests, an
|
||||
* empty string. For invalid requests, null.
|
||||
* @example
|
||||
* // Load data synchronously.
|
||||
* var data = CKEDITOR.ajax.load( 'somedata.txt' );
|
||||
* alert( data );
|
||||
* @example
|
||||
* // Load data asynchronously.
|
||||
* var data = CKEDITOR.ajax.load( 'somedata.txt', function( data )
|
||||
* {
|
||||
* alert( data );
|
||||
* } );
|
||||
*/
|
||||
load : function( url, callback )
|
||||
{
|
||||
return load( url, callback, getResponseText );
|
||||
},
|
||||
|
||||
/**
|
||||
* Loads data from an URL as XML.
|
||||
* @param {String} url The URL from which load data.
|
||||
* @param {Function} [callback] A callback function to be called on
|
||||
* data load. If not provided, the data will be loaded
|
||||
* asynchronously, passing the data value the function on load.
|
||||
* @returns {CKEDITOR.xml} An XML object holding the loaded data. For asynchronous requests, an
|
||||
* empty string. For invalid requests, null.
|
||||
* @example
|
||||
* // Load XML synchronously.
|
||||
* var xml = CKEDITOR.ajax.loadXml( 'somedata.xml' );
|
||||
* alert( xml.getInnerXml( '//' ) );
|
||||
* @example
|
||||
* // Load XML asynchronously.
|
||||
* var data = CKEDITOR.ajax.loadXml( 'somedata.xml', function( xml )
|
||||
* {
|
||||
* alert( xml.getInnerXml( '//' ) );
|
||||
* } );
|
||||
*/
|
||||
loadXml : function( url, callback )
|
||||
{
|
||||
return load( url, callback, getResponseXml );
|
||||
}
|
||||
};
|
||||
})();
|
103
phpgwapi/js/ckeditor3/_source/core/ckeditor.js
vendored
Normal file
103
phpgwapi/js/ckeditor3/_source/core/ckeditor.js
vendored
Normal file
@ -0,0 +1,103 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Contains the third and last part of the {@link CKEDITOR} object
|
||||
* definition.
|
||||
*/
|
||||
|
||||
// Remove the CKEDITOR.loadFullCore reference defined on ckeditor_basic.
|
||||
delete CKEDITOR.loadFullCore;
|
||||
|
||||
/**
|
||||
* Holds references to all editor instances created. The name of the properties
|
||||
* in this object correspond to instance names, and their values contains the
|
||||
* {@link CKEDITOR.editor} object representing them.
|
||||
* @type {Object}
|
||||
* @example
|
||||
* alert( <b>CKEDITOR.instances</b>.editor1.name ); // "editor1"
|
||||
*/
|
||||
CKEDITOR.instances = {};
|
||||
|
||||
/**
|
||||
* The document of the window holding the CKEDITOR object.
|
||||
* @type {CKEDITOR.dom.document}
|
||||
* @example
|
||||
* alert( <b>CKEDITOR.document</b>.getBody().getName() ); // "body"
|
||||
*/
|
||||
CKEDITOR.document = new CKEDITOR.dom.document( document );
|
||||
|
||||
/**
|
||||
* Adds an editor instance to the global {@link CKEDITOR} object. This function
|
||||
* is available for internal use mainly.
|
||||
* @param {CKEDITOR.editor} editor The editor instance to be added.
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.add = function( editor )
|
||||
{
|
||||
CKEDITOR.instances[ editor.name ] = editor;
|
||||
|
||||
editor.on( 'focus', function()
|
||||
{
|
||||
if ( CKEDITOR.currentInstance != editor )
|
||||
{
|
||||
CKEDITOR.currentInstance = editor;
|
||||
CKEDITOR.fire( 'currentInstance' );
|
||||
}
|
||||
});
|
||||
|
||||
editor.on( 'blur', function()
|
||||
{
|
||||
if ( CKEDITOR.currentInstance == editor )
|
||||
{
|
||||
CKEDITOR.currentInstance = null;
|
||||
CKEDITOR.fire( 'currentInstance' );
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Removes and editor instance from the global {@link CKEDITOR} object. his function
|
||||
* is available for internal use mainly.
|
||||
* @param {CKEDITOR.editor} editor The editor instance to be added.
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.remove = function( editor )
|
||||
{
|
||||
delete CKEDITOR.instances[ editor.name ];
|
||||
};
|
||||
|
||||
// Load the bootstrap script.
|
||||
CKEDITOR.loader.load( 'core/_bootstrap' ); // @Packager.RemoveLine
|
||||
|
||||
// Tri-state constants.
|
||||
|
||||
/**
|
||||
* Used to indicate the ON or ACTIVE state.
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.TRISTATE_ON = 1;
|
||||
|
||||
/**
|
||||
* Used to indicate the OFF or NON ACTIVE state.
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.TRISTATE_OFF = 2;
|
||||
|
||||
/**
|
||||
* Used to indicate DISABLED state.
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.TRISTATE_DISABLED = 0;
|
||||
|
||||
/**
|
||||
* Fired when the CKEDITOR.currentInstance object reference changes. This may
|
||||
* happen when setting the focus on different editor instances in the page.
|
||||
* @name CKEDITOR#currentInstance
|
||||
* @event
|
||||
*/
|
193
phpgwapi/js/ckeditor3/_source/core/ckeditor_base.js
Normal file
193
phpgwapi/js/ckeditor3/_source/core/ckeditor_base.js
Normal file
@ -0,0 +1,193 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Contains the first and essential part of the {@link CKEDITOR}
|
||||
* object definition.
|
||||
*/
|
||||
|
||||
// #### Compressed Code
|
||||
// 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.2.1',rev:'5372',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/')d+=(d.indexOf('?')>=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.
|
||||
|
||||
if ( !window.CKEDITOR )
|
||||
{
|
||||
/**
|
||||
* This is the API entry point. The entire CKEditor code runs under this object.
|
||||
* @name CKEDITOR
|
||||
* @namespace
|
||||
* @example
|
||||
*/
|
||||
window.CKEDITOR = (function()
|
||||
{
|
||||
var CKEDITOR =
|
||||
/** @lends CKEDITOR */
|
||||
{
|
||||
|
||||
/**
|
||||
* A constant string unique for each release of CKEditor. Its value
|
||||
* is used, by default, to build the URL for all resources loaded
|
||||
* by the editor code, guaranteing clean cache results when
|
||||
* upgrading.
|
||||
* @type String
|
||||
* @example
|
||||
* alert( CKEDITOR.timestamp ); // e.g. '87dm'
|
||||
*/
|
||||
// The production implementation contains a fixed timestamp, unique
|
||||
// for each release, generated by the releaser.
|
||||
// (Base 36 value of each component of YYMMDDHH - 4 chars total - e.g. 87bm == 08071122)
|
||||
timestamp : 'A39E',
|
||||
|
||||
/**
|
||||
* Contains the CKEditor version number.
|
||||
* @type String
|
||||
* @example
|
||||
* alert( CKEDITOR.version ); // e.g. 'CKEditor 3.0 Beta'
|
||||
*/
|
||||
version : '3.2.1',
|
||||
|
||||
/**
|
||||
* Contains the CKEditor revision number.
|
||||
* Revision number is incremented automatically after each modification of CKEditor source code.
|
||||
* @type String
|
||||
* @example
|
||||
* alert( CKEDITOR.revision ); // e.g. '3975'
|
||||
*/
|
||||
revision : '5372',
|
||||
|
||||
/**
|
||||
* Private object used to hold core stuff. It should not be used out of
|
||||
* the API code as properties defined here may change at any time
|
||||
* without notice.
|
||||
* @private
|
||||
*/
|
||||
_ : {},
|
||||
|
||||
/**
|
||||
* Indicates the API loading status. The following status are available:
|
||||
* <ul>
|
||||
* <li><b>unloaded</b>: the API is not yet loaded.</li>
|
||||
* <li><b>basic_loaded</b>: the basic API features are available.</li>
|
||||
* <li><b>basic_ready</b>: the basic API is ready to load the full core code.</li>
|
||||
* <li><b>loading</b>: the full API is being loaded.</li>
|
||||
* <li><b>ready</b>: the API can be fully used.</li>
|
||||
* </ul>
|
||||
* @type String
|
||||
* @example
|
||||
* if ( <b>CKEDITOR.status</b> == 'ready' )
|
||||
* {
|
||||
* // The API can now be fully used.
|
||||
* }
|
||||
*/
|
||||
status : 'unloaded',
|
||||
|
||||
/**
|
||||
* Contains the full URL for the CKEditor installation directory.
|
||||
* It's possible to manually provide the base path by setting a
|
||||
* global variable named CKEDITOR_BASEPATH. This global variable
|
||||
* must be set "before" the editor script loading.
|
||||
* @type String
|
||||
* @example
|
||||
* alert( <b>CKEDITOR.basePath</b> ); // "http://www.example.com/ckeditor/" (e.g.)
|
||||
*/
|
||||
basePath : (function()
|
||||
{
|
||||
// ATTENTION: fixes on this code must be ported to
|
||||
// var basePath in "core/loader.js".
|
||||
|
||||
// Find out the editor directory path, based on its <script> tag.
|
||||
var path = window.CKEDITOR_BASEPATH || '';
|
||||
|
||||
if ( !path )
|
||||
{
|
||||
var scripts = document.getElementsByTagName( 'script' );
|
||||
|
||||
for ( var i = 0 ; i < scripts.length ; i++ )
|
||||
{
|
||||
var match = scripts[i].src.match( /(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i );
|
||||
|
||||
if ( match )
|
||||
{
|
||||
path = match[1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// In IE (only) the script.src string is the raw valued entered in the
|
||||
// HTML. Other browsers return the full resolved URL instead.
|
||||
if ( path.indexOf('://') == -1 )
|
||||
{
|
||||
// Absolute path.
|
||||
if ( path.indexOf( '/' ) === 0 )
|
||||
path = location.href.match( /^.*?:\/\/[^\/]*/ )[0] + path;
|
||||
// Relative path.
|
||||
else
|
||||
path = location.href.match( /^[^\?]*\/(?:)/ )[0] + path;
|
||||
}
|
||||
|
||||
if ( !path )
|
||||
throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';
|
||||
|
||||
return path;
|
||||
})(),
|
||||
|
||||
/**
|
||||
* Gets the full URL for CKEditor resources. By default, URLs
|
||||
* returned by this function contains a querystring parameter ("t")
|
||||
* set to the {@link CKEDITOR.timestamp} value.
|
||||
* It's possible to provide a custom implementation to this
|
||||
* function by setting a global variable named CKEDITOR_GETURL.
|
||||
* This global variable must be set "before" the editor script
|
||||
* loading. If the custom implementation returns nothing, the
|
||||
* default implementation is used.
|
||||
* @returns {String} The full URL.
|
||||
* @example
|
||||
* // e.g. http://www.example.com/ckeditor/skins/default/editor.css?t=87dm
|
||||
* alert( CKEDITOR.getUrl( 'skins/default/editor.css' ) );
|
||||
* @example
|
||||
* // e.g. http://www.example.com/skins/default/editor.css?t=87dm
|
||||
* alert( CKEDITOR.getUrl( '/skins/default/editor.css' ) );
|
||||
* @example
|
||||
* // e.g. http://www.somesite.com/skins/default/editor.css?t=87dm
|
||||
* alert( CKEDITOR.getUrl( 'http://www.somesite.com/skins/default/editor.css' ) );
|
||||
*/
|
||||
getUrl : function( resource )
|
||||
{
|
||||
// If this is not a full or absolute path.
|
||||
if ( resource.indexOf('://') == -1 && resource.indexOf( '/' ) !== 0 )
|
||||
resource = this.basePath + resource;
|
||||
|
||||
// Add the timestamp, except for directories.
|
||||
if ( this.timestamp && resource.charAt( resource.length - 1 ) != '/' )
|
||||
resource += ( resource.indexOf( '?' ) >= 0 ? '&' : '?' ) + 't=' + this.timestamp;
|
||||
|
||||
return resource;
|
||||
}
|
||||
};
|
||||
|
||||
// Make it possible to override the getUrl function with a custom
|
||||
// implementation pointing to a global named CKEDITOR_GETURL.
|
||||
var newGetUrl = window.CKEDITOR_GETURL;
|
||||
if ( newGetUrl )
|
||||
{
|
||||
var originalGetUrl = CKEDITOR.getUrl;
|
||||
CKEDITOR.getUrl = function ( resource )
|
||||
{
|
||||
return newGetUrl.call( CKEDITOR, resource ) ||
|
||||
originalGetUrl.call( CKEDITOR, resource );
|
||||
};
|
||||
}
|
||||
|
||||
return CKEDITOR;
|
||||
})();
|
||||
}
|
||||
|
||||
// PACKAGER_RENAME( CKEDITOR )
|
242
phpgwapi/js/ckeditor3/_source/core/ckeditor_basic.js
Normal file
242
phpgwapi/js/ckeditor3/_source/core/ckeditor_basic.js
Normal file
@ -0,0 +1,242 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Contains the second part of the {@link CKEDITOR} object
|
||||
* definition, which defines the basic editor features to be available in
|
||||
* the root ckeditor_basic.js file.
|
||||
*/
|
||||
|
||||
if ( CKEDITOR.status == 'unloaded' )
|
||||
{
|
||||
(function()
|
||||
{
|
||||
CKEDITOR.event.implementOn( CKEDITOR );
|
||||
|
||||
/**
|
||||
* Forces the full CKEditor core code, in the case only the basic code has been
|
||||
* loaded (ckeditor_basic.js). This method self-destroys (becomes undefined) in
|
||||
* the first call or as soon as the full code is available.
|
||||
* @example
|
||||
* // Check if the full core code has been loaded and load it.
|
||||
* if ( CKEDITOR.loadFullCore )
|
||||
* <b>CKEDITOR.loadFullCore()</b>;
|
||||
*/
|
||||
CKEDITOR.loadFullCore = function()
|
||||
{
|
||||
// If not the basic code is not ready it, just mark it to be loaded.
|
||||
if ( CKEDITOR.status != 'basic_ready' )
|
||||
{
|
||||
CKEDITOR.loadFullCore._load = true;
|
||||
return;
|
||||
}
|
||||
|
||||
// Destroy this function.
|
||||
delete CKEDITOR.loadFullCore;
|
||||
|
||||
// Append the script to the head.
|
||||
var script = document.createElement( 'script' );
|
||||
script.type = 'text/javascript';
|
||||
script.src = CKEDITOR.basePath + 'ckeditor.js';
|
||||
|
||||
document.getElementsByTagName( 'head' )[0].appendChild( script );
|
||||
};
|
||||
|
||||
/**
|
||||
* The time to wait (in seconds) to load the full editor code after the
|
||||
* page load, if the "ckeditor_basic" file is used. If set to zero, the
|
||||
* editor is loaded on demand, as soon as an instance is created.
|
||||
*
|
||||
* This value must be set on the page before the page load completion.
|
||||
* @type Number
|
||||
* @default 0 (zero)
|
||||
* @example
|
||||
* // Loads the full source after five seconds.
|
||||
* CKEDITOR.loadFullCoreTimeout = 5;
|
||||
*/
|
||||
CKEDITOR.loadFullCoreTimeout = 0;
|
||||
|
||||
/**
|
||||
* The class name used to identify <textarea> elements to be replace
|
||||
* by CKEditor instances.
|
||||
* @type String
|
||||
* @default 'ckeditor'
|
||||
* @example
|
||||
* <b>CKEDITOR.replaceClass</b> = 'rich_editor';
|
||||
*/
|
||||
CKEDITOR.replaceClass = 'ckeditor';
|
||||
|
||||
/**
|
||||
* Enables the replacement of all textareas with class name matching
|
||||
* {@link CKEDITOR.replaceClass}.
|
||||
* @type Boolean
|
||||
* @default true
|
||||
* @example
|
||||
* // Disable the auto-replace feature.
|
||||
* <b>CKEDITOR.replaceByClassEnabled</b> = false;
|
||||
*/
|
||||
CKEDITOR.replaceByClassEnabled = true;
|
||||
|
||||
var createInstance = function( elementOrIdOrName, config, creationFunction, data )
|
||||
{
|
||||
if ( CKEDITOR.env.isCompatible )
|
||||
{
|
||||
// Load the full core.
|
||||
if ( CKEDITOR.loadFullCore )
|
||||
CKEDITOR.loadFullCore();
|
||||
|
||||
var editor = creationFunction( elementOrIdOrName, config, data );
|
||||
CKEDITOR.add( editor );
|
||||
return editor;
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
/**
|
||||
* Replaces a <textarea> or a DOM element (DIV) with a CKEditor
|
||||
* instance. For textareas, the initial value in the editor will be the
|
||||
* textarea value. For DOM elements, their innerHTML will be used
|
||||
* instead. We recommend using TEXTAREA and DIV elements only.
|
||||
* @param {Object|String} elementOrIdOrName The DOM element (textarea), its
|
||||
* ID or name.
|
||||
* @param {Object} [config] The specific configurations to apply to this
|
||||
* editor instance. Configurations set here will override global CKEditor
|
||||
* settings.
|
||||
* @returns {CKEDITOR.editor} The editor instance created.
|
||||
* @example
|
||||
* <textarea id="myfield" name="myfield"><:/textarea>
|
||||
* ...
|
||||
* <b>CKEDITOR.replace( 'myfield' )</b>;
|
||||
* @example
|
||||
* var textarea = document.body.appendChild( document.createElement( 'textarea' ) );
|
||||
* <b>CKEDITOR.replace( textarea )</b>;
|
||||
*/
|
||||
CKEDITOR.replace = function( elementOrIdOrName, config )
|
||||
{
|
||||
return createInstance( elementOrIdOrName, config, CKEDITOR.editor.replace );
|
||||
};
|
||||
|
||||
/**
|
||||
* Creates a new editor instance inside a specific DOM element.
|
||||
* @param {Object|String} elementOrId The DOM element or its ID.
|
||||
* @param {Object} [config] The specific configurations to apply to this
|
||||
* editor instance. Configurations set here will override global CKEditor
|
||||
* settings.
|
||||
* @param {String} [data] Since 3.3. Initial value for the instance.
|
||||
* @returns {CKEDITOR.editor} The editor instance created.
|
||||
* @example
|
||||
* <div id="editorSpace"><:/div>
|
||||
* ...
|
||||
* <b>CKEDITOR.appendTo( 'editorSpace' )</b>;
|
||||
*/
|
||||
CKEDITOR.appendTo = function( elementOrId, config, data )
|
||||
{
|
||||
return createInstance( elementOrId, config, CKEDITOR.editor.appendTo, data );
|
||||
};
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
* Documented at ckeditor.js.
|
||||
*/
|
||||
CKEDITOR.add = function( editor )
|
||||
{
|
||||
// For now, just put the editor in the pending list. It will be
|
||||
// processed as soon as the full code gets loaded.
|
||||
var pending = this._.pending || ( this._.pending = [] );
|
||||
pending.push( editor );
|
||||
};
|
||||
|
||||
/**
|
||||
* Replace all <textarea> elements available in the document with
|
||||
* editor instances.
|
||||
* @example
|
||||
* // Replace all <textarea> elements in the page.
|
||||
* CKEDITOR.replaceAll();
|
||||
* @example
|
||||
* // Replace all <textarea class="myClassName"> elements in the page.
|
||||
* CKEDITOR.replaceAll( 'myClassName' );
|
||||
* @example
|
||||
* // Selectively replace <textarea> elements, based on custom assertions.
|
||||
* CKEDITOR.replaceAll( function( textarea, config )
|
||||
* {
|
||||
* // Custom code to evaluate the replace, returning false
|
||||
* // if it must not be done.
|
||||
* // It also passes the "config" parameter, so the
|
||||
* // developer can customize the instance.
|
||||
* } );
|
||||
*/
|
||||
CKEDITOR.replaceAll = function()
|
||||
{
|
||||
var textareas = document.getElementsByTagName( 'textarea' );
|
||||
|
||||
for ( var i = 0 ; i < textareas.length ; i++ )
|
||||
{
|
||||
var config = null;
|
||||
var textarea = textareas[i];
|
||||
var name = textarea.name;
|
||||
|
||||
// The "name" and/or "id" attribute must exist.
|
||||
if ( !textarea.name && !textarea.id )
|
||||
continue;
|
||||
|
||||
if ( typeof arguments[0] == 'string' )
|
||||
{
|
||||
// The textarea class name could be passed as the function
|
||||
// parameter.
|
||||
|
||||
var classRegex = new RegExp( '(?:^| )' + arguments[0] + '(?:$| )' );
|
||||
|
||||
if ( !classRegex.test( textarea.className ) )
|
||||
continue;
|
||||
}
|
||||
else if ( typeof arguments[0] == 'function' )
|
||||
{
|
||||
// An assertion function could be passed as the function parameter.
|
||||
// It must explicitly return "false" to ignore a specific <textarea>.
|
||||
config = {};
|
||||
if ( arguments[0]( textarea, config ) === false )
|
||||
continue;
|
||||
}
|
||||
|
||||
this.replace( textarea, config );
|
||||
}
|
||||
};
|
||||
|
||||
(function()
|
||||
{
|
||||
var onload = function()
|
||||
{
|
||||
var loadFullCore = CKEDITOR.loadFullCore,
|
||||
loadFullCoreTimeout = CKEDITOR.loadFullCoreTimeout;
|
||||
|
||||
// Replace all textareas with the default class name.
|
||||
if ( CKEDITOR.replaceByClassEnabled )
|
||||
CKEDITOR.replaceAll( CKEDITOR.replaceClass );
|
||||
|
||||
CKEDITOR.status = 'basic_ready';
|
||||
|
||||
if ( loadFullCore && loadFullCore._load )
|
||||
loadFullCore();
|
||||
else if ( loadFullCoreTimeout )
|
||||
{
|
||||
setTimeout( function()
|
||||
{
|
||||
if ( CKEDITOR.loadFullCore )
|
||||
CKEDITOR.loadFullCore();
|
||||
}
|
||||
, loadFullCoreTimeout * 1000 );
|
||||
}
|
||||
};
|
||||
|
||||
if ( window.addEventListener )
|
||||
window.addEventListener( 'load', onload, false );
|
||||
else if ( window.attachEvent )
|
||||
window.attachEvent( 'onload', onload );
|
||||
})();
|
||||
|
||||
CKEDITOR.status = 'basic_loaded';
|
||||
})();
|
||||
}
|
73
phpgwapi/js/ckeditor3/_source/core/command.js
Normal file
73
phpgwapi/js/ckeditor3/_source/core/command.js
Normal file
@ -0,0 +1,73 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
CKEDITOR.command = function( editor, commandDefinition )
|
||||
{
|
||||
this.uiItems = [];
|
||||
|
||||
this.exec = function( data )
|
||||
{
|
||||
if ( this.state == CKEDITOR.TRISTATE_DISABLED )
|
||||
return false;
|
||||
|
||||
if ( this.editorFocus ) // Give editor focus if necessary (#4355).
|
||||
editor.focus();
|
||||
|
||||
return ( commandDefinition.exec.call( this, editor, data ) !== false );
|
||||
};
|
||||
|
||||
CKEDITOR.tools.extend( this, commandDefinition,
|
||||
// Defaults
|
||||
{
|
||||
modes : { wysiwyg : 1 },
|
||||
editorFocus : true,
|
||||
state : CKEDITOR.TRISTATE_OFF
|
||||
});
|
||||
|
||||
// Call the CKEDITOR.event constructor to initialize this instance.
|
||||
CKEDITOR.event.call( this );
|
||||
};
|
||||
|
||||
CKEDITOR.command.prototype =
|
||||
{
|
||||
enable : function()
|
||||
{
|
||||
if ( this.state == CKEDITOR.TRISTATE_DISABLED )
|
||||
this.setState( ( !this.preserveState || ( typeof this.previousState == 'undefined' ) ) ? CKEDITOR.TRISTATE_OFF : this.previousState );
|
||||
},
|
||||
|
||||
disable : function()
|
||||
{
|
||||
this.setState( CKEDITOR.TRISTATE_DISABLED );
|
||||
},
|
||||
|
||||
setState : function( newState )
|
||||
{
|
||||
// Do nothing if there is no state change.
|
||||
if ( this.state == newState )
|
||||
return false;
|
||||
|
||||
this.previousState = this.state;
|
||||
|
||||
// Set the new state.
|
||||
this.state = newState;
|
||||
|
||||
// Fire the "state" event, so other parts of the code can react to the
|
||||
// change.
|
||||
this.fire( 'state' );
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
toggleState : function()
|
||||
{
|
||||
if ( this.state == CKEDITOR.TRISTATE_OFF )
|
||||
this.setState( CKEDITOR.TRISTATE_ON );
|
||||
else if ( this.state == CKEDITOR.TRISTATE_ON )
|
||||
this.setState( CKEDITOR.TRISTATE_OFF );
|
||||
}
|
||||
};
|
||||
|
||||
CKEDITOR.event.implementOn( CKEDITOR.command.prototype, true );
|
102
phpgwapi/js/ckeditor3/_source/core/commanddefinition.js
Normal file
102
phpgwapi/js/ckeditor3/_source/core/commanddefinition.js
Normal file
@ -0,0 +1,102 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the "virtual" {@link CKEDITOR.commandDefinition} class,
|
||||
* which contains the defintion of a command. This file is for
|
||||
* documentation purposes only.
|
||||
*/
|
||||
|
||||
/**
|
||||
* (Virtual Class) Do not call this constructor. This class is not really part
|
||||
* of the API. It just illustrates the features of command objects to be
|
||||
* passed to the {@link CKEDITOR.editor.prototype.addCommand} function.
|
||||
* @name CKEDITOR.commandDefinition
|
||||
* @constructor
|
||||
* @example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Executes the command.
|
||||
* @name CKEDITOR.commandDefinition.prototype.exec
|
||||
* @function
|
||||
* @param {CKEDITOR.editor} editor The editor within which run the command.
|
||||
* @param {Object} [data] Additional data to be used to execute the command.
|
||||
* @returns {Boolean} Whether the command has been successfully executed.
|
||||
* Defaults to "true", if nothing is returned.
|
||||
* @example
|
||||
* editorInstance.addCommand( 'sample',
|
||||
* {
|
||||
* exec : function( editor )
|
||||
* {
|
||||
* alert( 'Executing a command for the editor name "' + editor.name + '"!' );
|
||||
* }
|
||||
* });
|
||||
*/
|
||||
|
||||
/**
|
||||
* Whether the command need to be hooked into the redo/undo system.
|
||||
* @name CKEDITOR.commandDefinition.canUndo
|
||||
* @type {Boolean} If not defined or 'true' both hook into undo system, set it
|
||||
* to 'false' explicitly keep it out.
|
||||
* @field
|
||||
* @example
|
||||
* editorInstance.addCommand( 'alertName',
|
||||
* {
|
||||
* exec : function( editor )
|
||||
* {
|
||||
* alert( editor.name );
|
||||
* },
|
||||
* canUndo : false // No support for undo/redo
|
||||
* });
|
||||
*/
|
||||
|
||||
/**
|
||||
* Whether the command is asynchronous, which means the 'afterCommandExec' event
|
||||
* will be fired by the command itself manually, and the 'exec' function return value
|
||||
* of this command is not to be returned.
|
||||
* @name CKEDITOR.commandDefinition.async
|
||||
* @type {Boolean} If defined as 'true', the command is asynchronous.
|
||||
* @example
|
||||
* editorInstance.addCommand( 'alertName',
|
||||
* {
|
||||
* exec : function( editor )
|
||||
* {
|
||||
* // Asynchronous operation below.
|
||||
* CKEDITOR.ajax.loadXml( 'data.xml' );
|
||||
* },
|
||||
* async : true // The command need some time to complete after exec function returns.
|
||||
* });
|
||||
*/
|
||||
|
||||
/**
|
||||
* Whether the command should give focus to the editor before execution.
|
||||
* @name CKEDITOR.commandDefinition.editorFocus
|
||||
* @type {Boolean}
|
||||
* @example
|
||||
* editorInstance.addCommand( 'maximize',
|
||||
* {
|
||||
* exec : function( editor )
|
||||
* {
|
||||
* },
|
||||
* editorFocus : false // The command doesn't require focusing the editing document.
|
||||
* });
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Whether the command state should be set to {@link CKEDITOR.TRISTATE_DISABLED} on startup.
|
||||
* @name CKEDITOR.commandDefinition.startDisabled
|
||||
* @type {Boolean}
|
||||
* @default false
|
||||
* @example
|
||||
* editorInstance.addCommand( 'unlink',
|
||||
* {
|
||||
* exec : function( editor )
|
||||
* {
|
||||
* },
|
||||
* startDisabled : true // Command is unavailable until selection is inside a link.
|
||||
* });
|
||||
*/
|
319
phpgwapi/js/ckeditor3/_source/core/config.js
Normal file
319
phpgwapi/js/ckeditor3/_source/core/config.js
Normal file
@ -0,0 +1,319 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.config} object, which holds the
|
||||
* default configuration settings.
|
||||
*/
|
||||
|
||||
CKEDITOR.ENTER_P = 1;
|
||||
CKEDITOR.ENTER_BR = 2;
|
||||
CKEDITOR.ENTER_DIV = 3;
|
||||
|
||||
/**
|
||||
* Holds the default configuration settings. Changes to this object are
|
||||
* reflected in all editor instances, if not specificaly specified for those
|
||||
* instances.
|
||||
* @namespace
|
||||
* @example
|
||||
* // All editor created after the following setting will not load custom
|
||||
* // configuration files.
|
||||
* CKEDITOR.config.customConfig = '';
|
||||
*/
|
||||
CKEDITOR.config =
|
||||
{
|
||||
/**
|
||||
* The URL path for the custom configuration file to be loaded. If not
|
||||
* overloaded with inline configurations, it defaults to the "config.js"
|
||||
* file present in the root of the CKEditor installation directory.<br /><br />
|
||||
*
|
||||
* CKEditor will recursively load custom configuration files defined inside
|
||||
* other custom configuration files.
|
||||
* @type String
|
||||
* @default '<CKEditor folder>/config.js'
|
||||
* @example
|
||||
* // Load a specific configuration file.
|
||||
* CKEDITOR.replace( 'myfiled', { customConfig : '/myconfig.js' } );
|
||||
* @example
|
||||
* // Do not load any custom configuration file.
|
||||
* CKEDITOR.replace( 'myfiled', { customConfig : '' } );
|
||||
*/
|
||||
customConfig : 'config.js',
|
||||
|
||||
/**
|
||||
* Whether the replaced element (usually a textarea) is to be updated
|
||||
* automatically when posting the form containing the editor.
|
||||
* @type Boolean
|
||||
* @default true
|
||||
* @example
|
||||
* config.autoUpdateElement = true;
|
||||
*/
|
||||
autoUpdateElement : true,
|
||||
|
||||
/**
|
||||
* The base href URL used to resolve relative and absolute URLs in the
|
||||
* editor content.
|
||||
* @type String
|
||||
* @default '' (empty string)
|
||||
* @example
|
||||
* config.baseHref = 'http://www.example.com/path/';
|
||||
*/
|
||||
baseHref : '',
|
||||
|
||||
/**
|
||||
* The CSS file(s) to be used to apply style to the contents. It should
|
||||
* reflect the CSS used in the final pages where the contents are to be
|
||||
* used.
|
||||
* @type String|Array
|
||||
* @default '<CKEditor folder>/contents.css'
|
||||
* @example
|
||||
* config.contentsCss = '/css/mysitestyles.css';
|
||||
* config.contentsCss = ['/css/mysitestyles.css', '/css/anotherfile.css'];
|
||||
*/
|
||||
contentsCss : CKEDITOR.basePath + 'contents.css',
|
||||
|
||||
/**
|
||||
* The writting direction of the language used to write the editor
|
||||
* contents. Allowed values are 'ltr' for Left-To-Right language (like
|
||||
* English), or 'rtl' for Right-To-Left languages (like Arabic).
|
||||
* @default 'ltr'
|
||||
* @type String
|
||||
* @example
|
||||
* config.contentsLangDirection = 'rtl';
|
||||
*/
|
||||
contentsLangDirection : 'ltr',
|
||||
|
||||
/**
|
||||
* The user interface language localization to use. If empty, the editor
|
||||
* automatically localize the editor to the user language, if supported,
|
||||
* otherwise the {@link CKEDITOR.config.defaultLanguage} language is used.
|
||||
* @default '' (empty)
|
||||
* @type String
|
||||
* @example
|
||||
* // Load the German interface.
|
||||
* config.language = 'de';
|
||||
*/
|
||||
language : '',
|
||||
|
||||
/**
|
||||
* The language to be used if {@link CKEDITOR.config.language} is left empty and it's not
|
||||
* possible to localize the editor to the user language.
|
||||
* @default 'en'
|
||||
* @type String
|
||||
* @example
|
||||
* config.defaultLanguage = 'it';
|
||||
*/
|
||||
defaultLanguage : 'en',
|
||||
|
||||
/**
|
||||
* Sets the behavior for the ENTER key. It also dictates other behaviour
|
||||
* rules in the editor, like whether the <br> element is to be used
|
||||
* as a paragraph separator when indenting text.
|
||||
* The allowed values are the following constants, and their relative
|
||||
* behavior:
|
||||
* <ul>
|
||||
* <li>{@link CKEDITOR.ENTER_P} (1): new <p> paragraphs are created;</li>
|
||||
* <li>{@link CKEDITOR.ENTER_BR} (2): lines are broken with <br> elements;</li>
|
||||
* <li>{@link CKEDITOR.ENTER_DIV} (3): new <div> blocks are created.</li>
|
||||
* </ul>
|
||||
* <strong>Note</strong>: It's recommended to use the
|
||||
* {@link CKEDITOR.ENTER_P} value because of its semantic value and
|
||||
* correctness. The editor is optimized for this value.
|
||||
* @type Number
|
||||
* @default {@link CKEDITOR.ENTER_P}
|
||||
* @example
|
||||
* // Not recommended.
|
||||
* config.enterMode = CKEDITOR.ENTER_BR;
|
||||
*/
|
||||
enterMode : CKEDITOR.ENTER_P,
|
||||
|
||||
/**
|
||||
* Force the respect of {@link CKEDITOR.config.enterMode} as line break regardless of the context,
|
||||
* E.g. If {@link CKEDITOR.config.enterMode} is set to {@link CKEDITOR.ENTER_P},
|
||||
* press enter key inside a 'div' will create a new paragraph with 'p' instead of 'div'.
|
||||
* @since 3.2.1
|
||||
* @default false
|
||||
* @example
|
||||
* // Not recommended.
|
||||
* config.forceEnterMode = true;
|
||||
*/
|
||||
forceEnterMode : false,
|
||||
|
||||
/**
|
||||
* Just like the {@link CKEDITOR.config.enterMode} setting, it defines the behavior for the SHIFT+ENTER key.
|
||||
* The allowed values are the following constants, and their relative
|
||||
* behavior:
|
||||
* <ul>
|
||||
* <li>{@link CKEDITOR.ENTER_P} (1): new <p> paragraphs are created;</li>
|
||||
* <li>{@link CKEDITOR.ENTER_BR} (2): lines are broken with <br> elements;</li>
|
||||
* <li>{@link CKEDITOR.ENTER_DIV} (3): new <div> blocks are created.</li>
|
||||
* </ul>
|
||||
* @type Number
|
||||
* @default {@link CKEDITOR.ENTER_BR}
|
||||
* @example
|
||||
* config.shiftEnterMode = CKEDITOR.ENTER_P;
|
||||
*/
|
||||
shiftEnterMode : CKEDITOR.ENTER_BR,
|
||||
|
||||
/**
|
||||
* A comma separated list of plugins that are not related to editor
|
||||
* instances. Reserved to plugins that extend the core code only.<br /><br />
|
||||
*
|
||||
* There are no ways to override this setting, except by editing the source
|
||||
* code of CKEditor (_source/core/config.js).
|
||||
* @type String
|
||||
* @example
|
||||
*/
|
||||
corePlugins : '',
|
||||
|
||||
/**
|
||||
* Sets the doctype to be used when loading the editor content as HTML.
|
||||
* @type String
|
||||
* @default '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
|
||||
* @example
|
||||
* // Set the doctype to the HTML 4 (quirks) mode.
|
||||
* config.docType = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
|
||||
*/
|
||||
docType : '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
|
||||
|
||||
/**
|
||||
* Sets the "id" attribute to be used on the body element of the editing
|
||||
* area.
|
||||
* @since 3.1
|
||||
* @type String
|
||||
* @default ''
|
||||
*/
|
||||
bodyId : '',
|
||||
|
||||
/**
|
||||
* Sets the "class" attribute to be used on the body element of the editing
|
||||
* area.
|
||||
* @since 3.1
|
||||
* @type String
|
||||
* @default ''
|
||||
*/
|
||||
bodyClass : '',
|
||||
|
||||
/**
|
||||
* Indicates whether the contents to be edited are being inputted as a full
|
||||
* HTML page. A full page includes the <html>, <head> and
|
||||
* <body> tags. The final output will also reflect this setting,
|
||||
* including the <body> contents only if this setting is disabled.
|
||||
* @since 3.1
|
||||
* @type Boolean
|
||||
* @default false
|
||||
* @example
|
||||
* config.fullPage = true;
|
||||
*/
|
||||
fullPage : false,
|
||||
|
||||
/**
|
||||
* The height of editing area( content ), in relative or absolute, e.g. 30px, 5em.
|
||||
* Note: Percentage unit is not supported yet. e.g. 30%.
|
||||
* @type Number|String
|
||||
* @default '200'
|
||||
* @example
|
||||
* config.height = 500;
|
||||
* config.height = '25em';
|
||||
* config.height = '300px';
|
||||
*/
|
||||
height : 200,
|
||||
|
||||
/**
|
||||
* Comma separated list of plugins to load and initialize for an editor
|
||||
* instance. This should be rarely changed, using instead the
|
||||
* {@link CKEDITOR.config.extraPlugins} and
|
||||
* {@link CKEDITOR.config.removePlugins} for customizations.
|
||||
* @type String
|
||||
* @example
|
||||
*/
|
||||
plugins : 'about,a11yhelp,basicstyles,blockquote,button,clipboard,colorbutton,colordialog,contextmenu,div,elementspath,enterkey,entities,filebrowser,find,flash,font,format,forms,horizontalrule,htmldataprocessor,image,indent,justify,keystrokes,link,list,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',
|
||||
|
||||
/**
|
||||
* List of additional plugins to be loaded. This is a tool setting which
|
||||
* makes it easier to add new plugins, whithout having to touch and
|
||||
* possibly breaking the {@link CKEDITOR.config.plugins} setting.
|
||||
* @type String
|
||||
* @example
|
||||
* config.extraPlugins = 'myplugin,anotherplugin';
|
||||
*/
|
||||
extraPlugins : '',
|
||||
|
||||
/**
|
||||
* List of plugins that must not be loaded. This is a tool setting which
|
||||
* makes it easier to avoid loading plugins definied in the
|
||||
* {@link CKEDITOR.config.plugins} setting, whithout having to touch it and
|
||||
* potentially breaking it.
|
||||
* @type String
|
||||
* @example
|
||||
* config.removePlugins = 'elementspath,save,font';
|
||||
*/
|
||||
removePlugins : '',
|
||||
|
||||
/**
|
||||
* List of regular expressions to be executed over the input HTML,
|
||||
* indicating code that must stay untouched.
|
||||
* @type Array
|
||||
* @default [] (empty array)
|
||||
* @example
|
||||
* config.protectedSource.push( /<\?[\s\S]*?\?>/g ); // PHP Code
|
||||
* config.protectedSource.push( /<%[\s\S]*?%>/g ); // ASP Code
|
||||
* config.protectedSource.push( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi ); // ASP.Net Code
|
||||
*/
|
||||
protectedSource : [],
|
||||
|
||||
/**
|
||||
* The editor tabindex value.
|
||||
* @type Number
|
||||
* @default 0 (zero)
|
||||
* @example
|
||||
* config.tabIndex = 1;
|
||||
*/
|
||||
tabIndex : 0,
|
||||
|
||||
/**
|
||||
* The theme to be used to build the UI.
|
||||
* @type String
|
||||
* @default 'default'
|
||||
* @see CKEDITOR.config.skin
|
||||
* @example
|
||||
* config.theme = 'default';
|
||||
*/
|
||||
theme : 'default',
|
||||
|
||||
/**
|
||||
* The skin to load. It may be the name of the skin folder inside the
|
||||
* editor installation path, or the name and the path separated by a comma.
|
||||
* @type String
|
||||
* @default 'default'
|
||||
* @example
|
||||
* config.skin = 'v2';
|
||||
* @example
|
||||
* config.skin = 'myskin,/customstuff/myskin/';
|
||||
*/
|
||||
skin : 'kama',
|
||||
|
||||
/**
|
||||
* The editor width in CSS size format or pixel integer.
|
||||
* @type String|Number
|
||||
* @default '' (empty)
|
||||
* @example
|
||||
* config.width = 850;
|
||||
* @example
|
||||
* config.width = '75%';
|
||||
*/
|
||||
width : '',
|
||||
|
||||
/**
|
||||
* The base Z-index for floating dialogs and popups.
|
||||
* @type Number
|
||||
* @default 10000
|
||||
* @example
|
||||
* config.baseFloatZIndex = 2000
|
||||
*/
|
||||
baseFloatZIndex : 10000
|
||||
};
|
||||
|
||||
// PACKAGER_RENAME( CKEDITOR.config )
|
66
phpgwapi/js/ckeditor3/_source/core/dataprocessor.js
Normal file
66
phpgwapi/js/ckeditor3/_source/core/dataprocessor.js
Normal file
@ -0,0 +1,66 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the "virtual" {@link CKEDITOR.dataProcessor} class, which
|
||||
* defines the basic structure of data processor objects to be
|
||||
* set to {@link CKEDITOR.editor.dataProcessor}.
|
||||
*/
|
||||
|
||||
/**
|
||||
* If defined, points to the data processor which is responsible to translate
|
||||
* and transform the editor data on input and output.
|
||||
* Generaly it will point to an instance of {@link CKEDITOR.htmlDataProcessor},
|
||||
* which handles HTML data. The editor may also handle other data formats by
|
||||
* using different data processors provided by specific plugins.
|
||||
* @name CKEDITOR.editor.dataProcessor
|
||||
* @type CKEDITOR.dataProcessor
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a data processor, which is responsible to translate and transform
|
||||
* the editor data on input and output.
|
||||
* This class is not really part of the API. It's here for documentation
|
||||
* purposes, and serves as the base ("interface") for data processors
|
||||
* implementation.
|
||||
* @name CKEDITOR.dataProcessor
|
||||
* @contructor
|
||||
* @example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Transforms input data into HTML to be loaded in the editor.
|
||||
* While the editor is able to handle non HTML data (like BBCode), at runtime
|
||||
* it can handle HTML data only. The role of the data processor is transforming
|
||||
* the input data into HTML through this function.
|
||||
* @name CKEDITOR.dataProcessor.prototype.toHtml
|
||||
* @function
|
||||
* @param {String} data The input data to be transformed.
|
||||
* @param {String} [fixForBody] The tag name to be used if the data must be
|
||||
* fixed because it is supposed to be loaded direcly into the <body>
|
||||
* tag. This is generally not used by non-HTML data processors.
|
||||
* @example
|
||||
* // Tranforming BBCode data, having a custom BBCode data processor.
|
||||
* var data = 'This is [b]an example[/b].';
|
||||
* var html = editor.dataProcessor.toHtml( data ); // '<p>This is <b>an example</b>.</p>'
|
||||
*/
|
||||
|
||||
/**
|
||||
* Transforms HTML into data to be outputted by the editor, in the format
|
||||
* expected by the data processor.
|
||||
* While the editor is able to handle non HTML data (like BBCode), at runtime
|
||||
* it can handle HTML data only. The role of the data processor is transforming
|
||||
* the HTML data containined by the editor into a specific data format through
|
||||
* this function.
|
||||
* @name CKEDITOR.dataProcessor.prototype.toDataFormat
|
||||
* @function
|
||||
* @param {String} html The HTML to be transformed.
|
||||
* @param {String} fixForBody The tag name to be used if the output data is
|
||||
* coming from <body> and may be eventually fixed for it. This is
|
||||
* generally not used by non-HTML data processors.
|
||||
* // Tranforming into BBCode data, having a custom BBCode data processor.
|
||||
* var html = '<p>This is <b>an example</b>.</p>';
|
||||
* var data = editor.dataProcessor.toDataFormat( html ); // 'This is [b]an example[/b].'
|
||||
*/
|
21
phpgwapi/js/ckeditor3/_source/core/dom.js
Normal file
21
phpgwapi/js/ckeditor3/_source/core/dom.js
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.dom} object, which contains DOM
|
||||
* manipulation objects and function.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DOM manipulation objects and function.<br /><br />
|
||||
* @see CKEDITOR.dom.element
|
||||
* @see CKEDITOR.dom.node
|
||||
* @namespace
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.dom =
|
||||
{};
|
||||
|
||||
// PACKAGER_RENAME( CKEDITOR.dom )
|
32
phpgwapi/js/ckeditor3/_source/core/dom/comment.js
Normal file
32
phpgwapi/js/ckeditor3/_source/core/dom/comment.js
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.dom.comment} class, which represents
|
||||
* a DOM comment node.
|
||||
*/
|
||||
|
||||
CKEDITOR.dom.comment = CKEDITOR.tools.createClass(
|
||||
{
|
||||
base : CKEDITOR.dom.node,
|
||||
|
||||
$ : function( text, ownerDocument )
|
||||
{
|
||||
if ( typeof text == 'string' )
|
||||
text = ( ownerDocument ? ownerDocument.$ : document ).createComment( text );
|
||||
|
||||
this.base( text );
|
||||
},
|
||||
|
||||
proto :
|
||||
{
|
||||
type : CKEDITOR.NODE_COMMENT,
|
||||
|
||||
getOuterHtml : function()
|
||||
{
|
||||
return '<!--' + this.$.nodeValue + '-->';
|
||||
}
|
||||
}
|
||||
});
|
224
phpgwapi/js/ckeditor3/_source/core/dom/document.js
Normal file
224
phpgwapi/js/ckeditor3/_source/core/dom/document.js
Normal file
@ -0,0 +1,224 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.dom.document} class, which
|
||||
* represents a DOM document.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a DOM document.
|
||||
* @constructor
|
||||
* @augments CKEDITOR.dom.domObject
|
||||
* @param {Object} domDocument A native DOM document.
|
||||
* @example
|
||||
* var document = new CKEDITOR.dom.document( document );
|
||||
*/
|
||||
CKEDITOR.dom.document = function( domDocument )
|
||||
{
|
||||
CKEDITOR.dom.domObject.call( this, domDocument );
|
||||
};
|
||||
|
||||
// PACKAGER_RENAME( CKEDITOR.dom.document )
|
||||
|
||||
CKEDITOR.dom.document.prototype = new CKEDITOR.dom.domObject();
|
||||
|
||||
CKEDITOR.tools.extend( CKEDITOR.dom.document.prototype,
|
||||
/** @lends CKEDITOR.dom.document.prototype */
|
||||
{
|
||||
/**
|
||||
* Appends a CSS file to the document.
|
||||
* @param {String} cssFileUrl The CSS file URL.
|
||||
* @example
|
||||
* <b>CKEDITOR.document.appendStyleSheet( '/mystyles.css' )</b>;
|
||||
*/
|
||||
appendStyleSheet : function( cssFileUrl )
|
||||
{
|
||||
if ( this.$.createStyleSheet )
|
||||
this.$.createStyleSheet( cssFileUrl );
|
||||
else
|
||||
{
|
||||
var link = new CKEDITOR.dom.element( 'link' );
|
||||
link.setAttributes(
|
||||
{
|
||||
rel :'stylesheet',
|
||||
type : 'text/css',
|
||||
href : cssFileUrl
|
||||
});
|
||||
|
||||
this.getHead().append( link );
|
||||
}
|
||||
},
|
||||
|
||||
appendStyleText : function( cssStyleText )
|
||||
{
|
||||
if ( this.$.createStyleSheet )
|
||||
{
|
||||
var styleSheet = this.$.createStyleSheet( "" );
|
||||
styleSheet.cssText = cssStyleText ;
|
||||
}
|
||||
else
|
||||
{
|
||||
var style = new CKEDITOR.dom.element( 'style', this );
|
||||
style.append( new CKEDITOR.dom.text( cssStyleText, this ) );
|
||||
this.getHead().append( style );
|
||||
}
|
||||
},
|
||||
|
||||
createElement : function( name, attribsAndStyles )
|
||||
{
|
||||
var element = new CKEDITOR.dom.element( name, this );
|
||||
|
||||
if ( attribsAndStyles )
|
||||
{
|
||||
if ( attribsAndStyles.attributes )
|
||||
element.setAttributes( attribsAndStyles.attributes );
|
||||
|
||||
if ( attribsAndStyles.styles )
|
||||
element.setStyles( attribsAndStyles.styles );
|
||||
}
|
||||
|
||||
return element;
|
||||
},
|
||||
|
||||
createText : function( text )
|
||||
{
|
||||
return new CKEDITOR.dom.text( text, this );
|
||||
},
|
||||
|
||||
focus : function()
|
||||
{
|
||||
this.getWindow().focus();
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets and element based on its id.
|
||||
* @param {String} elementId The element id.
|
||||
* @returns {CKEDITOR.dom.element} The element instance, or null if not found.
|
||||
* @example
|
||||
* var element = <b>CKEDITOR.document.getById( 'myElement' )</b>;
|
||||
* alert( element.getId() ); // "myElement"
|
||||
*/
|
||||
getById : function( elementId )
|
||||
{
|
||||
var $ = this.$.getElementById( elementId );
|
||||
return $ ? new CKEDITOR.dom.element( $ ) : null;
|
||||
},
|
||||
|
||||
getByAddress : function( address, normalized )
|
||||
{
|
||||
var $ = this.$.documentElement;
|
||||
|
||||
for ( var i = 0 ; $ && i < address.length ; i++ )
|
||||
{
|
||||
var target = address[ i ];
|
||||
|
||||
if ( !normalized )
|
||||
{
|
||||
$ = $.childNodes[ target ];
|
||||
continue;
|
||||
}
|
||||
|
||||
var currentIndex = -1;
|
||||
|
||||
for (var j = 0 ; j < $.childNodes.length ; j++ )
|
||||
{
|
||||
var candidate = $.childNodes[ j ];
|
||||
|
||||
if ( normalized === true &&
|
||||
candidate.nodeType == 3 &&
|
||||
candidate.previousSibling &&
|
||||
candidate.previousSibling.nodeType == 3 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
currentIndex++;
|
||||
|
||||
if ( currentIndex == target )
|
||||
{
|
||||
$ = candidate;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $ ? new CKEDITOR.dom.node( $ ) : null;
|
||||
},
|
||||
|
||||
getElementsByTag : function( tagName, namespace )
|
||||
{
|
||||
if ( !CKEDITOR.env.ie && namespace )
|
||||
tagName = namespace + ':' + tagName;
|
||||
return new CKEDITOR.dom.nodeList( this.$.getElementsByTagName( tagName ) );
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the <head> element for this document.
|
||||
* @returns {CKEDITOR.dom.element} The <head> element.
|
||||
* @example
|
||||
* var element = <b>CKEDITOR.document.getHead()</b>;
|
||||
* alert( element.getName() ); // "head"
|
||||
*/
|
||||
getHead : function()
|
||||
{
|
||||
var head = this.$.getElementsByTagName( 'head' )[0];
|
||||
head = new CKEDITOR.dom.element( head );
|
||||
|
||||
return (
|
||||
this.getHead = function()
|
||||
{
|
||||
return head;
|
||||
})();
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the <body> element for this document.
|
||||
* @returns {CKEDITOR.dom.element} The <body> element.
|
||||
* @example
|
||||
* var element = <b>CKEDITOR.document.getBody()</b>;
|
||||
* alert( element.getName() ); // "body"
|
||||
*/
|
||||
getBody : function()
|
||||
{
|
||||
var body = new CKEDITOR.dom.element( this.$.body );
|
||||
|
||||
return (
|
||||
this.getBody = function()
|
||||
{
|
||||
return body;
|
||||
})();
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the DOM document element for this document.
|
||||
* @returns {CKEDITOR.dom.element} The DOM document element.
|
||||
*/
|
||||
getDocumentElement : function()
|
||||
{
|
||||
var documentElement = new CKEDITOR.dom.element( this.$.documentElement );
|
||||
|
||||
return (
|
||||
this.getDocumentElement = function()
|
||||
{
|
||||
return documentElement;
|
||||
})();
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the window object that holds this document.
|
||||
* @returns {CKEDITOR.dom.window} The window object.
|
||||
*/
|
||||
getWindow : function()
|
||||
{
|
||||
var win = new CKEDITOR.dom.window( this.$.parentWindow || this.$.defaultView );
|
||||
|
||||
return (
|
||||
this.getWindow = function()
|
||||
{
|
||||
return win;
|
||||
})();
|
||||
}
|
||||
});
|
49
phpgwapi/js/ckeditor3/_source/core/dom/documentfragment.js
Normal file
49
phpgwapi/js/ckeditor3/_source/core/dom/documentfragment.js
Normal file
@ -0,0 +1,49 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
/**
|
||||
* DocumentFragment is a "lightweight" or "minimal" Document object. It is
|
||||
* commonly used to extract a portion of a document's tree or to create a new
|
||||
* fragment of a document. Various operations may take DocumentFragment objects
|
||||
* as arguments and results in all the child nodes of the DocumentFragment being
|
||||
* moved to the child list of this node.
|
||||
*
|
||||
* @param {Object} ownerDocument
|
||||
*/
|
||||
CKEDITOR.dom.documentFragment = function( ownerDocument )
|
||||
{
|
||||
ownerDocument = ownerDocument || CKEDITOR.document;
|
||||
this.$ = ownerDocument.$.createDocumentFragment();
|
||||
};
|
||||
|
||||
CKEDITOR.tools.extend( CKEDITOR.dom.documentFragment.prototype,
|
||||
CKEDITOR.dom.element.prototype,
|
||||
{
|
||||
type : CKEDITOR.NODE_DOCUMENT_FRAGMENT,
|
||||
insertAfterNode : function( node )
|
||||
{
|
||||
node = node.$;
|
||||
node.parentNode.insertBefore( this.$, node.nextSibling );
|
||||
}
|
||||
},
|
||||
true,
|
||||
{
|
||||
'append' : 1,
|
||||
'appendBogus' : 1,
|
||||
'getFirst' : 1,
|
||||
'getLast' : 1,
|
||||
'appendTo' : 1,
|
||||
'moveChildren' : 1,
|
||||
'insertBefore' : 1,
|
||||
'insertAfterNode' : 1,
|
||||
'replace' : 1,
|
||||
'trim' : 1,
|
||||
'type' : 1,
|
||||
'ltrim' : 1,
|
||||
'rtrim' : 1,
|
||||
'getDocument' : 1,
|
||||
'getChildCount' : 1,
|
||||
'getChild' : 1,
|
||||
'getChildren' : 1
|
||||
} );
|
246
phpgwapi/js/ckeditor3/_source/core/dom/domobject.js
Normal file
246
phpgwapi/js/ckeditor3/_source/core/dom/domobject.js
Normal file
@ -0,0 +1,246 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.editor} class, which is the base
|
||||
* for other classes representing DOM objects.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a DOM object. This class is not intended to be used directly. It
|
||||
* serves as the base class for other classes representing specific DOM
|
||||
* objects.
|
||||
* @constructor
|
||||
* @param {Object} nativeDomObject A native DOM object.
|
||||
* @augments CKEDITOR.event
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.dom.domObject = function( nativeDomObject )
|
||||
{
|
||||
if ( nativeDomObject )
|
||||
{
|
||||
/**
|
||||
* The native DOM object represented by this class instance.
|
||||
* @type Object
|
||||
* @example
|
||||
* var element = new CKEDITOR.dom.element( 'span' );
|
||||
* alert( element.$.nodeType ); // "1"
|
||||
*/
|
||||
this.$ = nativeDomObject;
|
||||
}
|
||||
};
|
||||
|
||||
CKEDITOR.dom.domObject.prototype = (function()
|
||||
{
|
||||
// Do not define other local variables here. We want to keep the native
|
||||
// listener closures as clean as possible.
|
||||
|
||||
var getNativeListener = function( domObject, eventName )
|
||||
{
|
||||
return function( domEvent )
|
||||
{
|
||||
// In FF, when reloading the page with the editor focused, it may
|
||||
// throw an error because the CKEDITOR global is not anymore
|
||||
// available. So, we check it here first. (#2923)
|
||||
if ( typeof CKEDITOR != 'undefined' )
|
||||
domObject.fire( eventName, new CKEDITOR.dom.event( domEvent ) );
|
||||
};
|
||||
};
|
||||
|
||||
return /** @lends CKEDITOR.dom.domObject.prototype */ {
|
||||
|
||||
getPrivate : function()
|
||||
{
|
||||
var priv;
|
||||
|
||||
// Get the main private function from the custom data. Create it if not
|
||||
// defined.
|
||||
if ( !( priv = this.getCustomData( '_' ) ) )
|
||||
this.setCustomData( '_', ( priv = {} ) );
|
||||
|
||||
return priv;
|
||||
},
|
||||
|
||||
/** @ignore */
|
||||
on : function( eventName )
|
||||
{
|
||||
// We customize the "on" function here. The basic idea is that we'll have
|
||||
// only one listener for a native event, which will then call all listeners
|
||||
// set to the event.
|
||||
|
||||
// Get the listeners holder object.
|
||||
var nativeListeners = this.getCustomData( '_cke_nativeListeners' );
|
||||
|
||||
if ( !nativeListeners )
|
||||
{
|
||||
nativeListeners = {};
|
||||
this.setCustomData( '_cke_nativeListeners', nativeListeners );
|
||||
}
|
||||
|
||||
// Check if we have a listener for that event.
|
||||
if ( !nativeListeners[ eventName ] )
|
||||
{
|
||||
var listener = nativeListeners[ eventName ] = getNativeListener( this, eventName );
|
||||
|
||||
if ( this.$.addEventListener )
|
||||
this.$.addEventListener( eventName, listener, !!CKEDITOR.event.useCapture );
|
||||
else if ( this.$.attachEvent )
|
||||
this.$.attachEvent( 'on' + eventName, listener );
|
||||
}
|
||||
|
||||
// Call the original implementation.
|
||||
return CKEDITOR.event.prototype.on.apply( this, arguments );
|
||||
},
|
||||
|
||||
/** @ignore */
|
||||
removeListener : function( eventName )
|
||||
{
|
||||
// Call the original implementation.
|
||||
CKEDITOR.event.prototype.removeListener.apply( this, arguments );
|
||||
|
||||
// If we don't have listeners for this event, clean the DOM up.
|
||||
if ( !this.hasListeners( eventName ) )
|
||||
{
|
||||
var nativeListeners = this.getCustomData( '_cke_nativeListeners' );
|
||||
var listener = nativeListeners && nativeListeners[ eventName ];
|
||||
if ( listener )
|
||||
{
|
||||
if ( this.$.removeEventListener )
|
||||
this.$.removeEventListener( eventName, listener, false );
|
||||
else if ( this.$.detachEvent )
|
||||
this.$.detachEvent( 'on' + eventName, listener );
|
||||
|
||||
delete nativeListeners[ eventName ];
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Removes any listener set on this object.
|
||||
* To avoid memory leaks we must assure that there are no
|
||||
* references left after the object is no longer needed.
|
||||
*/
|
||||
removeAllListeners : function()
|
||||
{
|
||||
var nativeListeners = this.getCustomData( '_cke_nativeListeners' );
|
||||
for ( var eventName in nativeListeners )
|
||||
{
|
||||
var listener = nativeListeners[ eventName ];
|
||||
if ( this.$.removeEventListener )
|
||||
this.$.removeEventListener( eventName, listener, false );
|
||||
else if ( this.$.detachEvent )
|
||||
this.$.detachEvent( 'on' + eventName, listener );
|
||||
|
||||
delete nativeListeners[ eventName ];
|
||||
}
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
(function( domObjectProto )
|
||||
{
|
||||
var customData = {};
|
||||
|
||||
/**
|
||||
* Determines whether the specified object is equal to the current object.
|
||||
* @name CKEDITOR.dom.domObject.prototype.equals
|
||||
* @function
|
||||
* @param {Object} object The object to compare with the current object.
|
||||
* @returns {Boolean} "true" if the object is equal.
|
||||
* @example
|
||||
* var doc = new CKEDITOR.dom.document( document );
|
||||
* alert( doc.equals( CKEDITOR.document ) ); // "true"
|
||||
* alert( doc == CKEDITOR.document ); // "false"
|
||||
*/
|
||||
domObjectProto.equals = function( object )
|
||||
{
|
||||
return ( object && object.$ === this.$ );
|
||||
};
|
||||
|
||||
/**
|
||||
* Sets a data slot value for this object. These values are shared by all
|
||||
* instances pointing to that same DOM object.
|
||||
* @name CKEDITOR.dom.domObject.prototype.setCustomData
|
||||
* @function
|
||||
* @param {String} key A key used to identify the data slot.
|
||||
* @param {Object} value The value to set to the data slot.
|
||||
* @returns {CKEDITOR.dom.domObject} This DOM object instance.
|
||||
* @see CKEDITOR.dom.domObject.prototype.getCustomData
|
||||
* @example
|
||||
* var element = new CKEDITOR.dom.element( 'span' );
|
||||
* element.setCustomData( 'hasCustomData', true );
|
||||
*/
|
||||
domObjectProto.setCustomData = function( key, value )
|
||||
{
|
||||
var expandoNumber = this.getUniqueId(),
|
||||
dataSlot = customData[ expandoNumber ] || ( customData[ expandoNumber ] = {} );
|
||||
|
||||
dataSlot[ key ] = value;
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
/**
|
||||
* Gets the value set to a data slot in this object.
|
||||
* @name CKEDITOR.dom.domObject.prototype.getCustomData
|
||||
* @function
|
||||
* @param {String} key The key used to identify the data slot.
|
||||
* @returns {Object} This value set to the data slot.
|
||||
* @see CKEDITOR.dom.domObject.prototype.setCustomData
|
||||
* @example
|
||||
* var element = new CKEDITOR.dom.element( 'span' );
|
||||
* alert( element.getCustomData( 'hasCustomData' ) ); // e.g. 'true'
|
||||
*/
|
||||
domObjectProto.getCustomData = function( key )
|
||||
{
|
||||
var expandoNumber = this.$._cke_expando,
|
||||
dataSlot = expandoNumber && customData[ expandoNumber ];
|
||||
|
||||
return dataSlot && dataSlot[ key ];
|
||||
};
|
||||
|
||||
/**
|
||||
* @name CKEDITOR.dom.domObject.prototype.removeCustomData
|
||||
*/
|
||||
domObjectProto.removeCustomData = function( key )
|
||||
{
|
||||
var expandoNumber = this.$._cke_expando,
|
||||
dataSlot = expandoNumber && customData[ expandoNumber ],
|
||||
retval = dataSlot && dataSlot[ key ];
|
||||
|
||||
if ( typeof retval != 'undefined' )
|
||||
delete dataSlot[ key ];
|
||||
|
||||
return retval || null;
|
||||
};
|
||||
|
||||
/**
|
||||
* Removes any data stored on this object.
|
||||
* To avoid memory leaks we must assure that there are no
|
||||
* references left after the object is no longer needed.
|
||||
* @name CKEDITOR.dom.domObject.prototype.clearCustomData
|
||||
* @function
|
||||
*/
|
||||
domObjectProto.clearCustomData = function()
|
||||
{
|
||||
// Clear all event listeners
|
||||
this.removeAllListeners();
|
||||
|
||||
var expandoNumber = this.$._cke_expando;
|
||||
expandoNumber && delete customData[ expandoNumber ];
|
||||
};
|
||||
|
||||
/**
|
||||
* @name CKEDITOR.dom.domObject.prototype.getCustomData
|
||||
*/
|
||||
domObjectProto.getUniqueId = function()
|
||||
{
|
||||
return this.$._cke_expando || ( this.$._cke_expando = CKEDITOR.tools.getNextNumber() );
|
||||
};
|
||||
|
||||
// Implement CKEDITOR.event.
|
||||
CKEDITOR.event.implementOn( domObjectProto );
|
||||
|
||||
})( CKEDITOR.dom.domObject.prototype );
|
1441
phpgwapi/js/ckeditor3/_source/core/dom/element.js
Normal file
1441
phpgwapi/js/ckeditor3/_source/core/dom/element.js
Normal file
File diff suppressed because it is too large
Load Diff
104
phpgwapi/js/ckeditor3/_source/core/dom/elementpath.js
Normal file
104
phpgwapi/js/ckeditor3/_source/core/dom/elementpath.js
Normal file
@ -0,0 +1,104 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
// Elements that may be considered the "Block boundary" in an element path.
|
||||
var pathBlockElements = { 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 };
|
||||
|
||||
// Elements that may be considered the "Block limit" in an element path.
|
||||
var pathBlockLimitElements = { body:1,div:1,table:1,tbody:1,tr:1,td:1,th:1,caption:1,form:1 };
|
||||
|
||||
// Check if an element contains any block element.
|
||||
var checkHasBlock = function( element )
|
||||
{
|
||||
var childNodes = element.getChildren();
|
||||
|
||||
for ( var i = 0, count = childNodes.count() ; i < count ; i++ )
|
||||
{
|
||||
var child = childNodes.getItem( i );
|
||||
|
||||
if ( child.type == CKEDITOR.NODE_ELEMENT && CKEDITOR.dtd.$block[ child.getName() ] )
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
CKEDITOR.dom.elementPath = function( lastNode )
|
||||
{
|
||||
var block = null;
|
||||
var blockLimit = null;
|
||||
var elements = [];
|
||||
|
||||
var e = lastNode;
|
||||
|
||||
while ( e )
|
||||
{
|
||||
if ( e.type == CKEDITOR.NODE_ELEMENT )
|
||||
{
|
||||
if ( !this.lastElement )
|
||||
this.lastElement = e;
|
||||
|
||||
var elementName = e.getName();
|
||||
if ( CKEDITOR.env.ie && e.$.scopeName != 'HTML' )
|
||||
elementName = e.$.scopeName.toLowerCase() + ':' + elementName;
|
||||
|
||||
if ( !blockLimit )
|
||||
{
|
||||
if ( !block && pathBlockElements[ elementName ] )
|
||||
block = e;
|
||||
|
||||
if ( pathBlockLimitElements[ elementName ] )
|
||||
{
|
||||
// DIV is considered the Block, if no block is available (#525)
|
||||
// and if it doesn't contain other blocks.
|
||||
if ( !block && elementName == 'div' && !checkHasBlock( e ) )
|
||||
block = e;
|
||||
else
|
||||
blockLimit = e;
|
||||
}
|
||||
}
|
||||
|
||||
elements.push( e );
|
||||
|
||||
if ( elementName == 'body' )
|
||||
break;
|
||||
}
|
||||
e = e.getParent();
|
||||
}
|
||||
|
||||
this.block = block;
|
||||
this.blockLimit = blockLimit;
|
||||
this.elements = elements;
|
||||
};
|
||||
})();
|
||||
|
||||
CKEDITOR.dom.elementPath.prototype =
|
||||
{
|
||||
/**
|
||||
* Compares this element path with another one.
|
||||
* @param {CKEDITOR.dom.elementPath} otherPath The elementPath object to be
|
||||
* compared with this one.
|
||||
* @returns {Boolean} "true" if the paths are equal, containing the same
|
||||
* number of elements and the same elements in the same order.
|
||||
*/
|
||||
compare : function( otherPath )
|
||||
{
|
||||
var thisElements = this.elements;
|
||||
var otherElements = otherPath && otherPath.elements;
|
||||
|
||||
if ( !otherElements || thisElements.length != otherElements.length )
|
||||
return false;
|
||||
|
||||
for ( var i = 0 ; i < thisElements.length ; i++ )
|
||||
{
|
||||
if ( !thisElements[ i ].equals( otherElements[ i ] ) )
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
142
phpgwapi/js/ckeditor3/_source/core/dom/event.js
Normal file
142
phpgwapi/js/ckeditor3/_source/core/dom/event.js
Normal file
@ -0,0 +1,142 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.dom.event} class, which
|
||||
* represents the a native DOM event object.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a native DOM event object.
|
||||
* @constructor
|
||||
* @param {Object} domEvent A native DOM event object.
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.dom.event = function( domEvent )
|
||||
{
|
||||
/**
|
||||
* The native DOM event object represented by this class instance.
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
this.$ = domEvent;
|
||||
};
|
||||
|
||||
CKEDITOR.dom.event.prototype =
|
||||
{
|
||||
/**
|
||||
* Gets the key code associated to the event.
|
||||
* @returns {Number} The key code.
|
||||
* @example
|
||||
* alert( event.getKey() ); "65" is "a" has been pressed
|
||||
*/
|
||||
getKey : function()
|
||||
{
|
||||
return this.$.keyCode || this.$.which;
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets a number represeting the combination of the keys pressed during the
|
||||
* event. It is the sum with the current key code and the {@link CKEDITOR.CTRL},
|
||||
* {@link CKEDITOR.SHIFT} and {@link CKEDITOR.ALT} constants.
|
||||
* @returns {Number} The number representing the keys combination.
|
||||
* @example
|
||||
* alert( event.getKeystroke() == 65 ); // "a" key
|
||||
* alert( event.getKeystroke() == CKEDITOR.CTRL + 65 ); // CTRL + "a" key
|
||||
* alert( event.getKeystroke() == CKEDITOR.CTRL + CKEDITOR.SHIFT + 65 ); // CTRL + SHIFT + "a" key
|
||||
*/
|
||||
getKeystroke : function()
|
||||
{
|
||||
var keystroke = this.getKey();
|
||||
|
||||
if ( this.$.ctrlKey || this.$.metaKey )
|
||||
keystroke += CKEDITOR.CTRL;
|
||||
|
||||
if ( this.$.shiftKey )
|
||||
keystroke += CKEDITOR.SHIFT;
|
||||
|
||||
if ( this.$.altKey )
|
||||
keystroke += CKEDITOR.ALT;
|
||||
|
||||
return keystroke;
|
||||
},
|
||||
|
||||
/**
|
||||
* Prevents the original behavior of the event to happen. It can optionally
|
||||
* stop propagating the event in the event chain.
|
||||
* @param {Boolean} [stopPropagation] Stop propagating this event in the
|
||||
* event chain.
|
||||
* @example
|
||||
* var element = CKEDITOR.document.getById( 'myElement' );
|
||||
* element.on( 'click', function( ev )
|
||||
* {
|
||||
* // The DOM event object is passed by the "data" property.
|
||||
* var domEvent = ev.data;
|
||||
* // Prevent the click to chave any effect in the element.
|
||||
* domEvent.preventDefault();
|
||||
* });
|
||||
*/
|
||||
preventDefault : function( stopPropagation )
|
||||
{
|
||||
var $ = this.$;
|
||||
if ( $.preventDefault )
|
||||
$.preventDefault();
|
||||
else
|
||||
$.returnValue = false;
|
||||
|
||||
if ( stopPropagation )
|
||||
this.stopPropagation();
|
||||
},
|
||||
|
||||
stopPropagation : function()
|
||||
{
|
||||
var $ = this.$;
|
||||
if ( $.stopPropagation )
|
||||
$.stopPropagation();
|
||||
else
|
||||
$.cancelBubble = true;
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the DOM node where the event was targeted to.
|
||||
* @returns {CKEDITOR.dom.node} The target DOM node.
|
||||
* @example
|
||||
* var element = CKEDITOR.document.getById( 'myElement' );
|
||||
* element.on( 'click', function( ev )
|
||||
* {
|
||||
* // The DOM event object is passed by the "data" property.
|
||||
* var domEvent = ev.data;
|
||||
* // Add a CSS class to the event target.
|
||||
* domEvent.getTarget().addClass( 'clicked' );
|
||||
* });
|
||||
*/
|
||||
|
||||
getTarget : function()
|
||||
{
|
||||
var rawNode = this.$.target || this.$.srcElement;
|
||||
return rawNode ? new CKEDITOR.dom.node( rawNode ) : null;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* CTRL key (1000).
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.CTRL = 1000;
|
||||
|
||||
/**
|
||||
* SHIFT key (2000).
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.SHIFT = 2000;
|
||||
|
||||
/**
|
||||
* ALT key (4000).
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.ALT = 4000;
|
662
phpgwapi/js/ckeditor3/_source/core/dom/node.js
Normal file
662
phpgwapi/js/ckeditor3/_source/core/dom/node.js
Normal file
@ -0,0 +1,662 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.dom.node} class, which is the base
|
||||
* class for classes that represent DOM nodes.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Base class for classes representing DOM nodes. This constructor may return
|
||||
* and instance of classes that inherits this class, like
|
||||
* {@link CKEDITOR.dom.element} or {@link CKEDITOR.dom.text}.
|
||||
* @augments CKEDITOR.dom.domObject
|
||||
* @param {Object} domNode A native DOM node.
|
||||
* @constructor
|
||||
* @see CKEDITOR.dom.element
|
||||
* @see CKEDITOR.dom.text
|
||||
* @example
|
||||
*/
|
||||
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 );
|
||||
|
||||
case CKEDITOR.NODE_TEXT :
|
||||
return new CKEDITOR.dom.text( domNode );
|
||||
}
|
||||
|
||||
// Call the base constructor.
|
||||
CKEDITOR.dom.domObject.call( this, domNode );
|
||||
}
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
CKEDITOR.dom.node.prototype = new CKEDITOR.dom.domObject();
|
||||
|
||||
/**
|
||||
* Element node type.
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.NODE_ELEMENT = 1;
|
||||
|
||||
/**
|
||||
* Document node type.
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.NODE_DOCUMENT = 9;
|
||||
|
||||
/**
|
||||
* Text node type.
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.NODE_TEXT = 3;
|
||||
|
||||
/**
|
||||
* Comment node type.
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.NODE_COMMENT = 8;
|
||||
|
||||
CKEDITOR.NODE_DOCUMENT_FRAGMENT = 11;
|
||||
|
||||
CKEDITOR.POSITION_IDENTICAL = 0;
|
||||
CKEDITOR.POSITION_DISCONNECTED = 1;
|
||||
CKEDITOR.POSITION_FOLLOWING = 2;
|
||||
CKEDITOR.POSITION_PRECEDING = 4;
|
||||
CKEDITOR.POSITION_IS_CONTAINED = 8;
|
||||
CKEDITOR.POSITION_CONTAINS = 16;
|
||||
|
||||
CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype,
|
||||
/** @lends CKEDITOR.dom.node.prototype */
|
||||
{
|
||||
/**
|
||||
* Makes this node child of another element.
|
||||
* @param {CKEDITOR.dom.element} element The target element to which append
|
||||
* this node.
|
||||
* @returns {CKEDITOR.dom.element} The target element.
|
||||
* @example
|
||||
* var p = new CKEDITOR.dom.element( 'p' );
|
||||
* var strong = new CKEDITOR.dom.element( 'strong' );
|
||||
* strong.appendTo( p );
|
||||
*
|
||||
* // result: "<p><strong></strong></p>"
|
||||
*/
|
||||
appendTo : function( element, toStart )
|
||||
{
|
||||
element.append( this, toStart );
|
||||
return element;
|
||||
},
|
||||
|
||||
clone : function( includeChildren, cloneId )
|
||||
{
|
||||
var $clone = this.$.cloneNode( includeChildren );
|
||||
|
||||
if ( !cloneId )
|
||||
{
|
||||
var removeIds = function( node )
|
||||
{
|
||||
if ( node.nodeType != CKEDITOR.NODE_ELEMENT )
|
||||
return;
|
||||
|
||||
node.removeAttribute( 'id', false ) ;
|
||||
node.removeAttribute( '_cke_expando', false ) ;
|
||||
|
||||
var childs = node.childNodes;
|
||||
for ( var i=0 ; i < childs.length ; i++ )
|
||||
removeIds( childs[ i ] );
|
||||
};
|
||||
|
||||
// The "id" attribute should never be cloned to avoid duplication.
|
||||
removeIds( $clone );
|
||||
}
|
||||
|
||||
return new CKEDITOR.dom.node( $clone );
|
||||
},
|
||||
|
||||
hasPrevious : function()
|
||||
{
|
||||
return !!this.$.previousSibling;
|
||||
},
|
||||
|
||||
hasNext : function()
|
||||
{
|
||||
return !!this.$.nextSibling;
|
||||
},
|
||||
|
||||
/**
|
||||
* Inserts this element after a node.
|
||||
* @param {CKEDITOR.dom.node} node The that will preceed this element.
|
||||
* @returns {CKEDITOR.dom.node} The node preceeding this one after
|
||||
* insertion.
|
||||
* @example
|
||||
* var em = new CKEDITOR.dom.element( 'em' );
|
||||
* var strong = new CKEDITOR.dom.element( 'strong' );
|
||||
* strong.insertAfter( em );
|
||||
*
|
||||
* // result: "<em></em><strong></strong>"
|
||||
*/
|
||||
insertAfter : function( node )
|
||||
{
|
||||
node.$.parentNode.insertBefore( this.$, node.$.nextSibling );
|
||||
return node;
|
||||
},
|
||||
|
||||
/**
|
||||
* Inserts this element before a node.
|
||||
* @param {CKEDITOR.dom.node} node The that will be after this element.
|
||||
* @returns {CKEDITOR.dom.node} The node being inserted.
|
||||
* @example
|
||||
* var em = new CKEDITOR.dom.element( 'em' );
|
||||
* var strong = new CKEDITOR.dom.element( 'strong' );
|
||||
* strong.insertBefore( em );
|
||||
*
|
||||
* // result: "<strong></strong><em></em>"
|
||||
*/
|
||||
insertBefore : function( node )
|
||||
{
|
||||
node.$.parentNode.insertBefore( this.$, node.$ );
|
||||
return node;
|
||||
},
|
||||
|
||||
insertBeforeMe : function( node )
|
||||
{
|
||||
this.$.parentNode.insertBefore( node.$, this.$ );
|
||||
return node;
|
||||
},
|
||||
|
||||
/**
|
||||
* Retrieves a uniquely identifiable tree address for this node.
|
||||
* The tree address returns is an array of integers, with each integer
|
||||
* indicating a child index of a DOM node, starting from
|
||||
* document.documentElement.
|
||||
*
|
||||
* For example, assuming <body> is the second child from <html> (<head>
|
||||
* being the first), and we'd like to address the third child under the
|
||||
* fourth child of body, the tree address returned would be:
|
||||
* [1, 3, 2]
|
||||
*
|
||||
* The tree address cannot be used for finding back the DOM tree node once
|
||||
* the DOM tree structure has been modified.
|
||||
*/
|
||||
getAddress : function( normalized )
|
||||
{
|
||||
var address = [];
|
||||
var $documentElement = this.getDocument().$.documentElement;
|
||||
var node = this.$;
|
||||
|
||||
while ( node && node != $documentElement )
|
||||
{
|
||||
var parentNode = node.parentNode;
|
||||
var currentIndex = -1;
|
||||
|
||||
if ( parentNode )
|
||||
{
|
||||
for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )
|
||||
{
|
||||
var candidate = parentNode.childNodes[i];
|
||||
|
||||
if ( normalized &&
|
||||
candidate.nodeType == 3 &&
|
||||
candidate.previousSibling &&
|
||||
candidate.previousSibling.nodeType == 3 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
currentIndex++;
|
||||
|
||||
if ( candidate == node )
|
||||
break;
|
||||
}
|
||||
|
||||
address.unshift( currentIndex );
|
||||
}
|
||||
|
||||
node = parentNode;
|
||||
}
|
||||
|
||||
return address;
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the document containing this element.
|
||||
* @returns {CKEDITOR.dom.document} The document.
|
||||
* @example
|
||||
* var element = CKEDITOR.document.getById( 'example' );
|
||||
* alert( <b>element.getDocument().equals( CKEDITOR.document )</b> ); // "true"
|
||||
*/
|
||||
getDocument : function()
|
||||
{
|
||||
var document = new CKEDITOR.dom.document( this.$.ownerDocument || this.$.parentNode.ownerDocument );
|
||||
|
||||
return (
|
||||
this.getDocument = function()
|
||||
{
|
||||
return document;
|
||||
})();
|
||||
},
|
||||
|
||||
getIndex : function()
|
||||
{
|
||||
var $ = this.$;
|
||||
|
||||
var currentNode = $.parentNode && $.parentNode.firstChild;
|
||||
var currentIndex = -1;
|
||||
|
||||
while ( currentNode )
|
||||
{
|
||||
currentIndex++;
|
||||
|
||||
if ( currentNode == $ )
|
||||
return currentIndex;
|
||||
|
||||
currentNode = currentNode.nextSibling;
|
||||
}
|
||||
|
||||
return -1;
|
||||
},
|
||||
|
||||
getNextSourceNode : function( startFromSibling, nodeType, guard )
|
||||
{
|
||||
// If "guard" is a node, transform it in a function.
|
||||
if ( guard && !guard.call )
|
||||
{
|
||||
var guardNode = guard;
|
||||
guard = function( node )
|
||||
{
|
||||
return !node.equals( guardNode );
|
||||
};
|
||||
}
|
||||
|
||||
var node = ( !startFromSibling && this.getFirst && this.getFirst() ),
|
||||
parent;
|
||||
|
||||
// Guarding when we're skipping the current element( no children or 'startFromSibling' ).
|
||||
// send the 'moving out' signal even we don't actually dive into.
|
||||
if ( !node )
|
||||
{
|
||||
if ( this.type == CKEDITOR.NODE_ELEMENT && guard && guard( this, true ) === false )
|
||||
return null;
|
||||
node = this.getNext();
|
||||
}
|
||||
|
||||
while ( !node && ( parent = ( parent || this ).getParent() ) )
|
||||
{
|
||||
// The guard check sends the "true" paramenter to indicate that
|
||||
// we are moving "out" of the element.
|
||||
if ( guard && guard( parent, true ) === false )
|
||||
return null;
|
||||
|
||||
node = parent.getNext();
|
||||
}
|
||||
|
||||
if ( !node )
|
||||
return null;
|
||||
|
||||
if ( guard && guard( node ) === false )
|
||||
return null;
|
||||
|
||||
if ( nodeType && nodeType != node.type )
|
||||
return node.getNextSourceNode( false, nodeType, guard );
|
||||
|
||||
return node;
|
||||
},
|
||||
|
||||
getPreviousSourceNode : function( startFromSibling, nodeType, guard )
|
||||
{
|
||||
if ( guard && !guard.call )
|
||||
{
|
||||
var guardNode = guard;
|
||||
guard = function( node )
|
||||
{
|
||||
return !node.equals( guardNode );
|
||||
};
|
||||
}
|
||||
|
||||
var node = ( !startFromSibling && this.getLast && this.getLast() ),
|
||||
parent;
|
||||
|
||||
// Guarding when we're skipping the current element( no children or 'startFromSibling' ).
|
||||
// send the 'moving out' signal even we don't actually dive into.
|
||||
if ( !node )
|
||||
{
|
||||
if ( this.type == CKEDITOR.NODE_ELEMENT && guard && guard( this, true ) === false )
|
||||
return null;
|
||||
node = this.getPrevious();
|
||||
}
|
||||
|
||||
while ( !node && ( parent = ( parent || this ).getParent() ) )
|
||||
{
|
||||
// The guard check sends the "true" paramenter to indicate that
|
||||
// we are moving "out" of the element.
|
||||
if ( guard && guard( parent, true ) === false )
|
||||
return null;
|
||||
|
||||
node = parent.getPrevious();
|
||||
}
|
||||
|
||||
if ( !node )
|
||||
return null;
|
||||
|
||||
if ( guard && guard( node ) === false )
|
||||
return null;
|
||||
|
||||
if ( nodeType && node.type != nodeType )
|
||||
return node.getPreviousSourceNode( false, nodeType, guard );
|
||||
|
||||
return node;
|
||||
},
|
||||
|
||||
getPrevious : function( evaluator )
|
||||
{
|
||||
var previous = this.$, retval;
|
||||
do
|
||||
{
|
||||
previous = previous.previousSibling;
|
||||
retval = previous && new CKEDITOR.dom.node( previous );
|
||||
}
|
||||
while ( retval && evaluator && !evaluator( retval ) )
|
||||
return retval;
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the node that follows this element in its parent's child list.
|
||||
* @param {Function} evaluator Filtering the result node.
|
||||
* @returns {CKEDITOR.dom.node} The next node or null if not available.
|
||||
* @example
|
||||
* var element = CKEDITOR.dom.element.createFromHtml( '<div><b>Example</b> <i>next</i></div>' );
|
||||
* var first = <b>element.getFirst().getNext()</b>;
|
||||
* alert( first.getName() ); // "i"
|
||||
*/
|
||||
getNext : function( evaluator )
|
||||
{
|
||||
var next = this.$, retval;
|
||||
do
|
||||
{
|
||||
next = next.nextSibling;
|
||||
retval = next && new CKEDITOR.dom.node( next );
|
||||
}
|
||||
while ( retval && evaluator && !evaluator( retval ) )
|
||||
return retval;
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the parent element for this node.
|
||||
* @returns {CKEDITOR.dom.element} The parent element.
|
||||
* @example
|
||||
* var node = editor.document.getBody().getFirst();
|
||||
* var parent = node.<b>getParent()</b>;
|
||||
* alert( node.getName() ); // "body"
|
||||
*/
|
||||
getParent : function()
|
||||
{
|
||||
var parent = this.$.parentNode;
|
||||
return ( parent && parent.nodeType == 1 ) ? new CKEDITOR.dom.node( parent ) : null;
|
||||
},
|
||||
|
||||
getParents : function( closerFirst )
|
||||
{
|
||||
var node = this;
|
||||
var parents = [];
|
||||
|
||||
do
|
||||
{
|
||||
parents[ closerFirst ? 'push' : 'unshift' ]( node );
|
||||
}
|
||||
while ( ( node = node.getParent() ) )
|
||||
|
||||
return parents;
|
||||
},
|
||||
|
||||
getCommonAncestor : function( node )
|
||||
{
|
||||
if ( node.equals( this ) )
|
||||
return this;
|
||||
|
||||
if ( node.contains && node.contains( this ) )
|
||||
return node;
|
||||
|
||||
var start = this.contains ? this : this.getParent();
|
||||
|
||||
do
|
||||
{
|
||||
if ( start.contains( node ) )
|
||||
return start;
|
||||
}
|
||||
while ( ( start = start.getParent() ) );
|
||||
|
||||
return null;
|
||||
},
|
||||
|
||||
getPosition : function( otherNode )
|
||||
{
|
||||
var $ = this.$;
|
||||
var $other = otherNode.$;
|
||||
|
||||
if ( $.compareDocumentPosition )
|
||||
return $.compareDocumentPosition( $other );
|
||||
|
||||
// IE and Safari have no support for compareDocumentPosition.
|
||||
|
||||
if ( $ == $other )
|
||||
return CKEDITOR.POSITION_IDENTICAL;
|
||||
|
||||
// Only element nodes support contains and sourceIndex.
|
||||
if ( this.type == CKEDITOR.NODE_ELEMENT && otherNode.type == CKEDITOR.NODE_ELEMENT )
|
||||
{
|
||||
if ( $.contains )
|
||||
{
|
||||
if ( $.contains( $other ) )
|
||||
return CKEDITOR.POSITION_CONTAINS + CKEDITOR.POSITION_PRECEDING;
|
||||
|
||||
if ( $other.contains( $ ) )
|
||||
return CKEDITOR.POSITION_IS_CONTAINED + CKEDITOR.POSITION_FOLLOWING;
|
||||
}
|
||||
|
||||
if ( 'sourceIndex' in $ )
|
||||
{
|
||||
return ( $.sourceIndex < 0 || $other.sourceIndex < 0 ) ? CKEDITOR.POSITION_DISCONNECTED :
|
||||
( $.sourceIndex < $other.sourceIndex ) ? CKEDITOR.POSITION_PRECEDING :
|
||||
CKEDITOR.POSITION_FOLLOWING;
|
||||
}
|
||||
}
|
||||
|
||||
// For nodes that don't support compareDocumentPosition, contains
|
||||
// or sourceIndex, their "address" is compared.
|
||||
|
||||
var addressOfThis = this.getAddress(),
|
||||
addressOfOther = otherNode.getAddress(),
|
||||
minLevel = Math.min( addressOfThis.length, addressOfOther.length );
|
||||
|
||||
// Determinate preceed/follow relationship.
|
||||
for ( var i = 0 ; i <= minLevel - 1 ; i++ )
|
||||
{
|
||||
if ( addressOfThis[ i ] != addressOfOther[ i ] )
|
||||
{
|
||||
if ( i < minLevel )
|
||||
{
|
||||
return addressOfThis[ i ] < addressOfOther[ i ] ?
|
||||
CKEDITOR.POSITION_PRECEDING : CKEDITOR.POSITION_FOLLOWING;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Determinate contains/contained relationship.
|
||||
return ( addressOfThis.length < addressOfOther.length ) ?
|
||||
CKEDITOR.POSITION_CONTAINS + CKEDITOR.POSITION_PRECEDING :
|
||||
CKEDITOR.POSITION_IS_CONTAINED + CKEDITOR.POSITION_FOLLOWING;
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the closes ancestor node of a specified node name.
|
||||
* @param {String} name Node name of ancestor node.
|
||||
* @param {Boolean} includeSelf (Optional) Whether to include the current
|
||||
* node in the calculation or not.
|
||||
* @returns {CKEDITOR.dom.node} Ancestor node.
|
||||
*/
|
||||
getAscendant : function( name, includeSelf )
|
||||
{
|
||||
var $ = this.$;
|
||||
|
||||
if ( !includeSelf )
|
||||
$ = $.parentNode;
|
||||
|
||||
while ( $ )
|
||||
{
|
||||
if ( $.nodeName && $.nodeName.toLowerCase() == name )
|
||||
return new CKEDITOR.dom.node( $ );
|
||||
|
||||
$ = $.parentNode;
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
||||
hasAscendant : function( name, includeSelf )
|
||||
{
|
||||
var $ = this.$;
|
||||
|
||||
if ( !includeSelf )
|
||||
$ = $.parentNode;
|
||||
|
||||
while ( $ )
|
||||
{
|
||||
if ( $.nodeName && $.nodeName.toLowerCase() == name )
|
||||
return true;
|
||||
|
||||
$ = $.parentNode;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
move : function( target, toStart )
|
||||
{
|
||||
target.append( this.remove(), toStart );
|
||||
},
|
||||
|
||||
/**
|
||||
* Removes this node from the document DOM.
|
||||
* @param {Boolean} [preserveChildren] Indicates that the children
|
||||
* elements must remain in the document, removing only the outer
|
||||
* tags.
|
||||
* @example
|
||||
* var element = CKEDITOR.dom.element.getById( 'MyElement' );
|
||||
* <b>element.remove()</b>;
|
||||
*/
|
||||
remove : function( preserveChildren )
|
||||
{
|
||||
var $ = this.$;
|
||||
var parent = $.parentNode;
|
||||
|
||||
if ( parent )
|
||||
{
|
||||
if ( preserveChildren )
|
||||
{
|
||||
// Move all children before the node.
|
||||
for ( var child ; ( child = $.firstChild ) ; )
|
||||
{
|
||||
parent.insertBefore( $.removeChild( child ), $ );
|
||||
}
|
||||
}
|
||||
|
||||
parent.removeChild( $ );
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
replace : function( nodeToReplace )
|
||||
{
|
||||
this.insertBefore( nodeToReplace );
|
||||
nodeToReplace.remove();
|
||||
},
|
||||
|
||||
trim : function()
|
||||
{
|
||||
this.ltrim();
|
||||
this.rtrim();
|
||||
},
|
||||
|
||||
ltrim : function()
|
||||
{
|
||||
var child;
|
||||
while ( this.getFirst && ( child = this.getFirst() ) )
|
||||
{
|
||||
if ( child.type == CKEDITOR.NODE_TEXT )
|
||||
{
|
||||
var trimmed = CKEDITOR.tools.ltrim( child.getText() ),
|
||||
originalLength = child.getLength();
|
||||
|
||||
if ( !trimmed )
|
||||
{
|
||||
child.remove();
|
||||
continue;
|
||||
}
|
||||
else if ( trimmed.length < originalLength )
|
||||
{
|
||||
child.split( originalLength - trimmed.length );
|
||||
|
||||
// IE BUG: child.remove() may raise JavaScript errors here. (#81)
|
||||
this.$.removeChild( this.$.firstChild );
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
rtrim : function()
|
||||
{
|
||||
var child;
|
||||
while ( this.getLast && ( child = this.getLast() ) )
|
||||
{
|
||||
if ( child.type == CKEDITOR.NODE_TEXT )
|
||||
{
|
||||
var trimmed = CKEDITOR.tools.rtrim( child.getText() ),
|
||||
originalLength = child.getLength();
|
||||
|
||||
if ( !trimmed )
|
||||
{
|
||||
child.remove();
|
||||
continue;
|
||||
}
|
||||
else if ( trimmed.length < originalLength )
|
||||
{
|
||||
child.split( trimmed.length );
|
||||
|
||||
// IE BUG: child.getNext().remove() may raise JavaScript errors here.
|
||||
// (#81)
|
||||
this.$.lastChild.parentNode.removeChild( this.$.lastChild );
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if ( !CKEDITOR.env.ie && !CKEDITOR.env.opera )
|
||||
{
|
||||
child = this.$.lastChild;
|
||||
|
||||
if ( child && child.type == 1 && child.nodeName.toLowerCase() == 'br' )
|
||||
{
|
||||
// Use "eChildNode.parentNode" instead of "node" to avoid IE bug (#324).
|
||||
child.parentNode.removeChild( child ) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
23
phpgwapi/js/ckeditor3/_source/core/dom/nodelist.js
Normal file
23
phpgwapi/js/ckeditor3/_source/core/dom/nodelist.js
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
CKEDITOR.dom.nodeList = function( nativeList )
|
||||
{
|
||||
this.$ = nativeList;
|
||||
};
|
||||
|
||||
CKEDITOR.dom.nodeList.prototype =
|
||||
{
|
||||
count : function()
|
||||
{
|
||||
return this.$.length;
|
||||
},
|
||||
|
||||
getItem : function( index )
|
||||
{
|
||||
var $node = this.$[ index ];
|
||||
return $node ? new CKEDITOR.dom.node( $node ) : null;
|
||||
}
|
||||
};
|
1836
phpgwapi/js/ckeditor3/_source/core/dom/range.js
Normal file
1836
phpgwapi/js/ckeditor3/_source/core/dom/range.js
Normal file
File diff suppressed because it is too large
Load Diff
123
phpgwapi/js/ckeditor3/_source/core/dom/text.js
Normal file
123
phpgwapi/js/ckeditor3/_source/core/dom/text.js
Normal file
@ -0,0 +1,123 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.dom.text} class, which represents
|
||||
* a DOM text node.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a DOM text node.
|
||||
* @constructor
|
||||
* @augments CKEDITOR.dom.node
|
||||
* @param {Object|String} text A native DOM text node or a string containing
|
||||
* the text to use to create a new text 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.createTextNode( 'Example' );
|
||||
* var text = CKEDITOR.dom.text( nativeNode );
|
||||
* @example
|
||||
* var text = CKEDITOR.dom.text( 'Example' );
|
||||
*/
|
||||
CKEDITOR.dom.text = function( text, ownerDocument )
|
||||
{
|
||||
if ( typeof text == 'string' )
|
||||
text = ( ownerDocument ? ownerDocument.$ : document ).createTextNode( text );
|
||||
|
||||
// Theoretically, we should call the base constructor here
|
||||
// (not CKEDITOR.dom.node though). But, IE doesn't support expando
|
||||
// properties on text node, so the features provided by domObject will not
|
||||
// work for text nodes (which is not a big issue for us).
|
||||
//
|
||||
// CKEDITOR.dom.domObject.call( this, element );
|
||||
|
||||
/**
|
||||
* The native DOM text node represented by this class instance.
|
||||
* @type Object
|
||||
* @example
|
||||
* var element = new CKEDITOR.dom.text( 'Example' );
|
||||
* alert( element.$.nodeType ); // "3"
|
||||
*/
|
||||
this.$ = text;
|
||||
};
|
||||
|
||||
CKEDITOR.dom.text.prototype = new CKEDITOR.dom.node();
|
||||
|
||||
CKEDITOR.tools.extend( CKEDITOR.dom.text.prototype,
|
||||
/** @lends CKEDITOR.dom.text.prototype */
|
||||
{
|
||||
/**
|
||||
* The node type. This is a constant value set to
|
||||
* {@link CKEDITOR.NODE_TEXT}.
|
||||
* @type Number
|
||||
* @example
|
||||
*/
|
||||
type : CKEDITOR.NODE_TEXT,
|
||||
|
||||
getLength : function()
|
||||
{
|
||||
return this.$.nodeValue.length;
|
||||
},
|
||||
|
||||
getText : function()
|
||||
{
|
||||
return this.$.nodeValue;
|
||||
},
|
||||
|
||||
/**
|
||||
* Breaks this text node into two nodes at the specified offset,
|
||||
* keeping both in the tree as siblings. This node then only contains
|
||||
* all the content up to the offset point. A new text node, which is
|
||||
* inserted as the next sibling of this node, contains all the content
|
||||
* at and after the offset point. When the offset is equal to the
|
||||
* length of this node, the new node has no data.
|
||||
* @param {Number} The position at which to split, starting from zero.
|
||||
* @returns {CKEDITOR.dom.text} The new text node.
|
||||
*/
|
||||
split : function( offset )
|
||||
{
|
||||
// If the offset is after the last char, IE creates the text node
|
||||
// on split, but don't include it into the DOM. So, we have to do
|
||||
// that manually here.
|
||||
if ( CKEDITOR.env.ie && offset == this.getLength() )
|
||||
{
|
||||
var next = this.getDocument().createText( '' );
|
||||
next.insertAfter( this );
|
||||
return next;
|
||||
}
|
||||
|
||||
var doc = this.getDocument();
|
||||
var retval = new CKEDITOR.dom.text( this.$.splitText( offset ), doc );
|
||||
|
||||
// IE BUG: IE8 does not update the childNodes array in DOM after splitText(),
|
||||
// we need to make some DOM changes to make it update. (#3436)
|
||||
if ( CKEDITOR.env.ie8 )
|
||||
{
|
||||
var workaround = new CKEDITOR.dom.text( '', doc );
|
||||
workaround.insertAfter( retval );
|
||||
workaround.remove();
|
||||
}
|
||||
|
||||
return retval;
|
||||
},
|
||||
|
||||
/**
|
||||
* Extracts characters from indexA up to but not including indexB.
|
||||
* @param {Number} indexA An integer between 0 and one less than the
|
||||
* length of the text.
|
||||
* @param {Number} [indexB] An integer between 0 and the length of the
|
||||
* string. If omitted, extracts characters to the end of the text.
|
||||
*/
|
||||
substring : function( indexA, indexB )
|
||||
{
|
||||
// We need the following check due to a Firefox bug
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=458886
|
||||
if ( typeof indexB != 'number' )
|
||||
return this.$.nodeValue.substr( indexA );
|
||||
else
|
||||
return this.$.nodeValue.substring( indexA, indexB );
|
||||
}
|
||||
});
|
451
phpgwapi/js/ckeditor3/_source/core/dom/walker.js
Normal file
451
phpgwapi/js/ckeditor3/_source/core/dom/walker.js
Normal file
@ -0,0 +1,451 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
// This function is to be called under a "walker" instance scope.
|
||||
function iterate( rtl, breakOnFalse )
|
||||
{
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
|
||||
// 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 );
|
||||
|
||||
this._.guardLTR = function( node, movingOut )
|
||||
{
|
||||
return ( ( !movingOut || !limitLTR.equals( node ) )
|
||||
&& ( !blockerLTR || !node.equals( blockerLTR ) )
|
||||
&& ( node.type != CKEDITOR.NODE_ELEMENT || !movingOut || node.getName() != 'body' ) );
|
||||
};
|
||||
}
|
||||
|
||||
// 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 );
|
||||
|
||||
this._.guardRTL = function( node, movingOut )
|
||||
{
|
||||
return ( ( !movingOut || !limitRTL.equals( node ) )
|
||||
&& ( !blockerRTL || !node.equals( blockerRTL ) )
|
||||
&& ( node.type != CKEDITOR.NODE_ELEMENT || !movingOut || node.getName() != 'body' ) );
|
||||
};
|
||||
}
|
||||
|
||||
// Define which guard function to use.
|
||||
var stopGuard = rtl ? this._.guardRTL : this._.guardLTR;
|
||||
|
||||
// Make the user defined guard function participate in the process,
|
||||
// otherwise simply use the boundary guard.
|
||||
if ( userGuard )
|
||||
{
|
||||
guard = function( node, movingOut )
|
||||
{
|
||||
if ( stopGuard( node, movingOut ) === false )
|
||||
return false;
|
||||
|
||||
return userGuard( node, movingOut );
|
||||
};
|
||||
}
|
||||
else
|
||||
guard = stopGuard;
|
||||
|
||||
if ( this.current )
|
||||
node = this.current[ getSourceNodeFn ]( false, type, guard );
|
||||
else
|
||||
{
|
||||
// Get the first node to be returned.
|
||||
|
||||
if ( rtl )
|
||||
{
|
||||
node = range.endContainer;
|
||||
|
||||
if ( range.endOffset > 0 )
|
||||
{
|
||||
node = node.getChild( range.endOffset - 1 );
|
||||
if ( guard( node ) === false )
|
||||
node = null;
|
||||
}
|
||||
else
|
||||
node = ( guard ( node, true ) === false ) ?
|
||||
null : node.getPreviousSourceNode( true, type, guard );
|
||||
}
|
||||
else
|
||||
{
|
||||
node = range.startContainer;
|
||||
node = node.getChild( range.startOffset );
|
||||
|
||||
if ( node )
|
||||
{
|
||||
if ( guard( node ) === false )
|
||||
node = null;
|
||||
}
|
||||
else
|
||||
node = ( guard ( range.startContainer, true ) === false ) ?
|
||||
null : range.startContainer.getNextSourceNode( true, type, guard ) ;
|
||||
}
|
||||
}
|
||||
|
||||
while ( node && !this._.end )
|
||||
{
|
||||
this.current = node;
|
||||
|
||||
if ( !this.evaluator || this.evaluator( node ) !== false )
|
||||
{
|
||||
if ( !breakOnFalse )
|
||||
return node;
|
||||
}
|
||||
else if ( breakOnFalse && this.evaluator )
|
||||
return false;
|
||||
|
||||
node = node[ getSourceNodeFn ]( false, type, guard );
|
||||
}
|
||||
|
||||
this.end();
|
||||
return this.current = null;
|
||||
}
|
||||
|
||||
function iterateToLast( rtl )
|
||||
{
|
||||
var node, last = null;
|
||||
|
||||
while ( ( node = iterate.call( this, rtl ) ) )
|
||||
last = node;
|
||||
|
||||
return last;
|
||||
}
|
||||
|
||||
CKEDITOR.dom.walker = CKEDITOR.tools.createClass(
|
||||
{
|
||||
/**
|
||||
* Utility class to "walk" the DOM inside a range boundaries. If
|
||||
* necessary, partially included nodes (text nodes) are broken to
|
||||
* reflect the boundaries limits, so DOM and range changes may happen.
|
||||
* Outside changes to the range may break the walker.
|
||||
*
|
||||
* The walker may return nodes that are not totaly included into the
|
||||
* range boundaires. Let's take the following range representation,
|
||||
* where the square brackets indicate the boundaries:
|
||||
*
|
||||
* [<p>Some <b>sample] text</b>
|
||||
*
|
||||
* While walking forward into the above range, the following nodes are
|
||||
* returned: <p>, "Some ", <b> and "sample". Going
|
||||
* backwards instead we have: "sample" and "Some ". So note that the
|
||||
* walker always returns nodes when "entering" them, but not when
|
||||
* "leaving" them. The guard function is instead called both when
|
||||
* entering and leaving nodes.
|
||||
*
|
||||
* @constructor
|
||||
* @param {CKEDITOR.dom.range} range The range within which walk.
|
||||
*/
|
||||
$ : function( range )
|
||||
{
|
||||
this.range = range;
|
||||
|
||||
/**
|
||||
* A function executed for every matched node, to check whether
|
||||
* it's to be considered into the walk or not. If not provided, all
|
||||
* matched nodes are considered good.
|
||||
* If the function returns "false" the node is ignored.
|
||||
* @name CKEDITOR.dom.walker.prototype.evaluator
|
||||
* @property
|
||||
* @type Function
|
||||
*/
|
||||
// this.evaluator = null;
|
||||
|
||||
/**
|
||||
* A function executed for every node the walk pass by to check
|
||||
* whether the walk is to be finished. It's called when both
|
||||
* entering and exiting nodes, as well as for the matched nodes.
|
||||
* If this function returns "false", the walking ends and no more
|
||||
* nodes are evaluated.
|
||||
* @name CKEDITOR.dom.walker.prototype.guard
|
||||
* @property
|
||||
* @type Function
|
||||
*/
|
||||
// this.guard = null;
|
||||
|
||||
/** @private */
|
||||
this._ = {};
|
||||
},
|
||||
|
||||
// statics :
|
||||
// {
|
||||
// /* Creates a CKEDITOR.dom.walker instance to walk inside DOM boundaries set by nodes.
|
||||
// * @param {CKEDITOR.dom.node} startNode The node from wich the walk
|
||||
// * will start.
|
||||
// * @param {CKEDITOR.dom.node} [endNode] The last node to be considered
|
||||
// * in the walk. No more nodes are retrieved after touching or
|
||||
// * passing it. If not provided, the walker stops at the
|
||||
// * <body> closing boundary.
|
||||
// * @returns {CKEDITOR.dom.walker} A DOM walker for the nodes between the
|
||||
// * provided nodes.
|
||||
// */
|
||||
// createOnNodes : function( startNode, endNode, startInclusive, endInclusive )
|
||||
// {
|
||||
// var range = new CKEDITOR.dom.range();
|
||||
// if ( startNode )
|
||||
// range.setStartAt( startNode, startInclusive ? CKEDITOR.POSITION_BEFORE_START : CKEDITOR.POSITION_AFTER_END ) ;
|
||||
// else
|
||||
// range.setStartAt( startNode.getDocument().getBody(), CKEDITOR.POSITION_AFTER_START ) ;
|
||||
//
|
||||
// if ( endNode )
|
||||
// range.setEndAt( endNode, endInclusive ? CKEDITOR.POSITION_AFTER_END : CKEDITOR.POSITION_BEFORE_START ) ;
|
||||
// else
|
||||
// range.setEndAt( startNode.getDocument().getBody(), CKEDITOR.POSITION_BEFORE_END ) ;
|
||||
//
|
||||
// return new CKEDITOR.dom.walker( range );
|
||||
// }
|
||||
// },
|
||||
//
|
||||
proto :
|
||||
{
|
||||
/**
|
||||
* Stop walking. No more nodes are retrieved if this function gets
|
||||
* called.
|
||||
*/
|
||||
end : function()
|
||||
{
|
||||
this._.end = 1;
|
||||
},
|
||||
|
||||
/**
|
||||
* Retrieves the next node (at right).
|
||||
* @returns {CKEDITOR.dom.node} The next node or null if no more
|
||||
* nodes are available.
|
||||
*/
|
||||
next : function()
|
||||
{
|
||||
return iterate.call( this );
|
||||
},
|
||||
|
||||
/**
|
||||
* Retrieves the previous node (at left).
|
||||
* @returns {CKEDITOR.dom.node} The previous node or null if no more
|
||||
* nodes are available.
|
||||
*/
|
||||
previous : function()
|
||||
{
|
||||
return iterate.call( this, true );
|
||||
},
|
||||
|
||||
/**
|
||||
* Check all nodes at right, executing the evaluation fuction.
|
||||
* @returns {Boolean} "false" if the evaluator function returned
|
||||
* "false" for any of the matched nodes. Otherwise "true".
|
||||
*/
|
||||
checkForward : function()
|
||||
{
|
||||
return iterate.call( this, false, true ) !== false;
|
||||
},
|
||||
|
||||
/**
|
||||
* Check all nodes at left, executing the evaluation fuction.
|
||||
* @returns {Boolean} "false" if the evaluator function returned
|
||||
* "false" for any of the matched nodes. Otherwise "true".
|
||||
*/
|
||||
checkBackward : function()
|
||||
{
|
||||
return iterate.call( this, true, true ) !== false;
|
||||
},
|
||||
|
||||
/**
|
||||
* Executes a full walk forward (to the right), until no more nodes
|
||||
* are available, returning the last valid node.
|
||||
* @returns {CKEDITOR.dom.node} The last node at the right or null
|
||||
* if no valid nodes are available.
|
||||
*/
|
||||
lastForward : function()
|
||||
{
|
||||
return iterateToLast.call( this );
|
||||
},
|
||||
|
||||
/**
|
||||
* Executes a full walk backwards (to the left), until no more nodes
|
||||
* are available, returning the last valid node.
|
||||
* @returns {CKEDITOR.dom.node} The last node at the left or null
|
||||
* if no valid nodes are available.
|
||||
*/
|
||||
lastBackward : function()
|
||||
{
|
||||
return iterateToLast.call( this, true );
|
||||
},
|
||||
|
||||
reset : function()
|
||||
{
|
||||
delete this.current;
|
||||
this._ = {};
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
/*
|
||||
* Anything whose display computed style is block, list-item, table,
|
||||
* table-row-group, table-header-group, table-footer-group, table-row,
|
||||
* table-column-group, table-column, table-cell, table-caption, or whose node
|
||||
* name is hr, br (when enterMode is br only) is a block boundary.
|
||||
*/
|
||||
var blockBoundaryDisplayMatch =
|
||||
{
|
||||
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
|
||||
},
|
||||
blockBoundaryNodeNameMatch = { hr : 1 };
|
||||
|
||||
CKEDITOR.dom.element.prototype.isBlockBoundary = function( customNodeNames )
|
||||
{
|
||||
var nodeNameMatches = CKEDITOR.tools.extend( {},
|
||||
blockBoundaryNodeNameMatch, customNodeNames || {} );
|
||||
|
||||
return blockBoundaryDisplayMatch[ this.getComputedStyle( 'display' ) ] ||
|
||||
nodeNameMatches[ this.getName() ];
|
||||
};
|
||||
|
||||
CKEDITOR.dom.walker.blockBoundary = function( customNodeNames )
|
||||
{
|
||||
return function( node , type )
|
||||
{
|
||||
return ! ( node.type == CKEDITOR.NODE_ELEMENT
|
||||
&& node.isBlockBoundary( customNodeNames ) );
|
||||
};
|
||||
};
|
||||
|
||||
CKEDITOR.dom.walker.listItemBoundary = function()
|
||||
{
|
||||
return this.blockBoundary( { br : 1 } );
|
||||
};
|
||||
/**
|
||||
* Whether the node is a bookmark node's inner text node.
|
||||
*/
|
||||
CKEDITOR.dom.walker.bookmarkContents = function( node )
|
||||
{
|
||||
},
|
||||
|
||||
/**
|
||||
* Whether the to-be-evaluated node is a bookmark node OR bookmark node
|
||||
* inner contents.
|
||||
* @param {Boolean} contentOnly Whether only test againt the text content of
|
||||
* bookmark node instead of the element itself(default).
|
||||
* @param {Boolean} isReject Whether should return 'false' for the bookmark
|
||||
* node instead of 'true'(default).
|
||||
*/
|
||||
CKEDITOR.dom.walker.bookmark = function( contentOnly, isReject )
|
||||
{
|
||||
function isBookmarkNode( node )
|
||||
{
|
||||
return ( node && node.getName
|
||||
&& node.getName() == 'span'
|
||||
&& node.hasAttribute('_fck_bookmark') );
|
||||
}
|
||||
|
||||
return function( node )
|
||||
{
|
||||
var isBookmark, parent;
|
||||
// Is bookmark inner text node?
|
||||
isBookmark = ( node && !node.getName && ( parent = node.getParent() )
|
||||
&& isBookmarkNode( parent ) );
|
||||
// Is bookmark node?
|
||||
isBookmark = contentOnly ? isBookmark : isBookmark || isBookmarkNode( node );
|
||||
return isReject ^ isBookmark;
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Whether the node is a text node containing only whitespaces characters.
|
||||
* @param isReject
|
||||
*/
|
||||
CKEDITOR.dom.walker.whitespaces = function( isReject )
|
||||
{
|
||||
return function( node )
|
||||
{
|
||||
var isWhitespace = node && ( node.type == CKEDITOR.NODE_TEXT )
|
||||
&& !CKEDITOR.tools.trim( node.getText() );
|
||||
return isReject ^ isWhitespace;
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Whether the node is invisible in wysiwyg mode.
|
||||
* @param isReject
|
||||
*/
|
||||
CKEDITOR.dom.walker.invisible = function( isReject )
|
||||
{
|
||||
var whitespace = CKEDITOR.dom.walker.whitespaces();
|
||||
return function( node )
|
||||
{
|
||||
// Nodes that take no spaces in wysiwyg:
|
||||
// 1. White-spaces but not including NBSP;
|
||||
// 2. Empty inline elements, e.g. <b></b> we're checking here
|
||||
// 'offsetHeight' instead of 'offsetWidth' for properly excluding
|
||||
// all sorts of empty paragraph, e.g. <br />.
|
||||
var isInvisible = whitespace( node ) || node.is && !node.$.offsetHeight;
|
||||
return isReject ^ isInvisible;
|
||||
};
|
||||
};
|
||||
|
||||
var tailNbspRegex = /^[\t\r\n ]*(?: |\xa0)$/,
|
||||
isNotWhitespaces = CKEDITOR.dom.walker.whitespaces( true ),
|
||||
isNotBookmark = CKEDITOR.dom.walker.bookmark( false, true ),
|
||||
fillerEvaluator = function( element )
|
||||
{
|
||||
return isNotBookmark( element ) && isNotWhitespaces( element );
|
||||
};
|
||||
|
||||
// Check if there's a filler node at the end of an element, and return it.
|
||||
CKEDITOR.dom.element.prototype.getBogus = function ()
|
||||
{
|
||||
var tail = this.getLast( fillerEvaluator );
|
||||
if ( tail && ( !CKEDITOR.env.ie ? tail.is && tail.is( 'br' )
|
||||
: tail.getText && tailNbspRegex.test( tail.getText() ) ) )
|
||||
{
|
||||
return tail;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
})();
|
96
phpgwapi/js/ckeditor3/_source/core/dom/window.js
Normal file
96
phpgwapi/js/ckeditor3/_source/core/dom/window.js
Normal file
@ -0,0 +1,96 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.dom.document} class, which
|
||||
* represents a DOM document.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a DOM window.
|
||||
* @constructor
|
||||
* @augments CKEDITOR.dom.domObject
|
||||
* @param {Object} domWindow A native DOM window.
|
||||
* @example
|
||||
* var document = new CKEDITOR.dom.window( window );
|
||||
*/
|
||||
CKEDITOR.dom.window = function( domWindow )
|
||||
{
|
||||
CKEDITOR.dom.domObject.call( this, domWindow );
|
||||
};
|
||||
|
||||
CKEDITOR.dom.window.prototype = new CKEDITOR.dom.domObject();
|
||||
|
||||
CKEDITOR.tools.extend( CKEDITOR.dom.window.prototype,
|
||||
/** @lends CKEDITOR.dom.window.prototype */
|
||||
{
|
||||
/**
|
||||
* Moves the selection focus to this window.
|
||||
* @function
|
||||
* @example
|
||||
* var win = new CKEDITOR.dom.window( window );
|
||||
* <b>win.focus()</b>;
|
||||
*/
|
||||
focus : function()
|
||||
{
|
||||
// Webkit is sometimes failed to focus iframe, blur it first(#3835).
|
||||
if ( CKEDITOR.env.webkit && this.$.parent )
|
||||
this.$.parent.focus();
|
||||
this.$.focus();
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the width and height of this window's viewable area.
|
||||
* @function
|
||||
* @returns {Object} An object with the "width" and "height"
|
||||
* properties containing the size.
|
||||
* @example
|
||||
* var win = new CKEDITOR.dom.window( window );
|
||||
* var size = <b>win.getViewPaneSize()</b>;
|
||||
* alert( size.width );
|
||||
* alert( size.height );
|
||||
*/
|
||||
getViewPaneSize : function()
|
||||
{
|
||||
var doc = this.$.document,
|
||||
stdMode = doc.compatMode == 'CSS1Compat';
|
||||
return {
|
||||
width : ( stdMode ? doc.documentElement.clientWidth : doc.body.clientWidth ) || 0,
|
||||
height : ( stdMode ? doc.documentElement.clientHeight : doc.body.clientHeight ) || 0
|
||||
};
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the current position of the window's scroll.
|
||||
* @function
|
||||
* @returns {Object} An object with the "x" and "y" properties
|
||||
* containing the scroll position.
|
||||
* @example
|
||||
* var win = new CKEDITOR.dom.window( window );
|
||||
* var pos = <b>win.getScrollPosition()</b>;
|
||||
* alert( pos.x );
|
||||
* alert( pos.y );
|
||||
*/
|
||||
getScrollPosition : function()
|
||||
{
|
||||
var $ = this.$;
|
||||
|
||||
if ( 'pageXOffset' in $ )
|
||||
{
|
||||
return {
|
||||
x : $.pageXOffset || 0,
|
||||
y : $.pageYOffset || 0
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
var doc = $.document;
|
||||
return {
|
||||
x : doc.documentElement.scrollLeft || doc.body.scrollLeft || 0,
|
||||
y : doc.documentElement.scrollTop || doc.body.scrollTop || 0
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
233
phpgwapi/js/ckeditor3/_source/core/dtd.js
Normal file
233
phpgwapi/js/ckeditor3/_source/core/dtd.js
Normal file
@ -0,0 +1,233 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.dtd} object, which holds the DTD
|
||||
* mapping for XHTML 1.0 Transitional. This file was automatically
|
||||
* generated from the file: xhtml1-transitional.dtd.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Holds and object representation of the HTML DTD to be used by the editor in
|
||||
* its internal operations.
|
||||
*
|
||||
* Each element in the DTD is represented by a
|
||||
* property in this object. Each property contains the list of elements that
|
||||
* can be contained by the element. Text is represented by the "#" property.
|
||||
*
|
||||
* Several special grouping properties are also available. Their names start
|
||||
* with the "$" character.
|
||||
* @namespace
|
||||
* @example
|
||||
* // Check if "div" can be contained in a "p" element.
|
||||
* alert( !!CKEDITOR.dtd[ 'p' ][ 'div' ] ); "false"
|
||||
* @example
|
||||
* // Check if "p" can be contained in a "div" element.
|
||||
* alert( !!CKEDITOR.dtd[ 'div' ][ 'p' ] ); "true"
|
||||
* @example
|
||||
* // Check if "p" is a block element.
|
||||
* alert( !!CKEDITOR.dtd.$block[ 'p' ] ); "true"
|
||||
*/
|
||||
CKEDITOR.dtd = (function()
|
||||
{
|
||||
var X = CKEDITOR.tools.extend,
|
||||
|
||||
A = {isindex:1,fieldset:1},
|
||||
B = {input:1,button:1,select:1,textarea:1,label:1},
|
||||
C = X({a:1},B),
|
||||
D = X({iframe:1},C),
|
||||
E = {hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1},
|
||||
F = {ins:1,del:1,script:1,style:1},
|
||||
G = X({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},F),
|
||||
H = X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G),
|
||||
I = X({p:1},H),
|
||||
J = X({iframe:1},H,B),
|
||||
K = {img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1},
|
||||
|
||||
L = X({a:1},J),
|
||||
M = {tr:1},
|
||||
N = {'#':1},
|
||||
O = X({param:1},K),
|
||||
P = X({form:1},A,D,E,I),
|
||||
Q = {li:1},
|
||||
R = {style:1,script:1},
|
||||
S = {base:1,link:1,meta:1,title:1},
|
||||
T = X(S,R),
|
||||
U = {head:1,body:1},
|
||||
V = {html:1};
|
||||
|
||||
var block = {address:1,blockquote:1,center:1,dir:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,isindex:1,menu:1,noframes:1,ol:1,p:1,pre:1,table:1,ul:1};
|
||||
|
||||
return /** @lends CKEDITOR.dtd */ {
|
||||
|
||||
// The "$" items have been added manually.
|
||||
|
||||
// List of elements living outside body.
|
||||
$nonBodyContent: X(V,U,S),
|
||||
|
||||
/**
|
||||
* List of block elements, like "p" or "div".
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
$block : block,
|
||||
|
||||
/**
|
||||
* List of block limit elements.
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
$blockLimit : { body:1,div:1,td:1,th:1,caption:1,form:1 },
|
||||
|
||||
$inline : L, // Just like span.
|
||||
|
||||
$body : X({script:1,style:1}, block),
|
||||
|
||||
$cdata : {script:1,style:1},
|
||||
|
||||
/**
|
||||
* List of empty (self-closing) elements, like "br" or "img".
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
$empty : {area:1,base:1,br:1,col:1,hr:1,img:1,input:1,link:1,meta:1,param:1},
|
||||
|
||||
/**
|
||||
* List of list item elements, like "li" or "dd".
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
$listItem : {dd:1,dt:1,li:1},
|
||||
|
||||
/**
|
||||
* List of list root elements.
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
$list: { ul:1,ol:1,dl:1},
|
||||
|
||||
/**
|
||||
* Elements that accept text nodes, but are not possible to edit into
|
||||
* the browser.
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
$nonEditable : {applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1,param:1},
|
||||
|
||||
/**
|
||||
* List of elements that can be ignored if empty, like "b" or "span".
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
$removeEmpty : {abbr:1,acronym:1,address: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,s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1},
|
||||
|
||||
/**
|
||||
* List of elements that have tabindex set to zero by default.
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
$tabIndex : {a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},
|
||||
|
||||
/**
|
||||
* List of elements used inside the "table" element, like "tbody" or "td".
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
$tableContent : {caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},
|
||||
|
||||
html: U,
|
||||
head: T,
|
||||
style: N,
|
||||
script: N,
|
||||
body: P,
|
||||
base: {},
|
||||
link: {},
|
||||
meta: {},
|
||||
title: N,
|
||||
col : {},
|
||||
tr : {td:1,th:1},
|
||||
img : {},
|
||||
colgroup : {col:1},
|
||||
noscript : P,
|
||||
td : P,
|
||||
br : {},
|
||||
th : P,
|
||||
center : P,
|
||||
kbd : L,
|
||||
button : X(I,E),
|
||||
basefont : {},
|
||||
h5 : L,
|
||||
h4 : L,
|
||||
samp : L,
|
||||
h6 : L,
|
||||
ol : Q,
|
||||
h1 : L,
|
||||
h3 : L,
|
||||
option : N,
|
||||
h2 : L,
|
||||
form : X(A,D,E,I),
|
||||
select : {optgroup:1,option:1},
|
||||
font : L,
|
||||
ins : L,
|
||||
menu : Q,
|
||||
abbr : L,
|
||||
label : L,
|
||||
table : {thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},
|
||||
code : L,
|
||||
script : N,
|
||||
tfoot : M,
|
||||
cite : L,
|
||||
li : P,
|
||||
input : {},
|
||||
iframe : P,
|
||||
strong : L,
|
||||
textarea : N,
|
||||
noframes : P,
|
||||
big : L,
|
||||
small : L,
|
||||
span : L,
|
||||
hr : {},
|
||||
dt : L,
|
||||
sub : L,
|
||||
optgroup : {option:1},
|
||||
param : {},
|
||||
bdo : L,
|
||||
'var' : L,
|
||||
div : P,
|
||||
object : O,
|
||||
sup : L,
|
||||
dd : P,
|
||||
strike : L,
|
||||
area : {},
|
||||
dir : Q,
|
||||
map : X({area:1,form:1,p:1},A,F,E),
|
||||
applet : O,
|
||||
dl : {dt:1,dd:1},
|
||||
del : L,
|
||||
isindex : {},
|
||||
fieldset : X({legend:1},K),
|
||||
thead : M,
|
||||
ul : Q,
|
||||
acronym : L,
|
||||
b : L,
|
||||
a : J,
|
||||
blockquote : P,
|
||||
caption : L,
|
||||
i : L,
|
||||
u : L,
|
||||
tbody : M,
|
||||
s : L,
|
||||
address : X(D,I),
|
||||
tt : L,
|
||||
legend : L,
|
||||
q : L,
|
||||
pre : X(G,C),
|
||||
p : L,
|
||||
em : L,
|
||||
dfn : L
|
||||
};
|
||||
})();
|
||||
|
||||
// PACKAGER_RENAME( CKEDITOR.dtd )
|
756
phpgwapi/js/ckeditor3/_source/core/editor.js
Normal file
756
phpgwapi/js/ckeditor3/_source/core/editor.js
Normal file
@ -0,0 +1,756 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.editor} class, which represents an
|
||||
* editor instance.
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
// The counter for automatic instance names.
|
||||
var nameCounter = 0;
|
||||
|
||||
var getNewName = function()
|
||||
{
|
||||
var name = 'editor' + ( ++nameCounter );
|
||||
return ( CKEDITOR.instances && CKEDITOR.instances[ name ] ) ? getNewName() : name;
|
||||
};
|
||||
|
||||
// ##### START: Config Privates
|
||||
|
||||
// These function loads custom configuration files and cache the
|
||||
// CKEDITOR.editorConfig functions defined on them, so there is no need to
|
||||
// download them more than once for several instances.
|
||||
var loadConfigLoaded = {};
|
||||
var loadConfig = function( editor )
|
||||
{
|
||||
var customConfig = editor.config.customConfig;
|
||||
|
||||
// Check if there is a custom config to load.
|
||||
if ( !customConfig )
|
||||
return false;
|
||||
|
||||
customConfig = CKEDITOR.getUrl( customConfig );
|
||||
|
||||
var loadedConfig = loadConfigLoaded[ customConfig ] || ( loadConfigLoaded[ customConfig ] = {} );
|
||||
|
||||
// If the custom config has already been downloaded, reuse it.
|
||||
if ( loadedConfig.fn )
|
||||
{
|
||||
// Call the cached CKEDITOR.editorConfig defined in the custom
|
||||
// config file for the editor instance depending on it.
|
||||
loadedConfig.fn.call( editor, editor.config );
|
||||
|
||||
// If there is no other customConfig in the chain, fire the
|
||||
// "configLoaded" event.
|
||||
if ( CKEDITOR.getUrl( editor.config.customConfig ) == customConfig || !loadConfig( editor ) )
|
||||
editor.fireOnce( 'customConfigLoaded' );
|
||||
}
|
||||
else
|
||||
{
|
||||
// Load the custom configuration file.
|
||||
CKEDITOR.scriptLoader.load( customConfig, function()
|
||||
{
|
||||
// If the CKEDITOR.editorConfig function has been properly
|
||||
// defined in the custom configuration file, cache it.
|
||||
if ( CKEDITOR.editorConfig )
|
||||
loadedConfig.fn = CKEDITOR.editorConfig;
|
||||
else
|
||||
loadedConfig.fn = function(){};
|
||||
|
||||
// Call the load config again. This time the custom
|
||||
// config is already cached and so it will get loaded.
|
||||
loadConfig( editor );
|
||||
});
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
var initConfig = function( editor, instanceConfig )
|
||||
{
|
||||
// Setup the lister for the "customConfigLoaded" event.
|
||||
editor.on( 'customConfigLoaded', function()
|
||||
{
|
||||
if ( instanceConfig )
|
||||
{
|
||||
// Register the events that may have been set at the instance
|
||||
// configuration object.
|
||||
if ( instanceConfig.on )
|
||||
{
|
||||
for ( var eventName in instanceConfig.on )
|
||||
{
|
||||
editor.on( eventName, instanceConfig.on[ eventName ] );
|
||||
}
|
||||
}
|
||||
|
||||
// Overwrite the settings from the in-page config.
|
||||
CKEDITOR.tools.extend( editor.config, instanceConfig, true );
|
||||
|
||||
delete editor.config.on;
|
||||
}
|
||||
|
||||
onConfigLoaded( editor );
|
||||
});
|
||||
|
||||
// The instance config may override the customConfig setting to avoid
|
||||
// loading the default ~/config.js file.
|
||||
if ( instanceConfig && instanceConfig.customConfig != undefined )
|
||||
editor.config.customConfig = instanceConfig.customConfig;
|
||||
|
||||
// Load configs from the custom configuration files.
|
||||
if ( !loadConfig( editor ) )
|
||||
editor.fireOnce( 'customConfigLoaded' );
|
||||
};
|
||||
|
||||
// ##### END: Config Privates
|
||||
|
||||
var onConfigLoaded = function( editor )
|
||||
{
|
||||
// Set config related properties.
|
||||
|
||||
var skin = editor.config.skin.split( ',' ),
|
||||
skinName = skin[ 0 ],
|
||||
skinPath = CKEDITOR.getUrl( skin[ 1 ] || (
|
||||
'_source/' + // @Packager.RemoveLine
|
||||
'skins/' + skinName + '/' ) );
|
||||
|
||||
editor.skinName = skinName;
|
||||
editor.skinPath = skinPath;
|
||||
editor.skinClass = 'cke_skin_' + skinName;
|
||||
|
||||
editor.tabIndex = editor.config.tabIndex || editor.element.getAttribute( 'tabindex' ) || 0;
|
||||
|
||||
// Fire the "configLoaded" event.
|
||||
editor.fireOnce( 'configLoaded' );
|
||||
|
||||
// Load language file.
|
||||
loadSkin( editor );
|
||||
};
|
||||
|
||||
var loadLang = function( editor )
|
||||
{
|
||||
CKEDITOR.lang.load( editor.config.language, editor.config.defaultLanguage, function( languageCode, lang )
|
||||
{
|
||||
editor.langCode = languageCode;
|
||||
|
||||
// As we'll be adding plugin specific entries that could come
|
||||
// from different language code files, we need a copy of lang,
|
||||
// not a direct reference to it.
|
||||
editor.lang = CKEDITOR.tools.prototypedCopy( lang );
|
||||
|
||||
// We're not able to support RTL in Firefox 2 at this time.
|
||||
if ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 && editor.lang.dir == 'rtl' )
|
||||
editor.lang.dir = 'ltr';
|
||||
|
||||
loadPlugins( editor );
|
||||
});
|
||||
};
|
||||
|
||||
var loadPlugins = function( editor )
|
||||
{
|
||||
var config = editor.config,
|
||||
plugins = config.plugins,
|
||||
extraPlugins = config.extraPlugins,
|
||||
removePlugins = config.removePlugins;
|
||||
|
||||
if ( extraPlugins )
|
||||
{
|
||||
// Remove them first to avoid duplications.
|
||||
var removeRegex = new RegExp( '(?:^|,)(?:' + extraPlugins.replace( /\s*,\s*/g, '|' ) + ')(?=,|$)' , 'g' );
|
||||
plugins = plugins.replace( removeRegex, '' );
|
||||
|
||||
plugins += ',' + extraPlugins;
|
||||
}
|
||||
|
||||
if ( removePlugins )
|
||||
{
|
||||
removeRegex = new RegExp( '(?:^|,)(?:' + removePlugins.replace( /\s*,\s*/g, '|' ) + ')(?=,|$)' , 'g' );
|
||||
plugins = plugins.replace( removeRegex, '' );
|
||||
}
|
||||
|
||||
// Load all plugins defined in the "plugins" setting.
|
||||
CKEDITOR.plugins.load( plugins.split( ',' ), function( plugins )
|
||||
{
|
||||
// The list of plugins.
|
||||
var pluginsArray = [];
|
||||
|
||||
// The language code to get loaded for each plugin. Null
|
||||
// entries will be appended for plugins with no language files.
|
||||
var languageCodes = [];
|
||||
|
||||
// The list of URLs to language files.
|
||||
var languageFiles = [];
|
||||
|
||||
// Cache the loaded plugin names.
|
||||
editor.plugins = plugins;
|
||||
|
||||
// Loop through all plugins, to build the list of language
|
||||
// files to get loaded.
|
||||
for ( var pluginName in plugins )
|
||||
{
|
||||
var plugin = plugins[ pluginName ],
|
||||
pluginLangs = plugin.lang,
|
||||
pluginPath = CKEDITOR.plugins.getPath( pluginName ),
|
||||
lang = null;
|
||||
|
||||
// Set the plugin path in the plugin.
|
||||
plugin.path = pluginPath;
|
||||
|
||||
// If the plugin has "lang".
|
||||
if ( pluginLangs )
|
||||
{
|
||||
// Resolve the plugin language. If the current language
|
||||
// is not available, get the first one (default one).
|
||||
lang = ( CKEDITOR.tools.indexOf( pluginLangs, editor.langCode ) >= 0 ? editor.langCode : pluginLangs[ 0 ] );
|
||||
|
||||
if ( !plugin.lang[ lang ] )
|
||||
{
|
||||
// Put the language file URL into the list of files to
|
||||
// get downloaded.
|
||||
languageFiles.push( CKEDITOR.getUrl( pluginPath + 'lang/' + lang + '.js' ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
CKEDITOR.tools.extend( editor.lang, plugin.lang[ lang ] );
|
||||
lang = null;
|
||||
}
|
||||
}
|
||||
|
||||
// Save the language code, so we know later which
|
||||
// language has been resolved to this plugin.
|
||||
languageCodes.push( lang );
|
||||
|
||||
pluginsArray.push( plugin );
|
||||
}
|
||||
|
||||
// Load all plugin specific language files in a row.
|
||||
CKEDITOR.scriptLoader.load( languageFiles, function()
|
||||
{
|
||||
// Initialize all plugins that have the "beforeInit" and "init" methods defined.
|
||||
var methods = [ 'beforeInit', 'init', 'afterInit' ];
|
||||
for ( var m = 0 ; m < methods.length ; m++ )
|
||||
{
|
||||
for ( var i = 0 ; i < pluginsArray.length ; i++ )
|
||||
{
|
||||
var plugin = pluginsArray[ i ];
|
||||
|
||||
// Uses the first loop to update the language entries also.
|
||||
if ( m === 0 && languageCodes[ i ] && plugin.lang )
|
||||
CKEDITOR.tools.extend( editor.lang, plugin.lang[ languageCodes[ i ] ] );
|
||||
|
||||
// Call the plugin method (beforeInit and init).
|
||||
if ( plugin[ methods[ m ] ] )
|
||||
plugin[ methods[ m ] ]( editor );
|
||||
}
|
||||
}
|
||||
|
||||
// Load the editor skin.
|
||||
editor.fire( 'pluginsLoaded' );
|
||||
loadTheme( editor );
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
var loadSkin = function( editor )
|
||||
{
|
||||
CKEDITOR.skins.load( editor, 'editor', function()
|
||||
{
|
||||
loadLang( editor );
|
||||
});
|
||||
};
|
||||
|
||||
var loadTheme = function( editor )
|
||||
{
|
||||
var theme = editor.config.theme;
|
||||
CKEDITOR.themes.load( theme, function()
|
||||
{
|
||||
var editorTheme = editor.theme = CKEDITOR.themes.get( theme );
|
||||
editorTheme.path = CKEDITOR.themes.getPath( theme );
|
||||
editorTheme.build( editor );
|
||||
|
||||
if ( editor.config.autoUpdateElement )
|
||||
attachToForm( editor );
|
||||
});
|
||||
};
|
||||
|
||||
var attachToForm = function( editor )
|
||||
{
|
||||
var element = editor.element;
|
||||
|
||||
// If are replacing a textarea, we must
|
||||
if ( editor.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE && element.is( 'textarea' ) )
|
||||
{
|
||||
var form = element.$.form && new CKEDITOR.dom.element( element.$.form );
|
||||
if ( form )
|
||||
{
|
||||
function onSubmit()
|
||||
{
|
||||
editor.updateElement();
|
||||
}
|
||||
form.on( 'submit',onSubmit );
|
||||
|
||||
// Setup the submit function because it doesn't fire the
|
||||
// "submit" event.
|
||||
if ( !form.$.submit.nodeName )
|
||||
{
|
||||
form.$.submit = CKEDITOR.tools.override( form.$.submit, function( originalSubmit )
|
||||
{
|
||||
return function()
|
||||
{
|
||||
editor.updateElement();
|
||||
|
||||
// For IE, the DOM submit function is not a
|
||||
// function, so we need thid check.
|
||||
if ( originalSubmit.apply )
|
||||
originalSubmit.apply( this, arguments );
|
||||
else
|
||||
originalSubmit();
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
// Remove 'submit' events registered on form element before destroying.(#3988)
|
||||
editor.on( 'destroy', function()
|
||||
{
|
||||
form.removeListener( 'submit', onSubmit );
|
||||
} );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function updateCommandsMode()
|
||||
{
|
||||
var command,
|
||||
commands = this._.commands,
|
||||
mode = this.mode;
|
||||
|
||||
for ( var name in commands )
|
||||
{
|
||||
command = commands[ name ];
|
||||
command[ command.startDisabled ? 'disable' : command.modes[ mode ] ? 'enable' : 'disable' ]();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the editor instance. This function is called by the editor
|
||||
* contructor (editor_basic.js).
|
||||
* @private
|
||||
*/
|
||||
CKEDITOR.editor.prototype._init = function()
|
||||
{
|
||||
// Get the properties that have been saved in the editor_base
|
||||
// implementation.
|
||||
var element = CKEDITOR.dom.element.get( this._.element ),
|
||||
instanceConfig = this._.instanceConfig;
|
||||
delete this._.element;
|
||||
delete this._.instanceConfig;
|
||||
|
||||
this._.commands = {};
|
||||
this._.styles = [];
|
||||
|
||||
/**
|
||||
* The DOM element that has been replaced by this editor instance. This
|
||||
* element holds the editor data on load and post.
|
||||
* @name CKEDITOR.editor.prototype.element
|
||||
* @type CKEDITOR.dom.element
|
||||
* @example
|
||||
* var editor = CKEDITOR.instances.editor1;
|
||||
* alert( <b>editor.element</b>.getName() ); "textarea"
|
||||
*/
|
||||
this.element = element;
|
||||
|
||||
/**
|
||||
* The editor instance name. It hay be the replaced element id, name or
|
||||
* a default name using a progressive counter (editor1, editor2, ...).
|
||||
* @name CKEDITOR.editor.prototype.name
|
||||
* @type String
|
||||
* @example
|
||||
* var editor = CKEDITOR.instances.editor1;
|
||||
* alert( <b>editor.name</b> ); "editor1"
|
||||
*/
|
||||
this.name = ( element && ( this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
|
||||
&& ( element.getId() || element.getNameAtt() ) )
|
||||
|| getNewName();
|
||||
|
||||
if ( this.name in CKEDITOR.instances )
|
||||
throw '[CKEDITOR.editor] The instance "' + this.name + '" already exists.';
|
||||
|
||||
/**
|
||||
* The configurations for this editor instance. It inherits all
|
||||
* settings defined in (@link CKEDITOR.config}, combined with settings
|
||||
* loaded from custom configuration files and those defined inline in
|
||||
* the page when creating the editor.
|
||||
* @name CKEDITOR.editor.prototype.config
|
||||
* @type Object
|
||||
* @example
|
||||
* var editor = CKEDITOR.instances.editor1;
|
||||
* alert( <b>editor.config.theme</b> ); "default" e.g.
|
||||
*/
|
||||
this.config = CKEDITOR.tools.prototypedCopy( CKEDITOR.config );
|
||||
|
||||
/**
|
||||
* Namespace containing UI features related to this editor instance.
|
||||
* @name CKEDITOR.editor.prototype.ui
|
||||
* @type CKEDITOR.ui
|
||||
* @example
|
||||
*/
|
||||
this.ui = new CKEDITOR.ui( this );
|
||||
|
||||
/**
|
||||
* Controls the focus state of this editor instance. This property
|
||||
* is rarely used for normal API operations. It is mainly
|
||||
* destinated to developer adding UI elements to the editor interface.
|
||||
* @name CKEDITOR.editor.prototype.focusManager
|
||||
* @type CKEDITOR.focusManager
|
||||
* @example
|
||||
*/
|
||||
this.focusManager = new CKEDITOR.focusManager( this );
|
||||
|
||||
CKEDITOR.fire( 'instanceCreated', null, this );
|
||||
|
||||
this.on( 'mode', updateCommandsMode, null, null, 1 );
|
||||
|
||||
initConfig( this, instanceConfig );
|
||||
};
|
||||
})();
|
||||
|
||||
CKEDITOR.tools.extend( CKEDITOR.editor.prototype,
|
||||
/** @lends CKEDITOR.editor.prototype */
|
||||
{
|
||||
/**
|
||||
* Adds a command definition to the editor instance. Commands added with
|
||||
* this function can be later executed with {@link #execCommand}.
|
||||
* @param {String} commandName The indentifier name of the command.
|
||||
* @param {CKEDITOR.commandDefinition} commandDefinition The command definition.
|
||||
* @example
|
||||
* editorInstance.addCommand( 'sample',
|
||||
* {
|
||||
* exec : function( editor )
|
||||
* {
|
||||
* alert( 'Executing a command for the editor name "' + editor.name + '"!' );
|
||||
* }
|
||||
* });
|
||||
*/
|
||||
addCommand : function( commandName, commandDefinition )
|
||||
{
|
||||
return this._.commands[ commandName ] = new CKEDITOR.command( this, commandDefinition );
|
||||
},
|
||||
|
||||
/**
|
||||
* Add a trunk of css text to the editor which will be applied to the wysiwyg editing document.
|
||||
* Note: This function should be called before editor is loaded to take effect.
|
||||
* @param css {String} CSS text.
|
||||
* @example
|
||||
* editorInstance.addCss( 'body { background-color: grey; }' );
|
||||
*/
|
||||
addCss : function( css )
|
||||
{
|
||||
this._.styles.push( css );
|
||||
},
|
||||
|
||||
/**
|
||||
* Destroys the editor instance, releasing all resources used by it.
|
||||
* If the editor replaced an element, the element will be recovered.
|
||||
* @param {Boolean} [noUpdate] If the instance is replacing a DOM
|
||||
* element, this parameter indicates whether or not to update the
|
||||
* element with the instance contents.
|
||||
* @example
|
||||
* alert( CKEDITOR.instances.editor1 ); e.g "object"
|
||||
* <b>CKEDITOR.instances.editor1.destroy()</b>;
|
||||
* alert( CKEDITOR.instances.editor1 ); "undefined"
|
||||
*/
|
||||
destroy : function( noUpdate )
|
||||
{
|
||||
if ( !noUpdate )
|
||||
this.updateElement();
|
||||
|
||||
if ( this.mode )
|
||||
{
|
||||
// -> currentMode.unload( holderElement );
|
||||
this._.modes[ this.mode ].unload( this.getThemeSpace( 'contents' ) );
|
||||
}
|
||||
|
||||
this.theme.destroy( this );
|
||||
|
||||
var toolbars,
|
||||
index = 0,
|
||||
j,
|
||||
items,
|
||||
instance;
|
||||
|
||||
if ( this.toolbox )
|
||||
{
|
||||
toolbars = this.toolbox.toolbars;
|
||||
for ( ; index < toolbars.length ; index++ )
|
||||
{
|
||||
items = toolbars[ index ].items;
|
||||
for ( j = 0 ; j < items.length ; j++ )
|
||||
{
|
||||
instance = items[ j ];
|
||||
if ( instance.clickFn ) CKEDITOR.tools.removeFunction( instance.clickFn );
|
||||
if ( instance.keyDownFn ) CKEDITOR.tools.removeFunction( instance.keyDownFn );
|
||||
|
||||
if ( instance.index ) CKEDITOR.ui.button._.instances[ instance.index ] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( this.contextMenu )
|
||||
CKEDITOR.tools.removeFunction( this.contextMenu._.functionId );
|
||||
|
||||
if ( this._.filebrowserFn )
|
||||
CKEDITOR.tools.removeFunction( this._.filebrowserFn );
|
||||
|
||||
this.fire( 'destroy' );
|
||||
CKEDITOR.remove( this );
|
||||
CKEDITOR.fire( 'instanceDestroyed', null, this );
|
||||
},
|
||||
|
||||
/**
|
||||
* Executes a command.
|
||||
* @param {String} commandName The indentifier name of the command.
|
||||
* @param {Object} [data] Data to be passed to the command
|
||||
* @returns {Boolean} "true" if the command has been successfuly
|
||||
* executed, otherwise "false".
|
||||
* @example
|
||||
* editorInstance.execCommand( 'Bold' );
|
||||
*/
|
||||
execCommand : function( commandName, data )
|
||||
{
|
||||
var command = this.getCommand( commandName );
|
||||
|
||||
var eventData =
|
||||
{
|
||||
name: commandName,
|
||||
commandData: data,
|
||||
command: command
|
||||
};
|
||||
|
||||
if ( command && command.state != CKEDITOR.TRISTATE_DISABLED )
|
||||
{
|
||||
if ( this.fire( 'beforeCommandExec', eventData ) !== true )
|
||||
{
|
||||
eventData.returnValue = command.exec( eventData.commandData );
|
||||
|
||||
// Fire the 'afterCommandExec' immediately if command is synchronous.
|
||||
if ( !command.async && this.fire( 'afterCommandExec', eventData ) !== true )
|
||||
return eventData.returnValue;
|
||||
}
|
||||
}
|
||||
|
||||
// throw 'Unknown command name "' + commandName + '"';
|
||||
return false;
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets one of the registered commands. Note that, after registering a
|
||||
* command definition with addCommand, it is transformed internally
|
||||
* into an instance of {@link CKEDITOR.command}, which will be then
|
||||
* returned by this function.
|
||||
* @param {String} commandName The name of the command to be returned.
|
||||
* This is the same used to register the command with addCommand.
|
||||
* @returns {CKEDITOR.command} The command object identified by the
|
||||
* provided name.
|
||||
*/
|
||||
getCommand : function( commandName )
|
||||
{
|
||||
return this._.commands[ commandName ];
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the editor data. The data will be in raw format. It is the same
|
||||
* data that is posted by the editor.
|
||||
* @type String
|
||||
* @returns (String) The editor data.
|
||||
* @example
|
||||
* if ( CKEDITOR.instances.editor1.<b>getData()</b> == '' )
|
||||
* alert( 'There is no data available' );
|
||||
*/
|
||||
getData : function()
|
||||
{
|
||||
this.fire( 'beforeGetData' );
|
||||
|
||||
var eventData = this._.data;
|
||||
|
||||
if ( typeof eventData != 'string' )
|
||||
{
|
||||
var element = this.element;
|
||||
if ( element && this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
|
||||
eventData = element.is( 'textarea' ) ? element.getValue() : element.getHtml();
|
||||
else
|
||||
eventData = '';
|
||||
}
|
||||
|
||||
eventData = { dataValue : eventData };
|
||||
|
||||
// Fire "getData" so data manipulation may happen.
|
||||
this.fire( 'getData', eventData );
|
||||
|
||||
return eventData.dataValue;
|
||||
},
|
||||
|
||||
getSnapshot : function()
|
||||
{
|
||||
var data = this.fire( 'getSnapshot' );
|
||||
|
||||
if ( typeof data != 'string' )
|
||||
{
|
||||
var element = this.element;
|
||||
if ( element && this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
|
||||
data = element.is( 'textarea' ) ? element.getValue() : element.getHtml();
|
||||
}
|
||||
|
||||
return data;
|
||||
},
|
||||
|
||||
loadSnapshot : function( snapshot )
|
||||
{
|
||||
this.fire( 'loadSnapshot', snapshot );
|
||||
},
|
||||
|
||||
/**
|
||||
* Sets the editor data. The data must be provided in raw format (HTML).<br />
|
||||
* <br />
|
||||
* Note that this menthod is asynchronous. The "callback" parameter must
|
||||
* be used if interaction with the editor is needed after setting the data.
|
||||
* @param {String} data HTML code to replace the curent content in the
|
||||
* editor.
|
||||
* @param {Function} callback Function to be called after the setData
|
||||
* is completed.
|
||||
* @example
|
||||
* CKEDITOR.instances.editor1.<b>setData</b>( '<p>This is the editor data.</p>' );
|
||||
* @example
|
||||
* CKEDITOR.instances.editor1.<b>setData</b>( '<p>Some other editor data.</p>', function()
|
||||
* {
|
||||
* this.checkDirty(); // true
|
||||
* });
|
||||
*/
|
||||
setData : function( data , callback )
|
||||
{
|
||||
if( callback )
|
||||
{
|
||||
this.on( 'dataReady', function( evt )
|
||||
{
|
||||
evt.removeListener();
|
||||
callback.call( evt.editor );
|
||||
} );
|
||||
}
|
||||
|
||||
// Fire "setData" so data manipulation may happen.
|
||||
var eventData = { dataValue : data };
|
||||
this.fire( 'setData', eventData );
|
||||
|
||||
this._.data = eventData.dataValue;
|
||||
|
||||
this.fire( 'afterSetData', eventData );
|
||||
},
|
||||
|
||||
/**
|
||||
* Inserts HTML into the currently selected position in the editor.
|
||||
* @param {String} data HTML code to be inserted into the editor.
|
||||
* @example
|
||||
* CKEDITOR.instances.editor1.<b>insertHtml( '<p>This is a new paragraph.</p>' )</b>;
|
||||
*/
|
||||
insertHtml : function( data )
|
||||
{
|
||||
this.fire( 'insertHtml', data );
|
||||
},
|
||||
|
||||
/**
|
||||
* Inserts an element into the currently selected position in the
|
||||
* editor.
|
||||
* @param {CKEDITOR.dom.element} element The element to be inserted
|
||||
* into the editor.
|
||||
* @example
|
||||
* var element = CKEDITOR.dom.element.createFromHtml( '<img src="hello.png" border="0" title="Hello" />' );
|
||||
* CKEDITOR.instances.editor1.<b>insertElement( element )</b>;
|
||||
*/
|
||||
insertElement : function( element )
|
||||
{
|
||||
this.fire( 'insertElement', element );
|
||||
},
|
||||
|
||||
checkDirty : function()
|
||||
{
|
||||
return ( this.mayBeDirty && this._.previousValue !== this.getSnapshot() );
|
||||
},
|
||||
|
||||
resetDirty : function()
|
||||
{
|
||||
if ( this.mayBeDirty )
|
||||
this._.previousValue = this.getSnapshot();
|
||||
},
|
||||
|
||||
/**
|
||||
* Updates the <textarea> element that has been replaced by the editor with
|
||||
* the current data available in the editor.
|
||||
* @example
|
||||
* CKEDITOR.instances.editor1.updateElement();
|
||||
* alert( document.getElementById( 'editor1' ).value ); // The current editor data.
|
||||
*/
|
||||
updateElement : function()
|
||||
{
|
||||
var element = this.element;
|
||||
if ( element && this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
|
||||
{
|
||||
var data = this.getData();
|
||||
|
||||
if ( this.config.htmlEncodeOutput )
|
||||
data = CKEDITOR.tools.htmlEncode( data );
|
||||
|
||||
if ( element.is( 'textarea' ) )
|
||||
element.setValue( data );
|
||||
else
|
||||
element.setHtml( data );
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
CKEDITOR.on( 'loaded', function()
|
||||
{
|
||||
// Run the full initialization for pending editors.
|
||||
var pending = CKEDITOR.editor._pending;
|
||||
if ( pending )
|
||||
{
|
||||
delete CKEDITOR.editor._pending;
|
||||
|
||||
for ( var i = 0 ; i < pending.length ; i++ )
|
||||
pending[ i ]._init();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Whether escape HTML when editor update original input element.
|
||||
* @name CKEDITOR.config.htmlEncodeOutput
|
||||
* @since 3.1
|
||||
* @type Boolean
|
||||
* @default false
|
||||
* @example
|
||||
* config.htmlEncodeOutput = true;
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fired when a CKEDITOR instance is created, but still before initializing it.
|
||||
* To interact with a fully initialized instance, use the
|
||||
* {@link CKEDITOR#instanceReady} event instead.
|
||||
* @name CKEDITOR#instanceCreated
|
||||
* @event
|
||||
* @param {CKEDITOR.editor} editor The editor instance that has been created.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fired when a CKEDITOR instance is destroyed.
|
||||
* @name CKEDITOR#instanceDestroyed
|
||||
* @event
|
||||
* @param {CKEDITOR.editor} editor The editor instance that has been destroyed.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fired when all plugins are loaded and initialized into the editor instance.
|
||||
* @name CKEDITOR#pluginsLoaded
|
||||
* @event
|
||||
*/
|
182
phpgwapi/js/ckeditor3/_source/core/editor_basic.js
Normal file
182
phpgwapi/js/ckeditor3/_source/core/editor_basic.js
Normal file
@ -0,0 +1,182 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
if ( !CKEDITOR.editor )
|
||||
{
|
||||
/**
|
||||
* No element is linked to the editor instance.
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.ELEMENT_MODE_NONE = 0;
|
||||
|
||||
/**
|
||||
* The element is to be replaced by the editor instance.
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.ELEMENT_MODE_REPLACE = 1;
|
||||
|
||||
/**
|
||||
* The editor is to be created inside the element.
|
||||
* @constant
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.ELEMENT_MODE_APPENDTO = 2;
|
||||
|
||||
/**
|
||||
* Represents an editor instance. This constructor should be rarely used,
|
||||
* being the {@link CKEDITOR} methods preferible.
|
||||
* @constructor
|
||||
* @param {Object} instanceConfig Configuration values for this specific
|
||||
* instance.
|
||||
* @param {CKEDITOR.dom.element} [element] The element linked to this
|
||||
* instance.
|
||||
* @param {Number} [mode] The mode in which the element is linked to this
|
||||
* instance.
|
||||
* @param {String} [data] Since 3.3. Initial value for the instance.
|
||||
* @augments CKEDITOR.event
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.editor = function( instanceConfig, element, mode, data )
|
||||
{
|
||||
this._ =
|
||||
{
|
||||
// Save the config to be processed later by the full core code.
|
||||
instanceConfig : instanceConfig,
|
||||
element : element,
|
||||
data : data
|
||||
};
|
||||
|
||||
/**
|
||||
* The mode in which the {@link #element} is linked to this editor
|
||||
* instance. It can be any of the following values:
|
||||
* <ul>
|
||||
* <li><b>CKEDITOR.ELEMENT_MODE_NONE</b>: No element is linked to the
|
||||
* editor instance.</li>
|
||||
* <li><b>CKEDITOR.ELEMENT_MODE_REPLACE</b>: The element is to be
|
||||
* replaced by the editor instance.</li>
|
||||
* <li><b>CKEDITOR.ELEMENT_MODE_APPENDTO</b>: The editor is to be
|
||||
* created inside the element.</li>
|
||||
* </ul>
|
||||
* @name CKEDITOR.editor.prototype.elementMode
|
||||
* @type Number
|
||||
* @example
|
||||
* var editor = CKEDITOR.replace( 'editor1' );
|
||||
* alert( <b>editor.elementMode</b> ); "1"
|
||||
*/
|
||||
this.elementMode = mode || CKEDITOR.ELEMENT_MODE_NONE;
|
||||
|
||||
// Call the CKEDITOR.event constructor to initialize this instance.
|
||||
CKEDITOR.event.call( this );
|
||||
|
||||
this._init();
|
||||
};
|
||||
|
||||
/**
|
||||
* Replaces a <textarea> or a DOM element (DIV) with a CKEditor
|
||||
* instance. For textareas, the initial value in the editor will be the
|
||||
* textarea value. For DOM elements, their innerHTML will be used
|
||||
* instead. We recommend using TEXTAREA and DIV elements only. Do not use
|
||||
* this function directly. Use {@link CKEDITOR.replace} instead.
|
||||
* @param {Object|String} elementOrIdOrName The DOM element (textarea), its
|
||||
* ID or name.
|
||||
* @param {Object} [config] The specific configurations to apply to this
|
||||
* editor instance. Configurations set here will override global CKEditor
|
||||
* settings.
|
||||
* @returns {CKEDITOR.editor} The editor instance created.
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.editor.replace = function( elementOrIdOrName, config )
|
||||
{
|
||||
var element = elementOrIdOrName;
|
||||
|
||||
if ( typeof element != 'object' )
|
||||
{
|
||||
// Look for the element by id. We accept any kind of element here.
|
||||
element = document.getElementById( elementOrIdOrName );
|
||||
|
||||
// If not found, look for elements by name. In this case we accept only
|
||||
// textareas.
|
||||
if ( !element )
|
||||
{
|
||||
var i = 0,
|
||||
textareasByName = document.getElementsByName( elementOrIdOrName );
|
||||
|
||||
while ( ( element = textareasByName[ i++ ] ) && element.tagName.toLowerCase() != 'textarea' )
|
||||
{ /*jsl:pass*/ }
|
||||
}
|
||||
|
||||
if ( !element )
|
||||
throw '[CKEDITOR.editor.replace] The element with id or name "' + elementOrIdOrName + '" was not found.';
|
||||
}
|
||||
|
||||
// Do not replace the textarea right now, just hide it. The effective
|
||||
// replacement will be done by the _init function.
|
||||
element.style.visibility = 'hidden';
|
||||
|
||||
// Create the editor instance.
|
||||
return new CKEDITOR.editor( config, element, CKEDITOR.ELEMENT_MODE_REPLACE );
|
||||
};
|
||||
|
||||
/**
|
||||
* Creates a new editor instance inside a specific DOM element. Do not use
|
||||
* this function directly. Use {@link CKEDITOR.appendTo} instead.
|
||||
* @param {Object|String} elementOrId The DOM element or its ID.
|
||||
* @param {Object} [config] The specific configurations to apply to this
|
||||
* editor instance. Configurations set here will override global CKEditor
|
||||
* settings.
|
||||
* @param {String} [data] Since 3.3. Initial value for the instance.
|
||||
* @returns {CKEDITOR.editor} The editor instance created.
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.editor.appendTo = function( elementOrId, config, data )
|
||||
{
|
||||
var element = elementOrId;
|
||||
if ( typeof element != 'object' )
|
||||
{
|
||||
element = document.getElementById( elementOrId );
|
||||
|
||||
if ( !element )
|
||||
throw '[CKEDITOR.editor.appendTo] The element with id "' + elementOrId + '" was not found.';
|
||||
}
|
||||
|
||||
// Create the editor instance.
|
||||
return new CKEDITOR.editor( config, element, CKEDITOR.ELEMENT_MODE_APPENDTO, data );
|
||||
};
|
||||
|
||||
CKEDITOR.editor.prototype =
|
||||
{
|
||||
/**
|
||||
* Initializes the editor instance. This function will be overriden by the
|
||||
* full CKEDITOR.editor implementation (editor.js).
|
||||
* @private
|
||||
*/
|
||||
_init : function()
|
||||
{
|
||||
var pending = CKEDITOR.editor._pending || ( CKEDITOR.editor._pending = [] );
|
||||
pending.push( this );
|
||||
},
|
||||
|
||||
// Both fire and fireOnce will always pass this editor instance as the
|
||||
// "editor" param in CKEDITOR.event.fire. So, we override it to do that
|
||||
// automaticaly.
|
||||
|
||||
/** @ignore */
|
||||
fire : function( eventName, data )
|
||||
{
|
||||
return CKEDITOR.event.prototype.fire.call( this, eventName, data, this );
|
||||
},
|
||||
|
||||
/** @ignore */
|
||||
fireOnce : function( eventName, data )
|
||||
{
|
||||
return CKEDITOR.event.prototype.fireOnce.call( this, eventName, data, this );
|
||||
}
|
||||
};
|
||||
|
||||
// "Inherit" (copy actually) from CKEDITOR.event.
|
||||
CKEDITOR.event.implementOn( CKEDITOR.editor.prototype, true );
|
||||
}
|
222
phpgwapi/js/ckeditor3/_source/core/env.js
Normal file
222
phpgwapi/js/ckeditor3/_source/core/env.js
Normal file
@ -0,0 +1,222 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.env} object, which constains
|
||||
* environment and browser information.
|
||||
*/
|
||||
|
||||
if ( !CKEDITOR.env )
|
||||
{
|
||||
/**
|
||||
* Environment and browser information.
|
||||
* @namespace
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.env = (function()
|
||||
{
|
||||
var agent = navigator.userAgent.toLowerCase();
|
||||
var opera = window.opera;
|
||||
|
||||
var env =
|
||||
/** @lends CKEDITOR.env */
|
||||
{
|
||||
/**
|
||||
* Indicates that CKEditor is running on Internet Explorer.
|
||||
* @type Boolean
|
||||
* @example
|
||||
* if ( CKEDITOR.env.ie )
|
||||
* alert( "I'm on IE!" );
|
||||
*/
|
||||
ie : /*@cc_on!@*/false,
|
||||
|
||||
/**
|
||||
* Indicates that CKEditor is running on Opera.
|
||||
* @type Boolean
|
||||
* @example
|
||||
* if ( CKEDITOR.env.opera )
|
||||
* alert( "I'm on Opera!" );
|
||||
*/
|
||||
opera : ( !!opera && opera.version ),
|
||||
|
||||
/**
|
||||
* Indicates that CKEditor is running on a WebKit based browser, like
|
||||
* Safari.
|
||||
* @type Boolean
|
||||
* @example
|
||||
* if ( CKEDITOR.env.webkit )
|
||||
* alert( "I'm on WebKit!" );
|
||||
*/
|
||||
webkit : ( agent.indexOf( ' applewebkit/' ) > -1 ),
|
||||
|
||||
/**
|
||||
* Indicates that CKEditor is running on Adobe AIR.
|
||||
* @type Boolean
|
||||
* @example
|
||||
* if ( CKEDITOR.env.air )
|
||||
* alert( "I'm on AIR!" );
|
||||
*/
|
||||
air : ( agent.indexOf( ' adobeair/' ) > -1 ),
|
||||
|
||||
/**
|
||||
* Indicates that CKEditor is running on Macintosh.
|
||||
* @type Boolean
|
||||
* @example
|
||||
* if ( CKEDITOR.env.mac )
|
||||
* alert( "I love apples!" );
|
||||
*/
|
||||
mac : ( agent.indexOf( 'macintosh' ) > -1 ),
|
||||
|
||||
quirks : ( document.compatMode == 'BackCompat' ),
|
||||
|
||||
mobile : ( agent.indexOf( 'mobile' ) > -1 ),
|
||||
|
||||
isCustomDomain : function()
|
||||
{
|
||||
return this.ie && document.domain != window.location.hostname;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Indicates that CKEditor is running on a Gecko based browser, like
|
||||
* Firefox.
|
||||
* @name CKEDITOR.env.gecko
|
||||
* @type Boolean
|
||||
* @example
|
||||
* if ( CKEDITOR.env.gecko )
|
||||
* alert( "I'm riding a gecko!" );
|
||||
*/
|
||||
env.gecko = ( navigator.product == 'Gecko' && !env.webkit && !env.opera );
|
||||
|
||||
var version = 0;
|
||||
|
||||
// Internet Explorer 6.0+
|
||||
if ( env.ie )
|
||||
{
|
||||
version = parseFloat( agent.match( /msie (\d+)/ )[1] );
|
||||
|
||||
/**
|
||||
* Indicate IE8 browser.
|
||||
*/
|
||||
env.ie8 = !!document.documentMode;
|
||||
|
||||
/**
|
||||
* Indicte IE8 document mode.
|
||||
*/
|
||||
env.ie8Compat = document.documentMode == 8;
|
||||
|
||||
/**
|
||||
* Indicates that CKEditor is running on an IE7-like environment, which
|
||||
* includes IE7 itself and IE8's IE7 document mode.
|
||||
* @type Boolean
|
||||
*/
|
||||
env.ie7Compat = ( ( version == 7 && !document.documentMode )
|
||||
|| document.documentMode == 7 );
|
||||
|
||||
/**
|
||||
* Indicates that CKEditor is running on an IE6-like environment, which
|
||||
* includes IE6 itself and IE7 and IE8 quirks mode.
|
||||
* @type Boolean
|
||||
* @example
|
||||
* if ( CKEDITOR.env.ie6Compat )
|
||||
* alert( "I'm on IE6 or quirks mode!" );
|
||||
*/
|
||||
env.ie6Compat = ( version < 7 || env.quirks );
|
||||
|
||||
}
|
||||
|
||||
// Gecko.
|
||||
if ( env.gecko )
|
||||
{
|
||||
var geckoRelease = agent.match( /rv:([\d\.]+)/ );
|
||||
if ( geckoRelease )
|
||||
{
|
||||
geckoRelease = geckoRelease[1].split( '.' );
|
||||
version = geckoRelease[0] * 10000 + ( geckoRelease[1] || 0 ) * 100 + ( geckoRelease[2] || 0 ) * 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Opera 9.50+
|
||||
if ( env.opera )
|
||||
version = parseFloat( opera.version() );
|
||||
|
||||
// Adobe AIR 1.0+
|
||||
// Checked before Safari because AIR have the WebKit rich text editor
|
||||
// features from Safari 3.0.4, but the version reported is 420.
|
||||
if ( env.air )
|
||||
version = parseFloat( agent.match( / adobeair\/(\d+)/ )[1] );
|
||||
|
||||
// WebKit 522+ (Safari 3+)
|
||||
if ( env.webkit )
|
||||
version = parseFloat( agent.match( / applewebkit\/(\d+)/ )[1] );
|
||||
|
||||
/**
|
||||
* Contains the browser version.
|
||||
*
|
||||
* For gecko based browsers (like Firefox) it contains the revision
|
||||
* number with first three parts concatenated with a padding zero
|
||||
* (e.g. for revision 1.9.0.2 we have 10900).
|
||||
*
|
||||
* For webkit based browser (like Safari and Chrome) it contains the
|
||||
* WebKit build version (e.g. 522).
|
||||
* @name CKEDITOR.env.version
|
||||
* @type Boolean
|
||||
* @example
|
||||
* if ( CKEDITOR.env.ie && <b>CKEDITOR.env.version</b> <= 6 )
|
||||
* alert( "Ouch!" );
|
||||
*/
|
||||
env.version = version;
|
||||
|
||||
/**
|
||||
* Indicates that CKEditor is running on a compatible browser.
|
||||
* @name CKEDITOR.env.isCompatible
|
||||
* @type Boolean
|
||||
* @example
|
||||
* if ( CKEDITOR.env.isCompatible )
|
||||
* alert( "Your browser is pretty cool!" );
|
||||
*/
|
||||
env.isCompatible =
|
||||
!env.mobile && (
|
||||
( env.ie && version >= 6 ) ||
|
||||
( env.gecko && version >= 10801 ) ||
|
||||
( env.opera && version >= 9.5 ) ||
|
||||
( env.air && version >= 1 ) ||
|
||||
( env.webkit && version >= 522 ) ||
|
||||
false );
|
||||
|
||||
// The CSS class to be appended on the main UI containers, making it
|
||||
// easy to apply browser specific styles to it.
|
||||
env.cssClass =
|
||||
'cke_browser_' + (
|
||||
env.ie ? 'ie' :
|
||||
env.gecko ? 'gecko' :
|
||||
env.opera ? 'opera' :
|
||||
env.air ? 'air' :
|
||||
env.webkit ? 'webkit' :
|
||||
'unknown' );
|
||||
|
||||
if ( env.quirks )
|
||||
env.cssClass += ' cke_browser_quirks';
|
||||
|
||||
if ( env.ie )
|
||||
{
|
||||
env.cssClass += ' cke_browser_ie' + (
|
||||
env.version < 7 ? '6' :
|
||||
env.version >= 8 ? '8' :
|
||||
'7' );
|
||||
|
||||
if ( env.quirks )
|
||||
env.cssClass += ' cke_browser_iequirks';
|
||||
}
|
||||
|
||||
if ( env.gecko && version < 10900 )
|
||||
env.cssClass += ' cke_browser_gecko18';
|
||||
|
||||
return env;
|
||||
})();
|
||||
}
|
||||
|
||||
// PACKAGER_RENAME( CKEDITOR.env )
|
||||
// PACKAGER_RENAME( CKEDITOR.env.ie )
|
336
phpgwapi/js/ckeditor3/_source/core/event.js
Normal file
336
phpgwapi/js/ckeditor3/_source/core/event.js
Normal file
@ -0,0 +1,336 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.event} class, which serves as the
|
||||
* base for classes and objects that require event handling features.
|
||||
*/
|
||||
|
||||
if ( !CKEDITOR.event )
|
||||
{
|
||||
/**
|
||||
* This is a base class for classes and objects that require event handling
|
||||
* features.
|
||||
* @constructor
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.event = function()
|
||||
{};
|
||||
|
||||
/**
|
||||
* Implements the {@link CKEDITOR.event} features in an object.
|
||||
* @param {Object} targetObject The object in which implement the features.
|
||||
* @example
|
||||
* var myObject = { message : 'Example' };
|
||||
* <b>CKEDITOR.event.implementOn( myObject }</b>;
|
||||
* myObject.on( 'testEvent', function()
|
||||
* {
|
||||
* alert( this.message ); // "Example"
|
||||
* });
|
||||
* myObject.fire( 'testEvent' );
|
||||
*/
|
||||
CKEDITOR.event.implementOn = function( targetObject, isTargetPrototype )
|
||||
{
|
||||
var eventProto = CKEDITOR.event.prototype;
|
||||
|
||||
for ( var prop in eventProto )
|
||||
{
|
||||
if ( targetObject[ prop ] == undefined )
|
||||
targetObject[ prop ] = eventProto[ prop ];
|
||||
}
|
||||
};
|
||||
|
||||
CKEDITOR.event.prototype = (function()
|
||||
{
|
||||
// Returns the private events object for a given object.
|
||||
var getPrivate = function( obj )
|
||||
{
|
||||
var _ = ( obj.getPrivate && obj.getPrivate() ) || obj._ || ( obj._ = {} );
|
||||
return _.events || ( _.events = {} );
|
||||
};
|
||||
|
||||
var eventEntry = function( eventName )
|
||||
{
|
||||
this.name = eventName;
|
||||
this.listeners = [];
|
||||
};
|
||||
|
||||
eventEntry.prototype =
|
||||
{
|
||||
// Get the listener index for a specified function.
|
||||
// Returns -1 if not found.
|
||||
getListenerIndex : function( listenerFunction )
|
||||
{
|
||||
for ( var i = 0, listeners = this.listeners ; i < listeners.length ; i++ )
|
||||
{
|
||||
if ( listeners[i].fn == listenerFunction )
|
||||
return i;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
};
|
||||
|
||||
return /** @lends CKEDITOR.event.prototype */ {
|
||||
/**
|
||||
* Registers a listener to a specific event in the current object.
|
||||
* @param {String} eventName The event name to which listen.
|
||||
* @param {Function} listenerFunction The function listening to the
|
||||
* event. A single {@link CKEDITOR.eventInfo} object instanced
|
||||
* is passed to this function containing all the event data.
|
||||
* @param {Object} [scopeObj] The object used to scope the listener
|
||||
* call (the this object. If omitted, the current object is used.
|
||||
* @param {Object} [listenerData] Data to be sent as the
|
||||
* {@link CKEDITOR.eventInfo#listenerData} when calling the
|
||||
* listener.
|
||||
* @param {Number} [priority] The listener priority. Lower priority
|
||||
* listeners are called first. Listeners with the same priority
|
||||
* value are called in registration order. Defaults to 10.
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function()
|
||||
* {
|
||||
* alert( this == someObject ); // "true"
|
||||
* });
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function()
|
||||
* {
|
||||
* alert( this == anotherObject ); // "true"
|
||||
* }
|
||||
* , anotherObject );
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function( event )
|
||||
* {
|
||||
* alert( event.listenerData ); // "Example"
|
||||
* }
|
||||
* , null, 'Example' );
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function() { ... } ); // 2nd called
|
||||
* someObject.on( 'someEvent', function() { ... }, null, null, 100 ); // 3rd called
|
||||
* someObject.on( 'someEvent', function() { ... }, null, null, 1 ); // 1st called
|
||||
*/
|
||||
on : function( eventName, listenerFunction, scopeObj, listenerData, priority )
|
||||
{
|
||||
// Get the event entry (create it if needed).
|
||||
var events = getPrivate( this ),
|
||||
event = events[ eventName ] || ( events[ eventName ] = new eventEntry( eventName ) );
|
||||
|
||||
if ( event.getListenerIndex( listenerFunction ) < 0 )
|
||||
{
|
||||
// Get the listeners.
|
||||
var listeners = event.listeners;
|
||||
|
||||
// Fill the scope.
|
||||
if ( !scopeObj )
|
||||
scopeObj = this;
|
||||
|
||||
// Default the priority, if needed.
|
||||
if ( isNaN( priority ) )
|
||||
priority = 10;
|
||||
|
||||
var me = this;
|
||||
|
||||
// Create the function to be fired for this listener.
|
||||
var listenerFirer = function( editor, publisherData, stopFn, cancelFn )
|
||||
{
|
||||
var ev =
|
||||
{
|
||||
name : eventName,
|
||||
sender : this,
|
||||
editor : editor,
|
||||
data : publisherData,
|
||||
listenerData : listenerData,
|
||||
stop : stopFn,
|
||||
cancel : cancelFn,
|
||||
removeListener : function()
|
||||
{
|
||||
me.removeListener( eventName, listenerFunction );
|
||||
}
|
||||
};
|
||||
|
||||
listenerFunction.call( scopeObj, ev );
|
||||
|
||||
return ev.data;
|
||||
};
|
||||
listenerFirer.fn = listenerFunction;
|
||||
listenerFirer.priority = priority;
|
||||
|
||||
// Search for the right position for this new listener, based on its
|
||||
// priority.
|
||||
for ( var i = listeners.length - 1 ; i >= 0 ; i-- )
|
||||
{
|
||||
// Find the item which should be before the new one.
|
||||
if ( listeners[ i ].priority <= priority )
|
||||
{
|
||||
// Insert the listener in the array.
|
||||
listeners.splice( i + 1, 0, listenerFirer );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// If no position has been found (or zero length), put it in
|
||||
// the front of list.
|
||||
listeners.unshift( listenerFirer );
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Fires an specific event in the object. All registered listeners are
|
||||
* called at this point.
|
||||
* @function
|
||||
* @param {String} eventName The event name to fire.
|
||||
* @param {Object} [data] Data to be sent as the
|
||||
* {@link CKEDITOR.eventInfo#data} when calling the
|
||||
* listeners.
|
||||
* @param {CKEDITOR.editor} [editor] The editor instance to send as the
|
||||
* {@link CKEDITOR.eventInfo#editor} when calling the
|
||||
* listener.
|
||||
* @returns {Boolean|Object} A booloan indicating that the event is to be
|
||||
* canceled, or data returned by one of the listeners.
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function() { ... } );
|
||||
* someObject.on( 'someEvent', function() { ... } );
|
||||
* <b>someObject.fire( 'someEvent' )</b>; // both listeners are called
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function( event )
|
||||
* {
|
||||
* alert( event.data ); // "Example"
|
||||
* });
|
||||
* <b>someObject.fire( 'someEvent', 'Example' )</b>;
|
||||
*/
|
||||
fire : (function()
|
||||
{
|
||||
// Create the function that marks the event as stopped.
|
||||
var stopped = false;
|
||||
var stopEvent = function()
|
||||
{
|
||||
stopped = true;
|
||||
};
|
||||
|
||||
// Create the function that marks the event as canceled.
|
||||
var canceled = false;
|
||||
var cancelEvent = function()
|
||||
{
|
||||
canceled = true;
|
||||
};
|
||||
|
||||
return function( eventName, data, editor )
|
||||
{
|
||||
// Get the event entry.
|
||||
var event = getPrivate( this )[ eventName ];
|
||||
|
||||
// Save the previous stopped and cancelled states. We may
|
||||
// be nesting fire() calls.
|
||||
var previousStopped = stopped,
|
||||
previousCancelled = canceled;
|
||||
|
||||
// Reset the stopped and canceled flags.
|
||||
stopped = canceled = false;
|
||||
|
||||
if ( event )
|
||||
{
|
||||
var listeners = event.listeners;
|
||||
|
||||
if ( listeners.length )
|
||||
{
|
||||
// As some listeners may remove themselves from the
|
||||
// event, the original array length is dinamic. So,
|
||||
// let's make a copy of all listeners, so we are
|
||||
// sure we'll call all of them.
|
||||
listeners = listeners.slice( 0 );
|
||||
|
||||
// Loop through all listeners.
|
||||
for ( var i = 0 ; i < listeners.length ; i++ )
|
||||
{
|
||||
// Call the listener, passing the event data.
|
||||
var retData = listeners[i].call( this, editor, data, stopEvent, cancelEvent );
|
||||
|
||||
if ( typeof retData != 'undefined' )
|
||||
data = retData;
|
||||
|
||||
// No further calls is stopped or canceled.
|
||||
if ( stopped || canceled )
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var ret = canceled || ( typeof data == 'undefined' ? false : data );
|
||||
|
||||
// Restore the previous stopped and canceled states.
|
||||
stopped = previousStopped;
|
||||
canceled = previousCancelled;
|
||||
|
||||
return ret;
|
||||
};
|
||||
})(),
|
||||
|
||||
/**
|
||||
* Fires an specific event in the object, releasing all listeners
|
||||
* registered to that event. The same listeners are not called again on
|
||||
* successive calls of it or of {@link #fire}.
|
||||
* @param {String} eventName The event name to fire.
|
||||
* @param {Object} [data] Data to be sent as the
|
||||
* {@link CKEDITOR.eventInfo#data} when calling the
|
||||
* listeners.
|
||||
* @param {CKEDITOR.editor} [editor] The editor instance to send as the
|
||||
* {@link CKEDITOR.eventInfo#editor} when calling the
|
||||
* listener.
|
||||
* @returns {Boolean|Object} A booloan indicating that the event is to be
|
||||
* canceled, or data returned by one of the listeners.
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function() { ... } );
|
||||
* someObject.fire( 'someEvent' ); // above listener called
|
||||
* <b>someObject.fireOnce( 'someEvent' )</b>; // above listener called
|
||||
* someObject.fire( 'someEvent' ); // no listeners called
|
||||
*/
|
||||
fireOnce : function( eventName, data, editor )
|
||||
{
|
||||
var ret = this.fire( eventName, data, editor );
|
||||
delete getPrivate( this )[ eventName ];
|
||||
return ret;
|
||||
},
|
||||
|
||||
/**
|
||||
* Unregisters a listener function from being called at the specified
|
||||
* event. No errors are thrown if the listener has not been
|
||||
* registered previously.
|
||||
* @param {String} eventName The event name.
|
||||
* @param {Function} listenerFunction The listener function to unregister.
|
||||
* @example
|
||||
* var myListener = function() { ... };
|
||||
* someObject.on( 'someEvent', myListener );
|
||||
* someObject.fire( 'someEvent' ); // myListener called
|
||||
* <b>someObject.removeListener( 'someEvent', myListener )</b>;
|
||||
* someObject.fire( 'someEvent' ); // myListener not called
|
||||
*/
|
||||
removeListener : function( eventName, listenerFunction )
|
||||
{
|
||||
// Get the event entry.
|
||||
var event = getPrivate( this )[ eventName ];
|
||||
|
||||
if ( event )
|
||||
{
|
||||
var index = event.getListenerIndex( listenerFunction );
|
||||
if ( index >= 0 )
|
||||
event.listeners.splice( index, 1 );
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Checks if there is any listener registered to a given event.
|
||||
* @param {String} eventName The event name.
|
||||
* @example
|
||||
* var myListener = function() { ... };
|
||||
* someObject.on( 'someEvent', myListener );
|
||||
* alert( someObject.<b>hasListeners( 'someEvent' )</b> ); // "true"
|
||||
* alert( someObject.<b>hasListeners( 'noEvent' )</b> ); // "false"
|
||||
*/
|
||||
hasListeners : function( eventName )
|
||||
{
|
||||
var event = getPrivate( this )[ eventName ];
|
||||
return ( event && event.listeners.length > 0 ) ;
|
||||
}
|
||||
};
|
||||
})();
|
||||
}
|
120
phpgwapi/js/ckeditor3/_source/core/eventInfo.js
Normal file
120
phpgwapi/js/ckeditor3/_source/core/eventInfo.js
Normal file
@ -0,0 +1,120 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the "virtual" {@link CKEDITOR.eventInfo} class, which
|
||||
* contains the defintions of the event object passed to event listeners.
|
||||
* This file is for documentation purposes only.
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class is not really part of the API. It just illustrates the features
|
||||
* of the event object passed to event listeners by a {@link CKEDITOR.event}
|
||||
* based object.
|
||||
* @name CKEDITOR.eventInfo
|
||||
* @constructor
|
||||
* @example
|
||||
* // Do not do this.
|
||||
* var myEvent = new CKEDITOR.eventInfo(); // Error: CKEDITOR.eventInfo is undefined
|
||||
*/
|
||||
|
||||
/**
|
||||
* The event name.
|
||||
* @name CKEDITOR.eventInfo.prototype.name
|
||||
* @field
|
||||
* @type String
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function( event )
|
||||
* {
|
||||
* alert( <b>event.name</b> ); // "someEvent"
|
||||
* });
|
||||
* someObject.fire( 'someEvent' );
|
||||
*/
|
||||
|
||||
/**
|
||||
* The object that publishes (sends) the event.
|
||||
* @name CKEDITOR.eventInfo.prototype.sender
|
||||
* @field
|
||||
* @type Object
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function( event )
|
||||
* {
|
||||
* alert( <b>event.sender</b> == someObject ); // "true"
|
||||
* });
|
||||
* someObject.fire( 'someEvent' );
|
||||
*/
|
||||
|
||||
/**
|
||||
* The editor instance that holds the sender. May be the same as sender. May be
|
||||
* null if the sender is not part of an editor instance, like a component
|
||||
* running in standalone mode.
|
||||
* @name CKEDITOR.eventInfo.prototype.editor
|
||||
* @field
|
||||
* @type CKEDITOR.editor
|
||||
* @example
|
||||
* myButton.on( 'someEvent', function( event )
|
||||
* {
|
||||
* alert( <b>event.editor</b> == myEditor ); // "true"
|
||||
* });
|
||||
* myButton.fire( 'someEvent', null, <b>myEditor</b> );
|
||||
*/
|
||||
|
||||
/**
|
||||
* Any kind of additional data. Its format and usage is event dependent.
|
||||
* @name CKEDITOR.eventInfo.prototype.data
|
||||
* @field
|
||||
* @type Object
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function( event )
|
||||
* {
|
||||
* alert( <b>event.data</b> ); // "Example"
|
||||
* });
|
||||
* someObject.fire( 'someEvent', <b>'Example'</b> );
|
||||
*/
|
||||
|
||||
/**
|
||||
* Any extra data appended during the listener registration.
|
||||
* @name CKEDITOR.eventInfo.prototype.listenerData
|
||||
* @field
|
||||
* @type Object
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function( event )
|
||||
* {
|
||||
* alert( <b>event.listenerData</b> ); // "Example"
|
||||
* }
|
||||
* , null, <b>'Example'</b> );
|
||||
*/
|
||||
|
||||
/**
|
||||
* Indicates that no further listeners are to be called.
|
||||
* @name CKEDITOR.eventInfo.prototype.stop
|
||||
* @function
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function( event )
|
||||
* {
|
||||
* <b>event.stop()</b>;
|
||||
* });
|
||||
* someObject.on( 'someEvent', function( event )
|
||||
* {
|
||||
* // This one will not be called.
|
||||
* });
|
||||
* alert( someObject.fire( 'someEvent' ) ); // "false"
|
||||
*/
|
||||
|
||||
/**
|
||||
* Indicates that the event is to be cancelled (if cancelable).
|
||||
* @name CKEDITOR.eventInfo.prototype.cancel
|
||||
* @function
|
||||
* @example
|
||||
* someObject.on( 'someEvent', function( event )
|
||||
* {
|
||||
* <b>event.cancel()</b>;
|
||||
* });
|
||||
* someObject.on( 'someEvent', function( event )
|
||||
* {
|
||||
* // This one will not be called.
|
||||
* });
|
||||
* alert( someObject.fire( 'someEvent' ) ); // "true"
|
||||
*/
|
137
phpgwapi/js/ckeditor3/_source/core/focusmanager.js
Normal file
137
phpgwapi/js/ckeditor3/_source/core/focusmanager.js
Normal file
@ -0,0 +1,137 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.focusManager} class, which is used
|
||||
* to handle the focus on editor instances..
|
||||
*/
|
||||
|
||||
/**
|
||||
* Manages the focus activity in an editor instance. This class is to be used
|
||||
* mainly by UI elements coders when adding interface elements to CKEditor.
|
||||
* @constructor
|
||||
* @param {CKEDITOR.editor} editor The editor instance.
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.focusManager = function( editor )
|
||||
{
|
||||
if ( editor.focusManager )
|
||||
return editor.focusManager;
|
||||
|
||||
/**
|
||||
* Indicates that the editor instance has focus.
|
||||
* @type Boolean
|
||||
* @example
|
||||
* alert( CKEDITOR.instances.editor1.focusManager.hasFocus ); // e.g "true"
|
||||
*/
|
||||
this.hasFocus = false;
|
||||
|
||||
/**
|
||||
* Object used to hold private stuff.
|
||||
* @private
|
||||
*/
|
||||
this._ =
|
||||
{
|
||||
editor : editor
|
||||
};
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
CKEDITOR.focusManager.prototype =
|
||||
{
|
||||
/**
|
||||
* Indicates that the editor instance has the focus.
|
||||
*
|
||||
* This function is not used to set the focus in the editor. Use
|
||||
* {@link CKEDITOR.editor#focus} for it instead.
|
||||
* @example
|
||||
* var editor = CKEDITOR.instances.editor1;
|
||||
* <b>editor.focusManager.focus()</b>;
|
||||
*/
|
||||
focus : function()
|
||||
{
|
||||
if ( this._.timer )
|
||||
clearTimeout( this._.timer );
|
||||
|
||||
if ( !this.hasFocus )
|
||||
{
|
||||
// If another editor has the current focus, we first "blur" it. In
|
||||
// this way the events happen in a more logical sequence, like:
|
||||
// "focus 1" > "blur 1" > "focus 2"
|
||||
// ... instead of:
|
||||
// "focus 1" > "focus 2" > "blur 1"
|
||||
if ( CKEDITOR.currentInstance )
|
||||
CKEDITOR.currentInstance.focusManager.forceBlur();
|
||||
|
||||
var editor = this._.editor;
|
||||
|
||||
editor.container.getChild( 1 ).addClass( 'cke_focus' );
|
||||
|
||||
this.hasFocus = true;
|
||||
editor.fire( 'focus' );
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Indicates that the editor instance has lost the focus. Note that this
|
||||
* functions acts asynchronously with a delay of 100ms to avoid subsequent
|
||||
* blur/focus effects. If you want the "blur" to happen immediately, use
|
||||
* the {@link #forceBlur} function instead.
|
||||
* @example
|
||||
* var editor = CKEDITOR.instances.editor1;
|
||||
* <b>editor.focusManager.blur()</b>;
|
||||
*/
|
||||
blur : function()
|
||||
{
|
||||
var focusManager = this;
|
||||
|
||||
if ( focusManager._.timer )
|
||||
clearTimeout( focusManager._.timer );
|
||||
|
||||
focusManager._.timer = setTimeout(
|
||||
function()
|
||||
{
|
||||
delete focusManager._.timer;
|
||||
focusManager.forceBlur();
|
||||
}
|
||||
, 100 );
|
||||
},
|
||||
|
||||
/**
|
||||
* Indicates that the editor instance has lost the focus. Unlike
|
||||
* {@link #blur}, this function is synchronous, marking the instance as
|
||||
* "blured" immediately.
|
||||
* @example
|
||||
* var editor = CKEDITOR.instances.editor1;
|
||||
* <b>editor.focusManager.forceBlur()</b>;
|
||||
*/
|
||||
forceBlur : function()
|
||||
{
|
||||
if ( this.hasFocus )
|
||||
{
|
||||
var editor = this._.editor;
|
||||
|
||||
editor.container.getChild( 1 ).removeClass( 'cke_focus' );
|
||||
|
||||
this.hasFocus = false;
|
||||
editor.fire( 'blur' );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Fired when the editor instance receives the input focus.
|
||||
* @name CKEDITOR.editor#focus
|
||||
* @event
|
||||
* @param {CKEDITOR.editor} editor The editor instance.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Fired when the editor instance loses the input focus.
|
||||
* @name CKEDITOR.editor#blur
|
||||
* @event
|
||||
* @param {CKEDITOR.editor} editor The editor instance.
|
||||
*/
|
212
phpgwapi/js/ckeditor3/_source/core/htmlparser.js
Normal file
212
phpgwapi/js/ckeditor3/_source/core/htmlparser.js
Normal file
@ -0,0 +1,212 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* HTML text parser.
|
||||
* @constructor
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.htmlParser = function()
|
||||
{
|
||||
this._ =
|
||||
{
|
||||
htmlPartsRegex : new RegExp( '<(?:(?:\\/([^>]+)>)|(?:!--([\\S|\\s]*?)-->)|(?:([^\\s>]+)\\s*((?:(?:[^"\'>]+)|(?:"[^"]*")|(?:\'[^\']*\'))*)\\/?>))', 'g' )
|
||||
};
|
||||
};
|
||||
|
||||
(function()
|
||||
{
|
||||
var attribsRegex = /([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,
|
||||
emptyAttribs = {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};
|
||||
|
||||
CKEDITOR.htmlParser.prototype =
|
||||
{
|
||||
/**
|
||||
* Function to be fired when a tag opener is found. This function
|
||||
* should be overriden when using this class.
|
||||
* @param {String} tagName The tag name. The name is guarantted to be
|
||||
* lowercased.
|
||||
* @param {Object} attributes An object containing all tag attributes. Each
|
||||
* property in this object represent and attribute name and its
|
||||
* value is the attribute value.
|
||||
* @param {Boolean} selfClosing true if the tag closes itself, false if the
|
||||
* tag doesn't.
|
||||
* @example
|
||||
* var parser = new CKEDITOR.htmlParser();
|
||||
* parser.onTagOpen = function( tagName, attributes, selfClosing )
|
||||
* {
|
||||
* alert( tagName ); // e.g. "b"
|
||||
* });
|
||||
* parser.parse( "<!-- Example --><b>Hello</b>" );
|
||||
*/
|
||||
onTagOpen : function() {},
|
||||
|
||||
/**
|
||||
* Function to be fired when a tag closer is found. This function
|
||||
* should be overriden when using this class.
|
||||
* @param {String} tagName The tag name. The name is guarantted to be
|
||||
* lowercased.
|
||||
* @example
|
||||
* var parser = new CKEDITOR.htmlParser();
|
||||
* parser.onTagClose = function( tagName )
|
||||
* {
|
||||
* alert( tagName ); // e.g. "b"
|
||||
* });
|
||||
* parser.parse( "<!-- Example --><b>Hello</b>" );
|
||||
*/
|
||||
onTagClose : function() {},
|
||||
|
||||
/**
|
||||
* Function to be fired when text is found. This function
|
||||
* should be overriden when using this class.
|
||||
* @param {String} text The text found.
|
||||
* @example
|
||||
* var parser = new CKEDITOR.htmlParser();
|
||||
* parser.onText = function( text )
|
||||
* {
|
||||
* alert( text ); // e.g. "Hello"
|
||||
* });
|
||||
* parser.parse( "<!-- Example --><b>Hello</b>" );
|
||||
*/
|
||||
onText : function() {},
|
||||
|
||||
/**
|
||||
* Function to be fired when CDATA section is found. This function
|
||||
* should be overriden when using this class.
|
||||
* @param {String} cdata The CDATA been found.
|
||||
* @example
|
||||
* var parser = new CKEDITOR.htmlParser();
|
||||
* parser.onCDATA = function( cdata )
|
||||
* {
|
||||
* alert( cdata ); // e.g. "var hello;"
|
||||
* });
|
||||
* parser.parse( "<script>var hello;</script>" );
|
||||
*/
|
||||
onCDATA : function() {},
|
||||
|
||||
/**
|
||||
* Function to be fired when a commend is found. This function
|
||||
* should be overriden when using this class.
|
||||
* @param {String} comment The comment text.
|
||||
* @example
|
||||
* var parser = new CKEDITOR.htmlParser();
|
||||
* parser.onText = function( comment )
|
||||
* {
|
||||
* alert( comment ); // e.g. " Example "
|
||||
* });
|
||||
* parser.parse( "<!-- Example --><b>Hello</b>" );
|
||||
*/
|
||||
onComment : function() {},
|
||||
|
||||
/**
|
||||
* Parses text, looking for HTML tokens, like tag openers or closers,
|
||||
* or comments. This function fires the onTagOpen, onTagClose, onText
|
||||
* and onComment function during its execution.
|
||||
* @param {String} html The HTML to be parsed.
|
||||
* @example
|
||||
* var parser = new CKEDITOR.htmlParser();
|
||||
* // The onTagOpen, onTagClose, onText and onComment should be overriden
|
||||
* // at this point.
|
||||
* parser.parse( "<!-- Example --><b>Hello</b>" );
|
||||
*/
|
||||
parse : function( html )
|
||||
{
|
||||
var parts,
|
||||
tagName,
|
||||
nextIndex = 0,
|
||||
cdata; // The collected data inside a CDATA section.
|
||||
|
||||
while ( ( parts = this._.htmlPartsRegex.exec( html ) ) )
|
||||
{
|
||||
var tagIndex = parts.index;
|
||||
if ( tagIndex > nextIndex )
|
||||
{
|
||||
var text = html.substring( nextIndex, tagIndex );
|
||||
|
||||
if ( cdata )
|
||||
cdata.push( text );
|
||||
else
|
||||
this.onText( text );
|
||||
}
|
||||
|
||||
nextIndex = this._.htmlPartsRegex.lastIndex;
|
||||
|
||||
/*
|
||||
"parts" is an array with the following items:
|
||||
0 : The entire match for opening/closing tags and comments.
|
||||
1 : Group filled with the tag name for closing tags.
|
||||
2 : Group filled with the comment text.
|
||||
3 : Group filled with the tag name for opening tags.
|
||||
4 : Group filled with the attributes part of opening tags.
|
||||
*/
|
||||
|
||||
// Closing tag
|
||||
if ( ( tagName = parts[ 1 ] ) )
|
||||
{
|
||||
tagName = tagName.toLowerCase();
|
||||
|
||||
if ( cdata && CKEDITOR.dtd.$cdata[ tagName ] )
|
||||
{
|
||||
// Send the CDATA data.
|
||||
this.onCDATA( cdata.join('') );
|
||||
cdata = null;
|
||||
}
|
||||
|
||||
if ( !cdata )
|
||||
{
|
||||
this.onTagClose( tagName );
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// If CDATA is enabled, just save the raw match.
|
||||
if ( cdata )
|
||||
{
|
||||
cdata.push( parts[ 0 ] );
|
||||
continue;
|
||||
}
|
||||
|
||||
// Opening tag
|
||||
if ( ( tagName = parts[ 3 ] ) )
|
||||
{
|
||||
tagName = tagName.toLowerCase();
|
||||
var attribs = {},
|
||||
attribMatch,
|
||||
attribsPart = parts[ 4 ],
|
||||
selfClosing = !!( attribsPart && attribsPart.charAt( attribsPart.length - 1 ) == '/' );
|
||||
|
||||
if ( attribsPart )
|
||||
{
|
||||
while ( ( attribMatch = attribsRegex.exec( attribsPart ) ) )
|
||||
{
|
||||
var attName = attribMatch[1].toLowerCase(),
|
||||
attValue = attribMatch[2] || attribMatch[3] || attribMatch[4] || '';
|
||||
|
||||
if ( !attValue && emptyAttribs[ attName ] )
|
||||
attribs[ attName ] = attName;
|
||||
else
|
||||
attribs[ attName ] = attValue;
|
||||
}
|
||||
}
|
||||
|
||||
this.onTagOpen( tagName, attribs, selfClosing );
|
||||
|
||||
// Open CDATA mode when finding the appropriate tags.
|
||||
if ( !cdata && CKEDITOR.dtd.$cdata[ tagName ] )
|
||||
cdata = [];
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
// Comment
|
||||
if ( ( tagName = parts[ 2 ] ) )
|
||||
this.onComment( tagName );
|
||||
}
|
||||
|
||||
if ( html.length > nextIndex )
|
||||
this.onText( html.substring( nextIndex, html.length ) );
|
||||
}
|
||||
};
|
||||
})();
|
145
phpgwapi/js/ckeditor3/_source/core/htmlparser/basicwriter.js
Normal file
145
phpgwapi/js/ckeditor3/_source/core/htmlparser/basicwriter.js
Normal file
@ -0,0 +1,145 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
CKEDITOR.htmlParser.basicWriter = CKEDITOR.tools.createClass(
|
||||
{
|
||||
$ : function()
|
||||
{
|
||||
this._ =
|
||||
{
|
||||
output : []
|
||||
};
|
||||
},
|
||||
|
||||
proto :
|
||||
{
|
||||
/**
|
||||
* Writes the tag opening part for a opener tag.
|
||||
* @param {String} tagName The element name for this tag.
|
||||
* @param {Object} attributes The attributes defined for this tag. The
|
||||
* attributes could be used to inspect the tag.
|
||||
* @example
|
||||
* // Writes "<p".
|
||||
* writer.openTag( 'p', { class : 'MyClass', id : 'MyId' } );
|
||||
*/
|
||||
openTag : function( tagName, attributes )
|
||||
{
|
||||
this._.output.push( '<', tagName );
|
||||
},
|
||||
|
||||
/**
|
||||
* Writes the tag closing part for a opener tag.
|
||||
* @param {String} tagName The element name for this tag.
|
||||
* @param {Boolean} isSelfClose Indicates that this is a self-closing tag,
|
||||
* like "br" or "img".
|
||||
* @example
|
||||
* // Writes ">".
|
||||
* writer.openTagClose( 'p', false );
|
||||
* @example
|
||||
* // Writes " />".
|
||||
* writer.openTagClose( 'br', true );
|
||||
*/
|
||||
openTagClose : function( tagName, isSelfClose )
|
||||
{
|
||||
if ( isSelfClose )
|
||||
this._.output.push( ' />' );
|
||||
else
|
||||
this._.output.push( '>' );
|
||||
},
|
||||
|
||||
/**
|
||||
* Writes an attribute. This function should be called after opening the
|
||||
* tag with {@link #openTagClose}.
|
||||
* @param {String} attName The attribute name.
|
||||
* @param {String} attValue The attribute value.
|
||||
* @example
|
||||
* // Writes ' class="MyClass"'.
|
||||
* writer.attribute( 'class', 'MyClass' );
|
||||
*/
|
||||
attribute : function( attName, attValue )
|
||||
{
|
||||
// Browsers don't always escape special character in attribute values. (#4683, #4719).
|
||||
if ( typeof attValue == 'string' )
|
||||
attValue = CKEDITOR.tools.htmlEncodeAttr( attValue );
|
||||
|
||||
this._.output.push( ' ', attName, '="', attValue, '"' );
|
||||
},
|
||||
|
||||
/**
|
||||
* Writes a closer tag.
|
||||
* @param {String} tagName The element name for this tag.
|
||||
* @example
|
||||
* // Writes "</p>".
|
||||
* writer.closeTag( 'p' );
|
||||
*/
|
||||
closeTag : function( tagName )
|
||||
{
|
||||
this._.output.push( '</', tagName, '>' );
|
||||
},
|
||||
|
||||
/**
|
||||
* Writes text.
|
||||
* @param {String} text The text value
|
||||
* @example
|
||||
* // Writes "Hello Word".
|
||||
* writer.text( 'Hello Word' );
|
||||
*/
|
||||
text : function( text )
|
||||
{
|
||||
this._.output.push( text );
|
||||
},
|
||||
|
||||
/**
|
||||
* Writes a comment.
|
||||
* @param {String} comment The comment text.
|
||||
* @example
|
||||
* // Writes "<!-- My comment -->".
|
||||
* writer.comment( ' My comment ' );
|
||||
*/
|
||||
comment : function( comment )
|
||||
{
|
||||
this._.output.push( '<!--', comment, '-->' );
|
||||
},
|
||||
|
||||
/**
|
||||
* Writes any kind of data to the ouput.
|
||||
* @example
|
||||
* writer.write( 'This is an <b>example</b>.' );
|
||||
*/
|
||||
write : function( data )
|
||||
{
|
||||
this._.output.push( data );
|
||||
},
|
||||
|
||||
/**
|
||||
* Empties the current output buffer.
|
||||
* @example
|
||||
* writer.reset();
|
||||
*/
|
||||
reset : function()
|
||||
{
|
||||
this._.output = [];
|
||||
this._.indent = false;
|
||||
},
|
||||
|
||||
/**
|
||||
* Empties the current output buffer.
|
||||
* @param {Boolean} reset Indicates that the {@link reset} function is to
|
||||
* be automatically called after retrieving the HTML.
|
||||
* @returns {String} The HTML written to the writer so far.
|
||||
* @example
|
||||
* var html = writer.getHtml();
|
||||
*/
|
||||
getHtml : function( reset )
|
||||
{
|
||||
var html = this._.output.join( '' );
|
||||
|
||||
if ( reset )
|
||||
this.reset();
|
||||
|
||||
return html;
|
||||
}
|
||||
}
|
||||
});
|
43
phpgwapi/js/ckeditor3/_source/core/htmlparser/cdata.js
Normal file
43
phpgwapi/js/ckeditor3/_source/core/htmlparser/cdata.js
Normal file
@ -0,0 +1,43 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
|
||||
/**
|
||||
* A lightweight representation of HTML text.
|
||||
* @constructor
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.htmlParser.cdata = function( value )
|
||||
{
|
||||
/**
|
||||
* The CDATA value.
|
||||
* @type String
|
||||
* @example
|
||||
*/
|
||||
this.value = value;
|
||||
};
|
||||
|
||||
CKEDITOR.htmlParser.cdata.prototype =
|
||||
{
|
||||
/**
|
||||
* CDATA has the same type as {@link CKEDITOR.htmlParser.text} This is
|
||||
* a constant value set to {@link CKEDITOR.NODE_TEXT}.
|
||||
* @type Number
|
||||
* @example
|
||||
*/
|
||||
type : CKEDITOR.NODE_TEXT,
|
||||
|
||||
/**
|
||||
* Writes write the CDATA with no special manipulations.
|
||||
* @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML.
|
||||
*/
|
||||
writeHtml : function( writer )
|
||||
{
|
||||
writer.write( this.value );
|
||||
}
|
||||
};
|
||||
})();
|
60
phpgwapi/js/ckeditor3/_source/core/htmlparser/comment.js
Normal file
60
phpgwapi/js/ckeditor3/_source/core/htmlparser/comment.js
Normal file
@ -0,0 +1,60 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* A lightweight representation of an HTML comment.
|
||||
* @constructor
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.htmlParser.comment = function( value )
|
||||
{
|
||||
/**
|
||||
* The comment text.
|
||||
* @type String
|
||||
* @example
|
||||
*/
|
||||
this.value = value;
|
||||
|
||||
/** @private */
|
||||
this._ =
|
||||
{
|
||||
isBlockLike : false
|
||||
};
|
||||
};
|
||||
|
||||
CKEDITOR.htmlParser.comment.prototype =
|
||||
{
|
||||
/**
|
||||
* The node type. This is a constant value set to {@link CKEDITOR.NODE_COMMENT}.
|
||||
* @type Number
|
||||
* @example
|
||||
*/
|
||||
type : CKEDITOR.NODE_COMMENT,
|
||||
|
||||
/**
|
||||
* Writes the HTML representation of this comment to a CKEDITOR.htmlWriter.
|
||||
* @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML.
|
||||
* @example
|
||||
*/
|
||||
writeHtml : function( writer, filter )
|
||||
{
|
||||
var comment = this.value;
|
||||
|
||||
if ( filter )
|
||||
{
|
||||
if ( !( comment = filter.onComment( comment, this ) ) )
|
||||
return;
|
||||
|
||||
if ( typeof comment != 'string' )
|
||||
{
|
||||
comment.parent = this.parent;
|
||||
comment.writeHtml( writer, filter );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
writer.comment( comment );
|
||||
}
|
||||
};
|
240
phpgwapi/js/ckeditor3/_source/core/htmlparser/element.js
Normal file
240
phpgwapi/js/ckeditor3/_source/core/htmlparser/element.js
Normal file
@ -0,0 +1,240 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* A lightweight representation of an HTML element.
|
||||
* @param {String} name The element name.
|
||||
* @param {Object} attributes And object holding all attributes defined for
|
||||
* this element.
|
||||
* @constructor
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.htmlParser.element = function( name, attributes )
|
||||
{
|
||||
/**
|
||||
* The element name.
|
||||
* @type String
|
||||
* @example
|
||||
*/
|
||||
this.name = name;
|
||||
|
||||
/**
|
||||
* Holds the attributes defined for this element.
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
this.attributes = attributes || ( attributes = {} );
|
||||
|
||||
/**
|
||||
* The nodes that are direct children of this element.
|
||||
* @type Array
|
||||
* @example
|
||||
*/
|
||||
this.children = [];
|
||||
|
||||
var tagName = attributes._cke_real_element_type || name;
|
||||
|
||||
var dtd = CKEDITOR.dtd,
|
||||
isBlockLike = !!( dtd.$nonBodyContent[ tagName ] || dtd.$block[ tagName ] || dtd.$listItem[ tagName ] || dtd.$tableContent[ tagName ] || dtd.$nonEditable[ tagName ] || tagName == 'br' ),
|
||||
isEmpty = !!dtd.$empty[ name ];
|
||||
|
||||
this.isEmpty = isEmpty;
|
||||
this.isUnknown = !dtd[ name ];
|
||||
|
||||
/** @private */
|
||||
this._ =
|
||||
{
|
||||
isBlockLike : isBlockLike,
|
||||
hasInlineStarted : isEmpty || !isBlockLike
|
||||
};
|
||||
};
|
||||
|
||||
(function()
|
||||
{
|
||||
// Used to sort attribute entries in an array, where the first element of
|
||||
// each object is the attribute name.
|
||||
var sortAttribs = function( a, b )
|
||||
{
|
||||
a = a[0];
|
||||
b = b[0];
|
||||
return a < b ? -1 : a > b ? 1 : 0;
|
||||
};
|
||||
|
||||
CKEDITOR.htmlParser.element.prototype =
|
||||
{
|
||||
/**
|
||||
* The node type. This is a constant value set to {@link CKEDITOR.NODE_ELEMENT}.
|
||||
* @type Number
|
||||
* @example
|
||||
*/
|
||||
type : CKEDITOR.NODE_ELEMENT,
|
||||
|
||||
/**
|
||||
* Adds a node to the element children list.
|
||||
* @param {Object} node The node to be added. It can be any of of the
|
||||
* following types: {@link CKEDITOR.htmlParser.element},
|
||||
* {@link CKEDITOR.htmlParser.text} and
|
||||
* {@link CKEDITOR.htmlParser.comment}.
|
||||
* @function
|
||||
* @example
|
||||
*/
|
||||
add : CKEDITOR.htmlParser.fragment.prototype.add,
|
||||
|
||||
/**
|
||||
* Clone this element.
|
||||
* @returns {CKEDITOR.htmlParser.element} The element clone.
|
||||
* @example
|
||||
*/
|
||||
clone : function()
|
||||
{
|
||||
return new CKEDITOR.htmlParser.element( this.name, this.attributes );
|
||||
},
|
||||
|
||||
/**
|
||||
* Writes the element HTML to a CKEDITOR.htmlWriter.
|
||||
* @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML.
|
||||
* @example
|
||||
*/
|
||||
writeHtml : function( writer, filter )
|
||||
{
|
||||
var attributes = this.attributes;
|
||||
|
||||
// Ignore cke: prefixes when writing HTML.
|
||||
var element = this,
|
||||
writeName = element.name,
|
||||
a, newAttrName, value;
|
||||
|
||||
var isChildrenFiltered;
|
||||
|
||||
/**
|
||||
* Providing an option for bottom-up filtering order ( element
|
||||
* children to be pre-filtered before the element itself ).
|
||||
*/
|
||||
element.filterChildren = function()
|
||||
{
|
||||
if ( !isChildrenFiltered )
|
||||
{
|
||||
var writer = new CKEDITOR.htmlParser.basicWriter();
|
||||
CKEDITOR.htmlParser.fragment.prototype.writeChildrenHtml.call( element, writer, filter );
|
||||
element.children = new CKEDITOR.htmlParser.fragment.fromHtml( writer.getHtml() ).children;
|
||||
isChildrenFiltered = 1;
|
||||
}
|
||||
};
|
||||
|
||||
if ( filter )
|
||||
{
|
||||
while ( true )
|
||||
{
|
||||
if ( !( writeName = filter.onElementName( writeName ) ) )
|
||||
return;
|
||||
|
||||
element.name = writeName;
|
||||
|
||||
if ( !( element = filter.onElement( element ) ) )
|
||||
return;
|
||||
|
||||
element.parent = this.parent;
|
||||
|
||||
if ( element.name == writeName )
|
||||
break;
|
||||
|
||||
// If the element has been replaced with something of a
|
||||
// different type, then make the replacement write itself.
|
||||
if ( element.type != CKEDITOR.NODE_ELEMENT )
|
||||
{
|
||||
element.writeHtml( writer, filter );
|
||||
return;
|
||||
}
|
||||
|
||||
writeName = element.name;
|
||||
|
||||
// This indicate that the element has been dropped by
|
||||
// filter but not the children.
|
||||
if ( !writeName )
|
||||
{
|
||||
this.writeChildrenHtml.call( element, writer, isChildrenFiltered ? null : filter );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// The element may have been changed, so update the local
|
||||
// references.
|
||||
attributes = element.attributes;
|
||||
}
|
||||
|
||||
// Open element tag.
|
||||
writer.openTag( writeName, attributes );
|
||||
|
||||
// Copy all attributes to an array.
|
||||
var attribsArray = [];
|
||||
// Iterate over the attributes twice since filters may alter
|
||||
// other attributes.
|
||||
for ( var i = 0 ; i < 2; i++ )
|
||||
{
|
||||
for ( a in attributes )
|
||||
{
|
||||
newAttrName = a;
|
||||
value = attributes[ a ];
|
||||
if ( i == 1 )
|
||||
attribsArray.push( [ a, value ] );
|
||||
else if ( filter )
|
||||
{
|
||||
while ( true )
|
||||
{
|
||||
if ( !( newAttrName = filter.onAttributeName( a ) ) )
|
||||
{
|
||||
delete attributes[ a ];
|
||||
break;
|
||||
}
|
||||
else if ( newAttrName != a )
|
||||
{
|
||||
delete attributes[ a ];
|
||||
a = newAttrName;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
if ( newAttrName )
|
||||
{
|
||||
if ( ( value = filter.onAttribute( element, newAttrName, value ) ) === false )
|
||||
delete attributes[ newAttrName ];
|
||||
else
|
||||
attributes [ newAttrName ] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Sort the attributes by name.
|
||||
if ( writer.sortAttributes )
|
||||
attribsArray.sort( sortAttribs );
|
||||
|
||||
// Send the attributes.
|
||||
var len = attribsArray.length;
|
||||
for ( i = 0 ; i < len ; i++ )
|
||||
{
|
||||
var attrib = attribsArray[ i ];
|
||||
writer.attribute( attrib[0], attrib[1] );
|
||||
}
|
||||
|
||||
// Close the tag.
|
||||
writer.openTagClose( writeName, element.isEmpty );
|
||||
|
||||
if ( !element.isEmpty )
|
||||
{
|
||||
this.writeChildrenHtml.call( element, writer, isChildrenFiltered ? null : filter );
|
||||
// Close the element.
|
||||
writer.closeTag( writeName );
|
||||
}
|
||||
},
|
||||
|
||||
writeChildrenHtml : function( writer, filter )
|
||||
{
|
||||
// Send children.
|
||||
CKEDITOR.htmlParser.fragment.prototype.writeChildrenHtml.apply( this, arguments );
|
||||
|
||||
}
|
||||
};
|
||||
})();
|
262
phpgwapi/js/ckeditor3/_source/core/htmlparser/filter.js
Normal file
262
phpgwapi/js/ckeditor3/_source/core/htmlparser/filter.js
Normal file
@ -0,0 +1,262 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
CKEDITOR.htmlParser.filter = CKEDITOR.tools.createClass(
|
||||
{
|
||||
$ : function( rules )
|
||||
{
|
||||
this._ =
|
||||
{
|
||||
elementNames : [],
|
||||
attributeNames : [],
|
||||
elements : { $length : 0 },
|
||||
attributes : { $length : 0 }
|
||||
};
|
||||
|
||||
if ( rules )
|
||||
this.addRules( rules, 10 );
|
||||
},
|
||||
|
||||
proto :
|
||||
{
|
||||
addRules : function( rules, priority )
|
||||
{
|
||||
if ( typeof priority != 'number' )
|
||||
priority = 10;
|
||||
|
||||
// Add the elementNames.
|
||||
addItemsToList( this._.elementNames, rules.elementNames, priority );
|
||||
|
||||
// Add the attributeNames.
|
||||
addItemsToList( this._.attributeNames, rules.attributeNames, priority );
|
||||
|
||||
// Add the elements.
|
||||
addNamedItems( this._.elements, rules.elements, priority );
|
||||
|
||||
// Add the attributes.
|
||||
addNamedItems( this._.attributes, rules.attributes, priority );
|
||||
|
||||
// Add the text.
|
||||
this._.text = transformNamedItem( this._.text, rules.text, priority ) || this._.text;
|
||||
|
||||
// Add the comment.
|
||||
this._.comment = transformNamedItem( this._.comment, rules.comment, priority ) || this._.comment;
|
||||
|
||||
// Add root fragment.
|
||||
this._.root = transformNamedItem( this._.root, rules.root, priority ) || this._.root;
|
||||
},
|
||||
|
||||
onElementName : function( name )
|
||||
{
|
||||
return filterName( name, this._.elementNames );
|
||||
},
|
||||
|
||||
onAttributeName : function( name )
|
||||
{
|
||||
return filterName( name, this._.attributeNames );
|
||||
},
|
||||
|
||||
onText : function( text )
|
||||
{
|
||||
var textFilter = this._.text;
|
||||
return textFilter ? textFilter.filter( text ) : text;
|
||||
},
|
||||
|
||||
onComment : function( commentText, comment )
|
||||
{
|
||||
var textFilter = this._.comment;
|
||||
return textFilter ? textFilter.filter( commentText, comment ) : commentText;
|
||||
},
|
||||
|
||||
onFragment : function( element )
|
||||
{
|
||||
var rootFilter = this._.root;
|
||||
return rootFilter ? rootFilter.filter( element ) : element;
|
||||
},
|
||||
|
||||
onElement : function( element )
|
||||
{
|
||||
// We must apply filters set to the specific element name as
|
||||
// well as those set to the generic $ name. So, add both to an
|
||||
// array and process them in a small loop.
|
||||
var filters = [ this._.elements[ '^' ], this._.elements[ element.name ], this._.elements.$ ],
|
||||
filter, ret;
|
||||
|
||||
for ( var i = 0 ; i < 3 ; i++ )
|
||||
{
|
||||
filter = filters[ i ];
|
||||
if ( filter )
|
||||
{
|
||||
ret = filter.filter( element, this );
|
||||
|
||||
if ( ret === false )
|
||||
return null;
|
||||
|
||||
if ( ret && ret != element )
|
||||
return this.onNode( ret );
|
||||
|
||||
// The non-root element has been dismissed by one of the filters.
|
||||
if ( element.parent && !element.name )
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return element;
|
||||
},
|
||||
|
||||
onNode : function( node )
|
||||
{
|
||||
var type = node.type;
|
||||
|
||||
return type == CKEDITOR.NODE_ELEMENT ? this.onElement( node ) :
|
||||
type == CKEDITOR.NODE_TEXT ? new CKEDITOR.htmlParser.text( this.onText( node.value ) ) :
|
||||
type == CKEDITOR.NODE_COMMENT ? new CKEDITOR.htmlParser.comment( this.onComment( node.value ) ):
|
||||
null;
|
||||
},
|
||||
|
||||
onAttribute : function( element, name, value )
|
||||
{
|
||||
var filter = this._.attributes[ name ];
|
||||
|
||||
if ( filter )
|
||||
{
|
||||
var ret = filter.filter( value, element, this );
|
||||
|
||||
if ( ret === false )
|
||||
return false;
|
||||
|
||||
if ( typeof ret != 'undefined' )
|
||||
return ret;
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function filterName( name, filters )
|
||||
{
|
||||
for ( var i = 0 ; name && i < filters.length ; i++ )
|
||||
{
|
||||
var filter = filters[ i ];
|
||||
name = name.replace( filter[ 0 ], filter[ 1 ] );
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
function addItemsToList( list, items, priority )
|
||||
{
|
||||
if ( typeof items == 'function' )
|
||||
items = [ items ];
|
||||
|
||||
var i, j,
|
||||
listLength = list.length,
|
||||
itemsLength = items && items.length;
|
||||
|
||||
if ( itemsLength )
|
||||
{
|
||||
// Find the index to insert the items at.
|
||||
for ( i = 0 ; i < listLength && list[ i ].pri < priority ; i++ )
|
||||
{ /*jsl:pass*/ }
|
||||
|
||||
// Add all new items to the list at the specific index.
|
||||
for ( j = itemsLength - 1 ; j >= 0 ; j-- )
|
||||
{
|
||||
var item = items[ j ];
|
||||
if ( item )
|
||||
{
|
||||
item.pri = priority;
|
||||
list.splice( i, 0, item );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function addNamedItems( hashTable, items, priority )
|
||||
{
|
||||
if ( items )
|
||||
{
|
||||
for ( var name in items )
|
||||
{
|
||||
var current = hashTable[ name ];
|
||||
|
||||
hashTable[ name ] =
|
||||
transformNamedItem(
|
||||
current,
|
||||
items[ name ],
|
||||
priority );
|
||||
|
||||
if ( !current )
|
||||
hashTable.$length++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function transformNamedItem( current, item, priority )
|
||||
{
|
||||
if ( item )
|
||||
{
|
||||
item.pri = priority;
|
||||
|
||||
if ( current )
|
||||
{
|
||||
// If the current item is not an Array, transform it.
|
||||
if ( !current.splice )
|
||||
{
|
||||
if ( current.pri > priority )
|
||||
current = [ item, current ];
|
||||
else
|
||||
current = [ current, item ];
|
||||
|
||||
current.filter = callItems;
|
||||
}
|
||||
else
|
||||
addItemsToList( current, item, priority );
|
||||
|
||||
return current;
|
||||
}
|
||||
else
|
||||
{
|
||||
item.filter = item;
|
||||
return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function callItems( currentEntry )
|
||||
{
|
||||
var isObject = ( typeof currentEntry == 'object' );
|
||||
|
||||
for ( var i = 0 ; i < this.length ; i++ )
|
||||
{
|
||||
var item = this[ i ],
|
||||
ret = item.apply( window, arguments );
|
||||
|
||||
if ( typeof ret != 'undefined' )
|
||||
{
|
||||
if ( ret === false )
|
||||
return false;
|
||||
|
||||
if ( isObject && ret != currentEntry )
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
})();
|
||||
|
||||
// "entities" plugin
|
||||
/*
|
||||
{
|
||||
text : function( text )
|
||||
{
|
||||
// TODO : Process entities.
|
||||
return text.toUpperCase();
|
||||
}
|
||||
};
|
||||
*/
|
496
phpgwapi/js/ckeditor3/_source/core/htmlparser/fragment.js
Normal file
496
phpgwapi/js/ckeditor3/_source/core/htmlparser/fragment.js
Normal file
@ -0,0 +1,496 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* A lightweight representation of an HTML DOM structure.
|
||||
* @constructor
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.htmlParser.fragment = function()
|
||||
{
|
||||
/**
|
||||
* The nodes contained in the root of this fragment.
|
||||
* @type Array
|
||||
* @example
|
||||
* var fragment = CKEDITOR.htmlParser.fragment.fromHtml( '<b>Sample</b> Text' );
|
||||
* alert( fragment.children.length ); "2"
|
||||
*/
|
||||
this.children = [];
|
||||
|
||||
/**
|
||||
* Get the fragment parent. Should always be null.
|
||||
* @type Object
|
||||
* @default null
|
||||
* @example
|
||||
*/
|
||||
this.parent = null;
|
||||
|
||||
/** @private */
|
||||
this._ =
|
||||
{
|
||||
isBlockLike : true,
|
||||
hasInlineStarted : false
|
||||
};
|
||||
};
|
||||
|
||||
(function()
|
||||
{
|
||||
// Elements which the end tag is marked as optional in the HTML 4.01 DTD
|
||||
// (expect empty elements).
|
||||
var optionalClose = {colgroup:1,dd:1,dt:1,li:1,option:1,p:1,td:1,tfoot:1,th:1,thead:1,tr:1};
|
||||
|
||||
// Block-level elements whose internal structure should be respected during
|
||||
// parser fixing.
|
||||
var nonBreakingBlocks = CKEDITOR.tools.extend(
|
||||
{table:1,ul:1,ol:1,dl:1},
|
||||
CKEDITOR.dtd.table, CKEDITOR.dtd.ul, CKEDITOR.dtd.ol, CKEDITOR.dtd.dl ),
|
||||
listBlocks = CKEDITOR.dtd.$list, listItems = CKEDITOR.dtd.$listItem;
|
||||
|
||||
/**
|
||||
* Creates a {@link CKEDITOR.htmlParser.fragment} from an HTML string.
|
||||
* @param {String} fragmentHtml The HTML to be parsed, filling the fragment.
|
||||
* @param {Number} [fixForBody=false] Wrap body with specified element if needed.
|
||||
* @returns CKEDITOR.htmlParser.fragment The fragment created.
|
||||
* @example
|
||||
* var fragment = CKEDITOR.htmlParser.fragment.fromHtml( '<b>Sample</b> Text' );
|
||||
* alert( fragment.children[0].name ); "b"
|
||||
* alert( fragment.children[1].value ); " Text"
|
||||
*/
|
||||
CKEDITOR.htmlParser.fragment.fromHtml = function( fragmentHtml, fixForBody )
|
||||
{
|
||||
var parser = new CKEDITOR.htmlParser(),
|
||||
html = [],
|
||||
fragment = new CKEDITOR.htmlParser.fragment(),
|
||||
pendingInline = [],
|
||||
pendingBRs = [],
|
||||
currentNode = fragment,
|
||||
// Indicate we're inside a <pre> element, spaces should be touched differently.
|
||||
inPre = false,
|
||||
returnPoint;
|
||||
|
||||
function checkPending( newTagName )
|
||||
{
|
||||
var pendingBRsSent;
|
||||
|
||||
if ( pendingInline.length > 0 )
|
||||
{
|
||||
for ( var i = 0 ; i < pendingInline.length ; i++ )
|
||||
{
|
||||
var pendingElement = pendingInline[ i ],
|
||||
pendingName = pendingElement.name,
|
||||
pendingDtd = CKEDITOR.dtd[ pendingName ],
|
||||
currentDtd = currentNode.name && CKEDITOR.dtd[ currentNode.name ];
|
||||
|
||||
if ( ( !currentDtd || currentDtd[ pendingName ] ) && ( !newTagName || !pendingDtd || pendingDtd[ newTagName ] || !CKEDITOR.dtd[ newTagName ] ) )
|
||||
{
|
||||
if ( !pendingBRsSent )
|
||||
{
|
||||
sendPendingBRs();
|
||||
pendingBRsSent = 1;
|
||||
}
|
||||
|
||||
// Get a clone for the pending element.
|
||||
pendingElement = pendingElement.clone();
|
||||
|
||||
// Add it to the current node and make it the current,
|
||||
// so the new element will be added inside of it.
|
||||
pendingElement.parent = currentNode;
|
||||
currentNode = pendingElement;
|
||||
|
||||
// Remove the pending element (back the index by one
|
||||
// to properly process the next entry).
|
||||
pendingInline.splice( i, 1 );
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function sendPendingBRs()
|
||||
{
|
||||
while ( pendingBRs.length )
|
||||
currentNode.add( pendingBRs.shift() );
|
||||
}
|
||||
|
||||
function addElement( element, target, enforceCurrent )
|
||||
{
|
||||
target = target || currentNode || fragment;
|
||||
|
||||
// If the target is the fragment and this element can't go inside
|
||||
// body (if fixForBody).
|
||||
if ( fixForBody && !target.type )
|
||||
{
|
||||
var elementName, realElementName;
|
||||
if ( element.attributes
|
||||
&& ( realElementName =
|
||||
element.attributes[ '_cke_real_element_type' ] ) )
|
||||
elementName = realElementName;
|
||||
else
|
||||
elementName = element.name;
|
||||
if ( elementName
|
||||
&& !( elementName in CKEDITOR.dtd.$body )
|
||||
&& !( elementName in CKEDITOR.dtd.$nonBodyContent ) )
|
||||
{
|
||||
var savedCurrent = currentNode;
|
||||
|
||||
// Create a <p> in the fragment.
|
||||
currentNode = target;
|
||||
parser.onTagOpen( fixForBody, {} );
|
||||
|
||||
// The new target now is the <p>.
|
||||
target = currentNode;
|
||||
|
||||
if ( enforceCurrent )
|
||||
currentNode = savedCurrent;
|
||||
}
|
||||
}
|
||||
|
||||
// Rtrim empty spaces on block end boundary. (#3585)
|
||||
if ( element._.isBlockLike
|
||||
&& element.name != 'pre' )
|
||||
{
|
||||
|
||||
var length = element.children.length,
|
||||
lastChild = element.children[ length - 1 ],
|
||||
text;
|
||||
if ( lastChild && lastChild.type == CKEDITOR.NODE_TEXT )
|
||||
{
|
||||
if ( !( text = CKEDITOR.tools.rtrim( lastChild.value ) ) )
|
||||
element.children.length = length -1;
|
||||
else
|
||||
lastChild.value = text;
|
||||
}
|
||||
}
|
||||
|
||||
target.add( element );
|
||||
|
||||
if ( element.returnPoint )
|
||||
{
|
||||
currentNode = element.returnPoint;
|
||||
delete element.returnPoint;
|
||||
}
|
||||
}
|
||||
|
||||
parser.onTagOpen = function( tagName, attributes, selfClosing )
|
||||
{
|
||||
var element = new CKEDITOR.htmlParser.element( tagName, attributes );
|
||||
|
||||
// "isEmpty" will be always "false" for unknown elements, so we
|
||||
// must force it if the parser has identified it as a selfClosing tag.
|
||||
if ( element.isUnknown && selfClosing )
|
||||
element.isEmpty = true;
|
||||
|
||||
// This is a tag to be removed if empty, so do not add it immediately.
|
||||
if ( CKEDITOR.dtd.$removeEmpty[ tagName ] )
|
||||
{
|
||||
pendingInline.push( element );
|
||||
return;
|
||||
}
|
||||
else if ( tagName == 'pre' )
|
||||
inPre = true;
|
||||
else if ( tagName == 'br' && inPre )
|
||||
{
|
||||
currentNode.add( new CKEDITOR.htmlParser.text( '\n' ) );
|
||||
return;
|
||||
}
|
||||
|
||||
if ( tagName == 'br' )
|
||||
{
|
||||
pendingBRs.push( element );
|
||||
return;
|
||||
}
|
||||
|
||||
var currentName = currentNode.name;
|
||||
|
||||
var currentDtd = currentName
|
||||
&& ( CKEDITOR.dtd[ currentName ]
|
||||
|| ( currentNode._.isBlockLike ? CKEDITOR.dtd.div : CKEDITOR.dtd.span ) );
|
||||
|
||||
// If the element cannot be child of the current element.
|
||||
if ( currentDtd // Fragment could receive any elements.
|
||||
&& !element.isUnknown && !currentNode.isUnknown && !currentDtd[ tagName ] )
|
||||
{
|
||||
|
||||
var reApply = false,
|
||||
addPoint; // New position to start adding nodes.
|
||||
|
||||
// Fixing malformed nested lists by moving it into a previous list item. (#3828)
|
||||
if ( tagName in listBlocks
|
||||
&& currentName in listBlocks )
|
||||
{
|
||||
var children = currentNode.children,
|
||||
lastChild = children[ children.length - 1 ];
|
||||
|
||||
// Establish the list item if it's not existed.
|
||||
if ( !( lastChild && lastChild.name in listItems ) )
|
||||
addElement( ( lastChild = new CKEDITOR.htmlParser.element( 'li' ) ), currentNode );
|
||||
|
||||
returnPoint = currentNode, addPoint = lastChild;
|
||||
}
|
||||
// If the element name is the same as the current element name,
|
||||
// then just close the current one and append the new one to the
|
||||
// parent. This situation usually happens with <p>, <li>, <dt> and
|
||||
// <dd>, specially in IE. Do not enter in this if block in this case.
|
||||
else if ( tagName == currentName )
|
||||
{
|
||||
addElement( currentNode, currentNode.parent );
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( nonBreakingBlocks[ currentName ] )
|
||||
{
|
||||
if ( !returnPoint )
|
||||
returnPoint = currentNode;
|
||||
}
|
||||
else
|
||||
{
|
||||
addElement( currentNode, currentNode.parent, true );
|
||||
|
||||
if ( !optionalClose[ currentName ] )
|
||||
{
|
||||
// The current element is an inline element, which
|
||||
// cannot hold the new one. Put it in the pending list,
|
||||
// and try adding the new one after it.
|
||||
pendingInline.unshift( currentNode );
|
||||
}
|
||||
}
|
||||
|
||||
reApply = true;
|
||||
}
|
||||
|
||||
if ( addPoint )
|
||||
currentNode = addPoint;
|
||||
// Try adding it to the return point, or the parent element.
|
||||
else
|
||||
currentNode = currentNode.returnPoint || currentNode.parent;
|
||||
|
||||
if ( reApply )
|
||||
{
|
||||
parser.onTagOpen.apply( this, arguments );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
checkPending( tagName );
|
||||
sendPendingBRs();
|
||||
|
||||
element.parent = currentNode;
|
||||
element.returnPoint = returnPoint;
|
||||
returnPoint = 0;
|
||||
|
||||
if ( element.isEmpty )
|
||||
addElement( element );
|
||||
else
|
||||
currentNode = element;
|
||||
};
|
||||
|
||||
parser.onTagClose = function( tagName )
|
||||
{
|
||||
// Check if there is any pending tag to be closed.
|
||||
for ( var i = pendingInline.length - 1 ; i >= 0 ; i-- )
|
||||
{
|
||||
// If found, just remove it from the list.
|
||||
if ( tagName == pendingInline[ i ].name )
|
||||
{
|
||||
pendingInline.splice( i, 1 );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var pendingAdd = [],
|
||||
newPendingInline = [],
|
||||
candidate = currentNode;
|
||||
|
||||
while ( candidate.type && candidate.name != tagName )
|
||||
{
|
||||
// If this is an inline element, add it to the pending list, if we're
|
||||
// really closing one of the parents element later, they will continue
|
||||
// after it.
|
||||
if ( !candidate._.isBlockLike )
|
||||
newPendingInline.unshift( candidate );
|
||||
|
||||
// This node should be added to it's parent at this point. But,
|
||||
// it should happen only if the closing tag is really closing
|
||||
// one of the nodes. So, for now, we just cache it.
|
||||
pendingAdd.push( candidate );
|
||||
|
||||
candidate = candidate.parent;
|
||||
}
|
||||
|
||||
if ( candidate.type )
|
||||
{
|
||||
// Add all elements that have been found in the above loop.
|
||||
for ( i = 0 ; i < pendingAdd.length ; i++ )
|
||||
{
|
||||
var node = pendingAdd[ i ];
|
||||
addElement( node, node.parent );
|
||||
}
|
||||
|
||||
currentNode = candidate;
|
||||
|
||||
if ( currentNode.name == 'pre' )
|
||||
inPre = false;
|
||||
|
||||
if ( candidate._.isBlockLike )
|
||||
sendPendingBRs();
|
||||
|
||||
addElement( candidate, candidate.parent );
|
||||
|
||||
// The parent should start receiving new nodes now, except if
|
||||
// addElement changed the currentNode.
|
||||
if ( candidate == currentNode )
|
||||
currentNode = currentNode.parent;
|
||||
|
||||
pendingInline = pendingInline.concat( newPendingInline );
|
||||
}
|
||||
|
||||
if ( tagName == 'body' )
|
||||
fixForBody = false;
|
||||
};
|
||||
|
||||
parser.onText = function( text )
|
||||
{
|
||||
// Trim empty spaces at beginning of element contents except <pre>.
|
||||
if ( !currentNode._.hasInlineStarted && !inPre )
|
||||
{
|
||||
text = CKEDITOR.tools.ltrim( text );
|
||||
|
||||
if ( text.length === 0 )
|
||||
return;
|
||||
}
|
||||
|
||||
sendPendingBRs();
|
||||
checkPending();
|
||||
|
||||
if ( fixForBody
|
||||
&& ( !currentNode.type || currentNode.name == 'body' )
|
||||
&& CKEDITOR.tools.trim( text ) )
|
||||
{
|
||||
this.onTagOpen( fixForBody, {} );
|
||||
}
|
||||
|
||||
// Shrinking consequential spaces into one single for all elements
|
||||
// text contents.
|
||||
if ( !inPre )
|
||||
text = text.replace( /[\t\r\n ]{2,}|[\t\r\n]/g, ' ' );
|
||||
|
||||
currentNode.add( new CKEDITOR.htmlParser.text( text ) );
|
||||
};
|
||||
|
||||
parser.onCDATA = function( cdata )
|
||||
{
|
||||
currentNode.add( new CKEDITOR.htmlParser.cdata( cdata ) );
|
||||
};
|
||||
|
||||
parser.onComment = function( comment )
|
||||
{
|
||||
currentNode.add( new CKEDITOR.htmlParser.comment( comment ) );
|
||||
};
|
||||
|
||||
// Parse it.
|
||||
parser.parse( fragmentHtml );
|
||||
|
||||
sendPendingBRs();
|
||||
|
||||
// Close all pending nodes.
|
||||
while ( currentNode.type )
|
||||
{
|
||||
var parent = currentNode.parent,
|
||||
node = currentNode;
|
||||
|
||||
if ( fixForBody
|
||||
&& ( !parent.type || parent.name == 'body' )
|
||||
&& !CKEDITOR.dtd.$body[ node.name ] )
|
||||
{
|
||||
currentNode = parent;
|
||||
parser.onTagOpen( fixForBody, {} );
|
||||
parent = currentNode;
|
||||
}
|
||||
|
||||
parent.add( node );
|
||||
currentNode = parent;
|
||||
}
|
||||
|
||||
return fragment;
|
||||
};
|
||||
|
||||
CKEDITOR.htmlParser.fragment.prototype =
|
||||
{
|
||||
/**
|
||||
* Adds a node to this fragment.
|
||||
* @param {Object} node The node to be added. It can be any of of the
|
||||
* following types: {@link CKEDITOR.htmlParser.element},
|
||||
* {@link CKEDITOR.htmlParser.text} and
|
||||
* {@link CKEDITOR.htmlParser.comment}.
|
||||
* @example
|
||||
*/
|
||||
add : function( node )
|
||||
{
|
||||
var len = this.children.length,
|
||||
previous = len > 0 && this.children[ len - 1 ] || null;
|
||||
|
||||
if ( previous )
|
||||
{
|
||||
// If the block to be appended is following text, trim spaces at
|
||||
// the right of it.
|
||||
if ( node._.isBlockLike && previous.type == CKEDITOR.NODE_TEXT )
|
||||
{
|
||||
previous.value = CKEDITOR.tools.rtrim( previous.value );
|
||||
|
||||
// If we have completely cleared the previous node.
|
||||
if ( previous.value.length === 0 )
|
||||
{
|
||||
// Remove it from the list and add the node again.
|
||||
this.children.pop();
|
||||
this.add( node );
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
previous.next = node;
|
||||
}
|
||||
|
||||
node.previous = previous;
|
||||
node.parent = this;
|
||||
|
||||
this.children.push( node );
|
||||
|
||||
this._.hasInlineStarted = node.type == CKEDITOR.NODE_TEXT || ( node.type == CKEDITOR.NODE_ELEMENT && !node._.isBlockLike );
|
||||
},
|
||||
|
||||
/**
|
||||
* Writes the fragment HTML to a CKEDITOR.htmlWriter.
|
||||
* @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML.
|
||||
* @example
|
||||
* var writer = new CKEDITOR.htmlWriter();
|
||||
* var fragment = CKEDITOR.htmlParser.fragment.fromHtml( '<P><B>Example' );
|
||||
* fragment.writeHtml( writer )
|
||||
* alert( writer.getHtml() ); "<p><b>Example</b></p>"
|
||||
*/
|
||||
writeHtml : function( writer, filter )
|
||||
{
|
||||
var isChildrenFiltered;
|
||||
this.filterChildren = function()
|
||||
{
|
||||
var writer = new CKEDITOR.htmlParser.basicWriter();
|
||||
this.writeChildrenHtml.call( this, writer, filter, true );
|
||||
var html = writer.getHtml();
|
||||
this.children = new CKEDITOR.htmlParser.fragment.fromHtml( html ).children;
|
||||
isChildrenFiltered = 1;
|
||||
};
|
||||
|
||||
// Filtering the root fragment before anything else.
|
||||
!this.name && filter && filter.onFragment( this );
|
||||
|
||||
this.writeChildrenHtml( writer, isChildrenFiltered ? null : filter );
|
||||
},
|
||||
|
||||
writeChildrenHtml : function( writer, filter )
|
||||
{
|
||||
for ( var i = 0 ; i < this.children.length ; i++ )
|
||||
this.children[i].writeHtml( writer, filter );
|
||||
}
|
||||
};
|
||||
})();
|
55
phpgwapi/js/ckeditor3/_source/core/htmlparser/text.js
Normal file
55
phpgwapi/js/ckeditor3/_source/core/htmlparser/text.js
Normal file
@ -0,0 +1,55 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
var spacesRegex = /[\t\r\n ]{2,}|[\t\r\n]/g;
|
||||
|
||||
/**
|
||||
* A lightweight representation of HTML text.
|
||||
* @constructor
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.htmlParser.text = function( value )
|
||||
{
|
||||
/**
|
||||
* The text value.
|
||||
* @type String
|
||||
* @example
|
||||
*/
|
||||
this.value = value;
|
||||
|
||||
/** @private */
|
||||
this._ =
|
||||
{
|
||||
isBlockLike : false
|
||||
};
|
||||
};
|
||||
|
||||
CKEDITOR.htmlParser.text.prototype =
|
||||
{
|
||||
/**
|
||||
* The node type. This is a constant value set to {@link CKEDITOR.NODE_TEXT}.
|
||||
* @type Number
|
||||
* @example
|
||||
*/
|
||||
type : CKEDITOR.NODE_TEXT,
|
||||
|
||||
/**
|
||||
* Writes the HTML representation of this text to a CKEDITOR.htmlWriter.
|
||||
* @param {CKEDITOR.htmlWriter} writer The writer to which write the HTML.
|
||||
* @example
|
||||
*/
|
||||
writeHtml : function( writer, filter )
|
||||
{
|
||||
var text = this.value;
|
||||
|
||||
if ( filter && !( text = filter.onText( text, this ) ) )
|
||||
return;
|
||||
|
||||
writer.text( text );
|
||||
}
|
||||
};
|
||||
})();
|
59
phpgwapi/js/ckeditor3/_source/core/imagecacher.js
Normal file
59
phpgwapi/js/ckeditor3/_source/core/imagecacher.js
Normal file
@ -0,0 +1,59 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
var loaded = {};
|
||||
|
||||
var loadImage = function( image, callback )
|
||||
{
|
||||
var doCallback = function()
|
||||
{
|
||||
img.removeAllListeners();
|
||||
loaded[ image ] = 1;
|
||||
callback();
|
||||
};
|
||||
|
||||
var img = new CKEDITOR.dom.element( 'img' );
|
||||
img.on( 'load', doCallback );
|
||||
img.on( 'error', doCallback );
|
||||
img.setAttribute( 'src', image );
|
||||
};
|
||||
|
||||
/**
|
||||
* Load images into the browser cache.
|
||||
* @namespace
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.imageCacher =
|
||||
{
|
||||
/**
|
||||
* Loads one or more images.
|
||||
* @param {Array} images The URLs for the images to be loaded.
|
||||
* @param {Function} callback The function to be called once all images
|
||||
* are loaded.
|
||||
*/
|
||||
load : function( images, callback )
|
||||
{
|
||||
var pendingCount = images.length;
|
||||
|
||||
var checkPending = function()
|
||||
{
|
||||
if ( --pendingCount === 0 )
|
||||
callback();
|
||||
};
|
||||
|
||||
for ( var i = 0 ; i < images.length ; i++ )
|
||||
{
|
||||
var image = images[ i ];
|
||||
|
||||
if ( loaded[ image ] )
|
||||
checkPending();
|
||||
else
|
||||
loadImage( image, checkPending );
|
||||
}
|
||||
}
|
||||
};
|
||||
})();
|
152
phpgwapi/js/ckeditor3/_source/core/lang.js
Normal file
152
phpgwapi/js/ckeditor3/_source/core/lang.js
Normal file
@ -0,0 +1,152 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
var loadedLangs = {};
|
||||
|
||||
CKEDITOR.lang =
|
||||
{
|
||||
/**
|
||||
* The list of languages available in the editor core.
|
||||
* @type Object
|
||||
* @example
|
||||
* alert( CKEDITOR.lang.en ); // "true"
|
||||
*/
|
||||
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,
|
||||
'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
|
||||
},
|
||||
|
||||
/**
|
||||
* Loads a specific language file, or auto detect it. A callback is
|
||||
* then called when the file gets loaded.
|
||||
* @param {String} languageCode The code of the language file to be
|
||||
* loaded. If "autoDetect" is set to true, this language will be
|
||||
* used as the default one, if the detect language is not
|
||||
* available in the core.
|
||||
* @param {Boolean} autoDetect Indicates that the function must try to
|
||||
* detect the user language and load it instead.
|
||||
* @param {Function} callback The function to be called once the
|
||||
* language file is loaded. Two parameters are passed to this
|
||||
* function: the language code and the loaded language entries.
|
||||
* @example
|
||||
*/
|
||||
load : function( languageCode, defaultLanguage, callback )
|
||||
{
|
||||
// If no languageCode - fallback to browser or default.
|
||||
// If languageCode - fallback to no-localized version or default.
|
||||
if ( !languageCode || !CKEDITOR.lang.languages[ languageCode ] )
|
||||
languageCode = this.detect( defaultLanguage, languageCode );
|
||||
|
||||
if ( !this[ languageCode ] )
|
||||
{
|
||||
CKEDITOR.scriptLoader.load( CKEDITOR.getUrl(
|
||||
'_source/' + // @Packager.RemoveLine
|
||||
'lang/' + languageCode + '.js' ),
|
||||
function()
|
||||
{
|
||||
callback( languageCode, this[ languageCode ] );
|
||||
}
|
||||
, this );
|
||||
}
|
||||
else
|
||||
callback( languageCode, this[ languageCode ] );
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the language that best fit the user language. For example,
|
||||
* suppose that the user language is "pt-br". If this language is
|
||||
* supported by the editor, it is returned. Otherwise, if only "pt" is
|
||||
* supported, it is returned instead. If none of the previous are
|
||||
* supported, a default language is then returned.
|
||||
* @param {String} defaultLanguage The default language to be returned
|
||||
* if the user language is not supported.
|
||||
* @returns {String} The detected language code.
|
||||
* @example
|
||||
* alert( CKEDITOR.lang.detect( 'en' ) ); // e.g., in a German browser: "de"
|
||||
*/
|
||||
detect : function( defaultLanguage, probeLanguage )
|
||||
{
|
||||
var languages = this.languages;
|
||||
probeLanguage = probeLanguage || navigator.userLanguage || navigator.language;
|
||||
|
||||
var parts = probeLanguage
|
||||
.toLowerCase()
|
||||
.match( /([a-z]+)(?:-([a-z]+))?/ ),
|
||||
lang = parts[1],
|
||||
locale = parts[2];
|
||||
|
||||
if ( languages[ lang + '-' + locale ] )
|
||||
lang = lang + '-' + locale;
|
||||
else if ( !languages[ lang ] )
|
||||
lang = null;
|
||||
|
||||
CKEDITOR.lang.detect = lang ?
|
||||
function() { return lang; } :
|
||||
function( defaultLanguage ) { return defaultLanguage; };
|
||||
|
||||
return lang || defaultLanguage;
|
||||
}
|
||||
};
|
||||
|
||||
})();
|
242
phpgwapi/js/ckeditor3/_source/core/loader.js
Normal file
242
phpgwapi/js/ckeditor3/_source/core/loader.js
Normal file
@ -0,0 +1,242 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.loader} objects, which is used to
|
||||
* load core scripts and their dependencies from _source.
|
||||
*/
|
||||
|
||||
if ( typeof CKEDITOR == 'undefined' )
|
||||
CKEDITOR = {};
|
||||
|
||||
if ( !CKEDITOR.loader )
|
||||
{
|
||||
/**
|
||||
* Load core scripts and their dependencies from _source.
|
||||
* @namespace
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.loader = (function()
|
||||
{
|
||||
// Table of script names and their dependencies.
|
||||
var scripts =
|
||||
{
|
||||
'core/_bootstrap' : [ 'core/config', 'core/ckeditor', 'core/plugins', 'core/scriptloader', 'core/tools', /* The following are entries that we want to force loading at the end to avoid dependence recursion */ 'core/dom/comment', 'core/dom/elementpath', 'core/dom/text', 'core/dom/range' ],
|
||||
'core/ajax' : [ 'core/xml' ],
|
||||
'core/ckeditor' : [ 'core/ckeditor_basic', 'core/dom', 'core/dtd', 'core/dom/document', 'core/dom/element', 'core/editor', 'core/event', 'core/htmlparser', 'core/htmlparser/element', 'core/htmlparser/fragment', 'core/htmlparser/filter', 'core/htmlparser/basicwriter', 'core/tools' ],
|
||||
'core/ckeditor_base' : [],
|
||||
'core/ckeditor_basic' : [ 'core/editor_basic', 'core/env', 'core/event' ],
|
||||
'core/command' : [],
|
||||
'core/config' : [ 'core/ckeditor_base' ],
|
||||
'core/dom' : [],
|
||||
'core/dom/comment' : [ 'core/dom/node' ],
|
||||
'core/dom/document' : [ 'core/dom', 'core/dom/domobject', 'core/dom/window' ],
|
||||
'core/dom/documentfragment' : [ 'core/dom/element' ],
|
||||
'core/dom/element' : [ 'core/dom', 'core/dom/document', 'core/dom/domobject', 'core/dom/node', 'core/dom/nodelist', 'core/tools' ],
|
||||
'core/dom/elementpath' : [ 'core/dom/element' ],
|
||||
'core/dom/event' : [],
|
||||
'core/dom/node' : [ 'core/dom/domobject', 'core/tools' ],
|
||||
'core/dom/nodelist' : [ 'core/dom/node' ],
|
||||
'core/dom/domobject' : [ 'core/dom/event' ],
|
||||
'core/dom/range' : [ 'core/dom/document', 'core/dom/documentfragment', 'core/dom/element', 'core/dom/walker' ],
|
||||
'core/dom/text' : [ 'core/dom/node', 'core/dom/domobject' ],
|
||||
'core/dom/walker' : [ 'core/dom/node' ],
|
||||
'core/dom/window' : [ 'core/dom/domobject' ],
|
||||
'core/dtd' : [ 'core/tools' ],
|
||||
'core/editor' : [ 'core/command', 'core/config', 'core/editor_basic', 'core/focusmanager', 'core/lang', 'core/plugins', 'core/skins', 'core/themes', 'core/tools', 'core/ui' ],
|
||||
'core/editor_basic' : [ 'core/event' ],
|
||||
'core/env' : [],
|
||||
'core/event' : [],
|
||||
'core/focusmanager' : [],
|
||||
'core/htmlparser' : [],
|
||||
'core/htmlparser/comment' : [ 'core/htmlparser' ],
|
||||
'core/htmlparser/element' : [ 'core/htmlparser', 'core/htmlparser/fragment' ],
|
||||
'core/htmlparser/fragment' : [ 'core/htmlparser', 'core/htmlparser/comment', 'core/htmlparser/text', 'core/htmlparser/cdata' ],
|
||||
'core/htmlparser/text' : [ 'core/htmlparser' ],
|
||||
'core/htmlparser/cdata' : [ 'core/htmlparser' ],
|
||||
'core/htmlparser/filter' : [ 'core/htmlparser' ],
|
||||
'core/htmlparser/basicwriter': [ 'core/htmlparser' ],
|
||||
'core/imagecacher' : [ 'core/dom/element' ],
|
||||
'core/lang' : [],
|
||||
'core/plugins' : [ 'core/resourcemanager' ],
|
||||
'core/resourcemanager' : [ 'core/scriptloader', 'core/tools' ],
|
||||
'core/scriptloader' : [ 'core/dom/element', 'core/env' ],
|
||||
'core/skins' : [ 'core/imagecacher', 'core/scriptloader' ],
|
||||
'core/themes' : [ 'core/resourcemanager' ],
|
||||
'core/tools' : [ 'core/env' ],
|
||||
'core/ui' : [],
|
||||
'core/xml' : [ 'core/env' ]
|
||||
};
|
||||
|
||||
var basePath = (function()
|
||||
{
|
||||
// This is a copy of CKEDITOR.basePath, but requires the script having
|
||||
// "_source/core/loader.js".
|
||||
if ( CKEDITOR && CKEDITOR.basePath )
|
||||
return CKEDITOR.basePath;
|
||||
|
||||
// Find out the editor directory path, based on its <script> tag.
|
||||
var path = '';
|
||||
var scripts = document.getElementsByTagName( 'script' );
|
||||
|
||||
for ( var i = 0 ; i < scripts.length ; i++ )
|
||||
{
|
||||
var match = scripts[i].src.match( /(^|.*[\\\/])core\/loader.js(?:\?.*)?$/i );
|
||||
|
||||
if ( match )
|
||||
{
|
||||
path = match[1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// In IE (only) the script.src string is the raw valued entered in the
|
||||
// HTML. Other browsers return the full resolved URL instead.
|
||||
if ( path.indexOf('://') == -1 )
|
||||
{
|
||||
// Absolute path.
|
||||
if ( path.indexOf( '/' ) === 0 )
|
||||
path = location.href.match( /^.*?:\/\/[^\/]*/ )[0] + path;
|
||||
// Relative path.
|
||||
else
|
||||
path = location.href.match( /^[^\?]*\// )[0] + path;
|
||||
}
|
||||
|
||||
return path;
|
||||
})();
|
||||
|
||||
var timestamp = 'A39E';
|
||||
|
||||
var getUrl = function( resource )
|
||||
{
|
||||
if ( CKEDITOR && CKEDITOR.getUrl )
|
||||
return CKEDITOR.getUrl( resource );
|
||||
|
||||
return basePath + resource +
|
||||
( resource.indexOf( '?' ) >= 0 ? '&' : '?' ) +
|
||||
't=' + timestamp;
|
||||
};
|
||||
|
||||
var pendingLoad = [];
|
||||
|
||||
/** @lends CKEDITOR.loader */
|
||||
return {
|
||||
/**
|
||||
* The list of loaded scripts in their loading order.
|
||||
* @type Array
|
||||
* @example
|
||||
* // Alert the loaded script names.
|
||||
* alert( <b>CKEDITOR.loader.loadedScripts</b> );
|
||||
*/
|
||||
loadedScripts : [],
|
||||
|
||||
loadPending : function()
|
||||
{
|
||||
var scriptName = pendingLoad.shift();
|
||||
|
||||
if ( !scriptName )
|
||||
return;
|
||||
|
||||
var scriptSrc = getUrl( '_source/' + scriptName + '.js' );
|
||||
|
||||
var script = document.createElement( 'script' );
|
||||
script.type = 'text/javascript';
|
||||
script.src = scriptSrc;
|
||||
|
||||
function onScriptLoaded()
|
||||
{
|
||||
// Append this script to the list of loaded scripts.
|
||||
CKEDITOR.loader.loadedScripts.push( scriptName );
|
||||
|
||||
// Load the next.
|
||||
CKEDITOR.loader.loadPending();
|
||||
}
|
||||
|
||||
// We must guarantee the execution order of the scripts, so we
|
||||
// need to load them one by one. (#4145)
|
||||
// The following if/else block has been taken from the scriptloader core code.
|
||||
if ( typeof(script.onreadystatechange) !== "undefined" )
|
||||
{
|
||||
/** @ignore */
|
||||
script.onreadystatechange = function()
|
||||
{
|
||||
if ( script.readyState == 'loaded' || script.readyState == 'complete' )
|
||||
{
|
||||
script.onreadystatechange = null;
|
||||
onScriptLoaded();
|
||||
}
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
/** @ignore */
|
||||
script.onload = function()
|
||||
{
|
||||
// Some browsers, such as Safari, may call the onLoad function
|
||||
// immediately. Which will break the loading sequence. (#3661)
|
||||
setTimeout( function() { onScriptLoaded( scriptName ); }, 0 );
|
||||
};
|
||||
}
|
||||
|
||||
document.body.appendChild( script );
|
||||
},
|
||||
|
||||
/**
|
||||
* Loads a specific script, including its dependencies. This is not a
|
||||
* synchronous loading, which means that the code to be loaded will
|
||||
* not necessarily be available after this call.
|
||||
* @example
|
||||
* CKEDITOR.loader.load( 'core/dom/element' );
|
||||
*/
|
||||
load : function( scriptName, defer )
|
||||
{
|
||||
// Check if the script has already been loaded.
|
||||
if ( scriptName in this.loadedScripts )
|
||||
return;
|
||||
|
||||
// Get the script dependencies list.
|
||||
var dependencies = scripts[ scriptName ];
|
||||
if ( !dependencies )
|
||||
throw 'The script name"' + scriptName + '" is not defined.';
|
||||
|
||||
// Mark the script as loaded, even before really loading it, to
|
||||
// avoid cross references recursion.
|
||||
this.loadedScripts[ scriptName ] = true;
|
||||
|
||||
// Load all dependencies first.
|
||||
for ( var i = 0 ; i < dependencies.length ; i++ )
|
||||
this.load( dependencies[ i ], true );
|
||||
|
||||
var scriptSrc = getUrl( '_source/' + scriptName + '.js' );
|
||||
|
||||
// Append the <script> element to the DOM.
|
||||
// If the page is fully loaded, we can't use document.write
|
||||
// but if the script is run while the body is loading then it's safe to use it
|
||||
// Unfortunately, Firefox <3.6 doesn't support document.readyState, so it won't get this improvement
|
||||
if ( document.body && (!document.readyState || document.readyState == 'complete') )
|
||||
{
|
||||
pendingLoad.push( scriptName );
|
||||
|
||||
if ( !defer )
|
||||
this.loadPending();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Append this script to the list of loaded scripts.
|
||||
this.loadedScripts.push( scriptName );
|
||||
|
||||
document.write( '<script src="' + scriptSrc + '" type="text/javascript"><\/script>' );
|
||||
}
|
||||
}
|
||||
};
|
||||
})();
|
||||
}
|
||||
|
||||
// Check if any script has been defined for autoload.
|
||||
if ( CKEDITOR._autoLoad )
|
||||
{
|
||||
CKEDITOR.loader.load( CKEDITOR._autoLoad );
|
||||
delete CKEDITOR._autoLoad;
|
||||
}
|
66
phpgwapi/js/ckeditor3/_source/core/plugindefinition.js
Normal file
66
phpgwapi/js/ckeditor3/_source/core/plugindefinition.js
Normal file
@ -0,0 +1,66 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the "virtual" {@link CKEDITOR.pluginDefinition} class, which
|
||||
* contains the defintion of a plugin. This file is for documentation
|
||||
* purposes only.
|
||||
*/
|
||||
|
||||
/**
|
||||
* (Virtual Class) Do not call this constructor. This class is not really part
|
||||
* of the API. It just illustrates the features of plugin objects to be
|
||||
* passed to the {@link CKEDITOR.plugins.add} function.
|
||||
* @name CKEDITOR.pluginDefinition
|
||||
* @constructor
|
||||
* @example
|
||||
*/
|
||||
|
||||
/**
|
||||
* A list of plugins that are required by this plugin. Note that this property
|
||||
* doesn't guarantee the loading order of the plugins.
|
||||
* @name CKEDITOR.pluginDefinition.prototype.requires
|
||||
* @type Array
|
||||
* @example
|
||||
* CKEDITOR.plugins.add( 'sample',
|
||||
* {
|
||||
* requires : [ 'button', 'selection' ]
|
||||
* });
|
||||
*/
|
||||
|
||||
/**
|
||||
* Function called on initialization of every editor instance created in the
|
||||
* page before the init() call task. The beforeInit function will be called for
|
||||
* all plugins, after that the init function is called for all of them. This
|
||||
* feature makes it possible to initialize things that could be used in the
|
||||
* init function of other plugins.
|
||||
* @name CKEDITOR.pluginDefinition.prototype.beforeInit
|
||||
* @function
|
||||
* @param {CKEDITOR.editor} editor The editor instance being initialized.
|
||||
* @example
|
||||
* CKEDITOR.plugins.add( 'sample',
|
||||
* {
|
||||
* beforeInit : function( editor )
|
||||
* {
|
||||
* alert( 'Editor "' + editor.name + '" is to be initialized!' );
|
||||
* }
|
||||
* });
|
||||
*/
|
||||
|
||||
/**
|
||||
* Function called on initialization of every editor instance created in the
|
||||
* page.
|
||||
* @name CKEDITOR.pluginDefinition.prototype.init
|
||||
* @function
|
||||
* @param {CKEDITOR.editor} editor The editor instance being initialized.
|
||||
* @example
|
||||
* CKEDITOR.plugins.add( 'sample',
|
||||
* {
|
||||
* init : function( editor )
|
||||
* {
|
||||
* alert( 'Editor "' + editor.name + '" is being initialized!' );
|
||||
* }
|
||||
* });
|
||||
*/
|
85
phpgwapi/js/ckeditor3/_source/core/plugins.js
Normal file
85
phpgwapi/js/ckeditor3/_source/core/plugins.js
Normal file
@ -0,0 +1,85 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.plugins} object, which is used to
|
||||
* manage plugins registration and loading.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Manages plugins registration and loading.
|
||||
* @namespace
|
||||
* @augments CKEDITOR.resourceManager
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.plugins = new CKEDITOR.resourceManager(
|
||||
'_source/' + // @Packager.RemoveLine
|
||||
'plugins/', 'plugin' );
|
||||
|
||||
// PACKAGER_RENAME( CKEDITOR.plugins )
|
||||
|
||||
CKEDITOR.plugins.load = CKEDITOR.tools.override( CKEDITOR.plugins.load, function( originalLoad )
|
||||
{
|
||||
return function( name, callback, scope )
|
||||
{
|
||||
var allPlugins = {};
|
||||
|
||||
var loadPlugins = function( names )
|
||||
{
|
||||
originalLoad.call( this, names, function( plugins )
|
||||
{
|
||||
CKEDITOR.tools.extend( allPlugins, plugins );
|
||||
|
||||
var requiredPlugins = [];
|
||||
for ( var pluginName in plugins )
|
||||
{
|
||||
var plugin = plugins[ pluginName ],
|
||||
requires = plugin && plugin.requires;
|
||||
|
||||
if ( requires )
|
||||
{
|
||||
for ( var i = 0 ; i < requires.length ; i++ )
|
||||
{
|
||||
if ( !allPlugins[ requires[ i ] ] )
|
||||
requiredPlugins.push( requires[ i ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( requiredPlugins.length )
|
||||
loadPlugins.call( this, requiredPlugins );
|
||||
else
|
||||
{
|
||||
// Call the "onLoad" function for all plugins.
|
||||
for ( pluginName in allPlugins )
|
||||
{
|
||||
plugin = allPlugins[ pluginName ];
|
||||
if ( plugin.onLoad && !plugin.onLoad._called )
|
||||
{
|
||||
plugin.onLoad();
|
||||
plugin.onLoad._called = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Call the callback.
|
||||
if ( callback )
|
||||
callback.call( scope || window, allPlugins );
|
||||
}
|
||||
}
|
||||
, this);
|
||||
|
||||
};
|
||||
|
||||
loadPlugins.call( this, name );
|
||||
};
|
||||
});
|
||||
|
||||
CKEDITOR.plugins.setLang = function( pluginName, languageCode, languageEntries )
|
||||
{
|
||||
var plugin = this.get( pluginName ),
|
||||
pluginLang = plugin.lang || ( plugin.lang = {} );
|
||||
|
||||
pluginLang[ languageCode ] = languageEntries;
|
||||
};
|
238
phpgwapi/js/ckeditor3/_source/core/resourcemanager.js
Normal file
238
phpgwapi/js/ckeditor3/_source/core/resourcemanager.js
Normal file
@ -0,0 +1,238 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.resourceManager} class, which is
|
||||
* the base for resource managers, like plugins and themes.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Base class for resource managers, like plugins and themes. This class is not
|
||||
* intended to be used out of the CKEditor core code.
|
||||
* @param {String} basePath The path for the resources folder.
|
||||
* @param {String} fileName The name used for resource files.
|
||||
* @namespace
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.resourceManager = function( basePath, fileName )
|
||||
{
|
||||
/**
|
||||
* The base directory containing all resources.
|
||||
* @name CKEDITOR.resourceManager.prototype.basePath
|
||||
* @type String
|
||||
* @example
|
||||
*/
|
||||
this.basePath = basePath;
|
||||
|
||||
/**
|
||||
* The name used for resource files.
|
||||
* @name CKEDITOR.resourceManager.prototype.fileName
|
||||
* @type String
|
||||
* @example
|
||||
*/
|
||||
this.fileName = fileName;
|
||||
|
||||
/**
|
||||
* Contains references to all resources that have already been registered
|
||||
* with {@link #add}.
|
||||
* @name CKEDITOR.resourceManager.prototype.registered
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
this.registered = {};
|
||||
|
||||
/**
|
||||
* Contains references to all resources that have already been loaded
|
||||
* with {@link #load}.
|
||||
* @name CKEDITOR.resourceManager.prototype.loaded
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
this.loaded = {};
|
||||
|
||||
/**
|
||||
* Contains references to all resources that have already been registered
|
||||
* with {@link #addExternal}.
|
||||
* @name CKEDITOR.resourceManager.prototype.externals
|
||||
* @type Object
|
||||
* @example
|
||||
*/
|
||||
this.externals = {};
|
||||
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
this._ =
|
||||
{
|
||||
// List of callbacks waiting for plugins to be loaded.
|
||||
waitingList : {}
|
||||
};
|
||||
};
|
||||
|
||||
CKEDITOR.resourceManager.prototype =
|
||||
{
|
||||
/**
|
||||
* Registers a resource.
|
||||
* @param {String} name The resource name.
|
||||
* @param {Object} [definition] The resource definition.
|
||||
* @example
|
||||
* CKEDITOR.plugins.add( 'sample', { ... plugin definition ... } );
|
||||
* @see CKEDITOR.pluginDefinition
|
||||
*/
|
||||
add : function( name, definition )
|
||||
{
|
||||
if ( this.registered[ name ] )
|
||||
throw '[CKEDITOR.resourceManager.add] The resource name "' + name + '" is already registered.';
|
||||
|
||||
CKEDITOR.fire( name + CKEDITOR.tools.capitalize( this.fileName ) + 'Ready',
|
||||
this.registered[ name ] = definition || {} );
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the definition of a specific resource.
|
||||
* @param {String} name The resource name.
|
||||
* @type Object
|
||||
* @example
|
||||
* var definition = <b>CKEDITOR.plugins.get( 'sample' )</b>;
|
||||
*/
|
||||
get : function( name )
|
||||
{
|
||||
return this.registered[ name ] || null;
|
||||
},
|
||||
|
||||
/**
|
||||
* Get the folder path for a specific loaded resource.
|
||||
* @param {String} name The resource name.
|
||||
* @type String
|
||||
* @example
|
||||
* alert( <b>CKEDITOR.plugins.getPath( 'sample' )</b> ); // "<editor path>/plugins/sample/"
|
||||
*/
|
||||
getPath : function( name )
|
||||
{
|
||||
var external = this.externals[ name ];
|
||||
return CKEDITOR.getUrl( ( external && external.dir ) || this.basePath + name + '/' );
|
||||
},
|
||||
|
||||
/**
|
||||
* Get the file path for a specific loaded resource.
|
||||
* @param {String} name The resource name.
|
||||
* @type String
|
||||
* @example
|
||||
* alert( <b>CKEDITOR.plugins.getFilePath( 'sample' )</b> ); // "<editor path>/plugins/sample/plugin.js"
|
||||
*/
|
||||
getFilePath : function( name )
|
||||
{
|
||||
var external = this.externals[ name ];
|
||||
return CKEDITOR.getUrl(
|
||||
this.getPath( name ) +
|
||||
( ( external && ( typeof external.file == 'string' ) ) ? external.file : this.fileName + '.js' ) );
|
||||
},
|
||||
|
||||
/**
|
||||
* Registers one or more resources to be loaded from an external path
|
||||
* instead of the core base path.
|
||||
* @param {String} names The resource names, separated by commas.
|
||||
* @param {String} path The path of the folder containing the resource.
|
||||
* @param {String} [fileName] The resource file name. If not provided, the
|
||||
* default name is used; If provided with a empty string, will implicitly indicates that {@param path}
|
||||
* is already the full path.
|
||||
* @example
|
||||
* // Loads a plugin from '/myplugin/samples/plugin.js'.
|
||||
* CKEDITOR.plugins.addExternal( 'sample', '/myplugins/sample/' );
|
||||
* @example
|
||||
* // Loads a plugin from '/myplugin/samples/my_plugin.js'.
|
||||
* CKEDITOR.plugins.addExternal( 'sample', '/myplugins/sample/', 'my_plugin.js' );
|
||||
* @example
|
||||
* // Loads a plugin from '/myplugin/samples/my_plugin.js'.
|
||||
* CKEDITOR.plugins.addExternal( 'sample', '/myplugins/sample/my_plugin.js', '' );
|
||||
*/
|
||||
addExternal : function( names, path, fileName )
|
||||
{
|
||||
names = names.split( ',' );
|
||||
for ( var i = 0 ; i < names.length ; i++ )
|
||||
{
|
||||
var name = names[ i ];
|
||||
|
||||
this.externals[ name ] =
|
||||
{
|
||||
dir : path,
|
||||
file : fileName
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Loads one or more resources.
|
||||
* @param {String|Array} name The name of the resource to load. It may be a
|
||||
* string with a single resource name, or an array with several names.
|
||||
* @param {Function} callback A function to be called when all resources
|
||||
* are loaded. The callback will receive an array containing all
|
||||
* loaded names.
|
||||
* @param {Object} [scope] The scope object to be used for the callback
|
||||
* call.
|
||||
* @example
|
||||
* <b>CKEDITOR.plugins.load</b>( 'myplugin', function( plugins )
|
||||
* {
|
||||
* alert( plugins['myplugin'] ); // "object"
|
||||
* });
|
||||
*/
|
||||
load : function( names, callback, scope )
|
||||
{
|
||||
// Ensure that we have an array of names.
|
||||
if ( !CKEDITOR.tools.isArray( names ) )
|
||||
names = names ? [ names ] : [];
|
||||
|
||||
var loaded = this.loaded,
|
||||
registered = this.registered,
|
||||
urls = [],
|
||||
urlsNames = {},
|
||||
resources = {};
|
||||
|
||||
// Loop through all names.
|
||||
for ( var i = 0 ; i < names.length ; i++ )
|
||||
{
|
||||
var name = names[ i ];
|
||||
|
||||
if ( !name )
|
||||
continue;
|
||||
|
||||
// If not available yet.
|
||||
if ( !loaded[ name ] && !registered[ name ] )
|
||||
{
|
||||
var url = this.getFilePath( name );
|
||||
urls.push( url );
|
||||
if ( !( url in urlsNames ) )
|
||||
urlsNames[ url ] = [];
|
||||
urlsNames[ url ].push( name );
|
||||
}
|
||||
else
|
||||
resources[ name ] = this.get( name );
|
||||
}
|
||||
|
||||
CKEDITOR.scriptLoader.load( urls, function( completed, failed )
|
||||
{
|
||||
if ( failed.length )
|
||||
{
|
||||
throw '[CKEDITOR.resourceManager.load] Resource name "' + urlsNames[ failed[ 0 ] ].join( ',' )
|
||||
+ '" was not found at "' + failed[ 0 ] + '".';
|
||||
}
|
||||
|
||||
for ( var i = 0 ; i < completed.length ; i++ )
|
||||
{
|
||||
var nameList = urlsNames[ completed[ i ] ];
|
||||
for ( var j = 0 ; j < nameList.length ; j++ )
|
||||
{
|
||||
var name = nameList[ j ];
|
||||
resources[ name ] = this.get( name );
|
||||
|
||||
loaded[ name ] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
callback.call( scope, resources );
|
||||
}
|
||||
, this);
|
||||
}
|
||||
};
|
198
phpgwapi/js/ckeditor3/_source/core/scriptloader.js
Normal file
198
phpgwapi/js/ckeditor3/_source/core/scriptloader.js
Normal file
@ -0,0 +1,198 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.scriptLoader} object, used to load scripts
|
||||
* asynchronously.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Load scripts asynchronously.
|
||||
* @namespace
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.scriptLoader = (function()
|
||||
{
|
||||
var uniqueScripts = {};
|
||||
var waitingList = {};
|
||||
|
||||
return /** @lends CKEDITOR.scriptLoader */ {
|
||||
/**
|
||||
* Loads one or more external script checking if not already loaded
|
||||
* previously by this function.
|
||||
* @param {String|Array} scriptUrl One or more URLs pointing to the
|
||||
* scripts to be loaded.
|
||||
* @param {Function} [callback] A function to be called when the script
|
||||
* is loaded and executed. If a string is passed to "scriptUrl", a
|
||||
* boolean parameter is passed to the callback, indicating the
|
||||
* success of the load. If an array is passed instead, two array
|
||||
* parameters are passed to the callback; the first contains the
|
||||
* URLs that have been properly loaded, and the second the failed
|
||||
* ones.
|
||||
* @param {Object} [scope] The scope ("this" reference) to be used for
|
||||
* the callback call. Default to {@link CKEDITOR}.
|
||||
* @param {Boolean} [noCheck] Indicates that the script must be loaded
|
||||
* anyway, not checking if it has already loaded.
|
||||
* @example
|
||||
* CKEDITOR.scriptLoader.load( '/myscript.js' );
|
||||
* @example
|
||||
* CKEDITOR.scriptLoader.load( '/myscript.js', function( success )
|
||||
* {
|
||||
* // Alerts "true" if the script has been properly loaded.
|
||||
* // HTTP error 404 should return "false".
|
||||
* alert( success );
|
||||
* });
|
||||
* @example
|
||||
* CKEDITOR.scriptLoader.load( [ '/myscript1.js', '/myscript2.js' ], function( completed, failed )
|
||||
* {
|
||||
* alert( 'Number of scripts loaded: ' + completed.length );
|
||||
* alert( 'Number of failures: ' + failed.length );
|
||||
* });
|
||||
*/
|
||||
load : function( scriptUrl, callback, scope, noCheck, showBusy )
|
||||
{
|
||||
var isString = ( typeof scriptUrl == 'string' );
|
||||
|
||||
if ( isString )
|
||||
scriptUrl = [ scriptUrl ];
|
||||
|
||||
if ( !scope )
|
||||
scope = CKEDITOR;
|
||||
|
||||
var scriptCount = scriptUrl.length,
|
||||
completed = [],
|
||||
failed = [];
|
||||
|
||||
var doCallback = function( success )
|
||||
{
|
||||
if ( callback )
|
||||
{
|
||||
if ( isString )
|
||||
callback.call( scope, success );
|
||||
else
|
||||
callback.call( scope, completed, failed );
|
||||
}
|
||||
};
|
||||
|
||||
if ( scriptCount === 0 )
|
||||
{
|
||||
doCallback( true );
|
||||
return;
|
||||
}
|
||||
|
||||
var checkLoaded = function( url, success )
|
||||
{
|
||||
( success ? completed : failed ).push( url );
|
||||
|
||||
if ( --scriptCount <= 0 )
|
||||
{
|
||||
showBusy && CKEDITOR.document.getDocumentElement().removeStyle( 'cursor' );
|
||||
doCallback( success );
|
||||
}
|
||||
};
|
||||
|
||||
var onLoad = function( url, success )
|
||||
{
|
||||
// Mark this script as loaded.
|
||||
uniqueScripts[ url ] = 1;
|
||||
|
||||
// Get the list of callback checks waiting for this file.
|
||||
var waitingInfo = waitingList[ url ];
|
||||
delete waitingList[ url ];
|
||||
|
||||
// Check all callbacks waiting for this file.
|
||||
for ( var i = 0 ; i < waitingInfo.length ; i++ )
|
||||
waitingInfo[ i ]( url, success );
|
||||
};
|
||||
|
||||
var loadScript = function( url )
|
||||
{
|
||||
if ( noCheck !== true && uniqueScripts[ url ] )
|
||||
{
|
||||
checkLoaded( url, true );
|
||||
return;
|
||||
}
|
||||
|
||||
var waitingInfo = waitingList[ url ] || ( waitingList[ url ] = [] );
|
||||
waitingInfo.push( checkLoaded );
|
||||
|
||||
// Load it only for the first request.
|
||||
if ( waitingInfo.length > 1 )
|
||||
return;
|
||||
|
||||
// Create the <script> element.
|
||||
var script = new CKEDITOR.dom.element( 'script' );
|
||||
script.setAttributes( {
|
||||
type : 'text/javascript',
|
||||
src : url } );
|
||||
|
||||
if ( callback )
|
||||
{
|
||||
if ( CKEDITOR.env.ie )
|
||||
{
|
||||
// FIXME: For IE, we are not able to return false on error (like 404).
|
||||
|
||||
/** @ignore */
|
||||
script.$.onreadystatechange = function ()
|
||||
{
|
||||
if ( script.$.readyState == 'loaded' || script.$.readyState == 'complete' )
|
||||
{
|
||||
script.$.onreadystatechange = null;
|
||||
onLoad( url, true );
|
||||
}
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
/** @ignore */
|
||||
script.$.onload = function()
|
||||
{
|
||||
// Some browsers, such as Safari, may call the onLoad function
|
||||
// immediately. Which will break the loading sequence. (#3661)
|
||||
setTimeout( function() { onLoad( url, true ); }, 0 );
|
||||
};
|
||||
|
||||
// FIXME: Opera and Safari will not fire onerror.
|
||||
|
||||
/** @ignore */
|
||||
script.$.onerror = function()
|
||||
{
|
||||
onLoad( url, false );
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Append it to <head>.
|
||||
script.appendTo( CKEDITOR.document.getHead() );
|
||||
|
||||
CKEDITOR.fire( 'download', url ); // @Packager.RemoveLine
|
||||
};
|
||||
|
||||
showBusy && CKEDITOR.document.getDocumentElement().setStyle( 'cursor', 'wait' );
|
||||
for ( var i = 0 ; i < scriptCount ; i++ )
|
||||
{
|
||||
loadScript( scriptUrl[ i ] );
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Executes a JavaScript code into the current document.
|
||||
* @param {String} code The code to be executed.
|
||||
* @example
|
||||
* CKEDITOR.scriptLoader.loadCode( 'var x = 10;' );
|
||||
* alert( x ); // "10"
|
||||
*/
|
||||
loadCode : function( code )
|
||||
{
|
||||
// Create the <script> element.
|
||||
var script = new CKEDITOR.dom.element( 'script' );
|
||||
script.setAttribute( 'type', 'text/javascript' );
|
||||
script.appendText( code );
|
||||
|
||||
// Append it to <head>.
|
||||
script.appendTo( CKEDITOR.document.getHead() );
|
||||
}
|
||||
};
|
||||
})();
|
204
phpgwapi/js/ckeditor3/_source/core/skins.js
Normal file
204
phpgwapi/js/ckeditor3/_source/core/skins.js
Normal file
@ -0,0 +1,204 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.skins} object, which is used to
|
||||
* manage skins loading.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Manages skins loading.
|
||||
* @namespace
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.skins = (function()
|
||||
{
|
||||
// Holds the list of loaded skins.
|
||||
var loaded = {};
|
||||
var preloaded = {};
|
||||
var paths = {};
|
||||
|
||||
var loadPart = function( editor, skinName, part, callback )
|
||||
{
|
||||
// Get the skin definition.
|
||||
var skinDefinition = loaded[ skinName ];
|
||||
|
||||
if ( !editor.skin )
|
||||
{
|
||||
editor.skin = skinDefinition;
|
||||
|
||||
// Trigger init function if any.
|
||||
if ( skinDefinition.init )
|
||||
skinDefinition.init( editor );
|
||||
}
|
||||
|
||||
var appendSkinPath = function( fileNames )
|
||||
{
|
||||
for ( var n = 0 ; n < fileNames.length ; n++ )
|
||||
{
|
||||
fileNames[ n ] = CKEDITOR.getUrl( paths[ skinName ] + fileNames[ n ] );
|
||||
}
|
||||
};
|
||||
|
||||
function fixCSSTextRelativePath( cssStyleText, baseUrl )
|
||||
{
|
||||
return cssStyleText.replace( /url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g,
|
||||
function( match, opener, path, closer )
|
||||
{
|
||||
if ( /^\/|^\w?:/.test( path ) )
|
||||
return match;
|
||||
else
|
||||
return 'url(' + baseUrl + opener + path + closer + ')';
|
||||
} );
|
||||
}
|
||||
|
||||
// Check if we need to preload images from it.
|
||||
if ( !preloaded[ skinName ] )
|
||||
{
|
||||
var preload = skinDefinition.preload;
|
||||
if ( preload && preload.length > 0 )
|
||||
{
|
||||
appendSkinPath( preload );
|
||||
CKEDITOR.imageCacher.load( preload, function()
|
||||
{
|
||||
preloaded[ skinName ] = 1;
|
||||
loadPart( editor, skinName, part, callback );
|
||||
} );
|
||||
return;
|
||||
}
|
||||
|
||||
// Mark it as preloaded.
|
||||
preloaded[ skinName ] = 1;
|
||||
}
|
||||
|
||||
// Get the part definition.
|
||||
part = skinDefinition[ part ];
|
||||
var partIsLoaded = !part || !!part._isLoaded;
|
||||
|
||||
// Call the callback immediately if already loaded.
|
||||
if ( partIsLoaded )
|
||||
callback && callback();
|
||||
else
|
||||
{
|
||||
// Put the callback in a queue.
|
||||
var pending = part._pending || ( part._pending = [] );
|
||||
pending.push( callback );
|
||||
|
||||
// We may have more than one skin part load request. Just the first
|
||||
// one must do the loading job.
|
||||
if ( pending.length > 1 )
|
||||
return;
|
||||
|
||||
// Check whether the "css" and "js" properties have been defined
|
||||
// for that part.
|
||||
var cssIsLoaded = !part.css || !part.css.length;
|
||||
var jsIsLoaded = !part.js || !part.js.length;
|
||||
|
||||
// This is the function that will trigger the callback calls on
|
||||
// load.
|
||||
var checkIsLoaded = function()
|
||||
{
|
||||
if ( cssIsLoaded && jsIsLoaded )
|
||||
{
|
||||
// Mark the part as loaded.
|
||||
part._isLoaded = 1;
|
||||
|
||||
// Call all pending callbacks.
|
||||
for ( var i = 0 ; i < pending.length ; i++ )
|
||||
{
|
||||
if ( pending[ i ] )
|
||||
pending[ i ]();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Load the "css" pieces.
|
||||
if ( !cssIsLoaded )
|
||||
{
|
||||
var cssPart = part.css;
|
||||
|
||||
if ( CKEDITOR.tools.isArray( cssPart ) )
|
||||
{
|
||||
appendSkinPath( cssPart );
|
||||
for ( var c = 0 ; c < cssPart.length ; c++ )
|
||||
CKEDITOR.document.appendStyleSheet( cssPart[ c ] );
|
||||
}
|
||||
else
|
||||
{
|
||||
cssPart = fixCSSTextRelativePath(
|
||||
cssPart, CKEDITOR.getUrl( paths[ skinName ] ) );
|
||||
// Processing Inline CSS part.
|
||||
CKEDITOR.document.appendStyleText( cssPart );
|
||||
}
|
||||
|
||||
part.css = cssPart;
|
||||
|
||||
cssIsLoaded = 1;
|
||||
}
|
||||
|
||||
// Load the "js" pieces.
|
||||
if ( !jsIsLoaded )
|
||||
{
|
||||
appendSkinPath( part.js );
|
||||
CKEDITOR.scriptLoader.load( part.js, function()
|
||||
{
|
||||
jsIsLoaded = 1;
|
||||
checkIsLoaded();
|
||||
});
|
||||
}
|
||||
|
||||
// We may have nothing to load, so check it immediately.
|
||||
checkIsLoaded();
|
||||
}
|
||||
};
|
||||
|
||||
return /** @lends CKEDITOR.skins */ {
|
||||
|
||||
/**
|
||||
* Registers a skin definition.
|
||||
* @param {String} skinName The skin name.
|
||||
* @param {Object} skinDefinition The skin definition.
|
||||
* @example
|
||||
*/
|
||||
add : function( skinName, skinDefinition )
|
||||
{
|
||||
loaded[ skinName ] = skinDefinition;
|
||||
|
||||
skinDefinition.skinPath = paths[ skinName ]
|
||||
|| ( paths[ skinName ] =
|
||||
CKEDITOR.getUrl(
|
||||
'_source/' + // @Packager.RemoveLine
|
||||
'skins/' + skinName + '/' ) );
|
||||
},
|
||||
|
||||
/**
|
||||
* Loads a skin part. Skins are defined in parts, which are basically
|
||||
* separated CSS files. This function is mainly used by the core code and
|
||||
* should not have much use out of it.
|
||||
* @param {String} skinName The name of the skin to be loaded.
|
||||
* @param {String} skinPart The skin part to be loaded. Common skin parts
|
||||
* are "editor" and "dialog".
|
||||
* @param {Function} [callback] A function to be called once the skin
|
||||
* part files are loaded.
|
||||
* @example
|
||||
*/
|
||||
load : function( editor, skinPart, callback )
|
||||
{
|
||||
var skinName = editor.skinName,
|
||||
skinPath = editor.skinPath;
|
||||
|
||||
if ( loaded[ skinName ] )
|
||||
loadPart( editor, skinName, skinPart, callback );
|
||||
else
|
||||
{
|
||||
paths[ skinName ] = skinPath;
|
||||
CKEDITOR.scriptLoader.load( CKEDITOR.getUrl( skinPath + 'skin.js' ), function()
|
||||
{
|
||||
loadPart( editor, skinName, skinPart, callback );
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
})();
|
19
phpgwapi/js/ckeditor3/_source/core/themes.js
Normal file
19
phpgwapi/js/ckeditor3/_source/core/themes.js
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.themes} object, which is used to
|
||||
* manage themes registration and loading.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Manages themes registration and loading.
|
||||
* @namespace
|
||||
* @augments CKEDITOR.resourceManager
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.themes = new CKEDITOR.resourceManager(
|
||||
'_source/'+ // @Packager.RemoveLine
|
||||
'themes/', 'theme' );
|
698
phpgwapi/js/ckeditor3/_source/core/tools.js
Normal file
698
phpgwapi/js/ckeditor3/_source/core/tools.js
Normal file
@ -0,0 +1,698 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.tools} object, which contains
|
||||
* utility functions.
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
var functions = [];
|
||||
|
||||
/**
|
||||
* Utility functions.
|
||||
* @namespace
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.tools =
|
||||
{
|
||||
/**
|
||||
* Compare the elements of two arrays.
|
||||
* @param {Array} arrayA An array to be compared.
|
||||
* @param {Array} arrayB The other array to be compared.
|
||||
* @returns {Boolean} "true" is the arrays have the same lenght and
|
||||
* their elements match.
|
||||
* @example
|
||||
* var a = [ 1, 'a', 3 ];
|
||||
* var b = [ 1, 3, 'a' ];
|
||||
* var c = [ 1, 'a', 3 ];
|
||||
* var d = [ 1, 'a', 3, 4 ];
|
||||
*
|
||||
* alert( CKEDITOR.tools.arrayCompare( a, b ) ); // false
|
||||
* alert( CKEDITOR.tools.arrayCompare( a, c ) ); // true
|
||||
* alert( CKEDITOR.tools.arrayCompare( a, d ) ); // false
|
||||
*/
|
||||
arrayCompare : function( arrayA, arrayB )
|
||||
{
|
||||
if ( !arrayA && !arrayB )
|
||||
return true;
|
||||
|
||||
if ( !arrayA || !arrayB || arrayA.length != arrayB.length )
|
||||
return false;
|
||||
|
||||
for ( var i = 0 ; i < arrayA.length ; i++ )
|
||||
{
|
||||
if ( arrayA[ i ] != arrayB[ i ] )
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates a deep copy of an object.
|
||||
* Attention: there is no support for recursive references.
|
||||
* @param {Object} object The object to be cloned.
|
||||
* @returns {Object} The object clone.
|
||||
* @example
|
||||
* var obj =
|
||||
* {
|
||||
* name : 'John',
|
||||
* cars :
|
||||
* {
|
||||
* Mercedes : { color : 'blue' },
|
||||
* Porsche : { color : 'red' }
|
||||
* }
|
||||
* };
|
||||
* var clone = CKEDITOR.tools.clone( obj );
|
||||
* clone.name = 'Paul';
|
||||
* clone.cars.Porsche.color = 'silver';
|
||||
* alert( obj.name ); // John
|
||||
* alert( clone.name ); // Paul
|
||||
* alert( obj.cars.Porsche.color ); // red
|
||||
* alert( clone.cars.Porsche.color ); // silver
|
||||
*/
|
||||
clone : function( obj )
|
||||
{
|
||||
var clone;
|
||||
|
||||
// Array.
|
||||
if ( obj && ( obj instanceof Array ) )
|
||||
{
|
||||
clone = [];
|
||||
|
||||
for ( var i = 0 ; i < obj.length ; i++ )
|
||||
clone[ i ] = this.clone( obj[ i ] );
|
||||
|
||||
return clone;
|
||||
}
|
||||
|
||||
// "Static" types.
|
||||
if ( obj === null
|
||||
|| ( typeof( obj ) != 'object' )
|
||||
|| ( obj instanceof String )
|
||||
|| ( obj instanceof Number )
|
||||
|| ( obj instanceof Boolean )
|
||||
|| ( obj instanceof Date )
|
||||
|| ( obj instanceof RegExp) )
|
||||
{
|
||||
return obj;
|
||||
}
|
||||
|
||||
// Objects.
|
||||
clone = new obj.constructor();
|
||||
|
||||
for ( var propertyName in obj )
|
||||
{
|
||||
var property = obj[ propertyName ];
|
||||
clone[ propertyName ] = this.clone( property );
|
||||
}
|
||||
|
||||
return clone;
|
||||
},
|
||||
|
||||
/**
|
||||
* Turn the first letter of string to upper-case.
|
||||
* @param {String} str
|
||||
*/
|
||||
capitalize: function( str )
|
||||
{
|
||||
return str.charAt( 0 ).toUpperCase() + str.substring( 1 ).toLowerCase();
|
||||
},
|
||||
|
||||
/**
|
||||
* Copy the properties from one object to another. By default, properties
|
||||
* already present in the target object <strong>are not</strong> overwritten.
|
||||
* @param {Object} target The object to be extended.
|
||||
* @param {Object} source[,souce(n)] The objects from which copy
|
||||
* properties. Any number of objects can be passed to this function.
|
||||
* @param {Boolean} [overwrite] If 'true' is specified it indicates that
|
||||
* properties already present in the target object could be
|
||||
* overwritten by subsequent objects.
|
||||
* @param {Object} [properties] Only properties within the specified names
|
||||
* list will be received from the source object.
|
||||
* @returns {Object} the extended object (target).
|
||||
* @example
|
||||
* // Create the sample object.
|
||||
* var myObject =
|
||||
* {
|
||||
* prop1 : true
|
||||
* };
|
||||
*
|
||||
* // Extend the above object with two properties.
|
||||
* CKEDITOR.tools.extend( myObject,
|
||||
* {
|
||||
* prop2 : true,
|
||||
* prop3 : true
|
||||
* } );
|
||||
*
|
||||
* // Alert "prop1", "prop2" and "prop3".
|
||||
* for ( var p in myObject )
|
||||
* alert( p );
|
||||
*/
|
||||
extend : function( target )
|
||||
{
|
||||
var argsLength = arguments.length,
|
||||
overwrite, propertiesList;
|
||||
|
||||
if ( typeof ( overwrite = arguments[ argsLength - 1 ] ) == 'boolean')
|
||||
argsLength--;
|
||||
else if ( typeof ( overwrite = arguments[ argsLength - 2 ] ) == 'boolean' )
|
||||
{
|
||||
propertiesList = arguments [ argsLength -1 ];
|
||||
argsLength-=2;
|
||||
}
|
||||
for ( var i = 1 ; i < argsLength ; i++ )
|
||||
{
|
||||
var source = arguments[ i ];
|
||||
for ( var propertyName in source )
|
||||
{
|
||||
// Only copy existed fields if in overwrite mode.
|
||||
if ( overwrite === true || target[ propertyName ] == undefined )
|
||||
{
|
||||
// Only copy specified fields if list is provided.
|
||||
if ( !propertiesList || ( propertyName in propertiesList ) )
|
||||
target[ propertyName ] = source[ propertyName ];
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return target;
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates an object which is an instance of a class which prototype is a
|
||||
* predefined object. All properties defined in the source object are
|
||||
* automatically inherited by the resulting object, including future
|
||||
* changes to it.
|
||||
* @param {Object} source The source object to be used as the prototype for
|
||||
* the final object.
|
||||
* @returns {Object} The resulting copy.
|
||||
*/
|
||||
prototypedCopy : function( source )
|
||||
{
|
||||
var copy = function()
|
||||
{};
|
||||
copy.prototype = source;
|
||||
return new copy();
|
||||
},
|
||||
|
||||
/**
|
||||
* Checks if an object is an Array.
|
||||
* @param {Object} object The object to be checked.
|
||||
* @type Boolean
|
||||
* @returns <i>true</i> if the object is an Array, otherwise <i>false</i>.
|
||||
* @example
|
||||
* alert( CKEDITOR.tools.isArray( [] ) ); // "true"
|
||||
* alert( CKEDITOR.tools.isArray( 'Test' ) ); // "false"
|
||||
*/
|
||||
isArray : function( object )
|
||||
{
|
||||
return ( !!object && object instanceof Array );
|
||||
},
|
||||
|
||||
isEmpty : function ( object )
|
||||
{
|
||||
for ( var i in object )
|
||||
{
|
||||
if ( object.hasOwnProperty( i ) )
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
/**
|
||||
* Transforms a CSS property name to its relative DOM style name.
|
||||
* @param {String} cssName The CSS property name.
|
||||
* @returns {String} The transformed name.
|
||||
* @example
|
||||
* alert( CKEDITOR.tools.cssStyleToDomStyle( 'background-color' ) ); // "backgroundColor"
|
||||
* alert( CKEDITOR.tools.cssStyleToDomStyle( 'float' ) ); // "cssFloat"
|
||||
*/
|
||||
cssStyleToDomStyle : ( function()
|
||||
{
|
||||
var test = document.createElement( 'div' ).style;
|
||||
|
||||
var cssFloat = ( typeof test.cssFloat != 'undefined' ) ? 'cssFloat'
|
||||
: ( typeof test.styleFloat != 'undefined' ) ? 'styleFloat'
|
||||
: 'float';
|
||||
|
||||
return function( cssName )
|
||||
{
|
||||
if ( cssName == 'float' )
|
||||
return cssFloat;
|
||||
else
|
||||
{
|
||||
return cssName.replace( /-./g, function( match )
|
||||
{
|
||||
return match.substr( 1 ).toUpperCase();
|
||||
});
|
||||
}
|
||||
};
|
||||
} )(),
|
||||
|
||||
/**
|
||||
* Build the HTML snippet of a set of <style>/<link>.
|
||||
* @param css {String|Array} Each of which are url (absolute) of a CSS file or
|
||||
* a trunk of style text.
|
||||
*/
|
||||
buildStyleHtml : function ( css )
|
||||
{
|
||||
css = [].concat( css );
|
||||
var item, retval = [];
|
||||
for ( var i = 0; i < css.length; i++ )
|
||||
{
|
||||
item = css[ i ];
|
||||
// Is CSS style text ?
|
||||
if ( /@import|[{}]/.test(item) )
|
||||
retval.push('<style>' + item + '</style>');
|
||||
else
|
||||
retval.push('<link type="text/css" rel=stylesheet href="' + item + '">');
|
||||
}
|
||||
return retval.join( '' );
|
||||
},
|
||||
|
||||
/**
|
||||
* Replace special HTML characters in a string with their relative HTML
|
||||
* entity values.
|
||||
* @param {String} text The string to be encoded.
|
||||
* @returns {String} The encode string.
|
||||
* @example
|
||||
* alert( CKEDITOR.tools.htmlEncode( 'A > B & C < D' ) ); // "A &gt; B &amp; C &lt; D"
|
||||
*/
|
||||
htmlEncode : function( text )
|
||||
{
|
||||
var standard = function( text )
|
||||
{
|
||||
var span = new CKEDITOR.dom.element( 'span' );
|
||||
span.setText( text );
|
||||
return span.getHtml();
|
||||
};
|
||||
|
||||
var fix1 = ( standard( '\n' ).toLowerCase() == '<br>' ) ?
|
||||
function( text )
|
||||
{
|
||||
// #3874 IE and Safari encode line-break into <br>
|
||||
return standard( text ).replace( /<br>/gi, '\n' );
|
||||
} :
|
||||
standard;
|
||||
|
||||
var fix2 = ( standard( '>' ) == '>' ) ?
|
||||
function( text )
|
||||
{
|
||||
// WebKit does't encode the ">" character, which makes sense, but
|
||||
// it's different than other browsers.
|
||||
return fix1( text ).replace( />/g, '>' );
|
||||
} :
|
||||
fix1;
|
||||
|
||||
var fix3 = ( standard( ' ' ) == ' ' ) ?
|
||||
function( text )
|
||||
{
|
||||
// #3785 IE8 changes spaces (>= 2) to
|
||||
return fix2( text ).replace( / /g, ' ' );
|
||||
} :
|
||||
fix2;
|
||||
|
||||
this.htmlEncode = fix3;
|
||||
|
||||
return this.htmlEncode( text );
|
||||
},
|
||||
|
||||
/**
|
||||
* Replace special HTML characters in HTMLElement's attribute with their relative HTML entity values.
|
||||
* @param {String} The attribute's value to be encoded.
|
||||
* @returns {String} The encode value.
|
||||
* @example
|
||||
* element.setAttribute( 'title', '<a " b >' );
|
||||
* alert( CKEDITOR.tools.htmlEncodeAttr( element.getAttribute( 'title' ) ); // ">a " b <"
|
||||
*/
|
||||
htmlEncodeAttr : function( text )
|
||||
{
|
||||
return text.replace( /"/g, '"' ).replace( /</g, '<' ).replace( />/, '>' );
|
||||
},
|
||||
|
||||
/**
|
||||
* Replace characters can't be represented through CSS Selectors string
|
||||
* by CSS Escape Notation where the character escape sequence consists
|
||||
* of a backslash character (\) followed by the orginal characters.
|
||||
* Ref: http://www.w3.org/TR/css3-selectors/#grammar
|
||||
* @param cssSelectText
|
||||
* @return the escaped selector text.
|
||||
*/
|
||||
escapeCssSelector : function( cssSelectText )
|
||||
{
|
||||
return cssSelectText.replace( /[\s#:.,$*^\[\]()~=+>]/g, '\\$&' );
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets a unique number for this CKEDITOR execution session. It returns
|
||||
* progressive numbers starting at 1.
|
||||
* @function
|
||||
* @returns {Number} A unique number.
|
||||
* @example
|
||||
* alert( CKEDITOR.tools.<b>getNextNumber()</b> ); // "1" (e.g.)
|
||||
* alert( CKEDITOR.tools.<b>getNextNumber()</b> ); // "2"
|
||||
*/
|
||||
getNextNumber : (function()
|
||||
{
|
||||
var last = 0;
|
||||
return function()
|
||||
{
|
||||
return ++last;
|
||||
};
|
||||
})(),
|
||||
|
||||
/**
|
||||
* Creates a function override.
|
||||
* @param {Function} originalFunction The function to be overridden.
|
||||
* @param {Function} functionBuilder A function that returns the new
|
||||
* function. The original function reference will be passed to this
|
||||
* function.
|
||||
* @returns {Function} The new function.
|
||||
* @example
|
||||
* var example =
|
||||
* {
|
||||
* myFunction : function( name )
|
||||
* {
|
||||
* alert( 'Name: ' + name );
|
||||
* }
|
||||
* };
|
||||
*
|
||||
* example.myFunction = CKEDITOR.tools.override( example.myFunction, function( myFunctionOriginal )
|
||||
* {
|
||||
* return function( name )
|
||||
* {
|
||||
* alert( 'Override Name: ' + name );
|
||||
* myFunctionOriginal.call( this, name );
|
||||
* };
|
||||
* });
|
||||
*/
|
||||
override : function( originalFunction, functionBuilder )
|
||||
{
|
||||
return functionBuilder( originalFunction );
|
||||
},
|
||||
|
||||
/**
|
||||
* Executes a function after specified delay.
|
||||
* @param {Function} func The function to be executed.
|
||||
* @param {Number} [milliseconds] The amount of time (millisecods) to wait
|
||||
* to fire the function execution. Defaults to zero.
|
||||
* @param {Object} [scope] The object to hold the function execution scope
|
||||
* (the "this" object). By default the "window" object.
|
||||
* @param {Object|Array} [args] A single object, or an array of objects, to
|
||||
* pass as arguments to the function.
|
||||
* @param {Object} [ownerWindow] The window that will be used to set the
|
||||
* timeout. By default the current "window".
|
||||
* @returns {Object} A value that can be used to cancel the function execution.
|
||||
* @example
|
||||
* CKEDITOR.tools.<b>setTimeout(
|
||||
* function()
|
||||
* {
|
||||
* alert( 'Executed after 2 seconds' );
|
||||
* },
|
||||
* 2000 )</b>;
|
||||
*/
|
||||
setTimeout : function( func, milliseconds, scope, args, ownerWindow )
|
||||
{
|
||||
if ( !ownerWindow )
|
||||
ownerWindow = window;
|
||||
|
||||
if ( !scope )
|
||||
scope = ownerWindow;
|
||||
|
||||
return ownerWindow.setTimeout(
|
||||
function()
|
||||
{
|
||||
if ( args )
|
||||
func.apply( scope, [].concat( args ) ) ;
|
||||
else
|
||||
func.apply( scope ) ;
|
||||
},
|
||||
milliseconds || 0 );
|
||||
},
|
||||
|
||||
/**
|
||||
* Remove spaces from the start and the end of a string. The following
|
||||
* characters are removed: space, tab, line break, line feed.
|
||||
* @function
|
||||
* @param {String} str The text from which remove the spaces.
|
||||
* @returns {String} The modified string without the boundary spaces.
|
||||
* @example
|
||||
* alert( CKEDITOR.tools.trim( ' example ' ); // "example"
|
||||
*/
|
||||
trim : (function()
|
||||
{
|
||||
// We are not using \s because we don't want "non-breaking spaces" to be caught.
|
||||
var trimRegex = /(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;
|
||||
return function( str )
|
||||
{
|
||||
return str.replace( trimRegex, '' ) ;
|
||||
};
|
||||
})(),
|
||||
|
||||
/**
|
||||
* Remove spaces from the start (left) of a string. The following
|
||||
* characters are removed: space, tab, line break, line feed.
|
||||
* @function
|
||||
* @param {String} str The text from which remove the spaces.
|
||||
* @returns {String} The modified string excluding the removed spaces.
|
||||
* @example
|
||||
* alert( CKEDITOR.tools.ltrim( ' example ' ); // "example "
|
||||
*/
|
||||
ltrim : (function()
|
||||
{
|
||||
// We are not using \s because we don't want "non-breaking spaces" to be caught.
|
||||
var trimRegex = /^[ \t\n\r]+/g;
|
||||
return function( str )
|
||||
{
|
||||
return str.replace( trimRegex, '' ) ;
|
||||
};
|
||||
})(),
|
||||
|
||||
/**
|
||||
* Remove spaces from the end (right) of a string. The following
|
||||
* characters are removed: space, tab, line break, line feed.
|
||||
* @function
|
||||
* @param {String} str The text from which remove the spaces.
|
||||
* @returns {String} The modified string excluding the removed spaces.
|
||||
* @example
|
||||
* alert( CKEDITOR.tools.ltrim( ' example ' ); // " example"
|
||||
*/
|
||||
rtrim : (function()
|
||||
{
|
||||
// We are not using \s because we don't want "non-breaking spaces" to be caught.
|
||||
var trimRegex = /[ \t\n\r]+$/g;
|
||||
return function( str )
|
||||
{
|
||||
return str.replace( trimRegex, '' ) ;
|
||||
};
|
||||
})(),
|
||||
|
||||
/**
|
||||
* Returns the index of an element in an array.
|
||||
* @param {Array} array The array to be searched.
|
||||
* @param {Object} entry The element to be found.
|
||||
* @returns {Number} The (zero based) index of the first entry that matches
|
||||
* the entry, or -1 if not found.
|
||||
* @example
|
||||
* var letters = [ 'a', 'b', 0, 'c', false ];
|
||||
* alert( CKEDITOR.tools.indexOf( letters, '0' ) ); "-1" because 0 !== '0'
|
||||
* alert( CKEDITOR.tools.indexOf( letters, false ) ); "4" because 0 !== false
|
||||
*/
|
||||
indexOf :
|
||||
// #2514: We should try to use Array.indexOf if it does exist.
|
||||
( Array.prototype.indexOf ) ?
|
||||
function( array, entry )
|
||||
{
|
||||
return array.indexOf( entry );
|
||||
}
|
||||
:
|
||||
function( array, entry )
|
||||
{
|
||||
for ( var i = 0, len = array.length ; i < len ; i++ )
|
||||
{
|
||||
if ( array[ i ] === entry )
|
||||
return i;
|
||||
}
|
||||
return -1;
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates a function that will always execute in the context of a
|
||||
* specified object.
|
||||
* @param {Function} func The function to be executed.
|
||||
* @param {Object} obj The object to which bind the execution context.
|
||||
* @returns {Function} The function that can be used to execute the
|
||||
* "func" function in the context of "obj".
|
||||
* @example
|
||||
* var obj = { text : 'My Object' };
|
||||
*
|
||||
* function alertText()
|
||||
* {
|
||||
* alert( this.text );
|
||||
* }
|
||||
*
|
||||
* var newFunc = <b>CKEDITOR.tools.bind( alertText, obj )</b>;
|
||||
* newFunc(); // Alerts "My Object".
|
||||
*/
|
||||
bind : function( func, obj )
|
||||
{
|
||||
return function() { return func.apply( obj, arguments ); };
|
||||
},
|
||||
|
||||
/**
|
||||
* Class creation based on prototype inheritance, with supports of the
|
||||
* following features:
|
||||
* <ul>
|
||||
* <li> Static fields </li>
|
||||
* <li> Private fields </li>
|
||||
* <li> Public (prototype) fields </li>
|
||||
* <li> Chainable base class constructor </li>
|
||||
* </ul>
|
||||
* @param {Object} definition The class definition object.
|
||||
* @returns {Function} A class-like JavaScript function.
|
||||
*/
|
||||
createClass : function( definition )
|
||||
{
|
||||
var $ = definition.$,
|
||||
baseClass = definition.base,
|
||||
privates = definition.privates || definition._,
|
||||
proto = definition.proto,
|
||||
statics = definition.statics;
|
||||
|
||||
if ( privates )
|
||||
{
|
||||
var originalConstructor = $;
|
||||
$ = function()
|
||||
{
|
||||
// Create (and get) the private namespace.
|
||||
var _ = this._ || ( this._ = {} );
|
||||
|
||||
// Make some magic so "this" will refer to the main
|
||||
// instance when coding private functions.
|
||||
for ( var privateName in privates )
|
||||
{
|
||||
var priv = privates[ privateName ];
|
||||
|
||||
_[ privateName ] =
|
||||
( typeof priv == 'function' ) ? CKEDITOR.tools.bind( priv, this ) : priv;
|
||||
}
|
||||
|
||||
originalConstructor.apply( this, arguments );
|
||||
};
|
||||
}
|
||||
|
||||
if ( baseClass )
|
||||
{
|
||||
$.prototype = this.prototypedCopy( baseClass.prototype );
|
||||
$.prototype.constructor = $;
|
||||
$.prototype.base = function()
|
||||
{
|
||||
this.base = baseClass.prototype.base;
|
||||
baseClass.apply( this, arguments );
|
||||
this.base = arguments.callee;
|
||||
};
|
||||
}
|
||||
|
||||
if ( proto )
|
||||
this.extend( $.prototype, proto, true );
|
||||
|
||||
if ( statics )
|
||||
this.extend( $, statics, true );
|
||||
|
||||
return $;
|
||||
},
|
||||
|
||||
/**
|
||||
* Creates a function reference that can be called later using
|
||||
* CKEDITOR.tools.callFunction. This approach is specially useful to
|
||||
* make DOM attribute function calls to JavaScript defined functions.
|
||||
* @param {Function} fn The function to be executed on call.
|
||||
* @param {Object} [scope] The object to have the context on "fn" execution.
|
||||
* @returns {Number} A unique reference to be used in conjuction with
|
||||
* CKEDITOR.tools.callFunction.
|
||||
* @example
|
||||
* var ref = <b>CKEDITOR.tools.addFunction</b>(
|
||||
* function()
|
||||
* {
|
||||
* alert( 'Hello!');
|
||||
* });
|
||||
* CKEDITOR.tools.callFunction( ref ); // Hello!
|
||||
*/
|
||||
addFunction : function( fn, scope )
|
||||
{
|
||||
return functions.push( function()
|
||||
{
|
||||
fn.apply( scope || this, arguments );
|
||||
}) - 1;
|
||||
},
|
||||
|
||||
/**
|
||||
* Removes the function reference created with {@see CKEDITOR.tools.addFunction}.
|
||||
* @param {Number} ref The function reference created with
|
||||
* CKEDITOR.tools.addFunction.
|
||||
*/
|
||||
removeFunction : function( ref )
|
||||
{
|
||||
functions[ ref ] = null;
|
||||
},
|
||||
|
||||
/**
|
||||
* Executes a function based on the reference created with
|
||||
* CKEDITOR.tools.addFunction.
|
||||
* @param {Number} ref The function reference created with
|
||||
* CKEDITOR.tools.addFunction.
|
||||
* @param {[Any,[Any,...]} params Any number of parameters to be passed
|
||||
* to the executed function.
|
||||
* @returns {Any} The return value of the function.
|
||||
* @example
|
||||
* var ref = CKEDITOR.tools.addFunction(
|
||||
* function()
|
||||
* {
|
||||
* alert( 'Hello!');
|
||||
* });
|
||||
* <b>CKEDITOR.tools.callFunction( ref )</b>; // Hello!
|
||||
*/
|
||||
callFunction : function( ref )
|
||||
{
|
||||
var fn = functions[ ref ];
|
||||
return fn && fn.apply( window, Array.prototype.slice.call( arguments, 1 ) );
|
||||
},
|
||||
|
||||
cssLength : (function()
|
||||
{
|
||||
var decimalRegex = /^\d+(?:\.\d+)?$/;
|
||||
return function( length )
|
||||
{
|
||||
return length + ( decimalRegex.test( length ) ? 'px' : '' );
|
||||
};
|
||||
})(),
|
||||
|
||||
repeat : function( str, times )
|
||||
{
|
||||
return new Array( times + 1 ).join( str );
|
||||
},
|
||||
|
||||
tryThese : function()
|
||||
{
|
||||
var returnValue;
|
||||
for ( var i = 0, length = arguments.length; i < length; i++ )
|
||||
{
|
||||
var lambda = arguments[i];
|
||||
try
|
||||
{
|
||||
returnValue = lambda();
|
||||
break;
|
||||
}
|
||||
catch (e) {}
|
||||
}
|
||||
return returnValue;
|
||||
}
|
||||
};
|
||||
})();
|
||||
|
||||
// PACKAGER_RENAME( CKEDITOR.tools )
|
116
phpgwapi/js/ckeditor3/_source/core/ui.js
Normal file
116
phpgwapi/js/ckeditor3/_source/core/ui.js
Normal file
@ -0,0 +1,116 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* Contains UI features related to an editor instance.
|
||||
* @constructor
|
||||
* @param {CKEDITOR.editor} editor The editor instance.
|
||||
* @example
|
||||
*/
|
||||
CKEDITOR.ui = function( editor )
|
||||
{
|
||||
if ( editor.ui )
|
||||
return editor.ui;
|
||||
|
||||
/**
|
||||
* Object used to hold private stuff.
|
||||
* @private
|
||||
*/
|
||||
this._ =
|
||||
{
|
||||
handlers : {},
|
||||
items : {},
|
||||
editor : editor
|
||||
};
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
// PACKAGER_RENAME( CKEDITOR.ui )
|
||||
|
||||
CKEDITOR.ui.prototype =
|
||||
{
|
||||
/**
|
||||
* Adds a UI item to the items collection. These items can be later used in
|
||||
* the interface.
|
||||
* @param {String} name The UI item name.
|
||||
* @param {Object} type The item type.
|
||||
* @param {Object} definition The item definition. The properties of this
|
||||
* object depend on the item type.
|
||||
* @example
|
||||
* // Add a new button named "MyBold".
|
||||
* editorInstance.ui.add( 'MyBold', CKEDITOR.UI_BUTTON,
|
||||
* {
|
||||
* label : 'My Bold',
|
||||
* command : 'bold'
|
||||
* });
|
||||
*/
|
||||
add : function( name, type, definition )
|
||||
{
|
||||
this._.items[ name ] =
|
||||
{
|
||||
type : type,
|
||||
// The name of {@link CKEDITOR.command} which associate with this UI.
|
||||
command : definition.command || null,
|
||||
args : Array.prototype.slice.call( arguments, 2 )
|
||||
};
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets a UI object.
|
||||
* @param {String} name The UI item hame.
|
||||
* @example
|
||||
*/
|
||||
create : function( name )
|
||||
{
|
||||
var item = this._.items[ name ],
|
||||
handler = item && this._.handlers[ item.type ],
|
||||
command = item && item.command && this._.editor.getCommand( item.command );
|
||||
|
||||
var result = handler && handler.create.apply( this, item.args );
|
||||
|
||||
// Add reference inside command object.
|
||||
if ( command )
|
||||
command.uiItems.push( result );
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
/**
|
||||
* Adds a handler for a UI item type. The handler is responsible for
|
||||
* transforming UI item definitions in UI objects.
|
||||
* @param {Object} type The item type.
|
||||
* @param {Object} handler The handler definition.
|
||||
* @example
|
||||
*/
|
||||
addHandler : function( type, handler )
|
||||
{
|
||||
this._.handlers[ type ] = handler;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* (Virtual Class) Do not call this constructor. This class is not really part
|
||||
* of the API. It just illustrates the features of hanlder objects to be
|
||||
* passed to the {@link CKEDITOR.ui.prototype.addHandler} function.
|
||||
* @name CKEDITOR.ui.handlerDefinition
|
||||
* @constructor
|
||||
* @example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Transforms an item definition into an UI item object.
|
||||
* @name CKEDITOR.handlerDefinition.prototype.create
|
||||
* @function
|
||||
* @param {Object} definition The item definition.
|
||||
* @example
|
||||
* editorInstance.ui.addHandler( CKEDITOR.UI_BUTTON,
|
||||
* {
|
||||
* create : function( definition )
|
||||
* {
|
||||
* return new CKEDITOR.ui.button( definition );
|
||||
* }
|
||||
* });
|
||||
*/
|
165
phpgwapi/js/ckeditor3/_source/core/xml.js
Normal file
165
phpgwapi/js/ckeditor3/_source/core/xml.js
Normal file
@ -0,0 +1,165 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.xml} class, which represents a
|
||||
* loaded XML document.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a loaded XML document.
|
||||
* @constructor
|
||||
* @param {object|string} xmlObjectOrData A native XML (DOM document) object or
|
||||
* a string containing the XML definition to be loaded.
|
||||
* @example
|
||||
* var xml = <b>new CKEDITOR.xml( '<books><book title="My Book" /></books>' )</b>;
|
||||
*/
|
||||
CKEDITOR.xml = function( xmlObjectOrData )
|
||||
{
|
||||
var baseXml = null;
|
||||
|
||||
if ( typeof xmlObjectOrData == 'object' )
|
||||
baseXml = xmlObjectOrData;
|
||||
else
|
||||
{
|
||||
var data = ( xmlObjectOrData || '' ).replace( / /g, '\xA0' );
|
||||
if ( window.DOMParser )
|
||||
baseXml = (new DOMParser()).parseFromString( data, 'text/xml' );
|
||||
else if ( window.ActiveXObject )
|
||||
{
|
||||
try { baseXml = new ActiveXObject( 'MSXML2.DOMDocument' ); }
|
||||
catch(e)
|
||||
{
|
||||
try { baseXml = new ActiveXObject( 'Microsoft.XmlDom' ); } catch(e) {}
|
||||
}
|
||||
|
||||
if ( baseXml )
|
||||
{
|
||||
baseXml.async = false;
|
||||
baseXml.resolveExternals = false;
|
||||
baseXml.validateOnParse = false;
|
||||
baseXml.loadXML( data );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The native XML (DOM document) used by the class instance.
|
||||
* @type object
|
||||
* @example
|
||||
*/
|
||||
this.baseXml = baseXml;
|
||||
};
|
||||
|
||||
CKEDITOR.xml.prototype =
|
||||
{
|
||||
/**
|
||||
* Get a single node from the XML document, based on a XPath query.
|
||||
* @param {String} xpath The XPath query to execute.
|
||||
* @param {Object} [contextNode] The XML DOM node to be used as the context
|
||||
* for the XPath query. The document root is used by default.
|
||||
* @returns {Object} A XML node element or null if the query has no results.
|
||||
* @example
|
||||
* // Create the XML instance.
|
||||
* var xml = new CKEDITOR.xml( '<list><item id="test1" /><item id="test2" /></list>' );
|
||||
* // Get the first <item> node.
|
||||
* var itemNode = <b>xml.selectSingleNode( 'list/item' )</b>;
|
||||
* // Alert "item".
|
||||
* alert( itemNode.nodeName );
|
||||
*/
|
||||
selectSingleNode : function( xpath, contextNode )
|
||||
{
|
||||
var baseXml = this.baseXml;
|
||||
|
||||
if ( contextNode || ( contextNode = baseXml ) )
|
||||
{
|
||||
if ( CKEDITOR.env.ie || contextNode.selectSingleNode ) // IE
|
||||
return contextNode.selectSingleNode( xpath );
|
||||
else if ( baseXml.evaluate ) // Others
|
||||
{
|
||||
var result = baseXml.evaluate( xpath, contextNode, null, 9, null);
|
||||
return ( result && result.singleNodeValue ) || null;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets a list node from the XML document, based on a XPath query.
|
||||
* @param {String} xpath The XPath query to execute.
|
||||
* @param {Object} [contextNode] The XML DOM node to be used as the context
|
||||
* for the XPath query. The document root is used by default.
|
||||
* @returns {ArrayLike} An array containing all matched nodes. The array will
|
||||
* be empty if the query has no results.
|
||||
* @example
|
||||
* // Create the XML instance.
|
||||
* var xml = new CKEDITOR.xml( '<list><item id="test1" /><item id="test2" /></list>' );
|
||||
* // Get the first <item> node.
|
||||
* var itemNodes = xml.selectSingleNode( 'list/item' );
|
||||
* // Alert "item" twice, one for each <item>.
|
||||
* for ( var i = 0 ; i < itemNodes.length ; i++ )
|
||||
* alert( itemNodes[i].nodeName );
|
||||
*/
|
||||
selectNodes : function( xpath, contextNode )
|
||||
{
|
||||
var baseXml = this.baseXml,
|
||||
nodes = [];
|
||||
|
||||
if ( contextNode || ( contextNode = baseXml ) )
|
||||
{
|
||||
if ( CKEDITOR.env.ie || contextNode.selectNodes ) // IE
|
||||
return contextNode.selectNodes( xpath );
|
||||
else if ( baseXml.evaluate ) // Others
|
||||
{
|
||||
var result = baseXml.evaluate( xpath, contextNode, null, 5, null);
|
||||
|
||||
if ( result )
|
||||
{
|
||||
var node;
|
||||
while ( ( node = result.iterateNext() ) )
|
||||
nodes.push( node );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nodes;
|
||||
},
|
||||
|
||||
/**
|
||||
* Gets the string representation of hte inner contents of a XML node,
|
||||
* based on a XPath query.
|
||||
* @param {String} xpath The XPath query to execute.
|
||||
* @param {Object} [contextNode] The XML DOM node to be used as the context
|
||||
* for the XPath query. The document root is used by default.
|
||||
* @returns {String} The textual representation of the inner contents of
|
||||
* the node or null if the query has no results.
|
||||
* @example
|
||||
* // Create the XML instance.
|
||||
* var xml = new CKEDITOR.xml( '<list><item id="test1" /><item id="test2" /></list>' );
|
||||
* // Alert "<item id="test1" /><item id="test2" />".
|
||||
* alert( xml.getInnerXml( 'list' ) );
|
||||
*/
|
||||
getInnerXml : function( xpath, contextNode )
|
||||
{
|
||||
var node = this.selectSingleNode( xpath, contextNode ),
|
||||
xml = [];
|
||||
if ( node )
|
||||
{
|
||||
node = node.firstChild;
|
||||
while ( node )
|
||||
{
|
||||
if ( node.xml ) // IE
|
||||
xml.push( node.xml );
|
||||
else if ( window.XMLSerializer ) // Others
|
||||
xml.push( ( new XMLSerializer() ).serializeToString( node ) );
|
||||
|
||||
node = node.nextSibling;
|
||||
}
|
||||
}
|
||||
|
||||
return xml.length ? xml.join( '' ) : null;
|
||||
}
|
||||
};
|
83
phpgwapi/js/ckeditor3/_source/lang/_languages.js
Normal file
83
phpgwapi/js/ckeditor3/_source/lang/_languages.js
Normal file
@ -0,0 +1,83 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
var CKEDITOR_LANGS = (function()
|
||||
{
|
||||
var langs =
|
||||
{
|
||||
af : 'Afrikaans',
|
||||
ar : 'Arabic',
|
||||
bg : 'Bulgarian',
|
||||
bn : 'Bengali/Bangla',
|
||||
bs : 'Bosnian',
|
||||
ca : 'Catalan',
|
||||
cs : 'Czech',
|
||||
cy : 'Welsh',
|
||||
da : 'Danish',
|
||||
de : 'German',
|
||||
el : 'Greek',
|
||||
en : 'English',
|
||||
'en-au' : 'English (Australia)',
|
||||
'en-ca' : 'English (Canadian)',
|
||||
'en-gb' : 'English (United Kingdom)',
|
||||
eo : 'Esperanto',
|
||||
es : 'Spanish',
|
||||
et : 'Estonian',
|
||||
eu : 'Basque',
|
||||
fa : 'Persian',
|
||||
fi : 'Finnish',
|
||||
fo : 'Faroese',
|
||||
fr : 'French',
|
||||
'fr-ca' : 'French (Canada)',
|
||||
gl : 'Galician',
|
||||
gu : 'Gujarati',
|
||||
he : 'Hebrew',
|
||||
hi : 'Hindi',
|
||||
hr : 'Croatian',
|
||||
hu : 'Hungarian',
|
||||
is : 'Icelandic',
|
||||
it : 'Italian',
|
||||
ja : 'Japanese',
|
||||
km : 'Khmer',
|
||||
ko : 'Korean',
|
||||
lt : 'Lithuanian',
|
||||
lv : 'Latvian',
|
||||
mn : 'Mongolian',
|
||||
ms : 'Malay',
|
||||
nb : 'Norwegian Bokmal',
|
||||
nl : 'Dutch',
|
||||
no : 'Norwegian',
|
||||
pl : 'Polish',
|
||||
pt : 'Portuguese (Portugal)',
|
||||
'pt-br' : 'Portuguese (Brazil)',
|
||||
ro : 'Romanian',
|
||||
ru : 'Russian',
|
||||
sk : 'Slovak',
|
||||
sl : 'Slovenian',
|
||||
sr : 'Serbian (Cyrillic)',
|
||||
'sr-latn' : 'Serbian (Latin)',
|
||||
sv : 'Swedish',
|
||||
th : 'Thai',
|
||||
tr : 'Turkish',
|
||||
uk : 'Ukrainian',
|
||||
vi : 'Vietnamese',
|
||||
zh : 'Chinese Traditional',
|
||||
'zh-cn' : 'Chinese Simplified'
|
||||
};
|
||||
|
||||
var langsArray = [];
|
||||
|
||||
for ( var code in langs )
|
||||
{
|
||||
langsArray.push( { code : code, name : langs[ code ] } );
|
||||
}
|
||||
|
||||
langsArray.sort( function( a, b )
|
||||
{
|
||||
return ( a.name < b.name ) ? -1 : 1;
|
||||
});
|
||||
|
||||
return langsArray;
|
||||
})();
|
60
phpgwapi/js/ckeditor3/_source/lang/_translationstatus.txt
Normal file
60
phpgwapi/js/ckeditor3/_source/lang/_translationstatus.txt
Normal file
@ -0,0 +1,60 @@
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
|
||||
af.js Found: 287 Missing: 207
|
||||
ar.js Found: 451 Missing: 43
|
||||
bg.js Found: 280 Missing: 214
|
||||
bn.js Found: 281 Missing: 213
|
||||
bs.js Found: 187 Missing: 307
|
||||
ca.js Found: 490 Missing: 4
|
||||
cs.js Found: 411 Missing: 83
|
||||
cy.js Found: 452 Missing: 42
|
||||
da.js Found: 404 Missing: 90
|
||||
de.js Found: 444 Missing: 50
|
||||
el.js Found: 286 Missing: 208
|
||||
en-au.js Found: 369 Missing: 125
|
||||
en-ca.js Found: 369 Missing: 125
|
||||
en-gb.js Found: 370 Missing: 124
|
||||
eo.js Found: 259 Missing: 235
|
||||
es.js Found: 467 Missing: 27
|
||||
et.js Found: 301 Missing: 193
|
||||
eu.js Found: 403 Missing: 91
|
||||
fa.js Found: 302 Missing: 192
|
||||
fi.js Found: 489 Missing: 5
|
||||
fo.js Found: 420 Missing: 74
|
||||
fr-ca.js Found: 301 Missing: 193
|
||||
fr.js Found: 403 Missing: 91
|
||||
gl.js Found: 283 Missing: 211
|
||||
gu.js Found: 300 Missing: 194
|
||||
he.js Found: 467 Missing: 27
|
||||
hi.js Found: 302 Missing: 192
|
||||
hr.js Found: 404 Missing: 90
|
||||
hu.js Found: 445 Missing: 49
|
||||
is.js Found: 307 Missing: 187
|
||||
it.js Found: 404 Missing: 90
|
||||
ja.js Found: 413 Missing: 81
|
||||
km.js Found: 275 Missing: 219
|
||||
ko.js Found: 293 Missing: 201
|
||||
lt.js Found: 306 Missing: 188
|
||||
lv.js Found: 283 Missing: 211
|
||||
mn.js Found: 300 Missing: 194
|
||||
ms.js Found: 265 Missing: 229
|
||||
nb.js Found: 470 Missing: 24
|
||||
nl.js Found: 467 Missing: 27
|
||||
no.js Found: 470 Missing: 24
|
||||
pl.js Found: 411 Missing: 83
|
||||
pt-br.js Found: 402 Missing: 92
|
||||
pt.js Found: 282 Missing: 212
|
||||
ro.js Found: 301 Missing: 193
|
||||
ru.js Found: 467 Missing: 27
|
||||
sk.js Found: 302 Missing: 192
|
||||
sl.js Found: 410 Missing: 84
|
||||
sr-latn.js Found: 276 Missing: 218
|
||||
sr.js Found: 275 Missing: 219
|
||||
sv.js Found: 299 Missing: 195
|
||||
th.js Found: 287 Missing: 207
|
||||
tr.js Found: 307 Missing: 187
|
||||
uk.js Found: 404 Missing: 90
|
||||
vi.js Found: 404 Missing: 90
|
||||
zh-cn.js Found: 404 Missing: 90
|
||||
zh.js Found: 404 Missing: 90
|
708
phpgwapi/js/ckeditor3/_source/lang/af.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/af.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Afrikaans language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['af'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Source',
|
||||
newPage : 'Nuwe Bladsy',
|
||||
save : 'Bewaar',
|
||||
preview : 'Voorskou',
|
||||
cut : 'Uitsny ',
|
||||
copy : 'Kopieer',
|
||||
paste : 'Byvoeg',
|
||||
print : 'Druk',
|
||||
underline : 'Onderstreep',
|
||||
bold : 'Vet',
|
||||
italic : 'Skuins',
|
||||
selectAll : 'Selekteer alles',
|
||||
removeFormat : 'Formaat verweider',
|
||||
strike : 'Gestreik',
|
||||
subscript : 'Subscript',
|
||||
superscript : 'Superscript',
|
||||
horizontalrule : 'Horisontale lyn byvoeg',
|
||||
pagebreak : 'Bladsy breek byvoeg',
|
||||
unlink : 'Skakel verweider',
|
||||
undo : 'Ont-skep',
|
||||
redo : 'Her-skep',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Server deurblaai',
|
||||
url : 'URL',
|
||||
protocol : 'Protokol',
|
||||
upload : 'Oplaai',
|
||||
uploadSubmit : 'Stuur dit na die Server',
|
||||
image : 'Beeld',
|
||||
flash : 'Flash',
|
||||
form : 'Form',
|
||||
checkbox : 'HakBox',
|
||||
radio : 'PuntBox',
|
||||
textField : 'Byvoegbare karakter strook',
|
||||
textarea : 'Byvoegbare karakter area',
|
||||
hiddenField : 'Blinde strook',
|
||||
button : 'Knop',
|
||||
select : 'Opklapbare keuse strook',
|
||||
imageButton : 'Beeld knop',
|
||||
notSet : '<geen instelling>',
|
||||
id : 'Id',
|
||||
name : 'Naam',
|
||||
langDir : 'Taal rigting',
|
||||
langDirLtr : 'Links na regs (LTR)',
|
||||
langDirRtl : 'Regs na links (RTL)',
|
||||
langCode : 'Taal kode',
|
||||
longDescr : 'Lang beskreiwing URL',
|
||||
cssClass : 'Skakel Tiepe',
|
||||
advisoryTitle : 'Voorbeveelings Titel',
|
||||
cssStyle : 'Styl',
|
||||
ok : 'OK',
|
||||
cancel : 'Kanseleer',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'General', // MISSING
|
||||
advancedTab : 'Ingewikkeld',
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Spesiaale Karakter byvoeg',
|
||||
title : 'Kies spesiale karakter',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Skakel byvoeg/verander',
|
||||
other : '<ander>',
|
||||
menu : 'Verander skakel',
|
||||
title : 'Skakel',
|
||||
info : 'Skakel informasie',
|
||||
target : 'Mikpunt',
|
||||
upload : 'Oplaai',
|
||||
advanced : 'Ingewikkeld',
|
||||
type : 'Skakel soort',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Skakel na plekhouers in text',
|
||||
toEmail : 'E-Mail',
|
||||
targetFrame : '<raam>',
|
||||
targetPopup : '<popup venster>',
|
||||
targetFrameName : 'Mikpunt Venster Naam',
|
||||
targetPopupName : 'Popup Venster Naam',
|
||||
popupFeatures : 'Popup Venster Geaartheid',
|
||||
popupResizable : 'Resizable', // MISSING
|
||||
popupStatusBar : 'Status Balk',
|
||||
popupLocationBar: 'Adres Balk',
|
||||
popupToolbar : 'Gereedskap Balk',
|
||||
popupMenuBar : 'Menu Balk',
|
||||
popupFullScreen : 'Voll Skerm (IE)',
|
||||
popupScrollBars : 'Gleibalkstuk',
|
||||
popupDependent : 'Afhanklik (Netscape)',
|
||||
popupWidth : 'Weite',
|
||||
popupLeft : 'Links Posisie',
|
||||
popupHeight : 'Hoogde',
|
||||
popupTop : 'Bo Posisie',
|
||||
id : 'Id', // MISSING
|
||||
langDir : 'Taal rigting',
|
||||
langDirLTR : 'Links na regs (LTR)',
|
||||
langDirRTL : 'Regs na links (RTL)',
|
||||
acccessKey : 'Toegang sleutel',
|
||||
name : 'Naam',
|
||||
langCode : 'Taal rigting',
|
||||
tabIndex : 'Tab Index',
|
||||
advisoryTitle : 'Voorbeveelings Titel',
|
||||
advisoryContentType : 'Voorbeveelings inhoud soort',
|
||||
cssClasses : 'Skakel Tiepe',
|
||||
charset : 'Geskakelde voorbeeld karakterstel',
|
||||
styles : 'Styl',
|
||||
selectAnchor : 'Kies \'n plekhouer',
|
||||
anchorName : 'Volgens plekhouer naam',
|
||||
anchorId : 'Volgens element Id',
|
||||
emailAddress : 'E-Mail Adres',
|
||||
emailSubject : 'Boodskap Opskrif',
|
||||
emailBody : 'Boodskap Inhoud',
|
||||
noAnchors : '(Geen plekhouers beskikbaar in dokument}',
|
||||
noUrl : 'Voeg asseblief die URL in',
|
||||
noEmail : 'Voeg asseblief die e-mail adres in'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Plekhouer byvoeg/verander',
|
||||
menu : 'Plekhouer eienskappe',
|
||||
title : 'Plekhouer eienskappe',
|
||||
name : 'Plekhouer Naam',
|
||||
errorName : 'Voltooi die plekhouer naam asseblief'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Find and Replace', // MISSING
|
||||
find : 'Vind',
|
||||
replace : 'Vervang',
|
||||
findWhat : 'Soek wat:',
|
||||
replaceWith : 'Vervang met:',
|
||||
notFoundMsg : 'Die gespesifiseerde karakters word nie gevind nie.',
|
||||
matchCase : 'Vergelyk karakter skryfweise',
|
||||
matchWord : 'Vergelyk komplete woord',
|
||||
matchCyclic : 'Match cyclic', // MISSING
|
||||
replaceAll : 'Vervang alles',
|
||||
replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Tabel',
|
||||
title : 'Tabel eienskappe',
|
||||
menu : 'Tabel eienskappe',
|
||||
deleteTable : 'Tabel verweider',
|
||||
rows : 'Reie',
|
||||
columns : 'Kolome',
|
||||
border : 'Kant groote',
|
||||
align : 'Parideering',
|
||||
alignLeft : 'Links',
|
||||
alignCenter : 'Middel',
|
||||
alignRight : 'Regs',
|
||||
width : 'Weite',
|
||||
widthPx : 'pixels',
|
||||
widthPc : 'percent',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Hoogde',
|
||||
cellSpace : 'Cell spasieering',
|
||||
cellPad : 'Cell buffer',
|
||||
caption : 'Beskreiwing',
|
||||
summary : 'Opsomming',
|
||||
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 number.', // MISSING
|
||||
invalidCellPadding : 'Cell padding must be a number.', // MISSING
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Cell',
|
||||
insertBefore : 'Insert Cell Before', // MISSING
|
||||
insertAfter : 'Insert Cell After', // MISSING
|
||||
deleteCell : 'Cell verweider',
|
||||
merge : 'Cell verenig',
|
||||
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
|
||||
alignTop : 'Top', // MISSING
|
||||
alignMiddle : 'Middle', // MISSING
|
||||
alignBottom : 'Bottom', // 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 : 'Ry',
|
||||
insertBefore : 'Insert Row Before', // MISSING
|
||||
insertAfter : 'Insert Row After', // MISSING
|
||||
deleteRow : 'Ry verweider'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Kolom',
|
||||
insertBefore : 'Insert Column Before', // MISSING
|
||||
insertAfter : 'Insert Column After', // MISSING
|
||||
deleteColumn : 'Kolom verweider'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Knop eienskappe',
|
||||
text : 'Karakters (Waarde)',
|
||||
type : 'Soort',
|
||||
typeBtn : 'Knop',
|
||||
typeSbm : 'Indien',
|
||||
typeRst : 'Reset'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'HakBox eienskappe',
|
||||
radioTitle : 'PuntBox eienskappe',
|
||||
value : 'Waarde',
|
||||
selected : 'Uitgekies'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Form eienskappe',
|
||||
menu : 'Form eienskappe',
|
||||
action : 'Aksie',
|
||||
method : 'Metode',
|
||||
encoding : 'Encoding' // MISSING
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Opklapbare keuse strook eienskappe',
|
||||
selectInfo : 'Info',
|
||||
opAvail : 'Beskikbare Opsies',
|
||||
value : 'Waarde',
|
||||
size : 'Grote',
|
||||
lines : 'lyne',
|
||||
chkMulti : 'Laat meerere keuses toe',
|
||||
opText : 'Karakters',
|
||||
opValue : 'Waarde',
|
||||
btnAdd : 'Byvoeg',
|
||||
btnModify : 'Verander',
|
||||
btnUp : 'Op',
|
||||
btnDown : 'Af',
|
||||
btnSetValue : 'Stel as uitgekiesde waarde',
|
||||
btnDelete : 'Verweider'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Karakter area eienskappe',
|
||||
cols : 'Kolom',
|
||||
rows : 'Reie'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Karakter strook eienskappe',
|
||||
name : 'Naam',
|
||||
value : 'Waarde',
|
||||
charWidth : 'Karakter weite',
|
||||
maxChars : 'Maximale karakters',
|
||||
type : 'Soort',
|
||||
typeText : 'Karakters',
|
||||
typePass : 'Wagwoord'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Blinde strook eienskappe',
|
||||
name : 'Naam',
|
||||
value : 'Waarde'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Beeld eienskappe',
|
||||
titleButton : 'Beeld knop eienskappe',
|
||||
menu : 'Beeld eienskappe',
|
||||
infoTab : 'Beeld informasie',
|
||||
btnUpload : 'Stuur dit na die Server',
|
||||
upload : 'Uplaai',
|
||||
alt : 'Alternatiewe beskrywing',
|
||||
width : 'Weidte',
|
||||
height : 'Hoogde',
|
||||
lockRatio : 'Behou preporsie',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Herstel groote',
|
||||
border : 'Kant',
|
||||
hSpace : 'HSpasie',
|
||||
vSpace : 'VSpasie',
|
||||
align : 'Paradeer',
|
||||
alignLeft : 'Links',
|
||||
alignRight : 'Regs',
|
||||
alertUrl : 'Voeg asseblief Beeld URL in.',
|
||||
linkTab : 'Skakel',
|
||||
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
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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 eienskappe',
|
||||
propertiesTab : 'Properties', // MISSING
|
||||
title : 'Flash eienskappe',
|
||||
chkPlay : 'Automaties Speel',
|
||||
chkLoop : 'Herhaling',
|
||||
chkMenu : 'Laat Flash Menu toe',
|
||||
chkFull : 'Allow Fullscreen', // MISSING
|
||||
scale : 'Scale',
|
||||
scaleAll : 'Wys alles',
|
||||
scaleNoBorder : 'Geen kante',
|
||||
scaleFit : 'Presiese pas',
|
||||
access : 'Script Access', // MISSING
|
||||
accessAlways : 'Always', // MISSING
|
||||
accessSameDomain: 'Same domain', // MISSING
|
||||
accessNever : 'Never', // MISSING
|
||||
align : 'Paradeer',
|
||||
alignLeft : 'Links',
|
||||
alignAbsBottom : 'Abs Onder',
|
||||
alignAbsMiddle : 'Abs Middel',
|
||||
alignBaseline : 'Baseline',
|
||||
alignBottom : 'Onder',
|
||||
alignMiddle : 'Middel',
|
||||
alignRight : 'Regs',
|
||||
alignTextTop : 'Text Bo',
|
||||
alignTop : 'Bo',
|
||||
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 : 'Agtergrond kleur',
|
||||
width : 'Weidte',
|
||||
height : 'Hoogde',
|
||||
hSpace : 'HSpasie',
|
||||
vSpace : 'VSpasie',
|
||||
validateSrc : 'Voeg asseblief die URL in',
|
||||
validateWidth : 'Width must be a number.', // MISSING
|
||||
validateHeight : 'Height must be a number.', // MISSING
|
||||
validateHSpace : 'HSpace must be a number.', // MISSING
|
||||
validateVSpace : 'VSpace must be a number.' // MISSING
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Spelling nagaan',
|
||||
title : 'Spell Check', // MISSING
|
||||
notAvailable : 'Sorry, but service is unavailable now.', // MISSING
|
||||
errorLoading : 'Error loading application service host: %s.', // MISSING
|
||||
notInDic : 'Nie in woordeboek nie',
|
||||
changeTo : 'Verander na',
|
||||
btnIgnore : 'Ignoreer',
|
||||
btnIgnoreAll : 'Ignoreer na-volgende',
|
||||
btnReplace : 'Vervang',
|
||||
btnReplaceAll : 'vervang na-volgende',
|
||||
btnUndo : 'Ont-skep',
|
||||
noSuggestions : '- Geen voorstel -',
|
||||
progress : 'Spelling word beproef...',
|
||||
noMispell : 'Spellproef kompleet: Geen foute',
|
||||
noChanges : 'Spellproef kompleet: Geen woord veranderings',
|
||||
oneChange : 'Spellproef kompleet: Een woord verander',
|
||||
manyChanges : 'Spellproef kompleet: %1 woorde verander',
|
||||
ieSpellDownload : 'Geen Spellproefer geinstaleer nie. Wil U dit aflaai?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Smiley',
|
||||
title : 'Voeg Smiley by',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 element' // MISSING
|
||||
},
|
||||
|
||||
numberedlist : 'Genommerde lys',
|
||||
bulletedlist : 'Gepunkte lys',
|
||||
indent : 'Paradeering verleng',
|
||||
outdent : 'Paradeering verkort',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Links rig',
|
||||
center : 'Rig Middel',
|
||||
right : 'Regs rig',
|
||||
block : 'Blok paradeer'
|
||||
},
|
||||
|
||||
blockquote : 'Block Quote', // MISSING
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Byvoeg',
|
||||
cutError : 'U browser se sekuriteit instelling behinder die uitsny aksie. Gebruik asseblief die sleutel kombenasie(Ctrl/Cmd+X).',
|
||||
copyError : 'U browser se sekuriteit instelling behinder die kopieerings aksie. Gebruik asseblief die sleutel kombenasie(Ctrl/Cmd+C).',
|
||||
pasteMsg : 'Voeg asseblief die inhoud in die gegewe box by met sleutel kombenasie(<STRONG>Ctrl/Cmd+V</STRONG>) en druk <STRONG>OK</STRONG>.',
|
||||
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 : 'Van Word af byvoeg',
|
||||
title : 'Van Word af byvoeg',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Voeg slegs karakters by',
|
||||
title : 'Voeg slegs karakters by'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Templates',
|
||||
title : 'Inhoud Templates',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Vervang bestaande inhoud',
|
||||
selectPromptMsg : 'Kies die template om te gebruik in die editor<br>(Inhoud word vervang!):',
|
||||
emptyListMsg : '(Geen templates gedefinieerd)'
|
||||
},
|
||||
|
||||
showBlocks : 'Show Blocks', // MISSING
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Styl',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block Styles', // MISSING
|
||||
panelTitle2 : 'Inline Styles', // MISSING
|
||||
panelTitle3 : 'Object Styles' // MISSING
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Karakter formaat',
|
||||
panelTitle : 'Karakter formaat',
|
||||
|
||||
tag_p : 'Normaal',
|
||||
tag_pre : 'Geformateerd',
|
||||
tag_address : 'Adres',
|
||||
tag_h1 : 'Opskrif 1',
|
||||
tag_h2 : 'Opskrif 2',
|
||||
tag_h3 : 'Opskrif 3',
|
||||
tag_h4 : 'Opskrif 4',
|
||||
tag_h5 : 'Opskrif 5',
|
||||
tag_h6 : 'Opskrif 6',
|
||||
tag_div : 'Normaal (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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Karakters',
|
||||
voiceLabel : 'Font', // MISSING
|
||||
panelTitle : 'Karakters'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Karakter grote',
|
||||
voiceLabel : 'Font Size', // MISSING
|
||||
panelTitle : 'Karakter grote'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Karakter kleur',
|
||||
bgColorTitle : 'Agtergrond kleur',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
auto : 'Automaties',
|
||||
more : 'Meer Kleure...'
|
||||
},
|
||||
|
||||
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' : 'Dim 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' : 'Dark 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
|
||||
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
|
||||
languagesTab : 'Languages', // MISSING
|
||||
dictionariesTab : 'Dictionaries', // MISSING
|
||||
aboutTab : 'About' // MISSING
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'About CKEditor', // MISSING
|
||||
dlgTitle : 'About CKEditor', // 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
|
||||
div : 'Page Break', // MISSING
|
||||
unknown : 'Unknown Object' // MISSING
|
||||
},
|
||||
|
||||
resize : 'Drag to resize', // MISSING
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/ar.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/ar.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Arabic language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['ar'] =
|
||||
{
|
||||
/**
|
||||
* 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 : 'Rich text editor, %1, press ALT 0 for help.', // MISSING
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'المصدر',
|
||||
newPage : 'صفحة جديدة',
|
||||
save : 'حفظ',
|
||||
preview : 'معاينة الصفحة',
|
||||
cut : 'قص',
|
||||
copy : 'نسخ',
|
||||
paste : 'لصق',
|
||||
print : 'طباعة',
|
||||
underline : 'تسطير',
|
||||
bold : 'غامق',
|
||||
italic : 'مائل',
|
||||
selectAll : 'تحديد الكل',
|
||||
removeFormat : 'إزالة التنسيقات',
|
||||
strike : 'يتوسطه خط',
|
||||
subscript : 'منخفض',
|
||||
superscript : 'مرتفع',
|
||||
horizontalrule : 'خط فاصل',
|
||||
pagebreak : 'إدخال صفحة جديدة',
|
||||
unlink : 'إزالة رابط',
|
||||
undo : 'تراجع',
|
||||
redo : 'إعادة',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'تصفح',
|
||||
url : 'الرابط',
|
||||
protocol : 'البروتوكول',
|
||||
upload : 'رفع',
|
||||
uploadSubmit : 'أرسل',
|
||||
image : 'صورة',
|
||||
flash : 'فلاش',
|
||||
form : 'نموذج',
|
||||
checkbox : 'خانة إختيار',
|
||||
radio : 'زر اختيار',
|
||||
textField : 'مربع نص',
|
||||
textarea : 'مساحة نصية',
|
||||
hiddenField : 'إدراج حقل خفي',
|
||||
button : 'زر ضغط',
|
||||
select : 'اختار',
|
||||
imageButton : 'زر صورة',
|
||||
notSet : '<بدون تحديد>',
|
||||
id : 'الرقم',
|
||||
name : 'الاسم',
|
||||
langDir : 'إتجاه النص',
|
||||
langDirLtr : 'اليسار لليمين (LTR)',
|
||||
langDirRtl : 'اليمين لليسار (RTL)',
|
||||
langCode : 'رمز اللغة',
|
||||
longDescr : 'الوصف التفصيلى',
|
||||
cssClass : 'فئات التنسيق',
|
||||
advisoryTitle : 'عنوان التقرير',
|
||||
cssStyle : 'نمط',
|
||||
ok : 'موافق',
|
||||
cancel : 'إلغاء الأمر',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, غير متاح</span>'
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'إدراج خاص.ِ',
|
||||
title : 'اختر الخواص',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'رابط',
|
||||
other : '<أخرى>',
|
||||
menu : 'تحرير رابط',
|
||||
title : 'إرتباط تشعبي',
|
||||
info : 'معلومات الرابط',
|
||||
target : 'هدف الرابط',
|
||||
upload : 'رفع',
|
||||
advanced : 'متقدم',
|
||||
type : 'نوع الربط',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'مكان في هذا المستند',
|
||||
toEmail : 'بريد إلكتروني',
|
||||
targetFrame : '<إطار>',
|
||||
targetPopup : '<نافذة منبثقة>',
|
||||
targetFrameName : 'اسم الإطار المستهدف',
|
||||
targetPopupName : 'اسم النافذة المنبثقة',
|
||||
popupFeatures : 'خصائص النافذة المنبثقة',
|
||||
popupResizable : 'قابلة التشكيل',
|
||||
popupStatusBar : 'شريط الحالة',
|
||||
popupLocationBar: 'شريط العنوان',
|
||||
popupToolbar : 'شريط الأدوات',
|
||||
popupMenuBar : 'القوائم الرئيسية',
|
||||
popupFullScreen : 'ملئ الشاشة (IE)',
|
||||
popupScrollBars : 'أشرطة التمرير',
|
||||
popupDependent : 'تابع (Netscape)',
|
||||
popupWidth : 'العرض',
|
||||
popupLeft : 'التمركز لليسار',
|
||||
popupHeight : 'الإرتفاع',
|
||||
popupTop : 'التمركز للأعلى',
|
||||
id : 'هوية',
|
||||
langDir : 'إتجاه النص',
|
||||
langDirLTR : 'اليسار لليمين (LTR)',
|
||||
langDirRTL : 'اليمين لليسار (RTL)',
|
||||
acccessKey : 'مفاتيح الإختصار',
|
||||
name : 'الاسم',
|
||||
langCode : 'كود النص',
|
||||
tabIndex : 'الترتيب',
|
||||
advisoryTitle : 'عنوان التقرير',
|
||||
advisoryContentType : 'نوع التقرير',
|
||||
cssClasses : 'فئات التنسيق',
|
||||
charset : 'ترميز المادة المطلوبة',
|
||||
styles : 'نمط',
|
||||
selectAnchor : 'اختر علامة مرجعية',
|
||||
anchorName : 'حسب الاسم',
|
||||
anchorId : 'حسب رقم العنصر',
|
||||
emailAddress : 'عنوان البريد إلكتروني',
|
||||
emailSubject : 'موضوع الرسالة',
|
||||
emailBody : 'محتوى الرسالة',
|
||||
noAnchors : '(لا توجد علامات مرجعية في هذا المستند)',
|
||||
noUrl : 'من فضلك أدخل عنوان الموقع الذي يشير إليه الرابط',
|
||||
noEmail : 'من فضلك أدخل عنوان البريد الإلكتروني'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'إشارة مرجعية',
|
||||
menu : 'تحرير الإشارة المرجعية',
|
||||
title : 'خصائص الإشارة المرجعية',
|
||||
name : 'اسم الإشارة المرجعية',
|
||||
errorName : 'الرجاء كتابة اسم الإشارة المرجعية'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'بحث واستبدال',
|
||||
find : 'بحث',
|
||||
replace : 'إستبدال',
|
||||
findWhat : 'البحث بـ:',
|
||||
replaceWith : 'إستبدال بـ:',
|
||||
notFoundMsg : 'لم يتم العثور على النص المحدد.',
|
||||
matchCase : 'مطابقة حالة الأحرف',
|
||||
matchWord : 'مطابقة بالكامل',
|
||||
matchCyclic : 'مطابقة دورية',
|
||||
replaceAll : 'إستبدال الكل',
|
||||
replaceSuccessMsg : 'تم استبدال 1% من الحالات '
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'جدول',
|
||||
title : 'خصائص الجدول',
|
||||
menu : 'خصائص الجدول',
|
||||
deleteTable : 'حذف الجدول',
|
||||
rows : 'صفوف',
|
||||
columns : 'أعمدة',
|
||||
border : 'الحدود',
|
||||
align : 'المحاذاة',
|
||||
alignLeft : 'يسار',
|
||||
alignCenter : 'وسط',
|
||||
alignRight : 'يمين',
|
||||
width : 'العرض',
|
||||
widthPx : 'بكسل',
|
||||
widthPc : 'بالمئة',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'الإرتفاع',
|
||||
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 : 'محاذاة رأسية',
|
||||
alignTop : 'أعلى',
|
||||
alignMiddle : 'وسط',
|
||||
alignBottom : 'أسفل',
|
||||
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 : 'عنوان الصورة',
|
||||
width : 'العرض',
|
||||
height : 'الإرتفاع',
|
||||
lockRatio : 'تناسق الحجم',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'إستعادة الحجم الأصلي',
|
||||
border : 'سمك الحدود',
|
||||
hSpace : 'تباعد أفقي',
|
||||
vSpace : 'تباعد عمودي',
|
||||
align : 'محاذاة',
|
||||
alignLeft : 'يسار',
|
||||
alignRight : 'يمين',
|
||||
alertUrl : 'فضلاً أكتب الموقع الذي توجد عليه هذه الصورة.',
|
||||
linkTab : 'الرابط',
|
||||
button2Img : 'هل تريد تحويل زر الصورة المختار إلى صورة بسيطة؟',
|
||||
img2Button : 'هل تريد تحويل الصورة المختارة إلى زر صورة؟',
|
||||
urlMissing : 'عنوان مصدر الصورة مفقود',
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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 : 'خصائص الفلاش',
|
||||
propertiesTab : 'الخصائص',
|
||||
title : 'خصائص فيلم الفلاش',
|
||||
chkPlay : 'تشغيل تلقائي',
|
||||
chkLoop : 'تكرار',
|
||||
chkMenu : 'تمكين قائمة فيلم الفلاش',
|
||||
chkFull : 'ملء الشاشة',
|
||||
scale : 'الحجم',
|
||||
scaleAll : 'إظهار الكل',
|
||||
scaleNoBorder : 'بلا حدود',
|
||||
scaleFit : 'ضبط تام',
|
||||
access : 'دخول النص البرمجي',
|
||||
accessAlways : 'دائماً',
|
||||
accessSameDomain: 'نفس النطاق',
|
||||
accessNever : 'مطلقاً',
|
||||
align : 'محاذاة',
|
||||
alignLeft : 'يسار',
|
||||
alignAbsBottom : 'أسفل النص',
|
||||
alignAbsMiddle : 'وسط السطر',
|
||||
alignBaseline : 'على السطر',
|
||||
alignBottom : 'أسفل',
|
||||
alignMiddle : 'وسط',
|
||||
alignRight : 'يمين',
|
||||
alignTextTop : 'أعلى النص',
|
||||
alignTop : 'أعلى',
|
||||
quality : 'جودة',
|
||||
qualityBest : 'أفضل',
|
||||
qualityHigh : 'عالية',
|
||||
qualityAutoHigh : 'عالية تلقائياً',
|
||||
qualityMedium : 'متوسطة',
|
||||
qualityAutoLow : 'منخفضة تلقائياً',
|
||||
qualityLow : 'منخفضة',
|
||||
windowModeWindow: 'نافذة',
|
||||
windowModeOpaque: 'غير شفاف',
|
||||
windowModeTransparent : 'شفاف',
|
||||
windowMode : 'وضع النافذة',
|
||||
flashvars : 'متغيرات الفلاش',
|
||||
bgcolor : 'لون الخلفية',
|
||||
width : 'العرض',
|
||||
height : 'الإرتفاع',
|
||||
hSpace : 'تباعد أفقي',
|
||||
vSpace : 'تباعد عمودي',
|
||||
validateSrc : 'فضلاً أدخل عنوان الموقع الذي يشير إليه الرابط',
|
||||
validateWidth : 'العرض يجب أن يكون عدداً.',
|
||||
validateHeight : 'الارتفاع يجب أن يكون عدداً.',
|
||||
validateHSpace : 'HSpace يجب أن يكون عدداً.',
|
||||
validateVSpace : 'VSpace يجب أن يكون عدداً.'
|
||||
},
|
||||
|
||||
// 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 : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : 'عنصر 1%'
|
||||
},
|
||||
|
||||
numberedlist : 'ادخال/حذف تعداد رقمي',
|
||||
bulletedlist : 'ادخال/حذف تعداد نقطي',
|
||||
indent : 'زيادة المسافة البادئة',
|
||||
outdent : 'إنقاص المسافة البادئة',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'محاذاة إلى اليسار',
|
||||
center : 'توسيط',
|
||||
right : 'محاذاة إلى اليمين',
|
||||
block : 'ضبط'
|
||||
},
|
||||
|
||||
blockquote : 'اقتباس',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'لصق',
|
||||
cutError : 'الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+X).',
|
||||
copyError : 'الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع النسخ التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+C).',
|
||||
pasteMsg : 'الصق داخل الصندوق بإستخدام زرائر (<STRONG>Ctrl/Cmd+V</STRONG>) في لوحة المفاتيح، ثم اضغط زر <STRONG>موافق</STRONG>.',
|
||||
securityMsg : 'نظراً لإعدادات الأمان الخاصة بمتصفحك، لن يتمكن هذا المحرر من الوصول لمحتوى حافظتك، لذلك يجب عليك لصق المحتوى مرة أخرى في هذه النافذة.',
|
||||
pasteArea : 'Paste Area' // MISSING
|
||||
},
|
||||
|
||||
pastefromword :
|
||||
{
|
||||
confirmCleanup : 'يبدو أن النص المراد لصقه منسوخ من برنامج وورد. هل تود تنظيفه قبل الشروع في عملية اللصق؟',
|
||||
toolbar : 'لصق من وورد',
|
||||
title : 'لصق من وورد',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'لصق كنص بسيط',
|
||||
title : 'لصق كنص بسيط'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'القوالب',
|
||||
title : 'قوالب المحتوى',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'استبدال المحتوى',
|
||||
selectPromptMsg : 'اختر القالب الذي تود وضعه في المحرر',
|
||||
emptyListMsg : '(لم يتم تعريف أي قالب)'
|
||||
},
|
||||
|
||||
showBlocks : 'مخطط تفصيلي',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'أنماط',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'أنماط الفقرة',
|
||||
panelTitle2 : 'أنماط مضمنة',
|
||||
panelTitle3 : 'أنماط الكائن'
|
||||
},
|
||||
|
||||
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 : '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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'خط',
|
||||
voiceLabel : 'حجم الخط',
|
||||
panelTitle : 'حجم الخط'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'حجم الخط',
|
||||
voiceLabel : 'حجم الخط',
|
||||
panelTitle : 'حجم الخط'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'لون النص',
|
||||
bgColorTitle : 'لون الخلفية',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
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' : 'ليموني',
|
||||
'AFEEEE' : 'فيروزي شاحب',
|
||||
'ADD8E6' : 'أزرق فاتح',
|
||||
'DDA0DD' : 'بنفسجي فاتح',
|
||||
'D3D3D3' : 'رمادي فاتح',
|
||||
'FFF0F5' : 'وردي فاتح',
|
||||
'FAEBD7' : 'أبيض عتيق',
|
||||
'FFFFE0' : 'أصفر فاتح',
|
||||
'F0FFF0' : 'أبيض مائل للأخضر',
|
||||
'F0FFFF' : 'سماوي',
|
||||
'F0F8FF' : 'لبني',
|
||||
'E6E6FA' : 'أرجواني',
|
||||
'FFF' : 'أبيض'
|
||||
},
|
||||
|
||||
scayt :
|
||||
{
|
||||
title : 'تدقيق إملائي أثناء الكتابة',
|
||||
enable : 'تفعيل SCAYT',
|
||||
disable : 'تعطيل SCAYT',
|
||||
about : 'عن SCAYT',
|
||||
toggle : 'تثبيت SCAYT',
|
||||
options : 'خيارات',
|
||||
langs : 'لغات',
|
||||
moreSuggestions : 'المزيد من المقترحات',
|
||||
ignore : 'تجاهل',
|
||||
ignoreAll : 'تجاهل الكل',
|
||||
addWord : 'إضافة كلمة',
|
||||
emptyDic : 'اسم القاموس يجب ألا يكون فارغاً.',
|
||||
optionsTab : 'خيارات',
|
||||
languagesTab : 'لغات',
|
||||
dictionariesTab : 'قواميس',
|
||||
aboutTab : 'عن'
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'عن CKEditor',
|
||||
dlgTitle : 'عن rotidEKC',
|
||||
moreInfo : 'للحصول على معلومات الترخيص ، يرجى زيارة موقعنا على شبكة الانترنت:',
|
||||
copy : 'حقوق النشر © $1. جميع الحقوق محفوظة.'
|
||||
},
|
||||
|
||||
maximize : 'تكبير',
|
||||
minimize : 'تصغير',
|
||||
|
||||
fakeobjects :
|
||||
{
|
||||
anchor : 'إرساء',
|
||||
flash : 'رسم متحرك بالفلاش',
|
||||
div : 'فاصل صفحة',
|
||||
unknown : 'كائن غير معروف'
|
||||
},
|
||||
|
||||
resize : 'اسحب لتغيير الحجم',
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'اختر لون',
|
||||
highlight : 'إلقاء الضوء',
|
||||
selected : 'مُختار',
|
||||
clear : 'مسح'
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/bg.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/bg.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Bulgarian language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['bg'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Код',
|
||||
newPage : 'Нова страница',
|
||||
save : 'Запази',
|
||||
preview : 'Предварителен изглед',
|
||||
cut : 'Изрежи',
|
||||
copy : 'Запамети',
|
||||
paste : 'Вмъкни',
|
||||
print : 'Печат',
|
||||
underline : 'Подчертан',
|
||||
bold : 'Удебелен',
|
||||
italic : 'Курсив',
|
||||
selectAll : 'Селектирай всичко',
|
||||
removeFormat : 'Изтрий форматирането',
|
||||
strike : 'Зачертан',
|
||||
subscript : 'Индекс за база',
|
||||
superscript : 'Индекс за степен',
|
||||
horizontalrule : 'Вмъкни хоризонтална линия',
|
||||
pagebreak : 'Вмъкни нов ред',
|
||||
unlink : 'Изтрий връзка',
|
||||
undo : 'Отмени',
|
||||
redo : 'Повтори',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Разгледай сървъра',
|
||||
url : 'Пълен път (URL)',
|
||||
protocol : 'Протокол',
|
||||
upload : 'Качи',
|
||||
uploadSubmit : 'Прати към сървъра',
|
||||
image : 'Изображение',
|
||||
flash : 'Flash',
|
||||
form : 'Формуляр',
|
||||
checkbox : 'Поле за отметка',
|
||||
radio : 'Поле за опция',
|
||||
textField : 'Текстово поле',
|
||||
textarea : 'Текстова област',
|
||||
hiddenField : 'Скрито поле',
|
||||
button : 'Бутон',
|
||||
select : 'Падащо меню с опции',
|
||||
imageButton : 'Бутон-изображение',
|
||||
notSet : '<не е настроен>',
|
||||
id : 'Идентификатор',
|
||||
name : 'Име',
|
||||
langDir : 'посока на речта',
|
||||
langDirLtr : 'От ляво на дясно',
|
||||
langDirRtl : 'От дясно на ляво',
|
||||
langCode : 'Код на езика',
|
||||
longDescr : 'Описание на връзката',
|
||||
cssClass : 'Клас от стиловите таблици',
|
||||
advisoryTitle : 'Препоръчително заглавие',
|
||||
cssStyle : 'Стил',
|
||||
ok : 'ОК',
|
||||
cancel : 'Отказ',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'General', // MISSING
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Вмъкни специален символ',
|
||||
title : 'Изберете специален символ',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Добави/Редактирай връзка',
|
||||
other : '<друг>',
|
||||
menu : 'Редактирай връзка',
|
||||
title : 'Връзка',
|
||||
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)',
|
||||
popupWidth : 'Ширина',
|
||||
popupLeft : 'Координати - X',
|
||||
popupHeight : 'Височина',
|
||||
popupTop : 'Координати - Y',
|
||||
id : 'Id', // MISSING
|
||||
langDir : 'посока на речта',
|
||||
langDirLTR : 'От ляво на дясно',
|
||||
langDirRTL : 'От дясно на ляво',
|
||||
acccessKey : 'Бърз клавиш',
|
||||
name : 'Име',
|
||||
langCode : 'посока на речта',
|
||||
tabIndex : 'Ред на достъп',
|
||||
advisoryTitle : 'Препоръчително заглавие',
|
||||
advisoryContentType : 'Препоръчителен тип на съдържанието',
|
||||
cssClasses : 'Клас от стиловите таблици',
|
||||
charset : 'Тип на свързания ресурс',
|
||||
styles : 'Стил',
|
||||
selectAnchor : 'Изберете котва',
|
||||
anchorName : 'По име на котвата',
|
||||
anchorId : 'По идентификатор на елемент',
|
||||
emailAddress : 'Адрес за е-поща',
|
||||
emailSubject : 'Тема на писмото',
|
||||
emailBody : 'Текст на писмото',
|
||||
noAnchors : '(Няма котви в текущия документ)',
|
||||
noUrl : 'Моля, напишете пълния път (URL)',
|
||||
noEmail : 'Моля, напишете адреса за е-поща'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Добави/Редактирай котва',
|
||||
menu : 'Параметри на котвата',
|
||||
title : 'Параметри на котвата',
|
||||
name : 'Име на котвата',
|
||||
errorName : 'Моля, въведете име на котвата'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Find and Replace', // MISSING
|
||||
find : 'Търси',
|
||||
replace : 'Замести',
|
||||
findWhat : 'Търси:',
|
||||
replaceWith : 'Замести с:',
|
||||
notFoundMsg : 'Указания текст не беше намерен.',
|
||||
matchCase : 'Със същия регистър',
|
||||
matchWord : 'Търси същата дума',
|
||||
matchCyclic : 'Match cyclic', // MISSING
|
||||
replaceAll : 'Замести всички',
|
||||
replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Таблица',
|
||||
title : 'Параметри на таблицата',
|
||||
menu : 'Параметри на таблицата',
|
||||
deleteTable : 'Изтрий таблицата',
|
||||
rows : 'Редове',
|
||||
columns : 'Колони',
|
||||
border : 'Размер на рамката',
|
||||
align : 'Подравняване',
|
||||
alignLeft : 'Ляво',
|
||||
alignCenter : 'Център',
|
||||
alignRight : 'Дясно',
|
||||
width : 'Ширина',
|
||||
widthPx : 'пиксели',
|
||||
widthPc : 'проценти',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Височина',
|
||||
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 number.', // MISSING
|
||||
invalidCellPadding : 'Cell padding must be a number.', // MISSING
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Cell', // MISSING
|
||||
insertBefore : 'Insert Cell Before', // MISSING
|
||||
insertAfter : 'Insert Cell After', // MISSING
|
||||
deleteCell : 'Изтрий клетките',
|
||||
merge : 'Обедини клетките',
|
||||
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
|
||||
alignTop : 'Top', // MISSING
|
||||
alignMiddle : 'Middle', // MISSING
|
||||
alignBottom : 'Bottom', // 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 : 'Изтрий редовете'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Column', // MISSING
|
||||
insertBefore : 'Insert Column Before', // MISSING
|
||||
insertAfter : 'Insert Column After', // MISSING
|
||||
deleteColumn : 'Изтрий колоните'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Параметри на бутона',
|
||||
text : 'Текст (Стойност)',
|
||||
type : 'Тип',
|
||||
typeBtn : 'Button', // MISSING
|
||||
typeSbm : 'Submit', // MISSING
|
||||
typeRst : 'Reset' // MISSING
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Параметри на полето за отметка',
|
||||
radioTitle : 'Параметри на полето за опция',
|
||||
value : 'Стойност',
|
||||
selected : 'Отметнато'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Параметри на формуляра',
|
||||
menu : 'Параметри на формуляра',
|
||||
action : 'Действие',
|
||||
method : 'Метод',
|
||||
encoding : 'Encoding' // MISSING
|
||||
},
|
||||
|
||||
// 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 : 'Алтернативен текст',
|
||||
width : 'Ширина',
|
||||
height : 'Височина',
|
||||
lockRatio : 'Запази пропорцията',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Възстанови размера',
|
||||
border : 'Рамка',
|
||||
hSpace : 'Хоризонтален отстъп',
|
||||
vSpace : 'Вертикален отстъп',
|
||||
align : 'Подравняване',
|
||||
alignLeft : 'Ляво',
|
||||
alignRight : 'Дясно',
|
||||
alertUrl : 'Моля, въведете пълния път до изображението',
|
||||
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
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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 обекта',
|
||||
propertiesTab : 'Properties', // MISSING
|
||||
title : 'Параметри на Flash обекта',
|
||||
chkPlay : 'Автоматично стартиране',
|
||||
chkLoop : 'Ново стартиране след завършването',
|
||||
chkMenu : 'Разрешено Flash меню',
|
||||
chkFull : 'Allow Fullscreen', // MISSING
|
||||
scale : 'Оразмеряване',
|
||||
scaleAll : 'Покажи целия обект',
|
||||
scaleNoBorder : 'Без рамка',
|
||||
scaleFit : 'Според мястото',
|
||||
access : 'Script Access', // MISSING
|
||||
accessAlways : 'Always', // MISSING
|
||||
accessSameDomain: 'Same domain', // MISSING
|
||||
accessNever : 'Never', // MISSING
|
||||
align : 'Подравняване',
|
||||
alignLeft : 'Ляво',
|
||||
alignAbsBottom : 'Най-долу',
|
||||
alignAbsMiddle : 'Точно по средата',
|
||||
alignBaseline : 'По базовата линия',
|
||||
alignBottom : 'Долу',
|
||||
alignMiddle : 'По средата',
|
||||
alignRight : 'Дясно',
|
||||
alignTextTop : 'Върху текста',
|
||||
alignTop : 'Отгоре',
|
||||
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 : 'Цвят на фона',
|
||||
width : 'Ширина',
|
||||
height : 'Височина',
|
||||
hSpace : 'Хоризонтален отстъп',
|
||||
vSpace : 'Вертикален отстъп',
|
||||
validateSrc : 'Моля, напишете пълния път (URL)',
|
||||
validateWidth : 'Width must be a number.', // MISSING
|
||||
validateHeight : 'Height must be a number.', // MISSING
|
||||
validateHSpace : 'HSpace must be a number.', // MISSING
|
||||
validateVSpace : 'VSpace must be a number.' // MISSING
|
||||
},
|
||||
|
||||
// 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
|
||||
notInDic : 'Липсва в речника',
|
||||
changeTo : 'Промени на',
|
||||
btnIgnore : 'Игнорирай',
|
||||
btnIgnoreAll : 'Игнорирай всички',
|
||||
btnReplace : 'Замести',
|
||||
btnReplaceAll : 'Замести всички',
|
||||
btnUndo : 'Отмени',
|
||||
noSuggestions : '- Няма предложения -',
|
||||
progress : 'Извършване на проверката за правопис...',
|
||||
noMispell : 'Проверката за правопис завършена: не са открити правописни грешки',
|
||||
noChanges : 'Проверката за правопис завършена: няма променени думи',
|
||||
oneChange : 'Проверката за правопис завършена: една дума е променена',
|
||||
manyChanges : 'Проверката за правопис завършена: %1 думи са променени',
|
||||
ieSpellDownload : 'Инструментът за проверка на правопис не е инсталиран. Желаете ли да го инсталирате ?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Усмивка',
|
||||
title : 'Добави усмивка',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 element' // MISSING
|
||||
},
|
||||
|
||||
numberedlist : 'Нумериран списък',
|
||||
bulletedlist : 'Ненумериран списък',
|
||||
indent : 'Увеличи отстъпа',
|
||||
outdent : 'Намали отстъпа',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Подравняване в ляво',
|
||||
center : 'Подравнявне в средата',
|
||||
right : 'Подравняване в дясно',
|
||||
block : 'Двустранно подравняване'
|
||||
},
|
||||
|
||||
blockquote : 'Block Quote', // MISSING
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Вмъкни',
|
||||
cutError : 'Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни изрязването. За целта използвайте клавиатурата (Ctrl/Cmd+X).',
|
||||
copyError : 'Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни запаметяването. За целта използвайте клавиатурата (Ctrl/Cmd+C).',
|
||||
pasteMsg : 'Вмъкнете тук съдъжанието с клавиатуарата (<STRONG>Ctrl/Cmd+V</STRONG>) и натиснете <STRONG>OK</STRONG>.',
|
||||
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 : 'Вмъкни от MS Word',
|
||||
title : 'Вмъкни от MS Word',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Вмъкни като чист текст',
|
||||
title : 'Вмъкни като чист текст'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Шаблони',
|
||||
title : 'Шаблони',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Replace actual contents', // MISSING
|
||||
selectPromptMsg : 'Изберете шаблон <br>(текущото съдържание на редактора ще бъде загубено):',
|
||||
emptyListMsg : '(Няма дефинирани шаблони)'
|
||||
},
|
||||
|
||||
showBlocks : 'Show Blocks', // MISSING
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Стил',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block Styles', // MISSING
|
||||
panelTitle2 : 'Inline Styles', // MISSING
|
||||
panelTitle3 : 'Object Styles' // MISSING
|
||||
},
|
||||
|
||||
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 : '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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Шрифт',
|
||||
voiceLabel : 'Font', // MISSING
|
||||
panelTitle : 'Шрифт'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Размер',
|
||||
voiceLabel : 'Font Size', // MISSING
|
||||
panelTitle : 'Размер'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Цвят на текста',
|
||||
bgColorTitle : 'Цвят на фона',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
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' : 'Dim 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' : 'Dark 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
|
||||
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
|
||||
languagesTab : 'Languages', // MISSING
|
||||
dictionariesTab : 'Dictionaries', // MISSING
|
||||
aboutTab : 'About' // MISSING
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'About CKEditor', // MISSING
|
||||
dlgTitle : 'About CKEditor', // 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
|
||||
div : 'Page Break', // MISSING
|
||||
unknown : 'Unknown Object' // MISSING
|
||||
},
|
||||
|
||||
resize : 'Drag to resize', // MISSING
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/bn.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/bn.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Bengali/Bangla language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['bn'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'সোর্স',
|
||||
newPage : 'নতুন পেজ',
|
||||
save : 'সংরক্ষন কর',
|
||||
preview : 'প্রিভিউ',
|
||||
cut : 'কাট',
|
||||
copy : 'কপি',
|
||||
paste : 'পেস্ট',
|
||||
print : 'প্রিন্ট',
|
||||
underline : 'আন্ডারলাইন',
|
||||
bold : 'বোল্ড',
|
||||
italic : 'ইটালিক',
|
||||
selectAll : 'সব সিলেক্ট কর',
|
||||
removeFormat : 'ফরমেট সরাও',
|
||||
strike : 'স্ট্রাইক থ্রু',
|
||||
subscript : 'অধোলেখ',
|
||||
superscript : 'অভিলেখ',
|
||||
horizontalrule : 'রেখা যুক্ত কর',
|
||||
pagebreak : 'পেজ ব্রেক',
|
||||
unlink : 'লিংক সরাও',
|
||||
undo : 'আনডু',
|
||||
redo : 'রি-ডু',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'ব্রাউজ সার্ভার',
|
||||
url : 'URL',
|
||||
protocol : 'প্রোটোকল',
|
||||
upload : 'আপলোড',
|
||||
uploadSubmit : 'ইহাকে সার্ভারে প্রেরন কর',
|
||||
image : 'ছবির লেবেল যুক্ত কর',
|
||||
flash : 'ফ্লাশ লেবেল যুক্ত কর',
|
||||
form : 'ফর্ম',
|
||||
checkbox : 'চেক বাক্স',
|
||||
radio : 'রেডিও বাটন',
|
||||
textField : 'টেক্সট ফীল্ড',
|
||||
textarea : 'টেক্সট এরিয়া',
|
||||
hiddenField : 'গুপ্ত ফীল্ড',
|
||||
button : 'বাটন',
|
||||
select : 'বাছাই ফীল্ড',
|
||||
imageButton : 'ছবির বাটন',
|
||||
notSet : '<সেট নেই>',
|
||||
id : 'আইডি',
|
||||
name : 'নাম',
|
||||
langDir : 'ভাষা লেখার দিক',
|
||||
langDirLtr : 'বাম থেকে ডান (LTR)',
|
||||
langDirRtl : 'ডান থেকে বাম (RTL)',
|
||||
langCode : 'ভাষা কোড',
|
||||
longDescr : 'URL এর লম্বা বর্ণনা',
|
||||
cssClass : 'স্টাইল-শীট ক্লাস',
|
||||
advisoryTitle : 'পরামর্শ শীর্ষক',
|
||||
cssStyle : 'স্টাইল',
|
||||
ok : 'ওকে',
|
||||
cancel : 'বাতিল',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'General', // MISSING
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'বিশেষ অক্ষর যুক্ত কর',
|
||||
title : 'বিশেষ ক্যারেক্টার বাছাই কর',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'লিংক যুক্ত কর',
|
||||
other : '<other>', // MISSING
|
||||
menu : 'লিংক সম্পাদন',
|
||||
title : 'লিংক',
|
||||
info : 'লিংক তথ্য',
|
||||
target : 'টার্গেট',
|
||||
upload : 'আপলোড',
|
||||
advanced : 'এডভান্সড',
|
||||
type : 'লিংক প্রকার',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'এই পেজে নোঙর কর',
|
||||
toEmail : 'ইমেইল',
|
||||
targetFrame : '<ফ্রেম>',
|
||||
targetPopup : '<পপআপ উইন্ডো>',
|
||||
targetFrameName : 'টার্গেট ফ্রেমের নাম',
|
||||
targetPopupName : 'পপআপ উইন্ডোর নাম',
|
||||
popupFeatures : 'পপআপ উইন্ডো ফীচার সমূহ',
|
||||
popupResizable : 'Resizable', // MISSING
|
||||
popupStatusBar : 'স্ট্যাটাস বার',
|
||||
popupLocationBar: 'লোকেশন বার',
|
||||
popupToolbar : 'টুল বার',
|
||||
popupMenuBar : 'মেন্যু বার',
|
||||
popupFullScreen : 'পূর্ণ পর্দা জুড়ে (IE)',
|
||||
popupScrollBars : 'স্ক্রল বার',
|
||||
popupDependent : 'ডিপেন্ডেন্ট (Netscape)',
|
||||
popupWidth : 'প্রস্থ',
|
||||
popupLeft : 'বামের পজিশন',
|
||||
popupHeight : 'দৈর্ঘ্য',
|
||||
popupTop : 'ডানের পজিশন',
|
||||
id : 'Id', // MISSING
|
||||
langDir : 'ভাষা লেখার দিক',
|
||||
langDirLTR : 'বাম থেকে ডান (LTR)',
|
||||
langDirRTL : 'ডান থেকে বাম (RTL)',
|
||||
acccessKey : 'এক্সেস কী',
|
||||
name : 'নাম',
|
||||
langCode : 'ভাষা লেখার দিক',
|
||||
tabIndex : 'ট্যাব ইন্ডেক্স',
|
||||
advisoryTitle : 'পরামর্শ শীর্ষক',
|
||||
advisoryContentType : 'পরামর্শ কন্টেন্টের প্রকার',
|
||||
cssClasses : 'স্টাইল-শীট ক্লাস',
|
||||
charset : 'লিংক রিসোর্স ক্যারেক্টর সেট',
|
||||
styles : 'স্টাইল',
|
||||
selectAnchor : 'নোঙর বাছাই',
|
||||
anchorName : 'নোঙরের নাম দিয়ে',
|
||||
anchorId : 'নোঙরের আইডি দিয়ে',
|
||||
emailAddress : 'ইমেইল ঠিকানা',
|
||||
emailSubject : 'মেসেজের বিষয়',
|
||||
emailBody : 'মেসেজের দেহ',
|
||||
noAnchors : '(No anchors available in the document)', // MISSING
|
||||
noUrl : 'অনুগ্রহ করে URL লিংক টাইপ করুন',
|
||||
noEmail : 'অনুগ্রহ করে ইমেইল এড্রেস টাইপ করুন'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'নোঙ্গর',
|
||||
menu : 'নোঙর প্রোপার্টি',
|
||||
title : 'নোঙর প্রোপার্টি',
|
||||
name : 'নোঙরের নাম',
|
||||
errorName : 'নোঙরের নাম টাইপ করুন'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Find and Replace', // MISSING
|
||||
find : 'খোজো',
|
||||
replace : 'রিপ্লেস',
|
||||
findWhat : 'যা খুঁজতে হবে:',
|
||||
replaceWith : 'যার সাথে বদলাতে হবে:',
|
||||
notFoundMsg : 'আপনার উল্লেখিত টেকস্ট পাওয়া যায়নি',
|
||||
matchCase : 'কেস মিলাও',
|
||||
matchWord : 'পুরা শব্দ মেলাও',
|
||||
matchCyclic : 'Match cyclic', // MISSING
|
||||
replaceAll : 'সব বদলে দাও',
|
||||
replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'টেবিলের লেবেল যুক্ত কর',
|
||||
title : 'টেবিল প্রোপার্টি',
|
||||
menu : 'টেবিল প্রোপার্টি',
|
||||
deleteTable : 'টেবিল ডিলীট কর',
|
||||
rows : 'রো',
|
||||
columns : 'কলাম',
|
||||
border : 'বর্ডার সাইজ',
|
||||
align : 'এলাইনমেন্ট',
|
||||
alignLeft : 'বামে',
|
||||
alignCenter : 'মাঝখানে',
|
||||
alignRight : 'ডানে',
|
||||
width : 'প্রস্থ',
|
||||
widthPx : 'পিক্সেল',
|
||||
widthPc : 'শতকরা',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'দৈর্ঘ্য',
|
||||
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 number.', // MISSING
|
||||
invalidCellPadding : 'Cell padding must be a number.', // MISSING
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'সেল',
|
||||
insertBefore : 'Insert Cell Before', // MISSING
|
||||
insertAfter : 'Insert Cell After', // MISSING
|
||||
deleteCell : 'সেল মুছে দাও',
|
||||
merge : 'সেল জোড়া দাও',
|
||||
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
|
||||
alignTop : 'Top', // MISSING
|
||||
alignMiddle : 'Middle', // MISSING
|
||||
alignBottom : 'Bottom', // 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 : 'রো',
|
||||
insertBefore : 'Insert Row Before', // MISSING
|
||||
insertAfter : 'Insert Row After', // MISSING
|
||||
deleteRow : 'রো মুছে দাও'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'কলাম',
|
||||
insertBefore : 'Insert Column Before', // MISSING
|
||||
insertAfter : 'Insert Column After', // MISSING
|
||||
deleteColumn : 'কলাম মুছে দাও'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'বাটন প্রোপার্টি',
|
||||
text : 'টেক্সট (ভ্যালু)',
|
||||
type : 'প্রকার',
|
||||
typeBtn : 'Button', // MISSING
|
||||
typeSbm : 'Submit', // MISSING
|
||||
typeRst : 'Reset' // MISSING
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'চেক বক্স প্রোপার্টি',
|
||||
radioTitle : 'রেডিও বাটন প্রোপার্টি',
|
||||
value : 'ভ্যালু',
|
||||
selected : 'সিলেক্টেড'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'ফর্ম প্রোপার্টি',
|
||||
menu : 'ফর্ম প্রোপার্টি',
|
||||
action : 'একশ্যন',
|
||||
method : 'পদ্ধতি',
|
||||
encoding : 'Encoding' // MISSING
|
||||
},
|
||||
|
||||
// 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 : 'বিকল্প টেক্সট',
|
||||
width : 'প্রস্থ',
|
||||
height : 'দৈর্ঘ্য',
|
||||
lockRatio : 'অনুপাত লক কর',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'সাইজ পূর্বাবস্থায় ফিরিয়ে দাও',
|
||||
border : 'বর্ডার',
|
||||
hSpace : 'হরাইজন্টাল স্পেস',
|
||||
vSpace : 'ভার্টিকেল স্পেস',
|
||||
align : 'এলাইন',
|
||||
alignLeft : 'বামে',
|
||||
alignRight : 'ডানে',
|
||||
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
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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 : 'ফ্লাশ প্রোপার্টি',
|
||||
propertiesTab : 'Properties', // MISSING
|
||||
title : 'ফ্ল্যাশ প্রোপার্টি',
|
||||
chkPlay : 'অটো প্লে',
|
||||
chkLoop : 'লূপ',
|
||||
chkMenu : 'ফ্ল্যাশ মেনু এনাবল কর',
|
||||
chkFull : 'Allow Fullscreen', // MISSING
|
||||
scale : 'স্কেল',
|
||||
scaleAll : 'সব দেখাও',
|
||||
scaleNoBorder : 'কোনো বর্ডার নেই',
|
||||
scaleFit : 'নিখুঁত ফিট',
|
||||
access : 'Script Access', // MISSING
|
||||
accessAlways : 'Always', // MISSING
|
||||
accessSameDomain: 'Same domain', // MISSING
|
||||
accessNever : 'Never', // MISSING
|
||||
align : 'এলাইন',
|
||||
alignLeft : 'বামে',
|
||||
alignAbsBottom : 'Abs নীচে',
|
||||
alignAbsMiddle : 'Abs উপর',
|
||||
alignBaseline : 'মূল রেখা',
|
||||
alignBottom : 'নীচে',
|
||||
alignMiddle : 'মধ্য',
|
||||
alignRight : 'ডানে',
|
||||
alignTextTop : 'টেক্সট উপর',
|
||||
alignTop : 'উপর',
|
||||
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 : 'বেকগ্রাউন্ড রং',
|
||||
width : 'প্রস্থ',
|
||||
height : 'দৈর্ঘ্য',
|
||||
hSpace : 'হরাইজন্টাল স্পেস',
|
||||
vSpace : 'ভার্টিকেল স্পেস',
|
||||
validateSrc : 'অনুগ্রহ করে URL লিংক টাইপ করুন',
|
||||
validateWidth : 'Width must be a number.', // MISSING
|
||||
validateHeight : 'Height must be a number.', // MISSING
|
||||
validateHSpace : 'HSpace must be a number.', // MISSING
|
||||
validateVSpace : 'VSpace must be a number.' // MISSING
|
||||
},
|
||||
|
||||
// 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
|
||||
notInDic : 'শব্দকোষে নেই',
|
||||
changeTo : 'এতে বদলাও',
|
||||
btnIgnore : 'ইগনোর কর',
|
||||
btnIgnoreAll : 'সব ইগনোর কর',
|
||||
btnReplace : 'বদলে দাও',
|
||||
btnReplaceAll : 'সব বদলে দাও',
|
||||
btnUndo : 'আন্ডু',
|
||||
noSuggestions : '- কোন সাজেশন নেই -',
|
||||
progress : 'বানান পরীক্ষা চলছে...',
|
||||
noMispell : 'বানান পরীক্ষা শেষ: কোন ভুল বানান পাওয়া যায়নি',
|
||||
noChanges : 'বানান পরীক্ষা শেষ: কোন শব্দ পরিবর্তন করা হয়নি',
|
||||
oneChange : 'বানান পরীক্ষা শেষ: একটি মাত্র শব্দ পরিবর্তন করা হয়েছে',
|
||||
manyChanges : 'বানান পরীক্ষা শেষ: %1 গুলো শব্দ বদলে গ্যাছে',
|
||||
ieSpellDownload : 'বানান পরীক্ষক ইনস্টল করা নেই। আপনি কি এখনই এটা ডাউনলোড করতে চান?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'স্মাইলী',
|
||||
title : 'স্মাইলী যুক্ত কর',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 element' // MISSING
|
||||
},
|
||||
|
||||
numberedlist : 'সাংখ্যিক লিস্টের লেবেল',
|
||||
bulletedlist : 'বুলেট লিস্ট লেবেল',
|
||||
indent : 'ইনডেন্ট বাড়াও',
|
||||
outdent : 'ইনডেন্ট কমাও',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'বা দিকে ঘেঁষা',
|
||||
center : 'মাঝ বরাবর ঘেষা',
|
||||
right : 'ডান দিকে ঘেঁষা',
|
||||
block : 'ব্লক জাস্টিফাই'
|
||||
},
|
||||
|
||||
blockquote : 'Block Quote', // MISSING
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'পেস্ট',
|
||||
cutError : 'আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কাট করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+X)।',
|
||||
copyError : 'আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কপি করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+C)।',
|
||||
pasteMsg : 'অনুগ্রহ করে নীচের বাক্সে কিবোর্ড ব্যবহার করে (<STRONG>Ctrl/Cmd+V</STRONG>) পেস্ট করুন এবং <STRONG>OK</STRONG> চাপ দিন',
|
||||
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 : 'পেস্ট (শব্দ)',
|
||||
title : 'পেস্ট (শব্দ)',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'সাদা টেক্সট হিসেবে পেস্ট কর',
|
||||
title : 'সাদা টেক্সট হিসেবে পেস্ট কর'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'টেমপ্লেট',
|
||||
title : 'কনটেন্ট টেমপ্লেট',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Replace actual contents', // MISSING
|
||||
selectPromptMsg : 'অনুগ্রহ করে এডিটরে ওপেন করার জন্য টেমপ্লেট বাছাই করুন<br>(আসল কনটেন্ট হারিয়ে যাবে):',
|
||||
emptyListMsg : '(কোন টেমপ্লেট ডিফাইন করা নেই)'
|
||||
},
|
||||
|
||||
showBlocks : 'Show Blocks', // MISSING
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'স্টাইল',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block Styles', // MISSING
|
||||
panelTitle2 : 'Inline Styles', // MISSING
|
||||
panelTitle3 : 'Object Styles' // MISSING
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'ফন্ট ফরমেট',
|
||||
panelTitle : 'ফন্ট ফরমেট',
|
||||
|
||||
tag_p : 'সাধারণ',
|
||||
tag_pre : 'ফর্মেটেড',
|
||||
tag_address : 'ঠিকানা',
|
||||
tag_h1 : 'শীর্ষক ১',
|
||||
tag_h2 : 'শীর্ষক ২',
|
||||
tag_h3 : 'শীর্ষক ৩',
|
||||
tag_h4 : 'শীর্ষক ৪',
|
||||
tag_h5 : 'শীর্ষক ৫',
|
||||
tag_h6 : 'শীর্ষক ৬',
|
||||
tag_div : 'শীর্ষক (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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'ফন্ট',
|
||||
voiceLabel : 'Font', // MISSING
|
||||
panelTitle : 'ফন্ট'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'সাইজ',
|
||||
voiceLabel : 'Font Size', // MISSING
|
||||
panelTitle : 'সাইজ'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'টেক্স্ট রং',
|
||||
bgColorTitle : 'বেকগ্রাউন্ড রং',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
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' : 'Dim 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' : 'Dark 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
|
||||
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
|
||||
languagesTab : 'Languages', // MISSING
|
||||
dictionariesTab : 'Dictionaries', // MISSING
|
||||
aboutTab : 'About' // MISSING
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'About CKEditor', // MISSING
|
||||
dlgTitle : 'About CKEditor', // 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
|
||||
div : 'Page Break', // MISSING
|
||||
unknown : 'Unknown Object' // MISSING
|
||||
},
|
||||
|
||||
resize : 'Drag to resize', // MISSING
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/bs.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/bs.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Bosnian language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['bs'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'HTML kôd',
|
||||
newPage : 'Novi dokument',
|
||||
save : 'Snimi',
|
||||
preview : 'Prikaži',
|
||||
cut : 'Izreži',
|
||||
copy : 'Kopiraj',
|
||||
paste : 'Zalijepi',
|
||||
print : 'Štampaj',
|
||||
underline : 'Podvuci',
|
||||
bold : 'Boldiraj',
|
||||
italic : 'Ukosi',
|
||||
selectAll : 'Selektuj sve',
|
||||
removeFormat : 'Poništi format',
|
||||
strike : 'Precrtaj',
|
||||
subscript : 'Subscript',
|
||||
superscript : 'Superscript',
|
||||
horizontalrule : 'Ubaci horizontalnu liniju',
|
||||
pagebreak : 'Insert Page Break for Printing', // MISSING
|
||||
unlink : 'Izbriši link',
|
||||
undo : 'Vrati',
|
||||
redo : 'Ponovi',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Browse Server', // MISSING
|
||||
url : 'URL',
|
||||
protocol : 'Protokol',
|
||||
upload : 'Šalji',
|
||||
uploadSubmit : 'Šalji na server',
|
||||
image : 'Slika',
|
||||
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 : '<nije podešeno>',
|
||||
id : 'Id',
|
||||
name : 'Naziv',
|
||||
langDir : 'Smjer pisanja',
|
||||
langDirLtr : 'S lijeva na desno (LTR)',
|
||||
langDirRtl : 'S desna na lijevo (RTL)',
|
||||
langCode : 'Jezièni kôd',
|
||||
longDescr : 'Dugaèki opis URL-a',
|
||||
cssClass : 'Klase CSS stilova',
|
||||
advisoryTitle : 'Advisory title',
|
||||
cssStyle : 'Stil',
|
||||
ok : 'OK',
|
||||
cancel : 'Odustani',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'General', // MISSING
|
||||
advancedTab : 'Naprednije',
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Ubaci specijalni karater',
|
||||
title : 'Izaberi specijalni karakter',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Ubaci/Izmjeni link',
|
||||
other : '<other>', // MISSING
|
||||
menu : 'Izmjeni link',
|
||||
title : 'Link',
|
||||
info : 'Link info',
|
||||
target : 'Prozor',
|
||||
upload : 'Šalji',
|
||||
advanced : 'Naprednije',
|
||||
type : 'Tip linka',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Sidro na ovoj stranici',
|
||||
toEmail : 'E-Mail',
|
||||
targetFrame : '<frejm>',
|
||||
targetPopup : '<popup prozor>',
|
||||
targetFrameName : 'Target Frame Name', // MISSING
|
||||
targetPopupName : 'Naziv popup prozora',
|
||||
popupFeatures : 'Moguænosti popup prozora',
|
||||
popupResizable : 'Resizable', // MISSING
|
||||
popupStatusBar : 'Statusna traka',
|
||||
popupLocationBar: 'Traka za lokaciju',
|
||||
popupToolbar : 'Traka sa alatima',
|
||||
popupMenuBar : 'Izborna traka',
|
||||
popupFullScreen : 'Cijeli ekran (IE)',
|
||||
popupScrollBars : 'Scroll traka',
|
||||
popupDependent : 'Ovisno (Netscape)',
|
||||
popupWidth : 'Širina',
|
||||
popupLeft : 'Lijeva pozicija',
|
||||
popupHeight : 'Visina',
|
||||
popupTop : 'Gornja pozicija',
|
||||
id : 'Id', // MISSING
|
||||
langDir : 'Smjer pisanja',
|
||||
langDirLTR : 'S lijeva na desno (LTR)',
|
||||
langDirRTL : 'S desna na lijevo (RTL)',
|
||||
acccessKey : 'Pristupna tipka',
|
||||
name : 'Naziv',
|
||||
langCode : 'Smjer pisanja',
|
||||
tabIndex : 'Tab indeks',
|
||||
advisoryTitle : 'Advisory title',
|
||||
advisoryContentType : 'Advisory vrsta sadržaja',
|
||||
cssClasses : 'Klase CSS stilova',
|
||||
charset : 'Linked Resource Charset',
|
||||
styles : 'Stil',
|
||||
selectAnchor : 'Izaberi sidro',
|
||||
anchorName : 'Po nazivu sidra',
|
||||
anchorId : 'Po Id-u elementa',
|
||||
emailAddress : 'E-Mail Adresa',
|
||||
emailSubject : 'Subjekt poruke',
|
||||
emailBody : 'Poruka',
|
||||
noAnchors : '(Nema dostupnih sidra na stranici)',
|
||||
noUrl : 'Molimo ukucajte URL link',
|
||||
noEmail : 'Molimo ukucajte e-mail adresu'
|
||||
},
|
||||
|
||||
// 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
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Find and Replace', // MISSING
|
||||
find : 'Naði',
|
||||
replace : 'Zamjeni',
|
||||
findWhat : 'Naði šta:',
|
||||
replaceWith : 'Zamjeni sa:',
|
||||
notFoundMsg : 'Traženi tekst nije pronaðen.',
|
||||
matchCase : 'Uporeðuj velika/mala slova',
|
||||
matchWord : 'Uporeðuj samo cijelu rijeè',
|
||||
matchCyclic : 'Match cyclic', // MISSING
|
||||
replaceAll : 'Zamjeni sve',
|
||||
replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Tabela',
|
||||
title : 'Svojstva tabele',
|
||||
menu : 'Svojstva tabele',
|
||||
deleteTable : 'Delete Table', // MISSING
|
||||
rows : 'Redova',
|
||||
columns : 'Kolona',
|
||||
border : 'Okvir',
|
||||
align : 'Poravnanje',
|
||||
alignLeft : 'Lijevo',
|
||||
alignCenter : 'Centar',
|
||||
alignRight : 'Desno',
|
||||
width : 'Širina',
|
||||
widthPx : 'piksela',
|
||||
widthPc : 'posto',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Visina',
|
||||
cellSpace : 'Razmak æelija',
|
||||
cellPad : 'Uvod æelija',
|
||||
caption : 'Naslov',
|
||||
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 number.', // MISSING
|
||||
invalidCellPadding : 'Cell padding must be a number.', // MISSING
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Cell', // MISSING
|
||||
insertBefore : 'Insert Cell Before', // MISSING
|
||||
insertAfter : 'Insert Cell After', // MISSING
|
||||
deleteCell : 'Briši æelije',
|
||||
merge : 'Spoji æelije',
|
||||
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
|
||||
alignTop : 'Top', // MISSING
|
||||
alignMiddle : 'Middle', // MISSING
|
||||
alignBottom : 'Bottom', // 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 : 'Briši redove'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Column', // MISSING
|
||||
insertBefore : 'Insert Column Before', // MISSING
|
||||
insertAfter : 'Insert Column After', // MISSING
|
||||
deleteColumn : 'Briši kolone'
|
||||
}
|
||||
},
|
||||
|
||||
// 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 : 'Svojstva slike',
|
||||
titleButton : 'Image Button Properties', // MISSING
|
||||
menu : 'Svojstva slike',
|
||||
infoTab : 'Info slike',
|
||||
btnUpload : 'Šalji na server',
|
||||
upload : 'Šalji',
|
||||
alt : 'Tekst na slici',
|
||||
width : 'Širina',
|
||||
height : 'Visina',
|
||||
lockRatio : 'Zakljuèaj odnos',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Resetuj dimenzije',
|
||||
border : 'Okvir',
|
||||
hSpace : 'HSpace',
|
||||
vSpace : 'VSpace',
|
||||
align : 'Poravnanje',
|
||||
alignLeft : 'Lijevo',
|
||||
alignRight : 'Desno',
|
||||
alertUrl : 'Molimo ukucajte URL od slike.',
|
||||
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
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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
|
||||
align : 'Poravnanje',
|
||||
alignLeft : 'Lijevo',
|
||||
alignAbsBottom : 'Abs dole',
|
||||
alignAbsMiddle : 'Abs sredina',
|
||||
alignBaseline : 'Bazno',
|
||||
alignBottom : 'Dno',
|
||||
alignMiddle : 'Sredina',
|
||||
alignRight : 'Desno',
|
||||
alignTextTop : 'Vrh teksta',
|
||||
alignTop : 'Vrh',
|
||||
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 : 'Boja pozadine',
|
||||
width : 'Širina',
|
||||
height : 'Visina',
|
||||
hSpace : 'HSpace',
|
||||
vSpace : 'VSpace',
|
||||
validateSrc : 'Molimo ukucajte URL link',
|
||||
validateWidth : 'Width must be a number.', // MISSING
|
||||
validateHeight : 'Height must be a number.', // 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 : 'Smješko',
|
||||
title : 'Ubaci smješka',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 element' // MISSING
|
||||
},
|
||||
|
||||
numberedlist : 'Numerisana lista',
|
||||
bulletedlist : 'Lista',
|
||||
indent : 'Poveæaj uvod',
|
||||
outdent : 'Smanji uvod',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Lijevo poravnanje',
|
||||
center : 'Centralno poravnanje',
|
||||
right : 'Desno poravnanje',
|
||||
block : 'Puno poravnanje'
|
||||
},
|
||||
|
||||
blockquote : 'Block Quote', // MISSING
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Zalijepi',
|
||||
cutError : 'Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+X).',
|
||||
copyError : 'Sigurnosne postavke Vašeg pretraživaèa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+C).',
|
||||
pasteMsg : 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) 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 : 'Zalijepi iz Word-a',
|
||||
title : 'Zalijepi iz Word-a',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Zalijepi kao obièan tekst',
|
||||
title : 'Zalijepi kao obièan tekst'
|
||||
},
|
||||
|
||||
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 : 'Stil',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block Styles', // MISSING
|
||||
panelTitle2 : 'Inline Styles', // MISSING
|
||||
panelTitle3 : 'Object Styles' // MISSING
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Format',
|
||||
panelTitle : 'Format',
|
||||
|
||||
tag_p : 'Normal',
|
||||
tag_pre : 'Formatted',
|
||||
tag_address : 'Address',
|
||||
tag_h1 : 'Heading 1',
|
||||
tag_h2 : 'Heading 2',
|
||||
tag_h3 : 'Heading 3',
|
||||
tag_h4 : 'Heading 4',
|
||||
tag_h5 : 'Heading 5',
|
||||
tag_h6 : 'Heading 6',
|
||||
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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Font',
|
||||
voiceLabel : 'Font', // MISSING
|
||||
panelTitle : 'Font'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Velièina',
|
||||
voiceLabel : 'Font Size', // MISSING
|
||||
panelTitle : 'Velièina'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Boja teksta',
|
||||
bgColorTitle : 'Boja pozadine',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
auto : 'Automatska',
|
||||
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' : 'Dim 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' : 'Dark 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
|
||||
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
|
||||
languagesTab : 'Languages', // MISSING
|
||||
dictionariesTab : 'Dictionaries', // MISSING
|
||||
aboutTab : 'About' // MISSING
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'About CKEditor', // MISSING
|
||||
dlgTitle : 'About CKEditor', // 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
|
||||
div : 'Page Break', // MISSING
|
||||
unknown : 'Unknown Object' // MISSING
|
||||
},
|
||||
|
||||
resize : 'Drag to resize', // MISSING
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/ca.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/ca.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Catalan language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['ca'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* Screenreader titles. Please note that screenreaders are not always capable
|
||||
* of reading non-English words. So be careful while translating it.
|
||||
*/
|
||||
editorTitle : 'Editor de text enriquit, %1, prem ALT 0 per obtenir ajuda.',
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Barra d\'eines',
|
||||
editor : 'Editor de text enriquit',
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Codi font',
|
||||
newPage : 'Nova pàgina',
|
||||
save : 'Desa',
|
||||
preview : 'Visualització prèvia',
|
||||
cut : 'Retalla',
|
||||
copy : 'Copia',
|
||||
paste : 'Enganxa',
|
||||
print : 'Imprimeix',
|
||||
underline : 'Subratllat',
|
||||
bold : 'Negreta',
|
||||
italic : 'Cursiva',
|
||||
selectAll : 'Selecciona-ho tot',
|
||||
removeFormat : 'Elimina Format',
|
||||
strike : 'Barrat',
|
||||
subscript : 'Subíndex',
|
||||
superscript : 'Superíndex',
|
||||
horizontalrule : 'Insereix línia horitzontal',
|
||||
pagebreak : 'Insereix salt de pàgina',
|
||||
unlink : 'Elimina l\'enllaç',
|
||||
undo : 'Desfés',
|
||||
redo : 'Refés',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Veure servidor',
|
||||
url : 'URL',
|
||||
protocol : 'Protocol',
|
||||
upload : 'Puja',
|
||||
uploadSubmit : 'Envia-la al servidor',
|
||||
image : 'Imatge',
|
||||
flash : 'Flash',
|
||||
form : 'Formulari',
|
||||
checkbox : 'Casella de verificació',
|
||||
radio : 'Botó d\'opció',
|
||||
textField : 'Camp de text',
|
||||
textarea : 'Àrea de text',
|
||||
hiddenField : 'Camp ocult',
|
||||
button : 'Botó',
|
||||
select : 'Camp de selecció',
|
||||
imageButton : 'Botó d\'imatge',
|
||||
notSet : '<no definit>',
|
||||
id : 'Id',
|
||||
name : 'Nom',
|
||||
langDir : 'Direcció de l\'idioma',
|
||||
langDirLtr : 'D\'esquerra a dreta (LTR)',
|
||||
langDirRtl : 'De dreta a esquerra (RTL)',
|
||||
langCode : 'Codi d\'idioma',
|
||||
longDescr : 'Descripció llarga de la URL',
|
||||
cssClass : 'Classes del full d\'estil',
|
||||
advisoryTitle : 'Títol consultiu',
|
||||
cssStyle : 'Estil',
|
||||
ok : 'D\'acord',
|
||||
cancel : 'Cancel·la',
|
||||
close : 'Tanca',
|
||||
preview : 'Previsualitza',
|
||||
generalTab : 'General',
|
||||
advancedTab : 'Avançat',
|
||||
validateNumberFailed : 'Aquest valor no és un número.',
|
||||
confirmNewPage : 'Els canvis en aquest contingut que no es desin es perdran. Esteu segur que voleu carregar una pàgina nova?',
|
||||
confirmCancel : 'Algunes opcions s\'han canviat. Esteu segur que voleu tancar la finestra de diàleg?',
|
||||
options : 'Opcions',
|
||||
target : 'Destí',
|
||||
targetNew : 'Nova finestra (_blank)',
|
||||
targetTop : 'Finestra major (_top)',
|
||||
targetSelf : 'Mateixa finestra (_self)',
|
||||
targetParent : 'Finestra pare (_parent)',
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, no disponible</span>'
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Insereix caràcter especial',
|
||||
title : 'Selecciona el caràcter especial',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Insereix/Edita enllaç',
|
||||
other : '<altre>',
|
||||
menu : 'Edita l\'enllaç',
|
||||
title : 'Enllaç',
|
||||
info : 'Informació de l\'enllaç',
|
||||
target : 'Destí',
|
||||
upload : 'Puja',
|
||||
advanced : 'Avançat',
|
||||
type : 'Tipus d\'enllaç',
|
||||
toUrl : 'URL',
|
||||
toAnchor : 'Àncora en aquesta pàgina',
|
||||
toEmail : 'Correu electrònic',
|
||||
targetFrame : '<marc>',
|
||||
targetPopup : '<finestra emergent>',
|
||||
targetFrameName : 'Nom del marc de destí',
|
||||
targetPopupName : 'Nom finestra popup',
|
||||
popupFeatures : 'Característiques finestra popup',
|
||||
popupResizable : 'Redimensionable',
|
||||
popupStatusBar : 'Barra d\'estat',
|
||||
popupLocationBar: 'Barra d\'adreça',
|
||||
popupToolbar : 'Barra d\'eines',
|
||||
popupMenuBar : 'Barra de menú',
|
||||
popupFullScreen : 'Pantalla completa (IE)',
|
||||
popupScrollBars : 'Barres d\'scroll',
|
||||
popupDependent : 'Depenent (Netscape)',
|
||||
popupWidth : 'Amplada',
|
||||
popupLeft : 'Posició esquerra',
|
||||
popupHeight : 'Alçada',
|
||||
popupTop : 'Posició dalt',
|
||||
id : 'Id',
|
||||
langDir : 'Direcció de l\'idioma',
|
||||
langDirLTR : 'D\'esquerra a dreta (LTR)',
|
||||
langDirRTL : 'De dreta a esquerra (RTL)',
|
||||
acccessKey : 'Clau d\'accés',
|
||||
name : 'Nom',
|
||||
langCode : 'Direcció de l\'idioma',
|
||||
tabIndex : 'Index de Tab',
|
||||
advisoryTitle : 'Títol consultiu',
|
||||
advisoryContentType : 'Tipus de contingut consultiu',
|
||||
cssClasses : 'Classes del full d\'estil',
|
||||
charset : 'Conjunt de caràcters font enllaçat',
|
||||
styles : 'Estil',
|
||||
selectAnchor : 'Selecciona una àncora',
|
||||
anchorName : 'Per nom d\'àncora',
|
||||
anchorId : 'Per Id d\'element',
|
||||
emailAddress : 'Adreça de correu electrònic',
|
||||
emailSubject : 'Assumpte del missatge',
|
||||
emailBody : 'Cos del missatge',
|
||||
noAnchors : '(No hi ha àncores disponibles en aquest document)',
|
||||
noUrl : 'Si us plau, escrigui l\'enllaç URL',
|
||||
noEmail : 'Si us plau, escrigui l\'adreça correu electrònic'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Insereix/Edita àncora',
|
||||
menu : 'Propietats de l\'àncora',
|
||||
title : 'Propietats de l\'àncora',
|
||||
name : 'Nom de l\'àncora',
|
||||
errorName : 'Si us plau, escriviu el nom de l\'ancora'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Cerca i reemplaça',
|
||||
find : 'Cerca',
|
||||
replace : 'Reemplaça',
|
||||
findWhat : 'Cerca:',
|
||||
replaceWith : 'Remplaça amb:',
|
||||
notFoundMsg : 'El text especificat no s\'ha trobat.',
|
||||
matchCase : 'Distingeix majúscules/minúscules',
|
||||
matchWord : 'Només paraules completes',
|
||||
matchCyclic : 'Match cyclic',
|
||||
replaceAll : 'Reemplaça-ho tot',
|
||||
replaceSuccessMsg : '%1 ocurrència/es reemplaçada/es.'
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Taula',
|
||||
title : 'Propietats de la taula',
|
||||
menu : 'Propietats de la taula',
|
||||
deleteTable : 'Suprimeix la taula',
|
||||
rows : 'Files',
|
||||
columns : 'Columnes',
|
||||
border : 'Mida vora',
|
||||
align : 'Alineació',
|
||||
alignLeft : 'Esquerra',
|
||||
alignCenter : 'Centre',
|
||||
alignRight : 'Dreta',
|
||||
width : 'Amplada',
|
||||
widthPx : 'píxels',
|
||||
widthPc : 'percentatge',
|
||||
widthUnit : 'unitat d\'amplada',
|
||||
height : 'Alçada',
|
||||
cellSpace : 'Espaiat de cel·les',
|
||||
cellPad : 'Encoixinament de cel·les',
|
||||
caption : 'Títol',
|
||||
summary : 'Resum',
|
||||
headers : 'Capçaleres',
|
||||
headersNone : 'Cap',
|
||||
headersColumn : 'Primera columna',
|
||||
headersRow : 'Primera fila',
|
||||
headersBoth : 'Ambdues',
|
||||
invalidRows : 'El nombre de files ha de ser un nombre major que 0.',
|
||||
invalidCols : 'El nombre de columnes ha de ser un nombre major que 0.',
|
||||
invalidBorder : 'El gruix de la vora ha de ser un nombre.',
|
||||
invalidWidth : 'L\'amplada de la taula ha de ser un nombre.',
|
||||
invalidHeight : 'L\'alçada de la taula ha de ser un nombre.',
|
||||
invalidCellSpacing : 'L\'espaiat de cel·la ha de ser un nombre.',
|
||||
invalidCellPadding : 'L\'encoixinament de cel·la ha de ser un nombre.',
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Cel·la',
|
||||
insertBefore : 'Insereix cel·la abans de',
|
||||
insertAfter : 'Insereix cel·la darrera',
|
||||
deleteCell : 'Suprimeix les cel·les',
|
||||
merge : 'Fusiona les cel·les',
|
||||
mergeRight : 'Fusiona cap a la dreta',
|
||||
mergeDown : 'Fusiona cap avall',
|
||||
splitHorizontal : 'Divideix la cel·la horitzontalment',
|
||||
splitVertical : 'Divideix la cel·la verticalment',
|
||||
title : 'Propertiat de la cel·la',
|
||||
cellType : 'Tipus de cel·la',
|
||||
rowSpan : 'Expansió de files',
|
||||
colSpan : 'Expansió de columnes',
|
||||
wordWrap : 'Ajustar al contingut',
|
||||
hAlign : 'Aliniació Horizontal',
|
||||
vAlign : 'Aliniació Vertical',
|
||||
alignTop : 'A dalt',
|
||||
alignMiddle : 'Al mig',
|
||||
alignBottom : 'A baix',
|
||||
alignBaseline : 'A la línia base',
|
||||
bgColor : 'Color de fons',
|
||||
borderColor : 'Color de la vora',
|
||||
data : 'Data',
|
||||
header : 'Capçalera',
|
||||
yes : 'Sí',
|
||||
no : 'No',
|
||||
invalidWidth : 'L\'amplada de cel·la ha de ser un nombre.',
|
||||
invalidHeight : 'L\'alçada de cel·la ha de ser un nombre.',
|
||||
invalidRowSpan : 'L\'expansió de files ha de ser un nombre enter.',
|
||||
invalidColSpan : 'L\'expansió de columnes ha de ser un nombre enter.',
|
||||
chooseColor : 'Trieu'
|
||||
},
|
||||
|
||||
row :
|
||||
{
|
||||
menu : 'Fila',
|
||||
insertBefore : 'Insereix fila abans de',
|
||||
insertAfter : 'Insereix fila darrera',
|
||||
deleteRow : 'Suprimeix una fila'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Columna',
|
||||
insertBefore : 'Insereix columna abans de',
|
||||
insertAfter : 'Insereix columna darrera',
|
||||
deleteColumn : 'Suprimeix una columna'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Propietats del botó',
|
||||
text : 'Text (Valor)',
|
||||
type : 'Tipus',
|
||||
typeBtn : 'Botó',
|
||||
typeSbm : 'Transmet formulari',
|
||||
typeRst : 'Reinicia formulari'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Propietats de la casella de verificació',
|
||||
radioTitle : 'Propietats del botó d\'opció',
|
||||
value : 'Valor',
|
||||
selected : 'Seleccionat'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Propietats del formulari',
|
||||
menu : 'Propietats del formulari',
|
||||
action : 'Acció',
|
||||
method : 'Mètode',
|
||||
encoding : 'Codificació'
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Propietats del camp de selecció',
|
||||
selectInfo : 'Info',
|
||||
opAvail : 'Opcions disponibles',
|
||||
value : 'Valor',
|
||||
size : 'Mida',
|
||||
lines : 'Línies',
|
||||
chkMulti : 'Permet múltiples seleccions',
|
||||
opText : 'Text',
|
||||
opValue : 'Valor',
|
||||
btnAdd : 'Afegeix',
|
||||
btnModify : 'Modifica',
|
||||
btnUp : 'Amunt',
|
||||
btnDown : 'Avall',
|
||||
btnSetValue : 'Selecciona per defecte',
|
||||
btnDelete : 'Elimina'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Propietats de l\'àrea de text',
|
||||
cols : 'Columnes',
|
||||
rows : 'Files'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Propietats del camp de text',
|
||||
name : 'Nom',
|
||||
value : 'Valor',
|
||||
charWidth : 'Amplada',
|
||||
maxChars : 'Nombre màxim de caràcters',
|
||||
type : 'Tipus',
|
||||
typeText : 'Text',
|
||||
typePass : 'Contrasenya'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Propietats del camp ocult',
|
||||
name : 'Nom',
|
||||
value : 'Valor'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Propietats de la imatge',
|
||||
titleButton : 'Propietats del botó d\'imatge',
|
||||
menu : 'Propietats de la imatge',
|
||||
infoTab : 'Informació de la imatge',
|
||||
btnUpload : 'Envia-la al servidor',
|
||||
upload : 'Puja',
|
||||
alt : 'Text alternatiu',
|
||||
width : 'Amplada',
|
||||
height : 'Alçada',
|
||||
lockRatio : 'Bloqueja les proporcions',
|
||||
unlockRatio : 'Desbloqueja el ràtio',
|
||||
resetSize : 'Restaura la mida',
|
||||
border : 'Vora',
|
||||
hSpace : 'Espaiat horit.',
|
||||
vSpace : 'Espaiat vert.',
|
||||
align : 'Alineació',
|
||||
alignLeft : 'Ajusta a l\'esquerra',
|
||||
alignRight : 'Ajusta a la dreta',
|
||||
alertUrl : 'Si us plau, escriviu la URL de la imatge',
|
||||
linkTab : 'Enllaç',
|
||||
button2Img : 'Voleu transformar el botó d\'imatge seleccionat en una simple imatge?',
|
||||
img2Button : 'Voleu transformar la imatge seleccionada en un botó d\'imatge?',
|
||||
urlMissing : 'Falta la URL de la imatge.',
|
||||
validateWidth : 'L\'amplada ha de ser un nombre enter.',
|
||||
validateHeight : 'L\'alçada ha de ser un nombre enter.',
|
||||
validateBorder : 'La vora ha de ser un nombre enter.',
|
||||
validateHSpace : 'HSpace ha de ser un nombre enter.',
|
||||
validateVSpace : 'VSpace ha de ser un nombre enter.'
|
||||
},
|
||||
|
||||
// Flash Dialog
|
||||
flash :
|
||||
{
|
||||
properties : 'Propietats del Flash',
|
||||
propertiesTab : 'Propietats',
|
||||
title : 'Propietats del Flash',
|
||||
chkPlay : 'Reprodució automàtica',
|
||||
chkLoop : 'Bucle',
|
||||
chkMenu : 'Habilita menú Flash',
|
||||
chkFull : 'Permetre la pantalla completa',
|
||||
scale : 'Escala',
|
||||
scaleAll : 'Mostra-ho tot',
|
||||
scaleNoBorder : 'Sense vores',
|
||||
scaleFit : 'Mida exacta',
|
||||
access : 'Accés a scripts',
|
||||
accessAlways : 'Sempre',
|
||||
accessSameDomain: 'El mateix domini',
|
||||
accessNever : 'Mai',
|
||||
align : 'Alineació',
|
||||
alignLeft : 'Ajusta a l\'esquerra',
|
||||
alignAbsBottom : 'Abs Bottom',
|
||||
alignAbsMiddle : 'Abs Middle',
|
||||
alignBaseline : 'Baseline',
|
||||
alignBottom : 'Bottom',
|
||||
alignMiddle : 'Middle',
|
||||
alignRight : 'Ajusta a la dreta',
|
||||
alignTextTop : 'Text Top',
|
||||
alignTop : 'Top',
|
||||
quality : 'Qualitat',
|
||||
qualityBest : 'La millor',
|
||||
qualityHigh : 'Alta',
|
||||
qualityAutoHigh : 'Alta automàtica',
|
||||
qualityMedium : 'Mitjana',
|
||||
qualityAutoLow : 'Baixa automàtica',
|
||||
qualityLow : 'Baixa',
|
||||
windowModeWindow: 'Finestra',
|
||||
windowModeOpaque: 'Opaca',
|
||||
windowModeTransparent : 'Transparent',
|
||||
windowMode : 'Mode de la finestra',
|
||||
flashvars : 'Variables de Flash',
|
||||
bgcolor : 'Color de Fons',
|
||||
width : 'Amplada',
|
||||
height : 'Alçada',
|
||||
hSpace : 'Espaiat horit.',
|
||||
vSpace : 'Espaiat vert.',
|
||||
validateSrc : 'Si us plau, escrigui l\'enllaç URL',
|
||||
validateWidth : 'L\'amplada ha de ser un nombre.',
|
||||
validateHeight : 'L\'alçada ha de ser un nombre.',
|
||||
validateHSpace : 'L\'espaiat horitzonatal ha de ser un nombre.',
|
||||
validateVSpace : 'L\'espaiat vertical ha de ser un nombre.'
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Revisa l\'ortografia',
|
||||
title : 'Comprova l\'ortografia',
|
||||
notAvailable : 'El servei no es troba disponible ara.',
|
||||
errorLoading : 'Error carregant el servidor: %s.',
|
||||
notInDic : 'No és al diccionari',
|
||||
changeTo : 'Reemplaça amb',
|
||||
btnIgnore : 'Ignora',
|
||||
btnIgnoreAll : 'Ignora-les totes',
|
||||
btnReplace : 'Canvia',
|
||||
btnReplaceAll : 'Canvia-les totes',
|
||||
btnUndo : 'Desfés',
|
||||
noSuggestions : 'Cap suggeriment',
|
||||
progress : 'Verificació ortogràfica en curs...',
|
||||
noMispell : 'Verificació ortogràfica acabada: no hi ha cap paraula mal escrita',
|
||||
noChanges : 'Verificació ortogràfica: no s\'ha canviat cap paraula',
|
||||
oneChange : 'Verificació ortogràfica: s\'ha canviat una paraula',
|
||||
manyChanges : 'Verificació ortogràfica: s\'han canviat %1 paraules',
|
||||
ieSpellDownload : 'Verificació ortogràfica no instal·lada. Voleu descarregar-ho ara?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Icona',
|
||||
title : 'Insereix una icona',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path',
|
||||
eleTitle : '%1 element'
|
||||
},
|
||||
|
||||
numberedlist : 'Llista numerada',
|
||||
bulletedlist : 'Llista de pics',
|
||||
indent : 'Augmenta el sagnat',
|
||||
outdent : 'Redueix el sagnat',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Alinia a l\'esquerra',
|
||||
center : 'Centrat',
|
||||
right : 'Alinia a la dreta',
|
||||
block : 'Justificat'
|
||||
},
|
||||
|
||||
blockquote : 'Bloc de cita',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Enganxa',
|
||||
cutError : 'La seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl+X).',
|
||||
copyError : 'La seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl+C).',
|
||||
pasteMsg : 'Si us plau, enganxeu dins del següent camp utilitzant el teclat (<STRONG>Ctrl+V</STRONG>) i premeu <STRONG>OK</STRONG>.',
|
||||
securityMsg : 'A causa de la configuració de seguretat del vostre navegador, l\'editor no pot accedir al porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.',
|
||||
pasteArea : 'Àrea d\'enganxat'
|
||||
},
|
||||
|
||||
pastefromword :
|
||||
{
|
||||
confirmCleanup : 'El text que voleu enganxar sembla provenir de Word. Voleu netejar aquest text abans que sigui enganxat?',
|
||||
toolbar : 'Enganxa des del Word',
|
||||
title : 'Enganxa des del Word',
|
||||
error : 'No ha estat possible netejar les dades enganxades degut a un error intern'
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Enganxa com a text no formatat',
|
||||
title : 'Enganxa com a text no formatat'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Plantilles',
|
||||
title : 'Contingut plantilles',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Reemplaça el contingut actual',
|
||||
selectPromptMsg : 'Si us plau, seleccioneu la plantilla per obrir a l\'editor<br>(el contingut actual no serà enregistrat):',
|
||||
emptyListMsg : '(No hi ha plantilles definides)'
|
||||
},
|
||||
|
||||
showBlocks : 'Mostra els blocs',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Estil',
|
||||
panelTitle : 'Estils de format',
|
||||
panelTitle1 : 'Estils de bloc',
|
||||
panelTitle2 : 'Estils incrustats',
|
||||
panelTitle3 : 'Estils d\'objecte'
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Format',
|
||||
panelTitle : 'Format',
|
||||
|
||||
tag_p : 'Normal',
|
||||
tag_pre : 'Formatejat',
|
||||
tag_address : 'Adreça',
|
||||
tag_h1 : 'Encapçalament 1',
|
||||
tag_h2 : 'Encapçalament 2',
|
||||
tag_h3 : 'Encapçalament 3',
|
||||
tag_h4 : 'Encapçalament 4',
|
||||
tag_h5 : 'Encapçalament 5',
|
||||
tag_h6 : 'Encapçalament 6',
|
||||
tag_div : 'Normal (DIV)'
|
||||
},
|
||||
|
||||
div :
|
||||
{
|
||||
title : 'Crea un contenidor Div',
|
||||
toolbar : 'Crea un contenidor Div',
|
||||
cssClassInputLabel : 'Classes de la fulla d\'estils',
|
||||
styleSelectLabel : 'Estil',
|
||||
IdInputLabel : 'Id',
|
||||
languageCodeInputLabel : ' Codi d\'idioma',
|
||||
inlineStyleInputLabel : 'Estil en línia',
|
||||
advisoryTitleInputLabel : 'Títol de guia',
|
||||
langDirLabel : 'Direcció de l\'idioma',
|
||||
langDirLTRLabel : 'D\'esquerra a dreta (LTR)',
|
||||
langDirRTLLabel : 'De dreta a esquerra (RTL)',
|
||||
edit : 'Edita Div',
|
||||
remove : 'Elimina Div'
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Tipus de lletra',
|
||||
voiceLabel : 'Tipus de lletra',
|
||||
panelTitle : 'Tipus de lletra'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Mida',
|
||||
voiceLabel : 'Mida de la lletra',
|
||||
panelTitle : 'Mida'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Color de Text',
|
||||
bgColorTitle : 'Color de Fons',
|
||||
panelTitle : 'Colors',
|
||||
auto : 'Automàtic',
|
||||
more : 'Més colors...'
|
||||
},
|
||||
|
||||
colors :
|
||||
{
|
||||
'000' : 'Negre',
|
||||
'800000' : 'Granat',
|
||||
'8B4513' : 'Marró sella',
|
||||
'2F4F4F' : 'Gris pissarra fosca',
|
||||
'008080' : 'Blau xarxet',
|
||||
'000080' : 'Blau marí',
|
||||
'4B0082' : 'Indi',
|
||||
'696969' : 'Gris intens',
|
||||
'B22222' : 'Maó',
|
||||
'A52A2A' : 'Marró (web)',
|
||||
'DAA520' : 'Solidago',
|
||||
'006400' : 'Verd fosc',
|
||||
'40E0D0' : 'Turquesa',
|
||||
'0000CD' : 'Atzur',
|
||||
'800080' : 'Lila',
|
||||
'808080' : 'Gris',
|
||||
'F00' : 'Vermell',
|
||||
'FF8C00' : 'Taronja fosc',
|
||||
'FFD700' : 'Or',
|
||||
'008000' : 'Verd',
|
||||
'0FF' : 'Cian',
|
||||
'00F' : 'Blau',
|
||||
'EE82EE' : 'Lavanda rosat',
|
||||
'A9A9A9' : 'Gris clar',
|
||||
'FFA07A' : 'Salmó clar',
|
||||
'FFA500' : 'Taronja',
|
||||
'FFFF00' : 'Groc',
|
||||
'00FF00' : 'Verd llima',
|
||||
'AFEEEE' : 'Blau pàlid',
|
||||
'ADD8E6' : 'Blau clar',
|
||||
'DDA0DD' : 'Pruna',
|
||||
'D3D3D3' : 'Gris clar',
|
||||
'FFF0F5' : 'Lavanda rosat',
|
||||
'FAEBD7' : 'Blanc antic',
|
||||
'FFFFE0' : 'Groc clar',
|
||||
'F0FFF0' : 'Verd pàlid',
|
||||
'F0FFFF' : 'Blau cel pàlid',
|
||||
'F0F8FF' : 'Cian pàlid',
|
||||
'E6E6FA' : 'Lavanda',
|
||||
'FFF' : 'Blanc'
|
||||
},
|
||||
|
||||
scayt :
|
||||
{
|
||||
title : 'Spell Check As You Type',
|
||||
enable : 'Habilitat l\'SCAYT',
|
||||
disable : 'Deshabilita SCAYT',
|
||||
about : 'Quant a l\'SCAYT',
|
||||
toggle : 'Commuta l\'SCAYT',
|
||||
options : 'Opcions',
|
||||
langs : 'Idiomes',
|
||||
moreSuggestions : 'Més suggerències',
|
||||
ignore : 'Ignora',
|
||||
ignoreAll : 'Ignora\'ls tots',
|
||||
addWord : 'Afegeix una paraula',
|
||||
emptyDic : 'El nom del diccionari no hauria d\'estar buit.',
|
||||
optionsTab : 'Opcions',
|
||||
languagesTab : 'Idiomes',
|
||||
dictionariesTab : 'Diccionaris',
|
||||
aboutTab : 'Quant a'
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'Quan al CKEditor',
|
||||
dlgTitle : 'Quan al CKEditor',
|
||||
moreInfo : 'Per informació sobre llicències visiteu el web:',
|
||||
copy : 'Copyright © $1. All rights reserved.'
|
||||
},
|
||||
|
||||
maximize : 'Maximitza',
|
||||
minimize : 'Minimitza',
|
||||
|
||||
fakeobjects :
|
||||
{
|
||||
anchor : 'Àncora',
|
||||
flash : 'Animació Flash',
|
||||
div : 'Salt de pàgina',
|
||||
unknown : 'Objecte desconegut'
|
||||
},
|
||||
|
||||
resize : 'Arrossegueu per redimensionar',
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Selecciona el color',
|
||||
highlight : 'Destacat',
|
||||
selected : 'Seleccionat',
|
||||
clear : 'Neteja'
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Redueix la barra d\'eines',
|
||||
toolbarExpand : 'Amplia la barra d\'eines'
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/cs.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/cs.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Czech language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['cs'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Zdroj',
|
||||
newPage : 'Nová stránka',
|
||||
save : 'Uložit',
|
||||
preview : 'Náhled',
|
||||
cut : 'Vyjmout',
|
||||
copy : 'Kopírovat',
|
||||
paste : 'Vložit',
|
||||
print : 'Tisk',
|
||||
underline : 'Podtržené',
|
||||
bold : 'Tučné',
|
||||
italic : 'Kurzíva',
|
||||
selectAll : 'Vybrat vše',
|
||||
removeFormat : 'Odstranit formátování',
|
||||
strike : 'Přeškrtnuté',
|
||||
subscript : 'Dolní index',
|
||||
superscript : 'Horní index',
|
||||
horizontalrule : 'Vložit vodorovnou linku',
|
||||
pagebreak : 'Vložit konec stránky',
|
||||
unlink : 'Odstranit odkaz',
|
||||
undo : 'Zpět',
|
||||
redo : 'Znovu',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Vybrat na serveru',
|
||||
url : 'URL',
|
||||
protocol : 'Protokol',
|
||||
upload : 'Odeslat',
|
||||
uploadSubmit : 'Odeslat na server',
|
||||
image : 'Obrázek',
|
||||
flash : 'Flash',
|
||||
form : 'Formulář',
|
||||
checkbox : 'Zaškrtávací políčko',
|
||||
radio : 'Přepínač',
|
||||
textField : 'Textové pole',
|
||||
textarea : 'Textová oblast',
|
||||
hiddenField : 'Skryté pole',
|
||||
button : 'Tlačítko',
|
||||
select : 'Seznam',
|
||||
imageButton : 'Obrázkové tlačítko',
|
||||
notSet : '<nenastaveno>',
|
||||
id : 'Id',
|
||||
name : 'Jméno',
|
||||
langDir : 'Orientace jazyka',
|
||||
langDirLtr : 'Zleva do prava (LTR)',
|
||||
langDirRtl : 'Zprava do leva (RTL)',
|
||||
langCode : 'Kód jazyka',
|
||||
longDescr : 'Dlouhý popis URL',
|
||||
cssClass : 'Třída stylu',
|
||||
advisoryTitle : 'Pomocný titulek',
|
||||
cssStyle : 'Styl',
|
||||
ok : 'OK',
|
||||
cancel : 'Storno',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'Obecné',
|
||||
advancedTab : 'Rozšířené',
|
||||
validateNumberFailed : 'Zadaná hodnota není číselná.',
|
||||
confirmNewPage : 'Jakékoliv neuložené změny obsahu budou ztraceny. Skutečně chete otevrít novou stránku?',
|
||||
confirmCancel : 'Některá z nastavení byla změněna. Skutečně chete zavřít dialogové okno?',
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, nedostupné</span>'
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Vložit speciální znaky',
|
||||
title : 'Výběr speciálního znaku',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Vložit/změnit odkaz',
|
||||
other : '<jiný>',
|
||||
menu : 'Změnit odkaz',
|
||||
title : 'Odkaz',
|
||||
info : 'Informace o odkazu',
|
||||
target : 'Cíl',
|
||||
upload : 'Odeslat',
|
||||
advanced : 'Rozšířené',
|
||||
type : 'Typ odkazu',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Kotva v této stránce',
|
||||
toEmail : 'E-Mail',
|
||||
targetFrame : '<rámec>',
|
||||
targetPopup : '<vyskakovací okno>',
|
||||
targetFrameName : 'Název cílového rámu',
|
||||
targetPopupName : 'Název vyskakovacího okna',
|
||||
popupFeatures : 'Vlastnosti vyskakovacího okna',
|
||||
popupResizable : 'Umožňující měnit velikost',
|
||||
popupStatusBar : 'Stavový řádek',
|
||||
popupLocationBar: 'Panel umístění',
|
||||
popupToolbar : 'Panel nástrojů',
|
||||
popupMenuBar : 'Panel nabídky',
|
||||
popupFullScreen : 'Celá obrazovka (IE)',
|
||||
popupScrollBars : 'Posuvníky',
|
||||
popupDependent : 'Závislost (Netscape)',
|
||||
popupWidth : 'Šířka',
|
||||
popupLeft : 'Levý okraj',
|
||||
popupHeight : 'Výška',
|
||||
popupTop : 'Horní okraj',
|
||||
id : 'Id',
|
||||
langDir : 'Orientace jazyka',
|
||||
langDirLTR : 'Zleva do prava (LTR)',
|
||||
langDirRTL : 'Zprava do leva (RTL)',
|
||||
acccessKey : 'Přístupový klíč',
|
||||
name : 'Jméno',
|
||||
langCode : 'Orientace jazyka',
|
||||
tabIndex : 'Pořadí prvku',
|
||||
advisoryTitle : 'Pomocný titulek',
|
||||
advisoryContentType : 'Pomocný typ obsahu',
|
||||
cssClasses : 'Třída stylu',
|
||||
charset : 'Přiřazená znaková sada',
|
||||
styles : 'Styl',
|
||||
selectAnchor : 'Vybrat kotvu',
|
||||
anchorName : 'Podle jména kotvy',
|
||||
anchorId : 'Podle Id objektu',
|
||||
emailAddress : 'E-Mailová adresa',
|
||||
emailSubject : 'Předmět zprávy',
|
||||
emailBody : 'Tělo zprávy',
|
||||
noAnchors : '(Ve stránce není definována žádná kotva!)',
|
||||
noUrl : 'Zadejte prosím URL odkazu',
|
||||
noEmail : 'Zadejte prosím e-mailovou adresu'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Vložít/změnit záložku',
|
||||
menu : 'Vlastnosti záložky',
|
||||
title : 'Vlastnosti záložky',
|
||||
name : 'Název záložky',
|
||||
errorName : 'Zadejte prosím název záložky'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Najít a nahradit',
|
||||
find : 'Hledat',
|
||||
replace : 'Nahradit',
|
||||
findWhat : 'Co hledat:',
|
||||
replaceWith : 'Čím nahradit:',
|
||||
notFoundMsg : 'Hledaný text nebyl nalezen.',
|
||||
matchCase : 'Rozlišovat velikost písma',
|
||||
matchWord : 'Pouze celá slova',
|
||||
matchCyclic : 'Procházet opakovaně',
|
||||
replaceAll : 'Nahradit vše',
|
||||
replaceSuccessMsg : '%1 nahrazení.'
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Tabulka',
|
||||
title : 'Vlastnosti tabulky',
|
||||
menu : 'Vlastnosti tabulky',
|
||||
deleteTable : 'Smazat tabulku',
|
||||
rows : 'Řádky',
|
||||
columns : 'Sloupce',
|
||||
border : 'Ohraničení',
|
||||
align : 'Zarovnání',
|
||||
alignLeft : 'Vlevo',
|
||||
alignCenter : 'Na střed',
|
||||
alignRight : 'Vpravo',
|
||||
width : 'Šířka',
|
||||
widthPx : 'bodů',
|
||||
widthPc : 'procent',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Výška',
|
||||
cellSpace : 'Vzdálenost buněk',
|
||||
cellPad : 'Odsazení obsahu v buňce',
|
||||
caption : 'Popis',
|
||||
summary : 'Souhrn',
|
||||
headers : 'Záhlaví',
|
||||
headersNone : 'Žádné',
|
||||
headersColumn : 'První sloupec',
|
||||
headersRow : 'První řádek',
|
||||
headersBoth : 'Obojí',
|
||||
invalidRows : 'Počet řádků musí být číslo větší než 0.',
|
||||
invalidCols : 'Počet sloupců musí být číslo větší než 0.',
|
||||
invalidBorder : 'Zdaná velikost okraje musí být číselná.',
|
||||
invalidWidth : 'Zadaná šířka tabulky musí být číselná.',
|
||||
invalidHeight : 'zadaná výška tabulky musí být číselná.',
|
||||
invalidCellSpacing : 'Zadaná vzdálenost buněk musí být číselná.',
|
||||
invalidCellPadding : 'Zadané odsazení obsahu v buňce musí být číselné.',
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Buňka',
|
||||
insertBefore : 'Vložit buňku před',
|
||||
insertAfter : 'Vložit buňku za',
|
||||
deleteCell : 'Smazat buňky',
|
||||
merge : 'Sloučit buňky',
|
||||
mergeRight : 'Sloučit doprava',
|
||||
mergeDown : 'Sloučit dolů',
|
||||
splitHorizontal : 'Rozdělit buňky vodorovně',
|
||||
splitVertical : 'Rozdělit buňky svisle',
|
||||
title : 'Vlastnosti buňky',
|
||||
cellType : 'Typ buňky',
|
||||
rowSpan : 'Spojit řádky',
|
||||
colSpan : 'Spojit sloupce',
|
||||
wordWrap : 'Zalamování',
|
||||
hAlign : 'Vodorovné zarovnání',
|
||||
vAlign : 'Svislé zarovnání',
|
||||
alignTop : 'Nahoru',
|
||||
alignMiddle : 'Doprostřed',
|
||||
alignBottom : 'Dolů',
|
||||
alignBaseline : 'Na účaří',
|
||||
bgColor : 'Barva pozadí',
|
||||
borderColor : 'Barva okraje',
|
||||
data : 'Data',
|
||||
header : 'Hlavička',
|
||||
yes : 'Ano',
|
||||
no : 'Ne',
|
||||
invalidWidth : 'Zadaná šířka buňky musí být číslená.',
|
||||
invalidHeight : 'Zadaná výška buňky musí být číslená.',
|
||||
invalidRowSpan : 'Zadaný počet sloučených řádků musí být celé číslo.',
|
||||
invalidColSpan : 'Zadaný počet sloučených sloupců musí být celé číslo.',
|
||||
chooseColor : 'Výběr'
|
||||
},
|
||||
|
||||
row :
|
||||
{
|
||||
menu : 'Řádek',
|
||||
insertBefore : 'Vložit řádek před',
|
||||
insertAfter : 'Vložit řádek za',
|
||||
deleteRow : 'Smazat řádky'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Sloupec',
|
||||
insertBefore : 'Vložit sloupec před',
|
||||
insertAfter : 'Vložit sloupec za',
|
||||
deleteColumn : 'Smazat sloupec'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Vlastnosti tlačítka',
|
||||
text : 'Popisek',
|
||||
type : 'Typ',
|
||||
typeBtn : 'Tlačítko',
|
||||
typeSbm : 'Odeslat',
|
||||
typeRst : 'Obnovit'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Vlastnosti zaškrtávacího políčka',
|
||||
radioTitle : 'Vlastnosti přepínače',
|
||||
value : 'Hodnota',
|
||||
selected : 'Zaškrtnuto'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Vlastnosti formuláře',
|
||||
menu : 'Vlastnosti formuláře',
|
||||
action : 'Akce',
|
||||
method : 'Metoda',
|
||||
encoding : 'Kódování'
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Vlastnosti seznamu',
|
||||
selectInfo : 'Info',
|
||||
opAvail : 'Dostupná nastavení',
|
||||
value : 'Hodnota',
|
||||
size : 'Velikost',
|
||||
lines : 'Řádků',
|
||||
chkMulti : 'Povolit mnohonásobné výběry',
|
||||
opText : 'Text',
|
||||
opValue : 'Hodnota',
|
||||
btnAdd : 'Přidat',
|
||||
btnModify : 'Změnit',
|
||||
btnUp : 'Nahoru',
|
||||
btnDown : 'Dolů',
|
||||
btnSetValue : 'Nastavit jako vybranou hodnotu',
|
||||
btnDelete : 'Smazat'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Vlastnosti textové oblasti',
|
||||
cols : 'Sloupců',
|
||||
rows : 'Řádků'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Vlastnosti textového pole',
|
||||
name : 'Název',
|
||||
value : 'Hodnota',
|
||||
charWidth : 'Šířka ve znacích',
|
||||
maxChars : 'Maximální počet znaků',
|
||||
type : 'Typ',
|
||||
typeText : 'Text',
|
||||
typePass : 'Heslo'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Vlastnosti skrytého pole',
|
||||
name : 'Název',
|
||||
value : 'Hodnota'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Vlastnosti obrázku',
|
||||
titleButton : 'Vlastností obrázkového tlačítka',
|
||||
menu : 'Vlastnosti obrázku',
|
||||
infoTab : 'Informace o obrázku',
|
||||
btnUpload : 'Odeslat na server',
|
||||
upload : 'Odeslat',
|
||||
alt : 'Alternativní text',
|
||||
width : 'Šířka',
|
||||
height : 'Výška',
|
||||
lockRatio : 'Zámek',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Původní velikost',
|
||||
border : 'Okraje',
|
||||
hSpace : 'H-mezera',
|
||||
vSpace : 'V-mezera',
|
||||
align : 'Zarovnání',
|
||||
alignLeft : 'Vlevo',
|
||||
alignRight : 'Vpravo',
|
||||
alertUrl : 'Zadejte prosím URL obrázku',
|
||||
linkTab : 'Odkaz',
|
||||
button2Img : 'Skutečně chcete převést zvolené obrázkové tlačítko na obyčejný obrázek?',
|
||||
img2Button : 'Skutečně chcete převést zvolený obrázek na obrázkové tlačítko?',
|
||||
urlMissing : 'Zadané URL zdroje obrázku nebylo nalezeno.',
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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 : 'Vlastnosti Flashe',
|
||||
propertiesTab : 'Vlastnosti',
|
||||
title : 'Vlastnosti Flashe',
|
||||
chkPlay : 'Automatické spuštění',
|
||||
chkLoop : 'Opakování',
|
||||
chkMenu : 'Nabídka Flash',
|
||||
chkFull : 'Povolit celoobrazovkový režim',
|
||||
scale : 'Zobrazit',
|
||||
scaleAll : 'Zobrazit vše',
|
||||
scaleNoBorder : 'Bez okraje',
|
||||
scaleFit : 'Přizpůsobit',
|
||||
access : 'Přístup ke skriptu',
|
||||
accessAlways : 'Vždy',
|
||||
accessSameDomain: 'Ve stejné doméně',
|
||||
accessNever : 'Nikdy',
|
||||
align : 'Zarovnání',
|
||||
alignLeft : 'Vlevo',
|
||||
alignAbsBottom : 'Zcela dolů',
|
||||
alignAbsMiddle : 'Doprostřed',
|
||||
alignBaseline : 'Na účaří',
|
||||
alignBottom : 'Dolů',
|
||||
alignMiddle : 'Na střed',
|
||||
alignRight : 'Vpravo',
|
||||
alignTextTop : 'Na horní okraj textu',
|
||||
alignTop : 'Nahoru',
|
||||
quality : 'Kvalita',
|
||||
qualityBest : 'Nejlepší',
|
||||
qualityHigh : 'Vysoká',
|
||||
qualityAutoHigh : 'Vysoká - auto',
|
||||
qualityMedium : 'Střední',
|
||||
qualityAutoLow : 'Nízká - auto',
|
||||
qualityLow : 'Nejnižší',
|
||||
windowModeWindow: 'Okno',
|
||||
windowModeOpaque: 'Neprůhledné',
|
||||
windowModeTransparent : 'Průhledné',
|
||||
windowMode : 'Režim okna',
|
||||
flashvars : 'Proměnné pro Flash',
|
||||
bgcolor : 'Barva pozadí',
|
||||
width : 'Šířka',
|
||||
height : 'Výška',
|
||||
hSpace : 'H-mezera',
|
||||
vSpace : 'V-mezera',
|
||||
validateSrc : 'Zadejte prosím URL odkazu',
|
||||
validateWidth : 'Zadaná šířka musí být číslo.',
|
||||
validateHeight : 'Zadaná výška musí být číslo.',
|
||||
validateHSpace : 'Zadaná H-mezera musí být číslo.',
|
||||
validateVSpace : 'Zadaná V-mezera musí být číslo.'
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Zkontrolovat pravopis',
|
||||
title : 'Kontrola pravopisu',
|
||||
notAvailable : 'Omlouváme se, ale služba nyní není dostupná.',
|
||||
errorLoading : 'Chyba nahrávání služby aplikace z: %s.',
|
||||
notInDic : 'Není ve slovníku',
|
||||
changeTo : 'Změnit na',
|
||||
btnIgnore : 'Přeskočit',
|
||||
btnIgnoreAll : 'Přeskakovat vše',
|
||||
btnReplace : 'Zaměnit',
|
||||
btnReplaceAll : 'Zaměňovat vše',
|
||||
btnUndo : 'Zpět',
|
||||
noSuggestions : '- žádné návrhy -',
|
||||
progress : 'Probíhá kontrola pravopisu...',
|
||||
noMispell : 'Kontrola pravopisu dokončena: Žádné pravopisné chyby nenalezeny',
|
||||
noChanges : 'Kontrola pravopisu dokončena: Beze změn',
|
||||
oneChange : 'Kontrola pravopisu dokončena: Jedno slovo změněno',
|
||||
manyChanges : 'Kontrola pravopisu dokončena: %1 slov změněno',
|
||||
ieSpellDownload : 'Kontrola pravopisu není nainstalována. Chcete ji nyní stáhnout?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Smajlíky',
|
||||
title : 'Vkládání smajlíků',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 objekt'
|
||||
},
|
||||
|
||||
numberedlist : 'Číslování',
|
||||
bulletedlist : 'Odrážky',
|
||||
indent : 'Zvětšit odsazení',
|
||||
outdent : 'Zmenšit odsazení',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Zarovnat vlevo',
|
||||
center : 'Zarovnat na střed',
|
||||
right : 'Zarovnat vpravo',
|
||||
block : 'Zarovnat do bloku'
|
||||
},
|
||||
|
||||
blockquote : 'Citace',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Vložit',
|
||||
cutError : 'Bezpečnostní nastavení Vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+X).',
|
||||
copyError : 'Bezpečnostní nastavení Vašeho prohlížeče nedovolují editoru spustit funkci pro kopírování zvoleného textu do schránky. Prosím zkopírujte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+C).',
|
||||
pasteMsg : 'Do následujícího pole vložte požadovaný obsah pomocí klávesnice (<STRONG>Ctrl/Cmd+V</STRONG>) a stiskněte <STRONG>OK</STRONG>.',
|
||||
securityMsg : 'Z důvodů nastavení bezpečnosti Vašeho prohlížeče nemůže editor přistupovat přímo do schránky. Obsah schránky prosím vložte znovu do tohoto okna.',
|
||||
pasteArea : 'Paste Area' // MISSING
|
||||
},
|
||||
|
||||
pastefromword :
|
||||
{
|
||||
confirmCleanup : 'Jak je vidět, vkládaný text je kopírován z Wordu. Chcete jej před vložením vyčistit?',
|
||||
toolbar : 'Vložit z Wordu',
|
||||
title : 'Vložit z Wordu',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Vložit jako čistý text',
|
||||
title : 'Vložit jako čistý text'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Šablony',
|
||||
title : 'Šablony obsahu',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Nahradit aktuální obsah',
|
||||
selectPromptMsg : 'Prosím zvolte šablonu pro otevření v editoru<br>(aktuální obsah editoru bude ztracen):',
|
||||
emptyListMsg : '(Není definována žádná šablona)'
|
||||
},
|
||||
|
||||
showBlocks : 'Ukázat bloky',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Styl',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Blokové styly',
|
||||
panelTitle2 : 'Řádkové styly',
|
||||
panelTitle3 : 'Objektové styly'
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Formát',
|
||||
panelTitle : 'Formát',
|
||||
|
||||
tag_p : 'Normální',
|
||||
tag_pre : 'Naformátováno',
|
||||
tag_address : 'Adresa',
|
||||
tag_h1 : 'Nadpis 1',
|
||||
tag_h2 : 'Nadpis 2',
|
||||
tag_h3 : 'Nadpis 3',
|
||||
tag_h4 : 'Nadpis 4',
|
||||
tag_h5 : 'Nadpis 5',
|
||||
tag_h6 : 'Nadpis 6',
|
||||
tag_div : 'Normální (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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Písmo',
|
||||
voiceLabel : 'Písmo',
|
||||
panelTitle : 'Písmo'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Velikost',
|
||||
voiceLabel : 'Velikost písma',
|
||||
panelTitle : 'Velikost'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Barva textu',
|
||||
bgColorTitle : 'Barva pozadí',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
auto : 'Automaticky',
|
||||
more : 'Více barev...'
|
||||
},
|
||||
|
||||
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' : 'Dim 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' : 'Dark 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 : 'Kontrola pravopisu během psaní (SCAYT)',
|
||||
enable : 'Zapnout SCAYT',
|
||||
disable : 'Vypnout SCAYT',
|
||||
about : 'O aplikaci SCAYT',
|
||||
toggle : 'Vypínač SCAYT',
|
||||
options : 'Nastavení',
|
||||
langs : 'Jazyky',
|
||||
moreSuggestions : 'Více návrhů',
|
||||
ignore : 'Přeskočit',
|
||||
ignoreAll : 'Přeskočit vše',
|
||||
addWord : 'Přidat slovo',
|
||||
emptyDic : 'Název slovníku nesmí být prázdný.',
|
||||
optionsTab : 'Nastavení',
|
||||
languagesTab : 'Jazyky',
|
||||
dictionariesTab : 'Slovníky',
|
||||
aboutTab : 'O aplikaci'
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'O aplikaci CKEditor',
|
||||
dlgTitle : 'O aplikaci CKEditor',
|
||||
moreInfo : 'Pro informace o lincenci navštivte naši webovou stránku:',
|
||||
copy : 'Copyright © $1. All rights reserved.'
|
||||
},
|
||||
|
||||
maximize : 'Maximalizovat',
|
||||
minimize : 'Minimalizovat',
|
||||
|
||||
fakeobjects :
|
||||
{
|
||||
anchor : 'Záložka',
|
||||
flash : 'Flash animace',
|
||||
div : 'Zalomení stránky',
|
||||
unknown : 'Neznámý objekt'
|
||||
},
|
||||
|
||||
resize : 'Uchopit pro změnu velikosti',
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Výběr barvy',
|
||||
highlight : 'Zvýraznit',
|
||||
selected : 'Vybráno',
|
||||
clear : 'Vyčistit'
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/cy.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/cy.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Welsh language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['cy'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Tarddle',
|
||||
newPage : 'Tudalen newydd',
|
||||
save : 'Cadw',
|
||||
preview : 'Rhagolwg',
|
||||
cut : 'Torri',
|
||||
copy : 'Copïo',
|
||||
paste : 'Gludo',
|
||||
print : 'Argraffu',
|
||||
underline : 'Tanlinellu',
|
||||
bold : 'Bras',
|
||||
italic : 'Italig',
|
||||
selectAll : 'Dewis Popeth',
|
||||
removeFormat : 'Tynnu Fformat',
|
||||
strike : 'Llinell Trwyddo',
|
||||
subscript : 'Is-sgript',
|
||||
superscript : 'Uwchsgript',
|
||||
horizontalrule : 'Mewnosod Llinell Lorweddol',
|
||||
pagebreak : 'Mewnosod Toriad Tudalen i Argraffu',
|
||||
unlink : 'Datgysylltu',
|
||||
undo : 'Dadwneud',
|
||||
redo : 'Ailadrodd',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Pori\'r Gweinydd',
|
||||
url : 'URL',
|
||||
protocol : 'Protocol',
|
||||
upload : 'Lanlwytho',
|
||||
uploadSubmit : 'Anfon i\'r Gweinydd',
|
||||
image : 'Delwedd',
|
||||
flash : 'Flash',
|
||||
form : 'Ffurflen',
|
||||
checkbox : 'Blwch ticio',
|
||||
radio : 'Botwm Radio',
|
||||
textField : 'Maes Testun',
|
||||
textarea : 'Ardal Testun',
|
||||
hiddenField : 'Maes Cudd',
|
||||
button : 'Botwm',
|
||||
select : 'Maes Dewis',
|
||||
imageButton : 'Botwm Delwedd',
|
||||
notSet : '<heb osod>',
|
||||
id : 'Id',
|
||||
name : 'Name',
|
||||
langDir : 'Cyfeiriad Iaith',
|
||||
langDirLtr : 'Chwith i\'r Dde (LTR)',
|
||||
langDirRtl : 'Dde i\'r Chwith (RTL)',
|
||||
langCode : 'Cod Iaith',
|
||||
longDescr : 'URL Disgrifiad Hir',
|
||||
cssClass : 'Dosbarth Dalen Arddull',
|
||||
advisoryTitle : 'Teitl Cynghorol',
|
||||
cssStyle : 'Arddull',
|
||||
ok : 'Iawn',
|
||||
cancel : 'Diddymu',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'Cyffredinol',
|
||||
advancedTab : 'Uwch',
|
||||
validateNumberFailed : 'Nid yw\'r gwerth hwn yn rhif.',
|
||||
confirmNewPage : 'Byddwch yn colli unrhyw newidiadau i\'r cynnwys sydd heb eu cadw. A ydych am barhau i lwytho tudalen newydd?',
|
||||
confirmCancel : 'Mae rhai o\'r opsiynau wedi\'u newid. A ydych wir am gau\'r deialog?',
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, ddim ar gael</span>'
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Mewnosod Nodau Arbennig',
|
||||
title : 'Dewis Nod Arbennig',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Dolen',
|
||||
other : '<eraill>',
|
||||
menu : 'Golygu Dolen',
|
||||
title : 'Dolen',
|
||||
info : 'Gwyb ar y Ddolen',
|
||||
target : 'Targed',
|
||||
upload : 'Lanlwytho',
|
||||
advanced : 'Uwch',
|
||||
type : 'Math y Ddolen',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Dolen at angor yn y testun',
|
||||
toEmail : 'E-bost',
|
||||
targetFrame : '<ffrâm>',
|
||||
targetPopup : '<ffenestr bop>',
|
||||
targetFrameName : 'Enw Ffrâm y Targed',
|
||||
targetPopupName : 'Enw Ffenestr Bop',
|
||||
popupFeatures : 'Nodweddion Ffenestr Bop',
|
||||
popupResizable : 'Ailfeintiol',
|
||||
popupStatusBar : 'Bar Statws',
|
||||
popupLocationBar: 'Bar Safle',
|
||||
popupToolbar : 'Bar Offer',
|
||||
popupMenuBar : 'Dewislen',
|
||||
popupFullScreen : 'Sgrin Llawn (IE)',
|
||||
popupScrollBars : 'Barrau Sgrolio',
|
||||
popupDependent : 'Dibynnol (Netscape)',
|
||||
popupWidth : 'Lled',
|
||||
popupLeft : 'Safle Chwith',
|
||||
popupHeight : 'Uchder',
|
||||
popupTop : 'Safle Top',
|
||||
id : 'Id',
|
||||
langDir : 'Cyfeiriad Iaith',
|
||||
langDirLTR : 'Chwith i\'r Dde (LTR)',
|
||||
langDirRTL : 'Dde i\'r Chwith (RTL)',
|
||||
acccessKey : 'Allwedd Mynediad',
|
||||
name : 'Enw',
|
||||
langCode : 'Cod Iaith',
|
||||
tabIndex : 'Indecs Tab',
|
||||
advisoryTitle : 'Teitl Cynghorol',
|
||||
advisoryContentType : 'Math y Cynnwys Cynghorol',
|
||||
cssClasses : 'Dosbarthiadau Dalen Arddull',
|
||||
charset : 'Set nodau\'r Adnodd Cysylltiedig',
|
||||
styles : 'Arddull',
|
||||
selectAnchor : 'Dewiswch Angor',
|
||||
anchorName : 'Gan Enw\'r Angor',
|
||||
anchorId : 'Gan Id yr Elfen',
|
||||
emailAddress : 'Cyfeiriad E-Bost',
|
||||
emailSubject : 'Testun y Message Subject',
|
||||
emailBody : 'Pwnc y Neges',
|
||||
noAnchors : '(Dim angorau ar gael yn y ddogfen)',
|
||||
noUrl : 'Teipiwch URL y ddolen',
|
||||
noEmail : 'Teipiwch gyfeiriad yr e-bost'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Angor',
|
||||
menu : 'Golygwch yr Angor',
|
||||
title : 'Priodweddau\'r Angor',
|
||||
name : 'Enw\'r Angor',
|
||||
errorName : 'Teipiwch enw\'r angor'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Chwilio ac Amnewid',
|
||||
find : 'Chwilio',
|
||||
replace : 'Amnewid',
|
||||
findWhat : 'Chwilio\'r term:',
|
||||
replaceWith : 'Amnewid gyda:',
|
||||
notFoundMsg : 'Nid oedd y testun wedi\'i ddarganfod.',
|
||||
matchCase : 'Cyfateb i\'r cas',
|
||||
matchWord : 'Cyfateb gair cyfan',
|
||||
matchCyclic : 'Cyfateb cylchol',
|
||||
replaceAll : 'Amnewid pob un',
|
||||
replaceSuccessMsg : 'Amnewidiwyd %1 achlysur.'
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Tabl',
|
||||
title : 'Nodweddion Tabl',
|
||||
menu : 'Nodweddion Tabl',
|
||||
deleteTable : 'Dileu Tabl',
|
||||
rows : 'Rhesi',
|
||||
columns : 'Colofnau',
|
||||
border : 'Maint yr Ymyl',
|
||||
align : 'Aliniad',
|
||||
alignLeft : 'Chwith',
|
||||
alignCenter : 'Canol',
|
||||
alignRight : 'Dde',
|
||||
width : 'Lled',
|
||||
widthPx : 'picsel',
|
||||
widthPc : 'y cant',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Uchder',
|
||||
cellSpace : 'Bylchu\'r gell',
|
||||
cellPad : 'Padio\'r gell',
|
||||
caption : 'Pennawd',
|
||||
summary : 'Crynodeb',
|
||||
headers : 'Penynnau',
|
||||
headersNone : 'Dim',
|
||||
headersColumn : 'Colofn gyntaf',
|
||||
headersRow : 'Rhes gyntaf',
|
||||
headersBoth : 'Y Ddau',
|
||||
invalidRows : 'Mae\'n rhaid cael o leiaf un rhes.',
|
||||
invalidCols : 'Mae\'n rhaid cael o leiaf un golofn.',
|
||||
invalidBorder : 'Mae\'n rhaid i faint yr ymyl fod yn rhif.',
|
||||
invalidWidth : 'Mae\'n rhaid i led y tabl fod yn rhif.',
|
||||
invalidHeight : 'Mae\'n rhaid i uchder y tabl fod yn rhif.',
|
||||
invalidCellSpacing : 'Mae\'n rhaid i fylchiad y gell fod yn rhif.',
|
||||
invalidCellPadding : 'Mae\'n rhaid i badiad y gell fod yn rhif.',
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Cell',
|
||||
insertBefore : 'Mewnosod Cell Cyn',
|
||||
insertAfter : 'Mewnosod Cell Ar Ôl',
|
||||
deleteCell : 'Dileu Celloedd',
|
||||
merge : 'Cyfuno Celloedd',
|
||||
mergeRight : 'Cyfuno i\'r Dde',
|
||||
mergeDown : 'Cyfuno i Lawr',
|
||||
splitHorizontal : 'Hollti\'r Gell yn Lorweddol',
|
||||
splitVertical : 'Hollti\'r Gell yn Fertigol',
|
||||
title : 'Priodweddau\'r Gell',
|
||||
cellType : 'Math y Gell',
|
||||
rowSpan : 'Rhychwant Rhesi',
|
||||
colSpan : 'Rhychwant Colofnau',
|
||||
wordWrap : 'Lapio Geiriau',
|
||||
hAlign : 'Aliniad Llorweddol',
|
||||
vAlign : 'Aliniad Fertigol',
|
||||
alignTop : 'Top',
|
||||
alignMiddle : 'Canol',
|
||||
alignBottom : 'Gwaelod',
|
||||
alignBaseline : 'Baslinell',
|
||||
bgColor : 'Lliw Cefndir',
|
||||
borderColor : 'Lliw Ymyl',
|
||||
data : 'Data',
|
||||
header : 'Pennyn',
|
||||
yes : 'Ie',
|
||||
no : 'Na',
|
||||
invalidWidth : 'Mae\'n rhaid i led y gell fod yn rhif.',
|
||||
invalidHeight : 'Mae\'n rhaid i uchder y gell fod yn rhif.',
|
||||
invalidRowSpan : 'Mae\'n rhaid i rychwant y rhesi fod yn gyfanrif.',
|
||||
invalidColSpan : 'Mae\'n rhaid i rychwant y colofnau fod yn gyfanrif.',
|
||||
chooseColor : 'Choose'
|
||||
},
|
||||
|
||||
row :
|
||||
{
|
||||
menu : 'Rhes',
|
||||
insertBefore : 'Mewnosod Rhes Cyn',
|
||||
insertAfter : 'Mewnosod Rhes Ar Ôl',
|
||||
deleteRow : 'Dileu Rhesi'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Colofn',
|
||||
insertBefore : 'Mewnosod Colofn Cyn',
|
||||
insertAfter : 'Mewnosod Colofn Ar Ôl',
|
||||
deleteColumn : 'Dileu Colofnau'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Priodweddau Botymau',
|
||||
text : 'Testun (Gwerth)',
|
||||
type : 'Math',
|
||||
typeBtn : 'Botwm',
|
||||
typeSbm : 'Gyrru',
|
||||
typeRst : 'Ailosod'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Priodweddau Blwch Ticio',
|
||||
radioTitle : 'Priodweddau Botwm Radio',
|
||||
value : 'Gwerth',
|
||||
selected : 'Dewiswyd'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Priodweddau Ffurflen',
|
||||
menu : 'Priodweddau Ffurflen',
|
||||
action : 'Gweithred',
|
||||
method : 'Dull',
|
||||
encoding : 'Amgodio'
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Priodweddau Maes Dewis',
|
||||
selectInfo : 'Gwyb Dewis',
|
||||
opAvail : 'Opsiynau ar Gael',
|
||||
value : 'Gwerth',
|
||||
size : 'Maint',
|
||||
lines : 'llinellau',
|
||||
chkMulti : 'Caniatàu aml-ddewisiadau',
|
||||
opText : 'Testun',
|
||||
opValue : 'Gwerth',
|
||||
btnAdd : 'Ychwanegu',
|
||||
btnModify : 'Newid',
|
||||
btnUp : 'Lan',
|
||||
btnDown : 'Lawr',
|
||||
btnSetValue : 'Gosod fel gwerth a ddewiswyd',
|
||||
btnDelete : 'Dileu'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Priodweddau Ardal Testun',
|
||||
cols : 'Colofnau',
|
||||
rows : 'Rhesi'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Priodweddau Maes Testun',
|
||||
name : 'Enw',
|
||||
value : 'Gwerth',
|
||||
charWidth : 'Lled Nod',
|
||||
maxChars : 'Uchafswm y Nodau',
|
||||
type : 'Math',
|
||||
typeText : 'Testun',
|
||||
typePass : 'Cyfrinair'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Priodweddau Maes Cudd',
|
||||
name : 'Enw',
|
||||
value : 'Gwerth'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Priodweddau Delwedd',
|
||||
titleButton : 'Priodweddau Botwm Delwedd',
|
||||
menu : 'Priodweddau Delwedd',
|
||||
infoTab : 'Gwyb Delwedd',
|
||||
btnUpload : 'Anfon i\'r Gweinydd',
|
||||
upload : 'lanlwytho',
|
||||
alt : 'Testun Amgen',
|
||||
width : 'Lled',
|
||||
height : 'Uchder',
|
||||
lockRatio : 'Cloi Cymhareb',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Ailosod Maint',
|
||||
border : 'Ymyl',
|
||||
hSpace : 'BwlchLl',
|
||||
vSpace : 'BwlchF',
|
||||
align : 'Alinio',
|
||||
alignLeft : 'Chwith',
|
||||
alignRight : 'Dde',
|
||||
alertUrl : 'Rhowch URL y ddelwedd',
|
||||
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.',
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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 : 'Priodweddau Flash',
|
||||
propertiesTab : 'Priodweddau',
|
||||
title : 'Priodweddau Flash',
|
||||
chkPlay : 'AwtoChwarae',
|
||||
chkLoop : 'Lwpio',
|
||||
chkMenu : 'Galluogi Dewislen Flash',
|
||||
chkFull : 'Caniatàu Sgrin Llawn',
|
||||
scale : 'Graddfa',
|
||||
scaleAll : 'Dangos pob',
|
||||
scaleNoBorder : 'Dim Ymyl',
|
||||
scaleFit : 'Ffit Union',
|
||||
access : 'Mynediad Sgript',
|
||||
accessAlways : 'Pob amser',
|
||||
accessSameDomain: 'R\'un parth',
|
||||
accessNever : 'Byth',
|
||||
align : 'Alinio',
|
||||
alignLeft : 'Chwith',
|
||||
alignAbsBottom : 'Gwaelod Abs',
|
||||
alignAbsMiddle : 'Canol Abs',
|
||||
alignBaseline : 'Baslinell',
|
||||
alignBottom : 'Gwaelod',
|
||||
alignMiddle : 'Canol',
|
||||
alignRight : 'Dde',
|
||||
alignTextTop : 'Testun Top',
|
||||
alignTop : 'Top',
|
||||
quality : 'Ansawdd',
|
||||
qualityBest : 'Gorau',
|
||||
qualityHigh : 'Uchel',
|
||||
qualityAutoHigh : 'Uchel Awto',
|
||||
qualityMedium : 'Canolig',
|
||||
qualityAutoLow : 'Isel Awto',
|
||||
qualityLow : 'Isel',
|
||||
windowModeWindow: 'Ffenestr',
|
||||
windowModeOpaque: 'Afloyw',
|
||||
windowModeTransparent : 'Tryloyw',
|
||||
windowMode : 'Modd ffenestr',
|
||||
flashvars : 'Newidynnau ar gyfer Flash',
|
||||
bgcolor : 'Lliw cefndir',
|
||||
width : 'Lled',
|
||||
height : 'Uchder',
|
||||
hSpace : 'BwlchLl',
|
||||
vSpace : 'BwlchF',
|
||||
validateSrc : 'Ni all yr URL fod yn wag.',
|
||||
validateWidth : 'Rhaid i\'r Lled fod yn rhif.',
|
||||
validateHeight : 'Rhaid i\'r Uchder fod yn rhif.',
|
||||
validateHSpace : 'Rhaid i\'r BwlchLl fod yn rhif.',
|
||||
validateVSpace : 'Rhaid i\'r BwlchF fod yn rhif.'
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Gwirio Sillafu',
|
||||
title : 'Gwirio Sillafu',
|
||||
notAvailable : 'Nid yw\'r gwasanaeth hwn ar gael yn bresennol.',
|
||||
errorLoading : 'Error loading application service host: %s.',
|
||||
notInDic : 'Nid i\'w gael yn y geiriadur',
|
||||
changeTo : 'Newid i',
|
||||
btnIgnore : 'Anwybyddu Un',
|
||||
btnIgnoreAll : 'Anwybyddu Pob',
|
||||
btnReplace : 'Amnewid Un',
|
||||
btnReplaceAll : 'Amnewid Pob',
|
||||
btnUndo : 'Dadwneud',
|
||||
noSuggestions : '- Dim awgrymiadau -',
|
||||
progress : 'Gwirio sillafu yn ar y gweill...',
|
||||
noMispell : 'Gwirio sillafu wedi gorffen: Dim camsillaf.',
|
||||
noChanges : 'Gwirio sillafu wedi gorffen: Dim newidiadau',
|
||||
oneChange : 'Gwirio sillafu wedi gorffen: Newidiwyd 1 gair',
|
||||
manyChanges : 'Gwirio sillafu wedi gorffen: Newidiwyd %1 gair',
|
||||
ieSpellDownload : 'Gwirydd sillafu heb ei arsefydlu. A ydych am ei lawrlwytho nawr?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Gwenoglun',
|
||||
title : 'Mewnosod Gwenoglun',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : 'Elfen %1'
|
||||
},
|
||||
|
||||
numberedlist : 'Mewnosod/Tynnu Rhestr Rhifol',
|
||||
bulletedlist : 'Mewnosod/Tynnu Rhestr Bwled',
|
||||
indent : 'Cynyddu\'r Mewnoliad',
|
||||
outdent : 'Lleihau\'r Mewnoliad',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Alinio i\'r Chwith',
|
||||
center : 'Alinio i\'r Canol',
|
||||
right : 'Alinio i\'r Dde',
|
||||
block : 'Aliniad Bloc'
|
||||
},
|
||||
|
||||
blockquote : 'Dyfyniad bloc',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Gludo',
|
||||
cutError : 'Nid yw gosodiadau diogelwch eich porwr yn caniatàu\'r golygydd i gynnal \'gweithredoedd torri\' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+X).',
|
||||
copyError : 'Nid yw gosodiadau diogelwch eich porwr yn caniatàu\'r golygydd i gynnal \'gweithredoedd copïo\' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+C).',
|
||||
pasteMsg : 'Gludwch i mewn i\'r blwch canlynol gan ddefnyddio\'r bysellfwrdd (<strong>Ctrl/Cmd+V</strong>) a phwyso <strong>Iawn</strong>.',
|
||||
securityMsg : 'Oherwydd gosodiadau diogelwch eich porwr, nid yw\'r porwr yn gallu ennill mynediad i\'r data ar y clipfwrdd yn uniongyrchol. Mae angen i chi ei ludo eto i\'r ffenestr hon.',
|
||||
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 : 'Gludo o Word',
|
||||
title : 'Gludo o Word',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Gludo fel testun plaen',
|
||||
title : 'Gludo fel Testun Plaen'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Templedi',
|
||||
title : 'Templedi Cynnwys',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Amnewid y cynnwys go iawn',
|
||||
selectPromptMsg : 'Dewiswch dempled i\'w agor yn y golygydd',
|
||||
emptyListMsg : '(Dim templedi wedi\'u diffinio)'
|
||||
},
|
||||
|
||||
showBlocks : 'Dangos Blociau',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Arddulliau',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Arddulliau Bloc',
|
||||
panelTitle2 : 'Arddulliau Mewnol',
|
||||
panelTitle3 : 'Arddulliau Gwrthrych'
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Fformat',
|
||||
panelTitle : 'Fformat Paragraff',
|
||||
|
||||
tag_p : 'Normal',
|
||||
tag_pre : 'Wedi\'i Fformatio',
|
||||
tag_address : 'Cyfeiriad',
|
||||
tag_h1 : 'Pennawd 1',
|
||||
tag_h2 : 'Pennawd 2',
|
||||
tag_h3 : 'Pennawd 3',
|
||||
tag_h4 : 'Pennawd 4',
|
||||
tag_h5 : 'Pennawd 5',
|
||||
tag_h6 : 'Pennawd 6',
|
||||
tag_div : 'Normal (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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Ffont',
|
||||
voiceLabel : 'Ffont',
|
||||
panelTitle : 'Enw\'r Ffont'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Maint',
|
||||
voiceLabel : 'Maint y Ffont',
|
||||
panelTitle : 'Maint y Ffont'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Lliw Testun',
|
||||
bgColorTitle : 'Lliw Cefndir',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
auto : 'Awtomatig',
|
||||
more : 'Mwy o Liwiau...'
|
||||
},
|
||||
|
||||
colors :
|
||||
{
|
||||
'000' : 'Du',
|
||||
'800000' : 'Marwn',
|
||||
'8B4513' : 'Brown Cyfrwy',
|
||||
'2F4F4F' : 'Llechen Tywyll',
|
||||
'008080' : 'Corhwyad',
|
||||
'000080' : 'Nefi',
|
||||
'4B0082' : 'Indigo',
|
||||
'696969' : 'Llwyd Pwl',
|
||||
'B22222' : 'Bric Tân',
|
||||
'A52A2A' : 'Brown',
|
||||
'DAA520' : 'Rhoden Aur',
|
||||
'006400' : 'Gwyrdd Tywyll',
|
||||
'40E0D0' : 'Gwyrddlas',
|
||||
'0000CD' : 'Glas Canolig',
|
||||
'800080' : 'Porffor',
|
||||
'808080' : 'Llwyd',
|
||||
'F00' : 'Coch',
|
||||
'FF8C00' : 'Oren Tywyll',
|
||||
'FFD700' : 'Aur',
|
||||
'008000' : 'Gwyrdd',
|
||||
'0FF' : 'Cyan',
|
||||
'00F' : 'Glas',
|
||||
'EE82EE' : 'Fioled',
|
||||
'A9A9A9' : 'Llwyd Tywyll',
|
||||
'FFA07A' : 'Samwn Golau',
|
||||
'FFA500' : 'Oren',
|
||||
'FFFF00' : 'Melyn',
|
||||
'00FF00' : 'Leim',
|
||||
'AFEEEE' : 'Gwyrddlas Golau',
|
||||
'ADD8E6' : 'Glas Golau',
|
||||
'DDA0DD' : 'Eirinen',
|
||||
'D3D3D3' : 'Llwyd Golau',
|
||||
'FFF0F5' : 'Gwrid Lafant',
|
||||
'FAEBD7' : 'Gwyn Hynafol',
|
||||
'FFFFE0' : 'Melyn Golau',
|
||||
'F0FFF0' : 'Melwn Gwyrdd Golau',
|
||||
'F0FFFF' : 'Aswr',
|
||||
'F0F8FF' : 'Glas Alys',
|
||||
'E6E6FA' : 'Lafant',
|
||||
'FFF' : 'Gwyn'
|
||||
},
|
||||
|
||||
scayt :
|
||||
{
|
||||
title : 'Gwirio\'r Sillafu Wrth Deipio',
|
||||
enable : 'Galluogi SCAYT',
|
||||
disable : 'Analluogi SCAYT',
|
||||
about : 'Ynghylch SCAYT',
|
||||
toggle : 'Togl SCAYT',
|
||||
options : 'Opsiynau',
|
||||
langs : 'Ieithoedd',
|
||||
moreSuggestions : 'Awgrymiadau pellach',
|
||||
ignore : 'Anwybyddu',
|
||||
ignoreAll : 'Anwybyddu pob',
|
||||
addWord : 'Ychwanegu Gair',
|
||||
emptyDic : 'Ni ddylai enw\'r geiriadur fod yn wag.',
|
||||
optionsTab : 'Opsiynau',
|
||||
languagesTab : 'Ieithoedd',
|
||||
dictionariesTab : 'Geiriaduron',
|
||||
aboutTab : 'Ynghylch'
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'Ynghylch CKEditor',
|
||||
dlgTitle : 'Ynghylch CKEditor',
|
||||
moreInfo : 'Am wybodaeth ynghylch trwyddedau, ewch i\'n gwefan:',
|
||||
copy : 'Hawlfraint © $1. Cedwir pob hawl.'
|
||||
},
|
||||
|
||||
maximize : 'Mwyhau',
|
||||
minimize : 'Lleihau',
|
||||
|
||||
fakeobjects :
|
||||
{
|
||||
anchor : 'Angor',
|
||||
flash : 'Animeiddiant Flash',
|
||||
div : 'Toriad Tudalen',
|
||||
unknown : 'Gwrthrych Anhysbys'
|
||||
},
|
||||
|
||||
resize : 'Llusgo i ailfeintio',
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Dewis lliw',
|
||||
highlight : 'Uwcholeuo',
|
||||
selected : 'Dewiswyd',
|
||||
clear : 'Clirio'
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Cyfangu\'r Bar Offer',
|
||||
toolbarExpand : 'Ehangu\'r Bar Offer'
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/da.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/da.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Danish language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['da'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Kilde',
|
||||
newPage : 'Ny side',
|
||||
save : 'Gem',
|
||||
preview : 'Vis eksempel',
|
||||
cut : 'Klip',
|
||||
copy : 'Kopiér',
|
||||
paste : 'Indsæt',
|
||||
print : 'Udskriv',
|
||||
underline : 'Understreget',
|
||||
bold : 'Fed',
|
||||
italic : 'Kursiv',
|
||||
selectAll : 'Vælg alt',
|
||||
removeFormat : 'Fjern formatering',
|
||||
strike : 'Gennemstreget',
|
||||
subscript : 'Sænket skrift',
|
||||
superscript : 'Hævet skrift',
|
||||
horizontalrule : 'Indsæt vandret streg',
|
||||
pagebreak : 'Indsæt sideskift',
|
||||
unlink : 'Fjern hyperlink',
|
||||
undo : 'Fortryd',
|
||||
redo : 'Annullér fortryd',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Gennemse...',
|
||||
url : 'URL',
|
||||
protocol : 'Protokol',
|
||||
upload : 'Upload',
|
||||
uploadSubmit : 'Upload',
|
||||
image : 'Indsæt billede',
|
||||
flash : 'Indsæt Flash',
|
||||
form : 'Indsæt formular',
|
||||
checkbox : 'Indsæt afkrydsningsfelt',
|
||||
radio : 'Indsæt alternativknap',
|
||||
textField : 'Indsæt tekstfelt',
|
||||
textarea : 'Indsæt tekstboks',
|
||||
hiddenField : 'Indsæt skjult felt',
|
||||
button : 'Indsæt knap',
|
||||
select : 'Indsæt liste',
|
||||
imageButton : 'Indsæt billedknap',
|
||||
notSet : '<intet valgt>',
|
||||
id : 'Id',
|
||||
name : 'Navn',
|
||||
langDir : 'Tekstretning',
|
||||
langDirLtr : 'Fra venstre mod højre (LTR)',
|
||||
langDirRtl : 'Fra højre mod venstre (RTL)',
|
||||
langCode : 'Sprogkode',
|
||||
longDescr : 'Udvidet beskrivelse',
|
||||
cssClass : 'Typografiark (CSS)',
|
||||
advisoryTitle : 'Titel',
|
||||
cssStyle : 'Typografi (CSS)',
|
||||
ok : 'OK',
|
||||
cancel : 'Annullér',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, ikke tilgængelig</span>'
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Indsæt symbol',
|
||||
title : 'Vælg symbol',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Indsæt/redigér hyperlink',
|
||||
other : '<anden>',
|
||||
menu : 'Redigér hyperlink',
|
||||
title : 'Egenskaber for hyperlink',
|
||||
info : 'Generelt',
|
||||
target : 'Mål',
|
||||
upload : 'Upload',
|
||||
advanced : 'Avanceret',
|
||||
type : 'Type',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Bogmærke på denne side',
|
||||
toEmail : 'E-mail',
|
||||
targetFrame : '<ramme>',
|
||||
targetPopup : '<popup vindue>',
|
||||
targetFrameName : 'Destinationsvinduets navn',
|
||||
targetPopupName : 'Popup vinduets navn',
|
||||
popupFeatures : 'Egenskaber for popup',
|
||||
popupResizable : 'Justérbar',
|
||||
popupStatusBar : 'Statuslinje',
|
||||
popupLocationBar: 'Adresselinje',
|
||||
popupToolbar : 'Værktøjslinje',
|
||||
popupMenuBar : 'Menulinje',
|
||||
popupFullScreen : 'Fuld skærm (IE)',
|
||||
popupScrollBars : 'Scrollbar',
|
||||
popupDependent : 'Koblet/dependent (Netscape)',
|
||||
popupWidth : 'Bredde',
|
||||
popupLeft : 'Position fra venstre',
|
||||
popupHeight : 'Højde',
|
||||
popupTop : 'Position fra toppen',
|
||||
id : 'Id',
|
||||
langDir : 'Tekstretning',
|
||||
langDirLTR : 'Fra venstre mod højre (LTR)',
|
||||
langDirRTL : 'Fra højre mod venstre (RTL)',
|
||||
acccessKey : 'Genvejstast',
|
||||
name : 'Navn',
|
||||
langCode : 'Tekstretning',
|
||||
tabIndex : 'Tabulator indeks',
|
||||
advisoryTitle : 'Titel',
|
||||
advisoryContentType : 'Indholdstype',
|
||||
cssClasses : 'Typografiark',
|
||||
charset : 'Tegnsæt',
|
||||
styles : 'Typografi',
|
||||
selectAnchor : 'Vælg et anker',
|
||||
anchorName : 'Efter anker navn',
|
||||
anchorId : 'Efter element Id',
|
||||
emailAddress : 'E-mail adresse',
|
||||
emailSubject : 'Emne',
|
||||
emailBody : 'Besked',
|
||||
noAnchors : '(Ingen bogmærker i dokumentet)',
|
||||
noUrl : 'Indtast hyperlink URL!',
|
||||
noEmail : 'Indtast e-mail adresse!'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Indsæt/redigér bogmærke',
|
||||
menu : 'Egenskaber for bogmærke',
|
||||
title : 'Egenskaber for bogmærke',
|
||||
name : 'Bogmærke navn',
|
||||
errorName : 'Indtast bogmærke navn'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Søg og erstat',
|
||||
find : 'Søg',
|
||||
replace : 'Erstat',
|
||||
findWhat : 'Søg efter:',
|
||||
replaceWith : 'Erstat med:',
|
||||
notFoundMsg : 'Søgeteksten blev ikke fundet',
|
||||
matchCase : 'Forskel på store og små bogstaver',
|
||||
matchWord : 'Kun hele ord',
|
||||
matchCyclic : 'Match cyklisk',
|
||||
replaceAll : 'Erstat alle',
|
||||
replaceSuccessMsg : '%1 forekomst(er) erstattet.'
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Tabel',
|
||||
title : 'Egenskaber for tabel',
|
||||
menu : 'Egenskaber for tabel',
|
||||
deleteTable : 'Slet tabel',
|
||||
rows : 'Rækker',
|
||||
columns : 'Kolonner',
|
||||
border : 'Rammebredde',
|
||||
align : 'Justering',
|
||||
alignLeft : 'Venstrestillet',
|
||||
alignCenter : 'Centreret',
|
||||
alignRight : 'Højrestillet',
|
||||
width : 'Bredde',
|
||||
widthPx : 'pixels',
|
||||
widthPc : 'procent',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Højde',
|
||||
cellSpace : 'Celleafstand',
|
||||
cellPad : 'Cellemargen',
|
||||
caption : 'Titel',
|
||||
summary : 'Resumé',
|
||||
headers : 'Header',
|
||||
headersNone : 'Ingen',
|
||||
headersColumn : 'Første kolonne',
|
||||
headersRow : 'Første række',
|
||||
headersBoth : 'Begge',
|
||||
invalidRows : 'Antallet af rækker skal være større end 0.',
|
||||
invalidCols : 'Antallet af kolonner skal være større end 0.',
|
||||
invalidBorder : 'Rammetykkelse skal være et tal.',
|
||||
invalidWidth : 'Tabelbredde skal være et tal.',
|
||||
invalidHeight : 'Tabelhøjde skal være et tal.',
|
||||
invalidCellSpacing : 'Celleafstand skal være et tal.',
|
||||
invalidCellPadding : 'Cellemargen skal være et tal.',
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Celle',
|
||||
insertBefore : 'Indsæt celle før',
|
||||
insertAfter : 'Indsæt celle efter',
|
||||
deleteCell : 'Slet celle',
|
||||
merge : 'Flet celler',
|
||||
mergeRight : 'Flet til højre',
|
||||
mergeDown : 'Flet nedad',
|
||||
splitHorizontal : 'Del celle vandret',
|
||||
splitVertical : 'Del celle lodret',
|
||||
title : 'Celleegenskaber',
|
||||
cellType : 'Celletype',
|
||||
rowSpan : 'Række span (rows span)',
|
||||
colSpan : 'Kolonne span (columns span)',
|
||||
wordWrap : 'Tekstombrydning',
|
||||
hAlign : 'Vandret justering',
|
||||
vAlign : 'Lodret justering',
|
||||
alignTop : 'Top',
|
||||
alignMiddle : 'Midt',
|
||||
alignBottom : 'Bund',
|
||||
alignBaseline : 'Grundlinje',
|
||||
bgColor : 'Baggrundsfarve',
|
||||
borderColor : 'Rammefarve',
|
||||
data : 'Data',
|
||||
header : 'Header',
|
||||
yes : 'Ja',
|
||||
no : 'Nej',
|
||||
invalidWidth : 'Cellebredde skal være et tal.',
|
||||
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
|
||||
},
|
||||
|
||||
row :
|
||||
{
|
||||
menu : 'Række',
|
||||
insertBefore : 'Indsæt række før',
|
||||
insertAfter : 'Indsæt række efter',
|
||||
deleteRow : 'Slet række'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Kolonne',
|
||||
insertBefore : 'Indsæt kolonne før',
|
||||
insertAfter : 'Indsæt kolonne efter',
|
||||
deleteColumn : 'Slet kolonne'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Egenskaber for knap',
|
||||
text : 'Tekst',
|
||||
type : 'Type',
|
||||
typeBtn : 'Knap',
|
||||
typeSbm : 'Send',
|
||||
typeRst : 'Nulstil'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Egenskaber for afkrydsningsfelt',
|
||||
radioTitle : 'Egenskaber for alternativknap',
|
||||
value : 'Værdi',
|
||||
selected : 'Valgt'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Egenskaber for formular',
|
||||
menu : 'Egenskaber for formular',
|
||||
action : 'Handling',
|
||||
method : 'Metode',
|
||||
encoding : 'Kodning (encoding)'
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Egenskaber for liste',
|
||||
selectInfo : 'Generelt',
|
||||
opAvail : 'Valgmuligheder',
|
||||
value : 'Værdi',
|
||||
size : 'Størrelse',
|
||||
lines : 'Linjer',
|
||||
chkMulti : 'Tillad flere valg',
|
||||
opText : 'Tekst',
|
||||
opValue : 'Værdi',
|
||||
btnAdd : 'Tilføj',
|
||||
btnModify : 'Redigér',
|
||||
btnUp : 'Op',
|
||||
btnDown : 'Ned',
|
||||
btnSetValue : 'Sæt som valgt',
|
||||
btnDelete : 'Slet'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Egenskaber for tekstboks',
|
||||
cols : 'Kolonner',
|
||||
rows : 'Rækker'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Egenskaber for tekstfelt',
|
||||
name : 'Navn',
|
||||
value : 'Værdi',
|
||||
charWidth : 'Bredde (tegn)',
|
||||
maxChars : 'Max. antal tegn',
|
||||
type : 'Type',
|
||||
typeText : 'Tekst',
|
||||
typePass : 'Adgangskode'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Egenskaber for skjult felt',
|
||||
name : 'Navn',
|
||||
value : 'Værdi'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Egenskaber for billede',
|
||||
titleButton : 'Egenskaber for billedknap',
|
||||
menu : 'Egenskaber for billede',
|
||||
infoTab : 'Generelt',
|
||||
btnUpload : 'Upload',
|
||||
upload : 'Upload',
|
||||
alt : 'Alternativ tekst',
|
||||
width : 'Bredde',
|
||||
height : 'Højde',
|
||||
lockRatio : 'Lås størrelsesforhold',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Nulstil størrelse',
|
||||
border : 'Ramme',
|
||||
hSpace : 'Vandret margen',
|
||||
vSpace : 'Lodret margen',
|
||||
align : 'Justering',
|
||||
alignLeft : 'Venstre',
|
||||
alignRight : 'Højre',
|
||||
alertUrl : 'Indtast stien til billedet',
|
||||
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
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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 : 'Egenskaber for Flash',
|
||||
propertiesTab : 'Egenskaber',
|
||||
title : 'Egenskaber for Flash',
|
||||
chkPlay : 'Automatisk afspilning',
|
||||
chkLoop : 'Gentagelse',
|
||||
chkMenu : 'Vis Flash menu',
|
||||
chkFull : 'Tillad fuldskærm',
|
||||
scale : 'Skalér',
|
||||
scaleAll : 'Vis alt',
|
||||
scaleNoBorder : 'Ingen ramme',
|
||||
scaleFit : 'Tilpas størrelse',
|
||||
access : 'Script adgang',
|
||||
accessAlways : 'Altid',
|
||||
accessSameDomain: 'Samme domæne',
|
||||
accessNever : 'Aldrig',
|
||||
align : 'Justering',
|
||||
alignLeft : 'Venstre',
|
||||
alignAbsBottom : 'Absolut nederst',
|
||||
alignAbsMiddle : 'Absolut centreret',
|
||||
alignBaseline : 'Grundlinje',
|
||||
alignBottom : 'Nederst',
|
||||
alignMiddle : 'Centreret',
|
||||
alignRight : 'Højre',
|
||||
alignTextTop : 'Toppen af teksten',
|
||||
alignTop : 'Øverst',
|
||||
quality : 'Kvalitet',
|
||||
qualityBest : 'Bedste',
|
||||
qualityHigh : 'Høj',
|
||||
qualityAutoHigh : 'Auto høj',
|
||||
qualityMedium : 'Medium',
|
||||
qualityAutoLow : 'Auto lav',
|
||||
qualityLow : 'Lav',
|
||||
windowModeWindow: 'Vindue',
|
||||
windowModeOpaque: 'Gennemsigtig (opaque)',
|
||||
windowModeTransparent : 'Transparent',
|
||||
windowMode : 'Vinduestilstand',
|
||||
flashvars : 'Variabler for Flash',
|
||||
bgcolor : 'Baggrundsfarve',
|
||||
width : 'Bredde',
|
||||
height : 'Højde',
|
||||
hSpace : 'Vandret margen',
|
||||
vSpace : 'Lodret margen',
|
||||
validateSrc : 'Indtast hyperlink URL!',
|
||||
validateWidth : 'Bredde skal være et tal.',
|
||||
validateHeight : 'Højde skal være et tal.',
|
||||
validateHSpace : 'Vandret margen skal være et tal.',
|
||||
validateVSpace : 'Lodret margen skal være et tal.'
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Stavekontrol',
|
||||
title : 'Stavekontrol',
|
||||
notAvailable : 'Stavekontrol er desværre ikke tilgængelig.',
|
||||
errorLoading : 'Fejl ved indlæsning af host: %s.',
|
||||
notInDic : 'Ikke i ordbogen',
|
||||
changeTo : 'Forslag',
|
||||
btnIgnore : 'Ignorér',
|
||||
btnIgnoreAll : 'Ignorér alle',
|
||||
btnReplace : 'Erstat',
|
||||
btnReplaceAll : 'Erstat alle',
|
||||
btnUndo : 'Tilbage',
|
||||
noSuggestions : '(ingen forslag)',
|
||||
progress : 'Stavekontrollen arbejder...',
|
||||
noMispell : 'Stavekontrol færdig: Ingen fejl fundet',
|
||||
noChanges : 'Stavekontrol færdig: Ingen ord ændret',
|
||||
oneChange : 'Stavekontrol færdig: Et ord ændret',
|
||||
manyChanges : 'Stavekontrol færdig: %1 ord ændret',
|
||||
ieSpellDownload : 'Stavekontrol ikke installeret. Vil du installere den nu?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Smiley',
|
||||
title : 'Vælg smiley',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 element'
|
||||
},
|
||||
|
||||
numberedlist : 'Talopstilling',
|
||||
bulletedlist : 'Punktopstilling',
|
||||
indent : 'Forøg indrykning',
|
||||
outdent : 'Formindsk indrykning',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Venstrestillet',
|
||||
center : 'Centreret',
|
||||
right : 'Højrestillet',
|
||||
block : 'Lige margener'
|
||||
},
|
||||
|
||||
blockquote : 'Blokcitat',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Indsæt',
|
||||
cutError : 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at klippe teksten (Ctrl/Cmd+X).',
|
||||
copyError : 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at kopiere teksten (Ctrl/Cmd+C).',
|
||||
pasteMsg : 'Indsæt i feltet herunder (<STRONG>Ctrl/Cmd+V</STRONG>) og klik på <STRONG>OK</STRONG>.',
|
||||
securityMsg : 'Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Du skal indsætte udklipsholderens indhold i dette vindue igen.',
|
||||
pasteArea : 'Paste Area' // MISSING
|
||||
},
|
||||
|
||||
pastefromword :
|
||||
{
|
||||
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
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Indsæt som ikke-formateret tekst',
|
||||
title : 'Indsæt som ikke-formateret tekst'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Skabeloner',
|
||||
title : 'Indholdsskabeloner',
|
||||
options : 'Template Options', // MISSING
|
||||
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)'
|
||||
},
|
||||
|
||||
showBlocks : 'Vis afsnitsmærker',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Typografi',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block typografi',
|
||||
panelTitle2 : 'Inline typografi',
|
||||
panelTitle3 : 'Object typografi'
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Formatering',
|
||||
panelTitle : 'Formatering',
|
||||
|
||||
tag_p : 'Normal',
|
||||
tag_pre : 'Formateret',
|
||||
tag_address : 'Adresse',
|
||||
tag_h1 : 'Overskrift 1',
|
||||
tag_h2 : 'Overskrift 2',
|
||||
tag_h3 : 'Overskrift 3',
|
||||
tag_h4 : 'Overskrift 4',
|
||||
tag_h5 : 'Overskrift 5',
|
||||
tag_h6 : 'Overskrift 6',
|
||||
tag_div : 'Normal (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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Skrifttype',
|
||||
voiceLabel : 'Skrifttype',
|
||||
panelTitle : 'Skrifttype'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Skriftstørrelse',
|
||||
voiceLabel : 'Skriftstørrelse',
|
||||
panelTitle : 'Skriftstørrelse'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Tekstfarve',
|
||||
bgColorTitle : 'Baggrundsfarve',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
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' : 'Dim 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' : 'Dark 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 : 'Stavekontrol mens du skriver',
|
||||
enable : 'Aktivér SCAYT',
|
||||
disable : 'Deaktivér SCAYT',
|
||||
about : 'Om SCAYT',
|
||||
toggle : 'Skift/toggle SCAYT',
|
||||
options : 'Indstillinger',
|
||||
langs : 'Sprog',
|
||||
moreSuggestions : 'Flere forslag',
|
||||
ignore : 'Ignorér',
|
||||
ignoreAll : 'Ignorér alle',
|
||||
addWord : 'Tilføj ord',
|
||||
emptyDic : 'Ordbogsnavn må ikke være tom.',
|
||||
optionsTab : 'Indstillinger',
|
||||
languagesTab : 'Sprog',
|
||||
dictionariesTab : 'Ordbøger',
|
||||
aboutTab : 'Om'
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'Om CKEditor',
|
||||
dlgTitle : 'Om CKEditor',
|
||||
moreInfo : 'For informationer omkring licens, se venligst vores hjemmeside (på engelsk):',
|
||||
copy : 'Copyright © $1. Alle rettigheder forbeholdes.'
|
||||
},
|
||||
|
||||
maximize : 'Maximér',
|
||||
minimize : 'Minimize', // MISSING
|
||||
|
||||
fakeobjects :
|
||||
{
|
||||
anchor : 'Anker',
|
||||
flash : 'Flashanimation',
|
||||
div : 'Sideskift',
|
||||
unknown : 'Ukendt objekt'
|
||||
},
|
||||
|
||||
resize : 'Træk for at skalere',
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/de.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/de.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* German language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['de'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Quellcode',
|
||||
newPage : 'Neue Seite',
|
||||
save : 'Speichern',
|
||||
preview : 'Vorschau',
|
||||
cut : 'Ausschneiden',
|
||||
copy : 'Kopieren',
|
||||
paste : 'Einfügen',
|
||||
print : 'Drucken',
|
||||
underline : 'Unterstrichen',
|
||||
bold : 'Fett',
|
||||
italic : 'Kursiv',
|
||||
selectAll : 'Alles auswählen',
|
||||
removeFormat : 'Formatierungen entfernen',
|
||||
strike : 'Durchgestrichen',
|
||||
subscript : 'Tiefgestellt',
|
||||
superscript : 'Hochgestellt',
|
||||
horizontalrule : 'Horizontale Linie einfügen',
|
||||
pagebreak : 'Seitenumbruch einfügen',
|
||||
unlink : 'Link entfernen',
|
||||
undo : 'Rückgängig',
|
||||
redo : 'Wiederherstellen',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Server durchsuchen',
|
||||
url : 'URL',
|
||||
protocol : 'Protokoll',
|
||||
upload : 'Upload',
|
||||
uploadSubmit : 'Zum Server senden',
|
||||
image : 'Bild',
|
||||
flash : 'Flash',
|
||||
form : 'Formular',
|
||||
checkbox : 'Checkbox',
|
||||
radio : 'Radiobutton',
|
||||
textField : 'Textfeld einzeilig',
|
||||
textarea : 'Textfeld mehrzeilig',
|
||||
hiddenField : 'verstecktes Feld',
|
||||
button : 'Klickbutton',
|
||||
select : 'Auswahlfeld',
|
||||
imageButton : 'Bildbutton',
|
||||
notSet : '<nichts>',
|
||||
id : 'ID',
|
||||
name : 'Name',
|
||||
langDir : 'Schreibrichtung',
|
||||
langDirLtr : 'Links nach Rechts (LTR)',
|
||||
langDirRtl : 'Rechts nach Links (RTL)',
|
||||
langCode : 'Sprachenkürzel',
|
||||
longDescr : 'Langform URL',
|
||||
cssClass : 'Stylesheet Klasse',
|
||||
advisoryTitle : 'Titel Beschreibung',
|
||||
cssStyle : 'Style',
|
||||
ok : 'OK',
|
||||
cancel : 'Abbrechen',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'Allgemein',
|
||||
advancedTab : 'Erweitert',
|
||||
validateNumberFailed : 'Dieser Wert ist keine Nummer.',
|
||||
confirmNewPage : 'Alle nicht gespeicherten Änderungen gehen verlohren. Sind sie sicher die neue Seite zu laden?',
|
||||
confirmCancel : 'Einige Optionen wurden geändert. Wollen Sie den Dialog dennoch schließen?',
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, nicht verfügbar</span>'
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Sonderzeichen einfügen/editieren',
|
||||
title : 'Sonderzeichen auswählen',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Link einfügen/editieren',
|
||||
other : '<andere>',
|
||||
menu : 'Link editieren',
|
||||
title : 'Link',
|
||||
info : 'Link-Info',
|
||||
target : 'Zielseite',
|
||||
upload : 'Upload',
|
||||
advanced : 'Erweitert',
|
||||
type : 'Link-Typ',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Anker in dieser Seite',
|
||||
toEmail : 'E-Mail',
|
||||
targetFrame : '<Frame>',
|
||||
targetPopup : '<Pop-up Fenster>',
|
||||
targetFrameName : 'Ziel-Fenster-Name',
|
||||
targetPopupName : 'Pop-up Fenster-Name',
|
||||
popupFeatures : 'Pop-up Fenster-Eigenschaften',
|
||||
popupResizable : 'Größe änderbar',
|
||||
popupStatusBar : 'Statusleiste',
|
||||
popupLocationBar: 'Adress-Leiste',
|
||||
popupToolbar : 'Werkzeugleiste',
|
||||
popupMenuBar : 'Menü-Leiste',
|
||||
popupFullScreen : 'Vollbild (IE)',
|
||||
popupScrollBars : 'Rollbalken',
|
||||
popupDependent : 'Abhängig (Netscape)',
|
||||
popupWidth : 'Breite',
|
||||
popupLeft : 'Linke Position',
|
||||
popupHeight : 'Höhe',
|
||||
popupTop : 'Obere Position',
|
||||
id : 'Id',
|
||||
langDir : 'Schreibrichtung',
|
||||
langDirLTR : 'Links nach Rechts (LTR)',
|
||||
langDirRTL : 'Rechts nach Links (RTL)',
|
||||
acccessKey : 'Zugriffstaste',
|
||||
name : 'Name',
|
||||
langCode : 'Schreibrichtung',
|
||||
tabIndex : 'Tab-Index',
|
||||
advisoryTitle : 'Titel Beschreibung',
|
||||
advisoryContentType : 'Inhaltstyp',
|
||||
cssClasses : 'Stylesheet Klasse',
|
||||
charset : 'Ziel-Zeichensatz',
|
||||
styles : 'Style',
|
||||
selectAnchor : 'Anker auswählen',
|
||||
anchorName : 'nach Anker Name',
|
||||
anchorId : 'nach Element Id',
|
||||
emailAddress : 'E-Mail Addresse',
|
||||
emailSubject : 'Betreffzeile',
|
||||
emailBody : 'Nachrichtentext',
|
||||
noAnchors : '(keine Anker im Dokument vorhanden)',
|
||||
noUrl : 'Bitte geben Sie die Link-URL an',
|
||||
noEmail : 'Bitte geben Sie e-Mail Adresse an'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Anker einfügen/editieren',
|
||||
menu : 'Anker-Eigenschaften',
|
||||
title : 'Anker-Eigenschaften',
|
||||
name : 'Anker Name',
|
||||
errorName : 'Bitte geben Sie den Namen des Ankers ein'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Suchen und Ersetzen',
|
||||
find : 'Suchen',
|
||||
replace : 'Ersetzen',
|
||||
findWhat : 'Suche nach:',
|
||||
replaceWith : 'Ersetze mit:',
|
||||
notFoundMsg : 'Der gesuchte Text wurde nicht gefunden.',
|
||||
matchCase : 'Groß-Kleinschreibung beachten',
|
||||
matchWord : 'Nur ganze Worte suchen',
|
||||
matchCyclic : 'zyklische suche',
|
||||
replaceAll : 'Alle Ersetzen',
|
||||
replaceSuccessMsg : '%1 vorkommen ersetzt.'
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Tabelle',
|
||||
title : 'Tabellen-Eigenschaften',
|
||||
menu : 'Tabellen-Eigenschaften',
|
||||
deleteTable : 'Tabelle löschen',
|
||||
rows : 'Zeile',
|
||||
columns : 'Spalte',
|
||||
border : 'Rahmen',
|
||||
align : 'Ausrichtung',
|
||||
alignLeft : 'Links',
|
||||
alignCenter : 'Zentriert',
|
||||
alignRight : 'Rechts',
|
||||
width : 'Breite',
|
||||
widthPx : 'Pixel',
|
||||
widthPc : '%',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Höhe',
|
||||
cellSpace : 'Zellenabstand außen',
|
||||
cellPad : 'Zellenabstand innen',
|
||||
caption : 'Überschrift',
|
||||
summary : 'Inhaltsübersicht',
|
||||
headers : 'Überschriften',
|
||||
headersNone : 'keine',
|
||||
headersColumn : 'Erste Spalte',
|
||||
headersRow : 'Erste Zeile',
|
||||
headersBoth : 'keine',
|
||||
invalidRows : 'Die Anzahl der Zeilen muß größer als 0 sein.',
|
||||
invalidCols : 'Die Anzahl der Spalten muß größer als 0 sein..',
|
||||
invalidBorder : 'Die Rahmenbreite muß eine Zahl sein.',
|
||||
invalidWidth : 'Die Tabellenbreite muss eine Zahl sein.',
|
||||
invalidHeight : 'Die Tabellenbreite muß eine Zahl sein.',
|
||||
invalidCellSpacing : 'Der Zellenabstand außen muß eine Zahl sein.',
|
||||
invalidCellPadding : 'Der Zellenabstand innen muß eine Zahl sein.',
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Zelle',
|
||||
insertBefore : 'Zelle davor einfügen',
|
||||
insertAfter : 'Zelle danach einfügen',
|
||||
deleteCell : 'Zelle löschen',
|
||||
merge : 'Zellen verbinden',
|
||||
mergeRight : 'nach rechts verbinden',
|
||||
mergeDown : 'nach unten verbinden',
|
||||
splitHorizontal : 'Zelle horizontal teilen',
|
||||
splitVertical : 'Zelle vertikal teilen',
|
||||
title : 'Zellen Eigenschaften',
|
||||
cellType : 'Zellart',
|
||||
rowSpan : 'Anzahl Zeilen verbinden',
|
||||
colSpan : 'Anzahl Spalten verbinden',
|
||||
wordWrap : 'Zeilenumbruch',
|
||||
hAlign : 'Horizontale Ausrichtung',
|
||||
vAlign : 'Vertikale Ausrichtung',
|
||||
alignTop : 'Oben',
|
||||
alignMiddle : 'Mitte',
|
||||
alignBottom : 'Unten',
|
||||
alignBaseline : 'Grundlinie',
|
||||
bgColor : 'Hintergrundfarbe',
|
||||
borderColor : 'Rahmenfarbe',
|
||||
data : 'Daten',
|
||||
header : 'Überschrift',
|
||||
yes : 'Ja',
|
||||
no : 'Nein',
|
||||
invalidWidth : 'Zellenbreite muß eine Zahl sein.',
|
||||
invalidHeight : 'Zellenhöhe muß eine Zahl sein.',
|
||||
invalidRowSpan : '"Anzahl Zeilen verbinden" muss eine Ganzzahl sein.',
|
||||
invalidColSpan : '"Anzahl Spalten verbinden" muss eine Ganzzahl sein.',
|
||||
chooseColor : 'Choose' // MISSING
|
||||
},
|
||||
|
||||
row :
|
||||
{
|
||||
menu : 'Zeile',
|
||||
insertBefore : 'Zeile oberhalb einfügen',
|
||||
insertAfter : 'Zeile unterhalb einfügen',
|
||||
deleteRow : 'Zeile entfernen'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Spalte',
|
||||
insertBefore : 'Spalte links davor einfügen',
|
||||
insertAfter : 'Spalte rechts danach einfügen',
|
||||
deleteColumn : 'Spalte löschen'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Button-Eigenschaften',
|
||||
text : 'Text (Wert)',
|
||||
type : 'Typ',
|
||||
typeBtn : 'Button',
|
||||
typeSbm : 'Absenden',
|
||||
typeRst : 'Zurücksetzen'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Checkbox-Eigenschaften',
|
||||
radioTitle : 'Optionsfeld-Eigenschaften',
|
||||
value : 'Wert',
|
||||
selected : 'ausgewählt'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Formular-Eigenschaften',
|
||||
menu : 'Formular-Eigenschaften',
|
||||
action : 'Action',
|
||||
method : 'Method',
|
||||
encoding : 'Zeichenkodierung'
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Auswahlfeld-Eigenschaften',
|
||||
selectInfo : 'Info',
|
||||
opAvail : 'Mögliche Optionen',
|
||||
value : 'Wert',
|
||||
size : 'Größe',
|
||||
lines : 'Linien',
|
||||
chkMulti : 'Erlaube Mehrfachauswahl',
|
||||
opText : 'Text',
|
||||
opValue : 'Wert',
|
||||
btnAdd : 'Hinzufügen',
|
||||
btnModify : 'Ändern',
|
||||
btnUp : 'Hoch',
|
||||
btnDown : 'Runter',
|
||||
btnSetValue : 'Setze als Standardwert',
|
||||
btnDelete : 'Entfernen'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Textfeld (mehrzeilig) Eigenschaften',
|
||||
cols : 'Spalten',
|
||||
rows : 'Reihen'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Textfeld (einzeilig) Eigenschaften',
|
||||
name : 'Name',
|
||||
value : 'Wert',
|
||||
charWidth : 'Zeichenbreite',
|
||||
maxChars : 'Max. Zeichen',
|
||||
type : 'Typ',
|
||||
typeText : 'Text',
|
||||
typePass : 'Passwort'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Verstecktes Feld-Eigenschaften',
|
||||
name : 'Name',
|
||||
value : 'Wert'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Bild-Eigenschaften',
|
||||
titleButton : 'Bildbutton-Eigenschaften',
|
||||
menu : 'Bild-Eigenschaften',
|
||||
infoTab : 'Bild-Info',
|
||||
btnUpload : 'Zum Server senden',
|
||||
upload : 'Hochladen',
|
||||
alt : 'Alternativer Text',
|
||||
width : 'Breite',
|
||||
height : 'Höhe',
|
||||
lockRatio : 'Größenverhältnis beibehalten',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Größe zurücksetzen',
|
||||
border : 'Rahmen',
|
||||
hSpace : 'Horizontal-Abstand',
|
||||
vSpace : 'Vertikal-Abstand',
|
||||
align : 'Ausrichtung',
|
||||
alignLeft : 'Links',
|
||||
alignRight : 'Rechts',
|
||||
alertUrl : 'Bitte geben Sie die Bild-URL an',
|
||||
linkTab : 'Link',
|
||||
button2Img : 'Möchten Sie den gewählten Bild-Button in ein einfaches Bild umwandeln?',
|
||||
img2Button : 'Möchten Sie das gewählten Bild in einen Bild-Button umwandeln?',
|
||||
urlMissing : 'Image source URL is missing.', // MISSING
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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-Eigenschaften',
|
||||
propertiesTab : 'Eigenschaften',
|
||||
title : 'Flash-Eigenschaften',
|
||||
chkPlay : 'autom. Abspielen',
|
||||
chkLoop : 'Endlosschleife',
|
||||
chkMenu : 'Flash-Menü aktivieren',
|
||||
chkFull : 'Vollbildmodus erlauben',
|
||||
scale : 'Skalierung',
|
||||
scaleAll : 'Alles anzeigen',
|
||||
scaleNoBorder : 'ohne Rand',
|
||||
scaleFit : 'Passgenau',
|
||||
access : 'Skript Zugang',
|
||||
accessAlways : 'Immer',
|
||||
accessSameDomain: 'Gleiche Domain',
|
||||
accessNever : 'Nie',
|
||||
align : 'Ausrichtung',
|
||||
alignLeft : 'Links',
|
||||
alignAbsBottom : 'Abs Unten',
|
||||
alignAbsMiddle : 'Abs Mitte',
|
||||
alignBaseline : 'Baseline',
|
||||
alignBottom : 'Unten',
|
||||
alignMiddle : 'Mitte',
|
||||
alignRight : 'Rechts',
|
||||
alignTextTop : 'Text Oben',
|
||||
alignTop : 'Oben',
|
||||
quality : 'Qualität',
|
||||
qualityBest : 'Beste',
|
||||
qualityHigh : 'Hoch',
|
||||
qualityAutoHigh : 'Auto Hoch',
|
||||
qualityMedium : 'Medium',
|
||||
qualityAutoLow : 'Auto Niedrig',
|
||||
qualityLow : 'Niedrig',
|
||||
windowModeWindow: 'Fenster',
|
||||
windowModeOpaque: 'Deckend',
|
||||
windowModeTransparent : 'Transparent',
|
||||
windowMode : 'Fenster Modus',
|
||||
flashvars : 'Variablen für Flash',
|
||||
bgcolor : 'Hintergrundfarbe',
|
||||
width : 'Breite',
|
||||
height : 'Höhe',
|
||||
hSpace : 'Horizontal-Abstand',
|
||||
vSpace : 'Vertikal-Abstand',
|
||||
validateSrc : 'Bitte geben Sie die Link-URL an',
|
||||
validateWidth : 'Breite muss eine Zahl sein.',
|
||||
validateHeight : 'Höhe muss eine Zahl sein.',
|
||||
validateHSpace : 'HSpace muss eine Zahl sein.',
|
||||
validateVSpace : 'VSpace muss eine Zahl sein.'
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Rechtschreibprüfung',
|
||||
title : 'Rechtschreibprüfung',
|
||||
notAvailable : 'Entschuldigung, aber dieser Dienst steht im Moment nicht zur verfügung.',
|
||||
errorLoading : 'Fehler beim laden des Dienstanbieters: %s.',
|
||||
notInDic : 'Nicht im Wörterbuch',
|
||||
changeTo : 'Ändern in',
|
||||
btnIgnore : 'Ignorieren',
|
||||
btnIgnoreAll : 'Alle Ignorieren',
|
||||
btnReplace : 'Ersetzen',
|
||||
btnReplaceAll : 'Alle Ersetzen',
|
||||
btnUndo : 'Rückgängig',
|
||||
noSuggestions : ' - keine Vorschläge - ',
|
||||
progress : 'Rechtschreibprüfung läuft...',
|
||||
noMispell : 'Rechtschreibprüfung abgeschlossen - keine Fehler gefunden',
|
||||
noChanges : 'Rechtschreibprüfung abgeschlossen - keine Worte geändert',
|
||||
oneChange : 'Rechtschreibprüfung abgeschlossen - ein Wort geändert',
|
||||
manyChanges : 'Rechtschreibprüfung abgeschlossen - %1 Wörter geändert',
|
||||
ieSpellDownload : 'Rechtschreibprüfung nicht installiert. Möchten Sie sie jetzt herunterladen?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Smiley',
|
||||
title : 'Smiley auswählen',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 Element'
|
||||
},
|
||||
|
||||
numberedlist : 'Nummerierte Liste',
|
||||
bulletedlist : 'Liste',
|
||||
indent : 'Einzug erhöhen',
|
||||
outdent : 'Einzug verringern',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Linksbündig',
|
||||
center : 'Zentriert',
|
||||
right : 'Rechtsbündig',
|
||||
block : 'Blocksatz'
|
||||
},
|
||||
|
||||
blockquote : 'Zitatblock',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Einfügen',
|
||||
cutError : 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).',
|
||||
copyError : 'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).',
|
||||
pasteMsg : 'Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit <STRONG>Strg+V</STRONG>) ein und bestätigen Sie mit <STRONG>OK</STRONG>.',
|
||||
securityMsg : 'Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.',
|
||||
pasteArea : 'Paste Area' // MISSING
|
||||
},
|
||||
|
||||
pastefromword :
|
||||
{
|
||||
confirmCleanup : 'Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?',
|
||||
toolbar : 'aus MS-Word einfügen',
|
||||
title : 'aus MS-Word einfügen',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Als Text einfügen',
|
||||
title : 'Als Text einfügen'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Vorlagen',
|
||||
title : 'Vorlagen',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Aktuellen Inhalt ersetzen',
|
||||
selectPromptMsg : 'Klicken Sie auf eine Vorlage, um sie im Editor zu öffnen (der aktuelle Inhalt wird dabei gelöscht!):',
|
||||
emptyListMsg : '(keine Vorlagen definiert)'
|
||||
},
|
||||
|
||||
showBlocks : 'Blöcke anzeigen',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Stil',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block Stilart',
|
||||
panelTitle2 : 'Inline Stilart',
|
||||
panelTitle3 : 'Objekt Stilart'
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Format',
|
||||
panelTitle : 'Format',
|
||||
|
||||
tag_p : 'Normal',
|
||||
tag_pre : 'Formatiert',
|
||||
tag_address : 'Addresse',
|
||||
tag_h1 : 'Überschrift 1',
|
||||
tag_h2 : 'Überschrift 2',
|
||||
tag_h3 : 'Überschrift 3',
|
||||
tag_h4 : 'Überschrift 4',
|
||||
tag_h5 : 'Überschrift 5',
|
||||
tag_h6 : 'Überschrift 6',
|
||||
tag_div : 'Normal (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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Schriftart',
|
||||
voiceLabel : 'Schriftart',
|
||||
panelTitle : 'Schriftart'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Größe',
|
||||
voiceLabel : 'Schrifgröße',
|
||||
panelTitle : 'Größe'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Textfarbe',
|
||||
bgColorTitle : 'Hintergrundfarbe',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
auto : 'Automatisch',
|
||||
more : 'Weitere Farben...'
|
||||
},
|
||||
|
||||
colors :
|
||||
{
|
||||
'000' : 'Schwarz',
|
||||
'800000' : 'Kastanienbraun',
|
||||
'8B4513' : 'Braun',
|
||||
'2F4F4F' : 'Dunkles Schiefergrau',
|
||||
'008080' : 'Blaugrün',
|
||||
'000080' : 'Navy',
|
||||
'4B0082' : 'Indigo',
|
||||
'696969' : 'Dunkelgrau',
|
||||
'B22222' : 'Ziegelrot',
|
||||
'A52A2A' : 'Braun',
|
||||
'DAA520' : 'Goldgelb',
|
||||
'006400' : 'Dunkelgrün',
|
||||
'40E0D0' : 'Türkis',
|
||||
'0000CD' : 'Medium Blau',
|
||||
'800080' : 'Lila',
|
||||
'808080' : 'Grau',
|
||||
'F00' : 'Rot',
|
||||
'FF8C00' : 'Dunkelorange',
|
||||
'FFD700' : 'Gold',
|
||||
'008000' : 'Grün',
|
||||
'0FF' : 'Cyan',
|
||||
'00F' : 'Blau',
|
||||
'EE82EE' : 'Hellviolett',
|
||||
'A9A9A9' : 'Dunkelgrau',
|
||||
'FFA07A' : 'Helles Lachsrosa',
|
||||
'FFA500' : 'Orange',
|
||||
'FFFF00' : 'Gelb',
|
||||
'00FF00' : 'Lime',
|
||||
'AFEEEE' : 'Blaß-Türkis',
|
||||
'ADD8E6' : 'Hellblau',
|
||||
'DDA0DD' : 'Pflaumenblau',
|
||||
'D3D3D3' : 'Hellgrau',
|
||||
'FFF0F5' : 'Lavendel',
|
||||
'FAEBD7' : 'Antik Weiß',
|
||||
'FFFFE0' : 'Hellgelb',
|
||||
'F0FFF0' : 'Honigtau',
|
||||
'F0FFFF' : 'Azurblau',
|
||||
'F0F8FF' : 'Alice Blau',
|
||||
'E6E6FA' : 'Lavendel',
|
||||
'FFF' : 'Weiß'
|
||||
},
|
||||
|
||||
scayt :
|
||||
{
|
||||
title : 'Rechtschreibprüfung während der Texteingabe',
|
||||
enable : 'SCAYT einschalten',
|
||||
disable : 'SCAYT ausschalten',
|
||||
about : 'Über SCAYT',
|
||||
toggle : 'SCAYT umschalten',
|
||||
options : 'Optionen',
|
||||
langs : 'Sprachen',
|
||||
moreSuggestions : 'Mehr Vorschläge',
|
||||
ignore : 'Ignorieren',
|
||||
ignoreAll : 'Alle ignorieren',
|
||||
addWord : 'Wort hinzufügen',
|
||||
emptyDic : 'Wörterbuchname sollte leer sein.',
|
||||
optionsTab : 'Optionen',
|
||||
languagesTab : 'Sprachen',
|
||||
dictionariesTab : 'Wörterbücher',
|
||||
aboutTab : 'Über'
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'Über CKEditor',
|
||||
dlgTitle : 'Über CKEditor',
|
||||
moreInfo : 'Für Informationen Liztenzbestimmungen besuchen sie bitte unsere Webseite:',
|
||||
copy : 'Copyright © $1. Alle Rechte vorbehalten.'
|
||||
},
|
||||
|
||||
maximize : 'Maximieren',
|
||||
minimize : 'Minimize', // MISSING
|
||||
|
||||
fakeobjects :
|
||||
{
|
||||
anchor : 'Anker',
|
||||
flash : 'Flash Animation',
|
||||
div : 'Seitenumbruch',
|
||||
unknown : 'Unbekanntes Objekt'
|
||||
},
|
||||
|
||||
resize : 'Zum Vergrößern ziehen',
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/el.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/el.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Greek language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['el'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'HTML κώδικας',
|
||||
newPage : 'Νέα Σελίδα',
|
||||
save : 'Αποθήκευση',
|
||||
preview : 'Προεπισκόπιση',
|
||||
cut : 'Αποκοπή',
|
||||
copy : 'Αντιγραφή',
|
||||
paste : 'Επικόλληση',
|
||||
print : 'Εκτύπωση',
|
||||
underline : 'Υπογράμμιση',
|
||||
bold : 'Έντονα',
|
||||
italic : 'Πλάγια',
|
||||
selectAll : 'Επιλογή όλων',
|
||||
removeFormat : 'Αφαίρεση Μορφοποίησης',
|
||||
strike : 'Διαγράμμιση',
|
||||
subscript : 'Δείκτης',
|
||||
superscript : 'Εκθέτης',
|
||||
horizontalrule : 'Εισαγωγή Οριζόντιας Γραμμής',
|
||||
pagebreak : 'Εισαγωγή τέλους σελίδας',
|
||||
unlink : 'Αφαίρεση Συνδέσμου (Link)',
|
||||
undo : 'Αναίρεση',
|
||||
redo : 'Επαναφορά',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Εξερεύνηση διακομιστή',
|
||||
url : 'URL',
|
||||
protocol : 'Προτόκολο',
|
||||
upload : 'Αποστολή',
|
||||
uploadSubmit : 'Αποστολή στον Διακομιστή',
|
||||
image : 'Εικόνα',
|
||||
flash : 'Εισαγωγή Flash',
|
||||
form : 'Φόρμα',
|
||||
checkbox : 'Κουτί επιλογής',
|
||||
radio : 'Κουμπί Radio',
|
||||
textField : 'Πεδίο κειμένου',
|
||||
textarea : 'Περιοχή κειμένου',
|
||||
hiddenField : 'Κρυφό πεδίο',
|
||||
button : 'Κουμπί',
|
||||
select : 'Πεδίο επιλογής',
|
||||
imageButton : 'Κουμπί εικόνας',
|
||||
notSet : '<χωρίς>',
|
||||
id : 'Id',
|
||||
name : 'Όνομα',
|
||||
langDir : 'Κατεύθυνση κειμένου',
|
||||
langDirLtr : 'Αριστερά προς Δεξιά (LTR)',
|
||||
langDirRtl : 'Δεξιά προς Αριστερά (RTL)',
|
||||
langCode : 'Κωδικός Γλώσσας',
|
||||
longDescr : 'Αναλυτική περιγραφή URL',
|
||||
cssClass : 'Stylesheet Classes',
|
||||
advisoryTitle : 'Συμβουλευτικός τίτλος',
|
||||
cssStyle : 'Στύλ',
|
||||
ok : 'OK',
|
||||
cancel : 'Ακύρωση',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'General', // MISSING
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Εισαγωγή Ειδικού Συμβόλου',
|
||||
title : 'Επιλέξτε ένα Ειδικό Σύμβολο',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Εισαγωγή/Μεταβολή Συνδέσμου (Link)',
|
||||
other : '<άλλος>',
|
||||
menu : 'Μεταβολή Συνδέσμου (Link)',
|
||||
title : 'Σύνδεσμος (Link)',
|
||||
info : 'Link',
|
||||
target : 'Παράθυρο Στόχος (Target)',
|
||||
upload : 'Αποστολή',
|
||||
advanced : 'Για προχωρημένους',
|
||||
type : 'Τύπος συνδέσμου (Link)',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Άγκυρα σε αυτή τη σελίδα',
|
||||
toEmail : 'E-Mail',
|
||||
targetFrame : '<πλαίσιο>',
|
||||
targetPopup : '<παράθυρο popup>',
|
||||
targetFrameName : 'Όνομα πλαισίου στόχου',
|
||||
targetPopupName : 'Όνομα Popup Window',
|
||||
popupFeatures : 'Επιλογές Popup Window',
|
||||
popupResizable : 'Resizable', // MISSING
|
||||
popupStatusBar : 'Μπάρα Status',
|
||||
popupLocationBar: 'Μπάρα Τοποθεσίας',
|
||||
popupToolbar : 'Μπάρα Εργαλείων',
|
||||
popupMenuBar : 'Μπάρα Menu',
|
||||
popupFullScreen : 'Ολόκληρη η Οθόνη (IE)',
|
||||
popupScrollBars : 'Μπάρες Κύλισης',
|
||||
popupDependent : 'Dependent (Netscape)',
|
||||
popupWidth : 'Πλάτος',
|
||||
popupLeft : 'Τοποθεσία Αριστερής Άκρης',
|
||||
popupHeight : 'Ύψος',
|
||||
popupTop : 'Τοποθεσία Πάνω Άκρης',
|
||||
id : 'Id', // MISSING
|
||||
langDir : 'Κατεύθυνση κειμένου',
|
||||
langDirLTR : 'Αριστερά προς Δεξιά (LTR)',
|
||||
langDirRTL : 'Δεξιά προς Αριστερά (RTL)',
|
||||
acccessKey : 'Συντόμευση (Access Key)',
|
||||
name : 'Όνομα',
|
||||
langCode : 'Κατεύθυνση κειμένου',
|
||||
tabIndex : 'Tab Index',
|
||||
advisoryTitle : 'Συμβουλευτικός τίτλος',
|
||||
advisoryContentType : 'Συμβουλευτικός τίτλος περιεχομένου',
|
||||
cssClasses : 'Stylesheet Classes',
|
||||
charset : 'Linked Resource Charset',
|
||||
styles : 'Στύλ',
|
||||
selectAnchor : 'Επιλέξτε μια άγκυρα',
|
||||
anchorName : 'Βάσει του Ονόματος (Name) της άγκυρας',
|
||||
anchorId : 'Βάσει του Element Id',
|
||||
emailAddress : 'Διεύθυνση Ηλεκτρονικού Ταχυδρομείου',
|
||||
emailSubject : 'Θέμα Μηνύματος',
|
||||
emailBody : 'Κείμενο Μηνύματος',
|
||||
noAnchors : '(Δεν υπάρχουν άγκυρες στο κείμενο)',
|
||||
noUrl : 'Εισάγετε την τοποθεσία (URL) του υπερσυνδέσμου (Link)',
|
||||
noEmail : 'Εισάγετε την διεύθυνση ηλεκτρονικού ταχυδρομείου'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Εισαγωγή/επεξεργασία Anchor',
|
||||
menu : 'Ιδιότητες άγκυρας',
|
||||
title : 'Ιδιότητες άγκυρας',
|
||||
name : 'Όνομα άγκυρας',
|
||||
errorName : 'Παρακαλούμε εισάγετε όνομα άγκυρας'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Find and Replace', // MISSING
|
||||
find : 'Αναζήτηση',
|
||||
replace : 'Αντικατάσταση',
|
||||
findWhat : 'Αναζήτηση:',
|
||||
replaceWith : 'Αντικατάσταση με:',
|
||||
notFoundMsg : 'Το κείμενο δεν βρέθηκε.',
|
||||
matchCase : 'Έλεγχος πεζών/κεφαλαίων',
|
||||
matchWord : 'Εύρεση πλήρους λέξης',
|
||||
matchCyclic : 'Match cyclic', // MISSING
|
||||
replaceAll : 'Αντικατάσταση Όλων',
|
||||
replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Πίνακας',
|
||||
title : 'Ιδιότητες Πίνακα',
|
||||
menu : 'Ιδιότητες Πίνακα',
|
||||
deleteTable : 'Διαγραφή πίνακα',
|
||||
rows : 'Γραμμές',
|
||||
columns : 'Κολώνες',
|
||||
border : 'Μέγεθος Περιθωρίου',
|
||||
align : 'Στοίχιση',
|
||||
alignLeft : 'Αριστερά',
|
||||
alignCenter : 'Κέντρο',
|
||||
alignRight : 'Δεξιά',
|
||||
width : 'Πλάτος',
|
||||
widthPx : 'pixels',
|
||||
widthPc : '%',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Ύψος',
|
||||
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 number.', // MISSING
|
||||
invalidCellPadding : 'Cell padding must be a number.', // MISSING
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Κελί',
|
||||
insertBefore : 'Insert Cell Before', // MISSING
|
||||
insertAfter : 'Insert Cell After', // MISSING
|
||||
deleteCell : 'Διαγραφή Κελιών',
|
||||
merge : 'Ενοποίηση Κελιών',
|
||||
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
|
||||
alignTop : 'Top', // MISSING
|
||||
alignMiddle : 'Middle', // MISSING
|
||||
alignBottom : 'Bottom', // 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 : 'Σειρά',
|
||||
insertBefore : 'Insert Row Before', // MISSING
|
||||
insertAfter : 'Insert Row After', // MISSING
|
||||
deleteRow : 'Διαγραφή Γραμμών'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Στήλη',
|
||||
insertBefore : 'Insert Column Before', // MISSING
|
||||
insertAfter : 'Insert Column After', // MISSING
|
||||
deleteColumn : 'Διαγραφή Κολωνών'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Ιδιότητες κουμπιού',
|
||||
text : 'Κείμενο (Τιμή)',
|
||||
type : 'Τύπος',
|
||||
typeBtn : 'Κουμπί',
|
||||
typeSbm : 'Καταχώρηση',
|
||||
typeRst : 'Επαναφορά'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Ιδιότητες κουμπιού επιλογής',
|
||||
radioTitle : 'Ιδιότητες κουμπιού radio',
|
||||
value : 'Τιμή',
|
||||
selected : 'Επιλεγμένο'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Ιδιότητες φόρμας',
|
||||
menu : 'Ιδιότητες φόρμας',
|
||||
action : 'Δράση',
|
||||
method : 'Μάθοδος',
|
||||
encoding : 'Encoding' // MISSING
|
||||
},
|
||||
|
||||
// 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 : 'Εναλλακτικό Κείμενο (ALT)',
|
||||
width : 'Πλάτος',
|
||||
height : 'Ύψος',
|
||||
lockRatio : 'Κλείδωμα Αναλογίας',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Επαναφορά Αρχικού Μεγέθους',
|
||||
border : 'Περιθώριο',
|
||||
hSpace : 'Οριζόντιος Χώρος (HSpace)',
|
||||
vSpace : 'Κάθετος Χώρος (VSpace)',
|
||||
align : 'Ευθυγράμμιση (Align)',
|
||||
alignLeft : 'Αριστερά',
|
||||
alignRight : 'Δεξιά (Right)',
|
||||
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
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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',
|
||||
propertiesTab : 'Properties', // MISSING
|
||||
title : 'Ιδιότητες flash',
|
||||
chkPlay : 'Αυτόματη έναρξη',
|
||||
chkLoop : 'Επανάληψη',
|
||||
chkMenu : 'Ενεργοποίηση Flash Menu',
|
||||
chkFull : 'Allow Fullscreen', // MISSING
|
||||
scale : 'Κλίμακα',
|
||||
scaleAll : 'Εμφάνιση όλων',
|
||||
scaleNoBorder : 'Χωρίς όρια',
|
||||
scaleFit : 'Ακριβής εφαρμογή',
|
||||
access : 'Script Access', // MISSING
|
||||
accessAlways : 'Always', // MISSING
|
||||
accessSameDomain: 'Same domain', // MISSING
|
||||
accessNever : 'Never', // MISSING
|
||||
align : 'Ευθυγράμμιση (Align)',
|
||||
alignLeft : 'Αριστερά',
|
||||
alignAbsBottom : 'Απόλυτα Κάτω (Abs Bottom)',
|
||||
alignAbsMiddle : 'Απόλυτα στη Μέση (Abs Middle)',
|
||||
alignBaseline : 'Γραμμή Βάσης (Baseline)',
|
||||
alignBottom : 'Κάτω (Bottom)',
|
||||
alignMiddle : 'Μέση (Middle)',
|
||||
alignRight : 'Δεξιά (Right)',
|
||||
alignTextTop : 'Κορυφή Κειμένου (Text Top)',
|
||||
alignTop : 'Πάνω (Top)',
|
||||
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 : 'Χρώμα Υποβάθρου',
|
||||
width : 'Πλάτος',
|
||||
height : 'Ύψος',
|
||||
hSpace : 'Οριζόντιος Χώρος (HSpace)',
|
||||
vSpace : 'Κάθετος Χώρος (VSpace)',
|
||||
validateSrc : 'Εισάγετε την τοποθεσία (URL) του υπερσυνδέσμου (Link)',
|
||||
validateWidth : 'Width must be a number.', // MISSING
|
||||
validateHeight : 'Height must be a number.', // MISSING
|
||||
validateHSpace : 'HSpace must be a number.', // MISSING
|
||||
validateVSpace : 'VSpace must be a number.' // MISSING
|
||||
},
|
||||
|
||||
// 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
|
||||
notInDic : 'Δεν υπάρχει στο λεξικό',
|
||||
changeTo : 'Αλλαγή σε',
|
||||
btnIgnore : 'Αγνόηση',
|
||||
btnIgnoreAll : 'Αγνόηση όλων',
|
||||
btnReplace : 'Αντικατάσταση',
|
||||
btnReplaceAll : 'Αντικατάσταση όλων',
|
||||
btnUndo : 'Αναίρεση',
|
||||
noSuggestions : '- Δεν υπάρχουν προτάσεις -',
|
||||
progress : 'Ορθογραφικός έλεγχος σε εξέλιξη...',
|
||||
noMispell : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν βρέθηκαν λάθη',
|
||||
noChanges : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν άλλαξαν λέξεις',
|
||||
oneChange : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Μια λέξη άλλαξε',
|
||||
manyChanges : 'Ο ορθογραφικός έλεγχος ολοκληρώθηκε: %1 λέξεις άλλαξαν',
|
||||
ieSpellDownload : 'Δεν υπάρχει εγκατεστημένος ορθογράφος. Θέλετε να τον κατεβάσετε τώρα;'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Smiley',
|
||||
title : 'Επιλέξτε ένα Smiley',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 element' // MISSING
|
||||
},
|
||||
|
||||
numberedlist : 'Λίστα με Αριθμούς',
|
||||
bulletedlist : 'Λίστα με Bullets',
|
||||
indent : 'Αύξηση Εσοχής',
|
||||
outdent : 'Μείωση Εσοχής',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Στοίχιση Αριστερά',
|
||||
center : 'Στοίχιση στο Κέντρο',
|
||||
right : 'Στοίχιση Δεξιά',
|
||||
block : 'Πλήρης Στοίχιση (Block)'
|
||||
},
|
||||
|
||||
blockquote : 'Block Quote', // MISSING
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Επικόλληση',
|
||||
cutError : 'Οι ρυθμίσεις ασφαλείας του φυλλομετρητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).',
|
||||
copyError : 'Οι ρυθμίσεις ασφαλείας του φυλλομετρητή σας δεν επιτρέπουν την επιλεγμένη εργασία αντιγραφής. Χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+C).',
|
||||
pasteMsg : 'Παρακαλώ επικολήστε στο ακόλουθο κουτί χρησιμοποιόντας το πληκτρολόγιο (<STRONG>Ctrl/Cmd+V</STRONG>) και πατήστε <STRONG>OK</STRONG>.',
|
||||
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 : 'Επικόλληση από το Word',
|
||||
title : 'Επικόλληση από το Word',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Επικόλληση ως Απλό Κείμενο',
|
||||
title : 'Επικόλληση ως Απλό Κείμενο'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Πρότυπα',
|
||||
title : 'Πρότυπα περιεχομένου',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Αντικατάσταση υπάρχοντων περιεχομένων',
|
||||
selectPromptMsg : 'Παρακαλώ επιλέξτε πρότυπο για εισαγωγή στο πρόγραμμα<br>(τα υπάρχοντα περιεχόμενα θα χαθούν):',
|
||||
emptyListMsg : '(Δεν έχουν καθοριστεί πρότυπα)'
|
||||
},
|
||||
|
||||
showBlocks : 'Show Blocks', // MISSING
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Στυλ',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block Styles', // MISSING
|
||||
panelTitle2 : 'Inline Styles', // MISSING
|
||||
panelTitle3 : 'Object Styles' // MISSING
|
||||
},
|
||||
|
||||
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 : '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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Γραμματοσειρά',
|
||||
voiceLabel : 'Font', // MISSING
|
||||
panelTitle : 'Γραμματοσειρά'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Μέγεθος',
|
||||
voiceLabel : 'Font Size', // MISSING
|
||||
panelTitle : 'Μέγεθος'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Χρώμα Γραμμάτων',
|
||||
bgColorTitle : 'Χρώμα Υποβάθρου',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
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' : 'Dim 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' : 'Dark 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
|
||||
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
|
||||
languagesTab : 'Languages', // MISSING
|
||||
dictionariesTab : 'Dictionaries', // MISSING
|
||||
aboutTab : 'About' // MISSING
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'About CKEditor', // MISSING
|
||||
dlgTitle : 'About CKEditor', // 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
|
||||
div : 'Page Break', // MISSING
|
||||
unknown : 'Unknown Object' // MISSING
|
||||
},
|
||||
|
||||
resize : 'Drag to resize', // MISSING
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/en-au.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/en-au.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* English (Australia) language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['en-au'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Source',
|
||||
newPage : 'New Page',
|
||||
save : 'Save',
|
||||
preview : 'Preview',
|
||||
cut : 'Cut',
|
||||
copy : 'Copy',
|
||||
paste : 'Paste',
|
||||
print : 'Print',
|
||||
underline : 'Underline',
|
||||
bold : 'Bold',
|
||||
italic : 'Italic',
|
||||
selectAll : 'Select All',
|
||||
removeFormat : 'Remove Format',
|
||||
strike : 'Strike Through',
|
||||
subscript : 'Subscript',
|
||||
superscript : 'Superscript',
|
||||
horizontalrule : 'Insert Horizontal Line',
|
||||
pagebreak : 'Insert Page Break for Printing',
|
||||
unlink : 'Unlink',
|
||||
undo : 'Undo',
|
||||
redo : 'Redo',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Browse Server',
|
||||
url : 'URL',
|
||||
protocol : 'Protocol',
|
||||
upload : 'Upload',
|
||||
uploadSubmit : 'Send it to the Server',
|
||||
image : 'Image',
|
||||
flash : 'Flash',
|
||||
form : 'Form',
|
||||
checkbox : 'Checkbox',
|
||||
radio : 'Radio Button',
|
||||
textField : 'Text Field',
|
||||
textarea : 'Textarea',
|
||||
hiddenField : 'Hidden Field',
|
||||
button : 'Button',
|
||||
select : 'Selection Field',
|
||||
imageButton : 'Image Button',
|
||||
notSet : '<not set>',
|
||||
id : 'Id',
|
||||
name : 'Name',
|
||||
langDir : 'Language Direction',
|
||||
langDirLtr : 'Left to Right (LTR)',
|
||||
langDirRtl : 'Right to Left (RTL)',
|
||||
langCode : 'Language Code',
|
||||
longDescr : 'Long Description URL',
|
||||
cssClass : 'Stylesheet Classes',
|
||||
advisoryTitle : 'Advisory Title',
|
||||
cssStyle : 'Style',
|
||||
ok : 'OK',
|
||||
cancel : 'Cancel',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'General',
|
||||
advancedTab : 'Advanced',
|
||||
validateNumberFailed : 'This value is not a number.',
|
||||
confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?',
|
||||
confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?',
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Insert Special Character',
|
||||
title : 'Select Special Character',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Link',
|
||||
other : '<other>',
|
||||
menu : 'Edit Link',
|
||||
title : 'Link',
|
||||
info : 'Link Info',
|
||||
target : 'Target',
|
||||
upload : 'Upload',
|
||||
advanced : 'Advanced',
|
||||
type : 'Link Type',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Link to anchor in the text',
|
||||
toEmail : 'E-mail',
|
||||
targetFrame : '<frame>',
|
||||
targetPopup : '<popup window>',
|
||||
targetFrameName : 'Target Frame Name',
|
||||
targetPopupName : 'Popup Window Name',
|
||||
popupFeatures : 'Popup Window Features',
|
||||
popupResizable : 'Resizable',
|
||||
popupStatusBar : 'Status Bar',
|
||||
popupLocationBar: 'Location Bar',
|
||||
popupToolbar : 'Toolbar',
|
||||
popupMenuBar : 'Menu Bar',
|
||||
popupFullScreen : 'Full Screen (IE)',
|
||||
popupScrollBars : 'Scroll Bars',
|
||||
popupDependent : 'Dependent (Netscape)',
|
||||
popupWidth : 'Width',
|
||||
popupLeft : 'Left Position',
|
||||
popupHeight : 'Height',
|
||||
popupTop : 'Top Position',
|
||||
id : 'Id',
|
||||
langDir : 'Language Direction',
|
||||
langDirLTR : 'Left to Right (LTR)',
|
||||
langDirRTL : 'Right to Left (RTL)',
|
||||
acccessKey : 'Access Key',
|
||||
name : 'Name',
|
||||
langCode : 'Language Code',
|
||||
tabIndex : 'Tab Index',
|
||||
advisoryTitle : 'Advisory Title',
|
||||
advisoryContentType : 'Advisory Content Type',
|
||||
cssClasses : 'Stylesheet Classes',
|
||||
charset : 'Linked Resource Charset',
|
||||
styles : 'Style',
|
||||
selectAnchor : 'Select an Anchor',
|
||||
anchorName : 'By Anchor Name',
|
||||
anchorId : 'By Element Id',
|
||||
emailAddress : 'E-Mail Address',
|
||||
emailSubject : 'Message Subject',
|
||||
emailBody : 'Message Body',
|
||||
noAnchors : '(No anchors available in the document)',
|
||||
noUrl : 'Please type the link URL',
|
||||
noEmail : 'Please type the e-mail address'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Anchor',
|
||||
menu : 'Edit Anchor',
|
||||
title : 'Anchor Properties',
|
||||
name : 'Anchor Name',
|
||||
errorName : 'Please type the anchor name'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Find and Replace',
|
||||
find : 'Find',
|
||||
replace : 'Replace',
|
||||
findWhat : 'Find what:',
|
||||
replaceWith : 'Replace with:',
|
||||
notFoundMsg : 'The specified text was not found.',
|
||||
matchCase : 'Match case',
|
||||
matchWord : 'Match whole word',
|
||||
matchCyclic : 'Match cyclic',
|
||||
replaceAll : 'Replace All',
|
||||
replaceSuccessMsg : '%1 occurrence(s) replaced.'
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Table',
|
||||
title : 'Table Properties',
|
||||
menu : 'Table Properties',
|
||||
deleteTable : 'Delete Table',
|
||||
rows : 'Rows',
|
||||
columns : 'Columns',
|
||||
border : 'Border size',
|
||||
align : 'Alignment',
|
||||
alignLeft : 'Left',
|
||||
alignCenter : 'Centre',
|
||||
alignRight : 'Right',
|
||||
width : 'Width',
|
||||
widthPx : 'pixels',
|
||||
widthPc : 'percent',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Height',
|
||||
cellSpace : 'Cell spacing',
|
||||
cellPad : 'Cell padding',
|
||||
caption : 'Caption',
|
||||
summary : 'Summary',
|
||||
headers : 'Headers',
|
||||
headersNone : 'None',
|
||||
headersColumn : 'First column',
|
||||
headersRow : 'First Row',
|
||||
headersBoth : 'Both',
|
||||
invalidRows : 'Number of rows must be a number greater than 0.',
|
||||
invalidCols : 'Number of columns must be a number greater than 0.',
|
||||
invalidBorder : 'Border size must be a number.',
|
||||
invalidWidth : 'Table width must be a number.',
|
||||
invalidHeight : 'Table height must be a number.',
|
||||
invalidCellSpacing : 'Cell spacing must be a number.',
|
||||
invalidCellPadding : 'Cell padding must be a number.',
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Cell',
|
||||
insertBefore : 'Insert Cell Before',
|
||||
insertAfter : 'Insert Cell After',
|
||||
deleteCell : 'Delete Cells',
|
||||
merge : 'Merge Cells',
|
||||
mergeRight : 'Merge Right',
|
||||
mergeDown : 'Merge Down',
|
||||
splitHorizontal : 'Split Cell Horizontally',
|
||||
splitVertical : 'Split Cell Vertically',
|
||||
title : 'Cell Properties',
|
||||
cellType : 'Cell Type',
|
||||
rowSpan : 'Rows Span',
|
||||
colSpan : 'Columns Span',
|
||||
wordWrap : 'Word Wrap',
|
||||
hAlign : 'Horizontal Alignment',
|
||||
vAlign : 'Vertical Alignment',
|
||||
alignTop : 'Top',
|
||||
alignMiddle : 'Middle',
|
||||
alignBottom : 'Bottom',
|
||||
alignBaseline : 'Baseline',
|
||||
bgColor : 'Background Color',
|
||||
borderColor : 'Border Color',
|
||||
data : 'Data',
|
||||
header : 'Header',
|
||||
yes : 'Yes',
|
||||
no : 'No',
|
||||
invalidWidth : 'Cell width must be a number.',
|
||||
invalidHeight : 'Cell height must be a number.',
|
||||
invalidRowSpan : 'Rows span must be a whole number.',
|
||||
invalidColSpan : 'Columns span must be a whole number.',
|
||||
chooseColor : 'Choose' // MISSING
|
||||
},
|
||||
|
||||
row :
|
||||
{
|
||||
menu : 'Row',
|
||||
insertBefore : 'Insert Row Before',
|
||||
insertAfter : 'Insert Row After',
|
||||
deleteRow : 'Delete Rows'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Column',
|
||||
insertBefore : 'Insert Column Before',
|
||||
insertAfter : 'Insert Column After',
|
||||
deleteColumn : 'Delete Columns'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Button Properties',
|
||||
text : 'Text (Value)',
|
||||
type : 'Type',
|
||||
typeBtn : 'Button',
|
||||
typeSbm : 'Submit',
|
||||
typeRst : 'Reset'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Checkbox Properties',
|
||||
radioTitle : 'Radio Button Properties',
|
||||
value : 'Value',
|
||||
selected : 'Selected'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Form Properties',
|
||||
menu : 'Form Properties',
|
||||
action : 'Action',
|
||||
method : 'Method',
|
||||
encoding : 'Encoding'
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Selection Field Properties',
|
||||
selectInfo : 'Select Info',
|
||||
opAvail : 'Available Options',
|
||||
value : 'Value',
|
||||
size : 'Size',
|
||||
lines : 'lines',
|
||||
chkMulti : 'Allow multiple selections',
|
||||
opText : 'Text',
|
||||
opValue : 'Value',
|
||||
btnAdd : 'Add',
|
||||
btnModify : 'Modify',
|
||||
btnUp : 'Up',
|
||||
btnDown : 'Down',
|
||||
btnSetValue : 'Set as selected value',
|
||||
btnDelete : 'Delete'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Textarea Properties',
|
||||
cols : 'Columns',
|
||||
rows : 'Rows'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Text Field Properties',
|
||||
name : 'Name',
|
||||
value : 'Value',
|
||||
charWidth : 'Character Width',
|
||||
maxChars : 'Maximum Characters',
|
||||
type : 'Type',
|
||||
typeText : 'Text',
|
||||
typePass : 'Password'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Hidden Field Properties',
|
||||
name : 'Name',
|
||||
value : 'Value'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Image Properties',
|
||||
titleButton : 'Image Button Properties',
|
||||
menu : 'Image Properties',
|
||||
infoTab : 'Image Info',
|
||||
btnUpload : 'Send it to the Server',
|
||||
upload : 'Upload',
|
||||
alt : 'Alternative Text',
|
||||
width : 'Width',
|
||||
height : 'Height',
|
||||
lockRatio : 'Lock Ratio',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Reset Size',
|
||||
border : 'Border',
|
||||
hSpace : 'HSpace',
|
||||
vSpace : 'VSpace',
|
||||
align : 'Align',
|
||||
alignLeft : 'Left',
|
||||
alignRight : 'Right',
|
||||
alertUrl : 'Please type the image URL',
|
||||
linkTab : 'Link',
|
||||
button2Img : 'Do you want to transform the selected image button on a simple image?',
|
||||
img2Button : 'Do you want to transform the selected image on a image button?',
|
||||
urlMissing : 'Image source URL is missing.', // MISSING
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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',
|
||||
propertiesTab : 'Properties',
|
||||
title : 'Flash Properties',
|
||||
chkPlay : 'Auto Play',
|
||||
chkLoop : 'Loop',
|
||||
chkMenu : 'Enable Flash Menu',
|
||||
chkFull : 'Allow Fullscreen',
|
||||
scale : 'Scale',
|
||||
scaleAll : 'Show all',
|
||||
scaleNoBorder : 'No Border',
|
||||
scaleFit : 'Exact Fit',
|
||||
access : 'Script Access',
|
||||
accessAlways : 'Always',
|
||||
accessSameDomain: 'Same domain',
|
||||
accessNever : 'Never',
|
||||
align : 'Align',
|
||||
alignLeft : 'Left',
|
||||
alignAbsBottom : 'Abs Bottom',
|
||||
alignAbsMiddle : 'Abs Middle',
|
||||
alignBaseline : 'Baseline',
|
||||
alignBottom : 'Bottom',
|
||||
alignMiddle : 'Middle',
|
||||
alignRight : 'Right',
|
||||
alignTextTop : 'Text Top',
|
||||
alignTop : 'Top',
|
||||
quality : 'Quality',
|
||||
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',
|
||||
flashvars : 'Variables for Flash',
|
||||
bgcolor : 'Background colour',
|
||||
width : 'Width',
|
||||
height : 'Height',
|
||||
hSpace : 'HSpace',
|
||||
vSpace : 'VSpace',
|
||||
validateSrc : 'URL must not be empty.',
|
||||
validateWidth : 'Width must be a number.',
|
||||
validateHeight : 'Height must be a number.',
|
||||
validateHSpace : 'HSpace must be a number.',
|
||||
validateVSpace : 'VSpace must be a number.'
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Check Spelling',
|
||||
title : 'Spell Check',
|
||||
notAvailable : 'Sorry, but service is unavailable now.',
|
||||
errorLoading : 'Error loading application service host: %s.',
|
||||
notInDic : 'Not in dictionary',
|
||||
changeTo : 'Change to',
|
||||
btnIgnore : 'Ignore',
|
||||
btnIgnoreAll : 'Ignore All',
|
||||
btnReplace : 'Replace',
|
||||
btnReplaceAll : 'Replace All',
|
||||
btnUndo : 'Undo',
|
||||
noSuggestions : '- No suggestions -',
|
||||
progress : 'Spell check in progress...',
|
||||
noMispell : 'Spell check complete: No misspellings found',
|
||||
noChanges : 'Spell check complete: No words changed',
|
||||
oneChange : 'Spell check complete: One word changed',
|
||||
manyChanges : 'Spell check complete: %1 words changed',
|
||||
ieSpellDownload : 'Spell checker not installed. Do you want to download it now?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Smiley',
|
||||
title : 'Insert a Smiley',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 element'
|
||||
},
|
||||
|
||||
numberedlist : 'Insert/Remove Numbered List',
|
||||
bulletedlist : 'Insert/Remove Bulleted List',
|
||||
indent : 'Increase Indent',
|
||||
outdent : 'Decrease Indent',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Left Justify',
|
||||
center : 'Centre Justify',
|
||||
right : 'Right Justify',
|
||||
block : 'Block Justify'
|
||||
},
|
||||
|
||||
blockquote : 'Block Quote',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Paste',
|
||||
cutError : 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+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).',
|
||||
pasteMsg : 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit 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.',
|
||||
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',
|
||||
title : 'Paste from Word',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Paste as plain text',
|
||||
title : 'Paste as Plain Text'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Templates',
|
||||
title : 'Content Templates',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Replace actual contents',
|
||||
selectPromptMsg : 'Please select the template to open in the editor',
|
||||
emptyListMsg : '(No templates defined)'
|
||||
},
|
||||
|
||||
showBlocks : 'Show Blocks',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Styles',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block Styles',
|
||||
panelTitle2 : 'Inline Styles',
|
||||
panelTitle3 : 'Object Styles'
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Format',
|
||||
panelTitle : 'Paragraph Format',
|
||||
|
||||
tag_p : 'Normal',
|
||||
tag_pre : 'Formatted',
|
||||
tag_address : 'Address',
|
||||
tag_h1 : 'Heading 1',
|
||||
tag_h2 : 'Heading 2',
|
||||
tag_h3 : 'Heading 3',
|
||||
tag_h4 : 'Heading 4',
|
||||
tag_h5 : 'Heading 5',
|
||||
tag_h6 : 'Heading 6',
|
||||
tag_div : 'Normal (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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Font',
|
||||
voiceLabel : 'Font', // MISSING
|
||||
panelTitle : 'Font Name'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Size',
|
||||
voiceLabel : 'Font Size', // MISSING
|
||||
panelTitle : 'Font Size'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Text Colour',
|
||||
bgColorTitle : 'Background Colour',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
auto : 'Automatic',
|
||||
more : 'More Colours...'
|
||||
},
|
||||
|
||||
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' : 'Dim 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' : 'Dark 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
|
||||
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
|
||||
languagesTab : 'Languages', // MISSING
|
||||
dictionariesTab : 'Dictionaries', // MISSING
|
||||
aboutTab : 'About' // MISSING
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'About CKEditor',
|
||||
dlgTitle : 'About CKEditor', // MISSING
|
||||
moreInfo : 'For licensing information please visit our web site:',
|
||||
copy : 'Copyright © $1. All rights reserved.'
|
||||
},
|
||||
|
||||
maximize : 'Maximize',
|
||||
minimize : 'Minimize', // MISSING
|
||||
|
||||
fakeobjects :
|
||||
{
|
||||
anchor : 'Anchor', // MISSING
|
||||
flash : 'Flash Animation', // MISSING
|
||||
div : 'Page Break', // MISSING
|
||||
unknown : 'Unknown Object' // MISSING
|
||||
},
|
||||
|
||||
resize : 'Drag to resize', // MISSING
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/en-ca.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/en-ca.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* English (Canadian) language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['en-ca'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Source',
|
||||
newPage : 'New Page',
|
||||
save : 'Save',
|
||||
preview : 'Preview',
|
||||
cut : 'Cut',
|
||||
copy : 'Copy',
|
||||
paste : 'Paste',
|
||||
print : 'Print',
|
||||
underline : 'Underline',
|
||||
bold : 'Bold',
|
||||
italic : 'Italic',
|
||||
selectAll : 'Select All',
|
||||
removeFormat : 'Remove Format',
|
||||
strike : 'Strike Through',
|
||||
subscript : 'Subscript',
|
||||
superscript : 'Superscript',
|
||||
horizontalrule : 'Insert Horizontal Line',
|
||||
pagebreak : 'Insert Page Break for Printing',
|
||||
unlink : 'Unlink',
|
||||
undo : 'Undo',
|
||||
redo : 'Redo',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Browse Server',
|
||||
url : 'URL',
|
||||
protocol : 'Protocol',
|
||||
upload : 'Upload',
|
||||
uploadSubmit : 'Send it to the Server',
|
||||
image : 'Image',
|
||||
flash : 'Flash',
|
||||
form : 'Form',
|
||||
checkbox : 'Checkbox',
|
||||
radio : 'Radio Button',
|
||||
textField : 'Text Field',
|
||||
textarea : 'Textarea',
|
||||
hiddenField : 'Hidden Field',
|
||||
button : 'Button',
|
||||
select : 'Selection Field',
|
||||
imageButton : 'Image Button',
|
||||
notSet : '<not set>',
|
||||
id : 'Id',
|
||||
name : 'Name',
|
||||
langDir : 'Language Direction',
|
||||
langDirLtr : 'Left to Right (LTR)',
|
||||
langDirRtl : 'Right to Left (RTL)',
|
||||
langCode : 'Language Code',
|
||||
longDescr : 'Long Description URL',
|
||||
cssClass : 'Stylesheet Classes',
|
||||
advisoryTitle : 'Advisory Title',
|
||||
cssStyle : 'Style',
|
||||
ok : 'OK',
|
||||
cancel : 'Cancel',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'General',
|
||||
advancedTab : 'Advanced',
|
||||
validateNumberFailed : 'This value is not a number.',
|
||||
confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?',
|
||||
confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?',
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Insert Special Character',
|
||||
title : 'Select Special Character',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Link',
|
||||
other : '<other>',
|
||||
menu : 'Edit Link',
|
||||
title : 'Link',
|
||||
info : 'Link Info',
|
||||
target : 'Target',
|
||||
upload : 'Upload',
|
||||
advanced : 'Advanced',
|
||||
type : 'Link Type',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Link to anchor in the text',
|
||||
toEmail : 'E-mail',
|
||||
targetFrame : '<frame>',
|
||||
targetPopup : '<popup window>',
|
||||
targetFrameName : 'Target Frame Name',
|
||||
targetPopupName : 'Popup Window Name',
|
||||
popupFeatures : 'Popup Window Features',
|
||||
popupResizable : 'Resizable',
|
||||
popupStatusBar : 'Status Bar',
|
||||
popupLocationBar: 'Location Bar',
|
||||
popupToolbar : 'Toolbar',
|
||||
popupMenuBar : 'Menu Bar',
|
||||
popupFullScreen : 'Full Screen (IE)',
|
||||
popupScrollBars : 'Scroll Bars',
|
||||
popupDependent : 'Dependent (Netscape)',
|
||||
popupWidth : 'Width',
|
||||
popupLeft : 'Left Position',
|
||||
popupHeight : 'Height',
|
||||
popupTop : 'Top Position',
|
||||
id : 'Id',
|
||||
langDir : 'Language Direction',
|
||||
langDirLTR : 'Left to Right (LTR)',
|
||||
langDirRTL : 'Right to Left (RTL)',
|
||||
acccessKey : 'Access Key',
|
||||
name : 'Name',
|
||||
langCode : 'Language Code',
|
||||
tabIndex : 'Tab Index',
|
||||
advisoryTitle : 'Advisory Title',
|
||||
advisoryContentType : 'Advisory Content Type',
|
||||
cssClasses : 'Stylesheet Classes',
|
||||
charset : 'Linked Resource Charset',
|
||||
styles : 'Style',
|
||||
selectAnchor : 'Select an Anchor',
|
||||
anchorName : 'By Anchor Name',
|
||||
anchorId : 'By Element Id',
|
||||
emailAddress : 'E-Mail Address',
|
||||
emailSubject : 'Message Subject',
|
||||
emailBody : 'Message Body',
|
||||
noAnchors : '(No anchors available in the document)',
|
||||
noUrl : 'Please type the link URL',
|
||||
noEmail : 'Please type the e-mail address'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Anchor',
|
||||
menu : 'Edit Anchor',
|
||||
title : 'Anchor Properties',
|
||||
name : 'Anchor Name',
|
||||
errorName : 'Please type the anchor name'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Find and Replace',
|
||||
find : 'Find',
|
||||
replace : 'Replace',
|
||||
findWhat : 'Find what:',
|
||||
replaceWith : 'Replace with:',
|
||||
notFoundMsg : 'The specified text was not found.',
|
||||
matchCase : 'Match case',
|
||||
matchWord : 'Match whole word',
|
||||
matchCyclic : 'Match cyclic',
|
||||
replaceAll : 'Replace All',
|
||||
replaceSuccessMsg : '%1 occurrence(s) replaced.'
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Table',
|
||||
title : 'Table Properties',
|
||||
menu : 'Table Properties',
|
||||
deleteTable : 'Delete Table',
|
||||
rows : 'Rows',
|
||||
columns : 'Columns',
|
||||
border : 'Border size',
|
||||
align : 'Alignment',
|
||||
alignLeft : 'Left',
|
||||
alignCenter : 'Centre',
|
||||
alignRight : 'Right',
|
||||
width : 'Width',
|
||||
widthPx : 'pixels',
|
||||
widthPc : 'percent',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Height',
|
||||
cellSpace : 'Cell spacing',
|
||||
cellPad : 'Cell padding',
|
||||
caption : 'Caption',
|
||||
summary : 'Summary',
|
||||
headers : 'Headers',
|
||||
headersNone : 'None',
|
||||
headersColumn : 'First column',
|
||||
headersRow : 'First Row',
|
||||
headersBoth : 'Both',
|
||||
invalidRows : 'Number of rows must be a number greater than 0.',
|
||||
invalidCols : 'Number of columns must be a number greater than 0.',
|
||||
invalidBorder : 'Border size must be a number.',
|
||||
invalidWidth : 'Table width must be a number.',
|
||||
invalidHeight : 'Table height must be a number.',
|
||||
invalidCellSpacing : 'Cell spacing must be a number.',
|
||||
invalidCellPadding : 'Cell padding must be a number.',
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Cell',
|
||||
insertBefore : 'Insert Cell Before',
|
||||
insertAfter : 'Insert Cell After',
|
||||
deleteCell : 'Delete Cells',
|
||||
merge : 'Merge Cells',
|
||||
mergeRight : 'Merge Right',
|
||||
mergeDown : 'Merge Down',
|
||||
splitHorizontal : 'Split Cell Horizontally',
|
||||
splitVertical : 'Split Cell Vertically',
|
||||
title : 'Cell Properties',
|
||||
cellType : 'Cell Type',
|
||||
rowSpan : 'Rows Span',
|
||||
colSpan : 'Columns Span',
|
||||
wordWrap : 'Word Wrap',
|
||||
hAlign : 'Horizontal Alignment',
|
||||
vAlign : 'Vertical Alignment',
|
||||
alignTop : 'Top',
|
||||
alignMiddle : 'Middle',
|
||||
alignBottom : 'Bottom',
|
||||
alignBaseline : 'Baseline',
|
||||
bgColor : 'Background Color',
|
||||
borderColor : 'Border Color',
|
||||
data : 'Data',
|
||||
header : 'Header',
|
||||
yes : 'Yes',
|
||||
no : 'No',
|
||||
invalidWidth : 'Cell width must be a number.',
|
||||
invalidHeight : 'Cell height must be a number.',
|
||||
invalidRowSpan : 'Rows span must be a whole number.',
|
||||
invalidColSpan : 'Columns span must be a whole number.',
|
||||
chooseColor : 'Choose' // MISSING
|
||||
},
|
||||
|
||||
row :
|
||||
{
|
||||
menu : 'Row',
|
||||
insertBefore : 'Insert Row Before',
|
||||
insertAfter : 'Insert Row After',
|
||||
deleteRow : 'Delete Rows'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Column',
|
||||
insertBefore : 'Insert Column Before',
|
||||
insertAfter : 'Insert Column After',
|
||||
deleteColumn : 'Delete Columns'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Button Properties',
|
||||
text : 'Text (Value)',
|
||||
type : 'Type',
|
||||
typeBtn : 'Button',
|
||||
typeSbm : 'Submit',
|
||||
typeRst : 'Reset'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Checkbox Properties',
|
||||
radioTitle : 'Radio Button Properties',
|
||||
value : 'Value',
|
||||
selected : 'Selected'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Form Properties',
|
||||
menu : 'Form Properties',
|
||||
action : 'Action',
|
||||
method : 'Method',
|
||||
encoding : 'Encoding'
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Selection Field Properties',
|
||||
selectInfo : 'Select Info',
|
||||
opAvail : 'Available Options',
|
||||
value : 'Value',
|
||||
size : 'Size',
|
||||
lines : 'lines',
|
||||
chkMulti : 'Allow multiple selections',
|
||||
opText : 'Text',
|
||||
opValue : 'Value',
|
||||
btnAdd : 'Add',
|
||||
btnModify : 'Modify',
|
||||
btnUp : 'Up',
|
||||
btnDown : 'Down',
|
||||
btnSetValue : 'Set as selected value',
|
||||
btnDelete : 'Delete'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Textarea Properties',
|
||||
cols : 'Columns',
|
||||
rows : 'Rows'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Text Field Properties',
|
||||
name : 'Name',
|
||||
value : 'Value',
|
||||
charWidth : 'Character Width',
|
||||
maxChars : 'Maximum Characters',
|
||||
type : 'Type',
|
||||
typeText : 'Text',
|
||||
typePass : 'Password'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Hidden Field Properties',
|
||||
name : 'Name',
|
||||
value : 'Value'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Image Properties',
|
||||
titleButton : 'Image Button Properties',
|
||||
menu : 'Image Properties',
|
||||
infoTab : 'Image Info',
|
||||
btnUpload : 'Send it to the Server',
|
||||
upload : 'Upload',
|
||||
alt : 'Alternative Text',
|
||||
width : 'Width',
|
||||
height : 'Height',
|
||||
lockRatio : 'Lock Ratio',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Reset Size',
|
||||
border : 'Border',
|
||||
hSpace : 'HSpace',
|
||||
vSpace : 'VSpace',
|
||||
align : 'Align',
|
||||
alignLeft : 'Left',
|
||||
alignRight : 'Right',
|
||||
alertUrl : 'Please type the image URL',
|
||||
linkTab : 'Link',
|
||||
button2Img : 'Do you want to transform the selected image button on a simple image?',
|
||||
img2Button : 'Do you want to transform the selected image on a image button?',
|
||||
urlMissing : 'Image source URL is missing.', // MISSING
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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',
|
||||
propertiesTab : 'Properties',
|
||||
title : 'Flash Properties',
|
||||
chkPlay : 'Auto Play',
|
||||
chkLoop : 'Loop',
|
||||
chkMenu : 'Enable Flash Menu',
|
||||
chkFull : 'Allow Fullscreen',
|
||||
scale : 'Scale',
|
||||
scaleAll : 'Show all',
|
||||
scaleNoBorder : 'No Border',
|
||||
scaleFit : 'Exact Fit',
|
||||
access : 'Script Access',
|
||||
accessAlways : 'Always',
|
||||
accessSameDomain: 'Same domain',
|
||||
accessNever : 'Never',
|
||||
align : 'Align',
|
||||
alignLeft : 'Left',
|
||||
alignAbsBottom : 'Abs Bottom',
|
||||
alignAbsMiddle : 'Abs Middle',
|
||||
alignBaseline : 'Baseline',
|
||||
alignBottom : 'Bottom',
|
||||
alignMiddle : 'Middle',
|
||||
alignRight : 'Right',
|
||||
alignTextTop : 'Text Top',
|
||||
alignTop : 'Top',
|
||||
quality : 'Quality',
|
||||
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',
|
||||
flashvars : 'Variables for Flash',
|
||||
bgcolor : 'Background colour',
|
||||
width : 'Width',
|
||||
height : 'Height',
|
||||
hSpace : 'HSpace',
|
||||
vSpace : 'VSpace',
|
||||
validateSrc : 'URL must not be empty.',
|
||||
validateWidth : 'Width must be a number.',
|
||||
validateHeight : 'Height must be a number.',
|
||||
validateHSpace : 'HSpace must be a number.',
|
||||
validateVSpace : 'VSpace must be a number.'
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Check Spelling',
|
||||
title : 'Spell Check',
|
||||
notAvailable : 'Sorry, but service is unavailable now.',
|
||||
errorLoading : 'Error loading application service host: %s.',
|
||||
notInDic : 'Not in dictionary',
|
||||
changeTo : 'Change to',
|
||||
btnIgnore : 'Ignore',
|
||||
btnIgnoreAll : 'Ignore All',
|
||||
btnReplace : 'Replace',
|
||||
btnReplaceAll : 'Replace All',
|
||||
btnUndo : 'Undo',
|
||||
noSuggestions : '- No suggestions -',
|
||||
progress : 'Spell check in progress...',
|
||||
noMispell : 'Spell check complete: No misspellings found',
|
||||
noChanges : 'Spell check complete: No words changed',
|
||||
oneChange : 'Spell check complete: One word changed',
|
||||
manyChanges : 'Spell check complete: %1 words changed',
|
||||
ieSpellDownload : 'Spell checker not installed. Do you want to download it now?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Smiley',
|
||||
title : 'Insert a Smiley',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 element'
|
||||
},
|
||||
|
||||
numberedlist : 'Insert/Remove Numbered List',
|
||||
bulletedlist : 'Insert/Remove Bulleted List',
|
||||
indent : 'Increase Indent',
|
||||
outdent : 'Decrease Indent',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Left Justify',
|
||||
center : 'Centre Justify',
|
||||
right : 'Right Justify',
|
||||
block : 'Block Justify'
|
||||
},
|
||||
|
||||
blockquote : 'Block Quote',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Paste',
|
||||
cutError : 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+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).',
|
||||
pasteMsg : 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit 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.',
|
||||
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',
|
||||
title : 'Paste from Word',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Paste as plain text',
|
||||
title : 'Paste as Plain Text'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Templates',
|
||||
title : 'Content Templates',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Replace actual contents',
|
||||
selectPromptMsg : 'Please select the template to open in the editor',
|
||||
emptyListMsg : '(No templates defined)'
|
||||
},
|
||||
|
||||
showBlocks : 'Show Blocks',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Styles',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block Styles',
|
||||
panelTitle2 : 'Inline Styles',
|
||||
panelTitle3 : 'Object Styles'
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Format',
|
||||
panelTitle : 'Paragraph Format',
|
||||
|
||||
tag_p : 'Normal',
|
||||
tag_pre : 'Formatted',
|
||||
tag_address : 'Address',
|
||||
tag_h1 : 'Heading 1',
|
||||
tag_h2 : 'Heading 2',
|
||||
tag_h3 : 'Heading 3',
|
||||
tag_h4 : 'Heading 4',
|
||||
tag_h5 : 'Heading 5',
|
||||
tag_h6 : 'Heading 6',
|
||||
tag_div : 'Normal (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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Font',
|
||||
voiceLabel : 'Font', // MISSING
|
||||
panelTitle : 'Font Name'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Size',
|
||||
voiceLabel : 'Font Size', // MISSING
|
||||
panelTitle : 'Font Size'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Text Colour',
|
||||
bgColorTitle : 'Background Colour',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
auto : 'Automatic',
|
||||
more : 'More Colours...'
|
||||
},
|
||||
|
||||
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' : 'Dim 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' : 'Dark 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
|
||||
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
|
||||
languagesTab : 'Languages', // MISSING
|
||||
dictionariesTab : 'Dictionaries', // MISSING
|
||||
aboutTab : 'About' // MISSING
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'About CKEditor',
|
||||
dlgTitle : 'About CKEditor', // MISSING
|
||||
moreInfo : 'For licensing information please visit our web site:',
|
||||
copy : 'Copyright © $1. All rights reserved.'
|
||||
},
|
||||
|
||||
maximize : 'Maximize',
|
||||
minimize : 'Minimize', // MISSING
|
||||
|
||||
fakeobjects :
|
||||
{
|
||||
anchor : 'Anchor', // MISSING
|
||||
flash : 'Flash Animation', // MISSING
|
||||
div : 'Page Break', // MISSING
|
||||
unknown : 'Unknown Object' // MISSING
|
||||
},
|
||||
|
||||
resize : 'Drag to resize', // MISSING
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/en-gb.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/en-gb.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* English (United Kingdom) language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['en-gb'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Source',
|
||||
newPage : 'New Page',
|
||||
save : 'Save',
|
||||
preview : 'Preview',
|
||||
cut : 'Cut',
|
||||
copy : 'Copy',
|
||||
paste : 'Paste',
|
||||
print : 'Print',
|
||||
underline : 'Underline',
|
||||
bold : 'Bold',
|
||||
italic : 'Italic',
|
||||
selectAll : 'Select All',
|
||||
removeFormat : 'Remove Format',
|
||||
strike : 'Strike Through',
|
||||
subscript : 'Subscript',
|
||||
superscript : 'Superscript',
|
||||
horizontalrule : 'Insert Horizontal Line',
|
||||
pagebreak : 'Insert Page Break for Printing',
|
||||
unlink : 'Unlink',
|
||||
undo : 'Undo',
|
||||
redo : 'Redo',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Browse Server',
|
||||
url : 'URL',
|
||||
protocol : 'Protocol',
|
||||
upload : 'Upload',
|
||||
uploadSubmit : 'Send it to the Server',
|
||||
image : 'Image',
|
||||
flash : 'Flash',
|
||||
form : 'Form',
|
||||
checkbox : 'Checkbox',
|
||||
radio : 'Radio Button',
|
||||
textField : 'Text Field',
|
||||
textarea : 'Textarea',
|
||||
hiddenField : 'Hidden Field',
|
||||
button : 'Button',
|
||||
select : 'Selection Field',
|
||||
imageButton : 'Image Button',
|
||||
notSet : '<not set>',
|
||||
id : 'Id',
|
||||
name : 'Name',
|
||||
langDir : 'Language Direction',
|
||||
langDirLtr : 'Left to Right (LTR)',
|
||||
langDirRtl : 'Right to Left (RTL)',
|
||||
langCode : 'Language Code',
|
||||
longDescr : 'Long Description URL',
|
||||
cssClass : 'Stylesheet Classes',
|
||||
advisoryTitle : 'Advisory Title',
|
||||
cssStyle : 'Style',
|
||||
ok : 'OK',
|
||||
cancel : 'Cancel',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'General',
|
||||
advancedTab : 'Advanced',
|
||||
validateNumberFailed : 'This value is not a number.',
|
||||
confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?',
|
||||
confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?',
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Insert Special Character',
|
||||
title : 'Select Special Character',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Link',
|
||||
other : '<other>',
|
||||
menu : 'Edit Link',
|
||||
title : 'Link',
|
||||
info : 'Link Info',
|
||||
target : 'Target',
|
||||
upload : 'Upload',
|
||||
advanced : 'Advanced',
|
||||
type : 'Link Type',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Link to anchor in the text',
|
||||
toEmail : 'E-mail',
|
||||
targetFrame : '<frame>',
|
||||
targetPopup : '<popup window>',
|
||||
targetFrameName : 'Target Frame Name',
|
||||
targetPopupName : 'Popup Window Name',
|
||||
popupFeatures : 'Popup Window Features',
|
||||
popupResizable : 'Resizable',
|
||||
popupStatusBar : 'Status Bar',
|
||||
popupLocationBar: 'Location Bar',
|
||||
popupToolbar : 'Toolbar',
|
||||
popupMenuBar : 'Menu Bar',
|
||||
popupFullScreen : 'Full Screen (IE)',
|
||||
popupScrollBars : 'Scroll Bars',
|
||||
popupDependent : 'Dependent (Netscape)',
|
||||
popupWidth : 'Width',
|
||||
popupLeft : 'Left Position',
|
||||
popupHeight : 'Height',
|
||||
popupTop : 'Top Position',
|
||||
id : 'Id',
|
||||
langDir : 'Language Direction',
|
||||
langDirLTR : 'Left to Right (LTR)',
|
||||
langDirRTL : 'Right to Left (RTL)',
|
||||
acccessKey : 'Access Key',
|
||||
name : 'Name',
|
||||
langCode : 'Language Code',
|
||||
tabIndex : 'Tab Index',
|
||||
advisoryTitle : 'Advisory Title',
|
||||
advisoryContentType : 'Advisory Content Type',
|
||||
cssClasses : 'Stylesheet Classes',
|
||||
charset : 'Linked Resource Charset',
|
||||
styles : 'Style',
|
||||
selectAnchor : 'Select an Anchor',
|
||||
anchorName : 'By Anchor Name',
|
||||
anchorId : 'By Element Id',
|
||||
emailAddress : 'E-Mail Address',
|
||||
emailSubject : 'Message Subject',
|
||||
emailBody : 'Message Body',
|
||||
noAnchors : '(No anchors available in the document)',
|
||||
noUrl : 'Please type the link URL',
|
||||
noEmail : 'Please type the e-mail address'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Anchor',
|
||||
menu : 'Edit Anchor',
|
||||
title : 'Anchor Properties',
|
||||
name : 'Anchor Name',
|
||||
errorName : 'Please type the anchor name'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Find and Replace',
|
||||
find : 'Find',
|
||||
replace : 'Replace',
|
||||
findWhat : 'Find what:',
|
||||
replaceWith : 'Replace with:',
|
||||
notFoundMsg : 'The specified text was not found.',
|
||||
matchCase : 'Match case',
|
||||
matchWord : 'Match whole word',
|
||||
matchCyclic : 'Match cyclic',
|
||||
replaceAll : 'Replace All',
|
||||
replaceSuccessMsg : '%1 occurrence(s) replaced.'
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Table',
|
||||
title : 'Table Properties',
|
||||
menu : 'Table Properties',
|
||||
deleteTable : 'Delete Table',
|
||||
rows : 'Rows',
|
||||
columns : 'Columns',
|
||||
border : 'Border size',
|
||||
align : 'Alignment',
|
||||
alignLeft : 'Left',
|
||||
alignCenter : 'Centre',
|
||||
alignRight : 'Right',
|
||||
width : 'Width',
|
||||
widthPx : 'pixels',
|
||||
widthPc : 'percent',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Height',
|
||||
cellSpace : 'Cell spacing',
|
||||
cellPad : 'Cell padding',
|
||||
caption : 'Caption',
|
||||
summary : 'Summary',
|
||||
headers : 'Headers',
|
||||
headersNone : 'None',
|
||||
headersColumn : 'First column',
|
||||
headersRow : 'First Row',
|
||||
headersBoth : 'Both',
|
||||
invalidRows : 'Number of rows must be a number greater than 0.',
|
||||
invalidCols : 'Number of columns must be a number greater than 0.',
|
||||
invalidBorder : 'Border size must be a number.',
|
||||
invalidWidth : 'Table width must be a number.',
|
||||
invalidHeight : 'Table height must be a number.',
|
||||
invalidCellSpacing : 'Cell spacing must be a number.',
|
||||
invalidCellPadding : 'Cell padding must be a number.',
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Cell',
|
||||
insertBefore : 'Insert Cell Before',
|
||||
insertAfter : 'Insert Cell After',
|
||||
deleteCell : 'Delete Cells',
|
||||
merge : 'Merge Cells',
|
||||
mergeRight : 'Merge Right',
|
||||
mergeDown : 'Merge Down',
|
||||
splitHorizontal : 'Split Cell Horizontally',
|
||||
splitVertical : 'Split Cell Vertically',
|
||||
title : 'Cell Properties',
|
||||
cellType : 'Cell Type',
|
||||
rowSpan : 'Rows Span',
|
||||
colSpan : 'Columns Span',
|
||||
wordWrap : 'Word Wrap',
|
||||
hAlign : 'Horizontal Alignment',
|
||||
vAlign : 'Vertical Alignment',
|
||||
alignTop : 'Top',
|
||||
alignMiddle : 'Middle',
|
||||
alignBottom : 'Bottom',
|
||||
alignBaseline : 'Baseline',
|
||||
bgColor : 'Background Color',
|
||||
borderColor : 'Border Color',
|
||||
data : 'Data',
|
||||
header : 'Header',
|
||||
yes : 'Yes',
|
||||
no : 'No',
|
||||
invalidWidth : 'Cell width must be a number.',
|
||||
invalidHeight : 'Cell height must be a number.',
|
||||
invalidRowSpan : 'Rows span must be a whole number.',
|
||||
invalidColSpan : 'Columns span must be a whole number.',
|
||||
chooseColor : 'Choose' // MISSING
|
||||
},
|
||||
|
||||
row :
|
||||
{
|
||||
menu : 'Row',
|
||||
insertBefore : 'Insert Row Before',
|
||||
insertAfter : 'Insert Row After',
|
||||
deleteRow : 'Delete Rows'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Column',
|
||||
insertBefore : 'Insert Column Before',
|
||||
insertAfter : 'Insert Column After',
|
||||
deleteColumn : 'Delete Columns'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Button Properties',
|
||||
text : 'Text (Value)',
|
||||
type : 'Type',
|
||||
typeBtn : 'Button',
|
||||
typeSbm : 'Submit',
|
||||
typeRst : 'Reset'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Checkbox Properties',
|
||||
radioTitle : 'Radio Button Properties',
|
||||
value : 'Value',
|
||||
selected : 'Selected'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Form Properties',
|
||||
menu : 'Form Properties',
|
||||
action : 'Action',
|
||||
method : 'Method',
|
||||
encoding : 'Encoding'
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Selection Field Properties',
|
||||
selectInfo : 'Select Info',
|
||||
opAvail : 'Available Options',
|
||||
value : 'Value',
|
||||
size : 'Size',
|
||||
lines : 'lines',
|
||||
chkMulti : 'Allow multiple selections',
|
||||
opText : 'Text',
|
||||
opValue : 'Value',
|
||||
btnAdd : 'Add',
|
||||
btnModify : 'Modify',
|
||||
btnUp : 'Up',
|
||||
btnDown : 'Down',
|
||||
btnSetValue : 'Set as selected value',
|
||||
btnDelete : 'Delete'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Textarea Properties',
|
||||
cols : 'Columns',
|
||||
rows : 'Rows'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Text Field Properties',
|
||||
name : 'Name',
|
||||
value : 'Value',
|
||||
charWidth : 'Character Width',
|
||||
maxChars : 'Maximum Characters',
|
||||
type : 'Type',
|
||||
typeText : 'Text',
|
||||
typePass : 'Password'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Hidden Field Properties',
|
||||
name : 'Name',
|
||||
value : 'Value'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Image Properties',
|
||||
titleButton : 'Image Button Properties',
|
||||
menu : 'Image Properties',
|
||||
infoTab : 'Image Info',
|
||||
btnUpload : 'Send it to the Server',
|
||||
upload : 'Upload',
|
||||
alt : 'Alternative Text',
|
||||
width : 'Width',
|
||||
height : 'Height',
|
||||
lockRatio : 'Lock Ratio',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Reset Size',
|
||||
border : 'Border',
|
||||
hSpace : 'HSpace',
|
||||
vSpace : 'VSpace',
|
||||
align : 'Align',
|
||||
alignLeft : 'Left',
|
||||
alignRight : 'Right',
|
||||
alertUrl : 'Please type the image URL',
|
||||
linkTab : 'Link',
|
||||
button2Img : 'Do you want to transform the selected image button on a simple image?',
|
||||
img2Button : 'Do you want to transform the selected image on a image button?',
|
||||
urlMissing : 'Image source URL is missing.', // MISSING
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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',
|
||||
propertiesTab : 'Properties',
|
||||
title : 'Flash Properties',
|
||||
chkPlay : 'Auto Play',
|
||||
chkLoop : 'Loop',
|
||||
chkMenu : 'Enable Flash Menu',
|
||||
chkFull : 'Allow Fullscreen',
|
||||
scale : 'Scale',
|
||||
scaleAll : 'Show all',
|
||||
scaleNoBorder : 'No Border',
|
||||
scaleFit : 'Exact Fit',
|
||||
access : 'Script Access',
|
||||
accessAlways : 'Always',
|
||||
accessSameDomain: 'Same domain',
|
||||
accessNever : 'Never',
|
||||
align : 'Align',
|
||||
alignLeft : 'Left',
|
||||
alignAbsBottom : 'Abs Bottom',
|
||||
alignAbsMiddle : 'Abs Middle',
|
||||
alignBaseline : 'Baseline',
|
||||
alignBottom : 'Bottom',
|
||||
alignMiddle : 'Middle',
|
||||
alignRight : 'Right',
|
||||
alignTextTop : 'Text Top',
|
||||
alignTop : 'Top',
|
||||
quality : 'Quality',
|
||||
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',
|
||||
flashvars : 'Variables for Flash',
|
||||
bgcolor : 'Background colour',
|
||||
width : 'Width',
|
||||
height : 'Height',
|
||||
hSpace : 'HSpace',
|
||||
vSpace : 'VSpace',
|
||||
validateSrc : 'URL must not be empty.',
|
||||
validateWidth : 'Width must be a number.',
|
||||
validateHeight : 'Height must be a number.',
|
||||
validateHSpace : 'HSpace must be a number.',
|
||||
validateVSpace : 'VSpace must be a number.'
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Check Spelling',
|
||||
title : 'Spell Check',
|
||||
notAvailable : 'Sorry, but service is unavailable now.',
|
||||
errorLoading : 'Error loading application service host: %s.',
|
||||
notInDic : 'Not in dictionary',
|
||||
changeTo : 'Change to',
|
||||
btnIgnore : 'Ignore',
|
||||
btnIgnoreAll : 'Ignore All',
|
||||
btnReplace : 'Replace',
|
||||
btnReplaceAll : 'Replace All',
|
||||
btnUndo : 'Undo',
|
||||
noSuggestions : '- No suggestions -',
|
||||
progress : 'Spell check in progress...',
|
||||
noMispell : 'Spell check complete: No misspellings found',
|
||||
noChanges : 'Spell check complete: No words changed',
|
||||
oneChange : 'Spell check complete: One word changed',
|
||||
manyChanges : 'Spell check complete: %1 words changed',
|
||||
ieSpellDownload : 'Spell checker not installed. Do you want to download it now?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Smiley',
|
||||
title : 'Insert a Smiley',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 element'
|
||||
},
|
||||
|
||||
numberedlist : 'Insert/Remove Numbered List',
|
||||
bulletedlist : 'Insert/Remove Bulleted List',
|
||||
indent : 'Increase Indent',
|
||||
outdent : 'Decrease Indent',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Left Justify',
|
||||
center : 'Centre Justify',
|
||||
right : 'Right Justify',
|
||||
block : 'Block Justify'
|
||||
},
|
||||
|
||||
blockquote : 'Block Quote',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Paste',
|
||||
cutError : 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+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).',
|
||||
pasteMsg : 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit 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.',
|
||||
pasteArea : 'Paste Area'
|
||||
},
|
||||
|
||||
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',
|
||||
title : 'Paste from Word',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Paste as plain text',
|
||||
title : 'Paste as Plain Text'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Templates',
|
||||
title : 'Content Templates',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Replace actual contents',
|
||||
selectPromptMsg : 'Please select the template to open in the editor',
|
||||
emptyListMsg : '(No templates defined)'
|
||||
},
|
||||
|
||||
showBlocks : 'Show Blocks',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Styles',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block Styles',
|
||||
panelTitle2 : 'Inline Styles',
|
||||
panelTitle3 : 'Object Styles'
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Format',
|
||||
panelTitle : 'Paragraph Format',
|
||||
|
||||
tag_p : 'Normal',
|
||||
tag_pre : 'Formatted',
|
||||
tag_address : 'Address',
|
||||
tag_h1 : 'Heading 1',
|
||||
tag_h2 : 'Heading 2',
|
||||
tag_h3 : 'Heading 3',
|
||||
tag_h4 : 'Heading 4',
|
||||
tag_h5 : 'Heading 5',
|
||||
tag_h6 : 'Heading 6',
|
||||
tag_div : 'Normal (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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Font',
|
||||
voiceLabel : 'Font', // MISSING
|
||||
panelTitle : 'Font Name'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Size',
|
||||
voiceLabel : 'Font Size', // MISSING
|
||||
panelTitle : 'Font Size'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Text Colour',
|
||||
bgColorTitle : 'Background Colour',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
auto : 'Automatic',
|
||||
more : 'More Colours...'
|
||||
},
|
||||
|
||||
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' : 'Dim 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' : 'Dark 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
|
||||
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
|
||||
languagesTab : 'Languages', // MISSING
|
||||
dictionariesTab : 'Dictionaries', // MISSING
|
||||
aboutTab : 'About' // MISSING
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'About CKEditor',
|
||||
dlgTitle : 'About CKEditor', // MISSING
|
||||
moreInfo : 'For licensing information please visit our web site:',
|
||||
copy : 'Copyright © $1. All rights reserved.'
|
||||
},
|
||||
|
||||
maximize : 'Maximize',
|
||||
minimize : 'Minimize', // MISSING
|
||||
|
||||
fakeobjects :
|
||||
{
|
||||
anchor : 'Anchor', // MISSING
|
||||
flash : 'Flash Animation', // MISSING
|
||||
div : 'Page Break', // MISSING
|
||||
unknown : 'Unknown Object' // MISSING
|
||||
},
|
||||
|
||||
resize : 'Drag to resize', // MISSING
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/en.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/en.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the English
|
||||
* language. This is the base file for all translations.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['en'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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.',
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar',
|
||||
editor : 'Rich Text Editor',
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Source',
|
||||
newPage : 'New Page',
|
||||
save : 'Save',
|
||||
preview : 'Preview',
|
||||
cut : 'Cut',
|
||||
copy : 'Copy',
|
||||
paste : 'Paste',
|
||||
print : 'Print',
|
||||
underline : 'Underline',
|
||||
bold : 'Bold',
|
||||
italic : 'Italic',
|
||||
selectAll : 'Select All',
|
||||
removeFormat : 'Remove Format',
|
||||
strike : 'Strike Through',
|
||||
subscript : 'Subscript',
|
||||
superscript : 'Superscript',
|
||||
horizontalrule : 'Insert Horizontal Line',
|
||||
pagebreak : 'Insert Page Break for Printing',
|
||||
unlink : 'Unlink',
|
||||
undo : 'Undo',
|
||||
redo : 'Redo',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Browse Server',
|
||||
url : 'URL',
|
||||
protocol : 'Protocol',
|
||||
upload : 'Upload',
|
||||
uploadSubmit : 'Send it to the Server',
|
||||
image : 'Image',
|
||||
flash : 'Flash',
|
||||
form : 'Form',
|
||||
checkbox : 'Checkbox',
|
||||
radio : 'Radio Button',
|
||||
textField : 'Text Field',
|
||||
textarea : 'Textarea',
|
||||
hiddenField : 'Hidden Field',
|
||||
button : 'Button',
|
||||
select : 'Selection Field',
|
||||
imageButton : 'Image Button',
|
||||
notSet : '<not set>',
|
||||
id : 'Id',
|
||||
name : 'Name',
|
||||
langDir : 'Language Direction',
|
||||
langDirLtr : 'Left to Right (LTR)',
|
||||
langDirRtl : 'Right to Left (RTL)',
|
||||
langCode : 'Language Code',
|
||||
longDescr : 'Long Description URL',
|
||||
cssClass : 'Stylesheet Classes',
|
||||
advisoryTitle : 'Advisory Title',
|
||||
cssStyle : 'Style',
|
||||
ok : 'OK',
|
||||
cancel : 'Cancel',
|
||||
close : 'Close',
|
||||
preview : 'Preview',
|
||||
generalTab : 'General',
|
||||
advancedTab : 'Advanced',
|
||||
validateNumberFailed : 'This value is not a number.',
|
||||
confirmNewPage : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?',
|
||||
confirmCancel : 'Some of the options have been changed. Are you sure to close the dialog?',
|
||||
options : 'Options',
|
||||
target : 'Target',
|
||||
targetNew : 'New Window (_blank)',
|
||||
targetTop : 'Topmost Window (_top)',
|
||||
targetSelf : 'Same Window (_self)',
|
||||
targetParent : 'Parent Window (_parent)',
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, unavailable</span>'
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options'
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Insert Special Character',
|
||||
title : 'Select Special Character',
|
||||
options : 'Special Character Options'
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Link',
|
||||
other : '<other>',
|
||||
menu : 'Edit Link',
|
||||
title : 'Link',
|
||||
info : 'Link Info',
|
||||
target : 'Target',
|
||||
upload : 'Upload',
|
||||
advanced : 'Advanced',
|
||||
type : 'Link Type',
|
||||
toUrl : 'URL',
|
||||
toAnchor : 'Link to anchor in the text',
|
||||
toEmail : 'E-mail',
|
||||
targetFrame : '<frame>',
|
||||
targetPopup : '<popup window>',
|
||||
targetFrameName : 'Target Frame Name',
|
||||
targetPopupName : 'Popup Window Name',
|
||||
popupFeatures : 'Popup Window Features',
|
||||
popupResizable : 'Resizable',
|
||||
popupStatusBar : 'Status Bar',
|
||||
popupLocationBar: 'Location Bar',
|
||||
popupToolbar : 'Toolbar',
|
||||
popupMenuBar : 'Menu Bar',
|
||||
popupFullScreen : 'Full Screen (IE)',
|
||||
popupScrollBars : 'Scroll Bars',
|
||||
popupDependent : 'Dependent (Netscape)',
|
||||
popupWidth : 'Width',
|
||||
popupLeft : 'Left Position',
|
||||
popupHeight : 'Height',
|
||||
popupTop : 'Top Position',
|
||||
id : 'Id',
|
||||
langDir : 'Language Direction',
|
||||
langDirLTR : 'Left to Right (LTR)',
|
||||
langDirRTL : 'Right to Left (RTL)',
|
||||
acccessKey : 'Access Key',
|
||||
name : 'Name',
|
||||
langCode : 'Language Code',
|
||||
tabIndex : 'Tab Index',
|
||||
advisoryTitle : 'Advisory Title',
|
||||
advisoryContentType : 'Advisory Content Type',
|
||||
cssClasses : 'Stylesheet Classes',
|
||||
charset : 'Linked Resource Charset',
|
||||
styles : 'Style',
|
||||
selectAnchor : 'Select an Anchor',
|
||||
anchorName : 'By Anchor Name',
|
||||
anchorId : 'By Element Id',
|
||||
emailAddress : 'E-Mail Address',
|
||||
emailSubject : 'Message Subject',
|
||||
emailBody : 'Message Body',
|
||||
noAnchors : '(No anchors available in the document)',
|
||||
noUrl : 'Please type the link URL',
|
||||
noEmail : 'Please type the e-mail address'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Anchor',
|
||||
menu : 'Edit Anchor',
|
||||
title : 'Anchor Properties',
|
||||
name : 'Anchor Name',
|
||||
errorName : 'Please type the anchor name'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Find and Replace',
|
||||
find : 'Find',
|
||||
replace : 'Replace',
|
||||
findWhat : 'Find what:',
|
||||
replaceWith : 'Replace with:',
|
||||
notFoundMsg : 'The specified text was not found.',
|
||||
matchCase : 'Match case',
|
||||
matchWord : 'Match whole word',
|
||||
matchCyclic : 'Match cyclic',
|
||||
replaceAll : 'Replace All',
|
||||
replaceSuccessMsg : '%1 occurrence(s) replaced.'
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Table',
|
||||
title : 'Table Properties',
|
||||
menu : 'Table Properties',
|
||||
deleteTable : 'Delete Table',
|
||||
rows : 'Rows',
|
||||
columns : 'Columns',
|
||||
border : 'Border size',
|
||||
align : 'Alignment',
|
||||
alignLeft : 'Left',
|
||||
alignCenter : 'Center',
|
||||
alignRight : 'Right',
|
||||
width : 'Width',
|
||||
widthPx : 'pixels',
|
||||
widthPc : 'percent',
|
||||
widthUnit : 'width unit',
|
||||
height : 'Height',
|
||||
cellSpace : 'Cell spacing',
|
||||
cellPad : 'Cell padding',
|
||||
caption : 'Caption',
|
||||
summary : 'Summary',
|
||||
headers : 'Headers',
|
||||
headersNone : 'None',
|
||||
headersColumn : 'First column',
|
||||
headersRow : 'First Row',
|
||||
headersBoth : 'Both',
|
||||
invalidRows : 'Number of rows must be a number greater than 0.',
|
||||
invalidCols : 'Number of columns must be a number greater than 0.',
|
||||
invalidBorder : 'Border size must be a number.',
|
||||
invalidWidth : 'Table width must be a number.',
|
||||
invalidHeight : 'Table height must be a number.',
|
||||
invalidCellSpacing : 'Cell spacing must be a number.',
|
||||
invalidCellPadding : 'Cell padding must be a number.',
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Cell',
|
||||
insertBefore : 'Insert Cell Before',
|
||||
insertAfter : 'Insert Cell After',
|
||||
deleteCell : 'Delete Cells',
|
||||
merge : 'Merge Cells',
|
||||
mergeRight : 'Merge Right',
|
||||
mergeDown : 'Merge Down',
|
||||
splitHorizontal : 'Split Cell Horizontally',
|
||||
splitVertical : 'Split Cell Vertically',
|
||||
title : 'Cell Properties',
|
||||
cellType : 'Cell Type',
|
||||
rowSpan : 'Rows Span',
|
||||
colSpan : 'Columns Span',
|
||||
wordWrap : 'Word Wrap',
|
||||
hAlign : 'Horizontal Alignment',
|
||||
vAlign : 'Vertical Alignment',
|
||||
alignTop : 'Top',
|
||||
alignMiddle : 'Middle',
|
||||
alignBottom : 'Bottom',
|
||||
alignBaseline : 'Baseline',
|
||||
bgColor : 'Background Color',
|
||||
borderColor : 'Border Color',
|
||||
data : 'Data',
|
||||
header : 'Header',
|
||||
yes : 'Yes',
|
||||
no : 'No',
|
||||
invalidWidth : 'Cell width must be a number.',
|
||||
invalidHeight : 'Cell height must be a number.',
|
||||
invalidRowSpan : 'Rows span must be a whole number.',
|
||||
invalidColSpan : 'Columns span must be a whole number.',
|
||||
chooseColor : 'Choose'
|
||||
},
|
||||
|
||||
row :
|
||||
{
|
||||
menu : 'Row',
|
||||
insertBefore : 'Insert Row Before',
|
||||
insertAfter : 'Insert Row After',
|
||||
deleteRow : 'Delete Rows'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Column',
|
||||
insertBefore : 'Insert Column Before',
|
||||
insertAfter : 'Insert Column After',
|
||||
deleteColumn : 'Delete Columns'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Button Properties',
|
||||
text : 'Text (Value)',
|
||||
type : 'Type',
|
||||
typeBtn : 'Button',
|
||||
typeSbm : 'Submit',
|
||||
typeRst : 'Reset'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Checkbox Properties',
|
||||
radioTitle : 'Radio Button Properties',
|
||||
value : 'Value',
|
||||
selected : 'Selected'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Form Properties',
|
||||
menu : 'Form Properties',
|
||||
action : 'Action',
|
||||
method : 'Method',
|
||||
encoding : 'Encoding'
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Selection Field Properties',
|
||||
selectInfo : 'Select Info',
|
||||
opAvail : 'Available Options',
|
||||
value : 'Value',
|
||||
size : 'Size',
|
||||
lines : 'lines',
|
||||
chkMulti : 'Allow multiple selections',
|
||||
opText : 'Text',
|
||||
opValue : 'Value',
|
||||
btnAdd : 'Add',
|
||||
btnModify : 'Modify',
|
||||
btnUp : 'Up',
|
||||
btnDown : 'Down',
|
||||
btnSetValue : 'Set as selected value',
|
||||
btnDelete : 'Delete'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Textarea Properties',
|
||||
cols : 'Columns',
|
||||
rows : 'Rows'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Text Field Properties',
|
||||
name : 'Name',
|
||||
value : 'Value',
|
||||
charWidth : 'Character Width',
|
||||
maxChars : 'Maximum Characters',
|
||||
type : 'Type',
|
||||
typeText : 'Text',
|
||||
typePass : 'Password'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Hidden Field Properties',
|
||||
name : 'Name',
|
||||
value : 'Value'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Image Properties',
|
||||
titleButton : 'Image Button Properties',
|
||||
menu : 'Image Properties',
|
||||
infoTab : 'Image Info',
|
||||
btnUpload : 'Send it to the Server',
|
||||
upload : 'Upload',
|
||||
alt : 'Alternative Text',
|
||||
width : 'Width',
|
||||
height : 'Height',
|
||||
lockRatio : 'Lock Ratio',
|
||||
unlockRatio : 'Unlock Ratio',
|
||||
resetSize : 'Reset Size',
|
||||
border : 'Border',
|
||||
hSpace : 'HSpace',
|
||||
vSpace : 'VSpace',
|
||||
align : 'Align',
|
||||
alignLeft : 'Left',
|
||||
alignRight : 'Right',
|
||||
alertUrl : 'Please type the image URL',
|
||||
linkTab : 'Link',
|
||||
button2Img : 'Do you want to transform the selected image button on a simple image?',
|
||||
img2Button : 'Do you want to transform the selected image on a image button?',
|
||||
urlMissing : 'Image source URL is missing.',
|
||||
validateWidth : 'Width must be a whole number.',
|
||||
validateHeight : 'Height must be a whole number.',
|
||||
validateBorder : 'Border must be a whole number.',
|
||||
validateHSpace : 'HSpace must be a whole number.',
|
||||
validateVSpace : 'VSpace must be a whole number.'
|
||||
},
|
||||
|
||||
// Flash Dialog
|
||||
flash :
|
||||
{
|
||||
properties : 'Flash Properties',
|
||||
propertiesTab : 'Properties',
|
||||
title : 'Flash Properties',
|
||||
chkPlay : 'Auto Play',
|
||||
chkLoop : 'Loop',
|
||||
chkMenu : 'Enable Flash Menu',
|
||||
chkFull : 'Allow Fullscreen',
|
||||
scale : 'Scale',
|
||||
scaleAll : 'Show all',
|
||||
scaleNoBorder : 'No Border',
|
||||
scaleFit : 'Exact Fit',
|
||||
access : 'Script Access',
|
||||
accessAlways : 'Always',
|
||||
accessSameDomain: 'Same domain',
|
||||
accessNever : 'Never',
|
||||
align : 'Align',
|
||||
alignLeft : 'Left',
|
||||
alignAbsBottom : 'Abs Bottom',
|
||||
alignAbsMiddle : 'Abs Middle',
|
||||
alignBaseline : 'Baseline',
|
||||
alignBottom : 'Bottom',
|
||||
alignMiddle : 'Middle',
|
||||
alignRight : 'Right',
|
||||
alignTextTop : 'Text Top',
|
||||
alignTop : 'Top',
|
||||
quality : 'Quality',
|
||||
qualityBest : 'Best',
|
||||
qualityHigh : 'High',
|
||||
qualityAutoHigh : 'Auto High',
|
||||
qualityMedium : 'Medium',
|
||||
qualityAutoLow : 'Auto Low',
|
||||
qualityLow : 'Low',
|
||||
windowModeWindow: 'Window',
|
||||
windowModeOpaque: 'Opaque',
|
||||
windowModeTransparent : 'Transparent',
|
||||
windowMode : 'Window mode',
|
||||
flashvars : 'Variables for Flash',
|
||||
bgcolor : 'Background color',
|
||||
width : 'Width',
|
||||
height : 'Height',
|
||||
hSpace : 'HSpace',
|
||||
vSpace : 'VSpace',
|
||||
validateSrc : 'URL must not be empty.',
|
||||
validateWidth : 'Width must be a number.',
|
||||
validateHeight : 'Height must be a number.',
|
||||
validateHSpace : 'HSpace must be a number.',
|
||||
validateVSpace : 'VSpace must be a number.'
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Check Spelling',
|
||||
title : 'Spell Check',
|
||||
notAvailable : 'Sorry, but service is unavailable now.',
|
||||
errorLoading : 'Error loading application service host: %s.',
|
||||
notInDic : 'Not in dictionary',
|
||||
changeTo : 'Change to',
|
||||
btnIgnore : 'Ignore',
|
||||
btnIgnoreAll : 'Ignore All',
|
||||
btnReplace : 'Replace',
|
||||
btnReplaceAll : 'Replace All',
|
||||
btnUndo : 'Undo',
|
||||
noSuggestions : '- No suggestions -',
|
||||
progress : 'Spell check in progress...',
|
||||
noMispell : 'Spell check complete: No misspellings found',
|
||||
noChanges : 'Spell check complete: No words changed',
|
||||
oneChange : 'Spell check complete: One word changed',
|
||||
manyChanges : 'Spell check complete: %1 words changed',
|
||||
ieSpellDownload : 'Spell checker not installed. Do you want to download it now?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Smiley',
|
||||
title : 'Insert a Smiley',
|
||||
options : 'Smiley Options'
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path',
|
||||
eleTitle : '%1 element'
|
||||
},
|
||||
|
||||
numberedlist : 'Insert/Remove Numbered List',
|
||||
bulletedlist : 'Insert/Remove Bulleted List',
|
||||
indent : 'Increase Indent',
|
||||
outdent : 'Decrease Indent',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Left Justify',
|
||||
center : 'Center Justify',
|
||||
right : 'Right Justify',
|
||||
block : 'Block Justify'
|
||||
},
|
||||
|
||||
blockquote : 'Block Quote',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Paste',
|
||||
cutError : 'Your browser security settings don\'t permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+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).',
|
||||
pasteMsg : 'Please paste inside the following box using the keyboard (<strong>Ctrl/Cmd+V</strong>) and hit 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.',
|
||||
pasteArea : 'Paste Area'
|
||||
},
|
||||
|
||||
pastefromword :
|
||||
{
|
||||
confirmCleanup : 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',
|
||||
toolbar : 'Paste from Word',
|
||||
title : 'Paste from Word',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error'
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Paste as plain text',
|
||||
title : 'Paste as Plain Text'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Templates',
|
||||
title : 'Content Templates',
|
||||
options : 'Template Options',
|
||||
insertOption : 'Replace actual contents',
|
||||
selectPromptMsg : 'Please select the template to open in the editor',
|
||||
emptyListMsg : '(No templates defined)'
|
||||
},
|
||||
|
||||
showBlocks : 'Show Blocks',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Styles',
|
||||
panelTitle : 'Formatting Styles',
|
||||
panelTitle1 : 'Block Styles',
|
||||
panelTitle2 : 'Inline Styles',
|
||||
panelTitle3 : 'Object Styles'
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Format',
|
||||
panelTitle : 'Paragraph Format',
|
||||
|
||||
tag_p : 'Normal',
|
||||
tag_pre : 'Formatted',
|
||||
tag_address : 'Address',
|
||||
tag_h1 : 'Heading 1',
|
||||
tag_h2 : 'Heading 2',
|
||||
tag_h3 : 'Heading 3',
|
||||
tag_h4 : 'Heading 4',
|
||||
tag_h5 : 'Heading 5',
|
||||
tag_h6 : 'Heading 6',
|
||||
tag_div : 'Normal (DIV)'
|
||||
},
|
||||
|
||||
div :
|
||||
{
|
||||
title : 'Create Div Container',
|
||||
toolbar : 'Create Div Container',
|
||||
cssClassInputLabel : 'Stylesheet Classes',
|
||||
styleSelectLabel : 'Style',
|
||||
IdInputLabel : 'Id',
|
||||
languageCodeInputLabel : ' Language Code',
|
||||
inlineStyleInputLabel : 'Inline Style',
|
||||
advisoryTitleInputLabel : 'Advisory Title',
|
||||
langDirLabel : 'Language Direction',
|
||||
langDirLTRLabel : 'Left to Right (LTR)',
|
||||
langDirRTLLabel : 'Right to Left (RTL)',
|
||||
edit : 'Edit Div',
|
||||
remove : 'Remove Div'
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Font',
|
||||
voiceLabel : 'Font',
|
||||
panelTitle : 'Font Name'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Size',
|
||||
voiceLabel : 'Font Size',
|
||||
panelTitle : 'Font Size'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Text Color',
|
||||
bgColorTitle : 'Background Color',
|
||||
panelTitle : 'Colors',
|
||||
auto : 'Automatic',
|
||||
more : 'More Colors...'
|
||||
},
|
||||
|
||||
colors :
|
||||
{
|
||||
'000' : 'Black',
|
||||
'800000' : 'Maroon',
|
||||
'8B4513' : 'Saddle Brown',
|
||||
'2F4F4F' : 'Dark Slate Gray',
|
||||
'008080' : 'Teal',
|
||||
'000080' : 'Navy',
|
||||
'4B0082' : 'Indigo',
|
||||
'696969' : 'Dim Gray',
|
||||
'B22222' : 'Fire Brick',
|
||||
'A52A2A' : 'Brown',
|
||||
'DAA520' : 'Golden Rod',
|
||||
'006400' : 'Dark Green',
|
||||
'40E0D0' : 'Turquoise',
|
||||
'0000CD' : 'Medium Blue',
|
||||
'800080' : 'Purple',
|
||||
'808080' : 'Gray',
|
||||
'F00' : 'Red',
|
||||
'FF8C00' : 'Dark Orange',
|
||||
'FFD700' : 'Gold',
|
||||
'008000' : 'Green',
|
||||
'0FF' : 'Cyan',
|
||||
'00F' : 'Blue',
|
||||
'EE82EE' : 'Violet',
|
||||
'A9A9A9' : 'Dark Gray',
|
||||
'FFA07A' : 'Light Salmon',
|
||||
'FFA500' : 'Orange',
|
||||
'FFFF00' : 'Yellow',
|
||||
'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' : 'White'
|
||||
},
|
||||
|
||||
scayt :
|
||||
{
|
||||
title : 'Spell Check As You Type',
|
||||
enable : 'Enable SCAYT',
|
||||
disable : 'Disable SCAYT',
|
||||
about : 'About SCAYT',
|
||||
toggle : 'Toggle SCAYT',
|
||||
options : 'Options',
|
||||
langs : 'Languages',
|
||||
moreSuggestions : 'More suggestions',
|
||||
ignore : 'Ignore',
|
||||
ignoreAll : 'Ignore All',
|
||||
addWord : 'Add Word',
|
||||
emptyDic : 'Dictionary name should not be empty.',
|
||||
optionsTab : 'Options',
|
||||
languagesTab : 'Languages',
|
||||
dictionariesTab : 'Dictionaries',
|
||||
aboutTab : 'About'
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'About CKEditor',
|
||||
dlgTitle : 'About CKEditor',
|
||||
moreInfo : 'For licensing information please visit our web site:',
|
||||
copy : 'Copyright © $1. All rights reserved.'
|
||||
},
|
||||
|
||||
maximize : 'Maximize',
|
||||
minimize : 'Minimize',
|
||||
|
||||
fakeobjects :
|
||||
{
|
||||
anchor : 'Anchor',
|
||||
flash : 'Flash Animation',
|
||||
div : 'Page Break',
|
||||
unknown : 'Unknown Object'
|
||||
},
|
||||
|
||||
resize : 'Drag to resize',
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color',
|
||||
highlight : 'Highlight',
|
||||
selected : 'Selected',
|
||||
clear : 'Clear'
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar',
|
||||
toolbarExpand : 'Expand Toolbar'
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/eo.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/eo.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Esperanto language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['eo'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Fonto',
|
||||
newPage : 'Nova Paĝo',
|
||||
save : 'Sekurigi',
|
||||
preview : 'Vidigi Aspekton',
|
||||
cut : 'Eltondi',
|
||||
copy : 'Kopii',
|
||||
paste : 'Interglui',
|
||||
print : 'Presi',
|
||||
underline : 'Substreko',
|
||||
bold : 'Grasa',
|
||||
italic : 'Kursiva',
|
||||
selectAll : 'Elekti ĉion',
|
||||
removeFormat : 'Forigi Formaton',
|
||||
strike : 'Trastreko',
|
||||
subscript : 'Subskribo',
|
||||
superscript : 'Superskribo',
|
||||
horizontalrule : 'Enmeti Horizonta Linio',
|
||||
pagebreak : 'Insert Page Break for Printing', // MISSING
|
||||
unlink : 'Forigi Ligilon',
|
||||
undo : 'Malfari',
|
||||
redo : 'Refari',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Foliumi en la Servilo',
|
||||
url : 'URL',
|
||||
protocol : 'Protokolo',
|
||||
upload : 'Alŝuti',
|
||||
uploadSubmit : 'Sendu al Servilo',
|
||||
image : 'Bildo',
|
||||
flash : 'Flash', // MISSING
|
||||
form : 'Formularo',
|
||||
checkbox : 'Markobutono',
|
||||
radio : 'Radiobutono',
|
||||
textField : 'Teksta kampo',
|
||||
textarea : 'Teksta Areo',
|
||||
hiddenField : 'Kaŝita Kampo',
|
||||
button : 'Butono',
|
||||
select : 'Elekta Kampo',
|
||||
imageButton : 'Bildbutono',
|
||||
notSet : '<Defaŭlta>',
|
||||
id : 'Id',
|
||||
name : 'Nomo',
|
||||
langDir : 'Skribdirekto',
|
||||
langDirLtr : 'De maldekstro dekstren (LTR)',
|
||||
langDirRtl : 'De dekstro maldekstren (RTL)',
|
||||
langCode : 'Lingva Kodo',
|
||||
longDescr : 'URL de Longa Priskribo',
|
||||
cssClass : 'Klasoj de Stilfolioj',
|
||||
advisoryTitle : 'Indika Titolo',
|
||||
cssStyle : 'Stilo',
|
||||
ok : 'Akcepti',
|
||||
cancel : 'Rezigni',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'General', // MISSING
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Enmeti Specialan Signon',
|
||||
title : 'Enmeti Specialan Signon',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Enmeti/Ŝanĝi Ligilon',
|
||||
other : '<other>', // MISSING
|
||||
menu : 'Modifier Ligilon',
|
||||
title : 'Ligilo',
|
||||
info : 'Informoj pri la Ligilo',
|
||||
target : 'Celo',
|
||||
upload : 'Alŝuti',
|
||||
advanced : 'Speciala',
|
||||
type : 'Tipo de Ligilo',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Ankri en tiu ĉi paĝo',
|
||||
toEmail : 'Retpoŝto',
|
||||
targetFrame : '<kadro>',
|
||||
targetPopup : '<ŝprucfenestro>',
|
||||
targetFrameName : 'Nomo de Kadro',
|
||||
targetPopupName : 'Nomo de Ŝprucfenestro',
|
||||
popupFeatures : 'Atributoj de la Ŝprucfenestro',
|
||||
popupResizable : 'Resizable', // MISSING
|
||||
popupStatusBar : 'Statobreto',
|
||||
popupLocationBar: 'Adresobreto',
|
||||
popupToolbar : 'Ilobreto',
|
||||
popupMenuBar : 'Menubreto',
|
||||
popupFullScreen : 'Tutekrane (IE)',
|
||||
popupScrollBars : 'Rulumlisteloj',
|
||||
popupDependent : 'Dependa (Netscape)',
|
||||
popupWidth : 'Larĝo',
|
||||
popupLeft : 'Pozicio de Maldekstro',
|
||||
popupHeight : 'Alto',
|
||||
popupTop : 'Pozicio de Supro',
|
||||
id : 'Id', // MISSING
|
||||
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',
|
||||
cssClasses : 'Klasoj de Stilfolioj',
|
||||
charset : 'Signaro de la Ligita Rimedo',
|
||||
styles : 'Stilo',
|
||||
selectAnchor : 'Elekti Ankron',
|
||||
anchorName : 'Per Ankronomo',
|
||||
anchorId : 'Per Elementidentigilo',
|
||||
emailAddress : 'Retadreso',
|
||||
emailSubject : 'Temlinio',
|
||||
emailBody : 'Mesaĝa korpo',
|
||||
noAnchors : '<Ne disponeblas ankroj en la dokumento>',
|
||||
noUrl : 'Bonvolu entajpi la URL-on',
|
||||
noEmail : 'Bonvolu entajpi la retadreson'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Enmeti/Ŝanĝi Ankron',
|
||||
menu : 'Ankraj Atributoj',
|
||||
title : 'Ankraj Atributoj',
|
||||
name : 'Ankra Nomo',
|
||||
errorName : 'Bv tajpi la ankran nomon'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Find and Replace', // MISSING
|
||||
find : 'Serĉi',
|
||||
replace : 'Anstataŭigi',
|
||||
findWhat : 'Serĉi:',
|
||||
replaceWith : 'Anstataŭigi per:',
|
||||
notFoundMsg : 'La celteksto ne estas trovita.',
|
||||
matchCase : 'Kongruigi Usklecon',
|
||||
matchWord : 'Tuta Vorto',
|
||||
matchCyclic : 'Match cyclic', // MISSING
|
||||
replaceAll : 'Anstataŭigi Ĉiun',
|
||||
replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Tabelo',
|
||||
title : 'Atributoj de Tabelo',
|
||||
menu : 'Atributoj de Tabelo',
|
||||
deleteTable : 'Delete Table', // MISSING
|
||||
rows : 'Linioj',
|
||||
columns : 'Kolumnoj',
|
||||
border : 'Bordero',
|
||||
align : 'Ĝisrandigo',
|
||||
alignLeft : 'Maldekstre',
|
||||
alignCenter : 'Centre',
|
||||
alignRight : 'Dekstre',
|
||||
width : 'Larĝo',
|
||||
widthPx : 'Bitbilderoj',
|
||||
widthPc : 'elcentoj',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Alto',
|
||||
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 number.', // MISSING
|
||||
invalidCellPadding : 'Cell padding must be a number.', // MISSING
|
||||
|
||||
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
|
||||
alignTop : 'Top', // MISSING
|
||||
alignMiddle : 'Middle', // MISSING
|
||||
alignBottom : 'Bottom', // 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 : 'Forigi Liniojn'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Column', // MISSING
|
||||
insertBefore : 'Insert Column Before', // MISSING
|
||||
insertAfter : 'Insert Column After', // MISSING
|
||||
deleteColumn : 'Forigi Kolumnojn'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Butonaj Atributoj',
|
||||
text : 'Teksto (Valoro)',
|
||||
type : 'Tipo',
|
||||
typeBtn : 'Button', // MISSING
|
||||
typeSbm : 'Submit', // MISSING
|
||||
typeRst : 'Reset' // MISSING
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Markobutonaj Atributoj',
|
||||
radioTitle : 'Radiobutonaj Atributoj',
|
||||
value : 'Valoro',
|
||||
selected : 'Elektita'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Formularaj Atributoj',
|
||||
menu : 'Formularaj Atributoj',
|
||||
action : 'Ago',
|
||||
method : 'Metodo',
|
||||
encoding : 'Encoding' // MISSING
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Atributoj de Elekta Kampo',
|
||||
selectInfo : 'Select Info', // MISSING
|
||||
opAvail : 'Elektoj Disponeblaj',
|
||||
value : 'Valoro',
|
||||
size : 'Grando',
|
||||
lines : 'Linioj',
|
||||
chkMulti : 'Permesi Plurajn Elektojn',
|
||||
opText : 'Teksto',
|
||||
opValue : 'Valoro',
|
||||
btnAdd : 'Aldoni',
|
||||
btnModify : 'Modifi',
|
||||
btnUp : 'Supren',
|
||||
btnDown : 'Malsupren',
|
||||
btnSetValue : 'Agordi kiel Elektitan Valoron',
|
||||
btnDelete : 'Forigi'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Atributoj de Teksta Areo',
|
||||
cols : 'Kolumnoj',
|
||||
rows : 'Vicoj'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Atributoj de Teksta Kampo',
|
||||
name : 'Nomo',
|
||||
value : 'Valoro',
|
||||
charWidth : 'Signolarĝo',
|
||||
maxChars : 'Maksimuma Nombro da Signoj',
|
||||
type : 'Tipo',
|
||||
typeText : 'Teksto',
|
||||
typePass : 'Pasvorto'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Atributoj de Kaŝita Kampo',
|
||||
name : 'Nomo',
|
||||
value : 'Valoro'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Atributoj de Bildo',
|
||||
titleButton : 'Bildbutonaj Atributoj',
|
||||
menu : 'Atributoj de Bildo',
|
||||
infoTab : 'Informoj pri Bildo',
|
||||
btnUpload : 'Sendu al Servilo',
|
||||
upload : 'Alŝuti',
|
||||
alt : 'Anstataŭiga Teksto',
|
||||
width : 'Larĝo',
|
||||
height : 'Alto',
|
||||
lockRatio : 'Konservi Proporcion',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Origina Grando',
|
||||
border : 'Bordero',
|
||||
hSpace : 'HSpaco',
|
||||
vSpace : 'VSpaco',
|
||||
align : 'Ĝisrandigo',
|
||||
alignLeft : 'Maldekstre',
|
||||
alignRight : 'Dekstre',
|
||||
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
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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
|
||||
align : 'Ĝisrandigo',
|
||||
alignLeft : 'Maldekstre',
|
||||
alignAbsBottom : 'Abs Malsupre',
|
||||
alignAbsMiddle : 'Abs Centre',
|
||||
alignBaseline : 'Je Malsupro de Teksto',
|
||||
alignBottom : 'Malsupre',
|
||||
alignMiddle : 'Centre',
|
||||
alignRight : 'Dekstre',
|
||||
alignTextTop : 'Je Supro de Teksto',
|
||||
alignTop : 'Supre',
|
||||
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 : 'Fona Koloro',
|
||||
width : 'Larĝo',
|
||||
height : 'Alto',
|
||||
hSpace : 'HSpaco',
|
||||
vSpace : 'VSpaco',
|
||||
validateSrc : 'Bonvolu entajpi la URL-on',
|
||||
validateWidth : 'Width must be a number.', // MISSING
|
||||
validateHeight : 'Height must be a number.', // MISSING
|
||||
validateHSpace : 'HSpace must be a number.', // MISSING
|
||||
validateVSpace : 'VSpace must be a number.' // MISSING
|
||||
},
|
||||
|
||||
// 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
|
||||
notInDic : 'Ne trovita en la vortaro',
|
||||
changeTo : 'Ŝanĝi al',
|
||||
btnIgnore : 'Malatenti',
|
||||
btnIgnoreAll : 'Malatenti Ĉiun',
|
||||
btnReplace : 'Anstataŭigi',
|
||||
btnReplaceAll : 'Anstataŭigi Ĉiun',
|
||||
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?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Mienvinjeto',
|
||||
title : 'Enmeti Mienvinjeton',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 element' // MISSING
|
||||
},
|
||||
|
||||
numberedlist : 'Numera Listo',
|
||||
bulletedlist : 'Bula Listo',
|
||||
indent : 'Pligrandigi Krommarĝenon',
|
||||
outdent : 'Malpligrandigi Krommarĝenon',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Maldekstrigi',
|
||||
center : 'Centrigi',
|
||||
right : 'Dekstrigi',
|
||||
block : 'Ĝisrandigi Ambaŭflanke'
|
||||
},
|
||||
|
||||
blockquote : 'Block Quote', // MISSING
|
||||
|
||||
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 (<strong>Ctrl/Cmd+V</strong>) 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 : 'Interglui el Word',
|
||||
title : 'Interglui el Word',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Interglui kiel Tekston',
|
||||
title : 'Interglui kiel 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
|
||||
},
|
||||
|
||||
showBlocks : 'Show Blocks', // MISSING
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Stilo',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block Styles', // MISSING
|
||||
panelTitle2 : 'Inline Styles', // MISSING
|
||||
panelTitle3 : 'Object Styles' // MISSING
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Formato',
|
||||
panelTitle : 'Formato',
|
||||
|
||||
tag_p : 'Normala',
|
||||
tag_pre : 'Formatita',
|
||||
tag_address : 'Adreso',
|
||||
tag_h1 : 'Titolo 1',
|
||||
tag_h2 : 'Titolo 2',
|
||||
tag_h3 : 'Titolo 3',
|
||||
tag_h4 : 'Titolo 4',
|
||||
tag_h5 : 'Titolo 5',
|
||||
tag_h6 : 'Titolo 6',
|
||||
tag_div : 'Paragrafo (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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Tiparo',
|
||||
voiceLabel : 'Font', // MISSING
|
||||
panelTitle : 'Tiparo'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Grando',
|
||||
voiceLabel : 'Font Size', // MISSING
|
||||
panelTitle : 'Grando'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Teksta Koloro',
|
||||
bgColorTitle : 'Fona Koloro',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
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' : 'Dim 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' : 'Dark 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
|
||||
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
|
||||
languagesTab : 'Languages', // MISSING
|
||||
dictionariesTab : 'Dictionaries', // MISSING
|
||||
aboutTab : 'About' // MISSING
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'About CKEditor', // MISSING
|
||||
dlgTitle : 'About CKEditor', // 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
|
||||
div : 'Page Break', // MISSING
|
||||
unknown : 'Unknown Object' // MISSING
|
||||
},
|
||||
|
||||
resize : 'Drag to resize', // MISSING
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/es.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/es.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Spanish language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['es'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Fuente HTML',
|
||||
newPage : 'Nueva Página',
|
||||
save : 'Guardar',
|
||||
preview : 'Vista Previa',
|
||||
cut : 'Cortar',
|
||||
copy : 'Copiar',
|
||||
paste : 'Pegar',
|
||||
print : 'Imprimir',
|
||||
underline : 'Subrayado',
|
||||
bold : 'Negrita',
|
||||
italic : 'Cursiva',
|
||||
selectAll : 'Seleccionar Todo',
|
||||
removeFormat : 'Eliminar Formato',
|
||||
strike : 'Tachado',
|
||||
subscript : 'Subíndice',
|
||||
superscript : 'Superíndice',
|
||||
horizontalrule : 'Insertar Línea Horizontal',
|
||||
pagebreak : 'Insertar Salto de Página',
|
||||
unlink : 'Eliminar Vínculo',
|
||||
undo : 'Deshacer',
|
||||
redo : 'Rehacer',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Ver Servidor',
|
||||
url : 'URL',
|
||||
protocol : 'Protocolo',
|
||||
upload : 'Cargar',
|
||||
uploadSubmit : 'Enviar al Servidor',
|
||||
image : 'Imagen',
|
||||
flash : 'Flash',
|
||||
form : 'Formulario',
|
||||
checkbox : 'Casilla de Verificación',
|
||||
radio : 'Botones de Radio',
|
||||
textField : 'Campo de Texto',
|
||||
textarea : 'Area de Texto',
|
||||
hiddenField : 'Campo Oculto',
|
||||
button : 'Botón',
|
||||
select : 'Campo de Selección',
|
||||
imageButton : 'Botón Imagen',
|
||||
notSet : '<No definido>',
|
||||
id : 'Id',
|
||||
name : 'Nombre',
|
||||
langDir : 'Orientación',
|
||||
langDirLtr : 'Izquierda a Derecha (LTR)',
|
||||
langDirRtl : 'Derecha a Izquierda (RTL)',
|
||||
langCode : 'Cód. de idioma',
|
||||
longDescr : 'Descripción larga URL',
|
||||
cssClass : 'Clases de hojas de estilo',
|
||||
advisoryTitle : 'Título',
|
||||
cssStyle : 'Estilo',
|
||||
ok : 'Aceptar',
|
||||
cancel : 'Cancelar',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'General',
|
||||
advancedTab : 'Avanzado',
|
||||
validateNumberFailed : 'El valor no es un número.',
|
||||
confirmNewPage : 'Cualquier cambio que no se haya guardado se perderá.\r\n¿Está seguro de querer crear una nueva página?',
|
||||
confirmCancel : 'Algunas de las opciones se han cambiado.\r\n¿Está seguro de querer cerrar el diálogo?',
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, no disponible</span>'
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Insertar Caracter Especial',
|
||||
title : 'Seleccione un caracter especial',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Insertar/Editar Vínculo',
|
||||
other : '<otro>',
|
||||
menu : 'Editar Vínculo',
|
||||
title : 'Vínculo',
|
||||
info : 'Información de Vínculo',
|
||||
target : 'Destino',
|
||||
upload : 'Cargar',
|
||||
advanced : 'Avanzado',
|
||||
type : 'Tipo de vínculo',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Referencia en esta página',
|
||||
toEmail : 'E-Mail',
|
||||
targetFrame : '<marco>',
|
||||
targetPopup : '<ventana emergente>',
|
||||
targetFrameName : 'Nombre del Marco Destino',
|
||||
targetPopupName : 'Nombre de Ventana Emergente',
|
||||
popupFeatures : 'Características de Ventana Emergente',
|
||||
popupResizable : 'Redimensionable',
|
||||
popupStatusBar : 'Barra de Estado',
|
||||
popupLocationBar: 'Barra de ubicación',
|
||||
popupToolbar : 'Barra de Herramientas',
|
||||
popupMenuBar : 'Barra de Menú',
|
||||
popupFullScreen : 'Pantalla Completa (IE)',
|
||||
popupScrollBars : 'Barras de desplazamiento',
|
||||
popupDependent : 'Dependiente (Netscape)',
|
||||
popupWidth : 'Anchura',
|
||||
popupLeft : 'Posición Izquierda',
|
||||
popupHeight : 'Altura',
|
||||
popupTop : 'Posición Derecha',
|
||||
id : 'Id',
|
||||
langDir : 'Orientación',
|
||||
langDirLTR : 'Izquierda a Derecha (LTR)',
|
||||
langDirRTL : 'Derecha a Izquierda (RTL)',
|
||||
acccessKey : 'Clave de Acceso',
|
||||
name : 'Nombre',
|
||||
langCode : 'Código idioma',
|
||||
tabIndex : 'Indice de tabulación',
|
||||
advisoryTitle : 'Título',
|
||||
advisoryContentType : 'Tipo de Contenido',
|
||||
cssClasses : 'Clases de hojas de estilo',
|
||||
charset : 'Fuente de caracteres vinculado',
|
||||
styles : 'Estilo',
|
||||
selectAnchor : 'Seleccionar una referencia',
|
||||
anchorName : 'Por Nombre de Referencia',
|
||||
anchorId : 'Por ID de elemento',
|
||||
emailAddress : 'Dirección de E-Mail',
|
||||
emailSubject : 'Título del Mensaje',
|
||||
emailBody : 'Cuerpo del Mensaje',
|
||||
noAnchors : '(No hay referencias disponibles en el documento)',
|
||||
noUrl : 'Por favor tipee el vínculo URL',
|
||||
noEmail : 'Por favor tipee la dirección de e-mail'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Referencia',
|
||||
menu : 'Propiedades de Referencia',
|
||||
title : 'Propiedades de Referencia',
|
||||
name : 'Nombre de la Referencia',
|
||||
errorName : 'Por favor, complete el nombre de la Referencia'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Buscar y Reemplazar',
|
||||
find : 'Buscar',
|
||||
replace : 'Reemplazar',
|
||||
findWhat : 'Texto a buscar:',
|
||||
replaceWith : 'Reemplazar con:',
|
||||
notFoundMsg : 'El texto especificado no ha sido encontrado.',
|
||||
matchCase : 'Coincidir may/min',
|
||||
matchWord : 'Coincidir toda la palabra',
|
||||
matchCyclic : 'Buscar en todo el contenido',
|
||||
replaceAll : 'Reemplazar Todo',
|
||||
replaceSuccessMsg : 'La expresión buscada ha sido reemplazada %1 veces.'
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Tabla',
|
||||
title : 'Propiedades de Tabla',
|
||||
menu : 'Propiedades de Tabla',
|
||||
deleteTable : 'Eliminar Tabla',
|
||||
rows : 'Filas',
|
||||
columns : 'Columnas',
|
||||
border : 'Tamaño de Borde',
|
||||
align : 'Alineación',
|
||||
alignLeft : 'Izquierda',
|
||||
alignCenter : 'Centrado',
|
||||
alignRight : 'Derecha',
|
||||
width : 'Anchura',
|
||||
widthPx : 'pixeles',
|
||||
widthPc : 'porcentaje',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Altura',
|
||||
cellSpace : 'Esp. e/celdas',
|
||||
cellPad : 'Esp. interior',
|
||||
caption : 'Título',
|
||||
summary : 'Síntesis',
|
||||
headers : 'Encabezados',
|
||||
headersNone : 'Ninguno',
|
||||
headersColumn : 'Primera columna',
|
||||
headersRow : 'Primera fila',
|
||||
headersBoth : 'Ambas',
|
||||
invalidRows : 'El número de filas debe ser un número mayor que 0.',
|
||||
invalidCols : 'El número de columnas debe ser un número mayor que 0.',
|
||||
invalidBorder : 'El tamaño del borde debe ser un número.',
|
||||
invalidWidth : 'La anchura de tabla debe ser un número.',
|
||||
invalidHeight : 'La altura de tabla debe ser un número.',
|
||||
invalidCellSpacing : 'El espaciado entre celdas debe ser un número.',
|
||||
invalidCellPadding : 'El espaciado interior debe ser un número.',
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Celda',
|
||||
insertBefore : 'Insertar celda a la izquierda',
|
||||
insertAfter : 'Insertar celda a la derecha',
|
||||
deleteCell : 'Eliminar Celdas',
|
||||
merge : 'Combinar Celdas',
|
||||
mergeRight : 'Combinar a la derecha',
|
||||
mergeDown : 'Combinar hacia abajo',
|
||||
splitHorizontal : 'Dividir la celda horizontalmente',
|
||||
splitVertical : 'Dividir la celda verticalmente',
|
||||
title : 'Propiedades de celda',
|
||||
cellType : 'Tipo de Celda',
|
||||
rowSpan : 'Expandir filas',
|
||||
colSpan : 'Expandir columnas',
|
||||
wordWrap : 'Ajustar al contenido',
|
||||
hAlign : 'Alineación Horizontal',
|
||||
vAlign : 'Alineación Vertical',
|
||||
alignTop : 'Arriba',
|
||||
alignMiddle : 'Medio',
|
||||
alignBottom : 'Abajo',
|
||||
alignBaseline : 'Linea de base',
|
||||
bgColor : 'Color de fondo',
|
||||
borderColor : 'Color de borde',
|
||||
data : 'Datos',
|
||||
header : 'Encabezado',
|
||||
yes : 'Sí',
|
||||
no : 'No',
|
||||
invalidWidth : 'La anchura de celda debe ser un número.',
|
||||
invalidHeight : 'La altura de celda debe ser un número.',
|
||||
invalidRowSpan : 'La expansión de filas debe ser un número entero.',
|
||||
invalidColSpan : 'La expansión de columnas debe ser un número entero.',
|
||||
chooseColor : 'Elegir'
|
||||
},
|
||||
|
||||
row :
|
||||
{
|
||||
menu : 'Fila',
|
||||
insertBefore : 'Insertar fila en la parte superior',
|
||||
insertAfter : 'Insertar fila en la parte inferior',
|
||||
deleteRow : 'Eliminar Filas'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Columna',
|
||||
insertBefore : 'Insertar columna a la izquierda',
|
||||
insertAfter : 'Insertar columna a la derecha',
|
||||
deleteColumn : 'Eliminar Columnas'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Propiedades de Botón',
|
||||
text : 'Texto (Valor)',
|
||||
type : 'Tipo',
|
||||
typeBtn : 'Boton',
|
||||
typeSbm : 'Enviar',
|
||||
typeRst : 'Reestablecer'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Propiedades de Casilla',
|
||||
radioTitle : 'Propiedades de Botón de Radio',
|
||||
value : 'Valor',
|
||||
selected : 'Seleccionado'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Propiedades de Formulario',
|
||||
menu : 'Propiedades de Formulario',
|
||||
action : 'Acción',
|
||||
method : 'Método',
|
||||
encoding : 'Codificación'
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Propiedades de Campo de Selección',
|
||||
selectInfo : 'Información',
|
||||
opAvail : 'Opciones disponibles',
|
||||
value : 'Valor',
|
||||
size : 'Tamaño',
|
||||
lines : 'Lineas',
|
||||
chkMulti : 'Permitir múltiple selección',
|
||||
opText : 'Texto',
|
||||
opValue : 'Valor',
|
||||
btnAdd : 'Agregar',
|
||||
btnModify : 'Modificar',
|
||||
btnUp : 'Subir',
|
||||
btnDown : 'Bajar',
|
||||
btnSetValue : 'Establecer como predeterminado',
|
||||
btnDelete : 'Eliminar'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Propiedades de Area de Texto',
|
||||
cols : 'Columnas',
|
||||
rows : 'Filas'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Propiedades de Campo de Texto',
|
||||
name : 'Nombre',
|
||||
value : 'Valor',
|
||||
charWidth : 'Caracteres de ancho',
|
||||
maxChars : 'Máximo caracteres',
|
||||
type : 'Tipo',
|
||||
typeText : 'Texto',
|
||||
typePass : 'Contraseña'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Propiedades de Campo Oculto',
|
||||
name : 'Nombre',
|
||||
value : 'Valor'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Propiedades de Imagen',
|
||||
titleButton : 'Propiedades de Botón de Imagen',
|
||||
menu : 'Propiedades de Imagen',
|
||||
infoTab : 'Información de Imagen',
|
||||
btnUpload : 'Enviar al Servidor',
|
||||
upload : 'Cargar',
|
||||
alt : 'Texto Alternativo',
|
||||
width : 'Anchura',
|
||||
height : 'Altura',
|
||||
lockRatio : 'Proporcional',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Tamaño Original',
|
||||
border : 'Borde',
|
||||
hSpace : 'Esp.Horiz',
|
||||
vSpace : 'Esp.Vert',
|
||||
align : 'Alineación',
|
||||
alignLeft : 'Izquierda',
|
||||
alignRight : 'Derecha',
|
||||
alertUrl : 'Por favor escriba la URL de la imagen',
|
||||
linkTab : 'Vínculo',
|
||||
button2Img : '¿Desea convertir el botón de imagen en una simple imagen?',
|
||||
img2Button : '¿Desea convertir la imagen en un botón de imagen?',
|
||||
urlMissing : 'Debe indicar la URL de la imagen.',
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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 : 'Propiedades de Flash',
|
||||
propertiesTab : 'Propiedades',
|
||||
title : 'Propiedades de Flash',
|
||||
chkPlay : 'Autoejecución',
|
||||
chkLoop : 'Repetir',
|
||||
chkMenu : 'Activar Menú Flash',
|
||||
chkFull : 'Permitir pantalla completa',
|
||||
scale : 'Escala',
|
||||
scaleAll : 'Mostrar todo',
|
||||
scaleNoBorder : 'Sin Borde',
|
||||
scaleFit : 'Ajustado',
|
||||
access : 'Acceso de scripts',
|
||||
accessAlways : 'Siempre',
|
||||
accessSameDomain: 'Mismo dominio',
|
||||
accessNever : 'Nunca',
|
||||
align : 'Alineación',
|
||||
alignLeft : 'Izquierda',
|
||||
alignAbsBottom : 'Abs inferior',
|
||||
alignAbsMiddle : 'Abs centro',
|
||||
alignBaseline : 'Línea de base',
|
||||
alignBottom : 'Pie',
|
||||
alignMiddle : 'Centro',
|
||||
alignRight : 'Derecha',
|
||||
alignTextTop : 'Tope del texto',
|
||||
alignTop : 'Tope',
|
||||
quality : 'Calidad',
|
||||
qualityBest : 'La mejor',
|
||||
qualityHigh : 'Alta',
|
||||
qualityAutoHigh : 'Auto Alta',
|
||||
qualityMedium : 'Media',
|
||||
qualityAutoLow : 'Auto Baja',
|
||||
qualityLow : 'Baja',
|
||||
windowModeWindow: 'Ventana',
|
||||
windowModeOpaque: 'Opaco',
|
||||
windowModeTransparent : 'Transparente',
|
||||
windowMode : 'WindowMode',
|
||||
flashvars : 'Opciones',
|
||||
bgcolor : 'Color de Fondo',
|
||||
width : 'Anchura',
|
||||
height : 'Altura',
|
||||
hSpace : 'Esp.Horiz',
|
||||
vSpace : 'Esp.Vert',
|
||||
validateSrc : 'Por favor escriba el vínculo URL',
|
||||
validateWidth : 'Anchura debe ser un número.',
|
||||
validateHeight : 'Altura debe ser un número.',
|
||||
validateHSpace : 'Esp.Horiz debe ser un número.',
|
||||
validateVSpace : 'Esp.Vert debe ser un número.'
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Ortografía',
|
||||
title : 'Comprobar ortografía',
|
||||
notAvailable : 'Lo sentimos pero el servicio no está disponible.',
|
||||
errorLoading : 'Error cargando la aplicación del servidor: %s.',
|
||||
notInDic : 'No se encuentra en el Diccionario',
|
||||
changeTo : 'Cambiar a',
|
||||
btnIgnore : 'Ignorar',
|
||||
btnIgnoreAll : 'Ignorar Todo',
|
||||
btnReplace : 'Reemplazar',
|
||||
btnReplaceAll : 'Reemplazar Todo',
|
||||
btnUndo : 'Deshacer',
|
||||
noSuggestions : '- No hay sugerencias -',
|
||||
progress : 'Control de Ortografía en progreso...',
|
||||
noMispell : 'Control finalizado: no se encontraron errores',
|
||||
noChanges : 'Control finalizado: no se ha cambiado ninguna palabra',
|
||||
oneChange : 'Control finalizado: se ha cambiado una palabra',
|
||||
manyChanges : 'Control finalizado: se ha cambiado %1 palabras',
|
||||
ieSpellDownload : 'Módulo de Control de Ortografía no instalado.\r\n¿Desea descargarlo ahora?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Emoticons',
|
||||
title : 'Insertar un Emoticon',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 elemento'
|
||||
},
|
||||
|
||||
numberedlist : 'Numeración',
|
||||
bulletedlist : 'Viñetas',
|
||||
indent : 'Aumentar Sangría',
|
||||
outdent : 'Disminuir Sangría',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Alinear a Izquierda',
|
||||
center : 'Centrar',
|
||||
right : 'Alinear a Derecha',
|
||||
block : 'Justificado'
|
||||
},
|
||||
|
||||
blockquote : 'Cita',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Pegar',
|
||||
cutError : 'La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de cortado.\r\nPor favor use el teclado (Ctrl/Cmd+X).',
|
||||
copyError : 'La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de copiado.\r\nPor favor use el teclado (Ctrl/Cmd+C).',
|
||||
pasteMsg : 'Por favor pegue dentro del cuadro utilizando el teclado (<STRONG>Ctrl/Cmd+V</STRONG>);\r\nluego presione <STRONG>Aceptar</STRONG>.',
|
||||
securityMsg : 'Debido a la configuración de seguridad de su navegador, el editor no tiene acceso al portapapeles.\r\nEs necesario que lo pegue de nuevo en esta ventana.',
|
||||
pasteArea : 'Paste Area' // MISSING
|
||||
},
|
||||
|
||||
pastefromword :
|
||||
{
|
||||
confirmCleanup : 'El texto que desea parece provenir de Word.\r\n¿Desea depurarlo antes de pegarlo?',
|
||||
toolbar : 'Pegar desde Word',
|
||||
title : 'Pegar desde Word',
|
||||
error : 'No ha sido posible limpiar los datos debido a un error interno'
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Pegar como Texto Plano',
|
||||
title : 'Pegar como Texto Plano'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Plantillas',
|
||||
title : 'Contenido de Plantillas',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Reemplazar el contenido actual',
|
||||
selectPromptMsg : 'Por favor selecciona la plantilla a abrir en el editor<br>(el contenido actual se perderá):',
|
||||
emptyListMsg : '(No hay plantillas definidas)'
|
||||
},
|
||||
|
||||
showBlocks : 'Mostrar bloques',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Estilo',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Estilos de párrafo',
|
||||
panelTitle2 : 'Estilos de carácter',
|
||||
panelTitle3 : 'Estilos de objeto'
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Formato',
|
||||
panelTitle : 'Formato',
|
||||
|
||||
tag_p : 'Normal',
|
||||
tag_pre : 'Con formato',
|
||||
tag_address : 'Dirección',
|
||||
tag_h1 : 'Encabezado 1',
|
||||
tag_h2 : 'Encabezado 2',
|
||||
tag_h3 : 'Encabezado 3',
|
||||
tag_h4 : 'Encabezado 4',
|
||||
tag_h5 : 'Encabezado 5',
|
||||
tag_h6 : 'Encabezado 6',
|
||||
tag_div : 'Normal (DIV)'
|
||||
},
|
||||
|
||||
div :
|
||||
{
|
||||
title : 'Crear contenedor DIV',
|
||||
toolbar : 'Crear contenedor DIV',
|
||||
cssClassInputLabel : 'Clase de hoja de estilos',
|
||||
styleSelectLabel : 'Estilo',
|
||||
IdInputLabel : 'Id',
|
||||
languageCodeInputLabel : ' Codigo de idioma',
|
||||
inlineStyleInputLabel : 'Estilo',
|
||||
advisoryTitleInputLabel : 'Título',
|
||||
langDirLabel : 'Orientación',
|
||||
langDirLTRLabel : 'Izquierda a Derecha (LTR)',
|
||||
langDirRTLLabel : 'Derecha a Izquierda (RTL)',
|
||||
edit : 'Editar Div',
|
||||
remove : 'Quitar Div'
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Fuente',
|
||||
voiceLabel : 'Fuente',
|
||||
panelTitle : 'Fuente'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Tamaño',
|
||||
voiceLabel : 'Tamaño de fuente',
|
||||
panelTitle : 'Tamaño'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Color de Texto',
|
||||
bgColorTitle : 'Color de Fondo',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
auto : 'Automático',
|
||||
more : 'Más Colores...'
|
||||
},
|
||||
|
||||
colors :
|
||||
{
|
||||
'000' : 'Negro',
|
||||
'800000' : 'Marrón oscuro',
|
||||
'8B4513' : 'Marrón tierra',
|
||||
'2F4F4F' : 'Pizarra Oscuro',
|
||||
'008080' : 'Azul verdoso',
|
||||
'000080' : 'Azul marino',
|
||||
'4B0082' : 'Añil',
|
||||
'696969' : 'Gris oscuro',
|
||||
'B22222' : 'Ladrillo',
|
||||
'A52A2A' : 'Marrón',
|
||||
'DAA520' : 'Oro oscuro',
|
||||
'006400' : 'Verde oscuro',
|
||||
'40E0D0' : 'Turquesa',
|
||||
'0000CD' : 'Azul medio-oscuro',
|
||||
'800080' : 'Púrpura',
|
||||
'808080' : 'Gris',
|
||||
'F00' : 'Rojo',
|
||||
'FF8C00' : 'Naranja oscuro',
|
||||
'FFD700' : 'Oro',
|
||||
'008000' : 'Verde',
|
||||
'0FF' : 'Cian',
|
||||
'00F' : 'Azul',
|
||||
'EE82EE' : 'Violeta',
|
||||
'A9A9A9' : 'Gris medio',
|
||||
'FFA07A' : 'Salmón claro',
|
||||
'FFA500' : 'Naranja',
|
||||
'FFFF00' : 'Amarillo',
|
||||
'00FF00' : 'Lima',
|
||||
'AFEEEE' : 'Turquesa claro',
|
||||
'ADD8E6' : 'Azul claro',
|
||||
'DDA0DD' : 'Violeta claro',
|
||||
'D3D3D3' : 'Gris claro',
|
||||
'FFF0F5' : 'Lavanda rojizo',
|
||||
'FAEBD7' : 'Blanco antiguo',
|
||||
'FFFFE0' : 'Amarillo claro',
|
||||
'F0FFF0' : 'Miel',
|
||||
'F0FFFF' : 'Azul celeste',
|
||||
'F0F8FF' : 'Azul pálido',
|
||||
'E6E6FA' : 'Lavanda',
|
||||
'FFF' : 'Blanco'
|
||||
},
|
||||
|
||||
scayt :
|
||||
{
|
||||
title : 'Comprobar Ortografía Mientras Escribe',
|
||||
enable : 'Activar Corrector',
|
||||
disable : 'Desactivar Corrector',
|
||||
about : 'Acerca de Corrector',
|
||||
toggle : 'Cambiar Corrector',
|
||||
options : 'Opciones',
|
||||
langs : 'Idiomas',
|
||||
moreSuggestions : 'Más sugerencias',
|
||||
ignore : 'Ignorar',
|
||||
ignoreAll : 'Ignorar Todas',
|
||||
addWord : 'Añadir palabra',
|
||||
emptyDic : 'El nombre del diccionario no puede estar en blanco.',
|
||||
optionsTab : 'Opciones',
|
||||
languagesTab : 'Idiomas',
|
||||
dictionariesTab : 'Diccionarios',
|
||||
aboutTab : 'Acerca de'
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'Acerca de CKEditor',
|
||||
dlgTitle : 'Acerca de CKEditor',
|
||||
moreInfo : 'Para información de licencia, por favor visite nuestro sitio web:',
|
||||
copy : 'Copyright © $1. Todos los derechos reservados.'
|
||||
},
|
||||
|
||||
maximize : 'Maximizar',
|
||||
minimize : 'Minimizar',
|
||||
|
||||
fakeobjects :
|
||||
{
|
||||
anchor : 'Ancla',
|
||||
flash : 'Animación flash',
|
||||
div : 'Salto de página',
|
||||
unknown : 'Objeto desconocido'
|
||||
},
|
||||
|
||||
resize : 'Arrastre para redimensionar',
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Elegir color',
|
||||
highlight : 'Muestra',
|
||||
selected : 'Elegido',
|
||||
clear : 'Borrar'
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Contraer barra de herramientas',
|
||||
toolbarExpand : 'Expandir barra de herramientas'
|
||||
};
|
708
phpgwapi/js/ckeditor3/_source/lang/et.js
Normal file
708
phpgwapi/js/ckeditor3/_source/lang/et.js
Normal file
@ -0,0 +1,708 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Defines the {@link CKEDITOR.lang} object, for the
|
||||
* Estonian language.
|
||||
*/
|
||||
|
||||
/**#@+
|
||||
@type String
|
||||
@example
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constains the dictionary of language entries.
|
||||
* @namespace
|
||||
*/
|
||||
CKEDITOR.lang['et'] =
|
||||
{
|
||||
/**
|
||||
* 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',
|
||||
|
||||
/*
|
||||
* 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
|
||||
|
||||
// ARIA descriptions.
|
||||
toolbar : 'Toolbar', // MISSING
|
||||
editor : 'Rich Text Editor', // MISSING
|
||||
|
||||
// Toolbar buttons without dialogs.
|
||||
source : 'Lähtekood',
|
||||
newPage : 'Uus leht',
|
||||
save : 'Salvesta',
|
||||
preview : 'Eelvaade',
|
||||
cut : 'Lõika',
|
||||
copy : 'Kopeeri',
|
||||
paste : 'Kleebi',
|
||||
print : 'Prindi',
|
||||
underline : 'Allajoonitud',
|
||||
bold : 'Paks',
|
||||
italic : 'Kursiiv',
|
||||
selectAll : 'Vali kõik',
|
||||
removeFormat : 'Eemalda vorming',
|
||||
strike : 'Läbijoonitud',
|
||||
subscript : 'Allindeks',
|
||||
superscript : 'Ülaindeks',
|
||||
horizontalrule : 'Sisesta horisontaaljoon',
|
||||
pagebreak : 'Sisesta lehevahetuskoht',
|
||||
unlink : 'Eemalda link',
|
||||
undo : 'Võta tagasi',
|
||||
redo : 'Korda toimingut',
|
||||
|
||||
// Common messages and labels.
|
||||
common :
|
||||
{
|
||||
browseServer : 'Sirvi serverit',
|
||||
url : 'URL',
|
||||
protocol : 'Protokoll',
|
||||
upload : 'Lae üles',
|
||||
uploadSubmit : 'Saada serverissee',
|
||||
image : 'Pilt',
|
||||
flash : 'Flash',
|
||||
form : 'Vorm',
|
||||
checkbox : 'Märkeruut',
|
||||
radio : 'Raadionupp',
|
||||
textField : 'Tekstilahter',
|
||||
textarea : 'Tekstiala',
|
||||
hiddenField : 'Varjatud lahter',
|
||||
button : 'Nupp',
|
||||
select : 'Valiklahter',
|
||||
imageButton : 'Piltnupp',
|
||||
notSet : '<määramata>',
|
||||
id : 'Id',
|
||||
name : 'Nimi',
|
||||
langDir : 'Keele suund',
|
||||
langDirLtr : 'Vasakult paremale (LTR)',
|
||||
langDirRtl : 'Paremalt vasakule (RTL)',
|
||||
langCode : 'Keele kood',
|
||||
longDescr : 'Pikk kirjeldus URL',
|
||||
cssClass : 'Stiilistiku klassid',
|
||||
advisoryTitle : 'Juhendav tiitel',
|
||||
cssStyle : 'Laad',
|
||||
ok : 'OK',
|
||||
cancel : 'Loobu',
|
||||
close : 'Close', // MISSING
|
||||
preview : 'Preview', // MISSING
|
||||
generalTab : 'General', // MISSING
|
||||
advancedTab : 'Täpsemalt',
|
||||
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
|
||||
|
||||
// Put the voice-only part of the label in the span.
|
||||
unavailable : '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
|
||||
},
|
||||
|
||||
contextmenu :
|
||||
{
|
||||
options : 'Context Menu Options' // MISSING
|
||||
},
|
||||
|
||||
// Special char dialog.
|
||||
specialChar :
|
||||
{
|
||||
toolbar : 'Sisesta erimärk',
|
||||
title : 'Vali erimärk',
|
||||
options : 'Special Character Options' // MISSING
|
||||
},
|
||||
|
||||
// Link dialog.
|
||||
link :
|
||||
{
|
||||
toolbar : 'Sisesta link / Muuda linki',
|
||||
other : '<muu>',
|
||||
menu : 'Muuda linki',
|
||||
title : 'Link',
|
||||
info : 'Lingi info',
|
||||
target : 'Sihtkoht',
|
||||
upload : 'Lae üles',
|
||||
advanced : 'Täpsemalt',
|
||||
type : 'Lingi tüüp',
|
||||
toUrl : 'URL', // MISSING
|
||||
toAnchor : 'Ankur sellel lehel',
|
||||
toEmail : 'E-post',
|
||||
targetFrame : '<raam>',
|
||||
targetPopup : '<hüpikaken>',
|
||||
targetFrameName : 'Sihtmärk raami nimi',
|
||||
targetPopupName : 'Hüpikakna nimi',
|
||||
popupFeatures : 'Hüpikakna omadused',
|
||||
popupResizable : 'Resizable', // MISSING
|
||||
popupStatusBar : 'Olekuriba',
|
||||
popupLocationBar: 'Aadressiriba',
|
||||
popupToolbar : 'Tööriistariba',
|
||||
popupMenuBar : 'Menüüriba',
|
||||
popupFullScreen : 'Täisekraan (IE)',
|
||||
popupScrollBars : 'Kerimisribad',
|
||||
popupDependent : 'Sõltuv (Netscape)',
|
||||
popupWidth : 'Laius',
|
||||
popupLeft : 'Vasak asukoht',
|
||||
popupHeight : 'Kõrgus',
|
||||
popupTop : 'Ülemine asukoht',
|
||||
id : 'Id', // MISSING
|
||||
langDir : 'Keele suund',
|
||||
langDirLTR : 'Vasakult paremale (LTR)',
|
||||
langDirRTL : 'Paremalt vasakule (RTL)',
|
||||
acccessKey : 'Juurdepääsu võti',
|
||||
name : 'Nimi',
|
||||
langCode : 'Keele suund',
|
||||
tabIndex : 'Tab indeks',
|
||||
advisoryTitle : 'Juhendav tiitel',
|
||||
advisoryContentType : 'Juhendava sisu tüüp',
|
||||
cssClasses : 'Stiilistiku klassid',
|
||||
charset : 'Lingitud ressurssi märgistik',
|
||||
styles : 'Laad',
|
||||
selectAnchor : 'Vali ankur',
|
||||
anchorName : 'Ankru nime järgi',
|
||||
anchorId : 'Elemendi id järgi',
|
||||
emailAddress : 'E-posti aadress',
|
||||
emailSubject : 'Sõnumi teema',
|
||||
emailBody : 'Sõnumi tekst',
|
||||
noAnchors : '(Selles dokumendis ei ole ankruid)',
|
||||
noUrl : 'Palun kirjuta lingi URL',
|
||||
noEmail : 'Palun kirjuta E-Posti aadress'
|
||||
},
|
||||
|
||||
// Anchor dialog
|
||||
anchor :
|
||||
{
|
||||
toolbar : 'Sisesta ankur / Muuda ankrut',
|
||||
menu : 'Ankru omadused',
|
||||
title : 'Ankru omadused',
|
||||
name : 'Ankru nimi',
|
||||
errorName : 'Palun sisest ankru nimi'
|
||||
},
|
||||
|
||||
// Find And Replace Dialog
|
||||
findAndReplace :
|
||||
{
|
||||
title : 'Otsi ja asenda',
|
||||
find : 'Otsi',
|
||||
replace : 'Asenda',
|
||||
findWhat : 'Leia mida:',
|
||||
replaceWith : 'Asenda millega:',
|
||||
notFoundMsg : 'Valitud teksti ei leitud.',
|
||||
matchCase : 'Erista suur- ja väiketähti',
|
||||
matchWord : 'Otsi terviklike sõnu',
|
||||
matchCyclic : 'Match cyclic', // MISSING
|
||||
replaceAll : 'Asenda kõik',
|
||||
replaceSuccessMsg : '%1 occurrence(s) replaced.' // MISSING
|
||||
},
|
||||
|
||||
// Table Dialog
|
||||
table :
|
||||
{
|
||||
toolbar : 'Tabel',
|
||||
title : 'Tabeli atribuudid',
|
||||
menu : 'Tabeli atribuudid',
|
||||
deleteTable : 'Kustuta tabel',
|
||||
rows : 'Read',
|
||||
columns : 'Veerud',
|
||||
border : 'Joone suurus',
|
||||
align : 'Joondus',
|
||||
alignLeft : 'Vasak',
|
||||
alignCenter : 'Kesk',
|
||||
alignRight : 'Parem',
|
||||
width : 'Laius',
|
||||
widthPx : 'pikslit',
|
||||
widthPc : 'protsenti',
|
||||
widthUnit : 'width unit', // MISSING
|
||||
height : 'Kõrgus',
|
||||
cellSpace : 'Lahtri vahe',
|
||||
cellPad : 'Lahtri täidis',
|
||||
caption : 'Tabeli tiitel',
|
||||
summary : 'Kokkuvõte',
|
||||
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 number.', // MISSING
|
||||
invalidCellPadding : 'Cell padding must be a number.', // MISSING
|
||||
|
||||
cell :
|
||||
{
|
||||
menu : 'Lahter',
|
||||
insertBefore : 'Sisesta lahter enne',
|
||||
insertAfter : 'Sisesta lahter peale',
|
||||
deleteCell : 'Eemalda lahtrid',
|
||||
merge : 'Ühenda lahtrid',
|
||||
mergeRight : 'Ühenda paremale',
|
||||
mergeDown : 'Ühenda alla',
|
||||
splitHorizontal : 'Poolita lahter horisontaalselt',
|
||||
splitVertical : 'Poolita lahter vertikaalselt',
|
||||
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
|
||||
alignTop : 'Top', // MISSING
|
||||
alignMiddle : 'Middle', // MISSING
|
||||
alignBottom : 'Bottom', // 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 : 'Rida',
|
||||
insertBefore : 'Sisesta rida enne',
|
||||
insertAfter : 'Sisesta rida peale',
|
||||
deleteRow : 'Eemalda read'
|
||||
},
|
||||
|
||||
column :
|
||||
{
|
||||
menu : 'Veerg',
|
||||
insertBefore : 'Sisesta veerg enne',
|
||||
insertAfter : 'Sisesta veerg peale',
|
||||
deleteColumn : 'Eemalda veerud'
|
||||
}
|
||||
},
|
||||
|
||||
// Button Dialog.
|
||||
button :
|
||||
{
|
||||
title : 'Nupu omadused',
|
||||
text : 'Tekst (väärtus)',
|
||||
type : 'Tüüp',
|
||||
typeBtn : 'Nupp',
|
||||
typeSbm : 'Saada',
|
||||
typeRst : 'Lähtesta'
|
||||
},
|
||||
|
||||
// Checkbox and Radio Button Dialogs.
|
||||
checkboxAndRadio :
|
||||
{
|
||||
checkboxTitle : 'Märkeruudu omadused',
|
||||
radioTitle : 'Raadionupu omadused',
|
||||
value : 'Väärtus',
|
||||
selected : 'Valitud'
|
||||
},
|
||||
|
||||
// Form Dialog.
|
||||
form :
|
||||
{
|
||||
title : 'Vormi omadused',
|
||||
menu : 'Vormi omadused',
|
||||
action : 'Toiming',
|
||||
method : 'Meetod',
|
||||
encoding : 'Encoding' // MISSING
|
||||
},
|
||||
|
||||
// Select Field Dialog.
|
||||
select :
|
||||
{
|
||||
title : 'Valiklahtri omadused',
|
||||
selectInfo : 'Info',
|
||||
opAvail : 'Võimalikud valikud',
|
||||
value : 'Väärtus',
|
||||
size : 'Suurus',
|
||||
lines : 'ridu',
|
||||
chkMulti : 'Võimalda mitu valikut',
|
||||
opText : 'Tekst',
|
||||
opValue : 'Väärtus',
|
||||
btnAdd : 'Lisa',
|
||||
btnModify : 'Muuda',
|
||||
btnUp : 'Üles',
|
||||
btnDown : 'Alla',
|
||||
btnSetValue : 'Sea valitud olekuna',
|
||||
btnDelete : 'Kustuta'
|
||||
},
|
||||
|
||||
// Textarea Dialog.
|
||||
textarea :
|
||||
{
|
||||
title : 'Tekstiala omadused',
|
||||
cols : 'Veerge',
|
||||
rows : 'Ridu'
|
||||
},
|
||||
|
||||
// Text Field Dialog.
|
||||
textfield :
|
||||
{
|
||||
title : 'Tekstilahtri omadused',
|
||||
name : 'Nimi',
|
||||
value : 'Väärtus',
|
||||
charWidth : 'Laius (tähemärkides)',
|
||||
maxChars : 'Maksimaalselt tähemärke',
|
||||
type : 'Tüüp',
|
||||
typeText : 'Tekst',
|
||||
typePass : 'Parool'
|
||||
},
|
||||
|
||||
// Hidden Field Dialog.
|
||||
hidden :
|
||||
{
|
||||
title : 'Varjatud lahtri omadused',
|
||||
name : 'Nimi',
|
||||
value : 'Väärtus'
|
||||
},
|
||||
|
||||
// Image Dialog.
|
||||
image :
|
||||
{
|
||||
title : 'Pildi atribuudid',
|
||||
titleButton : 'Piltnupu omadused',
|
||||
menu : 'Pildi atribuudid',
|
||||
infoTab : 'Pildi info',
|
||||
btnUpload : 'Saada serverissee',
|
||||
upload : 'Lae üles',
|
||||
alt : 'Alternatiivne tekst',
|
||||
width : 'Laius',
|
||||
height : 'Kõrgus',
|
||||
lockRatio : 'Lukusta kuvasuhe',
|
||||
unlockRatio : 'Unlock Ratio', // MISSING
|
||||
resetSize : 'Lähtesta suurus',
|
||||
border : 'Joon',
|
||||
hSpace : 'H. vaheruum',
|
||||
vSpace : 'V. vaheruum',
|
||||
align : 'Joondus',
|
||||
alignLeft : 'Vasak',
|
||||
alignRight : 'Paremale',
|
||||
alertUrl : 'Palun kirjuta pildi URL',
|
||||
linkTab : 'Link',
|
||||
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
|
||||
validateWidth : 'Width must be a whole number.', // MISSING
|
||||
validateHeight : 'Height must be a whole number.', // 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 omadused',
|
||||
propertiesTab : 'Properties', // MISSING
|
||||
title : 'Flash omadused',
|
||||
chkPlay : 'Automaatne start ',
|
||||
chkLoop : 'Korduv',
|
||||
chkMenu : 'Võimalda flash menüü',
|
||||
chkFull : 'Allow Fullscreen', // MISSING
|
||||
scale : 'Mastaap',
|
||||
scaleAll : 'Näita kõike',
|
||||
scaleNoBorder : 'Äärist ei ole',
|
||||
scaleFit : 'Täpne sobivus',
|
||||
access : 'Script Access', // MISSING
|
||||
accessAlways : 'Always', // MISSING
|
||||
accessSameDomain: 'Same domain', // MISSING
|
||||
accessNever : 'Never', // MISSING
|
||||
align : 'Joondus',
|
||||
alignLeft : 'Vasak',
|
||||
alignAbsBottom : 'Abs alla',
|
||||
alignAbsMiddle : 'Abs keskele',
|
||||
alignBaseline : 'Baasjoonele',
|
||||
alignBottom : 'Alla',
|
||||
alignMiddle : 'Keskele',
|
||||
alignRight : 'Paremale',
|
||||
alignTextTop : 'Tekstit üles',
|
||||
alignTop : 'Üles',
|
||||
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 : 'Tausta värv',
|
||||
width : 'Laius',
|
||||
height : 'Kõrgus',
|
||||
hSpace : 'H. vaheruum',
|
||||
vSpace : 'V. vaheruum',
|
||||
validateSrc : 'Palun kirjuta lingi URL',
|
||||
validateWidth : 'Width must be a number.', // MISSING
|
||||
validateHeight : 'Height must be a number.', // MISSING
|
||||
validateHSpace : 'HSpace must be a number.', // MISSING
|
||||
validateVSpace : 'VSpace must be a number.' // MISSING
|
||||
},
|
||||
|
||||
// Speller Pages Dialog
|
||||
spellCheck :
|
||||
{
|
||||
toolbar : 'Kontrolli õigekirja',
|
||||
title : 'Spell Check', // MISSING
|
||||
notAvailable : 'Sorry, but service is unavailable now.', // MISSING
|
||||
errorLoading : 'Error loading application service host: %s.', // MISSING
|
||||
notInDic : 'Puudub sõnastikust',
|
||||
changeTo : 'Muuda',
|
||||
btnIgnore : 'Ignoreeri',
|
||||
btnIgnoreAll : 'Ignoreeri kõiki',
|
||||
btnReplace : 'Asenda',
|
||||
btnReplaceAll : 'Asenda kõik',
|
||||
btnUndo : 'Võta tagasi',
|
||||
noSuggestions : '- Soovitused puuduvad -',
|
||||
progress : 'Toimub õigekirja kontroll...',
|
||||
noMispell : 'Õigekirja kontroll sooritatud: õigekirjuvigu ei leitud',
|
||||
noChanges : 'Õigekirja kontroll sooritatud: ühtegi sõna ei muudetud',
|
||||
oneChange : 'Õigekirja kontroll sooritatud: üks sõna muudeti',
|
||||
manyChanges : 'Õigekirja kontroll sooritatud: %1 sõna muudetud',
|
||||
ieSpellDownload : 'Õigekirja kontrollija ei ole installeeritud. Soovid sa selle alla laadida?'
|
||||
},
|
||||
|
||||
smiley :
|
||||
{
|
||||
toolbar : 'Emotikon',
|
||||
title : 'Sisesta emotikon',
|
||||
options : 'Smiley Options' // MISSING
|
||||
},
|
||||
|
||||
elementsPath :
|
||||
{
|
||||
eleLabel : 'Elements path', // MISSING
|
||||
eleTitle : '%1 element' // MISSING
|
||||
},
|
||||
|
||||
numberedlist : 'Nummerdatud loetelu',
|
||||
bulletedlist : 'Punktiseeritud loetelu',
|
||||
indent : 'Suurenda taanet',
|
||||
outdent : 'Vähenda taanet',
|
||||
|
||||
justify :
|
||||
{
|
||||
left : 'Vasakjoondus',
|
||||
center : 'Keskjoondus',
|
||||
right : 'Paremjoondus',
|
||||
block : 'Rööpjoondus'
|
||||
},
|
||||
|
||||
blockquote : 'Blokktsitaat',
|
||||
|
||||
clipboard :
|
||||
{
|
||||
title : 'Kleebi',
|
||||
cutError : 'Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+X).',
|
||||
copyError : 'Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt kopeerida. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+C).',
|
||||
pasteMsg : 'Palun kleebi järgnevasse kasti kasutades klaviatuuri klahvikombinatsiooni (<STRONG>Ctrl/Cmd+V</STRONG>) ja vajuta seejärel <STRONG>OK</STRONG>.',
|
||||
securityMsg : 'Sinu veebisirvija turvaseadete tõttu, ei oma redaktor otsest ligipääsu lõikelaua andmetele. Sa pead kleepima need uuesti siia aknasse.',
|
||||
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 : 'Kleebi Wordist',
|
||||
title : 'Kleebi Wordist',
|
||||
error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
|
||||
},
|
||||
|
||||
pasteText :
|
||||
{
|
||||
button : 'Kleebi tavalise tekstina',
|
||||
title : 'Kleebi tavalise tekstina'
|
||||
},
|
||||
|
||||
templates :
|
||||
{
|
||||
button : 'Šabloon',
|
||||
title : 'Sisu šabloonid',
|
||||
options : 'Template Options', // MISSING
|
||||
insertOption : 'Asenda tegelik sisu',
|
||||
selectPromptMsg : 'Palun vali šabloon, et avada see redaktoris<br />(praegune sisu läheb kaotsi):',
|
||||
emptyListMsg : '(Ühtegi šablooni ei ole defineeritud)'
|
||||
},
|
||||
|
||||
showBlocks : 'Näita blokke',
|
||||
|
||||
stylesCombo :
|
||||
{
|
||||
label : 'Laad',
|
||||
panelTitle : 'Formatting Styles', // MISSING
|
||||
panelTitle1 : 'Block Styles', // MISSING
|
||||
panelTitle2 : 'Inline Styles', // MISSING
|
||||
panelTitle3 : 'Object Styles' // MISSING
|
||||
},
|
||||
|
||||
format :
|
||||
{
|
||||
label : 'Vorming',
|
||||
panelTitle : 'Vorming',
|
||||
|
||||
tag_p : 'Tavaline',
|
||||
tag_pre : 'Vormindatud',
|
||||
tag_address : 'Aadress',
|
||||
tag_h1 : 'Pealkiri 1',
|
||||
tag_h2 : 'Pealkiri 2',
|
||||
tag_h3 : 'Pealkiri 3',
|
||||
tag_h4 : 'Pealkiri 4',
|
||||
tag_h5 : 'Pealkiri 5',
|
||||
tag_h6 : 'Pealkiri 6',
|
||||
tag_div : 'Tavaline (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
|
||||
},
|
||||
|
||||
font :
|
||||
{
|
||||
label : 'Kiri',
|
||||
voiceLabel : 'Font', // MISSING
|
||||
panelTitle : 'Kiri'
|
||||
},
|
||||
|
||||
fontSize :
|
||||
{
|
||||
label : 'Suurus',
|
||||
voiceLabel : 'Font Size', // MISSING
|
||||
panelTitle : 'Suurus'
|
||||
},
|
||||
|
||||
colorButton :
|
||||
{
|
||||
textColorTitle : 'Teksti värv',
|
||||
bgColorTitle : 'Tausta värv',
|
||||
panelTitle : 'Colors', // MISSING
|
||||
auto : 'Automaatne',
|
||||
more : 'Rohkem värve...'
|
||||
},
|
||||
|
||||
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' : 'Dim 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' : 'Dark 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
|
||||
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
|
||||
languagesTab : 'Languages', // MISSING
|
||||
dictionariesTab : 'Dictionaries', // MISSING
|
||||
aboutTab : 'About' // MISSING
|
||||
},
|
||||
|
||||
about :
|
||||
{
|
||||
title : 'About CKEditor', // MISSING
|
||||
dlgTitle : 'About CKEditor', // 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
|
||||
div : 'Page Break', // MISSING
|
||||
unknown : 'Unknown Object' // MISSING
|
||||
},
|
||||
|
||||
resize : 'Drag to resize', // MISSING
|
||||
|
||||
colordialog :
|
||||
{
|
||||
title : 'Select color', // MISSING
|
||||
highlight : 'Highlight', // MISSING
|
||||
selected : 'Selected', // MISSING
|
||||
clear : 'Clear' // MISSING
|
||||
},
|
||||
|
||||
toolbarCollapse : 'Collapse Toolbar', // MISSING
|
||||
toolbarExpand : 'Expand Toolbar' // MISSING
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user