jenkins-bot has submitted this change and it was merged. Change subject: Provide a ResourceLoader module for language names ......................................................................
Provide a ResourceLoader module for language names These will be autonyms by default, but localised language names when the cldr extension is installed. Change-Id: I63402b1e7c9194f68bccddd3eb0ba47d1e59a23d --- M includes/AutoLoader.php A includes/resourceloader/ResourceLoaderLanguageNamesModule.php M resources/Resources.php 3 files changed, 83 insertions(+), 0 deletions(-) Approvals: Krinkle: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/AutoLoader.php b/includes/AutoLoader.php index d3aabfe..2931827 100644 --- a/includes/AutoLoader.php +++ b/includes/AutoLoader.php @@ -867,6 +867,8 @@ 'ResourceLoaderUserTokensModule' => 'includes/resourceloader/ResourceLoaderUserTokensModule.php', 'ResourceLoaderLanguageDataModule' => 'includes/resourceloader/ResourceLoaderLanguageDataModule.php', + 'ResourceLoaderLanguageNamesModule' => + 'includes/resourceloader/ResourceLoaderLanguageNamesModule.php', 'ResourceLoaderWikiModule' => 'includes/resourceloader/ResourceLoaderWikiModule.php', # includes/revisiondelete diff --git a/includes/resourceloader/ResourceLoaderLanguageNamesModule.php b/includes/resourceloader/ResourceLoaderLanguageNamesModule.php new file mode 100644 index 0000000..73b6ea7 --- /dev/null +++ b/includes/resourceloader/ResourceLoaderLanguageNamesModule.php @@ -0,0 +1,79 @@ +<?php +/** + * Resource loader module for providing language names. + * + * By default these names will be autonyms however other extensions may + * provided language names in the context language (e.g. cldr extension) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * + * @file + * @author Ed Sanders + * @author Trevor Parscal + */ + +/** + * ResourceLoader module for populating language specific data. + */ +class ResourceLoaderLanguageNamesModule extends ResourceLoaderModule { + + protected $targets = array( 'desktop', 'mobile' ); + + + /** + * @param $context ResourceLoaderContext + * @return array + */ + protected function getData( ResourceLoaderContext $context ) { + return Language::fetchLanguageNames( + $context->getLanguage(), + 'all' + ); + } + + /** + * @param $context ResourceLoaderContext + * @return string JavaScript code + */ + public function getScript( ResourceLoaderContext $context ) { + return Xml::encodeJsCall( 'mw.language.setData', array( + $context->getLanguage(), + 'languageNames', + $this->getData( $context ) + ) ); + } + + public function getDependencies() { + return array( 'mediawiki.language.init' ); + } + + /** + * @param ResourceLoaderContext $context + * @return int UNIX timestamp + */ + public function getModifiedTime( ResourceLoaderContext $context ) { + return max( 1, $this->getHashMtime( $context ) ); + } + + /** + * @param ResourceLoaderContext $context + * @return string Hash + */ + public function getModifiedHash( ResourceLoaderContext $context ) { + return md5( serialize( $this->getData( $context ) ) ); + } + +} diff --git a/resources/Resources.php b/resources/Resources.php index a3c427e..7bb64f0 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -1062,6 +1062,8 @@ ) ), + 'mediawiki.language.names' => array( 'class' => 'ResourceLoaderLanguageNamesModule' ), + /* MediaWiki Libs */ 'mediawiki.libs.jpegmeta' => array( -- To view, visit https://gerrit.wikimedia.org/r/129615 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I63402b1e7c9194f68bccddd3eb0ba47d1e59a23d Gerrit-PatchSet: 5 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Esanders <esand...@wikimedia.org> Gerrit-Reviewer: Divec <da...@sheetmusic.org.uk> Gerrit-Reviewer: Esanders <esand...@wikimedia.org> Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net> Gerrit-Reviewer: Krinkle <krinklem...@gmail.com> Gerrit-Reviewer: Nikerabbit <niklas.laxst...@gmail.com> Gerrit-Reviewer: Santhosh <santhosh.thottin...@gmail.com> Gerrit-Reviewer: Trevor Parscal <tpars...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits