Index: /CKEditor/branches/versions/3.2.x/CHANGES.html
===================================================================
--- /CKEditor/branches/versions/3.2.x/CHANGES.html	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/CHANGES.html	(revision 5049)
@@ -40,10 +40,53 @@
 		New features:</p>
 	<ul>
-		<li></li>
+		<li><a href="http://dev.fckeditor.net/ticket/4399">#4399</a> : Improved support for external file browsers by allowing to execute a callback function.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4612">#4612</a> : Update text view when user changes protocol.</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/5030">#5030</a> : Fixed CKEDITOR.timestamp wasn't added while loading skin.js.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4993">#4993</a> : Remove float value of image in case user selects 'not set'.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/4944">#4944</a> : Fixed a bug where nested list structure with inconsequent levels are not pasted correclty from MS-Word.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4637">#4637</a> : Table cells' 'nowrap' attribute is not loaded to 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 only visible when select is 'frame'.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4863">#4863</a> : Fixing iframedialog's height doesn't stretch to 100%</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> : The border, vspace, hspace of img are zero not working.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4773">#4773</a> : The fileBrowser plugin overwrote any onClick function for a fileButton element.</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/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> : Corrected English (United Kingdom) locale as en-gb.</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> : Respect empty width in tables.</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 table multiple times will corrupt 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 is not escaped in 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> : Fore-color style must be applied within a link instead of wrapping it.</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] &lt;br/&gt;&nbsp; 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 patterns into empty string throws errors.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4963">#4963</a> : Link dialog doesn't open properly for e-mail type links.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4999">#4999</a> : Adding undo snapshot for editor::setData.</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> : Press Enter key with text selected will not delete the text.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/4716">#4716</a> : [IE] Cursor remain blinking in editor when focus is moved to any button that following.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5096">#5096</a> : Simple ampersand attribute value doesn't work for more than once occurance.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/3494">#3494</a> : Context menu is too narrow in some translations.</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/5071">#5071</a> : Russian.</li>
+		</ul></li>
 	</ul>
 	<h3>
Index: /CKEditor/branches/versions/3.2.x/_source/core/dom/element.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/core/dom/element.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/core/dom/element.js	(revision 5049)
@@ -244,8 +244,11 @@
 			if ( !lastChild || !lastChild.is || !lastChild.is( 'br' ) )
 			{
-				this.append(
-					CKEDITOR.env.opera ?
+				var bogus = CKEDITOR.env.opera ?
 						this.getDocument().createText('') :
-						this.getDocument().createElement( 'br' ) );
+						this.getDocument().createElement( 'br' );
+
+				CKEDITOR.env.gecko && bogus.setAttribute( 'type', '_moz' );
+
+				this.append( bogus );
 			}
 		},
Index: /CKEditor/branches/versions/3.2.x/_source/core/dom/range.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/core/dom/range.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/core/dom/range.js	(revision 5049)
@@ -743,7 +743,12 @@
 					startOffset = startContainer.getIndex() + 1;
 					startContainer = startContainer.getParent();
-					// Check if it is necessary to update the end boundary.
-					if ( !collapsed && this.startContainer.equals( this.endContainer ) )
+
+					// Check all necessity of updating the end boundary.
+					if( collapsed )
+						this.collapse( true );
+					else if ( this.startContainer.equals( this.endContainer ) )
 						this.setEnd( nextText, this.endOffset - this.startOffset );
+					else if ( startContainer.equals( this.endContainer ) )
+						this.endOffset += 1;
 				}
 
@@ -751,5 +756,5 @@
 
 				if ( collapsed )
-					this.collapse( true );
+					return;
 			}
 
Index: /CKEditor/branches/versions/3.2.x/_source/core/editor.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/core/editor.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/core/editor.js	(revision 5049)
@@ -583,4 +583,5 @@
 		 * @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.
+		 * @param {Boolean} noUndo Specify false to avoid editor from creating undo snapshot for this load.    
 		 * @example
 		 * CKEDITOR.instances.editor1.<b>setData( '&lt;p&gt;This is the editor data.&lt;/p&gt;' )</b>;
@@ -590,14 +591,14 @@
 		 * } );
 		 */
-		setData : function( data , callback )
-		{
-			if( callback )
-			{
-				this.on( 'dataReady', function( evt )
+		setData : function( data , callback, noUndo )
+		{
+			noUndo !== false && this.fire( 'saveSnapshot' );
+
+			this.on( 'dataReady', function( evt )
 				{
 					evt.removeListener();
-					callback.call( evt.editor );
-				} );
-			}
+					callback && callback.call( evt.editor );
+					noUndo !== false && this.fire( 'saveSnapshot' );
+				});
 			// Fire "setData" so data manipulation may happen.
 			var eventData = { dataValue : data };
Index: /CKEditor/branches/versions/3.2.x/_source/core/htmlparser/basicwriter.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/core/htmlparser/basicwriter.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/core/htmlparser/basicwriter.js	(revision 5049)
@@ -61,4 +61,8 @@
 		attribute : function( attName, attValue )
 		{
+			// Browsers don't always escape quote in attribute values. (#4683)
+			if ( typeof attValue == 'string' )
+				attValue = attValue.replace( /"/g, '&quot;' )
+
 			this._.output.push( ' ', attName, '="', attValue, '"' );
 		},
Index: /CKEditor/branches/versions/3.2.x/_source/core/lang.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/core/lang.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/core/lang.js	(revision 5049)
@@ -25,4 +25,5 @@
 			'ca'	: 1,
 			'cs'	: 1,
+			'cy'	: 1,
 			'da'	: 1,
 			'de'	: 1,
@@ -30,5 +31,5 @@
 			'en-au'	: 1,
 			'en-ca'	: 1,
-			'en-uk'	: 1,
+			'en-gb'	: 1,
 			'en'	: 1,
 			'eo'	: 1,
Index: /CKEditor/branches/versions/3.2.x/_source/core/skins.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/core/skins.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/core/skins.js	(revision 5049)
@@ -195,5 +195,5 @@
 			{
 				paths[ skinName ] = skinPath;
-				CKEDITOR.scriptLoader.load( skinPath + 'skin.js', function()
+				CKEDITOR.scriptLoader.load( CKEDITOR.getUrl( skinPath + 'skin.js' ), function()
 						{
 							 loadPart( editor, skinName, skinPart, callback );
Index: /CKEditor/branches/versions/3.2.x/_source/lang/_languages.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/lang/_languages.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/lang/_languages.js	(revision 5049)
@@ -15,4 +15,5 @@
 		ca		: 'Catalan',
 		cs		: 'Czech',
+		cy		: 'Welsh',
 		da		: 'Danish',
 		de		: 'German',
@@ -21,5 +22,5 @@
 		'en-au'	: 'English (Australia)',
 		'en-ca'	: 'English (Canadian)',
-		'en-uk'	: 'English (United Kingdom)',
+		'en-gb'	: 'English (United Kingdom)',
 		eo		: 'Esperanto',
 		es		: 'Spanish',
Index: /CKEditor/branches/versions/3.2.x/_source/lang/_translationstatus.txt
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/lang/_translationstatus.txt	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/lang/_translationstatus.txt	(revision 5049)
@@ -9,4 +9,5 @@
 ca.js      Found: 426 Missing: 63
 cs.js      Found: 433 Missing: 56
+cy.js      Found: 474 Missing: 15
 da.js      Found: 426 Missing: 63
 de.js      Found: 466 Missing: 23
@@ -14,5 +15,5 @@
 en-au.js   Found: 385 Missing: 104
 en-ca.js   Found: 385 Missing: 104
-en-uk.js   Found: 385 Missing: 104
+en-gb.js   Found: 385 Missing: 104
 eo.js      Found: 275 Missing: 214
 es.js      Found: 426 Missing: 63
@@ -20,5 +21,5 @@
 eu.js      Found: 426 Missing: 63
 fa.js      Found: 317 Missing: 172
-fi.js      Found: 434 Missing: 55
+fi.js      Found: 489 Missing: 0
 fo.js      Found: 316 Missing: 173
 fr-ca.js   Found: 317 Missing: 172
@@ -40,5 +41,5 @@
 ms.js      Found: 280 Missing: 209
 nb.js      Found: 432 Missing: 57
-nl.js      Found: 433 Missing: 56
+nl.js      Found: 489 Missing: 0
 no.js      Found: 432 Missing: 57
 pl.js      Found: 433 Missing: 56
@@ -46,7 +47,7 @@
 pt.js      Found: 297 Missing: 192
 ro.js      Found: 316 Missing: 173
-ru.js      Found: 322 Missing: 167
+ru.js      Found: 489 Missing: 0
 sk.js      Found: 317 Missing: 172
-sl.js      Found: 315 Missing: 174
+sl.js      Found: 432 Missing: 57
 sr-latn.js Found: 291 Missing: 198
 sr.js      Found: 291 Missing: 198
Index: /CKEditor/branches/versions/3.2.x/_source/lang/cy.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/lang/cy.js	(revision 5049)
+++ /CKEditor/branches/versions/3.2.x/_source/lang/cy.js	(revision 5049)
@@ -0,0 +1,697 @@
+﻿/*
+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		: 'Golygydd testun cyfoethog, %1',
+
+	// 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',
+		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?',
+
+		// Put the voice-only part of the label in the span.
+		unavailable		: '%1<span class="cke_accessibility">, ddim ar gael</span>'
+	},
+
+	// Special char dialog.
+	specialChar		:
+	{
+		toolbar		: 'Mewnosod Nodau Arbennig',
+		title		: 'Dewis Nod Arbennig'
+	},
+
+	// Link dialog.
+	link :
+	{
+		toolbar		: 'Dolen',
+		menu		: 'Golygu Dolen',
+		title		: 'Dolen',
+		info		: 'Gwyb ar y Ddolen',
+		target		: 'Targed',
+		upload		: 'Lanlwytho',
+		advanced	: 'Uwch',
+		type		: 'Math y Ddolen',
+		toAnchor	: 'Dolen at angor yn y testun',
+		toEmail		: 'E-bost',
+		target		: 'Targed',
+		targetNotSet	: '<heb osod>',
+		targetFrame	: '<ffrâm>',
+		targetPopup	: '<ffenestr bop>',
+		targetNew	: 'Ffenestr Newydd (_blank)',
+		targetTop	: 'Ffenestr Dop (_top)',
+		targetSelf	: 'R\'un Ffenestr (_self)',
+		targetParent	: 'Ffenestr y Rhiant (_parent)',
+		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',
+		langDirNotSet	: '<heb osod>',
+		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',
+		alignNotSet	: '<Heb osod>',
+		alignLeft	: 'Chwith',
+		alignCenter	: 'Canol',
+		alignRight	: 'Dde',
+		width		: 'Lled',
+		widthPx		: 'picsel',
+		widthPc		: 'y cant',
+		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',
+		target		: 'Targed',
+		targetNotSet	: '<heb osod>',
+		targetNew	: 'Ffenestr Newydd (_blank)',
+		targetTop	: 'Ffenestr Dop (_top)',
+		targetSelf	: 'R\'un Ffenestr (_self)',
+		targetParent	: 'Ffenestr y Rhiant(_parent)'
+	},
+
+	// 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',
+		url		: 'URL',
+		upload	: 'lanlwytho',
+		alt		: 'Testun Amgen',
+		width		: 'Lled',
+		height	: 'Uchder',
+		lockRatio	: 'Cloi Cymhareb',
+		resetSize	: 'Ailosod Maint',
+		border	: 'Ymyl',
+		hSpace	: 'BwlchLl',
+		vSpace	: 'BwlchF',
+		align		: 'Alinio',
+		alignLeft	: 'Chwith',
+		alignRight	: 'Dde',
+		preview	: 'Rhagolwg',
+		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.'
+	},
+
+	// 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'
+	},
+
+	elementsPath :
+	{
+		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+X).',
+		copyError	: 'Nid yw gosodiadau diogelwch eich porwr yn caniatàu\'r golygydd i gynnal \'gweithredoedd copïo\' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl+C).',
+		pasteMsg	: 'Gludwch i mewn i\'r blwch canlynol gan ddefnyddio\'r bysellfwrdd (<strong>Ctrl+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.'
+	},
+
+	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',
+		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',
+		voiceLabel : 'Arddulliau',
+		panelVoiceLabel : 'Dewiswch arddull',
+		panelTitle1 : 'Arddulliau Bloc',
+		panelTitle2 : 'Arddulliau Mewnol',
+		panelTitle3 : 'Arddulliau Gwrthrych'
+	},
+
+	format :
+	{
+		label : 'Fformat',
+		voiceLabel : 'Fformat',
+		panelTitle : 'Fformat Paragraff',
+		panelVoiceLabel : 'Dewiswch fformat y 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',
+		panelVoiceLabel : 'Dewiswch ffont'
+	},
+
+	fontSize :
+	{
+		label : 'Maint',
+		voiceLabel : 'Maint y Ffont',
+		panelTitle : 'Maint y Ffont',
+		panelVoiceLabel : 'Dewiswch faint i\'r ffont'
+	},
+
+	colorButton :
+	{
+		textColorTitle : 'Lliw Testun',
+		bgColorTitle : 'Lliw Cefndir',
+		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 &copy; $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'
+};
Index: /CKEditor/branches/versions/3.2.x/_source/lang/en-ca.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/lang/en-ca.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/lang/en-ca.js	(revision 5049)
@@ -6,5 +6,5 @@
 /**
  * @fileOverview Defines the {@link CKEDITOR.lang} object, for the
- * English (Australia) language.
+ * English (Canadian) language.
  */
 
Index: /CKEditor/branches/versions/3.2.x/_source/lang/en-gb.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/lang/en-gb.js	(revision 5049)
+++ /CKEditor/branches/versions/3.2.x/_source/lang/en-gb.js	(revision 5049)
@@ -0,0 +1,697 @@
+﻿/*
+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',
+
+	// 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',
+		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?',
+
+		// Put the voice-only part of the label in the span.
+		unavailable		: '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
+	},
+
+	// Special char dialog.
+	specialChar		:
+	{
+		toolbar		: 'Insert Special Character',
+		title		: 'Select Special Character'
+	},
+
+	// Link dialog.
+	link :
+	{
+		toolbar		: 'Link',
+		menu		: 'Edit Link',
+		title		: 'Link',
+		info		: 'Link Info',
+		target		: 'Target',
+		upload		: 'Upload',
+		advanced	: 'Advanced',
+		type		: 'Link Type',
+		toAnchor	: 'Link to anchor in the text',
+		toEmail		: 'E-mail',
+		target		: 'Target',
+		targetNotSet	: '<not set>',
+		targetFrame	: '<frame>',
+		targetPopup	: '<popup window>',
+		targetNew	: 'New Window (_blank)',
+		targetTop	: 'Topmost Window (_top)',
+		targetSelf	: 'Same Window (_self)',
+		targetParent	: 'Parent Window (_parent)',
+		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',
+		langDirNotSet	: '<not set>',
+		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',
+		alignNotSet	: '<Not set>',
+		alignLeft	: 'Left',
+		alignCenter	: 'Centre',
+		alignRight	: 'Right',
+		width		: 'Width',
+		widthPx		: 'pixels',
+		widthPc		: 'percent',
+		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',
+		target		: 'Target',
+		targetNotSet	: '<not set>',
+		targetNew	: 'New Window (_blank)',
+		targetTop	: 'Topmost Window (_top)',
+		targetSelf	: 'Same Window (_self)',
+		targetParent	: 'Parent Window (_parent)'
+	},
+
+	// 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',
+		url		: 'URL',
+		upload	: 'Upload',
+		alt		: 'Alternative Text',
+		width		: 'Width',
+		height	: 'Height',
+		lockRatio	: 'Lock Ratio',
+		resetSize	: 'Reset Size',
+		border	: 'Border',
+		hSpace	: 'HSpace',
+		vSpace	: 'VSpace',
+		align		: 'Align',
+		alignLeft	: 'Left',
+		alignRight	: 'Right',
+		preview	: 'Preview',
+		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
+	},
+
+	// 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'
+	},
+
+	elementsPath :
+	{
+		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 : 'Blockquote',
+
+	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+X).',
+		copyError	: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl+C).',
+		pasteMsg	: 'Please paste inside the following box using the keyboard (<strong>Ctrl+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.'
+	},
+
+	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',
+		insertOption: 'Replace actual contents',
+		selectPromptMsg: 'Please select the template to open in the editor',
+		emptyListMsg : '(No templates defined)'
+	},
+
+	showBlocks : 'Show Blocks',
+
+	stylesCombo :
+	{
+		label : 'Styles',
+		voiceLabel : 'Styles', // MISSING
+		panelVoiceLabel : 'Select a style', // MISSING
+		panelTitle1 : 'Block Styles',
+		panelTitle2 : 'Inline Styles',
+		panelTitle3 : 'Object Styles'
+	},
+
+	format :
+	{
+		label : 'Format',
+		voiceLabel : 'Format', // MISSING
+		panelTitle : 'Paragraph Format',
+		panelVoiceLabel : 'Select a paragraph format', // MISSING
+
+		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',
+		panelVoiceLabel : 'Select a font' // MISSING
+	},
+
+	fontSize :
+	{
+		label : 'Size',
+		voiceLabel : 'Font Size', // MISSING
+		panelTitle : 'Font Size',
+		panelVoiceLabel : 'Select a font size' // MISSING
+	},
+
+	colorButton :
+	{
+		textColorTitle : 'Text Colour',
+		bgColorTitle : 'Background Colour',
+		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 &copy; $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
+};
Index: Editor/branches/versions/3.2.x/_source/lang/en-uk.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/lang/en-uk.js	(revision 5048)
+++ 	(revision )
@@ -1,697 +1,0 @@
-﻿/*
-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-uk'] =
-{
-	/**
-	 * 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',
-
-	// 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',
-		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?',
-
-		// Put the voice-only part of the label in the span.
-		unavailable		: '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
-	},
-
-	// Special char dialog.
-	specialChar		:
-	{
-		toolbar		: 'Insert Special Character',
-		title		: 'Select Special Character'
-	},
-
-	// Link dialog.
-	link :
-	{
-		toolbar		: 'Link',
-		menu		: 'Edit Link',
-		title		: 'Link',
-		info		: 'Link Info',
-		target		: 'Target',
-		upload		: 'Upload',
-		advanced	: 'Advanced',
-		type		: 'Link Type',
-		toAnchor	: 'Link to anchor in the text',
-		toEmail		: 'E-mail',
-		target		: 'Target',
-		targetNotSet	: '<not set>',
-		targetFrame	: '<frame>',
-		targetPopup	: '<popup window>',
-		targetNew	: 'New Window (_blank)',
-		targetTop	: 'Topmost Window (_top)',
-		targetSelf	: 'Same Window (_self)',
-		targetParent	: 'Parent Window (_parent)',
-		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',
-		langDirNotSet	: '<not set>',
-		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',
-		alignNotSet	: '<Not set>',
-		alignLeft	: 'Left',
-		alignCenter	: 'Centre',
-		alignRight	: 'Right',
-		width		: 'Width',
-		widthPx		: 'pixels',
-		widthPc		: 'percent',
-		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',
-		target		: 'Target',
-		targetNotSet	: '<not set>',
-		targetNew	: 'New Window (_blank)',
-		targetTop	: 'Topmost Window (_top)',
-		targetSelf	: 'Same Window (_self)',
-		targetParent	: 'Parent Window (_parent)'
-	},
-
-	// 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',
-		url		: 'URL',
-		upload	: 'Upload',
-		alt		: 'Alternative Text',
-		width		: 'Width',
-		height	: 'Height',
-		lockRatio	: 'Lock Ratio',
-		resetSize	: 'Reset Size',
-		border	: 'Border',
-		hSpace	: 'HSpace',
-		vSpace	: 'VSpace',
-		align		: 'Align',
-		alignLeft	: 'Left',
-		alignRight	: 'Right',
-		preview	: 'Preview',
-		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
-	},
-
-	// 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'
-	},
-
-	elementsPath :
-	{
-		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 : 'Blockquote',
-
-	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+X).',
-		copyError	: 'Your browser security settings don\'t permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl+C).',
-		pasteMsg	: 'Please paste inside the following box using the keyboard (<strong>Ctrl+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.'
-	},
-
-	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',
-		insertOption: 'Replace actual contents',
-		selectPromptMsg: 'Please select the template to open in the editor',
-		emptyListMsg : '(No templates defined)'
-	},
-
-	showBlocks : 'Show Blocks',
-
-	stylesCombo :
-	{
-		label : 'Styles',
-		voiceLabel : 'Styles', // MISSING
-		panelVoiceLabel : 'Select a style', // MISSING
-		panelTitle1 : 'Block Styles',
-		panelTitle2 : 'Inline Styles',
-		panelTitle3 : 'Object Styles'
-	},
-
-	format :
-	{
-		label : 'Format',
-		voiceLabel : 'Format', // MISSING
-		panelTitle : 'Paragraph Format',
-		panelVoiceLabel : 'Select a paragraph format', // MISSING
-
-		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',
-		panelVoiceLabel : 'Select a font' // MISSING
-	},
-
-	fontSize :
-	{
-		label : 'Size',
-		voiceLabel : 'Font Size', // MISSING
-		panelTitle : 'Font Size',
-		panelVoiceLabel : 'Select a font size' // MISSING
-	},
-
-	colorButton :
-	{
-		textColorTitle : 'Text Colour',
-		bgColorTitle : 'Background Colour',
-		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 &copy; $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
-};
Index: /CKEditor/branches/versions/3.2.x/_source/lang/fi.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/lang/fi.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/lang/fi.js	(revision 5049)
@@ -507,8 +507,8 @@
 	pastefromword :
 	{
-		confirmCleanup : 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING
-		toolbar : 'Liitä Wordista',
-		title : 'Liitä Wordista',
-		error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
+		confirmCleanup : 'Liittämäsi teksti näyttäisi olevan Word-dokumentista. Haluatko siivota sen ennen liittämistä? (Suositus: Kyllä)',
+		toolbar : 'Liitä Word-dokumentista',
+		title : 'Liitä Word-dokumentista',
+		error : 'Liitetyn tiedon siivoaminen ei onnistunut sisäisen virheen takia'
 	},
 
@@ -561,17 +561,17 @@
 	div :
 	{
-		title				: 'Create Div Container', // MISSING
-		toolbar				: 'Create Div Container', // MISSING
-		cssClassInputLabel	: 'Stylesheet Classes', // MISSING
-		styleSelectLabel	: 'Style', // MISSING
-		IdInputLabel		: 'Id', // MISSING
-		languageCodeInputLabel	: ' Language Code', // MISSING
-		inlineStyleInputLabel	: 'Inline Style', // MISSING
-		advisoryTitleInputLabel	: 'Advisory Title', // MISSING
-		langDirLabel		: 'Language Direction', // MISSING
-		langDirLTRLabel		: 'Left to Right (LTR)', // MISSING
-		langDirRTLLabel		: 'Right to Left (RTL)', // MISSING
-		edit				: 'Edit Div', // MISSING
-		remove				: 'Remove Div' // MISSING
+		title				: 'Luo div-kehikko',
+		toolbar				: 'Luo div-kehikko',
+		cssClassInputLabel	: 'Tyylitiedoston luokat',
+		styleSelectLabel	: 'Tyyli',
+		IdInputLabel		: 'Id',
+		languageCodeInputLabel	: ' Kielen koodi',
+		inlineStyleInputLabel	: 'Sisätyyli',
+		advisoryTitleInputLabel	: 'Ohjeistava otsikko',
+		langDirLabel		: 'Kielen suunta',
+		langDirLTRLabel		: 'Vasemmalta oikealle (LTR)',
+		langDirRTLLabel		: 'Oikealta vasemmalle (RTL)',
+		edit				: 'Muokkaa Diviä',
+		remove				: 'Poista Div'
   	},
 
@@ -602,44 +602,44 @@
 	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
+		'000' : 'Musta',
+		'800000' : 'Kastanjanruskea',
+		'8B4513' : 'Satulanruskea',
+		'2F4F4F' : 'Tumma liuskekivenharmaa',
+		'008080' : 'Sinivihreä',
+		'000080' : 'Laivastonsininen',
+		'4B0082' : 'Indigonsininen',
+		'696969' : 'Tummanharmaa',
+		'B22222' : 'Tiili',
+		'A52A2A' : 'Ruskea',
+		'DAA520' : 'Kultapiisku',
+		'006400' : 'Tummanvihreä',
+		'40E0D0' : 'Turkoosi',
+		'0000CD' : 'Keskisininen',
+		'800080' : 'Purppura',
+		'808080' : 'Harmaa',
+		'F00' : 'Punainen',
+		'FF8C00' : 'Tumma oranssi',
+		'FFD700' : 'Kulta',
+		'008000' : 'Vihreä',
+		'0FF' : 'Syaani',
+		'00F' : 'Sininen',
+		'EE82EE' : 'Violetti',
+		'A9A9A9' : 'Tummanharmaa',
+		'FFA07A' : 'Vaaleanlohenpunainen',
+		'FFA500' : 'Oranssi',
+		'FFFF00' : 'Keltainen',
+		'00FF00' : 'Limetin vihreä',
+		'AFEEEE' : 'Haalea turkoosi',
+		'ADD8E6' : 'Vaaleansininen',
+		'DDA0DD' : 'Luumu',
+		'D3D3D3' : 'Vaaleanharmaa',
+		'FFF0F5' : 'Laventelinpunainen',
+		'FAEBD7' : 'Antiikinvalkoinen',
+		'FFFFE0' : 'Vaaleankeltainen',
+		'F0FFF0' : 'Hunajameloni',
+		'F0FFFF' : 'Asurinsininen',
+		'F0F8FF' : 'Alice Blue -sininen',
+		'E6E6FA' : 'Lavanteli',
+		'FFF' : 'Valkoinen'
 	},
 
Index: /CKEditor/branches/versions/3.2.x/_source/lang/nl.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/lang/nl.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/lang/nl.js	(revision 5049)
@@ -510,5 +510,5 @@
 		toolbar : 'Plakken als Word-gegevens',
 		title : 'Plakken als Word-gegevens',
-		error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
+		error : 'Het was niet mogelijk om de geplakte tekst op te schonen door een interne fout'
 	},
 
@@ -561,17 +561,17 @@
 	div :
 	{
-		title				: 'Create Div Container', // MISSING
-		toolbar				: 'Create Div Container', // MISSING
-		cssClassInputLabel	: 'Stylesheet Classes', // MISSING
-		styleSelectLabel	: 'Style', // MISSING
-		IdInputLabel		: 'Id', // MISSING
-		languageCodeInputLabel	: ' Language Code', // MISSING
-		inlineStyleInputLabel	: 'Inline Style', // MISSING
-		advisoryTitleInputLabel	: 'Advisory Title', // MISSING
-		langDirLabel		: 'Language Direction', // MISSING
-		langDirLTRLabel		: 'Left to Right (LTR)', // MISSING
-		langDirRTLLabel		: 'Right to Left (RTL)', // MISSING
-		edit				: 'Edit Div', // MISSING
-		remove				: 'Remove Div' // MISSING
+		title				: 'Div aanmaken',
+		toolbar				: 'Div aanmaken',
+		cssClassInputLabel	: 'Stylesheet klassen',
+		styleSelectLabel	: 'Stijl',
+		IdInputLabel		: 'Id',
+		languageCodeInputLabel	: ' Taalcode',
+		inlineStyleInputLabel	: 'Inline stijl',
+		advisoryTitleInputLabel	: 'informatieve titel',
+		langDirLabel		: 'Schrijfrichting',
+		langDirLTRLabel		: 'Links naar rechts (LTR)',
+		langDirRTLLabel		: 'Rechts naar links (RTL)',
+		edit				: 'Div wijzigen',
+		remove				: 'Div verwijderen'
   	},
 
@@ -602,44 +602,44 @@
 	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
+		'000' : 'Zwart',
+		'800000' : 'Kastanjebruin',
+		'8B4513' : 'Chocoladebruin',
+		'2F4F4F' : 'Donkerleigrijs',
+		'008080' : 'Blauwgroen',
+		'000080' : 'Marine',
+		'4B0082' : 'Indigo',
+		'696969' : 'Donkergrijs',
+		'B22222' : 'Baksteen',
+		'A52A2A' : 'Bruin',
+		'DAA520' : 'Donkergeel',
+		'006400' : 'Donkergroen',
+		'40E0D0' : 'Turquoise',
+		'0000CD' : 'Middenblauw',
+		'800080' : 'Paars',
+		'808080' : 'Grijs',
+		'F00' : 'Rood',
+		'FF8C00' : 'Donkeroranje',
+		'FFD700' : 'Goud',
+		'008000' : 'Groen',
+		'0FF' : 'Cyaan',
+		'00F' : 'Blauw',
+		'EE82EE' : 'Violet',
+		'A9A9A9' : 'Donkergrijs',
+		'FFA07A' : 'Lichtzalm',
+		'FFA500' : 'Oranje',
+		'FFFF00' : 'Geel',
+		'00FF00' : 'Felgroen',
+		'AFEEEE' : 'Lichtturquoise',
+		'ADD8E6' : 'Lichtblauw',
+		'DDA0DD' : 'Pruim',
+		'D3D3D3' : 'Lichtgrijs',
+		'FFF0F5' : 'Linnen',
+		'FAEBD7' : 'Ivoor',
+		'FFFFE0' : 'Lichtgeel',
+		'F0FFF0' : 'Honingdauw',
+		'F0FFFF' : 'Azuur',
+		'F0F8FF' : 'Licht hemelsblauw',
+		'E6E6FA' : 'Lavendel',
+		'FFF' : 'Wit'
 	},
 
@@ -693,5 +693,5 @@
 	},
 
-	toolbarCollapse : 'Collapse Toolbar', // MISSING
-	toolbarExpand : 'Expand Toolbar' // MISSING
+	toolbarCollapse : 'Werkbalk inklappen',
+	toolbarExpand : 'Werkbalk uitklappen'
 };
Index: /CKEditor/branches/versions/3.2.x/_source/lang/ru.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/lang/ru.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/lang/ru.js	(revision 5049)
@@ -32,5 +32,5 @@
 	 * of reading non-English words. So be careful while translating it.
 	 */
-	editorTitle		: 'Rich text editor, %1', // MISSING
+	editorTitle		: 'Редактор с «богатым» форматированием, %1',
 
 	// Toolbar buttons without dialogs.
@@ -91,10 +91,10 @@
 		generalTab		: 'Информация',
 		advancedTab		: 'Расширенный',
-		validateNumberFailed	: 'This value is not a number.', // MISSING
-		confirmNewPage	: 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', // MISSING
-		confirmCancel	: 'Some of the options have been changed. Are you sure to close the dialog?', // MISSING
+		validateNumberFailed	: 'Это значение не является числом.',
+		confirmNewPage	: 'Все несохраненные изменения будут утеряны. Вы уверены, что хотите перейти на другую страницу?',
+		confirmCancel	: 'Некоторые опции были изменены. Вы уверены, что хотите закрыть диалог?',
 
 		// Put the voice-only part of the label in the span.
-		unavailable		: '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
+		unavailable		: '%1<span class="cke_accessibility">, недоступно</span>'
 	},
 
@@ -130,5 +130,5 @@
 		targetPopupName	: 'Имя всплывающего окна',
 		popupFeatures	: 'Свойства всплывающего окна',
-		popupResizable	: 'Resizable', // MISSING
+		popupResizable	: 'Изменяемый размер',
 		popupStatusBar	: 'Строка состояния',
 		popupLocationBar	: 'Панель локации',
@@ -142,12 +142,12 @@
 		popupHeight		: 'Высота',
 		popupTop		: 'Позиция сверху',
-		id				: 'Id', // MISSING
+		id				: 'Id',
 		langDir			: 'Направление языка',
 		langDirNotSet	: '<не определено>',
-		langDirLTR		: 'Слева на право (LTR)',
-		langDirRTL		: 'Справа на лево (RTL)',
+		langDirLTR		: 'Слева направо (LTR)',
+		langDirRTL		: 'Справа налево (RTL)',
 		acccessKey		: 'Горячая клавиша',
 		name			: 'Имя',
-		langCode		: 'Направление языка',
+		langCode		: 'Код языка',
 		tabIndex		: 'Последовательность перехода',
 		advisoryTitle	: 'Заголовок',
@@ -187,8 +187,8 @@
 		notFoundMsg			: 'Указанный текст не найден.',
 		matchCase			: 'Учитывать регистр',
-		matchWord			: 'Совпадение целых слов',
-		matchCyclic			: 'Match cyclic', // MISSING
+		matchWord			: 'Только слово целиком',
+		matchCyclic			: 'Начинать с начала после достижения конца',
 		replaceAll			: 'Заменить все',
-		replaceSuccessMsg	: '%1 occurrence(s) replaced.' // MISSING
+		replaceSuccessMsg	: '%1 совпадение(й) заменено.'
 	},
 
@@ -221,11 +221,11 @@
 		headersRow		: 'Первая строка',
 		headersBoth		: 'Оба варианта',
-		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
+		invalidRows		: 'Число строк должно быть больше 0.',
+		invalidCols		: 'Число столбцов должно быть больше 0.',
+		invalidBorder	: 'Ширина бордюра должна быть числом.',
+		invalidWidth	: 'Ширина таблицы должна быть числом.',
+		invalidHeight	: 'Высота таблицы должна быть числом.',
+		invalidCellSpacing	: 'Размер промежутков (cellspacing) между ячейками должны быть числом.',
+		invalidCellPadding	: 'Отступы внутри ячеек (cellpadding) должны быть числом.',
 
 		cell :
@@ -235,31 +235,31 @@
 			insertAfter		: 'Вставить ячейку после',
 			deleteCell		: 'Удалить ячейки',
-			merge			: 'Соединить ячейки',
-			mergeRight		: 'Соединить вправо',
-			mergeDown		: 'Соединить вниз',
+			merge			: 'Объединить ячейки',
+			mergeRight		: 'Объединить с правой',
+			mergeDown		: 'Объединить с нижней',
 			splitHorizontal	: 'Разбить ячейку горизонтально',
 			splitVertical	: 'Разбить ячейку вертикально',
-			title			: 'Cell Properties', // MISSING
-			cellType		: 'Cell Type', // MISSING
-			rowSpan			: 'Rows Span', // MISSING
-			colSpan			: 'Columns Span', // MISSING
-			wordWrap		: 'Word Wrap', // MISSING
-			hAlign			: 'Horizontal Alignment', // MISSING
-			vAlign			: 'Vertical Alignment', // MISSING
-			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
+			title			: 'Свойства ячейки',
+			cellType		: 'Тип ячейки',
+			rowSpan			: 'Rows Span',
+			colSpan			: 'Columns Span',
+			wordWrap		: 'Перенос по словам',
+			hAlign			: 'Выравнивание по горизонтали',
+			vAlign			: 'Выравнивание по вертикали',
+			alignTop		: 'По верху',
+			alignMiddle		: 'Посередине',
+			alignBottom		: 'По низу',
+			alignBaseline	: 'По базовой линии',
+			bgColor			: 'Цвет фона',
+			borderColor		: 'Цвет границы',
+			data			: 'Данные',
+			header			: 'Заголовок',
+			yes				: 'Да',
+			no				: 'Нет',
+			invalidWidth	: 'Ширина ячейки должна быть числом.',
+			invalidHeight	: 'Высота ячейки должна быть числом.',
+			invalidRowSpan	: 'Rows span must be a whole number.',
+			invalidColSpan	: 'Columns span must be a whole number.',
+			chooseColor : 'Выберите'
 		},
 
@@ -308,10 +308,10 @@
 		action		: 'Действие',
 		method		: 'Метод',
-		encoding	: 'Encoding', // MISSING
+		encoding	: 'Кодировка',
 		target		: 'Цель',
 		targetNotSet	: '<не определено>',
 		targetNew	: 'Новое окно (_blank)',
 		targetTop	: 'Самое верхнее окно (_top)',
-		targetSelf	: 'Тоже окно (_self)',
+		targetSelf	: 'То же окно (_self)',
 		targetParent	: 'Родительское окно (_parent)'
 	},
@@ -373,5 +373,5 @@
 		menu		: 'Свойства изображения',
 		infoTab	: 'Информация о изображении',
-		btnUpload	: 'Послать на сервер',
+		btnUpload	: 'Отправить на сервер',
 		url		: 'URL',
 		upload	: 'Закачать',
@@ -390,7 +390,7 @@
 		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
+		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 : 'Отсутствует URL картинки.'
 	},
 
@@ -399,18 +399,18 @@
 	{
 		properties		: 'Свойства Flash',
-		propertiesTab	: 'Properties', // MISSING
+		propertiesTab	: 'Свойства',
 		title		: 'Свойства Flash',
 		chkPlay		: 'Авто проигрывание',
 		chkLoop		: 'Повтор',
 		chkMenu		: 'Включить меню Flash',
-		chkFull		: 'Allow Fullscreen', // MISSING
+		chkFull		: 'разрешить полноэкранный режим',
  		scale		: 'Масштабировать',
 		scaleAll		: 'Показывать все',
 		scaleNoBorder	: 'Без бордюра',
 		scaleFit		: 'Точное совпадение',
-		access			: 'Script Access', // MISSING
-		accessAlways	: 'Always', // MISSING
-		accessSameDomain	: 'Same domain', // MISSING
-		accessNever	: 'Never', // MISSING
+		access			: 'Область доступа скрипта',
+		accessAlways	: 'Всегда',
+		accessSameDomain	: 'Тот же домен',
+		accessNever	: 'Никогда',
 		align		: 'Выравнивание',
 		alignLeft	: 'По левому краю',
@@ -423,16 +423,16 @@
 		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
+		quality		: 'Качество',
+		qualityBest		 : 'Лучшее',
+		qualityHigh		 : 'Высокое',
+		qualityAutoHigh	 : 'Высокое (авто)',
+		qualityMedium	 : 'Среднее',
+		qualityAutoLow	 : 'Низкое (авто)',
+		qualityLow		 : 'Низкое',
+		windowModeWindow	 : 'Окно',
+		windowModeOpaque	 : 'Непрозрачный',
+		windowModeTransparent	 : 'Прозрачный',
+		windowMode	: 'Оконный режим',
+		flashvars	: 'Переменные для Flash',
 		bgcolor	: 'Цвет фона',
 		width	: 'Ширина',
@@ -441,8 +441,8 @@
 		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
+		validateWidth : 'Ширина задается числом.',
+		validateHeight : 'Высота задается числом.',
+		validateHSpace : 'Горизонтальный отступ задается числом.',
+		validateVSpace : 'Вертикальный отступ задается числом.'
 	},
 
@@ -451,7 +451,7 @@
 	{
 		toolbar			: 'Проверить орфографию',
-		title			: 'Spell Check', // MISSING
-		notAvailable	: 'Sorry, but service is unavailable now.', // MISSING
-		errorLoading	: 'Error loading application service host: %s.', // MISSING
+		title			: 'Проверка правописания',
+		notAvailable	: 'Извините, сервис сейчас недоступен.',
+		errorLoading	: 'Ошибка при загрузке служебного хоста приложения: %s.',
 		notInDic		: 'Нет в словаре',
 		changeTo		: 'Заменить на',
@@ -466,5 +466,5 @@
 		noChanges		: 'Проверка орфографии закончена: ни одного слова не изменено',
 		oneChange		: 'Проверка орфографии закончена: одно слово изменено',
-		manyChanges		: 'Проверка орфографии закончена: 1% слов изменен',
+		manyChanges		: 'Проверка орфографии закончена: 1% слов изменено',
 		ieSpellDownload	: 'Модуль проверки орфографии не установлен. Хотите скачать его сейчас?'
 	},
@@ -478,5 +478,5 @@
 	elementsPath :
 	{
-		eleTitle : '%1 element' // MISSING
+		eleTitle : '%1 элемент'
 	},
 
@@ -507,8 +507,8 @@
 	pastefromword :
 	{
-		confirmCleanup : 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING
+		confirmCleanup : 'Текст, который вы хотите вставить, похож на копируемый из Word. Вы хотите очистить его перед вставкой?',
 		toolbar : 'Вставить из Word',
 		title : 'Вставить из Word',
-		error : 'It was not possible to clean up the pasted data due to an internal error' // MISSING
+		error : 'Невозможно очистить вставленные данные из-за внутренней ошибки'
 	},
 
@@ -533,9 +533,9 @@
 	{
 		label : 'Стиль',
-		voiceLabel : 'Styles', // MISSING
-		panelVoiceLabel : 'Select a style', // MISSING
-		panelTitle1 : 'Block Styles', // MISSING
-		panelTitle2 : 'Inline Styles', // MISSING
-		panelTitle3 : 'Object Styles' // MISSING
+		voiceLabel : 'Стили',
+		panelVoiceLabel : 'Выберите стиль',
+		panelTitle1 : 'Block Styles',
+		panelTitle2 : 'Inline Styles',
+		panelTitle3 : 'Стили объекта'
 	},
 
@@ -543,7 +543,7 @@
 	{
 		label : 'Форматирование',
-		voiceLabel : 'Format', // MISSING
+		voiceLabel : 'Форматирование',
 		panelTitle : 'Форматирование',
-		panelVoiceLabel : 'Select a paragraph format', // MISSING
+		panelVoiceLabel : 'Выберите форматирование абзаца',
 
 		tag_p : 'Нормальный',
@@ -561,17 +561,17 @@
 	div :
 	{
-		title				: 'Create Div Container', // MISSING
-		toolbar				: 'Create Div Container', // MISSING
-		cssClassInputLabel	: 'Stylesheet Classes', // MISSING
-		styleSelectLabel	: 'Style', // MISSING
-		IdInputLabel		: 'Id', // MISSING
-		languageCodeInputLabel	: ' Language Code', // MISSING
-		inlineStyleInputLabel	: 'Inline Style', // MISSING
-		advisoryTitleInputLabel	: 'Advisory Title', // MISSING
-		langDirLabel		: 'Language Direction', // MISSING
-		langDirLTRLabel		: 'Left to Right (LTR)', // MISSING
-		langDirRTLLabel		: 'Right to Left (RTL)', // MISSING
-		edit				: 'Edit Div', // MISSING
-		remove				: 'Remove Div' // MISSING
+		title				: 'Создать Div-контейнер',
+		toolbar				: 'Создать Div-контейнер',
+		cssClassInputLabel	: 'Классы таблицы стилей',
+		styleSelectLabel	: 'Стиль',
+		IdInputLabel		: 'Id',
+		languageCodeInputLabel	: 'Код языка',
+		inlineStyleInputLabel	: 'Локальный стиль',
+		advisoryTitleInputLabel	: 'Advisory Title',
+		langDirLabel		: 'Направление письма',
+		langDirLTRLabel		: 'Слева направо (LTR)',
+		langDirRTLLabel		: 'Справа налево (RTL)',
+		edit				: 'Редактировать Div',
+		remove				: 'Убрать Div'
   	},
 
@@ -579,7 +579,7 @@
 	{
 		label : 'Шрифт',
-		voiceLabel : 'Font', // MISSING
+		voiceLabel : 'Шрифт',
 		panelTitle : 'Шрифт',
-		panelVoiceLabel : 'Select a font' // MISSING
+		panelVoiceLabel : 'Выберите шрифт'
 	},
 
@@ -587,7 +587,7 @@
 	{
 		label : 'Размер',
-		voiceLabel : 'Font Size', // MISSING
+		voiceLabel : 'Размер шрифта',
 		panelTitle : 'Размер',
-		panelVoiceLabel : 'Select a font size' // MISSING
+		panelVoiceLabel : 'Выберите размер шрифта'
 	},
 
@@ -602,96 +602,96 @@
 	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
+		'000' : 'Черный',
+		'800000' : 'Бордовый',
+		'8B4513' : 'Старой кожи',
+		'2F4F4F' : 'Темный синевато-серый',
+		'008080' : 'Чайный',
+		'000080' : 'Темно-синиый',
+		'4B0082' : 'Индиго',
+		'696969' : 'Грязно-серый',
+		'B22222' : 'Огнеупорный кирпич',
+		'A52A2A' : 'Коричневый',
+		'DAA520' : 'Красное золото',
+		'006400' : 'Темно-зеленый',
+		'40E0D0' : 'Бирюзовый',
+		'0000CD' : 'Синий',
+		'800080' : 'Пурпурный',
+		'808080' : 'Серый',
+		'F00' : 'Красный',
+		'FF8C00' : 'Темно-оранжевый',
+		'FFD700' : 'Золотой',
+		'008000' : 'Зеленый',
+		'0FF' : 'Морской волны',
+		'00F' : 'Голубой',
+		'EE82EE' : 'Фиолетовый',
+		'A9A9A9' : 'Темно-серый',
+		'FFA07A' : 'Светлый оранжево-розовый',
+		'FFA500' : 'Оранжевый',
+		'FFFF00' : 'Желтый',
+		'00FF00' : 'Известковый',
+		'AFEEEE' : 'Бледно-бирюзовый',
+		'ADD8E6' : 'Свелто-синий',
+		'DDA0DD' : 'Сливовый',
+		'D3D3D3' : 'Светло-серый',
+		'FFF0F5' : 'Бледный розово-лиловый ',
+		'FAEBD7' : 'Античный белый',
+		'FFFFE0' : 'Светло-желтый',
+		'F0FFF0' : 'Свежего меда',
+		'F0FFFF' : 'Лазурь',
+		'F0F8FF' : 'Бледно-голубой',
+		'E6E6FA' : 'Бледно-лиловый',
+		'FFF' : 'Белый'
 	},
 
 	scayt :
 	{
-		title : 'Spell Check As You Type', // MISSING
-		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
+		title : 'Проверка Орфографии по Мере Ввода',
+		enable : 'Включить ПОМВ',
+		disable : 'Отключить ПОМВ',
+		about : 'О ПОМВ',
+		toggle : 'Переключить ПОМВ',
+		options : 'Настройки',
+		langs : 'Языки',
+		moreSuggestions : 'Больше вариантов',
+		ignore : 'Пропустить',
+		ignoreAll : 'Пропустить всё',
+		addWord : 'Добавить слово',
+		emptyDic : 'Имя словаря должно быть не пустым.',
+		optionsTab : 'Настройки',
+		languagesTab : 'Языки',
+		dictionariesTab : 'Словари',
+		aboutTab : 'О словарях'
 	},
 
 	about :
 	{
-		title : 'About CKEditor', // MISSING
-		dlgTitle : 'About CKEditor', // MISSING
-		moreInfo : 'For licensing information please visit our web site:', // MISSING
-		copy : 'Copyright &copy; $1. All rights reserved.' // MISSING
-	},
-
-	maximize : 'Maximize', // MISSING
-	minimize : 'Minimize', // MISSING
+		title : 'О программе CKEditor',
+		dlgTitle : 'О программе CKEditor',
+		moreInfo : 'По вопросам лицензирования обращайтесь на наш сайт:',
+		copy : 'Copyright &copy; $1. Все права защищены.'
+	},
+
+	maximize : 'Максимизировать',
+	minimize : 'Минимизировать',
 
 	fakeobjects :
 	{
-		anchor : 'Anchor', // MISSING
-		flash : 'Flash Animation', // MISSING
-		div : 'Page Break', // MISSING
-		unknown : 'Unknown Object' // MISSING
-	},
-
-	resize : 'Drag to resize', // MISSING
+		anchor : 'Якорь',
+		flash : 'Flash-анимация',
+		div : 'Разрыв страницы',
+		unknown : 'Неизвестный объект'
+	},
+
+	resize : 'Перетащите для изменения размера',
 
 	colordialog :
 	{
-		title : 'Select color', // MISSING
-		highlight : 'Highlight', // MISSING
-		selected : 'Selected', // MISSING
-		clear : 'Clear' // MISSING
-	},
-
-	toolbarCollapse : 'Collapse Toolbar', // MISSING
-	toolbarExpand : 'Expand Toolbar' // MISSING
+		title : 'Выберите цвет',
+		highlight : 'Выделить',
+		selected : 'Выбранное',
+		clear : 'Очистить'
+	},
+
+	toolbarCollapse : 'Свернуть панель инструментов',
+	toolbarExpand : 'Развернуть панель инструментов'
 };
Index: /CKEditor/branches/versions/3.2.x/_source/lang/sl.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/lang/sl.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/lang/sl.js	(revision 5049)
@@ -32,5 +32,5 @@
 	 * of reading non-English words. So be careful while translating it.
 	 */
-	editorTitle		: 'Rich text editor, %1', // MISSING
+	editorTitle		: 'Urejevalnik obogatenega besedila, %1',
 
 	// Toolbar buttons without dialogs.
@@ -89,12 +89,12 @@
 		ok				: 'V redu',
 		cancel			: 'Prekliči',
-		generalTab		: 'General', // MISSING
+		generalTab		: 'Splošno',
 		advancedTab		: 'Napredno',
-		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
+		validateNumberFailed	: 'Ta vrednost ni število.',
+		confirmNewPage	: 'Vse neshranjene spremembe te vsebine bodo izgubljene. Ali gotovo želiš naložiti novo stran?',
+		confirmCancel	: 'Nekaj možnosti je bilo spremenjenih. Ali gotovo želiš zapreti okno?',
 
 		// Put the voice-only part of the label in the span.
-		unavailable		: '%1<span class="cke_accessibility">, unavailable</span>' // MISSING
+		unavailable		: '%1<span class="cke_accessibility">, nedosegljiv</span>'
 	},
 
@@ -130,5 +130,5 @@
 		targetPopupName	: 'Ime pojavnega okna',
 		popupFeatures	: 'Značilnosti pojavnega okna',
-		popupResizable	: 'Resizable', // MISSING
+		popupResizable	: 'Spremenljive velikosti',
 		popupStatusBar	: 'Vrstica stanja',
 		popupLocationBar	: 'Naslovna vrstica',
@@ -142,5 +142,5 @@
 		popupHeight		: 'Višina',
 		popupTop		: 'Lega na vrhu',
-		id				: 'Id', // MISSING
+		id				: 'Id',
 		langDir			: 'Smer jezika',
 		langDirNotSet	: '<ni postavljen>',
@@ -188,7 +188,7 @@
 		matchCase			: 'Razlikuj velike in male črke',
 		matchWord			: 'Samo cele besede',
-		matchCyclic			: 'Match cyclic', // MISSING
+		matchCyclic			: 'Primerjaj znake v cirilici',
 		replaceAll			: 'Zamenjaj vse',
-		replaceSuccessMsg	: '%1 occurrence(s) replaced.' // MISSING
+		replaceSuccessMsg	: '%1 pojavitev je bilo zamenjano.'
 	},
 
@@ -216,16 +216,16 @@
 		caption		: 'Naslov',
 		summary		: 'Povzetek',
-		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
+		headers		: 'Glave',
+		headersNone		: 'Brez',
+		headersColumn	: 'Prvi stolpec',
+		headersRow		: 'Prva vrstica',
+		headersBoth		: 'Oboje',
+		invalidRows		: 'Število vrstic mora biti večje od 0.',
+		invalidCols		: 'Število stolpcev mora biti večje od 0.',
+		invalidBorder	: 'Širina obrobe mora biti število.',
+		invalidWidth	: 'Širina tabele mora biti število.',
+		invalidHeight	: 'Višina tabele mora biti število.',
+		invalidCellSpacing	: 'Razmik med celicami mora biti število.',
+		invalidCellPadding	: 'Zamik celic mora biti število',
 
 		cell :
@@ -240,26 +240,26 @@
 			splitHorizontal	: 'Razdeli celico vodoravno',
 			splitVertical	: 'Razdeli celico navpično',
-			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
+			title			: 'Lastnosti celice',
+			cellType		: 'Vrsta celice',
+			rowSpan			: 'Razpon vrstic',
+			colSpan			: 'Razpon stolpcev',
+			wordWrap		: 'Prelom besedila',
+			hAlign			: 'Vodoravna poravnava',
+			vAlign			: 'Navpična poravnava',
+			alignTop		: 'Vrh',
+			alignMiddle		: 'Sredina',
+			alignBottom		: 'Dno',
+			alignBaseline	: 'Osnovnica',
+			bgColor			: 'Barva ozadja',
+			borderColor		: 'Barva obrobe',
+			data			: 'Podatki',
+			header			: 'Glava',
+			yes				: 'Da',
+			no				: 'Ne',
+			invalidWidth	: 'Širina celice mora biti število.',
+			invalidHeight	: 'Višina celice mora biti število.',
+			invalidRowSpan	: 'Razpon vrstic mora biti celo število.',
+			invalidColSpan	: 'Razpon stolpcev mora biti celo število.',
+			chooseColor : 'Izberi'
 		},
 
@@ -308,5 +308,5 @@
 		action		: 'Akcija',
 		method		: 'Metoda',
-		encoding	: 'Encoding', // MISSING
+		encoding	: 'Kodiranje znakov',
 		target		: 'Cilj',
 		targetNotSet	: '<ni postavljen>',
@@ -390,7 +390,7 @@
 		alertUrl	: 'Vnesite URL slike',
 		linkTab	: 'Povezava',
-		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
+		button2Img	: 'Želiš pretvoriti izbrani gumb s sliko v preprosto sliko?',
+		img2Button	: 'Želiš pretvoriti izbrano sliko v gumb s sliko?',
+		urlMissing : 'Manjka vir (URL) slike.'
 	},
 
@@ -399,18 +399,18 @@
 	{
 		properties		: 'Lastnosti Flash',
-		propertiesTab	: 'Properties', // MISSING
+		propertiesTab	: 'Lastnosti',
 		title		: 'Lastnosti Flash',
 		chkPlay		: 'Samodejno predvajaj',
 		chkLoop		: 'Ponavljanje',
 		chkMenu		: 'Omogoči Flash Meni',
-		chkFull		: 'Allow Fullscreen', // MISSING
+		chkFull		: 'Dovoli celozaslonski način',
  		scale		: 'Povečava',
 		scaleAll		: 'Pokaži vse',
 		scaleNoBorder	: 'Brez obrobe',
 		scaleFit		: 'Natančno prileganje',
-		access			: 'Script Access', // MISSING
-		accessAlways	: 'Always', // MISSING
-		accessSameDomain	: 'Same domain', // MISSING
-		accessNever	: 'Never', // MISSING
+		access			: 'Dostop skript',
+		accessAlways	: 'Vedno',
+		accessSameDomain	: 'Samo ista domena',
+		accessNever	: 'Nikoli',
 		align		: 'Poravnava',
 		alignLeft	: 'Levo',
@@ -423,16 +423,16 @@
 		alignTextTop	: 'Besedilo na vrh',
 		alignTop	: 'Na 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
+		quality		: 'Kakovost',
+		qualityBest		 : 'Najvišja',
+		qualityHigh		 : 'Visoka',
+		qualityAutoHigh	 : 'Samodejno visoka',
+		qualityMedium	 : 'Srednja',
+		qualityAutoLow	 : 'Samodejno nizka',
+		qualityLow		 : 'Nizka',
+		windowModeWindow	 : 'Okno',
+		windowModeOpaque	 : 'Motno',
+		windowModeTransparent	 : 'Prosojno',
+		windowMode	: 'Vrsta okna',
+		flashvars	: 'Spremenljivke za Flash',
 		bgcolor	: 'Barva ozadja',
 		width	: 'Širina',
@@ -441,8 +441,8 @@
 		vSpace	: 'Navpični razmik',
 		validateSrc : 'Vnesite URL povezave',
-		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
+		validateWidth : 'Širina mora biti število.',
+		validateHeight : 'Višina mora biti število.',
+		validateHSpace : 'Vodoravni razmik mora biti število.',
+		validateVSpace : 'Navpični razmik mora biti število.'
 	},
 
@@ -451,7 +451,7 @@
 	{
 		toolbar			: 'Preveri črkovanje',
-		title			: 'Spell Check', // MISSING
-		notAvailable	: 'Sorry, but service is unavailable now.', // MISSING
-		errorLoading	: 'Error loading application service host: %s.', // MISSING
+		title			: 'Črkovalnik',
+		notAvailable	: 'Oprostite, storitev trenutno ni dosegljiva.',
+		errorLoading	: 'Napaka pri nalaganju storitve programa na naslovu %s.',
 		notInDic		: 'Ni v slovarju',
 		changeTo		: 'Spremeni v',
@@ -478,5 +478,5 @@
 	elementsPath :
 	{
-		eleTitle : '%1 element' // MISSING
+		eleTitle : '%1 element'
 	},
 
@@ -533,9 +533,9 @@
 	{
 		label : 'Slog',
-		voiceLabel : 'Styles', // MISSING
-		panelVoiceLabel : 'Select a style', // MISSING
-		panelTitle1 : 'Block Styles', // MISSING
-		panelTitle2 : 'Inline Styles', // MISSING
-		panelTitle3 : 'Object Styles' // MISSING
+		voiceLabel : 'Slogi',
+		panelVoiceLabel : 'Izberi slog',
+		panelTitle1 : 'Slogi odstavkov',
+		panelTitle2 : 'Slogi besedila',
+		panelTitle3 : 'Slogi objektov'
 	},
 
@@ -543,7 +543,7 @@
 	{
 		label : 'Oblika',
-		voiceLabel : 'Format', // MISSING
+		voiceLabel : 'Oblika',
 		panelTitle : 'Oblika',
-		panelVoiceLabel : 'Select a paragraph format', // MISSING
+		panelVoiceLabel : 'Izberi obliko odstavka',
 
 		tag_p : 'Navaden',
@@ -556,5 +556,5 @@
 		tag_h5 : 'Naslov 5',
 		tag_h6 : 'Naslov 6',
-		tag_div : 'Normal (DIV)' // MISSING
+		tag_div : 'Navaden (DIV)'
 	},
 
@@ -579,7 +579,7 @@
 	{
 		label : 'Pisava',
-		voiceLabel : 'Font', // MISSING
+		voiceLabel : 'Pisava',
 		panelTitle : 'Pisava',
-		panelVoiceLabel : 'Select a font' // MISSING
+		panelVoiceLabel : 'Izberi pisavo'
 	},
 
@@ -587,7 +587,7 @@
 	{
 		label : 'Velikost',
-		voiceLabel : 'Font Size', // MISSING
+		voiceLabel : 'Velikost',
 		panelTitle : 'Velikost',
-		panelVoiceLabel : 'Select a font size' // MISSING
+		panelVoiceLabel : 'Izberi velikost'
 	},
 
@@ -646,49 +646,49 @@
 	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
+		title : 'Črkovanje med tipkanjem',
+		enable : 'Omogoči SCAYT',
+		disable : 'Onemogoči SCAYT',
+		about : 'O storitvi SCAYT',
+		toggle : 'Preklopi SCAYT',
+		options : 'Možnosti',
+		langs : 'Jeziki',
+		moreSuggestions : 'Več predlogov',
+		ignore : 'Prezri',
+		ignoreAll : 'Prezri vse',
+		addWord : 'Dodaj besedo',
+		emptyDic : 'Ime slovarja ne more biti prazno.',
+		optionsTab : 'Možnosti',
+		languagesTab : 'Jeziki',
+		dictionariesTab : 'Slovarji',
+		aboutTab : 'O storitvi'
 	},
 
 	about :
 	{
-		title : 'About CKEditor', // MISSING
-		dlgTitle : 'About CKEditor', // MISSING
-		moreInfo : 'For licensing information please visit our web site:', // MISSING
-		copy : 'Copyright &copy; $1. All rights reserved.' // MISSING
-	},
-
-	maximize : 'Maximize', // MISSING
-	minimize : 'Minimize', // MISSING
+		title : 'O programu CKEditor',
+		dlgTitle : 'O programu CKEditor',
+		moreInfo : 'Za informacijo o licenci prostim obiščite našo spletno stran:',
+		copy : 'Copyright &copy; $1. Vse pravice pridržane.'
+	},
+
+	maximize : 'Maksimiraj',
+	minimize : 'Minimiraj',
 
 	fakeobjects :
 	{
-		anchor : 'Anchor', // MISSING
-		flash : 'Flash Animation', // MISSING
-		div : 'Page Break', // MISSING
-		unknown : 'Unknown Object' // MISSING
-	},
-
-	resize : 'Drag to resize', // MISSING
+		anchor : 'Sidro',
+		flash : 'Flash animacija',
+		div : 'Prelom strani',
+		unknown : 'Neznan objekt'
+	},
+
+	resize : 'Potegni za spremembo velikosti',
 
 	colordialog :
 	{
-		title : 'Select color', // MISSING
-		highlight : 'Highlight', // MISSING
-		selected : 'Selected', // MISSING
-		clear : 'Clear' // MISSING
+		title : 'Izberi barvo',
+		highlight : 'Poudarjeno',
+		selected : 'Izbrano',
+		clear : 'Počisti'
 	},
 
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/about/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/about/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/about/plugin.js	(revision 5049)
@@ -6,4 +6,5 @@
 CKEDITOR.plugins.add( 'about',
 {
+	requires : [ 'dialog'],
 	init : function( editor )
 	{
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/clipboard/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/clipboard/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/clipboard/plugin.js	(revision 5049)
@@ -242,5 +242,5 @@
 	CKEDITOR.plugins.add( 'clipboard',
 		{
-			requires : [ 'htmldataprocessor' ],
+			requires : [ 'dialog', 'htmldataprocessor' ],
 			init : function( editor )
 			{
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/colorbutton/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/colorbutton/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/colorbutton/plugin.js	(revision 5049)
@@ -195,5 +195,11 @@
 		element		: 'span',
 		styles		: { 'color' : '#(color)' },
-		overrides	: [ { element : 'font', attributes : { 'color' : null } } ]
+		overrides	: [ { element : 'font', attributes : { 'color' : null } } ],
+
+		// Fore color style must be applied inside links instead of around it.
+		childRule : function( element )
+		{
+			return element.getName() != 'a';
+		}
 	};
 
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/contextmenu/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/contextmenu/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/contextmenu/plugin.js	(revision 5049)
@@ -55,9 +55,5 @@
 				menu.onClick = CKEDITOR.tools.bind( function( item )
 				{
-					var noUnlock = true;
 					menu.hide();
-
-					if ( CKEDITOR.env.ie )
-						menu.onEscape();
 
 					if ( item.onClick )
@@ -66,5 +62,4 @@
 						editor.execCommand( item.command );
 
-					noUnlock = false;
 				}, this );
 
@@ -72,7 +67,4 @@
 				{
 					editor.focus();
-
-					if ( CKEDITOR.env.ie )
-						editor.getSelection().unlock( true );
 				};
 			}
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/dialog/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/dialog/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/dialog/plugin.js	(revision 5049)
@@ -93,12 +93,4 @@
 		definition = new definitionObject( this, definition );
 
-		// Fire the "dialogDefinition" event, making it possible to customize
-		// the dialog definition.
-		this.definition = definition = CKEDITOR.fire( 'dialogDefinition',
-			{
-				name : dialogName,
-				definition : definition
-			}
-			, editor ).definition;
 
 		var doc = CKEDITOR.document;
@@ -149,4 +141,12 @@
 		CKEDITOR.event.call( this );
 
+		// Fire the "dialogDefinition" event, making it possible to customize
+		// the dialog definition.
+		this.definition = definition = CKEDITOR.fire( 'dialogDefinition',
+			{
+				name : dialogName,
+				definition : definition
+			}
+			, editor ).definition;
 		// Initialize load, show, hide, ok and cancel events.
 		if ( definition.onLoad )
@@ -806,5 +806,5 @@
 							expand : !!contents.expand,
 							padding : contents.padding,
-							style : contents.style || 'width: 100%;'
+							style : contents.style || 'width: 100%; height: 100%;'
 						}, pageHtml );
 
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/dialogui/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/dialogui/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/dialogui/plugin.js	(revision 5049)
@@ -956,5 +956,5 @@
 				setValue : function( value )
 				{
-					value = value || '';
+					value = ( value != null ) ? value : '';
 					return CKEDITOR.ui.dialog.uiElement.prototype.setValue.call( this, value );
 				},
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/filebrowser/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/filebrowser/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/filebrowser/plugin.js	(revision 5049)
@@ -279,5 +279,16 @@
 				if ( url )
 				{
-					element.onClick = uploadFile;
+					var onClick = element.onClick;
+					element.onClick = function( evt )
+					{
+						// "element" here means the definition object, so we need to find the correct
+						// button to scope the event call
+						var sender = evt.sender;
+						if ( onClick && onClick.call( sender, evt ) === false )
+							return false;
+
+						return uploadFile.call( sender, evt );
+					};
+
 					element.filebrowser.url = url;
 					element.hidden = false;
@@ -336,5 +347,6 @@
 		}
 
-		return ( definition.getContents( tabId ).get( elementId ).filebrowser && definition.getContents( tabId ).get( elementId ).filebrowser.url );
+		var elementFileBrowser = definition.getContents( tabId ).get( elementId ).filebrowser;
+		return ( elementFileBrowser && elementFileBrowser.url );
 	}
 
@@ -348,4 +360,7 @@
 			dialog.getContentElement( targetInput[ 0 ], targetInput[ 1 ] ).reset();
 
+		if ( typeof data == 'function' && data.call( this._.filebrowserSe ) === false )
+			return;
+
 		if ( onSelect && onSelect.call( this._.filebrowserSe, fileUrl, data ) === false )
 			return;
@@ -367,12 +382,14 @@
 			CKEDITOR.on( 'dialogDefinition', function( evt )
 			{
+				var definition = evt.data.definition,
+					element;
 				// Associate filebrowser to elements with 'filebrowser' attribute.
-				for ( var i in evt.data.definition.contents )
+				for ( var i in definition.contents )
 				{
-					attachFileBrowser( evt.editor, evt.data.name, evt.data.definition, evt.data.definition.contents[ i ].elements );
-					if ( evt.data.definition.contents[ i ].hidden && evt.data.definition.contents[ i ].filebrowser )
+					element = definition.contents[ i ] ;
+					attachFileBrowser( evt.editor, evt.data.name, definition, element.elements );
+					if ( element.hidden && element.filebrowser )
 					{
-						evt.data.definition.contents[ i ].hidden =
-							!isConfigured( evt.data.definition, evt.data.definition.contents[ i ][ 'id' ], evt.data.definition.contents[ i ].filebrowser );
+						element.hidden = !isConfigured( definition, element[ 'id' ], element.filebrowser );
 					}
 				}
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/find/dialogs/find.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/find/dialogs/find.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/find/dialogs/find.js	(revision 5049)
@@ -311,11 +311,14 @@
 			{
 				var lastCursor,
+						nextRangeWalker,
 						cursors = this._.cursors;
-				if ( !( lastCursor = cursors[ cursors.length - 1 ] ) )
-					return null;
-				return new characterRange(
-										new characterWalker(
-											getRangeAfterCursor( lastCursor ) ),
-										maxLength );
+
+				if ( ( lastCursor = cursors[ cursors.length - 1 ] ) )
+					nextRangeWalker = new characterWalker( getRangeAfterCursor( lastCursor ) );
+				// In case it's an empty range (no cursors), figure out next range from walker (#4951).
+				else
+					nextRangeWalker = this._.walker;
+
+				return new characterRange( nextRangeWalker, maxLength );
 			},
 
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/floatpanel/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/floatpanel/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/floatpanel/plugin.js	(revision 5049)
@@ -136,4 +136,7 @@
 					});
 
+				// To allow the context menu to decrease back their width
+				element.getFirst().removeStyle('width');
+
 				// Configure the IFrame blur event. Do that only once.
 				if ( !this._.blurSet )
@@ -193,7 +196,32 @@
 						var panelLoad = CKEDITOR.tools.bind( function ()
 						{
+							var target = element.getFirst();
+
 							if ( block.autoSize )
 							{
-								var target = element.getFirst();
+								// We must adjust first the width or IE6 could include extra lines in the height computation
+								var widthNode = block.element.$;
+
+								if ( CKEDITOR.env.gecko || CKEDITOR.env.opera)
+									widthNode = widthNode.parentNode;
+
+								if ( CKEDITOR.env.ie)
+									widthNode = widthNode.document.body;
+
+								var width = widthNode.scrollWidth;
+								// Account for extra height needed due to IE quirks box model bug:
+								// http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug
+								// (#3426)
+								if ( CKEDITOR.env.ie && CKEDITOR.env.quirks && width > 0 )
+									width += ( target.$.offsetWidth || 0 ) - ( target.$.clientWidth || 0 );
+								// A little extra at the end.
+								// If not present, IE6 might break into the next line, but also it looks better this way
+								width += 4 ;
+
+								target.setStyle( 'width', width + 'px' );
+
+								// IE doesn't compute the scrollWidth if a filter is applied previously
+								block.element.addClass( 'cke_frameLoaded')
+
 								var height = block.element.$.scrollHeight;
 
@@ -210,5 +238,5 @@
 							}
 							else
-								element.getFirst().removeStyle( 'height' );
+								target.removeStyle( 'height' );
 
 							var panelElement = panel.element,
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/font/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/font/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/font/plugin.js	(revision 5049)
@@ -18,11 +18,19 @@
 		for ( var i = 0 ; i < names.length ; i++ )
 		{
-			var vars = {};
-			var parts = names[ i ].split( '/' );
-
-			var name = names[ i ] = parts[ 0 ];
-			vars[ styleType ] = values[ i ] = parts[ 1 ] || name;
-
-			styles[ name ] = new CKEDITOR.style( styleDefinition, vars );
+			var parts = names[ i ];
+
+			if ( parts )
+			{
+				parts = parts.split( '/' );
+
+				var vars = {},
+					name = names[ i ] = parts[ 0 ];
+
+				vars[ styleType ] = values[ i ] = parts[ 1 ] || name;
+
+				styles[ name ] = new CKEDITOR.style( styleDefinition, vars );
+			}
+			else
+				names.splice( i--, 1 );
 		}
 
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/htmlwriter/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/htmlwriter/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/htmlwriter/plugin.js	(revision 5049)
@@ -172,6 +172,11 @@
 		attribute : function( attName, attValue )
 		{
-			if ( this.forceSimpleAmpersand )
-				attValue = attValue.replace( /&amp;/, '&' );
+
+			if ( typeof attValue == 'string' )
+			{
+				this.forceSimpleAmpersand && ( attValue = attValue.replace( /&amp;/g, '&' ) );
+				// Browsers don't always escape quote in attribute values. (#4683)
+				attValue = attValue.replace( /"/g, '&quot;' )
+			}
 
 			this._.output.push( ' ', attName, '="', attValue, '"' );
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/image/dialogs/image.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/image/dialogs/image.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/image/dialogs/image.js	(revision 5049)
@@ -717,7 +717,8 @@
 														if ( resetButton )
 														{
-															resetButton.on( 'click', function()
+															resetButton.on( 'click', function(evt)
 																{
 																	resetSize( this );
+																	evt.data.preventDefault();
 																}, this.getDialog() );
 															resetButton.on( 'mouseover', function()
@@ -733,5 +734,5 @@
 														if ( ratioButton )
 														{
-															ratioButton.on( 'click', function()
+															ratioButton.on( 'click', function(evt)
 																{
 																	var locked = switchLockRatio( this ),
@@ -748,4 +749,5 @@
 																		}
 																	}
+																	evt.data.preventDefault();
 																}, this.getDialog() );
 															ratioButton.on( 'mouseover', function()
@@ -799,9 +801,7 @@
 															var value,
 																borderStyle = element.getStyle( 'border-width' );
-
 															borderStyle = borderStyle && borderStyle.match( /^(\d+px)(?: \1 \1 \1)?$/ );
 															value = borderStyle && parseInt( borderStyle[ 1 ], 10 );
-															!value && ( value = element.getAttribute( 'border' ) );
-
+															isNaN ( parseInt( value ) ) && ( value = element.getAttribute( 'border' ) );
 															this.setValue( value );
 														}
@@ -812,5 +812,5 @@
 														if ( type == IMAGE || type == PREVIEW )
 														{
-															if ( value )
+															if ( !isNaN( value ) )
 															{
 																element.setStyle( 'border-width', CKEDITOR.tools.cssLength( value ) );
@@ -872,5 +872,5 @@
 
 															value = ( marginLeftPx == marginRightPx ) && marginLeftPx;
-															!value && ( value = element.getAttribute( 'hspace' ) );
+															isNaN( parseInt( value ) ) && ( value = element.getAttribute( 'hspace' ) );
 
 															this.setValue( value );
@@ -882,5 +882,5 @@
 														if ( type == IMAGE || type == PREVIEW )
 														{
-															if ( value )
+															if ( !isNaN( value ) )
 															{
 																element.setStyle( 'margin-left', CKEDITOR.tools.cssLength( value ) );
@@ -940,5 +940,5 @@
 
 															value = ( marginTopPx == marginBottomPx ) && marginTopPx;
-															!value && ( value = element.getAttribute( 'vspace' ) );
+															isNaN ( parseInt( value ) ) && ( value = element.getAttribute( 'vspace' ) );
 															this.setValue( value );
 														}
@@ -949,5 +949,5 @@
 														if ( type == IMAGE || type == PREVIEW )
 														{
-															if ( value )
+															if ( !isNaN( value ) )
 															{
 																element.setStyle( 'margin-top', CKEDITOR.tools.cssLength( value ) );
@@ -1023,5 +1023,5 @@
 															if ( value )
 																element.setStyle( 'float', value );
-															else if ( !value && this.isChanged( ) )
+															else
 																element.removeStyle( 'float' );
 
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/justify/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/justify/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/justify/plugin.js	(revision 5049)
@@ -67,5 +67,7 @@
 		exec : function( editor )
 		{
-			var selection = editor.getSelection();
+			var selection = editor.getSelection(),
+				enterMode = editor.config.enterMode;
+
 			if ( !selection )
 				return;
@@ -81,4 +83,6 @@
 			{
 				iterator = ranges[ i ].createIterator();
+				iterator.enlargeBr = enterMode != CKEDITOR.ENTER_BR;
+				
 				while ( ( block = iterator.getNextParagraph() ) )
 				{
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/link/dialogs/link.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/link/dialogs/link.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/link/dialogs/link.js	(revision 5049)
@@ -18,16 +18,24 @@
 
 		popupFeatures = popupFeatures.getElement();
-
-		if ( value == 'popup' )
-		{
-			popupFeatures.show();
-			targetName.setLabel( editor.lang.link.targetPopupName );
-		}
-		else
-		{
-			popupFeatures.hide();
-			targetName.setLabel( editor.lang.link.targetFrameName );
-			this.getDialog().setValueOf( 'target', 'linkTargetName', value.charAt( 0 ) == '_' ? value : '' );
-		}
+		popupFeatures.hide();
+		targetName.setValue( '' );
+		
+		switch ( value )
+ 		{
+			case 'frame' :
+				targetName.setLabel( editor.lang.link.targetFrameName );
+				targetName.getElement().show();
+				break;
+			case 'popup' :
+				popupFeatures.show();
+				targetName.setLabel( editor.lang.link.targetPopupName );
+				targetName.getElement().show();
+				break;
+			default :
+				targetName.setValue( value );
+				targetName.getElement().hide();
+				break;
+ 		}
+		
 	};
 
@@ -70,9 +78,10 @@
 
 	// Loads the parameters in a selected link to the link dialog fields.
-	var emailRegex = /^mailto:([^?]+)(?:\?(.+))?$/,
+	var javascriptProtocolRegex = /^javascript:/,
+		emailRegex = /^mailto:([^?]+)(?:\?(.+))?$/,
 		emailSubjectRegex = /subject=([^;?:@&=$,\/]*)/,
 		emailBodyRegex = /body=([^;?:@&=$,\/]*)/,
 		anchorRegex = /^#(.*)$/,
-		urlRegex = /^(?!javascript)((?:http|https|ftp|news):\/\/)?(.*)$/,
+		urlRegex = /^((?:http|https|ftp|news):\/\/)?(.*)$/,
 		selectableTargets = /^(_(?:self|top|parent|blank))$/,
 		encodedEmailLinkRegex = /^javascript:void\(location\.href='mailto:'\+String\.fromCharCode\(([^)]+)\)(?:\+'(.*)')?\)$/,
@@ -86,4 +95,5 @@
 	{
 		var href = element ? ( element.getAttribute( '_cke_saved_href' ) || element.getAttribute( 'href' ) ) : '',
+		 	javascriptMatch,
 			emailMatch,
 			anchorMatch,
@@ -91,20 +101,5 @@
 			retval = {};
 
-		if ( ( anchorMatch = href.match( anchorRegex ) ) )
-		{
-			retval.type = 'anchor';
-			retval.anchor = {};
-			retval.anchor.name = retval.anchor.id = anchorMatch[1];
-		}
-		// urlRegex matches empty strings, so need to check for href as well.
-		else if ( href && ( urlMatch = href.match( urlRegex ) ) )
-		{
-			retval.type = 'url';
-			retval.url = {};
-			retval.url.protocol = urlMatch[1];
-			retval.url.url = urlMatch[2];
-		}
-		// Protected email link as encoded string.
-		else if ( !emailProtection || emailProtection == 'encode' )
+		if( javascriptMatch = href.match( javascriptProtocolRegex ) )
 		{
 			if( emailProtection == 'encode' )
@@ -118,8 +113,43 @@
 						} );
 			}
-
-			emailMatch = href.match( emailRegex );
-
-			if( emailMatch )
+			// Protected email link as function call.
+			else if( emailProtection )
+			{
+				href.replace( functionCallProtectedEmailLinkRegex, function( match, funcName, funcArgs )
+				{
+					if( funcName == compiledProtectionFunction.name )
+					{
+						retval.type = 'email';
+						var email = retval.email = {};
+
+						var paramRegex = /[^,\s]+/g,
+							paramQuoteRegex = /(^')|('$)/g,
+							paramsMatch = funcArgs.match( paramRegex ),
+							paramsMatchLength = paramsMatch.length,
+							paramName,
+							paramVal;
+
+						for ( var i = 0; i < paramsMatchLength; i++ )
+						{
+							paramVal = decodeURIComponent( unescapeSingleQuote( paramsMatch[ i ].replace( paramQuoteRegex, '' ) ) );
+							paramName = compiledProtectionFunction.params[ i ].toLowerCase();
+							email[ paramName ] = paramVal;
+						}
+						email.address = [ email.name, email.domain ].join( '@' );
+					}
+				} );
+			}
+		}
+
+		if( !retval.type )
+		{
+			if ( ( anchorMatch = href.match( anchorRegex ) ) )
+			{
+				retval.type = 'anchor';
+				retval.anchor = {};
+				retval.anchor.name = retval.anchor.id = anchorMatch[1];
+			}
+			// Protected email link as encoded string.
+			else if ( emailMatch = href.match( emailRegex ) )
 			{
 				var subjectMatch = href.match( emailSubjectRegex ),
@@ -132,34 +162,15 @@
 				bodyMatch && ( email.body = decodeURIComponent( bodyMatch[ 1 ] ) );
 			}
+			// urlRegex matches empty strings, so need to check for href as well.
+			else if (  href && ( urlMatch = href.match( urlRegex ) ) )
+			{
+				retval.type = 'url';
+				retval.url = {};
+				retval.url.protocol = urlMatch[1];
+				retval.url.url = urlMatch[2];
+			}
+			else
+				retval.type = 'url';
 		}
-		// Protected email link as function call.
-		else if( emailProtection )
-		{
-			href.replace( functionCallProtectedEmailLinkRegex, function( match, funcName, funcArgs )
-			{
-				if( funcName == compiledProtectionFunction.name )
-				{
-					retval.type = 'email';
-					var email = retval.email = {};
-
-					var paramRegex = /[^,\s]+/g,
-						paramQuoteRegex = /(^')|('$)/g,
-						paramsMatch = funcArgs.match( paramRegex ),
-						paramsMatchLength = paramsMatch.length,
-						paramName,
-						paramVal;
-
-					for ( var i = 0; i < paramsMatchLength; i++ )
-					{
-						paramVal = decodeURIComponent( unescapeSingleQuote( paramsMatch[ i ].replace( paramQuoteRegex, '' ) ) );
-						paramName = compiledProtectionFunction.params[ i ].toLowerCase();
-						email[ paramName ] = paramVal;
-					}
-					email.address = [ email.name, email.domain ].join( '@' );
-				}
-			} );
-		}
-		else
-			retval.type = 'url';
 
 		// Load target and popup settings.
@@ -482,4 +493,8 @@
 										commit : function( data )
 										{
+											// IE will not trigger the onChange event if the mouse has been used
+											// to carry all the operations #4724
+											this.onChange();
+
 											if ( !data.url )
 												data.url = {};
@@ -1313,5 +1328,7 @@
 			{
 				// We're only editing an existing link, so just overwrite the attributes.
-				var element = this._.selectedElement;
+				var element = this._.selectedElement,
+					href = element.getAttribute( '_cke_saved_href' ),
+					textView = element.getHtml();
 
 				// IE BUG: Setting the name attribute to an existing link doesn't work.
@@ -1334,5 +1351,7 @@
 				element.setAttributes( attributes );
 				element.removeAttributes( removeAttributes );
-
+				// Update text view when user changes protocol #4612.
+				if (href == textView)
+					element.setHtml( attributes._cke_saved_href );
 				// Make the element display as an anchor if a name has been set.
 				if ( element.getAttribute( 'name' ) )
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/menu/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/menu/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/menu/plugin.js	(revision 5049)
@@ -9,41 +9,36 @@
 	{
 		var groups = editor.config.menu_groups.split( ',' ),
-			groupsOrder = {};
+			groupsOrder = editor._.menuGroups = {},
+			menuItems = editor._.menuItems = {};
 
 		for ( var i = 0 ; i < groups.length ; i++ )
 			groupsOrder[ groups[ i ] ] = i + 1;
 
-		editor._.menuGroups = groupsOrder;
-		editor._.menuItems = {};
+		editor.addMenuGroup = function( name, order )
+			{
+				groupsOrder[ name ] = order || 100;
+			};
+
+		editor.addMenuItem = function( name, definition )
+			{
+				if ( groupsOrder[ definition.group ] )
+					menuItems[ name ] = new CKEDITOR.menuItem( this, name, definition );
+			};
+
+		editor.addMenuItems = function( definitions )
+			{
+				for ( var itemName in definitions )
+				{
+					this.addMenuItem( itemName, definitions[ itemName ] );
+				}
+			};
+
+		editor.getMenuItem = function( name )
+			{
+				return menuItems[ name ];
+			};
 	},
 
 	requires : [ 'floatpanel' ]
-});
-
-CKEDITOR.tools.extend( CKEDITOR.editor.prototype,
-{
-	addMenuGroup : function( name, order )
-	{
-		this._.menuGroups[ name ] = order || 100;
-	},
-
-	addMenuItem : function( name, definition )
-	{
-		if ( this._.menuGroups[ definition.group ] )
-			this._.menuItems[ name ] = new CKEDITOR.menuItem( this, name, definition );
-	},
-
-	addMenuItems : function( definitions )
-	{
-		for ( var itemName in definitions )
-		{
-			this.addMenuItem( itemName, definitions[ itemName ] );
-		}
-	},
-
-	getMenuItem : function( name )
-	{
-		return this._.menuItems[ name ];
-	}
 });
 
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/pagebreak/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/pagebreak/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/pagebreak/plugin.js	(revision 5049)
@@ -37,4 +37,5 @@
 				'border-bottom: #999999 1px dotted;' +
 				'height: 5px;' +
+				'page-break-after: always;' +
 
 			'}' );
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/selection/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/selection/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/selection/plugin.js	(revision 5049)
@@ -139,4 +139,10 @@
 								// Disable selections from being saved.
 								saveEnabled = false;
+
+								// IE before version 8 will leave cursor blinking inside the document after
+								// editor blurred unless we clean up the selection. (#4716)
+								var env = CKEDITOR.env;
+								if( env.ie && env.version < 8 )
+									editor.document.$.selection.empty();
 							});
 
@@ -460,15 +466,19 @@
 
 								testRange.moveToElementText( child );
+
+								var comparisonStart = testRange.compareEndPoints( 'StartToStart', range ),
+									comparisonEnd = testRange.compareEndPoints( 'EndToStart', range );
+
 								testRange.collapse();
 
-								var comparison = testRange.compareEndPoints( 'StartToStart', range );
-
-								if ( comparison > 0 )
+								if ( comparisonStart > 0 )
 									break;
-								else if ( comparison === 0 )
-									return {
-										container : parent,
-										offset : i
-									};
+								// When selection stay at the side of certain self-closing elements, e.g. BR,
+								// our comparison will never shows an equality. (#4824)
+								else if ( comparisonStart == 0
+									|| comparisonEnd == 1 && comparisonStart == -1 )
+									return { container : parent, offset : i };
+								else if( comparisonEnd == 0 )
+									return { container : parent, offset : i + 1 };
 
 								testRange = null;
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/smiley/dialogs/smiley.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/smiley/dialogs/smiley.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/smiley/dialogs/smiley.js	(revision 5049)
@@ -45,4 +45,5 @@
 
 		dialog.hide();
+		evt.data.preventDefault();
 	};
 
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/sourcearea/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/sourcearea/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/sourcearea/plugin.js	(revision 5049)
@@ -15,5 +15,6 @@
 	init : function( editor )
 	{
-		var sourcearea = CKEDITOR.plugins.sourcearea;
+		var sourcearea = CKEDITOR.plugins.sourcearea,
+			win = CKEDITOR.document.getWindow();
 
 		editor.on( 'editingBlockReady', function()
@@ -49,27 +50,24 @@
 							};
 
-							// The textarea height/width='100%' doesn't
-							// constraint to the 'td' in IE strick mode
+							// Having to make <textarea> fixed sized to conque the following bugs:
+							// 1. The textarea height/width='100%' doesn't constraint to the 'td' in IE6/7.
+							// 2. Unexpected vertical-scrolling behavior happens whenever focus is moving out of editor
+							// if text content within it has overflowed. (#4762)
 							if ( CKEDITOR.env.ie )
 							{
-								if ( !CKEDITOR.env.ie8Compat )
-								{
-									onResize = function()
-										{
-											// Holder rectange size is stretched by textarea,
-											// so hide it just for a moment.
-											textarea.hide();
-											textarea.setStyle( 'height', holderElement.$.clientHeight + 'px' );
-											// When we have proper holder size, show textarea again.
-											textarea.show();
-										};
-									editor.on( 'resize', onResize );
-									editor.on( 'afterCommandExec', function( event )
-									{
-										if ( event.data.name == 'toolbarCollapse' )
-											onResize();
-									});
-									styles.height = holderElement.$.clientHeight + 'px';
-								}
+								onResize = function()
+								{
+									// Holder rectange size is stretched by textarea,
+									// so hide it just for a moment.
+									textarea.hide();
+									textarea.setStyle( 'height', holderElement.$.clientHeight + 'px' );
+									textarea.setStyle( 'width', holderElement.$.clientWidth + 'px' );
+									// When we have proper holder size, show textarea again.
+									textarea.show();
+								};
+
+								editor.on( 'resize', onResize );
+								win.on( 'resize', onResize );
+								setTimeout( onResize, 0 );
 							}
 							else
@@ -140,5 +138,8 @@
 
 							if ( onResize )
+							{
 								editor.removeListener( 'resize', onResize );
+								win.removeListener( 'resize', onResize );
+							}
 
 							if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 )
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/specialchar/dialogs/specialchar.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/specialchar/dialogs/specialchar.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/specialchar/dialogs/specialchar.js	(revision 5049)
@@ -341,5 +341,6 @@
 												type : 'html',
 												id : 'charPreview',
-												style : 'border:1px solid #eeeeee;background-color:#EAEAD1;font-size:28px;height:40px;width:70px;padding-top:9px;font-family:\'Microsoft Sans Serif\',Arial,Helvetica,Verdana;text-align:center;',
+												className : 'cke_dark_background',
+												style : 'border:1px solid #eeeeee;font-size:28px;height:40px;width:70px;padding-top:9px;font-family:\'Microsoft Sans Serif\',Arial,Helvetica,Verdana;text-align:center;',
 												html : '<div>&nbsp;</div>'
 											},
@@ -347,5 +348,6 @@
 												type : 'html',
 												id : 'htmlPreview',
-												style : 'border:1px solid #eeeeee;background-color:#EAEAD1;font-size:14px;height:20px;width:70px;padding-top:2px;font-family:\'Microsoft Sans Serif\',Arial,Helvetica,Verdana;text-align:center;',
+												className : 'cke_dark_background',
+												style : 'border:1px solid #eeeeee;font-size:14px;height:20px;width:70px;padding-top:2px;font-family:\'Microsoft Sans Serif\',Arial,Helvetica,Verdana;text-align:center;',
 												html : '<div>&nbsp;</div>'
 											}
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/styles/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/styles/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/styles/plugin.js	(revision 5049)
@@ -376,5 +376,7 @@
 
 				// Check if the current node can be a child of the style element.
-				if ( !nodeName || ( dtd[ nodeName ] && ( currentNode.getPosition( lastNode ) | CKEDITOR.POSITION_PRECEDING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED ) ) )
+				if ( !nodeName || ( dtd[ nodeName ]
+					&& ( currentNode.getPosition( lastNode ) | CKEDITOR.POSITION_PRECEDING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED )
+					&& ( !def.childRule || def.childRule( currentNode ) ) ) )
 				{
 					var currentParent = currentNode.getParent();
@@ -382,5 +384,7 @@
 					// Check if the style element can be a child of the current
 					// node parent or if the element is not defined in the DTD.
-					if ( currentParent && ( ( currentParent.getDtd() || CKEDITOR.dtd.span )[ elementName ] || isUnknownElement ) )
+					if ( currentParent
+						&& ( ( currentParent.getDtd() || CKEDITOR.dtd.span )[ elementName ] || isUnknownElement )
+						&& ( !def.parentRule || def.parentRule( currentParent ) ) )
 					{
 						// This node will be part of our range, so if it has not
@@ -407,5 +411,6 @@
 							while ( !includedNode.$.nextSibling
 								&& ( parentNode = includedNode.getParent(), dtd[ parentNode.getName() ] )
-								&& ( parentNode.getPosition( firstNode ) | CKEDITOR.POSITION_FOLLOWING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_FOLLOWING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED ) )
+								&& ( parentNode.getPosition( firstNode ) | CKEDITOR.POSITION_FOLLOWING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_FOLLOWING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED )
+								&& ( !def.childRule || def.childRule( parentNode ) ) )
 							{
 								includedNode = parentNode;
@@ -1192,5 +1197,5 @@
 			var temp = new CKEDITOR.dom.element( 'span' );
 			temp.setAttribute( 'style', unparsedCssText );
-			styleText = temp.getAttribute( 'style' );
+			styleText = temp.getAttribute( 'style' ) || '';
 		}
 		else
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/table/dialogs/table.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/table/dialogs/table.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/table/dialogs/table.js	(revision 5049)
@@ -381,4 +381,6 @@
 														if ( widthMatch )
 															this.setValue( widthMatch[1] );
+														else
+															this.setValue( '' );
 													},
 													commit : commitValue
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/tabletools/dialogs/tableCell.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/tabletools/dialogs/tableCell.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/tabletools/dialogs/tableCell.js	(revision 5049)
@@ -188,4 +188,9 @@
 												[ langCell.no, 'no' ]
 											],
+											setup : function( selectedCell )
+											{
+												if ( selectedCell.getAttribute( 'noWrap' ) )
+													this.setValue( 'no' );
+											},
 											commit : function( selectedCell )
 											{
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/tabletools/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/tabletools/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/tabletools/plugin.js	(revision 5049)
@@ -124,13 +124,34 @@
 		if ( selectionOrRow instanceof CKEDITOR.dom.selection )
 		{
-			var cells = getSelectedCells( selectionOrRow );
-			var rowsToDelete = [];
+			var cells = getSelectedCells( selectionOrRow ),
+				cellsCount = cells.length,
+				rowsToDelete = [],
+				cursorPosition,
+				previousRowIndex,
+				nextRowIndex;
 
 			// Queue up the rows - it's possible and likely that we have duplicates.
-			for ( var i = 0 ; i < cells.length ; i++ )
-			{
-				var row = cells[ i ].getParent();
-				rowsToDelete[ row.$.rowIndex ] = row;
-			}
+			for ( var i = 0 ; i < cellsCount ; i++ )
+			{
+				var row = cells[ i ].getParent(),
+						rowIndex = row.$.rowIndex;
+
+				i == 0 && ( previousRowIndex = rowIndex - 1 );
+				rowsToDelete[ rowIndex ] = row;
+				i == cellsCount - 1 && ( nextRowIndex = rowIndex + 1 );
+			}
+
+			var table = row.getAscendant( 'table' ),
+					rows =  table.$.rows,
+					rowCount = rows.length;
+
+			// Where to put the cursor after rows been deleted?
+			// 1. Into next sibling row if any;
+			// 2. Into previous sibling row if any;
+			// 3. Into table's parent element if it's the very last row.
+			cursorPosition = new CKEDITOR.dom.element(
+				nextRowIndex < rowCount && table.$.rows[ nextRowIndex ] ||
+				previousRowIndex > 0 && table.$.rows[ previousRowIndex ] ||
+				table.$.parentNode );
 
 			for ( i = rowsToDelete.length ; i >= 0 ; i-- )
@@ -139,4 +160,6 @@
 					deleteRows( rowsToDelete[ i ] );
 			}
+
+			return cursorPosition;
 		}
 		else if ( selectionOrRow instanceof CKEDITOR.dom.element )
@@ -669,5 +692,5 @@
 					{
 						var selection = editor.getSelection();
-						deleteRows( selection );
+						placeCursorInCell( deleteRows( selection ) );
 					}
 				} );
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/toolbar/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/toolbar/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/toolbar/plugin.js	(revision 5049)
@@ -264,4 +264,6 @@
 										var dy = toolboxContainer.$.offsetHeight - previousHeight;
 										contents.setStyle( 'height', ( contentHeight - dy ) + 'px' );
+
+										editor.fire( 'resize' );
 									},
 
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/undo/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/undo/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/undo/plugin.js	(revision 5049)
@@ -391,5 +391,8 @@
 			this.index = image.index;
 
-			this.currentImage = image;
+			// Update current image with the actual editor
+			// content, since actualy content may differ from
+			// the original snapshot due to dom change. (#4622) 
+			this.snapshots.splice( this.index, 1, ( this.currentImage =  new Image( this.editor ) ) );
 
 			this.fireChange();
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/wysiwygarea/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/wysiwygarea/plugin.js	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/wysiwygarea/plugin.js	(revision 5049)
@@ -341,5 +341,5 @@
 					// is fully editable even before the editing iframe is fully loaded (#4455).
 					var activationScript =
-						'<script id="cke_actscrpt" type="text/javascript">' +
+						'<script id="cke_actscrpt" type="text/javascript" cke_temp="1">' +
 							'window.parent.CKEDITOR._["contentDomReady' + editor.name + '"]( window );' +
 						'</script>';
@@ -476,18 +476,32 @@
 						if ( CKEDITOR.env.ie )
 						{
-							// Cancel default action for backspace in IE on control types. (#4047)
+							// Override keystrokes which should have deletion behavior
+							//  on control types in IE . (#4047)
 							domDocument.on( 'keydown', function( evt )
 							{
-								// Backspace.
-								var control = evt.data.getKeystroke() == 8
-											  && editor.getSelection().getSelectedElement();
-								if ( control )
-								{
-									// Make undo snapshot.
-									editor.fire( 'saveSnapshot' );
-									// Remove manually.
-									control.remove();
-									editor.fire( 'saveSnapshot' );
-									evt.cancel();
+								var keyCode = evt.data.getKeystroke();
+
+								// Backspace OR Delete.
+								if ( keyCode in { 8 : 1, 46 : 1 } )
+								{
+									var sel = editor.getSelection(),
+										control = sel.getSelectedElement();
+
+									if ( control )
+									{
+										// Make undo snapshot.
+										editor.fire( 'saveSnapshot' );
+
+										// Delete any element that 'hasLayout' (e.g. hr,table) in IE8 will
+										// break up the selection, safely manage it here. (#4795)
+										var bookmark = sel.getRanges()[ 0 ].createBookmark();
+										// Remove the control manually.
+										control.remove();
+										sel.selectBookmarks( [ bookmark ] );
+
+										editor.fire( 'saveSnapshot' );
+
+										evt.data.preventDefault();
+									}
 								}
 							} );
@@ -766,15 +780,13 @@
 	if( CKEDITOR.env.gecko )
 	{
-		var topWin = window.top;
-
 		( function ()
 		{
-			var topBody = topWin.document.body;
-
-			if( !topBody )
-				topWin.addEventListener( 'load', arguments.callee, false );
+			var body = document.body;
+
+			if( !body )
+				window.addEventListener( 'load', arguments.callee, false );
 			else
 			{
-				topBody.setAttribute( 'onpageshow', topBody.getAttribute( 'onpageshow' )
+				body.setAttribute( 'onpageshow', body.getAttribute( 'onpageshow' )
 						+ ';event.persisted && CKEDITOR.tools.callFunction(' +
 						CKEDITOR.tools.addFunction( function()
Index: /CKEditor/branches/versions/3.2.x/_source/skins/kama/dialog.css
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/skins/kama/dialog.css	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/skins/kama/dialog.css	(revision 5049)
@@ -333,5 +333,5 @@
 .cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button
 {
-	float: right;
+	display:inline-block;
 	padding-top: 3px;
 	padding-bottom: 2px;
Index: /CKEditor/branches/versions/3.2.x/_source/skins/kama/menu.css
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/skins/kama/menu.css	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/skins/kama/menu.css	(revision 5049)
@@ -95,6 +95,8 @@
 	margin-left: 24px;
 	background-color: #fff;
-	_overflow: hidden;
-	_width: 80px;
+}
+/* Set these after the document has been loaded and we know the dimensions*/
+.cke_skin_kama .cke_frameLoaded .cke_menuitem .cke_label
+{
 	filter: alpha(opacity=70); /* IE */
 	opacity: 0.70; /* Safari, Opera and Mozilla */
Index: /CKEditor/branches/versions/3.2.x/_source/skins/office2003/menu.css
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/skins/office2003/menu.css	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/skins/office2003/menu.css	(revision 5049)
@@ -94,6 +94,8 @@
 	margin-left: 24px;
 	background-color: #fff;
-	_overflow: hidden;
-	_width: 80px;
+}
+/* Set these after the document has been loaded and we know the dimensions*/
+.cke_skin_office2003 .cke_frameLoaded .cke_menuitem .cke_label
+{
 	filter: alpha(opacity=70); /* IE */
 	opacity: 0.70; /* Safari, Opera and Mozilla */
Index: /CKEditor/branches/versions/3.2.x/_source/skins/v2/menu.css
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/skins/v2/menu.css	(revision 5048)
+++ /CKEditor/branches/versions/3.2.x/_source/skins/v2/menu.css	(revision 5049)
@@ -94,6 +94,8 @@
 	margin-left: 24px;
 	background-color: #fff;
-	_overflow: hidden;
-	_width: 80px;
+}
+/* Set these after the document has been loaded and we know the dimensions*/
+.cke_skin_v2 .cke_frameLoaded .cke_menuitem .cke_label
+{
 	filter: alpha(opacity=70); /* IE */
 	opacity: 0.70; /* Safari, Opera and Mozilla */
