public static void ReadAllAgemo(string cnPath, string jpPath) { //string cnPath = "./cn-text"; //string jpPath = "./jp-text"; string[] cnFiles = Directory.GetFiles(cnPath, "*.txt", SearchOption.AllDirectories); Dictionary <string, AgemoText.Data> cnDictionary = new Dictionary <string, AgemoText.Data>(); LocText tempLoc = new LocText(""); foreach (var fileName in cnFiles) { string fName = Path.GetFileName(fileName); if (File.Exists(cnPath + "/" + fName) && File.Exists(jpPath + "/" + fName)) { List <AgemoText.Data> cnData = AgemoText.ReadAgemoText(File.ReadAllLines(cnPath + "/" + fName, Encoding.Unicode)); List <AgemoText.Data> jpData = AgemoText.ReadAgemoText(File.ReadAllLines(jpPath + "/" + fName, Encoding.Unicode)); cnDictionary = convData(cnData); for (int i = 0; i < jpData.Count; i++) { tempLoc = new LocText(jpData[i].Text); if (cnDictionary.ContainsKey(jpData[i].TAG)) { tempLoc.zh_CN = cnDictionary[jpData[i].TAG].Text; } DataMgr.Instance.GameTextDictionary.Add(fName + "__" + jpData[i].TAG, tempLoc); } } } ExcelLoader excel = new ExcelLoader("./DDS3_Translation.xlsx"); excel.WriteExcel(DataMgr.Instance.GameTextDictionary); }
public static void Excel2AgemoConv() { string excelFile = "./DDS3_Translation.xlsx"; string jpPath = "./jp-text"; string cnPath = "./cn-text"; if (!Directory.Exists(jpPath)) { Directory.CreateDirectory(jpPath); } if (!Directory.Exists(cnPath)) { Directory.CreateDirectory(cnPath); } if (File.Exists(excelFile)) { ExcelLoader excel = new ExcelLoader(excelFile); excel.ReadExcel(); string[] jpFiles = Directory.GetFiles(jpPath, "*.txt", SearchOption.AllDirectories); foreach (var fileName in jpFiles) { string fName = Path.GetFileName(fileName); if (File.Exists(jpPath + "/" + fName) && File.Exists(jpPath + "/" + fName)) { Console.WriteLine("Reading:" + jpPath + "/" + fName); List <AgemoText.Data> jpData = AgemoText.ReadAgemoText(File.ReadAllLines(jpPath + "/" + fName, Encoding.Unicode)); for (int i = 0; i < jpData.Count; i++) { string ctext = jpData[i].Text; string ctag = jpData[i].TAG; string seacrchkey = fName + "__" + ctag; if (DataMgr.Instance.GameTextDictionary.ContainsKey(seacrchkey)) { string vtext = DataMgr.Instance.GameTextDictionary[seacrchkey].zh_CN; if (string.IsNullOrEmpty(vtext)) { vtext = ctext; } ctext = vtext; if (ctext.EndsWith("{end}")) { string[] tval = Regex.Split(ctext, "{end}", RegexOptions.IgnoreCase); ctext = tval[0] + "{end}"; } } jpData[i].Text = ctext; } string reTextcont = AgemoText.CreateAgemoText(jpData); Console.WriteLine("Writing:" + cnPath + "/" + fName); File.WriteAllText(cnPath + "/" + fName, reTextcont, Encoding.Unicode); } } } else { Console.WriteLine("{0} 找不到,停止解析", excelFile); } }