diff --git a/src/jquery.uls.data.utils.js b/src/jquery.uls.data.utils.js index 7ff7711..8836edc 100644 --- a/src/jquery.uls.data.utils.js +++ b/src/jquery.uls.data.utils.js @@ -245,21 +245,18 @@ */ $.uls.data.getLanguagesByScriptGroup = function ( languages ) { var languagesByScriptGroup = {}, - language, codeToAdd, langScriptGroup; + language, resolvedRedirect, langScriptGroup; for ( language in languages ) { - codeToAdd = $.uls.data.isRedirect( language ) || language; + resolvedRedirect = $.uls.data.isRedirect( language ) || language; - langScriptGroup = $.uls.data.getScriptGroupOfLanguage( codeToAdd ); + langScriptGroup = $.uls.data.getScriptGroupOfLanguage( resolvedRedirect ); if ( !languagesByScriptGroup[langScriptGroup] ) { languagesByScriptGroup[langScriptGroup] = []; } - // Prevent duplicate adding of redirects - if ( $.inArray( codeToAdd, languagesByScriptGroup[langScriptGroup] ) === -1 ) { - languagesByScriptGroup[langScriptGroup].push( codeToAdd ); - } + languagesByScriptGroup[langScriptGroup].push( language ); } return languagesByScriptGroup; diff --git a/src/jquery.uls.lcd.js b/src/jquery.uls.lcd.js index b52dcee..8ac7874 100644 --- a/src/jquery.uls.lcd.js +++ b/src/jquery.uls.lcd.js @@ -66,13 +66,13 @@ * Adds language to the language list. * @param {string} langCode * @param {string} [regionCode] - * @return {bool} Whether the language was added. + * @return {boolean} Whether the language was added. */ append: function ( langCode, regionCode ) { var lcd = this, i, regions; - if ( !this.options.languages[ langCode ] ) { + if ( !$.uls.data.languages[ langCode ] ) { // Language is unknown or not in the list of languages for this context. return false; } diff --git a/test/jquery.uls.test.js b/test/jquery.uls.test.js index 313cfff..587bcc7 100644 --- a/test/jquery.uls.test.js +++ b/test/jquery.uls.test.js @@ -227,8 +227,8 @@ 'vro': 'Võro' // Target after alias }; groupedLanguages = { - Latin: [ 'en', 'vro', 'sr-latn' ], - Cyrillic: [ 'ru', 'sr-cyrl' ] + Latin: [ 'en', 'fiu-vro', 'sr-latn', 'sr-el', 'vro' ], + Cyrillic: [ 'ru', 'sr', 'sr-cyrl' ] }; assert.deepEqual( $.uls.data.getLanguagesByScriptGroup( languagesToGroup ), groupedLanguages,