Merge branch 'prevent_dupes' into 2013-01-09-fixes
This commit is contained in:
@@ -220,7 +220,6 @@
|
||||
return $.uls.data.getLanguagesByScriptGroupInRegions( [ region ] );
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Returns an associative array of all languages,
|
||||
* grouped by script group.
|
||||
@@ -237,23 +236,20 @@
|
||||
*/
|
||||
$.uls.data.getLanguagesByScriptGroup = function ( languages ) {
|
||||
var languagesByScriptGroup = {},
|
||||
scriptGroup,
|
||||
language,
|
||||
langScriptGroup;
|
||||
language, codeToAdd, langScriptGroup;
|
||||
|
||||
for ( scriptGroup in $.uls.data.scriptgroups ) {
|
||||
for ( language in languages ) {
|
||||
langScriptGroup = $.uls.data.getScriptGroupOfLanguage( language );
|
||||
for ( language in languages ) {
|
||||
codeToAdd = $.uls.data.isRedirect( language ) || language;
|
||||
|
||||
if ( langScriptGroup !== scriptGroup ) {
|
||||
continue;
|
||||
}
|
||||
langScriptGroup = $.uls.data.getScriptGroupOfLanguage( codeToAdd );
|
||||
|
||||
if ( !languagesByScriptGroup[scriptGroup] ) {
|
||||
languagesByScriptGroup[scriptGroup] = [];
|
||||
}
|
||||
if ( !languagesByScriptGroup[langScriptGroup] ) {
|
||||
languagesByScriptGroup[langScriptGroup] = [];
|
||||
}
|
||||
|
||||
languagesByScriptGroup[scriptGroup].push( language );
|
||||
// Prevent duplicate adding of redirects
|
||||
if ( $.inArray( codeToAdd, languagesByScriptGroup[langScriptGroup] ) === -1 ) {
|
||||
languagesByScriptGroup[langScriptGroup].push( codeToAdd );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,10 +80,17 @@
|
||||
// Get the languages grouped by script group
|
||||
var languagesByScriptGroup = $.uls.data.getLanguagesByScriptGroup( this.options.languages );
|
||||
|
||||
for ( var scriptGroup in languagesByScriptGroup ) {
|
||||
// Make sure that we go by the original order
|
||||
// of script groups
|
||||
for ( var scriptGroup in $.uls.data.scriptgroups ) {
|
||||
// Get the languages for the script group
|
||||
var languages = languagesByScriptGroup[scriptGroup];
|
||||
|
||||
// It's possible that some script groups are missing
|
||||
if ( !languages ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Sort it based on autonym
|
||||
languages.sort( $.uls.data.sortByAutonym );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user