aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/locales
diff options
context:
space:
mode:
Diffstat (limited to 'locales')
-rw-r--r--locales/de/messages.gotext.json1791
-rw-r--r--locales/fr/messages.gotext.json494
-rw-r--r--locales/it/messages.gotext.json512
-rw-r--r--locales/ja/messages.gotext.json632
-rw-r--r--locales/ru/messages.gotext.json1851
-rw-r--r--locales/sl/messages.gotext.json616
-rw-r--r--locales/zh-CN/messages.gotext.json1761
7 files changed, 6908 insertions, 749 deletions
diff --git a/locales/de/messages.gotext.json b/locales/de/messages.gotext.json
new file mode 100644
index 00000000..85353269
--- /dev/null
+++ b/locales/de/messages.gotext.json
@@ -0,0 +1,1791 @@
+{
+ "language": "de",
+ "messages": [
+ {
+ "id": "Error",
+ "message": "Error",
+ "translation": "Fehler",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(no argument): elevate and install manager service",
+ "message": "(no argument): elevate and install manager service",
+ "translation": "(kein Argument): Als Administrator ausführen und den Manager-Dienst installieren",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Usage: {Args0} [\n{String}]",
+ "message": "Usage: {Args0} [\n{String}]",
+ "translation": "Verwendung: {Args0} [\n{String}]",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Args0",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "os.Args[0]"
+ },
+ {
+ "id": "String",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "builder.String()"
+ }
+ ]
+ },
+ {
+ "id": "Command Line Options",
+ "message": "Command Line Options",
+ "translation": "Kommandozeilenoptionen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to determine whether the process is running under WOW64: {Err}",
+ "message": "Unable to determine whether the process is running under WOW64: {Err}",
+ "translation": "Es kann nicht festgestellt werden, ob der Prozess unter WOW64 ausgeführt wird: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "You must use the 64-bit version of WireGuard on this computer.",
+ "message": "You must use the 64-bit version of WireGuard on this computer.",
+ "translation": "Sie müssen die 64-Bit-Version von WireGuard auf diesem Computer verwenden.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to open current process token: {Err}",
+ "message": "Unable to open current process token: {Err}",
+ "translation": "Konnte aktuellen Prozess-Token nicht öffnen: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
+ "message": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
+ "translation": "WireGuard kann nur von Benutzern verwendet werden, die Mitglied der Gruppe {AdminGroupName} sind.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "AdminGroupName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "elevate.AdminGroupName()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
+ "message": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
+ "translation": "WireGuard wird ausgeführt, aber auf die Benutzeroberfläche kann nur von Desktops der Gruppe {AdminGroupName} zugegriffen werden.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "AdminGroupName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "elevate.AdminGroupName()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard system tray icon did not appear after 30 seconds.",
+ "message": "WireGuard system tray icon did not appear after 30 seconds.",
+ "translation": "Das WireGuard-Taskleistensymbol ist nicht innerhalb von 30 Sekunden erschienen.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Now",
+ "message": "Now",
+ "translation": "Jetzt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "System clock wound backward!",
+ "message": "System clock wound backward!",
+ "translation": "Die Systemuhr wurde zurück gestellt!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Years} year(s)",
+ "message": "{Years} year(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Years",
+ "cases": {
+ "one": {
+ "msg": "{Years} Jahr"
+ },
+ "other": {
+ "msg": "{Years} Jahre"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Years",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "years"
+ }
+ ]
+ },
+ {
+ "id": "{Days} day(s)",
+ "message": "{Days} day(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Days",
+ "cases": {
+ "one": {
+ "msg": "{Days} Tag"
+ },
+ "other": {
+ "msg": "{Days} Tage"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Days",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "days"
+ }
+ ]
+ },
+ {
+ "id": "{Hours} hour(s)",
+ "message": "{Hours} hour(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Hours",
+ "cases": {
+ "one": {
+ "msg": "{Hours} Stunde"
+ },
+ "other": {
+ "msg": "{Hours} Stunden"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Hours",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "hours"
+ }
+ ]
+ },
+ {
+ "id": "{Minutes} minute(s)",
+ "message": "{Minutes} minute(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Minutes",
+ "cases": {
+ "one": {
+ "msg": "{Minutes} Minute"
+ },
+ "other": {
+ "msg": "{Minutes} Minuten"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Minutes",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "minutes"
+ }
+ ]
+ },
+ {
+ "id": "{Seconds} second(s)",
+ "message": "{Seconds} second(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Seconds",
+ "cases": {
+ "one": {
+ "msg": "{Seconds} Sekunde"
+ },
+ "other": {
+ "msg": "{Seconds} Sekunden"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Seconds",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "seconds"
+ }
+ ]
+ },
+ {
+ "id": "{Timestamp} ago",
+ "message": "{Timestamp} ago",
+ "translation": "vor {Timestamp}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Timestamp",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "timestamp"
+ }
+ ]
+ },
+ {
+ "id": "{Bytes} B",
+ "message": "{Bytes} B",
+ "translation": "{Bytes} B",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Bytes",
+ "string": "%[1]d",
+ "type": "golang.zx2c4.com/wireguard/windows/conf.Bytes",
+ "underlyingType": "uint64",
+ "argNum": 1,
+ "expr": "b"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024} KiB",
+ "message": "{Float64b__1024} KiB",
+ "translation": "{Float64b__1024} KiB",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / 1024"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024__1024} MiB",
+ "message": "{Float64b__1024__1024} MiB",
+ "translation": "{Float64b__1024__1024} MiB",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / (1024 * 1024)"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024__1024__1024} GiB",
+ "message": "{Float64b__1024__1024__1024} GiB",
+ "translation": "{Float64b__1024__1024__1024} GiB",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024__1024__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / (1024 * 1024 * 1024)"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024__1024__1024__1024} TiB",
+ "message": "{Float64b__1024__1024__1024__1024} TiB",
+ "translation": "{Float64b__1024__1024__1024__1024} TiB",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024__1024__1024__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / (1024 * 1024 * 1024) / 1024"
+ }
+ ]
+ },
+ {
+ "id": "{Why}: {Offender}",
+ "message": "{Why}: {Offender}",
+ "translation": "{Why}: {Offender}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Why",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "e.why"
+ },
+ {
+ "id": "Offender",
+ "string": "%[2]q",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "e.offender"
+ }
+ ]
+ },
+ {
+ "id": "Invalid IP address",
+ "message": "Invalid IP address",
+ "translation": "Ungültige IP-Adresse",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid network prefix length",
+ "message": "Invalid network prefix length",
+ "translation": "Ungültige Länge des Netzwerkpräfixes",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Missing port from endpoint",
+ "message": "Missing port from endpoint",
+ "translation": "Fehlender Port des Endpunktes",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid endpoint host",
+ "message": "Invalid endpoint host",
+ "translation": "Ungültiger Endpunkt-Host",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Brackets must contain an IPv6 address",
+ "message": "Brackets must contain an IPv6 address",
+ "translation": "Eckige Klammern müssen eine IPv6 Adresse enthalten",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid MTU",
+ "message": "Invalid MTU",
+ "translation": "Ungültige MTU",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid port",
+ "message": "Invalid port",
+ "translation": "Ungültiger Port",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid persistent keepalive",
+ "message": "Invalid persistent keepalive",
+ "translation": "Ungültiges Erhaltungsintervall",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key: {Err}",
+ "message": "Invalid key: {Err}",
+ "translation": "Ungültiger Schlüssel: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Keys must decode to exactly 32 bytes",
+ "message": "Keys must decode to exactly 32 bytes",
+ "translation": "Schlüssel müssen auf exakt 32 Bytes dekodiert werden",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Number must be a number between 0 and 2^64-1: {Err}",
+ "message": "Number must be a number between 0 and 2^64-1: {Err}",
+ "translation": "Zahl muss zwischen 0 und 2^64-1 sein: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Two commas in a row",
+ "message": "Two commas in a row",
+ "translation": "Zwei Kommata in einer Zeile",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name is not valid",
+ "message": "Tunnel name is not valid",
+ "translation": "Der Tunnelname ist ungültig",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Line must occur in a section",
+ "message": "Line must occur in a section",
+ "translation": "Die Zeile muss innerhalb eines Abschnitts stehen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid config key is missing an equals separator",
+ "message": "Invalid config key is missing an equals separator",
+ "translation": "Ungültiger Konfigurationseintrag, es fehlt ein = Trennzeichen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Key must have a value",
+ "message": "Key must have a value",
+ "translation": "Eintrag muss einen Wert haben",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Interface] section",
+ "message": "Invalid key for [Interface] section",
+ "translation": "Ungültiger Eintrage im [Interface] Abschnitt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Peer] section",
+ "message": "Invalid key for [Peer] section",
+ "translation": "Ungültiger Eintrag im [Peer] Abschnitt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An interface must have a private key",
+ "message": "An interface must have a private key",
+ "translation": "Eine Schnittstelle muss einen privaten Schlssel enthalten",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "[none specified]",
+ "message": "[none specified]",
+ "translation": "[nicht spezifiziert]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "All peers must have public keys",
+ "message": "All peers must have public keys",
+ "translation": "Alle Teilnehmer (peers) müssen öffentliche Schlüssel haben",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error in getting configuration",
+ "message": "Error in getting configuration",
+ "translation": "Fehler beim Abrufen der Konfiguration",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for interface section",
+ "message": "Invalid key for interface section",
+ "translation": "Ungültiger Eintrag im Abschnitt [interface]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Protocol version must be 1",
+ "message": "Protocol version must be 1",
+ "translation": "Die Protokollversion muss 1 sein",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for peer section",
+ "message": "Invalid key for peer section",
+ "translation": "Ungültiger Eintrag im Abschnitt [peer]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "[EnumerationSeparator]",
+ "message": "[EnumerationSeparator]",
+ "translation": ", ",
+ "comment": "Text to insert between items when listing - most western languages will translate ‘[EnumerationSeparator]’ into ‘, ’ to produce lists like ‘apple, orange, strawberry’. Eastern languages might translate into ‘、’ to produce lists like ‘リンゴ、オレンジ、イチゴ’."
+ },
+ {
+ "id": "[UnitSeparator]",
+ "message": "[UnitSeparator]",
+ "translation": ", ",
+ "comment": "Text to insert when combining units of a measure - most languages will translate ‘[UnitSeparator]’ into ‘ ’ (space) to produce lists like ‘2 minuti 30 sekund’, or empty string ‘’ to produce ‘2分30秒’."
+ },
+ {
+ "id": "About WireGuard",
+ "message": "About WireGuard",
+ "translation": "Über WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard logo image",
+ "message": "WireGuard logo image",
+ "translation": "WireGuard Logo",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
+ "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
+ "translation": "App Version: {Number}\nGo Backend Version: {WireGuardGoVersion}\nGo Version: {Version_go}\nBetriebssystem: {OsName}\nArchitektur: {GOARCH}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "WireGuardGoVersion",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "device.WireGuardGoVersion"
+ },
+ {
+ "id": "Version_go",
+ "string": "%[3]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 3,
+ "expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
+ },
+ {
+ "id": "OsName",
+ "string": "%[4]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 4,
+ "expr": "version.OsName()"
+ },
+ {
+ "id": "GOARCH",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "runtime.GOARCH"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "Schließen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ &Donate!",
+ "message": "♥ &Donate!",
+ "translation": "♥ &Spenden!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": "Status:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Deactivate",
+ "message": "&Deactivate",
+ "translation": "&Deaktivieren",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Activate",
+ "message": "&Activate",
+ "translation": "&Aktivieren",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Public key:",
+ "message": "Public key:",
+ "translation": "Öffentlicher Schlüssel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Listen port:",
+ "message": "Listen port:",
+ "translation": "Eingangsport:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "MTU:",
+ "message": "MTU:",
+ "translation": "MTU:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "Adressen:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "DNS-Server:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Preshared key:",
+ "message": "Preshared key:",
+ "translation": "Geteilter Schlüssel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Allowed IPs:",
+ "message": "Allowed IPs:",
+ "translation": "Erlaubte IPs:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Endpoint:",
+ "message": "Endpoint:",
+ "translation": "Endpunkt:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Persistent keepalive:",
+ "message": "Persistent keepalive:",
+ "translation": "Erhaltungsintervall:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Latest handshake:",
+ "message": "Latest handshake:",
+ "translation": "Letzter Schlüsseltausch:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Transfer:",
+ "message": "Transfer:",
+ "translation": "Übertragen:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "enabled",
+ "message": "enabled",
+ "translation": "aktiviert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{String} received, {String_1} sent",
+ "message": "{String} received, {String_1} sent",
+ "translation": "{String} empfangen, {String} gesendet",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "String",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "c.RxBytes.String()"
+ },
+ {
+ "id": "String_1",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "c.TxBytes.String()"
+ }
+ ]
+ },
+ {
+ "id": "Failed to determine tunnel state",
+ "message": "Failed to determine tunnel state",
+ "translation": "Tunnelstatus konnte nicht ermittelt werden",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to activate tunnel",
+ "message": "Failed to activate tunnel",
+ "translation": "Tunnel aktivieren ist fehlgeschlagen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to deactivate tunnel",
+ "message": "Failed to deactivate tunnel",
+ "translation": "Tunnel deaktivieren ist fehlgeschlagen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Interface: {Name}",
+ "message": "Interface: {Name}",
+ "translation": "Schnittstelle: {Name}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "config.Name"
+ }
+ ]
+ },
+ {
+ "id": "Peer",
+ "message": "Peer",
+ "translation": "Teilnehmer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Create new tunnel",
+ "message": "Create new tunnel",
+ "translation": "Einen neuen Tunnel erstellen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit tunnel",
+ "message": "Edit tunnel",
+ "translation": "Tunnel bearbeiten",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Name:",
+ "message": "&Name:",
+ "translation": "&Name:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Public key:",
+ "message": "&Public key:",
+ "translation": "&Öffentlicher Schlüssel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(unbekannt)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Block untunneled traffic (kill-switch)",
+ "message": "&Block untunneled traffic (kill-switch)",
+ "translation": "&Blockiere Verkehr außerhalb des Tunnels (Not-Aus)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
+ "message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
+ "translation": "Wenn die Konfiguration genau einen Teilnehmer enthält und dieser einen der Einträge 0.0.0.0/0 oder ::/0 in den Erlaubten IPs enthält, so wird ein Firewall-Regelsatz erstellt, der allen Verkehr blockiert, der weder aus dem Tunnel stammt noch in diesen geht, mit Ausnahmen für DHCP- und NDP-Verkehr.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Save",
+ "message": "&Save",
+ "translation": "&Speichern",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "Abbrechen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Configuration:",
+ "message": "&Configuration:",
+ "translation": "&Konfiguration:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid name",
+ "message": "Invalid name",
+ "translation": "Ungültiger Name",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A name is required.",
+ "message": "A name is required.",
+ "translation": "Ein Name ist notwendig.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name ‘{NewName}’ is invalid.",
+ "message": "Tunnel name ‘{NewName}’ is invalid.",
+ "translation": "Der Name „{NewName}“ ist ungültig.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "NewName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "newName"
+ }
+ ]
+ },
+ {
+ "id": "Unable to list existing tunnels",
+ "message": "Unable to list existing tunnels",
+ "translation": "Vorhandene Tunnel können nicht aufgelistet werden",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel already exists",
+ "message": "Tunnel already exists",
+ "translation": "Tunnel existiert bereits",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{NewName}’.",
+ "message": "Another tunnel already exists with the name ‘{NewName}’.",
+ "translation": "Ein Tunnel mit dem Namen „{NewName}“ existiert bereits.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "NewName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "newName"
+ }
+ ]
+ },
+ {
+ "id": "Unable to create new configuration",
+ "message": "Unable to create new configuration",
+ "translation": "Neue Konfiguration kann nicht erstellt werden",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Writing file failed",
+ "message": "Writing file failed",
+ "translation": "Schreiben der Datei schlug fehl",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
+ "message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
+ "translation": "Die Datei „{FilePath}“ existiert bereits.\n\nMöchten Sie sie ersetzen?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "FilePath",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "filePath"
+ }
+ ]
+ },
+ {
+ "id": "Active",
+ "message": "Active",
+ "translation": "Aktiv",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Activating",
+ "message": "Activating",
+ "translation": "Aktiviere",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Inactive",
+ "message": "Inactive",
+ "translation": "Inaktiv",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Deactivating",
+ "message": "Deactivating",
+ "translation": "Deaktiviere",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unknown state",
+ "message": "Unknown state",
+ "translation": "Unbekannter Zustand",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log",
+ "message": "Log",
+ "translation": "Protokoll",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Copy",
+ "message": "&Copy",
+ "translation": "&Kopieren",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select &all",
+ "message": "Select &all",
+ "translation": "&Alles markieren",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Save to file…",
+ "message": "&Save to file…",
+ "translation": "&In Datei Speichern…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Time",
+ "message": "Time",
+ "translation": "Zeit",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log message",
+ "message": "Log message",
+ "translation": "Protokolleintrag",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "translation": "Textdateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export log to file",
+ "message": "Export log to file",
+ "translation": "Exportiere Protokoll in Datei",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&About WireGuard…",
+ "message": "&About WireGuard…",
+ "translation": "&Über WireGuard…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel Error",
+ "message": "Tunnel Error",
+ "translation": "Tunnel Fehler",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{ErrMsg}\n\nPlease consult the log for more information.",
+ "message": "{ErrMsg}\n\nPlease consult the log for more information.",
+ "translation": "{ErrMsg}\n\nBitte lesen Sie das Protokoll für weitere Informationen.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "ErrMsg",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "errMsg"
+ }
+ ]
+ },
+ {
+ "id": "{Title} (out of date)",
+ "message": "{Title} (out of date)",
+ "translation": "{Title} (veraltet)",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Title",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "mtw.Title()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Detection Error",
+ "message": "WireGuard Detection Error",
+ "translation": "WireGuard Erkennungsfehler",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to wait for WireGuard window to appear: {Err}",
+ "message": "Unable to wait for WireGuard window to appear: {Err}",
+ "translation": "Warten auf das Erscheinen des WireGuard Fensters nicht möglich: {Err} ",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard: Deactivated",
+ "message": "WireGuard: Deactivated",
+ "translation": "WireGuard: Deaktiviert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Unknown",
+ "message": "Status: Unknown",
+ "translation": "Status: Unbekannt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses: None",
+ "message": "Addresses: None",
+ "translation": "Adressen: Keine",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Manage tunnels…",
+ "message": "&Manage tunnels…",
+ "translation": "Tunnel &verwalten…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Import tunnel(s) from file…",
+ "message": "&Import tunnel(s) from file…",
+ "translation": "Tunnel aus Datei &importieren…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E&xit",
+ "message": "E&xit",
+ "translation": "&Beenden",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "WireGuard Tunnel Fehler",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "WireGuard: {TextForStateglobalState_true}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "TextForStateglobalState_true",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "textForState(globalState, true)"
+ }
+ ]
+ },
+ {
+ "id": "Status: {StateText}",
+ "message": "Status: {StateText}",
+ "translation": "Status: {StateText}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "StateText",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "stateText"
+ }
+ ]
+ },
+ {
+ "id": "Addresses: {String}",
+ "message": "Addresses: {String}",
+ "translation": "Adressen: {String}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "String",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "sb.String()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Activated",
+ "message": "WireGuard Activated",
+ "translation": "WireGuard aktiviert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been activated.",
+ "message": "The {Name} tunnel has been activated.",
+ "translation": "Der Tunnel {Name} wurde aktiviert.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Deactivated",
+ "message": "WireGuard Deactivated",
+ "translation": "WireGuard deaktiviert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been deactivated.",
+ "message": "The {Name} tunnel has been deactivated.",
+ "translation": "Der Tunnel {Name} wurde deaktiviert.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "An Update is Available!",
+ "message": "An Update is Available!",
+ "translation": "Eine Aktualisierung ist verfügbar!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Update Available",
+ "message": "WireGuard Update Available",
+ "translation": "WireGuard Aktualisierung verfügbar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An update to WireGuard is now available. You are advised to update as soon as possible.",
+ "message": "An update to WireGuard is now available. You are advised to update as soon as possible.",
+ "translation": "Eine Aktualisierung für WireGuard ist jetzt verfügbar. Es wird empfohlen diese schnellstmöglich durchzuführen.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnels",
+ "message": "Tunnels",
+ "translation": "Tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Edit",
+ "message": "&Edit",
+ "translation": "&Bearbeiten",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add &empty tunnel…",
+ "message": "Add &empty tunnel…",
+ "translation": "Einen &leeren Tunnel hinzufügen…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add Tunnel",
+ "message": "Add Tunnel",
+ "translation": "Tunnel hinzufügen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Remove selected tunnel(s)",
+ "message": "Remove selected tunnel(s)",
+ "translation": "Markierte(n) Tunnel entfernen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to zip",
+ "message": "Export all tunnels to zip",
+ "translation": "Alle Tunnel in eine Zip-Datei exportieren",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Toggle",
+ "message": "&Toggle",
+ "translation": "&Umschalten",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to &zip…",
+ "message": "Export all tunnels to &zip…",
+ "translation": "Exportiere alle Tunnel in &Zip-Datei",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit &selected tunnel…",
+ "message": "Edit &selected tunnel…",
+ "translation": "Ausgewählten Tunnel &bearbeiten…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Remove selected tunnel(s)",
+ "message": "&Remove selected tunnel(s)",
+ "translation": "Ausgewählte(n) Tunnel &löschen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Could not import selected configuration: {LastErr}",
+ "message": "Could not import selected configuration: {LastErr}",
+ "translation": "Ausgewählte Konfiguration konnte nicht importiert werden: {LastErr}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "LastErr",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "lastErr"
+ }
+ ]
+ },
+ {
+ "id": "Could not enumerate existing tunnels: {LastErr}",
+ "message": "Could not enumerate existing tunnels: {LastErr}",
+ "translation": "Konnte existierende Tunnel nicht auflisten: {LastErr}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "LastErr",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "lastErr"
+ }
+ ]
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{Name}’",
+ "message": "Another tunnel already exists with the name ‘{Name}’",
+ "translation": "Es existiert bereits ein Tunnel mit dem Namen „{Name}“",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "unparsedConfig.Name"
+ }
+ ]
+ },
+ {
+ "id": "Unable to import configuration: {LastErr}",
+ "message": "Unable to import configuration: {LastErr}",
+ "translation": "Importieren der Konfiguration nicht möglich: {LastErr}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "LastErr",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "lastErr"
+ }
+ ]
+ },
+ {
+ "id": "Imported tunnels",
+ "message": "Imported tunnels",
+ "translation": "Tunnel importiert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Imported {M} tunnels",
+ "message": "Imported {M} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "M",
+ "cases": {
+ "one": {
+ "msg": "{M} Tunnel importiert"
+ },
+ "other": {
+ "msg": "{M} Tunnel importiert"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "M",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "m"
+ }
+ ]
+ },
+ {
+ "id": "Imported {M} of {N} tunnels",
+ "message": "Imported {M} of {N} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "N",
+ "cases": {
+ "one": {
+ "msg": "{M} von {N} Tunnel importiert"
+ },
+ "other": {
+ "msg": "{M} von {N} Tunnel importiert"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "M",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "m"
+ },
+ {
+ "id": "N",
+ "string": "%[2]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 2,
+ "expr": "n"
+ }
+ ]
+ },
+ {
+ "id": "Unable to create tunnel",
+ "message": "Unable to create tunnel",
+ "translation": "Tunnel erstellen nicht möglich",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Delete {TunnelCount} tunnels",
+ "message": "Delete {TunnelCount} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "one": {
+ "msg": "{TunnelCount} Tunnel löschen"
+ },
+ "other": {
+ "msg": "{TunnelCount} Tunnel löschen"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Are you sure you would like to delete {TunnelCount} tunnels?",
+ "message": "Are you sure you would like to delete {TunnelCount} tunnels?",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "one": {
+ "msg": "Möchten Sie diesen {TunnelCount} Tunnel wirklich löschen?"
+ },
+ "other": {
+ "msg": "Möchten Sie diese {TunnelCount} Tunnel wirklich löschen?"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Delete tunnel ‘{TunnelName}’",
+ "message": "Delete tunnel ‘{TunnelName}’",
+ "translation": "Tunnel „{TunnelName}“ löschen",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "TunnelName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnelName"
+ }
+ ]
+ },
+ {
+ "id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
+ "message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
+ "translation": "Möchten Sie den Tunnel „{TunnelName}“ wirklich löschen?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "TunnelName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnelName"
+ }
+ ]
+ },
+ {
+ "id": "{Question} You cannot undo this action.",
+ "message": "{Question} You cannot undo this action.",
+ "translation": "{Question} Dieser Schritt kann nicht rückgängig gemacht werden.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Question",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "question"
+ }
+ ]
+ },
+ {
+ "id": "Unable to delete tunnel",
+ "message": "Unable to delete tunnel",
+ "translation": "Tunnel löschen nicht möglich",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A tunnel was unable to be removed: {Error}",
+ "message": "A tunnel was unable to be removed: {Error}",
+ "translation": "Ein Tunnel konnte nicht gelöscht werden: {Error}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Error",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "errors[0].Error()"
+ }
+ ]
+ },
+ {
+ "id": "Unable to delete tunnels",
+ "message": "Unable to delete tunnels",
+ "translation": "Tunnel konnten nicht gelöscht werden",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Lenerrors} tunnels were unable to be removed.",
+ "message": "{Lenerrors} tunnels were unable to be removed.",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Lenerrors",
+ "cases": {
+ "one": {
+ "msg": "{Lenerrors} Tunnel konnte nicht entfernt werden."
+ },
+ "other": {
+ "msg": "{Lenerrors} Tunnel konnten nicht gelöscht werden."
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Lenerrors",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "len(errors)"
+ }
+ ]
+ },
+ {
+ "id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
+ "message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
+ "translation": "Konfigurationsdateien (*.zip, *.conf)|*.zip;*.conf|Alle Dateien (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Import tunnel(s) from file",
+ "message": "Import tunnel(s) from file",
+ "translation": "Importiere Tunnel aus Datei",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Configuration ZIP Files (*.zip)|*.zip",
+ "message": "Configuration ZIP Files (*.zip)|*.zip",
+ "translation": "Konfigurations-ZIP-Dateien (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "Exportiere Tunnel in Zip-Datei",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (unsigniert, keine Aktualisierungen)",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Title",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "mtw.Title()"
+ }
+ ]
+ },
+ {
+ "id": "Error Exiting WireGuard",
+ "message": "Error Exiting WireGuard",
+ "translation": "Fehler beim Beenden von WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
+ "message": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
+ "translation": "Der Dienst konnte nicht gestoppt werden: {Err}. Versuchen Sie WireGuard in der Dienstverwaltung zu beenden.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "An update to WireGuard is available. It is highly advisable to update without delay.",
+ "message": "An update to WireGuard is available. It is highly advisable to update without delay.",
+ "translation": "Eine Aktualisierung für WireGuard ist verfügbar. Es ist höchst empfehlenswert diese sofort durchzuführen.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for user",
+ "message": "Status: Waiting for user",
+ "translation": "Status: Auf Nutzer warten",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Update Now",
+ "message": "Update Now",
+ "translation": "Jetzt aktualisieren",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "Status: Auf Aktualisierungsdienst warten",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error: {Err}. Please try again.",
+ "message": "Error: {Err}. Please try again.",
+ "translation": "Fehler: {Err}. Bitte versuchen Sie es erneut.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Status: Complete!",
+ "message": "Status: Complete!",
+ "translation": "Status: Fertig!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "http2: Framer {F}: failed to decode just-written frame",
+ "message": "http2: Framer {F}: failed to decode just-written frame",
+ "translation": "http2: Framer {F}: Fehler beim dekodieren des gerade geschriebenen Frames",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "F",
+ "string": "%[1]p",
+ "type": "*net/http.http2Framer",
+ "underlyingType": "*net/http.http2Framer",
+ "argNum": 1,
+ "expr": "f"
+ }
+ ]
+ },
+ {
+ "id": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
+ "message": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
+ "translation": "http2: Framer {F}: {Http2summarizeFramefr} geschrieben",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "F",
+ "string": "%[1]p",
+ "type": "*net/http.http2Framer",
+ "underlyingType": "*net/http.http2Framer",
+ "argNum": 1,
+ "expr": "f"
+ },
+ {
+ "id": "Http2summarizeFramefr",
+ "string": "%[2]v",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "http2summarizeFrame(fr)"
+ }
+ ]
+ },
+ {
+ "id": "http2: Framer {Fr}: read {Http2summarizeFramef}",
+ "message": "http2: Framer {Fr}: read {Http2summarizeFramef}",
+ "translation": "http2: Framer {Fr}: {Http2summarizeFramef} gelesen",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Fr",
+ "string": "%[1]p",
+ "type": "*net/http.http2Framer",
+ "underlyingType": "*net/http.http2Framer",
+ "argNum": 1,
+ "expr": "fr"
+ },
+ {
+ "id": "Http2summarizeFramef",
+ "string": "%[2]v",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "http2summarizeFrame(f)"
+ }
+ ]
+ },
+ {
+ "id": "http2: decoded hpack field {HeaderField}",
+ "message": "http2: decoded hpack field {HeaderField}",
+ "translation": "http2: hpack Feld {HeaderField} dekodiert",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "HeaderField",
+ "string": "%+[1]v",
+ "type": "vendor/golang.org/x/net/http2/hpack.HeaderField",
+ "underlyingType": "struct{Name string; Value string; Sensitive bool}",
+ "argNum": 1,
+ "expr": "hf"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/locales/fr/messages.gotext.json b/locales/fr/messages.gotext.json
index 8c4b14b0..87100f52 100644
--- a/locales/fr/messages.gotext.json
+++ b/locales/fr/messages.gotext.json
@@ -4,17 +4,20 @@
{
"id": "Error",
"message": "Error",
- "translation": "Erreur"
+ "translation": "Erreur",
+ "translatorComment": "Copied from source."
},
{
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
- "translation": "(sans argument) : élever et installer service du gestionnaire"
+ "translation": "(sans argument) : élever et installer service du gestionnaire",
+ "translatorComment": "Copied from source."
},
{
"id": "Usage: {Args0} [\n{String}]",
"message": "Usage: {Args0} [\n{String}]",
"translation": "Utilisation : {Args0} [\n{String}]",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Args0",
@@ -37,12 +40,14 @@
{
"id": "Command Line Options",
"message": "Command Line Options",
- "translation": "Options de la ligne de commande"
+ "translation": "Options de la ligne de commande",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to determine whether the process is running under WOW64: {Err}",
"message": "Unable to determine whether the process is running under WOW64: {Err}",
"translation": "Impossible de détecter si le processus s’exécute sous WOW64 : {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -57,12 +62,14 @@
{
"id": "You must use the 64-bit version of WireGuard on this computer.",
"message": "You must use the 64-bit version of WireGuard on this computer.",
- "translation": "Utilisez la version 64 bits du WireGuard sur cet ordinateur."
+ "translation": "Utilisez la version 64 bits du WireGuard sur cet ordinateur.",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to open current process token: {Err}",
"message": "Unable to open current process token: {Err}",
"translation": "Impossible d'ouvrir le jeton de processus actuel : {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -78,6 +85,7 @@
"id": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"message": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"translation": "Seulement les utilisateurs qui sont membres du groupe intégré {AdminGroupName} peuvent utiliser WireGuard.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
@@ -93,6 +101,7 @@
"id": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"message": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"translation": "WireGuard est en cours d'exécution, mais l'IU est accessible seulement à partir des bureaux du group intégré {AdminGroupName}.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
@@ -107,17 +116,20 @@
{
"id": "WireGuard system tray icon did not appear after 30 seconds.",
"message": "WireGuard system tray icon did not appear after 30 seconds.",
- "translation": "L’icône de la barre d’état système du WireGuard n'est pas apparue après 30 secondes."
+ "translation": "L’icône de la barre d’état système du WireGuard n'est pas apparue après 30 secondes.",
+ "translatorComment": "Copied from source."
},
{
"id": "Now",
"message": "Now",
- "translation": "Maintenant"
+ "translation": "Maintenant",
+ "translatorComment": "Copied from source."
},
{
"id": "System clock wound backward!",
"message": "System clock wound backward!",
- "translation": "L’horloge système est inversé!"
+ "translation": "L’horloge système est inversé!",
+ "translatorComment": "Copied from source."
},
{
"id": "{Years} year(s)",
@@ -263,6 +275,7 @@
"id": "{Timestamp} ago",
"message": "{Timestamp} ago",
"translation": "Il y a {Timestamp}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Timestamp",
@@ -278,6 +291,7 @@
"id": "{Bytes} B",
"message": "{Bytes} B",
"translation": "{Bytes} o",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Bytes",
@@ -293,6 +307,7 @@
"id": "{Float64b__1024} KiB",
"message": "{Float64b__1024} KiB",
"translation": "{Float64b__1024} Kio",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024",
@@ -308,6 +323,7 @@
"id": "{Float64b__1024__1024} MiB",
"message": "{Float64b__1024__1024} MiB",
"translation": "{Float64b__1024__1024} Mio",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024",
@@ -323,6 +339,7 @@
"id": "{Float64b__1024__1024__1024} GiB",
"message": "{Float64b__1024__1024__1024} GiB",
"translation": "{Float64b__1024__1024__1024} Gio",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024",
@@ -338,6 +355,7 @@
"id": "{Float64b__1024__1024__1024__1024} TiB",
"message": "{Float64b__1024__1024__1024__1024} TiB",
"translation": "{Float64b__1024__1024__1024__1024} Tio",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024__1024",
@@ -353,6 +371,7 @@
"id": "{Why}: {Offender}",
"message": "{Why}: {Offender}",
"translation": "{Why} : {Offender}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Why",
@@ -375,47 +394,56 @@
{
"id": "Invalid IP address",
"message": "Invalid IP address",
- "translation": "Adresse IP non valide"
+ "translation": "Adresse IP non valide",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid network prefix length",
"message": "Invalid network prefix length",
- "translation": "Longueur du préfixe réseau non valide"
+ "translation": "Longueur du préfixe réseau non valide",
+ "translatorComment": "Copied from source."
},
{
"id": "Missing port from endpoint",
"message": "Missing port from endpoint",
- "translation": "Port manquant au point de terminaison"
+ "translation": "Port manquant au point de terminaison",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid endpoint host",
"message": "Invalid endpoint host",
- "translation": "Hôte du point de terminaison non valide"
+ "translation": "Hôte du point de terminaison non valide",
+ "translatorComment": "Copied from source."
},
{
"id": "Brackets must contain an IPv6 address",
"message": "Brackets must contain an IPv6 address",
- "translation": "Il faut mettre un adresse IPv6 entre les crochets"
+ "translation": "Il faut mettre un adresse IPv6 entre les crochets",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid MTU",
"message": "Invalid MTU",
- "translation": "MTU non valide"
+ "translation": "MTU non valide",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid port",
"message": "Invalid port",
- "translation": "Port non valide"
+ "translation": "Port non valide",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid persistent keepalive",
"message": "Invalid persistent keepalive",
- "translation": "Conservation de connexion active permanente non valide"
+ "translation": "Conservation de connexion active permanente non valide",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key: {Err}",
"message": "Invalid key: {Err}",
"translation": "Clé non valide : {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -430,12 +458,14 @@
{
"id": "Keys must decode to exactly 32 bytes",
"message": "Keys must decode to exactly 32 bytes",
- "translation": "Clés doivent être décodées sur 32 octets"
+ "translation": "Clés doivent être décodées sur 32 octets",
+ "translatorComment": "Copied from source."
},
{
"id": "Number must be a number between 0 and 2^64-1: {Err}",
"message": "Number must be a number between 0 and 2^64-1: {Err}",
"translation": "Le numéro doit être un numéro entre 0 et 2^64-1 : {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -450,72 +480,86 @@
{
"id": "Two commas in a row",
"message": "Two commas in a row",
- "translation": "Deux virgules consécutives"
+ "translation": "Deux virgules consécutives",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel name is not valid",
"message": "Tunnel name is not valid",
- "translation": "Nom du tunnel non valide"
+ "translation": "Nom du tunnel non valide",
+ "translatorComment": "Copied from source."
},
{
"id": "Line must occur in a section",
"message": "Line must occur in a section",
- "translation": "Une ligne doit apparaître dans une section"
+ "translation": "Une ligne doit apparaître dans une section",
+ "translatorComment": "Copied from source."
},
{
- "id": "Config key is missing an equals separator",
- "message": "Config key is missing an equals separator",
- "translation": ""
+ "id": "Invalid config key is missing an equals separator",
+ "message": "Invalid config key is missing an equals separator",
+ "translation": "Clé de configuration non valide, il manque le séparateur est égal à",
+ "translatorComment": "Copied from source."
},
{
"id": "Key must have a value",
"message": "Key must have a value",
- "translation": "Clé doit avoir une valeur"
+ "translation": "Clé doit avoir une valeur",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Interface] section",
"message": "Invalid key for [Interface] section",
- "translation": "Clé non valide pour la section [Interface]"
+ "translation": "Clé non valide pour la section [Interface]",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Peer] section",
"message": "Invalid key for [Peer] section",
- "translation": "Clé non valide pour la section [Peer]"
+ "translation": "Clé non valide pour la section [Peer]",
+ "translatorComment": "Copied from source."
},
{
"id": "An interface must have a private key",
"message": "An interface must have a private key",
- "translation": "L'interface doit avoir une clé privée"
+ "translation": "L'interface doit avoir une clé privée",
+ "translatorComment": "Copied from source."
},
{
"id": "[none specified]",
"message": "[none specified]",
- "translation": "[aucune spécification]"
+ "translation": "[aucune spécification]",
+ "translatorComment": "Copied from source."
},
{
"id": "All peers must have public keys",
"message": "All peers must have public keys",
- "translation": "Tous les homologues doivent avoirs les clés publiques."
+ "translation": "Tous les homologues doivent avoirs les clés publiques.",
+ "translatorComment": "Copied from source."
},
{
"id": "Error in getting configuration",
"message": "Error in getting configuration",
- "translation": "Erreur d'obtention de la configuration"
+ "translation": "Erreur d'obtention de la configuration",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for interface section",
"message": "Invalid key for interface section",
- "translation": "Clé non valide pour la section d'interface"
+ "translation": "Clé non valide pour la section d'interface",
+ "translatorComment": "Copied from source."
},
{
"id": "Protocol version must be 1",
"message": "Protocol version must be 1",
- "translation": "Version du protocole doit être 1"
+ "translation": "Version du protocole doit être 1",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for peer section",
"message": "Invalid key for peer section",
- "translation": "Clé non valide pour la section d'homologue"
+ "translation": "Clé non valide pour la section d'homologue",
+ "translatorComment": "Copied from source."
},
{
"id": "[EnumerationSeparator]",
@@ -532,17 +576,20 @@
{
"id": "About WireGuard",
"message": "About WireGuard",
- "translation": "À propos du WireGuard"
+ "translation": "À propos du WireGuard",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard logo image",
"message": "WireGuard logo image",
- "translation": "Image du logo du WireGuard"
+ "translation": "Image du logo du WireGuard",
+ "translatorComment": "Copied from source."
},
{
"id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
"message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
"translation": "Version de l'application : {Number}\nVersion wireguard-go : {WireGuardGoVersion}\nVersion Go : {Version_go}\nSystème d'exploitation : {OsName}\nArchitecture : {GOARCH}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Number",
@@ -589,92 +636,110 @@
{
"id": "Close",
"message": "Close",
- "translation": "Fermer"
+ "translation": "Fermer",
+ "translatorComment": "Copied from source."
},
{
- "id": "♥ \u0026Donate!",
- "message": "♥ \u0026Donate!",
- "translation": "♥ \u0026Faites un don!"
+ "id": "♥ &Donate!",
+ "message": "♥ &Donate!",
+ "translation": "♥ &Faites un don!",
+ "translatorComment": "Copied from source."
},
{
"id": "Status:",
"message": "Status:",
- "translation": "État :"
+ "translation": "État :",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Deactivate",
- "message": "\u0026Deactivate",
- "translation": "\u0026Désactiver"
+ "id": "&Deactivate",
+ "message": "&Deactivate",
+ "translation": "&Désactiver",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Activate",
- "message": "\u0026Activate",
- "translation": "\u0026Activer"
+ "id": "&Activate",
+ "message": "&Activate",
+ "translation": "&Activer",
+ "translatorComment": "Copied from source."
},
{
"id": "Public key:",
"message": "Public key:",
- "translation": "Clé publique :"
+ "translation": "Clé publique :",
+ "translatorComment": "Copied from source."
},
{
"id": "Listen port:",
"message": "Listen port:",
- "translation": "Port d'écoute :"
+ "translation": "Port d'écoute :",
+ "translatorComment": "Copied from source."
},
{
"id": "MTU:",
"message": "MTU:",
- "translation": "MTU :"
+ "translation": "MTU :",
+ "translatorComment": "Copied from source."
},
{
"id": "Addresses:",
"message": "Addresses:",
- "translation": "Adresses :"
+ "translation": "Adresses :",
+ "translatorComment": "Copied from source."
},
{
"id": "DNS servers:",
"message": "DNS servers:",
- "translation": "Serveurs DNS :"
+ "translation": "Serveurs DNS :",
+ "translatorComment": "Copied from source."
},
{
"id": "Preshared key:",
"message": "Preshared key:",
- "translation": "Clé pré-partagée :"
+ "translation": "Clé pré-partagée :",
+ "translatorComment": "Copied from source."
},
{
"id": "Allowed IPs:",
"message": "Allowed IPs:",
- "translation": "Adresses IP autorisées :"
+ "translation": "Adresses IP autorisées :",
+ "translatorComment": "Copied from source."
},
{
"id": "Endpoint:",
"message": "Endpoint:",
- "translation": "Point de terminaison :"
+ "translation": "Point de terminaison :",
+ "translatorComment": "Copied from source."
},
{
"id": "Persistent keepalive:",
"message": "Persistent keepalive:",
- "translation": "Conservation de connexion active permanente :"
+ "translation": "Conservation de connexion active permanente :",
+ "translatorComment": "Copied from source."
},
{
"id": "Latest handshake:",
"message": "Latest handshake:",
- "translation": "Dernier établissement d'une liaison :"
+ "translation": "Dernier établissement d'une liaison :",
+ "translatorComment": "Copied from source."
},
{
"id": "Transfer:",
"message": "Transfer:",
- "translation": "Transfert :"
+ "translation": "Transfert :",
+ "translatorComment": "Copied from source."
},
{
"id": "enabled",
"message": "enabled",
- "translation": "activé(e)"
+ "translation": "activé(e)",
+ "translatorComment": "Copied from source."
},
{
"id": "{String} received, {String_1} sent",
"message": "{String} received, {String_1} sent",
"translation": "{String} reçu(e), {String_1} envoyé(e)",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "String",
@@ -697,22 +762,26 @@
{
"id": "Failed to determine tunnel state",
"message": "Failed to determine tunnel state",
- "translation": "Impossible de déterminer l'état du tunnel"
+ "translation": "Impossible de déterminer l'état du tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "Failed to activate tunnel",
"message": "Failed to activate tunnel",
- "translation": "Impossible d'activer le tunnel"
+ "translation": "Impossible d'activer le tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "Failed to deactivate tunnel",
"message": "Failed to deactivate tunnel",
- "translation": "Impossible de désactiver le tunnel"
+ "translation": "Impossible de désactiver le tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "Interface: {Name}",
"message": "Interface: {Name}",
"translation": "Interface : {Name}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -727,72 +796,86 @@
{
"id": "Peer",
"message": "Peer",
- "translation": "Homologue"
+ "translation": "Homologue",
+ "translatorComment": "Copied from source."
},
{
"id": "Create new tunnel",
"message": "Create new tunnel",
- "translation": "Créer un nouveau tunnel"
+ "translation": "Créer un nouveau tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "Edit tunnel",
"message": "Edit tunnel",
- "translation": "Modifier le tunnel"
+ "translation": "Modifier le tunnel",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Name:",
- "message": "\u0026Name:",
- "translation": "\u0026Nom :"
+ "id": "&Name:",
+ "message": "&Name:",
+ "translation": "&Nom :",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Public key:",
- "message": "\u0026Public key:",
- "translation": "\u0026Clé publique :"
+ "id": "&Public key:",
+ "message": "&Public key:",
+ "translation": "&Clé publique :",
+ "translatorComment": "Copied from source."
},
{
"id": "(unknown)",
"message": "(unknown)",
- "translation": "(inconnu(e))"
+ "translation": "(inconnu(e))",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Block untunneled traffic (kill-switch)",
- "message": "\u0026Block untunneled traffic (kill-switch)",
- "translation": "\u0026Bloquer tous le trafic hors tunnel (interrupteur)"
+ "id": "&Block untunneled traffic (kill-switch)",
+ "message": "&Block untunneled traffic (kill-switch)",
+ "translation": "&Bloquer tous le trafic hors tunnel (interrupteur)",
+ "translatorComment": "Copied from source."
},
{
"id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
"message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
- "translation": "Si la configuration a exactement un homologue et si cet homologue a une addresse IP approvée contenant au moins un de 0.0.0.0/0 ou ::/0, le service de tunnelisation utilise l'ensemble de règles du pare-feu afin de blocquer tout le traffic, sauf le traffic vers ou dépuis l'interface de tunnel et l'exceptions speciales liées à DHCP et NDP."
+ "translation": "Si la configuration a exactement un homologue et si cet homologue a une addresse IP approvée contenant au moins un de 0.0.0.0/0 ou ::/0, le service de tunnelisation utilise l'ensemble de règles du pare-feu afin de blocquer tout le traffic, sauf le traffic vers ou dépuis l'interface de tunnel et l'exceptions speciales liées à DHCP et NDP.",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Save",
- "message": "\u0026Save",
- "translation": "\u0026Enregistrer"
+ "id": "&Save",
+ "message": "&Save",
+ "translation": "&Enregistrer",
+ "translatorComment": "Copied from source."
},
{
"id": "Cancel",
"message": "Cancel",
- "translation": "Annuler"
+ "translation": "Annuler",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Configuration:",
- "message": "\u0026Configuration:",
- "translation": "\u0026Configuration :"
+ "id": "&Configuration:",
+ "message": "&Configuration:",
+ "translation": "&Configuration :",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid name",
"message": "Invalid name",
- "translation": "Nom non valide"
+ "translation": "Nom non valide",
+ "translatorComment": "Copied from source."
},
{
"id": "A name is required.",
"message": "A name is required.",
- "translation": "Le nom est obligatoire."
+ "translation": "Le nom est obligatoire.",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel name ‘{NewName}’ is invalid.",
"message": "Tunnel name ‘{NewName}’ is invalid.",
"translation": "Nom de tunnel « {NewName} » est non valide.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
@@ -807,17 +890,20 @@
{
"id": "Unable to list existing tunnels",
"message": "Unable to list existing tunnels",
- "translation": "Impossible de créer une liste des tunnels existants"
+ "translation": "Impossible de créer une liste des tunnels existants",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel already exists",
"message": "Tunnel already exists",
- "translation": "Tunnel existe déjà."
+ "translation": "Tunnel existe déjà.",
+ "translatorComment": "Copied from source."
},
{
"id": "Another tunnel already exists with the name ‘{NewName}’.",
"message": "Another tunnel already exists with the name ‘{NewName}’.",
"translation": "Nom « {NewName} » est déjà utilisé pour un tunnel.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
@@ -832,17 +918,20 @@
{
"id": "Unable to create new configuration",
"message": "Unable to create new configuration",
- "translation": "Impossible de créer une configuration nouvelle"
+ "translation": "Impossible de créer une configuration nouvelle",
+ "translatorComment": "Copied from source."
},
{
"id": "Writing file failed",
"message": "Writing file failed",
- "translation": "Échec d'écriture du fichier"
+ "translation": "Échec d'écriture du fichier",
+ "translatorComment": "Copied from source."
},
{
"id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
"message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
"translation": "Fichier « {FilePath} » existe déjà.\n\nVoulez-vous le remplacer ?",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "FilePath",
@@ -857,82 +946,98 @@
{
"id": "Active",
"message": "Active",
- "translation": "Activé(e)"
+ "translation": "Activé(e)",
+ "translatorComment": "Copied from source."
},
{
"id": "Activating",
"message": "Activating",
- "translation": "Activation en cours"
+ "translation": "Activation en cours",
+ "translatorComment": "Copied from source."
},
{
"id": "Inactive",
"message": "Inactive",
- "translation": "Inactivé(e)"
+ "translation": "Inactivé(e)",
+ "translatorComment": "Copied from source."
},
{
"id": "Deactivating",
"message": "Deactivating",
- "translation": "Désactivation en cours"
+ "translation": "Désactivation en cours",
+ "translatorComment": "Copied from source."
},
{
"id": "Unknown state",
"message": "Unknown state",
- "translation": "État inconnu"
+ "translation": "État inconnu",
+ "translatorComment": "Copied from source."
},
{
"id": "Log",
"message": "Log",
- "translation": "Journal"
+ "translation": "Journal",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Copy",
- "message": "\u0026Copy",
- "translation": "\u0026Copier"
+ "id": "&Copy",
+ "message": "&Copy",
+ "translation": "&Copier",
+ "translatorComment": "Copied from source."
},
{
- "id": "Select \u0026all",
- "message": "Select \u0026all",
- "translation": "Sélectionner \u0026tout"
+ "id": "Select &all",
+ "message": "Select &all",
+ "translation": "Sélectionner &tout",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Save to file…",
- "message": "\u0026Save to file…",
- "translation": "\u0026Enregistrer dans le fichier…"
+ "id": "&Save to file…",
+ "message": "&Save to file…",
+ "translation": "&Enregistrer dans le fichier…",
+ "translatorComment": "Copied from source."
},
{
"id": "Time",
"message": "Time",
- "translation": "Temps"
+ "translation": "Temps",
+ "translatorComment": "Copied from source."
},
{
"id": "Log message",
"message": "Log message",
- "translation": "Message du journal"
+ "translation": "Message du journal",
+ "translatorComment": "Copied from source."
},
{
"id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
"message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
- "translation": "Fichiers texte (*.txt)|*.txt|Tous les fichiers (*.*)|*.*"
+ "translation": "Fichiers texte (*.txt)|*.txt|Tous les fichiers (*.*)|*.*",
+ "translatorComment": "Copied from source."
},
{
"id": "Export log to file",
"message": "Export log to file",
- "translation": "Exporter le journal vers le fichier"
+ "translation": "Exporter le journal vers le fichier",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026About WireGuard…",
- "message": "\u0026About WireGuard…",
- "translation": "\u0026À propos WireGuard…"
+ "id": "&About WireGuard…",
+ "message": "&About WireGuard…",
+ "translation": "&À propos WireGuard…",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel Error",
"message": "Tunnel Error",
- "translation": "Erreur du tunnel"
+ "translation": "Erreur du tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "{ErrMsg}\n\nPlease consult the log for more information.",
"message": "{ErrMsg}\n\nPlease consult the log for more information.",
"translation": "{ErrMsg}\n\nConsultez le journal pour plus d’informations, s'il vous plaît.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "ErrMsg",
@@ -948,6 +1053,7 @@
"id": "{Title} (out of date)",
"message": "{Title} (out of date)",
"translation": "{Title} (obsolète)",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Title",
@@ -962,12 +1068,14 @@
{
"id": "WireGuard Detection Error",
"message": "WireGuard Detection Error",
- "translation": "Erreur de détection du WireGuard"
+ "translation": "Erreur de détection du WireGuard",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to wait for WireGuard window to appear: {Err}",
"message": "Unable to wait for WireGuard window to appear: {Err}",
"translation": "Impossible d’attendre l'affichage du fenêtre WireGuard : {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -982,42 +1090,50 @@
{
"id": "WireGuard: Deactivated",
"message": "WireGuard: Deactivated",
- "translation": "WireGuard: Désactivé"
+ "translation": "WireGuard: Désactivé",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Unknown",
"message": "Status: Unknown",
- "translation": "État : Inconnu"
+ "translation": "État : Inconnu",
+ "translatorComment": "Copied from source."
},
{
"id": "Addresses: None",
"message": "Addresses: None",
- "translation": "Adresses : Aucune"
+ "translation": "Adresses : Aucune",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Manage tunnels…",
- "message": "\u0026Manage tunnels…",
- "translation": "\u0026Gestion des tunnels…"
+ "id": "&Manage tunnels…",
+ "message": "&Manage tunnels…",
+ "translation": "&Gestion des tunnels…",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Import tunnel(s) from file…",
- "message": "\u0026Import tunnel(s) from file…",
- "translation": "\u0026Importer le(s) tunnel(s) à partir du fichier…"
+ "id": "&Import tunnel(s) from file…",
+ "message": "&Import tunnel(s) from file…",
+ "translation": "&Importer le(s) tunnel(s) à partir du fichier…",
+ "translatorComment": "Copied from source."
},
{
- "id": "E\u0026xit",
- "message": "E\u0026xit",
- "translation": "Q\u0026uitter"
+ "id": "E&xit",
+ "message": "E&xit",
+ "translation": "Q&uitter",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard Tunnel Error",
"message": "WireGuard Tunnel Error",
- "translation": "Erreur du tunnel WireGuard"
+ "translation": "Erreur du tunnel WireGuard",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard: {TextForStateglobalState_true}",
"message": "WireGuard: {TextForStateglobalState_true}",
"translation": "WireGuard : {TextForStateglobalState_true}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TextForStateglobalState_true",
@@ -1033,6 +1149,7 @@
"id": "Status: {StateText}",
"message": "Status: {StateText}",
"translation": "État : {StateText}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "StateText",
@@ -1048,6 +1165,7 @@
"id": "Addresses: {String}",
"message": "Addresses: {String}",
"translation": "Adresses : {String}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "String",
@@ -1062,12 +1180,14 @@
{
"id": "WireGuard Activated",
"message": "WireGuard Activated",
- "translation": "WireGuard activé"
+ "translation": "WireGuard activé",
+ "translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been activated.",
"message": "The {Name} tunnel has been activated.",
"translation": "Tunnel {Name} a été activé.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1082,12 +1202,14 @@
{
"id": "WireGuard Deactivated",
"message": "WireGuard Deactivated",
- "translation": "WireGuard désactivé"
+ "translation": "WireGuard désactivé",
+ "translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been deactivated.",
"message": "The {Name} tunnel has been deactivated.",
"translation": "Tunnel {Name} a été désactivé.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1102,72 +1224,86 @@
{
"id": "An Update is Available!",
"message": "An Update is Available!",
- "translation": "Mise à jour disponible!"
+ "translation": "Mise à jour disponible!",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard Update Available",
"message": "WireGuard Update Available",
- "translation": "WireGuard mise à jour est disponible"
+ "translation": "WireGuard mise à jour est disponible",
+ "translatorComment": "Copied from source."
},
{
"id": "An update to WireGuard is now available. You are advised to update as soon as possible.",
"message": "An update to WireGuard is now available. You are advised to update as soon as possible.",
- "translation": "Une mise à jour du WireGuard est disponible. Il est conseillé de mettre votre WireGuard à jour dès que possible."
+ "translation": "Une mise à jour du WireGuard est disponible. Il est conseillé de mettre votre WireGuard à jour dès que possible.",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnels",
"message": "Tunnels",
- "translation": "Tunnels"
+ "translation": "Tunnels",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Edit",
- "message": "\u0026Edit",
- "translation": "\u0026Modifier"
+ "id": "&Edit",
+ "message": "&Edit",
+ "translation": "&Modifier",
+ "translatorComment": "Copied from source."
},
{
- "id": "Add \u0026empty tunnel…",
- "message": "Add \u0026empty tunnel…",
- "translation": "Ajouter un \u0026tunnel vide…"
+ "id": "Add &empty tunnel…",
+ "message": "Add &empty tunnel…",
+ "translation": "Ajouter un &tunnel vide…",
+ "translatorComment": "Copied from source."
},
{
"id": "Add Tunnel",
"message": "Add Tunnel",
- "translation": "Ajouter le tunnel"
+ "translation": "Ajouter le tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "Remove selected tunnel(s)",
"message": "Remove selected tunnel(s)",
- "translation": "Supprimer le(s) tunnel(s) sélectionné(s)"
+ "translation": "Supprimer le(s) tunnel(s) sélectionné(s)",
+ "translatorComment": "Copied from source."
},
{
"id": "Export all tunnels to zip",
"message": "Export all tunnels to zip",
- "translation": "Exporter tous les tunnels vers zip"
+ "translation": "Exporter tous les tunnels vers zip",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Toggle",
- "message": "\u0026Toggle",
- "translation": "\u0026Basculer"
+ "id": "&Toggle",
+ "message": "&Toggle",
+ "translation": "&Basculer",
+ "translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to \u0026zip…",
- "message": "Export all tunnels to \u0026zip…",
- "translation": "Exporter tous les tunnels vers \u0026zip…"
+ "id": "Export all tunnels to &zip…",
+ "message": "Export all tunnels to &zip…",
+ "translation": "Exporter tous les tunnels vers &zip…",
+ "translatorComment": "Copied from source."
},
{
- "id": "Edit \u0026selected tunnel…",
- "message": "Edit \u0026selected tunnel…",
- "translation": "Modifier \u0026le tunnel sélectionné…"
+ "id": "Edit &selected tunnel…",
+ "message": "Edit &selected tunnel…",
+ "translation": "Modifier &le tunnel sélectionné…",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Remove selected tunnel(s)",
- "message": "\u0026Remove selected tunnel(s)",
- "translation": "\u0026Supprimer le(s) tunnel(s) sélectionné(s)"
+ "id": "&Remove selected tunnel(s)",
+ "message": "&Remove selected tunnel(s)",
+ "translation": "&Supprimer le(s) tunnel(s) sélectionné(s)",
+ "translatorComment": "Copied from source."
},
{
"id": "Could not import selected configuration: {LastErr}",
"message": "Could not import selected configuration: {LastErr}",
"translation": "Impossible d'importer la configuration sélectionnée : {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1183,6 +1319,7 @@
"id": "Could not enumerate existing tunnels: {LastErr}",
"message": "Could not enumerate existing tunnels: {LastErr}",
"translation": "Impossible d'énumérer les tunnels existantes : {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1198,6 +1335,7 @@
"id": "Another tunnel already exists with the name ‘{Name}’",
"message": "Another tunnel already exists with the name ‘{Name}’",
"translation": "Un tunnel nommé « {Name} » existe déjà.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1213,6 +1351,7 @@
"id": "Unable to import configuration: {LastErr}",
"message": "Unable to import configuration: {LastErr}",
"translation": "Impossible d'importer la configuration : {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1227,7 +1366,8 @@
{
"id": "Imported tunnels",
"message": "Imported tunnels",
- "translation": "Tunnels importés"
+ "translation": "Tunnels importés",
+ "translatorComment": "Copied from source."
},
{
"id": "Imported {M} tunnels",
@@ -1296,7 +1436,8 @@
{
"id": "Unable to create tunnel",
"message": "Unable to create tunnel",
- "translation": "Impossible de créer le tunnel"
+ "translation": "Impossible de créer le tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "Delete {TunnelCount} tunnels",
@@ -1358,6 +1499,7 @@
"id": "Delete tunnel ‘{TunnelName}’",
"message": "Delete tunnel ‘{TunnelName}’",
"translation": "Supprimer le tunnel ‘{TunnelName}’",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
@@ -1373,6 +1515,7 @@
"id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
"message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
"translation": "Voulez-vous vraiment supprimer le tunnel « {TunnelName} »?",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
@@ -1388,6 +1531,7 @@
"id": "{Question} You cannot undo this action.",
"message": "{Question} You cannot undo this action.",
"translation": "{Question} Vous ne pouvez pas annuler cette action.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Question",
@@ -1402,12 +1546,14 @@
{
"id": "Unable to delete tunnel",
"message": "Unable to delete tunnel",
- "translation": "Impossible de supprimer le tunnel"
+ "translation": "Impossible de supprimer le tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "A tunnel was unable to be removed: {Error}",
"message": "A tunnel was unable to be removed: {Error}",
"translation": "Il a été impossible de supprimer un tunnel : {Error}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Error",
@@ -1422,7 +1568,8 @@
{
"id": "Unable to delete tunnels",
"message": "Unable to delete tunnels",
- "translation": "Impossible de supprimer les tunnels"
+ "translation": "Impossible de supprimer les tunnels",
+ "translatorComment": "Copied from source."
},
{
"id": "{Lenerrors} tunnels were unable to be removed.",
@@ -1455,27 +1602,32 @@
{
"id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
"message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
- "translation": "Fichiers de configuration (*.zip, *.conf)|*.zip;*.conf|Tous les fichiers (*.*)|*.*"
+ "translation": "Fichiers de configuration (*.zip, *.conf)|*.zip;*.conf|Tous les fichiers (*.*)|*.*",
+ "translatorComment": "Copied from source."
},
{
"id": "Import tunnel(s) from file",
"message": "Import tunnel(s) from file",
- "translation": "Importer le(s) tunnel(s) à partir du fichier"
+ "translation": "Importer le(s) tunnel(s) à partir du fichier",
+ "translatorComment": "Copied from source."
},
{
"id": "Configuration ZIP Files (*.zip)|*.zip",
"message": "Configuration ZIP Files (*.zip)|*.zip",
- "translation": "Fichiers de configuration ZIP (*.zip)|*.zip"
+ "translation": "Fichiers de configuration ZIP (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
},
{
"id": "Export tunnels to zip",
"message": "Export tunnels to zip",
- "translation": "Exporter les tunnels vers zip"
+ "translation": "Exporter les tunnels vers zip",
+ "translatorComment": "Copied from source."
},
{
"id": "{Title} (unsigned build, no updates)",
"message": "{Title} (unsigned build, no updates)",
"translation": "{Title} (version non signée, aucune mise à jour)",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Title",
@@ -1490,12 +1642,14 @@
{
"id": "Error Exiting WireGuard",
"message": "Error Exiting WireGuard",
- "translation": "Erreur de sortie du WireGuard"
+ "translation": "Erreur de sortie du WireGuard",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
"message": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
"translation": "Impossible de quitter le service en raison de : {Err}. Essayez d'arrêter WireGuard à partir du gestionnair des services.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -1510,27 +1664,32 @@
{
"id": "An update to WireGuard is available. It is highly advisable to update without delay.",
"message": "An update to WireGuard is available. It is highly advisable to update without delay.",
- "translation": "Une mise à jour du WireGuard est disponible. Il est fortement conseillé de metter votre WireGuard à jour sans délai."
+ "translation": "Une mise à jour du WireGuard est disponible. Il est fortement conseillé de metter votre WireGuard à jour sans délai.",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Waiting for user",
"message": "Status: Waiting for user",
- "translation": "État: En attente de l’utilisateur"
+ "translation": "État: En attente de l’utilisateur",
+ "translatorComment": "Copied from source."
},
{
"id": "Update Now",
"message": "Update Now",
- "translation": "Mettre à jour maintenant"
+ "translation": "Mettre à jour maintenant",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
- "translation": "État: En attente du programme de mise à jour"
+ "translation": "État: En attente du programme de mise à jour",
+ "translatorComment": "Copied from source."
},
{
"id": "Error: {Err}. Please try again.",
"message": "Error: {Err}. Please try again.",
"translation": "Erreur : {Err}. Veuillez réessayer.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -1545,12 +1704,14 @@
{
"id": "Status: Complete!",
"message": "Status: Complete!",
- "translation": "État: Terminé!"
+ "translation": "État: Terminé!",
+ "translatorComment": "Copied from source."
},
{
"id": "http2: Framer {F}: failed to decode just-written frame",
"message": "http2: Framer {F}: failed to decode just-written frame",
"translation": "http2: Trameur {F} : impossible de décoder la trame just écrite.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "F",
@@ -1566,6 +1727,7 @@
"id": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
"message": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
"translation": "http2: Trameur {F}: a écrit {Http2summarizeFramefr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "F",
@@ -1589,6 +1751,7 @@
"id": "http2: Framer {Fr}: read {Http2summarizeFramef}",
"message": "http2: Framer {Fr}: read {Http2summarizeFramef}",
"translation": "http2: Trameur {Fr} : a lu {Http2summarizeFramef}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Fr",
@@ -1612,6 +1775,7 @@
"id": "http2: decoded hpack field {HeaderField}",
"message": "http2: decoded hpack field {HeaderField}",
"translation": "http2 : champ hpack {HeaderField} décodé",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "HeaderField",
diff --git a/locales/it/messages.gotext.json b/locales/it/messages.gotext.json
index 12c00a75..c2ff1eec 100644
--- a/locales/it/messages.gotext.json
+++ b/locales/it/messages.gotext.json
@@ -4,17 +4,20 @@
{
"id": "Error",
"message": "Error",
- "translation": "Errore"
+ "translation": "Errore",
+ "translatorComment": "Copied from source."
},
{
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
- "translation": "(nessun argomento): eleva e installa il servizio di gestione"
+ "translation": "(nessun argomento): eleva e installa il servizio di gestione",
+ "translatorComment": "Copied from source."
},
{
"id": "Usage: {Args0} [\n{String}]",
"message": "Usage: {Args0} [\n{String}]",
"translation": "Utilizzo: {Args0} [\n{String}]",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Args0",
@@ -37,12 +40,14 @@
{
"id": "Command Line Options",
"message": "Command Line Options",
- "translation": "Opzioni riga di comando"
+ "translation": "Opzioni riga di comando",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to determine whether the process is running under WOW64: {Err}",
"message": "Unable to determine whether the process is running under WOW64: {Err}",
"translation": "Impossibile determinare se il processo è in esecuzione in WOW64: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -57,12 +62,14 @@
{
"id": "You must use the 64-bit version of WireGuard on this computer.",
"message": "You must use the 64-bit version of WireGuard on this computer.",
- "translation": "Devi utilizzare la versione a 64 bit di WireGuard su questo computer."
+ "translation": "Devi utilizzare la versione a 64 bit di WireGuard su questo computer.",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to open current process token: {Err}",
"message": "Unable to open current process token: {Err}",
"translation": "Impossibile aprire il token del processo corrente: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -78,6 +85,7 @@
"id": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"message": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"translation": "WireGuard può essere utilizzato solo dagli utenti membri del gruppo {AdminGroupName} di sistema.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
@@ -93,6 +101,7 @@
"id": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"message": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"translation": "WireGuard è in esecuzione, ma l'interfaccia utente è accessibile solo dai desktop del gruppo {AdminGroupName} di sistema.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
@@ -107,17 +116,20 @@
{
"id": "WireGuard system tray icon did not appear after 30 seconds.",
"message": "WireGuard system tray icon did not appear after 30 seconds.",
- "translation": "L'icona della barra delle applicazioni di WireGuard non è apparsa dopo 30 secondi."
+ "translation": "L'icona della barra delle applicazioni di WireGuard non è apparsa dopo 30 secondi.",
+ "translatorComment": "Copied from source."
},
{
"id": "Now",
"message": "Now",
- "translation": "Ora"
+ "translation": "Ora",
+ "translatorComment": "Copied from source."
},
{
"id": "System clock wound backward!",
"message": "System clock wound backward!",
- "translation": "L'orologio di sistema va all'indietro!"
+ "translation": "L'orologio di sistema va all'indietro!",
+ "translatorComment": "Copied from source."
},
{
"id": "{Years} year(s)",
@@ -263,6 +275,7 @@
"id": "{Timestamp} ago",
"message": "{Timestamp} ago",
"translation": "{Timestamp} fa",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Timestamp",
@@ -277,7 +290,8 @@
{
"id": "{Bytes} B",
"message": "{Bytes} B",
- "translation": "",
+ "translation": "{Bytes} B",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Bytes",
@@ -292,7 +306,8 @@
{
"id": "{Float64b__1024} KiB",
"message": "{Float64b__1024} KiB",
- "translation": "",
+ "translation": "{Float64b__1024} KiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024",
@@ -307,7 +322,8 @@
{
"id": "{Float64b__1024__1024} MiB",
"message": "{Float64b__1024__1024} MiB",
- "translation": "",
+ "translation": "{Float64b__1024__1024} MiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024",
@@ -322,7 +338,8 @@
{
"id": "{Float64b__1024__1024__1024} GiB",
"message": "{Float64b__1024__1024__1024} GiB",
- "translation": "",
+ "translation": "{Float64b__1024__1024__1024} GiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024",
@@ -337,7 +354,8 @@
{
"id": "{Float64b__1024__1024__1024__1024} TiB",
"message": "{Float64b__1024__1024__1024__1024} TiB",
- "translation": "",
+ "translation": "{Float64b__1024__1024__1024__1024} TiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024__1024",
@@ -353,6 +371,7 @@
"id": "{Why}: {Offender}",
"message": "{Why}: {Offender}",
"translation": "{Why}: {Offender}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Why",
@@ -375,47 +394,56 @@
{
"id": "Invalid IP address",
"message": "Invalid IP address",
- "translation": "Indirizzo IP non valido"
+ "translation": "Indirizzo IP non valido",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid network prefix length",
"message": "Invalid network prefix length",
- "translation": "Lunghezza del prefisso di rete non valida"
+ "translation": "Lunghezza del prefisso di rete non valida",
+ "translatorComment": "Copied from source."
},
{
"id": "Missing port from endpoint",
"message": "Missing port from endpoint",
- "translation": "Manca la porta dall'endpoint"
+ "translation": "Manca la porta dall'endpoint",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid endpoint host",
"message": "Invalid endpoint host",
- "translation": "Host dell'endpoint non valido"
+ "translation": "Host dell'endpoint non valido",
+ "translatorComment": "Copied from source."
},
{
"id": "Brackets must contain an IPv6 address",
"message": "Brackets must contain an IPv6 address",
- "translation": "Le parentesi devono contenere un indirizzo IPv6"
+ "translation": "Le parentesi devono contenere un indirizzo IPv6",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid MTU",
"message": "Invalid MTU",
- "translation": "MTU non valido"
+ "translation": "MTU non valido",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid port",
"message": "Invalid port",
- "translation": "Porta non valida"
+ "translation": "Porta non valida",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid persistent keepalive",
"message": "Invalid persistent keepalive",
- "translation": "Keepalive permanente non valido"
+ "translation": "Keepalive permanente non valido",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key: {Err}",
"message": "Invalid key: {Err}",
"translation": "Chiave non valida: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -430,12 +458,14 @@
{
"id": "Keys must decode to exactly 32 bytes",
"message": "Keys must decode to exactly 32 bytes",
- "translation": "Le chiavi devono decodificare esattamente 32 byte"
+ "translation": "Le chiavi devono decodificare esattamente 32 byte",
+ "translatorComment": "Copied from source."
},
{
"id": "Number must be a number between 0 and 2^64-1: {Err}",
"message": "Number must be a number between 0 and 2^64-1: {Err}",
"translation": "Il numero deve essere un numero compreso tra 0 e 2^64-1: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -450,72 +480,86 @@
{
"id": "Two commas in a row",
"message": "Two commas in a row",
- "translation": "Due virgole in una riga"
+ "translation": "Due virgole in una riga",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel name is not valid",
"message": "Tunnel name is not valid",
- "translation": "Il nome del tunnel non è valido"
+ "translation": "Il nome del tunnel non è valido",
+ "translatorComment": "Copied from source."
},
{
"id": "Line must occur in a section",
"message": "Line must occur in a section",
- "translation": "Una riga deve essere presente in una sezione"
+ "translation": "Una riga deve essere presente in una sezione",
+ "translatorComment": "Copied from source."
},
{
- "id": "Config key is missing an equals separator",
- "message": "Config key is missing an equals separator",
- "translation": ""
+ "id": "Invalid config key is missing an equals separator",
+ "message": "Invalid config key is missing an equals separator",
+ "translation": "Chiave di configurazione non valida manca di un separatore di uguale",
+ "translatorComment": "Copied from source."
},
{
"id": "Key must have a value",
"message": "Key must have a value",
- "translation": "La chiave deve avere un valore"
+ "translation": "La chiave deve avere un valore",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Interface] section",
"message": "Invalid key for [Interface] section",
- "translation": "Chiave non valida per la sezione [Interface]"
+ "translation": "Chiave non valida per la sezione [Interface]",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Peer] section",
"message": "Invalid key for [Peer] section",
- "translation": "Chiave non valida per la sezione [Peer]"
+ "translation": "Chiave non valida per la sezione [Peer]",
+ "translatorComment": "Copied from source."
},
{
"id": "An interface must have a private key",
"message": "An interface must have a private key",
- "translation": "Un'interfaccia deve avere una chiave privata"
+ "translation": "Un'interfaccia deve avere una chiave privata",
+ "translatorComment": "Copied from source."
},
{
"id": "[none specified]",
"message": "[none specified]",
- "translation": "[non specificato]"
+ "translation": "[non specificato]",
+ "translatorComment": "Copied from source."
},
{
"id": "All peers must have public keys",
"message": "All peers must have public keys",
- "translation": "Tutti i peer devono avere una chiave pubblica"
+ "translation": "Tutti i peer devono avere una chiave pubblica",
+ "translatorComment": "Copied from source."
},
{
"id": "Error in getting configuration",
"message": "Error in getting configuration",
- "translation": "Errore durante il recupero della configurazione"
+ "translation": "Errore durante il recupero della configurazione",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for interface section",
"message": "Invalid key for interface section",
- "translation": "Chiave non valida per la sezione dell'interfaccia"
+ "translation": "Chiave non valida per la sezione dell'interfaccia",
+ "translatorComment": "Copied from source."
},
{
"id": "Protocol version must be 1",
"message": "Protocol version must be 1",
- "translation": "La versione del protocollo deve essere 1"
+ "translation": "La versione del protocollo deve essere 1",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for peer section",
"message": "Invalid key for peer section",
- "translation": "Chiave non valida per la sezione peer"
+ "translation": "Chiave non valida per la sezione peer",
+ "translatorComment": "Copied from source."
},
{
"id": "[EnumerationSeparator]",
@@ -532,17 +576,20 @@
{
"id": "About WireGuard",
"message": "About WireGuard",
- "translation": "Informazioni su WireGuard"
+ "translation": "Informazioni su WireGuard",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard logo image",
"message": "WireGuard logo image",
- "translation": "Immagine del logo di WireGuard"
+ "translation": "Immagine del logo di WireGuard",
+ "translatorComment": "Copied from source."
},
{
"id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
"message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
"translation": "Versione applicazione: {Number}\nVersione backend Go: {WireGuardGoVersion}\nVersione Go: {Version_go}\nSistema operativo: {OsName}\nArchitettura: {GOARCH}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Number",
@@ -589,92 +636,110 @@
{
"id": "Close",
"message": "Close",
- "translation": "Chiudi"
+ "translation": "Chiudi",
+ "translatorComment": "Copied from source."
},
{
- "id": "♥ \u0026Donate!",
- "message": "♥ \u0026Donate!",
- "translation": "♥ Fai una \u0026donazione!"
+ "id": "♥ &Donate!",
+ "message": "♥ &Donate!",
+ "translation": "♥ Fai una &donazione!",
+ "translatorComment": "Copied from source."
},
{
"id": "Status:",
"message": "Status:",
- "translation": "Stato"
+ "translation": "Stato:",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Deactivate",
- "message": "\u0026Deactivate",
- "translation": "\u0026Disattiva"
+ "id": "&Deactivate",
+ "message": "&Deactivate",
+ "translation": "&Disattiva",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Activate",
- "message": "\u0026Activate",
- "translation": "\u0026Attiva"
+ "id": "&Activate",
+ "message": "&Activate",
+ "translation": "&Attiva",
+ "translatorComment": "Copied from source."
},
{
"id": "Public key:",
"message": "Public key:",
- "translation": "Chiave pubblica"
+ "translation": "Chiave pubblica:",
+ "translatorComment": "Copied from source."
},
{
"id": "Listen port:",
"message": "Listen port:",
- "translation": "Porta in ascolto"
+ "translation": "Porta in ascolto:",
+ "translatorComment": "Copied from source."
},
{
"id": "MTU:",
"message": "MTU:",
- "translation": "MTU"
+ "translation": "MTU:",
+ "translatorComment": "Copied from source."
},
{
"id": "Addresses:",
"message": "Addresses:",
- "translation": "Indirizzi"
+ "translation": "Indirizzi:",
+ "translatorComment": "Copied from source."
},
{
"id": "DNS servers:",
"message": "DNS servers:",
- "translation": "Server DNS"
+ "translation": "Server DNS:",
+ "translatorComment": "Copied from source."
},
{
"id": "Preshared key:",
"message": "Preshared key:",
- "translation": "Chiave pre-condivisa"
+ "translation": "Chiave pre-condivisa:",
+ "translatorComment": "Copied from source."
},
{
"id": "Allowed IPs:",
"message": "Allowed IPs:",
- "translation": "IP consentiti"
+ "translation": "IP consentiti:",
+ "translatorComment": "Copied from source."
},
{
"id": "Endpoint:",
"message": "Endpoint:",
- "translation": "Endpoint"
+ "translation": "Endpoint:",
+ "translatorComment": "Copied from source."
},
{
"id": "Persistent keepalive:",
"message": "Persistent keepalive:",
- "translation": "Keepalive permanente"
+ "translation": "Keepalive permanente:",
+ "translatorComment": "Copied from source."
},
{
"id": "Latest handshake:",
"message": "Latest handshake:",
- "translation": "Ultima negoziazione"
+ "translation": "Ultima negoziazione:",
+ "translatorComment": "Copied from source."
},
{
"id": "Transfer:",
"message": "Transfer:",
- "translation": "Trasferimento"
+ "translation": "Trasferimento:",
+ "translatorComment": "Copied from source."
},
{
"id": "enabled",
"message": "enabled",
- "translation": "abilitato"
+ "translation": "abilitato",
+ "translatorComment": "Copied from source."
},
{
"id": "{String} received, {String_1} sent",
"message": "{String} received, {String_1} sent",
"translation": "{String} ricevuti, {String_1} inviati",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "String",
@@ -697,22 +762,26 @@
{
"id": "Failed to determine tunnel state",
"message": "Failed to determine tunnel state",
- "translation": "Determinazione dello stato del tunnel non riuscita"
+ "translation": "Determinazione dello stato del tunnel non riuscita",
+ "translatorComment": "Copied from source."
},
{
"id": "Failed to activate tunnel",
"message": "Failed to activate tunnel",
- "translation": "Attivazione del tunnel non riuscita"
+ "translation": "Attivazione del tunnel non riuscita",
+ "translatorComment": "Copied from source."
},
{
"id": "Failed to deactivate tunnel",
"message": "Failed to deactivate tunnel",
- "translation": "Disattivazione del tunnel non riuscita"
+ "translation": "Disattivazione del tunnel non riuscita",
+ "translatorComment": "Copied from source."
},
{
"id": "Interface: {Name}",
"message": "Interface: {Name}",
"translation": "Interfaccia: {Name}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -727,72 +796,86 @@
{
"id": "Peer",
"message": "Peer",
- "translation": "Peer"
+ "translation": "Peer",
+ "translatorComment": "Copied from source."
},
{
"id": "Create new tunnel",
"message": "Create new tunnel",
- "translation": "Crea tunnel"
+ "translation": "Crea tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "Edit tunnel",
"message": "Edit tunnel",
- "translation": "Modifica tunnel"
+ "translation": "Modifica tunnel",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Name:",
- "message": "\u0026Name:",
- "translation": "\u0026Nome:"
+ "id": "&Name:",
+ "message": "&Name:",
+ "translation": "&Nome:",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Public key:",
- "message": "\u0026Public key:",
- "translation": "Chiave \u0026pubblica"
+ "id": "&Public key:",
+ "message": "&Public key:",
+ "translation": "Chiave &pubblica:",
+ "translatorComment": "Copied from source."
},
{
"id": "(unknown)",
"message": "(unknown)",
- "translation": "(sconosciuto)"
+ "translation": "(sconosciuto)",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Block untunneled traffic (kill-switch)",
- "message": "\u0026Block untunneled traffic (kill-switch)",
- "translation": "\u0026Blocca traffico fuori dal tunnel (kill-switch)"
+ "id": "&Block untunneled traffic (kill-switch)",
+ "message": "&Block untunneled traffic (kill-switch)",
+ "translation": "&Blocca traffico fuori dal tunnel (kill-switch)",
+ "translatorComment": "Copied from source."
},
{
"id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
"message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
- "translation": "Quando una configurazione ha esattamente un peer e quel peer ha un IP consentito contenente almeno uno di 0.0.0.0/0 o ::/0, il servizio tunnel impegna un insieme di regole del firewall per bloccare tutto il traffico che non proviene dall'interfaccia tunnel, con speciali eccezioni per DHCP e NDP."
+ "translation": "Quando una configurazione ha esattamente un peer e quel peer ha un IP consentito contenente almeno uno di 0.0.0.0/0 o ::/0, il servizio tunnel impegna un insieme di regole del firewall per bloccare tutto il traffico che non proviene dall'interfaccia tunnel, con speciali eccezioni per DHCP e NDP.",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Save",
- "message": "\u0026Save",
- "translation": "\u0026Salva"
+ "id": "&Save",
+ "message": "&Save",
+ "translation": "&Salva",
+ "translatorComment": "Copied from source."
},
{
"id": "Cancel",
"message": "Cancel",
- "translation": "Annulla"
+ "translation": "Annulla",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Configuration:",
- "message": "\u0026Configuration:",
- "translation": "\u0026Configurazione"
+ "id": "&Configuration:",
+ "message": "&Configuration:",
+ "translation": "&Configurazione:",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid name",
"message": "Invalid name",
- "translation": "Nome non valido"
+ "translation": "Nome non valido",
+ "translatorComment": "Copied from source."
},
{
"id": "A name is required.",
"message": "A name is required.",
- "translation": "Un nome è richiesto."
+ "translation": "Un nome è richiesto.",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel name ‘{NewName}’ is invalid.",
"message": "Tunnel name ‘{NewName}’ is invalid.",
- "translation": "Il nome del tunnel ‘{NewName}’ non è valido",
+ "translation": "Il nome del tunnel ‘{NewName}’ non è valido.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
@@ -807,17 +890,20 @@
{
"id": "Unable to list existing tunnels",
"message": "Unable to list existing tunnels",
- "translation": "Impossibile elencare i tunnel esistenti"
+ "translation": "Impossibile elencare i tunnel esistenti",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel already exists",
"message": "Tunnel already exists",
- "translation": "Il tunnel esiste già"
+ "translation": "Il tunnel esiste già",
+ "translatorComment": "Copied from source."
},
{
"id": "Another tunnel already exists with the name ‘{NewName}’.",
"message": "Another tunnel already exists with the name ‘{NewName}’.",
"translation": "Un altro tunnel con il nome ‘{NewName}’ esiste già.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
@@ -832,17 +918,20 @@
{
"id": "Unable to create new configuration",
"message": "Unable to create new configuration",
- "translation": "Impossibile creare la nuova configurazione"
+ "translation": "Impossibile creare la nuova configurazione",
+ "translatorComment": "Copied from source."
},
{
"id": "Writing file failed",
"message": "Writing file failed",
- "translation": "Scrittura del file non riuscita"
+ "translation": "Scrittura del file non riuscita",
+ "translatorComment": "Copied from source."
},
{
"id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
"message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
"translation": "Il file ‘{FilePath}’ esiste già.\n\nVuoi sovrascriverlo?",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "FilePath",
@@ -857,82 +946,98 @@
{
"id": "Active",
"message": "Active",
- "translation": "Attivo"
+ "translation": "Attivo",
+ "translatorComment": "Copied from source."
},
{
"id": "Activating",
"message": "Activating",
- "translation": "Attivazione"
+ "translation": "Attivazione",
+ "translatorComment": "Copied from source."
},
{
"id": "Inactive",
"message": "Inactive",
- "translation": "Inattivo"
+ "translation": "Inattivo",
+ "translatorComment": "Copied from source."
},
{
"id": "Deactivating",
"message": "Deactivating",
- "translation": "Disattivazione"
+ "translation": "Disattivazione",
+ "translatorComment": "Copied from source."
},
{
"id": "Unknown state",
"message": "Unknown state",
- "translation": "Stato sconosciuto"
+ "translation": "Stato sconosciuto",
+ "translatorComment": "Copied from source."
},
{
"id": "Log",
"message": "Log",
- "translation": "Log"
+ "translation": "Log",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Copy",
- "message": "\u0026Copy",
- "translation": "\u0026Copia"
+ "id": "&Copy",
+ "message": "&Copy",
+ "translation": "&Copia",
+ "translatorComment": "Copied from source."
},
{
- "id": "Select \u0026all",
- "message": "Select \u0026all",
- "translation": "Selezion\u0026a tutto"
+ "id": "Select &all",
+ "message": "Select &all",
+ "translation": "Selezion&a tutto",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Save to file…",
- "message": "\u0026Save to file…",
- "translation": "\u0026Salva su file…"
+ "id": "&Save to file…",
+ "message": "&Save to file…",
+ "translation": "&Salva su file…",
+ "translatorComment": "Copied from source."
},
{
"id": "Time",
"message": "Time",
- "translation": "Tempo"
+ "translation": "Tempo",
+ "translatorComment": "Copied from source."
},
{
"id": "Log message",
"message": "Log message",
- "translation": "Messaggio di log"
+ "translation": "Messaggio di log",
+ "translatorComment": "Copied from source."
},
{
"id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
"message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
- "translation": "File di testo (*.txt)|*.txt|Tutti i file (*.*)|*.*"
+ "translation": "File di testo (*.txt)|*.txt|Tutti i file (*.*)|*.*",
+ "translatorComment": "Copied from source."
},
{
"id": "Export log to file",
"message": "Export log to file",
- "translation": "Esporta log su file"
+ "translation": "Esporta log su file",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026About WireGuard…",
- "message": "\u0026About WireGuard…",
- "translation": "Inform\u0026azioni su WireGuard"
+ "id": "&About WireGuard…",
+ "message": "&About WireGuard…",
+ "translation": "Inform&azioni su WireGuard…",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel Error",
"message": "Tunnel Error",
- "translation": "Errore del tunnel"
+ "translation": "Errore del tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "{ErrMsg}\n\nPlease consult the log for more information.",
"message": "{ErrMsg}\n\nPlease consult the log for more information.",
"translation": "{ErrMsg}\n\nConsulta il log per ulteriori Informazioni.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "ErrMsg",
@@ -948,6 +1053,7 @@
"id": "{Title} (out of date)",
"message": "{Title} (out of date)",
"translation": "{Title} (obsoleto)",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Title",
@@ -962,12 +1068,14 @@
{
"id": "WireGuard Detection Error",
"message": "WireGuard Detection Error",
- "translation": "Errore di rilevamento di WireGuard"
+ "translation": "Errore di rilevamento di WireGuard",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to wait for WireGuard window to appear: {Err}",
"message": "Unable to wait for WireGuard window to appear: {Err}",
- "translation": "Impossibile attendere la comparsa della finestra di WireGuard",
+ "translation": "Impossibile attendere la comparsa della finestra di WireGuard: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -982,42 +1090,50 @@
{
"id": "WireGuard: Deactivated",
"message": "WireGuard: Deactivated",
- "translation": "WireGuard: disattivato"
+ "translation": "WireGuard: disattivato",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Unknown",
"message": "Status: Unknown",
- "translation": "Stato: sconosciuto"
+ "translation": "Stato: sconosciuto",
+ "translatorComment": "Copied from source."
},
{
"id": "Addresses: None",
"message": "Addresses: None",
- "translation": "Indirizzi: nessuno"
+ "translation": "Indirizzi: nessuno",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Manage tunnels…",
- "message": "\u0026Manage tunnels…",
- "translation": "\u0026Gestisci i tunnel…"
+ "id": "&Manage tunnels…",
+ "message": "&Manage tunnels…",
+ "translation": "&Gestisci i tunnel…",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Import tunnel(s) from file…",
- "message": "\u0026Import tunnel(s) from file…",
- "translation": "\u0026Importa tunnel da file…"
+ "id": "&Import tunnel(s) from file…",
+ "message": "&Import tunnel(s) from file…",
+ "translation": "&Importa tunnel da file…",
+ "translatorComment": "Copied from source."
},
{
- "id": "E\u0026xit",
- "message": "E\u0026xit",
- "translation": "E\u0026sci"
+ "id": "E&xit",
+ "message": "E&xit",
+ "translation": "E&sci",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard Tunnel Error",
"message": "WireGuard Tunnel Error",
- "translation": "Errore tunnel di WireGuard"
+ "translation": "Errore tunnel di WireGuard",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard: {TextForStateglobalState_true}",
"message": "WireGuard: {TextForStateglobalState_true}",
"translation": "WireGuard: {TextForStateglobalState_true}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TextForStateglobalState_true",
@@ -1033,6 +1149,7 @@
"id": "Status: {StateText}",
"message": "Status: {StateText}",
"translation": "Stato: {StateText}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "StateText",
@@ -1048,6 +1165,7 @@
"id": "Addresses: {String}",
"message": "Addresses: {String}",
"translation": "Indirizzi: {String}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "String",
@@ -1062,12 +1180,14 @@
{
"id": "WireGuard Activated",
"message": "WireGuard Activated",
- "translation": "WireGuard attivato"
+ "translation": "WireGuard attivato",
+ "translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been activated.",
"message": "The {Name} tunnel has been activated.",
"translation": "Il tunnel {Name} è stato attivato.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1082,12 +1202,14 @@
{
"id": "WireGuard Deactivated",
"message": "WireGuard Deactivated",
- "translation": "WireGuard disattivato"
+ "translation": "WireGuard disattivato",
+ "translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been deactivated.",
"message": "The {Name} tunnel has been deactivated.",
"translation": "Il tunnel {Name} è stato disattivato.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1102,72 +1224,86 @@
{
"id": "An Update is Available!",
"message": "An Update is Available!",
- "translation": "Un aggiornamento è disponibile!"
+ "translation": "Un aggiornamento è disponibile!",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard Update Available",
"message": "WireGuard Update Available",
- "translation": "Aggiornamento di WireGuard disponibile"
+ "translation": "Aggiornamento di WireGuard disponibile",
+ "translatorComment": "Copied from source."
},
{
"id": "An update to WireGuard is now available. You are advised to update as soon as possible.",
"message": "An update to WireGuard is now available. You are advised to update as soon as possible.",
- "translation": "Un aggiornamento di WireGuard è disponibile. Ti consigliamo di aggiornare il prima possibile."
+ "translation": "Un aggiornamento di WireGuard è disponibile. Ti consigliamo di aggiornare il prima possibile.",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnels",
"message": "Tunnels",
- "translation": "Tunnel"
+ "translation": "Tunnel",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Edit",
- "message": "\u0026Edit",
- "translation": "\u0026Modifica"
+ "id": "&Edit",
+ "message": "&Edit",
+ "translation": "&Modifica",
+ "translatorComment": "Copied from source."
},
{
- "id": "Add \u0026empty tunnel…",
- "message": "Add \u0026empty tunnel…",
- "translation": "Aggiungi tunn\u0026el vuoto"
+ "id": "Add &empty tunnel…",
+ "message": "Add &empty tunnel…",
+ "translation": "Aggiungi tunn&el vuoto",
+ "translatorComment": "Copied from source."
},
{
"id": "Add Tunnel",
"message": "Add Tunnel",
- "translation": "Aggiungi tunnel"
+ "translation": "Aggiungi tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "Remove selected tunnel(s)",
"message": "Remove selected tunnel(s)",
- "translation": "Rimuovi tunnel selezionati"
+ "translation": "Rimuovi tunnel selezionati",
+ "translatorComment": "Copied from source."
},
{
"id": "Export all tunnels to zip",
"message": "Export all tunnels to zip",
- "translation": "Esporta tutti i tunnel in zip"
+ "translation": "Esporta tutti i tunnel in zip",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Toggle",
- "message": "\u0026Toggle",
- "translation": "Commu\u0026ta"
+ "id": "&Toggle",
+ "message": "&Toggle",
+ "translation": "Commu&ta",
+ "translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to \u0026zip…",
- "message": "Export all tunnels to \u0026zip…",
- "translation": "Esporta tutti i tunnel in \u0026zip"
+ "id": "Export all tunnels to &zip…",
+ "message": "Export all tunnels to &zip…",
+ "translation": "Esporta tutti i tunnel in &zip",
+ "translatorComment": "Copied from source."
},
{
- "id": "Edit \u0026selected tunnel…",
- "message": "Edit \u0026selected tunnel…",
- "translation": "Modifica il tunnel \u0026selezionato…"
+ "id": "Edit &selected tunnel…",
+ "message": "Edit &selected tunnel…",
+ "translation": "Modifica il tunnel &selezionato…",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Remove selected tunnel(s)",
- "message": "\u0026Remove selected tunnel(s)",
- "translation": "\u0026Rimuovi i tunnel selezionati"
+ "id": "&Remove selected tunnel(s)",
+ "message": "&Remove selected tunnel(s)",
+ "translation": "&Rimuovi i tunnel selezionati",
+ "translatorComment": "Copied from source."
},
{
"id": "Could not import selected configuration: {LastErr}",
"message": "Could not import selected configuration: {LastErr}",
"translation": "Impossibile importare la configurazione selezionata: {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1183,6 +1319,7 @@
"id": "Could not enumerate existing tunnels: {LastErr}",
"message": "Could not enumerate existing tunnels: {LastErr}",
"translation": "Impossibile enumerare i tunnel esistenti: {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1198,6 +1335,7 @@
"id": "Another tunnel already exists with the name ‘{Name}’",
"message": "Another tunnel already exists with the name ‘{Name}’",
"translation": "Un altro tunnel esiste già con il nome ‘{Name}‘",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1213,6 +1351,7 @@
"id": "Unable to import configuration: {LastErr}",
"message": "Unable to import configuration: {LastErr}",
"translation": "Impossibile importare la configurazione: {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1227,7 +1366,8 @@
{
"id": "Imported tunnels",
"message": "Imported tunnels",
- "translation": "Tunnel importati"
+ "translation": "Tunnel importati",
+ "translatorComment": "Copied from source."
},
{
"id": "Imported {M} tunnels",
@@ -1269,7 +1409,7 @@
"msg": "{M} de {N} tunnel importato"
},
"other": {
- "msg": "{M} de {N} tunnel importati"
+ "msg": "{M} di {N} tunnel importati"
}
}
}
@@ -1296,7 +1436,8 @@
{
"id": "Unable to create tunnel",
"message": "Unable to create tunnel",
- "translation": "Impossibile creare il tunnel"
+ "translation": "Impossibile creare il tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "Delete {TunnelCount} tunnels",
@@ -1310,7 +1451,7 @@
"msg": "Elimina {TunnelCount} tunnel"
},
"other": {
- "msg": "Elimina {TunnelCount} tunnels"
+ "msg": "Elimina {TunnelCount} tunnel"
}
}
}
@@ -1358,6 +1499,7 @@
"id": "Delete tunnel ‘{TunnelName}’",
"message": "Delete tunnel ‘{TunnelName}’",
"translation": "Elimina tunnel ‘{TunnelName}‘",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
@@ -1373,6 +1515,7 @@
"id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
"message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
"translation": "Sei sicuro di voler eliminare il tunnel ‘{TunnelName}‘?",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
@@ -1388,6 +1531,7 @@
"id": "{Question} You cannot undo this action.",
"message": "{Question} You cannot undo this action.",
"translation": "{Question} Non è possibile annullare questa azione.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Question",
@@ -1402,12 +1546,14 @@
{
"id": "Unable to delete tunnel",
"message": "Unable to delete tunnel",
- "translation": "Impossibile eliminare il tunnel"
+ "translation": "Impossibile eliminare il tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "A tunnel was unable to be removed: {Error}",
"message": "A tunnel was unable to be removed: {Error}",
"translation": "Non è stato possibile rimuovere un tunnel: {Error}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Error",
@@ -1422,7 +1568,8 @@
{
"id": "Unable to delete tunnels",
"message": "Unable to delete tunnels",
- "translation": "Impossibile eliminare i tunnel"
+ "translation": "Impossibile eliminare i tunnel",
+ "translatorComment": "Copied from source."
},
{
"id": "{Lenerrors} tunnels were unable to be removed.",
@@ -1455,27 +1602,32 @@
{
"id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
"message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
- "translation": "File di configurazione (*.zip, *.conf)|*.zip;*.conf|Tutti i file (*.*)|*.*"
+ "translation": "File di configurazione (*.zip, *.conf)|*.zip;*.conf|Tutti i file (*.*)|*.*",
+ "translatorComment": "Copied from source."
},
{
"id": "Import tunnel(s) from file",
"message": "Import tunnel(s) from file",
- "translation": "Importa tunnel da file"
+ "translation": "Importa tunnel da file",
+ "translatorComment": "Copied from source."
},
{
"id": "Configuration ZIP Files (*.zip)|*.zip",
"message": "Configuration ZIP Files (*.zip)|*.zip",
- "translation": "File di configurazione ZIP (*.zip)|*.zip"
+ "translation": "File di configurazione ZIP (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
},
{
"id": "Export tunnels to zip",
"message": "Export tunnels to zip",
- "translation": "Esporta tunnel in zip"
+ "translation": "Esporta tunnel in zip",
+ "translatorComment": "Copied from source."
},
{
"id": "{Title} (unsigned build, no updates)",
"message": "{Title} (unsigned build, no updates)",
"translation": "{Title} (versione non firmata, nessun aggiornamento)",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Title",
@@ -1490,12 +1642,14 @@
{
"id": "Error Exiting WireGuard",
"message": "Error Exiting WireGuard",
- "translation": "Errore durante la chiusura di WireGuard"
+ "translation": "Errore durante la chiusura di WireGuard",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
"message": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
"translation": "Impossibile uscire dal servizio a causa di: {Err}. Potresti voler interrompere WireGuard dal gestore dei servizi.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -1510,27 +1664,32 @@
{
"id": "An update to WireGuard is available. It is highly advisable to update without delay.",
"message": "An update to WireGuard is available. It is highly advisable to update without delay.",
- "translation": "Un aggiornamento di WireGuard è disponibile. Ti consigliamo vivamente di aggiornare senza indugio."
+ "translation": "Un aggiornamento di WireGuard è disponibile. Ti consigliamo vivamente di aggiornare immediatamente.",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Waiting for user",
"message": "Status: Waiting for user",
- "translation": "Stato: in attesa dell'utente"
+ "translation": "Stato: in attesa dell'utente",
+ "translatorComment": "Copied from source."
},
{
"id": "Update Now",
"message": "Update Now",
- "translation": "Aggiorna ora"
+ "translation": "Aggiorna ora",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
- "translation": "Stato: in attesa del servizio di aggiornamento"
+ "translation": "Stato: in attesa del servizio di aggiornamento",
+ "translatorComment": "Copied from source."
},
{
"id": "Error: {Err}. Please try again.",
"message": "Error: {Err}. Please try again.",
"translation": "Errore: {Err}. Prova ancora.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -1545,12 +1704,14 @@
{
"id": "Status: Complete!",
"message": "Status: Complete!",
- "translation": "Stato: Completo!"
+ "translation": "Stato: Completo!",
+ "translatorComment": "Copied from source."
},
{
"id": "http2: Framer {F}: failed to decode just-written frame",
"message": "http2: Framer {F}: failed to decode just-written frame",
"translation": "http2: Framer {F}: decodifica del frame appena scritto non riuscita",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "F",
@@ -1566,6 +1727,7 @@
"id": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
"message": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
"translation": "http2: Framer {F}: ha scritto {Http2summarizeFramefr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "F",
@@ -1589,6 +1751,7 @@
"id": "http2: Framer {Fr}: read {Http2summarizeFramef}",
"message": "http2: Framer {Fr}: read {Http2summarizeFramef}",
"translation": "http2: Framer {Fr}: ha letto {Http2summarizeFramef}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Fr",
@@ -1612,6 +1775,7 @@
"id": "http2: decoded hpack field {HeaderField}",
"message": "http2: decoded hpack field {HeaderField}",
"translation": "http2: campo hpack {HeaderField} decodificato",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "HeaderField",
diff --git a/locales/ja/messages.gotext.json b/locales/ja/messages.gotext.json
index 52aacbfe..8c1a7ddc 100644
--- a/locales/ja/messages.gotext.json
+++ b/locales/ja/messages.gotext.json
@@ -4,17 +4,20 @@
{
"id": "Error",
"message": "Error",
- "translation": "エラー"
+ "translation": "エラー",
+ "translatorComment": "Copied from source."
},
{
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
- "translation": "(引数なし): 管理者権限でmanagerサービスをインストールしてください"
+ "translation": "(引数なし): 管理者権限でmanagerサービスをインストールする",
+ "translatorComment": "Copied from source."
},
{
"id": "Usage: {Args0} [\n{String}]",
"message": "Usage: {Args0} [\n{String}]",
"translation": "使い方: {Args0} [\n{String}]",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Args0",
@@ -37,12 +40,14 @@
{
"id": "Command Line Options",
"message": "Command Line Options",
- "translation": "コマンドラインオプション"
+ "translation": "コマンドラインオプション",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to determine whether the process is running under WOW64: {Err}",
"message": "Unable to determine whether the process is running under WOW64: {Err}",
- "translation": "プロセスがWOW64で動作しているか確認できません: {Err}",
+ "translation": "プロセスがWOW64下で動作しているか確認できません: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -57,12 +62,14 @@
{
"id": "You must use the 64-bit version of WireGuard on this computer.",
"message": "You must use the 64-bit version of WireGuard on this computer.",
- "translation": "このコンピュータでは64ビット版の WireGuard を使ってください。"
+ "translation": "このコンピュータでは64ビット版の WireGuard を使ってください。",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to open current process token: {Err}",
"message": "Unable to open current process token: {Err}",
- "translation": "現在のプロセストークンを開けません: {Err}",
+ "translation": "現在のプロセスのトークンを開けません: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -78,6 +85,7 @@
"id": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"message": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"translation": "WireGuard は組み込みの {AdminGroupName} グループのメンバーだけが使えます。",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
@@ -93,6 +101,7 @@
"id": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"message": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"translation": "WireGuard は実行中ですが、UI画面は組み込みの {AdminGroupName} グループのデスクトップからしか開けません。",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
@@ -107,22 +116,35 @@
{
"id": "WireGuard system tray icon did not appear after 30 seconds.",
"message": "WireGuard system tray icon did not appear after 30 seconds.",
- "translation": "WireGuard システムトレイアイコンは30秒後に非表示になります。"
+ "translation": "WireGuard システムトレイアイコンは30秒後に非表示になります。",
+ "translatorComment": "Copied from source."
},
{
"id": "Now",
"message": "Now",
- "translation": "現在"
+ "translation": "今",
+ "translatorComment": "Copied from source."
},
{
"id": "System clock wound backward!",
"message": "System clock wound backward!",
- "translation": "システム時刻が遅れています"
+ "translation": "システム時刻が巻き戻った!",
+ "translatorComment": "Copied from source."
},
{
"id": "{Years} year(s)",
"message": "{Years} year(s)",
- "translation": "{Years} 年",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Years",
+ "cases": {
+ "other": {
+ "msg": "{Years} 年"
+ }
+ }
+ }
+ },
"placeholders": [
{
"id": "Years",
@@ -137,7 +159,17 @@
{
"id": "{Days} day(s)",
"message": "{Days} day(s)",
- "translation": "{Days} 日",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Days",
+ "cases": {
+ "other": {
+ "msg": "{Days} 日"
+ }
+ }
+ }
+ },
"placeholders": [
{
"id": "Days",
@@ -152,7 +184,17 @@
{
"id": "{Hours} hour(s)",
"message": "{Hours} hour(s)",
- "translation": "{Hours} 時間",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Hours",
+ "cases": {
+ "other": {
+ "msg": "{Hours} 時間"
+ }
+ }
+ }
+ },
"placeholders": [
{
"id": "Hours",
@@ -167,7 +209,17 @@
{
"id": "{Minutes} minute(s)",
"message": "{Minutes} minute(s)",
- "translation": "{Minutes} 分",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Minutes",
+ "cases": {
+ "other": {
+ "msg": "{Minutes} 分"
+ }
+ }
+ }
+ },
"placeholders": [
{
"id": "Minutes",
@@ -182,7 +234,17 @@
{
"id": "{Seconds} second(s)",
"message": "{Seconds} second(s)",
- "translation": "{Seconds} 秒",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Seconds",
+ "cases": {
+ "other": {
+ "msg": "{Seconds} 秒"
+ }
+ }
+ }
+ },
"placeholders": [
{
"id": "Seconds",
@@ -198,6 +260,7 @@
"id": "{Timestamp} ago",
"message": "{Timestamp} ago",
"translation": "{Timestamp} 前",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Timestamp",
@@ -213,6 +276,7 @@
"id": "{Bytes} B",
"message": "{Bytes} B",
"translation": "{Bytes} B",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Bytes",
@@ -228,6 +292,7 @@
"id": "{Float64b__1024} KiB",
"message": "{Float64b__1024} KiB",
"translation": "{Float64b__1024} KiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024",
@@ -243,6 +308,7 @@
"id": "{Float64b__1024__1024} MiB",
"message": "{Float64b__1024__1024} MiB",
"translation": "{Float64b__1024__1024} MiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024",
@@ -258,6 +324,7 @@
"id": "{Float64b__1024__1024__1024} GiB",
"message": "{Float64b__1024__1024__1024} GiB",
"translation": "{Float64b__1024__1024__1024} GiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024",
@@ -273,6 +340,7 @@
"id": "{Float64b__1024__1024__1024__1024} TiB",
"message": "{Float64b__1024__1024__1024__1024} TiB",
"translation": "{Float64b__1024__1024__1024__1024} TiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024__1024",
@@ -288,6 +356,7 @@
"id": "{Why}: {Offender}",
"message": "{Why}: {Offender}",
"translation": "{Why}: {Offender}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Why",
@@ -310,47 +379,56 @@
{
"id": "Invalid IP address",
"message": "Invalid IP address",
- "translation": "不正な IP アドレス"
+ "translation": "無効な IP アドレス",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid network prefix length",
"message": "Invalid network prefix length",
- "translation": "不正なネットワークプレフィックス長指定"
+ "translation": "無効なネットワークプレフィックス長",
+ "translatorComment": "Copied from source."
},
{
"id": "Missing port from endpoint",
"message": "Missing port from endpoint",
- "translation": "エンドポイントのポート指定なし"
+ "translation": "エンドポイントのポート指定なし",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid endpoint host",
"message": "Invalid endpoint host",
- "translation": "不正なエンドポイントホスト"
+ "translation": "無効なエンドポイントホスト",
+ "translatorComment": "Copied from source."
},
{
"id": "Brackets must contain an IPv6 address",
"message": "Brackets must contain an IPv6 address",
- "translation": "カッコ内は IPv6 アドレスでなければなりません"
+ "translation": "カッコ内は IPv6 アドレスが入ります",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid MTU",
"message": "Invalid MTU",
- "translation": "不正な MTU 指定"
+ "translation": "無効な MTU",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid port",
"message": "Invalid port",
- "translation": "不正なポート番号"
+ "translation": "無効なポート番号",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid persistent keepalive",
"message": "Invalid persistent keepalive",
- "translation": "不正な持続的キープアライブ値"
+ "translation": "無効な持続的キープアライブ値",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key: {Err}",
"message": "Invalid key: {Err}",
"translation": "不正な鍵: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -365,12 +443,14 @@
{
"id": "Keys must decode to exactly 32 bytes",
"message": "Keys must decode to exactly 32 bytes",
- "translation": "鍵は 32 バイトでなければなりません"
+ "translation": "鍵は 32 バイトでなければなりません",
+ "translatorComment": "Copied from source."
},
{
"id": "Number must be a number between 0 and 2^64-1: {Err}",
"message": "Number must be a number between 0 and 2^64-1: {Err}",
"translation": "数値は0から2の64乗-1の範囲内の値でなければなりません: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -385,72 +465,86 @@
{
"id": "Two commas in a row",
"message": "Two commas in a row",
- "translation": "1行にカンマが2つあります"
+ "translation": "1行にカンマが2つあります",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel name is not valid",
"message": "Tunnel name is not valid",
- "translation": "トンネル名が不正です"
+ "translation": "トンネル名が不正です",
+ "translatorComment": "Copied from source."
},
{
"id": "Line must occur in a section",
"message": "Line must occur in a section",
- "translation": "行がセクション内にありません"
+ "translation": "行がセクション内にありません",
+ "translatorComment": "Copied from source."
},
{
- "id": "Config key is missing an equals separator",
- "message": "Config key is missing an equals separator",
- "translation": ""
+ "id": "Invalid config key is missing an equals separator",
+ "message": "Invalid config key is missing an equals separator",
+ "translation": "イコール(=)が無いためキー項目として不正です",
+ "translatorComment": "Copied from source."
},
{
"id": "Key must have a value",
"message": "Key must have a value",
- "translation": "キー項目に対応する値がありません"
+ "translation": "キー項目に対応する値がありません",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Interface] section",
"message": "Invalid key for [Interface] section",
- "translation": "[Interface] セクションのキー項目として不正です"
+ "translation": "無効な [Interface] セクションのキー項目",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Peer] section",
"message": "Invalid key for [Peer] section",
- "translation": "[Peer] セクションのキー項目として不正です"
+ "translation": "無効な [Peer] セクションのキー項目",
+ "translatorComment": "Copied from source."
},
{
"id": "An interface must have a private key",
"message": "An interface must have a private key",
- "translation": "インターフェースには秘密鍵が必須です"
+ "translation": "インターフェースには秘密鍵が必須です",
+ "translatorComment": "Copied from source."
},
{
"id": "[none specified]",
"message": "[none specified]",
- "translation": "[指定なし]"
+ "translation": "[指定なし]",
+ "translatorComment": "Copied from source."
},
{
"id": "All peers must have public keys",
"message": "All peers must have public keys",
- "translation": "すべてのピアには公開鍵が必須です"
+ "translation": "すべてのピアには公開鍵が必須です",
+ "translatorComment": "Copied from source."
},
{
"id": "Error in getting configuration",
"message": "Error in getting configuration",
- "translation": "設定の取得時にエラー"
+ "translation": "設定の読込中にエラーが発生しました",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for interface section",
"message": "Invalid key for interface section",
- "translation": "インターフェースセクションのキー項目が不正です"
+ "translation": "無効な Interface セクションのキー項目",
+ "translatorComment": "Copied from source."
},
{
"id": "Protocol version must be 1",
"message": "Protocol version must be 1",
- "translation": "プロトコルバージョンは 1 でなければなりません"
+ "translation": "プロトコルバージョンは 1 でなければなりません",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for peer section",
"message": "Invalid key for peer section",
- "translation": "ピアセクションのキー項目が不正です"
+ "translation": "無効な Peer セクションのキー項目",
+ "translatorComment": "Copied from source."
},
{
"id": "[EnumerationSeparator]",
@@ -467,17 +561,20 @@
{
"id": "About WireGuard",
"message": "About WireGuard",
- "translation": "WireGuard について"
+ "translation": "WireGuard について",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard logo image",
"message": "WireGuard logo image",
- "translation": "WireGuard ロゴ画像"
+ "translation": "WireGuard ロゴ画像",
+ "translatorComment": "Copied from source."
},
{
"id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
"message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
"translation": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Number",
@@ -524,92 +621,110 @@
{
"id": "Close",
"message": "Close",
- "translation": "閉じる"
+ "translation": "閉じる",
+ "translatorComment": "Copied from source."
},
{
- "id": "♥ \u0026Donate!",
- "message": "♥ \u0026Donate!",
- "translation": "♥ 寄付のお願い!(\u0026D)"
+ "id": "♥ &Donate!",
+ "message": "♥ &Donate!",
+ "translation": "♥ 寄付のお願い!(&D)",
+ "translatorComment": "Copied from source."
},
{
"id": "Status:",
"message": "Status:",
- "translation": "状態:"
+ "translation": "状態:",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Deactivate",
- "message": "\u0026Deactivate",
- "translation": "無効化(\u0026D)"
+ "id": "&Deactivate",
+ "message": "&Deactivate",
+ "translation": "無効化(&D)",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Activate",
- "message": "\u0026Activate",
- "translation": "有効化(\u0026A)"
+ "id": "&Activate",
+ "message": "&Activate",
+ "translation": "有効化(&A)",
+ "translatorComment": "Copied from source."
},
{
"id": "Public key:",
"message": "Public key:",
- "translation": "公開鍵:"
+ "translation": "公開鍵:",
+ "translatorComment": "Copied from source."
},
{
"id": "Listen port:",
"message": "Listen port:",
- "translation": "待受ポート番号:"
+ "translation": "待受ポート番号:",
+ "translatorComment": "Copied from source."
},
{
"id": "MTU:",
"message": "MTU:",
- "translation": "MTU:"
+ "translation": "MTU:",
+ "translatorComment": "Copied from source."
},
{
"id": "Addresses:",
"message": "Addresses:",
- "translation": "アドレス:"
+ "translation": "アドレス:",
+ "translatorComment": "Copied from source."
},
{
"id": "DNS servers:",
"message": "DNS servers:",
- "translation": "DNS サーバ:"
+ "translation": "DNS サーバ:",
+ "translatorComment": "Copied from source."
},
{
"id": "Preshared key:",
"message": "Preshared key:",
- "translation": "事前共有鍵:"
+ "translation": "事前共有鍵:",
+ "translatorComment": "Copied from source."
},
{
"id": "Allowed IPs:",
"message": "Allowed IPs:",
- "translation": "Allowed IPs:"
+ "translation": "Allowed IPs:",
+ "translatorComment": "Copied from source."
},
{
"id": "Endpoint:",
"message": "Endpoint:",
- "translation": "エンドポイント:"
+ "translation": "エンドポイント:",
+ "translatorComment": "Copied from source."
},
{
"id": "Persistent keepalive:",
"message": "Persistent keepalive:",
- "translation": "持続的キープアライブ:"
+ "translation": "持続的キープアライブ:",
+ "translatorComment": "Copied from source."
},
{
"id": "Latest handshake:",
"message": "Latest handshake:",
- "translation": "直近のハンドシェイク:"
+ "translation": "直近のハンドシェイク:",
+ "translatorComment": "Copied from source."
},
{
"id": "Transfer:",
"message": "Transfer:",
- "translation": "転送:"
+ "translation": "転送:",
+ "translatorComment": "Copied from source."
},
{
"id": "enabled",
"message": "enabled",
- "translation": "有効"
+ "translation": "有効",
+ "translatorComment": "Copied from source."
},
{
"id": "{String} received, {String_1} sent",
"message": "{String} received, {String_1} sent",
- "translation": "{String} 受信済み、{String} 送信済み",
+ "translation": "{String} 受信済み、{String_1} 送信済み",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "String",
@@ -632,22 +747,26 @@
{
"id": "Failed to determine tunnel state",
"message": "Failed to determine tunnel state",
- "translation": "トンネルの状態取得に失敗しました"
+ "translation": "トンネルの状態取得に失敗しました",
+ "translatorComment": "Copied from source."
},
{
"id": "Failed to activate tunnel",
"message": "Failed to activate tunnel",
- "translation": "トンネルの有効化に失敗しました"
+ "translation": "トンネルの有効化に失敗しました",
+ "translatorComment": "Copied from source."
},
{
"id": "Failed to deactivate tunnel",
"message": "Failed to deactivate tunnel",
- "translation": "トンネルの無効化に失敗しました"
+ "translation": "トンネルの無効化に失敗しました",
+ "translatorComment": "Copied from source."
},
{
"id": "Interface: {Name}",
"message": "Interface: {Name}",
"translation": "インターフェース: {Name}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -662,72 +781,86 @@
{
"id": "Peer",
"message": "Peer",
- "translation": "ピア"
+ "translation": "ピア",
+ "translatorComment": "Copied from source."
},
{
"id": "Create new tunnel",
"message": "Create new tunnel",
- "translation": "トンネルの新規作成"
+ "translation": "トンネルの新規作成",
+ "translatorComment": "Copied from source."
},
{
"id": "Edit tunnel",
"message": "Edit tunnel",
- "translation": "トンネルの編集"
+ "translation": "トンネルの編集",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Name:",
- "message": "\u0026Name:",
- "translation": "名前(\u0026N):"
+ "id": "&Name:",
+ "message": "&Name:",
+ "translation": "名前(&N):",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Public key:",
- "message": "\u0026Public key:",
- "translation": "公開鍵(\u0026P):"
+ "id": "&Public key:",
+ "message": "&Public key:",
+ "translation": "公開鍵(&P):",
+ "translatorComment": "Copied from source."
},
{
"id": "(unknown)",
"message": "(unknown)",
- "translation": "(不明)"
+ "translation": "(不明)",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Block untunneled traffic (kill-switch)",
- "message": "\u0026Block untunneled traffic (kill-switch)",
- "translation": "トンネルを通らないトラフィックのブロック(キルスイッチ)(\u0026B)"
+ "id": "&Block untunneled traffic (kill-switch)",
+ "message": "&Block untunneled traffic (kill-switch)",
+ "translation": "トンネルを通らないトラフィックのブロック(キルスイッチ)(&B)",
+ "translatorComment": "Copied from source."
},
{
"id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
"message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
- "translation": "ピアが1つだけ設定されていて、さらに Allowed IPs に 0.0.0.0/0 または ::/0 が含まれている場合、トンネルサービスはトンネルインターフェースを通らないすべてのトラフィックをブロックするファイアウォールルールを追加します。"
+ "translation": "ピアが1つだけ設定されていて、さらに Allowed IPs に 0.0.0.0/0 または ::/0 が含まれている場合、トンネルサービスはトンネルインターフェースを通らないすべてのトラフィックをブロックするファイアウォールルールを追加します。",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Save",
- "message": "\u0026Save",
- "translation": "保存(\u0026S)"
+ "id": "&Save",
+ "message": "&Save",
+ "translation": "保存(&S)",
+ "translatorComment": "Copied from source."
},
{
"id": "Cancel",
"message": "Cancel",
- "translation": "キャンセル"
+ "translation": "キャンセル",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Configuration:",
- "message": "\u0026Configuration:",
- "translation": "設定(\u0026C):"
+ "id": "&Configuration:",
+ "message": "&Configuration:",
+ "translation": "設定(&C):",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid name",
"message": "Invalid name",
- "translation": "不正な名前"
+ "translation": "無効な名前",
+ "translatorComment": "Copied from source."
},
{
"id": "A name is required.",
"message": "A name is required.",
- "translation": "名前は必須です。"
+ "translation": "名前は必須です。",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel name ‘{NewName}’ is invalid.",
"message": "Tunnel name ‘{NewName}’ is invalid.",
"translation": "トンネル名 ‘{NewName}’ は不正です。",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
@@ -742,17 +875,20 @@
{
"id": "Unable to list existing tunnels",
"message": "Unable to list existing tunnels",
- "translation": "既存のトンネルを表示できません"
+ "translation": "既存のトンネルを表示できません",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel already exists",
"message": "Tunnel already exists",
- "translation": "トンネルはすでに存在します"
+ "translation": "トンネルはすでに存在します",
+ "translatorComment": "Copied from source."
},
{
"id": "Another tunnel already exists with the name ‘{NewName}’.",
"message": "Another tunnel already exists with the name ‘{NewName}’.",
"translation": "‘{NewName}’ という名前の別のトンネルがすでに存在します。",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
@@ -767,17 +903,20 @@
{
"id": "Unable to create new configuration",
"message": "Unable to create new configuration",
- "translation": "新しい設定が作成できません"
+ "translation": "新しい設定を作成できませんでした",
+ "translatorComment": "Copied from source."
},
{
"id": "Writing file failed",
"message": "Writing file failed",
- "translation": "ファイルの書き込みに失敗"
+ "translation": "ファイルの書き込みに失敗",
+ "translatorComment": "Copied from source."
},
{
"id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
"message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
"translation": "ファイル ‘{FilePath}’ はすでに存在します。\n\n上書きしますか?",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "FilePath",
@@ -792,82 +931,98 @@
{
"id": "Active",
"message": "Active",
- "translation": "有効"
+ "translation": "有効",
+ "translatorComment": "Copied from source."
},
{
"id": "Activating",
"message": "Activating",
- "translation": "有効化中"
+ "translation": "有効化中",
+ "translatorComment": "Copied from source."
},
{
"id": "Inactive",
"message": "Inactive",
- "translation": "無効"
+ "translation": "無効",
+ "translatorComment": "Copied from source."
},
{
"id": "Deactivating",
"message": "Deactivating",
- "translation": "無効化中"
+ "translation": "無効化中",
+ "translatorComment": "Copied from source."
},
{
"id": "Unknown state",
"message": "Unknown state",
- "translation": "不明な状態"
+ "translation": "不明な状態",
+ "translatorComment": "Copied from source."
},
{
"id": "Log",
"message": "Log",
- "translation": "ログ"
+ "translation": "ログ",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Copy",
- "message": "\u0026Copy",
- "translation": "コピー(\u0026C)"
+ "id": "&Copy",
+ "message": "&Copy",
+ "translation": "コピー(&C)",
+ "translatorComment": "Copied from source."
},
{
- "id": "Select \u0026all",
- "message": "Select \u0026all",
- "translation": "すべて選択(\u0026a)"
+ "id": "Select &all",
+ "message": "Select &all",
+ "translation": "すべて選択(&A)",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Save to file…",
- "message": "\u0026Save to file…",
- "translation": "ファイルに保存…(\u0026S)"
+ "id": "&Save to file…",
+ "message": "&Save to file…",
+ "translation": "ファイルに保存…(&S)",
+ "translatorComment": "Copied from source."
},
{
"id": "Time",
"message": "Time",
- "translation": "時刻"
+ "translation": "時刻",
+ "translatorComment": "Copied from source."
},
{
"id": "Log message",
"message": "Log message",
- "translation": "ログメッセージ"
+ "translation": "ログ メッセージ",
+ "translatorComment": "Copied from source."
},
{
"id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
"message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
- "translation": "テキストファイル (*.txt)|*.txt|すべてのファイル (*.*)|*.*"
+ "translation": "テキストファイル (*.txt)|*.txt|すべてのファイル (*.*)|*.*",
+ "translatorComment": "Copied from source."
},
{
"id": "Export log to file",
"message": "Export log to file",
- "translation": "ログをファイルにエクスポート"
+ "translation": "ログをファイルにエクスポート",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026About WireGuard…",
- "message": "\u0026About WireGuard…",
- "translation": "WireGuardについて…(\u0026A)"
+ "id": "&About WireGuard…",
+ "message": "&About WireGuard…",
+ "translation": "WireGuardについて…(&A)",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel Error",
"message": "Tunnel Error",
- "translation": "トンネルエラー"
+ "translation": "トンネルエラー",
+ "translatorComment": "Copied from source."
},
{
"id": "{ErrMsg}\n\nPlease consult the log for more information.",
"message": "{ErrMsg}\n\nPlease consult the log for more information.",
"translation": "{ErrMsg}\n\n詳細はログを参照してください。",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "ErrMsg",
@@ -882,7 +1037,8 @@
{
"id": "{Title} (out of date)",
"message": "{Title} (out of date)",
- "translation": "{Title} 期限切れ",
+ "translation": "{Title} (更新あり)",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Title",
@@ -897,12 +1053,14 @@
{
"id": "WireGuard Detection Error",
"message": "WireGuard Detection Error",
- "translation": "WireGuard 検出エラー"
+ "translation": "WireGuard 検出エラー",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to wait for WireGuard window to appear: {Err}",
"message": "Unable to wait for WireGuard window to appear: {Err}",
"translation": "WireGuard ウィンドウが表示できませんでした: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -917,42 +1075,50 @@
{
"id": "WireGuard: Deactivated",
"message": "WireGuard: Deactivated",
- "translation": "WireGuard: 無効化済み"
+ "translation": "WireGuard: 無効化済み",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Unknown",
"message": "Status: Unknown",
- "translation": "状態: 不明"
+ "translation": "状態: 不明",
+ "translatorComment": "Copied from source."
},
{
"id": "Addresses: None",
"message": "Addresses: None",
- "translation": "アドレス: なし"
+ "translation": "アドレス: なし",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Manage tunnels…",
- "message": "\u0026Manage tunnels…",
- "translation": "トンネルの管理…(\u0026M)"
+ "id": "&Manage tunnels…",
+ "message": "&Manage tunnels…",
+ "translation": "トンネルの管理…(&M)",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Import tunnel(s) from file…",
- "message": "\u0026Import tunnel(s) from file…",
- "translation": "トンネルをファイルからインポート(\u0026I)"
+ "id": "&Import tunnel(s) from file…",
+ "message": "&Import tunnel(s) from file…",
+ "translation": "トンネルをファイルからインポート…(&I)",
+ "translatorComment": "Copied from source."
},
{
- "id": "E\u0026xit",
- "message": "E\u0026xit",
- "translation": "終了(\u0026X)"
+ "id": "E&xit",
+ "message": "E&xit",
+ "translation": "終了(&X)",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard Tunnel Error",
"message": "WireGuard Tunnel Error",
- "translation": "WireGuard トンネルエラー"
+ "translation": "WireGuard トンネルエラー",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard: {TextForStateglobalState_true}",
"message": "WireGuard: {TextForStateglobalState_true}",
"translation": "WireGuard: {TextForStateglobalState_true}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TextForStateglobalState_true",
@@ -968,6 +1134,7 @@
"id": "Status: {StateText}",
"message": "Status: {StateText}",
"translation": "状態: {StateText}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "StateText",
@@ -983,6 +1150,7 @@
"id": "Addresses: {String}",
"message": "Addresses: {String}",
"translation": "アドレス: {String}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "String",
@@ -997,12 +1165,14 @@
{
"id": "WireGuard Activated",
"message": "WireGuard Activated",
- "translation": "WireGuard 有効化済み"
+ "translation": "WireGuard 有効化済み",
+ "translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been activated.",
"message": "The {Name} tunnel has been activated.",
- "translation": "トンネル {Name} は有効化されました。",
+ "translation": "トンネル {Name} は有効になりました。",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1017,12 +1187,14 @@
{
"id": "WireGuard Deactivated",
"message": "WireGuard Deactivated",
- "translation": "WireGuard 無効化済み"
+ "translation": "WireGuard 無効化済み",
+ "translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been deactivated.",
"message": "The {Name} tunnel has been deactivated.",
- "translation": "トンネル {Name} は無効化されました。",
+ "translation": "トンネル {Name} は無効になりました。",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1037,72 +1209,86 @@
{
"id": "An Update is Available!",
"message": "An Update is Available!",
- "translation": "更新が利用できます!"
+ "translation": "更新が利用できます!",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard Update Available",
"message": "WireGuard Update Available",
- "translation": "WireGuard の更新が利用可能です"
+ "translation": "WireGuard の更新が利用可能です",
+ "translatorComment": "Copied from source."
},
{
"id": "An update to WireGuard is now available. You are advised to update as soon as possible.",
"message": "An update to WireGuard is now available. You are advised to update as soon as possible.",
- "translation": "WireGuard の更新が利用可能になりました。できるだけ早く更新してください。"
+ "translation": "WireGuard の更新が利用可能になりました。できるだけ早く更新してください。",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnels",
"message": "Tunnels",
- "translation": "トンネル"
+ "translation": "トンネル",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Edit",
- "message": "\u0026Edit",
- "translation": "編集(\u0026E)"
+ "id": "&Edit",
+ "message": "&Edit",
+ "translation": "編集(&E)",
+ "translatorComment": "Copied from source."
},
{
- "id": "Add \u0026empty tunnel…",
- "message": "Add \u0026empty tunnel…",
- "translation": "空のトンネルを追加…(\u0026e)"
+ "id": "Add &empty tunnel…",
+ "message": "Add &empty tunnel…",
+ "translation": "空のトンネルを追加…(&E)",
+ "translatorComment": "Copied from source."
},
{
"id": "Add Tunnel",
"message": "Add Tunnel",
- "translation": "トンネルの追加"
+ "translation": "トンネルの追加",
+ "translatorComment": "Copied from source."
},
{
"id": "Remove selected tunnel(s)",
"message": "Remove selected tunnel(s)",
- "translation": "選択したトンネルの削除"
+ "translation": "選択したトンネルの削除",
+ "translatorComment": "Copied from source."
},
{
"id": "Export all tunnels to zip",
"message": "Export all tunnels to zip",
- "translation": "すべてのトンネルをzipにエクスポート"
+ "translation": "すべてのトンネルをzipにエクスポート",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Toggle",
- "message": "\u0026Toggle",
- "translation": "切り替え(\u0026T)"
+ "id": "&Toggle",
+ "message": "&Toggle",
+ "translation": "切り替え(&T)",
+ "translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to \u0026zip…",
- "message": "Export all tunnels to \u0026zip…",
- "translation": "すべてのトンネルをzipにエクスポート…(\u0026z)"
+ "id": "Export all tunnels to &zip…",
+ "message": "Export all tunnels to &zip…",
+ "translation": "すべてのトンネルをzipにエクスポート…(&Z)",
+ "translatorComment": "Copied from source."
},
{
- "id": "Edit \u0026selected tunnel…",
- "message": "Edit \u0026selected tunnel…",
- "translation": "選択したトンネルの編集…(\u0026s)"
+ "id": "Edit &selected tunnel…",
+ "message": "Edit &selected tunnel…",
+ "translation": "選択したトンネルの編集…(&S)",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Remove selected tunnel(s)",
- "message": "\u0026Remove selected tunnel(s)",
- "translation": "選択したトンネルの削除(\u0026R)"
+ "id": "&Remove selected tunnel(s)",
+ "message": "&Remove selected tunnel(s)",
+ "translation": "選択したトンネルの削除(&R)",
+ "translatorComment": "Copied from source."
},
{
"id": "Could not import selected configuration: {LastErr}",
"message": "Could not import selected configuration: {LastErr}",
- "translation": "選択した設定をインポートできませんでした: {LastErr}",
+ "translation": "選択したファイルからインポートできませんでした: {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1118,6 +1304,7 @@
"id": "Could not enumerate existing tunnels: {LastErr}",
"message": "Could not enumerate existing tunnels: {LastErr}",
"translation": "既存のトンネルを表示できませんでした: {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1133,6 +1320,7 @@
"id": "Another tunnel already exists with the name ‘{Name}’",
"message": "Another tunnel already exists with the name ‘{Name}’",
"translation": "‘{Name}’ という名前の別のトンネルがすでに存在します",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1147,7 +1335,8 @@
{
"id": "Unable to import configuration: {LastErr}",
"message": "Unable to import configuration: {LastErr}",
- "translation": "設定をインポートできません: {LastErr}",
+ "translation": "設定をインポートできませんでした: {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1162,12 +1351,23 @@
{
"id": "Imported tunnels",
"message": "Imported tunnels",
- "translation": "トンネルをインポート"
+ "translation": "トンネルのインポート結果",
+ "translatorComment": "Copied from source."
},
{
"id": "Imported {M} tunnels",
"message": "Imported {M} tunnels",
- "translation": "{M} トンネルをインポートしました",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "M",
+ "cases": {
+ "other": {
+ "msg": "{M} トンネルをインポートしました"
+ }
+ }
+ }
+ },
"placeholders": [
{
"id": "M",
@@ -1182,7 +1382,17 @@
{
"id": "Imported {M} of {N} tunnels",
"message": "Imported {M} of {N} tunnels",
- "translation": "{N} つ中の {M} トンネルをインポートしました",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "N",
+ "cases": {
+ "other": {
+ "msg": "{N} 中の {M} トンネルをインポートしました"
+ }
+ }
+ }
+ },
"placeholders": [
{
"id": "M",
@@ -1205,12 +1415,23 @@
{
"id": "Unable to create tunnel",
"message": "Unable to create tunnel",
- "translation": "トンネルを作成できません"
+ "translation": "トンネルを作成できません",
+ "translatorComment": "Copied from source."
},
{
"id": "Delete {TunnelCount} tunnels",
"message": "Delete {TunnelCount} tunnels",
- "translation": "{TunnelCount} トンネルを削除",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "other": {
+ "msg": "{TunnelCount} トンネルを削除"
+ }
+ }
+ }
+ },
"placeholders": [
{
"id": "TunnelCount",
@@ -1225,7 +1446,17 @@
{
"id": "Are you sure you would like to delete {TunnelCount} tunnels?",
"message": "Are you sure you would like to delete {TunnelCount} tunnels?",
- "translation": "本当に {TunnelCount} つのトンネルを削除しますか?",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "other": {
+ "msg": "本当に {TunnelCount} トンネルを削除しますか?"
+ }
+ }
+ }
+ },
"placeholders": [
{
"id": "TunnelCount",
@@ -1241,6 +1472,7 @@
"id": "Delete tunnel ‘{TunnelName}’",
"message": "Delete tunnel ‘{TunnelName}’",
"translation": "トンネル ‘{TunnelName}’ を削除",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
@@ -1256,6 +1488,7 @@
"id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
"message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
"translation": "本当にトンネル ‘{TunnelName}’ を削除しますか?",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
@@ -1271,6 +1504,7 @@
"id": "{Question} You cannot undo this action.",
"message": "{Question} You cannot undo this action.",
"translation": "{Question} この操作はもとに戻せません。",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Question",
@@ -1285,12 +1519,14 @@
{
"id": "Unable to delete tunnel",
"message": "Unable to delete tunnel",
- "translation": "トンネルを削除できません"
+ "translation": "トンネルを削除できません",
+ "translatorComment": "Copied from source."
},
{
"id": "A tunnel was unable to be removed: {Error}",
"message": "A tunnel was unable to be removed: {Error}",
"translation": "トンネルを削除できませんでした: {Error}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Error",
@@ -1305,12 +1541,23 @@
{
"id": "Unable to delete tunnels",
"message": "Unable to delete tunnels",
- "translation": "トンネルを削除できません"
+ "translation": "トンネルを削除できません",
+ "translatorComment": "Copied from source."
},
{
"id": "{Lenerrors} tunnels were unable to be removed.",
"message": "{Lenerrors} tunnels were unable to be removed.",
- "translation": "{Lenerrors} トンネルは削除できませんでした",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Lenerrors",
+ "cases": {
+ "other": {
+ "msg": "{Lenerrors} トンネルを削除できませんでした"
+ }
+ }
+ }
+ },
"placeholders": [
{
"id": "Lenerrors",
@@ -1325,27 +1572,32 @@
{
"id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
"message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
- "translation": "設定ファイル (*.zip, *.conf)|*.zip;*.conf|すべてのファイル (*.*)|*.*"
+ "translation": "設定ファイル (*.zip, *.conf)|*.zip;*.conf|すべてのファイル (*.*)|*.*",
+ "translatorComment": "Copied from source."
},
{
"id": "Import tunnel(s) from file",
"message": "Import tunnel(s) from file",
- "translation": "ファイルからトンネルをインポート"
+ "translation": "ファイルからトンネルをインポート",
+ "translatorComment": "Copied from source."
},
{
"id": "Configuration ZIP Files (*.zip)|*.zip",
"message": "Configuration ZIP Files (*.zip)|*.zip",
- "translation": "ZIP形式設定ファイル (*.zip)|*.zip"
+ "translation": "ZIP形式設定ファイル (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
},
{
"id": "Export tunnels to zip",
"message": "Export tunnels to zip",
- "translation": "トンネルをZIPにエクスポート"
+ "translation": "トンネルをZIPにエクスポート",
+ "translatorComment": "Copied from source."
},
{
"id": "{Title} (unsigned build, no updates)",
"message": "{Title} (unsigned build, no updates)",
"translation": "{Title} (未署名のビルド、更新の提供なし)",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Title",
@@ -1360,12 +1612,14 @@
{
"id": "Error Exiting WireGuard",
"message": "Error Exiting WireGuard",
- "translation": "エラーのため WireGuard を終了します"
+ "translation": "WireGuard 終了エラー",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
"message": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
- "translation": "{Err} のためサービスを終了できません。サービスマネージャから WireGuard を停止できます。",
+ "translation": "{Err} のためサービスを終了できませんでした。サービスマネージャから WireGuard を停止できます。",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -1380,27 +1634,32 @@
{
"id": "An update to WireGuard is available. It is highly advisable to update without delay.",
"message": "An update to WireGuard is available. It is highly advisable to update without delay.",
- "translation": "WireGuard の更新が利用可能です。速やかに更新することを強く推奨します。"
+ "translation": "WireGuard の更新が利用可能です。速やかに更新することを強く推奨します。",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Waiting for user",
"message": "Status: Waiting for user",
- "translation": "状態: ユーザーからの応答待ち"
+ "translation": "状態: ユーザーからの応答待ち",
+ "translatorComment": "Copied from source."
},
{
"id": "Update Now",
"message": "Update Now",
- "translation": "今すぐ更新"
+ "translation": "今すぐ更新",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
- "translation": "状態: アップデータサービスを待機中"
+ "translation": "状態: アップデータサービスを待機中",
+ "translatorComment": "Copied from source."
},
{
"id": "Error: {Err}. Please try again.",
"message": "Error: {Err}. Please try again.",
"translation": "エラー: {Err}。再度実行してください。",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -1415,12 +1674,14 @@
{
"id": "Status: Complete!",
"message": "Status: Complete!",
- "translation": "状態: 完了!"
+ "translation": "状態: 完了!",
+ "translatorComment": "Copied from source."
},
{
"id": "http2: Framer {F}: failed to decode just-written frame",
"message": "http2: Framer {F}: failed to decode just-written frame",
"translation": "http2: Framer {F}: just-writtenフレームのデコードに失敗",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "F",
@@ -1436,6 +1697,7 @@
"id": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
"message": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
"translation": "http2: Framer {F}: {Http2summarizeFramefr} を書き込みました",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "F",
@@ -1459,6 +1721,7 @@
"id": "http2: Framer {Fr}: read {Http2summarizeFramef}",
"message": "http2: Framer {Fr}: read {Http2summarizeFramef}",
"translation": "http2: Framer {Fr}: {Http2summarizeFramef} を読み込みました",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Fr",
@@ -1482,6 +1745,7 @@
"id": "http2: decoded hpack field {HeaderField}",
"message": "http2: decoded hpack field {HeaderField}",
"translation": "http2: hpack フィールド {HeaderField} をデコードしました",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "HeaderField",
diff --git a/locales/ru/messages.gotext.json b/locales/ru/messages.gotext.json
new file mode 100644
index 00000000..1d5f6775
--- /dev/null
+++ b/locales/ru/messages.gotext.json
@@ -0,0 +1,1851 @@
+{
+ "language": "ru",
+ "messages": [
+ {
+ "id": "Error",
+ "message": "Error",
+ "translation": "Ошибка",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(no argument): elevate and install manager service",
+ "message": "(no argument): elevate and install manager service",
+ "translation": "(нет аргумента): получить права администратора и установить административную службу",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Usage: {Args0} [\n{String}]",
+ "message": "Usage: {Args0} [\n{String}]",
+ "translation": "Использование: {Args0} [\n{String}]",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Args0",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "os.Args[0]"
+ },
+ {
+ "id": "String",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "builder.String()"
+ }
+ ]
+ },
+ {
+ "id": "Command Line Options",
+ "message": "Command Line Options",
+ "translation": "Параметры командной строки",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to determine whether the process is running under WOW64: {Err}",
+ "message": "Unable to determine whether the process is running under WOW64: {Err}",
+ "translation": "Ошибка определения или процесс работает как WOW64: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "You must use the 64-bit version of WireGuard on this computer.",
+ "message": "You must use the 64-bit version of WireGuard on this computer.",
+ "translation": "Используйте 64-битную версию WireGuard на этом компьютере.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to open current process token: {Err}",
+ "message": "Unable to open current process token: {Err}",
+ "translation": "Не удается открыть токен текущего процесса: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
+ "message": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
+ "translation": "WireGuard может использоваться только пользователями, входящими в группу {AdminGroupName}.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "AdminGroupName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "elevate.AdminGroupName()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
+ "message": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
+ "translation": "WireGuard запущен, но пользовательский интерфейс доступен только с рабочих столов группы {AdminGroupName}.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "AdminGroupName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "elevate.AdminGroupName()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard system tray icon did not appear after 30 seconds.",
+ "message": "WireGuard system tray icon did not appear after 30 seconds.",
+ "translation": "Значок в системном трее WireGuard не появился после 30 секунд.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Now",
+ "message": "Now",
+ "translation": "Сейчас",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "System clock wound backward!",
+ "message": "System clock wound backward!",
+ "translation": "Системные часы переведены назад!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Years} year(s)",
+ "message": "{Years} year(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Years",
+ "cases": {
+ "one": {
+ "msg": "{Years}г"
+ },
+ "few": {
+ "msg": "{Years}г"
+ },
+ "many": {
+ "msg": "{Years}г"
+ },
+ "other": {
+ "msg": "{Years}г"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Years",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "years"
+ }
+ ]
+ },
+ {
+ "id": "{Days} day(s)",
+ "message": "{Days} day(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Days",
+ "cases": {
+ "one": {
+ "msg": "{Days}д"
+ },
+ "few": {
+ "msg": "{Days}д"
+ },
+ "many": {
+ "msg": "{Days}д"
+ },
+ "other": {
+ "msg": "{Days}д"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Days",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "days"
+ }
+ ]
+ },
+ {
+ "id": "{Hours} hour(s)",
+ "message": "{Hours} hour(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Hours",
+ "cases": {
+ "one": {
+ "msg": "{Hours}ч"
+ },
+ "few": {
+ "msg": "{Hours}ч"
+ },
+ "many": {
+ "msg": "{Hours}ч"
+ },
+ "other": {
+ "msg": "{Hours}ч"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Hours",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "hours"
+ }
+ ]
+ },
+ {
+ "id": "{Minutes} minute(s)",
+ "message": "{Minutes} minute(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Minutes",
+ "cases": {
+ "one": {
+ "msg": "{Minutes}мин"
+ },
+ "few": {
+ "msg": "{Minutes}мин"
+ },
+ "many": {
+ "msg": "{Minutes}мин"
+ },
+ "other": {
+ "msg": "{Minutes}мин"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Minutes",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "minutes"
+ }
+ ]
+ },
+ {
+ "id": "{Seconds} second(s)",
+ "message": "{Seconds} second(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Seconds",
+ "cases": {
+ "one": {
+ "msg": "{Seconds}сек"
+ },
+ "few": {
+ "msg": "{Seconds}сек"
+ },
+ "many": {
+ "msg": "{Seconds}сек"
+ },
+ "other": {
+ "msg": "{Seconds}сек"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Seconds",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "seconds"
+ }
+ ]
+ },
+ {
+ "id": "{Timestamp} ago",
+ "message": "{Timestamp} ago",
+ "translation": "{Timestamp} назад",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Timestamp",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "timestamp"
+ }
+ ]
+ },
+ {
+ "id": "{Bytes} B",
+ "message": "{Bytes} B",
+ "translation": "{Bytes} Б",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Bytes",
+ "string": "%[1]d",
+ "type": "golang.zx2c4.com/wireguard/windows/conf.Bytes",
+ "underlyingType": "uint64",
+ "argNum": 1,
+ "expr": "b"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024} KiB",
+ "message": "{Float64b__1024} KiB",
+ "translation": "{Float64b__1024} Кб",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / 1024"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024__1024} MiB",
+ "message": "{Float64b__1024__1024} MiB",
+ "translation": "{Float64b__1024__1024} Мб",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / (1024 * 1024)"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024__1024__1024} GiB",
+ "message": "{Float64b__1024__1024__1024} GiB",
+ "translation": "{Float64b__1024__1024__1024} Гб",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024__1024__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / (1024 * 1024 * 1024)"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024__1024__1024__1024} TiB",
+ "message": "{Float64b__1024__1024__1024__1024} TiB",
+ "translation": "{Float64b__1024__1024__1024__1024} Тб",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024__1024__1024__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / (1024 * 1024 * 1024) / 1024"
+ }
+ ]
+ },
+ {
+ "id": "{Why}: {Offender}",
+ "message": "{Why}: {Offender}",
+ "translation": "{Why}: {Offender}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Why",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "e.why"
+ },
+ {
+ "id": "Offender",
+ "string": "%[2]q",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "e.offender"
+ }
+ ]
+ },
+ {
+ "id": "Invalid IP address",
+ "message": "Invalid IP address",
+ "translation": "Недопустимый IP-адрес",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid network prefix length",
+ "message": "Invalid network prefix length",
+ "translation": "Недопустимая длина префикса сети",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Missing port from endpoint",
+ "message": "Missing port from endpoint",
+ "translation": "Отсутствует порт IP-адреса сервера",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid endpoint host",
+ "message": "Invalid endpoint host",
+ "translation": "Неверный IP-адрес сервера",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Brackets must contain an IPv6 address",
+ "message": "Brackets must contain an IPv6 address",
+ "translation": "В скобках должен быть IPv6 адрес",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid MTU",
+ "message": "Invalid MTU",
+ "translation": "Недопустимый MTU",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid port",
+ "message": "Invalid port",
+ "translation": "Недопустимый порт",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid persistent keepalive",
+ "message": "Invalid persistent keepalive",
+ "translation": "Недопустимое значение поддержания соединения",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key: {Err}",
+ "message": "Invalid key: {Err}",
+ "translation": "Недопустимый ключ: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Keys must decode to exactly 32 bytes",
+ "message": "Keys must decode to exactly 32 bytes",
+ "translation": "Ключи должны декодироваться ровно с 32 байтами",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Number must be a number between 0 and 2^64-1: {Err}",
+ "message": "Number must be a number between 0 and 2^64-1: {Err}",
+ "translation": "Число должно быть между 0 и 2^64-1: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Two commas in a row",
+ "message": "Two commas in a row",
+ "translation": "Две запятые подряд",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name is not valid",
+ "message": "Tunnel name is not valid",
+ "translation": "Неправильное имя туннеля",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Line must occur in a section",
+ "message": "Line must occur in a section",
+ "translation": "Строка должна быть в секции",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid config key is missing an equals separator",
+ "message": "Invalid config key is missing an equals separator",
+ "translation": "В ключе конфигурации отсутствует разделитель",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Key must have a value",
+ "message": "Key must have a value",
+ "translation": "Ключ должен иметь значение",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Interface] section",
+ "message": "Invalid key for [Interface] section",
+ "translation": "Неверный ключ для секции [Interface]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Peer] section",
+ "message": "Invalid key for [Peer] section",
+ "translation": "Неверный ключ для секции [Peer]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An interface must have a private key",
+ "message": "An interface must have a private key",
+ "translation": "В Интерфейсе должен быть приватный ключ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "[none specified]",
+ "message": "[none specified]",
+ "translation": "[не указано]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "All peers must have public keys",
+ "message": "All peers must have public keys",
+ "translation": "Все пиры должны иметь открытые ключи",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error in getting configuration",
+ "message": "Error in getting configuration",
+ "translation": "Ошибка при получении конфигурации",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for interface section",
+ "message": "Invalid key for interface section",
+ "translation": "Неверный ключ для секции Интерфейса",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Protocol version must be 1",
+ "message": "Protocol version must be 1",
+ "translation": "Версия протокола должна быть 1",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for peer section",
+ "message": "Invalid key for peer section",
+ "translation": "Неверный ключ для секции Пира",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "[EnumerationSeparator]",
+ "message": "[EnumerationSeparator]",
+ "translation": ", ",
+ "comment": "Text to insert between items when listing - most western languages will translate ‘[EnumerationSeparator]’ into ‘, ’ to produce lists like ‘apple, orange, strawberry’. Eastern languages might translate into ‘、’ to produce lists like ‘リンゴ、オレンジ、イチゴ’."
+ },
+ {
+ "id": "[UnitSeparator]",
+ "message": "[UnitSeparator]",
+ "translation": ", ",
+ "comment": "Text to insert when combining units of a measure - most languages will translate ‘[UnitSeparator]’ into ‘ ’ (space) to produce lists like ‘2 minuti 30 sekund’, or empty string ‘’ to produce ‘2分30秒’."
+ },
+ {
+ "id": "About WireGuard",
+ "message": "About WireGuard",
+ "translation": "О WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard logo image",
+ "message": "WireGuard logo image",
+ "translation": "Логотип WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
+ "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
+ "translation": "Версия приложения: {Number}\nВерсия бэкэнда: {WireGuardGoVersion}\nВерсия перехода: {Version_go}\nОперационная система: {OsName}\nАрхитектура: {GOARCH}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "WireGuardGoVersion",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "device.WireGuardGoVersion"
+ },
+ {
+ "id": "Version_go",
+ "string": "%[3]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 3,
+ "expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
+ },
+ {
+ "id": "OsName",
+ "string": "%[4]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 4,
+ "expr": "version.OsName()"
+ },
+ {
+ "id": "GOARCH",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "runtime.GOARCH"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "Закрыть",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ &Donate!",
+ "message": "♥ &Donate!",
+ "translation": "♥ &Пожертвовать!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": "Статус:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Deactivate",
+ "message": "&Deactivate",
+ "translation": "&Отключен",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Activate",
+ "message": "&Activate",
+ "translation": "&Подключен",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Public key:",
+ "message": "Public key:",
+ "translation": "Публичный ключ:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Listen port:",
+ "message": "Listen port:",
+ "translation": "Порт:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "MTU:",
+ "message": "MTU:",
+ "translation": "MTU:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "IP-адреса:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "DNS-серверы:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Preshared key:",
+ "message": "Preshared key:",
+ "translation": "Общий ключ:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Allowed IPs:",
+ "message": "Allowed IPs:",
+ "translation": "Разрешенные IP-адреса:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Endpoint:",
+ "message": "Endpoint:",
+ "translation": "IP-адрес сервера:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Persistent keepalive:",
+ "message": "Persistent keepalive:",
+ "translation": "Поддерживание соединения:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Latest handshake:",
+ "message": "Latest handshake:",
+ "translation": "Последнее рукопожатие:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Transfer:",
+ "message": "Transfer:",
+ "translation": "Передача:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "enabled",
+ "message": "enabled",
+ "translation": "включено",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{String} received, {String_1} sent",
+ "message": "{String} received, {String_1} sent",
+ "translation": "Получено {String}, отправлено {String_1}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "String",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "c.RxBytes.String()"
+ },
+ {
+ "id": "String_1",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "c.TxBytes.String()"
+ }
+ ]
+ },
+ {
+ "id": "Failed to determine tunnel state",
+ "message": "Failed to determine tunnel state",
+ "translation": "Не удалось определить состояние туннеля",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to activate tunnel",
+ "message": "Failed to activate tunnel",
+ "translation": "Не удалось подключить туннель",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to deactivate tunnel",
+ "message": "Failed to deactivate tunnel",
+ "translation": "Не удалось отключить туннель",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Interface: {Name}",
+ "message": "Interface: {Name}",
+ "translation": "Интерфейс: {Name}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "config.Name"
+ }
+ ]
+ },
+ {
+ "id": "Peer",
+ "message": "Peer",
+ "translation": "Пир",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Create new tunnel",
+ "message": "Create new tunnel",
+ "translation": "Создать туннель",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit tunnel",
+ "message": "Edit tunnel",
+ "translation": "Редактировать туннель",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Name:",
+ "message": "&Name:",
+ "translation": "&Имя:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Public key:",
+ "message": "&Public key:",
+ "translation": "&Публичный ключ:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(неизвестно)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Block untunneled traffic (kill-switch)",
+ "message": "&Block untunneled traffic (kill-switch)",
+ "translation": "&Блокировать нетуннельный трафик",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
+ "message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
+ "translation": "Когда конфигурация имеет ровно одного пира, и у этого пира есть разрешенные IP, содержащие хотя бы один из 0.0.0.0/0 или ::/0, то служба туннеля обязывает брандмауэр блокировать весь входящий и исходящий трафик, который не проходит через туннель, за исключением DHCP и NDP.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Save",
+ "message": "&Save",
+ "translation": "&Сохранить",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "Отмена",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Configuration:",
+ "message": "&Configuration:",
+ "translation": "&Конфигурация:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid name",
+ "message": "Invalid name",
+ "translation": "Недопустимое имя",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A name is required.",
+ "message": "A name is required.",
+ "translation": "Требуется имя.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name ‘{NewName}’ is invalid.",
+ "message": "Tunnel name ‘{NewName}’ is invalid.",
+ "translation": "Имя туннеля ‘{NewName}’ недопустимо.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "NewName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "newName"
+ }
+ ]
+ },
+ {
+ "id": "Unable to list existing tunnels",
+ "message": "Unable to list existing tunnels",
+ "translation": "Не удалось отобразить туннели",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel already exists",
+ "message": "Tunnel already exists",
+ "translation": "Туннель уже существует",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{NewName}’.",
+ "message": "Another tunnel already exists with the name ‘{NewName}’.",
+ "translation": "Туннель с именем ’{NewName}’ уже существует.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "NewName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "newName"
+ }
+ ]
+ },
+ {
+ "id": "Unable to create new configuration",
+ "message": "Unable to create new configuration",
+ "translation": "Не удалось создать новую конфигурацию",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Writing file failed",
+ "message": "Writing file failed",
+ "translation": "Ошибка записи файла",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
+ "message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
+ "translation": "Файл '{FilePath}' уже существует!\n\nВы хотите перезаписать его?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "FilePath",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "filePath"
+ }
+ ]
+ },
+ {
+ "id": "Active",
+ "message": "Active",
+ "translation": "Подключен",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Activating",
+ "message": "Activating",
+ "translation": "Подключение",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Inactive",
+ "message": "Inactive",
+ "translation": "Отключен",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Deactivating",
+ "message": "Deactivating",
+ "translation": "Отключение",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unknown state",
+ "message": "Unknown state",
+ "translation": "Неизвестное состояние",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log",
+ "message": "Log",
+ "translation": "Журнал",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Copy",
+ "message": "&Copy",
+ "translation": "&Копировать",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select &all",
+ "message": "Select &all",
+ "translation": "Выбрать &всё",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Save to file…",
+ "message": "&Save to file…",
+ "translation": "&Сохранить в файл…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Time",
+ "message": "Time",
+ "translation": "Время",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log message",
+ "message": "Log message",
+ "translation": "Сообщение Журнала",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "translation": "Текстовые файлы (*.txt)|*.txt|Все файлы (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export log to file",
+ "message": "Export log to file",
+ "translation": "Экспорт Журнала в файл",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&About WireGuard…",
+ "message": "&About WireGuard…",
+ "translation": "&О WireGuard…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel Error",
+ "message": "Tunnel Error",
+ "translation": "Ошибка туннеля",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{ErrMsg}\n\nPlease consult the log for more information.",
+ "message": "{ErrMsg}\n\nPlease consult the log for more information.",
+ "translation": "{ErrMsg}\n\nОбратитесь к журналу для получения дополнительной информации.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "ErrMsg",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "errMsg"
+ }
+ ]
+ },
+ {
+ "id": "{Title} (out of date)",
+ "message": "{Title} (out of date)",
+ "translation": "{Title} (устарел)",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Title",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "mtw.Title()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Detection Error",
+ "message": "WireGuard Detection Error",
+ "translation": "Ошибка обнаружения WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to wait for WireGuard window to appear: {Err}",
+ "message": "Unable to wait for WireGuard window to appear: {Err}",
+ "translation": "Не удалось дождаться появления окна WireGuard: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard: Deactivated",
+ "message": "WireGuard: Deactivated",
+ "translation": "WireGuard: Деактивирован",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Unknown",
+ "message": "Status: Unknown",
+ "translation": "Статус: Неизвестен",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses: None",
+ "message": "Addresses: None",
+ "translation": "Адреса: нет",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Manage tunnels…",
+ "message": "&Manage tunnels…",
+ "translation": "&Управление туннелями…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Import tunnel(s) from file…",
+ "message": "&Import tunnel(s) from file…",
+ "translation": "&Импорт туннелей из файла…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E&xit",
+ "message": "E&xit",
+ "translation": "Вы&ход",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "Ошибка туннеля WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "WireGuard: {TextForStateglobalState_true}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "TextForStateglobalState_true",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "textForState(globalState, true)"
+ }
+ ]
+ },
+ {
+ "id": "Status: {StateText}",
+ "message": "Status: {StateText}",
+ "translation": "Статус: {StateText}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "StateText",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "stateText"
+ }
+ ]
+ },
+ {
+ "id": "Addresses: {String}",
+ "message": "Addresses: {String}",
+ "translation": "Адреса: {String}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "String",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "sb.String()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Activated",
+ "message": "WireGuard Activated",
+ "translation": "WireGuard Включен",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been activated.",
+ "message": "The {Name} tunnel has been activated.",
+ "translation": "Туннель {Name} подключен.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Deactivated",
+ "message": "WireGuard Deactivated",
+ "translation": "WireGuard Выключен",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been deactivated.",
+ "message": "The {Name} tunnel has been deactivated.",
+ "translation": "Туннель {Name} отключен.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "An Update is Available!",
+ "message": "An Update is Available!",
+ "translation": "Доступно обновление!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Update Available",
+ "message": "WireGuard Update Available",
+ "translation": "Доступно обновление WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An update to WireGuard is now available. You are advised to update as soon as possible.",
+ "message": "An update to WireGuard is now available. You are advised to update as soon as possible.",
+ "translation": "Доступно обновление для WireGuard. Рекомендуется обновить его как можно скорее.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnels",
+ "message": "Tunnels",
+ "translation": "Туннели",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Edit",
+ "message": "&Edit",
+ "translation": "&Редактировать",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add &empty tunnel…",
+ "message": "Add &empty tunnel…",
+ "translation": "Добавить &пустой туннель…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add Tunnel",
+ "message": "Add Tunnel",
+ "translation": "Добавить туннель",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Remove selected tunnel(s)",
+ "message": "Remove selected tunnel(s)",
+ "translation": "Удалить выбранные туннели",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to zip",
+ "message": "Export all tunnels to zip",
+ "translation": "Экспорт всех туннелей в zip-архив",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Toggle",
+ "message": "&Toggle",
+ "translation": "&Переключить",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to &zip…",
+ "message": "Export all tunnels to &zip…",
+ "translation": "Экспорт всех туннелей в &zip-архив…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit &selected tunnel…",
+ "message": "Edit &selected tunnel…",
+ "translation": "Редактировать &выбранный туннель…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Remove selected tunnel(s)",
+ "message": "&Remove selected tunnel(s)",
+ "translation": "&Удалить выбранные туннели",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Could not import selected configuration: {LastErr}",
+ "message": "Could not import selected configuration: {LastErr}",
+ "translation": "Невозможно импортировать конфигурацию: {LastErr}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "LastErr",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "lastErr"
+ }
+ ]
+ },
+ {
+ "id": "Could not enumerate existing tunnels: {LastErr}",
+ "message": "Could not enumerate existing tunnels: {LastErr}",
+ "translation": "Не удалось перечислить существующие туннели: {LastErr}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "LastErr",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "lastErr"
+ }
+ ]
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{Name}’",
+ "message": "Another tunnel already exists with the name ‘{Name}’",
+ "translation": "Туннель с именем ’{Name}’ уже существует",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "unparsedConfig.Name"
+ }
+ ]
+ },
+ {
+ "id": "Unable to import configuration: {LastErr}",
+ "message": "Unable to import configuration: {LastErr}",
+ "translation": "Невозможно импортировать конфигурацию: {LastErr}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "LastErr",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "lastErr"
+ }
+ ]
+ },
+ {
+ "id": "Imported tunnels",
+ "message": "Imported tunnels",
+ "translation": "Импортированные туннели",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Imported {M} tunnels",
+ "message": "Imported {M} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "M",
+ "cases": {
+ "one": {
+ "msg": "Импортированный {M} туннель"
+ },
+ "few": {
+ "msg": "Импортированы туннели: {M}"
+ },
+ "many": {
+ "msg": "Импортированы туннели: {M}"
+ },
+ "other": {
+ "msg": "Импортированы туннели: {M}"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "M",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "m"
+ }
+ ]
+ },
+ {
+ "id": "Imported {M} of {N} tunnels",
+ "message": "Imported {M} of {N} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "N",
+ "cases": {
+ "one": {
+ "msg": "Импортированы туннели: {M} из {N}"
+ },
+ "few": {
+ "msg": "Импортированы туннели: {M} из {N}"
+ },
+ "many": {
+ "msg": "Импортированы туннели: {M} из {N}"
+ },
+ "other": {
+ "msg": "Импортированы туннели: {M} из {N}"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "M",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "m"
+ },
+ {
+ "id": "N",
+ "string": "%[2]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 2,
+ "expr": "n"
+ }
+ ]
+ },
+ {
+ "id": "Unable to create tunnel",
+ "message": "Unable to create tunnel",
+ "translation": "Не удалось создать туннель",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Delete {TunnelCount} tunnels",
+ "message": "Delete {TunnelCount} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "one": {
+ "msg": "Удалить {TunnelCount} туннель"
+ },
+ "few": {
+ "msg": "Удалить туннели: {TunnelCount}"
+ },
+ "many": {
+ "msg": "Удалить туннели: {TunnelCount}"
+ },
+ "other": {
+ "msg": "Удалить туннели: {TunnelCount}"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Are you sure you would like to delete {TunnelCount} tunnels?",
+ "message": "Are you sure you would like to delete {TunnelCount} tunnels?",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "one": {
+ "msg": "Вы уверены, что хотите удалить {TunnelCount} туннель?"
+ },
+ "few": {
+ "msg": "Вы уверены, что хотите удалить туннели: {TunnelCount}?"
+ },
+ "many": {
+ "msg": "Вы уверены, что хотите удалить туннели: {TunnelCount}?"
+ },
+ "other": {
+ "msg": "Вы уверены, что хотите удалить туннели: {TunnelCount}?"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Delete tunnel ‘{TunnelName}’",
+ "message": "Delete tunnel ‘{TunnelName}’",
+ "translation": "Удалить туннель ‘{TunnelName}’",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "TunnelName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnelName"
+ }
+ ]
+ },
+ {
+ "id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
+ "message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
+ "translation": "Вы уверены, что хотите удалить '{TunnelName}' туннель?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "TunnelName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnelName"
+ }
+ ]
+ },
+ {
+ "id": "{Question} You cannot undo this action.",
+ "message": "{Question} You cannot undo this action.",
+ "translation": "{Question} Данное действие невозможно отменить.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Question",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "question"
+ }
+ ]
+ },
+ {
+ "id": "Unable to delete tunnel",
+ "message": "Unable to delete tunnel",
+ "translation": "Не удалось удалить туннель",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A tunnel was unable to be removed: {Error}",
+ "message": "A tunnel was unable to be removed: {Error}",
+ "translation": "Невозможно удалить туннель: {Error}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Error",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "errors[0].Error()"
+ }
+ ]
+ },
+ {
+ "id": "Unable to delete tunnels",
+ "message": "Unable to delete tunnels",
+ "translation": "Не удалось удалить туннели",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Lenerrors} tunnels were unable to be removed.",
+ "message": "{Lenerrors} tunnels were unable to be removed.",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Lenerrors",
+ "cases": {
+ "one": {
+ "msg": "{Lenerrors} туннель не удалось удалить."
+ },
+ "few": {
+ "msg": "туннелей не удалось удалить: {Lenerrors}"
+ },
+ "many": {
+ "msg": "туннелей не удалось удалить: {Lenerrors}"
+ },
+ "other": {
+ "msg": "туннелей не удалось удалить: {Lenerrors}"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Lenerrors",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "len(errors)"
+ }
+ ]
+ },
+ {
+ "id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
+ "message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
+ "translation": "Файлы конфигурации (*.zip, *.conf)|*.zip;*.conf|Все файлы (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Import tunnel(s) from file",
+ "message": "Import tunnel(s) from file",
+ "translation": "Импорт туннелей из файла",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Configuration ZIP Files (*.zip)|*.zip",
+ "message": "Configuration ZIP Files (*.zip)|*.zip",
+ "translation": "Конфигурация ZIP файлов (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "Экспорт туннелей в zip-архив",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (неподписанная сборка, нет обновлений)",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Title",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "mtw.Title()"
+ }
+ ]
+ },
+ {
+ "id": "Error Exiting WireGuard",
+ "message": "Error Exiting WireGuard",
+ "translation": "Ошибка выхода из WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
+ "message": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
+ "translation": "Не удается выйти из сервиса из-за: {Err}. Вы можете остановить WireGuard из менеджера служб.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "An update to WireGuard is available. It is highly advisable to update without delay.",
+ "message": "An update to WireGuard is available. It is highly advisable to update without delay.",
+ "translation": "Доступно обновление WireGuard. Настоятельно рекомендуем обновить приложение.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for user",
+ "message": "Status: Waiting for user",
+ "translation": "Статус: Ожидание пользователя",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Update Now",
+ "message": "Update Now",
+ "translation": "Обновить Сейчас",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "Статус: Обновление",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error: {Err}. Please try again.",
+ "message": "Error: {Err}. Please try again.",
+ "translation": "Ошибка: {Err}. Попробуйте еще раз.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Status: Complete!",
+ "message": "Status: Complete!",
+ "translation": "Статус: Завершено!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "http2: Framer {F}: failed to decode just-written frame",
+ "message": "http2: Framer {F}: failed to decode just-written frame",
+ "translation": "http2: Framer {F}: не удалось декодировать только что записанный кадр",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "F",
+ "string": "%[1]p",
+ "type": "*net/http.http2Framer",
+ "underlyingType": "*net/http.http2Framer",
+ "argNum": 1,
+ "expr": "f"
+ }
+ ]
+ },
+ {
+ "id": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
+ "message": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
+ "translation": "http2: Framer {F}: написал {Http2summarizeFramefr}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "F",
+ "string": "%[1]p",
+ "type": "*net/http.http2Framer",
+ "underlyingType": "*net/http.http2Framer",
+ "argNum": 1,
+ "expr": "f"
+ },
+ {
+ "id": "Http2summarizeFramefr",
+ "string": "%[2]v",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "http2summarizeFrame(fr)"
+ }
+ ]
+ },
+ {
+ "id": "http2: Framer {Fr}: read {Http2summarizeFramef}",
+ "message": "http2: Framer {Fr}: read {Http2summarizeFramef}",
+ "translation": "http2: Framer {Fr}: прочитать {Http2summarizeFramef}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Fr",
+ "string": "%[1]p",
+ "type": "*net/http.http2Framer",
+ "underlyingType": "*net/http.http2Framer",
+ "argNum": 1,
+ "expr": "fr"
+ },
+ {
+ "id": "Http2summarizeFramef",
+ "string": "%[2]v",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "http2summarizeFrame(f)"
+ }
+ ]
+ },
+ {
+ "id": "http2: decoded hpack field {HeaderField}",
+ "message": "http2: decoded hpack field {HeaderField}",
+ "translation": "http2: декодирован hpack поле {HeaderField}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "HeaderField",
+ "string": "%+[1]v",
+ "type": "vendor/golang.org/x/net/http2/hpack.HeaderField",
+ "underlyingType": "struct{Name string; Value string; Sensitive bool}",
+ "argNum": 1,
+ "expr": "hf"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/locales/sl/messages.gotext.json b/locales/sl/messages.gotext.json
index eab3aecd..2c7bd56d 100644
--- a/locales/sl/messages.gotext.json
+++ b/locales/sl/messages.gotext.json
@@ -4,17 +4,20 @@
{
"id": "Error",
"message": "Error",
- "translation": "Napaka"
+ "translation": "Napaka",
+ "translatorComment": "Copied from source."
},
{
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
- "translation": "(brez argumenta): povzdigni na skrbniške pravice in namesti skrbniško storitev"
+ "translation": "(brez argumenta): povzdigni na skrbniške pravice in namesti skrbniško storitev",
+ "translatorComment": "Copied from source."
},
{
"id": "Usage: {Args0} [\n{String}]",
"message": "Usage: {Args0} [\n{String}]",
"translation": "Uporaba: {Args0} [\n{String}]",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Args0",
@@ -37,12 +40,14 @@
{
"id": "Command Line Options",
"message": "Command Line Options",
- "translation": "Možnosti ukazne vrstice"
+ "translation": "Možnosti ukazne vrstice",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to determine whether the process is running under WOW64: {Err}",
"message": "Unable to determine whether the process is running under WOW64: {Err}",
"translation": "Napaka pri določanju ali proces teče kot WOW64: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -57,12 +62,14 @@
{
"id": "You must use the 64-bit version of WireGuard on this computer.",
"message": "You must use the 64-bit version of WireGuard on this computer.",
- "translation": "Na temu računalniku morate uporabiti 64-bitno različico WireGuarda."
+ "translation": "Na temu računalniku morate uporabiti 64-bitno različico WireGuarda.",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to open current process token: {Err}",
"message": "Unable to open current process token: {Err}",
"translation": "Napaka pri odpiranju žetona trenutnega procesa: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -78,6 +85,7 @@
"id": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"message": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"translation": "WireGuard lahko uporabljajo samo uporabniki, ki so člani vgrajene skupine {AdminGroupName}.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
@@ -93,6 +101,7 @@
"id": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"message": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"translation": "WireGuard je zagnan, vendar je up. vmesnik dostopen samo z namizij uporabnikov članov skupine {AdminGroupName}.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
@@ -107,17 +116,20 @@
{
"id": "WireGuard system tray icon did not appear after 30 seconds.",
"message": "WireGuard system tray icon did not appear after 30 seconds.",
- "translation": "Ikona WireGuarda se po 30 sekundah ni pojavila v sistemski vrstici."
+ "translation": "Ikona WireGuarda se po 30 sekundah ni pojavila v sistemski vrstici.",
+ "translatorComment": "Copied from source."
},
{
"id": "Now",
"message": "Now",
- "translation": "Zdaj"
+ "translation": "Zdaj",
+ "translatorComment": "Copied from source."
},
{
"id": "System clock wound backward!",
"message": "System clock wound backward!",
- "translation": "Sistemska ura prevrtena nazaj!"
+ "translation": "Sistemska ura prevrtena nazaj!",
+ "translatorComment": "Copied from source."
},
{
"id": "{Years} year(s)",
@@ -127,17 +139,17 @@
"feature": "plural",
"arg": "Years",
"cases": {
- "few": {
- "msg": "{Years} leta"
- },
"one": {
"msg": "{Years} leto"
},
- "other": {
- "msg": "{Years} let"
- },
"two": {
"msg": "{Years} leti"
+ },
+ "few": {
+ "msg": "{Years} leta"
+ },
+ "other": {
+ "msg": "{Years} let"
}
}
}
@@ -161,17 +173,17 @@
"feature": "plural",
"arg": "Days",
"cases": {
- "few": {
- "msg": "{Days} dni"
- },
"one": {
"msg": "{Days} dan"
},
- "other": {
- "msg": "{Days} dni"
- },
"two": {
"msg": "{Days} dneva"
+ },
+ "few": {
+ "msg": "{Days} dni"
+ },
+ "other": {
+ "msg": "{Days} dni"
}
}
}
@@ -195,17 +207,17 @@
"feature": "plural",
"arg": "Hours",
"cases": {
- "few": {
- "msg": "{Hours} ure"
- },
"one": {
"msg": "{Hours} uro"
},
- "other": {
- "msg": "{Hours} ur"
- },
"two": {
"msg": "{Hours} uri"
+ },
+ "few": {
+ "msg": "{Hours} ure"
+ },
+ "other": {
+ "msg": "{Hours} ur"
}
}
}
@@ -229,17 +241,17 @@
"feature": "plural",
"arg": "Minutes",
"cases": {
- "few": {
- "msg": "{Minutes} minute"
- },
"one": {
"msg": "{Minutes} minuto"
},
- "other": {
- "msg": "{Minutes} minut"
- },
"two": {
"msg": "{Minutes} minuti"
+ },
+ "few": {
+ "msg": "{Minutes} minute"
+ },
+ "other": {
+ "msg": "{Minutes} minut"
}
}
}
@@ -263,17 +275,17 @@
"feature": "plural",
"arg": "Seconds",
"cases": {
- "few": {
- "msg": "{Seconds} sekunde"
- },
"one": {
"msg": "{Seconds} sekundo"
},
- "other": {
- "msg": "{Seconds} sekund"
- },
"two": {
"msg": "{Seconds} sekundi"
+ },
+ "few": {
+ "msg": "{Seconds} sekunde"
+ },
+ "other": {
+ "msg": "{Seconds} sekund"
}
}
}
@@ -293,6 +305,7 @@
"id": "{Timestamp} ago",
"message": "{Timestamp} ago",
"translation": "{Timestamp} nazaj",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Timestamp",
@@ -308,6 +321,7 @@
"id": "{Bytes} B",
"message": "{Bytes} B",
"translation": "{Bytes} B",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Bytes",
@@ -323,6 +337,7 @@
"id": "{Float64b__1024} KiB",
"message": "{Float64b__1024} KiB",
"translation": "{Float64b__1024} KiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024",
@@ -338,6 +353,7 @@
"id": "{Float64b__1024__1024} MiB",
"message": "{Float64b__1024__1024} MiB",
"translation": "{Float64b__1024__1024} MiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024",
@@ -353,6 +369,7 @@
"id": "{Float64b__1024__1024__1024} GiB",
"message": "{Float64b__1024__1024__1024} GiB",
"translation": "{Float64b__1024__1024__1024} GiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024",
@@ -368,6 +385,7 @@
"id": "{Float64b__1024__1024__1024__1024} TiB",
"message": "{Float64b__1024__1024__1024__1024} TiB",
"translation": "{Float64b__1024__1024__1024__1024} TiB",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024__1024",
@@ -383,6 +401,7 @@
"id": "{Why}: {Offender}",
"message": "{Why}: {Offender}",
"translation": "{Why}: {Offender}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Why",
@@ -405,47 +424,56 @@
{
"id": "Invalid IP address",
"message": "Invalid IP address",
- "translation": "Napačen naslov IP"
+ "translation": "Napačen naslov IP",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid network prefix length",
"message": "Invalid network prefix length",
- "translation": "Napačna dolžina predpone omrežja"
+ "translation": "Napačna dolžina predpone omrežja",
+ "translatorComment": "Copied from source."
},
{
"id": "Missing port from endpoint",
"message": "Missing port from endpoint",
- "translation": "Pri končni točki manjkajo vrata"
+ "translation": "Pri končni točki manjkajo vrata",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid endpoint host",
"message": "Invalid endpoint host",
- "translation": "Pri končni točki je gostitelj napačen"
+ "translation": "Pri končni točki je gostitelj napačen",
+ "translatorComment": "Copied from source."
},
{
"id": "Brackets must contain an IPv6 address",
"message": "Brackets must contain an IPv6 address",
- "translation": "Oklepaji morajo vsebovati naslov IPv6"
+ "translation": "Oklepaji morajo vsebovati naslov IPv6",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid MTU",
"message": "Invalid MTU",
- "translation": "Napačen MTU"
+ "translation": "Napačen MTU",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid port",
"message": "Invalid port",
- "translation": "Napačna vrata"
+ "translation": "Napačna vrata",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid persistent keepalive",
"message": "Invalid persistent keepalive",
- "translation": "Napačno trajno ohranjanje povezave"
+ "translation": "Napačno trajno ohranjanje povezave",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key: {Err}",
"message": "Invalid key: {Err}",
"translation": "Napačen ključ: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -460,12 +488,14 @@
{
"id": "Keys must decode to exactly 32 bytes",
"message": "Keys must decode to exactly 32 bytes",
- "translation": "Dekodirani ključi morajo biti natanko 32 bajtov"
+ "translation": "Dekodirani ključi morajo biti natanko 32 bajtov",
+ "translatorComment": "Copied from source."
},
{
"id": "Number must be a number between 0 and 2^64-1: {Err}",
"message": "Number must be a number between 0 and 2^64-1: {Err}",
"translation": "Številka mora biti število med 0 in 2^64-1: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -480,72 +510,86 @@
{
"id": "Two commas in a row",
"message": "Two commas in a row",
- "translation": "Dve zaporedni vejici"
+ "translation": "Dve zaporedni vejici",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel name is not valid",
"message": "Tunnel name is not valid",
- "translation": "Ime tunela ni veljavno"
+ "translation": "Ime tunela ni veljavno",
+ "translatorComment": "Copied from source."
},
{
"id": "Line must occur in a section",
"message": "Line must occur in a section",
- "translation": "Vrstica mora biti v odseku"
+ "translation": "Vrstica mora biti v odseku",
+ "translatorComment": "Copied from source."
},
{
- "id": "Config key is missing an equals separator",
- "message": "Config key is missing an equals separator",
- "translation": ""
+ "id": "Invalid config key is missing an equals separator",
+ "message": "Invalid config key is missing an equals separator",
+ "translation": "Napačnemu ključu konfiguracije manjka ločilo-enačaj",
+ "translatorComment": "Copied from source."
},
{
"id": "Key must have a value",
"message": "Key must have a value",
- "translation": "Ključ mora imeti vrednost"
+ "translation": "Ključ mora imeti vrednost",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Interface] section",
"message": "Invalid key for [Interface] section",
- "translation": "Napačen ključ za odsek [Interface]"
+ "translation": "Napačen ključ za odsek [Interface]",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Peer] section",
"message": "Invalid key for [Peer] section",
- "translation": "Napačen ključ za odsek [Peer]"
+ "translation": "Napačen ključ za odsek [Peer]",
+ "translatorComment": "Copied from source."
},
{
"id": "An interface must have a private key",
"message": "An interface must have a private key",
- "translation": "Vmesnik mora imeti zasebni ključ"
+ "translation": "Vmesnik mora imeti zasebni ključ",
+ "translatorComment": "Copied from source."
},
{
"id": "[none specified]",
"message": "[none specified]",
- "translation": "[ni navedeno]"
+ "translation": "[ni navedeno]",
+ "translatorComment": "Copied from source."
},
{
"id": "All peers must have public keys",
"message": "All peers must have public keys",
- "translation": "Vsi vrstniki morajo imeti javni ključ"
+ "translation": "Vsi vrstniki morajo imeti javni ključ",
+ "translatorComment": "Copied from source."
},
{
"id": "Error in getting configuration",
"message": "Error in getting configuration",
- "translation": "Napaka pri branju konfiguracije"
+ "translation": "Napaka pri branju konfiguracije",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for interface section",
"message": "Invalid key for interface section",
- "translation": "Napačen ključ za odsek vmesnika"
+ "translation": "Napačen ključ za odsek vmesnika",
+ "translatorComment": "Copied from source."
},
{
"id": "Protocol version must be 1",
"message": "Protocol version must be 1",
- "translation": "Verzija protokola mora biti 1"
+ "translation": "Verzija protokola mora biti 1",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid key for peer section",
"message": "Invalid key for peer section",
- "translation": "Napačen ključ za odsek vrstnika"
+ "translation": "Napačen ključ za odsek vrstnika",
+ "translatorComment": "Copied from source."
},
{
"id": "[EnumerationSeparator]",
@@ -562,17 +606,20 @@
{
"id": "About WireGuard",
"message": "About WireGuard",
- "translation": "O WireGuardu"
+ "translation": "O WireGuardu",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard logo image",
"message": "WireGuard logo image",
- "translation": "Slika WireGuardovega logotipa"
+ "translation": "Slika WireGuardovega logotipa",
+ "translatorComment": "Copied from source."
},
{
"id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
"message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
"translation": "Verzija aplikacije: {Number}\nVerzija wireguard-go: {WireGuardGoVersion}\nVerzija Go: {Version_go}\nOperacijski sistem: {OsName}\nArhitektura: {GOARCH}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Number",
@@ -619,92 +666,110 @@
{
"id": "Close",
"message": "Close",
- "translation": "Zapri"
+ "translation": "Zapri",
+ "translatorComment": "Copied from source."
},
{
- "id": "♥ \u0026Donate!",
- "message": "♥ \u0026Donate!",
- "translation": "♥ \u0026Doniraj!"
+ "id": "♥ &Donate!",
+ "message": "♥ &Donate!",
+ "translation": "♥ &Doniraj!",
+ "translatorComment": "Copied from source."
},
{
"id": "Status:",
"message": "Status:",
- "translation": "Status:"
+ "translation": "Status:",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Deactivate",
- "message": "\u0026Deactivate",
- "translation": "\u0026Deaktiviraj"
+ "id": "&Deactivate",
+ "message": "&Deactivate",
+ "translation": "&Deaktiviraj",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Activate",
- "message": "\u0026Activate",
- "translation": "\u0026Aktiviraj"
+ "id": "&Activate",
+ "message": "&Activate",
+ "translation": "&Aktiviraj",
+ "translatorComment": "Copied from source."
},
{
"id": "Public key:",
"message": "Public key:",
- "translation": "Javni ključ:"
+ "translation": "Javni ključ:",
+ "translatorComment": "Copied from source."
},
{
"id": "Listen port:",
"message": "Listen port:",
- "translation": "Vrata poslušanja:"
+ "translation": "Vrata poslušanja:",
+ "translatorComment": "Copied from source."
},
{
"id": "MTU:",
"message": "MTU:",
- "translation": "MTU:"
+ "translation": "MTU:",
+ "translatorComment": "Copied from source."
},
{
"id": "Addresses:",
"message": "Addresses:",
- "translation": "Naslovi:"
+ "translation": "Naslovi:",
+ "translatorComment": "Copied from source."
},
{
"id": "DNS servers:",
"message": "DNS servers:",
- "translation": "Strežniki DNS:"
+ "translation": "Strežniki DNS:",
+ "translatorComment": "Copied from source."
},
{
"id": "Preshared key:",
"message": "Preshared key:",
- "translation": "Ključ v skupni rabi:"
+ "translation": "Ključ v skupni rabi:",
+ "translatorComment": "Copied from source."
},
{
"id": "Allowed IPs:",
"message": "Allowed IPs:",
- "translation": "Dovoljeni IP-ji:"
+ "translation": "Dovoljeni IP-ji:",
+ "translatorComment": "Copied from source."
},
{
"id": "Endpoint:",
"message": "Endpoint:",
- "translation": "Končna točka:"
+ "translation": "Končna točka:",
+ "translatorComment": "Copied from source."
},
{
"id": "Persistent keepalive:",
"message": "Persistent keepalive:",
- "translation": "Trajno ohranjanje povezave:"
+ "translation": "Trajno ohranjanje povezave:",
+ "translatorComment": "Copied from source."
},
{
"id": "Latest handshake:",
"message": "Latest handshake:",
- "translation": "Zadnje rokovanje:"
+ "translation": "Zadnje rokovanje:",
+ "translatorComment": "Copied from source."
},
{
"id": "Transfer:",
"message": "Transfer:",
- "translation": "Prenos:"
+ "translation": "Prenos:",
+ "translatorComment": "Copied from source."
},
{
"id": "enabled",
"message": "enabled",
- "translation": "omogočeno"
+ "translation": "omogočeno",
+ "translatorComment": "Copied from source."
},
{
"id": "{String} received, {String_1} sent",
"message": "{String} received, {String_1} sent",
"translation": "{String} prejeto, {String_1} poslano",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "String",
@@ -727,22 +792,26 @@
{
"id": "Failed to determine tunnel state",
"message": "Failed to determine tunnel state",
- "translation": "Napaka pri določanju stanja tunela"
+ "translation": "Napaka pri določanju stanja tunela",
+ "translatorComment": "Copied from source."
},
{
"id": "Failed to activate tunnel",
"message": "Failed to activate tunnel",
- "translation": "Napaka pri aktiviranju tunela"
+ "translation": "Napaka pri aktiviranju tunela",
+ "translatorComment": "Copied from source."
},
{
"id": "Failed to deactivate tunnel",
"message": "Failed to deactivate tunnel",
- "translation": "Napaka pri deaktiviranju tunela"
+ "translation": "Napaka pri deaktiviranju tunela",
+ "translatorComment": "Copied from source."
},
{
"id": "Interface: {Name}",
"message": "Interface: {Name}",
"translation": "Vmesnik: {Name}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -757,72 +826,86 @@
{
"id": "Peer",
"message": "Peer",
- "translation": "Vrstnik"
+ "translation": "Vrstnik",
+ "translatorComment": "Copied from source."
},
{
"id": "Create new tunnel",
"message": "Create new tunnel",
- "translation": "Ustvari nov tunel"
+ "translation": "Ustvari nov tunel",
+ "translatorComment": "Copied from source."
},
{
"id": "Edit tunnel",
"message": "Edit tunnel",
- "translation": "Uredi tunel"
+ "translation": "Uredi tunel",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Name:",
- "message": "\u0026Name:",
- "translation": "\u0026Ime:"
+ "id": "&Name:",
+ "message": "&Name:",
+ "translation": "&Ime:",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Public key:",
- "message": "\u0026Public key:",
- "translation": "\u0026Javni ključ:"
+ "id": "&Public key:",
+ "message": "&Public key:",
+ "translation": "&Javni ključ:",
+ "translatorComment": "Copied from source."
},
{
"id": "(unknown)",
"message": "(unknown)",
- "translation": "(neznano)"
+ "translation": "(neznano)",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Block untunneled traffic (kill-switch)",
- "message": "\u0026Block untunneled traffic (kill-switch)",
- "translation": "\u0026Blokiraj promet izven tunela (varovalka)"
+ "id": "&Block untunneled traffic (kill-switch)",
+ "message": "&Block untunneled traffic (kill-switch)",
+ "translation": "&Blokiraj promet izven tunela (varovalka)",
+ "translatorComment": "Copied from source."
},
{
"id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
"message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
- "translation": "Kadar ima konfiguracija natanko enega vrstnika in njegov spisek dovoljenih IP-jev vsebuje vsaj enega izmed 0.0.0.0/0 ali ::/0, bo storitev tunela vzpostavila pravila požarnega zidu, ki bodo blokirala ves promet, ki ni niti za niti iz vmesnika tunela s posebnimi izjemami za DHCP and NDP."
+ "translation": "Kadar ima konfiguracija natanko enega vrstnika in njegov spisek dovoljenih IP-jev vsebuje vsaj enega izmed 0.0.0.0/0 ali ::/0, bo storitev tunela vzpostavila pravila požarnega zidu, ki bodo blokirala ves promet, ki ni niti za niti iz vmesnika tunela s posebnimi izjemami za DHCP and NDP.",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Save",
- "message": "\u0026Save",
- "translation": "\u0026Shrani"
+ "id": "&Save",
+ "message": "&Save",
+ "translation": "&Shrani",
+ "translatorComment": "Copied from source."
},
{
"id": "Cancel",
"message": "Cancel",
- "translation": "Prekliči"
+ "translation": "Prekliči",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Configuration:",
- "message": "\u0026Configuration:",
- "translation": "\u0026Konfiguracija:"
+ "id": "&Configuration:",
+ "message": "&Configuration:",
+ "translation": "&Konfiguracija:",
+ "translatorComment": "Copied from source."
},
{
"id": "Invalid name",
"message": "Invalid name",
- "translation": "Napačno ime"
+ "translation": "Napačno ime",
+ "translatorComment": "Copied from source."
},
{
"id": "A name is required.",
"message": "A name is required.",
- "translation": "Ime je obvezno."
+ "translation": "Ime je obvezno.",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel name ‘{NewName}’ is invalid.",
"message": "Tunnel name ‘{NewName}’ is invalid.",
"translation": "Ime tunela »{NewName}« ni veljavno.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
@@ -837,17 +920,20 @@
{
"id": "Unable to list existing tunnels",
"message": "Unable to list existing tunnels",
- "translation": "Napaka pri pripravi seznama obstoječih tunelov"
+ "translation": "Napaka pri pripravi seznama obstoječih tunelov",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel already exists",
"message": "Tunnel already exists",
- "translation": "Tunel že obstaja"
+ "translation": "Tunel že obstaja",
+ "translatorComment": "Copied from source."
},
{
"id": "Another tunnel already exists with the name ‘{NewName}’.",
"message": "Another tunnel already exists with the name ‘{NewName}’.",
"translation": "Drug tunel z imenom »{NewName}« že obstaja.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
@@ -862,17 +948,20 @@
{
"id": "Unable to create new configuration",
"message": "Unable to create new configuration",
- "translation": "Napaka pri izdelavi nove konfiguracije"
+ "translation": "Napaka pri izdelavi nove konfiguracije",
+ "translatorComment": "Copied from source."
},
{
"id": "Writing file failed",
"message": "Writing file failed",
- "translation": "Napaka pri pisanju v datoteko"
+ "translation": "Napaka pri pisanju v datoteko",
+ "translatorComment": "Copied from source."
},
{
"id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
"message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
"translation": "Datoteka »{FilePath}« že obstaja.\n\nAli jo želite prepisati?",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "FilePath",
@@ -887,82 +976,98 @@
{
"id": "Active",
"message": "Active",
- "translation": "Aktivno"
+ "translation": "Aktivno",
+ "translatorComment": "Copied from source."
},
{
"id": "Activating",
"message": "Activating",
- "translation": "Se aktivira"
+ "translation": "Se aktivira",
+ "translatorComment": "Copied from source."
},
{
"id": "Inactive",
"message": "Inactive",
- "translation": "Neaktivno"
+ "translation": "Neaktivno",
+ "translatorComment": "Copied from source."
},
{
"id": "Deactivating",
"message": "Deactivating",
- "translation": "Se deaktivira"
+ "translation": "Se deaktivira",
+ "translatorComment": "Copied from source."
},
{
"id": "Unknown state",
"message": "Unknown state",
- "translation": "Neznano stanje"
+ "translation": "Neznano stanje",
+ "translatorComment": "Copied from source."
},
{
"id": "Log",
"message": "Log",
- "translation": "Dnevnik"
+ "translation": "Dnevnik",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Copy",
- "message": "\u0026Copy",
- "translation": "\u0026Kopiraj"
+ "id": "&Copy",
+ "message": "&Copy",
+ "translation": "&Kopiraj",
+ "translatorComment": "Copied from source."
},
{
- "id": "Select \u0026all",
- "message": "Select \u0026all",
- "translation": "\u0026Izberi vse"
+ "id": "Select &all",
+ "message": "Select &all",
+ "translation": "&Izberi vse",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Save to file…",
- "message": "\u0026Save to file…",
- "translation": "\u0026Shrani v datoteko …"
+ "id": "&Save to file…",
+ "message": "&Save to file…",
+ "translation": "&Shrani v datoteko …",
+ "translatorComment": "Copied from source."
},
{
"id": "Time",
"message": "Time",
- "translation": "Čas"
+ "translation": "Čas",
+ "translatorComment": "Copied from source."
},
{
"id": "Log message",
"message": "Log message",
- "translation": "Sporočilo v dnevniku"
+ "translation": "Sporočilo v dnevniku",
+ "translatorComment": "Copied from source."
},
{
"id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
"message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
- "translation": "Tekstovne datoteke (*.txt)|*.txt|Vse datoteke (*.*)|*.*"
+ "translation": "Tekstovne datoteke (*.txt)|*.txt|Vse datoteke (*.*)|*.*",
+ "translatorComment": "Copied from source."
},
{
"id": "Export log to file",
"message": "Export log to file",
- "translation": "Izvozi dnevnik v datoteko"
+ "translation": "Izvozi dnevnik v datoteko",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026About WireGuard…",
- "message": "\u0026About WireGuard…",
- "translation": "O WireGu\u0026ardu …"
+ "id": "&About WireGuard…",
+ "message": "&About WireGuard…",
+ "translation": "O WireGu&ardu …",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnel Error",
"message": "Tunnel Error",
- "translation": "Napaka tunela"
+ "translation": "Napaka tunela",
+ "translatorComment": "Copied from source."
},
{
"id": "{ErrMsg}\n\nPlease consult the log for more information.",
"message": "{ErrMsg}\n\nPlease consult the log for more information.",
"translation": "{ErrMsg}\n\nDodatne informacije najdete v dnevniku.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "ErrMsg",
@@ -978,6 +1083,7 @@
"id": "{Title} (out of date)",
"message": "{Title} (out of date)",
"translation": "{Title} (neposodobljen)",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Title",
@@ -992,12 +1098,14 @@
{
"id": "WireGuard Detection Error",
"message": "WireGuard Detection Error",
- "translation": "Napaka zaznavanja WireGuarda"
+ "translation": "Napaka zaznavanja WireGuarda",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to wait for WireGuard window to appear: {Err}",
"message": "Unable to wait for WireGuard window to appear: {Err}",
"translation": "Čakanje, da se pojavi WireGuardovo okno, ni možno: {Err}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -1012,42 +1120,50 @@
{
"id": "WireGuard: Deactivated",
"message": "WireGuard: Deactivated",
- "translation": "WireGuard: Deaktiviran"
+ "translation": "WireGuard: Deaktiviran",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Unknown",
"message": "Status: Unknown",
- "translation": "Status: Neznan"
+ "translation": "Status: Neznan",
+ "translatorComment": "Copied from source."
},
{
"id": "Addresses: None",
"message": "Addresses: None",
- "translation": "Naslovi: Brez"
+ "translation": "Naslovi: Brez",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Manage tunnels…",
- "message": "\u0026Manage tunnels…",
- "translation": "\u0026Upravljaj tunele …"
+ "id": "&Manage tunnels…",
+ "message": "&Manage tunnels…",
+ "translation": "&Upravljaj tunele …",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Import tunnel(s) from file…",
- "message": "\u0026Import tunnel(s) from file…",
- "translation": "Uvoz\u0026i tunele iz datoteke …"
+ "id": "&Import tunnel(s) from file…",
+ "message": "&Import tunnel(s) from file…",
+ "translation": "&Uvozi tunel(e) iz datoteke…",
+ "translatorComment": "Copied from source."
},
{
- "id": "E\u0026xit",
- "message": "E\u0026xit",
- "translation": "I\u0026zhod"
+ "id": "E&xit",
+ "message": "E&xit",
+ "translation": "I&zhod",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard Tunnel Error",
"message": "WireGuard Tunnel Error",
- "translation": "Napaka tunela WireGuard"
+ "translation": "Napaka tunela WireGuard",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard: {TextForStateglobalState_true}",
"message": "WireGuard: {TextForStateglobalState_true}",
"translation": "WireGuard: {TextForStateglobalState_true}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TextForStateglobalState_true",
@@ -1063,6 +1179,7 @@
"id": "Status: {StateText}",
"message": "Status: {StateText}",
"translation": "Status: {StateText}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "StateText",
@@ -1078,6 +1195,7 @@
"id": "Addresses: {String}",
"message": "Addresses: {String}",
"translation": "Naslovi: {String}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "String",
@@ -1092,12 +1210,14 @@
{
"id": "WireGuard Activated",
"message": "WireGuard Activated",
- "translation": "WireGuard aktiviran"
+ "translation": "WireGuard aktiviran",
+ "translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been activated.",
"message": "The {Name} tunnel has been activated.",
"translation": "Tunel {Name} je bil aktiviran.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1112,12 +1232,14 @@
{
"id": "WireGuard Deactivated",
"message": "WireGuard Deactivated",
- "translation": "WireGuard deaktiviran"
+ "translation": "WireGuard deaktiviran",
+ "translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been deactivated.",
"message": "The {Name} tunnel has been deactivated.",
"translation": "Tunel {Name} je bil deaktiviran.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1132,72 +1254,86 @@
{
"id": "An Update is Available!",
"message": "An Update is Available!",
- "translation": "Na voljo je posodobitev!"
+ "translation": "Na voljo je posodobitev!",
+ "translatorComment": "Copied from source."
},
{
"id": "WireGuard Update Available",
"message": "WireGuard Update Available",
- "translation": "Posodobitev WireGuarda na voljo"
+ "translation": "Posodobitev WireGuarda je na voljo",
+ "translatorComment": "Copied from source."
},
{
"id": "An update to WireGuard is now available. You are advised to update as soon as possible.",
"message": "An update to WireGuard is now available. You are advised to update as soon as possible.",
- "translation": "Posodobitev WireGuarda je na voljo. Svetujemo posodobitev čim prej."
+ "translation": "Posodobitev WireGuarda je na voljo. Svetujemo posodobitev čim prej.",
+ "translatorComment": "Copied from source."
},
{
"id": "Tunnels",
"message": "Tunnels",
- "translation": "Tuneli"
+ "translation": "Tuneli",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Edit",
- "message": "\u0026Edit",
- "translation": "Ur\u0026edi"
+ "id": "&Edit",
+ "message": "&Edit",
+ "translation": "&Uredi",
+ "translatorComment": "Copied from source."
},
{
- "id": "Add \u0026empty tunnel…",
- "message": "Add \u0026empty tunnel…",
- "translation": "Dodaj praz\u0026en tunel …"
+ "id": "Add &empty tunnel…",
+ "message": "Add &empty tunnel…",
+ "translation": "Dodaj &prazen tunel …",
+ "translatorComment": "Copied from source."
},
{
"id": "Add Tunnel",
"message": "Add Tunnel",
- "translation": "Dodaj tunel"
+ "translation": "Dodaj tunel",
+ "translatorComment": "Copied from source."
},
{
"id": "Remove selected tunnel(s)",
"message": "Remove selected tunnel(s)",
- "translation": "Odstrani izbrane tunele"
+ "translation": "Odstrani izbrane tunele",
+ "translatorComment": "Copied from source."
},
{
"id": "Export all tunnels to zip",
"message": "Export all tunnels to zip",
- "translation": "Izvozi vse tunele v zip"
+ "translation": "Izvozi vse tunele v zip",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Toggle",
- "message": "\u0026Toggle",
- "translation": "\u0026Preklopi"
+ "id": "&Toggle",
+ "message": "&Toggle",
+ "translation": "&Preklopi",
+ "translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to \u0026zip…",
- "message": "Export all tunnels to \u0026zip…",
- "translation": "Izvozi vse tunele v \u0026zip …"
+ "id": "Export all tunnels to &zip…",
+ "message": "Export all tunnels to &zip…",
+ "translation": "Izvozi vse tunele v &zip …",
+ "translatorComment": "Copied from source."
},
{
- "id": "Edit \u0026selected tunnel…",
- "message": "Edit \u0026selected tunnel…",
- "translation": "Uredi i\u0026zbran tunel …"
+ "id": "Edit &selected tunnel…",
+ "message": "Edit &selected tunnel…",
+ "translation": "Uredi &izbran tunel …",
+ "translatorComment": "Copied from source."
},
{
- "id": "\u0026Remove selected tunnel(s)",
- "message": "\u0026Remove selected tunnel(s)",
- "translation": "Odst\u0026rani izbrane tunele"
+ "id": "&Remove selected tunnel(s)",
+ "message": "&Remove selected tunnel(s)",
+ "translation": "Odst&rani izbrane tunele",
+ "translatorComment": "Copied from source."
},
{
"id": "Could not import selected configuration: {LastErr}",
"message": "Could not import selected configuration: {LastErr}",
"translation": "Napaka pri uvozu izbrane konfiguracije: {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1213,6 +1349,7 @@
"id": "Could not enumerate existing tunnels: {LastErr}",
"message": "Could not enumerate existing tunnels: {LastErr}",
"translation": "Napaka pri preštevanju obstoječih tunelov: {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1228,6 +1365,7 @@
"id": "Another tunnel already exists with the name ‘{Name}’",
"message": "Another tunnel already exists with the name ‘{Name}’",
"translation": "Tunel z imenom »{Name}« že obstaja",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
@@ -1243,6 +1381,7 @@
"id": "Unable to import configuration: {LastErr}",
"message": "Unable to import configuration: {LastErr}",
"translation": "Napaka pri uvozu konfiguracije: {LastErr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
@@ -1257,7 +1396,8 @@
{
"id": "Imported tunnels",
"message": "Imported tunnels",
- "translation": "Uvoženi tuneli"
+ "translation": "Uvoženi tuneli",
+ "translatorComment": "Copied from source."
},
{
"id": "Imported {M} tunnels",
@@ -1267,17 +1407,17 @@
"feature": "plural",
"arg": "M",
"cases": {
- "few": {
- "msg": "Uvoženi {M} tuneli"
- },
"one": {
"msg": "Uvožen {M} tunel"
},
- "other": {
- "msg": "Uvoženo {M} tunelov"
- },
"two": {
"msg": "Uvožena {M} tunela"
+ },
+ "few": {
+ "msg": "Uvoženi {M} tuneli"
+ },
+ "other": {
+ "msg": "Uvoženo {M} tunelov"
}
}
}
@@ -1299,19 +1439,19 @@
"translation": {
"select": {
"feature": "plural",
- "arg": "M",
+ "arg": "N",
"cases": {
- "few": {
- "msg": "Uvoženi {M} od {N} tunelov"
- },
"one": {
"msg": "Uvožen {M} od {N} tunelov"
},
- "other": {
- "msg": "Uvoženo {M} od {N} tunelov"
- },
"two": {
"msg": "Uvožena {M} od {N} tunelov"
+ },
+ "few": {
+ "msg": "Uvoženi {M} od {N} tunelov"
+ },
+ "other": {
+ "msg": "Uvoženo {M} od {N} tunelov"
}
}
}
@@ -1338,7 +1478,8 @@
{
"id": "Unable to create tunnel",
"message": "Unable to create tunnel",
- "translation": "Napaka pri stvaritvi tunela"
+ "translation": "Tunela ni bilo mogoče ustvariti",
+ "translatorComment": "Copied from source."
},
{
"id": "Delete {TunnelCount} tunnels",
@@ -1348,17 +1489,17 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "few": {
- "msg": "Izbriši {TunnelCount} tunele"
- },
"one": {
"msg": "Izbriši {TunnelCount} tunel"
},
- "other": {
- "msg": "Izbriši {TunnelCount} tunelov"
- },
"two": {
"msg": "Izbriši {TunnelCount} tunela"
+ },
+ "few": {
+ "msg": "Izbriši {TunnelCount} tunele"
+ },
+ "other": {
+ "msg": "Izbriši {TunnelCount} tunelov"
}
}
}
@@ -1382,17 +1523,17 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "few": {
- "msg": "Ali ste prepričani, da želite izbrisati {TunnelCount} tunele?"
- },
"one": {
"msg": "Ali ste prepričani, da želite izbrisati {TunnelCount} tunel?"
},
- "other": {
- "msg": "Ali ste prepričani, da želite izbrisati {TunnelCount} tunelov?"
- },
"two": {
"msg": "Ali ste prepričani, da želite izbrisati {TunnelCount} tunela?"
+ },
+ "few": {
+ "msg": "Ali ste prepričani, da želite izbrisati {TunnelCount} tunele?"
+ },
+ "other": {
+ "msg": "Ali ste prepričani, da želite izbrisati {TunnelCount} tunelov?"
}
}
}
@@ -1412,6 +1553,7 @@
"id": "Delete tunnel ‘{TunnelName}’",
"message": "Delete tunnel ‘{TunnelName}’",
"translation": "Izbriši tunel ‘{TunnelName}’",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
@@ -1427,6 +1569,7 @@
"id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
"message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
"translation": "Ali ste prepričani, da želite izbrisati tunel »{TunnelName}«?",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
@@ -1442,6 +1585,7 @@
"id": "{Question} You cannot undo this action.",
"message": "{Question} You cannot undo this action.",
"translation": "{Question} Tega dejanja ne morete razveljaviti.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Question",
@@ -1456,12 +1600,14 @@
{
"id": "Unable to delete tunnel",
"message": "Unable to delete tunnel",
- "translation": "Napaka pri izbrisu tunela"
+ "translation": "Napaka pri izbrisu tunela",
+ "translatorComment": "Copied from source."
},
{
"id": "A tunnel was unable to be removed: {Error}",
"message": "A tunnel was unable to be removed: {Error}",
"translation": "Napaka pri odstranjevanju tunela: {Error}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Error",
@@ -1476,7 +1622,8 @@
{
"id": "Unable to delete tunnels",
"message": "Unable to delete tunnels",
- "translation": "Napaka pri izbrisu tunelov"
+ "translation": "Napaka pri izbrisu tunelov",
+ "translatorComment": "Copied from source."
},
{
"id": "{Lenerrors} tunnels were unable to be removed.",
@@ -1486,16 +1633,16 @@
"feature": "plural",
"arg": "Lenerrors",
"cases": {
- "few": {
- "msg": "{Lenerrors} tunelov ni bilo mogoče odstraniti."
- },
"one": {
"msg": "{Lenerrors} tunela ni bilo mogoče odstraniti."
},
- "other": {
+ "two": {
"msg": "{Lenerrors} tunelov ni bilo mogoče odstraniti."
},
- "two": {
+ "few": {
+ "msg": "{Lenerrors} tunelov ni bilo mogoče odstraniti."
+ },
+ "other": {
"msg": "{Lenerrors} tunelov ni bilo mogoče odstraniti."
}
}
@@ -1515,27 +1662,32 @@
{
"id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
"message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
- "translation": "Konfiguracijske datoteke (*.zip, *.conf)|*.zip;*.conf|Vse datoteke (*.*)|*.*"
+ "translation": "Konfiguracijske datoteke (*.zip, *.conf)|*.zip;*.conf|Vse datoteke (*.*)|*.*",
+ "translatorComment": "Copied from source."
},
{
"id": "Import tunnel(s) from file",
"message": "Import tunnel(s) from file",
- "translation": "Uvozi tunele iz datoteke"
+ "translation": "Uvozi tunele iz datoteke",
+ "translatorComment": "Copied from source."
},
{
"id": "Configuration ZIP Files (*.zip)|*.zip",
"message": "Configuration ZIP Files (*.zip)|*.zip",
- "translation": "Konfiguracijske datoteke ZIP (*.zip)|*.zip"
+ "translation": "Konfiguracijske datoteke ZIP (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
},
{
"id": "Export tunnels to zip",
"message": "Export tunnels to zip",
- "translation": "Izvozi tunele v zip"
+ "translation": "Izvozi tunele v datoteko zip",
+ "translatorComment": "Copied from source."
},
{
"id": "{Title} (unsigned build, no updates)",
"message": "{Title} (unsigned build, no updates)",
- "translation": "{Title} (nepodpisane izdelave, brez posodobitev)",
+ "translation": "{Title} (nepodpisane različice, brez posodobitev)",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Title",
@@ -1550,12 +1702,14 @@
{
"id": "Error Exiting WireGuard",
"message": "Error Exiting WireGuard",
- "translation": "Napaka pri izhodu iz WireGuarda"
+ "translation": "Napaka pri izhodu iz WireGuarda",
+ "translatorComment": "Copied from source."
},
{
"id": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
"message": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
"translation": "Storitve ni bilo mogoče zaustaviti, ker: {Err}. Poskusite zaustaviti WireGuard z uporabo programa Storitve.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -1570,27 +1724,32 @@
{
"id": "An update to WireGuard is available. It is highly advisable to update without delay.",
"message": "An update to WireGuard is available. It is highly advisable to update without delay.",
- "translation": "Posodobitev WireGuarda je na voljo. Zelo priporočamo posodobitev brez odlašanja."
+ "translation": "Posodobitev WireGuarda je na voljo. Zelo priporočamo posodobitev brez odlašanja.",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Waiting for user",
"message": "Status: Waiting for user",
- "translation": "Status: Čaka na uporabnika"
+ "translation": "Status: Čaka na uporabnika",
+ "translatorComment": "Copied from source."
},
{
"id": "Update Now",
"message": "Update Now",
- "translation": "Posodobi zdaj"
+ "translation": "Posodobi zdaj",
+ "translatorComment": "Copied from source."
},
{
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
- "translation": "Status: Čaka na servis za posodobitev"
+ "translation": "Status: Čaka na servis za posodobitev",
+ "translatorComment": "Copied from source."
},
{
"id": "Error: {Err}. Please try again.",
"message": "Error: {Err}. Please try again.",
"translation": "Napaka: {Err}. Poskusite ponovno.",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
@@ -1605,12 +1764,14 @@
{
"id": "Status: Complete!",
"message": "Status: Complete!",
- "translation": "Status: Končano!"
+ "translation": "Status: Končano!",
+ "translatorComment": "Copied from source."
},
{
"id": "http2: Framer {F}: failed to decode just-written frame",
"message": "http2: Framer {F}: failed to decode just-written frame",
"translation": "http2: Framer {F}: napaka pri dekodiranju ravnokar zapisanega okvirja",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "F",
@@ -1626,6 +1787,7 @@
"id": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
"message": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
"translation": "http2: Framer {F}: zapisano {Http2summarizeFramefr}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "F",
@@ -1649,6 +1811,7 @@
"id": "http2: Framer {Fr}: read {Http2summarizeFramef}",
"message": "http2: Framer {Fr}: read {Http2summarizeFramef}",
"translation": "http2: Framer {Fr}: prebrano {Http2summarizeFramef}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Fr",
@@ -1672,6 +1835,7 @@
"id": "http2: decoded hpack field {HeaderField}",
"message": "http2: decoded hpack field {HeaderField}",
"translation": "http2: dekodirano polje hpack {HeaderField}",
+ "translatorComment": "Copied from source.",
"placeholders": [
{
"id": "HeaderField",
diff --git a/locales/zh-CN/messages.gotext.json b/locales/zh-CN/messages.gotext.json
new file mode 100644
index 00000000..d16d523d
--- /dev/null
+++ b/locales/zh-CN/messages.gotext.json
@@ -0,0 +1,1761 @@
+{
+ "language": "zh-CN",
+ "messages": [
+ {
+ "id": "Error",
+ "message": "Error",
+ "translation": "错误",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(no argument): elevate and install manager service",
+ "message": "(no argument): elevate and install manager service",
+ "translation": "(无参数):提升并安装管理服务",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Usage: {Args0} [\n{String}]",
+ "message": "Usage: {Args0} [\n{String}]",
+ "translation": "用法: {Args0} [\n{String}]",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Args0",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "os.Args[0]"
+ },
+ {
+ "id": "String",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "builder.String()"
+ }
+ ]
+ },
+ {
+ "id": "Command Line Options",
+ "message": "Command Line Options",
+ "translation": "命令行选项",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to determine whether the process is running under WOW64: {Err}",
+ "message": "Unable to determine whether the process is running under WOW64: {Err}",
+ "translation": "无法确定该进程是否在WOW64下运行: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "You must use the 64-bit version of WireGuard on this computer.",
+ "message": "You must use the 64-bit version of WireGuard on this computer.",
+ "translation": "您必须在此计算机上使用64位版本的 WireGuard 。",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to open current process token: {Err}",
+ "message": "Unable to open current process token: {Err}",
+ "translation": "无法打开当前进程令牌: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
+ "message": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
+ "translation": "WireGuard 可能只能被内建的 {AdminGroupName} 小组中的成员使用。",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "AdminGroupName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "elevate.AdminGroupName()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
+ "message": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
+ "translation": "WireGuard 正在运行,但用户界面只能从内建的 {AdminGroupName} 小组的桌面访问。",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "AdminGroupName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "elevate.AdminGroupName()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard system tray icon did not appear after 30 seconds.",
+ "message": "WireGuard system tray icon did not appear after 30 seconds.",
+ "translation": "WireGuard 系统托盘图标在30秒后没有出现。",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Now",
+ "message": "Now",
+ "translation": "刚刚",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "System clock wound backward!",
+ "message": "System clock wound backward!",
+ "translation": "系统时钟倒转!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Years} year(s)",
+ "message": "{Years} year(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Years",
+ "cases": {
+ "other": {
+ "msg": "{Years} 年"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Years",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "years"
+ }
+ ]
+ },
+ {
+ "id": "{Days} day(s)",
+ "message": "{Days} day(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Days",
+ "cases": {
+ "other": {
+ "msg": "{Days} 天"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Days",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "days"
+ }
+ ]
+ },
+ {
+ "id": "{Hours} hour(s)",
+ "message": "{Hours} hour(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Hours",
+ "cases": {
+ "other": {
+ "msg": "{Hours} 小时"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Hours",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "hours"
+ }
+ ]
+ },
+ {
+ "id": "{Minutes} minute(s)",
+ "message": "{Minutes} minute(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Minutes",
+ "cases": {
+ "other": {
+ "msg": "{Minutes} 分钟"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Minutes",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "minutes"
+ }
+ ]
+ },
+ {
+ "id": "{Seconds} second(s)",
+ "message": "{Seconds} second(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Seconds",
+ "cases": {
+ "other": {
+ "msg": "{Seconds} 秒"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Seconds",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "seconds"
+ }
+ ]
+ },
+ {
+ "id": "{Timestamp} ago",
+ "message": "{Timestamp} ago",
+ "translation": "{Timestamp} 前",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Timestamp",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "timestamp"
+ }
+ ]
+ },
+ {
+ "id": "{Bytes} B",
+ "message": "{Bytes} B",
+ "translation": "{Bytes} B",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Bytes",
+ "string": "%[1]d",
+ "type": "golang.zx2c4.com/wireguard/windows/conf.Bytes",
+ "underlyingType": "uint64",
+ "argNum": 1,
+ "expr": "b"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024} KiB",
+ "message": "{Float64b__1024} KiB",
+ "translation": "{Float64b__1024} KiB",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / 1024"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024__1024} MiB",
+ "message": "{Float64b__1024__1024} MiB",
+ "translation": "{Float64b__1024__1024} MiB",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / (1024 * 1024)"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024__1024__1024} GiB",
+ "message": "{Float64b__1024__1024__1024} GiB",
+ "translation": "{Float64b__1024__1024__1024} GiB",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024__1024__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / (1024 * 1024 * 1024)"
+ }
+ ]
+ },
+ {
+ "id": "{Float64b__1024__1024__1024__1024} TiB",
+ "message": "{Float64b__1024__1024__1024__1024} TiB",
+ "translation": "{Float64b__1024__1024__1024__1024} TiB",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Float64b__1024__1024__1024__1024",
+ "string": "%.2[1]f",
+ "type": "float64",
+ "underlyingType": "float64",
+ "argNum": 1,
+ "expr": "float64(b) / (1024 * 1024 * 1024) / 1024"
+ }
+ ]
+ },
+ {
+ "id": "{Why}: {Offender}",
+ "message": "{Why}: {Offender}",
+ "translation": "{Why}: {Offender}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Why",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "e.why"
+ },
+ {
+ "id": "Offender",
+ "string": "%[2]q",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "e.offender"
+ }
+ ]
+ },
+ {
+ "id": "Invalid IP address",
+ "message": "Invalid IP address",
+ "translation": "IP地址无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid network prefix length",
+ "message": "Invalid network prefix length",
+ "translation": "网络前缀长度无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Missing port from endpoint",
+ "message": "Missing port from endpoint",
+ "translation": "端点中缺少端口",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid endpoint host",
+ "message": "Invalid endpoint host",
+ "translation": "端点主机无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Brackets must contain an IPv6 address",
+ "message": "Brackets must contain an IPv6 address",
+ "translation": "括号应包含一个 IPv6 地址",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid MTU",
+ "message": "Invalid MTU",
+ "translation": "MTU 无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid port",
+ "message": "Invalid port",
+ "translation": "端口无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid persistent keepalive",
+ "message": "Invalid persistent keepalive",
+ "translation": "连接保活间隔无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key: {Err}",
+ "message": "Invalid key: {Err}",
+ "translation": "无效的密钥:{Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Keys must decode to exactly 32 bytes",
+ "message": "Keys must decode to exactly 32 bytes",
+ "translation": "密钥必须解码为正好32字节",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Number must be a number between 0 and 2^64-1: {Err}",
+ "message": "Number must be a number between 0 and 2^64-1: {Err}",
+ "translation": "数必须是一个介于 0 至 2^64-1 之间的数字:{Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Two commas in a row",
+ "message": "Two commas in a row",
+ "translation": "一行中有两个逗号",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name is not valid",
+ "message": "Tunnel name is not valid",
+ "translation": "隧道名称无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Line must occur in a section",
+ "message": "Line must occur in a section",
+ "translation": "行必须出现在段落中",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid config key is missing an equals separator",
+ "message": "Invalid config key is missing an equals separator",
+ "translation": "无效的配置键缺少一个等于分隔符",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Key must have a value",
+ "message": "Key must have a value",
+ "translation": "键必须有一个值",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Interface] section",
+ "message": "Invalid key for [Interface] section",
+ "translation": "[Interface] 段落的键无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Peer] section",
+ "message": "Invalid key for [Peer] section",
+ "translation": "[Peer] 段落的键无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An interface must have a private key",
+ "message": "An interface must have a private key",
+ "translation": "接口必须有一个私钥",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "[none specified]",
+ "message": "[none specified]",
+ "translation": "【未指定】",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "All peers must have public keys",
+ "message": "All peers must have public keys",
+ "translation": "所有节点必须拥有公钥。",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error in getting configuration",
+ "message": "Error in getting configuration",
+ "translation": "获取配置时出错",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for interface section",
+ "message": "Invalid key for interface section",
+ "translation": "接口段落的键无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Protocol version must be 1",
+ "message": "Protocol version must be 1",
+ "translation": "协议版本必须为 1",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for peer section",
+ "message": "Invalid key for peer section",
+ "translation": "节点段落的键无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "[EnumerationSeparator]",
+ "message": "[EnumerationSeparator]",
+ "translation": ", ",
+ "comment": "Text to insert between items when listing - most western languages will translate ‘[EnumerationSeparator]’ into ‘, ’ to produce lists like ‘apple, orange, strawberry’. Eastern languages might translate into ‘、’ to produce lists like ‘リンゴ、オレンジ、イチゴ’."
+ },
+ {
+ "id": "[UnitSeparator]",
+ "message": "[UnitSeparator]",
+ "translation": ", ",
+ "comment": "Text to insert when combining units of a measure - most languages will translate ‘[UnitSeparator]’ into ‘ ’ (space) to produce lists like ‘2 minuti 30 sekund’, or empty string ‘’ to produce ‘2分30秒’."
+ },
+ {
+ "id": "About WireGuard",
+ "message": "About WireGuard",
+ "translation": "关于 WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard logo image",
+ "message": "WireGuard logo image",
+ "translation": "WireGuard 标志图片",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
+ "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}",
+ "translation": "应用版本: {Number}\nGo 后端版本: {WireGuardGoVersion}\nGo 版本: {Version_go}\n操作系统: {OsName}\n架构: {GOARCH}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "WireGuardGoVersion",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "device.WireGuardGoVersion"
+ },
+ {
+ "id": "Version_go",
+ "string": "%[3]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 3,
+ "expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
+ },
+ {
+ "id": "OsName",
+ "string": "%[4]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 4,
+ "expr": "version.OsName()"
+ },
+ {
+ "id": "GOARCH",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "runtime.GOARCH"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "关闭",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ &Donate!",
+ "message": "♥ &Donate!",
+ "translation": "♥ &捐助!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": "状态:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Deactivate",
+ "message": "&Deactivate",
+ "translation": "&停用",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Activate",
+ "message": "&Activate",
+ "translation": "&启动",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Public key:",
+ "message": "Public key:",
+ "translation": "公钥:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Listen port:",
+ "message": "Listen port:",
+ "translation": "监听端口:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "MTU:",
+ "message": "MTU:",
+ "translation": "MTU:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "地址:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "DNS 服务器:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Preshared key:",
+ "message": "Preshared key:",
+ "translation": "预分享密钥:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Allowed IPs:",
+ "message": "Allowed IPs:",
+ "translation": "允许的 IP:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Endpoint:",
+ "message": "Endpoint:",
+ "translation": "端点:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Persistent keepalive:",
+ "message": "Persistent keepalive:",
+ "translation": "连接保活间隔:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Latest handshake:",
+ "message": "Latest handshake:",
+ "translation": "最新的握手:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Transfer:",
+ "message": "Transfer:",
+ "translation": "流量:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "enabled",
+ "message": "enabled",
+ "translation": "已启用",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{String} received, {String_1} sent",
+ "message": "{String} received, {String_1} sent",
+ "translation": "{String} 已收到, {String_1} 已发送",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "String",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "c.RxBytes.String()"
+ },
+ {
+ "id": "String_1",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "c.TxBytes.String()"
+ }
+ ]
+ },
+ {
+ "id": "Failed to determine tunnel state",
+ "message": "Failed to determine tunnel state",
+ "translation": "判断隧道状态失败",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to activate tunnel",
+ "message": "Failed to activate tunnel",
+ "translation": "启动隧道失败",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to deactivate tunnel",
+ "message": "Failed to deactivate tunnel",
+ "translation": "停用隧道失败",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Interface: {Name}",
+ "message": "Interface: {Name}",
+ "translation": "接口:{Name}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "config.Name"
+ }
+ ]
+ },
+ {
+ "id": "Peer",
+ "message": "Peer",
+ "translation": "节点",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Create new tunnel",
+ "message": "Create new tunnel",
+ "translation": "创建新隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit tunnel",
+ "message": "Edit tunnel",
+ "translation": "编辑隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Name:",
+ "message": "&Name:",
+ "translation": "&名称:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Public key:",
+ "message": "&Public key:",
+ "translation": "&公钥:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(未知)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Block untunneled traffic (kill-switch)",
+ "message": "&Block untunneled traffic (kill-switch)",
+ "translation": "&拦截未经隧道的流量(禁用交换)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
+ "message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface, with special exceptions for DHCP and NDP.",
+ "translation": "当配置只有一个节点,且该节点的允许 IP 列表至少包含 0.0.0.0/0 或 ::/0 的其中一个 IP 时,隧道服务会使用防火墙规则集来拦截所有进出隧道接口的流量,但 DHCP 和 NDP 除外。",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Save",
+ "message": "&Save",
+ "translation": "&保存",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "取消",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Configuration:",
+ "message": "&Configuration:",
+ "translation": "&配置:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid name",
+ "message": "Invalid name",
+ "translation": "名称无效",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A name is required.",
+ "message": "A name is required.",
+ "translation": "名称是必需的。",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name ‘{NewName}’ is invalid.",
+ "message": "Tunnel name ‘{NewName}’ is invalid.",
+ "translation": "隧道名称 ”{NewName}“ 无效",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "NewName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "newName"
+ }
+ ]
+ },
+ {
+ "id": "Unable to list existing tunnels",
+ "message": "Unable to list existing tunnels",
+ "translation": "无法列出现有隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel already exists",
+ "message": "Tunnel already exists",
+ "translation": "隧道已存在",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{NewName}’.",
+ "message": "Another tunnel already exists with the name ‘{NewName}’.",
+ "translation": "另一个同名的隧道 \"{NewName}\" 已存在。",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "NewName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "newName"
+ }
+ ]
+ },
+ {
+ "id": "Unable to create new configuration",
+ "message": "Unable to create new configuration",
+ "translation": "无法创建新的配置",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Writing file failed",
+ "message": "Writing file failed",
+ "translation": "写入文件失败",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
+ "message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
+ "translation": "文件”{FilePath}“ 已存在。\n\n您确定要覆盖它吗?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "FilePath",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "filePath"
+ }
+ ]
+ },
+ {
+ "id": "Active",
+ "message": "Active",
+ "translation": "激活",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Activating",
+ "message": "Activating",
+ "translation": "启动中",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Inactive",
+ "message": "Inactive",
+ "translation": "未激活",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Deactivating",
+ "message": "Deactivating",
+ "translation": "停用中",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unknown state",
+ "message": "Unknown state",
+ "translation": "未知状态",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log",
+ "message": "Log",
+ "translation": "日志",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Copy",
+ "message": "&Copy",
+ "translation": "&复制",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select &all",
+ "message": "Select &all",
+ "translation": "选择 &所有",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Save to file…",
+ "message": "&Save to file…",
+ "translation": "&保存到文件…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Time",
+ "message": "Time",
+ "translation": "时间",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log message",
+ "message": "Log message",
+ "translation": "记录消息",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "translation": "文本文件 (*.txt)|*.txt|All Files (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export log to file",
+ "message": "Export log to file",
+ "translation": "导出日志到文件",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&About WireGuard…",
+ "message": "&About WireGuard…",
+ "translation": "&关于 WireGuard…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel Error",
+ "message": "Tunnel Error",
+ "translation": "隧道错误",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{ErrMsg}\n\nPlease consult the log for more information.",
+ "message": "{ErrMsg}\n\nPlease consult the log for more information.",
+ "translation": "{ErrMsg}\n\n更多信息请查看日志",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "ErrMsg",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "errMsg"
+ }
+ ]
+ },
+ {
+ "id": "{Title} (out of date)",
+ "message": "{Title} (out of date)",
+ "translation": "{Title} (已过时)",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Title",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "mtw.Title()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Detection Error",
+ "message": "WireGuard Detection Error",
+ "translation": "WireGuard 检测错误",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to wait for WireGuard window to appear: {Err}",
+ "message": "Unable to wait for WireGuard window to appear: {Err}",
+ "translation": "无法等待 WireGuard 窗口出现: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard: Deactivated",
+ "message": "WireGuard: Deactivated",
+ "translation": "WireGuard :已停用",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Unknown",
+ "message": "Status: Unknown",
+ "translation": "状态:未知",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses: None",
+ "message": "Addresses: None",
+ "translation": "地址:无",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Manage tunnels…",
+ "message": "&Manage tunnels…",
+ "translation": "&管理隧道…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Import tunnel(s) from file…",
+ "message": "&Import tunnel(s) from file…",
+ "translation": "&从文件导入隧道…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E&xit",
+ "message": "E&xit",
+ "translation": "退&出",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "WireGuard 隧道错误",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "WireGuard: {TextForStateglobalState_true}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "TextForStateglobalState_true",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "textForState(globalState, true)"
+ }
+ ]
+ },
+ {
+ "id": "Status: {StateText}",
+ "message": "Status: {StateText}",
+ "translation": "状态: {StateText}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "StateText",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "stateText"
+ }
+ ]
+ },
+ {
+ "id": "Addresses: {String}",
+ "message": "Addresses: {String}",
+ "translation": "地址: {String}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "String",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "sb.String()"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Activated",
+ "message": "WireGuard Activated",
+ "translation": "WireGuard :已启动",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been activated.",
+ "message": "The {Name} tunnel has been activated.",
+ "translation": "隧道 ”{Name}“ 已被启动。",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Deactivated",
+ "message": "WireGuard Deactivated",
+ "translation": "WireGuard :未启动",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been deactivated.",
+ "message": "The {Name} tunnel has been deactivated.",
+ "translation": "隧道 {Name} 已停用。",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "An Update is Available!",
+ "message": "An Update is Available!",
+ "translation": "有一项可用更新!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Update Available",
+ "message": "WireGuard Update Available",
+ "translation": "WireGuard 有可用的更新",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An update to WireGuard is now available. You are advised to update as soon as possible.",
+ "message": "An update to WireGuard is now available. You are advised to update as soon as possible.",
+ "translation": "发现一个可用的 WireGuard 更新。强烈建议尽快安装。",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnels",
+ "message": "Tunnels",
+ "translation": "隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Edit",
+ "message": "&Edit",
+ "translation": "&编辑",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add &empty tunnel…",
+ "message": "Add &empty tunnel…",
+ "translation": "添加&空隧道…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add Tunnel",
+ "message": "Add Tunnel",
+ "translation": "添加隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Remove selected tunnel(s)",
+ "message": "Remove selected tunnel(s)",
+ "translation": "移除选择的隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to zip",
+ "message": "Export all tunnels to zip",
+ "translation": "导出所有隧道到zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Toggle",
+ "message": "&Toggle",
+ "translation": "&切换",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to &zip…",
+ "message": "Export all tunnels to &zip…",
+ "translation": "导出所有隧道到&zip…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit &selected tunnel…",
+ "message": "Edit &selected tunnel…",
+ "translation": "编辑 &选择的隧道…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "&Remove selected tunnel(s)",
+ "message": "&Remove selected tunnel(s)",
+ "translation": "&移除选择的隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Could not import selected configuration: {LastErr}",
+ "message": "Could not import selected configuration: {LastErr}",
+ "translation": "无法导入选择的配置:{LastErr}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "LastErr",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "lastErr"
+ }
+ ]
+ },
+ {
+ "id": "Could not enumerate existing tunnels: {LastErr}",
+ "message": "Could not enumerate existing tunnels: {LastErr}",
+ "translation": "无法列出现有的隧道: {LastErr}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "LastErr",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "lastErr"
+ }
+ ]
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{Name}’",
+ "message": "Another tunnel already exists with the name ‘{Name}’",
+ "translation": "另一个同名的隧道 \"{Name}\" 已存在",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "unparsedConfig.Name"
+ }
+ ]
+ },
+ {
+ "id": "Unable to import configuration: {LastErr}",
+ "message": "Unable to import configuration: {LastErr}",
+ "translation": "无法导入配置:{LastErr}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "LastErr",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "lastErr"
+ }
+ ]
+ },
+ {
+ "id": "Imported tunnels",
+ "message": "Imported tunnels",
+ "translation": "导入隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Imported {M} tunnels",
+ "message": "Imported {M} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "M",
+ "cases": {
+ "other": {
+ "msg": "导入了 {M} 隧道"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "M",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "m"
+ }
+ ]
+ },
+ {
+ "id": "Imported {M} of {N} tunnels",
+ "message": "Imported {M} of {N} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "N",
+ "cases": {
+ "other": {
+ "msg": "导入了 {N} 个隧道中的 {M} 个隧道"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "M",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "m"
+ },
+ {
+ "id": "N",
+ "string": "%[2]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 2,
+ "expr": "n"
+ }
+ ]
+ },
+ {
+ "id": "Unable to create tunnel",
+ "message": "Unable to create tunnel",
+ "translation": "无法创建隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Delete {TunnelCount} tunnels",
+ "message": "Delete {TunnelCount} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "other": {
+ "msg": "删除 {TunnelCount} 个隧道"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Are you sure you would like to delete {TunnelCount} tunnels?",
+ "message": "Are you sure you would like to delete {TunnelCount} tunnels?",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "other": {
+ "msg": "您确定要删除 {TunnelCount} 个隧道吗?"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Delete tunnel ‘{TunnelName}’",
+ "message": "Delete tunnel ‘{TunnelName}’",
+ "translation": "删除隧道 ”{TunnelName}“",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "TunnelName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnelName"
+ }
+ ]
+ },
+ {
+ "id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
+ "message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
+ "translation": "您确定要删除隧道 \"{TunnelName}\" 吗?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "TunnelName",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnelName"
+ }
+ ]
+ },
+ {
+ "id": "{Question} You cannot undo this action.",
+ "message": "{Question} You cannot undo this action.",
+ "translation": "{Question} 您无法撤销此操作。",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Question",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "question"
+ }
+ ]
+ },
+ {
+ "id": "Unable to delete tunnel",
+ "message": "Unable to delete tunnel",
+ "translation": "无法删除隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A tunnel was unable to be removed: {Error}",
+ "message": "A tunnel was unable to be removed: {Error}",
+ "translation": "无法移除隧道: {Error}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Error",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "errors[0].Error()"
+ }
+ ]
+ },
+ {
+ "id": "Unable to delete tunnels",
+ "message": "Unable to delete tunnels",
+ "translation": "无法删除隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Lenerrors} tunnels were unable to be removed.",
+ "message": "{Lenerrors} tunnels were unable to be removed.",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Lenerrors",
+ "cases": {
+ "other": {
+ "msg": "{Lenerrors} 隧道无法被移除。"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Lenerrors",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "len(errors)"
+ }
+ ]
+ },
+ {
+ "id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
+ "message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
+ "translation": "配置文件 (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Import tunnel(s) from file",
+ "message": "Import tunnel(s) from file",
+ "translation": "从文件导入隧道",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Configuration ZIP Files (*.zip)|*.zip",
+ "message": "Configuration ZIP Files (*.zip)|*.zip",
+ "translation": "配置 ZIP 文件 (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "导出隧道为Zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (未签名构建,无更新)",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Title",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "mtw.Title()"
+ }
+ ]
+ },
+ {
+ "id": "Error Exiting WireGuard",
+ "message": "Error Exiting WireGuard",
+ "translation": "退出 WireGuard 时出错",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
+ "message": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
+ "translation": "因为: {Err} 无法退出服务。您可能想要从服务管理器中停止 WireGuard 。",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "An update to WireGuard is available. It is highly advisable to update without delay.",
+ "message": "An update to WireGuard is available. It is highly advisable to update without delay.",
+ "translation": "发现一个可用的 WireGuard 更新。强烈建议尽快安装。",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for user",
+ "message": "Status: Waiting for user",
+ "translation": "状态:等待用户",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Update Now",
+ "message": "Update Now",
+ "translation": "立即更新",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "状态:等待更新服务",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error: {Err}. Please try again.",
+ "message": "Error: {Err}. Please try again.",
+ "translation": "错误:{Err}。请重试。",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Status: Complete!",
+ "message": "Status: Complete!",
+ "translation": "状态:完成!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "http2: Framer {F}: failed to decode just-written frame",
+ "message": "http2: Framer {F}: failed to decode just-written frame",
+ "translation": "http2: 成帧器 {F}: 解码刚写入的帧失败",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "F",
+ "string": "%[1]p",
+ "type": "*net/http.http2Framer",
+ "underlyingType": "*net/http.http2Framer",
+ "argNum": 1,
+ "expr": "f"
+ }
+ ]
+ },
+ {
+ "id": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
+ "message": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
+ "translation": "http2: 成帧器 {F}: 写入了 {Http2summarizeFramefr}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "F",
+ "string": "%[1]p",
+ "type": "*net/http.http2Framer",
+ "underlyingType": "*net/http.http2Framer",
+ "argNum": 1,
+ "expr": "f"
+ },
+ {
+ "id": "Http2summarizeFramefr",
+ "string": "%[2]v",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "http2summarizeFrame(fr)"
+ }
+ ]
+ },
+ {
+ "id": "http2: Framer {Fr}: read {Http2summarizeFramef}",
+ "message": "http2: Framer {Fr}: read {Http2summarizeFramef}",
+ "translation": "http2: 成帧器 {Fr}: 读取了 {Http2summarizeFramef}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Fr",
+ "string": "%[1]p",
+ "type": "*net/http.http2Framer",
+ "underlyingType": "*net/http.http2Framer",
+ "argNum": 1,
+ "expr": "fr"
+ },
+ {
+ "id": "Http2summarizeFramef",
+ "string": "%[2]v",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "http2summarizeFrame(f)"
+ }
+ ]
+ },
+ {
+ "id": "http2: decoded hpack field {HeaderField}",
+ "message": "http2: decoded hpack field {HeaderField}",
+ "translation": "http2: 解码的 hpack 字段 {HeaderField}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "HeaderField",
+ "string": "%+[1]v",
+ "type": "vendor/golang.org/x/net/http2/hpack.HeaderField",
+ "underlyingType": "struct{Name string; Value string; Sensitive bool}",
+ "argNum": 1,
+ "expr": "hf"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file