*/\r
load : function( languageCode, defaultLanguage, callback )\r
{\r
- if ( !languageCode )\r
- languageCode = this.detect( defaultLanguage );\r
+ // If no languageCode - fallback to browser or default.\r
+ // If languageCode - fallback to no-localized version or default.\r
+ if ( !languageCode || !CKEDITOR.lang.languages[ languageCode ] )\r
+ languageCode = this.detect( defaultLanguage, languageCode );\r
\r
if ( !this[ languageCode ] )\r
{\r
CKEDITOR.scriptLoader.load( CKEDITOR.getUrl(\r
+ '_source/' + // @Packager.RemoveLine\r
'lang/' + languageCode + '.js' ),\r
function()\r
{\r
* @example\r
* alert( CKEDITOR.lang.detect( 'en' ) ); // e.g., in a German browser: "de"\r
*/\r
- detect : function( defaultLanguage )\r
+ detect : function( defaultLanguage, probeLanguage )\r
{\r
var languages = this.languages;\r
+ probeLanguage = probeLanguage || navigator.userLanguage || navigator.language;\r
\r
- var parts = ( navigator.userLanguage || navigator.language )\r
+ var parts = probeLanguage\r
.toLowerCase()\r
.match( /([a-z]+)(?:-([a-z]+))?/ ),\r
lang = parts[1],\r