diff --git a/UniversalLanguageSelector.hooks.php b/UniversalLanguageSelector.hooks.php index 8ac5181e..c5e2f305 100644 --- a/UniversalLanguageSelector.hooks.php +++ b/UniversalLanguageSelector.hooks.php @@ -206,10 +206,13 @@ class UniversalLanguageSelectorHooks { if ( !$user->isAnon() ) { // Language change if ( Language::isSupportedLanguage( $languageToSave ) ) { - $user->setOption( 'language', $languageToSave ); - $user->saveSettings(); // Apply immediately + $user->setOption( 'language', $languageToSave ); $code = $languageToSave; + // Promise to sync the DB on post-send + DeferredUpdates::addCallableUpdate( function() use ( $user ) { + $user->saveSettings(); + } ); } // Otherwise just use what is stored in preferences