private static string TranslateWithEscape(string jpStr) { var perSep = new SeperatedString(jpStr, "%"); for (int i = 0; i < perSep.SeperatedStrings.Length; i++) { if (i % 2 == 1) { continue; } var braceSep = new SeperatedString(perSep.SeperatedStrings[i], "{", "}"); for (int j = 0; j < braceSep.SeperatedStrings.Length; j++) { if (j % 2 == 1) { continue; } var atSep = new SeperatedString(braceSep.SeperatedStrings[j], "\\@"); for (int k = 0; k < atSep.SeperatedStrings.Length; k++) { if (k % 2 == 1) { continue; } TranslateXP.Translate(ref atSep.SeperatedStrings[k]); } braceSep.SeperatedStrings[j] = atSep.ToString(); } perSep.SeperatedStrings[i] = braceSep.ToString(); } return(perSep.ToString()); }
public static string TranslateWithFillter(LineInfo info) { if (info.IsForm) { return(TranslateWithEscape(info.Str)); } else if (info.IsFormS) { return(null); } else { return(TranslateXP.Translate(info.Str)); } }
static void Main(string[] args) { Properties.Settings.Default.Reload(); if (!Directory.Exists(ResourceFolderPath)) { Directory.CreateDirectory(ResourceFolderPath); } if (!Directory.Exists(RootPath + "Backup")) { Directory.CreateDirectory(RootPath + "Backup"); } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); try { string ezPath = ""; ConfigDic config = new ConfigDic(); config.Load(ConfigFilePath); if (!config.TryGetValue("ezTransXP_Path", out ezPath)) { FolderBrowserDialog dialog = new FolderBrowserDialog(); dialog.ShowNewFolderButton = true; dialog.Description = "ezTrans XP가 설치된 경로를 선택해 주세요"; dialog.ShowDialog(); ezPath = dialog.SelectedPath; config.SetValue("ezTransXP_Path", ezPath); dialog.Dispose(); } int result = TranslateXP.Initialize(ezPath); if (result != 0) { MessageBox.Show("EZTransXP 로드에 실패하였습니다.\nCode: " + result); return; } Application.Run(new MainForm(config)); config.Save(ConfigFilePath); TranslateXP.Terminate(); } catch (Exception e) { FileStream fs = new FileStream(LogFilePath, FileMode.Create); new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter().Serialize(fs, e); fs.Flush(); fs.Dispose(); Trace.Assert(false, e.Message); } }
static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); #if !DEBUG try { #endif var config = new ConfigDic(); config.Load(new FileStream(ConfigFilePath, FileMode.OpenOrCreate)); if (!config.TryGetValue("ezTransXP_Path", out string ezPath)) { var dialog = new FolderBrowserDialog() { ShowNewFolderButton = true, Description = "ezTrans XP가 설치된 경로를 선택해 주세요" }; dialog.ShowDialog(); ezPath = dialog.SelectedPath; config.SetValue("ezTransXP_Path", ezPath); dialog.Dispose(); } int result = TranslateXP.Initialize(ezPath); if (result != 0) { MessageBox.Show("EZTransXP 로드에 실패하였습니다.\nCode: " + result); return; } Application.Run(new MainForm(config)); config.Save(new FileStream(ConfigFilePath, FileMode.Create)); TranslateXP.Terminate(); #if !DEBUG } catch (Exception e) { var fs = new FileStream(LogFilePath, FileMode.Create); new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter().Serialize(fs, e); fs.Flush(); fs.Dispose(); MessageBox.Show(e.Message + "\r\n\r\n\r\n" + e.StackTrace, "에러발생!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } #endif }
private static void ExitEzEmuera() { TranslateXP.SaveCache(Path.Combine(ExeDir, "cache.dat")); TranslateXP.Terminate(); File.WriteAllText(Path.Combine(ExeDir, "userdic.json"), JsonConvert.SerializeObject(TranslateXP.UserDic, Formatting.Indented)); }
private static void InitEzEmuera() { var cachePath = Path.Combine(ExeDir, "cache.dat"); if (File.Exists(cachePath)) { TranslateXP.LoadCache(cachePath); } else { TranslateXP.LoadCache(null); } var dicPath = Path.Combine(ExeDir, "userdic.json"); if (File.Exists(dicPath)) { TranslateXP.UserDic = JsonConvert.DeserializeObject <UserDictionary>(File.ReadAllText(dicPath)); } else { TranslateXP.UserDic = new UserDictionary(); } var setting = new EzEmueraSetting { ReadEncodingCode = 932 }; var jsonPath = Path.Combine(ExeDir, "ez.json"); if (File.Exists(jsonPath)) { setting = JsonConvert.DeserializeObject <EzEmueraSetting>(File.ReadAllText(jsonPath)); } if (string.IsNullOrEmpty(setting.EzTransPath)) { using (var dialog = new FolderBrowserDialog()) { dialog.Description = "이지트랜스 경로를 설정해주세요"; if (dialog.ShowDialog() != DialogResult.OK) { return; } setting.EzTransPath = dialog.SelectedPath; } } Config.Encode = setting.ReadEncoding; int result = TranslateXP.Initialize(setting.EzTransPath); if (result != 0) { if (result == 126) { setting.EzTransPath = ""; } MessageBox.Show($"에러코드: {result}", "ezTrans 초기화에 실패했습니다"); } File.WriteAllText(jsonPath, JsonConvert.SerializeObject(setting, Formatting.Indented)); GlobalStatic.EzTransState = TranslateXP.IsInitialized; }
private void 자동번역버튼_Click(object sender, EventArgs e) { Translated_Text.Text = TranslateXP.Translate(Original_Text.Text); }