public static void DeletePluginLocaleResource(this BasePlugin plugin, ILocalizationService localizationService, ILanguagesService languageService, string resourceName) { //actually plugin instance is not required if (plugin == null) { throw new ArgumentNullException(nameof(plugin)); } if (localizationService == null) { throw new ArgumentNullException(nameof(localizationService)); } if (languageService == null) { throw new ArgumentNullException(nameof(languageService)); } foreach (var lang in languageService.GetAsEnumerable()) { var lsr = localizationService.FindByName(resourceName, lang.Id); if (lsr != null) { localizationService.Delete(lsr.Id); } } }
public static void AddOrUpdatePluginLocaleResource(this BasePlugin plugin, ILocalizationService localizationService, ILanguagesService languageService, string resourceName, string resourceValue, string languageISO = null) { //actually plugin instance is not required if (plugin == null) { throw new ArgumentNullException(nameof(plugin)); } if (localizationService == null) { throw new ArgumentNullException(nameof(localizationService)); } if (languageService == null) { throw new ArgumentNullException(nameof(languageService)); } foreach (var lang in languageService.GetAsEnumerable()) { if (!string.IsNullOrEmpty(languageISO) && !languageISO.Equals(lang.IsoCode)) { continue; } var lsr = localizationService.FindByName(resourceName, lang.Id); if (lsr == null) { lsr = new TblLocalizedStrings() { LanguageId = lang.Id, ResourceName = resourceName, ResourceValue = resourceValue }; localizationService.Add(lsr); } else { lsr.ResourceValue = resourceValue; localizationService.Update(lsr); } } }