Basic language selector

* uses setlang attribute in URL to switch language
* introduced a language filter widget by extending
  jquery.ui.autocomplete
* UI rendering is done by using SkinAfterContent hook

Change-Id: Ifa63a04ba1d060b6db8fba14bb868045cf6b97c3
This commit is contained in:
Santhosh Thottingal
2012-06-19 15:04:24 +05:30
parent 8527e33475
commit 9087825e6d
9 changed files with 302 additions and 71 deletions

View File

@@ -1,7 +1,7 @@
<?php
/**
* Universal Language Selector extension
* https://www.mediawiki.org/wiki/UniversalLanguageSelector
* https://www.mediawiki.org/wiki/Universal_Language_Selector
*
* @file
* @ingroup Extensions
@@ -24,7 +24,7 @@ $wgExtensionCredits['other'][] = array(
'descriptionmsg' => 'uls-desc',
);
$dir = dirname( __FILE__ );
$dir = __DIR__ ;
// Internationalization
$wgExtensionMessagesFiles['UniversalLanguageSelector'] = "$dir/UniversalLanguageSelector.i18n.php";
@@ -34,6 +34,7 @@ $wgAutoloadClasses['UniversalLanguageSelectorHooks'] = "$dir/UniversalLanguageSe
$wgHooks['BeforePageDisplay'][] = 'UniversalLanguageSelectorHooks::addModules';
$wgHooks['PersonalUrls'][] = 'UniversalLanguageSelectorHooks::addTrigger';
$wgHooks['SkinAfterContent'][] = 'UniversalLanguageSelectorHooks::addTemplate';
$wgResourceModules['ext.uls.init'] = array(
'scripts' => 'resources/ext.uls.init.js',
@@ -44,15 +45,14 @@ $wgResourceModules['ext.uls.init'] = array(
);
$wgResourceModules['ext.uls.core'] = array(
'scripts' => array( 'resources/ext.uls.core.js' ),
'scripts' => array( 'resources/ext.uls.core.js', 'resources/ext.uls.languagefilter.js' ),
'styles' => 'resources/css/ext.uls.css',
'localBasePath' => $dir,
'remoteExtPath' => 'UniversalLanguageSelector',
'dependencies' => array(
'mediawiki.util',
),
'messages' => array(
'uls-select-content-language',
'mediawiki.Uri',
'jquery.ui.autocomplete'
),
'position' => 'top',
);