Skip to content

Commit a1bf8aa

Browse files
committed
Merge branch 'main' into feature/webview2_settings
2 parents 33a20e7 + 551bc44 commit a1bf8aa

File tree

56 files changed

+871
-336
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+871
-336
lines changed

Source/3rdparty/Dragablz

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using System;
2+
using System.Globalization;
3+
using System.Linq;
4+
using System.Windows;
5+
using System.Windows.Data;
6+
7+
namespace NETworkManager.Converters;
8+
9+
public sealed class BooleansAndToVisibilityCollapsedConverter : IMultiValueConverter
10+
{
11+
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
12+
{
13+
return values.OfType<bool>().All(b => b) ? Visibility.Visible : Visibility.Collapsed;
14+
}
15+
16+
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
17+
{
18+
throw new NotImplementedException();
19+
}
20+
}

Source/NETworkManager.Converters/BooleanToVisibilityCollapsedMultiConverter.cs renamed to Source/NETworkManager.Converters/BooleansOrToVisibilityCollapsedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace NETworkManager.Converters;
88

9-
public sealed class BooleanToVisibilityCollapsedMultiConverter : IMultiValueConverter
9+
public sealed class BooleansOrToVisibilityCollapsedConverter : IMultiValueConverter
1010
{
1111
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
1212
{
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using NETworkManager.Utilities;
2+
using System;
3+
using System.Globalization;
4+
using System.Windows;
5+
using System.Windows.Data;
6+
7+
namespace NETworkManager.Converters;
8+
9+
public sealed class ChildWindowIconToRectangleStyleConverter : IValueConverter
10+
{
11+
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
12+
{
13+
if (value is not ChildWindowIcon icon)
14+
return null;
15+
16+
switch (icon)
17+
{
18+
case ChildWindowIcon.Info:
19+
return Application.Current.FindResource("InfoImageRectangle");
20+
case ChildWindowIcon.Warn:
21+
return Application.Current.FindResource("WarnImageRectangle");
22+
case ChildWindowIcon.Error:
23+
return Application.Current.FindResource("ErrorImageRectangle");
24+
default:
25+
return null;
26+
}
27+
}
28+
29+
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
30+
{
31+
throw new NotImplementedException();
32+
}
33+
}

Source/NETworkManager.Localization/Resources/Strings.de-DE.resx

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -679,7 +679,7 @@
679679
<value>Anwenden</value>
680680
</data>
681681
<data name="ApplyWindowsKeyCombinationsLikeAltTab" xml:space="preserve">
682-
<value>Windows Tastenkombinationen anwenden (z. B. ALT+TAB):</value>
682+
<value>Windows-Tastenkombinationen anwenden (z. B. ALT+TAB):</value>
683683
</data>
684684
<data name="Auth" xml:space="preserve">
685685
<value>Auth</value>
@@ -1367,13 +1367,13 @@ Profildateien sind nicht betroffen!</value>
13671367
<value>Geben Sie eine gültige IPv4-Adresse ein!</value>
13681368
</data>
13691369
<data name="EnterValidMACAddress" xml:space="preserve">
1370-
<value>Geben Sie eine gültige MAC-Addresse (z. B. 00:F1:23:AB:F2:35) ein!</value>
1370+
<value>Geben Sie eine gültige MAC-Adresse ein (z. B. 00:F1:23:AB:F2:35)!</value>
13711371
</data>
13721372
<data name="EnterValidPort" xml:space="preserve">
13731373
<value>Geben Sie einen gültigen Port ein (1 - 65535)!</value>
13741374
</data>
13751375
<data name="EnterValidSubnetmask" xml:space="preserve">
1376-
<value>Geben Sie eine gültige Subnetzmaske ein (z. B. 255.255.255.0)!</value>
1376+
<value>Geben Sie eine gültige Subnetzmaske ein (z.B. 255.255.255.0)!</value>
13771377
</data>
13781378
<data name="EnterValidSubnetmaskOrCIDR" xml:space="preserve">
13791379
<value>Geben Sie eine gültige Subnetzmaske oder CIDR ein (z. B. 255.255.255.0 oder /24)!</value>
@@ -1448,10 +1448,10 @@ Profildateien sind nicht betroffen!</value>
14481448
<value>Geben Sie einen gültigen Port und/oder Port-Bereich ein (1 - 65535)!</value>
14491449
</data>
14501450
<data name="EnterValidSubnet" xml:space="preserve">
1451-
<value>Geben Sie ein gültiges Subnetz ein (z. B. 192.168.178.133/26)!</value>
1451+
<value>Geben Sie ein gültiges Subnetz ein (z.B. 192.168.178.133/26)!</value>
14521452
</data>
14531453
<data name="EnterValidWebsiteUri" xml:space="preserve">
1454-
<value>Geben Sie eine gültige Webseite ein (z. B. https://example.com/index.html)</value>
1454+
<value>Geben Sie eine gültige Website ein (z. B. https://example.com/index.html)</value>
14551455
</data>
14561456
<data name="Green" xml:space="preserve">
14571457
<value>Grün</value>
@@ -1742,7 +1742,7 @@ Profildateien sind nicht betroffen!</value>
17421742
<value>Füge eine Registerkarte hinzu, um eine Whois-Abfrage durchzuführen...</value>
17431743
</data>
17441744
<data name="EnterValidDomain" xml:space="preserve">
1745-
<value>Geben Sie eine gültige Domain ein (z. B. "example.com")!</value>
1745+
<value>Geben Sie eine gültige Domäne ein (z. B. "example.com")!</value>
17461746
</data>
17471747
<data name="WhoisServerNotFoundForTheDomain" xml:space="preserve">
17481748
<value>Whois-Server nicht gefunden für die Domain: "{0}"</value>
@@ -2032,7 +2032,7 @@ ist deaktiviert!</value>
20322032
<value>Benutzerdefinierte IPv4-Adressen-API verwenden</value>
20332033
</data>
20342034
<data name="HelpMessage_CustomPublicIPv4AddressAPI" xml:space="preserve">
2035-
<value>URL zu einem Webdienst, der über http oder https erreicht werden kann und eine IPv4-Adresse wie "xx.xx.xx.xx" als Antwort zurückgibt.</value>
2035+
<value>URL zu einem Webdienst, der über http oder https erreichbar ist und eine IPv4-Adresse, z. B. "xx.xx.xx.xx", als Antwort zurückgibt.</value>
20362036
</data>
20372037
<data name="CouldNotParsePublicIPAddressFromXXXMessage" xml:space="preserve">
20382038
<value>Öffentliche IP-Adresse von "{0}" konnte nicht geparsed! Versuchen Sie es mit einem anderen Dienst oder verwenden Sie die Standardeinstellung ...</value>
@@ -3192,7 +3192,7 @@ Wenn die Option wieder deaktiviert wird, werden die Werte nicht mehr verändert.
31923192
<value>SNTP-Server(s)</value>
31933193
</data>
31943194
<data name="HelpMessage_CustomPublicIPv6AddressAPI" xml:space="preserve">
3195-
<value>URL zu einem Webdienst, der über http oder https erreicht werden kann und eine IPv6-Adresse wie "xxxx:xx:xxx::xx" als Antwort zurückgibt.</value>
3195+
<value>URL zu einem Webdienst, der über http oder https erreichbar ist und eine IPv6-Adresse als Antwort zurückgibt, z. B. "xxxx:xx:xxx::xx".</value>
31963196
</data>
31973197
<data name="IPEndPoint" xml:space="preserve">
31983198
<value>IP-Endpunkt</value>
@@ -3234,7 +3234,7 @@ Wenn die Option wieder deaktiviert wird, werden die Werte nicht mehr verändert.
32343234
<value>Ein SNTP-Server mit diesem Namen existiert bereits!</value>
32353235
</data>
32363236
<data name="EnterValidHostnameOrIPAddress" xml:space="preserve">
3237-
<value>Geben Sie einen gültigen Hostnamen (wie "server-01" oder "example.com") oder eine gültige IP-Adresse (wie 192.168.178.1) ein!</value>
3237+
<value>Geben Sie einen gültigen Hostnamen (z. B. "server-01" oder "example.com") oder eine gültige IP-Adresse (z. B. 192.168.178.1) ein!</value>
32383238
</data>
32393239
<data name="Servers" xml:space="preserve">
32403240
<value>Server(s)</value>
@@ -3528,10 +3528,10 @@ Wenn der Wert zu hoch ist, können Leistungsprobleme auftreten.
35283528
<value>Die Einstellungen auf dieser Seite enthalten Fehler. Korrigieren Sie diese, um speichern zu können.</value>
35293529
</data>
35303530
<data name="HelpMessage_PuTTYHostkey" xml:space="preserve">
3531-
<value>SSH-Hostkey, der für die Verbindung verwendet werden soll (wie "71:b8:f2:6e..."). Nur verfügbar, wenn der Modus "SSH" ist.</value>
3531+
<value>SSH-Hostkey, der für die Verbindung verwendet werden soll (z. B. "71:b8:f2:6e..."). Nur verfügbar, wenn der Modus "SSH" ist.</value>
35323532
</data>
35333533
<data name="HelpMessage_PuTTYPrivateKeyFile" xml:space="preserve">
3534-
<value>Vollständiger Pfad zur privaten Schlüsseldatei (z. B. "C:\Users\BornToBeRoot\SSH\private_key.ppk"). Nur verfügbar, wenn der Modus "SSH" ist.</value>
3534+
<value>Vollständiger Pfad zur privaten Schlüsseldatei (z. B. C:\Users\BornToBeRoot\SSH\private_key.ppk). Nur verfügbar, wenn der Modus "SSH" ist.</value>
35353535
</data>
35363536
<data name="HelpMessage_PuTTYUsername" xml:space="preserve">
35373537
<value>Benutzername, der an die PuTTY-Sitzung übergeben wird. Nur verfügbar, wenn der Modus "SSH", "Telnet" oder "Rlogin" ist.</value>
@@ -3916,7 +3916,7 @@ Rechtsklick für weitere Optionen.</value>
39163916
<value>Hosts-Datei konnte nicht geladen werden: {0}</value>
39173917
</data>
39183918
<data name="RetryingInXSecondsDots" xml:space="preserve">
3919-
<value>Wiederholung in {0} {0} Sekunden...</value>
3919+
<value>Wiederholung in {0} Sekunden...</value>
39203920
</data>
39213921
<data name="WhatsNew" xml:space="preserve">
39223922
<value>Was ist neu?</value>
@@ -3933,4 +3933,27 @@ Rechtsklick für weitere Optionen.</value>
39333933
<data name="Entries" xml:space="preserve">
39343934
<value>Einträge</value>
39353935
</data>
3936+
<data name="DeleteHostsFileEntryMessage" xml:space="preserve">
3937+
<value>Der ausgewählte Eintrag wird endgültig gelöscht:
3938+
3939+
{0} {1} {2}</value>
3940+
</data>
3941+
<data name="ExampleHostsFileEntryComment" xml:space="preserve">
3942+
<value>Primärer DNS-Server</value>
3943+
</data>
3944+
<data name="EnterValidHostsFileEntryHostname" xml:space="preserve">
3945+
<value>Geben Sie einen gültigen Hostnamen ein (z.B. "server-01" oder "example.com")! Mehrere Hostnamen können durch ein Leerzeichen getrennt werden.</value>
3946+
</data>
3947+
<data name="HostsFileReadErrorMessage" xml:space="preserve">
3948+
<value>Die Datei "hosts" konnte nicht gelesen werden! Siehe Protokolldatei für weitere Details.</value>
3949+
</data>
3950+
<data name="HostsFileWriteErrorMessage" xml:space="preserve">
3951+
<value>In die Datei „hosts“ konnte nicht geschrieben werden. Siehe Protokolldatei für weitere Details.</value>
3952+
</data>
3953+
<data name="HostsFileEntryNotFoundMessage" xml:space="preserve">
3954+
<value>Der Eintrag wurde nicht in der Datei "hosts" gefunden! Möglicherweise wurde die Datei geändert.</value>
3955+
</data>
3956+
<data name="HostsFileBackupErrorMessage" xml:space="preserve">
3957+
<value>Ein Backup der Datei "hosts" konnte nicht erstellt werden! Siehe Protokolldatei für weitere Details.</value>
3958+
</data>
39363959
</root>

Source/NETworkManager.Localization/Resources/Strings.it-IT.resx

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -679,7 +679,7 @@
679679
<value>Applica</value>
680680
</data>
681681
<data name="ApplyWindowsKeyCombinationsLikeAltTab" xml:space="preserve">
682-
<value>Applica le combinazioni di tasti Windows (ad esempio ALT + TAB):</value>
682+
<value>Applica combinazioni tasti Windows (ad es. ALT+Tab):</value>
683683
</data>
684684
<data name="Auth" xml:space="preserve">
685685
<value>Aut</value>
@@ -1380,16 +1380,16 @@ Cerca per tag con "tag = xxx".</value>
13801380
<value>Inserisci un indirizzo IPv4 valido!</value>
13811381
</data>
13821382
<data name="EnterValidMACAddress" xml:space="preserve">
1383-
<value>Inserisci un indirizzo MAC valido (es. 00: F1: 23: AB: F2: 35)!</value>
1383+
<value>Inserisci un indirizzo MAC valido (ad es. 00: F1: 23: AB: F2: 35)!</value>
13841384
</data>
13851385
<data name="EnterValidPort" xml:space="preserve">
13861386
<value>Inserisci una porta valida (1 - 65535)!</value>
13871387
</data>
13881388
<data name="EnterValidSubnetmask" xml:space="preserve">
1389-
<value>Inserisci una sottorete valida (per esempio 255.255.255.0)!</value>
1389+
<value>Inserisci una maschera sottorete valida (ad es. 255.255.255.0)!</value>
13901390
</data>
13911391
<data name="EnterValidSubnetmaskOrCIDR" xml:space="preserve">
1392-
<value>Inserisci una sottorete o CIDR validi (per esempio 255.255.255.0 o /24)!</value>
1392+
<value>Inserisci una maschera sottorete o CIDR valida (ad es. 255.255.255.0 o /24)!</value>
13931393
</data>
13941394
<data name="FieldCannotBeEmpty" xml:space="preserve">
13951395
<value>Il campo non può essere vuoto!</value>
@@ -1461,10 +1461,10 @@ Cerca per tag con "tag = xxx".</value>
14611461
<value>Inserisci una porta e/o intervallo di porte validi (1 - 65535)!</value>
14621462
</data>
14631463
<data name="EnterValidSubnet" xml:space="preserve">
1464-
<value>Inserisci una sottorete valida (es. 192.168.178.133/26)!</value>
1464+
<value>Inserisci una sottorete valida (ad es. 192.168.178.133/26)!</value>
14651465
</data>
14661466
<data name="EnterValidWebsiteUri" xml:space="preserve">
1467-
<value>Inserisci un sito web valido (es. https://example.com/index.html)</value>
1467+
<value>Inserisci n sito web valido (ad es. https://example.com/index.html)</value>
14681468
</data>
14691469
<data name="Green" xml:space="preserve">
14701470
<value>Verde</value>
@@ -1757,7 +1757,7 @@ Il nome di dominio della parte di autenticazione potrebbe essere errato, il domi
17571757
<value>Aggiungi una scheda per interrogare whois...</value>
17581758
</data>
17591759
<data name="EnterValidDomain" xml:space="preserve">
1760-
<value>Inserisci un dominio valido (come "esempio.com")!</value>
1760+
<value>Inserisci un dominio valido (ad es. "esempio.com")!</value>
17611761
</data>
17621762
<data name="WhoisServerNotFoundForTheDomain" xml:space="preserve">
17631763
<value>Server Whois non trovato per il dominio: "{0}"</value>
@@ -2051,7 +2051,7 @@ Controlla la connessione di rete (firewall, proxy, ecc.).</value>
20512051
<value>Usa API indirizzo IPv4 personalizzato</value>
20522052
</data>
20532053
<data name="HelpMessage_CustomPublicIPv4AddressAPI" xml:space="preserve">
2054-
<value>URL a un servizio Web che può essere raggiunto tramite http o https e restituisce un indirizzo IPv4 come "xx.xx.xx.xx" come risposta.</value>
2054+
<value>URL ad un servizio web che può essere raggiunto tramite HTTP o HTTPS e restituisce un indirizzo IPv4, ad es. "xx.xx.xx.xx" come risposta.</value>
20552055
</data>
20562056
<data name="CouldNotParsePublicIPAddressFromXXXMessage" xml:space="preserve">
20572057
<value>Impossibile analizzare l'indirizzo IP pubblico da "{0}"!
@@ -3224,7 +3224,7 @@ Tuttavia, i valori originali NON vengono ripristinati.</value>
32243224
<value>Server SNTP</value>
32253225
</data>
32263226
<data name="HelpMessage_CustomPublicIPv6AddressAPI" xml:space="preserve">
3227-
<value>URL a un servizio Web che può essere raggiunto tramite http o https e restituisce un indirizzo IPv6 come "xxxx:xx:xxx::xx" come risposta.</value>
3227+
<value>URL ad un servizio web che può essere raggiunto tramite HTTP o HTTPS e restituisce un indirizzo IPv6, ad es. "XXXX: XX: XXX :: XX" come risposta.</value>
32283228
</data>
32293229
<data name="IPEndPoint" xml:space="preserve">
32303230
<value>Terminale IP</value>
@@ -3266,7 +3266,7 @@ Tuttavia, i valori originali NON vengono ripristinati.</value>
32663266
<value>Esiste già un server SNTP con questo nome!</value>
32673267
</data>
32683268
<data name="EnterValidHostnameOrIPAddress" xml:space="preserve">
3269-
<value>Inserisci un nome host valido (esempio "server-01" o "esempio.com") o un indirizzo IP valido (esempio 192.168.178.1)!</value>
3269+
<value>Inserisci un nome host valido (ad es. "server-01" o "esempio.com") o un indirizzo IP valido (ad es. 192.168.178.1)!</value>
32703270
</data>
32713271
<data name="Servers" xml:space="preserve">
32723272
<value>Server</value>
@@ -3616,11 +3616,11 @@ Per assistenza contattare l'amministratore di rete.</value>
36163616
<value>Le impostazioni in questa pagina contengono errori. Correggili per poter salvare.</value>
36173617
</data>
36183618
<data name="HelpMessage_PuTTYHostkey" xml:space="preserve">
3619-
<value>Chiave host SSH da usare per la connessione (come "71:b8:f2:6e...").
3619+
<value>Chiave host SSH da usare per la connessione (ad es. "71: B8: F2: 6E ...").
36203620
Disponibile solo se la modalità è "SSH".</value>
36213621
</data>
36223622
<data name="HelpMessage_PuTTYPrivateKeyFile" xml:space="preserve">
3623-
<value>Percorso completo file chiave privata (come "C:\Users\BornToBeRoot\SSH\private_key.ppk").
3623+
<value>Percorso completo per il file chiave privato (ad es. "C:\Users\Borntoberoot\ssh\private_key.ppk").
36243624
Disponibile solo se la modalità è "SSH".</value>
36253625
</data>
36263626
<data name="HelpMessage_PuTTYUsername" xml:space="preserve">
@@ -4036,4 +4036,27 @@ Per tutti i dettagli consulta l'elenco modifiche</value>
40364036

40374037
{0} {1} {2}</value>
40384038
</data>
4039+
<data name="ExampleHostsFileEntryComment" xml:space="preserve">
4040+
<value>Server DNS primario</value>
4041+
</data>
4042+
<data name="EnterValidHostsFileEntryHostname" xml:space="preserve">
4043+
<value>Inserisci un nome host valido (ad es. "server-01" o "esempio.com")!
4044+
Più nomi host possono essere separati con uno spazio.</value>
4045+
</data>
4046+
<data name="HostsFileReadErrorMessage" xml:space="preserve">
4047+
<value>Il file "host" non può essere letto!
4048+
Per maggiori dettagli consulta il file registro.</value>
4049+
</data>
4050+
<data name="HostsFileWriteErrorMessage" xml:space="preserve">
4051+
<value>Il file "host" non può essere scritto.
4052+
Per maggiori dettagli consulta il file registro.</value>
4053+
</data>
4054+
<data name="HostsFileEntryNotFoundMessage" xml:space="preserve">
4055+
<value>La voce non è stata trovata nel file "host"!
4056+
Forse il file è stato modificato.</value>
4057+
</data>
4058+
<data name="HostsFileBackupErrorMessage" xml:space="preserve">
4059+
<value>Non è stato possibile creare un backup del file "host"!
4060+
Per maggiori dettagli consulta il file registro.</value>
4061+
</data>
40394062
</root>

0 commit comments

Comments
 (0)