diff --git a/includes/UniversalLanguageSelectorHooks.php b/includes/UniversalLanguageSelectorHooks.php index fbfa5e16..29a50300 100644 --- a/includes/UniversalLanguageSelectorHooks.php +++ b/includes/UniversalLanguageSelectorHooks.php @@ -162,11 +162,6 @@ class UniversalLanguageSelectorHooks { return; } - if ( $out->getLanguage()->getCode() === $languageToSet ) { - // If we are already using the preferred language, don't bother. - return; - } - $out->addModules( 'ext.uls.setlang' ); } diff --git a/resources/js/ext.uls.setlang.js b/resources/js/ext.uls.setlang.js index 3b710248..5f887718 100644 --- a/resources/js/ext.uls.setlang.js +++ b/resources/js/ext.uls.setlang.js @@ -51,6 +51,11 @@ return uri.toString(); } + function removeSetlangFromHistory() { + var urlWithoutSetlang = removeParam( 'setlang' ); + history.replaceState( null, 'no-setlang-url', urlWithoutSetlang ); + } + function updateLanguage( langCode ) { var api = new mw.Api(); return api.postWithToken( 'csrf', { @@ -93,8 +98,7 @@ } ); $cancelBtn.on( 'click', function () { - var urlWithoutSetlang = removeParam( 'setlang' ); - history.replaceState( null, 'no-setlang-url', urlWithoutSetlang ); + removeSetlangFromHistory(); ulsDialog.close(); } ); } @@ -106,6 +110,7 @@ $ulsDialog, ulsSetLangDialog; if ( currentLangCode === setLangCode ) { + removeSetlangFromHistory(); return; }