objectManager = $objectManager; $this->instanceName = $instanceName; $this->isShared = $shared; } /** * @return array */ public function __sleep() { return ['subject', 'isShared']; } /** * Retrieve ObjectManager from global scope * * @return void */ public function __wakeup() { $this->objectManager = \Magento\Framework\App\ObjectManager::getInstance(); } /** * Clone proxied instance * * @return void */ public function __clone() { $this->subject = clone $this->_getSubject(); } /** * Get proxied instance * * @return \Magento\Framework\Translate\Inline */ protected function _getSubject() { if (!$this->subject) { $this->subject = true === $this->isShared ? $this->objectManager->get($this->instanceName) : $this->objectManager->create($this->instanceName); } return $this->subject; } /** * Check if Inline Translates is allowed * * @return bool */ public function isAllowed() { return $this->_getSubject()->isAllowed(); } /** * Retrieve Inline Parser instance * * @return \Magento\Framework\Translate\Inline\ParserInterface */ public function getParser() { return $this->_getSubject()->getParser(); } /** * Replace translation templates with HTML fragments * * @param array|string &$body * @param bool $isJson * @return $this */ public function processResponseBody(&$body, $isJson = false) { return $this->_getSubject()->processResponseBody($body, $isJson); } /** * Additional translation mode html attribute is not needed for base inline translation. * * @param mixed|string|null $tagName * @return mixed */ public function getAdditionalHtmlAttribute($tagName = null) { return $this->_getSubject()->getAdditionalHtmlAttribute($tagName); } }