Index: /CKLangTool/trunk/_source/includes/cklangtool.js
===================================================================
--- /CKLangTool/trunk/_source/includes/cklangtool.js	(revision 7293)
+++ /CKLangTool/trunk/_source/includes/cklangtool.js	(revision 7294)
@@ -56,5 +56,5 @@
 		{
 			case CKLANGTOOL.FORMAT_JSON:
-				var translationCode = 'var CKEDITOR = { lang : {} }; ' + CKLANGTOOL.io.readFile( file );
+				var translationCode = 'var CKEDITOR = { lang : {}, plugins : { setLang : function(plugin, langCode, obj) { CKEDITOR.lang[langCode] = obj; } } }; ' + CKLANGTOOL.io.readFile( file );
 
 				var cx = Context.enter(), scope = cx.initStandardObjects();
@@ -243,5 +243,6 @@
 		fileOverview :Pattern.compile( " @fileOverview" ),
 		translation :Pattern.compile( "#ckeditor_translation[^#]*?#" ),
-		ckeditorLang :Pattern.compile( "(.*CKEDITOR\\.lang\\[).*?(\\]\\s*=.*)" )
+		ckeditorLang :Pattern.compile( "(.*CKEDITOR\\.lang\\[).*?(\\]\\s*=.*)" ),
+		ckeditorSetLang :Pattern.compile( "(.*CKEDITOR\\.plugins\\.setLang\\s*\\(.*?,)\\s*['\"][a-z-]+['\"](.*)" )
 	};
 
@@ -440,4 +441,14 @@
 				}
 
+				/*
+				 * CKEDITOR.plugins.setLang( 'uicolor', 'en',
+				 */
+				matcher = regexLib.ckeditorSetLang.matcher( line );
+				if ( matcher.find() )
+				{
+					out.push( matcher.group( 1 ) + "'#ckeditor_translation.__languageCode#'" + matcher.group( 2 ) );
+					continue;
+				}
+
 				/* 
 				 * Get rid of all escaped quotes, we don't need the exact content at this stage, just the key.
Index: /CKLangTool/trunk/test/_assets/translator2/_translationstatus.txt.correct.txt
===================================================================
--- /CKLangTool/trunk/test/_assets/translator2/_translationstatus.txt.correct.txt	(revision 7294)
+++ /CKLangTool/trunk/test/_assets/translator2/_translationstatus.txt.correct.txt	(revision 7294)
@@ -0,0 +1,4 @@
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+
+he.js      Found: 3 Missing: 1
Index: /CKLangTool/trunk/test/_assets/translator2/en.js
===================================================================
--- /CKLangTool/trunk/test/_assets/translator2/en.js	(revision 7294)
+++ /CKLangTool/trunk/test/_assets/translator2/en.js	(revision 7294)
@@ -0,0 +1,15 @@
+﻿/*
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+CKEDITOR.plugins.setLang( 'uicolor', 'en',
+{
+	uicolor :
+	{
+		title : 'UI Color Picker',
+		preview : 'Live preview',
+		config : 'Paste this string into your config.js file',
+		predefined : 'Predefined color sets'
+	}
+});
Index: /CKLangTool/trunk/test/_assets/translator2/he.js
===================================================================
--- /CKLangTool/trunk/test/_assets/translator2/he.js	(revision 7294)
+++ /CKLangTool/trunk/test/_assets/translator2/he.js	(revision 7294)
@@ -0,0 +1,14 @@
+﻿/*
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+CKEDITOR.plugins.setLang( 'uicolor', 'he',
+{
+	uicolor :
+	{
+		preview : 'תצוגה מקדימה',
+		config : 'הדבק את הטקסט הבא לתוך הקובץ config.js',
+		predefined : 'קבוצות צבעים מוגדרות מראש'
+	}
+});
Index: /CKLangTool/trunk/test/_assets/translator2/he.js.correct.txt
===================================================================
--- /CKLangTool/trunk/test/_assets/translator2/he.js.correct.txt	(revision 7294)
+++ /CKLangTool/trunk/test/_assets/translator2/he.js.correct.txt	(revision 7294)
@@ -0,0 +1,15 @@
+﻿/*
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+CKEDITOR.plugins.setLang( 'uicolor','he',
+{
+	uicolor :
+	{
+		title : 'UI Color Picker', // MISSING
+		preview : 'תצוגה מקדימה',
+		config : 'הדבק את הטקסט הבא לתוך הקובץ config.js',
+		predefined : 'קבוצות צבעים מוגדרות מראש'
+	}
+});
Index: /CKLangTool/trunk/test/test.js
===================================================================
--- /CKLangTool/trunk/test/test.js	(revision 7293)
+++ /CKLangTool/trunk/test/test.js	(revision 7294)
@@ -1,4 +1,4 @@
 /*
-Copyright (c) 2003-2008, Frederico Caldeira Knabben. All rights reserved.
+Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */
@@ -99,5 +99,5 @@
 			error( "Can't create temp directory: " + tempDir );
 
-		var tests = [ 'gettext', 'gettext/out', 'jprops', 'jprops/out', 'translator' ];
+		var tests = [ 'gettext', 'gettext/out', 'jprops', 'jprops/out', 'translator', 'translator2' ];
 
 		for ( var i = 0 ; i < tests.length ; i++ )
@@ -109,11 +109,10 @@
 	}
 	
-	function testTranslator()
+	function testTranslator( folder )
 	{
-		CKLANGTOOL.languageDir = new File( 'tmp/translator' );
-		CKLANGTOOL.templateFile = new File( 'tmp/translator', 'en.js' );
+		CKLANGTOOL.languageDir = new File( 'tmp/' + folder );
+		CKLANGTOOL.templateFile = new File( 'tmp/' + folder, 'en.js' );
 		
-		var name = 'translator';
-		var dir = new File( '_assets/translator' );
+		var dir = new File( '_assets/' + folder );
 		var dirList = dir.list();
 		
@@ -135,6 +134,6 @@
 			testName = dirList[i].replace( ".correct.txt", "" );
 
-			tempFile = new File( 'tmp/' + name + '/' + testName );
-			correctFile = new File( 'tmp/' + name + '/' + testName + '.correct.txt' );
+			tempFile = new File( 'tmp/' + folder + '/' + testName );
+			correctFile = new File( 'tmp/' + folder + '/' + testName + '.correct.txt' );
 
 			var date = new Date(),
@@ -181,5 +180,6 @@
 
 	prepareTempDirs();
-	testTranslator();
+	testTranslator('translator');
+	testTranslator('translator2');
 	testFormat('gettext');
 	testFormat('jprops');
