/// <summary> /// Loads JSON Setting file from %programfolder% /// </summary> public void LoadSettings() { SettingsStructure _settings = new SettingsStructure { //defaults Version = currentAppVersion, Language = "en", TosFolder = @"C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\", Style = "default", DisplayUnknown = false, FirstStart = true, IsGrouped = true, LoadDates = false }; SettingsStructure _jsonSettings = JsonManager.LoadFile <SettingsStructure>("settings.json"); if (_jsonSettings == null) { //Any exception we create a new settings file if (JsonManager.CreateFile("settings.json", _settings) == false) { CauseError("There was an issue creating the settings file."); return; } } else { _settings = _jsonSettings; } InitSettings(_settings); }
/// <summary> /// Loads JSON language files from %programfolder%/lang/ /// </summary> public static void Init() { translationData = new Dictionary <string, LanguageDataObject>(); //Preload language LoadLanguageResource("en.json"); LoadLanguageResource("es.json"); LoadLanguageResource("fr.json"); LoadLanguageResource("ja.json"); LoadLanguageResource("ko.json"); LoadLanguageResource("pl.json"); LoadLanguageResource("pt-BR.json"); //We still load them after, for people who want to add new languages or change existing ones. try { var dirFiles = Directory.GetFiles(JsonManager.ProgramFolder + "lang/", "*.json"); foreach (string file in dirFiles) { string fileName = Path.GetFileName(file); string langName = fileName.Remove(fileName.Length - 5); Debug.WriteLine("Trying: " + langName); LanguageDataObject langObj = JsonManager.LoadFile <LanguageDataObject>("lang/" + fileName); //Overwrite if it exists, otherwise add if (translationData.ContainsKey(langName.ToLower())) { translationData[langName.ToLower()] = langObj; } else { translationData.Add(langName.ToLower(), langObj); } Debug.WriteLine("Added Language: " + langName); } } catch (Exception) { //This is fine } }