Beispiel #1
0
 public void SaveTest()
 {
     using (var InputStream = File.OpenRead(Utils.TestInputPath + @"\VC001US.TO8CHTX"))
         using (var OutputStream = File.Open(Utils.TestOutputPath + @"\VC001US.TO8CHTX", FileMode.Create))
         {
             var TO8CHTX = new TO8CHTX(InputStream);
             foreach (var Entry in TO8CHTX.Entries)
             {
                 Entry.TextOriginal = "";
                 //Entry.TextTranslated = "";
             }
             TO8CHTX.SaveTo(OutputStream);
         }
     using (var OutputStream = File.Open(Utils.TestOutputPath + @"\TEST.TO8CHTX", FileMode.Create))
     {
         var TO8CHTX = new TO8CHTX();
         TO8CHTX.Entries.Add(new TO8CHTX.Entry()
         {
             Title          = CharacterMapping.Instance.Map("Title Test"),
             TextOriginal   = CharacterMapping.Instance.Map("Text Original"),
             TextTranslated = CharacterMapping.Instance.Map("¡¿Esto es una prueba en ESPAÑOL o en Español?!"),
             Talker         = TalesOfVesperiaUtils.Formats.Packages.TO8CHTX.Talker.Yuri,
         });
         TO8CHTX.SaveTo(OutputStream);
     }
 }
Beispiel #2
0
        public void TranslateWithAcmeFileTest()
        {
            using (var AcmeStream = File.OpenRead(Utils.TestInputPath + @"\tov_skits.zip"))
                using (var ACME1 = new ACME1(AcmeStream, Encoding.GetEncoding("ISO-8859-1")))
                {
                    using (var InputStream = File.OpenRead(Utils.TestInputPath + @"\VC001US.TO8CHTX"))
                        using (var OutputStream = File.Open(Utils.TestOutputPath + @"\VC001ES.TO8CHTX", FileMode.Create))
                        {
                            var TO8CHTX = new TO8CHTX(InputStream);
                            TO8CHTX.TranslateWithAcmeFile(ACME1.Files["T3@VC001"]);
                            TO8CHTX.SaveTo(OutputStream);
                        }

                    using (var EnglishInputStream = File.OpenRead(Utils.TestInputPath + @"\VC001US.TO8CHTX"))
                        using (var SpanishInputStream = File.OpenRead(Utils.TestOutputPath + @"\VC001ES.TO8CHTX"))
                        {
                            var EnglishTO8CHTX = new TO8CHTX(EnglishInputStream);
                            var SpanishTO8CHTX = new TO8CHTX(SpanishInputStream);
                            //Console.WriteLine("------------------------------");
                            //ACME1.Files["T3@VC001"].Entries[0]
                            //Console.WriteLine(SpanishTO8CHTX.Entries[0].TextTranslated);

                            EnglishTO8CHTX.TranslateWithAcmeFile(ACME1.Files["T3@VC001"]);

                            for (int n = 0; n < EnglishTO8CHTX.Length; n++)
                            {
                                var EnglishEntry = EnglishTO8CHTX.Entries[n];
                                var SpanishEntry = SpanishTO8CHTX.Entries[n];
                                Assert.AreEqual(EnglishEntry.Title, SpanishEntry.Title);
                                Assert.AreEqual(EnglishEntry.Talker, SpanishEntry.Talker);
                                Assert.AreEqual(EnglishEntry.TextTranslated, SpanishEntry.TextTranslated);
                                Assert.AreEqual(EnglishEntry.TextOriginal, SpanishEntry.TextOriginal);
                            }
                        }
                }
        }
Beispiel #3
0
        private void Handle1()
        {
            Patcher.TempFS.CreateDirectory("CHAT_ES", 0777, false);

            Patcher.Action("Translating Skits...", () =>
            {
                Patcher.ProgressHandler.AddProgressLevel("Traduciendo skits", OriginalChatSvo.Count(), () =>
                {
                    Patcher.ParallelForeach("Translating", OriginalChatSvo, (ChatSvoEntry) => ChatSvoEntry.Name, (ChatSvoEntry) =>
                    {
                        var Match = ChatSvoEntry.Name.RegexMatch(@"^(VC\d+B?)(UK)\.DAT$");
                        if (Match != null)
                        {
                            var CompleteFile = Match[0].Value;
                            var ChatId       = Match[1].Value;
                            var EsFile       = PreppendTempFile + ChatId + "ES.DAT";

                            Console.WriteLine("{0}...", ChatId);

                            if (!Patcher.TempFS.Exists(EsFile))
                            {
                                var Fps4 = new FPS4(TalesCompression.DecompressStream(OriginalChatSvo[CompleteFile].Open()));
                                {
                                    var Chtx = new TO8CHTX();
                                    Chtx.Load(Fps4["3"].Open());
                                    // Translate
                                    {
                                        foreach (var Entry in Patcher.EntriesByRoom["skits/" + ChatId].Values)
                                        {
                                            int TextId = int.Parse(Entry.text_id) - 1;
                                            if (TextId >= 0)
                                            {
                                                //Chtx[TextId].Title = "";
                                                //Chtx[TextId].Title = TextProcessor.Instance.ProcessAndDetectPitfalls(Chtx[TextId].Title, Entry.texts.es[0].TrimEnd(' ', '\t', '\n', '\r', '.'));
                                                //Chtx[TextId].Title = TextProcessor.Instance.ProcessAndDetectPitfalls(Chtx[TextId].Title, Entry.texts.es[0]);
                                                Chtx[TextId].Title          = "";
                                                Chtx[TextId].TextOriginal   = "";
                                                Chtx[TextId].TextTranslated = TextProcessor.Instance.ProcessAndDetectPitfalls(Chtx[TextId].TextTranslated, Entry.texts.es[1]);
                                            }
                                        }
                                    }
                                    //ChtxStream.SetLength(0);
                                    var ChtxStream = new MemoryStream();
                                    Chtx.SaveTo(ChtxStream);
                                    ChtxStream.Position = 0;
                                    Fps4["3"].SetStream(ChtxStream);
                                }
                                Patcher.TempFS.WriteAllBytes(EsFile, TalesCompression.CreateFromVersion(Patcher.CompressionVersion, Patcher.CompressionFallback).EncodeBytes(Fps4.Save(false).ToArray()));
                                Console.WriteLine("{0}...Ok", ChatId);
                            }
                            else
                            {
                                Console.WriteLine("{0}...Exists", ChatId);
                            }
                        }

                        Patcher.ProgressHandler.IncrementLevelProgress();
                    });
                });
            });
        }