/// <summary> /// Gets a resource string based on the specified ResourceKey property. /// </summary> /// <param name="ResourceKey">A string representing a ResourceKey.</param> /// <param name="LanguageID">Language identifier</param> /// <param name="LogIfNotFound">A value indicating whether to log error if locale string resource is not found</param> /// <returns>A string representing the requested resource string.</returns> public static string GetLocaleResourceString(string ResourceKey, int LanguageID, bool LogIfNotFound) { string result = string.Empty; if (ResourceKey == null) { ResourceKey = string.Empty; } ResourceKey = ResourceKey.Trim().ToLowerInvariant(); LocaleStringResourceDictionary resources = LocaleStringResourceManager.GetAllResourcesByLanguageID(LanguageID); if (resources.ContainsKey(ResourceKey)) { LocaleStringResource lsr = resources[ResourceKey]; if (lsr != null) { result = lsr.ResourceValue; } } if (String.IsNullOrEmpty(result)) { result = ResourceKey; if (LogIfNotFound) { LogManager.InsertLog(LogTypeEnum.CommonError, "Resource string is not found", string.Format("Resource string ({0}) is not found. Language ID ={1}", ResourceKey, LanguageID)); } } return(result); }
private static LocaleStringResourceDictionary DBMapping(DBLocaleStringResourceCollection dbCollection) { if (dbCollection == null) { return(null); } LocaleStringResourceDictionary dictionary = new LocaleStringResourceDictionary(); foreach (DBLocaleStringResource dbItem in dbCollection) { LocaleStringResource item = DBMapping(dbItem); dictionary.Add(item.ResourceName.ToLowerInvariant(), item); } return(dictionary); }
/// <summary> /// Gets all locale string resources by language identifier /// </summary> /// <param name="LanguageID">Language identifier</param> /// <returns>Locale string resource collection</returns> public static LocaleStringResourceDictionary GetAllResourcesByLanguageID(int LanguageID) { string key = string.Format(LOCALSTRINGRESOURCES_ALL_KEY, LanguageID); object obj2 = NopCache.Get(key); if (LocaleStringResourceManager.CacheEnabled && (obj2 != null)) { return((LocaleStringResourceDictionary)obj2); } DBLocaleStringResourceCollection dbCollection = DBProviderManager <DBLocaleStringResourceProvider> .Provider.GetAllResourcesByLanguageID(LanguageID); LocaleStringResourceDictionary localeStringResourceDictionary = DBMapping(dbCollection); if (LocaleStringResourceManager.CacheEnabled) { NopCache.Max(key, localeStringResourceDictionary); } return(localeStringResourceDictionary); }
void BindGrid() { Language language = LanguageManager.GetLanguageByID(int.Parse(this.ddlLanguage.SelectedItem.Value)); if (language != null) { LocaleStringResourceDictionary resourceDictionary = language.LocaleStringResources; List <LocaleStringResource> resources = new List <LocaleStringResource>(); foreach (KeyValuePair <string, LocaleStringResource> kvp in resourceDictionary) { if (kvp.Value != null) { resources.Add(kvp.Value); } } gvLocaleStringResources.DataSource = resources; gvLocaleStringResources.DataBind(); } btnAddNew.Visible = this.ddlLanguage.SelectedIndex > 0; }