code: function( defaultLanguage, probeLanguage )
  		{
  			var languages = this.languages;
  			probeLanguage = probeLanguage || navigator.userLanguage || navigator.language || defaultLanguage;
  
  			var parts = probeLanguage
  					.toLowerCase()
  					.match( /([a-z]+)(?:-([a-z]+))?/ ),
  				lang = parts[1],
  				locale = parts[2];
  
  			if ( languages[ lang + '-' + locale ] )
  				lang = lang + '-' + locale;
  			else if ( !languages[ lang ] )
  				lang = null;
  
  			CKEDITOR.lang.detect = lang ?
  				function() { return lang; } :
  				function( defaultLanguage ) { return defaultLanguage; };
  
  			return lang || defaultLanguage;
  		}
docs: Returns the language that best fit the user language. For example,
  suppose that the user language is "pt-br". If this language is
  supported by the editor, it is returned. Otherwise, if only "pt" is
  supported, it is returned instead. If none of the previous are
  supported, a default language is then returned.
  @param {String} defaultLanguage The default language to be returned
  if the user language is not supported.
  @param {String} [probeLanguage] A language code to try to use,
  instead of the browser based autodetection.
  @returns {String} The detected language code.
  @example
  alert( CKEDITOR.lang.detect( 'en' ) );  // e.g., in a German browser: "de"