/** * @param $varValue * @param string $strForceLanguage * @return string */ public static function translateValue($varValue, $strForceLanguage = '') { // Return value if it is already translated if (!is_numeric($varValue)) { return $varValue; } $arrLanguages = array(); // If force language is set than add it as first language param if (strlen($strForceLanguage)) { $arrLanguages[] = $strForceLanguage; } // Add current langauge and default language to languages array $arrLanguages[] = $GLOBALS['TL_LANGUAGE']; $arrLanguages[] = 'en'; // Get translation by current language and if it doesn't exist use the english translation foreach ($arrLanguages as $strLanguage) { $objTranslation = \TranslationFieldsModel::findOneByFidAndLanguage($varValue, $strLanguage); if ($objTranslation !== null) { return $objTranslation->content; } } // Get any translation $objTranslation = \TranslationFieldsModel::findOneByFid($varValue); if ($objTranslation !== null) { return $objTranslation->content; } return ''; }