/** * Extract all languages from the MetaModel and return them as array. * * @param IMetaModel $metaModel The MetaModel to extract the languages from. * * @param TranslatorInterface $translator The translator to use. * * @return \string[] */ private static function buildLanguageArray(IMetaModel $metaModel, TranslatorInterface $translator) { $languages = array(); foreach ((array) $metaModel->getAvailableLanguages() as $langCode) { $languages[$langCode] = $translator->translate('LNG.' . $langCode, 'languages'); } asort($languages); return $languages; }
/** * Get the language. * * First check the overwrite language. Then check if the MetaModels is translated and get all languages from it. * Use the current language as fallback. * * @param string $singleLanguage The language with the overwrite. * * @param IMetaModel $metaModels The MetaModels for the check. * * @return string[] A list with all languages or null. * * @SuppressWarnings(PHPMD.Superglobals) * @SuppressWarnings(PHPMD.CamelCaseVariableName) */ protected function getLanguage($singleLanguage, $metaModels) { if (!empty($singleLanguage)) { return array($singleLanguage); } elseif ($metaModels->isTranslated() && $metaModels->getAvailableLanguages()) { return $metaModels->getAvailableLanguages(); } return array($GLOBALS['TL_LANGUAGE']); }
/** * Get available langauges. * * @param IMetaModel $objMetaModel The metamodel. * * @return array|null|\string[] */ private function getAvailableLanguages(IMetaModel $objMetaModel) { return $objMetaModel->isTranslated() && $this->get('all_langs') ? $objMetaModel->getAvailableLanguages() : array($objMetaModel->getActiveLanguage()); }