From 6e4cb9a534b2ce547c8aa365f2492c12459956b3 Mon Sep 17 00:00:00 2001 From: ChsBuffer <33744752+chsbuffer@users.noreply.github.com> Date: Sun, 5 Jul 2020 23:59:11 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=F0=9F=90=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Netch/Controllers/HTTPController.cs | 27 +----------------- Netch/Forms/SettingForm.cs | 2 +- Netch/Utils/i18N.cs | 43 ++++++++++++++--------------- 3 files changed, 23 insertions(+), 49 deletions(-) diff --git a/Netch/Controllers/HTTPController.cs b/Netch/Controllers/HTTPController.cs index 4a3e8e34..004644c5 100644 --- a/Netch/Controllers/HTTPController.cs +++ b/Netch/Controllers/HTTPController.cs @@ -25,6 +25,7 @@ namespace Netch.Controllers /// 是否启动成功 public bool Start(Server server, Mode mode) { + RecordPrevious(); try { if (server.Type == "Socks5") @@ -43,21 +44,7 @@ namespace Netch.Controllers if (mode.Type != 5) { - RecordPrevious(); - NativeMethods.SetGlobal($"127.0.0.1:{Global.Settings.HTTPLocalPort}", ""); - - // HTTP 系统代理模式,启动系统代理 - /* - using (var registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true)) - { - registry.SetValue("ProxyEnable", 1); - registry.SetValue("ProxyServer", $"127.0.0.1:{Global.Settings.HTTPLocalPort}"); - - Win32Native.InternetSetOption(IntPtr.Zero, 39, IntPtr.Zero, 0); - Win32Native.InternetSetOption(IntPtr.Zero, 37, IntPtr.Zero, 0); - } - */ } } catch (Exception e) @@ -114,18 +101,6 @@ namespace Netch.Controllers if (!prevEnabled) NativeMethods.SetDIRECT(); prevEnabled = false; - - - /* - using (var registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true)) - { - registry.SetValue("ProxyEnable", 0); - registry.DeleteValue("ProxyServer", false); - - Win32Native.InternetSetOption(IntPtr.Zero, 39, IntPtr.Zero, 0); - Win32Native.InternetSetOption(IntPtr.Zero, 37, IntPtr.Zero, 0); - } - */ } catch (Exception e) { diff --git a/Netch/Forms/SettingForm.cs b/Netch/Forms/SettingForm.cs index 300838ba..a1f07e62 100644 --- a/Netch/Forms/SettingForm.cs +++ b/Netch/Forms/SettingForm.cs @@ -104,7 +104,7 @@ namespace Netch.Forms AclAddr.Text = Global.Settings.ACL; LanguageLabel.Text = i18N.Translate(LanguageLabel.Text); - LanguageComboBox.Items.AddRange(i18N.TranslatesList.ToArray()); + LanguageComboBox.Items.AddRange(i18N.GetTranslateList().ToArray()); LanguageComboBox.SelectedItem = Global.Settings.Language; } diff --git a/Netch/Utils/i18N.cs b/Netch/Utils/i18N.cs index 65a2e981..ff828137 100644 --- a/Netch/Utils/i18N.cs +++ b/Netch/Utils/i18N.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Globalization; using System.IO; +using System.Linq; using System.Text; using Netch.Properties; using Newtonsoft.Json; @@ -10,21 +11,7 @@ namespace Netch.Utils { public static class i18N { - static i18N() - { - TranslatesList = new List {"System", "zh-CN", "en-US"}; - if (!Directory.Exists("i18n")) return; - foreach (var fileName in Directory.GetFiles("i18n", "*")) - { - TranslatesList.Add(fileName.Substring(5)); - } - } - /// - /// 可用语言列表 - /// - public static List TranslatesList { get; } - /// /// 数据 /// @@ -38,14 +25,15 @@ namespace Netch.Utils /// 语言代码 public static void Load(string langCode) { + LangCode = langCode; + var text = ""; - if (langCode.Equals("System")) { // 加载系统语言 langCode = CultureInfo.CurrentCulture.Name; } - LangCode = langCode; + if (langCode == "zh-CN") @@ -83,12 +71,23 @@ namespace Netch.Utils /// 翻译完毕的文本 public static string Translate(string text) { - if (Data.Contains(text)) - { - return Data[text].ToString(); - } + return Data.Contains(text) ? Data[text].ToString() : text; + } + public static string Translate(params string[] text) + { + var a = new StringBuilder(); + foreach (var t in text) + a.Append(Data.Contains(t) ? Data[t].ToString() : t); + return a.ToString(); + } + + public static List GetTranslateList() + { + var translateFile = new List {"System", "zh-CN", "en-US"}; - return text; + if (!Directory.Exists("i18n")) return translateFile; + translateFile.AddRange(Directory.GetFiles("i18n", "*").Select(fileName => fileName.Substring(5))); + return translateFile; } } -} +} \ No newline at end of file