Aucune description

Localizer.php 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace MailPoet\Config;
  3. if (!defined('ABSPATH')) exit;
  4. use MailPoet\WP\Functions as WPFunctions;
  5. class Localizer {
  6. public function init() {
  7. $this->loadGlobalText();
  8. $this->loadPluginText();
  9. }
  10. public function loadGlobalText() {
  11. $languagePath = sprintf(
  12. '%s/%s-%s.mo',
  13. Env::$languagesPath,
  14. Env::$pluginName,
  15. $this->locale()
  16. );
  17. WPFunctions::get()->loadTextdomain(Env::$pluginName, $languagePath);
  18. }
  19. public function loadPluginText() {
  20. WPFunctions::get()->loadPluginTextdomain(
  21. Env::$pluginName,
  22. false,
  23. dirname(plugin_basename(Env::$file)) . '/lang/'
  24. );
  25. }
  26. public function locale() {
  27. $locale = WPFunctions::get()->applyFilters(
  28. 'plugin_locale',
  29. WPFunctions::get()->getUserLocale(),
  30. Env::$pluginName
  31. );
  32. return $locale;
  33. }
  34. public function forceLoadWebsiteLocaleText() {
  35. $languagePath = sprintf(
  36. '%s/%s-%s.mo',
  37. Env::$languagesPath,
  38. Env::$pluginName,
  39. WPFunctions::get()->getLocale()
  40. );
  41. WPFunctions::get()->unloadTextdomain(Env::$pluginName);
  42. WPFunctions::get()->loadTextdomain(Env::$pluginName, $languagePath);
  43. }
  44. }