private void SaveTranslations() { foreach (string cultureCode in mTranslations.Keys) { string translation = mTranslations[cultureCode.ToLowerCSafe()].Text.Trim(); int cultureId = CultureInfoProvider.GetCultureInfo(cultureCode).CultureID; var resTranslation = ResourceTranslationInfoProvider.GetResourceTranslationInfo(mResourceStringInfo.StringID, cultureId); // Save translation only if not empty and if the same translation does not exist in resource file if (String.IsNullOrEmpty(translation) || translation.EqualsCSafe(LocalizationHelper.GetFileString(mResourceStringInfo.StringKey, cultureCode, string.Empty, false))) { ResourceTranslationInfoProvider.DeleteResourceTranslationInfo(resTranslation); } else { if (resTranslation == null) { resTranslation = new ResourceTranslationInfo(); } resTranslation.TranslationStringID = mResourceStringInfo.StringID; resTranslation.TranslationCultureID = cultureId; resTranslation.TranslationText = translation; ResourceTranslationInfoProvider.SetResourceTranslationInfo(resTranslation); } } }