Index: CKEditor/branches/versions/3.4.x/CHANGES.html
===================================================================
--- CKEditor/branches/versions/3.4.x/CHANGES.html	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/CHANGES.html	(revision 5754)
@@ -67,5 +67,5 @@
 	<ul>
 		<li><a href="http://dev.fckeditor.net/ticket/5882">#5882</a> : New event dialog#selectPage like the OnDialogTabChange in FCKeditor.</li>
-		<li><a href="http://dev.fckeditor.net/ticket/5927">#5927</a> : The native controls in ui.dialog elements can be styled with a controlStyle definition.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5927">#5927</a> : The native controls in ui.dialog.elements can be styled with a controlStyle definition.</li>
 	</ul>
 	<p>
@@ -103,6 +103,26 @@
 		<li><a href="http://dev.fckeditor.net/ticket/5436">#5436</a> : IE: Cursor goes to next Table Cell after we insert a Smiley in the Table Cell.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/5580">#5580</a> : Maximize does not work properly in the Office 2003 and V2 skins.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5495">#5495</a> : The link dialog was breaking the undo system on some situations.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5775">#5775</a> : Required field's label to contain a CSS class to allow it to be styled differently.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5999">#5999</a> : Table dialog rows and columns fields are now marked as required.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5693">#5693</a> : baseHref detection in the flash dialog now works correctly.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5690">#5690</a> : Table cell's width attribute is now respected properly.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5819">#5819</a> : Introducing the new removeFormatCleanup event and making sure remove format doesn't break the showborder plugin.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5558">#5558</a> : After pasting on WebKit based browsers the editor now scrolls to the end of the pasted content.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5799">#5799</a> : Correct plugin dependencies for the liststyle plugin with contextMenu and dialog.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5436">#5436</a> : IE: The cursor was moving to the wrong position when inserting inline elements at the end of cells on tables.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5984">#5984</a> : Firefox: CTRL+HOME was creating an unwanted empty paragraph at the start of the document.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5634">#5634</a> : IE: It was needed to click twice in the editor to make it editable on some situations.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5338">#5338</a> : Pasting from Open Office could lead on error.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5224">#5224</a> : Some invalid markup could break the editor.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5455">#5455</a> : It was not possible to remove formatting from pasted content on specific cases.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5735">#5735</a> : IE: The editor was having focus issues when the previous selection got hidden by scroll operations.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5563">#5563</a> : Firefox: The disableObjectResizing and disableNativeTableHandles stopped working.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5781">#5781</a> : Firefox: Editing was not possible in an empty document.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5293">#5293</a> : Firefox: Unwanted BR tags were being left in the editor output when it should be empty.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.fckeditor.net/ticket/5962">#5962</a> : German;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/5645">#5645</a> : Portuguese;</li>
+			<li><a href="http://dev.fckeditor.net/ticket/5797">#5797</a> : Turkish;</li>
 			<li>Hebrew;</li>
 		</ul></li>
Index: CKEditor/branches/versions/3.4.x/_dev/dtd_test/dtd_test.html
===================================================================
--- CKEditor/branches/versions/3.4.x/_dev/dtd_test/dtd_test.html	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_dev/dtd_test/dtd_test.html	(revision 5754)
@@ -11,5 +11,5 @@
 
 // Define the CKEDITOR namespace.
-var CKEDITOR = {};
+var CKEDITOR = { on : function(){} };
 
 	//]]>
Index: CKEditor/branches/versions/3.4.x/_source/core/dom/element.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/core/dom/element.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/core/dom/element.js	(revision 5754)
@@ -851,6 +851,14 @@
 				function()
 				{
-					var attributes = this.$.attributes;
-					return ( attributes.length > 1 || ( attributes.length == 1 && attributes[0].nodeName != '_cke_expando' ) );
+					var attrs = this.$.attributes,
+						attrsNum = attrs.length;
+
+					// The _moz_dirty attribute might get into the element after pasting (#5455)
+					var execludeAttrs = { _cke_expando : 1, _moz_dirty : 1 };
+
+					return attrsNum > 0 &&
+						( attrsNum > 2 ||
+							!execludeAttrs[ attrs[0].nodeName ] ||
+							( attrsNum == 2 && !execludeAttrs[ attrs[1].nodeName ] ) );
 				},
 
Index: CKEditor/branches/versions/3.4.x/_source/core/htmlparser.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/core/htmlparser.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/core/htmlparser.js	(revision 5754)
@@ -173,4 +173,10 @@
 				{
 					tagName = tagName.toLowerCase();
+
+					// There are some tag names that can break things, so let's
+					// simply ignore them when parsing. (#5224)
+					if ( /="/.test( tagName ) )
+						continue;
+
 					var attribs = {},
 						attribMatch,
Index: CKEditor/branches/versions/3.4.x/_source/core/htmlparser/fragment.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/core/htmlparser/fragment.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/core/htmlparser/fragment.js	(revision 5754)
@@ -109,7 +109,7 @@
 		}
 
-		function sendPendingBRs()
-		{
-			while ( pendingBRs.length )
+		function sendPendingBRs( brsToIgnore )
+		{
+			while ( pendingBRs.length - ( brsToIgnore || 0 ) > 0 )
 				currentNode.add( pendingBRs.shift() );
 		}
@@ -393,5 +393,6 @@
 		parser.parse( fragmentHtml );
 
-		sendPendingBRs();
+		// Send all pending BRs except one, which we consider a unwanted bogus. (#5293)
+		sendPendingBRs( !CKEDITOR.env.ie && 1 );
 
 		// Close all pending nodes.
Index: CKEditor/branches/versions/3.4.x/_source/lang/_translationstatus.txt
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/_translationstatus.txt	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/_translationstatus.txt	(revision 5754)
@@ -44,5 +44,5 @@
 no.js      Found: 470 Missing: 55
 pl.js      Found: 411 Missing: 114
-pt-br.js   Found: 402 Missing: 123
+pt-br.js   Found: 524 Missing: 1
 pt.js      Found: 282 Missing: 243
 ro.js      Found: 301 Missing: 224
@@ -54,5 +54,5 @@
 sv.js      Found: 299 Missing: 226
 th.js      Found: 287 Missing: 238
-tr.js      Found: 494 Missing: 31
+tr.js      Found: 524 Missing: 1
 uk.js      Found: 404 Missing: 121
 vi.js      Found: 481 Missing: 44
Index: CKEditor/branches/versions/3.4.x/_source/lang/af.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/af.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/af.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/bg.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/bg.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/bg.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/bn.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/bn.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/bn.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/bs.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/bs.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/bs.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/cs.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/cs.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/cs.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/da.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/da.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/da.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/el.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/el.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/el.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/en-au.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/en-au.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/en-au.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/en-ca.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/en-ca.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/en-ca.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/en-gb.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/en-gb.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/en-gb.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/en.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/en.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/en.js	(revision 5754)
@@ -649,5 +649,5 @@
 		'000080' : 'Navy',
 		'4B0082' : 'Indigo',
-		'696969' : 'Dim Gray',
+		'696969' : 'Dark Gray',
 		'B22222' : 'Fire Brick',
 		'A52A2A' : 'Brown',
@@ -665,5 +665,5 @@
 		'00F' : 'Blue',
 		'EE82EE' : 'Violet',
-		'A9A9A9' : 'Dark Gray',
+		'A9A9A9' : 'Dim Gray',
 		'FFA07A' : 'Light Salmon',
 		'FFA500' : 'Orange',
Index: CKEditor/branches/versions/3.4.x/_source/lang/eo.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/eo.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/eo.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/et.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/et.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/et.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/eu.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/eu.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/eu.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/fa.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/fa.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/fa.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/fo.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/fo.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/fo.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/fr-ca.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/fr-ca.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/fr-ca.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/fr.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/fr.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/fr.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/gl.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/gl.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/gl.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/gu.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/gu.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/gu.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/hi.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/hi.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/hi.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/hr.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/hr.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/hr.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/is.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/is.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/is.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/it.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/it.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/it.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/ja.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/ja.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/ja.js	(revision 5754)
@@ -223,7 +223,7 @@
 		replaceWith			: '置換えする文字列:',
 		notFoundMsg			: '指定された文字列は見つかりませんでした。',
-		matchCase			: '部分一致',
-		matchWord			: '単語単位で一致',
-		matchCyclic			: '大文字/小文字区別一致',
+		matchCase			: '大文字と小文字を区別する',
+		matchWord			: '単語単位で探す',
+		matchCyclic			: '一周する',
 		replaceAll			: 'すべて置換え',
 		replaceSuccessMsg	: '%1 個置換しました。'
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/km.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/km.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/km.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/ko.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/ko.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/ko.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/lt.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/lt.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/lt.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/lv.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/lv.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/lv.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/mn.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/mn.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/mn.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/ms.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/ms.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/ms.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/pl.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/pl.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/pl.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/pt-br.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/pt-br.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/pt-br.js	(revision 5754)
@@ -5,7 +5,6 @@
 
 /**
- * @fileOverview Defines the {@link CKEDITOR.lang} object, for the
- * Brazilian Portuguese language.
- */
+* @fileOverview 
+*/
 
 /**#@+
@@ -32,9 +31,9 @@
 	 * of reading non-English words. So be careful while translating it.
 	 */
-	editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING
+	editorTitle : 'Editor de Texto, %1, pressione ALT 0 para obter ajuda.',
 
 	// ARIA descriptions.
-	toolbar	: 'Toolbar', // MISSING
-	editor	: 'Rich Text Editor', // MISSING
+	toolbar	: 'Barra de Ferramentas',
+	editor	: 'Editor de Texto',
 
 	// Toolbar buttons without dialogs.
@@ -57,5 +56,5 @@
 	horizontalrule	: 'Inserir Linha Horizontal',
 	pagebreak		: 'Inserir Quebra de Página',
-	unlink			: 'Remover Hiperlink',
+	unlink			: 'Remover Link',
 	undo			: 'Desfazer',
 	redo			: 'Refazer',
@@ -69,5 +68,5 @@
 		upload			: 'Enviar ao Servidor',
 		uploadSubmit	: 'Enviar para o Servidor',
-		image			: 'Figura',
+		image			: 'Imagem',
 		flash			: 'Flash',
 		form			: 'Formulário',
@@ -88,22 +87,22 @@
 		langCode		: 'Idioma',
 		longDescr		: 'Descrição da URL',
-		cssClass		: 'Classe de Folhas de Estilo',
+		cssClass		: 'Classe de CSS',
 		advisoryTitle	: 'Título',
 		cssStyle		: 'Estilos',
 		ok				: 'OK',
 		cancel			: 'Cancelar',
-		close			: 'Close', // MISSING
-		preview			: 'Preview', // MISSING
+		close			: 'Fechar',
+		preview			: 'Visualizar',
 		generalTab		: 'Geral',
 		advancedTab		: 'Avançado',
 		validateNumberFailed : 'Este valor não é um número.',
-		confirmNewPage	: 'Todas as mudanças não salvas serão perdidas. Tem certeza de que quer carregar outra página?',
+		confirmNewPage	: 'Todas as mudanças não salvas serão perdidas. Tem certeza de que quer abrir uma nova página?',
 		confirmCancel	: 'Algumas opções foram alteradas. Tem certeza de que quer fechar a caixa de diálogo?',
-		options			: 'Options', // MISSING
-		target			: 'Target', // MISSING
-		targetNew		: 'New Window (_blank)', // MISSING
-		targetTop		: 'Topmost Window (_top)', // MISSING
-		targetSelf		: 'Same Window (_self)', // MISSING
-		targetParent	: 'Parent Window (_parent)', // MISSING
+		options			: 'Opções',
+		target			: 'Destino',
+		targetNew		: 'Nova Janela (_blank)',
+		targetTop		: 'Janela de Cima (_top)',
+		targetSelf		: 'Mesma Janela (_self)',
+		targetParent	: 'Janela Pai (_parent)',
 
 		// Put the voice-only part of the label in the span.
@@ -113,5 +112,5 @@
 	contextmenu :
 	{
-		options : 'Context Menu Options' // MISSING
+		options : 'Opções Menu de Contexto'
 	},
 
@@ -121,5 +120,5 @@
 		toolbar		: 'Inserir Caractere Especial',
 		title		: 'Selecione um Caractere Especial',
-		options : 'Special Character Options' // MISSING
+		options : 'Opções de Caractere Especial'
 	},
 
@@ -127,8 +126,8 @@
 	link :
 	{
-		toolbar		: 'Inserir/Editar Hiperlink',
-		other 		: '<other>', // MISSING
-		menu		: 'Editar Hiperlink',
-		title		: 'Hiperlink',
+		toolbar		: 'Inserir/Editar Link',
+		other 		: '<outro>',
+		menu		: 'Editar Link',
+		title		: 'Editar Link',
 		info		: 'Informações',
 		target		: 'Destino',
@@ -136,5 +135,5 @@
 		advanced	: 'Avançado',
 		type		: 'Tipo de hiperlink',
-		toUrl		: 'URL', // MISSING
+		toUrl		: 'URL',
 		toAnchor	: 'Âncora nesta página',
 		toEmail		: 'E-Mail',
@@ -143,5 +142,5 @@
 		targetFrameName	: 'Nome do Frame de Destino',
 		targetPopupName	: 'Nome da Janela Pop-up',
-		popupFeatures	: 'Atributos da Janela Pop-up',
+		popupFeatures	: 'Propriedades da Janela Pop-up',
 		popupResizable	: 'Redimensionável',
 		popupStatusBar	: 'Barra de Status',
@@ -155,5 +154,5 @@
 		popupLeft		: 'Esquerda',
 		popupHeight		: 'Altura',
-		popupTop		: 'Superior',
+		popupTop		: 'Topo',
 		id				: 'Id',
 		langDir			: 'Direção do idioma',
@@ -166,15 +165,15 @@
 		advisoryTitle	: 'Título',
 		advisoryContentType	: 'Tipo de Conteúdo',
-		cssClasses		: 'Classe de Folhas de Estilo',
-		charset			: 'Conjunto de Caracteres do Hiperlink',
+		cssClasses		: 'Classe de CSS',
+		charset			: 'Charset do Link',
 		styles			: 'Estilos',
 		selectAnchor	: 'Selecione uma âncora',
-		anchorName		: 'Pelo Nome da âncora',
-		anchorId		: 'Pelo Id do Elemento',
+		anchorName		: 'Nome da âncora',
+		anchorId		: 'Id da âncora',
 		emailAddress	: 'Endereço E-Mail',
 		emailSubject	: 'Assunto da Mensagem',
 		emailBody		: 'Corpo da Mensagem',
-		noAnchors		: '(Não há âncoras disponíveis neste documento)',
-		noUrl			: 'Por favor, digite o endereço do Hiperlink',
+		noAnchors		: '(Não há âncoras no documento)',
+		noUrl			: 'Por favor, digite o endereço do Link',
 		noEmail			: 'Por favor, digite o endereço de e-mail'
 	},
@@ -193,23 +192,23 @@
 	list:
 	{
-		numberedTitle		: 'Numbered List Properties', // MISSING
-		bulletedTitle		: 'Bulleted List Properties', // MISSING
-		type				: 'Type', // MISSING
-		start				: 'Start', // MISSING
+		numberedTitle		: 'Propriedades da Lista Numerada',
+		bulletedTitle		: 'Propriedades da Lista sem Numeros',
+		type				: 'Tipo',
+		start				: 'Início',
 		validateStartNumber				:'List start number must be a whole number.', // MISSING
-		circle				: 'Circle', // MISSING
-		disc				: 'Disc', // MISSING
-		square				: 'Square', // MISSING
-		none				: 'None', // MISSING
-		notset				: '<not set>', // MISSING
-		armenian			: 'Armenian numbering', // MISSING
-		georgian			: 'Georgian numbering (an, ban, gan, etc.)', // MISSING
-		lowerRoman			: 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING
-		upperRoman			: 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING
-		lowerAlpha			: 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING
-		upperAlpha			: 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING
-		lowerGreek			: 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING
-		decimal				: 'Decimal (1, 2, 3, etc.)', // MISSING
-		decimalLeadingZero	: 'Decimal leading zero (01, 02, 03, etc.)' // MISSING
+		circle				: 'Círculo',
+		disc				: 'Disco',
+		square				: 'Quadrado',
+		none				: 'Nenhum',
+		notset				: '<não definido>',
+		armenian			: 'Numeração Armêna',
+		georgian			: 'Numeração da Geórgia (an, ban, gan, etc.)',
+		lowerRoman			: 'Numeração Romana minúscula (i, ii, iii, iv, v, etc.)',
+		upperRoman			: 'Numeração Romana maiúscula (I, II, III, IV, V, etc.)',
+		lowerAlpha			: 'Numeração Alfabética minúscula (a, b, c, d, e, etc.)',
+		upperAlpha			: 'Numeração Alfabética Maiúscula (A, B, C, D, E, etc.)',
+		lowerGreek			: 'Numeração Grega minúscula (alpha, beta, gamma, etc.)',
+		decimal				: 'Numeração Decimal (1, 2, 3, etc.)',
+		decimalLeadingZero	: 'Numeração Decimal com zeros (01, 02, 03, etc.)'
 	},
 
@@ -247,8 +246,8 @@
 		widthPx		: 'pixels',
 		widthPc		: '%',
-		widthUnit	: 'width unit', // MISSING
+		widthUnit	: 'unidade largura',
 		height		: 'Altura',
 		cellSpace	: 'Espaçamento',
-		cellPad		: 'Enchimento',
+		cellPad		: 'Margem interna',
 		caption		: 'Legenda',
 		summary		: 'Resumo',
@@ -258,20 +257,20 @@
 		headersRow		: 'Primeira linha',
 		headersBoth		: 'Ambos',
-		invalidRows		: '"Número de linhas" tem que ser um número maior que 0.',
-		invalidCols		: '"Número de colunas" tem que ser um número maior que 0.',
-		invalidBorder	: '"Tamanho da borda" tem que ser um número.',
-		invalidWidth	: '"Largura da tabela" tem que ser um número.',
-		invalidHeight	: '"Altura da tabela" tem que ser um número.',
-		invalidCellSpacing	: '"Espaçamento das células" tem que ser um número.',
-		invalidCellPadding	: '"Margem interna das células" tem que ser um número.',
+		invalidRows		: 'O número de linhas tem que ser um número maior que 0.',
+		invalidCols		: 'O número de colunas tem que ser um número maior que 0.',
+		invalidBorder	: 'O tamanho da borda tem que ser um número.',
+		invalidWidth	: 'A largura da tabela tem que ser um número.',
+		invalidHeight	: 'A altura da tabela tem que ser um número.',
+		invalidCellSpacing	: 'O espaçamento das células tem que ser um número.',
+		invalidCellPadding	: 'A margem interna das células tem que ser um número.',
 
 		cell :
 		{
 			menu			: 'Célula',
-			insertBefore	: 'Inserir célula à esquerda',
-			insertAfter		: 'Inserir célula à direita',
+			insertBefore	: 'Inserir célula a esquerda',
+			insertAfter		: 'Inserir célula a direita',
 			deleteCell		: 'Remover Células',
 			merge			: 'Mesclar Células',
-			mergeRight		: 'Mesclar com célula à direita',
+			mergeRight		: 'Mesclar com célula a direita',
 			mergeDown		: 'Mesclar com célula abaixo',
 			splitHorizontal	: 'Dividir célula horizontalmente',
@@ -296,7 +295,7 @@
 			invalidWidth	: 'A largura da célula tem que ser um número.',
 			invalidHeight	: 'A altura da célula tem que ser um número.',
-			invalidRowSpan	: '"Linhas cobertas" tem que ser um número inteiro.',
-			invalidColSpan	: '"Colunas cobertas" tem que ser um número inteiro.',
-			chooseColor		: 'Choose' // MISSING
+			invalidRowSpan	: 'Linhas cobertas tem que ser um número inteiro.',
+			invalidColSpan	: 'Colunas cobertas tem que ser um número inteiro.',
+			chooseColor		: 'Escolher'
 		},
 
@@ -312,6 +311,6 @@
 		{
 			menu			: 'Coluna',
-			insertBefore	: 'Inserir coluna à esquerda',
-			insertAfter		: 'Inserir coluna à direita',
+			insertBefore	: 'Inserir coluna a esquerda',
+			insertAfter		: 'Inserir coluna a direita',
 			deleteColumn	: 'Remover Colunas'
 		}
@@ -343,5 +342,5 @@
 		title		: 'Formatar Formulário',
 		menu		: 'Formatar Formulário',
-		action		: 'Action',
+		action		: 'Ação',
 		method		: 'Método',
 		encoding	: 'Codificação'
@@ -352,5 +351,5 @@
 	{
 		title		: 'Formatar Caixa de Listagem',
-		selectInfo	: 'Info',
+		selectInfo	: 'Informações',
 		opAvail		: 'Opções disponíveis',
 		value		: 'Valor',
@@ -400,32 +399,32 @@
 	image :
 	{
-		title		: 'Formatar Figura',
+		title		: 'Formatar Imagem',
 		titleButton	: 'Formatar Botão de Imagem',
-		menu		: 'Formatar Figura',
-		infoTab		: 'Informações da Figura',
+		menu		: 'Formatar Imagem',
+		infoTab		: 'Informações da Imagem',
 		btnUpload	: 'Enviar para o Servidor',
-		upload		: 'Submeter',
+		upload		: 'Enviar',
 		alt			: 'Texto Alternativo',
 		width		: 'Largura',
 		height		: 'Altura',
-		lockRatio	: 'Manter proporções',
-		unlockRatio	: 'Unlock Ratio', // MISSING
+		lockRatio	: 'Travar Proporções',
+		unlockRatio	: 'Destravar Proporções',
 		resetSize	: 'Redefinir para o Tamanho Original',
 		border		: 'Borda',
-		hSpace		: 'Horizontal',
-		vSpace		: 'Vertical',
+		hSpace		: 'HSpace',
+		vSpace		: 'VSpace',
 		align		: 'Alinhamento',
 		alignLeft	: 'Esquerda',
 		alignRight	: 'Direita',
-		alertUrl	: 'Por favor, digite o URL da figura.',
-		linkTab		: 'Hiperlink',
-		button2Img	: 'Você deseja transformar o botão de imagem selecionado em uma imagem comum?',
-		img2Button	: 'Você deseja transformar a imagem selecionada em um botão de imagem?',
-		urlMissing	: 'Image source URL is missing.', // MISSING
-		validateWidth	: 'Width must be a whole number.', // MISSING
-		validateHeight	: 'Height must be a whole number.', // MISSING
-		validateBorder	: 'Border must be a whole number.', // MISSING
-		validateHSpace	: 'HSpace must be a whole number.', // MISSING
-		validateVSpace	: 'VSpace must be a whole number.' // MISSING
+		alertUrl	: 'Por favor, digite a URL da imagem.',
+		linkTab		: 'Link',
+		button2Img	: 'Deseja transformar o botão de imagem em uma imagem comum?',
+		img2Button	: 'Deseja transformar a imagem em um botão de imagem?',
+		urlMissing	: 'URL da imagem está faltando.',
+		validateWidth	: 'A largura deve ser um número inteiro.',
+		validateHeight	: 'A altura deve ser um número inteiro.',
+		validateBorder	: 'A borda deve ser um número inteiro.',
+		validateHSpace	: 'O HSpace deve ser um número inteiro.',
+		validateVSpace	: 'O VSpace deve ser um número inteiro.'
 	},
 
@@ -437,5 +436,5 @@
 		title			: 'Propriedades do Flash',
 		chkPlay			: 'Tocar Automaticamente',
-		chkLoop			: 'Loop',
+		chkLoop			: 'Tocar Infinitamente',
 		chkMenu			: 'Habilita Menu Flash',
 		chkFull			: 'Permitir tela cheia',
@@ -446,5 +445,5 @@
 		access			: 'Acesso ao script',
 		accessAlways	: 'Sempre',
-		accessSameDomain: 'Mesmo domínio',
+		accessSameDomain: 'Acessar Mesmo Domínio',
 		accessNever		: 'Nunca',
 		align			: 'Alinhamento',
@@ -459,10 +458,10 @@
 		alignTop		: 'Superior',
 		quality			: 'Qualidade',
-		qualityBest		: 'Melhor',
-		qualityHigh		: 'Alta',
-		qualityAutoHigh	: 'Alta automático',
-		qualityMedium	: 'Média',
-		qualityAutoLow	: 'Média automático',
-		qualityLow		: 'Baixa',
+		qualityBest		: 'Qualidade Melhor',
+		qualityHigh		: 'Qualidade Alta',
+		qualityAutoHigh	: 'Qualidade Alta Automática',
+		qualityMedium	: 'Qualidade Média',
+		qualityAutoLow	: 'Qualidade Baixa Automática',
+		qualityLow		: 'Qualidade Baixa',
 		windowModeWindow: 'Janela',
 		windowModeOpaque: 'Opaca',
@@ -473,11 +472,11 @@
 		width			: 'Largura',
 		height			: 'Altura',
-		hSpace			: 'Horizontal',
-		vSpace			: 'Vertical',
-		validateSrc		: 'Por favor, digite o endereço do Hiperlink',
-		validateWidth	: '"Largura" tem que ser um número.',
-		validateHeight	: '"Altura" tem que ser um número',
-		validateHSpace	: '"HSpace" tem que ser um número',
-		validateVSpace	: '"VSpace" tem que ser um número.'
+		hSpace			: 'HSpace',
+		vSpace			: 'VSpace',
+		validateSrc		: 'Por favor, digite o endereço do link',
+		validateWidth	: 'A largura tem que ser um número.',
+		validateHeight	: 'A altura tem que ser um número',
+		validateHSpace	: 'O HSpace tem que ser um número',
+		validateVSpace	: 'O VSpace tem que ser um número.'
 	},
 
@@ -486,5 +485,5 @@
 	{
 		toolbar			: 'Verificar Ortografia',
-		title			: 'Corretor gramatical',
+		title			: 'Corretor Ortográfico',
 		notAvailable	: 'Desculpe, o serviço não está disponível no momento.',
 		errorLoading	: 'Erro carregando servidor de aplicação: %s.',
@@ -501,5 +500,5 @@
 		noChanges		: 'Verificação ortográfica encerrada: Não houve alterações',
 		oneChange		: 'Verificação ortográfica encerrada: Uma palavra foi alterada',
-		manyChanges		: 'Verificação ortográfica encerrada: %1 foram alteradas',
+		manyChanges		: 'Verificação ortográfica encerrada: %1 palavras foram alteradas',
 		ieSpellDownload	: 'A verificação ortográfica não foi instalada. Você gostaria de realizar o download agora?'
 	},
@@ -509,15 +508,15 @@
 		toolbar	: 'Emoticon',
 		title	: 'Inserir Emoticon',
-		options : 'Smiley Options' // MISSING
+		options : 'Opções de Emoticons'
 	},
 
 	elementsPath :
 	{
-		eleLabel : 'Elements path', // MISSING
+		eleLabel : 'Caminho dos Elementos',
 		eleTitle : 'Elemento %1'
 	},
 
-	numberedlist	: 'Numeração',
-	bulletedlist	: 'Marcadores',
+	numberedlist	: 'Lista numerada',
+	bulletedlist	: 'Lista sem números',
 	indent			: 'Aumentar Recuo',
 	outdent			: 'Diminuir Recuo',
@@ -531,5 +530,5 @@
 	},
 
-	blockquote : 'Recuo',
+	blockquote : 'Citação',
 
 	clipboard :
@@ -538,7 +537,7 @@
 		cutError	: 'As configurações de segurança do seu navegador não permitem que o editor execute operações de recortar automaticamente. Por favor, utilize o teclado para recortar (Ctrl/Cmd+X).',
 		copyError	: 'As configurações de segurança do seu navegador não permitem que o editor execute operações de copiar automaticamente. Por favor, utilize o teclado para copiar (Ctrl/Cmd+C).',
-		pasteMsg	: 'Transfira o link usado no box usando o teclado com (<STRONG>Ctrl/Cmd+V</STRONG>) e <STRONG>OK</STRONG>.',
-		securityMsg	: 'As configurações de segurança do seu navegador não permitem que o editor acesse os dados da área de transferência diretamente. Por favor cole o conteúdo novamente nesta janela.',
-		pasteArea	: 'Paste Area' // MISSING
+		pasteMsg	: 'Transfira o link usado na caixa usando o teclado com (<STRONG>Ctrl/Cmd+V</STRONG>) e <STRONG>OK</STRONG>.',
+		securityMsg	: 'As configurações de segurança do seu navegador não permitem que o editor acesse os dados da área de transferência diretamente. Por favor cole o conteúdo manualmente nesta janela.',
+		pasteArea	: 'Área para Colar'
 	},
 
@@ -548,5 +547,5 @@
 		toolbar			: 'Colar do Word',
 		title			: 'Colar do Word',
-		error			: 'It was not possible to clean up the pasted data due to an internal error' // MISSING
+		error			: 'Não foi possível limpar os dados colados devido a um erro interno'
 	},
 
@@ -560,6 +559,6 @@
 	{
 		button			: 'Modelos de layout',
-		title			: 'Modelo de layout do conteúdo',
-		options : 'Template Options', // MISSING
+		title			: 'Modelo de layout de conteúdo',
+		options : 'Opções de Template',
 		insertOption	: 'Substituir o conteúdo atual',
 		selectPromptMsg	: 'Selecione um modelo de layout para ser aberto no editor<br>(o conteúdo atual será perdido):',
@@ -567,12 +566,12 @@
 	},
 
-	showBlocks : 'Mostrar blocos',
+	showBlocks : 'Mostrar blocos de código',
 
 	stylesCombo :
 	{
 		label		: 'Estilo',
-		panelTitle	: 'Formatting Styles', // MISSING
+		panelTitle	: 'Estilos de Formatação',
 		panelTitle1	: 'Estilos de bloco',
-		panelTitle2	: 'Estilos em texto corrido',
+		panelTitle2	: 'Estilos de texto corrido',
 		panelTitle3	: 'Estilos de objeto'
 	},
@@ -597,17 +596,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				: 'Criar Container de DIV',
+		toolbar				: 'Criar Container de DIV',
+		cssClassInputLabel	: 'Classes de CSS',
+		styleSelectLabel	: 'Estilo',
+		IdInputLabel		: 'Id',
+		languageCodeInputLabel	: 'Código de Idioma',
+		inlineStyleInputLabel	: 'Estilo Inline',
+		advisoryTitleInputLabel	: 'Título Consulta',
+		langDirLabel		: 'Direção da Escrita',
+		langDirLTRLabel		: 'Esquerda para Direita (LTR)',
+		langDirRTLLabel		: 'Direita para Esquerda (RTL)',
+		edit				: 'Editar Div',
+		remove				: 'Remover Div'
   	},
 
@@ -630,5 +629,5 @@
 		textColorTitle	: 'Cor do Texto',
 		bgColorTitle	: 'Cor do Plano de Fundo',
-		panelTitle		: 'Colors', // MISSING
+		panelTitle		: 'Cores',
 		auto			: 'Automático',
 		more			: 'Mais Cores...'
@@ -637,56 +636,56 @@
 	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' : 'Preto',
+		'800000' : 'Foquete',
+		'8B4513' : 'Marrom 1',
+		'2F4F4F' : 'Cinza 1',
+		'008080' : 'Cerceta',
+		'000080' : 'Azul Marinho',
+		'4B0082' : 'Índigo',
+		'696969' : 'Cinza 2',
+		'B22222' : 'Tijolo de Fogo',
+		'A52A2A' : 'Marrom 2',
+		'DAA520' : 'Vara Dourada',
+		'006400' : 'Verde Escuro',
+		'40E0D0' : 'Turquesa',
+		'0000CD' : 'Azul Médio',
+		'800080' : 'Roxo',
+		'808080' : 'Cinza 3',
+		'F00' : 'Vermelho',
+		'FF8C00' : 'Laranja Escuro',
+		'FFD700' : 'Dourado',
+		'008000' : 'Verde',
+		'0FF' : 'Ciano',
+		'00F' : 'Azul',
+		'EE82EE' : 'Violeta',
+		'A9A9A9' : 'Cinza Escuro',
+		'FFA07A' : 'Salmão Claro',
+		'FFA500' : 'Laranja',
+		'FFFF00' : 'Amarelo',
+		'00FF00' : 'Lima',
+		'AFEEEE' : 'Turquesa Pálido',
+		'ADD8E6' : 'Azul Claro',
+		'DDA0DD' : 'Ameixa',
+		'D3D3D3' : 'Cinza Claro',
+		'FFF0F5' : 'Lavanda 1',
+		'FAEBD7' : 'Branco Antiguidade',
+		'FFFFE0' : 'Amarelo Claro',
+		'F0FFF0' : 'Orvalho',
+		'F0FFFF' : 'Azure',
+		'F0F8FF' : 'Azul Alice',
+		'E6E6FA' : 'Lavanda 2',
+		'FFF' : 'Branco'
 	},
 
 	scayt :
 	{
-		title			: 'Correção gramatical durante a digitação',
-		opera_title		: 'Not supported by Opera', // MISSING
-		enable			: 'Habilitar SCAYT',
-		disable			: 'Desabilitar SCAYT',
-		about			: 'Sobre o SCAYT',
-		toggle			: 'Ativar/desativar SCAYT',
+		title			: 'Correção ortográfica durante a digitação',
+		opera_title		: 'Não suportado no Opera',
+		enable			: 'Habilitar correção ortográfica durante a digitação',
+		disable			: 'Desabilitar correção ortográfica durante a digitação',
+		about			: 'Sobre a correção ortográfica durante a digitação',
+		toggle			: 'Ativar/desativar correção ortográfica durante a digitação',
 		options			: 'Opções',
-		langs			: 'Línguas',
+		langs			: 'Idiomas',
 		moreSuggestions	: 'Mais sugestões',
 		ignore			: 'Ignorar',
@@ -696,18 +695,18 @@
 
 		optionsTab		: 'Opções',
-		allCaps			: 'Ignore All-Caps Words', // MISSING
-		ignoreDomainNames : 'Ignore Domain Names', // MISSING
-		mixedCase		: 'Ignore Words with Mixed Case', // MISSING
-		mixedWithDigits	: 'Ignore Words with Numbers', // MISSING
-
-		languagesTab	: 'Línguas',
+		allCaps			: 'Ignorar palavras maiúsculas',
+		ignoreDomainNames : 'Ignorar nomes de domínio',
+		mixedCase		: 'Ignorar palavras com maiúsculas e minúsculas misturadas',
+		mixedWithDigits	: 'Ignorar palavras com números',
+
+		languagesTab	: 'Idiomas',
 
 		dictionariesTab	: 'Dicionários',
-		dic_field_name	: 'Dictionary name', // MISSING
-		dic_create		: 'Create', // MISSING
-		dic_restore		: 'Restore', // MISSING
-		dic_delete		: 'Delete', // MISSING
-		dic_rename		: 'Rename', // MISSING
-		dic_info		: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type it\'s name and click the Restore button.', // MISSING
+		dic_field_name	: 'Nome do Dicionário',
+		dic_create		: 'Criar',
+		dic_restore		: 'Restaurar',
+		dic_delete		: 'Excluir',
+		dic_rename		: 'Renomear',
+		dic_info		: 'Inicialmente, o dicionário do usuário fica armazenado em um Cookie. Porém, Cookies tem tamanho limitado, portanto quand o dicionário do usuário atingir o tamanho limite poderá ser armazenado no nosso servidor. Para armazenar seu dicionário pessoal no nosso servidor deverá especificar um nome para ele. Se já tiver um dicionário armazenado por favor especifique o seu nome e clique em Restaurar.',
 
 		aboutTab		: 'Sobre'
@@ -717,11 +716,11 @@
 	{
 		title		: 'Sobre o CKEditor',
-		dlgTitle	: 'About CKEditor', // MISSING
-		moreInfo	: 'Para informações sobre a licença, por favor, visite o nosso site na Internet:',
-		copy		: 'Direito de reprodução &copy; $1. Todos os direitos reservados.'
+		dlgTitle	: 'Sobre o CKEditor',
+		moreInfo	: 'Para informações sobre a licença por favor visite o nosso site:',
+		copy		: 'Copyright &copy; $1. Todos os direitos reservados.'
 	},
 
 	maximize : 'Maximizar',
-	minimize : 'Minimize', // MISSING
+	minimize : 'Minimize',
 
 	fakeobjects :
@@ -737,13 +736,13 @@
 	colordialog :
 	{
-		title		: 'Select color', // MISSING
-		options	:	'Color Options', // MISSING
-		highlight	: 'Highlight', // MISSING
-		selected	: 'Selected Color', // MISSING
-		clear		: 'Clear' // MISSING
-	},
-
-	toolbarCollapse	: 'Collapse Toolbar', // MISSING
-	toolbarExpand	: 'Expand Toolbar', // MISSING
+		title		: 'Selecione uma cor',
+		options	:	'Opções de Cor',
+		highlight	: 'Grifar',
+		selected	: 'Cor Selecionada',
+		clear		: 'Limpar'
+	},
+
+	toolbarCollapse	: 'Diminuir Barra de Ferramentas',
+	toolbarExpand	: 'Aumentar Barra de Ferramentas',
 
 	bidi :
Index: CKEditor/branches/versions/3.4.x/_source/lang/pt.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/pt.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/pt.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/ro.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/ro.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/ro.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/sk.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/sk.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/sk.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/sl.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/sl.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/sl.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/sr-latn.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/sr-latn.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/sr-latn.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/sr.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/sr.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/sr.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/sv.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/sv.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/sv.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/th.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/th.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/th.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/tr.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/tr.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/tr.js	(revision 5754)
@@ -5,7 +5,6 @@
 
 /**
- * @fileOverview Defines the {@link CKEDITOR.lang} object, for the
- * Turkish language.
- */
+* @fileOverview 
+*/
 
 /**#@+
@@ -108,5 +107,5 @@
 
 		// Put the voice-only part of the label in the span.
-		unavailable		: '%1<span class="cke_accessibility">, unavailable</span>'
+		unavailable		: '%1<span class="cke_accessibility">, hazır değildir</span>'
 	},
 
@@ -193,23 +192,23 @@
 	list:
 	{
-		numberedTitle		: 'Numbered List Properties', // MISSING
-		bulletedTitle		: 'Bulleted List Properties', // MISSING
-		type				: 'Type', // MISSING
-		start				: 'Start', // MISSING
+		numberedTitle		: 'Sayılandırılmış Liste Özellikleri',
+		bulletedTitle		: 'Simgeli Liste Özellikleri',
+		type				: 'Tipi',
+		start				: 'Başla',
 		validateStartNumber				:'List start number must be a whole number.', // MISSING
-		circle				: 'Circle', // MISSING
-		disc				: 'Disc', // MISSING
-		square				: 'Square', // MISSING
-		none				: 'None', // MISSING
-		notset				: '<not set>', // MISSING
-		armenian			: 'Armenian numbering', // MISSING
-		georgian			: 'Georgian numbering (an, ban, gan, etc.)', // MISSING
-		lowerRoman			: 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING
-		upperRoman			: 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING
-		lowerAlpha			: 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING
-		upperAlpha			: 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING
-		lowerGreek			: 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING
-		decimal				: 'Decimal (1, 2, 3, etc.)', // MISSING
-		decimalLeadingZero	: 'Decimal leading zero (01, 02, 03, etc.)' // MISSING
+		circle				: 'Daire',
+		disc				: 'Disk',
+		square				: 'Kare',
+		none				: 'Yok',
+		notset				: '<ayarlanmamış>',
+		armenian			: 'Ermenice sayılandırma',
+		georgian			: 'Gürcüce numaralandırma (an, ban, gan, vs.)',
+		lowerRoman			: 'Küçük Roman (i, ii, iii, iv, v, vs.)',
+		upperRoman			: 'Büyük Roman (I, II, III, IV, V, vs.)',
+		lowerAlpha			: 'Küçük Alpha (a, b, c, d, e, vs.)',
+		upperAlpha			: 'Büyük Alpha (A, B, C, D, E, vs.)',
+		lowerGreek			: 'Küçük Greek (alpha, beta, gamma, vs.)',
+		decimal				: 'Ondalık (1, 2, 3, vs.)',
+		decimalLeadingZero	: 'Başı sıfırlı ondalık (01, 02, 03, vs.)'
 	},
 
@@ -476,5 +475,5 @@
 		vSpace			: 'Dikey Boşluk',
 		validateSrc		: 'Lütfen köprü URL\'sini yazın',
-		validateWidth	: 'Width must be a number.',
+		validateWidth	: 'Genişlik bir sayı olmalıdır.',
 		validateHeight	: 'Yükseklik sayı olmalıdır.',
 		validateHSpace	: 'HSpace sayı olmalıdır.',
@@ -682,5 +681,5 @@
 	{
 		title			: 'Girmiş olduğunuz kelime denetimi',
-		opera_title		: 'Not supported by Opera', // MISSING
+		opera_title		: 'Opera tarafından desteklenmemektedir',
 		enable			: 'SCAYT etkinleştir',
 		disable			: 'SCAYT pasifleştir',
@@ -696,18 +695,18 @@
 
 		optionsTab		: 'Seçenekler',
-		allCaps			: 'Ignore All-Caps Words', // MISSING
-		ignoreDomainNames : 'Ignore Domain Names', // MISSING
-		mixedCase		: 'Ignore Words with Mixed Case', // MISSING
-		mixedWithDigits	: 'Ignore Words with Numbers', // MISSING
+		allCaps			: 'Tüm büyük küçük kelimeleri yoksay',
+		ignoreDomainNames : 'Domain adlarını yoksay',
+		mixedCase		: 'Karışık büyüklük ile Sözcükler yoksay',
+		mixedWithDigits	: 'Sayılarla Kelimeler yoksay',
 
 		languagesTab	: 'Diller',
 
 		dictionariesTab	: 'Sözlükler',
-		dic_field_name	: 'Dictionary name', // MISSING
-		dic_create		: 'Create', // MISSING
-		dic_restore		: 'Restore', // MISSING
-		dic_delete		: 'Delete', // MISSING
-		dic_rename		: 'Rename', // MISSING
-		dic_info		: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type it\'s name and click the Restore button.', // MISSING
+		dic_field_name	: 'Sözlük adı',
+		dic_create		: 'Oluştur',
+		dic_restore		: 'Geri al',
+		dic_delete		: 'Sil',
+		dic_rename		: 'Yeniden adlandır',
+		dic_info		: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type it\'s name and click the Restore button.',
 
 		aboutTab		: 'Hakkında'
@@ -738,5 +737,5 @@
 	{
 		title		: 'Renk seç',
-		options	:	'Color Options', // MISSING
+		options	:	'Renk Seçenekleri',
 		highlight	: 'İşaretle',
 		selected	: 'Seçilmiş',
Index: CKEditor/branches/versions/3.4.x/_source/lang/uk.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/uk.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/uk.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/vi.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/vi.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/vi.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/zh-cn.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/zh-cn.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/zh-cn.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/lang/zh.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/lang/zh.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/lang/zh.js	(revision 5754)
@@ -644,5 +644,5 @@
 		'000080' : 'Navy', // MISSING
 		'4B0082' : 'Indigo', // MISSING
-		'696969' : 'Dim Gray', // MISSING
+		'696969' : 'Dark Gray', // MISSING
 		'B22222' : 'Fire Brick', // MISSING
 		'A52A2A' : 'Brown', // MISSING
@@ -660,5 +660,5 @@
 		'00F' : 'Blue', // MISSING
 		'EE82EE' : 'Violet', // MISSING
-		'A9A9A9' : 'Dark Gray', // MISSING
+		'A9A9A9' : 'Dim Gray', // MISSING
 		'FFA07A' : 'Light Salmon', // MISSING
 		'FFA500' : 'Orange', // MISSING
Index: CKEditor/branches/versions/3.4.x/_source/plugins/dialogui/plugin.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/plugins/dialogui/plugin.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/plugins/dialogui/plugin.js	(revision 5754)
@@ -153,7 +153,8 @@
 				var innerHTML = function()
 				{
-					var html = [];
+					var html = [],
+						requiredClass = elementDefinition.required ? ' cke_required' : '' ;
 					if ( elementDefinition.labelLayout != 'horizontal' )
-						html.push( '<label class="cke_dialog_ui_labeled_label" ',
+						html.push( '<label class="cke_dialog_ui_labeled_label' + requiredClass + '" ',
 								' id="'+  _.labelId + '"',
 								' for="' + _.inputId + '"',
@@ -174,5 +175,5 @@
 								{
 									type : 'html',
-									html : '<label class="cke_dialog_ui_labeled_label"' +
+									html : '<label class="cke_dialog_ui_labeled_label' + requiredClass + '"' +
 										' id="' + _.labelId + '"' +
 										' for="' + _.inputId + '"' +
Index: CKEditor/branches/versions/3.4.x/_source/plugins/flash/dialogs/flash.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/plugins/flash/dialogs/flash.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/plugins/flash/dialogs/flash.js	(revision 5754)
@@ -187,5 +187,5 @@
 				// Clear previously saved elements.
 				this.fakeImage = this.objectNode = this.embedNode = null;
-				previewPreloader = new CKEDITOR.dom.element( 'embeded', editor.document );
+				previewPreloader = new CKEDITOR.dom.element( 'embed', editor.document );
 
 				// Try to detect any embed or object tag that has Flash parameters.
Index: CKEditor/branches/versions/3.4.x/_source/plugins/htmldataprocessor/plugin.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/plugins/htmldataprocessor/plugin.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/plugins/htmldataprocessor/plugin.js	(revision 5754)
@@ -202,5 +202,6 @@
 				title : function( element )
 				{
-					element.children[ 0 ].value = element.attributes[ '_cke_title' ];
+					var titleText = element.children[ 0 ];
+					titleText && ( titleText.value = element.attributes[ '_cke_title' ] || '' );
 				}
 			},
Index: CKEditor/branches/versions/3.4.x/_source/plugins/liststyle/plugin.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/plugins/liststyle/plugin.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/plugins/liststyle/plugin.js	(revision 5754)
@@ -8,7 +8,7 @@
 	CKEDITOR.plugins.liststyle =
 	{
+		requires : [ 'dialog' ],
 		init : function( editor )
 		{
-
 			editor.addCommand( 'numberedListStyle', new CKEDITOR.dialogCommand( 'numberedListStyle' ) );
 			CKEDITOR.dialog.add( 'numberedListStyle', this.path + 'dialogs/liststyle.js' );
@@ -16,9 +16,10 @@
 			CKEDITOR.dialog.add( 'bulletedListStyle', this.path + 'dialogs/liststyle.js' );
 
-			//Register map group;
-			editor.addMenuGroup("list", 108);
 			// If the "menu" plugin is loaded, register the menu items.
 			if ( editor.addMenuItems )
 			{
+				//Register map group;
+				editor.addMenuGroup("list", 108);
+
 				editor.addMenuItems(
 					{
Index: CKEditor/branches/versions/3.4.x/_source/plugins/removeformat/plugin.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/plugins/removeformat/plugin.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/plugins/removeformat/plugin.js	(revision 5754)
@@ -106,5 +106,8 @@
 								currentNode.remove( true );
 							else
+							{
 								currentNode.removeAttributes( removeAttributes );
+								editor.fire( 'removeFormatCleanup', currentNode );
+							}
 						}
 
@@ -173,2 +176,9 @@
  */
 CKEDITOR.config.removeFormatAttributes = 'class,style,lang,width,height,align,hspace,valign';
+
+/**
+ * Fired after an element was cleaned by the removeFormat plugin.
+ * @name CKEDITOR#removeFormatCleanup
+ * @event
+ * @param {Object} data.element The element that was cleaned up.
+ */
Index: CKEditor/branches/versions/3.4.x/_source/plugins/selection/plugin.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/plugins/selection/plugin.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/plugins/selection/plugin.js	(revision 5754)
@@ -106,5 +106,6 @@
 				{
 					var doc = editor.document,
-						body = doc.getBody();
+						body = doc.getBody(),
+						html = doc.getDocumentElement();
 
 					if ( CKEDITOR.env.ie )
@@ -116,5 +117,6 @@
 
 						var savedRange,
-							saveEnabled;
+							saveEnabled,
+							restoreEnabled = 1;
 
 						// "onfocusin" is fired before "onfocus". It makes it
@@ -132,11 +134,14 @@
 								if ( savedRange )
 								{
-									// Well not break because of this.
-									try
+									if ( restoreEnabled )
 									{
-										savedRange.select();
+										// Well not break because of this.
+										try
+										{
+											savedRange.select();
+										}
+										catch (e)
+										{}
 									}
-									catch (e)
-									{}
 
 									savedRange = null;
@@ -161,4 +166,5 @@
 								// Disable selections from being saved.
 								saveEnabled = false;
+								restoreEnabled = 1;
 							});
 
@@ -167,5 +173,5 @@
 						if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 )
 						{
-							doc.getWindow().on( 'blur', function( evt )
+							editor.on( 'blur', function( evt )
 							{
 								editor.document.$.selection.empty();
@@ -173,7 +179,26 @@
 						}
 
+						// Listening on document element ensures that
+						// scrollbar is included. (#5280)
+						html.on( 'mousedown', function ()
+						{
+							// Lock restore selection now, as we have
+							// a followed 'click' event which introduce
+							// new selection. (#5735)
+							restoreEnabled = 0;
+						});
+
+						html.on( 'mouseup', function ()
+						{
+							restoreEnabled = 1;
+						});
+
 						// IE fires the "selectionchange" event when clicking
 						// inside a selection. We don't want to capture that.
-						body.on( 'mousedown', disableSave );
+						body.on( 'mousedown', function ()
+						{
+							disableSave();
+						});
+
 						body.on( 'mouseup',
 							function()
Index: CKEditor/branches/versions/3.4.x/_source/plugins/showborders/plugin.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/plugins/showborders/plugin.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/plugins/showborders/plugin.js	(revision 5754)
@@ -84,4 +84,12 @@
 						command.refresh( editor );
 				});
+
+			editor.on( 'removeFormatCleanup', function( evt )
+				{
+					var element = evt.data;
+					if ( editor.getCommand( 'showborders' ).state == CKEDITOR.TRISTATE_ON &&
+						element.is( 'table' ) && !element.hasAttribute( 'border' ) )
+							element.addClass( showBorderClassName );
+				});
 		},
 
Index: CKEditor/branches/versions/3.4.x/_source/plugins/table/dialogs/table.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/plugins/table/dialogs/table.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/plugins/table/dialogs/table.js	(revision 5754)
@@ -291,4 +291,5 @@
 											'default' : 3,
 											label : editor.lang.table.rows,
+											required : true,
 											style : 'width:5em',
 											validate : function()
@@ -316,4 +317,5 @@
 											'default' : 2,
 											label : editor.lang.table.columns,
+											required : true,
 											style : 'width:5em',
 											validate : function()
Index: CKEditor/branches/versions/3.4.x/_source/plugins/tabletools/dialogs/tableCell.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/plugins/tabletools/dialogs/tableCell.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/plugins/tabletools/dialogs/tableCell.js	(revision 5754)
@@ -150,5 +150,5 @@
 													setup : function( selectedCell )
 													{
-														var widthMatch = widthPattern.exec( selectedCell.$.style.width );
+														var widthMatch = widthPattern.exec( selectedCell.getStyle( 'width' ) || selectedCell.getAttribute( 'width' ) );
 														if ( widthMatch )
 															this.setValue( widthMatch[2] );
Index: CKEditor/branches/versions/3.4.x/_source/plugins/wysiwygarea/plugin.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/plugins/wysiwygarea/plugin.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/plugins/wysiwygarea/plugin.js	(revision 5754)
@@ -1,3 +1,3 @@
-/*
+﻿/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -16,4 +16,6 @@
 	// Matching an empty paragraph at the end of document.
 	var emptyParagraphRegexp = /\s*<(p|div|address|h\d|center|li)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\1>)?\s*(?=$|<\/body>)/gi;
+
+	var notWhitespaceEval = CKEDITOR.dom.walker.whitespaces( true );
 
 	function checkReadOnly( selection )
@@ -76,4 +78,13 @@
 			else
 				this.document.$.execCommand( 'inserthtml', false, data );
+
+			// Webkit does not scroll to the cursor position after pasting (#5558)
+			if ( CKEDITOR.env.webkit )
+			{
+				this.document.$.execCommand( 'inserthtml', false, '<span id="cke_paste_marker" cke_temp="1"></span>' );
+				var marker = this.document.getById( 'cke_paste_marker' );
+				marker.scrollIntoView();
+				marker.remove();
+			}
 
 			CKEDITOR.tools.setTimeout( function()
@@ -154,8 +165,15 @@
 			range.moveToPosition( lastElement, CKEDITOR.POSITION_AFTER_END );
 
-			var next = lastElement.getNextSourceNode( true );
-			var lastElementIsInline = CKEDITOR.dtd.$inline[ lastElement.getName() ];
-			if ( !lastElementIsInline && next && next.type == CKEDITOR.NODE_ELEMENT )
-				range.moveToElementEditStart( next );
+			// If we're inserting a block element immediatelly followed by
+			// another block element, the selection must move there. (#3100,#5436)
+			if ( isBlock )
+			{
+				var next = lastElement.getNext( notWhitespaceEval ),
+					nextName = next && next.type == CKEDITOR.NODE_ELEMENT && next.getName();
+
+				// Check if it's a block element that accepts text.
+				if ( nextName && CKEDITOR.dtd.$block[ nextName ] && CKEDITOR.dtd[ nextName ]['#'] )
+					range.moveToElementEditStart( next );
+			}
 
 			selection.selectRanges( [ range ] );
@@ -211,4 +229,32 @@
 	isNotWhitespace = CKEDITOR.dom.walker.whitespaces( true );
 
+	// Gecko need a key event to 'wake up' the editing
+	// ability when document is empty.(#3864, #5781)
+	function activateEditing( editor )
+	{
+		var win = editor.window,
+			doc = editor.document,
+			body = editor.document.getBody(),
+			bodyChildsNum = body.getChildren().count();
+
+		if ( !bodyChildsNum || ( bodyChildsNum == 1&& body.getFirst().hasAttribute( '_moz_editor_bogus_node' ) ) )
+		{
+			restoreDirty( editor );
+
+			// Simulating keyboard character input by dispatching a keydown of white-space text.
+			var keyEventSimulate = doc.$.createEvent( "KeyEvents" );
+			keyEventSimulate.initKeyEvent( 'keypress', true, true, win.$, false,
+				false, false, false, 0, 32 );
+			doc.$.dispatchEvent( keyEventSimulate );
+
+			// Restore the original document status by placing the cursor before a bogus br created (#5021).
+			bodyChildsNum && body.getFirst().remove();
+			doc.getBody().appendBogus();
+			var nativeRange = new CKEDITOR.dom.range( doc );
+			nativeRange.setStartAt( body , CKEDITOR.POSITION_AFTER_START );
+			nativeRange.select();
+		}
+	}
+
 	/**
 	 *  Auto-fixing block-less content by wrapping paragraph (#3190), prevent
@@ -224,4 +270,6 @@
 			body = editor.document.getBody(),
 			enterMode = editor.config.enterMode;
+
+		CKEDITOR.env.gecko && activateEditing( editor );
 
 		// When enterMode set to block, we'll establing new paragraph only if we're
@@ -250,21 +298,20 @@
 			if ( isBlankParagraph( fixedBlock ) )
 			{
-				var previousElement = fixedBlock.getPrevious( isNotWhitespace ),
-					nextElement = fixedBlock.getNext( isNotWhitespace );
-
-				if ( previousElement && previousElement.getName
-					 && !( previousElement.getName() in nonExitableElementNames )
-					 || nextElement && nextElement.getName
-						&& !( nextElement.getName() in nonExitableElementNames ) )
+				var element = fixedBlock.getNext( isNotWhitespace );
+				if ( element && 
+					 element.type == CKEDITOR.NODE_ELEMENT && 
+					 !nonExitableElementNames[ element.getName() ] )
 				{
-					if ( isBlankParagraph( previousElement ) && range.moveToElementEditStart( previousElement )
-							|| isBlankParagraph( nextElement ) && range.moveToElementEditStart( nextElement ) )
-						fixedBlock.remove();
-
-					// Firefox prefer to anchor cursor after non-editable elements
-					// when navigate to them, leaving native behavior untouched. (#5834)
-					if ( CKEDITOR.env.gecko && ( previousElement.isReadOnly() || nextElement.isReadOnly() ) )
+					range.moveToElementEditStart( element );
+					fixedBlock.remove();
+				}
+				else
+				{
+					element = fixedBlock.getPrevious( isNotWhitespace );
+					if ( element && 
+						 element.type == CKEDITOR.NODE_ELEMENT && 
+						 !nonExitableElementNames[ element.getName() ] )
 					{
-						range.moveToPosition( fixedBlock, CKEDITOR.POSITION_BEFORE_START );
+						range.moveToElementEditEnd( element );
 						fixedBlock.remove();
 					}
@@ -443,31 +490,5 @@
 						}
 
-						// Gecko need a key event to 'wake up' the editing
-						// ability when document is empty.(#3864)
-						if ( CKEDITOR.env.gecko && !body.childNodes.length )
-						{
-							setTimeout( function()
-							{
-								restoreDirty( editor );
-
-								// Simulating keyboard character input by dispatching a keydown of white-space text.
-								var keyEventSimulate = domDocument.$.createEvent( "KeyEvents" );
-								keyEventSimulate.initKeyEvent( 'keypress', true, true, domWindow.$, false,
-									false, false, false, 0, 32 );
-								domDocument.$.dispatchEvent( keyEventSimulate );
-
-								// Restore the original document status by placing the cursor before a bogus br created (#5021).
-								domDocument.createElement( 'br', { attributes: { '_moz_editor_bogus_node' : 'TRUE', '_moz_dirty' : "" } } )
-									.replace( domDocument.getBody().getFirst() );
-								var nativeRange = new CKEDITOR.dom.range( domDocument );
-								nativeRange.setStartAt( new CKEDITOR.dom.element( body ) , CKEDITOR.POSITION_AFTER_START );
-								nativeRange.select();
-							}, 0 );
-						}
-
-						// IE, Opera and Safari may not support it and throw
-						// errors.
-						try { domDocument.execCommand( 'enableObjectResizing', false, !editor.config.disableObjectResizing ) ; } catch(e) {}
-						try { domDocument.execCommand( 'enableInlineTableEditing', false, !editor.config.disableNativeTableHandles ) ; } catch(e) {}
+						CKEDITOR.env.gecko && CKEDITOR.tools.setTimeout( activateEditing, 0, null, editor );
 
 						domWindow	= editor.window		= new CKEDITOR.dom.window( domWindow );
@@ -671,4 +692,8 @@
 									editor.fire( 'dataReady' );
 								}, 0 );
+
+								// IE, Opera and Safari may not support it and throw errors.
+								try { editor.document.$.execCommand( 'enableObjectResizing', false, !editor.config.disableObjectResizing ) ; } catch(e) {}
+								try { editor.document.$.execCommand( 'enableInlineTableEditing', false, !editor.config.disableNativeTableHandles ) ; } catch(e) {}
 
 								/*
@@ -952,4 +977,8 @@
 						{
 							editor.focus();
+
+							// In IE7 the blinking cursor appears, but contents are not editable. (#5634)
+							if ( CKEDITOR.env.ie7Compat )
+								editor.getSelection().getRanges()[ 0 ].select();
 						} );
 				} );
Index: CKEditor/branches/versions/3.4.x/_source/skins/kama/dialog.css
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/skins/kama/dialog.css	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/skins/kama/dialog.css	(revision 5754)
@@ -808,4 +808,9 @@
 }
 
+.cke_skin_kama .cke_dialog_body label.cke_required
+{
+	font-weight: bold;
+}
+
 .cke_skin_kama .cke_hc .cke_dialog_body .cke_label
 {
Index: CKEditor/branches/versions/3.4.x/_source/skins/office2003/dialog.css
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/skins/office2003/dialog.css	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/skins/office2003/dialog.css	(revision 5754)
@@ -738,4 +738,9 @@
 }
 
+.cke_skin_office2003 .cke_dialog_body label.cke_required
+{
+	font-weight: bold;
+}
+
 .cke_skin_office2003 .cke_hc .cke_dialog_body .cke_label
 {
Index: CKEditor/branches/versions/3.4.x/_source/skins/v2/dialog.css
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/skins/v2/dialog.css	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/skins/v2/dialog.css	(revision 5754)
@@ -740,4 +740,9 @@
 }
 
+.cke_skin_v2 .cke_dialog_body label.cke_required
+{
+	font-weight: bold;
+}
+
 .cke_skin_v2 .cke_hc .cke_dialog_body .cke_label
 {
Index: CKEditor/branches/versions/3.4.x/_source/themes/default/theme.js
===================================================================
--- CKEditor/branches/versions/3.4.x/_source/themes/default/theme.js	(revision 5753)
+++ CKEditor/branches/versions/3.4.x/_source/themes/default/theme.js	(revision 5754)
@@ -245,4 +245,15 @@
 })() );
 
+/**
+ * Returns the DOM element that represents a theme space. The default theme defines
+ * three spaces, namely "top", "contents" and "bottom", representing the main
+ * blocks that compose the editor interface.
+ * @param {String} spaceName The space name.
+ * @returns {CKEDITOR.dom.element} The element that represents the space.
+ * @example
+ * // Hide the bottom space in the UI.
+ * var bottom = editor.getThemeSpace( 'bottom' );
+ * bottom.setStyle( 'display', 'none' );
+ */
 CKEDITOR.editor.prototype.getThemeSpace = function( spaceName )
 {
@@ -253,4 +264,24 @@
 };
 
+/**
+ * Resizes the editor interface.
+ * @param {Number|String} width The new width. It can be an pixels integer or a
+ *		CSS size value.
+ * @param {Number|String} height The new height. It can be an pixels integer or
+ *		a CSS size value.
+ * @param {Boolean} [isContentHeight] Indicates that the provided height is to
+ *		be applied to the editor contents space, not to the entire editor
+ *		interface. Defaults to false.
+ * @param {Boolean} [resizeInner] Indicates that the first inner interface
+ *		element must receive the size, not the outer element. The default theme
+ *		defines the interface inside a pair of span elements
+ *		(&lt;span&gt;&lt;span&gt;...&lt;/span&gt;&lt;/span&gt;). By default the
+ *		first span element receives the sizes. If this parameter is set to
+ *		true, the second span is sized instead.
+ * @example
+ * editor.resize( 900, 300 );
+ * @example
+ * editor.resize( '100%', 450, true );
+ */
 CKEDITOR.editor.prototype.resize = function( width, height, isContentHeight, resizeInner )
 {
@@ -283,4 +314,11 @@
 };
 
+/**
+ * Gets the element that can be freely used to check the editor size. This method
+ * is mainly used by the resize plugin, which adds a UI handle that can be used
+ * to resize the editor.
+ * @returns {CKEDITOR.dom.element} The resizable element.
+ * @example
+ */
 CKEDITOR.editor.prototype.getResizable = function()
 {
@@ -313,2 +351,9 @@
  * };
  */
+
+/**
+ * Fired after the editor instance is resized through
+ * the {@link CKEDITOR.editor.prototype.resize} method.
+ * @name CKEDITOR#resize
+ * @event
+ */
