Esempio n. 1
0
        /// <summary>
        /// Changes the currently used localization language by the new localization languages name and localizes everything according to the new localization language.
        /// </summary>
        /// <param name="localizationLanguage">
        /// The name of the localization language to be changed to.
        /// </param>
        /// <param name="scheduler">
        /// The <see cref="TaskScheduler"/> containing GUI-context.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// One or all of the parameters was/ were passed as null.
        /// </exception>
        public static void ChangeLocalizationLanguage(string localizationLanguage, TaskScheduler scheduler)
        {
            if (localizationLanguage == null || scheduler == null)
            {
                throw new ArgumentNullException();
            }

            foreach (var item in LocalizationLanguages.Where(item => item["language"] == localizationLanguage))
            {
                CurrentLocalizationLanguage = item;
            }

            Task.Factory.StartNew(() => LocalizeControlsAsync(), CancellationToken.None, TaskCreationOptions.None, scheduler);
        }