Exemplo n.º 1
0
 public void Handle(LanguageChangedEvent message)
 {
     // hack that copies the already existing playlist and reassigns it to the collection in order to completely notify all elements
     // in the bound view for pulling the information again
     // this is required because the currently used ResxExtension is removing the binding to TreeView controls for some reason
     // and then updates the TreeView with invalid/empty data
     Playlists = new ObservableCollection <PlaylistViewModel>(Playlists);
 }
Exemplo n.º 2
0
 /// <summary>
 /// Loads the laguage of the given language code if availible.
 /// Language codes adhere to the ISO 639-1 standard for language codes.
 /// </summary>
 /// <param name="languageCode">The code of the language in compliance with ISO 639-1</param>
 public void LoadLanguage(string languageCode)
 {
     if (_AvailibleLanguages.Contains(languageCode))
     {
         _CurrentLanguage = XML_to_Class.LoadClassFromXML <LanguageContainer>("\\StreamingAssets\\Languages\\" + languageCode + ".xml");
         LanguageLoaded   = languageCode;
         if (LanguageChangedEvent != null) //could be nothing is registered
         {
             LanguageChangedEvent.Invoke();
         }
     }
     else
     {
         Debug.LogWarning("LanguageController | LoadLanguage | Attempted to load a language that is not available.");
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// Dynamically load a Localization ResourceDictionary from a file
        /// </summary>
        public void SwitchLanguage(string inFiveCharLang)
        {
            CultureInfo ci;

            if (CultureInfo.CurrentCulture.Name.Equals(inFiveCharLang) && CultureInfo.CurrentUICulture.Name.Equals(inFiveCharLang))
            {
                return;
            }
            if (inFiveCharLang == "Auto" || inFiveCharLang == null)
            {
                ci = CultureInfo.InstalledUICulture;
            }
            else
            {
                ci = new CultureInfo(inFiveCharLang);
            }
            Thread.CurrentThread.CurrentCulture   = ci;
            Thread.CurrentThread.CurrentUICulture = ci;

            SetLanguageResourceDictionary(GetLocXAMLFilePath(inFiveCharLang));
            LanguageChangedEvent?.Invoke(this, new EventArgs());
        }
 protected virtual void OnLanguageChangedEvent(string newCulture)
 {
     LanguageChangedEvent?.Invoke(this, new LocalizationEventArgs(newCulture));
     Config.Instance.LocaleToUse = newCulture;
     Config.Instance.SaveConfig();
 }
Exemplo n.º 5
0
 public void FireLanguageChangedEvent()
 {
     LanguageChangedEvent?.Invoke(this, new EventArgs());
 }