Refactor Localizer into a separate class.
This commit is contained in:
@ -15,17 +15,12 @@ class Initializer {
|
|||||||
$activator = new Activator();
|
$activator = new Activator();
|
||||||
$activator->init();
|
$activator->init();
|
||||||
|
|
||||||
// localization
|
|
||||||
$this->setup_textdomain();
|
|
||||||
add_action(
|
|
||||||
'init',
|
|
||||||
array($this, 'localize'),
|
|
||||||
0
|
|
||||||
);
|
|
||||||
|
|
||||||
$renderer = new Renderer();
|
$renderer = new Renderer();
|
||||||
$this->renderer = $renderer->init();
|
$this->renderer = $renderer->init();
|
||||||
|
|
||||||
|
$localizer = new Localizer($this->renderer);
|
||||||
|
$localizer->init();
|
||||||
|
|
||||||
$menu = new Menu(
|
$menu = new Menu(
|
||||||
$this->renderer,
|
$this->renderer,
|
||||||
Env::$assets_url
|
Env::$assets_url
|
||||||
@ -85,31 +80,4 @@ class Initializer {
|
|||||||
);
|
);
|
||||||
wp_enqueue_script($name);
|
wp_enqueue_script($name);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function localize() {
|
|
||||||
load_plugin_textdomain(
|
|
||||||
Env::$plugin_name,
|
|
||||||
false,
|
|
||||||
dirname(plugin_basename(Env::$file)) . '/lang/'
|
|
||||||
);
|
|
||||||
|
|
||||||
// set rtl flag
|
|
||||||
$this->renderer->addGlobal('is_rtl', is_rtl());
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setup_textdomain() {
|
|
||||||
$locale = apply_filters(
|
|
||||||
'plugin_locale',
|
|
||||||
get_locale(),
|
|
||||||
Env::$plugin_name
|
|
||||||
);
|
|
||||||
|
|
||||||
$language_path = Env::$languages_path.'/'.Env::$plugin_name.'-'.$locale.'.mo';
|
|
||||||
load_textdomain(Env::$plugin_name, $language_path);
|
|
||||||
load_plugin_textdomain(
|
|
||||||
Env::$plugin_name,
|
|
||||||
false,
|
|
||||||
dirname(plugin_basename(Env::$file)) . '/lang/'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
56
lib/config/localizer.php
Normal file
56
lib/config/localizer.php
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
<?php
|
||||||
|
namespace MailPoet\Config;
|
||||||
|
|
||||||
|
if(!defined('ABSPATH')) exit;
|
||||||
|
|
||||||
|
class Localizer {
|
||||||
|
function __construct($renderer) {
|
||||||
|
$this->renderer = $renderer;
|
||||||
|
}
|
||||||
|
|
||||||
|
function init() {
|
||||||
|
add_action(
|
||||||
|
'init',
|
||||||
|
array($this, 'setup'),
|
||||||
|
0
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setup() {
|
||||||
|
$this->loadGlobalText();
|
||||||
|
$this->loadPluginText();
|
||||||
|
$this->setGlobalRtl();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadGlobalText() {
|
||||||
|
$language_path =
|
||||||
|
Env::$languages_path
|
||||||
|
. '/'
|
||||||
|
. Env::$plugin_name
|
||||||
|
. '-'
|
||||||
|
. $this->locale()
|
||||||
|
. '.mo';
|
||||||
|
load_textdomain(Env::$plugin_name, $language_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadPluginText() {
|
||||||
|
load_plugin_textdomain(
|
||||||
|
Env::$plugin_name,
|
||||||
|
false,
|
||||||
|
dirname(plugin_basename(Env::$file)) . '/lang/'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setGlobalRtl() {
|
||||||
|
$this->renderer->addGlobal('is_rtl', is_rtl());
|
||||||
|
}
|
||||||
|
|
||||||
|
function locale() {
|
||||||
|
$locale = apply_filters(
|
||||||
|
'plugin_locale',
|
||||||
|
get_locale(),
|
||||||
|
Env::$plugin_name
|
||||||
|
);
|
||||||
|
return $locale;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user