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