X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.language%2Fmediawiki.language.js;h=8fed6954f58f0d4732964dbc7053daf2fbb841b9;hb=6bc04b3b4c48121eddc4bcd7e2f73d3b7d8b10a8;hp=45863a3e33c58e3ab439991eaf1e1639de95edc0;hpb=8ef91357819c1d1f90d4e6054ace504f625b246e;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.language/mediawiki.language.js b/resources/src/mediawiki.language/mediawiki.language.js index 45863a3e33..8fed6954f5 100644 --- a/resources/src/mediawiki.language/mediawiki.language.js +++ b/resources/src/mediawiki.language/mediawiki.language.js @@ -1,41 +1,13 @@ /* * Methods for transforming message syntax. */ -( function ( mw, $ ) { +( function () { /** * @class mw.language */ $.extend( mw.language, { - /** - * Process the PLURAL template substitution - * - * @private - * @param {Object} template Template object - * @param {string} template.title - * @param {Array} template.parameters - * @return {string} - */ - procPLURAL: function ( template ) { - var count; - if ( template.title && template.parameters && mw.language.convertPlural ) { - // Check if we have forms to replace - if ( template.parameters.length === 0 ) { - return ''; - } - // Restore the count into a Number ( if it got converted earlier ) - count = mw.language.convertNumber( template.title, true ); - // Do convertPlural call - return mw.language.convertPlural( parseInt( count, 10 ), template.parameters ); - } - // Could not process plural return first form or nothing - if ( template.parameters[ 0 ] ) { - return template.parameters[ 0 ]; - } - return ''; - }, - /** * Plural form transformations, needed for some languages. * @@ -129,7 +101,7 @@ return forms[ form ][ word ]; } - transformations = mediaWiki.language.getData( userLanguage, 'grammarTransformations' ); + transformations = mw.language.getData( userLanguage, 'grammarTransformations' ); if ( !( transformations && transformations[ form ] ) ) { return word; @@ -191,18 +163,27 @@ }, /** - * Formats language tags according the BCP47 standard. + * Formats language tags according the BCP 47 standard. * See LanguageCode::bcp47 for the PHP implementation. * * @param {string} languageTag Well-formed language tag * @return {string} */ bcp47: function ( languageTag ) { - var formatted, + var bcp47Map, + formatted, + segments, isFirstSegment = true, - isPrivate = false, - segments = languageTag.split( '-' ); + isPrivate = false; + + languageTag = languageTag.toLowerCase(); + + bcp47Map = mw.language.getData( mw.config.get( 'wgUserLanguage' ), 'bcp47Map' ); + if ( bcp47Map && Object.prototype.hasOwnProperty.call( bcp47Map, languageTag ) ) { + languageTag = bcp47Map[ languageTag ]; + } + segments = languageTag.split( '-' ); formatted = segments.map( function ( segment ) { var newSegment; @@ -230,4 +211,4 @@ } } ); -}( mediaWiki, jQuery ) ); +}() );