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);
        }
Example #2
0
        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);
            }
        }