Index: /CKLangTool/trunk/_source/includes/ckpoformat.js
===================================================================
--- /CKLangTool/trunk/_source/includes/ckpoformat.js	(revision 7318)
+++ /CKLangTool/trunk/_source/includes/ckpoformat.js	(revision 7319)
@@ -24,4 +24,7 @@
 
 				metaInformation = loadMetaInformation();
+
+				if ( CKLANGTOOL.enhancedComments )
+					loadSourceTranslationIntoMeta();
 
 				for ( var i = 0 ; i < children.length ; i++ )
@@ -76,4 +79,35 @@
 		}
 		return meta;
+	}
+
+	/**
+	 * Loads source translation to "meta" array.
+	 */
+	function loadSourceTranslationIntoMeta()
+	{
+		/**
+		 * Helper function, adds object to the "meta array"
+		 * @param prefix
+		 * @param o
+		 */
+		var addToMetaInformation = function( prefix, o )
+		{
+			var result = [];
+
+			for ( var key in o )
+			{
+				var entry = o[ key ],
+					entryName = prefix ? ( prefix + '.' + key ) : key;
+
+				if ( typeof entry == 'object' )
+					addToMetaInformation( entryName, entry );
+				else
+					metaInformation[entryName] += (metaInformation[entryName] ? "\n#. \n" : "") +
+							"#. Source string: \n#. " + entry.replace( /\n/g,  "#. ");
+			}
+		}
+
+		var result = CKLANGTOOL.loadLanguageFile( CKLANGTOOL.templateFile );
+		addToMetaInformation( '', result.translation );
 	}
 
Index: /CKLangTool/trunk/_source/langtool.js
===================================================================
--- /CKLangTool/trunk/_source/langtool.js	(revision 7318)
+++ /CKLangTool/trunk/_source/langtool.js	(revision 7319)
@@ -75,4 +75,5 @@
 			+ '\n\t meta - The meta file with context information (used by the gettext method).'
 			+ '\n[-m|--metafile]=path  Specify the path to an optional meta file which used only by the Gettext format for context information.'
+			+ '\n[-e|--enhanced-comments] Whether to include source translation in comments. Used only by the Gettext format for context information.'
 			+ '\n[-c|--config]=path  Specify the path to an optional configuration file.'
 			+ '\n' );
@@ -112,4 +113,8 @@
 			if ( !CKLANGTOOL.metaFile.exists() )
 				error( 'Meta file does not exist: ' + CKLANGTOOL.metaFile.getAbsolutePath() );
+		}
+		else if ( match = arg.match( /^(?:-e|--enhanced-comments)$/ ) )
+		{
+			CKLANGTOOL.enhancedComments = true;
 		}
 		else if ( match = arg.match( /^(?:-c|--config)=(.*?)$/ ) )
