mediawiki.language: Expose language fallback chain

The data can now be accessed via mw.language#getFallbackLanguages or
mw.language#getFallbackLanguageChain.

Bug: 69285
Change-Id: Id0c3267f01d5c4da0e4000a0fb318a9dfb538ef3
This commit is contained in:
Bartosz Dziewoński 2014-08-09 02:14:09 +02:00 committed by Timo Tijhof
parent 8149789274
commit 2202bb1f6c
4 changed files with 39 additions and 1 deletions

View file

@ -43,6 +43,7 @@ class ResourceLoaderLanguageDataModule extends ResourceLoaderModule {
'grammarForms' => $language->getGrammarForms(),
'pluralRules' => $language->getPluralRules(),
'digitGroupingPattern' => $language->digitGroupingPattern(),
'fallbackLanguages' => $language->getFallbackLanguages(),
);
}

View file

@ -1077,7 +1077,8 @@ return array(
'mediawiki.language' => array(
'scripts' => array(
'resources/src/mediawiki.language/mediawiki.language.js',
'resources/src/mediawiki.language/mediawiki.language.numbers.js'
'resources/src/mediawiki.language/mediawiki.language.numbers.js',
'resources/src/mediawiki.language/mediawiki.language.fallback.js',
),
'languageScripts' => array(
'bs' => 'resources/src/mediawiki.language/languages/bs.js',

View file

@ -0,0 +1,35 @@
/*
* Language-fallback-chain-related utilities for mediawiki.language.
*/
( function ( mw, $ ) {
/**
* @class mw.language
*/
$.extend( mw.language, {
/**
* Get the language fallback chain for current UI language (not including the language itself).
*
* @return {string[]} List of language keys, e.g. `['de', 'en']`
*/
getFallbackLanguages: function () {
return mw.language.getData(
mw.config.get( 'wgUserLanguage' ),
'fallbackLanguages'
) || [];
},
/**
* Get the language fallback chain for current UI language, including the language itself.
*
* @return {string[]} List of language keys, e.g. `['pfl', de', 'en']`
*/
getFallbackLanguageChain: function () {
return [ mw.config.get( 'wgUserLanguage' ) ]
.concat( mw.language.getFallbackLanguages() );
}
} );
}( mediaWiki, jQuery ) );

View file

@ -35,6 +35,7 @@
* - `grammarForms`
* - `pluralRules`
* - `digitGroupingPattern`
* - `fallbackLanguages`
*
* @property
*/