From: Bartosz DziewoƄski Date: Sat, 9 Aug 2014 00:14:09 +0000 (+0200) Subject: mediawiki.language: Expose language fallback chain X-Git-Tag: 1.31.0-rc.0~14330^2 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/banques/?a=commitdiff_plain;h=2202bb1f6c2ca80c59755dc4a6ea6f0f10de8993;p=lhc%2Fweb%2Fwiklou.git 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 --- diff --git a/includes/resourceloader/ResourceLoaderLanguageDataModule.php b/includes/resourceloader/ResourceLoaderLanguageDataModule.php index a1c8ac9dd5..09d90d6e70 100644 --- a/includes/resourceloader/ResourceLoaderLanguageDataModule.php +++ b/includes/resourceloader/ResourceLoaderLanguageDataModule.php @@ -43,6 +43,7 @@ class ResourceLoaderLanguageDataModule extends ResourceLoaderModule { 'grammarForms' => $language->getGrammarForms(), 'pluralRules' => $language->getPluralRules(), 'digitGroupingPattern' => $language->digitGroupingPattern(), + 'fallbackLanguages' => $language->getFallbackLanguages(), ); } diff --git a/resources/Resources.php b/resources/Resources.php index 24e377d49f..99e1e4fd39 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -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', diff --git a/resources/src/mediawiki.language/mediawiki.language.fallback.js b/resources/src/mediawiki.language/mediawiki.language.fallback.js new file mode 100644 index 0000000000..b1bab02a37 --- /dev/null +++ b/resources/src/mediawiki.language/mediawiki.language.fallback.js @@ -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 ) ); diff --git a/resources/src/mediawiki.language/mediawiki.language.init.js b/resources/src/mediawiki.language/mediawiki.language.init.js index 5b9afcf0c1..df95d75148 100644 --- a/resources/src/mediawiki.language/mediawiki.language.init.js +++ b/resources/src/mediawiki.language/mediawiki.language.init.js @@ -35,6 +35,7 @@ * - `grammarForms` * - `pluralRules` * - `digitGroupingPattern` + * - `fallbackLanguages` * * @property */