/** * Return current translation code * * @param string $code Language code OPTIONAL * * @return string */ protected function getTranslationCode($code = null) { if (!isset($code)) { if ($this->editLanguage) { $code = $this->editLanguage; } elseif (\XLite\Logic\Export\Generator::getLanguageCode()) { $code = \XLite\Logic\Export\Generator::getLanguageCode(); } elseif (\XLite\Logic\Import\Importer::getLanguageCode()) { $code = \XLite\Logic\Import\Importer::getLanguageCode(); } elseif (\XLite\Core\Translation::getTmpMailTranslationCode()) { $code = \XLite\Core\Translation::getTmpMailTranslationCode(); } else { $code = $this->getSessionLanguageCode(); } } return $code; }
/** * Translate by string * * @param string $name Label name * @param array $arguments Substitute arguments OPTIONAL * @param string $code Language code OPTIONAL * * @return string */ public function translateByString($name, array $arguments = array(), $code = null) { if (empty($code)) { $code = \XLite\Logic\Export\Generator::getLanguageCode() ?: \XLite\Core\Session::getInstance()->getLanguage()->getCode(); } $result = $this->getDriver()->translate($name, $code); if (!isset($result)) { $result = $name; } if (!empty($arguments)) { $result = $this->processSubstitute($result, $arguments); } return $result; }