public function bootstrap(Container $container)
{
if (!is_admin()) {
return;
}
$this->on_activation(function () use($container) {
$asset_manager = $container['multilingualpress.asset_manager'];
$locale_filter = $container['multilingualpress.user_admin_language_locale_filter'];
$locale_filter->enable();
add_action('admin_head-options-general.php', function () use($asset_manager, $locale_filter) {
unset($GLOBALS['locale']);
$locale_filter->disable();
$unfiltered_locale = get_locale();
$locale_filter->enable();
$asset_manager->enqueue_script_with_data('multilingualpress-admin', 'mlpUserBackEndLanguageSettings', ['locale' => 'en_US' === $unfiltered_locale ? '' : esc_js($unfiltered_locale)]);
});
// This nonce is not accessible via the container because it is used no matter what by static parties.
$nonce = new WPNonce('save_user_admin_language_setting');
(new UserSetting(new Setting(LanguageRepository::META_KEY, $nonce, $container['multilingualpress.user_admin_language_repository']), new SecureUserSettingUpdater(LanguageRepository::META_KEY, $nonce)))->register();
});
}