Example #1
0
 /// <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;
        }