/**
  * @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 '';
 }
 /**
  * @param $arrValues
  * @param null $intFid
  * @return null
  */
 public static function saveValuesAndReturnFid($arrValues, $intFid = null)
 {
     $arrLanguages = self::getTranslationLanguageKeys();
     // Check if translation fields should not be empty saved
     if (!$GLOBALS['TL_CONFIG']['dontfillEmptyTranslationFields']) {
         // Add fallback text to empty values
         $arrValues = self::addFallbackValueToEmptyField($arrValues);
     }
     if (is_array($arrLanguages) && count($arrLanguages)) {
         foreach ($arrLanguages as $strLanguage) {
             // If current fid is correct
             if (is_numeric($intFid) && $intFid > 0) {
                 // Get existing translation object by fid
                 $objTranslation = \TranslationFieldsModel::findOneByFidAndLanguage($intFid, $strLanguage);
                 // Get new translation object by fid
                 if ($objTranslation === null) {
                     // Create translation object
                     $objTranslation = new \TranslationFieldsModel();
                     $objTranslation->language = $strLanguage;
                     $objTranslation->fid = $intFid;
                 }
             }
             // Get new translation object with new fid
             if ($objTranslation === null) {
                 // Get next fid
                 $intFid = \TranslationFieldsModel::getNextFid();
                 // Create translation object
                 $objTranslation = new \TranslationFieldsModel();
                 $objTranslation->language = $strLanguage;
                 $objTranslation->fid = $intFid;
             }
             // Set content value
             $objTranslation->content = $arrValues[$strLanguage];
             // Set current timestamp
             $objTranslation->tstamp = time();
             // Save
             $objTranslation->save();
         }
     }
     return $intFid;
 }