Add isRedirect (from an old Gerrit commit)
This commit is contained in:
@@ -29,12 +29,28 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Is this language a redirect to another language?
|
||||||
|
* @param string language code
|
||||||
|
* @return Target language code if it's a redirect or false if it's not
|
||||||
|
*/
|
||||||
|
$.uls.data.isRedirect = function( language ) {
|
||||||
|
return ( $.uls.data.languages[language] !== undefined &&
|
||||||
|
$.uls.data.languages[language].length === 1 ) ? $.uls.data.languages[language][0] : false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the script of the language.
|
* Returns the script of the language.
|
||||||
* @param string language code
|
* @param string language code
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
$.uls.data.getScript = function( language ) {
|
$.uls.data.getScript = function( language ) {
|
||||||
|
var target = $.uls.data.isRedirect( language );
|
||||||
|
|
||||||
|
if ( target ) {
|
||||||
|
return $.uls.data.getScript( target );
|
||||||
|
}
|
||||||
|
|
||||||
return $.uls.data.languages[language][0];
|
return $.uls.data.languages[language][0];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -49,6 +65,12 @@
|
|||||||
* @return array|string 'UNKNOWN'
|
* @return array|string 'UNKNOWN'
|
||||||
*/
|
*/
|
||||||
$.uls.data.getRegions = function( language ) {
|
$.uls.data.getRegions = function( language ) {
|
||||||
|
var target = $.uls.data.isRedirect( language );
|
||||||
|
|
||||||
|
if ( target ) {
|
||||||
|
return $.uls.data.getRegions( target );
|
||||||
|
}
|
||||||
|
|
||||||
return ( $.uls.data.languages[language] && $.uls.data.languages[language][1] ) || 'UNKNOWN';
|
return ( $.uls.data.languages[language] && $.uls.data.languages[language][1] ) || 'UNKNOWN';
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -63,6 +85,12 @@
|
|||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
$.uls.data.getAutonym = function( language ) {
|
$.uls.data.getAutonym = function( language ) {
|
||||||
|
var target = $.uls.data.isRedirect( language );
|
||||||
|
|
||||||
|
if ( target ) {
|
||||||
|
return $.uls.data.getAutonym( target );
|
||||||
|
}
|
||||||
|
|
||||||
return ( $.uls.data.languages[language] && $.uls.data.languages[language][2] ) || language;
|
return ( $.uls.data.languages[language] && $.uls.data.languages[language][2] ) || language;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -94,8 +94,8 @@
|
|||||||
"languages of region PA are selected correctly" );
|
"languages of region PA are selected correctly" );
|
||||||
assert.deepEqual( $.uls.data.getLanguagesInRegions( ["AM", "WW"] ),
|
assert.deepEqual( $.uls.data.getLanguagesInRegions( ["AM", "WW"] ),
|
||||||
[
|
[
|
||||||
"akz", "arn", "aro", "ase", "avk", "ay", "cho", "chr", "chy", "cr-cans", "cr-latn",
|
"akz", "arn", "aro", "ase", "avk", "ay", "cho", "chr", "chy", "cr", "cr-cans", "cr-latn",
|
||||||
"cr", "en-ca", "en", "eo", "es-419", "es-formal", "es", "esu", "fr", "gcf", "gn",
|
"en-ca", "en", "eo", "es-419", "es-formal", "es", "esu", "fr", "gcf", "gn",
|
||||||
"guc", "haw", "ht", "ia", "ie", "ik", "ike-cans", "ike-latn", "io", "iu", "jam",
|
"guc", "haw", "ht", "ia", "ie", "ik", "ike-cans", "ike-latn", "io", "iu", "jam",
|
||||||
"jbo", "kgp", "kl", "lad", "lfn", "mfe", "mic", "mus", "nah", "nl-informal", "nl",
|
"jbo", "kgp", "kl", "lad", "lfn", "mfe", "mic", "mus", "nah", "nl-informal", "nl",
|
||||||
"nov", "nv", "pap", "pdc", "pdt", "ppl", "pt-br", "pt", "qu", "qug", "rap", "sei",
|
"nov", "nv", "pap", "pdc", "pdt", "ppl", "pt-br", "pt", "qu", "qug", "rap", "sei",
|
||||||
@@ -124,7 +124,7 @@
|
|||||||
|
|
||||||
var languagesByScriptInAM = $.uls.data.getLanguagesByScriptInRegion( "AM" );
|
var languagesByScriptInAM = $.uls.data.getLanguagesByScriptInRegion( "AM" );
|
||||||
assert.deepEqual( languagesByScriptInAM['Cans'], [
|
assert.deepEqual( languagesByScriptInAM['Cans'], [
|
||||||
"cr-cans", "cr", "ike-cans", "iu"
|
"cr", "cr-cans", "ike-cans", "iu"
|
||||||
], "correct languages in Cans in AM selected" );
|
], "correct languages in Cans in AM selected" );
|
||||||
|
|
||||||
assert.strictEqual( $.uls.data.getAutonym( 'pa' ), 'ਪੰਜਾਬੀ', 'Correct autonym of the Punjabi language was selected' );
|
assert.strictEqual( $.uls.data.getAutonym( 'pa' ), 'ਪੰਜਾਬੀ', 'Correct autonym of the Punjabi language was selected' );
|
||||||
|
|||||||
Reference in New Issue
Block a user