Index: /CKLangTool/trunk/_source/includes/cklangtool.js
===================================================================
--- /CKLangTool/trunk/_source/includes/cklangtool.js	(revision 4658)
+++ /CKLangTool/trunk/_source/includes/cklangtool.js	(revision 4659)
@@ -134,9 +134,9 @@
 		blockCommentStart :Pattern.compile( "\\/\\*" ),
 		blockCommentEnd :Pattern.compile( "\\*\\/" ),
-		entry :Pattern.compile( "^(\\s*)([a-z0-9][_a-z0-9]*)(\\s*:\\s*\\').*?(\\'.*)$", Pattern.CASE_INSENSITIVE ),
-		arrayEntry :Pattern.compile( "^(\\s*)([a-z0-9][_a-z0-9]*)(\\s*:\\s*\\[)(.*?)(\\].*)$", Pattern.CASE_INSENSITIVE ),
+		entry :Pattern.compile( "^(\\s*)((?:'|\")?)([a-z0-9][_a-z0-9]*)\\2(\\s*:\\s*\\').*?(\\'.*)$", Pattern.CASE_INSENSITIVE ),
+		arrayEntry :Pattern.compile( "^(\\s*)((?:'|\")?)([a-z0-9][_a-z0-9]*)\\2(\\s*:\\s*\\[)(.*?)(\\].*)$", Pattern.CASE_INSENSITIVE ),
 		arrayItemEntry :Pattern.compile( "\\s*(?:'(.*?)'(?:\\s*,\\s*)?)" ),
 		arrayTranslationKey :Pattern.compile( "^(.*)\\[(\\d+)\\]$" ),
-		objectName :Pattern.compile( "^\\s*([a-z][_a-z0-9]*)\\s*:\\s*$", Pattern.CASE_INSENSITIVE ),
+		objectName :Pattern.compile( "^\\s*((?:'|\")?)([a-z][_a-z0-9]*)\\1\\s*:\\s*(?://.*)?$", Pattern.CASE_INSENSITIVE ),
 		objectStart :Pattern.compile( "\\{" ),
 		objectEnd :Pattern.compile( "\\}" ),
@@ -183,5 +183,5 @@
 				if ( matcher.find() )
 				{
-					objectName = matcher.group( 1 );
+					objectName = matcher.group( 2 );
 					continue;
 				}
@@ -217,5 +217,5 @@
 				if ( matcher.find() && regexLib.missing.matcher( line ).find() )
 				{
-					translationKey = key + "." + matcher.group( 2 );
+					translationKey = key + "." + matcher.group( 3 );
 					translationKey = translationKey.replace( /^ckeditor_translation\./, "" );
 					out[ translationKey ] = true;
@@ -228,5 +228,5 @@
 				if ( matcher.find() && regexLib.missing.matcher( line ).find() )
 				{
-					translationKey = key + "." + matcher.group( 2 );
+					translationKey = key + "." + matcher.group( 3 );
 					translationKey = translationKey.replace( /^ckeditor_translation\./, "" );
 					out[ translationKey ] = true;
@@ -301,5 +301,5 @@
 				if ( matcher.find() )
 				{
-					objectName = matcher.group( 1 );
+					objectName = matcher.group( 2 );
 					out.push( line );
 					continue;
@@ -349,6 +349,6 @@
 				if ( matcher.find() )
 				{
-					out.push( matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 ) + "#" + key + "." + matcher.group( 2 ) + "#"
-							+ matcher.group( 4 ) );
+					out.push( matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 ) + matcher.group( 2 ) + matcher.group( 4 ) + "#" + key + "." + matcher.group( 3 ) + "#"
+							+ matcher.group( 5 ) );
 					continue;
 				}
@@ -366,8 +366,8 @@
 					i = 0;
 
-					arrayEntryLine = matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 );
-					arrayEntryKey = matcher.group( 2 );
-					arrayEntryLineEnd = matcher.group( 5 );
-					arrayEntryItems = matcher.group( 4 );
+					arrayEntryLine = matcher.group( 1 ) + matcher.group( 2 ) + matcher.group( 3 ) + matcher.group( 2 ) + matcher.group( 4 );
+					arrayEntryKey = matcher.group( 3 );
+					arrayEntryLineEnd = matcher.group( 6 );
+					arrayEntryItems = matcher.group( 5 );
 
 					arrayEntryItemsMatcher = regexLib.arrayItemEntry.matcher( arrayEntryItems );
Index: /CKLangTool/trunk/test/_assets/translator/_translationstatus.txt.correct.txt
===================================================================
--- /CKLangTool/trunk/test/_assets/translator/_translationstatus.txt.correct.txt	(revision 4658)
+++ /CKLangTool/trunk/test/_assets/translator/_translationstatus.txt.correct.txt	(revision 4659)
@@ -2,4 +2,5 @@
 For licensing, see LICENSE.html or http://ckeditor.com/license
 
-de.js      Found: 17 Missing: 4
-pl.js      Found: 18 Missing: 3
+ar.js      Found: 24 Missing: 3
+de.js      Found: 22 Missing: 5
+pl.js      Found: 24 Missing: 3
Index: /CKLangTool/trunk/test/_assets/translator/ar.js
===================================================================
--- /CKLangTool/trunk/test/_assets/translator/ar.js	(revision 4659)
+++ /CKLangTool/trunk/test/_assets/translator/ar.js	(revision 4659)
@@ -0,0 +1,91 @@
+﻿/*
+Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+/**
+ * @fileOverview Defines the {@link CKEDITOR.lang} object, for the
+ * Arabic language.
+ */
+
+/**#@+
+   @type String
+   @example
+*/
+
+/**
+ * Constains the dictionary of language entries.
+ * @namespace
+ */
+CKEDITOR.lang['ar'] =
+{
+	/**
+	 * The language reading direction. Possible values are "rtl" for
+	 * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right
+	 * languages (like English).
+	 * @default 'ltr'
+	 */
+	dir : 'rtl',
+
+	// Toolbar buttons without dialogs.
+	source			: 'المصدر',
+	newPage			: 'صفحة جديدة',
+	save			: 'حفظ',
+	preview			: 'معاينة الصفحة',
+
+	// Common messages and labels.
+	common :
+	{
+		browseServer	        : 'تصفح',
+		url			: 'الرابط',
+		protocol		: 'البروتوكول',
+		confirmCancel	: 'بعض الخيارات قد تغيرت. هل أنت متأكد من إغلاق مربع النص؟',
+	},
+
+	// Special char dialog.
+	specialChar		:
+	{
+		toolbar		: 'إدراج  خاص.ِ',
+		title		: 'اختر الخواص'
+	},
+
+	// Link dialog.
+	link :
+	{
+		toolbar		: 'رابط',
+		noAnchors		: '(لا توجد علامات مرجعية في هذا المستند)',
+		noUrl			: 'من فضلك أدخل عنوان الموقع الذي يشير إليه الرابط',
+		noEmail			: 'من فضلك أدخل عنوان البريد الإلكتروني'
+	},
+
+	// Table Dialog
+	table :
+	{
+		toolbar		: 'جدول',
+
+		cell :
+		{
+			menu			: 'خلية',
+			insertBefore	: 'إدراج خلية قبل'
+		},
+
+		row :
+		{
+			menu			: 'صف'
+		}
+	},
+
+	// Button Dialog.
+	button :
+	{
+		typeRst		: 'إعادة تعيين'
+	},
+
+	colors :
+	{
+		'000' : 'أسود',
+		'800000' : 'كستنائي',
+		'E6E6FA' : 'أرجواني',
+		'FFF' : 'أبيض'
+	}
+};
Index: /CKLangTool/trunk/test/_assets/translator/ar.js.correct.txt
===================================================================
--- /CKLangTool/trunk/test/_assets/translator/ar.js.correct.txt	(revision 4659)
+++ /CKLangTool/trunk/test/_assets/translator/ar.js.correct.txt	(revision 4659)
@@ -0,0 +1,101 @@
+﻿/*
+Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+/**
+ * @fileOverview Defines the {@link CKEDITOR.lang} object, for the
+ * Arabic language.
+ */
+
+/**#@+
+   @type String
+   @example
+*/
+
+/**
+ * Constains the dictionary of language entries.
+ * @namespace
+ */
+CKEDITOR.lang['ar'] =
+{
+	/**
+	 * The language reading direction. Possible values are "rtl" for
+	 * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right
+	 * languages (like English).
+	 * @default 'ltr'
+	 */
+	dir : 'rtl',
+
+	/*
+	 * Screenreader titles. Please note that screenreaders are not always capable
+	 * of reading non-English words. So be careful while translating it.
+	 */
+	editorTitle		: 'Rich text editor, %1', // MISSING
+
+	DateAmPm : ['AM', 'PM'], // MISSING
+
+	// Toolbar buttons without dialogs.
+	source			: 'المصدر',
+	newPage			: 'صفحة جديدة',
+	save			: 'حفظ',
+	preview			: 'معاينة الصفحة',
+
+	// Common messages and labels.
+	// Inline comment
+	// having more than one line.
+	common :
+	{
+		browseServer	: 'تصفح',
+		url				: 'الرابط',
+		protocol		: 'البروتوكول',
+		confirmCancel	: 'بعض الخيارات قد تغيرت. هل أنت متأكد من إغلاق مربع النص؟'
+	},
+
+	// Special char dialog.
+	specialChar		:	// Inline comment for special char dialog.
+	{
+		toolbar		: 'إدراج  خاص.ِ',
+		title		: 'اختر الخواص'
+	},
+
+	// Link dialog.
+	'link' :
+	{
+		'toolbar'		: 'رابط',		// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
+		noAnchors		: '(لا توجد علامات مرجعية في هذا المستند)',
+		noUrl			: 'من فضلك أدخل عنوان الموقع الذي يشير إليه الرابط',
+		noEmail			: 'من فضلك أدخل عنوان البريد الإلكتروني'
+	},
+
+	// Table Dialog
+	table :
+	{
+		toolbar		: 'جدول',
+
+		cell :
+		{
+			menu			: 'خلية',
+			insertBefore	: 'إدراج خلية قبل'
+		},
+
+		row :
+		{
+			menu			: 'صف'
+		}
+	},
+
+	colors :
+	{
+		'000' : 'أسود',
+		'800000' : 'كستنائي',
+		'E6E6FA' : 'أرجواني',
+		'FFF' : 'أبيض'
+	},
+
+	// Button Dialog.
+	button :
+	{
+		typeRst		: 'إعادة تعيين'
+	}
+};
Index: /CKLangTool/trunk/test/_assets/translator/de.js
===================================================================
--- /CKLangTool/trunk/test/_assets/translator/de.js	(revision 4658)
+++ /CKLangTool/trunk/test/_assets/translator/de.js	(revision 4659)
@@ -34,4 +34,6 @@
 	editorTitle		: 'Rich text editor, %1', // MISSING
 
+	DateAmPm : ['dAM','dPM'],
+
 	// Toolbar buttons without dialogs.
 	source			: 'Quellcode',
@@ -52,5 +54,5 @@
 	link :
 	{
-		toolbar		: 'Link einfügen/editieren',		// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
+		toolbar		: 'Link\u200b',		// MISSING // IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
 		noAnchors		: '(keine Anker im Dokument vorhanden)',
 		noUrl			: 'Bitte geben Sie die Link-URL an',
@@ -75,9 +77,17 @@
 	},
 
+	colors :
+	{
+		'000' : 'Schwarz',
+		'800000' : 'Kastanienbraun',
+		'E6E6FA' : 'Lavendel',
+		'FFF' : 'Weiß'
+	},
+
 	// Button Dialog.
 	button :
 	{
 		typeRst		: 'Zurücksetzen'
-	},
+	}
 };
 
Index: /CKLangTool/trunk/test/_assets/translator/de.js.correct.txt
===================================================================
--- /CKLangTool/trunk/test/_assets/translator/de.js.correct.txt	(revision 4658)
+++ /CKLangTool/trunk/test/_assets/translator/de.js.correct.txt	(revision 4659)
@@ -34,4 +34,6 @@
 	editorTitle		: 'Rich text editor, %1', // MISSING
 
+	DateAmPm : ['dAM', 'dPM'],
+
 	// Toolbar buttons without dialogs.
 	source			: 'Quellcode',
@@ -41,4 +43,6 @@
 
 	// Common messages and labels.
+	// Inline comment
+	// having more than one line.
 	common :
 	{
@@ -50,5 +54,5 @@
 
 	// Special char dialog.
-	specialChar		:
+	specialChar		:	// Inline comment for special char dialog.
 	{
 		toolbar		: 'Insert Special Character', // MISSING
@@ -57,7 +61,7 @@
 
 	// Link dialog.
-	link :
+	'link' :
 	{
-		toolbar		: 'Link einfügen/editieren',		// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
+		'toolbar'		: 'Link\u200b',		// MISSING // IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
 		noAnchors		: '(keine Anker im Dokument vorhanden)',
 		noUrl			: 'Bitte geben Sie die Link-URL an',
@@ -73,11 +77,19 @@
 		{
 			menu			: 'Zelle',
-			insertBefore	: 'Zelle davor einfügen',
+			insertBefore	: 'Zelle davor einfügen'
 		},
 
 		row :
 		{
-			menu			: 'Zeile',
-		},
+			menu			: 'Zeile'
+		}
+	},
+
+	colors :
+	{
+		'000' : 'Schwarz',
+		'800000' : 'Kastanienbraun',
+		'E6E6FA' : 'Lavendel',
+		'FFF' : 'Weiß'
 	},
 
@@ -86,4 +98,4 @@
 	{
 		typeRst		: 'Zurücksetzen'
-	},
+	}
 };
Index: /CKLangTool/trunk/test/_assets/translator/en.js
===================================================================
--- /CKLangTool/trunk/test/_assets/translator/en.js	(revision 4658)
+++ /CKLangTool/trunk/test/_assets/translator/en.js	(revision 4659)
@@ -34,4 +34,6 @@
 	editorTitle		: 'Rich text editor, %1',
 
+	DateAmPm : ['AM','PM'],
+
 	// Toolbar buttons without dialogs.
 	source			: 'Source',
@@ -41,4 +43,6 @@
 
 	// Common messages and labels.
+	// Inline comment
+	// having more than one line.
 	common :
 	{
@@ -50,5 +54,5 @@
 
 	// Special char dialog.
-	specialChar		:
+	specialChar		:	// Inline comment for special char dialog.
 	{
 		toolbar		: 'Insert Special Character',
@@ -57,7 +61,7 @@
 
 	// Link dialog.
-	link :
+	'link' :
 	{
-		toolbar		: 'Link\u200b',		// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
+		'toolbar'		: 'Link\u200b',		// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
 		noAnchors		: '(No anchors available in the document)',
 		noUrl			: 'Please type the link URL',
@@ -73,11 +77,19 @@
 		{
 			menu			: 'Cell',
-			insertBefore	: 'Insert Cell Before',
+			insertBefore	: 'Insert Cell Before'
 		},
 
 		row :
 		{
-			menu			: 'Row',
-		},
+			menu			: 'Row'
+		}
+	},
+
+	colors :
+	{
+		'000' : 'Black',
+		'800000' : 'Maroon',
+		'E6E6FA' : 'Lavender',
+		'FFF' : 'White'
 	},
 
@@ -86,4 +98,4 @@
 	{
 		typeRst		: 'Reset'
-	},
+	}
 };
Index: /CKLangTool/trunk/test/_assets/translator/pl.js
===================================================================
--- /CKLangTool/trunk/test/_assets/translator/pl.js	(revision 4658)
+++ /CKLangTool/trunk/test/_assets/translator/pl.js	(revision 4659)
@@ -28,8 +28,10 @@
 	dir : 'ltr',
 
+	'DateAmPm' : ['pAM','pPM'],
+
 	// Toolbar buttons without dialogs.
 	source			: 'Źródło dokumentu',
 	newPage			: 'Nowa strona',
-	save			: 'Zapisz',
+	save			: "Zapisz",
 	preview			: 'Podgląd',
 
@@ -44,8 +46,8 @@
 
 	// Special char dialog.
-	specialChar		:
+	'specialChar'		:
 	{
 		toolbar		: 'Wstaw znak specjalny',
-		title		: 'Wybierz znak specjalny'
+		'title'		: 'Wybierz znak specjalny'
 	},
 
@@ -53,5 +55,5 @@
 	link :
 	{
-		toolbar		: 'Wstaw/edytuj hiperłącze',		// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
+		'toolbar'		: 'Wstaw/edytuj hiperłącze',		// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
 		noAnchors		: '(W dokumencie nie zdefiniowano żadnych etykiet)',
 		noUrl			: 'Podaj adres URL',
@@ -76,4 +78,12 @@
 	},
 
+	colors :
+	{
+		'000' : 'Czarny',
+		'800000' : 'Rdzawy',
+		'E6E6FA' : 'Lawendowy',
+		'FFF' : 'Biały'
+	},
+
 	// Button Dialog.
 	button :
Index: /CKLangTool/trunk/test/_assets/translator/pl.js.correct.txt
===================================================================
--- /CKLangTool/trunk/test/_assets/translator/pl.js.correct.txt	(revision 4658)
+++ /CKLangTool/trunk/test/_assets/translator/pl.js.correct.txt	(revision 4659)
@@ -34,4 +34,6 @@
 	editorTitle		: 'Rich text editor, %1', // MISSING
 
+	DateAmPm : ['pAM', 'pPM'],
+
 	// Toolbar buttons without dialogs.
 	source			: 'Źródło dokumentu',
@@ -41,4 +43,6 @@
 
 	// Common messages and labels.
+	// Inline comment
+	// having more than one line.
 	common :
 	{
@@ -50,5 +54,5 @@
 
 	// Special char dialog.
-	specialChar		:
+	specialChar		:	// Inline comment for special char dialog.
 	{
 		toolbar		: 'Wstaw znak specjalny',
@@ -57,7 +61,7 @@
 
 	// Link dialog.
-	link :
+	'link' :
 	{
-		toolbar		: 'Wstaw/edytuj hiperłącze',		// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
+		'toolbar'		: 'Wstaw/edytuj hiperłącze',		// IE6 BUG: A title called "Link" in an <A> tag would invalidate its padding!!
 		noAnchors		: '(W dokumencie nie zdefiniowano żadnych etykiet)',
 		noUrl			: 'Podaj adres URL',
@@ -73,11 +77,19 @@
 		{
 			menu			: 'Komórka',
-			insertBefore	: 'Wstaw komórkę z lewej',
+			insertBefore	: 'Wstaw komórkę z lewej'
 		},
 
 		row :
 		{
-			menu			: 'Row', // MISSING
-		},
+			menu			: 'Row' // MISSING
+		}
+	},
+
+	colors :
+	{
+		'000' : 'Czarny',
+		'800000' : 'Rdzawy',
+		'E6E6FA' : 'Lawendowy',
+		'FFF' : 'Biały'
 	},
 
@@ -86,4 +98,4 @@
 	{
 		typeRst		: 'Wyzeruj'
-	},
+	}
 };
