/** * Search for translation * * @param string $code Language code OPTIONAL * * @return \XLite\Model\Base\Translation */ public function getHardTranslation($code = null) { return \Includes\Utils\ArrayManager::searchInObjectsArray($this->getTranslations()->toArray(), 'getCode', $this->getTranslationCode($code)); }
/** * Check if the language code is in the active languages list * If customer language is not used right now, the default customer language code is used * * @param string $languageCode Language code * * @return string */ protected function checkForActiveLanguage($languageCode) { $result = $languageCode; $langs = \XLite\Core\Database::getRepo('XLite\\Model\\Language')->findActiveLanguages(); if (!empty($langs)) { $resultModel = \Includes\Utils\ArrayManager::searchInObjectsArray($langs, 'getCode', $result); if (null === $resultModel) { $result = \XLite\Core\Config::getInstance()->General->default_language; } } return $result; }
/** * Define current language * * @return string Language code */ protected function defineCurrentLanguage() { $languages = \XLite\Core\Database::getRepo('XLite\\Model\\Language')->findActiveLanguages(); if (!\XLite::isAdminZone() && !empty($languages)) { $language = isset(\XLite\Core\Config::getInstance()->General) ? \XLite\Core\Config::getInstance()->General->default_language : 'en'; $result = \Includes\Utils\ArrayManager::searchInObjectsArray($languages, 'getCode', $language); } return isset($result) ? $result->getCode() : static::getDefaultLanguage(); }