/**
  * @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;
 }