public static void UpdateMiscsText(TextFile.MiscFile oldFile, TextFile.MiscFile newFile) { var sb = new StringBuilder(); // Update miscs var miscResult = UpdateDict(oldFile.Miscs, newFile.Miscs); // New misc foreach (var misc in miscResult.New) { sb.AppendFormat(NewMiscLogFormat, misc.Key, misc.Value.Default); } // Changed misc foreach (var misc in miscResult.Change) { TextFile.MiscTranslation old; oldFile.Miscs.TryGetValue(misc.Key, out old); if (old != null && old.Default != misc.Value.Default) { sb.AppendFormat(MiscChangeLogFormat, misc.Key, old.Default, misc.Value.Default); old.Default = misc.Value.Default; } } Logger.TextUpdateLog(sb.ToString()); }
public void TranslateMiscs(TextFile.MiscFile miscs) { foreach (var misc in miscs.Miscs.Values) { Logger.DebugLog(string.Format("Translating misc: {0}", misc.Default)); misc.Translation = Query(misc.Default); } }
public static TextFile.MiscFile GetMiscTexts(Mod mod) { var translations = typeof(Mod).GetField("translations", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(mod) as Dictionary <string, ModTranslation>; var miscFile = new TextFile.MiscFile(); foreach (var translation in translations) { miscFile.Miscs.Add(translation.Key.Replace(string.Format("Mods.{0}.", mod.Name), ""), new TextFile.MiscTranslation(translation.Value)); } return(miscFile); }
public static void ExportMiscTexts(Mod mod, string path) { if (mod != null) { var translations = typeof(Mod).GetField("translations", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(mod) as Dictionary <string, ModTranslation>; var miscFile = new TextFile.MiscFile(); foreach (var translation in translations) { miscFile.miscs.Add(translation.Key.Replace(string.Format("Mods.{0}.", mod.Name), ""), new TextFile.MiscTranslation(translation.Value.GetDefault())); } using (var fs = new FileStream(Path.Combine(path, "Miscs.json"), FileMode.Create)) { using (var sw = new StreamWriter(fs)) { sw.Write(JsonConvert.SerializeObject(miscFile, Formatting.Indented)); } } } }