mirror of
https://github.com/knah/VRCMelonAssistant.git
synced 2024-05-21 04:42:52 +12:00
Save selected language and load on startup
This commit is contained in:
parent
97ef2c1285
commit
3dc29753f1
|
@ -35,12 +35,6 @@ namespace ModAssistant
|
|||
// Set SecurityProtocol to prevent crash with TLS
|
||||
System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;
|
||||
|
||||
// Load localisation languages
|
||||
Languages.LoadLanguage(CultureInfo.CurrentCulture.Name);
|
||||
|
||||
// Uncomment the next line to debug localisation
|
||||
// LoadLanguage("en-DEBUG");
|
||||
|
||||
if (ModAssistant.Properties.Settings.Default.UpgradeRequired)
|
||||
{
|
||||
ModAssistant.Properties.Settings.Default.Upgrade();
|
||||
|
|
|
@ -23,12 +23,28 @@ namespace ModAssistant
|
|||
var allCultures = CultureInfo.GetCultures(CultureTypes.AllCultures);
|
||||
|
||||
// Get CultureInfo for any of the available translations
|
||||
availableCultures = allCultures.Where(cultureInfo => availableLanguageCodes.Any(code => code.CompareTo(cultureInfo.Name) == 0));
|
||||
availableCultures = allCultures.Where(cultureInfo => availableLanguageCodes.Any(code => code.Equals(cultureInfo.Name)));
|
||||
|
||||
string savedLanguageCode = Properties.Settings.Default.LanguageCode;
|
||||
|
||||
if (savedLanguageCode.Length == 0)
|
||||
{
|
||||
// If no language code was saved, load system language
|
||||
savedLanguageCode = CultureInfo.CurrentUICulture.Name.Split('-').First();
|
||||
}
|
||||
else if (!availableLanguageCodes.Any(code => code.Equals(savedLanguageCode)))
|
||||
{
|
||||
// If language code isn't supported, load English instead
|
||||
savedLanguageCode = "en";
|
||||
}
|
||||
|
||||
if (Options.Instance != null && Options.Instance.LanguageSelectComboBox != null)
|
||||
{
|
||||
Options.Instance.LanguageSelectComboBox.ItemsSource = availableCultures.Select(cultureInfo => cultureInfo.NativeName).ToList();
|
||||
Options.Instance.LanguageSelectComboBox.SelectedIndex = LoadedLanguages.FindIndex(cultureInfo => cultureInfo.Name.Equals(savedLanguageCode)); ;
|
||||
}
|
||||
|
||||
LoadLanguage(savedLanguageCode);
|
||||
}
|
||||
|
||||
private static ResourceDictionary LanguagesDict
|
||||
|
@ -39,17 +55,19 @@ namespace ModAssistant
|
|||
}
|
||||
}
|
||||
|
||||
public static void LoadLanguage(string culture)
|
||||
public static void LoadLanguage(string languageCode)
|
||||
{
|
||||
try
|
||||
{
|
||||
LanguagesDict.Source = new Uri($"Localisation/{culture}.xaml", UriKind.Relative);
|
||||
LanguagesDict.Source = new Uri($"Localisation/{languageCode}.xaml", UriKind.Relative);
|
||||
Properties.Settings.Default.LanguageCode = languageCode;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
catch (IOException)
|
||||
{
|
||||
if (culture.Contains("-"))
|
||||
if (languageCode.Contains("-"))
|
||||
{
|
||||
LoadLanguage(culture.Split('-').First());
|
||||
LoadLanguage(languageCode.Split('-').First());
|
||||
}
|
||||
// Can't load language file
|
||||
}
|
||||
|
|
|
@ -65,7 +65,6 @@ namespace ModAssistant
|
|||
Themes.LoadThemes();
|
||||
Themes.FirstLoad(Properties.Settings.Default.SelectedTheme);
|
||||
|
||||
// Load languages into combobox
|
||||
Languages.LoadLanguages();
|
||||
|
||||
Task.Run(() => LoadVersionsAsync());
|
||||
|
|
Loading…
Reference in a new issue