aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--gotext.go2
-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
-rw-r--r--zgotext.go1551
9 files changed, 7891 insertions, 1319 deletions
diff --git a/gotext.go b/gotext.go
index 156fb4e9..e9a59aea 100644
--- a/gotext.go
+++ b/gotext.go
@@ -1,5 +1,5 @@
// +build generate
-//go:generate go run gotext.go -srclang=en update -out=zgotext.go -lang=en,fr,it,ja,sl
+//go:generate go run gotext.go -srclang=en update -out=zgotext.go -lang=en,de,fr,it,ja,ru,sl,zh-CN
/* SPDX-License-Identifier: MIT
*
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
diff --git a/zgotext.go b/zgotext.go
index 19b1c20b..e5a933e5 100644
--- a/zgotext.go
+++ b/zgotext.go
@@ -27,11 +27,14 @@ func (d *dictionary) Lookup(key string) (data string, ok bool) {
func init() {
dict := map[string]catalog.Dictionary{
- "en": &dictionary{index: enIndex, data: enData},
- "fr": &dictionary{index: frIndex, data: frData},
- "it": &dictionary{index: itIndex, data: itData},
- "ja": &dictionary{index: jaIndex, data: jaData},
- "sl": &dictionary{index: slIndex, data: slData},
+ "de": &dictionary{index: deIndex, data: deData},
+ "en": &dictionary{index: enIndex, data: enData},
+ "fr": &dictionary{index: frIndex, data: frData},
+ "it": &dictionary{index: itIndex, data: itData},
+ "ja": &dictionary{index: jaIndex, data: jaData},
+ "ru": &dictionary{index: ruIndex, data: ruData},
+ "sl": &dictionary{index: slIndex, data: slData},
+ "zh_CN": &dictionary{index: zh_CNIndex, data: zh_CNData},
}
fallback := language.MustParse("en")
cat, err := catalog.NewFromMap(dict, catalog.Fallback(fallback))
@@ -50,176 +53,329 @@ var messageKeyToIndex = map[string]int{
"%d hour(s)": 14,
"%d minute(s)": 15,
"%d second(s)": 16,
- "%d tunnels were unable to be removed.": 158,
+ "%d tunnels were unable to be removed.": 157,
"%d year(s)": 12,
"%d\u00a0B": 18,
- "%s\n\nPlease consult the log for more information.": 111,
- "%s (out of date)": 112,
- "%s (unsigned build, no updates)": 163,
- "%s You cannot undo this action.": 154,
+ "%s\n\nPlease consult the log for more information.": 110,
+ "%s (out of date)": 111,
+ "%s (unsigned build, no updates)": 162,
+ "%s You cannot undo this action.": 153,
"%s ago": 17,
- "%s received, %s sent": 71,
+ "%s received, %s sent": 70,
"%s: %q": 23,
- "&About WireGuard…": 109,
- "&Activate": 58,
- "&Block untunneled traffic (kill-switch)": 82,
- "&Configuration:": 86,
- "&Copy": 102,
- "&Deactivate": 57,
- "&Edit": 133,
- "&Import tunnel(s) from file…": 119,
- "&Manage tunnels…": 118,
- "&Name:": 79,
- "&Public key:": 80,
- "&Remove selected tunnel(s)": 141,
- "&Save": 84,
- "&Save to file…": 104,
- "&Toggle": 138,
+ "&About WireGuard…": 108,
+ "&Activate": 57,
+ "&Block untunneled traffic (kill-switch)": 81,
+ "&Configuration:": 85,
+ "&Copy": 101,
+ "&Deactivate": 56,
+ "&Edit": 132,
+ "&Import tunnel(s) from file…": 118,
+ "&Manage tunnels…": 117,
+ "&Name:": 78,
+ "&Public key:": 79,
+ "&Remove selected tunnel(s)": 140,
+ "&Save": 83,
+ "&Save to file…": 103,
+ "&Toggle": 137,
"(no argument): elevate and install manager service": 1,
- "(unknown)": 81,
- "A name is required.": 88,
- "A tunnel was unable to be removed: %s": 156,
- "About WireGuard": 51,
- "Activating": 97,
- "Active": 96,
- "Add &empty tunnel…": 134,
- "Add Tunnel": 135,
- "Addresses:": 62,
- "Addresses: %s": 124,
- "Addresses: None": 117,
- "All peers must have public keys": 44,
- "Allowed IPs:": 65,
- "An Update is Available!": 129,
- "An interface must have a private key": 42,
- "An update to WireGuard is available. It is highly advisable to update without delay.": 166,
- "An update to WireGuard is now available. You are advised to update as soon as possible.": 131,
- "Another tunnel already exists with the name ‘%s’": 144,
- "Another tunnel already exists with the name ‘%s’.": 92,
- "App version: %s\nGo backend version: %s\nGo version: %s\nOperating system: %s\nArchitecture: %s": 53,
- "Are you sure you would like to delete %d tunnels?": 151,
- "Are you sure you would like to delete tunnel ‘%s’?": 153,
+ "(unknown)": 80,
+ "A name is required.": 87,
+ "A tunnel was unable to be removed: %s": 155,
+ "About WireGuard": 50,
+ "Activating": 96,
+ "Active": 95,
+ "Add &empty tunnel…": 133,
+ "Add Tunnel": 134,
+ "Addresses:": 61,
+ "Addresses: %s": 123,
+ "Addresses: None": 116,
+ "All peers must have public keys": 43,
+ "Allowed IPs:": 64,
+ "An Update is Available!": 128,
+ "An interface must have a private key": 41,
+ "An update to WireGuard is available. It is highly advisable to update without delay.": 165,
+ "An update to WireGuard is now available. You are advised to update as soon as possible.": 130,
+ "Another tunnel already exists with the name ‘%s’": 143,
+ "Another tunnel already exists with the name ‘%s’.": 91,
+ "App version: %s\nGo backend version: %s\nGo version: %s\nOperating system: %s\nArchitecture: %s": 52,
+ "Are you sure you would like to delete %d tunnels?": 150,
+ "Are you sure you would like to delete tunnel ‘%s’?": 152,
"Brackets must contain an IPv6 address": 28,
- "Cancel": 85,
- "Close": 54,
+ "Cancel": 84,
+ "Close": 53,
"Command Line Options": 3,
- "Config key is missing an equals separator": 38,
- "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*": 159,
- "Configuration ZIP Files (*.zip)|*.zip": 161,
- "Could not enumerate existing tunnels: %v": 143,
- "Could not import selected configuration: %v": 142,
- "Create new tunnel": 77,
- "DNS servers:": 63,
- "Deactivating": 99,
- "Delete %d tunnels": 150,
- "Delete tunnel ‘%s’": 152,
- "E&xit": 120,
- "Edit &selected tunnel…": 140,
- "Edit tunnel": 78,
- "Endpoint:": 66,
+ "Config key is missing an equals separator": 175,
+ "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*": 158,
+ "Configuration ZIP Files (*.zip)|*.zip": 160,
+ "Could not enumerate existing tunnels: %v": 142,
+ "Could not import selected configuration: %v": 141,
+ "Create new tunnel": 76,
+ "DNS servers:": 62,
+ "Deactivating": 98,
+ "Delete %d tunnels": 149,
+ "Delete tunnel ‘%s’": 151,
+ "E&xit": 119,
+ "Edit &selected tunnel…": 139,
+ "Edit tunnel": 77,
+ "Endpoint:": 65,
"Error": 0,
- "Error Exiting WireGuard": 164,
- "Error in getting configuration": 45,
- "Error: %v. Please try again.": 170,
- "Export all tunnels to &zip…": 139,
- "Export all tunnels to zip": 137,
- "Export log to file": 108,
- "Export tunnels to zip": 162,
- "Failed to activate tunnel": 73,
- "Failed to deactivate tunnel": 74,
- "Failed to determine tunnel state": 72,
- "File ‘%s’ already exists.\n\nDo you want to overwrite it?": 95,
- "Import tunnel(s) from file": 160,
- "Imported %d of %d tunnels": 148,
- "Imported %d tunnels": 147,
- "Imported tunnels": 146,
- "Inactive": 98,
- "Interface: %s": 75,
+ "Error Exiting WireGuard": 163,
+ "Error in getting configuration": 44,
+ "Error: %v. Please try again.": 169,
+ "Export all tunnels to &zip…": 138,
+ "Export all tunnels to zip": 136,
+ "Export log to file": 107,
+ "Export tunnels to zip": 161,
+ "Failed to activate tunnel": 72,
+ "Failed to deactivate tunnel": 73,
+ "Failed to determine tunnel state": 71,
+ "File ‘%s’ already exists.\n\nDo you want to overwrite it?": 94,
+ "Import tunnel(s) from file": 159,
+ "Imported %d of %d tunnels": 147,
+ "Imported %d tunnels": 146,
+ "Imported tunnels": 145,
+ "Inactive": 97,
+ "Interface: %s": 74,
"Invalid IP address": 24,
"Invalid MTU": 29,
"Invalid endpoint host": 27,
- "Invalid key for [Interface] section": 40,
- "Invalid key for [Peer] section": 41,
- "Invalid key for interface section": 46,
- "Invalid key for peer section": 48,
+ "Invalid key for [Interface] section": 39,
+ "Invalid key for [Peer] section": 40,
+ "Invalid key for interface section": 45,
+ "Invalid key for peer section": 47,
"Invalid key: %v": 32,
- "Invalid name": 87,
+ "Invalid name": 86,
"Invalid network prefix length": 25,
"Invalid persistent keepalive": 31,
"Invalid port": 30,
- "Key must have a value": 39,
+ "Key must have a value": 38,
"Keys must decode to exactly 32 bytes": 33,
- "Latest handshake:": 68,
+ "Latest handshake:": 67,
"Line must occur in a section": 37,
- "Listen port:": 60,
- "Log": 101,
- "Log message": 106,
- "MTU:": 61,
+ "Listen port:": 59,
+ "Log": 100,
+ "Log message": 105,
+ "MTU:": 60,
"Missing port from endpoint": 26,
"Now": 10,
"Number must be a number between 0 and 2^64-1: %v": 34,
- "Peer": 76,
- "Persistent keepalive:": 67,
- "Preshared key:": 64,
- "Protocol version must be 1": 47,
- "Public key:": 59,
- "Remove selected tunnel(s)": 136,
- "Select &all": 103,
- "Status:": 56,
- "Status: %s": 123,
- "Status: Complete!": 171,
- "Status: Unknown": 116,
- "Status: Waiting for updater service": 169,
- "Status: Waiting for user": 167,
+ "Peer": 75,
+ "Persistent keepalive:": 66,
+ "Preshared key:": 63,
+ "Protocol version must be 1": 46,
+ "Public key:": 58,
+ "Remove selected tunnel(s)": 135,
+ "Select &all": 102,
+ "Status:": 55,
+ "Status: %s": 122,
+ "Status: Complete!": 170,
+ "Status: Unknown": 115,
+ "Status: Waiting for updater service": 168,
+ "Status: Waiting for user": 166,
"System clock wound backward!": 11,
- "Text Files (*.txt)|*.txt|All Files (*.*)|*.*": 107,
- "The %s tunnel has been activated.": 126,
- "The %s tunnel has been deactivated.": 128,
- "Time": 105,
- "Transfer:": 69,
- "Tunnel Error": 110,
- "Tunnel already exists": 91,
+ "Text Files (*.txt)|*.txt|All Files (*.*)|*.*": 106,
+ "The %s tunnel has been activated.": 125,
+ "The %s tunnel has been deactivated.": 127,
+ "Time": 104,
+ "Transfer:": 68,
+ "Tunnel Error": 109,
+ "Tunnel already exists": 90,
"Tunnel name is not valid": 36,
- "Tunnel name ‘%s’ is invalid.": 89,
- "Tunnels": 132,
+ "Tunnel name ‘%s’ is invalid.": 88,
+ "Tunnels": 131,
"Two commas in a row": 35,
- "Unable to create new configuration": 93,
- "Unable to create tunnel": 149,
- "Unable to delete tunnel": 155,
- "Unable to delete tunnels": 157,
+ "Unable to create new configuration": 92,
+ "Unable to create tunnel": 148,
+ "Unable to delete tunnel": 154,
+ "Unable to delete tunnels": 156,
"Unable to determine whether the process is running under WOW64: %v": 4,
- "Unable to exit service due to: %v. You may want to stop WireGuard from the service manager.": 165,
- "Unable to import configuration: %v": 145,
- "Unable to list existing tunnels": 90,
+ "Unable to exit service due to: %v. You may want to stop WireGuard from the service manager.": 164,
+ "Unable to import configuration: %v": 144,
+ "Unable to list existing tunnels": 89,
"Unable to open current process token: %v": 6,
- "Unable to wait for WireGuard window to appear: %v": 114,
- "Unknown state": 100,
- "Update Now": 168,
+ "Unable to wait for WireGuard window to appear: %v": 113,
+ "Unknown state": 99,
+ "Update Now": 167,
"Usage: %s [\n%s]": 2,
- "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.": 83,
- "WireGuard Activated": 125,
- "WireGuard Deactivated": 127,
- "WireGuard Detection Error": 113,
- "WireGuard Tunnel Error": 121,
- "WireGuard Update Available": 130,
+ "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.": 82,
+ "WireGuard Activated": 124,
+ "WireGuard Deactivated": 126,
+ "WireGuard Detection Error": 112,
+ "WireGuard Tunnel Error": 120,
+ "WireGuard Update Available": 129,
"WireGuard is running, but the UI is only accessible from desktops of the Builtin %s group.": 8,
- "WireGuard logo image": 52,
+ "WireGuard logo image": 51,
"WireGuard may only be used by users who are a member of the Builtin %s group.": 7,
"WireGuard system tray icon did not appear after 30 seconds.": 9,
- "WireGuard: %s": 122,
- "WireGuard: Deactivated": 115,
- "Writing file failed": 94,
+ "WireGuard: %s": 121,
+ "WireGuard: Deactivated": 114,
+ "Writing file failed": 93,
"You must use the 64-bit version of WireGuard on this computer.": 5,
- "[EnumerationSeparator]": 49,
- "[UnitSeparator]": 50,
- "[none specified]": 43,
- "enabled": 70,
- "http2: Framer %p: failed to decode just-written frame": 172,
- "http2: Framer %p: read %v": 174,
- "http2: Framer %p: wrote %v": 173,
- "http2: decoded hpack field %+v": 175,
- "♥ &Donate!": 55,
+ "[EnumerationSeparator]": 48,
+ "[UnitSeparator]": 49,
+ "[none specified]": 42,
+ "enabled": 69,
+ "http2: Framer %p: failed to decode just-written frame": 171,
+ "http2: Framer %p: read %v": 173,
+ "http2: Framer %p: wrote %v": 172,
+ "http2: decoded hpack field %+v": 174,
+ "♥ &Donate!": 54,
}
+var deIndex = []uint32{ // 177 elements
+ // Entry 0 - 1F
+ 0x00000000, 0x00000007, 0x00000059, 0x00000074,
+ 0x0000008b, 0x000000e1, 0x0000012d, 0x00000161,
+ 0x000001b8, 0x00000230, 0x00000280, 0x00000286,
+ 0x000002ac, 0x000002cc, 0x000002ea, 0x0000030e,
+ 0x00000332, 0x00000358, 0x00000362, 0x0000036b,
+ 0x00000378, 0x00000385, 0x00000392, 0x0000039f,
+ 0x000003ac, 0x000003c2, 0x000003ea, 0x00000408,
+ 0x00000422, 0x00000456, 0x00000465, 0x00000476,
+ // Entry 20 - 3F
+ 0x00000496, 0x000004b4, 0x000004eb, 0x00000517,
+ 0x00000533, 0x00000550, 0x00000581, 0x0000059f,
+ 0x000005cd, 0x000005f5, 0x0000062f, 0x00000644,
+ 0x00000682, 0x000006a8, 0x000006d5, 0x000006f6,
+ 0x0000071e, 0x00000721, 0x00000724, 0x00000734,
+ 0x00000743, 0x000007ab, 0x000007b6, 0x000007c4,
+ 0x000007cc, 0x000007da, 0x000007e6, 0x00000800,
+ 0x0000080e, 0x00000813, 0x0000081d, 0x00000829,
+ // Entry 40 - 5F
+ 0x0000083f, 0x0000084d, 0x00000857, 0x0000086c,
+ 0x00000886, 0x00000893, 0x0000089d, 0x000008bd,
+ 0x000008e8, 0x0000090d, 0x00000934, 0x00000949,
+ 0x00000954, 0x00000971, 0x00000983, 0x0000098a,
+ 0x000009a5, 0x000009b1, 0x000009e5, 0x00000b13,
+ 0x00000b1e, 0x00000b28, 0x00000b38, 0x00000b49,
+ 0x00000b61, 0x00000b85, 0x00000bb8, 0x00000bd1,
+ 0x00000c09, 0x00000c37, 0x00000c57, 0x00000c9c,
+ // Entry 60 - 7F
+ 0x00000ca2, 0x00000cac, 0x00000cb4, 0x00000cc0,
+ 0x00000cd4, 0x00000cde, 0x00000ce8, 0x00000cf9,
+ 0x00000d10, 0x00000d15, 0x00000d26, 0x00000d57,
+ 0x00000d75, 0x00000d89, 0x00000d97, 0x00000dd8,
+ 0x00000de9, 0x00000e04, 0x00000e4c, 0x00000e63,
+ 0x00000e75, 0x00000e85, 0x00000e9a, 0x00000ebb,
+ 0x00000ec4, 0x00000edc, 0x00000eed, 0x00000efb,
+ 0x00000f0b, 0x00000f1f, 0x00000f41, 0x00000f57,
+ // Entry 80 - 9F
+ 0x00000f7b, 0x00000f9f, 0x00000fc3, 0x00001036,
+ 0x0000103d, 0x00001049, 0x0000106d, 0x00001080,
+ 0x0000109e, 0x000010c8, 0x000010d4, 0x000010f9,
+ 0x0000111d, 0x0000113e, 0x0000117f, 0x000011b1,
+ 0x000011eb, 0x0000121f, 0x00001231, 0x0000126a,
+ 0x000012b6, 0x000012d6, 0x0000130b, 0x0000137b,
+ 0x00001397, 0x000013ce, 0x0000140b, 0x0000142a,
+ 0x0000145a, 0x00001480, 0x000014e1, 0x0000152b,
+ // Entry A0 - BF
+ 0x00001547, 0x00001570, 0x0000158f, 0x000015ba,
+ 0x000015dc, 0x00001648, 0x000016b6, 0x000016d0,
+ 0x000016e4, 0x0000170d, 0x0000173b, 0x0000174b,
+ 0x00001797, 0x000017be, 0x000017e1, 0x00001804,
+ 0x00001804,
+} // Size: 732 bytes
+
+const deData string = "" + // Size: 6148 bytes
+ "\x02Fehler\x02(kein Argument): Als Administrator ausführen und den Manag" +
+ "er-Dienst installieren\x02Verwendung: %[1]s [\x0a%[2]s]\x02Kommandozeile" +
+ "noptionen\x02Es kann nicht festgestellt werden, ob der Prozess unter WOW" +
+ "64 ausgeführt wird: %[1]v\x02Sie müssen die 64-Bit-Version von WireGuard" +
+ " auf diesem Computer verwenden.\x02Konnte aktuellen Prozess-Token nicht " +
+ "öffnen: %[1]v\x02WireGuard kann nur von Benutzern verwendet werden, die" +
+ " Mitglied der Gruppe %[1]s sind.\x02WireGuard wird ausgeführt, aber auf " +
+ "die Benutzeroberfläche kann nur von Desktops der Gruppe %[1]s zugegriffe" +
+ "n werden.\x02Das WireGuard-Taskleistensymbol ist nicht innerhalb von 30 " +
+ "Sekunden erschienen.\x02Jetzt\x02Die Systemuhr wurde zurück gestellt!" +
+ "\x14\x01\x81\x01\x00\x02\x0b\x02%[1]d Jahr\x00\x0c\x02%[1]d Jahre\x14" +
+ "\x01\x81\x01\x00\x02\x0a\x02%[1]d Tag\x00\x0b\x02%[1]d Tage\x14\x01\x81" +
+ "\x01\x00\x02\x0d\x02%[1]d Stunde\x00\x0e\x02%[1]d Stunden\x14\x01\x81" +
+ "\x01\x00\x02\x0d\x02%[1]d Minute\x00\x0e\x02%[1]d Minuten\x14\x01\x81" +
+ "\x01\x00\x02\x0e\x02%[1]d Sekunde\x00\x0f\x02%[1]d Sekunden\x02vor %[1]s" +
+ "\x02%[1]d\u00a0B\x02%.2[1]f\u00a0KiB\x02%.2[1]f\u00a0MiB\x02%.2[1]f" +
+ "\u00a0GiB\x02%.2[1]f\u00a0TiB\x02%[1]s: %[2]q\x02Ungültige IP-Adresse" +
+ "\x02Ungültige Länge des Netzwerkpräfixes\x02Fehlender Port des Endpunkte" +
+ "s\x02Ungültiger Endpunkt-Host\x02Eckige Klammern müssen eine IPv6 Adress" +
+ "e enthalten\x02Ungültige MTU\x02Ungültiger Port\x02Ungültiges Erhaltungs" +
+ "intervall\x02Ungültiger Schlüssel: %[1]v\x02Schlüssel müssen auf exakt 3" +
+ "2 Bytes dekodiert werden\x02Zahl muss zwischen 0 und 2^64-1 sein: %[1]v" +
+ "\x02Zwei Kommata in einer Zeile\x02Der Tunnelname ist ungültig\x02Die Ze" +
+ "ile muss innerhalb eines Abschnitts stehen\x02Eintrag muss einen Wert ha" +
+ "ben\x02Ungültiger Eintrage im [Interface] Abschnitt\x02Ungültiger Eintra" +
+ "g im [Peer] Abschnitt\x02Eine Schnittstelle muss einen privaten Schlssel" +
+ " enthalten\x02[nicht spezifiziert]\x02Alle Teilnehmer (peers) müssen öff" +
+ "entliche Schlüssel haben\x02Fehler beim Abrufen der Konfiguration\x02Ung" +
+ "ültiger Eintrag im Abschnitt [interface]\x02Die Protokollversion muss 1" +
+ " sein\x02Ungültiger Eintrag im Abschnitt [peer]\x02, \x02, \x02Über Wire" +
+ "Guard\x02WireGuard Logo\x02App Version: %[1]s\x0aGo Backend Version: %[2" +
+ "]s\x0aGo Version: %[3]s\x0aBetriebssystem: %[4]s\x0aArchitektur: %[5]s" +
+ "\x02Schließen\x02♥ &Spenden!\x02Status:\x02&Deaktivieren\x02&Aktivieren" +
+ "\x02Öffentlicher Schlüssel:\x02Eingangsport:\x02MTU:\x02Adressen:\x02DNS" +
+ "-Server:\x02Geteilter Schlüssel:\x02Erlaubte IPs:\x02Endpunkt:\x02Erhalt" +
+ "ungsintervall:\x02Letzter Schlüsseltausch:\x02Übertragen:\x02aktiviert" +
+ "\x02%[1]s empfangen, %[1]s gesendet\x02Tunnelstatus konnte nicht ermitte" +
+ "lt werden\x02Tunnel aktivieren ist fehlgeschlagen\x02Tunnel deaktivieren" +
+ " ist fehlgeschlagen\x02Schnittstelle: %[1]s\x02Teilnehmer\x02Einen neuen" +
+ " Tunnel erstellen\x02Tunnel bearbeiten\x02&Name:\x02&Öffentlicher Schlüs" +
+ "sel:\x02(unbekannt)\x02&Blockiere Verkehr außerhalb des Tunnels (Not-Aus" +
+ ")\x02Wenn die Konfiguration genau einen Teilnehmer enthält und dieser ei" +
+ "nen der Einträge 0.0.0.0/0 oder ::/0 in den Erlaubten IPs enthält, so wi" +
+ "rd ein Firewall-Regelsatz erstellt, der allen Verkehr blockiert, der wed" +
+ "er aus dem Tunnel stammt noch in diesen geht, mit Ausnahmen für DHCP- un" +
+ "d NDP-Verkehr.\x02&Speichern\x02Abbrechen\x02&Konfiguration:\x02Ungültig" +
+ "er Name\x02Ein Name ist notwendig.\x02Der Name „%[1]s“ ist ungültig.\x02" +
+ "Vorhandene Tunnel können nicht aufgelistet werden\x02Tunnel existiert be" +
+ "reits\x02Ein Tunnel mit dem Namen „%[1]s“ existiert bereits.\x02Neue Kon" +
+ "figuration kann nicht erstellt werden\x02Schreiben der Datei schlug fehl" +
+ "\x02Die Datei „%[1]s“ existiert bereits.\x0a\x0aMöchten Sie sie ersetzen" +
+ "?\x02Aktiv\x02Aktiviere\x02Inaktiv\x02Deaktiviere\x02Unbekannter Zustand" +
+ "\x02Protokoll\x02&Kopieren\x02&Alles markieren\x02&In Datei Speichern…" +
+ "\x02Zeit\x02Protokolleintrag\x02Textdateien (*.txt)|*.txt|Alle Dateien (" +
+ "*.*)|*.*\x02Exportiere Protokoll in Datei\x02&Über WireGuard…\x02Tunnel " +
+ "Fehler\x02%[1]s\x0a\x0aBitte lesen Sie das Protokoll für weitere Informa" +
+ "tionen.\x02%[1]s (veraltet)\x02WireGuard Erkennungsfehler\x02Warten auf " +
+ "das Erscheinen des WireGuard Fensters nicht möglich: %[1]v \x02WireGuard" +
+ ": Deaktiviert\x02Status: Unbekannt\x02Adressen: Keine\x02Tunnel &verwalt" +
+ "en…\x02Tunnel aus Datei &importieren…\x02&Beenden\x02WireGuard Tunnel Fe" +
+ "hler\x02WireGuard: %[1]s\x02Status: %[1]s\x02Adressen: %[1]s\x02WireGuar" +
+ "d aktiviert\x02Der Tunnel %[1]s wurde aktiviert.\x02WireGuard deaktivier" +
+ "t\x02Der Tunnel %[1]s wurde deaktiviert.\x02Eine Aktualisierung ist verf" +
+ "ügbar!\x02WireGuard Aktualisierung verfügbar\x02Eine Aktualisierung für" +
+ " WireGuard ist jetzt verfügbar. Es wird empfohlen diese schnellstmöglich" +
+ " durchzuführen.\x02Tunnel\x02&Bearbeiten\x02Einen &leeren Tunnel hinzufü" +
+ "gen…\x02Tunnel hinzufügen\x02Markierte(n) Tunnel entfernen\x02Alle Tunne" +
+ "l in eine Zip-Datei exportieren\x02&Umschalten\x02Exportiere alle Tunnel" +
+ " in &Zip-Datei\x02Ausgewählten Tunnel &bearbeiten…\x02Ausgewählte(n) Tun" +
+ "nel &löschen\x02Ausgewählte Konfiguration konnte nicht importiert werden" +
+ ": %[1]v\x02Konnte existierende Tunnel nicht auflisten: %[1]v\x02Es exist" +
+ "iert bereits ein Tunnel mit dem Namen „%[1]s“\x02Importieren der Konfigu" +
+ "ration nicht möglich: %[1]v\x02Tunnel importiert\x14\x01\x81\x01\x00\x02" +
+ "\x18\x02%[1]d Tunnel importiert\x00\x18\x02%[1]d Tunnel importiert\x14" +
+ "\x02\x80\x01\x02\x22\x02%[1]d von %[2]d Tunnel importiert\x00\x22\x02%[1" +
+ "]d von %[2]d Tunnel importiert\x02Tunnel erstellen nicht möglich\x14\x01" +
+ "\x81\x01\x00\x02\x16\x02%[1]d Tunnel löschen\x00\x16\x02%[1]d Tunnel lös" +
+ "chen\x14\x01\x81\x01\x00\x024\x02Möchten Sie diesen %[1]d Tunnel wirklic" +
+ "h löschen?\x003\x02Möchten Sie diese %[1]d Tunnel wirklich löschen?\x02T" +
+ "unnel „%[1]s“ löschen\x02Möchten Sie den Tunnel „%[1]s“ wirklich löschen" +
+ "?\x02%[1]s Dieser Schritt kann nicht rückgängig gemacht werden.\x02Tunne" +
+ "l löschen nicht möglich\x02Ein Tunnel konnte nicht gelöscht werden: %[1]" +
+ "s\x02Tunnel konnten nicht gelöscht werden\x14\x01\x81\x01\x00\x02+\x02%[" +
+ "1]d Tunnel konnte nicht entfernt werden.\x00-\x02%[1]d Tunnel konnten ni" +
+ "cht gelöscht werden.\x02Konfigurationsdateien (*.zip, *.conf)|*.zip;*.co" +
+ "nf|Alle Dateien (*.*)|*.*\x02Importiere Tunnel aus Datei\x02Konfiguratio" +
+ "ns-ZIP-Dateien (*.zip)|*.zip\x02Exportiere Tunnel in Zip-Datei\x02%[1]s " +
+ "(unsigniert, keine Aktualisierungen)\x02Fehler beim Beenden von WireGuar" +
+ "d\x02Der Dienst konnte nicht gestoppt werden: %[1]v. Versuchen Sie WireG" +
+ "uard in der Dienstverwaltung zu beenden.\x02Eine Aktualisierung für Wire" +
+ "Guard ist verfügbar. Es ist höchst empfehlenswert diese sofort durchzufü" +
+ "hren.\x02Status: Auf Nutzer warten\x02Jetzt aktualisieren\x02Status: Auf" +
+ " Aktualisierungsdienst warten\x02Fehler: %[1]v. Bitte versuchen Sie es e" +
+ "rneut.\x02Status: Fertig!\x02http2: Framer %[1]p: Fehler beim dekodieren" +
+ " des gerade geschriebenen Frames\x02http2: Framer %[1]p: %[2]v geschrieb" +
+ "en\x02http2: Framer %[1]p: %[2]v gelesen\x02http2: hpack Feld %+[1]v dek" +
+ "odiert"
+
var enIndex = []uint32{ // 177 elements
// Entry 0 - 1F
0x00000000, 0x00000006, 0x00000039, 0x0000004f,
@@ -232,45 +388,45 @@ var enIndex = []uint32{ // 177 elements
0x0000037d, 0x000003a3, 0x000003af, 0x000003bc,
// Entry 20 - 3F
0x000003d9, 0x000003ec, 0x00000411, 0x00000445,
- 0x00000459, 0x00000472, 0x0000048f, 0x000004b9,
- 0x000004cf, 0x000004f3, 0x00000512, 0x00000537,
- 0x00000548, 0x00000568, 0x00000587, 0x000005a9,
- 0x000005c4, 0x000005e1, 0x000005e4, 0x000005e7,
- 0x000005f7, 0x0000060c, 0x00000677, 0x0000067d,
- 0x0000068a, 0x00000692, 0x0000069e, 0x000006a8,
- 0x000006b4, 0x000006c1, 0x000006c6, 0x000006d1,
+ 0x00000459, 0x00000472, 0x0000048f, 0x000004a5,
+ 0x000004c9, 0x000004e8, 0x0000050d, 0x0000051e,
+ 0x0000053e, 0x0000055d, 0x0000057f, 0x0000059a,
+ 0x000005b7, 0x000005ba, 0x000005bd, 0x000005cd,
+ 0x000005e2, 0x0000064d, 0x00000653, 0x00000660,
+ 0x00000668, 0x00000674, 0x0000067e, 0x0000068a,
+ 0x00000697, 0x0000069c, 0x000006a7, 0x000006b4,
// Entry 40 - 5F
- 0x000006de, 0x000006ed, 0x000006fa, 0x00000704,
- 0x0000071a, 0x0000072c, 0x00000736, 0x0000073e,
- 0x00000759, 0x0000077a, 0x00000794, 0x000007b0,
- 0x000007c1, 0x000007c6, 0x000007d8, 0x000007e4,
- 0x000007eb, 0x000007f8, 0x00000802, 0x0000082a,
- 0x00000948, 0x0000094e, 0x00000955, 0x00000965,
- 0x00000972, 0x00000986, 0x000009aa, 0x000009ca,
- 0x000009e0, 0x00000a19, 0x00000a3c, 0x00000a50,
+ 0x000006c3, 0x000006d0, 0x000006da, 0x000006f0,
+ 0x00000702, 0x0000070c, 0x00000714, 0x0000072f,
+ 0x00000750, 0x0000076a, 0x00000786, 0x00000797,
+ 0x0000079c, 0x000007ae, 0x000007ba, 0x000007c1,
+ 0x000007ce, 0x000007d8, 0x00000800, 0x0000091e,
+ 0x00000924, 0x0000092b, 0x0000093b, 0x00000948,
+ 0x0000095c, 0x00000980, 0x000009a0, 0x000009b6,
+ 0x000009ef, 0x00000a12, 0x00000a26, 0x00000a65,
// Entry 60 - 7F
- 0x00000a8f, 0x00000a96, 0x00000aa1, 0x00000aaa,
- 0x00000ab7, 0x00000ac5, 0x00000ac9, 0x00000acf,
- 0x00000adb, 0x00000aec, 0x00000af1, 0x00000afd,
- 0x00000b2a, 0x00000b3d, 0x00000b51, 0x00000b5e,
- 0x00000b92, 0x00000ba6, 0x00000bc0, 0x00000bf5,
- 0x00000c0c, 0x00000c1c, 0x00000c2c, 0x00000c3f,
- 0x00000c5e, 0x00000c64, 0x00000c7b, 0x00000c8c,
- 0x00000c9a, 0x00000cab, 0x00000cbf, 0x00000ce4,
+ 0x00000a6c, 0x00000a77, 0x00000a80, 0x00000a8d,
+ 0x00000a9b, 0x00000a9f, 0x00000aa5, 0x00000ab1,
+ 0x00000ac2, 0x00000ac7, 0x00000ad3, 0x00000b00,
+ 0x00000b13, 0x00000b27, 0x00000b34, 0x00000b68,
+ 0x00000b7c, 0x00000b96, 0x00000bcb, 0x00000be2,
+ 0x00000bf2, 0x00000c02, 0x00000c15, 0x00000c34,
+ 0x00000c3a, 0x00000c51, 0x00000c62, 0x00000c70,
+ 0x00000c81, 0x00000c95, 0x00000cba, 0x00000cd0,
// Entry 80 - 9F
- 0x00000cfa, 0x00000d21, 0x00000d39, 0x00000d54,
- 0x00000dac, 0x00000db4, 0x00000dba, 0x00000dcf,
- 0x00000dda, 0x00000df4, 0x00000e0e, 0x00000e16,
- 0x00000e34, 0x00000e4d, 0x00000e68, 0x00000e97,
- 0x00000ec3, 0x00000efb, 0x00000f21, 0x00000f32,
- 0x00000f68, 0x00000faf, 0x00000fc7, 0x00000ff9,
- 0x0000106b, 0x00001085, 0x000010bf, 0x000010e2,
- 0x000010fa, 0x00001123, 0x0000113c, 0x00001195,
+ 0x00000cf7, 0x00000d0f, 0x00000d2a, 0x00000d82,
+ 0x00000d8a, 0x00000d90, 0x00000da5, 0x00000db0,
+ 0x00000dca, 0x00000de4, 0x00000dec, 0x00000e0a,
+ 0x00000e23, 0x00000e3e, 0x00000e6d, 0x00000e99,
+ 0x00000ed1, 0x00000ef7, 0x00000f08, 0x00000f3e,
+ 0x00000f85, 0x00000f9d, 0x00000fcf, 0x00001041,
+ 0x0000105b, 0x00001095, 0x000010b8, 0x000010d0,
+ 0x000010f9, 0x00001112, 0x0000116b, 0x000011b0,
// Entry A0 - BF
- 0x000011da, 0x000011f5, 0x0000121b, 0x00001231,
- 0x00001254, 0x0000126c, 0x000012cb, 0x00001320,
- 0x00001339, 0x00001344, 0x00001368, 0x00001388,
- 0x0000139a, 0x000013d3, 0x000013f4, 0x00001414,
+ 0x000011cb, 0x000011f1, 0x00001207, 0x0000122a,
+ 0x00001242, 0x000012a1, 0x000012f6, 0x0000130f,
+ 0x0000131a, 0x0000133e, 0x0000135e, 0x00001370,
+ 0x000013a9, 0x000013ca, 0x000013ea, 0x0000140c,
0x00001436,
} // Size: 732 bytes
@@ -295,70 +451,70 @@ const enData string = "" + // Size: 5174 bytes
"nvalid port\x02Invalid persistent keepalive\x02Invalid key: %[1]v\x02Key" +
"s must decode to exactly 32 bytes\x02Number must be a number between 0 a" +
"nd 2^64-1: %[1]v\x02Two commas in a row\x02Tunnel name is not valid\x02L" +
- "ine must occur in a section\x02Config key is missing an equals separator" +
- "\x02Key must have a value\x02Invalid key for [Interface] section\x02Inva" +
- "lid key for [Peer] section\x02An interface must have a private key\x02[n" +
- "one specified]\x02All peers must have public keys\x02Error in getting co" +
- "nfiguration\x02Invalid key for interface section\x02Protocol version mus" +
- "t be 1\x02Invalid key for peer section\x02, \x02, \x02About WireGuard" +
- "\x02WireGuard logo image\x02App version: %[1]s\x0aGo backend version: %[" +
- "2]s\x0aGo version: %[3]s\x0aOperating system: %[4]s\x0aArchitecture: %[5" +
- "]s\x02Close\x02♥ &Donate!\x02Status:\x02&Deactivate\x02&Activate\x02Publ" +
- "ic key:\x02Listen port:\x02MTU:\x02Addresses:\x02DNS servers:\x02Preshar" +
- "ed key:\x02Allowed IPs:\x02Endpoint:\x02Persistent keepalive:\x02Latest " +
- "handshake:\x02Transfer:\x02enabled\x02%[1]s received, %[2]s sent\x02Fail" +
- "ed to determine tunnel state\x02Failed to activate tunnel\x02Failed to d" +
- "eactivate tunnel\x02Interface: %[1]s\x02Peer\x02Create new tunnel\x02Edi" +
- "t tunnel\x02&Name:\x02&Public key:\x02(unknown)\x02&Block untunneled tra" +
- "ffic (kill-switch)\x02When a configuration has exactly one peer, and tha" +
- "t 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 exception" +
- "s for DHCP and NDP.\x02&Save\x02Cancel\x02&Configuration:\x02Invalid nam" +
- "e\x02A name is required.\x02Tunnel name ‘%[1]s’ is invalid.\x02Unable to" +
- " list existing tunnels\x02Tunnel already exists\x02Another tunnel alread" +
- "y exists with the name ‘%[1]s’.\x02Unable to create new configuration" +
- "\x02Writing file failed\x02File ‘%[1]s’ already exists.\x0a\x0aDo you wa" +
- "nt to overwrite it?\x02Active\x02Activating\x02Inactive\x02Deactivating" +
- "\x02Unknown state\x02Log\x02&Copy\x02Select &all\x02&Save to file…\x02Ti" +
- "me\x02Log message\x02Text Files (*.txt)|*.txt|All Files (*.*)|*.*\x02Exp" +
- "ort log to file\x02&About WireGuard…\x02Tunnel Error\x02%[1]s\x0a\x0aPle" +
- "ase consult the log for more information.\x02%[1]s (out of date)\x02Wire" +
- "Guard Detection Error\x02Unable to wait for WireGuard window to appear: " +
- "%[1]v\x02WireGuard: Deactivated\x02Status: Unknown\x02Addresses: None" +
- "\x02&Manage tunnels…\x02&Import tunnel(s) from file…\x02E&xit\x02WireGua" +
- "rd Tunnel Error\x02WireGuard: %[1]s\x02Status: %[1]s\x02Addresses: %[1]s" +
- "\x02WireGuard Activated\x02The %[1]s tunnel has been activated.\x02WireG" +
- "uard Deactivated\x02The %[1]s tunnel has been deactivated.\x02An Update " +
- "is Available!\x02WireGuard Update Available\x02An update to WireGuard is" +
- " now available. You are advised to update as soon as possible.\x02Tunnel" +
- "s\x02&Edit\x02Add &empty tunnel…\x02Add Tunnel\x02Remove selected tunnel" +
- "(s)\x02Export all tunnels to zip\x02&Toggle\x02Export all tunnels to &zi" +
- "p…\x02Edit &selected tunnel…\x02&Remove selected tunnel(s)\x02Could not " +
- "import selected configuration: %[1]v\x02Could not enumerate existing tun" +
- "nels: %[1]v\x02Another tunnel already exists with the name ‘%[1]s’\x02Un" +
- "able to import configuration: %[1]v\x02Imported tunnels\x14\x01\x81\x01" +
- "\x00\x02\x16\x02Imported %[1]d tunnel\x00\x17\x02Imported %[1]d tunnels" +
- "\x14\x02\x80\x01\x02\x1f\x02Imported %[1]d of %[2]d tunnel\x00 \x02Impor" +
- "ted %[1]d of %[2]d tunnels\x02Unable to create tunnel\x14\x01\x81\x01" +
- "\x00\x02\x14\x02Delete %[1]d tunnel\x00\x15\x02Delete %[1]d tunnels\x14" +
- "\x01\x81\x01\x00\x024\x02Are you sure you would like to delete %[1]d tun" +
- "nel?\x005\x02Are you sure you would like to delete %[1]d tunnels?\x02Del" +
- "ete tunnel ‘%[1]s’\x02Are you sure you would like to delete tunnel ‘%[1]" +
- "s’?\x02%[1]s You cannot undo this action.\x02Unable to delete tunnel\x02" +
- "A tunnel was unable to be removed: %[1]s\x02Unable to delete tunnels\x14" +
- "\x01\x81\x01\x00\x02'\x02%[1]d tunnel was unable to be removed.\x00)\x02" +
- "%[1]d tunnels were unable to be removed.\x02Configuration Files (*.zip, " +
- "*.conf)|*.zip;*.conf|All Files (*.*)|*.*\x02Import tunnel(s) from file" +
- "\x02Configuration ZIP Files (*.zip)|*.zip\x02Export tunnels to zip\x02%[" +
- "1]s (unsigned build, no updates)\x02Error Exiting WireGuard\x02Unable to" +
- " exit service due to: %[1]v. You may want to stop WireGuard from the ser" +
- "vice manager.\x02An update to WireGuard is available. It is highly advis" +
- "able to update without delay.\x02Status: Waiting for user\x02Update Now" +
- "\x02Status: Waiting for updater service\x02Error: %[1]v. Please try agai" +
- "n.\x02Status: Complete!\x02http2: Framer %[1]p: failed to decode just-wr" +
- "itten frame\x02http2: Framer %[1]p: wrote %[2]v\x02http2: Framer %[1]p: " +
- "read %[2]v\x02http2: decoded hpack field %+[1]v"
+ "ine must occur in a section\x02Key must have a value\x02Invalid key for " +
+ "[Interface] section\x02Invalid key for [Peer] section\x02An interface mu" +
+ "st have a private key\x02[none specified]\x02All peers must have public " +
+ "keys\x02Error in getting configuration\x02Invalid key for interface sect" +
+ "ion\x02Protocol version must be 1\x02Invalid key for peer section\x02, " +
+ "\x02, \x02About WireGuard\x02WireGuard logo image\x02App version: %[1]s" +
+ "\x0aGo backend version: %[2]s\x0aGo version: %[3]s\x0aOperating system: " +
+ "%[4]s\x0aArchitecture: %[5]s\x02Close\x02♥ &Donate!\x02Status:\x02&Deact" +
+ "ivate\x02&Activate\x02Public key:\x02Listen port:\x02MTU:\x02Addresses:" +
+ "\x02DNS servers:\x02Preshared key:\x02Allowed IPs:\x02Endpoint:\x02Persi" +
+ "stent keepalive:\x02Latest handshake:\x02Transfer:\x02enabled\x02%[1]s r" +
+ "eceived, %[2]s sent\x02Failed to determine tunnel state\x02Failed to act" +
+ "ivate tunnel\x02Failed to deactivate tunnel\x02Interface: %[1]s\x02Peer" +
+ "\x02Create new tunnel\x02Edit tunnel\x02&Name:\x02&Public key:\x02(unkno" +
+ "wn)\x02&Block untunneled traffic (kill-switch)\x02When a configuration h" +
+ "as exactly one peer, and that peer has an allowed IPs containing at leas" +
+ "t one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall r" +
+ "uleset to block all traffic that is neither to nor from the tunnel inter" +
+ "face, with special exceptions for DHCP and NDP.\x02&Save\x02Cancel\x02&C" +
+ "onfiguration:\x02Invalid name\x02A name is required.\x02Tunnel name ‘%[1" +
+ "]s’ is invalid.\x02Unable to list existing tunnels\x02Tunnel already exi" +
+ "sts\x02Another tunnel already exists with the name ‘%[1]s’.\x02Unable to" +
+ " create new configuration\x02Writing file failed\x02File ‘%[1]s’ already" +
+ " exists.\x0a\x0aDo you want to overwrite it?\x02Active\x02Activating\x02" +
+ "Inactive\x02Deactivating\x02Unknown state\x02Log\x02&Copy\x02Select &all" +
+ "\x02&Save to file…\x02Time\x02Log message\x02Text Files (*.txt)|*.txt|Al" +
+ "l Files (*.*)|*.*\x02Export log to file\x02&About WireGuard…\x02Tunnel E" +
+ "rror\x02%[1]s\x0a\x0aPlease consult the log for more information.\x02%[1" +
+ "]s (out of date)\x02WireGuard Detection Error\x02Unable to wait for Wire" +
+ "Guard window to appear: %[1]v\x02WireGuard: Deactivated\x02Status: Unkno" +
+ "wn\x02Addresses: None\x02&Manage tunnels…\x02&Import tunnel(s) from file" +
+ "…\x02E&xit\x02WireGuard Tunnel Error\x02WireGuard: %[1]s\x02Status: %[" +
+ "1]s\x02Addresses: %[1]s\x02WireGuard Activated\x02The %[1]s tunnel has b" +
+ "een activated.\x02WireGuard Deactivated\x02The %[1]s tunnel has been dea" +
+ "ctivated.\x02An Update is Available!\x02WireGuard Update Available\x02An" +
+ " update to WireGuard is now available. You are advised to update as soon" +
+ " as possible.\x02Tunnels\x02&Edit\x02Add &empty tunnel…\x02Add Tunnel" +
+ "\x02Remove selected tunnel(s)\x02Export all tunnels to zip\x02&Toggle" +
+ "\x02Export all tunnels to &zip…\x02Edit &selected tunnel…\x02&Remove sel" +
+ "ected tunnel(s)\x02Could not import selected configuration: %[1]v\x02Cou" +
+ "ld not enumerate existing tunnels: %[1]v\x02Another tunnel already exist" +
+ "s with the name ‘%[1]s’\x02Unable to import configuration: %[1]v\x02Impo" +
+ "rted tunnels\x14\x01\x81\x01\x00\x02\x16\x02Imported %[1]d tunnel\x00" +
+ "\x17\x02Imported %[1]d tunnels\x14\x02\x80\x01\x02\x1f\x02Imported %[1]d" +
+ " of %[2]d tunnel\x00 \x02Imported %[1]d of %[2]d tunnels\x02Unable to cr" +
+ "eate tunnel\x14\x01\x81\x01\x00\x02\x14\x02Delete %[1]d tunnel\x00\x15" +
+ "\x02Delete %[1]d tunnels\x14\x01\x81\x01\x00\x024\x02Are you sure you wo" +
+ "uld like to delete %[1]d tunnel?\x005\x02Are you sure you would like to " +
+ "delete %[1]d tunnels?\x02Delete tunnel ‘%[1]s’\x02Are you sure you would" +
+ " like to delete tunnel ‘%[1]s’?\x02%[1]s You cannot undo this action." +
+ "\x02Unable to delete tunnel\x02A tunnel was unable to be removed: %[1]s" +
+ "\x02Unable to delete tunnels\x14\x01\x81\x01\x00\x02'\x02%[1]d tunnel wa" +
+ "s unable to be removed.\x00)\x02%[1]d tunnels were unable to be removed." +
+ "\x02Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*" +
+ "\x02Import tunnel(s) from file\x02Configuration ZIP Files (*.zip)|*.zip" +
+ "\x02Export tunnels to zip\x02%[1]s (unsigned build, no updates)\x02Error" +
+ " Exiting WireGuard\x02Unable to exit service due to: %[1]v. You may want" +
+ " to stop WireGuard from the service manager.\x02An update to WireGuard i" +
+ "s available. It is highly advisable to update without delay.\x02Status: " +
+ "Waiting for user\x02Update Now\x02Status: Waiting for updater service" +
+ "\x02Error: %[1]v. Please try again.\x02Status: Complete!\x02http2: Frame" +
+ "r %[1]p: failed to decode just-written frame\x02http2: Framer %[1]p: wro" +
+ "te %[2]v\x02http2: Framer %[1]p: read %[2]v\x02http2: decoded hpack fiel" +
+ "d %+[1]v\x02Config key is missing an equals separator"
var frIndex = []uint32{ // 177 elements
// Entry 0 - 1F
@@ -372,45 +528,45 @@ var frIndex = []uint32{ // 177 elements
0x00000433, 0x00000465, 0x00000474, 0x00000484,
// Entry 20 - 3F
0x000004bb, 0x000004d3, 0x00000500, 0x0000053b,
- 0x00000557, 0x00000570, 0x0000059c, 0x0000059c,
- 0x000005b7, 0x000005e3, 0x0000060a, 0x00000632,
- 0x0000064a, 0x00000682, 0x000006a9, 0x000006d5,
- 0x000006f7, 0x00000723, 0x00000726, 0x00000728,
- 0x0000073f, 0x0000075a, 0x000007e0, 0x000007e7,
- 0x000007fb, 0x00000803, 0x00000810, 0x00000819,
- 0x00000829, 0x0000083a, 0x00000840, 0x0000084b,
+ 0x00000557, 0x00000570, 0x0000059c, 0x000005b7,
+ 0x000005e3, 0x0000060a, 0x00000632, 0x0000064a,
+ 0x00000682, 0x000006a9, 0x000006d5, 0x000006f7,
+ 0x00000723, 0x00000726, 0x00000728, 0x0000073f,
+ 0x0000075a, 0x000007e0, 0x000007e7, 0x000007fb,
+ 0x00000803, 0x00000810, 0x00000819, 0x00000829,
+ 0x0000083a, 0x00000840, 0x0000084b, 0x0000085a,
// Entry 40 - 5F
- 0x0000085a, 0x00000870, 0x0000088a, 0x000008a1,
- 0x000008cf, 0x000008f6, 0x00000902, 0x0000090d,
- 0x0000092e, 0x0000095a, 0x00000979, 0x0000099d,
- 0x000009af, 0x000009b9, 0x000009d2, 0x000009e5,
- 0x000009ec, 0x000009fd, 0x00000a0a, 0x00000a3d,
- 0x00000b98, 0x00000ba5, 0x00000bad, 0x00000bbe,
- 0x00000bcd, 0x00000be5, 0x00000c0f, 0x00000c44,
- 0x00000c5a, 0x00000c8e, 0x00000cbe, 0x00000cdc,
+ 0x00000870, 0x0000088a, 0x000008a1, 0x000008cf,
+ 0x000008f6, 0x00000902, 0x0000090d, 0x0000092e,
+ 0x0000095a, 0x00000979, 0x0000099d, 0x000009af,
+ 0x000009b9, 0x000009d2, 0x000009e5, 0x000009ec,
+ 0x000009fd, 0x00000a0a, 0x00000a3d, 0x00000b98,
+ 0x00000ba5, 0x00000bad, 0x00000bbe, 0x00000bcd,
+ 0x00000be5, 0x00000c0f, 0x00000c44, 0x00000c5a,
+ 0x00000c8e, 0x00000cbe, 0x00000cdc, 0x00000d1b,
// Entry 60 - 7F
- 0x00000d1b, 0x00000d26, 0x00000d3a, 0x00000d47,
- 0x00000d5f, 0x00000d6d, 0x00000d75, 0x00000d7d,
- 0x00000d91, 0x00000db1, 0x00000db7, 0x00000dca,
- 0x00000e03, 0x00000e27, 0x00000e3f, 0x00000e50,
- 0x00000e9a, 0x00000eac, 0x00000ece, 0x00000f10,
- 0x00000f27, 0x00000f37, 0x00000f49, 0x00000f61,
- 0x00000f93, 0x00000f9c, 0x00000fb7, 0x00000fc9,
- 0x00000fd7, 0x00000fe8, 0x00000ffa, 0x00001018,
+ 0x00000d26, 0x00000d3a, 0x00000d47, 0x00000d5f,
+ 0x00000d6d, 0x00000d75, 0x00000d7d, 0x00000d91,
+ 0x00000db1, 0x00000db7, 0x00000dca, 0x00000e03,
+ 0x00000e27, 0x00000e3f, 0x00000e50, 0x00000e9a,
+ 0x00000eac, 0x00000ece, 0x00000f10, 0x00000f27,
+ 0x00000f37, 0x00000f49, 0x00000f61, 0x00000f93,
+ 0x00000f9c, 0x00000fb7, 0x00000fc9, 0x00000fd7,
+ 0x00000fe8, 0x00000ffa, 0x00001018, 0x0000102e,
// Entry 80 - 9F
- 0x0000102e, 0x00001050, 0x00001069, 0x0000108f,
- 0x00001104, 0x0000110c, 0x00001116, 0x00001131,
- 0x00001143, 0x0000116e, 0x00001191, 0x0000119b,
- 0x000011c2, 0x000011e7, 0x00001213, 0x00001251,
- 0x00001288, 0x000012b4, 0x000012e3, 0x000012f5,
- 0x0000132c, 0x00001375, 0x00001394, 0x000013cc,
- 0x00001430, 0x00001450, 0x00001486, 0x000014b5,
- 0x000014d7, 0x0000150c, 0x00001530, 0x0000159c,
+ 0x00001050, 0x00001069, 0x0000108f, 0x00001104,
+ 0x0000110c, 0x00001116, 0x00001131, 0x00001143,
+ 0x0000116e, 0x00001191, 0x0000119b, 0x000011c2,
+ 0x000011e7, 0x00001213, 0x00001251, 0x00001288,
+ 0x000012b4, 0x000012e3, 0x000012f5, 0x0000132c,
+ 0x00001375, 0x00001394, 0x000013cc, 0x00001430,
+ 0x00001450, 0x00001486, 0x000014b5, 0x000014d7,
+ 0x0000150c, 0x00001530, 0x0000159c, 0x000015ef,
// Entry A0 - BF
- 0x000015ef, 0x0000161d, 0x00001649, 0x00001667,
- 0x00001698, 0x000016b6, 0x00001731, 0x000017aa,
- 0x000017cf, 0x000017e9, 0x00001818, 0x0000183d,
- 0x0000184e, 0x00001893, 0x000018b8, 0x000018da,
+ 0x0000161d, 0x00001649, 0x00001667, 0x00001698,
+ 0x000016b6, 0x00001731, 0x000017aa, 0x000017cf,
+ 0x000017e9, 0x00001818, 0x0000183d, 0x0000184e,
+ 0x00001893, 0x000018b8, 0x000018da, 0x000018fe,
0x000018fe,
} // Size: 732 bytes
@@ -521,55 +677,55 @@ var itIndex = []uint32{ // 177 elements
0x00000075, 0x000000bd, 0x00000103, 0x0000013c,
0x00000193, 0x00000204, 0x00000258, 0x0000025c,
0x00000283, 0x000002a2, 0x000002c5, 0x000002e2,
- 0x00000305, 0x0000032a, 0x00000333, 0x00000333,
- 0x00000333, 0x00000333, 0x00000333, 0x00000333,
- 0x00000340, 0x00000358, 0x00000382, 0x0000039f,
- 0x000003bd, 0x000003ed, 0x000003fc, 0x0000040d,
+ 0x00000305, 0x0000032a, 0x00000333, 0x0000033c,
+ 0x00000349, 0x00000356, 0x00000363, 0x00000370,
+ 0x0000037d, 0x00000395, 0x000003bf, 0x000003dc,
+ 0x000003fa, 0x0000042a, 0x00000439, 0x0000044a,
// Entry 20 - 3F
- 0x0000042d, 0x00000446, 0x00000478, 0x000004b7,
- 0x000004cf, 0x000004f0, 0x0000051d, 0x0000051d,
- 0x0000053c, 0x00000569, 0x00000591, 0x000005be,
- 0x000005d0, 0x000005fe, 0x0000062e, 0x00000660,
- 0x00000689, 0x000006af, 0x000006b2, 0x000006b4,
- 0x000006ce, 0x000006ed, 0x00000765, 0x0000076c,
- 0x00000784, 0x0000078a, 0x00000795, 0x0000079d,
- 0x000007ad, 0x000007be, 0x000007c2, 0x000007cc,
+ 0x0000046a, 0x00000483, 0x000004b5, 0x000004f4,
+ 0x0000050c, 0x0000052d, 0x0000055a, 0x00000579,
+ 0x000005a6, 0x000005ce, 0x000005fb, 0x0000060d,
+ 0x0000063b, 0x0000066b, 0x0000069d, 0x000006c6,
+ 0x000006ec, 0x000006ef, 0x000006f1, 0x0000070b,
+ 0x0000072a, 0x000007a2, 0x000007a9, 0x000007c1,
+ 0x000007c8, 0x000007d3, 0x000007db, 0x000007ec,
+ 0x000007fe, 0x00000803, 0x0000080e, 0x0000081a,
// Entry 40 - 5F
- 0x000007d7, 0x000007ec, 0x000007fa, 0x00000803,
- 0x00000818, 0x0000082c, 0x0000083a, 0x00000844,
- 0x00000862, 0x00000895, 0x000008b9, 0x000008e0,
- 0x000008f3, 0x000008f8, 0x00000904, 0x00000914,
- 0x0000091b, 0x0000092c, 0x0000093a, 0x0000096a,
- 0x00000a93, 0x00000a9a, 0x00000aa2, 0x00000ab2,
- 0x00000ac2, 0x00000ad8, 0x00000b05, 0x00000b2d,
- 0x00000b43, 0x00000b78, 0x00000ba3, 0x00000bc3,
+ 0x00000830, 0x0000083f, 0x00000849, 0x0000085f,
+ 0x00000874, 0x00000883, 0x0000088d, 0x000008ab,
+ 0x000008de, 0x00000902, 0x00000929, 0x0000093c,
+ 0x00000941, 0x0000094d, 0x0000095d, 0x00000964,
+ 0x00000976, 0x00000984, 0x000009b4, 0x00000add,
+ 0x00000ae4, 0x00000aec, 0x00000afd, 0x00000b0d,
+ 0x00000b23, 0x00000b51, 0x00000b79, 0x00000b8f,
+ 0x00000bc4, 0x00000bef, 0x00000c0f, 0x00000c46,
// Entry 60 - 7F
- 0x00000bfa, 0x00000c01, 0x00000c0d, 0x00000c16,
- 0x00000c25, 0x00000c37, 0x00000c3b, 0x00000c42,
- 0x00000c53, 0x00000c65, 0x00000c6b, 0x00000c7c,
- 0x00000cb0, 0x00000cc4, 0x00000cdf, 0x00000cf1,
- 0x00000d24, 0x00000d35, 0x00000d58, 0x00000d96,
- 0x00000dad, 0x00000dc0, 0x00000dd3, 0x00000de9,
- 0x00000e04, 0x00000e0a, 0x00000e25, 0x00000e36,
- 0x00000e43, 0x00000e54, 0x00000e67, 0x00000e8a,
+ 0x00000c4d, 0x00000c59, 0x00000c62, 0x00000c71,
+ 0x00000c83, 0x00000c87, 0x00000c8e, 0x00000c9f,
+ 0x00000cb1, 0x00000cb7, 0x00000cc8, 0x00000cfb,
+ 0x00000d0f, 0x00000d2d, 0x00000d3f, 0x00000d72,
+ 0x00000d83, 0x00000da6, 0x00000deb, 0x00000e02,
+ 0x00000e15, 0x00000e28, 0x00000e3e, 0x00000e59,
+ 0x00000e5f, 0x00000e7a, 0x00000e8b, 0x00000e98,
+ 0x00000ea9, 0x00000ebc, 0x00000edf, 0x00000ef5,
// Entry 80 - 9F
- 0x00000ea0, 0x00000ec6, 0x00000ee7, 0x00000f0e,
- 0x00000f6d, 0x00000f74, 0x00000f7e, 0x00000f95,
- 0x00000fa5, 0x00000fc0, 0x00000fde, 0x00000fe7,
- 0x00001006, 0x00001029, 0x00001047, 0x00001082,
- 0x000010b2, 0x000010e6, 0x00001115, 0x00001126,
- 0x0000115d, 0x000011a5, 0x000011c2, 0x000011f6,
- 0x00001257, 0x00001272, 0x000012a7, 0x000012d7,
- 0x000012f7, 0x00001329, 0x00001348, 0x000013af,
+ 0x00000f1b, 0x00000f3c, 0x00000f63, 0x00000fc2,
+ 0x00000fc9, 0x00000fd3, 0x00000fea, 0x00000ffa,
+ 0x00001015, 0x00001033, 0x0000103c, 0x0000105b,
+ 0x0000107e, 0x0000109c, 0x000010d7, 0x00001107,
+ 0x0000113b, 0x0000116a, 0x0000117b, 0x000011b2,
+ 0x000011fa, 0x00001217, 0x0000124a, 0x000012ab,
+ 0x000012c6, 0x000012fb, 0x0000132b, 0x0000134b,
+ 0x0000137d, 0x0000139c, 0x00001403, 0x0000144e,
// Entry A0 - BF
- 0x000013fa, 0x00001411, 0x0000143a, 0x00001450,
- 0x00001483, 0x000014ab, 0x0000151d, 0x00001581,
- 0x0000159e, 0x000015ab, 0x000015da, 0x000015f7,
- 0x00001608, 0x0000164e, 0x00001674, 0x00001698,
- 0x000016bf,
+ 0x00001465, 0x0000148e, 0x000014a4, 0x000014d7,
+ 0x000014ff, 0x00001571, 0x000015d6, 0x000015f3,
+ 0x00001600, 0x0000162f, 0x0000164c, 0x0000165d,
+ 0x000016a3, 0x000016c9, 0x000016ed, 0x00001714,
+ 0x00001714,
} // Size: 732 bytes
-const itData string = "" + // Size: 5823 bytes
+const itData string = "" + // Size: 5908 bytes
"\x02Errore\x02(nessun argomento): eleva e installa il servizio di gestio" +
"ne\x02Utilizzo: %[1]s [\x0a%[2]s]\x02Opzioni riga di comando\x02Impossib" +
"ile determinare se il processo è in esecuzione in WOW64: %[1]v\x02Devi u" +
@@ -584,192 +740,349 @@ const itData string = "" + // Size: 5823 bytes
"\x0d\x02%[1]d giorni\x14\x01\x81\x01\x00\x02\x0a\x02%[1]d ora\x00\x0a" +
"\x02%[1]d ore\x14\x01\x81\x01\x00\x02\x0d\x02%[1]d minuto\x00\x0d\x02%[1" +
"]d minuti\x14\x01\x81\x01\x00\x02\x0e\x02%[1]d secondo\x00\x0e\x02%[1]d " +
- "secondi\x02%[1]s fa\x02%[1]s: %[2]q\x02Indirizzo IP non valido\x02Lunghe" +
- "zza del prefisso di rete non valida\x02Manca la porta dall'endpoint\x02H" +
- "ost dell'endpoint non valido\x02Le parentesi devono contenere un indiriz" +
- "zo IPv6\x02MTU non valido\x02Porta non valida\x02Keepalive permanente no" +
- "n valido\x02Chiave non valida: %[1]v\x02Le chiavi devono decodificare es" +
- "attamente 32 byte\x02Il numero deve essere un numero compreso tra 0 e 2^" +
- "64-1: %[1]v\x02Due virgole in una riga\x02Il nome del tunnel non è valid" +
- "o\x02Una riga deve essere presente in una sezione\x02La chiave deve aver" +
- "e un valore\x02Chiave non valida per la sezione [Interface]\x02Chiave no" +
- "n valida per la sezione [Peer]\x02Un'interfaccia deve avere una chiave p" +
- "rivata\x02[non specificato]\x02Tutti i peer devono avere una chiave pubb" +
- "lica\x02Errore durante il recupero della configurazione\x02Chiave non va" +
- "lida per la sezione dell'interfaccia\x02La versione del protocollo deve " +
- "essere 1\x02Chiave non valida per la sezione peer\x02, \x02 \x02Informaz" +
- "ioni su WireGuard\x02Immagine del logo di WireGuard\x02Versione applicaz" +
- "ione: %[1]s\x0aVersione backend Go: %[2]s\x0aVersione Go: %[3]s\x0aSiste" +
- "ma operativo: %[4]s\x0aArchitettura: %[5]s\x02Chiudi\x02♥ Fai una &donaz" +
- "ione!\x02Stato\x02&Disattiva\x02&Attiva\x02Chiave pubblica\x02Porta in a" +
- "scolto\x02MTU\x02Indirizzi\x02Server DNS\x02Chiave pre-condivisa\x02IP c" +
- "onsentiti\x02Endpoint\x02Keepalive permanente\x02Ultima negoziazione\x02" +
- "Trasferimento\x02abilitato\x02%[1]s ricevuti, %[2]s inviati\x02Determina" +
- "zione dello stato del tunnel non riuscita\x02Attivazione del tunnel non " +
- "riuscita\x02Disattivazione del tunnel non riuscita\x02Interfaccia: %[1]s" +
- "\x02Peer\x02Crea tunnel\x02Modifica tunnel\x02&Nome:\x02Chiave &pubblica" +
- "\x02(sconosciuto)\x02&Blocca traffico fuori dal tunnel (kill-switch)\x02" +
- "Quando una configurazione ha esattamente un peer e quel peer ha un IP co" +
- "nsentito contenente almeno uno di 0.0.0.0/0 o ::/0, il servizio tunnel i" +
- "mpegna un insieme di regole del firewall per bloccare tutto il traffico " +
- "che non proviene dall'interfaccia tunnel, con speciali eccezioni per DHC" +
- "P e NDP.\x02&Salva\x02Annulla\x02&Configurazione\x02Nome non valido\x02U" +
- "n nome è richiesto.\x02Il nome del tunnel ‘%[1]s’ non è valido\x02Imposs" +
- "ibile elencare i tunnel esistenti\x02Il tunnel esiste già\x02Un altro tu" +
- "nnel con il nome ‘%[1]s’ esiste già.\x02Impossibile creare la nuova conf" +
- "igurazione\x02Scrittura del file non riuscita\x02Il file ‘%[1]s’ esiste " +
- "già.\x0a\x0aVuoi sovrascriverlo?\x02Attivo\x02Attivazione\x02Inattivo" +
- "\x02Disattivazione\x02Stato sconosciuto\x02Log\x02&Copia\x02Selezion&a t" +
- "utto\x02&Salva su file…\x02Tempo\x02Messaggio di log\x02File di testo (" +
- "*.txt)|*.txt|Tutti i file (*.*)|*.*\x02Esporta log su file\x02Inform&azi" +
- "oni su WireGuard\x02Errore del tunnel\x02%[1]s\x0a\x0aConsulta il log pe" +
- "r ulteriori Informazioni.\x02%[1]s (obsoleto)\x02Errore di rilevamento d" +
- "i WireGuard\x02Impossibile attendere la comparsa della finestra di WireG" +
- "uard\x02WireGuard: disattivato\x02Stato: sconosciuto\x02Indirizzi: nessu" +
- "no\x02&Gestisci i tunnel…\x02&Importa tunnel da file…\x02E&sci\x02Errore" +
- " tunnel di WireGuard\x02WireGuard: %[1]s\x02Stato: %[1]s\x02Indirizzi: %" +
- "[1]s\x02WireGuard attivato\x02Il tunnel %[1]s è stato attivato.\x02WireG" +
- "uard disattivato\x02Il tunnel %[1]s è stato disattivato.\x02Un aggiornam" +
- "ento è disponibile!\x02Aggiornamento di WireGuard disponibile\x02Un aggi" +
- "ornamento di WireGuard è disponibile. Ti consigliamo di aggiornare il pr" +
- "ima possibile.\x02Tunnel\x02&Modifica\x02Aggiungi tunn&el vuoto\x02Aggiu" +
- "ngi tunnel\x02Rimuovi tunnel selezionati\x02Esporta tutti i tunnel in zi" +
- "p\x02Commu&ta\x02Esporta tutti i tunnel in &zip\x02Modifica il tunnel &s" +
- "elezionato…\x02&Rimuovi i tunnel selezionati\x02Impossibile importare la" +
- " configurazione selezionata: %[1]v\x02Impossibile enumerare i tunnel esi" +
- "stenti: %[1]v\x02Un altro tunnel esiste già con il nome ‘%[1]s‘\x02Impos" +
- "sibile importare la configurazione: %[1]v\x02Tunnel importati\x14\x01" +
- "\x81\x01\x00\x02\x17\x02%[1]d tunnel importato\x00\x17\x02%[1]d tunnel i" +
- "mportati\x14\x02\x80\x01\x02 \x02%[1]d de %[2]d tunnel importato\x00 " +
- "\x02%[1]d de %[2]d tunnel importati\x02Impossibile creare il tunnel\x14" +
- "\x01\x81\x01\x00\x02\x15\x02Elimina %[1]d tunnel\x00\x16\x02Elimina %[1]" +
- "d tunnels\x14\x01\x81\x01\x00\x02,\x02Sei sicuro di voler eliminare %[1]" +
- "d tunnel?\x00,\x02Sei sicuro di voler eliminare %[1]d tunnel?\x02Elimina" +
- " tunnel ‘%[1]s‘\x02Sei sicuro di voler eliminare il tunnel ‘%[1]s‘?\x02%" +
- "[1]s Non è possibile annullare questa azione.\x02Impossibile eliminare i" +
- "l tunnel\x02Non è stato possibile rimuovere un tunnel: %[1]s\x02Impossib" +
- "ile eliminare i tunnel\x14\x01\x81\x01\x00\x02/\x02Non è stato possibile" +
- " eliminare %[1]d tunnel.\x00/\x02Non è stato possibile eliminare %[1]d t" +
- "unnel.\x02File di configurazione (*.zip, *.conf)|*.zip;*.conf|Tutti i fi" +
- "le (*.*)|*.*\x02Importa tunnel da file\x02File di configurazione ZIP (*." +
- "zip)|*.zip\x02Esporta tunnel in zip\x02%[1]s (versione non firmata, ness" +
- "un aggiornamento)\x02Errore durante la chiusura di WireGuard\x02Impossib" +
- "ile uscire dal servizio a causa di: %[1]v. Potresti voler interrompere W" +
- "ireGuard dal gestore dei servizi.\x02Un aggiornamento di WireGuard è dis" +
- "ponibile. Ti consigliamo vivamente di aggiornare senza indugio.\x02Stato" +
- ": in attesa dell'utente\x02Aggiorna ora\x02Stato: in attesa del servizio" +
- " di aggiornamento\x02Errore: %[1]v. Prova ancora.\x02Stato: Completo!" +
- "\x02http2: Framer %[1]p: decodifica del frame appena scritto non riuscit" +
- "a\x02http2: Framer %[1]p: ha scritto %[2]v\x02http2: Framer %[1]p: ha le" +
- "tto %[2]v\x02http2: campo hpack %+[1]v decodificato"
+ "secondi\x02%[1]s fa\x02%[1]d\u00a0B\x02%.2[1]f\u00a0KiB\x02%.2[1]f\u00a0" +
+ "MiB\x02%.2[1]f\u00a0GiB\x02%.2[1]f\u00a0TiB\x02%[1]s: %[2]q\x02Indirizzo" +
+ " IP non valido\x02Lunghezza del prefisso di rete non valida\x02Manca la " +
+ "porta dall'endpoint\x02Host dell'endpoint non valido\x02Le parentesi dev" +
+ "ono contenere un indirizzo IPv6\x02MTU non valido\x02Porta non valida" +
+ "\x02Keepalive permanente non valido\x02Chiave non valida: %[1]v\x02Le ch" +
+ "iavi devono decodificare esattamente 32 byte\x02Il numero deve essere un" +
+ " numero compreso tra 0 e 2^64-1: %[1]v\x02Due virgole in una riga\x02Il " +
+ "nome del tunnel non è valido\x02Una riga deve essere presente in una sez" +
+ "ione\x02La chiave deve avere un valore\x02Chiave non valida per la sezio" +
+ "ne [Interface]\x02Chiave non valida per la sezione [Peer]\x02Un'interfac" +
+ "cia deve avere una chiave privata\x02[non specificato]\x02Tutti i peer d" +
+ "evono avere una chiave pubblica\x02Errore durante il recupero della conf" +
+ "igurazione\x02Chiave non valida per la sezione dell'interfaccia\x02La ve" +
+ "rsione del protocollo deve essere 1\x02Chiave non valida per la sezione " +
+ "peer\x02, \x02 \x02Informazioni su WireGuard\x02Immagine del logo di Wir" +
+ "eGuard\x02Versione applicazione: %[1]s\x0aVersione backend Go: %[2]s\x0a" +
+ "Versione Go: %[3]s\x0aSistema operativo: %[4]s\x0aArchitettura: %[5]s" +
+ "\x02Chiudi\x02♥ Fai una &donazione!\x02Stato:\x02&Disattiva\x02&Attiva" +
+ "\x02Chiave pubblica:\x02Porta in ascolto:\x02MTU:\x02Indirizzi:\x02Serve" +
+ "r DNS:\x02Chiave pre-condivisa:\x02IP consentiti:\x02Endpoint:\x02Keepal" +
+ "ive permanente:\x02Ultima negoziazione:\x02Trasferimento:\x02abilitato" +
+ "\x02%[1]s ricevuti, %[2]s inviati\x02Determinazione dello stato del tunn" +
+ "el non riuscita\x02Attivazione del tunnel non riuscita\x02Disattivazione" +
+ " del tunnel non riuscita\x02Interfaccia: %[1]s\x02Peer\x02Crea tunnel" +
+ "\x02Modifica tunnel\x02&Nome:\x02Chiave &pubblica:\x02(sconosciuto)\x02&" +
+ "Blocca traffico fuori dal tunnel (kill-switch)\x02Quando una configurazi" +
+ "one ha esattamente un peer e quel peer ha un IP consentito contenente al" +
+ "meno uno di 0.0.0.0/0 o ::/0, il servizio tunnel impegna un insieme di r" +
+ "egole del firewall per bloccare tutto il traffico che non proviene dall'" +
+ "interfaccia tunnel, con speciali eccezioni per DHCP e NDP.\x02&Salva\x02" +
+ "Annulla\x02&Configurazione:\x02Nome non valido\x02Un nome è richiesto." +
+ "\x02Il nome del tunnel ‘%[1]s’ non è valido.\x02Impossibile elencare i t" +
+ "unnel esistenti\x02Il tunnel esiste già\x02Un altro tunnel con il nome ‘" +
+ "%[1]s’ esiste già.\x02Impossibile creare la nuova configurazione\x02Scri" +
+ "ttura del file non riuscita\x02Il file ‘%[1]s’ esiste già.\x0a\x0aVuoi s" +
+ "ovrascriverlo?\x02Attivo\x02Attivazione\x02Inattivo\x02Disattivazione" +
+ "\x02Stato sconosciuto\x02Log\x02&Copia\x02Selezion&a tutto\x02&Salva su " +
+ "file…\x02Tempo\x02Messaggio di log\x02File di testo (*.txt)|*.txt|Tutti " +
+ "i file (*.*)|*.*\x02Esporta log su file\x02Inform&azioni su WireGuard…" +
+ "\x02Errore del tunnel\x02%[1]s\x0a\x0aConsulta il log per ulteriori Info" +
+ "rmazioni.\x02%[1]s (obsoleto)\x02Errore di rilevamento di WireGuard\x02I" +
+ "mpossibile attendere la comparsa della finestra di WireGuard: %[1]v\x02W" +
+ "ireGuard: disattivato\x02Stato: sconosciuto\x02Indirizzi: nessuno\x02&Ge" +
+ "stisci i tunnel…\x02&Importa tunnel da file…\x02E&sci\x02Errore tunnel d" +
+ "i WireGuard\x02WireGuard: %[1]s\x02Stato: %[1]s\x02Indirizzi: %[1]s\x02W" +
+ "ireGuard attivato\x02Il tunnel %[1]s è stato attivato.\x02WireGuard disa" +
+ "ttivato\x02Il tunnel %[1]s è stato disattivato.\x02Un aggiornamento è di" +
+ "sponibile!\x02Aggiornamento di WireGuard disponibile\x02Un aggiornamento" +
+ " di WireGuard è disponibile. Ti consigliamo di aggiornare il prima possi" +
+ "bile.\x02Tunnel\x02&Modifica\x02Aggiungi tunn&el vuoto\x02Aggiungi tunne" +
+ "l\x02Rimuovi tunnel selezionati\x02Esporta tutti i tunnel in zip\x02Comm" +
+ "u&ta\x02Esporta tutti i tunnel in &zip\x02Modifica il tunnel &selezionat" +
+ "o…\x02&Rimuovi i tunnel selezionati\x02Impossibile importare la configur" +
+ "azione selezionata: %[1]v\x02Impossibile enumerare i tunnel esistenti: %" +
+ "[1]v\x02Un altro tunnel esiste già con il nome ‘%[1]s‘\x02Impossibile im" +
+ "portare la configurazione: %[1]v\x02Tunnel importati\x14\x01\x81\x01\x00" +
+ "\x02\x17\x02%[1]d tunnel importato\x00\x17\x02%[1]d tunnel importati\x14" +
+ "\x02\x80\x01\x02 \x02%[1]d de %[2]d tunnel importato\x00 \x02%[1]d di %[" +
+ "2]d tunnel importati\x02Impossibile creare il tunnel\x14\x01\x81\x01\x00" +
+ "\x02\x15\x02Elimina %[1]d tunnel\x00\x15\x02Elimina %[1]d tunnel\x14\x01" +
+ "\x81\x01\x00\x02,\x02Sei sicuro di voler eliminare %[1]d tunnel?\x00," +
+ "\x02Sei sicuro di voler eliminare %[1]d tunnel?\x02Elimina tunnel ‘%[1]s" +
+ "‘\x02Sei sicuro di voler eliminare il tunnel ‘%[1]s‘?\x02%[1]s Non è p" +
+ "ossibile annullare questa azione.\x02Impossibile eliminare il tunnel\x02" +
+ "Non è stato possibile rimuovere un tunnel: %[1]s\x02Impossibile eliminar" +
+ "e i tunnel\x14\x01\x81\x01\x00\x02/\x02Non è stato possibile eliminare %" +
+ "[1]d tunnel.\x00/\x02Non è stato possibile eliminare %[1]d tunnel.\x02Fi" +
+ "le di configurazione (*.zip, *.conf)|*.zip;*.conf|Tutti i file (*.*)|*.*" +
+ "\x02Importa tunnel da file\x02File di configurazione ZIP (*.zip)|*.zip" +
+ "\x02Esporta tunnel in zip\x02%[1]s (versione non firmata, nessun aggiorn" +
+ "amento)\x02Errore durante la chiusura di WireGuard\x02Impossibile uscire" +
+ " dal servizio a causa di: %[1]v. Potresti voler interrompere WireGuard d" +
+ "al gestore dei servizi.\x02Un aggiornamento di WireGuard è disponibile. " +
+ "Ti consigliamo vivamente di aggiornare immediatamente.\x02Stato: in atte" +
+ "sa dell'utente\x02Aggiorna ora\x02Stato: in attesa del servizio di aggio" +
+ "rnamento\x02Errore: %[1]v. Prova ancora.\x02Stato: Completo!\x02http2: F" +
+ "ramer %[1]p: decodifica del frame appena scritto non riuscita\x02http2: " +
+ "Framer %[1]p: ha scritto %[2]v\x02http2: Framer %[1]p: ha letto %[2]v" +
+ "\x02http2: campo hpack %+[1]v decodificato"
var jaIndex = []uint32{ // 177 elements
// Entry 0 - 1F
- 0x00000000, 0x0000000a, 0x00000067, 0x00000081,
- 0x000000a6, 0x000000ef, 0x00000145, 0x00000180,
- 0x000001d7, 0x0000025a, 0x000002af, 0x000002b6,
- 0x000002de, 0x000002e8, 0x000002f2, 0x000002ff,
- 0x00000309, 0x00000313, 0x0000031d, 0x00000325,
- 0x00000332, 0x0000033f, 0x0000034c, 0x00000359,
- 0x00000366, 0x00000380, 0x000003ba, 0x000003e8,
- 0x00000410, 0x00000450, 0x00000465, 0x0000047e,
+ 0x00000000, 0x0000000a, 0x0000005b, 0x00000075,
+ 0x0000009a, 0x000000e6, 0x0000013c, 0x0000017a,
+ 0x000001d1, 0x00000254, 0x000002a9, 0x000002ad,
+ 0x000002d5, 0x000002e6, 0x000002f7, 0x0000030b,
+ 0x0000031c, 0x0000032d, 0x00000337, 0x0000033f,
+ 0x0000034c, 0x00000359, 0x00000366, 0x00000373,
+ 0x00000380, 0x0000039a, 0x000003ce, 0x000003fc,
+ 0x00000424, 0x00000455, 0x00000463, 0x0000047c,
+ // Entry 20 - 3F
+ 0x000004a7, 0x000004bb, 0x000004ed, 0x00000540,
+ 0x00000564, 0x00000583, 0x000005ae, 0x000005df,
+ 0x00000614, 0x00000644, 0x0000067b, 0x0000068a,
+ 0x000006bb, 0x000006ef, 0x00000722, 0x00000765,
+ 0x00000793, 0x00000796, 0x00000798, 0x000007af,
+ 0x000007c6, 0x00000831, 0x0000083b, 0x00000857,
+ 0x0000085f, 0x0000086d, 0x0000087b, 0x00000886,
+ 0x0000089d, 0x000008a2, 0x000008b0, 0x000008bf,
+ // Entry 40 - 5F
+ 0x000008d0, 0x000008dd, 0x000008f4, 0x00000914,
+ 0x00000934, 0x0000093c, 0x00000943, 0x0000096b,
+ 0x0000099c, 0x000009ca, 0x000009f8, 0x00000a18,
+ 0x00000a1f, 0x00000a3b, 0x00000a51, 0x00000a5d,
+ 0x00000a6c, 0x00000a75, 0x00000ace, 0x00000c02,
+ 0x00000c0d, 0x00000c1d, 0x00000c29, 0x00000c39,
+ 0x00000c52, 0x00000c81, 0x00000caf, 0x00000cd7,
+ 0x00000d26, 0x00000d57, 0x00000d7c, 0x00000dce,
+ // Entry 60 - 7F
+ 0x00000dd5, 0x00000de2, 0x00000de9, 0x00000df6,
+ 0x00000e06, 0x00000e0d, 0x00000e1b, 0x00000e2f,
+ 0x00000e4c, 0x00000e53, 0x00000e6a, 0x00000eb4,
+ 0x00000edf, 0x00000efc, 0x00000f12, 0x00000f47,
+ 0x00000f5c, 0x00000f76, 0x00000fb8, 0x00000fd3,
+ 0x00000fe2, 0x00000ff7, 0x00001014, 0x0000104c,
+ 0x00001057, 0x00001077, 0x00001088, 0x00001096,
+ 0x000010aa, 0x000010c4, 0x000010f6, 0x00001110,
+ // Entry 80 - 9F
+ 0x00001142, 0x00001161, 0x0000118a, 0x000011f2,
+ 0x000011ff, 0x0000120a, 0x0000122d, 0x00001243,
+ 0x00001265, 0x00001299, 0x000012aa, 0x000012e5,
+ 0x0000130e, 0x00001334, 0x00001381, 0x000013bf,
+ 0x0000140b, 0x00001443, 0x00001468, 0x000014a0,
+ 0x000014e4, 0x00001509, 0x0000152c, 0x00001568,
+ 0x0000158b, 0x000015c6, 0x000015f7, 0x0000161c,
+ 0x00001651, 0x00001676, 0x000016b1, 0x00001704,
+ // Entry A0 - BF
+ 0x00001735, 0x0000175f, 0x00001787, 0x000017bd,
+ 0x000017d7, 0x0000185b, 0x000018c0, 0x000018ea,
+ 0x000018fa, 0x0000192d, 0x00001962, 0x00001974,
+ 0x000019ba, 0x000019ee, 0x00001a22, 0x00001a62,
+ 0x00001a62,
+} // Size: 732 bytes
+
+const jaData string = "" + // Size: 6754 bytes
+ "\x02エラー\x02(引数なし): 管理者権限でmanagerサービスをインストールする\x02使い方: %[1]s [\x0a%[2]s]" +
+ "\x02コマンドラインオプション\x02プロセスがWOW64下で動作しているか確認できません: %[1]v\x02このコンピュータでは64ビット" +
+ "版の WireGuard を使ってください。\x02現在のプロセスのトークンを開けません: %[1]v\x02WireGuard は組み込み" +
+ "の %[1]s グループのメンバーだけが使えます。\x02WireGuard は実行中ですが、UI画面は組み込みの %[1]s グループのデ" +
+ "スクトップからしか開けません。\x02WireGuard システムトレイアイコンは30秒後に非表示になります。\x02今\x02システム時刻" +
+ "が巻き戻った!\x14\x01\x81\x01\x00\x00\x0a\x02%[1]d 年\x14\x01\x81\x01\x00\x00" +
+ "\x0a\x02%[1]d 日\x14\x01\x81\x01\x00\x00\x0d\x02%[1]d 時間\x14\x01\x81\x01" +
+ "\x00\x00\x0a\x02%[1]d 分\x14\x01\x81\x01\x00\x00\x0a\x02%[1]d 秒\x02%[1]s " +
+ "前\x02%[1]d B\x02%.2[1]f\u00a0KiB\x02%.2[1]f\u00a0MiB\x02%.2[1]f\u00a0G" +
+ "iB\x02%.2[1]f\u00a0TiB\x02%[1]s: %[2]q\x02無効な IP アドレス\x02無効なネットワークプレフィック" +
+ "ス長\x02エンドポイントのポート指定なし\x02無効なエンドポイントホスト\x02カッコ内は IPv6 アドレスが入ります\x02無効な " +
+ "MTU\x02無効なポート番号\x02無効な持続的キープアライブ値\x02不正な鍵: %[1]v\x02鍵は 32 バイトでなければなりません" +
+ "\x02数値は0から2の64乗-1の範囲内の値でなければなりません: %[1]v\x021行にカンマが2つあります\x02トンネル名が不正です" +
+ "\x02行がセクション内にありません\x02キー項目に対応する値がありません\x02無効な [Interface] セクションのキー項目\x02" +
+ "無効な [Peer] セクションのキー項目\x02インターフェースには秘密鍵が必須です\x02[指定なし]\x02すべてのピアには公開鍵が必" +
+ "須です\x02設定の読込中にエラーが発生しました\x02無効な Interface セクションのキー項目\x02プロトコルバージョンは 1 " +
+ "でなければなりません\x02無効な Peer セクションのキー項目\x02, \x02 \x02WireGuard について\x02Wire" +
+ "Guard ロゴ画像\x02App version: %[1]s\x0aGo backend version: %[2]s\x0aGo vers" +
+ "ion: %[3]s\x0aOperating system: %[4]s\x0aArchitecture: %[5]s\x02閉じる\x02♥" +
+ " 寄付のお願い!(&D)\x02状態:\x02無効化(&D)\x02有効化(&A)\x02公開鍵:\x02待受ポート番号:\x02MTU:" +
+ "\x02アドレス:\x02DNS サーバ:\x02事前共有鍵:\x02Allowed IPs:\x02エンドポイント:\x02持続的キープアライ" +
+ "ブ:\x02直近のハンドシェイク:\x02転送:\x02有効\x02%[1]s 受信済み、%[2]s 送信済み\x02トンネルの状態取得に失" +
+ "敗しました\x02トンネルの有効化に失敗しました\x02トンネルの無効化に失敗しました\x02インターフェース: %[1]s\x02ピア" +
+ "\x02トンネルの新規作成\x02トンネルの編集\x02名前(&N):\x02公開鍵(&P):\x02(不明)\x02トンネルを通らないトラフィ" +
+ "ックのブロック(キルスイッチ)(&B)\x02ピアが1つだけ設定されていて、さらに Allowed IPs に 0.0.0.0/0 または " +
+ "::/0 が含まれている場合、トンネルサービスはトンネルインターフェースを通らないすべてのトラフィックをブロックするファイアウォールルールを追加" +
+ "します。\x02保存(&S)\x02キャンセル\x02設定(&C):\x02無効な名前\x02名前は必須です。\x02トンネル名 ‘%[1]" +
+ "s’ は不正です。\x02既存のトンネルを表示できません\x02トンネルはすでに存在します\x02‘%[1]s’ という名前の別のトンネルがすで" +
+ "に存在します。\x02新しい設定を作成できませんでした\x02ファイルの書き込みに失敗\x02ファイル ‘%[1]s’ はすでに存在します。" +
+ "\x0a\x0a上書きしますか?\x02有効\x02有効化中\x02無効\x02無効化中\x02不明な状態\x02ログ\x02コピー(&C)" +
+ "\x02すべて選択(&A)\x02ファイルに保存…(&S)\x02時刻\x02ログ メッセージ\x02テキストファイル (*.txt)|*.tx" +
+ "t|すべてのファイル (*.*)|*.*\x02ログをファイルにエクスポート\x02WireGuardについて…(&A)\x02トンネルエラー" +
+ "\x02%[1]s\x0a\x0a詳細はログを参照してください。\x02%[1]s (更新あり)\x02WireGuard 検出エラー\x02W" +
+ "ireGuard ウィンドウが表示できませんでした: %[1]v\x02WireGuard: 無効化済み\x02状態: 不明\x02アドレス: " +
+ "なし\x02トンネルの管理…(&M)\x02トンネルをファイルからインポート…(&I)\x02終了(&X)\x02WireGuard トンネ" +
+ "ルエラー\x02WireGuard: %[1]s\x02状態: %[1]s\x02アドレス: %[1]s\x02WireGuard 有効化済" +
+ "み\x02トンネル %[1]s は有効になりました。\x02WireGuard 無効化済み\x02トンネル %[1]s は無効になりました。" +
+ "\x02更新が利用できます!\x02WireGuard の更新が利用可能です\x02WireGuard の更新が利用可能になりました。できるだけ" +
+ "早く更新してください。\x02トンネル\x02編集(&E)\x02空のトンネルを追加…(&E)\x02トンネルの追加\x02選択したトンネル" +
+ "の削除\x02すべてのトンネルをzipにエクスポート\x02切り替え(&T)\x02すべてのトンネルをzipにエクスポート…(&Z)\x02" +
+ "選択したトンネルの編集…(&S)\x02選択したトンネルの削除(&R)\x02選択したファイルからインポートできませんでした: %[1]v" +
+ "\x02既存のトンネルを表示できませんでした: %[1]v\x02‘%[1]s’ という名前の別のトンネルがすでに存在します\x02設定をインポ" +
+ "ートできませんでした: %[1]v\x02トンネルのインポート結果\x14\x01\x81\x01\x00\x001\x02%[1]d トン" +
+ "ネルをインポートしました\x14\x02\x80\x01\x00>\x02%[2]d 中の %[1]d トンネルをインポートしました\x02" +
+ "トンネルを作成できません\x14\x01\x81\x01\x00\x00\x1c\x02%[1]d トンネルを削除\x14\x01\x81" +
+ "\x01\x00\x005\x02本当に %[1]d トンネルを削除しますか?\x02トンネル ‘%[1]s’ を削除\x02本当にトンネル ‘" +
+ "%[1]s’ を削除しますか?\x02%[1]s この操作はもとに戻せません。\x02トンネルを削除できません\x02トンネルを削除できませんで" +
+ "した: %[1]s\x02トンネルを削除できません\x14\x01\x81\x01\x00\x004\x02%[1]d トンネルを削除できま" +
+ "せんでした\x02設定ファイル (*.zip, *.conf)|*.zip;*.conf|すべてのファイル (*.*)|*.*\x02ファイ" +
+ "ルからトンネルをインポート\x02ZIP形式設定ファイル (*.zip)|*.zip\x02トンネルをZIPにエクスポート\x02%[1]s" +
+ " (未署名のビルド、更新の提供なし)\x02WireGuard 終了エラー\x02%[1]v のためサービスを終了できませんでした。サービスマネ" +
+ "ージャから WireGuard を停止できます。\x02WireGuard の更新が利用可能です。速やかに更新することを強く推奨します。" +
+ "\x02状態: ユーザーからの応答待ち\x02今すぐ更新\x02状態: アップデータサービスを待機中\x02エラー: %[1]v。再度実行してく" +
+ "ださい。\x02状態: 完了!\x02http2: Framer %[1]p: just-writtenフレームのデコードに失敗\x02ht" +
+ "tp2: Framer %[1]p: %[2]v を書き込みました\x02http2: Framer %[1]p: %[2]v を読み込みました" +
+ "\x02http2: hpack フィールド %+[1]v をデコードしました"
+
+var ruIndex = []uint32{ // 177 elements
+ // Entry 0 - 1F
+ 0x00000000, 0x0000000d, 0x000000a9, 0x000000d4,
+ 0x00000107, 0x00000166, 0x000001c8, 0x0000021f,
+ 0x000002a6, 0x0000034a, 0x000003b2, 0x000003bf,
+ 0x000003fc, 0x00000429, 0x00000456, 0x00000483,
+ 0x000004c0, 0x000004fd, 0x0000050e, 0x00000517,
+ 0x00000524, 0x00000531, 0x0000053e, 0x0000054b,
+ 0x00000558, 0x0000057f, 0x000005bd, 0x000005fc,
+ 0x0000062a, 0x00000662, 0x0000067f, 0x000006a1,
// Entry 20 - 3F
- 0x000004a9, 0x000004bd, 0x000004ef, 0x00000542,
- 0x00000566, 0x00000585, 0x000005b0, 0x000005b0,
- 0x000005e1, 0x00000621, 0x0000065c, 0x00000693,
- 0x000006a2, 0x000006d3, 0x000006f2, 0x00000738,
- 0x0000077b, 0x000007af, 0x000007b2, 0x000007b4,
- 0x000007cb, 0x000007e2, 0x0000084d, 0x00000857,
- 0x00000873, 0x0000087b, 0x00000889, 0x00000897,
- 0x000008a2, 0x000008b9, 0x000008be, 0x000008cc,
+ 0x000006f7, 0x00000720, 0x00000775, 0x000007b4,
+ 0x000007d7, 0x00000806, 0x00000839, 0x0000086b,
+ 0x000008a5, 0x000008da, 0x00000924, 0x0000093a,
+ 0x0000097e, 0x000009be, 0x00000a01, 0x00000a39,
+ 0x00000a70, 0x00000a73, 0x00000a76, 0x00000a83,
+ 0x00000a9c, 0x00000b5a, 0x00000b69, 0x00000b88,
+ 0x00000b96, 0x00000ba8, 0x00000bbc, 0x00000bd9,
+ 0x00000be3, 0x00000be8, 0x00000bf9, 0x00000c0d,
// Entry 40 - 5F
- 0x000008db, 0x000008ec, 0x000008f9, 0x00000910,
- 0x00000930, 0x00000950, 0x00000958, 0x0000095f,
- 0x00000987, 0x000009b8, 0x000009e6, 0x00000a14,
- 0x00000a34, 0x00000a3b, 0x00000a57, 0x00000a6d,
- 0x00000a79, 0x00000a88, 0x00000a91, 0x00000aea,
- 0x00000c1e, 0x00000c29, 0x00000c39, 0x00000c45,
- 0x00000c55, 0x00000c6e, 0x00000c9d, 0x00000ccb,
- 0x00000cf3, 0x00000d42, 0x00000d6a, 0x00000d8f,
+ 0x00000c22, 0x00000c4a, 0x00000c68, 0x00000c99,
+ 0x00000cc4, 0x00000cd6, 0x00000ce7, 0x00000d1a,
+ 0x00000d65, 0x00000d9d, 0x00000dd3, 0x00000ded,
+ 0x00000df4, 0x00000e12, 0x00000e3c, 0x00000e45,
+ 0x00000e63, 0x00000e7a, 0x00000eb8, 0x00001096,
+ 0x000010aa, 0x000010b7, 0x000010d2, 0x000010f2,
+ 0x0000110d, 0x00001147, 0x0000117f, 0x000011aa,
+ 0x000011f2, 0x00001239, 0x0000125e, 0x000012c0,
// Entry 60 - 7F
- 0x00000de1, 0x00000de8, 0x00000df5, 0x00000dfc,
- 0x00000e09, 0x00000e19, 0x00000e20, 0x00000e2e,
- 0x00000e42, 0x00000e5f, 0x00000e66, 0x00000e7c,
- 0x00000ec6, 0x00000ef1, 0x00000f0e, 0x00000f24,
- 0x00000f59, 0x00000f6c, 0x00000f86, 0x00000fc8,
- 0x00000fe3, 0x00000ff2, 0x00001007, 0x00001024,
- 0x00001059, 0x00001064, 0x00001084, 0x00001095,
- 0x000010a3, 0x000010b7, 0x000010d1, 0x00001103,
+ 0x000012d3, 0x000012ea, 0x000012fb, 0x00001310,
+ 0x0000133a, 0x00001347, 0x0000135d, 0x00001374,
+ 0x00001397, 0x000013a2, 0x000013c4, 0x0000140c,
+ 0x00001436, 0x00001447, 0x00001463, 0x000014de,
+ 0x000014f5, 0x00001523, 0x00001577, 0x0000159d,
+ 0x000015c0, 0x000015d5, 0x00001601, 0x00001633,
+ 0x0000163f, 0x00001665, 0x00001676, 0x0000168a,
+ 0x0000169e, 0x000016b7, 0x000016e0, 0x000016fb,
// Entry 80 - 9F
- 0x0000111d, 0x0000114f, 0x0000116e, 0x00001197,
- 0x000011ff, 0x0000120c, 0x00001217, 0x0000123a,
- 0x00001250, 0x00001272, 0x000012a6, 0x000012b7,
- 0x000012f2, 0x0000131b, 0x00001341, 0x00001385,
- 0x000013c3, 0x0000140f, 0x0000143e, 0x0000145d,
- 0x0000148e, 0x000014cf, 0x000014f4, 0x00001510,
- 0x0000154b, 0x0000156e, 0x000015a9, 0x000015da,
- 0x000015ff, 0x00001634, 0x00001659, 0x0000168d,
+ 0x00001722, 0x00001749, 0x00001779, 0x00001804,
+ 0x00001813, 0x0000182f, 0x00001860, 0x00001880,
+ 0x000018b1, 0x000018ec, 0x00001904, 0x00001943,
+ 0x00001984, 0x000019b6, 0x00001a06, 0x00001a60,
+ 0x00001aa7, 0x00001af7, 0x00001b25, 0x00001bf9,
+ 0x00001cf5, 0x00001d27, 0x00001dc7, 0x00001f0f,
+ 0x00001f39, 0x00001f89, 0x00001fd4, 0x00002006,
+ 0x00002040, 0x00002072, 0x00002169, 0x000021c6,
// Entry A0 - BF
- 0x000016e0, 0x00001711, 0x0000173b, 0x00001763,
- 0x00001799, 0x000017c9, 0x00001844, 0x000018a9,
- 0x000018d3, 0x000018e3, 0x00001916, 0x0000194b,
- 0x0000195d, 0x000019a3, 0x000019d7, 0x00001a0b,
- 0x00001a4b,
+ 0x000021f4, 0x0000222c, 0x0000225e, 0x000022ab,
+ 0x000022d4, 0x0000236e, 0x000023f6, 0x0000242e,
+ 0x0000244c, 0x0000246f, 0x000024a8, 0x000024ca,
+ 0x0000253e, 0x00002568, 0x00002596, 0x000025ca,
+ 0x000025ca,
} // Size: 732 bytes
-const jaData string = "" + // Size: 6731 bytes
- "\x02エラー\x02(引数なし): 管理者権限でmanagerサービスをインストールしてください\x02使い方: %[1]s [\x0a%[2" +
- "]s]\x02コマンドラインオプション\x02プロセスがWOW64で動作しているか確認できません: %[1]v\x02このコンピュータでは64ビ" +
- "ット版の WireGuard を使ってください。\x02現在のプロセストークンを開けません: %[1]v\x02WireGuard は組み込" +
- "みの %[1]s グループのメンバーだけが使えます。\x02WireGuard は実行中ですが、UI画面は組み込みの %[1]s グループの" +
- "デスクトップからしか開けません。\x02WireGuard システムトレイアイコンは30秒後に非表示になります。\x02現在\x02システム" +
- "時刻が遅れています\x02%[1]d 年\x02%[1]d 日\x02%[1]d 時間\x02%[1]d 分\x02%[1]d 秒\x02%" +
- "[1]s 前\x02%[1]d B\x02%.2[1]f\u00a0KiB\x02%.2[1]f\u00a0MiB\x02%.2[1]f" +
- "\u00a0GiB\x02%.2[1]f\u00a0TiB\x02%[1]s: %[2]q\x02不正な IP アドレス\x02不正なネットワー" +
- "クプレフィックス長指定\x02エンドポイントのポート指定なし\x02不正なエンドポイントホスト\x02カッコ内は IPv6 アドレスでなけれ" +
- "ばなりません\x02不正な MTU 指定\x02不正なポート番号\x02不正な持続的キープアライブ値\x02不正な鍵: %[1]v\x02鍵" +
- "は 32 バイトでなければなりません\x02数値は0から2の64乗-1の範囲内の値でなければなりません: %[1]v\x021行にカンマが2" +
- "つあります\x02トンネル名が不正です\x02行がセクション内にありません\x02キー項目に対応する値がありません\x02[Interfac" +
- "e] セクションのキー項目として不正です\x02[Peer] セクションのキー項目として不正です\x02インターフェースには秘密鍵が必須です" +
- "\x02[指定なし]\x02すべてのピアには公開鍵が必須です\x02設定の取得時にエラー\x02インターフェースセクションのキー項目が不正です" +
- "\x02プロトコルバージョンは 1 でなければなりません\x02ピアセクションのキー項目が不正です\x02, \x02 \x02WireGuar" +
- "d について\x02WireGuard ロゴ画像\x02App version: %[1]s\x0aGo backend version: %[" +
- "2]s\x0aGo version: %[3]s\x0aOperating system: %[4]s\x0aArchitecture: %[5" +
- "]s\x02閉じる\x02♥ 寄付のお願い!(&D)\x02状態:\x02無効化(&D)\x02有効化(&A)\x02公開鍵:\x02待受ポート" +
- "番号:\x02MTU:\x02アドレス:\x02DNS サーバ:\x02事前共有鍵:\x02Allowed IPs:\x02エンドポイント:" +
- "\x02持続的キープアライブ:\x02直近のハンドシェイク:\x02転送:\x02有効\x02%[1]s 受信済み、%[1]s 送信済み\x02" +
- "トンネルの状態取得に失敗しました\x02トンネルの有効化に失敗しました\x02トンネルの無効化に失敗しました\x02インターフェース: %[" +
- "1]s\x02ピア\x02トンネルの新規作成\x02トンネルの編集\x02名前(&N):\x02公開鍵(&P):\x02(不明)\x02トンネル" +
- "を通らないトラフィックのブロック(キルスイッチ)(&B)\x02ピアが1つだけ設定されていて、さらに Allowed IPs に 0.0.0" +
- ".0/0 または ::/0 が含まれている場合、トンネルサービスはトンネルインターフェースを通らないすべてのトラフィックをブロックするファイアウ" +
- "ォールルールを追加します。\x02保存(&S)\x02キャンセル\x02設定(&C):\x02不正な名前\x02名前は必須です。\x02トン" +
- "ネル名 ‘%[1]s’ は不正です。\x02既存のトンネルを表示できません\x02トンネルはすでに存在します\x02‘%[1]s’ という名" +
- "前の別のトンネルがすでに存在します。\x02新しい設定が作成できません\x02ファイルの書き込みに失敗\x02ファイル ‘%[1]s’ はす" +
- "でに存在します。\x0a\x0a上書きしますか?\x02有効\x02有効化中\x02無効\x02無効化中\x02不明な状態\x02ログ" +
- "\x02コピー(&C)\x02すべて選択(&a)\x02ファイルに保存…(&S)\x02時刻\x02ログメッセージ\x02テキストファイル (*" +
- ".txt)|*.txt|すべてのファイル (*.*)|*.*\x02ログをファイルにエクスポート\x02WireGuardについて…(&A)" +
- "\x02トンネルエラー\x02%[1]s\x0a\x0a詳細はログを参照してください。\x02%[1]s 期限切れ\x02WireGuard 検" +
- "出エラー\x02WireGuard ウィンドウが表示できませんでした: %[1]v\x02WireGuard: 無効化済み\x02状態: 不" +
- "明\x02アドレス: なし\x02トンネルの管理…(&M)\x02トンネルをファイルからインポート(&I)\x02終了(&X)\x02Wir" +
- "eGuard トンネルエラー\x02WireGuard: %[1]s\x02状態: %[1]s\x02アドレス: %[1]s\x02WireGu" +
- "ard 有効化済み\x02トンネル %[1]s は有効化されました。\x02WireGuard 無効化済み\x02トンネル %[1]s は無効化" +
- "されました。\x02更新が利用できます!\x02WireGuard の更新が利用可能です\x02WireGuard の更新が利用可能になりま" +
- "した。できるだけ早く更新してください。\x02トンネル\x02編集(&E)\x02空のトンネルを追加…(&e)\x02トンネルの追加\x02" +
- "選択したトンネルの削除\x02すべてのトンネルをzipにエクスポート\x02切り替え(&T)\x02すべてのトンネルをzipにエクスポート…" +
- "(&z)\x02選択したトンネルの編集…(&s)\x02選択したトンネルの削除(&R)\x02選択した設定をインポートできませんでした: %[1" +
- "]v\x02既存のトンネルを表示できませんでした: %[1]v\x02‘%[1]s’ という名前の別のトンネルがすでに存在します\x02設定をイ" +
- "ンポートできません: %[1]v\x02トンネルをインポート\x02%[1]d トンネルをインポートしました\x02%[2]d つ中の %[" +
- "1]d トンネルをインポートしました\x02トンネルを作成できません\x02%[1]d トンネルを削除\x02本当に %[1]d つのトンネルを" +
- "削除しますか?\x02トンネル ‘%[1]s’ を削除\x02本当にトンネル ‘%[1]s’ を削除しますか?\x02%[1]s この操作は" +
- "もとに戻せません。\x02トンネルを削除できません\x02トンネルを削除できませんでした: %[1]s\x02トンネルを削除できません" +
- "\x02%[1]d トンネルは削除できませんでした\x02設定ファイル (*.zip, *.conf)|*.zip;*.conf|すべてのファイ" +
- "ル (*.*)|*.*\x02ファイルからトンネルをインポート\x02ZIP形式設定ファイル (*.zip)|*.zip\x02トンネルをZ" +
- "IPにエクスポート\x02%[1]s (未署名のビルド、更新の提供なし)\x02エラーのため WireGuard を終了します\x02%[1]v" +
- " のためサービスを終了できません。サービスマネージャから WireGuard を停止できます。\x02WireGuard の更新が利用可能です。" +
- "速やかに更新することを強く推奨します。\x02状態: ユーザーからの応答待ち\x02今すぐ更新\x02状態: アップデータサービスを待機中" +
- "\x02エラー: %[1]v。再度実行してください。\x02状態: 完了!\x02http2: Framer %[1]p: just-writt" +
- "enフレームのデコードに失敗\x02http2: Framer %[1]p: %[2]v を書き込みました\x02http2: Framer %" +
- "[1]p: %[2]v を読み込みました\x02http2: hpack フィールド %+[1]v をデコードしました"
+const ruData string = "" + // Size: 9674 bytes
+ "\x02Ошибка\x02(нет аргумента): получить права администратора и установит" +
+ "ь административную службу\x02Использование: %[1]s [\x0a%[2]s]\x02Параме" +
+ "тры командной строки\x02Ошибка определения или процесс работает как WOW" +
+ "64: %[1]v\x02Используйте 64-битную версию WireGuard на этом компьютере." +
+ "\x02Не удается открыть токен текущего процесса: %[1]v\x02WireGuard может" +
+ " использоваться только пользователями, входящими в группу %[1]s.\x02Wire" +
+ "Guard запущен, но пользовательский интерфейс доступен только с рабочих с" +
+ "толов группы %[1]s.\x02Значок в системном трее WireGuard не появился по" +
+ "сле 30 секунд.\x02Сейчас\x02Системные часы переведены назад!\x14\x01" +
+ "\x81\x01\x00\x04\x08\x02%[1]dг\x05\x08\x02%[1]dг\x02\x08\x02%[1]dг\x00" +
+ "\x08\x02%[1]dг\x14\x01\x81\x01\x00\x04\x08\x02%[1]dд\x05\x08\x02%[1]dд" +
+ "\x02\x08\x02%[1]dд\x00\x08\x02%[1]dд\x14\x01\x81\x01\x00\x04\x08\x02%[1]" +
+ "dч\x05\x08\x02%[1]dч\x02\x08\x02%[1]dч\x00\x08\x02%[1]dч\x14\x01\x81\x01" +
+ "\x00\x04\x0c\x02%[1]dмин\x05\x0c\x02%[1]dмин\x02\x0c\x02%[1]dмин\x00\x0c" +
+ "\x02%[1]dмин\x14\x01\x81\x01\x00\x04\x0c\x02%[1]dсек\x05\x0c\x02%[1]dсек" +
+ "\x02\x0c\x02%[1]dсек\x00\x0c\x02%[1]dсек\x02%[1]s назад\x02%[1]d Б\x02%." +
+ "2[1]f Кб\x02%.2[1]f Мб\x02%.2[1]f Гб\x02%.2[1]f Тб\x02%[1]s: %[2]q\x02Не" +
+ "допустимый IP-адрес\x02Недопустимая длина префикса сети\x02Отсутствует " +
+ "порт IP-адреса сервера\x02Неверный IP-адрес сервера\x02В скобках должен" +
+ " быть IPv6 адрес\x02Недопустимый MTU\x02Недопустимый порт\x02Недопустимо" +
+ "е значение поддержания соединения\x02Недопустимый ключ: %[1]v\x02Ключи " +
+ "должны декодироваться ровно с 32 байтами\x02Число должно быть между 0 и" +
+ " 2^64-1: %[1]v\x02Две запятые подряд\x02Неправильное имя туннеля\x02Стро" +
+ "ка должна быть в секции\x02Ключ должен иметь значение\x02Неверный ключ " +
+ "для секции [Interface]\x02Неверный ключ для секции [Peer]\x02В Интерфей" +
+ "се должен быть приватный ключ\x02[не указано]\x02Все пиры должны иметь " +
+ "открытые ключи\x02Ошибка при получении конфигурации\x02Неверный ключ дл" +
+ "я секции Интерфейса\x02Версия протокола должна быть 1\x02Неверный ключ " +
+ "для секции Пира\x02, \x02, \x02О WireGuard\x02Логотип WireGuard\x02Верс" +
+ "ия приложения: %[1]s\x0aВерсия бэкэнда: %[2]s\x0aВерсия перехода: %[3]s" +
+ "\x0aОперационная система: %[4]s\x0aАрхитектура: %[5]s\x02Закрыть\x02♥ &П" +
+ "ожертвовать!\x02Статус:\x02&Отключен\x02&Подключен\x02Публичный ключ:" +
+ "\x02Порт:\x02MTU:\x02IP-адреса:\x02DNS-серверы:\x02Общий ключ:\x02Разреш" +
+ "енные IP-адреса:\x02IP-адрес сервера:\x02Поддерживание соединения:\x02П" +
+ "оследнее рукопожатие:\x02Передача:\x02включено\x02Получено %[1]s, отпра" +
+ "влено %[2]s\x02Не удалось определить состояние туннеля\x02Не удалось по" +
+ "дключить туннель\x02Не удалось отключить туннель\x02Интерфейс: %[1]s" +
+ "\x02Пир\x02Создать туннель\x02Редактировать туннель\x02&Имя:\x02&Публичн" +
+ "ый ключ:\x02(неизвестно)\x02&Блокировать нетуннельный трафик\x02Когда к" +
+ "онфигурация имеет ровно одного пира, и у этого пира есть разрешенные IP" +
+ ", содержащие хотя бы один из 0.0.0.0/0 или ::/0, то служба туннеля обязы" +
+ "вает брандмауэр блокировать весь входящий и исходящий трафик, который н" +
+ "е проходит через туннель, за исключением DHCP и NDP.\x02&Сохранить\x02О" +
+ "тмена\x02&Конфигурация:\x02Недопустимое имя\x02Требуется имя.\x02Имя ту" +
+ "ннеля ‘%[1]s’ недопустимо.\x02Не удалось отобразить туннели\x02Туннель " +
+ "уже существует\x02Туннель с именем ’%[1]s’ уже существует.\x02Не удалос" +
+ "ь создать новую конфигурацию\x02Ошибка записи файла\x02Файл '%[1]s' уже" +
+ " существует!\x0a\x0aВы хотите перезаписать его?\x02Подключен\x02Подключе" +
+ "ние\x02Отключен\x02Отключение\x02Неизвестное состояние\x02Журнал\x02&Ко" +
+ "пировать\x02Выбрать &всё\x02&Сохранить в файл…\x02Время\x02Сообщение Жу" +
+ "рнала\x02Текстовые файлы (*.txt)|*.txt|Все файлы (*.*)|*.*\x02Экспорт Ж" +
+ "урнала в файл\x02&О WireGuard…\x02Ошибка туннеля\x02%[1]s\x0a\x0aОбрати" +
+ "тесь к журналу для получения дополнительной информации.\x02%[1]s (устар" +
+ "ел)\x02Ошибка обнаружения WireGuard\x02Не удалось дождаться появления о" +
+ "кна WireGuard: %[1]v\x02WireGuard: Деактивирован\x02Статус: Неизвестен" +
+ "\x02Адреса: нет\x02&Управление туннелями…\x02&Импорт туннелей из файла…" +
+ "\x02Вы&ход\x02Ошибка туннеля WireGuard\x02WireGuard: %[1]s\x02Статус: %[" +
+ "1]s\x02Адреса: %[1]s\x02WireGuard Включен\x02Туннель %[1]s подключен." +
+ "\x02WireGuard Выключен\x02Туннель %[1]s отключен.\x02Доступно обновление" +
+ "!\x02Доступно обновление WireGuard\x02Доступно обновление для WireGuard." +
+ " Рекомендуется обновить его как можно скорее.\x02Туннели\x02&Редактирова" +
+ "ть\x02Добавить &пустой туннель…\x02Добавить туннель\x02Удалить выбранны" +
+ "е туннели\x02Экспорт всех туннелей в zip-архив\x02&Переключить\x02Экспо" +
+ "рт всех туннелей в &zip-архив…\x02Редактировать &выбранный туннель…\x02" +
+ "&Удалить выбранные туннели\x02Невозможно импортировать конфигурацию: %[1" +
+ "]v\x02Не удалось перечислить существующие туннели: %[1]v\x02Туннель с им" +
+ "енем ’%[1]s’ уже существует\x02Невозможно импортировать конфигурацию: %" +
+ "[1]v\x02Импортированные туннели\x14\x01\x81\x01\x00\x041\x02Импортирован" +
+ "ы туннели: %[1]d\x051\x02Импортированы туннели: %[1]d\x024\x02Импортиро" +
+ "ванный %[1]d туннель\x001\x02Импортированы туннели: %[1]d\x14\x02\x80" +
+ "\x01\x04<\x02Импортированы туннели: %[1]d из %[2]d\x05<\x02Импортированы" +
+ " туннели: %[1]d из %[2]d\x02<\x02Импортированы туннели: %[1]d из %[2]d" +
+ "\x00<\x02Импортированы туннели: %[1]d из %[2]d\x02Не удалось создать тун" +
+ "нель\x14\x01\x81\x01\x00\x04%\x02Удалить туннели: %[1]d\x05%\x02Удалить" +
+ " туннели: %[1]d\x02$\x02Удалить %[1]d туннель\x00%\x02Удалить туннели: %" +
+ "[1]d\x14\x01\x81\x01\x00\x04O\x02Вы уверены, что хотите удалить туннели:" +
+ " %[1]d?\x05O\x02Вы уверены, что хотите удалить туннели: %[1]d?\x02N\x02В" +
+ "ы уверены, что хотите удалить %[1]d туннель?\x00O\x02Вы уверены, что хо" +
+ "тите удалить туннели: %[1]d?\x02Удалить туннель ‘%[1]s’\x02Вы уверены, " +
+ "что хотите удалить '%[1]s' туннель?\x02%[1]s Данное действие невозможно" +
+ " отменить.\x02Не удалось удалить туннель\x02Невозможно удалить туннель: " +
+ "%[1]s\x02Не удалось удалить туннели\x14\x01\x81\x01\x00\x04;\x02туннелей" +
+ " не удалось удалить: %[1]d\x05;\x02туннелей не удалось удалить: %[1]d" +
+ "\x029\x02%[1]d туннель не удалось удалить.\x00;\x02туннелей не удалось у" +
+ "далить: %[1]d\x02Файлы конфигурации (*.zip, *.conf)|*.zip;*.conf|Все фа" +
+ "йлы (*.*)|*.*\x02Импорт туннелей из файла\x02Конфигурация ZIP файлов (*" +
+ ".zip)|*.zip\x02Экспорт туннелей в zip-архив\x02%[1]s (неподписанная сбор" +
+ "ка, нет обновлений)\x02Ошибка выхода из WireGuard\x02Не удается выйти и" +
+ "з сервиса из-за: %[1]v. Вы можете остановить WireGuard из менеджера слу" +
+ "жб.\x02Доступно обновление WireGuard. Настоятельно рекомендуем обновить" +
+ " приложение.\x02Статус: Ожидание пользователя\x02Обновить Сейчас\x02Стат" +
+ "ус: Обновление\x02Ошибка: %[1]v. Попробуйте еще раз.\x02Статус: Заверше" +
+ "но!\x02http2: Framer %[1]p: не удалось декодировать только что записанн" +
+ "ый кадр\x02http2: Framer %[1]p: написал %[2]v\x02http2: Framer %[1]p: п" +
+ "рочитать %[2]v\x02http2: декодирован hpack поле %+[1]v"
var slIndex = []uint32{ // 177 elements
// Entry 0 - 1F
@@ -783,49 +1096,49 @@ var slIndex = []uint32{ // 177 elements
0x0000045d, 0x00000483, 0x00000490, 0x0000049f,
// Entry 20 - 3F
0x000004c3, 0x000004da, 0x0000050b, 0x0000053f,
- 0x00000554, 0x0000056b, 0x00000586, 0x00000586,
- 0x000005a1, 0x000005c6, 0x000005e6, 0x00000608,
- 0x00000616, 0x0000063d, 0x0000065d, 0x0000067f,
- 0x0000069d, 0x000006bf, 0x000006c2, 0x000006c4,
- 0x000006d1, 0x000006ef, 0x00000764, 0x0000076a,
- 0x00000778, 0x00000780, 0x0000078d, 0x00000798,
- 0x000007a6, 0x000007b9, 0x000007be, 0x000007c7,
+ 0x00000554, 0x0000056b, 0x00000586, 0x000005a1,
+ 0x000005c6, 0x000005e6, 0x00000608, 0x00000616,
+ 0x0000063d, 0x0000065d, 0x0000067f, 0x0000069d,
+ 0x000006bf, 0x000006c2, 0x000006c4, 0x000006d1,
+ 0x000006ef, 0x00000764, 0x0000076a, 0x00000778,
+ 0x00000780, 0x0000078d, 0x00000798, 0x000007a6,
+ 0x000007b9, 0x000007be, 0x000007c7, 0x000007d7,
// Entry 40 - 5F
- 0x000007d7, 0x000007ed, 0x000007fe, 0x0000080e,
- 0x0000082a, 0x0000083c, 0x00000844, 0x0000084f,
- 0x0000086c, 0x00000890, 0x000008ae, 0x000008ce,
- 0x000008dd, 0x000008e5, 0x000008f7, 0x00000903,
- 0x00000909, 0x00000918, 0x00000922, 0x0000094c,
- 0x00000a6d, 0x00000a75, 0x00000a7f, 0x00000a8f,
- 0x00000a9c, 0x00000aac, 0x00000ace, 0x00000afe,
- 0x00000b10, 0x00000b3b, 0x00000b62, 0x00000b80,
+ 0x000007ed, 0x000007fe, 0x0000080e, 0x0000082a,
+ 0x0000083c, 0x00000844, 0x0000084f, 0x0000086c,
+ 0x00000890, 0x000008ae, 0x000008ce, 0x000008dd,
+ 0x000008e5, 0x000008f7, 0x00000903, 0x00000909,
+ 0x00000918, 0x00000922, 0x0000094c, 0x00000a6d,
+ 0x00000a75, 0x00000a7f, 0x00000a8f, 0x00000a9c,
+ 0x00000aac, 0x00000ace, 0x00000afe, 0x00000b10,
+ 0x00000b3b, 0x00000b62, 0x00000b80, 0x00000bbb,
// Entry 60 - 7F
- 0x00000bbb, 0x00000bc3, 0x00000bcf, 0x00000bd9,
- 0x00000be7, 0x00000bf6, 0x00000bfe, 0x00000c07,
- 0x00000c13, 0x00000c2b, 0x00000c30, 0x00000c46,
- 0x00000c7e, 0x00000c98, 0x00000cab, 0x00000cb9,
- 0x00000ce8, 0x00000cfe, 0x00000d1b, 0x00000d56,
- 0x00000d6d, 0x00000d7c, 0x00000d8a, 0x00000da1,
- 0x00000dc0, 0x00000dc7, 0x00000ddf, 0x00000df0,
- 0x00000dfe, 0x00000e0d, 0x00000e21, 0x00000e3f,
+ 0x00000bc3, 0x00000bcf, 0x00000bd9, 0x00000be7,
+ 0x00000bf6, 0x00000bfe, 0x00000c07, 0x00000c13,
+ 0x00000c2b, 0x00000c30, 0x00000c46, 0x00000c7e,
+ 0x00000c98, 0x00000cab, 0x00000cb9, 0x00000ce8,
+ 0x00000cfe, 0x00000d1b, 0x00000d56, 0x00000d6d,
+ 0x00000d7c, 0x00000d8a, 0x00000da1, 0x00000dc0,
+ 0x00000dc7, 0x00000ddf, 0x00000df0, 0x00000dfe,
+ 0x00000e0d, 0x00000e21, 0x00000e3f, 0x00000e55,
// Entry 80 - 9F
- 0x00000e55, 0x00000e75, 0x00000e8e, 0x00000eae,
- 0x00000ef3, 0x00000efa, 0x00000f01, 0x00000f1a,
- 0x00000f26, 0x00000f3e, 0x00000f56, 0x00000f60,
- 0x00000f7e, 0x00000f97, 0x00000fb0, 0x00000fde,
- 0x00001011, 0x00001036, 0x0000105c, 0x0000106c,
- 0x000010d0, 0x0000115c, 0x00001178, 0x000011dd,
- 0x000012ca, 0x000012e5, 0x00001320, 0x0000134b,
- 0x00001365, 0x0000138d, 0x000013a8, 0x0000145c,
+ 0x00000e75, 0x00000e8e, 0x00000eb1, 0x00000ef6,
+ 0x00000efd, 0x00000f04, 0x00000f1d, 0x00000f29,
+ 0x00000f41, 0x00000f59, 0x00000f63, 0x00000f81,
+ 0x00000f9a, 0x00000fb3, 0x00000fe1, 0x00001014,
+ 0x00001039, 0x0000105f, 0x0000106f, 0x000010d3,
+ 0x0000115e, 0x0000117f, 0x000011e4, 0x000012d1,
+ 0x000012ec, 0x00001327, 0x00001352, 0x0000136c,
+ 0x00001394, 0x000013af, 0x00001463, 0x000014b0,
// Entry A0 - BF
- 0x000014a9, 0x000014c2, 0x000014ed, 0x00001501,
- 0x00001530, 0x00001550, 0x000015bd, 0x00001610,
- 0x0000162c, 0x0000163a, 0x00001661, 0x00001683,
- 0x00001695, 0x000016dd, 0x00001701, 0x00001725,
- 0x0000174a,
+ 0x000014c9, 0x000014f4, 0x00001511, 0x00001542,
+ 0x00001562, 0x000015cf, 0x00001622, 0x0000163e,
+ 0x0000164c, 0x00001673, 0x00001695, 0x000016a7,
+ 0x000016ef, 0x00001713, 0x00001737, 0x0000175c,
+ 0x0000175c,
} // Size: 732 bytes
-const slData string = "" + // Size: 5962 bytes
+const slData string = "" + // Size: 5980 bytes
"\x02Napaka\x02(brez argumenta): povzdigni na skrbniške pravice in namest" +
"i skrbniško storitev\x02Uporaba: %[1]s [\x0a%[2]s]\x02Možnosti ukazne vr" +
"stice\x02Napaka pri določanju ali proces teče kot WOW64: %[1]v\x02Na tem" +
@@ -882,46 +1195,146 @@ const slData string = "" + // Size: 5962 bytes
"paka tunela\x02%[1]s\x0a\x0aDodatne informacije najdete v dnevniku.\x02%" +
"[1]s (neposodobljen)\x02Napaka zaznavanja WireGuarda\x02Čakanje, da se p" +
"ojavi WireGuardovo okno, ni možno: %[1]v\x02WireGuard: Deaktiviran\x02St" +
- "atus: Neznan\x02Naslovi: Brez\x02&Upravljaj tunele\u00a0…\x02Uvoz&i tune" +
- "le iz datoteke\u00a0…\x02I&zhod\x02Napaka tunela WireGuard\x02WireGuard:" +
- " %[1]s\x02Status: %[1]s\x02Naslovi: %[1]s\x02WireGuard aktiviran\x02Tune" +
- "l %[1]s je bil aktiviran.\x02WireGuard deaktiviran\x02Tunel %[1]s je bil" +
- " deaktiviran.\x02Na voljo je posodobitev!\x02Posodobitev WireGuarda na v" +
- "oljo\x02Posodobitev WireGuarda je na voljo. Svetujemo posodobitev čim pr" +
- "ej.\x02Tuneli\x02Ur&edi\x02Dodaj praz&en tunel\u00a0…\x02Dodaj tunel\x02" +
- "Odstrani izbrane tunele\x02Izvozi vse tunele v zip\x02&Preklopi\x02Izvoz" +
- "i vse tunele v &zip\u00a0…\x02Uredi i&zbran tunel\u00a0…\x02Odst&rani iz" +
- "brane tunele\x02Napaka pri uvozu izbrane konfiguracije: %[1]v\x02Napaka " +
- "pri preštevanju obstoječih tunelov: %[1]v\x02Tunel z imenom »%[1]s« že o" +
- "bstaja\x02Napaka pri uvozu konfiguracije: %[1]v\x02Uvoženi tuneli\x14" +
- "\x01\x81\x01\x00\x04\x16\x02Uvoženi %[1]d tuneli\x02\x14\x02Uvožen %[1]d" +
- " tunel\x03\x16\x02Uvožena %[1]d tunela\x00\x17\x02Uvoženo %[1]d tunelov" +
- "\x14\x01\x81\x01\x00\x04 \x02Uvoženi %[1]d od %[2]d tunelov\x02\x1f\x02U" +
- "vožen %[1]d od %[2]d tunelov\x03 \x02Uvožena %[1]d od %[2]d tunelov\x00 " +
- "\x02Uvoženo %[1]d od %[2]d tunelov\x02Napaka pri stvaritvi tunela\x14" +
- "\x01\x81\x01\x00\x04\x16\x02Izbriši %[1]d tunele\x02\x15\x02Izbriši %[1]" +
- "d tunel\x03\x16\x02Izbriši %[1]d tunela\x00\x17\x02Izbriši %[1]d tunelov" +
- "\x14\x01\x81\x01\x00\x048\x02Ali ste prepričani, da želite izbrisati %[1" +
- "]d tunele?\x027\x02Ali ste prepričani, da želite izbrisati %[1]d tunel?" +
- "\x038\x02Ali ste prepričani, da želite izbrisati %[1]d tunela?\x009\x02A" +
- "li ste prepričani, da želite izbrisati %[1]d tunelov?\x02Izbriši tunel ‘" +
- "%[1]s’\x02Ali ste prepričani, da želite izbrisati tunel »%[1]s«?\x02%[1]" +
- "s Tega dejanja ne morete razveljaviti.\x02Napaka pri izbrisu tunela\x02N" +
- "apaka pri odstranjevanju tunela: %[1]s\x02Napaka pri izbrisu tunelov\x14" +
+ "atus: Neznan\x02Naslovi: Brez\x02&Upravljaj tunele\u00a0…\x02&Uvozi tune" +
+ "l(e) iz datoteke…\x02I&zhod\x02Napaka tunela WireGuard\x02WireGuard: %[1" +
+ "]s\x02Status: %[1]s\x02Naslovi: %[1]s\x02WireGuard aktiviran\x02Tunel %[" +
+ "1]s je bil aktiviran.\x02WireGuard deaktiviran\x02Tunel %[1]s je bil dea" +
+ "ktiviran.\x02Na voljo je posodobitev!\x02Posodobitev WireGuarda je na vo" +
+ "ljo\x02Posodobitev WireGuarda je na voljo. Svetujemo posodobitev čim pre" +
+ "j.\x02Tuneli\x02&Uredi\x02Dodaj &prazen tunel\u00a0…\x02Dodaj tunel\x02O" +
+ "dstrani izbrane tunele\x02Izvozi vse tunele v zip\x02&Preklopi\x02Izvozi" +
+ " vse tunele v &zip\u00a0…\x02Uredi &izbran tunel\u00a0…\x02Odst&rani izb" +
+ "rane tunele\x02Napaka pri uvozu izbrane konfiguracije: %[1]v\x02Napaka p" +
+ "ri preštevanju obstoječih tunelov: %[1]v\x02Tunel z imenom »%[1]s« že ob" +
+ "staja\x02Napaka pri uvozu konfiguracije: %[1]v\x02Uvoženi tuneli\x14\x01" +
+ "\x81\x01\x00\x04\x16\x02Uvoženi %[1]d tuneli\x02\x14\x02Uvožen %[1]d tun" +
+ "el\x03\x16\x02Uvožena %[1]d tunela\x00\x17\x02Uvoženo %[1]d tunelov\x14" +
+ "\x02\x80\x01\x04 \x02Uvoženi %[1]d od %[2]d tunelov\x02\x1f\x02Uvožen %[" +
+ "1]d od %[2]d tunelov\x03 \x02Uvožena %[1]d od %[2]d tunelov\x00 \x02Uvož" +
+ "eno %[1]d od %[2]d tunelov\x02Tunela ni bilo mogoče ustvariti\x14\x01" +
+ "\x81\x01\x00\x04\x16\x02Izbriši %[1]d tunele\x02\x15\x02Izbriši %[1]d tu" +
+ "nel\x03\x16\x02Izbriši %[1]d tunela\x00\x17\x02Izbriši %[1]d tunelov\x14" +
+ "\x01\x81\x01\x00\x048\x02Ali ste prepričani, da želite izbrisati %[1]d t" +
+ "unele?\x027\x02Ali ste prepričani, da želite izbrisati %[1]d tunel?\x038" +
+ "\x02Ali ste prepričani, da želite izbrisati %[1]d tunela?\x009\x02Ali st" +
+ "e prepričani, da želite izbrisati %[1]d tunelov?\x02Izbriši tunel ‘%[1]s" +
+ "’\x02Ali ste prepričani, da želite izbrisati tunel »%[1]s«?\x02%[1]s T" +
+ "ega dejanja ne morete razveljaviti.\x02Napaka pri izbrisu tunela\x02Napa" +
+ "ka pri odstranjevanju tunela: %[1]s\x02Napaka pri izbrisu tunelov\x14" +
"\x01\x81\x01\x00\x04*\x02%[1]d tunelov ni bilo mogoče odstraniti.\x02)" +
"\x02%[1]d tunela ni bilo mogoče odstraniti.\x03*\x02%[1]d tunelov ni bil" +
"o mogoče odstraniti.\x00*\x02%[1]d tunelov ni bilo mogoče odstraniti." +
"\x02Konfiguracijske datoteke (*.zip, *.conf)|*.zip;*.conf|Vse datoteke (" +
"*.*)|*.*\x02Uvozi tunele iz datoteke\x02Konfiguracijske datoteke ZIP (*." +
- "zip)|*.zip\x02Izvozi tunele v zip\x02%[1]s (nepodpisane izdelave, brez p" +
- "osodobitev)\x02Napaka pri izhodu iz WireGuarda\x02Storitve ni bilo mogoč" +
- "e zaustaviti, ker: %[1]v. Poskusite zaustaviti WireGuard z uporabo progr" +
- "ama Storitve.\x02Posodobitev WireGuarda je na voljo. Zelo priporočamo po" +
- "sodobitev brez odlašanja.\x02Status: Čaka na uporabnika\x02Posodobi zdaj" +
- "\x02Status: Čaka na servis za posodobitev\x02Napaka: %[1]v. Poskusite po" +
- "novno.\x02Status: Končano!\x02http2: Framer %[1]p: napaka pri dekodiranj" +
- "u ravnokar zapisanega okvirja\x02http2: Framer %[1]p: zapisano %[2]v\x02" +
- "http2: Framer %[1]p: prebrano %[2]v\x02http2: dekodirano polje hpack %+[" +
- "1]v"
+ "zip)|*.zip\x02Izvozi tunele v datoteko zip\x02%[1]s (nepodpisane različi" +
+ "ce, brez posodobitev)\x02Napaka pri izhodu iz WireGuarda\x02Storitve ni " +
+ "bilo mogoče zaustaviti, ker: %[1]v. Poskusite zaustaviti WireGuard z upo" +
+ "rabo programa Storitve.\x02Posodobitev WireGuarda je na voljo. Zelo prip" +
+ "oročamo posodobitev brez odlašanja.\x02Status: Čaka na uporabnika\x02Pos" +
+ "odobi zdaj\x02Status: Čaka na servis za posodobitev\x02Napaka: %[1]v. Po" +
+ "skusite ponovno.\x02Status: Končano!\x02http2: Framer %[1]p: napaka pri " +
+ "dekodiranju ravnokar zapisanega okvirja\x02http2: Framer %[1]p: zapisano" +
+ " %[2]v\x02http2: Framer %[1]p: prebrano %[2]v\x02http2: dekodirano polje" +
+ " hpack %+[1]v"
+
+var zh_CNIndex = []uint32{ // 177 elements
+ // Entry 0 - 1F
+ 0x00000000, 0x00000007, 0x00000031, 0x00000048,
+ 0x00000058, 0x0000008e, 0x000000cc, 0x000000f2,
+ 0x00000137, 0x00000191, 0x000001c8, 0x000001cf,
+ 0x000001e5, 0x000001f6, 0x00000207, 0x0000021b,
+ 0x0000022f, 0x00000240, 0x0000024a, 0x00000252,
+ 0x0000025f, 0x0000026c, 0x00000279, 0x00000286,
+ 0x00000293, 0x000002a2, 0x000002bb, 0x000002d1,
+ 0x000002e4, 0x00000306, 0x00000311, 0x0000031e,
+ // Entry 20 - 3F
+ 0x00000337, 0x0000034f, 0x00000373, 0x000003b1,
+ 0x000003ca, 0x000003dd, 0x000003f9, 0x0000040f,
+ 0x0000042e, 0x00000448, 0x00000464, 0x00000474,
+ 0x00000496, 0x000004ac, 0x000004c5, 0x000004dd,
+ 0x000004f6, 0x000004f9, 0x000004fc, 0x0000050d,
+ 0x00000524, 0x0000058c, 0x00000593, 0x000005a0,
+ 0x000005aa, 0x000005b2, 0x000005ba, 0x000005c2,
+ 0x000005d0, 0x000005d5, 0x000005df, 0x000005ee,
+ // Entry 40 - 5F
+ 0x00000601, 0x00000611, 0x0000061b, 0x0000062f,
+ 0x00000640, 0x00000648, 0x00000652, 0x00000673,
+ 0x0000068c, 0x0000069f, 0x000006b2, 0x000006c1,
+ 0x000006c8, 0x000006d8, 0x000006e5, 0x000006ee,
+ 0x000006f7, 0x00000704, 0x0000072f, 0x00000814,
+ 0x0000081c, 0x00000823, 0x0000082e, 0x0000083b,
+ 0x00000851, 0x00000871, 0x0000088a, 0x0000089a,
+ 0x000008c8, 0x000008e1, 0x000008f4, 0x00000930,
+ // Entry 60 - 7F
+ 0x00000937, 0x00000941, 0x0000094b, 0x00000955,
+ 0x00000962, 0x00000969, 0x00000971, 0x00000980,
+ 0x00000994, 0x0000099b, 0x000009a8, 0x000009d7,
+ 0x000009ed, 0x00000a02, 0x00000a0f, 0x00000a32,
+ 0x00000a48, 0x00000a5f, 0x00000a8a, 0x00000aa1,
+ 0x00000ab1, 0x00000abe, 0x00000acf, 0x00000ae9,
+ 0x00000af1, 0x00000b08, 0x00000b19, 0x00000b29,
+ 0x00000b39, 0x00000b50, 0x00000b73, 0x00000b8a,
+ // Entry 80 - 9F
+ 0x00000ba4, 0x00000bbd, 0x00000bda, 0x00000c1f,
+ 0x00000c26, 0x00000c2e, 0x00000c42, 0x00000c4f,
+ 0x00000c65, 0x00000c7e, 0x00000c86, 0x00000ca3,
+ 0x00000cbe, 0x00000cd5, 0x00000cf9, 0x00000d1c,
+ 0x00000d47, 0x00000d62, 0x00000d6f, 0x00000d8d,
+ 0x00000dc3, 0x00000dd6, 0x00000df4, 0x00000e24,
+ 0x00000e3d, 0x00000e65, 0x00000e87, 0x00000e9a,
+ 0x00000eb6, 0x00000ec9, 0x00000eef, 0x00000f2d,
+ // Entry A0 - BF
+ 0x00000f43, 0x00000f63, 0x00000f76, 0x00000f9a,
+ 0x00000fb5, 0x00001011, 0x00001056, 0x0000106c,
+ 0x00001079, 0x00001095, 0x000010b3, 0x000010c6,
+ 0x000010fa, 0x00001122, 0x0000114a, 0x0000116f,
+ 0x0000116f,
+} // Size: 732 bytes
+
+const zh_CNData string = "" + // Size: 4463 bytes
+ "\x02错误\x02(无参数):提升并安装管理服务\x02用法: %[1]s [\x0a%[2]s]\x02命令行选项\x02无法确定该进程是否" +
+ "在WOW64下运行: %[1]v\x02您必须在此计算机上使用64位版本的 WireGuard 。\x02无法打开当前进程令牌: %[1]v" +
+ "\x02WireGuard 可能只能被内建的 %[1]s 小组中的成员使用。\x02WireGuard 正在运行,但用户界面只能从内建的 %[1" +
+ "]s 小组的桌面访问。\x02WireGuard 系统托盘图标在30秒后没有出现。\x02刚刚\x02系统时钟倒转!\x14\x01\x81" +
+ "\x01\x00\x00\x0a\x02%[1]d 年\x14\x01\x81\x01\x00\x00\x0a\x02%[1]d 天\x14" +
+ "\x01\x81\x01\x00\x00\x0d\x02%[1]d 小时\x14\x01\x81\x01\x00\x00\x0d\x02%[1]" +
+ "d 分钟\x14\x01\x81\x01\x00\x00\x0a\x02%[1]d 秒\x02%[1]s 前\x02%[1]d B\x02%.2" +
+ "[1]f\u00a0KiB\x02%.2[1]f\u00a0MiB\x02%.2[1]f\u00a0GiB\x02%.2[1]f\u00a0Ti" +
+ "B\x02%[1]s: %[2]q\x02IP地址无效\x02网络前缀长度无效\x02端点中缺少端口\x02端点主机无效\x02括号应包含一个 " +
+ "IPv6 地址\x02MTU 无效\x02端口无效\x02连接保活间隔无效\x02无效的密钥:%[1]v\x02密钥必须解码为正好32字节" +
+ "\x02数必须是一个介于 0 至 2^64-1 之间的数字:%[1]v\x02一行中有两个逗号\x02隧道名称无效\x02行必须出现在段落中" +
+ "\x02键必须有一个值\x02[Interface] 段落的键无效\x02[Peer] 段落的键无效\x02接口必须有一个私钥\x02【未指定】" +
+ "\x02所有节点必须拥有公钥。\x02获取配置时出错\x02接口段落的键无效\x02协议版本必须为 1\x02节点段落的键无效\x02, " +
+ "\x02, \x02关于 WireGuard\x02WireGuard 标志图片\x02应用版本: %[1]s\x0aGo 后端版本: %[2]" +
+ "s\x0aGo 版本: %[3]s\x0a操作系统: %[4]s\x0a架构: %[5]s\x02关闭\x02♥ &捐助!\x02状态:\x02" +
+ "&停用\x02&启动\x02公钥:\x02监听端口:\x02MTU:\x02地址:\x02DNS 服务器:\x02预分享密钥:\x02允许的 I" +
+ "P:\x02端点:\x02连接保活间隔:\x02最新的握手:\x02流量:\x02已启用\x02%[1]s 已收到, %[2]s 已发送\x02" +
+ "判断隧道状态失败\x02启动隧道失败\x02停用隧道失败\x02接口:%[1]s\x02节点\x02创建新隧道\x02编辑隧道\x02&名称" +
+ ":\x02&公钥:\x02(未知)\x02&拦截未经隧道的流量(禁用交换)\x02当配置只有一个节点,且该节点的允许 IP 列表至少包含 0.0" +
+ ".0.0/0 或 ::/0 的其中一个 IP 时,隧道服务会使用防火墙规则集来拦截所有进出隧道接口的流量,但 DHCP 和 NDP 除外。" +
+ "\x02&保存\x02取消\x02&配置:\x02名称无效\x02名称是必需的。\x02隧道名称 ”%[1]s“ 无效\x02无法列出现有隧道" +
+ "\x02隧道已存在\x02另一个同名的隧道 \x22%[1]s\x22 已存在。\x02无法创建新的配置\x02写入文件失败\x02文件”%[1" +
+ "]s“ 已存在。\x0a\x0a您确定要覆盖它吗?\x02激活\x02启动中\x02未激活\x02停用中\x02未知状态\x02日志\x02&复" +
+ "制\x02选择 &所有\x02&保存到文件…\x02时间\x02记录消息\x02文本文件 (*.txt)|*.txt|All Files (" +
+ "*.*)|*.*\x02导出日志到文件\x02&关于 WireGuard…\x02隧道错误\x02%[1]s\x0a\x0a更多信息请查看日志" +
+ "\x02%[1]s (已过时)\x02WireGuard 检测错误\x02无法等待 WireGuard 窗口出现: %[1]v\x02WireG" +
+ "uard :已停用\x02状态:未知\x02地址:无\x02&管理隧道…\x02&从文件导入隧道…\x02退&出\x02WireGuard 隧道" +
+ "错误\x02WireGuard: %[1]s\x02状态: %[1]s\x02地址: %[1]s\x02WireGuard :已启动\x02" +
+ "隧道 ”%[1]s“ 已被启动。\x02WireGuard :未启动\x02隧道 %[1]s 已停用。\x02有一项可用更新!\x02Wir" +
+ "eGuard 有可用的更新\x02发现一个可用的 WireGuard 更新。强烈建议尽快安装。\x02隧道\x02&编辑\x02添加&空隧道…" +
+ "\x02添加隧道\x02移除选择的隧道\x02导出所有隧道到zip\x02&切换\x02导出所有隧道到&zip…\x02编辑 &选择的隧道…" +
+ "\x02&移除选择的隧道\x02无法导入选择的配置:%[1]v\x02无法列出现有的隧道: %[1]v\x02另一个同名的隧道 \x22%[1]" +
+ "s\x22 已存在\x02无法导入配置:%[1]v\x02导入隧道\x14\x01\x81\x01\x00\x00\x17\x02导入了 %[1" +
+ "]d 隧道\x14\x02\x80\x01\x000\x02导入了 %[2]d 个隧道中的 %[1]d 个隧道\x02无法创建隧道\x14" +
+ "\x01\x81\x01\x00\x00\x17\x02删除 %[1]d 个隧道\x14\x01\x81\x01\x00\x00)\x02您确定" +
+ "要删除 %[1]d 个隧道吗?\x02删除隧道 ”%[1]s“\x02您确定要删除隧道 \x22%[1]s\x22 吗?\x02%[1]s " +
+ "您无法撤销此操作。\x02无法删除隧道\x02无法移除隧道: %[1]s\x02无法删除隧道\x14\x01\x81\x01\x00\x00" +
+ "\x1f\x02%[1]d 隧道无法被移除。\x02配置文件 (*.zip, *.conf)|*.zip;*.conf|All Files (*" +
+ ".*)|*.*\x02从文件导入隧道\x02配置 ZIP 文件 (*.zip)|*.zip\x02导出隧道为Zip\x02%[1]s (未签名构" +
+ "建,无更新)\x02退出 WireGuard 时出错\x02因为: %[1]v 无法退出服务。您可能想要从服务管理器中停止 WireGuar" +
+ "d 。\x02发现一个可用的 WireGuard 更新。强烈建议尽快安装。\x02状态:等待用户\x02立即更新\x02状态:等待更新服务" +
+ "\x02错误:%[1]v。请重试。\x02状态:完成!\x02http2: 成帧器 %[1]p: 解码刚写入的帧失败\x02http2: 成帧器" +
+ " %[1]p: 写入了 %[2]v\x02http2: 成帧器 %[1]p: 读取了 %[2]v\x02http2: 解码的 hpack 字段 " +
+ "%+[1]v"
- // Total table size 33748 bytes (32KiB); checksum: DD56DCD2
+ // Total table size 56355 bytes (55KiB); checksum: 712539F7