diff --git a/lib/jquery.uls/css/jquery.uls.css b/lib/jquery.uls/css/jquery.uls.css index ff1c8cbf..ac7880a1 100644 --- a/lib/jquery.uls/css/jquery.uls.css +++ b/lib/jquery.uls/css/jquery.uls.css @@ -180,7 +180,7 @@ input:focus#languagefilter { float: right; } -span#languagefilter-clear { +#languagefilter-clear { /* @embed */ background: url('../images/clear.png') no-repeat scroll left center transparent; @@ -553,7 +553,7 @@ img { } .uls-language-block ul { - margin: 0px 0px 1.6em; + margin: 0 0 1.6em; } .uls-language-list ul li { diff --git a/lib/jquery.uls/jquery.uls.js b/lib/jquery.uls/jquery.uls.js index 7a75f6d3..d7df3145 100644 --- a/lib/jquery.uls/jquery.uls.js +++ b/lib/jquery.uls/jquery.uls.js @@ -1,4 +1,4 @@ -/*! jquery.uls - v0.1.0 - 2012-10-07 +/*! jquery.uls - v0.1.0 - 2012-10-08 * https://github.com/wikimedia/jquery.uls * Copyright (c) 2012 Santhosh Thottingal; Licensed GPL, MIT */ @@ -30,52 +30,81 @@ ( function ( $ ) { "use strict"; + /** + * Log deprecated functions + */ + function deprecated( oldFunc, newFunc ) { + if ( window.console && window.console.log ) { + window.console.log( oldFunc + " is deprecated. Please use " + newFunc ); + } + } + /** * Returns the script of the language. * @param string language code * @return string */ - $.uls.data.script = function( language ) { + $.uls.data.getScript = function( language ) { return $.uls.data.languages[language][0]; }; + $.uls.data.script = function( language ) { // deprecated + deprecated( "script", "getScript" ); + return $.uls.data.getScript( language ); + }; + /** * Returns the regions in which a language is spoken. * @param string language code - * @return array of strings + * @return array|string 'UNKNOWN' */ - $.uls.data.regions = function( language ) { + $.uls.data.getRegions = function( language ) { return ( $.uls.data.languages[language] && $.uls.data.languages[language][1] ) || 'UNKNOWN'; }; + $.uls.data.regions = function( language ) { // deprecated + deprecated( "regions", "getRegions" ); + return $.uls.data.getRegions( language ); + }; + /** * Returns the autonym of the language. * @param string language code * @return string */ - $.uls.data.autonym = function( language ) { + $.uls.data.getAutonym = function( language ) { return ( $.uls.data.languages[language] && $.uls.data.languages[language][2] ) || language; }; + $.uls.data.autonym = function( language ) { // deprecated + deprecated( "autonym", "getAutonym" ); + return $.uls.data.getAutonym( language ); + }; + /** * Returns all language codes and corresponding autonyms * @return array */ - $.uls.data.autonyms = function() { + $.uls.data.getAutonyms = function() { var autonymsByCode = {}; for ( var language in $.uls.data.languages ) { - autonymsByCode[language] = $.uls.data.autonym( language ); + autonymsByCode[language] = $.uls.data.getAutonym( language ); } return autonymsByCode; }; + $.uls.data.autonyms = function() { // deprecated + deprecated( "autonyms", "getAutonyms" ); + return $.uls.data.getAutonyms(); + }; + /** * Returns an array of all region codes. * @return array */ - $.uls.data.allRegions = function() { + $.uls.data.getAllRegions = function() { var allRegions = []; for( var region in $.uls.data.regiongroups ) { @@ -85,26 +114,36 @@ return allRegions; }; + $.uls.data.allRegions = function() { // deprecated + deprecated( "allRegions", "getAllRegions" ); + return $.uls.data.getAllRegions(); + }; + /** * Returns all languages written in script. * @param script string * @return array of strings (languages codes) */ - $.uls.data.languagesInScript = function( script ) { + $.uls.data.getLanguagesInScript = function( script ) { return $.uls.data.languagesInScripts( [ script ] ); }; + $.uls.data.languagesInScript = function( script ) { // deprecated + deprecated( "languagesInScript", "getLanguagesInScript" ); + return $.uls.data.getLanguagesInScript( script ); + }; + /** * Returns all languages written in the given scripts. * @param scripts array of strings * @return array of strings (languages codes) */ - $.uls.data.languagesInScripts = function( scripts ) { + $.uls.data.getLanguagesInScripts = function( scripts ) { var languagesInScripts = []; for ( var language in $.uls.data.languages ) { for ( var i = 0; i < scripts.length; i++ ) { - if ( scripts[i] === $.uls.data.script(language) ) { + if ( scripts[i] === $.uls.data.getScript( language ) ) { languagesInScripts.push( language ); break; } @@ -114,13 +153,23 @@ return languagesInScripts; }; + $.uls.data.languagesInScripts = function( scripts ) { // deprecated + deprecated( "languagesInScripts", "getLanguagesInScripts" ); + return $.uls.data.getLanguagesInScripts( scripts ); + }; + /** * Returns all languages in a given region. * @param region string * @return array of strings (languages codes) */ - $.uls.data.languagesInRegion = function( region ) { - return $.uls.data.languagesInRegions( [ region ] ); + $.uls.data.getLanguagesInRegion = function( region ) { + return $.uls.data.getLanguagesInRegions( [ region ] ); + }; + + $.uls.data.languagesInRegion = function( region ) { // deprecated + deprecated( "languagesInRegion", "getLanguagesInRegion" ); + return $.uls.data.getLanguagesInRegion( region ); }; /** @@ -128,12 +177,12 @@ * @param region array of strings. * @return array of strings (languages codes) */ - $.uls.data.languagesInRegions = function( regions ) { + $.uls.data.getLanguagesInRegions = function( regions ) { var languagesInRegions = []; for ( var language in $.uls.data.languages ) { for ( var i = 0; i < regions.length; i++ ) { - if ( $.inArray( regions[i], $.uls.data.regions( language ) ) !== -1 ) { + if ( $.inArray( regions[i], $.uls.data.getRegions( language ) ) !== -1 ) { languagesInRegions.push( language ); break; } @@ -143,13 +192,23 @@ return languagesInRegions; }; + $.uls.data.languagesInRegions = function( regions ) { // deprecated + deprecated( "languagesInRegions", "getLanguagesInRegions" ); + return $.uls.data.getLanguagesInRegions( regions ); + }; + /** * Returns all languages in a region group. * @param groupNum number. * @return array of strings (languages codes) */ - $.uls.data.languagesInRegionGroup = function( groupNum ) { - return $.uls.data.languagesInRegions( $.uls.data.regionsInGroup( groupNum ) ); + $.uls.data.getLanguagesInRegionGroup = function( groupNum ) { + return $.uls.data.getLanguagesInRegions( $.uls.data.getRegionsInGroup( groupNum ) ); + }; + + $.uls.data.languagesInRegionGroup = function( groupNum ) { // deprecated + deprecated( "languagesInRegionGroup", "getLanguagesInRegionGroup" ); + return $.uls.data.getLanguagesInRegionGroup( groupNum ); }; /** @@ -158,12 +217,12 @@ * @param string region code * @return associative array */ - $.uls.data.languagesByScriptInRegion = function( region ) { + $.uls.data.getLanguagesByScriptInRegion = function( region ) { var languagesByScriptInRegion = {}; for ( var language in $.uls.data.languages ) { - if ( $.inArray( region, $.uls.data.regions( language ) ) !== -1 ) { - var script = $.uls.data.script( language ); + if ( $.inArray( region, $.uls.data.getRegions( language ) ) !== -1 ) { + var script = $.uls.data.getScript( language ); if ( languagesByScriptInRegion[script] === undefined ) { languagesByScriptInRegion[script] = []; } @@ -174,14 +233,24 @@ return languagesByScriptInRegion; }; + $.uls.data.languagesByScriptInRegion = function( region ) { // deprecated + deprecated( "languagesByScriptInRegion", "getLanguagesByScriptInRegion" ); + return $.uls.data.getLanguagesByScriptInRegion( region ); + }; + /** * Returns an associative array of languages in a region, * grouped by script group. * @param string region code * @return associative array */ - $.uls.data.languagesByScriptGroupInRegion = function( region ) { - return $.uls.data.languagesByScriptGroupInRegions( [ region ] ); + $.uls.data.getLanguagesByScriptGroupInRegion = function( region ) { + return $.uls.data.getLanguagesByScriptGroupInRegions( [ region ] ); + }; + + $.uls.data.languagesByScriptGroupInRegion = function( region ) { // deprecated + deprecated( "languagesByScriptGroupInRegion", "getLanguagesByScriptGroupInRegion" ); + return $.uls.data.getLanguagesByScriptGroupInRegion( region ); }; /** @@ -189,8 +258,13 @@ * grouped by script group. * @return associative array */ - $.uls.data.allLanguagesByScriptGroup = function() { - return $.uls.data.languagesByScriptGroupInRegions( $.uls.data.allRegions() ); + $.uls.data.getAllLanguagesByScriptGroup = function() { + return $.uls.data.getLanguagesByScriptGroupInRegions( $.uls.data.getAllRegions() ); + }; + + $.uls.data.allLanguagesByScriptGroup = function() { // deprecated + deprecated( "allLanguagesByScriptGroup", "getAllLanguagesByScriptGroup" ); + return $.uls.data.getAllLanguagesByScriptGroup(); }; /** @@ -198,7 +272,7 @@ * @param languages Array of language codes * @return {Object} Array of languages indexed by script codes */ - $.uls.data.languagesByScriptGroup = function( languages ) { + $.uls.data.getLanguagesByScriptGroup = function( languages ) { var languagesByScriptGroup = {}, scriptGroup, language, @@ -206,7 +280,7 @@ for ( scriptGroup in $.uls.data.scriptgroups ) { for ( language in languages ) { - langScriptGroup = $.uls.data.scriptGroupOfLanguage( language ); + langScriptGroup = $.uls.data.getScriptGroupOfLanguage( language ); if( langScriptGroup !== scriptGroup ) { continue; } @@ -220,19 +294,24 @@ return languagesByScriptGroup; }; + $.uls.data.languagesByScriptGroup = function( languages ) { // deprecated + deprecated( "languagesByScriptGroup", "getLanguagesByScriptGroup" ); + return $.uls.data.getLanguagesByScriptGroup( languages ); + }; + /** * Returns an associative array of languages in several regions, * grouped by script group. * @param array of strings - region codes * @return associative array */ - $.uls.data.languagesByScriptGroupInRegions = function( regions ) { + $.uls.data.getLanguagesByScriptGroupInRegions = function( regions ) { var languagesByScriptGroupInRegions = {}; for ( var language in $.uls.data.languages ) { for ( var i = 0; i < regions.length; i++ ) { - if ( $.inArray( regions[i], $.uls.data.regions( language ) ) !== -1 ) { - var scriptGroup = $.uls.data.scriptGroupOfLanguage( language ); + if ( $.inArray( regions[i], $.uls.data.getRegions( language ) ) !== -1 ) { + var scriptGroup = $.uls.data.getScriptGroupOfLanguage( language ); if ( languagesByScriptGroupInRegions[scriptGroup] === undefined ) { languagesByScriptGroupInRegions[scriptGroup] = []; } @@ -245,12 +324,17 @@ return languagesByScriptGroupInRegions; }; + $.uls.data.languagesByScriptGroupInRegions = function( regions ) { // deprecated + deprecated( "languagesByScriptGroupInRegions", "getLanguagesByScriptGroupInRegions" ); + return $.uls.data.getLanguagesByScriptGroupInRegions( regions ); + }; + /** * Returns an array of languages grouped by region group, * region, script group and script. * @return associative array */ - $.uls.data.allLanguagesByRegionAndScript = function() { + $.uls.data.getAllLanguagesByRegionAndScript = function() { var allLanguagesByRegionAndScript = {}, region, regionGroup; @@ -264,9 +348,9 @@ } for ( var language in $.uls.data.languages ) { - var script = $.uls.data.script( language ); - var scriptGroup = $.uls.data.groupOfScript( script ); - var regions = $.uls.data.regions( language ); + var script = $.uls.data.getScript( language ); + var scriptGroup = $.uls.data.getGroupOfScript( script ); + var regions = $.uls.data.getRegions( language ); for ( var regionNum = 0; regionNum < regions.length; regionNum++ ) { region = regions[regionNum]; @@ -287,12 +371,17 @@ return allLanguagesByRegionAndScript; }; + $.uls.data.allLanguagesByRegionAndScript = function() { // deprecated + deprecated( "allLanguagesByRegionAndScript", "getAllLanguagesByRegionAndScript" ); + return $.uls.data.getAllLanguagesByRegionAndScript(); + }; + /** * Returns all regions in a region group. * @param number groupNum * @return array of strings */ - $.uls.data.regionsInGroup = function( groupNum ) { + $.uls.data.getRegionsInGroup = function( groupNum ) { var regionsInGroup = []; for ( var region in $.uls.data.regiongroups ) { @@ -304,13 +393,18 @@ return regionsInGroup; }; + $.uls.data.regionsInGroup = function( groupNum ) { // deprecated + deprecated( "regionsInGroup", "getRegionsInGroup" ); + return $.uls.data.getRegionsInGroup( groupNum ); + }; + /** * Returns the script group of a script or 'Other' if it doesn't * belong to any group. * @param string script code * @return string script group name */ - $.uls.data.groupOfScript = function( script ) { + $.uls.data.getGroupOfScript = function( script ) { for ( var group in $.uls.data.scriptgroups ) { if ( $.inArray( script, $.uls.data.scriptgroups[group] ) !== -1 ) { return group; @@ -320,13 +414,23 @@ return 'Other'; }; + $.uls.data.groupOfScript = function( script ) { // deprecated + deprecated( "groupOfScript", "getGroupOfScript" ); + return $.uls.data.getGroupOfScript( script ); + }; + /** * Returns the script group of a language. * @param string language code * @return string script group name */ - $.uls.data.scriptGroupOfLanguage = function( language ) { - return $.uls.data.groupOfScript( $.uls.data.script( language ) ); + $.uls.data.getScriptGroupOfLanguage = function( language ) { + return $.uls.data.getGroupOfScript( $.uls.data.getScript( language ) ); + }; + + $.uls.data.scriptGroupOfLanguage = function( language ) { // deprecated + deprecated( "scriptGroupOfLanguage", "getScriptGroupOfLanguage" ); + return $.uls.data.getScriptGroupOfLanguage( language ); }; /** @@ -335,8 +439,8 @@ * @param two language codes */ $.uls.data.sortByAutonym = function( a, b ) { - var autonymA = $.uls.data.autonym( a ) || a, - autonymB = $.uls.data.autonym( b ) || b; + var autonymA = $.uls.data.getAutonym( a ) || a, + autonymB = $.uls.data.getAutonym( b ) || b; return ( autonymA.toLowerCase() < autonymB.toLowerCase() ) ? -1 : 1; }; @@ -346,7 +450,7 @@ * @return boolean */ $.uls.data.isRtl = function( language ) { - return $.inArray( $.uls.data.script( language ), $.uls.data.rtlscripts ) !== -1; + return $.inArray( $.uls.data.getScript( language ), $.uls.data.rtlscripts ) !== -1; }; /** @@ -363,9 +467,14 @@ * @param string Territory code * @return list of language codes */ - $.uls.data.languagesInTerritory = function( territory ) { + $.uls.data.getLanguagesInTerritory = function( territory ) { return $.uls.data.territories[territory]; }; + + $.uls.data.languagesInTerritory = function( territory ) { // deprecated + deprecated( "languagesInTerritory", "getLanguagesInTerritory" ); + return $.uls.data.getLanguagesInTerritory( territory ); + }; } ( jQuery ) ); /** @@ -444,13 +553,13 @@ addToRegion: function( langCode, region ) { var that = this; var language = that.options.languages[langCode], - langName = $.uls.data.autonym( langCode ) || language || langCode, + langName = $.uls.data.getAutonym( langCode ) || language || langCode, regions = []; if ( region ) { regions.push( region ); } else { - regions = $.uls.data.regions( langCode ); + regions = $.uls.data.getRegions( langCode ); } // World wide languages need not be repeated in all regions. @@ -476,8 +585,8 @@ var lastLanguage = $column.find( 'li:last' ).data( 'code' ); if ( lastLanguage ) { - var lastScriptGroup = $.uls.data.scriptGroupOfLanguage( lastLanguage ), - currentScriptGroup = $.uls.data.scriptGroupOfLanguage( langCode ); + var lastScriptGroup = $.uls.data.getScriptGroupOfLanguage( lastLanguage ), + currentScriptGroup = $.uls.data.getScriptGroupOfLanguage( langCode ); if ( lastScriptGroup !== currentScriptGroup ) { if ( $column.find( 'li' ).length > 2 ) { @@ -576,7 +685,7 @@ var $column = this.getColumn( 'quick', i % 4 === 0 ); var langCode = quickList[i]; var language = this.options.languages[langCode]; - var langName = $.uls.data.autonym( langCode ) || language || langCode; + var langName = $.uls.data.getAutonym( langCode ) || language || langCode; var $li = $( '