diff --git a/Resources.php b/Resources.php index 81dafcb6..b06a8f17 100644 --- a/Resources.php +++ b/Resources.php @@ -17,7 +17,8 @@ $wgResourceModules['ext.uls.languagenames'] = array( ); $wgResourceModules['ext.uls.messages'] = array( - 'class' => 'ResourceLoaderULSJsonMessageModule' + 'class' => 'ResourceLoaderULSJsonMessageModule', + 'dependencies' => 'ext.uls.i18n', ); $wgResourceModules['ext.uls.buttons'] = array( @@ -28,11 +29,10 @@ $wgResourceModules['ext.uls.displaysettings'] = array( 'scripts' => 'resources/js/ext.uls.displaysettings.js', 'styles' => 'resources/css/ext.uls.displaysettings.css', 'dependencies' => array( - 'ext.uls.buttons', + // Common dependencies come from languagesettings 'ext.uls.languagesettings', - 'ext.uls.webfonts', 'ext.uls.mediawiki', - 'jquery.i18n', + 'ext.uls.webfonts', 'mediawiki.api.parse', ), ) + $resourcePaths; @@ -47,6 +47,7 @@ $wgResourceModules['ext.uls.ime'] = array( 'ext.uls.init', 'ext.uls.preferences', 'ext.uls.mediawiki', + 'ext.uls.messages', 'jquery.ime', ), 'messages' => array( @@ -72,7 +73,6 @@ $wgResourceModules['ext.uls.init'] = array( 'jquery.client', 'jquery.json', 'jquery.cookie', - 'ext.uls.messages', ), 'position' => 'top', ) + $resourcePaths; @@ -94,12 +94,11 @@ $wgResourceModules['ext.uls.inputsettings'] = array( 'scripts' => 'resources/js/ext.uls.inputsettings.js', 'styles' => 'resources/css/ext.uls.inputsettings.css', 'dependencies' => array( - 'ext.uls.buttons', - 'ext.uls.languagesettings', 'ext.uls.ime', + // Common dependencies come from languagesettings + 'ext.uls.languagesettings', 'ext.uls.mediawiki', 'jquery.ime', - 'jquery.i18n', ), ) + $resourcePaths; @@ -116,6 +115,9 @@ $wgResourceModules['ext.uls.interface'] = array( ), 'messages' => array( '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', ) + $resourcePaths; @@ -125,6 +127,7 @@ $wgResourceModules['ext.uls.languagesettings'] = array( 'styles' => 'resources/css/ext.uls.languagesettings.css', 'dependencies' => array( 'ext.uls.buttons', + 'ext.uls.messages', 'ext.uls.preferences', // The grid styles are used here, // but ULS itself is lazy-loaded @@ -203,7 +206,6 @@ $wgResourceModules['ext.uls.mediawiki'] = array( 'scripts' => 'resources/js/ext.uls.mediawiki.js', 'dependencies' => array( 'jquery.uls', - 'jquery.i18n', 'mediawiki.util', 'ext.uls.init', 'ext.uls.languagenames', diff --git a/UniversalLanguageSelector.i18n.php b/UniversalLanguageSelector.i18n.php index bd805a53..edec0e3d 100644 --- a/UniversalLanguageSelector.i18n.php +++ b/UniversalLanguageSelector.i18n.php @@ -34,6 +34,9 @@ $messages['en'] = array( 'uls-plang-title-languages' => 'Languages', '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]', + '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) diff --git a/i18n/en.json b/i18n/en.json index 61a7b816..0366fc87 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -11,8 +11,6 @@ "ext-uls-display-settings-fonts-tab": "Fonts", "ext-uls-display-settings-title-short": "Display", "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-apply": "Apply settings", "ext-uls-language-settings-cancel": "Cancel", @@ -47,6 +45,5 @@ "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-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-preferences-link": "More language settings" +"ext-uls-language-settings-applying": "Applying..." } diff --git a/resources/js/ext.uls.init.js b/resources/js/ext.uls.init.js index a4a8d836..b2d769e5 100644 --- a/resources/js/ext.uls.init.js +++ b/resources/js/ext.uls.init.js @@ -40,11 +40,6 @@ }() ); } - - var jsonLoader = null, - initialized = false, - currentLang = mw.config.get( 'wgUserLanguage' ); - mw.uls = mw.uls || {}; mw.uls.previousLanguagesCookie = 'uls-previous-languages'; 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. */ mw.uls.init = function ( callback ) { - - callback = callback || $.noop; - - if ( initialized ) { - callback.call( this ); - - return; - } - if ( !isBrowserSupported() ) { $( '#pt-uls' ).hide(); return; } - if ( !jsonLoader ) { - jsonLoader = mw.uls.loadLocalization( currentLang ); - } else { - jsonLoader.done( function () { - initialized = true; - } ); - jsonLoader.done( callback ); + if ( callback ) { + callback.call( this ); } }; diff --git a/resources/js/ext.uls.interface.js b/resources/js/ext.uls.interface.js index 5c790d30..11706a0b 100644 --- a/resources/js/ext.uls.interface.js +++ b/resources/js/ext.uls.interface.js @@ -231,7 +231,7 @@ // Get the html of the link by wrapping it in div first link = $( '