/// <summary> /// Load the localized resource for the given culture into a sorted list (indexed by resource name) /// </summary> /// <param name="rm">The resource manager to load resources from</param> /// <param name="culture">The culture to load resources for</param> /// <param name="resources">The list to load the resources into</param> /// <remarks> /// Recursively loads the resources by loading the resources for the parent culture first. /// </remarks> private void LoadResources(ComponentResourceManager rm, CultureInfo culture, SortedList<string, object> resources) { if (!culture.Equals(CultureInfo.InvariantCulture)) { LoadResources(rm, culture.Parent, resources); } ResourceSet resourceSet = rm.GetResourceSet(culture, true, true); if (resourceSet != null) { foreach (DictionaryEntry entry in resourceSet) { resources[(string)entry.Key] = entry.Value; } } }
public static bool SetCulture(ComponentResourceManager resources, string culture) { if (resources == null) { throw new ArgumentNullException("resources"); } if (culture == null) { throw new ArgumentNullException("culture"); } try { CultureInfo info = CultureInfo.GetCultureInfo(culture); if (resources.GetResourceSet(info, true, false) != null) { Thread.CurrentThread.CurrentCulture = info; Thread.CurrentThread.CurrentUICulture = info; return true; } } catch (ArgumentException) { // Invalid or non-existant culture } return false; }