public static bool Load() { var loadedAnything = false; LoggingWrapper.Log(LoggingWrapper.LogArea.Hidden, LoggingWrapper.LogType.Message, $"Loading localisations from {LocalisationFilePath}..."); _localisations.Clear(); if (Directory.Exists(LocalisationFilePath)) { var potentialLocalisations = Directory.GetFiles(LocalisationFilePath); foreach (var potentialLocalisation in potentialLocalisations) { var localisation = LoadLocalisation(potentialLocalisation); if (localisation != null) { Save(localisation, potentialLocalisation); } } loadedAnything = true; } else { LoggingWrapper.Log(LoggingWrapper.LogArea.Hidden, LoggingWrapper.LogType.Message, $"Creating base directory at {LocalisationFilePath} because it doesn't already exist."); Directory.CreateDirectory(LocalisationFilePath); } SaveDefault(); if (_localisations.Count == 0) { _localisations.Add(new Localisation()); } _currentLocalisation = GetLocalisation(UserModSettings.Settings.Language); return(loadedAnything); }
public static bool Save(Localisation localisation, string path) { if (localisation != null) { try { using (var saveFile = File.CreateText(path)) { var serialiser = Serialiser; serialiser.Serialize(saveFile, localisation); } return(true); } catch (Exception ex) { LoggingWrapper.Log(LoggingWrapper.LogArea.Hidden, LoggingWrapper.LogType.Error, "Couldn't save the default localisation file due to an error!"); LoggingWrapper.Log(LoggingWrapper.LogArea.Hidden, ex); } } return(false); }
public static void ChangeLocalisation(string isoCode) { LoggingWrapper.Log(LoggingWrapper.LogArea.Hidden, LoggingWrapper.LogType.Message, $"Changing localisation to {isoCode}."); _currentLocalisation = GetLocalisation(isoCode); }