From 94c7e2a5c0622365b37d4f5584ac142b87ed4dcb Mon Sep 17 00:00:00 2001 From: Vlad Date: Wed, 22 Nov 2017 20:13:56 -0500 Subject: [PATCH] Changes plugin language based on user's locale --- lib/Config/Initializer.php | 8 ++++++++ lib/Config/Localizer.php | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/Config/Initializer.php b/lib/Config/Initializer.php index 0f5e91399b..346543478e 100644 --- a/lib/Config/Initializer.php +++ b/lib/Config/Initializer.php @@ -232,6 +232,7 @@ class Initializer { $this->setupHooks(); $this->setupJSONAPI(); $this->setupRouter(); + $this->setupUserLocale(); } catch(\Exception $e) { $this->handleFailedInitialization($e); } @@ -247,6 +248,13 @@ class Initializer { $router->init(); } + function setupUserLocale() { + if(get_user_locale() === get_locale()) return; + unload_textdomain(Env::$plugin_name); + $localizer = new Localizer(); + $localizer->init(); + } + function setupPages() { $pages = new \MailPoet\Settings\Pages(); $pages->init(); diff --git a/lib/Config/Localizer.php b/lib/Config/Localizer.php index 9ab58c4674..f37f7bf8b3 100644 --- a/lib/Config/Localizer.php +++ b/lib/Config/Localizer.php @@ -30,7 +30,7 @@ class Localizer { function locale() { $locale = apply_filters( 'plugin_locale', - get_locale(), + get_user_locale(), Env::$plugin_name ); return $locale;