X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=resources%2Fsrc%2Fmediawiki.language%2Fmediawiki.language.js;h=8fed6954f58f0d4732964dbc7053daf2fbb841b9;hb=ea286bf7e6bffe65bb387477d5d3a9410f3e7676;hp=dfb71128701e3422bc040bc7ef1256fa5839d914;hpb=c5d44cc0cfcb8053479f617f4a5c2427178948dd;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/src/mediawiki.language/mediawiki.language.js b/resources/src/mediawiki.language/mediawiki.language.js index dfb7112870..8fed6954f5 100644 --- a/resources/src/mediawiki.language/mediawiki.language.js +++ b/resources/src/mediawiki.language/mediawiki.language.js @@ -163,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;