public void ChangeLanguage(string lang) { string[] files = Directory.GetFiles(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Lang"), $"{lang}.*"); if (files.Length < 1) { return; } StreamReader sr = new StreamReader(files.First()); Translates.Clear(); while (!sr.EndOfStream) { string line = sr.ReadLine(); if (line.Contains("=")) { var match = Regex.Matches(line, "\"([^\"]+)\""); var split = line.Split('='); if (!Translates.ContainsKey(split.First()) && match.Count > 0 && match[0].Groups.Count > 0) { Translates.Add(split.First(), match[0].Groups[1].Value); } } } Utils.MemoryCleaner(); ProviderChanged?.Invoke(this, new ProviderChangedEventArgs(null)); }
/// <summary> /// Calls the <see cref="ILocalizationProvider.ProviderChanged"/> event. /// </summary> /// <param name="target">The target object.</param> protected virtual void OnProviderChanged(DependencyObject target) { try { var assembly = GetAssembly(target); var dictionary = GetDictionary(target); //if (!String.IsNullOrEmpty(assembly) && !String.IsNullOrEmpty(dictionary)) // GetResourceManager(assembly, dictionary); } catch { } ProviderChanged?.Invoke(this, new ProviderChangedEventArgs(target)); }
/// <summary> /// Raise a <see cref="ILocalizationProvider.ProviderChanged"/> event. /// </summary> private void OnProviderChanged() { ProviderChanged?.Invoke(this, new ProviderChangedEventArgs(null)); }
protected virtual void OnProviderChanged(ProviderChangedEventArgs args) { ProviderChanged?.Invoke(this, args); }