* @copyright 2007-2019 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ use PrestaShop\PrestaShop\Adapter\SymfonyContainer; use PrestaShopBundle\Translation\TranslatorComponent as Translator; use PrestaShopBundle\Translation\TranslatorLanguageLoader; class DataLangCore { /** @var Translator */ protected $translator; /** @var string */ protected $locale; /** @var array */ protected $keys; /** @var array */ protected $fieldsToUpdate; /** @var string */ protected $domain; public function __construct($locale) { $this->locale = $locale; $this->translator = SymfonyContainer::getInstance()->get('translator'); $isAdminContext = defined('_PS_ADMIN_DIR_'); if (!$this->translator->isLanguageLoaded($this->locale)) { (new TranslatorLanguageLoader($isAdminContext))->loadLanguage($this->translator, $this->locale); $this->translator->getCatalogue($this->locale); } } public function getFieldValue($field, $value) { return $this->translator->trans($value, array(), $this->domain, $this->locale); } public function getKeys() { return $this->keys; } public function getFieldsToUpdate() { return $this->fieldsToUpdate; } public function slugify($string) { return strtolower(str_replace(' ', '-', Tools::replaceAccentedChars($string))); } public function getDomain() { return $this->domain; } }