private void JBjTransTestBtn_BtnClick(object sender, EventArgs e) { IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "JBeijing", "JBJCTDllPath", JBjPathBox.InputText); string res = JBeijingTranslator.Translate_JapanesetoChinese(JbjTestTextBox.InputText); MessageBox.Show(res, "翻译结果"); }
private void JBjTransTestBtn_BtnClick(object sender, EventArgs e) { Common.settings.JBJCTDllPath = JBjPathBox.InputText; string res = JBeijingTranslator.Translate_JapanesetoChinese(JbjTestTextBox.InputText); MessageBox.Show(res, "翻译结果"); }
/* * * * const int WM_NCHITTEST = 0x0084; * const int HTLEFT = 10; * const int HTRIGHT = 11; * const int HTTOP = 12; * const int HTTOPLEFT = 13; * const int HTTOPRIGHT = 14; * const int HTBOTTOM = 15; * const int HTBOTTOMLEFT = 0x10; * const int HTBOTTOMRIGHT = 17; * protected override void WndProc(ref Message m) * { * base.WndProc(ref m); * switch (m.Msg) * { * case WM_NCHITTEST: * Point vPoint = new Point((int)m.LParam & 0xFFFF, * (int)m.LParam >> 16 & 0xFFFF); * vPoint = PointToClient(vPoint); * if (vPoint.X <= 5) * if (vPoint.Y <= 5) * m.Result = (IntPtr)HTTOPLEFT; * else if (vPoint.Y >= ClientSize.Height - 5) * m.Result = (IntPtr)HTBOTTOMLEFT; * else m.Result = (IntPtr)HTLEFT; * else if (vPoint.X >= ClientSize.Width - 5) * if (vPoint.Y <= 5) * m.Result = (IntPtr)HTTOPRIGHT; * else if (vPoint.Y >= ClientSize.Height - 5) * m.Result = (IntPtr)HTBOTTOMRIGHT; * else m.Result = (IntPtr)HTRIGHT; * else if (vPoint.Y <= 5) * m.Result = (IntPtr)HTTOP; * else if (vPoint.Y >= ClientSize.Height - 5) * m.Result = (IntPtr)HTBOTTOM; * break; * } * } * * [DllImport("user32.dll")] * public static extern bool ReleaseCapture(); * [DllImport("user32.dll")] * public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); * public const int WM_SYSCOMMAND = 0x0112; * public const int SC_MOVE = 0xF010; * public const int HTCAPTION = 0x0002; */ /* * //之前的窗口改变大小部分代码,已弃用 * private void GameTranslateForm_Move(object sender, EventArgs e) * { * ReleaseCapture(); * * SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); * * } */ /* * //之前的窗口拖动部分代码,已弃用 * private void TransparentPanel_MouseDown(object sender, MouseEventArgs e) * { * mouse_offset = new Point(-e.X, -e.Y); * } * * private void TransparentPanel_MouseMove(object sender, MouseEventArgs e) * { * * if (e.Button == MouseButtons.Left) * { * Point mousePos = Control.MousePosition; * mousePos.Offset(mouse_offset.X, mouse_offset.Y); * Location = mousePos; * } * * } */ /// <summary> /// 自动进行游戏翻译 /// 检查是否设置了分行翻译、去掉一些乱码类型的符号、检查是否空文本 /// </summary> /// <param name="text"></param> /// <param name="srcLang"></param> /// <param name="desLang"></param> public void GameTranslateAuto(string text, string srcLang, string desLang) { //先检查玩家是否设置了分行翻译 bool eachRowTrans = Convert.ToBoolean(IniFileHelper.WriteValue(Environment.CurrentDirectory + "\\settings.ini", "Translate_All", "EachRowTrans", "True")); if (eachRowTrans == false) { text = text.Replace("<br>", "").Replace("</br>", "").Replace("\n", "").Replace("\t", "").Replace("\r", ""); } //处理:去掉一些乱码类型的符号 text = text.Replace("_", "").Replace("-", "").Replace("+", ""); string currentAPI; string ret = ""; for (int i = 1; i <= 2; i++) { if (i == 1) { currentAPI = firstTransAPI; } else { currentAPI = secondTransAPI; } if (text == "") { ret = ""; } else { if (currentAPI == "BaiduTranslator") { ret = BaiduTranslator.Baidu_Translate(text, desLang, srcLang); if (ret == "Request Timeout") { ret = "[百度]翻译超时"; } else { BaiduTransOutInfo oinfo = JsonConvert.DeserializeObject <BaiduTransOutInfo>(ret); if (oinfo.trans_result != null) { ret = ""; for (int k = 0; k < oinfo.trans_result.Count; k++) { ret = ret + oinfo.trans_result[k].dst + "\n"; } } else { ret = "[百度]翻译错误"; } } } else if (currentAPI == "TencentTranslator") { ret = TencentTranslator.Fanyijun_Translate(text, desLang, srcLang); if (ret == "Request Timeout") { ret = "[腾讯]翻译超时"; } else { TencentTransOutInfo oinfo = JsonConvert.DeserializeObject <TencentTransOutInfo>(ret); if (oinfo.data != null) { ret = oinfo.data.target_text; } else { ret = "[腾讯]翻译错误"; } } } else if (currentAPI == "JBjTranslator") { ret = JBeijingTranslator.Translate_JapanesetoChinese(text); if (ret == null || ret == "") { ret = ""; } } else if (currentAPI == "TencentOldTranslator") { ret = TencentOldTranslator.TencentOld_Translate(text, desLang, srcLang); if (ret == "Request Timeout") { ret = "[腾讯旧]翻译超时"; } else { TencentOldTransOutInfo oinfo = JsonConvert.DeserializeObject <TencentOldTransOutInfo>(ret); if (oinfo.Response.TargetText != null) { ret = oinfo.Response.TargetText; } else { ret = "[腾讯旧]翻译错误"; } } } else { ret = ""; } } if (i == 1) { firstTransText = ret; } else { secondTransText = ret; } } }