Merge "Avoid loading of jquery.i18n and messages until trigger clicked"

This commit is contained in:
jenkins-bot
2014-01-24 21:42:49 +00:00
committed by Gerrit Code Review
5 changed files with 21 additions and 38 deletions

View File

@@ -17,7 +17,8 @@ $wgResourceModules['ext.uls.languagenames'] = array(
); );
$wgResourceModules['ext.uls.messages'] = array( $wgResourceModules['ext.uls.messages'] = array(
'class' => 'ResourceLoaderULSJsonMessageModule' 'class' => 'ResourceLoaderULSJsonMessageModule',
'dependencies' => 'ext.uls.i18n',
); );
$wgResourceModules['ext.uls.buttons'] = array( $wgResourceModules['ext.uls.buttons'] = array(
@@ -28,11 +29,10 @@ $wgResourceModules['ext.uls.displaysettings'] = array(
'scripts' => 'resources/js/ext.uls.displaysettings.js', 'scripts' => 'resources/js/ext.uls.displaysettings.js',
'styles' => 'resources/css/ext.uls.displaysettings.css', 'styles' => 'resources/css/ext.uls.displaysettings.css',
'dependencies' => array( 'dependencies' => array(
'ext.uls.buttons', // Common dependencies come from languagesettings
'ext.uls.languagesettings', 'ext.uls.languagesettings',
'ext.uls.webfonts',
'ext.uls.mediawiki', 'ext.uls.mediawiki',
'jquery.i18n', 'ext.uls.webfonts',
'mediawiki.api.parse', 'mediawiki.api.parse',
), ),
) + $resourcePaths; ) + $resourcePaths;
@@ -47,6 +47,7 @@ $wgResourceModules['ext.uls.ime'] = array(
'ext.uls.init', 'ext.uls.init',
'ext.uls.preferences', 'ext.uls.preferences',
'ext.uls.mediawiki', 'ext.uls.mediawiki',
'ext.uls.messages',
'jquery.ime', 'jquery.ime',
), ),
'messages' => array( 'messages' => array(
@@ -72,7 +73,6 @@ $wgResourceModules['ext.uls.init'] = array(
'jquery.client', 'jquery.client',
'jquery.json', 'jquery.json',
'jquery.cookie', 'jquery.cookie',
'ext.uls.messages',
), ),
'position' => 'top', 'position' => 'top',
) + $resourcePaths; ) + $resourcePaths;
@@ -94,12 +94,11 @@ $wgResourceModules['ext.uls.inputsettings'] = array(
'scripts' => 'resources/js/ext.uls.inputsettings.js', 'scripts' => 'resources/js/ext.uls.inputsettings.js',
'styles' => 'resources/css/ext.uls.inputsettings.css', 'styles' => 'resources/css/ext.uls.inputsettings.css',
'dependencies' => array( 'dependencies' => array(
'ext.uls.buttons',
'ext.uls.languagesettings',
'ext.uls.ime', 'ext.uls.ime',
// Common dependencies come from languagesettings
'ext.uls.languagesettings',
'ext.uls.mediawiki', 'ext.uls.mediawiki',
'jquery.ime', 'jquery.ime',
'jquery.i18n',
), ),
) + $resourcePaths; ) + $resourcePaths;
@@ -116,6 +115,9 @@ $wgResourceModules['ext.uls.interface'] = array(
), ),
'messages' => array( 'messages' => array(
'uls-plang-title-languages', 'uls-plang-title-languages',
'ext-uls-select-language-settings-icon-tooltip',
'ext-uls-undo-language-tooltip-text',
'ext-uls-language-settings-preferences-link',
), ),
'position' => 'top', 'position' => 'top',
) + $resourcePaths; ) + $resourcePaths;
@@ -125,6 +127,7 @@ $wgResourceModules['ext.uls.languagesettings'] = array(
'styles' => 'resources/css/ext.uls.languagesettings.css', 'styles' => 'resources/css/ext.uls.languagesettings.css',
'dependencies' => array( 'dependencies' => array(
'ext.uls.buttons', 'ext.uls.buttons',
'ext.uls.messages',
'ext.uls.preferences', 'ext.uls.preferences',
// The grid styles are used here, // The grid styles are used here,
// but ULS itself is lazy-loaded // but ULS itself is lazy-loaded
@@ -203,7 +206,6 @@ $wgResourceModules['ext.uls.mediawiki'] = array(
'scripts' => 'resources/js/ext.uls.mediawiki.js', 'scripts' => 'resources/js/ext.uls.mediawiki.js',
'dependencies' => array( 'dependencies' => array(
'jquery.uls', 'jquery.uls',
'jquery.i18n',
'mediawiki.util', 'mediawiki.util',
'ext.uls.init', 'ext.uls.init',
'ext.uls.languagenames', 'ext.uls.languagenames',

View File

@@ -34,6 +34,9 @@ $messages['en'] = array(
'uls-plang-title-languages' => 'Languages', 'uls-plang-title-languages' => 'Languages',
'uls-ime-helppage' => 'https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:UniversalLanguageSelector/Input_methods/$1', 'uls-ime-helppage' => 'https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:UniversalLanguageSelector/Input_methods/$1',
'uls-preference' => 'Enable the [https://www.mediawiki.org/wiki/Special:MyLanguage/Universal_Language_Selector Universal Language Selector]', 'uls-preference' => 'Enable the [https://www.mediawiki.org/wiki/Special:MyLanguage/Universal_Language_Selector Universal Language Selector]',
'ext-uls-select-language-settings-icon-tooltip' => 'Language settings',
'ext-uls-undo-language-tooltip-text' => 'Language changed from $1',
'ext-uls-language-settings-preferences-link' => 'More language settings',
); );
/** Message documentation (Message documentation) /** Message documentation (Message documentation)

View File

@@ -11,8 +11,6 @@
"ext-uls-display-settings-fonts-tab": "Fonts", "ext-uls-display-settings-fonts-tab": "Fonts",
"ext-uls-display-settings-title-short": "Display", "ext-uls-display-settings-title-short": "Display",
"ext-uls-display-settings-desc": "Set language used for menus and fonts.", "ext-uls-display-settings-desc": "Set language used for menus and fonts.",
"ext-uls-select-language-settings-icon-tooltip": "Language settings",
"ext-uls-undo-language-tooltip-text": "Language changed from $1",
"ext-uls-language-settings-title": "Language settings", "ext-uls-language-settings-title": "Language settings",
"ext-uls-language-settings-apply": "Apply settings", "ext-uls-language-settings-apply": "Apply settings",
"ext-uls-language-settings-cancel": "Cancel", "ext-uls-language-settings-cancel": "Cancel",
@@ -47,6 +45,5 @@
"ext-uls-input-disable-notification-undo": "Undo", "ext-uls-input-disable-notification-undo": "Undo",
"ext-uls-input-disable-notification-info-personal": "You can enable the input tools at any time from the language settings.", "ext-uls-input-disable-notification-info-personal": "You can enable the input tools at any time from the language settings.",
"ext-uls-input-disable-notification-info-interlanguage": "You can enable the input tools at any time from the language settings next to the language list.", "ext-uls-input-disable-notification-info-interlanguage": "You can enable the input tools at any time from the language settings next to the language list.",
"ext-uls-language-settings-applying": "Applying...", "ext-uls-language-settings-applying": "Applying..."
"ext-uls-language-settings-preferences-link": "More language settings"
} }

View File

@@ -40,11 +40,6 @@
}() ); }() );
} }
var jsonLoader = null,
initialized = false,
currentLang = mw.config.get( 'wgUserLanguage' );
mw.uls = mw.uls || {}; mw.uls = mw.uls || {};
mw.uls.previousLanguagesCookie = 'uls-previous-languages'; mw.uls.previousLanguagesCookie = 'uls-previous-languages';
mw.uls.previousLanguageAutonymCookie = 'uls-previous-language-autonym'; mw.uls.previousLanguageAutonymCookie = 'uls-previous-language-autonym';
@@ -230,33 +225,19 @@
} }
/** /**
* Initialize ULS front-end and its i18n. * Initialize ULS front-end if browser is supported.
* *
* @param {Function} callback callback function to be called after initialization. * @param {Function} callback callback function to be called after initialization.
*/ */
mw.uls.init = function ( callback ) { mw.uls.init = function ( callback ) {
callback = callback || $.noop;
if ( initialized ) {
callback.call( this );
return;
}
if ( !isBrowserSupported() ) { if ( !isBrowserSupported() ) {
$( '#pt-uls' ).hide(); $( '#pt-uls' ).hide();
return; return;
} }
if ( !jsonLoader ) { if ( callback ) {
jsonLoader = mw.uls.loadLocalization( currentLang ); callback.call( this );
} else {
jsonLoader.done( function () {
initialized = true;
} );
jsonLoader.done( callback );
} }
}; };

View File

@@ -231,7 +231,7 @@
// Get the html of the link by wrapping it in div first // Get the html of the link by wrapping it in div first
link = $( '<div>' ).html( link ).html(); link = $( '<div>' ).html( link ).html();
return $.i18n( 'ext-uls-undo-language-tooltip-text', link ); return mw.msg( 'ext-uls-undo-language-tooltip-text', link );
} }
} ); } );
@@ -342,7 +342,7 @@
} }
$ulsTrigger.attr( { $ulsTrigger.attr( {
title: $.i18n( 'ext-uls-select-language-settings-icon-tooltip' ) title: mw.msg( 'ext-uls-select-language-settings-icon-tooltip' )
} ); } );
$ulsTrigger.on( 'click', function ( e, eventParams ) { $ulsTrigger.on( 'click', function ( e, eventParams ) {
@@ -459,7 +459,7 @@
// Bind language settings to preferences page link // Bind language settings to preferences page link
$( '#uls-preferences-link' ) $( '#uls-preferences-link' )
.text( $.i18n( 'ext-uls-language-settings-preferences-link' ) ) .text( mw.msg( 'ext-uls-language-settings-preferences-link' ) )
.click( function () { .click( function () {
$ulsTrigger.trigger( 'click', { $ulsTrigger.trigger( 'click', {
source: 'preferences' source: 'preferences'