Browse Source

Minor updates

tags/4.1.5
celeron533 5 years ago
parent
commit
f75ffc06fc
9 changed files with 16 additions and 24 deletions
  1. +4
    -3
      shadowsocks-csharp/Controller/I18N.cs
  2. +2
    -11
      shadowsocks-csharp/Controller/Service/Listener.cs
  3. +1
    -1
      shadowsocks-csharp/Controller/ShadowsocksController.cs
  4. +1
    -1
      shadowsocks-csharp/Data/ja.txt
  5. +1
    -1
      shadowsocks-csharp/Data/zh_CN.txt
  6. +1
    -1
      shadowsocks-csharp/Data/zh_TW.txt
  7. +2
    -2
      shadowsocks-csharp/Model/Configuration.cs
  8. +1
    -1
      shadowsocks-csharp/View/HotkeySettingsForm.cs
  9. +3
    -3
      shadowsocks-csharp/View/MenuViewController.cs

+ 4
- 3
shadowsocks-csharp/Controller/I18N.cs View File

@@ -44,11 +44,12 @@ namespace Shadowsocks.Controller
} }
} }
public static string GetString(string key)
public static string GetString(string key, params object[] args)
{ {
return _strings.ContainsKey(key) return _strings.ContainsKey(key)
? _strings[key]
: key;
? string.Format(_strings[key], args)
: string.Format(key, args);
} }
} }
} }

+ 2
- 11
shadowsocks-csharp/Controller/Service/Listener.cs View File

@@ -46,16 +46,7 @@ namespace Shadowsocks.Controller
private bool CheckIfPortInUse(int port) private bool CheckIfPortInUse(int port)
{ {
IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties(); IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners();
foreach (IPEndPoint endPoint in ipEndPoints)
{
if (endPoint.Port == port)
{
return true;
}
}
return false;
return ipProperties.GetActiveTcpListeners().Any(endPoint => endPoint.Port == port);
} }
public void Start(Configuration config) public void Start(Configuration config)
@@ -64,7 +55,7 @@ namespace Shadowsocks.Controller
this._shareOverLAN = config.shareOverLan; this._shareOverLAN = config.shareOverLan;
if (CheckIfPortInUse(_config.localPort)) if (CheckIfPortInUse(_config.localPort))
throw new Exception(I18N.GetString("Port already in use"));
throw new Exception(I18N.GetString("Port {0} already in use", _config.localPort));
try try
{ {


+ 1
- 1
shadowsocks-csharp/Controller/ShadowsocksController.cs View File

@@ -553,7 +553,7 @@ namespace Shadowsocks.Controller
SocketException se = (SocketException)e; SocketException se = (SocketException)e;
if (se.SocketErrorCode == SocketError.AccessDenied) if (se.SocketErrorCode == SocketError.AccessDenied)
{ {
e = new Exception(I18N.GetString("Port already in use"), e);
e = new Exception(I18N.GetString("Port {0} already in use", _config.localPort), e);
} }
} }
Logging.LogUsefulException(e); Logging.LogUsefulException(e);


+ 1
- 1
shadowsocks-csharp/Data/ja.txt View File

@@ -113,7 +113,7 @@ Reg Hotkeys At Startup=起動時にホットキーを登録する
# Messages # Messages
Shadowsocks Error: {0}=Shadowsocks エラー: {0} Shadowsocks Error: {0}=Shadowsocks エラー: {0}
Port already in use=ポートは既に使用されています。
Port {0} already in use=ポート番号 {0} は既に使用されています。
Invalid server address=サーバーアドレスが無効です。 Invalid server address=サーバーアドレスが無効です。
Illegal port number format=ポート番号のフォーマットが無効です。 Illegal port number format=ポート番号のフォーマットが無効です。
Illegal timeout format=タイムアウト値のフォーマットが無効です。 Illegal timeout format=タイムアウト値のフォーマットが無効です。


+ 1
- 1
shadowsocks-csharp/Data/zh_CN.txt View File

@@ -113,7 +113,7 @@ Reg Hotkeys At Startup=启动时注册快捷键
# Messages # Messages
Shadowsocks Error: {0}=Shadowsocks 错误: {0} Shadowsocks Error: {0}=Shadowsocks 错误: {0}
Port already in use=端口已被占用
Port {0} already in use=端口 {0} 已被占用
Invalid server address=非法服务器地址 Invalid server address=非法服务器地址
Illegal port number format=非法端口格式 Illegal port number format=非法端口格式
Illegal timeout format=非法超时格式 Illegal timeout format=非法超时格式


+ 1
- 1
shadowsocks-csharp/Data/zh_TW.txt View File

@@ -113,7 +113,7 @@ Reg Hotkeys At Startup=啟動時註冊快速鍵
# Messages # Messages
Shadowsocks Error: {0}=Shadowsocks 錯誤: {0} Shadowsocks Error: {0}=Shadowsocks 錯誤: {0}
Port already in use=連接埠號碼已被使用
Port {0} already in use=連接埠號碼 {0} 已被使用
Invalid server address=無效伺服器位址 Invalid server address=無效伺服器位址
Illegal port number format=無效連接埠號碼格式 Illegal port number format=無效連接埠號碼格式
Illegal timeout format=無效逾時格式 Illegal timeout format=無效逾時格式


+ 2
- 2
shadowsocks-csharp/Model/Configuration.cs View File

@@ -164,8 +164,8 @@ namespace Shadowsocks.Model
public static void CheckTimeout(int timeout, int maxTimeout) public static void CheckTimeout(int timeout, int maxTimeout)
{ {
if (timeout <= 0 || timeout > maxTimeout) if (timeout <= 0 || timeout > maxTimeout)
throw new ArgumentException(string.Format(
I18N.GetString("Timeout is invalid, it should not exceed {0}"), maxTimeout));
throw new ArgumentException(
I18N.GetString("Timeout is invalid, it should not exceed {0}", maxTimeout));
} }
} }
} }

+ 1
- 1
shadowsocks-csharp/View/HotkeySettingsForm.cs View File

@@ -185,7 +185,7 @@ namespace Shadowsocks.View
switch (result) switch (result)
{ {
case RegResult.ParseError: case RegResult.ParseError:
MessageBox.Show(string.Format(I18N.GetString("Cannot parse hotkey: {0}"), hotkeyStr));
MessageBox.Show(I18N.GetString("Cannot parse hotkey: {0}", hotkeyStr));
break; break;
case RegResult.UnregSuccess: case RegResult.UnregSuccess:
label.ResetBackColor(); label.ResetBackColor();


+ 3
- 3
shadowsocks-csharp/View/MenuViewController.cs View File

@@ -134,7 +134,7 @@ namespace Shadowsocks.View
void controller_Errored(object sender, System.IO.ErrorEventArgs e) void controller_Errored(object sender, System.IO.ErrorEventArgs e)
{ {
MessageBox.Show(e.GetException().ToString(), String.Format(I18N.GetString("Shadowsocks Error: {0}"), e.GetException().Message));
MessageBox.Show(e.GetException().ToString(), I18N.GetString("Shadowsocks Error: {0}", e.GetException().Message));
} }
#region Tray Icon #region Tray Icon
@@ -185,7 +185,7 @@ namespace Shadowsocks.View
string text = I18N.GetString("Shadowsocks") + " " + UpdateChecker.Version + "\n" + string text = I18N.GetString("Shadowsocks") + " " + UpdateChecker.Version + "\n" +
(enabled ? (enabled ?
I18N.GetString("System Proxy On: ") + (global ? I18N.GetString("Global") : I18N.GetString("PAC")) : I18N.GetString("System Proxy On: ") + (global ? I18N.GetString("Global") : I18N.GetString("PAC")) :
String.Format(I18N.GetString("Running: Port {0}"), config.localPort)) // this feedback is very important because they need to know Shadowsocks is running
I18N.GetString("Running: Port {0}", config.localPort)) // this feedback is very important because they need to know Shadowsocks is running
+ "\n" + serverInfo; + "\n" + serverInfo;
if (text.Length > 127) if (text.Length > 127)
{ {
@@ -371,7 +371,7 @@ namespace Shadowsocks.View
{ {
if (updateChecker.NewVersionFound) if (updateChecker.NewVersionFound)
{ {
ShowBalloonTip(String.Format(I18N.GetString("Shadowsocks {0} Update Found"), updateChecker.LatestVersionNumber + updateChecker.LatestVersionSuffix), I18N.GetString("Click here to update"), ToolTipIcon.Info, 5000);
ShowBalloonTip(I18N.GetString("Shadowsocks {0} Update Found", updateChecker.LatestVersionNumber + updateChecker.LatestVersionSuffix), I18N.GetString("Click here to update"), ToolTipIcon.Info, 5000);
} }
else if (!_isStartupChecking) else if (!_isStartupChecking)
{ {


Loading…
Cancel
Save