Skip to content

Commit 3119bc2

Browse files
committed
feat: Allow add multi-credential and multi-address for one server, and we can check which address is available before open a connection. #301
1 parent 56b16ce commit 3119bc2

19 files changed

+124
-66
lines changed

Ui/Model/Protocol/Base/Credential.cs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,19 +71,18 @@ public static bool TestAddressPortIsAvailable(ProtocolBaseWithAddressPortUserPwd
7171
string port = string.IsNullOrEmpty(credential.Port) ? protocol.Port : credential.Port;
7272
try
7373
{
74-
75-
var iport = int.Parse(port);
74+
var p = int.Parse(port);
7675
var client = new TcpClient();
7776
if (timeOutMillisecond > 0)
7877
{
79-
if (!client.ConnectAsync(address, iport).Wait(timeOutMillisecond))
78+
if (!client.ConnectAsync(address, p).Wait(timeOutMillisecond))
8079
{
8180
throw new Exception();
8281
}
8382
}
8483
else
8584
{
86-
client.Connect(address, iport);
85+
client.Connect(address, p);
8786
}
8887
client.Close();
8988

@@ -93,9 +92,6 @@ public static bool TestAddressPortIsAvailable(ProtocolBaseWithAddressPortUserPwd
9392
{
9493
// ignored
9594
}
96-
97-
SimpleLogHelper.Error($"TXT:{address}:{port} 未打开");
98-
9995
return false;
10096
}
10197

Ui/Model/ProtocolAction.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public static List<ProtocolAction> GetActions(this ProtocolBase server)
5353
foreach (var credential in protocol.AlternateCredentials)
5454
{
5555
actions.Add(new ProtocolAction(
56-
actionName: IoC.Get<ILanguageService>().Translate("Connect") + $" (TXT:with credential {credential.Name})",
56+
actionName: IoC.Get<ILanguageService>().Translate("Connect") + $" ({IoC.Get<ILanguageService>().Translate("with alternative")} `{credential.Name}`)",
5757
action: () => { GlobalEventHelper.OnRequestServerConnect?.Invoke(server, fromView: $"{nameof(LauncherWindowView)} - Action - AlternateCredentials", assignCredentialName: credential.Name); }
5858
));
5959
}

Ui/Resources/Languages/cs-cz.xaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,4 +250,10 @@
250250
<s:String x:Key="Show XXX button">Show `{0}` button</s:String>
251251
<s:String x:Key="Show recently used here">Zobrazit nedávno použité zde</s:String>
252252
<s:String x:Key="Hide recently used">Skrýt nedávno použité</s:String>
253+
<s:String x:Key="Leave blank to inherit the default value">Chcete-li zdědit výchozí hodnotu, ponechte prázdné</s:String>
254+
<s:String x:Key="Alternative">Alternativní</s:String>
255+
<s:String x:Key="with alternative">s alternativou</s:String>
256+
<s:String x:Key="Automatic address switching">Automatické přepínání adres</s:String>
257+
<s:String x:Key="When the default host or port is unavailable the alternate addresses will be tried in sequence">Pokud není výchozí hostitel nebo port k dispozici, budou postupně vyzkoušeny alternativní adresy</s:String>
258+
<s:String x:Key="support multi-address multi-account">support multi-address multi-account</s:String>
253259
</ResourceDictionary>

Ui/Resources/Languages/de-de.xaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,4 +250,10 @@
250250
<s:String x:Key="Show XXX button">Show `{0}` button</s:String>
251251
<s:String x:Key="Show recently used here">Kürzlich verwendete hier anzeigen</s:String>
252252
<s:String x:Key="Hide recently used">Zuletzt verwendete ausblenden</s:String>
253+
<s:String x:Key="Leave blank to inherit the default value">Lassen Sie das Feld leer, um den Standardwert zu übernehmen</s:String>
254+
<s:String x:Key="Alternative">Alternative</s:String>
255+
<s:String x:Key="with alternative">mit Alternative</s:String>
256+
<s:String x:Key="Automatic address switching">Automatische Adressumschaltung</s:String>
257+
<s:String x:Key="When the default host or port is unavailable the alternate addresses will be tried in sequence">Wenn der Standardhost oder -port nicht verfügbar ist, werden die alternativen Adressen nacheinander ausprobiert</s:String>
258+
<s:String x:Key="support multi-address multi-account">support multi-address multi-account</s:String>
253259
</ResourceDictionary>

Ui/Resources/Languages/en-us.xaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,4 +250,10 @@
250250
<s:String x:Key="Show XXX button">Show `{0}` button</s:String>
251251
<s:String x:Key="Show recently used here"> Show recently used here</s:String>
252252
<s:String x:Key="Hide recently used"> Hide recently used</s:String>
253+
<s:String x:Key="Leave blank to inherit the default value">Leave blank to inherit the default value</s:String>
254+
<s:String x:Key="Alternative">Alternative</s:String>
255+
<s:String x:Key="with alternative">with alternative</s:String>
256+
<s:String x:Key="Automatic address switching">Automatic address switching</s:String>
257+
<s:String x:Key="When the default host or port is unavailable the alternate addresses will be tried in sequence">When the default host or port is unavailable the alternate addresses will be tried in sequence</s:String>
258+
<s:String x:Key="support multi-address multi-account">support multi-address multi-account</s:String>
253259
</ResourceDictionary>

Ui/Resources/Languages/fr-fr.xaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,4 +250,10 @@
250250
<s:String x:Key="Show XXX button">Show `{0}` button</s:String>
251251
<s:String x:Key="Show recently used here">Afficher récemment utilisé ici</s:String>
252252
<s:String x:Key="Hide recently used">Masquer récemment utilisé</s:String>
253+
<s:String x:Key="Leave blank to inherit the default value">Laisser vide pour hériter de la valeur par défaut</s:String>
254+
<s:String x:Key="Alternative">Alternative</s:String>
255+
<s:String x:Key="with alternative">avec alternative</s:String>
256+
<s:String x:Key="Automatic address switching">Changement d'adresse automatique</s:String>
257+
<s:String x:Key="When the default host or port is unavailable the alternate addresses will be tried in sequence">Lorsque l'hôte ou le port par défaut n'est pas disponible, les adresses alternatives seront essayées dans l'ordre</s:String>
258+
<s:String x:Key="support multi-address multi-account">support multi-address multi-account</s:String>
253259
</ResourceDictionary>

Ui/Resources/Languages/glossary.csv

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,4 +265,10 @@ Please select a Data Source,Please select a Data Source,请选择一个数据源
265265
Test connection,Test connection,测试连接,Test connection,Test connection,Test connection,,
266266
Show XXX button,Show `{0}` button,显示 `{0}` 按钮,Show `{0}` button,Show `{0}` button,Show `{0}` button,Show `{0}` button,Show `{0}` button,
267267
Show recently used here, Show recently used here, 在此显示最近使用的会话,,,,,
268-
Hide recently used, Hide recently used, 隐藏最近使用的会话,,,,,
268+
Hide recently used, Hide recently used, 隐藏最近使用的会话,,,,,
269+
Leave blank to inherit the default value,Leave blank to inherit the default value,留空以继承默认值,,,,,
270+
Alternative,Alternative,备选,,,,,
271+
with alternative,with alternative,使用备选凭证,,,,,
272+
Automatic address switching,Automatic address switching,自动切换地址,,,,,
273+
When the default host or port is unavailable the alternate addresses will be tried in sequence,When the default host or port is unavailable the alternate addresses will be tried in sequence,当默认的地址不可用时,将自动依次尝试备选地址,,,,
274+
support multi-address multi-account,support multi-address multi-account,支持多地址、多账号,support multi-address multi-account,support multi-address multi-account,support multi-address multi-account,support multi-address multi-account,support multi-address multi-account

Ui/Resources/Languages/glossary_maker.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,16 @@ def load_csv(self, csv_file_name: str, encoding: str = 'utf-8'):
4545
with open(csv_file_name, mode='r', encoding=encoding)as f:
4646
reader = csv.reader(f)
4747
for row in reader:
48-
lines.append(row)
48+
if len(row) > 0:
49+
lines.append(row)
4950
key_column_index = 0
5051
en_column_index = 1
5152
self.keys = [Forbidden_Characters_in_XAML_Key_convert(line[key_column_index]) for line in lines]
5253
self.english_words = [Special_Marks_to_Characters_in_XAML(line[en_column_index]) for line in lines]
5354
for col in range(len(lines[0])):
5455
if col == key_column_index or col == en_column_index:
5556
continue
56-
self.columns.append([Special_Marks_to_Characters_in_XAML(line[col]) for line in lines])
57+
self.columns.append([Special_Marks_to_Characters_in_XAML(line[col]) if len(line) > col else '' for line in lines])
5758

5859
def save_csv(self, csv_file_name: str, encoding: str = 'utf-8'):
5960
lines = []

Ui/Resources/Languages/glossary_translated_by_google.csv

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,3 +278,9 @@ Test connection,Test connection,测试连接,Test connection,Test connection,Tes
278278
Show XXX button,Show `{0}` button,显示 `{0}` 按钮,Show `{0}` button,Show `{0}` button,Show `{0}` button,Show `{0}` button,Show `{0}` button
279279
Show recently used here, Show recently used here, 在此显示最近使用的会话,Zobrazit nedávno použité zde,Kürzlich verwendete hier anzeigen,Afficher récemment utilisé ici,Mostrar usado recentemente aqui,最近使用したものをここに表示
280280
Hide recently used, Hide recently used, 隐藏最近使用的会话,Skrýt nedávno použité,Zuletzt verwendete ausblenden,Masquer récemment utilisé,Ocultar usado recentemente,最近使用したものを非表示
281+
Leave blank to inherit the default value,Leave blank to inherit the default value,留空以继承默认值,"Chcete-li zdědit výchozí hodnotu, ponechte prázdné","Lassen Sie das Feld leer, um den Standardwert zu übernehmen",Laisser vide pour hériter de la valeur par défaut,Deixe em branco para herdar o valor padrão,デフォルト値を継承するには空白のままにします
282+
Alternative,Alternative,备选,Alternativní,Alternative,Alternative,Alternativa,別
283+
with alternative,with alternative,使用备选凭证,s alternativou,mit Alternative,avec alternative,com alternativa,代替品あり
284+
Automatic address switching,Automatic address switching,自动切换地址,Automatické přepínání adres,Automatische Adressumschaltung,Changement d'adresse automatique,Comutação automática de endereço,自動アドレス切り替え
285+
When the default host or port is unavailable the alternate addresses will be tried in sequence,When the default host or port is unavailable the alternate addresses will be tried in sequence,当默认的地址不可用时,将自动依次尝试备选地址,"Pokud není výchozí hostitel nebo port k dispozici, budou postupně vyzkoušeny alternativní adresy","Wenn der Standardhost oder -port nicht verfügbar ist, werden die alternativen Adressen nacheinander ausprobiert","Lorsque l'hôte ou le port par défaut n'est pas disponible, les adresses alternatives seront essayées dans l'ordre","Quando o host ou porta padrão não estiver disponível, os endereços alternativos serão tentados em sequência",デフォルトのホストまたはポートが使用できない場合、代替アドレスが順番に試行されます
286+
support multi-address multi-account,support multi-address multi-account,支持多地址、多账号,support multi-address multi-account,support multi-address multi-account,support multi-address multi-account,support multi-address multi-account,support multi-address multi-account

Ui/Resources/Languages/ja-jp.xaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,4 +250,10 @@
250250
<s:String x:Key="Show XXX button">Show `{0}` button</s:String>
251251
<s:String x:Key="Show recently used here">最近使用したものをここに表示</s:String>
252252
<s:String x:Key="Hide recently used">最近使用したものを非表示</s:String>
253+
<s:String x:Key="Leave blank to inherit the default value">デフォルト値を継承するには空白のままにします</s:String>
254+
<s:String x:Key="Alternative">別</s:String>
255+
<s:String x:Key="with alternative">代替品あり</s:String>
256+
<s:String x:Key="Automatic address switching">自動アドレス切り替え</s:String>
257+
<s:String x:Key="When the default host or port is unavailable the alternate addresses will be tried in sequence">デフォルトのホストまたはポートが使用できない場合、代替アドレスが順番に試行されます</s:String>
258+
<s:String x:Key="support multi-address multi-account">support multi-address multi-account</s:String>
253259
</ResourceDictionary>

0 commit comments

Comments
 (0)