aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/locales
diff options
context:
space:
mode:
Diffstat (limited to 'locales')
-rw-r--r--locales/af/messages.gotext.json1733
-rw-r--r--locales/ar/messages.gotext.json1771
-rw-r--r--locales/ca/messages.gotext.json365
-rw-r--r--locales/cs/messages.gotext.json416
-rw-r--r--locales/da/messages.gotext.json364
-rw-r--r--locales/de/messages.gotext.json366
-rw-r--r--locales/el/messages.gotext.json938
-rw-r--r--locales/en/messages.gotext.json365
-rw-r--r--locales/es-ES/messages.gotext.json341
-rw-r--r--locales/et/messages.gotext.json356
-rw-r--r--locales/fa/messages.gotext.json358
-rw-r--r--locales/fi/messages.gotext.json376
-rw-r--r--locales/fr/messages.gotext.json352
-rw-r--r--locales/he/messages.gotext.json1795
-rw-r--r--locales/hi/messages.gotext.json1735
-rw-r--r--locales/hu/messages.gotext.json1735
-rw-r--r--locales/id/messages.gotext.json990
-rw-r--r--locales/it/messages.gotext.json367
-rw-r--r--locales/ja/messages.gotext.json358
-rw-r--r--locales/ko/messages.gotext.json418
-rw-r--r--locales/nb/messages.gotext.json1733
-rw-r--r--locales/nl/messages.gotext.json363
-rw-r--r--locales/nn-NO/messages.gotext.json1733
-rw-r--r--locales/no/messages.gotext.json11
-rw-r--r--locales/pa-IN/messages.gotext.json480
-rw-r--r--locales/pl/messages.gotext.json422
-rw-r--r--locales/pt-BR/messages.gotext.json489
-rw-r--r--locales/pt-PT/messages.gotext.json1733
-rw-r--r--locales/ro/messages.gotext.json410
-rw-r--r--locales/ru/messages.gotext.json432
-rw-r--r--locales/si-LK/messages.gotext.json365
-rw-r--r--locales/sk/messages.gotext.json425
-rw-r--r--locales/sl/messages.gotext.json475
-rw-r--r--locales/sr/messages.gotext.json1765
-rw-r--r--locales/sv-SE/messages.gotext.json350
-rw-r--r--locales/tr/messages.gotext.json344
-rw-r--r--locales/uk/messages.gotext.json418
-rw-r--r--locales/vi/messages.gotext.json1244
-rw-r--r--locales/zh-CN/messages.gotext.json346
-rw-r--r--locales/zh-TW/messages.gotext.json354
40 files changed, 22847 insertions, 6544 deletions
diff --git a/locales/af/messages.gotext.json b/locales/af/messages.gotext.json
new file mode 100644
index 00000000..0a79bab6
--- /dev/null
+++ b/locales/af/messages.gotext.json
@@ -0,0 +1,1733 @@
+{
+ "language": "af",
+ "messages": [
+ {
+ "id": "Error",
+ "message": "Error",
+ "translation": "Fout",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Fout:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(no argument): elevate and install manager service",
+ "message": "(no argument): elevate and install manager service",
+ "translation": "(geen argument): verhoog regte en installeer bestuurderdiens",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Usage: {Args0} [\n{String}]",
+ "message": "Usage: {Args0} [\n{String}]",
+ "translation": "Gebruik: {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": "Opdragreëlopsies",
+ "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": "Kan nie bepaal of die proses onder WOW64 loop nie: {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 native version of WireGuard on this computer.",
+ "message": "You must use the native version of WireGuard on this computer.",
+ "translation": "Jy moet die inheemse weergawe van WireGuard op hierdie rekenaar gebruik.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to open current process token: {Err}",
+ "message": "Unable to open current process token: {Err}",
+ "translation": "Kan nie die huidige prosesteken oopmaak nie: {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 mag slegs gebruik word deur gebruikers wat lid is van die ingeboude {AdminGroupName}-groep.",
+ "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 loop, maar die gebruikerskoppelvlak is slegs toeganklik vanaf werkskerms van die ingeboude {AdminGroupName}-groep.",
+ "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-stelselskinkbordikoon het nie na 30 sekondes verskyn nie.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Now",
+ "message": "Now",
+ "translation": "Nou",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "System clock wound backward!",
+ "message": "System clock wound backward!",
+ "translation": "Stelselhorlosie is teruggedraai!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Years} year(s)",
+ "message": "{Years} year(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Years",
+ "cases": {
+ "one": {
+ "msg": "{Years} jaar"
+ },
+ "other": {
+ "msg": "{Years} jaar"
+ }
+ }
+ }
+ },
+ "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} dag"
+ },
+ "other": {
+ "msg": "{Days} dae"
+ }
+ }
+ }
+ },
+ "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} uur"
+ },
+ "other": {
+ "msg": "{Hours} ure"
+ }
+ }
+ }
+ },
+ "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} minuut"
+ },
+ "other": {
+ "msg": "{Minutes} minute"
+ }
+ }
+ }
+ },
+ "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} sekonde"
+ },
+ "other": {
+ "msg": "{Seconds} sekondes"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Seconds",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "seconds"
+ }
+ ]
+ },
+ {
+ "id": "{Timestamp} ago",
+ "message": "{Timestamp} ago",
+ "translation": "{Timestamp} gelede",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "Ongeldige IP-adres:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Missing port from endpoint",
+ "message": "Missing port from endpoint",
+ "translation": "Poort ontbreek by eindpunt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid endpoint host",
+ "message": "Invalid endpoint host",
+ "translation": "Ongeldige eindpunt-gasheer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Brackets must contain an IPv6 address",
+ "message": "Brackets must contain an IPv6 address",
+ "translation": "Hakies moet 'n IPv6-adres bevat",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid MTU",
+ "message": "Invalid MTU",
+ "translation": "Ongeldige MTU",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid port",
+ "message": "Invalid port",
+ "translation": "Ongeldige poort",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid persistent keepalive",
+ "message": "Invalid persistent keepalive",
+ "translation": "Ongeldige aanhoudende keepalive",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key: {Err}",
+ "message": "Invalid key: {Err}",
+ "translation": "Ongeldige sleutel: {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": "Sleutels moet na presies 32 grepe dekodeer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Two commas in a row",
+ "message": "Two commas in a row",
+ "translation": "Twee kommas op 'n ry",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name is not valid",
+ "message": "Tunnel name is not valid",
+ "translation": "Tonnelnaam is ongeldig",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Line must occur in a section",
+ "message": "Line must occur in a section",
+ "translation": "Reël moet binne 'n afdeling voorkom",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Config key is missing an equals separator",
+ "message": "Config key is missing an equals separator",
+ "translation": "Konfigurasiesleutel mis 'n gelykskeier",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Key must have a value",
+ "message": "Key must have a value",
+ "translation": "Sleutel moet 'n waarde hê",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Interface] section",
+ "message": "Invalid key for [Interface] section",
+ "translation": "Ongeldige sleutel vir [Interface]-afdeling",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Peer] section",
+ "message": "Invalid key for [Peer] section",
+ "translation": "Ongeldige sleutel vir [Peer]-afdeling",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An interface must have a private key",
+ "message": "An interface must have a private key",
+ "translation": "'n Koppelvlak moet 'n private sleutel hê",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "[none specified]",
+ "message": "[none specified]",
+ "translation": "[geen gespesifiseer]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "All peers must have public keys",
+ "message": "All peers must have public keys",
+ "translation": "Alle peers moet publieke sleutels hê",
+ "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": "Aangaande WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard logo image",
+ "message": "WireGuard logo image",
+ "translation": "WireGuard-logo-beeld",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Programweergawe: {Number}\nDrywerweergawe: {Version}\nGo-weergawe: {Version_go}\nBedryfstelsel: {OsName}\nArgitektuur: {Arch}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "Version",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "driver.Version()"
+ },
+ {
+ "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": "Arch",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "version.Arch()"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "Maak toe",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Skenk!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": ""
+ },
+ {
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Deaktiveer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktiveer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Public key:",
+ "message": "Public key:",
+ "translation": "Publieke sleutel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Listen port:",
+ "message": "Listen port:",
+ "translation": "Luisterpoort:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "MTU:",
+ "message": "MTU:",
+ "translation": ""
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "Adresse:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "DNS-bedieners:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": "Skripte:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Preshared key:",
+ "message": "Preshared key:",
+ "translation": "Vooraf gedeelde sleutel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Allowed IPs:",
+ "message": "Allowed IPs:",
+ "translation": "Toegelate IP's:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Endpoint:",
+ "message": "Endpoint:",
+ "translation": "Eindpunt:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Persistent keepalive:",
+ "message": "Persistent keepalive:",
+ "translation": "Aanhoudende keepalive:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Latest handshake:",
+ "message": "Latest handshake:",
+ "translation": "Jongste handdruk:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Transfer:",
+ "message": "Transfer:",
+ "translation": "Oordrag:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-up",
+ "message": "pre-up",
+ "translation": "voor-aktivering",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "na-aktivering",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "voor-deaktivering",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "na-deaktivering",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "gedeaktiveer, volgens beleid",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "af",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "enabled",
+ "message": "enabled",
+ "translation": "geaktiveer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{String} received, {String_1} sent",
+ "message": "{String} received, {String_1} sent",
+ "translation": "{String} ontvang, {String_1} gestuur",
+ "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": "Kon nie tonnelstatus bepaal nie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to activate tunnel",
+ "message": "Failed to activate tunnel",
+ "translation": "Kon nie tonnel aktiveer nie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to deactivate tunnel",
+ "message": "Failed to deactivate tunnel",
+ "translation": "Kon nie tonnel deaktiveer nie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Interface: {Name}",
+ "message": "Interface: {Name}",
+ "translation": "Koppelvlak: {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": "Eweknie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Create new tunnel",
+ "message": "Create new tunnel",
+ "translation": "Skep nuwe tonnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit tunnel",
+ "message": "Edit tunnel",
+ "translation": "Wysig tonnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Naam:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Publieke sleutel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(onbekend)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blokkeer ongetonnelde verkeer (doodskakelaar)",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Wanneer 'n konfigurasie presies een peer het, en daardie peer se toegelate IP's ten minste een van 0.0.0.0/0 of ::/0 bevat, en die koppelvlak nie tabel af het nie, dan pas die tonneldiens 'n brandmuurreëlstel toe om alle verkeer te blokkeer wat nie van of na die tonnelkoppelvlak gaan nie of na die verkeerde DNS-bediener gaan, met spesiale uitsonderings vir DHCP en NDP.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Stoor",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "Kanselleer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfigurasie:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid name",
+ "message": "Invalid name",
+ "translation": "Ongeldige naam",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A name is required.",
+ "message": "A name is required.",
+ "translation": "'n Naam word vereis.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name ‘{NewName}’ is invalid.",
+ "message": "Tunnel name ‘{NewName}’ is invalid.",
+ "translation": "Tonnelnaam ‘{NewName}’ is ongeldig.",
+ "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": "Kan nie bestaande tonnels lys nie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel already exists",
+ "message": "Tunnel already exists",
+ "translation": "Tonnel bestaan reeds",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{NewName}’.",
+ "message": "Another tunnel already exists with the name ‘{NewName}’.",
+ "translation": "'n Ander tonnel met die naam ‘{NewName}’ bestaan reeds.",
+ "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": "Kan nie nuwe konfigurasie skep nie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Writing file failed",
+ "message": "Writing file failed",
+ "translation": "Skryf van lêer het misluk",
+ "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": "Lêer ‘{FilePath}’ bestaan reeds.\n\nWil jy dit oorskryf?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "FilePath",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "filePath"
+ }
+ ]
+ },
+ {
+ "id": "Active",
+ "message": "Active",
+ "translation": "Aktief",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Activating",
+ "message": "Activating",
+ "translation": "Besig om te aktiveer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Inactive",
+ "message": "Inactive",
+ "translation": "Onaktief",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Deactivating",
+ "message": "Deactivating",
+ "translation": "Besig om te deaktiveer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unknown state",
+ "message": "Unknown state",
+ "translation": "Onbekende status",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log",
+ "message": "Log",
+ "translation": "Logboek",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopieer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Kies \u0026alles",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Stoor na lêer…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Time",
+ "message": "Time",
+ "translation": "Tyd",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log message",
+ "message": "Log message",
+ "translation": "Logboekboodskap",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "translation": "Tekslêers (*.txt)|*.txt|Alle Lêers (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export log to file",
+ "message": "Export log to file",
+ "translation": "Voer logboek na lêer uit",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Aangaande WireGuard…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel Error",
+ "message": "Tunnel Error",
+ "translation": "Tonnelfout",
+ "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\nRaadpleeg asseblief die logboek vir meer inligting.",
+ "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} (verouder)",
+ "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-bespeuringsfout",
+ "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": "Kan nie wag dat WireGuard-venster verskyn nie: {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: Gedeaktiveer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Unknown",
+ "message": "Status: Unknown",
+ "translation": "Status: Onbekend",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses: None",
+ "message": "Addresses: None",
+ "translation": "Adresse: Geen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Bestuur tonnels…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Voer tonnel(s) vanaf lêer in…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026Sluit af",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tonnels",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Activated",
+ "message": "WireGuard Activated",
+ "translation": "WireGuard geaktiveer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been activated.",
+ "message": "The {Name} tunnel has been activated.",
+ "translation": "Die {Name}-tonnel is geaktiveer.",
+ "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 gedeaktiveer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been deactivated.",
+ "message": "The {Name} tunnel has been deactivated.",
+ "translation": "Die {Name}-tonnel is gedeaktiveer.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "WireGuard-tonnelfout",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "TextForStateglobalState_true",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "textForState(globalState, true)"
+ }
+ ]
+ },
+ {
+ "id": "Status: {StateText}",
+ "message": "Status: {StateText}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "StateText",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "stateText"
+ }
+ ]
+ },
+ {
+ "id": "Addresses: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "Adresse: {EnumerationSeparator}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "EnumerationSeparator",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
+ }
+ ]
+ },
+ {
+ "id": "An Update is Available!",
+ "message": "An Update is Available!",
+ "translation": "'n Bywerking is beskikbaar!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Update Available",
+ "message": "WireGuard Update Available",
+ "translation": "WireGuard-bywerking beskikbaar",
+ "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": "'n Bywerking vir WireGuard is nou beskikbaar. Jy word aangeraai om so gou as moontlik by te werk.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnels",
+ "message": "Tunnels",
+ "translation": "Tonnels",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Wysig",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Voeg \u0026leë tonnel by…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add Tunnel",
+ "message": "Add Tunnel",
+ "translation": "Voeg tonnel by",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Remove selected tunnel(s)",
+ "message": "Remove selected tunnel(s)",
+ "translation": "Verwyder gekose tonnel(s)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to zip",
+ "message": "Export all tunnels to zip",
+ "translation": "Voer alle tonnels na zip uit",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Wissel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Voer alle tonnels na \u0026zip uit…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Wysig \u0026gekose tonnel…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Verwyder gekose tonnel(s)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "translation": "geen konfigurasielêers gevind nie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Could not import selected configuration: {LastErr}",
+ "message": "Could not import selected configuration: {LastErr}",
+ "translation": "Kon nie gekose konfigurasie invoer nie: {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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Kon nie bestaande tonnels lys nie: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{Name}’",
+ "message": "Another tunnel already exists with the name ‘{Name}’",
+ "translation": "'n Ander tonnel met die naam ‘{Name}’ bestaan reeds",
+ "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": "Kan nie konfigurasie invoer nie: {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": "Ingevoerde tonnels",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Imported {M} tunnels",
+ "message": "Imported {M} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "M",
+ "cases": {
+ "one": {
+ "msg": "{M} tonnel ingevoer"
+ },
+ "other": {
+ "msg": "{M} tonnels ingevoer"
+ }
+ }
+ }
+ },
+ "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} van {N} tonnel ingevoer"
+ },
+ "other": {
+ "msg": "{M} van {N} tonnels ingevoer"
+ }
+ }
+ }
+ },
+ "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": "Kan nie tonnel skep nie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Delete {TunnelCount} tunnels",
+ "message": "Delete {TunnelCount} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "one": {
+ "msg": "Skrap {TunnelCount} tonnel"
+ },
+ "other": {
+ "msg": "Skrap {TunnelCount} tonnels"
+ }
+ }
+ }
+ },
+ "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": "Is jy seker jy wil {TunnelCount} tonnel skrap?"
+ },
+ "other": {
+ "msg": "Is jy seker jy wil {TunnelCount} tonnels skrap?"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Delete tunnel ‘{TunnelName}’",
+ "message": "Delete tunnel ‘{TunnelName}’",
+ "translation": "Skrap tonnel ‘{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": "Is jy seker jy wil die tonnel ‘{TunnelName}’ skrap?",
+ "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} Jy kan hierdie aksie nie ongedaan maak nie.",
+ "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": "Kan nie tonnel skrap nie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A tunnel was unable to be removed: {Error}",
+ "message": "A tunnel was unable to be removed: {Error}",
+ "translation": "'n Tonnel kon nie verwyder word nie: {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": "Kan nie tonnels skrap nie",
+ "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} tonnel kon nie verwyder word nie."
+ },
+ "other": {
+ "msg": "{Lenerrors} tonnels kon nie verwyder word nie."
+ }
+ }
+ }
+ },
+ "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": "Konfigurasielêers (*.zip, *.conf)|*.zip;*.conf|Alle Lêers (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Import tunnel(s) from file",
+ "message": "Import tunnel(s) from file",
+ "translation": "Voer tonnel(s) vanaf lêer in",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Configuration ZIP Files (*.zip)|*.zip",
+ "message": "Configuration ZIP Files (*.zip)|*.zip",
+ "translation": "Konfigurasie ZIP-lêers (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "Voer tonnels na zip uit",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (ongetekende bou, geen bywerkings)",
+ "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": "Fout met afsluiting van 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": "Kan nie diens afsluit nie weens: {Err}. Jy wil dalk WireGuard vanaf die diensbestuurder stop.",
+ "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": "'n Bywerking vir WireGuard is beskikbaar. Dit word sterk aanbeveel om sonder vertraging by te werk.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for user",
+ "message": "Status: Waiting for user",
+ "translation": "Status: Wag vir gebruiker",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Update Now",
+ "message": "Update Now",
+ "translation": "Werk nou by",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Vra asseblief die stelseladministrateur om by te werk.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: Wag vir administrateur",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "Status: Wag vir bywerkingsdiens",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error: {Err}. Please try again.",
+ "message": "Error: {Err}. Please try again.",
+ "translation": "Fout: {Err}. Probeer asseblief weer.",
+ "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: Voltooid!",
+ "translatorComment": "Copied from source."
+ }
+ ]
+} \ No newline at end of file
diff --git a/locales/ar/messages.gotext.json b/locales/ar/messages.gotext.json
index 8546b0ff..73b96223 100644
--- a/locales/ar/messages.gotext.json
+++ b/locales/ar/messages.gotext.json
@@ -8,9 +8,15 @@
"translatorComment": "Copied from source."
},
{
+ "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": "(بدون معطيات): تصعيد الصلاحيات و تثبيت مدير الخدمة",
+ "translation": "(بدون معطيات): تصعيد الصلاحيات وتثبيت مدير الخدمة",
"translatorComment": "Copied from source."
},
{
@@ -40,13 +46,13 @@
{
"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": [
{
@@ -68,7 +74,7 @@
{
"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": [
{
@@ -84,7 +90,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} المدمجة.",
+ "translation": "يمكن استخدام WireGuard فقط من قبل المستخدمين الذين هم أعضاء في مجموعة {AdminGroupName} المدمجة.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -96,6 +102,1761 @@
"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": {
+ "few": {
+ "msg": "{Years} سنوات"
+ },
+ "many": {
+ "msg": "{Years} سنة"
+ },
+ "one": {
+ "msg": "سنة واحدة"
+ },
+ "other": {
+ "msg": "{Years} سنة"
+ },
+ "two": {
+ "msg": "سنتان"
+ },
+ "zero": {
+ "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": {
+ "few": {
+ "msg": "{Days} أيام"
+ },
+ "many": {
+ "msg": "{Days} يوماً"
+ },
+ "one": {
+ "msg": "يوم واحد"
+ },
+ "other": {
+ "msg": "{Days} يوم"
+ },
+ "two": {
+ "msg": "يومان"
+ },
+ "zero": {
+ "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": {
+ "few": {
+ "msg": "{Hours} ساعات"
+ },
+ "many": {
+ "msg": "{Hours} ساعة"
+ },
+ "one": {
+ "msg": "ساعة واحدة"
+ },
+ "other": {
+ "msg": "{Hours} ساعة"
+ },
+ "two": {
+ "msg": "ساعتان"
+ },
+ "zero": {
+ "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": {
+ "few": {
+ "msg": "{Minutes} دقائق"
+ },
+ "many": {
+ "msg": "{Minutes} دقيقة"
+ },
+ "one": {
+ "msg": "دقيقة واحدة"
+ },
+ "other": {
+ "msg": "{Minutes} دقيقة"
+ },
+ "two": {
+ "msg": "دقيقتان"
+ },
+ "zero": {
+ "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": {
+ "few": {
+ "msg": "{Seconds} ثوانٍ"
+ },
+ "many": {
+ "msg": "{Seconds} ثانية"
+ },
+ "one": {
+ "msg": "ثانية واحدة"
+ },
+ "other": {
+ "msg": "{Seconds} ثانية"
+ },
+ "two": {
+ "msg": "ثانيتان"
+ },
+ "zero": {
+ "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": "",
+ "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": "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": "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": "Config key is missing an equals separator",
+ "message": "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": "[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 ‘リンゴ、オレンジ、イチゴ’.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "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秒’.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "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}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "إصدار التطبيق: {Number}\nإصدار المُشغّل: {Version}\nإصدار Go: {Version_go}\nنظام التشغيل: {OsName}\nالبنية: {Arch}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "Version",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "driver.Version()"
+ },
+ {
+ "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": "Arch",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "version.Arch()"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "إغلاق",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ ال\u0026تبرع!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": "الحالة:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "إل\u0026غاء التفعيل",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026تفعيل",
+ "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": ""
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "العناوين:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "خوادم DNS:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": "النصوص البرمجية:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "الجدول:",
+ "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": "pre-up",
+ "message": "pre-up",
+ "translation": "قبل التشغيل",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "بعد التشغيل",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "قبل الإيقاف",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "بعد الإيقاف",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "معطل، وفقاً للسياسة",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "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": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "ال\u0026اسم:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "ال\u0026مفتاح العام:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(غير معروف)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026حظر حركة المرور غير المُنفّقة (مفتاح الإيقاف)",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "عندما يحتوي التكوين على نظير واحد فقط، ويحتوي ذلك النظير على عناوين IP مسموح بها تتضمن على الأقل 0.0.0.0/0 أو ::/0، ولم تكن الواجهة معطّلة الجدول (table off)، فإن خدمة النفق تطبّق مجموعة قواعد جدار حماية لحظر جميع حركة المرور التي ليست من واجهة النفق أو إليها أو التي تتجه إلى خادم DNS خاطئ، مع استثناءات خاصة لـ DHCP و NDP.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026حفظ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "إلغاء",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "ال\u0026تكوين:",
+ "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": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026نسخ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "تحديد ال\u0026كل",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026حفظ إلى ملف…",
+ "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": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026حول 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": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026إدارة الأنفاق…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "ا\u0026ستيراد نفق (أو أنفاق) من ملف…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026خروج",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "الأ\u0026نفاق",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "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": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "خطأ في نفق WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "",
+ "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: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "العناوين: {EnumerationSeparator}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "EnumerationSeparator",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
+ }
+ ]
+ },
+ {
+ "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": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "ت\u0026حرير",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "إضافة نفق \u0026فارغ…",
+ "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": "تصدير جميع الأنفاق إلى ملف مضغوط",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "ت\u0026بديل",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "تصدير جميع الأنفاق إلى ملف م\u0026ضغوط…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "تحرير النفق ال\u0026محدد…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "إ\u0026زالة النفق (أو الأنفاق) المحدد",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "تعذر تعداد الأنفاق الموجودة: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "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": {
+ "few": {
+ "msg": "تم استيراد {M} أنفاق"
+ },
+ "many": {
+ "msg": "تم استيراد {M} نفقاً"
+ },
+ "one": {
+ "msg": "تم استيراد نفق واحد"
+ },
+ "other": {
+ "msg": "تم استيراد {M} نفق"
+ },
+ "two": {
+ "msg": "تم استيراد نفقين"
+ },
+ "zero": {
+ "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": {
+ "few": {
+ "msg": "تم استيراد {M} من أصل {N} أنفاق"
+ },
+ "many": {
+ "msg": "تم استيراد {M} من أصل {N} نفقاً"
+ },
+ "one": {
+ "msg": "تم استيراد {M} من أصل نفق واحد"
+ },
+ "other": {
+ "msg": "تم استيراد {M} من أصل {N} نفق"
+ },
+ "two": {
+ "msg": "تم استيراد {M} من أصل نفقين"
+ },
+ "zero": {
+ "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": {
+ "few": {
+ "msg": "حذف {TunnelCount} أنفاق"
+ },
+ "many": {
+ "msg": "حذف {TunnelCount} نفقاً"
+ },
+ "one": {
+ "msg": "حذف نفق واحد"
+ },
+ "other": {
+ "msg": "حذف {TunnelCount} نفق"
+ },
+ "two": {
+ "msg": "حذف نفقين"
+ },
+ "zero": {
+ "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": {
+ "few": {
+ "msg": "هل أنت متأكد من أنك تريد حذف {TunnelCount} أنفاق؟"
+ },
+ "many": {
+ "msg": "هل أنت متأكد من أنك تريد حذف {TunnelCount} نفقاً؟"
+ },
+ "one": {
+ "msg": "هل أنت متأكد من أنك تريد حذف نفق واحد؟"
+ },
+ "other": {
+ "msg": "هل أنت متأكد من أنك تريد حذف {TunnelCount} نفق؟"
+ },
+ "two": {
+ "msg": "هل أنت متأكد من أنك تريد حذف نفقين؟"
+ },
+ "zero": {
+ "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": {
+ "few": {
+ "msg": "تعذر إزالة {Lenerrors} أنفاق."
+ },
+ "many": {
+ "msg": "تعذر إزالة {Lenerrors} نفقاً."
+ },
+ "one": {
+ "msg": "تعذر إزالة نفق واحد."
+ },
+ "other": {
+ "msg": "تعذر إزالة {Lenerrors} نفق."
+ },
+ "two": {
+ "msg": "تعذر إزالة نفقين."
+ },
+ "zero": {
+ "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",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "تصدير الأنفاق إلى ملف مضغوط",
+ "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": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "يُرجى الطلب من مسؤول النظام إجراء التحديث.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "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."
}
]
} \ No newline at end of file
diff --git a/locales/ca/messages.gotext.json b/locales/ca/messages.gotext.json
index e5a0f488..c94a33b2 100644
--- a/locales/ca/messages.gotext.json
+++ b/locales/ca/messages.gotext.json
@@ -8,9 +8,14 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": ""
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
- "translation": "(sense argument): eleva i instala el servei d'administrador",
+ "translation": "(sense argument): eleva i instal·la el servei d'administrador",
"translatorComment": "Copied from source."
},
{
@@ -62,7 +67,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Heu de fer servir la versio nativa de WireGuard en aquest ordinador.",
+ "translation": "Heu de fer servir la versió nativa de WireGuard en aquest ordinador.",
"translatorComment": "Copied from source."
},
{
@@ -84,7 +89,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 només es pot fer servir per els usuaris que són membres del grup del sistema {AdminGroupName}.",
+ "translation": "WireGuard només el poden fer servir els usuaris membres del grup del sistema {AdminGroupName}.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -100,7 +105,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 s'està executsnt, pero la interfície gràfica només és accessible als usuaris que són membres del grup del sistema {AdminGroupName}.",
+ "translation": "WireGuard s'està executant, però la interfície gràfica només és accessible des dels escriptoris dels usuaris membres del grup del sistema {AdminGroupName}.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -128,7 +133,7 @@
{
"id": "System clock wound backward!",
"message": "System clock wound backward!",
- "translation": "El rellotge del sistema s'ha atraçat!",
+ "translation": "El rellotge del sistema s'ha endarrerit!",
"translatorComment": "Copied from source."
},
{
@@ -392,15 +397,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Adreça IP invàlida",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Tamany del prefix de xarxa invàlid",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Adreça IP invàlida:",
"translatorComment": "Copied from source."
},
{
@@ -412,7 +411,7 @@
{
"id": "Invalid endpoint host",
"message": "Invalid endpoint host",
- "translation": "El format de l'extrem no és valid",
+ "translation": "Format de l'extrem no vàlid",
"translatorComment": "Copied from source."
},
{
@@ -462,25 +461,9 @@
"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": "El nombre ha de estar entre 0 i 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": "Dos comes seguides",
+ "translation": "Dues comes seguides",
"translatorComment": "Copied from source."
},
{
@@ -538,39 +521,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Error obtenint configuració",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "La clau no és vàlida per la secció d'interfície",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "La versió del protocol ha de ser 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "La clau no és vàlida per la secció de parell",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -586,9 +545,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Versió de l'aplicació: {Number}\nVersió de backend Go: {WireGuardGoVersion}\nVersió de Go: {Version_go}-{GOARCH}\nSistema operatiu: {OsName}\nArquitectura: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Versió de l'aplicació: {Number}\nVersió del controlador: {Version}\nVersió de Go: {Version_go}\nSistema operatiu: {OsName}\nArquitectura: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +559,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +575,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +599,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ & Dona!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Dona!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +611,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Desactiva",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Desactiva",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Activa",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Activa",
"translatorComment": "Copied from source."
},
{
@@ -704,7 +655,13 @@
{
"id": "Scripts:",
"message": "Scripts:",
- "translation": "Scripts:",
+ "translation": "Guions:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Taula:",
"translatorComment": "Copied from source."
},
{
@@ -770,7 +727,13 @@
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "deshabilitat, per política",
+ "translation": "deshabilitat per política",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "desactivat",
"translatorComment": "Copied from source."
},
{
@@ -856,15 +819,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Nom:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Nom:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Clau pública:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Clau pública:",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +837,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Bloquejar el trànsit que no passa pel túnel (kill-switch)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Bloquejar el trànsit que no passa pel túnel (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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Quan una configuració té exactament un parell, i aquest parell té adreces IP permeses que continguin almenys 0.0.0.0/0 o ::/0, el servei del túnel activa regles de tallafoc per bloquejar tot el trànsit que no es és ni de la interfície del túnel o cap al servidor DNS equivocat, amb excepció per DHCP i NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Quan una configuració té exactament un parell, i aquest parell té IP permeses que continguin almenys 0.0.0.0/0 o ::/0, i la interfície no té table off, el servei del túnel activa regles de tallafoc per bloquejar tot el trànsit que no és ni cap a ni des de la interfície del túnel o que va cap al servidor DNS equivocat, amb excepcions per al DHCP i NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Desar",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Desar",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +861,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Configuració:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Configuració:",
"translatorComment": "Copied from source."
},
{
@@ -1024,21 +987,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Copia",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Copia",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Selecciona-ho tot",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Selecciona-ho \u0026tot",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "Desa en un arxiu…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Desa en un fitxer…",
"translatorComment": "Copied from source."
},
{
@@ -1066,9 +1029,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&Sobre WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Sobre WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1150,27 +1113,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Administrar túnels…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Administrar túnels…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Importar túnel(s) des d'un fitxer…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importar túnel(s) des d'un fitxer…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "&Surt",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026Surt",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Túnels",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Túnels",
"translatorComment": "Copied from source."
},
{
@@ -1286,7 +1249,7 @@
{
"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": "Hi ha una actualització de WireGuard. Es recomana actualitzar el més aviat millor.",
+ "translation": "Hi ha disponible una actualització de WireGuard. Es recomana actualitzar com més aviat millor.",
"translatorComment": "Copied from source."
},
{
@@ -1296,15 +1259,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Editar",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Editar",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Afegir &túnel buit…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Afegir \u0026túnel buit…",
"translatorComment": "Copied from source."
},
{
@@ -1326,33 +1289,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Alterna",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Alterna",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Exportar tots els túnels a &zip…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Exportar tots els túnels a \u0026zip…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Editar túnels &seleccionats…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Editar túnels \u0026seleccionats…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Eliminar túnel(s) seleccionats",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Eliminar túnel(s) seleccionats",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "no s'han trobat fitxers de configuració",
+ "translation": "no s'ha trobat cap fitxer de configuració",
"translatorComment": "Copied from source."
},
{
@@ -1372,18 +1335,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "No s'han pogut enumerar els túnels existents: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "No s'han pogut enumerar els túnels existents: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1608,7 +1571,7 @@
{
"id": "A tunnel was unable to be removed: {Error}",
"message": "A tunnel was unable to be removed: {Error}",
- "translation": "Un túnel no ha estat capaç de ser eliminat: {Error}",
+ "translation": "No s'ha pogut eliminar un túnel: {Error}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1720,7 +1683,7 @@
{
"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": "Una actualització per WireGuard està disponible. Es recomana actualitzar immediatament.",
+ "translation": "Hi ha disponible una actualització de WireGuard. És molt recomanable actualitzar sense demora.",
"translatorComment": "Copied from source."
},
{
@@ -1736,6 +1699,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Si us plau, demaneu a l'administrador del sistema que actualitzi.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Estat: Esperant a l'administrador",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Estat: Esperant el servei d'actualitzacions",
@@ -1762,86 +1737,6 @@
"message": "Status: Complete!",
"translation": "Estat: Completat!",
"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}: failed to decode just-written frame",
- "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}: wrote {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}: read {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: decoded hpack field {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/cs/messages.gotext.json b/locales/cs/messages.gotext.json
index a28d47b9..0080b127 100644
--- a/locales/cs/messages.gotext.json
+++ b/locales/cs/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Chyba:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(žádný argument): Zvýšit oprávnění a instalovat službu správce",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Musíte použít nativní verzi aplikace WireGuard na tomto počítači.",
+ "translation": "Na tomto počítači musíte použít nativní verzi aplikace WireGuard.",
"translatorComment": "Copied from source."
},
{
@@ -139,15 +145,15 @@
"feature": "plural",
"arg": "Years",
"cases": {
- "one": {
- "msg": "{Years} rok"
- },
"few": {
"msg": "{Years} roky"
},
"many": {
"msg": "{Years} let"
},
+ "one": {
+ "msg": "{Years} rok"
+ },
"other": {
"msg": "{Years} let"
}
@@ -173,15 +179,15 @@
"feature": "plural",
"arg": "Days",
"cases": {
- "one": {
- "msg": "{Days} den"
- },
"few": {
"msg": "{Days} dny"
},
"many": {
"msg": "{Days} dnů"
},
+ "one": {
+ "msg": "{Days} den"
+ },
"other": {
"msg": "{Days} dny"
}
@@ -207,15 +213,15 @@
"feature": "plural",
"arg": "Hours",
"cases": {
- "one": {
- "msg": "{Hours} hodina"
- },
"few": {
"msg": "{Hours} hodiny"
},
"many": {
"msg": "{Hours} hodin"
},
+ "one": {
+ "msg": "{Hours} hodina"
+ },
"other": {
"msg": "{Hours} hodin"
}
@@ -241,15 +247,15 @@
"feature": "plural",
"arg": "Minutes",
"cases": {
- "one": {
- "msg": "{Minutes} minuta"
- },
"few": {
"msg": "{Minutes} minuty"
},
"many": {
"msg": "{Minutes} minut"
},
+ "one": {
+ "msg": "{Minutes} minuta"
+ },
"other": {
"msg": "{Minutes} minut"
}
@@ -275,15 +281,15 @@
"feature": "plural",
"arg": "Seconds",
"cases": {
- "one": {
- "msg": "{Seconds} sekunda"
- },
"few": {
"msg": "{Seconds} sekundy"
},
"many": {
"msg": "{Seconds} sekund"
},
+ "one": {
+ "msg": "{Seconds} sekunda"
+ },
"other": {
"msg": "{Seconds} sekund"
}
@@ -422,15 +428,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Neplatná IP adresa",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Neplatná délka síťového prefixu",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Neplatná IP adresa:",
"translatorComment": "Copied from source."
},
{
@@ -492,22 +492,6 @@
"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": "Číslo musí mít hodnotu mezi 0 a 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": "Dvě čárky za sebou",
@@ -568,39 +552,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Chyba při načítání konfigurace",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Neplatný klíč pro sekci rozhraní",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Verze protokolu musí být 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Neplatný klíč v sekci peer",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -616,9 +576,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Verze aplikace: {Number}\nVerze Go backendu: {WireGuardGoVersion}\nVerze Go: {Version_go}-{GOARCH}\nOperační systém: {OsName}\nArchitektura: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Verze aplikace: {Number}\nVerze ovladače: {Version}\nVerze Go: {Version_go}\nOperační systém: {OsName}\nArchitektura: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -630,12 +590,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -646,28 +606,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -678,9 +630,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Darovat!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Darovat!",
"translatorComment": "Copied from source."
},
{
@@ -690,15 +642,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Deaktivovat",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Deaktivovat",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Aktivovat",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktivovat",
"translatorComment": "Copied from source."
},
{
@@ -738,6 +690,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabulka:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Předsdílený klíč:",
@@ -752,13 +710,13 @@
{
"id": "Endpoint:",
"message": "Endpoint:",
- "translation": "Endpoint:",
+ "translation": "Koncový bod:",
"translatorComment": "Copied from source."
},
{
"id": "Persistent keepalive:",
"message": "Persistent keepalive:",
- "translation": "Persistent keepalive:",
+ "translation": "Trvalé udržování spojení:",
"translatorComment": "Copied from source."
},
{
@@ -776,31 +734,37 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "před-zapnutím",
+ "translation": "před aktivací",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "po-zapnutí",
+ "translation": "po aktivaci",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "před-vypnutím",
+ "translation": "před deaktivací",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "po-vypnutí",
+ "translation": "po deaktivaci",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "vypnuto, podle zásad",
+ "translation": "zakázáno dle zásad",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "vypnuto",
"translatorComment": "Copied from source."
},
{
@@ -870,7 +834,7 @@
{
"id": "Peer",
"message": "Peer",
- "translation": "Peer",
+ "translation": "Protějšek",
"translatorComment": "Copied from source."
},
{
@@ -886,15 +850,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Název:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Název:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Veřejný klíč:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Veřejný klíč:",
"translatorComment": "Copied from source."
},
{
@@ -904,21 +868,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Blokovat netunelovaný provoz (kill-switch)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blokovat netunelovaný provoz (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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Pokud má konfigurace přesně jednoho peera a tento peer má povolené IP adresy obsahující alespoň jednu z 0.0.0.0/0 nebo ::/0, pak služba tunelu použije sadu pravidel firewallu k blokování veškerého provozu, který nesměřuje z/do rozhraní tunelu nebo na nesprávný server DNS, se zvláštními výjimkami pro DHCP a NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Pokud má konfigurace přesně jednoho peera, tento peer má v povolených IP zahrnutu alespoň jednu z 0.0.0.0/0 nebo ::/0 a rozhraní nemá table off, pak služba tunelu použije sadu pravidel firewallu k blokování veškerého provozu, který nesměřuje z/do rozhraní tunelu nebo směřuje k nesprávnému DNS serveru, se zvláštními výjimkami pro DHCP a NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Uložit",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Uložit",
"translatorComment": "Copied from source."
},
{
@@ -928,9 +892,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Nastavení:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Nastavení:",
"translatorComment": "Copied from source."
},
{
@@ -1054,21 +1018,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Kopírovat",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopírovat",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Vybr&at vše",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Vybr\u0026at vše",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Uložit do souboru…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Uložit do souboru…",
"translatorComment": "Copied from source."
},
{
@@ -1096,9 +1060,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&O aplikaci WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026O aplikaci WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1180,27 +1144,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
"translation": "Spravovat tunely…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Importovat tunel(y) ze souboru…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importovat tunel(y) ze souboru…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "U&končit",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "U\u0026končit",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tunely",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunely",
"translatorComment": "Copied from source."
},
{
@@ -1326,15 +1290,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Upravit",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Upravit",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Přidat &prázdný tunel…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Přidat \u0026prázdný tunel…",
"translatorComment": "Copied from source."
},
{
@@ -1356,27 +1320,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Přepnout",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Přepnout",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Exportovat všechny tunely do &zip…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Exportovat všechny tunely do \u0026zip…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Upravit &vybraný tunel…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Upravit \u0026vybraný tunel…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Odstranit vybrané tunely",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Odstranit vybrané tunely",
"translatorComment": "Copied from source."
},
{
@@ -1402,18 +1366,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Nepodařilo se vyjmenovat existující tunely: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Nelze vyjmenovat existující tunely: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1463,15 +1427,15 @@
"feature": "plural",
"arg": "M",
"cases": {
- "one": {
- "msg": "Importován {M} tunel"
- },
"few": {
"msg": "Importovány {M} tunely"
},
"many": {
"msg": "Importováno {M} tunelů"
},
+ "one": {
+ "msg": "Importován {M} tunel"
+ },
"other": {
"msg": "Importováno {M} tunelů"
}
@@ -1497,15 +1461,15 @@
"feature": "plural",
"arg": "N",
"cases": {
- "one": {
- "msg": "Importován {M} z {N} tunel"
- },
"few": {
"msg": "Importováno {M} z {N} tunelů"
},
"many": {
"msg": "Importováno {M} z {N} tunelů"
},
+ "one": {
+ "msg": "Importován {M} z {N} tunel"
+ },
"other": {
"msg": "Importováno {M} z {N} tunelů"
}
@@ -1545,15 +1509,15 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Odstranit {TunnelCount} tunel"
- },
"few": {
"msg": "Odstranit {TunnelCount} tunely"
},
"many": {
"msg": "Odstranit {TunnelCount} tunelů"
},
+ "one": {
+ "msg": "Odstranit {TunnelCount} tunel"
+ },
"other": {
"msg": "Odstranit {TunnelCount} tunelů"
}
@@ -1579,15 +1543,15 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Opravdu chcete odstranit {TunnelCount} tunel?"
- },
"few": {
"msg": "Opravdu chcete odstranit {TunnelCount} tunely?"
},
"many": {
"msg": "Opravdu chcete odstranit {TunnelCount} tunelů?"
},
+ "one": {
+ "msg": "Opravdu chcete odstranit {TunnelCount} tunel?"
+ },
"other": {
"msg": "Opravdu chcete odstranit {TunnelCount} tunelů?"
}
@@ -1689,15 +1653,15 @@
"feature": "plural",
"arg": "Lenerrors",
"cases": {
- "one": {
- "msg": "{Lenerrors} tunel nebylo možné odstranit."
- },
"few": {
"msg": "{Lenerrors} tunely nebylo možné odstranit."
},
"many": {
"msg": "{Lenerrors} tunelů nebylo možné odstranit."
},
+ "one": {
+ "msg": "{Lenerrors} tunel nebylo možné odstranit."
+ },
"other": {
"msg": "{Lenerrors} tunelů nebylo možné odstranit."
}
@@ -1796,6 +1760,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Požádejte prosím systémového správce o aktualizaci.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Stav: Čekání na administrátora",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Stav: Čeká se na službu aktualizací",
@@ -1822,86 +1798,6 @@
"message": "Status: Complete!",
"translation": "Stav: Dokončeno!",
"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}: failed to decode just-written frame",
- "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}: wrote {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}: read {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: decoded hpack field {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/da/messages.gotext.json b/locales/da/messages.gotext.json
index fe7e22c0..1c041a2d 100644
--- a/locales/da/messages.gotext.json
+++ b/locales/da/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Fejl:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(intet argument): ophøj og installer manager-tjenesten",
@@ -16,7 +22,7 @@
{
"id": "Usage: {Args0} [\n{String}]",
"message": "Usage: {Args0} [\n{String}]",
- "translation": "Brug: {Args0} [{String}]",
+ "translation": "Brug: {Args0} [\n{String}]",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -40,7 +46,7 @@
{
"id": "Command Line Options",
"message": "Command Line Options",
- "translation": "Kommandolinje indstillinger",
+ "translation": "Kommandolinjeindstillinger",
"translatorComment": "Copied from source."
},
{
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Du skal bruge den oprindelige version af WireGuard på denne computer.",
+ "translation": "Du skal bruge den native version af WireGuard på denne computer.",
"translatorComment": "Copied from source."
},
{
@@ -392,15 +398,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Ugyldig IP-adresse",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Ugyldig netværkspræfiks",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Ugyldig IP-adresse:",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +462,6 @@
"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": "Nummeret skal være et tal mellem 0 og 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": "To kommaer i træk",
@@ -498,7 +482,7 @@
{
"id": "Config key is missing an equals separator",
"message": "Config key is missing an equals separator",
- "translation": "Konfigurationsnøgle mangler en identisk separator",
+ "translation": "Konfigurationsnøgle mangler et lighedstegn som separator",
"translatorComment": "Copied from source."
},
{
@@ -538,39 +522,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Fejl ved indlæsning af konfiguration",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Ugyldig nøgle for interface sektion",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Protokol version skal være 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Ugyldig nøgle for modpart sektion",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -586,9 +546,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperativsystem: {OsName}\nArkitektur: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "App-version: {Number}\nDriverversion: {Version}\nGo-version: {Version_go}\nOperativsystem: {OsName}\nArkitektur: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +560,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +576,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +600,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Donér!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Donér!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +612,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Deaktivér",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Deaktivér",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Aktivér",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktivér",
"translatorComment": "Copied from source."
},
{
@@ -704,7 +656,13 @@
{
"id": "Scripts:",
"message": "Scripts:",
- "translation": "Scripts:",
+ "translation": "Skripter:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabel:",
"translatorComment": "Copied from source."
},
{
@@ -770,7 +728,13 @@
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "deaktiveret, per politik",
+ "translation": "deaktiveret, jf. politik",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "fra",
"translatorComment": "Copied from source."
},
{
@@ -824,7 +788,7 @@
{
"id": "Interface: {Name}",
"message": "Interface: {Name}",
- "translation": "Interface: {Name}",
+ "translation": "Grænseflade: {Name}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -856,15 +820,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Navn:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Navn:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Offentlig nøgle:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Offentlig nøgle:",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +838,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Blokér untunneled trafik (kill-switch)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blokér untunneled trafik (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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Når en konfiguration har præcis en peer, og denne peer har en tilladt IP'er indeholdende mindst en af 0,0.0. /0 eller ::/0, tunnelen anvender derefter en firewall-regelsæt til at blokere al trafik, der hverken er til eller fra tunnelgrænsefladen eller er til den forkerte DNS-server med særlige undtagelser for DHCP og NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Når en konfiguration har præcis én modpart, og denne modpart har tilladte IP-adresser indeholdende mindst én af 0.0.0.0/0 eller ::/0, og interfacet ikke har table off, anvender tunneltjenesten et firewall-regelsæt til at blokere al trafik, der hverken er til eller fra tunnelgrænsefladen eller er til den forkerte DNS-server, med særlige undtagelser for DHCP og NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Gem",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Gem",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +862,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Konfiguration:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfiguration:",
"translatorComment": "Copied from source."
},
{
@@ -918,7 +882,7 @@
{
"id": "Tunnel name ‘{NewName}’ is invalid.",
"message": "Tunnel name ‘{NewName}’ is invalid.",
- "translation": "Tunnel navn '{NewName}' er ugyldig.",
+ "translation": "Tunnelnavnet '{NewName}' er ugyldigt.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1024,21 +988,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Kopiér",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopiér",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Vælg &alle",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Vælg \u0026alle",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Gem til fil…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Gem til fil…",
"translatorComment": "Copied from source."
},
{
@@ -1056,7 +1020,7 @@
{
"id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
"message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
- "translation": "Tekstfiler (*.txt)- *.txt- Alle Filer (*.*)- *.*",
+ "translation": "Tekstfiler (*.txt)|*.txt|Alle filer (*.*)|*.*",
"translatorComment": "Copied from source."
},
{
@@ -1066,9 +1030,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&Om WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Om WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1112,7 +1076,7 @@
{
"id": "WireGuard Detection Error",
"message": "WireGuard Detection Error",
- "translation": "Fejl I WireGuard Detektering",
+ "translation": "Fejl i WireGuard-registrering",
"translatorComment": "Copied from source."
},
{
@@ -1150,27 +1114,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Håndtér tunneler…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Håndtér tunneler…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Importér tunnel(er) fra fil…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importér tunnel(er) fra fil…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "&Afslut",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026Afslut",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tunneler",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunneler",
"translatorComment": "Copied from source."
},
{
@@ -1296,15 +1260,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Redigér",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Redigér",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Tilføj &tom tunnel…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Tilføj \u0026tom tunnel…",
"translatorComment": "Copied from source."
},
{
@@ -1326,27 +1290,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Skift",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Skift",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Eksportér alle tunneler til &zip-fil…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Eksportér alle tunneler til \u0026zip-fil…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Redigér &valgte tunnel…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Redigér \u0026valgte tunnel…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Fjern valgte tunnel(er)",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Fjern valgte tunnel(er)",
"translatorComment": "Copied from source."
},
{
@@ -1372,18 +1336,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Kunne ikke fremvise eksisterende tunneller: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Kunne ikke opregne eksisterende tunneler: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1658,7 +1622,7 @@
{
"id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
"message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
- "translation": "Konfigurationsfiler (*.zip, *.conf)- *.zip;*.conf- Alle Filer (*.*)- *.*",
+ "translation": "Konfigurationsfiler (*.zip, *.conf)|*.zip;*.conf|Alle filer (*.*)|*.*",
"translatorComment": "Copied from source."
},
{
@@ -1670,7 +1634,7 @@
{
"id": "Configuration ZIP Files (*.zip)|*.zip",
"message": "Configuration ZIP Files (*.zip)|*.zip",
- "translation": "Konfigurationszip-filer (*.zip)- *.zip",
+ "translation": "Konfigurations-zip-filer (*.zip)|*.zip",
"translatorComment": "Copied from source."
},
{
@@ -1736,6 +1700,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Bed venligst systemadministratoren om at opdatere.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: Venter på administrator",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Status: Venter på opdateringstjeneste",
@@ -1762,86 +1738,6 @@
"message": "Status: Complete!",
"translation": "Status: Færdig!",
"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}: kunne ikke afkode just-written frame",
- "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}: skrev {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}: læste {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: afkodet hpack felt {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/de/messages.gotext.json b/locales/de/messages.gotext.json
index 5d26c8ab..19c5fdb5 100644
--- a/locales/de/messages.gotext.json
+++ b/locales/de/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "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",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Sie müssen die Version von Wireguard benutzen, die für ihren Computer bestimmt ist.",
+ "translation": "Sie müssen die native Version von WireGuard auf diesem Computer verwenden.",
"translatorComment": "Copied from source."
},
{
@@ -128,7 +134,7 @@
{
"id": "System clock wound backward!",
"message": "System clock wound backward!",
- "translation": "Die Systemuhr wurde zurück gestellt!",
+ "translation": "Die Systemuhr wurde zurückgestellt!",
"translatorComment": "Copied from source."
},
{
@@ -392,15 +398,9 @@
]
},
{
- "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",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Ungültige IP-Adresse:",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +462,6 @@
"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",
@@ -510,19 +494,19 @@
{
"id": "Invalid key for [Interface] section",
"message": "Invalid key for [Interface] section",
- "translation": "Ungültiger Eintrage im [Interface] Abschnitt",
+ "translation": "Ungültiger Eintrag 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",
+ "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",
+ "translation": "Eine Schnittstelle muss einen privaten Schlüssel enthalten",
"translatorComment": "Copied from source."
},
{
@@ -538,39 +522,15 @@
"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": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -586,9 +546,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "App Version: {Number}\nGo backend Version: {WireGuardGoVersion}\nGo Version: {Version_go}-{GOARCH}\nBetriebssystem: {OsName}\nArchitektur: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "App-Version: {Number}\nTreiberversion: {Version}\nGo-Version: {Version_go}\nBetriebssystem: {OsName}\nArchitektur: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +560,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +576,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +600,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Spenden!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Spenden!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +612,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Deaktivieren",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Deaktivieren",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Aktivieren",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktivieren",
"translatorComment": "Copied from source."
},
{
@@ -708,6 +660,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabelle:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Geteilter Schlüssel:",
@@ -746,7 +704,7 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "vor Verbindsaufbau",
+ "translation": "vor Verbindungsaufbau",
"translatorComment": "Copied from source."
},
{
@@ -770,7 +728,13 @@
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "deaktiviert, per Richtlinie",
+ "translation": "deaktiviert durch Richtlinie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "aus",
"translatorComment": "Copied from source."
},
{
@@ -856,15 +820,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Name:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Name:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Öffentlicher Schlüssel:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Öffentlicher Schlüssel:",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +838,21 @@
"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)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blockiere 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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Wenn eine 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, dann erstellt der Tunneldienst ein Firewall-Regelsatz, der allen Verkehr (insbesondere zum falschen DNS-Server) blockiert, der weder aus dem Tunnel stammt noch in den Tunnel geht, mit Ausnahmen für DHCP- und NDP-Verkehr.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Wenn eine 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 und die Schnittstelle nicht Table off angegeben hat, dann erstellt der Tunneldienst einen Firewall-Regelsatz, der allen Verkehr blockiert, der weder aus dem Tunnel stammt noch in den Tunnel geht oder an einen falschen DNS-Server gerichtet ist, mit Ausnahmen für DHCP- und NDP-Verkehr.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Speichern",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Speichern",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +862,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Konfiguration:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfiguration:",
"translatorComment": "Copied from source."
},
{
@@ -1024,21 +988,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Kopieren",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopieren",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "&Alles markieren",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "\u0026Alles markieren",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&In Datei Speichern…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026In Datei Speichern…",
"translatorComment": "Copied from source."
},
{
@@ -1066,9 +1030,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&Über WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Über WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1118,7 +1082,7 @@
{
"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} ",
+ "translation": "Warten auf das Erscheinen des WireGuard-Fensters nicht möglich: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1150,27 +1114,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "Tunnel &verwalten…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "Tunnel \u0026verwalten…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "Tunnel aus Datei &importieren…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "Tunnel aus Datei \u0026importieren…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "&Beenden",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026Beenden",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tunnel",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunnel",
"translatorComment": "Copied from source."
},
{
@@ -1286,7 +1250,7 @@
{
"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.",
+ "translation": "Eine Aktualisierung für WireGuard ist jetzt verfügbar. Es wird empfohlen, diese schnellstmöglich durchzuführen.",
"translatorComment": "Copied from source."
},
{
@@ -1296,15 +1260,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Bearbeiten",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Bearbeiten",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Einen &leeren Tunnel hinzufügen…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Einen \u0026leeren Tunnel hinzufügen…",
"translatorComment": "Copied from source."
},
{
@@ -1326,33 +1290,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Umschalten",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Umschalten",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Exportiere alle Tunnel in &Zip-Datei",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Exportiere alle Tunnel in \u0026Zip-Datei",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Ausgewählten Tunnel &bearbeiten…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Ausgewählten Tunnel \u0026bearbeiten…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "Ausgewählte(n) Tunnel &löschen",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "Ausgewählte(n) Tunnel \u0026löschen",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "keine Konfigurationsdateien gefunden",
+ "translation": "es wurden keine Konfigurationsdateien gefunden",
"translatorComment": "Copied from source."
},
{
@@ -1372,18 +1336,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Konnte existierende Tunnel nicht auflisten: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Vorhandene Tunnel konnten nicht aufgelistet werden: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1465,7 +1429,7 @@
"msg": "{M} von {N} Tunnel importiert"
},
"other": {
- "msg": "{M} von {N} Tunnel importiert"
+ "msg": "{M} von {N} Tunneln importiert"
}
}
}
@@ -1639,7 +1603,7 @@
"msg": "{Lenerrors} Tunnel konnte nicht entfernt werden."
},
"other": {
- "msg": "{Lenerrors} Tunnel konnten nicht gelöscht werden."
+ "msg": "{Lenerrors} Tunnel konnten nicht entfernt werden."
}
}
}
@@ -1720,7 +1684,7 @@
{
"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.",
+ "translation": "Eine Aktualisierung für WireGuard ist verfügbar. Es ist höchst empfehlenswert, diese sofort durchzuführen.",
"translatorComment": "Copied from source."
},
{
@@ -1736,6 +1700,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Bitte bitten Sie den Systemadministrator um eine Aktualisierung.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: Auf Administrator warten",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Status: Auf Aktualisierungsdienst warten",
@@ -1762,86 +1738,6 @@
"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/el/messages.gotext.json b/locales/el/messages.gotext.json
index 28ce6692..af9bd233 100644
--- a/locales/el/messages.gotext.json
+++ b/locales/el/messages.gotext.json
@@ -8,6 +8,18 @@
"translatorComment": "Copied from source."
},
{
+ "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}]",
@@ -54,12 +66,78 @@
]
},
{
+ "id": "You must use the native version of WireGuard on this computer.",
+ "message": "You must use the native version of WireGuard on this computer.",
+ "translation": "Πρέπει να χρησιμοποιήσετε την εγγενή έκδοση του 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": {
@@ -320,9 +398,27 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Μη έγκυρη διεύθυνση IP",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Μη έγκυρη διεύθυνση IP:",
+ "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."
},
{
@@ -338,6 +434,12 @@
"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}",
@@ -354,6 +456,12 @@
]
},
{
+ "id": "Keys must decode to exactly 32 bytes",
+ "message": "Keys must decode to exactly 32 bytes",
+ "translation": "Τα κλειδιά πρέπει να αποκωδικοποιούνται σε ακριβώς 32 byte",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Two commas in a row",
"message": "Two commas in a row",
"translation": "Δύο κόμματα στη σειρά",
@@ -366,21 +474,63 @@
"translatorComment": "Copied from source."
},
{
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Η έκδοση πρωτοκόλλου πρέπει να είναι 1",
+ "id": "Line must occur in a section",
+ "message": "Line must occur in a section",
+ "translation": "Η γραμμή πρέπει να βρίσκεται σε μια ενότητα",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Config key is missing an equals separator",
+ "message": "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": "Όλα τα peers πρέπει να έχουν δημόσια κλειδιά",
"translatorComment": "Copied from source."
},
{
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -396,15 +546,63 @@
"translatorComment": "Copied from source."
},
{
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Έκδοση εφαρμογής: {Number}\nΈκδοση οδηγού: {Version}\nΈκδοση Go: {Version_go}\nΛειτουργικό σύστημα: {OsName}\nΑρχιτεκτονική: {Arch}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "Version",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "driver.Version()"
+ },
+ {
+ "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": "Arch",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "version.Arch()"
+ }
+ ]
+ },
+ {
"id": "Close",
"message": "Close",
"translation": "Κλείσιμο",
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Δωρεά!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Δωρεά!",
"translatorComment": "Copied from source."
},
{
@@ -414,15 +612,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Απενεργοποίηση",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Απενεργοποίηση",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Ενεργοποίηση",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Ενεργοποίηση",
"translatorComment": "Copied from source."
},
{
@@ -456,18 +654,138 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": "Δέσμες ενεργειών:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Πίνακας:",
+ "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": "pre-up",
+ "message": "pre-up",
+ "translation": "πριν την ενεργοποίηση",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "μετά την ενεργοποίηση",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "πριν την απενεργοποίηση",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "μετά την απενεργοποίηση",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "απενεργοποιημένο, βάσει πολιτικής",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "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}",
@@ -486,7 +804,7 @@
{
"id": "Peer",
"message": "Peer",
- "translation": "Peer",
+ "translation": "Ομότιμος",
"translatorComment": "Copied from source."
},
{
@@ -502,15 +820,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Όνομα:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Όνομα:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Δημόσιο κλειδί:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Δημόσιο κλειδί:",
"translatorComment": "Copied from source."
},
{
@@ -520,9 +838,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "Α&ποθήκευση",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "Α\u0026ποκλεισμός κίνησης εκτός διόδου (διακόπτης άμεσης διακοπής)",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Όταν μια διαμόρφωση έχει ακριβώς ένα peer, και αυτό το peer έχει επιτρεπόμενες IP που περιέχουν τουλάχιστον μία από τις 0.0.0.0/0 ή ::/0, και η διεπαφή δεν έχει table off, τότε η υπηρεσία διόδου εφαρμόζει ένα σύνολο κανόνων τείχους προστασίας για τον αποκλεισμό κάθε κίνησης που δεν προέρχεται από ή προς τη διεπαφή της διόδου ή που κατευθύνεται σε λάθος διακομιστή DNS, με ειδικές εξαιρέσεις για DHCP και NDP.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "Α\u0026ποθήκευση",
"translatorComment": "Copied from source."
},
{
@@ -532,9 +862,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Διαμόρφωση:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Διαμόρφωση:",
"translatorComment": "Copied from source."
},
{
@@ -550,18 +880,96 @@
"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": "Απενεργοποίηση",
@@ -580,21 +988,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "Α&ντιγραφή",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "Α\u0026ντιγραφή",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Επιλογή &όλων",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Επιλογή \u0026όλων",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "Απο&θήκευση σε αρχείο…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "Απο\u0026θήκευση σε αρχείο…",
"translatorComment": "Copied from source."
},
{
@@ -604,15 +1012,27 @@
"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": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&Σχετικά με το WireGuard…",
+ "id": "Export log to file",
+ "message": "Export log to file",
+ "translation": "Εξαγωγή αρχείου καταγραφής σε αρχείο",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Σχετικά με το WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -660,6 +1080,22 @@
"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: Ανενεργό",
@@ -678,21 +1114,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Διαχείριση διόδων…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Διαχείριση διόδων…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "Ε\u0026ισαγωγή διόδου/διόδων από αρχείο…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "Έ&ξοδος",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "Έ\u0026ξοδος",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Δίοδοι",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Δίοδοι",
"translatorComment": "Copied from source."
},
{
@@ -806,21 +1248,27 @@
"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": "Επεξε&ργασία",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "Επεξε\u0026ργασία",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Προσθήκη &κενής διόδου…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Προσθήκη \u0026κενής διόδου…",
"translatorComment": "Copied from source."
},
{
@@ -830,36 +1278,216 @@
"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": "Ενα&λλαγή",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "Ενα\u0026λλαγή",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Εξαγωγή όλων των διόδων σε &zip…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Εξαγωγή όλων των διόδων σε \u0026zip…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Επεξεργασία &επιλεγμένης διόδου…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Επεξεργασία \u0026επιλεγμένης διόδου…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Κατάργηση επιλεγμένης διόδου/διόδων",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "δεν βρέθηκαν αρχεία ρύθμισης παραμέτρων",
+ "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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Δεν ήταν δυνατή η απαρίθμηση των υπαρχουσών διόδων: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "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} διόδου"
+ },
+ "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} δίοδο"
+ },
+ "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} διόδου"
+ },
+ "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": {
@@ -936,12 +1564,74 @@
]
},
{
+ "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} διόδου."
+ },
+ "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",
@@ -976,6 +1666,28 @@
"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": "Κατάσταση: Αναμονή για χρήστη",
@@ -988,6 +1700,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Παρακαλώ ζητήστε από τον διαχειριστή του συστήματος να εκτελέσει την ενημέρωση.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Κατάσταση: Αναμονή για διαχειριστή",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Κατάσταση: Αναμονή για υπηρεσία ενημερώσεων",
@@ -1014,86 +1738,6 @@
"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}: failed to decode just-written frame",
- "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}: wrote {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}: read {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: decoded hpack field {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/en/messages.gotext.json b/locales/en/messages.gotext.json
index 735df0d5..36dd6d1f 100644
--- a/locales/en/messages.gotext.json
+++ b/locales/en/messages.gotext.json
@@ -9,6 +9,13 @@
"fuzzy": true
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Error:",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(no argument): elevate and install manager service",
@@ -65,9 +72,9 @@
"fuzzy": true
},
{
- "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": "You must use the 64-bit version of WireGuard on this computer.",
+ "id": "You must use the native version of WireGuard on this computer.",
+ "message": "You must use the native version of WireGuard on this computer.",
+ "translation": "You must use the native version of WireGuard on this computer.",
"translatorComment": "Copied from source.",
"fuzzy": true
},
@@ -411,16 +418,9 @@
"fuzzy": true
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Invalid IP address",
- "translatorComment": "Copied from source.",
- "fuzzy": true
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Invalid network prefix length",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Invalid IP address:",
"translatorComment": "Copied from source.",
"fuzzy": true
},
@@ -491,23 +491,6 @@
"fuzzy": true
},
{
- "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": "Number must be a number between 0 and 2^64-1: {Err}",
- "translatorComment": "Copied from source.",
- "placeholders": [
- {
- "id": "Err",
- "string": "%[1]v",
- "type": "error",
- "underlyingType": "interface{Error() string}",
- "argNum": 1,
- "expr": "err"
- }
- ],
- "fuzzy": true
- },
- {
"id": "Two commas in a row",
"message": "Two commas in a row",
"translation": "Two commas in a row",
@@ -578,44 +561,20 @@
"fuzzy": true
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Error in getting configuration",
- "translatorComment": "Copied from source.",
- "fuzzy": true
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Invalid key for interface section",
- "translatorComment": "Copied from source.",
- "fuzzy": true
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Protocol version must be 1",
- "translatorComment": "Copied from source.",
- "fuzzy": true
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Invalid key for peer section",
- "translatorComment": "Copied from source.",
- "fuzzy": true
- },
- {
"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 ‘リンゴ、オレンジ、イチゴ’."
+ "translation": "[EnumerationSeparator]",
+ "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 ‘リンゴ、オレンジ、イチゴ’.",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
},
{
"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秒’."
+ "translation": "[UnitSeparator]",
+ "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秒’.",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
},
{
"id": "About WireGuard",
@@ -632,9 +591,9 @@
"fuzzy": true
},
{
- "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}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -646,12 +605,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -670,12 +629,12 @@
"expr": "version.OsName()"
},
{
- "id": "GOARCH",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "runtime.GOARCH"
+ "expr": "version.Arch()"
}
],
"fuzzy": true
@@ -751,6 +710,20 @@
"fuzzy": true
},
{
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": "Scripts:",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Table:",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Preshared key:",
@@ -793,6 +766,48 @@
"fuzzy": true
},
{
+ "id": "pre-up",
+ "message": "pre-up",
+ "translation": "pre-up",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "post-up",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "pre-down",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "post-down",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "disabled, per policy",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "off",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
"id": "enabled",
"message": "enabled",
"translation": "enabled",
@@ -912,9 +927,9 @@
"fuzzy": true
},
{
- "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": "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.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
"translatorComment": "Copied from source.",
"fuzzy": true
},
@@ -1238,107 +1253,114 @@
"fuzzy": true
},
{
- "id": "WireGuard Tunnel Error",
- "message": "WireGuard Tunnel Error",
- "translation": "WireGuard Tunnel Error",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunnels",
"translatorComment": "Copied from source.",
"fuzzy": true
},
{
- "id": "WireGuard: {TextForStateglobalState_true}",
- "message": "WireGuard: {TextForStateglobalState_true}",
- "translation": "WireGuard: {TextForStateglobalState_true}",
+ "id": "WireGuard Activated",
+ "message": "WireGuard Activated",
+ "translation": "WireGuard Activated",
"translatorComment": "Copied from source.",
- "placeholders": [
- {
- "id": "TextForStateglobalState_true",
- "string": "%[1]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 1,
- "expr": "textForState(globalState, true)"
- }
- ],
"fuzzy": true
},
{
- "id": "Status: {StateText}",
- "message": "Status: {StateText}",
- "translation": "Status: {StateText}",
+ "id": "The {Name} tunnel has been activated.",
+ "message": "The {Name} tunnel has been activated.",
+ "translation": "The {Name} tunnel has been activated.",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "StateText",
+ "id": "Name",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
- "expr": "stateText"
+ "expr": "tunnel.Name"
}
],
"fuzzy": true
},
{
- "id": "Addresses: {String}",
- "message": "Addresses: {String}",
- "translation": "Addresses: {String}",
+ "id": "WireGuard Deactivated",
+ "message": "WireGuard Deactivated",
+ "translation": "WireGuard Deactivated",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
+ "id": "The {Name} tunnel has been deactivated.",
+ "message": "The {Name} tunnel has been deactivated.",
+ "translation": "The {Name} tunnel has been deactivated.",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "String",
+ "id": "Name",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
- "expr": "sb.String()"
+ "expr": "tunnel.Name"
}
],
"fuzzy": true
},
{
- "id": "WireGuard Activated",
- "message": "WireGuard Activated",
- "translation": "WireGuard Activated",
+ "id": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "WireGuard Tunnel Error",
"translatorComment": "Copied from source.",
"fuzzy": true
},
{
- "id": "The {Name} tunnel has been activated.",
- "message": "The {Name} tunnel has been activated.",
- "translation": "The {Name} tunnel has been activated.",
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "WireGuard: {TextForStateglobalState_true}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "Name",
+ "id": "TextForStateglobalState_true",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
- "expr": "tunnel.Name"
+ "expr": "textForState(globalState, true)"
}
],
"fuzzy": true
},
{
- "id": "WireGuard Deactivated",
- "message": "WireGuard Deactivated",
- "translation": "WireGuard Deactivated",
+ "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"
+ }
+ ],
"fuzzy": true
},
{
- "id": "The {Name} tunnel has been deactivated.",
- "message": "The {Name} tunnel has been deactivated.",
- "translation": "The {Name} tunnel has been deactivated.",
+ "id": "Addresses: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "Addresses: {EnumerationSeparator}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "Name",
+ "id": "EnumerationSeparator",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
- "expr": "tunnel.Name"
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
}
],
"fuzzy": true
@@ -1435,6 +1457,13 @@
"fuzzy": true
},
{
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "translation": "no configuration files were found",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
"id": "Could not import selected configuration: {LastErr}",
"message": "Could not import selected configuration: {LastErr}",
"translation": "Could not import selected configuration: {LastErr}",
@@ -1452,18 +1481,18 @@
"fuzzy": true
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Could not enumerate existing tunnels: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Could not enumerate existing tunnels: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
],
"fuzzy": true
@@ -1837,6 +1866,20 @@
"fuzzy": true
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Please ask the system administrator to update.",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: Waiting for administrator",
+ "translatorComment": "Copied from source.",
+ "fuzzy": true
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Status: Waiting for updater service",
@@ -1866,90 +1909,6 @@
"translation": "Status: Complete!",
"translatorComment": "Copied from source.",
"fuzzy": true
- },
- {
- "id": "http2: Framer {F}: failed to decode just-written frame",
- "message": "http2: Framer {F}: failed to decode just-written frame",
- "translation": "http2: Framer {F}: failed to decode just-written frame",
- "translatorComment": "Copied from source.",
- "placeholders": [
- {
- "id": "F",
- "string": "%[1]p",
- "type": "*net/http.http2Framer",
- "underlyingType": "*net/http.http2Framer",
- "argNum": 1,
- "expr": "f"
- }
- ],
- "fuzzy": true
- },
- {
- "id": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
- "message": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
- "translation": "http2: Framer {F}: wrote {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)"
- }
- ],
- "fuzzy": true
- },
- {
- "id": "http2: Framer {Fr}: read {Http2summarizeFramef}",
- "message": "http2: Framer {Fr}: read {Http2summarizeFramef}",
- "translation": "http2: Framer {Fr}: read {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)"
- }
- ],
- "fuzzy": true
- },
- {
- "id": "http2: decoded hpack field {HeaderField}",
- "message": "http2: decoded hpack field {HeaderField}",
- "translation": "http2: decoded hpack field {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"
- }
- ],
- "fuzzy": true
}
]
} \ No newline at end of file
diff --git a/locales/es-ES/messages.gotext.json b/locales/es-ES/messages.gotext.json
index c8332e6d..f38ff01c 100644
--- a/locales/es-ES/messages.gotext.json
+++ b/locales/es-ES/messages.gotext.json
@@ -8,6 +8,11 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": ""
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(sin argumento): eleve e instale el servicio de administrador",
@@ -392,15 +397,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "La dirección IP no es válida",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "La longitud del prefijo de red no es válida",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Dirección IP no válida:",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +461,6 @@
"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": "El número debe estar entre 0 y 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": "Dos comas consecutivas",
@@ -538,39 +521,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Error al obtener la configuración",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "La clave no es válida para sección de interfaz",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "La versión del protocolo debe ser 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "La clave no es válida para la sección de par",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -586,9 +545,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Versión de la aplicación: {Number}\nVersión de backend Go: {WireGuardGoVersion}\nVersión de Go: {Version_go}-{GOARCH}\nSistema operativo: {OsName}\nArquitectura: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Versión de la aplicación: {Number}\nVersión del controlador: {Version}\nVersión de Go: {Version_go}\nSistema operativo: {OsName}\nArquitectura: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +559,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +575,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +599,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &¡Dona!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026¡Dona!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +611,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Desactivar",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Desactivar",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Activar",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Activar",
"translatorComment": "Copied from source."
},
{
@@ -708,6 +659,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabla:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Clave compartida:",
@@ -722,7 +679,7 @@
{
"id": "Endpoint:",
"message": "Endpoint:",
- "translation": "Endpoint:",
+ "translation": "Punto final:",
"translatorComment": "Copied from source."
},
{
@@ -770,7 +727,13 @@
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "inhabilitado, por política",
+ "translation": "deshabilitado, por directiva",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "desactivado",
"translatorComment": "Copied from source."
},
{
@@ -856,14 +819,14 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Nombre:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Nombre:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
"translation": "Clave pública:",
"translatorComment": "Copied from source."
},
@@ -874,21 +837,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Bloquear tráfico sin tunelizar (interruptor de apagado)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Bloquear tráfico sin tunelizar (interruptor de apagado)",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Cuando una configuración tiene exactamente un par, y ese par tiene IPs permitidas que contengan al menos 0.0.0.0/0 o ::/0, entonces el servicio del túnel activa reglas de firewall para bloquear todo el tráfico que no es hacia ni desde la interfaz del túnel o hacia al servidor DNS equivocado, con excepciones especiales para DHCP y NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Cuando una configuración tiene exactamente un par, y ese par tiene una lista de IPs permitidas que contiene al menos una de 0.0.0.0/0 o ::/0, y la interfaz no tiene table off, entonces el servicio del túnel activa un conjunto de reglas de firewall para bloquear todo el tráfico que no es hacia ni desde la interfaz del túnel o que se dirige a un servidor DNS incorrecto, con excepciones especiales para DHCP y NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Guardar",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Guardar",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +861,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Configuración:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Configuración:",
"translatorComment": "Copied from source."
},
{
@@ -1024,21 +987,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Copiar",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Copiar",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Seleccionar &todos",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Seleccionar \u0026todos",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Guardar en archivo…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Guardar en archivo…",
"translatorComment": "Copied from source."
},
{
@@ -1066,9 +1029,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&Acerca de WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Acerca de WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1150,27 +1113,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Administrar túneles…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Administrar túneles…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Importar túnel(es) desde archivo…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importar túnel(es) desde archivo…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "&Salir",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026Salir",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Túneles",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Túneles",
"translatorComment": "Copied from source."
},
{
@@ -1296,15 +1259,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Editar",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Editar",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Agregar &túnel vacío…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Agregar \u0026túnel vacío…",
"translatorComment": "Copied from source."
},
{
@@ -1326,27 +1289,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Cambiar estado",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Cambiar estado",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Exportar todos los túneles a &ZIP…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Exportar todos los túneles a \u0026ZIP…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Editar túneles &seleccionados…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Editar túneles \u0026seleccionados…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Eliminar túnel(es) seleccionados",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Eliminar túnel(es) seleccionados",
"translatorComment": "Copied from source."
},
{
@@ -1372,18 +1335,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "No se pueden enumerar los túneles existentes: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "No se pudieron enumerar los túneles existentes: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1736,6 +1699,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Por favor, pida al administrador del sistema que actualice.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Estado: Esperando al administrador",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Estado: Esperando al servicio de actualización",
@@ -1762,86 +1737,6 @@
"message": "Status: Complete!",
"translation": "Estado: ¡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}: failed to decode just-written frame",
- "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}: wrote {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}: read {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: decoded hpack field {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/et/messages.gotext.json b/locales/et/messages.gotext.json
index b06b42b7..3cf65c3a 100644
--- a/locales/et/messages.gotext.json
+++ b/locales/et/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Viga:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(tühi muutuja): paigalda haldusteenus ülemõigustega",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Peate kasutama antud arvutiga sobivat WireGuard'i versiooni.",
+ "translation": "Selles arvutis tuleb kasutada WireGuard'i kohalikku (native) versiooni.",
"translatorComment": "Copied from source."
},
{
@@ -392,15 +398,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Sobimatu IP-aadress",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Sobimatu alamvõrgu maski pikkus",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Sobimatu IP-aadress:",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +462,6 @@
"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": "Number peab olema väärtus 0 ja 2^64-1 vahel: {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": "Kaks koma järjest",
@@ -538,39 +522,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Seadistuste saamisel ilmnes viga",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Sobimatu võti liidese lõigus",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Protokolli versioon peab olema 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Sobimatu võti partneri lõigus",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -586,9 +546,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Programmi versioon: {Number}\nGo taustsüsteemi versioon: {WireGuardGoVersion}\nGo versioon: {Version_go}-{GOARCH}\nOperatsioonisüsteem: {OsName}\nArhitektuur: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Rakenduse versioon: {Number}\nDraiveri versioon: {Version}\nGo versioon: {Version_go}\nOperatsioonisüsteem: {OsName}\nArhitektuur: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +560,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +576,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +600,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Anneta!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Anneta!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +612,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Ühendu lahti",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Ühendu lahti",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Ühenda",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Ühenda",
"translatorComment": "Copied from source."
},
{
@@ -708,6 +660,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabel:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Eeljagatud võti:",
@@ -746,31 +704,37 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "enne ühendumist",
+ "translation": "enne ühendamist",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "pärast ühendumist",
+ "translation": "pärast ühendamist",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "enne lahti ühendumist",
+ "translation": "enne lahtiühendamist",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "pärast lahti ühendumist",
+ "translation": "pärast lahtiühendamist",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "keelatud, poliitika põhiselt",
+ "translation": "keelatud reegli järgi",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "väljas",
"translatorComment": "Copied from source."
},
{
@@ -856,15 +820,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Nimi:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Nimi:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Avalik võti:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Avalik võti:",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +838,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Keela tunneldamata liiklus (kaitselüliti)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Keela tunneldamata liiklus (kaitselüliti)",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Kui seadistuses on ainult üks partner ning sellel partneril on lubatud IP-aadresside seas määratud vähemalt üks 0.0.0.0/0 või ::/0 aadress, siis tunneliteenus lülitab sisse tulemüürireeglistiku, mis keelab kogu liikluse, mis pole pärit tunneliliidesest ega suundu selle poole või liigub vale DNS-serveri suunas. DHCP ja NDP jaoks on loodud erandid.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Kui seadistuses on täpselt üks partner ja selle partneri lubatud IP-aadressid sisaldavad vähemalt üht aadressidest 0.0.0.0/0 või ::/0 ning liideses ei ole table off, siis tunneliteenus rakendab tulemüüri reeglistiku, mis keelab kogu liikluse, mis ei ole tunneliliideselt ega sinna, või on valele DNS-serverile, eranditega DHCP ja NDP jaoks.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Salvesta",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Salvesta",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +862,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Seadistus:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Seadistus:",
"translatorComment": "Copied from source."
},
{
@@ -1024,21 +988,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Kopeeri",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopeeri",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Vali &kõik",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Vali \u0026kõik",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Salvesta faili…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Salvesta faili…",
"translatorComment": "Copied from source."
},
{
@@ -1066,9 +1030,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "WireGu&ard'ist…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "WireGu\u0026ard'ist…",
"translatorComment": "Copied from source."
},
{
@@ -1150,27 +1114,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Halda tunneleid…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Halda tunneleid…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Impordi tunnel(id) failist…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Impordi tunnel(id) failist…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "Sul&e",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "Sul\u0026e",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tunnelid",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunnelid",
"translatorComment": "Copied from source."
},
{
@@ -1296,15 +1260,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Muuda",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Muuda",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Lisa tühi tunn&el…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Lisa tühi tunn\u0026el…",
"translatorComment": "Copied from source."
},
{
@@ -1326,33 +1290,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "Lüli&tu ümber",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "Lüli\u0026tu ümber",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Ekspordi kõik tunnelid &zip-faili…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Ekspordi kõik tunnelid \u0026zip-faili…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Muuda &valitud tunnelit…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Muuda \u0026valitud tunnelit…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Eemalda valitud tunnel(id)",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Eemalda valitud tunnel(id)",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "ühtegi seadistusfaili ei leitud",
+ "translation": "seadistusfaile ei leitud",
"translatorComment": "Copied from source."
},
{
@@ -1372,18 +1336,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Pole võimeline loetlema olemasolevaid tunneleid: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Olemasolevate tunnelite loetlemine ebaõnnestus: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1437,7 +1401,7 @@
"msg": "Imporditud {M} tunnel"
},
"other": {
- "msg": "Importitud {M} tunnelit"
+ "msg": "Imporditud {M} tunnelit"
}
}
}
@@ -1736,6 +1700,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Palun paluge süsteemiadministraatoril uuendada.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Staatus: Ootan administraatori järel",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Staatus: Ootan uuendusteenuse järel",
@@ -1762,86 +1738,6 @@
"message": "Status: Complete!",
"translation": "Staatus: Valmis!",
"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: Kadeerija {F}: värske kaadri dekodeerimine ebaõnnestus",
- "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: Kadeerija {F}: kirjutas {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: Kadeerija {Fr}: luges {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: dekodeeritud hpack väli {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/fa/messages.gotext.json b/locales/fa/messages.gotext.json
index 7f9dc7c0..d352fec9 100644
--- a/locales/fa/messages.gotext.json
+++ b/locales/fa/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "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": "(بدون ورودیی): سرویس مدیریت را ارتقا و نصب کنید",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "شما باید از نگارش بومی وایرگارد بر روی این رایانه استفاده کنید.",
+ "translation": "شما باید از نسخه بومی WireGuard در این رایانه استفاده کنید.",
"translatorComment": "Copied from source."
},
{
@@ -392,15 +398,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "نشانی آی‌پی نامعتبر است",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "طول پیشوند شبکه نامعتبر است",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "نشانی IP نامعتبر:",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +462,6 @@
"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": "دو کاما پشت سر هم",
@@ -538,40 +522,18 @@
"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": "کلید برای بخش [Interface] نامعتبر است",
- "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 ‘リンゴ、オレンジ、イチゴ’."
+ "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 ‘リンゴ、オレンジ、イチゴ’.",
+ "translatorComment": "Copied from source."
},
{
"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秒’."
+ "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秒’.",
+ "translatorComment": "Copied from source."
},
{
"id": "About WireGuard",
@@ -586,9 +548,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "ورژن برنامه: {Number}\nورژن زبان گو در بطن:{WireGuardGoVersion}\nورژن زبان گو:{Version_go}-{GOARCH}\nسیستم عامل: {OsName}\nمعماری: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "نسخه برنامه: {Number}\nنسخه راه‌انداز: {Version}\nنسخه Go: {Version_go}\nسیستم‌عامل: {OsName}\nمعماری: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +562,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +578,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +602,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥&کمک‌مالی!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥\u0026کمک‌مالی!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +614,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&غیرفعال‌سازی",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026غیرفعال‌سازی",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&فعال‌سازی",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026فعال‌سازی",
"translatorComment": "Copied from source."
},
{
@@ -708,6 +662,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "جدول:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "کلید از پیش تقسیم شده:",
@@ -746,31 +706,37 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "پیشنیاز",
+ "translation": "قبل از فعال‌سازی",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "پس نیاز برقراری",
+ "translation": "پس از فعال‌سازی",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "پیشنیاز قطعی",
+ "translation": "قبل از غیرفعال‌سازی",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "پسنیاز قطعی",
+ "translation": "پس از غیرفعال‌سازی",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "غیر فعال، بر اساس خط مشی",
+ "translation": "غیرفعال شده، طبق سیاست",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "خاموش",
"translatorComment": "Copied from source."
},
{
@@ -856,15 +822,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&نام:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026نام:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&کلید عمومی:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026کلید عمومی:",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +840,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&مسدود کردن ترافیک تونل نشده (سوئیچ مرگ)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026مسدود کردن ترافیک تونل نشده (سوئیچ مرگ)",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "هنگامی که یک پیکربندی فقط یک peer داشته باشد و آن peer دارای IP های مجاز باشد که حداقل یکی از 0.0.0.0/0 یا ::/0 را شامل می شود، سرویس تونل مجموعه ای از قوانین فایروال را درگیر می کند تا تمام ترافیکی که نه به و نه از آن peer و یا به سرور DNS اشتباهی است را را مسدود میکند. ، با استثناء تعریف ویژه برای DHCP و NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "هنگامی که یک پیکربندی دقیقاً یک همتا داشته باشد، و آن همتا یک IP مجاز شامل دست‌کم یکی از 0.0.0.0/0 یا ::/0 داشته باشد، و رابط دارای table off نباشد، آنگاه سرویس تونل مجموعه قوانین دیوار آتش را برای مسدود کردن همه ترافیکی که نه به مقصد و نه از مبدأ رابط تونل است یا به سرور DNS اشتباه می‌رود، با استثناهای ویژه برای DHCP و NDP، فعال می‌کند.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&ذخیره",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026ذخیره",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +864,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&پیکربندی:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026پیکربندی:",
"translatorComment": "Copied from source."
},
{
@@ -1024,21 +990,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&روگرفت",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026روگرفت",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "انتخاب همه",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "انتخاب \u0026همه",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&ذخیره در پرونده…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026ذخیره در پرونده…",
"translatorComment": "Copied from source."
},
{
@@ -1066,15 +1032,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&درباره WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026درباره WireGuard…",
"translatorComment": "Copied from source."
},
{
"id": "Tunnel Error",
"message": "Tunnel Error",
- "translation": "خطالی تونل",
+ "translation": "خطای تونل",
"translatorComment": "Copied from source."
},
{
@@ -1150,27 +1116,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&مدیریت تونل‌ها…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026مدیریت تونل‌ها…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&وارد کردن تونل(ها) از پرونده…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026وارد کردن تونل(ها) از پرونده…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "خروج",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026خروج",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&تونل‌ها",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026تونل‌ها",
"translatorComment": "Copied from source."
},
{
@@ -1296,15 +1262,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&ویرایش",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026ویرایش",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "افزودن &خالی‌کردن تونل…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "افزودن تونل \u0026خالی…",
"translatorComment": "Copied from source."
},
{
@@ -1326,33 +1292,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "تغییر وضعیت",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026تغییر وضعیت",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "برون‌بری همه تونل‌ها به &زیپ…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "برون‌بری همه تونل‌ها به \u0026زیپ…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "ویرایش تونل انتخابی…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "ویرایش \u0026تونل انتخابی…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&حذف تونل(های) انتخاب شده",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026حذف تونل(های) انتخاب شده",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "هیچ فایل پیکربندی یافت نشد",
+ "translation": "هیچ پرونده پیکربندی یافت نشد",
"translatorComment": "Copied from source."
},
{
@@ -1372,18 +1338,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "امکان استفاده از این تونل ها موجود نبود: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "نمی‌توان تونل‌های موجود را برشمرد: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1736,6 +1702,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "لطفاً از مدیر سیستم بخواهید به‌روزرسانی کند.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "وضعیت: درانتظار برای مدیر",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "وضعیت: درانتظار برای سرویس به‌روزرسان",
@@ -1762,86 +1740,6 @@
"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}: خطا در رمزگشایی just-written frame",
- "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 field {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/fi/messages.gotext.json b/locales/fi/messages.gotext.json
index e0583a6c..a98af753 100644
--- a/locales/fi/messages.gotext.json
+++ b/locales/fi/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Virhe:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(ei määrityksiä): suorita järjestelmäoikeuksilla ja asenna hallintapalvelu",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Tällä tietokoneella voi käyttää vain WireGuardin natiivia versiota.",
+ "translation": "Tällä tietokoneella tulee käyttää WireGuardin natiiviversiota.",
"translatorComment": "Copied from source."
},
{
@@ -392,15 +398,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Virheellinen IP-osoite",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Virheellinen verkon etuliitteen pituus",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Virheellinen IP-osoite:",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +462,6 @@
"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": "Luvun tulee olla väliltä 0 ja 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": "Kaksi pilkkua peräkkäin",
@@ -538,39 +522,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Virhe luettaessa määritystä",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Virheellinen avain liitäntä-osiossa",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Protokollan version pitää olla 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Virheellinen avain osapuoli-osiossa",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -586,9 +546,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Sovelluksen versio: {Number}\nGo taustajärjestelmän versio: {WireGuardGoVersion}\nGo versio: {Version_go}-{GOARCH}\nKäyttöjärjestelmä: {OsName}\nArkkitehtuuri: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Sovelluksen versio: {Number}\nAjurin versio: {Version}\nGo-versio: {Version_go}\nKäyttöjärjestelmä: {OsName}\nArkkitehtuuri: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +560,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +576,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +600,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Lahjoita!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Lahjoita!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +612,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Deaktivoi",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Deaktivoi",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Aktivoi",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktivoi",
"translatorComment": "Copied from source."
},
{
@@ -704,7 +656,13 @@
{
"id": "Scripts:",
"message": "Scripts:",
- "translation": "Komentosarjat:",
+ "translation": "Skriptit:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Taulu:",
"translatorComment": "Copied from source."
},
{
@@ -746,31 +704,37 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "pre-up",
+ "translation": "ennen ylösajoa",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "post-up",
+ "translation": "ylösajon jälkeen",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "pre-down",
+ "translation": "ennen alasajoa",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "post-down",
+ "translation": "alasajon jälkeen",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "pois käytöstä, käytännön perusteella",
+ "translation": "poistettu käytöstä käytännön mukaisesti",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "pois",
"translatorComment": "Copied from source."
},
{
@@ -856,15 +820,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Nimi:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Nimi:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Julkinen avain:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Julkinen avain:",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +838,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Estä tunneloimaton liikenne (pääkatkaisija)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Estä tunneloimaton liikenne (pääkatkaisija)",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Mikäli määriteltynä on tasan yksi toinen osapuoli ja kyseisen osapuolen sallituissa IP-osoitteessa on määritelty 0.0.0.0/0 ja/tai ::/0, tunnelipalvelu kytkee käyttöön palomuurin säännön joka estää kaiken liikenteen joka ei joko tule tai mene tunneliliitännän kautta tai se kohdistuu väärään DNS-palvelimeen. Erikoispoikkeuksena tästä on DHCP ja NDP liikenne.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Mikäli määriteltynä on tasan yksi toinen osapuoli ja kyseisen osapuolen sallituissa IP-osoitteissa on määritelty 0.0.0.0/0 ja/tai ::/0, eikä liitännällä ole table off -asetusta, tunnelipalvelu kytkee käyttöön palomuurin säännön, joka estää kaiken liikenteen, joka ei joko tule tai mene tunneliliitännän kautta tai joka on osoitettu väärälle DNS-palvelimelle. Erikoispoikkeuksena tästä on DHCP ja NDP liikenne.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Tallenna",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Tallenna",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +862,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Konfiguraatio:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfiguraatio:",
"translatorComment": "Copied from source."
},
{
@@ -1024,21 +988,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Kopioi",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopioi",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Valitse k&aikki",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Valitse k\u0026aikki",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Tallenna tiedostoon…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Tallenna tiedostoon…",
"translatorComment": "Copied from source."
},
{
@@ -1066,9 +1030,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "Tietoja WireGu&ardista…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "Tietoja WireGu\u0026ardista…",
"translatorComment": "Copied from source."
},
{
@@ -1150,27 +1114,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Hallitse tunneleita…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Hallitse tunneleita…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "Tuo tunnele&ita tiedostosta…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "Tuo tunnele\u0026ita tiedostosta…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "Lo&peta",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "Lo\u0026peta",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tunnelit",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunnelit",
"translatorComment": "Copied from source."
},
{
@@ -1296,15 +1260,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Muokkaa",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Muokkaa",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Lisää tyhjä tunn&eli…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Lisää tyhjä tunn\u0026eli…",
"translatorComment": "Copied from source."
},
{
@@ -1326,33 +1290,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "Vaihda &tila",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "Vaihda \u0026tila",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Vie kaikki tunnelit &zip-tiedostoon…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Vie kaikki tunnelit \u0026zip-tiedostoon…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Muokkaa &valittua tunnelia…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Muokkaa \u0026valittua tunnelia…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Poista valitut tunnelit",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Poista valitut tunnelit",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "määritystiedostoa ei löytynyt",
+ "translation": "määritystiedostoja ei löytynyt",
"translatorComment": "Copied from source."
},
{
@@ -1372,18 +1336,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Olemassaolevia tunneleita ei voitu luetella: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Olemassa olevia tunneleita ei voitu luetella: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1628,24 +1592,102 @@
"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} tunnelia ei voitu poistaa."
+ },
+ "other": {
+ "msg": "{Lenerrors} tunnelia ei voitu poistaa."
+ }
+ }
+ }
+ },
+ "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": "Määritystiedostot (*.zip, *.conf)|*.zip;*.conf|Kaikki tiedostot (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Import tunnel(s) from file",
"message": "Import tunnel(s) from file",
"translation": "Tuo tunneli(t) tiedostosta",
"translatorComment": "Copied from source."
},
{
+ "id": "Configuration ZIP Files (*.zip)|*.zip",
+ "message": "Configuration ZIP Files (*.zip)|*.zip",
+ "translation": "ZIP-määritystiedostot (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Export tunnels to zip",
"message": "Export tunnels to zip",
"translation": "Vie tunnelit zip-tiedostoon",
"translatorComment": "Copied from source."
},
{
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (allekirjoittamaton koonti, ei päivityksiä)",
+ "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": "Virhe WireGuardista poistuttaessa",
"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": "Palvelusta ei voitu poistua syystä: {Err}. Voit pysäyttää WireGuardin palveluiden hallinnasta.",
+ "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": "WireGuardiin on saatavilla päivitys. On erittäin suositeltavaa päivittää viipymättä.",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for user",
"message": "Status: Waiting for user",
"translation": "Tila: Odotetaan käyttäjää",
@@ -1658,6 +1700,40 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Pyydä järjestelmänvalvojaa päivittämään.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Tila: Odotetaan järjestelmänvalvojaa",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "Tila: Odotetaan päivityspalvelua",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error: {Err}. Please try again.",
+ "message": "Error: {Err}. Please try again.",
+ "translation": "Virhe: {Err}. Yritä uudelleen.",
+ "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": "Tila: Valmis!",
diff --git a/locales/fr/messages.gotext.json b/locales/fr/messages.gotext.json
index 95f02eec..bbb1054f 100644
--- a/locales/fr/messages.gotext.json
+++ b/locales/fr/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "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",
@@ -392,15 +398,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "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",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Adresse IP non valide :",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +462,6 @@
"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 compris entre 0 et 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": "Deux virgules consécutives",
@@ -538,40 +522,17 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting 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",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 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",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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秒’."
+ "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秒’.",
+ "translatorComment": "Copied from source."
},
{
"id": "About WireGuard",
@@ -586,9 +547,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Version de l'application : {Number}\nVersion backend Go : {WireGuardGoVersion}\nVersion Go : {Version_go}-{GOARCH}\nSystème d'exploitation : {OsName}\nArchitecture : {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Version de l'application : {Number}\nVersion du pilote : {Version}\nVersion de Go : {Version_go}\nSystème d'exploitation : {OsName}\nArchitecture : {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +561,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +577,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +601,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Faites un don!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Faites un don!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +613,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Désactiver",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Désactiver",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Activer",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Activer",
"translatorComment": "Copied from source."
},
{
@@ -708,6 +661,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Table :",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Clé pré-partagée :",
@@ -770,7 +729,13 @@
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "désactivé, par préférence",
+ "translation": "désactivé, par stratégie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "désactivé",
"translatorComment": "Copied from source."
},
{
@@ -856,15 +821,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Nom :",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Nom :",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Clé publique :",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Clé publique :",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +839,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Bloquer tous le trafic hors tunnel (interrupteur)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Bloquer 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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Si la configuration a exactement un homologue et si cet homologue a une adresse IP autorisée contenant au moins un de 0.0.0.0/0 ou ::/0, le service de tunnel utilise un ensemble de règles du pare-feu afin de bloquer tout le trafic qui n'est ni vers ni depuis l'interface de tunnel ou qui est vers le mauvais serveur DNS, avec des exceptions spéciales pour les DHCP et NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Si la configuration a exactement un homologue et si cet homologue a une adresse IP autorisée contenant au moins un de 0.0.0.0/0 ou ::/0, et si l'interface n'a pas la table désactivée, le service de tunnel utilise un ensemble de règles du pare-feu afin de bloquer tout le trafic qui n'est ni vers ni depuis l'interface de tunnel ou qui est vers le mauvais serveur DNS, avec des exceptions spéciales pour les DHCP et NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Enregistrer",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Enregistrer",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +863,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Configuration :",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Configuration :",
"translatorComment": "Copied from source."
},
{
@@ -1024,21 +989,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Copier",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Copier",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Sélectionner &tout",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Sélectionner \u0026tout",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Enregistrer dans le fichier…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Enregistrer dans le fichier…",
"translatorComment": "Copied from source."
},
{
@@ -1066,9 +1031,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&À propos WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026À propos WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1134,7 +1099,7 @@
{
"id": "WireGuard: Deactivated",
"message": "WireGuard: Deactivated",
- "translation": "WireGuard: Désactivé",
+ "translation": "WireGuard : Désactivé",
"translatorComment": "Copied from source."
},
{
@@ -1150,28 +1115,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Gestion des tunnels…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Gestion des tunnels…",
"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…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importer le(s) tunnel(s) à partir du fichier…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "Q&uitter",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "Q\u0026uitter",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "& Tunnels",
- "translatorComment": "Copied from source."
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": ""
},
{
"id": "WireGuard Activated",
@@ -1296,15 +1260,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Modifier",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Modifier",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Ajouter un &tunnel vide…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Ajouter un \u0026tunnel vide…",
"translatorComment": "Copied from source."
},
{
@@ -1326,27 +1290,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Basculer",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Basculer",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Exporter tous les tunnels vers &zip…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Exporter tous les tunnels vers \u0026zip…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Modifier &le tunnel sélectionné…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Modifier \u0026le tunnel sélectionné…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Supprimer le(s) tunnel(s) sélectionné(s)",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Supprimer le(s) tunnel(s) sélectionné(s)",
"translatorComment": "Copied from source."
},
{
@@ -1372,18 +1336,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Impossible d'énumérer les tunnels existantes : {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Impossible d'énumérer les tunnels existants : {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1726,7 +1690,7 @@
{
"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."
},
{
@@ -1736,9 +1700,21 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Veuillez demander à l'administrateur système de mettre à jour.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "État : En attente de l'administrateur",
+ "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."
},
{
@@ -1760,88 +1736,8 @@
{
"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",
- "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: Trameur {F}: a écrit {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: Trameur {Fr} : a lu {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 : champ hpack {HeaderField} décodé",
- "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/he/messages.gotext.json b/locales/he/messages.gotext.json
new file mode 100644
index 00000000..cc4045ce
--- /dev/null
+++ b/locales/he/messages.gotext.json
@@ -0,0 +1,1795 @@
+{
+ "language": "he",
+ "messages": [
+ {
+ "id": "Error",
+ "message": "Error",
+ "translation": "שגיאה",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "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 native version of WireGuard on this computer.",
+ "message": "You must use the native version of WireGuard on this computer.",
+ "translation": "יש להשתמש בגרסה המקורית של 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": {
+ "many": {
+ "msg": "{Years} שנה"
+ },
+ "one": {
+ "msg": "שנה"
+ },
+ "other": {
+ "msg": "{Years} שנים"
+ },
+ "two": {
+ "msg": "שנתיים"
+ }
+ }
+ }
+ },
+ "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": {
+ "many": {
+ "msg": "{Days} יום"
+ },
+ "one": {
+ "msg": "יום"
+ },
+ "other": {
+ "msg": "{Days} ימים"
+ },
+ "two": {
+ "msg": "יומיים"
+ }
+ }
+ }
+ },
+ "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": {
+ "many": {
+ "msg": "{Hours} שעה"
+ },
+ "one": {
+ "msg": "שעה"
+ },
+ "other": {
+ "msg": "{Hours} שעות"
+ },
+ "two": {
+ "msg": "שעתיים"
+ }
+ }
+ }
+ },
+ "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": {
+ "many": {
+ "msg": "{Minutes} דקה"
+ },
+ "one": {
+ "msg": "דקה"
+ },
+ "other": {
+ "msg": "{Minutes} דקות"
+ },
+ "two": {
+ "msg": "שתי דקות"
+ }
+ }
+ }
+ },
+ "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": {
+ "many": {
+ "msg": "{Seconds} שנייה"
+ },
+ "one": {
+ "msg": "שנייה"
+ },
+ "other": {
+ "msg": "{Seconds} שניות"
+ },
+ "two": {
+ "msg": "שתי שניות"
+ }
+ }
+ }
+ },
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "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": "ערך persistent keepalive לא חוקי",
+ "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": "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": "Config key is missing an equals separator",
+ "message": "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": "לכל ה-Peers חייב להיות מפתח ציבורי",
+ "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}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "גרסת היישום: {Number}\nגרסת מנהל ההתקן: {Version}\nגרסת Go: {Version_go}\nמערכת הפעלה: {OsName}\nארכיטקטורה: {Arch}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "Version",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "driver.Version()"
+ },
+ {
+ "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": "Arch",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "version.Arch()"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "סגור",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026תרומה!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": "מצב:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026השבת",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026הפעל",
+ "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": ""
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "כתובות:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "שרתי DNS:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": "סקריפטים:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "טבלה:",
+ "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": "pre-up",
+ "message": "pre-up",
+ "translation": "לפני הפעלה",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "לאחר הפעלה",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "לפני השבתה",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "לאחר השבתה",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "מושבת, לפי מדיניות",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "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": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "שם (\u0026N):",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "מפתח ציבורי (\u0026P):",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(לא ידוע)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026חסום תעבורה מחוץ למנהרה (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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "כאשר לתצורה יש בדיוק Peer אחד, ול-Peer זה יש Allowed IPs המכיל לפחות אחד מתוך 0.0.0.0/0 או ::/0, והממשק אינו מוגדר עם table off, אז שירות המנהרה מפעיל ערכת חוקי חומת אש החוסמת את כל התעבורה שאינה אל ממשק המנהרה או ממנו או שמופנית לשרת DNS שגוי, למעט חריגים מיוחדים עבור DHCP ו-NDP.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026שמור",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "ביטול",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "תצורה (\u0026C):",
+ "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": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026העתק",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "בחר ה\u0026כל",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026שמור לקובץ…",
+ "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": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026אודות 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": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026ניהול מנהרות…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026ייבוא מנהרה/ות מקובץ…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "י\u0026ציאה",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026מנהרות",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "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": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "שגיאת מנהרת WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "",
+ "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: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "כתובות: {EnumerationSeparator}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "EnumerationSeparator",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
+ }
+ ]
+ },
+ {
+ "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": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026עריכה",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "הוספת מנהרה \u0026ריקה…",
+ "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": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026החלף מצב",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "ייצוא כל המנהרות ל-\u0026zip…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "עריכת המנהרה ה\u0026נבחרת…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026הסרת המנהרה/ות שנבחרו",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "לא ניתן למנות את המנהרות הקיימות: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "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": {
+ "many": {
+ "msg": "יובאו {M} מנהרות"
+ },
+ "one": {
+ "msg": "יובאה מנהרה אחת"
+ },
+ "other": {
+ "msg": "יובאו {M} מנהרות"
+ },
+ "two": {
+ "msg": "יובאו שתי מנהרות"
+ }
+ }
+ }
+ },
+ "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": {
+ "many": {
+ "msg": "יובאו {M} מתוך {N} מנהרות"
+ },
+ "one": {
+ "msg": "יובאה {M} מתוך מנהרה אחת"
+ },
+ "other": {
+ "msg": "יובאו {M} מתוך {N} מנהרות"
+ },
+ "two": {
+ "msg": "יובאו {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": {
+ "many": {
+ "msg": "מחיקת {TunnelCount} מנהרות"
+ },
+ "one": {
+ "msg": "מחיקת מנהרה אחת"
+ },
+ "other": {
+ "msg": "מחיקת {TunnelCount} מנהרות"
+ },
+ "two": {
+ "msg": "מחיקת שתי מנהרות"
+ }
+ }
+ }
+ },
+ "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": {
+ "many": {
+ "msg": "האם אתה בטוח שברצונך למחוק {TunnelCount} מנהרות?"
+ },
+ "one": {
+ "msg": "האם אתה בטוח שברצונך למחוק מנהרה אחת?"
+ },
+ "other": {
+ "msg": "האם אתה בטוח שברצונך למחוק {TunnelCount} מנהרות?"
+ },
+ "two": {
+ "msg": "האם אתה בטוח שברצונך למחוק שתי מנהרות?"
+ }
+ }
+ }
+ },
+ "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": {
+ "many": {
+ "msg": "לא ניתן היה להסיר {Lenerrors} מנהרות."
+ },
+ "one": {
+ "msg": "לא ניתן היה להסיר מנהרה אחת."
+ },
+ "other": {
+ "msg": "לא ניתן היה להסיר {Lenerrors} מנהרות."
+ },
+ "two": {
+ "msg": "לא ניתן היה להסיר שתי מנהרות."
+ }
+ }
+ }
+ },
+ "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": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "אנא בקש ממנהל המערכת לעדכן.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "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."
+ }
+ ]
+} \ No newline at end of file
diff --git a/locales/hi/messages.gotext.json b/locales/hi/messages.gotext.json
new file mode 100644
index 00000000..b474f7a7
--- /dev/null
+++ b/locales/hi/messages.gotext.json
@@ -0,0 +1,1735 @@
+{
+ "language": "hi",
+ "messages": [
+ {
+ "id": "Error",
+ "message": "Error",
+ "translation": "त्रुटि",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "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 native version of WireGuard on this computer.",
+ "message": "You must use the native version of WireGuard on this computer.",
+ "translation": "आपको इस कंप्यूटर पर 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 चल रहा है, परंतु UI केवल अंतर्निर्मित {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} वर्ष"
+ },
+ "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} दिन"
+ },
+ "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} घंटा"
+ },
+ "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} मिनट"
+ },
+ "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} सेकंड"
+ },
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "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": "अमान्य persistent keepalive",
+ "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": "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": "Config key is missing an equals separator",
+ "message": "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": "[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}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "ऐप संस्करण: {Number}\nड्राइवर संस्करण: {Version}\nGo संस्करण: {Version_go}\nऑपरेटिंग सिस्टम: {OsName}\nआर्किटेक्चर: {Arch}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "Version",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "driver.Version()"
+ },
+ {
+ "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": "Arch",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "version.Arch()"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "बंद करें",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ दान दें (\u0026D)!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": "स्थिति:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "निष्क्रिय करें (\u0026D)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "सक्रिय करें (\u0026A)",
+ "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": ""
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "पते:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "DNS सर्वर:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": "स्क्रिप्ट:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "तालिका:",
+ "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": "लगातार Keepalive:",
+ "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": "pre-up",
+ "message": "pre-up",
+ "translation": "कनेक्शन से पहले",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "कनेक्शन के बाद",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "डिस्कनेक्शन से पहले",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "डिस्कनेक्शन के बाद",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "नीति अनुसार अक्षम",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "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": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "नाम (\u0026N):",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "सार्वजनिक कुंजी (\u0026P):",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(अज्ञात)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "बिना-टनल किया गया ट्रैफ़िक अवरुद्ध करें (किल-स्विच) (\u0026B)",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "जब किसी कॉन्फ़िगरेशन में ठीक एक पीयर हो, और उस पीयर के अनुमत IP में 0.0.0.0/0 या ::/0 में से कम से कम एक शामिल हो, और इंटरफ़ेस की तालिका बंद न हो, तब टनल सेवा एक फ़ायरवॉल नियमावली लागू करती है जो ऐसे सभी ट्रैफ़िक को अवरुद्ध करती है जो न तो टनल इंटरफ़ेस से आ रहा हो, न ही उसके लिए जा रहा हो, या ग़लत DNS सर्वर के लिए हो, DHCP और NDP के लिए विशेष अपवादों के साथ।",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "सहेजें (\u0026S)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "रद्द करें",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "कॉन्फ़िगरेशन (\u0026C):",
+ "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": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "प्रतिलिपि बनाएँ (\u0026C)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "सभी का चयन करें (\u0026A)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "फ़ाइल में सहेजें (\u0026S)…",
+ "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": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "WireGuard के बारे में (\u0026A)…",
+ "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": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "टनल प्रबंधित करें (\u0026M)…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "फ़ाइल से टनल आयात करें (\u0026I)…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "बाहर निकलें (\u0026x)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "टनल (\u0026T)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "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": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "WireGuard टनल त्रुटि",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "",
+ "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: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "पते: {EnumerationSeparator}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "EnumerationSeparator",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
+ }
+ ]
+ },
+ {
+ "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": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "संपादित करें (\u0026E)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "खाली टनल जोड़ें (\u0026e)…",
+ "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": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "टॉगल करें (\u0026T)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "सभी टनलों को zip में निर्यात करें (\u0026z)…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "चयनित टनल संपादित करें (\u0026s)…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "चयनित टनल हटाएँ (\u0026R)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "मौजूदा टनलों की गणना नहीं की जा सकी: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "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} टनल आयात किया गया"
+ },
+ "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": "{N} में से {M} टनल आयात किया गया"
+ },
+ "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": {
+ "one": {
+ "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} टनल हटाना चाहते हैं?"
+ },
+ "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} टनल हटाया नहीं जा सका।"
+ },
+ "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": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "कृपया सिस्टम व्यवस्थापक से अद्यतन करने के लिए कहें।",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "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."
+ }
+ ]
+} \ No newline at end of file
diff --git a/locales/hu/messages.gotext.json b/locales/hu/messages.gotext.json
new file mode 100644
index 00000000..80f38dc7
--- /dev/null
+++ b/locales/hu/messages.gotext.json
@@ -0,0 +1,1735 @@
+{
+ "language": "hu",
+ "messages": [
+ {
+ "id": "Error",
+ "message": "Error",
+ "translation": "Hiba",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Hiba:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(no argument): elevate and install manager service",
+ "message": "(no argument): elevate and install manager service",
+ "translation": "(argumentum nélkül): jogosultságok emelése és a kezelőszolgáltatás telepítése",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Usage: {Args0} [\n{String}]",
+ "message": "Usage: {Args0} [\n{String}]",
+ "translation": "Használat: {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": "Parancssori beállítások",
+ "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": "Nem állapítható meg, hogy a folyamat WOW64 alatt fut-e: {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 native version of WireGuard on this computer.",
+ "message": "You must use the native version of WireGuard on this computer.",
+ "translation": "Ezen a számítógépen a WireGuard natív változatát kell használnia.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to open current process token: {Err}",
+ "message": "Unable to open current process token: {Err}",
+ "translation": "Az aktuális folyamat tokenje nem nyitható meg: {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": "A WireGuardot csak a beépített {AdminGroupName} csoport tagjai használhatják.",
+ "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": "A WireGuard fut, de a felhasználói felület csak a beépített {AdminGroupName} csoport asztalairól érhető el.",
+ "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": "A WireGuard tálcaikonja 30 másodperc alatt sem jelent meg.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Now",
+ "message": "Now",
+ "translation": "Most",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "System clock wound backward!",
+ "message": "System clock wound backward!",
+ "translation": "A rendszeróra visszaállt!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Years} year(s)",
+ "message": "{Years} year(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Years",
+ "cases": {
+ "one": {
+ "msg": "{Years} év"
+ },
+ "other": {
+ "msg": "{Years} év"
+ }
+ }
+ }
+ },
+ "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} nap"
+ },
+ "other": {
+ "msg": "{Days} nap"
+ }
+ }
+ }
+ },
+ "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} óra"
+ },
+ "other": {
+ "msg": "{Hours} óra"
+ }
+ }
+ }
+ },
+ "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} perc"
+ },
+ "other": {
+ "msg": "{Minutes} perc"
+ }
+ }
+ }
+ },
+ "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} másodperc"
+ },
+ "other": {
+ "msg": "{Seconds} másodperc"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Seconds",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "seconds"
+ }
+ ]
+ },
+ {
+ "id": "{Timestamp} ago",
+ "message": "{Timestamp} ago",
+ "translation": "{Timestamp} ezelőtt",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "Érvénytelen IP-cím:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Missing port from endpoint",
+ "message": "Missing port from endpoint",
+ "translation": "Hiányzik a port a végpontból",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid endpoint host",
+ "message": "Invalid endpoint host",
+ "translation": "Érvénytelen végponti gazdagép",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Brackets must contain an IPv6 address",
+ "message": "Brackets must contain an IPv6 address",
+ "translation": "A szögletes zárójeleknek IPv6-címet kell tartalmazniuk",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid MTU",
+ "message": "Invalid MTU",
+ "translation": "Érvénytelen MTU",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid port",
+ "message": "Invalid port",
+ "translation": "Érvénytelen port",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid persistent keepalive",
+ "message": "Invalid persistent keepalive",
+ "translation": "Érvénytelen folyamatos keepalive",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key: {Err}",
+ "message": "Invalid key: {Err}",
+ "translation": "Érvénytelen kulcs: {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": "A kulcsoknak pontosan 32 bájtra kell dekódolódniuk",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Two commas in a row",
+ "message": "Two commas in a row",
+ "translation": "Két vessző egymás után",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name is not valid",
+ "message": "Tunnel name is not valid",
+ "translation": "Az alagútnév érvénytelen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Line must occur in a section",
+ "message": "Line must occur in a section",
+ "translation": "A sornak egy szakaszon belül kell szerepelnie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Config key is missing an equals separator",
+ "message": "Config key is missing an equals separator",
+ "translation": "A konfigurációs kulcsból hiányzik az egyenlőségjel-elválasztó",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Key must have a value",
+ "message": "Key must have a value",
+ "translation": "A kulcsnak értékkel kell rendelkeznie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Interface] section",
+ "message": "Invalid key for [Interface] section",
+ "translation": "Érvénytelen kulcs az [Interface] szakaszhoz",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Peer] section",
+ "message": "Invalid key for [Peer] section",
+ "translation": "Érvénytelen kulcs a [Peer] szakaszhoz",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An interface must have a private key",
+ "message": "An interface must have a private key",
+ "translation": "Az interfésznek rendelkeznie kell egy privát kulccsal",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "[none specified]",
+ "message": "[none specified]",
+ "translation": "[nincs megadva]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "All peers must have public keys",
+ "message": "All peers must have public keys",
+ "translation": "Minden társnak rendelkeznie kell nyilvános kulccsal",
+ "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": "A WireGuard névjegye",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard logo image",
+ "message": "WireGuard logo image",
+ "translation": "WireGuard logó kép",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Alkalmazás verziója: {Number}\nIllesztőprogram verziója: {Version}\nGo verziója: {Version_go}\nOperációs rendszer: {OsName}\nArchitektúra: {Arch}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "Version",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "driver.Version()"
+ },
+ {
+ "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": "Arch",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "version.Arch()"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "Bezárás",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Adományozzon!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": "Állapot:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Deaktiválás",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktiválás",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Public key:",
+ "message": "Public key:",
+ "translation": "Nyilvános kulcs:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Listen port:",
+ "message": "Listen port:",
+ "translation": "Figyelőport:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "MTU:",
+ "message": "MTU:",
+ "translation": ""
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "Címek:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "DNS-kiszolgálók:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": "Parancsfájlok:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tábla:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Preshared key:",
+ "message": "Preshared key:",
+ "translation": "Előmegosztott kulcs:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Allowed IPs:",
+ "message": "Allowed IPs:",
+ "translation": "Engedélyezett IP-címek:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Endpoint:",
+ "message": "Endpoint:",
+ "translation": "Végpont:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Persistent keepalive:",
+ "message": "Persistent keepalive:",
+ "translation": "Folyamatos keepalive:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Latest handshake:",
+ "message": "Latest handshake:",
+ "translation": "Utolsó kézfogás:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Transfer:",
+ "message": "Transfer:",
+ "translation": "Átvitel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-up",
+ "message": "pre-up",
+ "translation": "kapcsolat előtt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "kapcsolat után",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "bontás előtt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "bontás után",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "letiltva, házirend szerint",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "ki",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "enabled",
+ "message": "enabled",
+ "translation": "engedélyezve",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{String} received, {String_1} sent",
+ "message": "{String} received, {String_1} sent",
+ "translation": "{String} fogadva, {String_1} küldve",
+ "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": "Nem sikerült meghatározni az alagút állapotát",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to activate tunnel",
+ "message": "Failed to activate tunnel",
+ "translation": "Nem sikerült aktiválni az alagutat",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to deactivate tunnel",
+ "message": "Failed to deactivate tunnel",
+ "translation": "Nem sikerült deaktiválni az alagutat",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Interface: {Name}",
+ "message": "Interface: {Name}",
+ "translation": "Interfész: {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": "Társ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Create new tunnel",
+ "message": "Create new tunnel",
+ "translation": "Új alagút létrehozása",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit tunnel",
+ "message": "Edit tunnel",
+ "translation": "Alagút szerkesztése",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Név:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Nyilvános kulcs:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(ismeretlen)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "Az alagúton kívüli forgalom le\u0026tiltása (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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Ha egy konfiguráció pontosan egy társat tartalmaz, és ennek a társnak az engedélyezett IP-címei között szerepel a 0.0.0.0/0 vagy a ::/0 közül legalább az egyik, valamint az interfész table beállítása nem off, akkor az alagútszolgáltatás olyan tűzfalszabály-készletet aktivál, amely letiltja az összes olyan forgalmat, amely nem az alagútinterfészen keresztül halad, vagy amely a nem megfelelő DNS-kiszolgálóhoz irányul, kivéve a DHCP és NDP forgalmat.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Mentés",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "Mégse",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfiguráció:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid name",
+ "message": "Invalid name",
+ "translation": "Érvénytelen név",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A name is required.",
+ "message": "A name is required.",
+ "translation": "Egy név megadása kötelező.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name ‘{NewName}’ is invalid.",
+ "message": "Tunnel name ‘{NewName}’ is invalid.",
+ "translation": "A(z) „{NewName}” alagútnév érvénytelen.",
+ "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": "A meglévő alagutak nem listázhatók",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel already exists",
+ "message": "Tunnel already exists",
+ "translation": "Az alagút már létezik",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{NewName}’.",
+ "message": "Another tunnel already exists with the name ‘{NewName}’.",
+ "translation": "Már létezik egy másik alagút „{NewName}” néven.",
+ "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": "Új konfiguráció nem hozható létre",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Writing file failed",
+ "message": "Writing file failed",
+ "translation": "A fájl írása sikertelen",
+ "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": "A(z) „{FilePath}” fájl már létezik.\n\nFelül szeretné írni?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "FilePath",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "filePath"
+ }
+ ]
+ },
+ {
+ "id": "Active",
+ "message": "Active",
+ "translation": "Aktív",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Activating",
+ "message": "Activating",
+ "translation": "Aktiválás folyamatban",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Inactive",
+ "message": "Inactive",
+ "translation": "Inaktív",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Deactivating",
+ "message": "Deactivating",
+ "translation": "Deaktiválás folyamatban",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unknown state",
+ "message": "Unknown state",
+ "translation": "Ismeretlen állapot",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log",
+ "message": "Log",
+ "translation": "Napló",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Másolás",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Összes ki\u0026jelölése",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Mentés fájlba…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Time",
+ "message": "Time",
+ "translation": "Idő",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log message",
+ "message": "Log message",
+ "translation": "Naplóüzenet",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "translation": "Szövegfájlok (*.txt)|*.txt|Minden fájl (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export log to file",
+ "message": "Export log to file",
+ "translation": "Napló exportálása fájlba",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "A WireGu\u0026ard névjegye…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel Error",
+ "message": "Tunnel Error",
+ "translation": "Alagúthiba",
+ "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\nTovábbi információkért tekintse meg a naplót.",
+ "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} (elavult)",
+ "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 észlelési hiba",
+ "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": "Nem lehet várni a WireGuard ablak megjelenésére: {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: Deaktiválva",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Unknown",
+ "message": "Status: Unknown",
+ "translation": "Állapot: Ismeretlen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses: None",
+ "message": "Addresses: None",
+ "translation": "Címek: Nincs",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "Alagutak \u0026kezelése…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "Alagút/alagutak \u0026importálása fájlból…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026Kilépés",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Alagutak",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Activated",
+ "message": "WireGuard Activated",
+ "translation": "WireGuard aktiválva",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been activated.",
+ "message": "The {Name} tunnel has been activated.",
+ "translation": "A(z) {Name} alagút aktiválva lett.",
+ "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 deaktiválva",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been deactivated.",
+ "message": "The {Name} tunnel has been deactivated.",
+ "translation": "A(z) {Name} alagút deaktiválva lett.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "WireGuard alagúthiba",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "TextForStateglobalState_true",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "textForState(globalState, true)"
+ }
+ ]
+ },
+ {
+ "id": "Status: {StateText}",
+ "message": "Status: {StateText}",
+ "translation": "Állapot: {StateText}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "StateText",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "stateText"
+ }
+ ]
+ },
+ {
+ "id": "Addresses: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "Címek: {EnumerationSeparator}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "EnumerationSeparator",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
+ }
+ ]
+ },
+ {
+ "id": "An Update is Available!",
+ "message": "An Update is Available!",
+ "translation": "Frissítés érhető el!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Update Available",
+ "message": "WireGuard Update Available",
+ "translation": "WireGuard frissítés érhető el",
+ "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": "A WireGuardhoz frissítés érhető el. Javasoljuk, hogy mielőbb frissítsen.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnels",
+ "message": "Tunnels",
+ "translation": "Alagutak",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "S\u0026zerkesztés",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Üres alagút \u0026hozzáadása…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add Tunnel",
+ "message": "Add Tunnel",
+ "translation": "Alagút hozzáadása",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Remove selected tunnel(s)",
+ "message": "Remove selected tunnel(s)",
+ "translation": "Kijelölt alagút/alagutak eltávolítása",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to zip",
+ "message": "Export all tunnels to zip",
+ "translation": "Összes alagút exportálása zip fájlba",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Váltás",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Összes alagút exportálása \u0026zip fájlba…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "\u0026Kijelölt alagút szerkesztése…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "Kijelölt alagút/alagutak \u0026eltávolítása",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "translation": "nem található konfigurációs fájl",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Could not import selected configuration: {LastErr}",
+ "message": "Could not import selected configuration: {LastErr}",
+ "translation": "A kijelölt konfigurációt nem sikerült importálni: {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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "A meglévő alagutakat nem sikerült felsorolni: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{Name}’",
+ "message": "Another tunnel already exists with the name ‘{Name}’",
+ "translation": "Már létezik egy másik alagút „{Name}” néven",
+ "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": "A konfiguráció nem importálható: {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": "Importált alagutak",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Imported {M} tunnels",
+ "message": "Imported {M} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "M",
+ "cases": {
+ "one": {
+ "msg": "{M} alagút importálva"
+ },
+ "other": {
+ "msg": "{M} alagút importálva"
+ }
+ }
+ }
+ },
+ "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} alagút importálva"
+ },
+ "other": {
+ "msg": "{M}/{N} alagút importálva"
+ }
+ }
+ }
+ },
+ "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": "Az alagút nem hozható létre",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Delete {TunnelCount} tunnels",
+ "message": "Delete {TunnelCount} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "one": {
+ "msg": "{TunnelCount} alagút törlése"
+ },
+ "other": {
+ "msg": "{TunnelCount} alagút törlése"
+ }
+ }
+ }
+ },
+ "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": "Biztosan törölni szeretne {TunnelCount} alagutat?"
+ },
+ "other": {
+ "msg": "Biztosan törölni szeretne {TunnelCount} alagutat?"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Delete tunnel ‘{TunnelName}’",
+ "message": "Delete tunnel ‘{TunnelName}’",
+ "translation": "A(z) „{TunnelName}” alagút törlése",
+ "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": "Biztosan törölni szeretné a(z) „{TunnelName}” alagutat?",
+ "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} Ezt a műveletet nem lehet visszavonni.",
+ "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": "Az alagút nem törölhető",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A tunnel was unable to be removed: {Error}",
+ "message": "A tunnel was unable to be removed: {Error}",
+ "translation": "Egy alagutat nem sikerült eltávolítani: {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": "Az alagutak nem törölhetők",
+ "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} alagutat nem sikerült eltávolítani."
+ },
+ "other": {
+ "msg": "{Lenerrors} alagutat nem sikerült eltávolítani."
+ }
+ }
+ }
+ },
+ "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": "Konfigurációs fájlok (*.zip, *.conf)|*.zip;*.conf|Minden fájl (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Import tunnel(s) from file",
+ "message": "Import tunnel(s) from file",
+ "translation": "Alagút/alagutak importálása fájlból",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Configuration ZIP Files (*.zip)|*.zip",
+ "message": "Configuration ZIP Files (*.zip)|*.zip",
+ "translation": "Konfigurációs ZIP-fájlok (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "Alagutak exportálása zip fájlba",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (aláíratlan build, nincsenek frissítések)",
+ "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": "Hiba a WireGuardból való kilépéskor",
+ "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": "A szolgáltatásból nem lehet kilépni a következő miatt: {Err}. Érdemes lehet a WireGuardot a szolgáltatáskezelőből leállítani.",
+ "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": "A WireGuardhoz frissítés érhető el. Erősen ajánlott haladéktalanul frissíteni.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for user",
+ "message": "Status: Waiting for user",
+ "translation": "Állapot: Várakozás felhasználói műveletre",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Update Now",
+ "message": "Update Now",
+ "translation": "Frissítés most",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Kérje meg a rendszergazdát a frissítésre.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Állapot: Várakozás rendszergazdára",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "Állapot: Várakozás a frissítőszolgáltatásra",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error: {Err}. Please try again.",
+ "message": "Error: {Err}. Please try again.",
+ "translation": "Hiba: {Err}. Próbálja meg újra.",
+ "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": "Állapot: Befejezve!",
+ "translatorComment": "Copied from source."
+ }
+ ]
+} \ No newline at end of file
diff --git a/locales/id/messages.gotext.json b/locales/id/messages.gotext.json
index c124906b..8960a494 100644
--- a/locales/id/messages.gotext.json
+++ b/locales/id/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Kesalahan:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(tidak ada argumen): naikkan akses dan instal servis manajer",
@@ -140,7 +146,7 @@
"arg": "Years",
"cases": {
"other": {
- "msg": "{Years} tahun\n{Years} tahun"
+ "msg": "{Years} tahun"
}
}
}
@@ -165,7 +171,7 @@
"arg": "Days",
"cases": {
"other": {
- "msg": "{Days} Hari"
+ "msg": "{Days} hari"
}
}
}
@@ -377,21 +383,15 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Alamat IP tidak valid",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Network prefix tidak valid",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Alamat IP tidak valid:",
"translatorComment": "Copied from source."
},
{
"id": "Missing port from endpoint",
"message": "Missing port from endpoint",
- "translation": "Port belum terisi dari endpoint",
+ "translation": "Port tidak ada pada endpoint",
"translatorComment": "Copied from source."
},
{
@@ -403,7 +403,7 @@
{
"id": "Brackets must contain an IPv6 address",
"message": "Brackets must contain an IPv6 address",
- "translation": "Dalam Kurung harus berisi alamat IPv6",
+ "translation": "Tanda kurung harus berisi alamat IPv6",
"translatorComment": "Copied from source."
},
{
@@ -427,7 +427,7 @@
{
"id": "Invalid key: {Err}",
"message": "Invalid key: {Err}",
- "translation": "Kunci tidak sah:{Err}",
+ "translation": "Kunci tidak valid: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -447,22 +447,6 @@
"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": "Nomor harus diantara 0 sampai dengan 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": "Dua koma dalam satu baris",
@@ -477,13 +461,13 @@
{
"id": "Line must occur in a section",
"message": "Line must occur in a section",
- "translation": "Garis harus muncul perbagian",
+ "translation": "Baris harus berada dalam suatu bagian",
"translatorComment": "Copied from source."
},
{
"id": "Config key is missing an equals separator",
"message": "Config key is missing an equals separator",
- "translation": "Kunci konfigurasi tidak valid, tidak memiliki pemisah dan sama dengan",
+ "translation": "Kunci konfigurasi tidak memiliki pemisah tanda sama dengan",
"translatorComment": "Copied from source."
},
{
@@ -513,7 +497,7 @@
{
"id": "[none specified]",
"message": "[none specified]",
- "translation": "Tidak Ditetapkan",
+ "translation": "[tidak ditetapkan]",
"translatorComment": "Copied from source."
},
{
@@ -523,39 +507,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Eror ketika mendapatkan konfigurasi",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Kunci tidak valid pada bagian [Interface]",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Versi protokol harus 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Kunci tidak valid pada bagian [Peer]",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -571,9 +531,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Versi Aplikasi: {Number}\nVersi back-end Go: {WireGuardGoVersion}\nVersi Go: {Version_go}--{GOARCH}\nSistem Operasi: {OsName}\nArsitektur: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Versi aplikasi: {Number}\nVersi driver: {Version}\nVersi Go: {Version_go}\nSistem operasi: {OsName}\nArsitektur: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -585,12 +545,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -601,28 +561,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -633,9 +585,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Donasi!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Donasi!",
"translatorComment": "Copied from source."
},
{
@@ -645,15 +597,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Nonaktifkan",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Nonaktifkan",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Aktifkan",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktifkan",
"translatorComment": "Copied from source."
},
{
@@ -665,7 +617,7 @@
{
"id": "Listen port:",
"message": "Listen port:",
- "translation": "Port Pendengar:",
+ "translation": "Port pendengar:",
"translatorComment": "Copied from source."
},
{
@@ -693,9 +645,15 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabel:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
- "translation": "Preshared key:",
+ "translation": "Kunci prabagi:",
"translatorComment": "Copied from source."
},
{
@@ -711,6 +669,273 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Persistent keepalive:",
+ "message": "Persistent keepalive:",
+ "translation": "Keepalive persisten:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Latest handshake:",
+ "message": "Latest handshake:",
+ "translation": "Handshake terakhir:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Transfer:",
+ "message": "Transfer:",
+ "translation": "Pemindahan:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-up",
+ "message": "pre-up",
+ "translation": "pra-aktivasi",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "pasca-aktivasi",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "pra-deaktivasi",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "pasca-deaktivasi",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "dinonaktifkan, sesuai kebijakan",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "mati",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "enabled",
+ "message": "enabled",
+ "translation": "diaktifkan",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{String} received, {String_1} sent",
+ "message": "{String} received, {String_1} sent",
+ "translation": "{String} diterima, {String_1} terkirim",
+ "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": "Gagal menentukan status tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to activate tunnel",
+ "message": "Failed to activate tunnel",
+ "translation": "Gagal mengaktifkan tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to deactivate tunnel",
+ "message": "Failed to deactivate tunnel",
+ "translation": "Gagal menonaktifkan tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Interface: {Name}",
+ "message": "Interface: {Name}",
+ "translation": "Antarmuka: {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": ""
+ },
+ {
+ "id": "Create new tunnel",
+ "message": "Create new tunnel",
+ "translation": "Buat tunnel baru",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit tunnel",
+ "message": "Edit tunnel",
+ "translation": "Ubah tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Nama:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Kunci publik:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(tidak diketahui)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blokir lalu lintas di luar 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Ketika konfigurasi memiliki tepat satu peer, dan peer tersebut memiliki allowed IPs yang mencakup setidaknya salah satu dari 0.0.0.0/0 atau ::/0, dan interface tidak memiliki table off, maka servis tunnel mengaktifkan kumpulan aturan firewall untuk memblokir semua lalu lintas yang bukan menuju atau berasal dari antarmuka tunnel atau yang menuju ke server DNS yang salah, dengan pengecualian khusus untuk DHCP dan NDP.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Simpan",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "Batal",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfigurasi:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid name",
+ "message": "Invalid name",
+ "translation": "Nama tidak valid",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A name is required.",
+ "message": "A name is required.",
+ "translation": "Nama wajib diisi.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name ‘{NewName}’ is invalid.",
+ "message": "Tunnel name ‘{NewName}’ is invalid.",
+ "translation": "Nama tunnel ‘{NewName}’ tidak valid.",
+ "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": "Tidak dapat menampilkan daftar tunnel yang ada",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel already exists",
+ "message": "Tunnel already exists",
+ "translation": "Tunnel sudah ada",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{NewName}’.",
+ "message": "Another tunnel already exists with the name ‘{NewName}’.",
+ "translation": "Tunnel lain dengan nama ‘{NewName}’ sudah ada.",
+ "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": "Tidak dapat membuat konfigurasi baru",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Writing file failed",
+ "message": "Writing file failed",
+ "translation": "Penulisan berkas gagal",
+ "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": "Berkas ‘{FilePath}’ sudah ada.\n\nApakah Anda ingin menimpanya?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "FilePath",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "filePath"
+ }
+ ]
+ },
+ {
"id": "Active",
"message": "Active",
"translation": "Aktif",
@@ -747,21 +972,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "Salin",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Salin",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Pilih semua",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Pilih semu\u0026a",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "Menyimpan ke dalam berkas…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Simpan ke berkas…",
"translatorComment": "Copied from source."
},
{
@@ -779,25 +1004,25 @@
{
"id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
"message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
- "translation": "Berkas Txt (*.Txt)|*.Txt|Semua berkas (*.*)|*.*",
+ "translation": "Berkas Teks (*.txt)|*.txt|Semua Berkas (*.*)|*.*",
"translatorComment": "Copied from source."
},
{
"id": "Export log to file",
"message": "Export log to file",
- "translation": "Ekspor log kedalam file",
+ "translation": "Ekspor log ke berkas",
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&Tentang WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Tentang WireGuard…",
"translatorComment": "Copied from source."
},
{
"id": "Tunnel Error",
"message": "Tunnel Error",
- "translation": "Tunnel eror",
+ "translation": "Kesalahan Tunnel",
"translatorComment": "Copied from source."
},
{
@@ -835,7 +1060,7 @@
{
"id": "WireGuard Detection Error",
"message": "WireGuard Detection Error",
- "translation": "Deteksi eror WireGuard",
+ "translation": "Kesalahan Deteksi WireGuard",
"translatorComment": "Copied from source."
},
{
@@ -873,27 +1098,77 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Manajer Tunnel…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Manajer Tunnel…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Impor tunnel dari berkas…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Impor tunnel dari file…",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026Keluar",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "&Keluar",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunnel",
"translatorComment": "Copied from source."
},
{
+ "id": "WireGuard Activated",
+ "message": "WireGuard Activated",
+ "translation": "WireGuard Diaktifkan",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been activated.",
+ "message": "The {Name} tunnel has been activated.",
+ "translation": "Tunnel {Name} telah diaktifkan.",
+ "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 Dinonaktifkan",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been deactivated.",
+ "message": "The {Name} tunnel has been deactivated.",
+ "translation": "Tunnel {Name} telah dinonaktifkan.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
"id": "WireGuard Tunnel Error",
"message": "WireGuard Tunnel Error",
- "translation": "Wireguard Tunnel Eror",
+ "translation": "Kesalahan Tunnel WireGuard",
"translatorComment": "Copied from source."
},
{
@@ -929,21 +1204,103 @@
]
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Ekspor semua tunnel ke &zip…",
+ "id": "Addresses: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "Alamat: {EnumerationSeparator}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "EnumerationSeparator",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
+ }
+ ]
+ },
+ {
+ "id": "An Update is Available!",
+ "message": "An Update is Available!",
+ "translation": "Pembaruan Tersedia!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Update Available",
+ "message": "WireGuard Update Available",
+ "translation": "Pembaruan WireGuard Tersedia",
+ "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": "Pembaruan untuk WireGuard kini tersedia. Anda disarankan untuk memperbarui sesegera mungkin.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnels",
+ "message": "Tunnels",
+ "translation": "Tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Ubah",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Tambah tunnel \u0026kosong…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add Tunnel",
+ "message": "Add Tunnel",
+ "translation": "Tambah Tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Remove selected tunnel(s)",
+ "message": "Remove selected tunnel(s)",
+ "translation": "Hapus tunnel terpilih",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to zip",
+ "message": "Export all tunnels to zip",
+ "translation": "Ekspor semua tunnel ke zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Alihkan",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Ubah tunnel &terpilih…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Ekspor semua tunnel ke \u0026zip…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Hapus tunnel terpilih",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Ubah tunnel \u0026terpilih…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Hapus tunnel terpilih",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "translation": "tidak ditemukan berkas konfigurasi",
"translatorComment": "Copied from source."
},
{
@@ -961,6 +1318,395 @@
"expr": "lastErr"
}
]
+ },
+ {
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Tidak dapat mencatat tunnel yang ada: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{Name}’",
+ "message": "Another tunnel already exists with the name ‘{Name}’",
+ "translation": "Tunnel lain dengan nama ‘{Name}’ sudah ada",
+ "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": "Tidak dapat mengimpor konfigurasi: {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 yang diimpor",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Imported {M} tunnels",
+ "message": "Imported {M} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "M",
+ "cases": {
+ "other": {
+ "msg": "Mengimpor {M} tunnel"
+ }
+ }
+ }
+ },
+ "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": "Mengimpor {M} dari {N} tunnel"
+ }
+ }
+ }
+ },
+ "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": "Tidak dapat membuat tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Delete {TunnelCount} tunnels",
+ "message": "Delete {TunnelCount} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "other": {
+ "msg": "Hapus {TunnelCount} tunnel"
+ }
+ }
+ }
+ },
+ "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": "Apakah Anda yakin ingin menghapus {TunnelCount} tunnel?"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Delete tunnel ‘{TunnelName}’",
+ "message": "Delete tunnel ‘{TunnelName}’",
+ "translation": "Hapus tunnel ‘{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": "Apakah Anda yakin ingin menghapus tunnel ‘{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} Anda tidak dapat membatalkan tindakan ini.",
+ "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": "Tidak dapat menghapus tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A tunnel was unable to be removed: {Error}",
+ "message": "A tunnel was unable to be removed: {Error}",
+ "translation": "Sebuah tunnel tidak dapat dihapus: {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": "Tidak dapat menghapus tunnel",
+ "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} tunnel tidak dapat dihapus."
+ }
+ }
+ }
+ },
+ "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": "Berkas Konfigurasi (*.zip, *.conf)|*.zip;*.conf|Semua Berkas (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Import tunnel(s) from file",
+ "message": "Import tunnel(s) from file",
+ "translation": "Impor tunnel dari berkas",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Configuration ZIP Files (*.zip)|*.zip",
+ "message": "Configuration ZIP Files (*.zip)|*.zip",
+ "translation": "Berkas ZIP Konfigurasi (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "Ekspor tunnel ke zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (build tidak ditandatangani, tanpa pembaruan)",
+ "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": "Kesalahan Saat Keluar dari 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": "Tidak dapat keluar dari servis karena: {Err}. Anda mungkin perlu menghentikan WireGuard melalui manajer servis.",
+ "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": "Pembaruan untuk WireGuard tersedia. Sangat disarankan untuk memperbarui tanpa penundaan.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for user",
+ "message": "Status: Waiting for user",
+ "translation": "Status: Menunggu pengguna",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Update Now",
+ "message": "Update Now",
+ "translation": "Perbarui Sekarang",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Silakan minta administrator sistem untuk memperbarui.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: Menunggu administrator",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "Status: Menunggu servis pembaru",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error: {Err}. Please try again.",
+ "message": "Error: {Err}. Please try again.",
+ "translation": "Kesalahan: {Err}. Silakan coba lagi.",
+ "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: Selesai!",
+ "translatorComment": "Copied from source."
}
]
} \ No newline at end of file
diff --git a/locales/it/messages.gotext.json b/locales/it/messages.gotext.json
index 5bea90c2..4cdff3a3 100644
--- a/locales/it/messages.gotext.json
+++ b/locales/it/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "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",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Devi utilizzare la versione nativa di WireGuard su questo computer.",
+ "translation": "Devi usare la versione nativa di WireGuard su questo computer.",
"translatorComment": "Copied from source."
},
{
@@ -392,15 +398,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "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",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Indirizzo IP non valido:",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +462,6 @@
"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",
- "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": "Due virgole in una riga",
@@ -538,40 +522,17 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "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",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 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",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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秒’."
+ "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秒’.",
+ "translatorComment": "Copied from source."
},
{
"id": "About WireGuard",
@@ -586,9 +547,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Versione applicazione: {Number}\nVersione backend Go: {WireGuardGoVersion}\nVersione Go: {Version_go}-{GOARCH}\nSistema operativo: {OsName}\nArchitettura: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Versione applicazione: {Number}\nVersione driver: {Version}\nVersione Go: {Version_go}\nSistema operativo: {OsName}\nArchitettura: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +561,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +577,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +601,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ Fai una &donazione!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ Fai una \u0026donazione!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +613,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Disattiva",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Disattiva",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Attiva",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Attiva",
"translatorComment": "Copied from source."
},
{
@@ -708,6 +661,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabella:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Chiave pre-condivisa:",
@@ -722,7 +681,7 @@
{
"id": "Endpoint:",
"message": "Endpoint:",
- "translation": "Endpoint:",
+ "translation": "Punto di estremità:",
"translatorComment": "Copied from source."
},
{
@@ -746,31 +705,37 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "pre-up",
+ "translation": "pre-attivazione",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "post-up",
+ "translation": "post-attivazione",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "pre-down",
+ "translation": "pre-disattivazione",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "post-down",
+ "translation": "post-disattivazione",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "disattivato, per criterio",
+ "translation": "disabilitato, secondo le regole di sistema",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "spento",
"translatorComment": "Copied from source."
},
{
@@ -840,7 +805,7 @@
{
"id": "Peer",
"message": "Peer",
- "translation": "Peer",
+ "translation": "Pari",
"translatorComment": "Copied from source."
},
{
@@ -856,15 +821,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Nome:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Nome:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "Chiave &pubblica:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "Chiave \u0026pubblica:",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +839,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Blocca traffico fuori dal tunnel (kill-switch)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blocca 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 or is to the wrong DNS server, 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 or is to the wrong DNS server, 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 tra 0.0.0.0/0 o ::/0, il servizio tunnel impiega un insieme di regole del firewall per bloccare tutto il traffico nè diretto nè proveniente dall'interfaccia tunnel o verso un server DNS sbagliato, con speciali eccezioni per DHCP e NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Quando una configurazione ha esattamente un peer, e tale peer ha un elenco di IP consentiti contenente almeno uno tra 0.0.0.0/0 o ::/0, e l'interfaccia non ha table off, il servizio del tunnel attiva un insieme di regole del firewall per bloccare tutto il traffico che non è diretto o proveniente dall'interfaccia del tunnel oppure è diretto a un server DNS errato, con eccezioni speciali per DHCP e NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Salva",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Salva",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +863,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Configurazione:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Configurazione:",
"translatorComment": "Copied from source."
},
{
@@ -1024,21 +989,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Copia",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Copia",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Selezion&a tutto",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Selezion\u0026a tutto",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Salva su file…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Salva su file…",
"translatorComment": "Copied from source."
},
{
@@ -1066,9 +1031,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "Inform&azioni su WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "Inform\u0026azioni su WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1080,7 +1045,7 @@
{
"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.",
+ "translation": "{ErrMsg}\n\nConsulta il log per ulteriori informazioni.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1150,27 +1115,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Gestisci i tunnel…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Gestisci i tunnel…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Importa tunnel da file…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importa tunnel da file…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "E&sci",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "E\u0026sci",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tunnel",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunnel",
"translatorComment": "Copied from source."
},
{
@@ -1296,15 +1261,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Modifica",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Modifica",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Aggiungi tunn&el vuoto...",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Aggiungi tunn\u0026el vuoto...",
"translatorComment": "Copied from source."
},
{
@@ -1326,27 +1291,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "Commu&ta",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "Commu\u0026ta",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Esporta tutti i tunnel in &zip...",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Esporta tutti i tunnel in \u0026zip...",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Modifica il tunnel &selezionato…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Modifica il tunnel \u0026selezionato…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Rimuovi i tunnel selezionati",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Rimuovi i tunnel selezionati",
"translatorComment": "Copied from source."
},
{
@@ -1372,25 +1337,25 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Impossibile enumerare i tunnel esistenti: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Impossibile elencare i tunnel esistenti: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
{
"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}‘",
+ "translation": "Un altro tunnel esiste già con il nome ‘{Name}’",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1462,7 +1427,7 @@
"arg": "N",
"cases": {
"one": {
- "msg": "{M} de {N} tunnel importato"
+ "msg": "{M} di {N} tunnel importato"
},
"other": {
"msg": "{M} di {N} tunnel importati"
@@ -1554,7 +1519,7 @@
{
"id": "Delete tunnel ‘{TunnelName}’",
"message": "Delete tunnel ‘{TunnelName}’",
- "translation": "Elimina tunnel ‘{TunnelName}‘",
+ "translation": "Elimina tunnel ‘{TunnelName}’",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1570,7 +1535,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}‘?",
+ "translation": "Sei sicuro di voler eliminare il tunnel ‘{TunnelName}’?",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1736,6 +1701,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Chiedi all'amministratore di sistema di aggiornare.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Stato: in attesa dell'amministratore",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Stato: in attesa del servizio di aggiornamento",
@@ -1762,86 +1739,6 @@
"message": "Status: Complete!",
"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",
- "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}: ha scritto {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}: ha letto {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: campo hpack {HeaderField} decodificato",
- "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/ja/messages.gotext.json b/locales/ja/messages.gotext.json
index 1666f408..b383b697 100644
--- a/locales/ja/messages.gotext.json
+++ b/locales/ja/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "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": "(引数なし): 管理者権限でmanagerサービスをインストールする",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "このコンピュータではネイティブ版の WireGuard を使ってください。",
+ "translation": "このコンピュータでは WireGuard のネイティブ版を使ってください。",
"translatorComment": "Copied from source."
},
{
@@ -377,15 +383,9 @@
]
},
{
- "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": "無効なネットワークプレフィックス長",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "無効な IP アドレス:",
"translatorComment": "Copied from source."
},
{
@@ -447,22 +447,6 @@
"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": "1行にカンマが2つあります",
@@ -523,40 +507,18 @@
"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": "無効な Interface セクションのキー項目",
- "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": "無効な 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 ‘リンゴ、オレンジ、イチゴ’."
+ "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 ‘リンゴ、オレンジ、イチゴ’.",
+ "translatorComment": "Copied from source."
},
{
"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秒’."
+ "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秒’.",
+ "translatorComment": "Copied from source."
},
{
"id": "About WireGuard",
@@ -571,9 +533,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "アプリ バージョン: {Number}\nGo バックエンド バージョン: {WireGuardGoVersion}\nGo バージョン: {Version_go}-{GOARCH}\nOS: {OsName}\nアーキテクチャ: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "アプリのバージョン: {Number}\nドライバーのバージョン: {Version}\nGo のバージョン: {Version_go}\nOS: {OsName}\nアーキテクチャ: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -585,12 +547,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -601,28 +563,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -633,9 +587,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ 寄付のお願い!(&D)",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ 寄付のお願い!(\u0026D)",
"translatorComment": "Copied from source."
},
{
@@ -645,15 +599,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "無効化(&D)",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "無効化(\u0026D)",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "有効化(&A)",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "有効化(\u0026A)",
"translatorComment": "Copied from source."
},
{
@@ -693,6 +647,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "テーブル:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "事前共有鍵:",
@@ -731,31 +691,37 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "pre-up",
+ "translation": "接続前",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "post-up",
+ "translation": "接続後",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "pre-down",
+ "translation": "切断前",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "post-down",
+ "translation": "切断後",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "ポリシーにより無効です",
+ "translation": "ポリシーにより無効",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "オフ",
"translatorComment": "Copied from source."
},
{
@@ -841,15 +807,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "名前(&N):",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "名前(\u0026N):",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "公開鍵(&P):",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "公開鍵(\u0026P):",
"translatorComment": "Copied from source."
},
{
@@ -859,21 +825,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "トンネルを通らないトラフィックのブロック(キルスイッチ)(&B)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "トンネルを通らないトラフィックのブロック(キルスイッチ)(\u0026B)",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "ピアが1つだけ設定されており、かつAllowed IPs に 0.0.0.0/0 や ::/0 が含まれている場合、トンネルサービスはトンネルインターフェイスを通らないトラフィックや間違った DNS サーバーに向かう通信をブロックするファイアウォールルールを追加します。\nDHCP と NDP には特別な例外があります。",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "ピアが1つだけ設定されており、かつ Allowed IPs に 0.0.0.0/0 または ::/0 のいずれかが含まれ、インターフェースの Table が off に設定されていない場合、トンネルサービスはトンネルインターフェースを通らない、または誤った DNS サーバ宛てのトラフィックをブロックするファイアウォールルールを追加します。\nDHCP と NDP には特別な例外があります。",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "保存(&S)",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "保存(\u0026S)",
"translatorComment": "Copied from source."
},
{
@@ -883,9 +849,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "設定(&C):",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "設定(\u0026C):",
"translatorComment": "Copied from source."
},
{
@@ -1009,21 +975,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "コピー(&C)",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "コピー(\u0026C)",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "すべて選択(&A)",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "すべて選択(\u0026A)",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "ファイルに保存…(&S)",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "ファイルに保存…(\u0026S)",
"translatorComment": "Copied from source."
},
{
@@ -1051,9 +1017,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "WireGuardについて…(&A)",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "WireGuardについて…(\u0026A)",
"translatorComment": "Copied from source."
},
{
@@ -1135,27 +1101,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "トンネルの管理…(&M)",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "トンネルの管理…(\u0026M)",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "トンネルをファイルからインポート…(&I)",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "トンネルをファイルからインポート…(\u0026I)",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "終了(&X)",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "終了(\u0026X)",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "トンネル(&T)",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "トンネル(\u0026T)",
"translatorComment": "Copied from source."
},
{
@@ -1281,15 +1247,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "編集(&E)",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "編集(\u0026E)",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "空のトンネルを追加…(&E)",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "空のトンネルを追加…(\u0026E)",
"translatorComment": "Copied from source."
},
{
@@ -1311,33 +1277,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "切り替え(&T)",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "切り替え(\u0026T)",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "すべてのトンネルをzipにエクスポート…(&Z)",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "すべてのトンネルをzipにエクスポート…(\u0026Z)",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "選択したトンネルの編集…(&S)",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "選択したトンネルの編集…(\u0026S)",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "選択したトンネルの削除(&R)",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "選択したトンネルの削除(\u0026R)",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "設定ファイルが見つかりません",
+ "translation": "設定ファイルが見つかりませんでした",
"translatorComment": "Copied from source."
},
{
@@ -1357,18 +1323,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "既存のトンネルを表示できませんでした: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "既存のトンネルを列挙できませんでした: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1706,6 +1672,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "システム管理者に更新を依頼してください。",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "状態: 管理者からの応答待ち",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "状態: アップデータサービスを待機中",
@@ -1732,86 +1710,6 @@
"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}: just-writtenフレームのデコードに失敗",
- "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/ko/messages.gotext.json b/locales/ko/messages.gotext.json
index 21c9af78..51e3d84f 100644
--- a/locales/ko/messages.gotext.json
+++ b/locales/ko/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "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": "(인수 없음): 관리자 서비스 상승 및 설치",
@@ -40,7 +46,7 @@
{
"id": "Command Line Options",
"message": "Command Line Options",
- "translation": "커맨드 라인 옵션",
+ "translation": "명령줄 옵션",
"translatorComment": "Copied from source."
},
{
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "이 컴퓨터에서는 기본 버전의 WireGuard를 사용해야 합니다.",
+ "translation": "이 컴퓨터에서 네이티브 버전의 WireGuard를 사용해야 합니다.",
"translatorComment": "Copied from source."
},
{
@@ -100,7 +106,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는 Builtin의 데스크톱에서만 액세스할 수 있습니다{AdminGroupName} 그룹.",
+ "translation": "WireGuard가 실행 중이나 UI는 Builtin {AdminGroupName} 그룹의 데스크톱에서만 액세스할 수 있습니다.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -377,15 +383,9 @@
]
},
{
- "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": "잘못된 네트워크 접두사 길이",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "잘못된 IP 주소:",
"translatorComment": "Copied from source."
},
{
@@ -447,25 +447,9 @@
"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": "엔드포인트에서 포트가 누락됨",
+ "translation": "연속된 쉼표 두 개",
"translatorComment": "Copied from source."
},
{
@@ -477,7 +461,7 @@
{
"id": "Line must occur in a section",
"message": "Line must occur in a section",
- "translation": "행은 섹션에 있어야 함",
+ "translation": "줄은 섹션 내에 위치해야 함",
"translatorComment": "Copied from source."
},
{
@@ -495,13 +479,13 @@
{
"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."
},
{
@@ -513,7 +497,7 @@
{
"id": "[none specified]",
"message": "[none specified]",
- "translation": "[특정되지 않음]",
+ "translation": "[지정되지 않음]",
"translatorComment": "Copied from source."
},
{
@@ -523,45 +507,21 @@
"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": ", ",
+ "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": ", ",
+ "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에 관하여",
+ "translation": "WireGuard 정보",
"translatorComment": "Copied from source."
},
{
@@ -571,9 +531,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "앱 버전: {Number}\nGo 백엔드 버전: {WireGuardGoVersion}\nGo 버전: {Version_go}-{GOARCH}\n운영체제: {OsName}\n아키텍처: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "앱 버전: {Number}\n드라이버 버전: {Version}\nGo 버전: {Version_go}\n운영 체제: {OsName}\n아키텍처: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -585,12 +545,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -601,28 +561,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -633,9 +585,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &기부하기!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026기부하기!",
"translatorComment": "Copied from source."
},
{
@@ -645,15 +597,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&비활성화하기",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "비활성화(\u0026D)",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&활성화하기",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "활성화(\u0026A)",
"translatorComment": "Copied from source."
},
{
@@ -693,6 +645,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "테이블:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "사전 공유 키:",
@@ -719,7 +677,7 @@
{
"id": "Latest handshake:",
"message": "Latest handshake:",
- "translation": "마지막 정보교환:",
+ "translation": "최근 핸드셰이크:",
"translatorComment": "Copied from source."
},
{
@@ -731,31 +689,37 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "사전-준비",
+ "translation": "연결 전",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "게시-하기",
+ "translation": "연결 후",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "준비-해제",
+ "translation": "연결 해제 전",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "게시-중단",
+ "translation": "연결 해제 후",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "비활성화됨, 정책에 따라",
+ "translation": "비활성화됨, 정책에 따름",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "꺼짐",
"translatorComment": "Copied from source."
},
{
@@ -841,39 +805,39 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&이름:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "이름(\u0026N):",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&공개 키:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "공개 키(\u0026P):",
"translatorComment": "Copied from source."
},
{
"id": "(unknown)",
"message": "(unknown)",
- "translation": "(알수없음)",
+ "translation": "(알 수 없음)",
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Block 터널 없는 교통 (킬-스위치)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026VPN 우회 강제 (터널 외 차단)",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "구성에 단일 피어가 하나 있고, 해당 피어의 허용된 IP에 0.0.0.0/0 또는 ::/0 중 하나 이상이 포함된 경우, 터널 서비스는 터널 인터페이스로의 또는 터널 인터페이스에서의 트래픽이 아닌 모든 트래픽과 잘못된 DNS 서버로의 트래픽을 차단하는 방화벽 규칙 집합을 활성화합니다. DHCP 및 NDP에 대한 특별 예외가 적용됩니다.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "구성에 단일 피어가 하나 있고, 해당 피어의 허용된 IP에 0.0.0.0/0 또는 ::/0 중 하나 이상이 포함되어 있으며, 인터페이스에 table off가 설정되어 있지 않은 경우, 터널 서비스는 터널 인터페이스로의 또는 터널 인터페이스에서의 트래픽이 아니거나 잘못된 DNS 서버로 향하는 모든 트래픽을 차단하는 방화벽 규칙 집합을 활성화합니다. DHCP 및 NDP에 대한 특별 예외가 적용됩니다.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&저장",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "저장(\u0026S)",
"translatorComment": "Copied from source."
},
{
@@ -883,9 +847,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&환경설정:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "구성(\u0026C):",
"translatorComment": "Copied from source."
},
{
@@ -897,13 +861,13 @@
{
"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}’ 무효입니다.",
+ "translation": "‘{NewName}’ 터널 이름이 잘못되었습니다.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -925,13 +889,13 @@
{
"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}’.",
+ "translation": "‘{NewName}’ 터널 이름이 이미 존재합니다.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -947,7 +911,7 @@
{
"id": "Unable to create new configuration",
"message": "Unable to create new configuration",
- "translation": "구성을 가져올 수 없음",
+ "translation": "새 구성을 생성할 수 없음",
"translatorComment": "Copied from source."
},
{
@@ -959,7 +923,7 @@
{
"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\nDo you want to overwrite it?",
+ "translation": "‘{FilePath}’ 파일이 이미 존재합니다.\n\n덮어쓰시겠습니까?",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1009,21 +973,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&복사",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "복사(\u0026C)",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "전체 &선택",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "전체 선택(\u0026A)",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&파일에 저장…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "파일로 저장(\u0026S)…",
"translatorComment": "Copied from source."
},
{
@@ -1051,9 +1015,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&WireGuard에 관하여…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "WireGuard 정보(\u0026A)…",
"translatorComment": "Copied from source."
},
{
@@ -1135,27 +1099,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&터널 관리…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "터널 관리(\u0026M)…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&파일에서 터널(s) 불러오기…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "파일에서 터널 가져오기(\u0026I)…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "종료&",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "종료(\u0026X)",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&터널",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "터널(\u0026T)",
"translatorComment": "Copied from source."
},
{
@@ -1167,7 +1131,7 @@
{
"id": "The {Name} tunnel has been activated.",
"message": "The {Name} tunnel has been activated.",
- "translation": "다음 {Name} 터널이 활성화되었습니다.",
+ "translation": "{Name} 터널이 활성화되었습니다.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1189,7 +1153,7 @@
{
"id": "The {Name} tunnel has been deactivated.",
"message": "The {Name} tunnel has been deactivated.",
- "translation": "다음 {Name} 터널이 비활성화되었습니다.",
+ "translation": "{Name} 터널이 비활성화되었습니다.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1281,15 +1245,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&편집",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "편집(\u0026E)",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "&빈 터널 추가…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "빈 터널 추가(\u0026E)…",
"translatorComment": "Copied from source."
},
{
@@ -1301,37 +1265,37 @@
{
"id": "Remove selected tunnel(s)",
"message": "Remove selected tunnel(s)",
- "translation": "선택한 터널(s) 제거",
+ "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": "&Toggle",
- "message": "&Toggle",
- "translation": "&토글",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "활성/비활성(\u0026T)",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "모든 터널을 &zip으로 내보내기…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "모든 터널 zip으로 내보내기(\u0026Z)…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "편집 &선택한 터널…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "선택한 터널 편집(\u0026S)…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&선택한 터널(s) 제거",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "선택한 터널 제거(\u0026R)",
"translatorComment": "Copied from source."
},
{
@@ -1357,25 +1321,25 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "기존 터널을 열거할 수 없음: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "기존 터널을 열거할 수 없음: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
{
"id": "Another tunnel already exists with the name ‘{Name}’",
"message": "Another tunnel already exists with the name ‘{Name}’",
- "translation": "이름과 함께 또 다른 터널이 이미 존재합니다 ‘{Name}’",
+ "translation": "‘{Name}’ 이름의 터널이 이미 존재합니다",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1407,7 +1371,7 @@
{
"id": "Imported tunnels",
"message": "Imported tunnels",
- "translation": "터널을 가져옴",
+ "translation": "터널 가져오기 완료",
"translatorComment": "Copied from source."
},
{
@@ -1419,7 +1383,7 @@
"arg": "M",
"cases": {
"other": {
- "msg": "터널 {M} 가져옴"
+ "msg": "터널 {M}개를 가져왔습니다"
}
}
}
@@ -1444,7 +1408,7 @@
"arg": "N",
"cases": {
"other": {
- "msg": "터널 {M} 의 {N} 가져옴"
+ "msg": "터널 {N}개 중 {M}개를 가져왔습니다"
}
}
}
@@ -1483,7 +1447,7 @@
"arg": "TunnelCount",
"cases": {
"other": {
- "msg": "터널 {TunnelCount} 삭제"
+ "msg": "터널 {TunnelCount}개 삭제"
}
}
}
@@ -1508,7 +1472,7 @@
"arg": "TunnelCount",
"cases": {
"other": {
- "msg": "삭제하고 싶은 게 확실해 {TunnelCount} 터널?"
+ "msg": "터널 {TunnelCount}개를 삭제하시겠습니까?"
}
}
}
@@ -1527,7 +1491,7 @@
{
"id": "Delete tunnel ‘{TunnelName}’",
"message": "Delete tunnel ‘{TunnelName}’",
- "translation": "터널 삭제 ‘{TunnelName}’",
+ "translation": "‘{TunnelName}’ 터널 삭제",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1543,7 +1507,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}’?",
+ "translation": "‘{TunnelName}’ 터널을 삭제하시겠습니까?",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1634,19 +1598,19 @@
{
"id": "Import tunnel(s) from file",
"message": "Import tunnel(s) from file",
- "translation": "파일에서 터널(s) 불러오기",
+ "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."
},
{
@@ -1668,13 +1632,13 @@
{
"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": [
{
@@ -1706,6 +1670,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "시스템 관리자에게 업데이트를 요청하세요.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "상태: 관리자를 기다리는 중",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "상태: 업데이터 서비스를 기다리는 중",
@@ -1732,86 +1708,6 @@
"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/locales/nb/messages.gotext.json b/locales/nb/messages.gotext.json
new file mode 100644
index 00000000..8472b227
--- /dev/null
+++ b/locales/nb/messages.gotext.json
@@ -0,0 +1,1733 @@
+{
+ "language": "nb",
+ "messages": [
+ {
+ "id": "Error",
+ "message": "Error",
+ "translation": "Feil",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Feil:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(no argument): elevate and install manager service",
+ "message": "(no argument): elevate and install manager service",
+ "translation": "(ingen argument): hev rettigheter og installer behandlertjenesten",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Usage: {Args0} [\n{String}]",
+ "message": "Usage: {Args0} [\n{String}]",
+ "translation": "Bruk: {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": "Kommandolinjevalg",
+ "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": "Kan ikke avgjøre om prosessen kjører under 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 native version of WireGuard on this computer.",
+ "message": "You must use the native version of WireGuard on this computer.",
+ "translation": "Du må bruke den opprinnelige versjonen av WireGuard på denne datamaskinen.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to open current process token: {Err}",
+ "message": "Unable to open current process token: {Err}",
+ "translation": "Kan ikke åpne gjeldende prosesstoken: {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 kan bare brukes av brukere som er medlem av den innebygde {AdminGroupName}-gruppen.",
+ "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 kjører, men brukergrensesnittet er bare tilgjengelig fra skrivebord i den innebygde {AdminGroupName}-gruppen.",
+ "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-systemstatusikonet dukket ikke opp etter 30 sekunder.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Now",
+ "message": "Now",
+ "translation": "Nå",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "System clock wound backward!",
+ "message": "System clock wound backward!",
+ "translation": "Systemklokken er stilt bakover!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Years} year(s)",
+ "message": "{Years} year(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Years",
+ "cases": {
+ "one": {
+ "msg": "{Years} år"
+ },
+ "other": {
+ "msg": "{Years} år"
+ }
+ }
+ }
+ },
+ "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} dag"
+ },
+ "other": {
+ "msg": "{Days} dager"
+ }
+ }
+ }
+ },
+ "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} time"
+ },
+ "other": {
+ "msg": "{Hours} timer"
+ }
+ }
+ }
+ },
+ "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} minutt"
+ },
+ "other": {
+ "msg": "{Minutes} minutter"
+ }
+ }
+ }
+ },
+ "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} sekund"
+ },
+ "other": {
+ "msg": "{Seconds} sekunder"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Seconds",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "seconds"
+ }
+ ]
+ },
+ {
+ "id": "{Timestamp} ago",
+ "message": "{Timestamp} ago",
+ "translation": "{Timestamp} siden",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "Ugyldig IP-adresse:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Missing port from endpoint",
+ "message": "Missing port from endpoint",
+ "translation": "Mangler port fra endepunkt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid endpoint host",
+ "message": "Invalid endpoint host",
+ "translation": "Ugyldig endepunktsvert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Brackets must contain an IPv6 address",
+ "message": "Brackets must contain an IPv6 address",
+ "translation": "Hakeparenteser må inneholde en IPv6-adresse",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid MTU",
+ "message": "Invalid MTU",
+ "translation": "Ugyldig MTU",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid port",
+ "message": "Invalid port",
+ "translation": "Ugyldig port",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid persistent keepalive",
+ "message": "Invalid persistent keepalive",
+ "translation": "Ugyldig vedvarende keepalive",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key: {Err}",
+ "message": "Invalid key: {Err}",
+ "translation": "Ugyldig nøkkel: {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": "Nøkler må dekode til nøyaktig 32 byte",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Two commas in a row",
+ "message": "Two commas in a row",
+ "translation": "To kommaer på rad",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name is not valid",
+ "message": "Tunnel name is not valid",
+ "translation": "Tunnelnavnet er ikke gyldig",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Line must occur in a section",
+ "message": "Line must occur in a section",
+ "translation": "Linjen må forekomme i en seksjon",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Config key is missing an equals separator",
+ "message": "Config key is missing an equals separator",
+ "translation": "Konfigurasjonsnøkkelen mangler et likhetstegn som skilletegn",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Key must have a value",
+ "message": "Key must have a value",
+ "translation": "Nøkkelen må ha en verdi",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Interface] section",
+ "message": "Invalid key for [Interface] section",
+ "translation": "Ugyldig nøkkel for [Interface]-seksjon",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Peer] section",
+ "message": "Invalid key for [Peer] section",
+ "translation": "Ugyldig nøkkel for [Peer]-seksjon",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An interface must have a private key",
+ "message": "An interface must have a private key",
+ "translation": "Et grensesnitt må ha en privat nøkkel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "[none specified]",
+ "message": "[none specified]",
+ "translation": "[ingen oppgitt]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "All peers must have public keys",
+ "message": "All peers must have public keys",
+ "translation": "Alle motparter må ha offentlige nøkler",
+ "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": "Om WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard logo image",
+ "message": "WireGuard logo image",
+ "translation": "WireGuard-logobilde",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Programversjon: {Number}\nDriverversjon: {Version}\nGo-versjon: {Version_go}\nOperativsystem: {OsName}\nArkitektur: {Arch}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "Version",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "driver.Version()"
+ },
+ {
+ "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": "Arch",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "version.Arch()"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "Lukk",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Gi!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": ""
+ },
+ {
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Deaktiver",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktiver",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Public key:",
+ "message": "Public key:",
+ "translation": "Offentlig nøkkel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Listen port:",
+ "message": "Listen port:",
+ "translation": "Lytteport:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "MTU:",
+ "message": "MTU:",
+ "translation": ""
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "Adresser:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "DNS-tjenere:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": "Skript:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabell:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Preshared key:",
+ "message": "Preshared key:",
+ "translation": "Forhåndsdelt nøkkel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Allowed IPs:",
+ "message": "Allowed IPs:",
+ "translation": "Tillatte IP-er:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Endpoint:",
+ "message": "Endpoint:",
+ "translation": "Endepunkt:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Persistent keepalive:",
+ "message": "Persistent keepalive:",
+ "translation": "Vedvarende keepalive:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Latest handshake:",
+ "message": "Latest handshake:",
+ "translation": "Siste håndtrykk:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Transfer:",
+ "message": "Transfer:",
+ "translation": "Overføring:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-up",
+ "message": "pre-up",
+ "translation": "før oppstart",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "etter oppstart",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "før nedstenging",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "etter nedstenging",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "deaktivert, etter regelverk",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "av",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "enabled",
+ "message": "enabled",
+ "translation": "aktivert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{String} received, {String_1} sent",
+ "message": "{String} received, {String_1} sent",
+ "translation": "{String} mottatt, {String_1} sendt",
+ "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": "Klarte ikke fastslå tunneltilstanden",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to activate tunnel",
+ "message": "Failed to activate tunnel",
+ "translation": "Klarte ikke aktivere tunnelen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to deactivate tunnel",
+ "message": "Failed to deactivate tunnel",
+ "translation": "Klarte ikke deaktivere tunnelen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Interface: {Name}",
+ "message": "Interface: {Name}",
+ "translation": "Grensesnitt: {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": "Motpart",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Create new tunnel",
+ "message": "Create new tunnel",
+ "translation": "Opprett ny tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit tunnel",
+ "message": "Edit tunnel",
+ "translation": "Rediger tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Navn:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Offentlig nøkkel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(ukjent)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blokker utunnelert trafikk (drepebryter)",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Når en konfigurasjon har nøyaktig én motpart, og denne motparten har tillatte IP-er som inneholder minst én av 0.0.0.0/0 eller ::/0, og grensesnittet ikke har table off, setter tunneltjenesten i verk et brannmurregelsett som blokkerer all trafikk som verken går til eller fra tunnelgrensesnittet eller som går til feil DNS-tjener, med særlige unntak for DHCP og NDP.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Lagre",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "Avbryt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfigurasjon:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid name",
+ "message": "Invalid name",
+ "translation": "Ugyldig navn",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A name is required.",
+ "message": "A name is required.",
+ "translation": "Et navn er påkrevd.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name ‘{NewName}’ is invalid.",
+ "message": "Tunnel name ‘{NewName}’ is invalid.",
+ "translation": "Tunnelnavnet ‘{NewName}’ er ugyldig.",
+ "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": "Kan ikke liste opp eksisterende tunneler",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel already exists",
+ "message": "Tunnel already exists",
+ "translation": "Tunnelen finnes allerede",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{NewName}’.",
+ "message": "Another tunnel already exists with the name ‘{NewName}’.",
+ "translation": "En annen tunnel med navnet ‘{NewName}’ finnes allerede.",
+ "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": "Kan ikke opprette ny konfigurasjon",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Writing file failed",
+ "message": "Writing file failed",
+ "translation": "Skriving av filen mislyktes",
+ "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": "Filen ‘{FilePath}’ finnes allerede.\n\nVil du overskrive den?",
+ "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": "Aktiverer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Inactive",
+ "message": "Inactive",
+ "translation": "Inaktiv",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Deactivating",
+ "message": "Deactivating",
+ "translation": "Deaktiverer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unknown state",
+ "message": "Unknown state",
+ "translation": "Ukjent tilstand",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log",
+ "message": "Log",
+ "translation": "Logg",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopier",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Velg \u0026alt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Lagre til fil…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Time",
+ "message": "Time",
+ "translation": "Tid",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log message",
+ "message": "Log message",
+ "translation": "Loggmelding",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "translation": "Tekstfiler (*.txt)|*.txt|Alle filer (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export log to file",
+ "message": "Export log to file",
+ "translation": "Eksporter logg til fil",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Om WireGuard…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel Error",
+ "message": "Tunnel Error",
+ "translation": "Tunnelfeil",
+ "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\nSe loggen for mer informasjon.",
+ "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} (utdatert)",
+ "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": "Feil ved WireGuard-oppdaging",
+ "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": "Kan ikke vente på at WireGuard-vinduet skal dukke opp: {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: Deaktivert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Unknown",
+ "message": "Status: Unknown",
+ "translation": "Status: Ukjent",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses: None",
+ "message": "Addresses: None",
+ "translation": "Adresser: Ingen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Behandle tunneler…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importer tunnel(er) fra fil…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026Avslutt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunneler",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Activated",
+ "message": "WireGuard Activated",
+ "translation": "WireGuard aktivert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been activated.",
+ "message": "The {Name} tunnel has been activated.",
+ "translation": "Tunnelen {Name} er aktivert.",
+ "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 deaktivert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been deactivated.",
+ "message": "The {Name} tunnel has been deactivated.",
+ "translation": "Tunnelen {Name} er deaktivert.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "WireGuard-tunnelfeil",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "TextForStateglobalState_true",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "textForState(globalState, true)"
+ }
+ ]
+ },
+ {
+ "id": "Status: {StateText}",
+ "message": "Status: {StateText}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "StateText",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "stateText"
+ }
+ ]
+ },
+ {
+ "id": "Addresses: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "Adresser: {EnumerationSeparator}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "EnumerationSeparator",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
+ }
+ ]
+ },
+ {
+ "id": "An Update is Available!",
+ "message": "An Update is Available!",
+ "translation": "En oppdatering er tilgjengelig!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Update Available",
+ "message": "WireGuard Update Available",
+ "translation": "WireGuard-oppdatering tilgjengelig",
+ "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": "En oppdatering til WireGuard er nå tilgjengelig. Det anbefales å oppdatere så snart som mulig.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnels",
+ "message": "Tunnels",
+ "translation": "Tunneler",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Rediger",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Legg til \u0026tom tunnel…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add Tunnel",
+ "message": "Add Tunnel",
+ "translation": "Legg til tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Remove selected tunnel(s)",
+ "message": "Remove selected tunnel(s)",
+ "translation": "Fjern valgte tunnel(er)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to zip",
+ "message": "Export all tunnels to zip",
+ "translation": "Eksporter alle tunneler til zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Veksle",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Eksporter alle tunneler til \u0026zip…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Rediger \u0026valgt tunnel…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Fjern valgte tunnel(er)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "translation": "ingen konfigurasjonsfiler ble funnet",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Could not import selected configuration: {LastErr}",
+ "message": "Could not import selected configuration: {LastErr}",
+ "translation": "Kunne ikke importere valgt konfigurasjon: {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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Kunne ikke liste opp eksisterende tunneler: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{Name}’",
+ "message": "Another tunnel already exists with the name ‘{Name}’",
+ "translation": "En annen tunnel med navnet ‘{Name}’ finnes allerede",
+ "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": "Kan ikke importere konfigurasjon: {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": "Importerte tunneler",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Imported {M} tunnels",
+ "message": "Imported {M} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "M",
+ "cases": {
+ "one": {
+ "msg": "Importerte {M} tunnel"
+ },
+ "other": {
+ "msg": "Importerte {M} tunneler"
+ }
+ }
+ }
+ },
+ "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": "Importerte {M} av {N} tunnel"
+ },
+ "other": {
+ "msg": "Importerte {M} av {N} tunneler"
+ }
+ }
+ }
+ },
+ "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": "Kan ikke opprette tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Delete {TunnelCount} tunnels",
+ "message": "Delete {TunnelCount} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "one": {
+ "msg": "Slett {TunnelCount} tunnel"
+ },
+ "other": {
+ "msg": "Slett {TunnelCount} tunneler"
+ }
+ }
+ }
+ },
+ "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": "Er du sikker på at du vil slette {TunnelCount} tunnel?"
+ },
+ "other": {
+ "msg": "Er du sikker på at du vil slette {TunnelCount} tunneler?"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Delete tunnel ‘{TunnelName}’",
+ "message": "Delete tunnel ‘{TunnelName}’",
+ "translation": "Slett tunnelen ‘{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": "Er du sikker på at du vil slette tunnelen ‘{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} Du kan ikke angre denne handlingen.",
+ "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": "Kan ikke slette tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A tunnel was unable to be removed: {Error}",
+ "message": "A tunnel was unable to be removed: {Error}",
+ "translation": "En tunnel kunne ikke fjernes: {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": "Kan ikke slette tunneler",
+ "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 kunne ikke fjernes."
+ },
+ "other": {
+ "msg": "{Lenerrors} tunneler kunne ikke fjernes."
+ }
+ }
+ }
+ },
+ "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": "Konfigurasjonsfiler (*.zip, *.conf)|*.zip;*.conf|Alle filer (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Import tunnel(s) from file",
+ "message": "Import tunnel(s) from file",
+ "translation": "Importer tunnel(er) fra fil",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Configuration ZIP Files (*.zip)|*.zip",
+ "message": "Configuration ZIP Files (*.zip)|*.zip",
+ "translation": "Konfigurasjons-ZIP-filer (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "Eksporter tunneler til zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (usignert bygg, ingen oppdateringer)",
+ "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": "Feil ved avslutting av 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": "Kan ikke avslutte tjenesten på grunn av: {Err}. Du kan vurdere å stoppe WireGuard fra tjenestebehandleren.",
+ "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": "En oppdatering til WireGuard er tilgjengelig. Det anbefales sterkt å oppdatere uten opphold.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for user",
+ "message": "Status: Waiting for user",
+ "translation": "Status: Venter på bruker",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Update Now",
+ "message": "Update Now",
+ "translation": "Oppdater nå",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Be systemadministratoren om å oppdatere.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: Venter på administrator",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "Status: Venter på oppdateringstjenesten",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error: {Err}. Please try again.",
+ "message": "Error: {Err}. Please try again.",
+ "translation": "Feil: {Err}. Prøv igjen.",
+ "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: Fullført!",
+ "translatorComment": "Copied from source."
+ }
+ ]
+} \ No newline at end of file
diff --git a/locales/nl/messages.gotext.json b/locales/nl/messages.gotext.json
index 511d4300..a0c38648 100644
--- a/locales/nl/messages.gotext.json
+++ b/locales/nl/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Fout:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(geen argumenten): Verhoog rechten en installeer beheerder-service",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Je moet de native versie van WireGuard gebruiken op deze computer.",
+ "translation": "Je moet de native versie van WireGuard op deze computer gebruiken.",
"translatorComment": "Copied from source."
},
{
@@ -392,15 +398,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Ongeldig IP-adres",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Ongeldige netwerkprefix-lengte",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Ongeldig IP-adres:",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +462,6 @@
"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": "Number moet een getal zijn tussen 0 en 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": "Twee komma's op een rij",
@@ -538,40 +522,17 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Fout bij het lezen van de configuratie",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Ongeldige sleutel voor interface-gedeelte",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Protocol-versie moet 1 zijn",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Ongeldige sleutel voor peer-gedeelte",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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秒’."
+ "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秒’.",
+ "translatorComment": "Copied from source."
},
{
"id": "About WireGuard",
@@ -586,9 +547,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "App-versie: {Number}\nGo backend versie: {WireGuardGoVersion}\nGo-versie: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "App-versie: {Number}\nStuurprogrammaversie: {Version}\nGo-versie: {Version_go}\nBesturingssysteem: {OsName}\nArchitectuur: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +561,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +577,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +601,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Doneer!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Doneer!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +613,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Deactiveer",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Deactiveer",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Activeer",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Activeer",
"translatorComment": "Copied from source."
},
{
@@ -704,7 +657,12 @@
{
"id": "Scripts:",
"message": "Scripts:",
- "translation": "Scripts:",
+ "translation": ""
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabel:",
"translatorComment": "Copied from source."
},
{
@@ -726,6 +684,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Persistent keepalive:",
+ "message": "Persistent keepalive:",
+ "translation": "Persistent Keep-alive:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Latest handshake:",
"message": "Latest handshake:",
"translation": "Recentste uitwisseling:",
@@ -738,9 +702,39 @@
"translatorComment": "Copied from source."
},
{
+ "id": "pre-up",
+ "message": "pre-up",
+ "translation": "voor activering",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "na activering",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "voor deactivering",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "na deactivering",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "uitgeschakeld, per beleid",
+ "translation": "uitgeschakeld, volgens beleid",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "uit",
"translatorComment": "Copied from source."
},
{
@@ -792,21 +786,47 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Interface: {Name}",
+ "message": "Interface: {Name}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "config.Name"
+ }
+ ]
+ },
+ {
+ "id": "Peer",
+ "message": "Peer",
+ "translation": ""
+ },
+ {
"id": "Create new tunnel",
"message": "Create new tunnel",
"translation": "Maak nieuwe tunnel",
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Naam:",
+ "id": "Edit tunnel",
+ "message": "Edit tunnel",
+ "translation": "Tunnel bewerken",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Naam:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Publieke sleutel:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Publieke sleutel:",
"translatorComment": "Copied from source."
},
{
@@ -816,15 +836,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Ongetunneld verkeer blokkeren (kill-switch)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Ongetunneld verkeer blokkeren (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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Wanneer een configuratie precies één peer heeft, en die peer toegestane IP-adressen bevat met ten minste 0.0.0.0/0 of ::/0, en de interface niet table off heeft, dan past de tunneldienst een firewallregelset toe om al het verkeer te blokkeren dat niet van of naar de tunnelinterface gaat of naar de verkeerde DNS-server gaat, met speciale uitzonderingen voor DHCP en NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Opslaan",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Opslaan",
"translatorComment": "Copied from source."
},
{
@@ -834,9 +860,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Instellingen:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Instellingen:",
"translatorComment": "Copied from source."
},
{
@@ -960,21 +986,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Kopiëer",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopiëer",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Selecteer &alles",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Selecteer \u0026alles",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Opslaan naar bestand…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Opslaan naar bestand…",
"translatorComment": "Copied from source."
},
{
@@ -1002,9 +1028,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "Over Wiregu&ard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "Over Wiregu\u0026ard…",
"translatorComment": "Copied from source."
},
{
@@ -1086,28 +1112,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Tunnels beheren…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Tunnels beheren…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Importeer tunnel(s) van bestand…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importeer tunnel(s) van bestand…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "&Afsluiten",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026Afsluiten",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tunnels",
- "translatorComment": "Copied from source."
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": ""
},
{
"id": "WireGuard Activated",
@@ -1194,7 +1219,7 @@
{
"id": "Addresses: {EnumerationSeparator}",
"message": "Addresses: {EnumerationSeparator}",
- "translation": "Addressen: {EnumerationSeparator}",
+ "translation": "Adressen: {EnumerationSeparator}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1232,15 +1257,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "B&ewerken",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "B\u0026ewerken",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Voeg l&ege tunnel toe…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Voeg l\u0026ege tunnel toe…",
"translatorComment": "Copied from source."
},
{
@@ -1262,27 +1287,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "In-/ui&tschakelen",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "In-/ui\u0026tschakelen",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Alle tunnels naar een &zip-bestand exporteren…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Alle tunnels naar een \u0026zip-bestand exporteren…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Ge&selecteerde tunnel bewerken…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Ge\u0026selecteerde tunnel bewerken…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "Geselecteerde tunnel(s) ve&rwijderen",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "Geselecteerde tunnel(s) ve\u0026rwijderen",
"translatorComment": "Copied from source."
},
{
@@ -1308,18 +1333,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Kon bestaande tunnels niet opsommen: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Kan bestaande tunnels niet opsommen: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1616,12 +1641,44 @@
"translatorComment": "Copied from source."
},
{
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (ongesigneerde build, geen updates)",
+ "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": "Fout bij afsluiten 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": "Kan dienst niet beëindigen vanwege: {Err}. Mogelijk kun je WireGuard stoppen vanuit de servicemanager.",
+ "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": "Er is een update voor WireGuard beschikbaar. Het wordt ten sterkste aangeraden deze zo snel mogelijk te installeren.",
@@ -1640,6 +1697,24 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Vraag de systeembeheerder om bij te werken.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: Wachten op beheerder",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "Status: Wachten op updatedienst",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Error: {Err}. Please try again.",
"message": "Error: {Err}. Please try again.",
"translation": "Fout: {Err}. Probeer het opnieuw.",
diff --git a/locales/nn-NO/messages.gotext.json b/locales/nn-NO/messages.gotext.json
new file mode 100644
index 00000000..743645a5
--- /dev/null
+++ b/locales/nn-NO/messages.gotext.json
@@ -0,0 +1,1733 @@
+{
+ "language": "nn-NO",
+ "messages": [
+ {
+ "id": "Error",
+ "message": "Error",
+ "translation": "Feil",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Feil:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(no argument): elevate and install manager service",
+ "message": "(no argument): elevate and install manager service",
+ "translation": "(ingen argument): hev rettar og installer handsamartenesta",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Usage: {Args0} [\n{String}]",
+ "message": "Usage: {Args0} [\n{String}]",
+ "translation": "Bruk: {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": "Kommandolinjeval",
+ "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": "Kan ikkje avgjere om prosessen køyrer under 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 native version of WireGuard on this computer.",
+ "message": "You must use the native version of WireGuard on this computer.",
+ "translation": "Du må nytte den innfødde versjonen av WireGuard på denne datamaskina.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to open current process token: {Err}",
+ "message": "Unable to open current process token: {Err}",
+ "translation": "Kan ikkje opne gjeldande prosesstoken: {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 kan berre nyttast av brukarar som er medlem av den innebygde {AdminGroupName}-gruppa.",
+ "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 køyrer, men brukargrensesnittet er berre tilgjengeleg frå skrivebord i den innebygde {AdminGroupName}-gruppa.",
+ "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-systemstatusikonet dukka ikkje opp etter 30 sekund.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Now",
+ "message": "Now",
+ "translation": "No",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "System clock wound backward!",
+ "message": "System clock wound backward!",
+ "translation": "Systemklokka er stilt bakover!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Years} year(s)",
+ "message": "{Years} year(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Years",
+ "cases": {
+ "one": {
+ "msg": "{Years} år"
+ },
+ "other": {
+ "msg": "{Years} år"
+ }
+ }
+ }
+ },
+ "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} dag"
+ },
+ "other": {
+ "msg": "{Days} dagar"
+ }
+ }
+ }
+ },
+ "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} time"
+ },
+ "other": {
+ "msg": "{Hours} timar"
+ }
+ }
+ }
+ },
+ "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} minutt"
+ },
+ "other": {
+ "msg": "{Minutes} minutt"
+ }
+ }
+ }
+ },
+ "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} sekund"
+ },
+ "other": {
+ "msg": "{Seconds} sekund"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Seconds",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "seconds"
+ }
+ ]
+ },
+ {
+ "id": "{Timestamp} ago",
+ "message": "{Timestamp} ago",
+ "translation": "{Timestamp} sidan",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "Ugyldig IP-adresse:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Missing port from endpoint",
+ "message": "Missing port from endpoint",
+ "translation": "Manglar port frå endepunkt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid endpoint host",
+ "message": "Invalid endpoint host",
+ "translation": "Ugyldig endepunktsvert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Brackets must contain an IPv6 address",
+ "message": "Brackets must contain an IPv6 address",
+ "translation": "Hakeparentesar må innehalde ei IPv6-adresse",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid MTU",
+ "message": "Invalid MTU",
+ "translation": "Ugyldig MTU",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid port",
+ "message": "Invalid port",
+ "translation": "Ugyldig port",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid persistent keepalive",
+ "message": "Invalid persistent keepalive",
+ "translation": "Ugyldig vedvarande keepalive",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key: {Err}",
+ "message": "Invalid key: {Err}",
+ "translation": "Ugyldig nøkkel: {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": "Nøklar må dekode til nøyaktig 32 byte",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Two commas in a row",
+ "message": "Two commas in a row",
+ "translation": "To komma på rad",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name is not valid",
+ "message": "Tunnel name is not valid",
+ "translation": "Tunnelnamnet er ikkje gyldig",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Line must occur in a section",
+ "message": "Line must occur in a section",
+ "translation": "Linja må vere i ein seksjon",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Config key is missing an equals separator",
+ "message": "Config key is missing an equals separator",
+ "translation": "Konfigurasjonsnøkkelen manglar eit likskapsteikn som skiljeteikn",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Key must have a value",
+ "message": "Key must have a value",
+ "translation": "Nøkkelen må ha ein verdi",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Interface] section",
+ "message": "Invalid key for [Interface] section",
+ "translation": "Ugyldig nøkkel for [Interface]-seksjon",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Peer] section",
+ "message": "Invalid key for [Peer] section",
+ "translation": "Ugyldig nøkkel for [Peer]-seksjon",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An interface must have a private key",
+ "message": "An interface must have a private key",
+ "translation": "Eit grensesnitt må ha ein privat nøkkel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "[none specified]",
+ "message": "[none specified]",
+ "translation": "[ingen oppgjeve]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "All peers must have public keys",
+ "message": "All peers must have public keys",
+ "translation": "Alle motpartar må ha offentlege nøklar",
+ "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": "Om WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard logo image",
+ "message": "WireGuard logo image",
+ "translation": "WireGuard-logobilete",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Appversjon: {Number}\nDrivarversjon: {Version}\nGo-versjon: {Version_go}\nOperativsystem: {OsName}\nArkitektur: {Arch}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "Version",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "driver.Version()"
+ },
+ {
+ "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": "Arch",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "version.Arch()"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "Lat att",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Gjev!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": ""
+ },
+ {
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Deaktiver",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktiver",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Public key:",
+ "message": "Public key:",
+ "translation": "Offentleg nøkkel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Listen port:",
+ "message": "Listen port:",
+ "translation": "Lytteport:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "MTU:",
+ "message": "MTU:",
+ "translation": ""
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "Adresser:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "DNS-tenarar:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": "Skript:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabell:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Preshared key:",
+ "message": "Preshared key:",
+ "translation": "Førehandsdelt nøkkel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Allowed IPs:",
+ "message": "Allowed IPs:",
+ "translation": "Tillatne IP-ar:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Endpoint:",
+ "message": "Endpoint:",
+ "translation": "Endepunkt:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Persistent keepalive:",
+ "message": "Persistent keepalive:",
+ "translation": "Vedvarande keepalive:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Latest handshake:",
+ "message": "Latest handshake:",
+ "translation": "Siste handtrykk:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Transfer:",
+ "message": "Transfer:",
+ "translation": "Overføring:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-up",
+ "message": "pre-up",
+ "translation": "før oppkopling",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "etter oppkopling",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "før fråkopling",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "etter fråkopling",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "deaktivert, i samsvar med retningslinjer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "av",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "enabled",
+ "message": "enabled",
+ "translation": "aktivert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{String} received, {String_1} sent",
+ "message": "{String} received, {String_1} sent",
+ "translation": "{String} motteke, {String_1} sendt",
+ "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": "Klarte ikkje fastslå tunneltilstanden",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to activate tunnel",
+ "message": "Failed to activate tunnel",
+ "translation": "Klarte ikkje aktivere tunnelen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to deactivate tunnel",
+ "message": "Failed to deactivate tunnel",
+ "translation": "Klarte ikkje deaktivere tunnelen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Interface: {Name}",
+ "message": "Interface: {Name}",
+ "translation": "Grensesnitt: {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": "Motpart",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Create new tunnel",
+ "message": "Create new tunnel",
+ "translation": "Opprett ny tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit tunnel",
+ "message": "Edit tunnel",
+ "translation": "Rediger tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Namn:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Offentleg nøkkel:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(ukjend)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blokker utunnelert trafikk (drepebrytar)",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Når ein konfigurasjon har nøyaktig éin motpart, og den motparten har eit sett med tillatne IP-ar som inneheld minst éin av 0.0.0.0/0 eller ::/0, og grensesnittet ikkje har table off, då aktiverer tunneltenesta eit brannmurregelsett som blokkerer all trafikk som korkje er til eller frå tunnelgrensesnittet eller som går til feil DNS-tenar, med særskilde unntak for DHCP og NDP.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Lagre",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "Avbryt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfigurasjon:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid name",
+ "message": "Invalid name",
+ "translation": "Ugyldig namn",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A name is required.",
+ "message": "A name is required.",
+ "translation": "Eit namn er påkravd.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name ‘{NewName}’ is invalid.",
+ "message": "Tunnel name ‘{NewName}’ is invalid.",
+ "translation": "Tunnelnamnet ‘{NewName}’ er ugyldig.",
+ "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": "Kan ikkje liste opp eksisterande tunnelar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel already exists",
+ "message": "Tunnel already exists",
+ "translation": "Tunnelen finst allereie",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{NewName}’.",
+ "message": "Another tunnel already exists with the name ‘{NewName}’.",
+ "translation": "Ein annan tunnel med namnet ‘{NewName}’ finst allereie.",
+ "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": "Kan ikkje opprette ny konfigurasjon",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Writing file failed",
+ "message": "Writing file failed",
+ "translation": "Skriving av fila feila",
+ "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": "Fila ‘{FilePath}’ finst allereie.\n\nVil du skrive over henne?",
+ "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": "Aktiverer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Inactive",
+ "message": "Inactive",
+ "translation": "Inaktiv",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Deactivating",
+ "message": "Deactivating",
+ "translation": "Deaktiverer",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unknown state",
+ "message": "Unknown state",
+ "translation": "Ukjend tilstand",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log",
+ "message": "Log",
+ "translation": "Logg",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopier",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Vel \u0026alt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Lagre til fil…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Time",
+ "message": "Time",
+ "translation": "Tid",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log message",
+ "message": "Log message",
+ "translation": "Loggmelding",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "translation": "Tekstfiler (*.txt)|*.txt|Alle filer (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export log to file",
+ "message": "Export log to file",
+ "translation": "Eksporter logg til fil",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Om WireGuard…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel Error",
+ "message": "Tunnel Error",
+ "translation": "Tunnelfeil",
+ "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\nSjå loggen for meir informasjon.",
+ "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} (utdatert)",
+ "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": "Feil ved WireGuard-oppdaging",
+ "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": "Kan ikkje vente på at WireGuard-vindauget skal dukke opp: {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: Deaktivert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Unknown",
+ "message": "Status: Unknown",
+ "translation": "Status: Ukjend",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses: None",
+ "message": "Addresses: None",
+ "translation": "Adresser: Ingen",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Handter tunnelar…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importer tunnel(ar) frå fil…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "\u0026Avslutt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunnelar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Activated",
+ "message": "WireGuard Activated",
+ "translation": "WireGuard aktivert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been activated.",
+ "message": "The {Name} tunnel has been activated.",
+ "translation": "Tunnelen {Name} er aktivert.",
+ "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 deaktivert",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been deactivated.",
+ "message": "The {Name} tunnel has been deactivated.",
+ "translation": "Tunnelen {Name} er deaktivert.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "WireGuard-tunnelfeil",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "TextForStateglobalState_true",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "textForState(globalState, true)"
+ }
+ ]
+ },
+ {
+ "id": "Status: {StateText}",
+ "message": "Status: {StateText}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "StateText",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "stateText"
+ }
+ ]
+ },
+ {
+ "id": "Addresses: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "Adresser: {EnumerationSeparator}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "EnumerationSeparator",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
+ }
+ ]
+ },
+ {
+ "id": "An Update is Available!",
+ "message": "An Update is Available!",
+ "translation": "Ei oppdatering er tilgjengeleg!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Update Available",
+ "message": "WireGuard Update Available",
+ "translation": "WireGuard-oppdatering tilgjengeleg",
+ "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": "Ei oppdatering til WireGuard er no tilgjengeleg. Det er tilrådd å oppdatere så snart som råd.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnels",
+ "message": "Tunnels",
+ "translation": "Tunnelar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Rediger",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Legg til \u0026tom tunnel…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add Tunnel",
+ "message": "Add Tunnel",
+ "translation": "Legg til tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Remove selected tunnel(s)",
+ "message": "Remove selected tunnel(s)",
+ "translation": "Fjern valde tunnel(ar)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to zip",
+ "message": "Export all tunnels to zip",
+ "translation": "Eksporter alle tunnelar til zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Veksle",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Eksporter alle tunnelar til \u0026zip…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Rediger \u0026vald tunnel…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Fjern valde tunnel(ar)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "translation": "ingen konfigurasjonsfiler vart funne",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Could not import selected configuration: {LastErr}",
+ "message": "Could not import selected configuration: {LastErr}",
+ "translation": "Kunne ikkje importere vald konfigurasjon: {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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Kunne ikkje liste opp eksisterande tunnelar: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{Name}’",
+ "message": "Another tunnel already exists with the name ‘{Name}’",
+ "translation": "Ein annan tunnel med namnet ‘{Name}’ finst allereie",
+ "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": "Kan ikkje importere konfigurasjon: {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": "Importerte tunnelar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Imported {M} tunnels",
+ "message": "Imported {M} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "M",
+ "cases": {
+ "one": {
+ "msg": "Importerte {M} tunnel"
+ },
+ "other": {
+ "msg": "Importerte {M} tunnelar"
+ }
+ }
+ }
+ },
+ "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": "Importerte {M} av {N} tunnel"
+ },
+ "other": {
+ "msg": "Importerte {M} av {N} tunnelar"
+ }
+ }
+ }
+ },
+ "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": "Kan ikkje opprette tunnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Delete {TunnelCount} tunnels",
+ "message": "Delete {TunnelCount} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "one": {
+ "msg": "Slett {TunnelCount} tunnel"
+ },
+ "other": {
+ "msg": "Slett {TunnelCount} tunnelar"
+ }
+ }
+ }
+ },
+ "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": "Er du sikker på at du vil slette {TunnelCount} tunnel?"
+ },
+ "other": {
+ "msg": "Er du sikker på at du vil slette {TunnelCount} tunnelar?"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Delete tunnel ‘{TunnelName}’",
+ "message": "Delete tunnel ‘{TunnelName}’",
+ "translation": "Slett tunnelen ‘{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": "Er du sikker på at du vil slette tunnelen ‘{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} Du kan ikkje angre denne handlinga.",
+ "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": "Kan ikkje slette tunnel",
+ "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 kunne ikkje fjernast: {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": "Kan ikkje slette tunnelar",
+ "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 kunne ikkje fjernast."
+ },
+ "other": {
+ "msg": "{Lenerrors} tunnelar kunne ikkje fjernast."
+ }
+ }
+ }
+ },
+ "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": "Konfigurasjonsfiler (*.zip, *.conf)|*.zip;*.conf|Alle filer (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Import tunnel(s) from file",
+ "message": "Import tunnel(s) from file",
+ "translation": "Importer tunnel(ar) frå fil",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Configuration ZIP Files (*.zip)|*.zip",
+ "message": "Configuration ZIP Files (*.zip)|*.zip",
+ "translation": "Konfigurasjons-ZIP-filer (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "Eksporter tunnelar til zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (usignert bygg, ingen oppdateringar)",
+ "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": "Feil ved avslutting av 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": "Kan ikkje avslutte tenesta på grunn av: {Err}. Du kan vurdere å stoppe WireGuard frå tenestehandsamaren.",
+ "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": "Ei oppdatering til WireGuard er tilgjengeleg. Det er sterkt tilrådd å oppdatere utan opphald.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for user",
+ "message": "Status: Waiting for user",
+ "translation": "Status: Ventar på brukar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Update Now",
+ "message": "Update Now",
+ "translation": "Oppdater no",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Be systemadministratoren om å oppdatere.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: Ventar på administrator",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "Status: Ventar på oppdateringstenesta",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error: {Err}. Please try again.",
+ "message": "Error: {Err}. Please try again.",
+ "translation": "Feil: {Err}. Prøv igjen.",
+ "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: Ferdig!",
+ "translatorComment": "Copied from source."
+ }
+ ]
+} \ No newline at end of file
diff --git a/locales/no/messages.gotext.json b/locales/no/messages.gotext.json
deleted file mode 100644
index 30e894a6..00000000
--- a/locales/no/messages.gotext.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "language": "no",
- "messages": [
- {
- "id": "Error",
- "message": "Error",
- "translation": "Feil",
- "translatorComment": "Copied from source."
- }
- ]
-} \ No newline at end of file
diff --git a/locales/pa-IN/messages.gotext.json b/locales/pa-IN/messages.gotext.json
index 6f25ac3a..394c729f 100644
--- a/locales/pa-IN/messages.gotext.json
+++ b/locales/pa-IN/messages.gotext.json
@@ -8,6 +8,18 @@
"translatorComment": "Copied from source."
},
{
+ "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}]",
@@ -56,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "ਤੁਹਾਨੂੰ ਇਸ ਕੰਪਿਊਟਰ ਉੱਤੇ WireGuard ਦਾ ਮੂਲ ਵਰਜ਼ਨ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ।",
+ "translation": "ਤੁਹਾਨੂੰ ਇਸ ਕੰਪਿਊਟਰ ਉੱਤੇ WireGuard ਦਾ ਨੇਟਿਵ ਵਰਜ਼ਨ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ।",
"translatorComment": "Copied from source."
},
{
@@ -386,15 +398,9 @@
]
},
{
- "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": "ਗਲਤ ਨੈੱਟਵਰਕ ਅਗੇਤਰ ਲੰਬਾਈ",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "ਅਵੈਧ IP ਸਿਰਨਾਵਾਂ:",
"translatorComment": "Copied from source."
},
{
@@ -404,6 +410,18 @@
"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",
@@ -444,22 +462,6 @@
"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": "ਇੱਕ ਕਤਾਰ ਵਿੱਚ ਦੋ ਕੌਮੇ ਹਨ",
@@ -478,15 +480,57 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Config key is missing an equals separator",
+ "message": "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": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -496,9 +540,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "ਐਪ ਦਾ ਵਰਜ਼ਨ: {Number}\nਗੋ ਬੈਕਐਂਡ ਦਾ ਵਰਜ਼ਨ: {WireGuardGoVersion}\nਗੋ ਦਾ ਵਰਜ਼ਨ: {Version_go}-{GOARCH}\nਓਪਰੇਟਿੰਗ ਸਿਸਟਮ: {OsName}\nਢਾਂਚਾ: {NativeArch}",
+ "id": "WireGuard logo image",
+ "message": "WireGuard logo image",
+ "translation": "ਵਾਇਰਗਾਰਡ ਲੋਗੋ ਚਿੱਤਰ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "ਐਪ ਦਾ ਵਰਜ਼ਨ: {Number}\nਡਰਾਈਵਰ ਦਾ ਵਰਜ਼ਨ: {Version}\nਗੋ ਦਾ ਵਰਜ਼ਨ: {Version_go}\nਓਪਰੇਟਿੰਗ ਸਿਸਟਮ: {OsName}\nਢਾਂਚਾ: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -510,12 +560,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -526,28 +576,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -558,9 +600,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ ਦਾਨ ਦਿਓ(&D)!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ ਦਾਨ ਦਿਓ(\u0026D)!",
"translatorComment": "Copied from source."
},
{
@@ -570,15 +612,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "ਨਾ-ਸਰਗਰਮ ਕਰੋ(&D)",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "ਨਾ-ਸਰਗਰਮ ਕਰੋ(\u0026D)",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "ਸਰਗਰਮ ਕਰੋ(&A)",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "ਸਰਗਰਮ ਕਰੋ(\u0026A)",
"translatorComment": "Copied from source."
},
{
@@ -618,6 +660,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "ਟੇਬਲ:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "ਪਹਿਲਾਂ-ਸਾਂਝੀ ਕੀਤੀ ਕੁੰਜੀ:",
@@ -654,9 +702,39 @@
"translatorComment": "Copied from source."
},
{
+ "id": "pre-up",
+ "message": "pre-up",
+ "translation": "ਸਰਗਰਮ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "ਸਰਗਰਮ ਕਰਨ ਤੋਂ ਬਾਅਦ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "ਨਾ-ਸਰਗਰਮ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "ਨਾ-ਸਰਗਰਮ ਕਰਨ ਤੋਂ ਬਾਅਦ",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "ਅਸਮਰੱਥ ਹੈ, ਹਰ ਪਾਲਸੀ",
+ "translation": "ਪਾਲਿਸੀ ਮੁਤਾਬਕ ਅਸਮਰੱਥ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "ਬੰਦ",
"translatorComment": "Copied from source."
},
{
@@ -742,15 +820,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "ਨਾਂ(&N):",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "ਨਾਂ(\u0026N):",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "ਪਬਲਿਕ ਕੁੰਜੀ(&P):",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "ਪਬਲਿਕ ਕੁੰਜੀ(\u0026P):",
"translatorComment": "Copied from source."
},
{
@@ -760,15 +838,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "ਬਿਨਾਂ-ਟਨਲ ਵਾਲੇ ਟਰੈਫਿਕ ਉੱਤੇ ਪਾਬੰਦੀ ਲਾਓ (&B) (kill-switch)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "ਬਿਨਾਂ-ਟਨਲ ਵਾਲੇ ਟਰੈਫਿਕ ਉੱਤੇ ਪਾਬੰਦੀ ਲਾਓ (\u0026B) (kill-switch)",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "ਸੰਭਾਲੋ(&S)",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "ਜਦੋਂ ਸੰਰਚਨਾ ਕੋਲ ਠੀਕ ਇੱਕ ਪੀਅਰ ਹੋਵੇ, ਅਤੇ ਉਸ ਪੀਅਰ ਕੋਲ ਮਨਜ਼ੂਰ ਕੀਤੇ IP ਵਿੱਚ 0.0.0.0/0 ਜਾਂ ::/0 ਵਿੱਚੋਂ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਮੌਜੂਦ ਹੋਵੇ, ਅਤੇ ਇੰਟਰਫੇਸ ਵਿੱਚ table off ਨਾ ਹੋਵੇ, ਤਾਂ ਟਨਲ ਸੇਵਾ ਫਾਇਰਵਾਲ ਨਿਯਮਾਵਲੀ ਨੂੰ ਜੋੜਦੀ ਹੈ, ਜੋ ਕਿ ਉਹ ਸਾਰਾ ਟਰੈਫਿਕ ਰੋਕ ਦਿੰਦੀ ਹੈ, ਜੋ ਨਾ ਤਾਂ ਟਨਲ ਇੰਟਰਫੇਸ ਵੱਲ ਜਾਂਦਾ ਹੈ ਤੇ ਨਾ ਹੀ ਉਸ ਤੋਂ ਆਉਂਦਾ ਹੈ ਜਾਂ ਜੋ ਗ਼ਲਤ DNS ਸਰਵਰ ਵੱਲ ਜਾਂਦਾ ਹੈ, DHCP ਅਤੇ NDP ਲਈ ਖਾਸ ਅਪਵਾਦ ਨਾਲ।",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "ਸੰਭਾਲੋ(\u0026S)",
"translatorComment": "Copied from source."
},
{
@@ -778,9 +862,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "ਸੰਰਚਨਾ(&C):",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "ਸੰਰਚਨਾ(\u0026C):",
"translatorComment": "Copied from source."
},
{
@@ -796,6 +880,28 @@
"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": "ਟਨਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ",
@@ -882,21 +988,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "ਕਾਪੀ ਕਰੋ(&C)",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "ਕਾਪੀ ਕਰੋ(\u0026C)",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "ਸਾਰੇ ਚੁਣੋ(&a)",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "ਸਾਰੇ ਚੁਣੋ(\u0026a)",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "ਫ਼ਾਇਲ ਵਿੱਚ ਸੰਭਾਲੋ(&S)…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "ਫ਼ਾਇਲ ਵਿੱਚ ਸੰਭਾਲੋ(\u0026S)…",
"translatorComment": "Copied from source."
},
{
@@ -924,9 +1030,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "ਵਾਇਰਗਾਰਡ ਬਾਰੇ(&A)…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "ਵਾਇਰਗਾਰਡ ਬਾਰੇ(\u0026A)…",
"translatorComment": "Copied from source."
},
{
@@ -938,7 +1044,7 @@
{
"id": "{ErrMsg}\n\nPlease consult the log for more information.",
"message": "{ErrMsg}\n\nPlease consult the log for more information.",
- "translation": "{ErrMsg}\n\nPlease consult the log for more information.",
+ "translation": "{ErrMsg}\n\nਹੋਰ ਜਾਣਕਾਰੀ ਲਈ ਲਾਗ ਵੇਖੋ ਜੀ।",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -954,7 +1060,7 @@
{
"id": "{Title} (out of date)",
"message": "{Title} (out of date)",
- "translation": "{Title} (out of date)",
+ "translation": "{Title} (ਪੁਰਾਣਾ ਹੈ)",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -974,6 +1080,22 @@
"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": "ਵਾਇਰਗਾਰਡ: ਨਾ-ਸਰਗਰਮ ਕੀਤਾ",
@@ -992,27 +1114,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "ਟਨਲਾਂ ਦਾ ਇੰਤਜ਼ਾਮ ਕਰੋ(&M)…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "ਟਨਲਾਂ ਦਾ ਇੰਤਜ਼ਾਮ ਕਰੋ(\u0026M)…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "ਫ਼ਾਇਲ ਤੋਂ ਟਨਲਾਂ ਦਰਾਮਦ ਕਰੋ(&I)…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "ਫ਼ਾਇਲ ਤੋਂ ਟਨਲਾਂ ਦਰਾਮਦ ਕਰੋ(\u0026I)…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "ਬਾਹਰ(&x)",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "ਬਾਹਰ(\u0026x)",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "ਟਨਲ(&T)",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "ਟਨਲਾਂ(\u0026T)",
"translatorComment": "Copied from source."
},
{
@@ -1100,7 +1222,7 @@
{
"id": "Addresses: {EnumerationSeparator}",
"message": "Addresses: {EnumerationSeparator}",
- "translation": "ਸਿਰਨਾਵੇਂ: {EnumerationSeparator}",
+ "translation": "ਸਿਰਨਾਵੇ: {EnumerationSeparator}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1138,15 +1260,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "ਸੋਧੋ(&E)",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "ਸੋਧੋ(\u0026E)",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "…ਖਾਲੀ ਟਨਲ ਜੋੜੋ(&e)",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "…ਖਾਲੀ ਟਨਲ ਜੋੜੋ(\u0026e)",
"translatorComment": "Copied from source."
},
{
@@ -1168,27 +1290,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "ਪਲਟੋ(&T)",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "ਪਲਟੋ(\u0026T)",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
"translation": "ਸਾਰੀਆਂ ਟਨਲਾਂ ਨੂੰ ਜ਼ਿੱਪ ਵਜੋਂ ਬਰਾਮਦ ਕਰੋ…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "ਚੁਣੀ ਟਨਲ ਸੋਧੋ(&s)…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "ਚੁਣੀ ਟਨਲ ਸੋਧੋ(\u0026s)…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "ਚੁਣੀਆਂ ਟਨਲਾਂ ਨੂੰ ਹਟਾਓ(&R)",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "ਚੁਣੀਆਂ ਟਨਲਾਂ ਨੂੰ ਹਟਾਓ(\u0026R)",
"translatorComment": "Copied from source."
},
{
@@ -1198,6 +1320,38 @@
"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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "ਮੌਜੂਦਾ ਟਨਲਾਂ ਦੀ ਗਿਣਤੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
"id": "Another tunnel already exists with the name ‘{Name}’",
"message": "Another tunnel already exists with the name ‘{Name}’",
"translation": "‘{Name}’ ਨਾਂ ਨਾਲ ਹੋਰ ਟਨਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ",
@@ -1264,6 +1418,42 @@
]
},
{
+ "id": "Imported {M} of {N} tunnels",
+ "message": "Imported {M} of {N} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "N",
+ "cases": {
+ "one": {
+ "msg": "{N} ਵਿੱਚੋਂ {M} ਟਨਲ ਇੰਪੋਰਟ ਕੀਤੀ"
+ },
+ "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": "ਟਨਲ ਬਣਾਉਣ ਲਈ ਅਸਮਰੱਥ",
@@ -1402,6 +1592,34 @@
"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} ਟਨਲ ਨੂੰ ਹਟਾਉਣ ਲਈ ਅਸਮਰੱਥ ਹੈ।"
+ },
+ "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|ਸਾਰੀਆਂ ਫ਼ਾਇਲਾਂ (*.*)|*.*",
@@ -1420,6 +1638,28 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "ਟਨਲਾਂ ਨੂੰ ਜ਼ਿੱਪ ਵਜੋਂ ਬਰਾਮਦ ਕਰੋ",
+ "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 ਤੋਂ ਬਾਹਰ ਜਾਣ ਲਈ ਗ਼ਲਤੀ",
@@ -1460,6 +1700,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਸਿਸਟਮ ਪਰਸ਼ਾਸਕ ਨੂੰ ਪੁੱਛੋ ਜੀ।",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "ਹਾਲਤ: ਪਰਸ਼ਾਸਕ ਲਈ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "ਹਾਲਤ: ਅੱਪਡੇਟਰ ਸੇਵਾ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ",
diff --git a/locales/pl/messages.gotext.json b/locales/pl/messages.gotext.json
index e96aab33..1b70406e 100644
--- a/locales/pl/messages.gotext.json
+++ b/locales/pl/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Błąd:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(brak argumentu): Podnieś uprawnienia i zainstaluj usługę menedżera",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Należy użyć natywnej wersji WireGuard na tym komputerze.",
+ "translation": "Na tym komputerze należy używać natywnej wersji WireGuard.",
"translatorComment": "Copied from source."
},
{
@@ -139,15 +145,15 @@
"feature": "plural",
"arg": "Years",
"cases": {
- "one": {
- "msg": "{Years} rok"
- },
"few": {
"msg": "{Years} lata"
},
"many": {
"msg": "{Years} lat"
},
+ "one": {
+ "msg": "{Years} rok"
+ },
"other": {
"msg": "{Years} lat"
}
@@ -173,15 +179,15 @@
"feature": "plural",
"arg": "Days",
"cases": {
- "one": {
- "msg": "{Days} dzień"
- },
"few": {
"msg": "{Days} dni"
},
"many": {
"msg": "{Days} dni"
},
+ "one": {
+ "msg": "{Days} dzień"
+ },
"other": {
"msg": "{Days} dni"
}
@@ -207,15 +213,15 @@
"feature": "plural",
"arg": "Hours",
"cases": {
- "one": {
- "msg": "{Hours} godzina"
- },
"few": {
"msg": "{Hours} godziny"
},
"many": {
"msg": "{Hours} godzin"
},
+ "one": {
+ "msg": "{Hours} godzina"
+ },
"other": {
"msg": "{Hours} godzin"
}
@@ -241,15 +247,15 @@
"feature": "plural",
"arg": "Minutes",
"cases": {
- "one": {
- "msg": "{Minutes} minuta"
- },
"few": {
"msg": "{Minutes} minuty"
},
"many": {
"msg": "{Minutes} minut"
},
+ "one": {
+ "msg": "{Minutes} minuta"
+ },
"other": {
"msg": "{Minutes} minut"
}
@@ -275,15 +281,15 @@
"feature": "plural",
"arg": "Seconds",
"cases": {
- "one": {
- "msg": "{Seconds} sekunda"
- },
"few": {
"msg": "{Seconds} sekundy"
},
"many": {
"msg": "{Seconds} sekund"
},
+ "one": {
+ "msg": "{Seconds} sekunda"
+ },
"other": {
"msg": "{Seconds} sekund"
}
@@ -422,15 +428,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Nieprawidłowy adres IP",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Nieprawidłowa długość prefiksu sieci",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Nieprawidłowy adres IP:",
"translatorComment": "Copied from source."
},
{
@@ -492,22 +492,6 @@
"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": "Liczba musi zawierać się w przedziale 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": "Dwa przecinki z rzędu",
@@ -568,39 +552,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Błąd podczas pobierania konfiguracji",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Nieprawidłowy klucz dla sekcji interface",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Wersja protokołu musi być 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Nieprawidłowy klucz dla sekcji peer",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -616,9 +576,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Wersja aplikacji: {Number}\nWersja implementacji w jęz. Go: {WireGuardGoVersion}\nWersja jęz. Go: {Version_go}-{GOARCH}\nSystem operacyjny: {OsName}\nArchitektura: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Wersja aplikacji: {Number}\nWersja sterownika: {Version}\nWersja Go: {Version_go}\nSystem operacyjny: {OsName}\nArchitektura: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -630,12 +590,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -646,28 +606,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -678,9 +630,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Wpłać!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Wpłać!",
"translatorComment": "Copied from source."
},
{
@@ -690,15 +642,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Dezaktywuj",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Dezaktywuj",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Aktywuj",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktywuj",
"translatorComment": "Copied from source."
},
{
@@ -738,6 +690,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tablica:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Klucz wstępnie udostępniony:",
@@ -770,37 +728,43 @@
{
"id": "Transfer:",
"message": "Transfer:",
- "translation": "Transfer:",
+ "translation": "Przesyłanie:",
"translatorComment": "Copied from source."
},
{
"id": "pre-up",
"message": "pre-up",
- "translation": "przed włączeniem",
+ "translation": "przed uruchomieniem",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "po włączeniu",
+ "translation": "po uruchomieniu",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "przed wyłączeniem",
+ "translation": "przed zatrzymaniem",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "po wyłączeniu",
+ "translation": "po zatrzymaniu",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "wyłączone, według zasad grupy",
+ "translation": "wyłączone zgodnie z zasadami",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "wyłączone",
"translatorComment": "Copied from source."
},
{
@@ -886,15 +850,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Nazwa:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Nazwa:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Klucz publiczny:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Klucz publiczny:",
"translatorComment": "Copied from source."
},
{
@@ -904,21 +868,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Zablokuj niezabezpieczony ruch (wyłącznik awaryjny)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Zablokuj niezabezpieczony ruch (wyłącznik awaryjny)",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Jeżeli konfiguracja ma dokładnie jednego peera i ma w liście dozwolonych IP przynajmniej jeden adres 0.0.0.0/0 lub ::/0, wtedy usługa tunelowania dołącza do zapory sieciowej zestaw zasad, żeby zablokować ruch, który nie jest z interfejsu sieciowego lub jest skierowany do złego serwera DNS, z wyjątkiem dla serwera DHCP i NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Gdy konfiguracja ma dokładnie jednego peera, a ma on dozwolone adresy IP zawierające co najmniej jeden z adresów 0.0.0.0/0 lub ::/0, a interfejs nie ma tabeli wyłączonej, usługa tunelowania uruchamia zestaw reguł zapory, aby zablokować cały ruch, który nie jest kierowany do ani z interfejsu tunelu lub jest kierowany do niewłaściwego serwera DNS, ze szczególnymi wyjątkami dla protokołów DHCP i NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Zapisz",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Zapisz",
"translatorComment": "Copied from source."
},
{
@@ -928,9 +892,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Konfiguracja:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfiguracja:",
"translatorComment": "Copied from source."
},
{
@@ -964,7 +928,7 @@
{
"id": "Unable to list existing tunnels",
"message": "Unable to list existing tunnels",
- "translation": "Nie można wylistować istniejących tuneli",
+ "translation": "Nie można wyświetlić listy istniejących tuneli",
"translatorComment": "Copied from source."
},
{
@@ -1054,21 +1018,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Kopiuj",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopiuj",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Wybierz &wszystko",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Wybierz \u0026wszystko",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Zapisz do pliku…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Zapisz do pliku…",
"translatorComment": "Copied from source."
},
{
@@ -1080,7 +1044,7 @@
{
"id": "Log message",
"message": "Log message",
- "translation": "Wiadomości dziennika",
+ "translation": "Komunikat dziennika",
"translatorComment": "Copied from source."
},
{
@@ -1096,9 +1060,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&Informacje o WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Informacje o WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1180,33 +1144,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Zarządzaj tunelami…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Zarządzaj tunelami…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Importuj tunel(e) z pliku…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importuj tunel(e) z pliku…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "W&yjście",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "W\u0026yjdź",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tunele",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunele",
"translatorComment": "Copied from source."
},
{
"id": "WireGuard Activated",
"message": "WireGuard Activated",
- "translation": "WireGuard Aktywny",
+ "translation": "WireGuard aktywowany",
"translatorComment": "Copied from source."
},
{
@@ -1326,15 +1290,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Edytuj",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Edytuj",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Dodaj &pusty tunel…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Dodaj \u0026pusty tunel…",
"translatorComment": "Copied from source."
},
{
@@ -1356,33 +1320,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Przełącz",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Przełącz",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Eksportuj wszystkie tunele do archiwum &ZIP…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Eksportuj wszystkie tunele do archiwum \u0026ZIP…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Edytuj &wybrany tunel…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Edytuj \u0026wybrany tunel…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Usuń wybrany(-e) tunel(e)",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Usuń wybrany(-e) tunel(e)",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "brak plików konfiguracyjnych",
+ "translation": "nie znaleziono plików konfiguracyjnych",
"translatorComment": "Copied from source."
},
{
@@ -1402,18 +1366,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Nie można wskazać istniejących tuneli: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Nie można wyliczyć istniejących tuneli: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1463,15 +1427,15 @@
"feature": "plural",
"arg": "M",
"cases": {
- "one": {
- "msg": "Zaimportowano {M} tunel"
- },
"few": {
"msg": "Zaimportowano {M} tunele"
},
"many": {
"msg": "Zaimportowano {M} tuneli"
},
+ "one": {
+ "msg": "Zaimportowano {M} tunel"
+ },
"other": {
"msg": "Zaimportowano {M} tuneli"
}
@@ -1497,15 +1461,15 @@
"feature": "plural",
"arg": "N",
"cases": {
- "one": {
- "msg": "Zaimportowano {M} z {N} tunelu"
- },
"few": {
"msg": "Zaimportowano {M} z {N} tuneli"
},
"many": {
"msg": "Zaimportowano {M} z {N} tuneli"
},
+ "one": {
+ "msg": "Zaimportowano {M} z {N} tunelu"
+ },
"other": {
"msg": "Zaimportowano {M} z {N} tuneli"
}
@@ -1545,15 +1509,15 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Usuń {TunnelCount} tunel"
- },
"few": {
"msg": "Usuń {TunnelCount} tunele"
},
"many": {
"msg": "Usuń {TunnelCount} tuneli"
},
+ "one": {
+ "msg": "Usuń {TunnelCount} tunel"
+ },
"other": {
"msg": "Usuń {TunnelCount} tuneli"
}
@@ -1579,15 +1543,15 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Czy na pewno chcesz usunąć {TunnelCount} tunel?"
- },
"few": {
"msg": "Czy na pewno chcesz usunąć {TunnelCount} tunele?"
},
"many": {
"msg": "Czy na pewno chcesz usunąć {TunnelCount} tuneli?"
},
+ "one": {
+ "msg": "Czy na pewno chcesz usunąć {TunnelCount} tunel?"
+ },
"other": {
"msg": "Czy na pewno chcesz usunąć {TunnelCount} tuneli?"
}
@@ -1689,15 +1653,15 @@
"feature": "plural",
"arg": "Lenerrors",
"cases": {
- "one": {
- "msg": "{Lenerrors} tunel nie może zostać usunięty."
- },
"few": {
"msg": "{Lenerrors} tunele nie mogą być usunięte."
},
"many": {
"msg": "{Lenerrors} tunele nie mogą być usunięte."
},
+ "one": {
+ "msg": "{Lenerrors} tunel nie może zostać usunięty."
+ },
"other": {
"msg": "{Lenerrors} tunele nie mogą być usunięte."
}
@@ -1796,6 +1760,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Poproś administratora systemu o przeprowadzenie aktualizacji.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: Czekam na administratora",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Status: Czekam na usługę aktualizacji",
@@ -1822,86 +1798,6 @@
"message": "Status: Complete!",
"translation": "Status: Ukończone!",
"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}: nie mógł zdekodować właśnie zapisanej ramki",
- "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}: zapis {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}: odczyt {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: zdekodwanie hpack nie powiodło się {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/pt-BR/messages.gotext.json b/locales/pt-BR/messages.gotext.json
index 84313ba7..a813cac7 100644
--- a/locales/pt-BR/messages.gotext.json
+++ b/locales/pt-BR/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Erro:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(sem argumento): elevar e instalar o serviço gerenciador",
@@ -84,7 +90,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": "O WireGuard só pode ser usado por usuários que são membros do grupo incorporado {AdminGroupName}.",
+ "translation": "O WireGuard só pode ser usado por usuários membros do grupo interno {AdminGroupName}.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -100,7 +106,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": "O WireGuard está funcionando, mas a interface do usuário só é acessível em desktops do grupo incorporado {AdminGroupName}.",
+ "translation": "O WireGuard está em execução, mas a interface só é acessível a partir de áreas de trabalho do grupo interno {AdminGroupName}.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -116,7 +122,7 @@
{
"id": "WireGuard system tray icon did not appear after 30 seconds.",
"message": "WireGuard system tray icon did not appear after 30 seconds.",
- "translation": "O ícone do sistema da barra do WireGuard não apareceu após 30 segundos.",
+ "translation": "O ícone do WireGuard na bandeja do sistema não apareceu após 30 segundos.",
"translatorComment": "Copied from source."
},
{
@@ -128,7 +134,7 @@
{
"id": "System clock wound backward!",
"message": "System clock wound backward!",
- "translation": "Relógio do sistema voltou!",
+ "translation": "O relógio do sistema retrocedeu!",
"translatorComment": "Copied from source."
},
{
@@ -227,7 +233,7 @@
"msg": "{Minutes} minuto"
},
"other": {
- "msg": "{Minutes} minutes"
+ "msg": "{Minutes} minutos"
}
}
}
@@ -274,7 +280,7 @@
{
"id": "{Timestamp} ago",
"message": "{Timestamp} ago",
- "translation": "{Timestamp} atrás",
+ "translation": "há {Timestamp}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -392,27 +398,21 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Endereço IP inválido",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Comprimento do prefixo de rede inválido",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Endereço IP inválido:",
"translatorComment": "Copied from source."
},
{
"id": "Missing port from endpoint",
"message": "Missing port from endpoint",
- "translation": "Porta ausente do endpoint",
+ "translation": "Porta ausente no endpoint",
"translatorComment": "Copied from source."
},
{
"id": "Invalid endpoint host",
"message": "Invalid endpoint host",
- "translation": "Servidor de endpoint inválido",
+ "translation": "Host de endpoint inválido",
"translatorComment": "Copied from source."
},
{
@@ -458,26 +458,10 @@
{
"id": "Keys must decode to exactly 32 bytes",
"message": "Keys must decode to exactly 32 bytes",
- "translation": "Chaves devem decodificar exatamente para 32 bytes",
+ "translation": "As chaves devem decodificar para exatamente 32 bytes",
"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": "O número deve ser um número entre 0 e 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": "Duas vírgulas seguidas",
@@ -486,25 +470,25 @@
{
"id": "Tunnel name is not valid",
"message": "Tunnel name is not valid",
- "translation": "Nome do túnel não é válido",
+ "translation": "O nome do túnel não é válido",
"translatorComment": "Copied from source."
},
{
"id": "Line must occur in a section",
"message": "Line must occur in a section",
- "translation": "A linha deve ocorrer em uma seção",
+ "translation": "A linha deve estar dentro de uma seção",
"translatorComment": "Copied from source."
},
{
"id": "Config key is missing an equals separator",
"message": "Config key is missing an equals separator",
- "translation": "Chave de configuração está faltando um separador igual",
+ "translation": "A chave de configuração não tem um separador de igual",
"translatorComment": "Copied from source."
},
{
"id": "Key must have a value",
"message": "Key must have a value",
- "translation": "Chaves devem ter um valor",
+ "translation": "A chave deve ter um valor",
"translatorComment": "Copied from source."
},
{
@@ -538,39 +522,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Erro ao atualizar configuração",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Chave inválida para a seção da interface",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "A versão do protocolo deve ser 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Chave inválida para a seção do par",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -582,13 +542,13 @@
{
"id": "WireGuard logo image",
"message": "WireGuard logo image",
- "translation": "Imagem do logotipo WireGuard",
+ "translation": "Imagem do logotipo do WireGuard",
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Versão do app: {Number}\nVersão do backend: {WireGuardGoVersion}\nVersão Go: {Version_go}-{GOARCH}\nSistema Operacional: {OsName}\nArquitetura: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Versão do aplicativo: {Number}\nVersão do driver: {Version}\nVersão Go: {Version_go}\nSistema operacional: {OsName}\nArquitetura: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +560,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +576,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +600,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Doar!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Doar!",
"translatorComment": "Copied from source."
},
{
@@ -660,21 +612,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "Desativado",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Desativar",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Ativar",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Ativar",
"translatorComment": "Copied from source."
},
{
"id": "Public key:",
"message": "Public key:",
- "translation": "Chaves públicas:",
+ "translation": "Chave pública:",
"translatorComment": "Copied from source."
},
{
@@ -704,19 +656,24 @@
{
"id": "Scripts:",
"message": "Scripts:",
- "translation": "Scripts:",
+ "translation": ""
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabela:",
"translatorComment": "Copied from source."
},
{
"id": "Preshared key:",
"message": "Preshared key:",
- "translation": "Tecla Pressionada:",
+ "translation": "Chave pré-compartilhada:",
"translatorComment": "Copied from source."
},
{
"id": "Allowed IPs:",
"message": "Allowed IPs:",
- "translation": "IPs Permitidos:",
+ "translation": "IPs permitidos:",
"translatorComment": "Copied from source."
},
{
@@ -728,61 +685,67 @@
{
"id": "Persistent keepalive:",
"message": "Persistent keepalive:",
- "translation": "Mensagem persistente:",
+ "translation": "Keepalive persistente:",
"translatorComment": "Copied from source."
},
{
"id": "Latest handshake:",
"message": "Latest handshake:",
- "translation": "Shake mais recente:",
+ "translation": "Último handshake:",
"translatorComment": "Copied from source."
},
{
"id": "Transfer:",
"message": "Transfer:",
- "translation": "Transferir:",
+ "translation": "Transferência:",
"translatorComment": "Copied from source."
},
{
"id": "pre-up",
"message": "pre-up",
- "translation": "pré-cima",
+ "translation": "pré-ativação",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "postar",
+ "translation": "pós-ativação",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "pré-baixo",
+ "translation": "pré-desativação",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "pós-baixo",
+ "translation": "pós-desativação",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "desativada, por política",
+ "translation": "desativado, por política",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "desligado",
"translatorComment": "Copied from source."
},
{
"id": "enabled",
"message": "enabled",
- "translation": "habilitado",
+ "translation": "ativado",
"translatorComment": "Copied from source."
},
{
"id": "{String} received, {String_1} sent",
"message": "{String} received, {String_1} sent",
- "translation": "{String} recebido, {String_1} enviado",
+ "translation": "{String} recebidos, {String_1} enviados",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -818,7 +781,7 @@
{
"id": "Failed to deactivate tunnel",
"message": "Failed to deactivate tunnel",
- "translation": "Falha ao desativar o tunel",
+ "translation": "Falha ao desativar o túnel",
"translatorComment": "Copied from source."
},
{
@@ -840,13 +803,13 @@
{
"id": "Peer",
"message": "Peer",
- "translation": "Parceiros",
+ "translation": "Par",
"translatorComment": "Copied from source."
},
{
"id": "Create new tunnel",
"message": "Create new tunnel",
- "translation": "Criar túnel",
+ "translation": "Criar novo túnel",
"translatorComment": "Copied from source."
},
{
@@ -856,15 +819,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Nome:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Nome:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Chaves públicas:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "Chave \u0026pública:",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +837,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Bloquear tráfego sem tunelamento (kill-switch)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Bloquear tráfego fora do túnel (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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Quando uma configuração tem exatamente um par e esse par tem um IPs permitidos contendo pelo menos um dos 0.0.0. /0 ou ::/0, então o serviço de túnel envolve uma regra de firewall para bloquear todo o tráfego que não é de nem de um túnel ou está para o servidor DNS errado, com exceções especiais para DHCP e NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Quando uma configuração tem exatamente um par, e esse par tem IPs permitidos contendo pelo menos um dentre 0.0.0.0/0 ou ::/0, e a interface não está com table off, o serviço de túnel ativa um conjunto de regras de firewall para bloquear todo o tráfego que não seja de ou para a interface do túnel ou que seja para o servidor DNS errado, com exceções especiais para DHCP e NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Salvar",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Salvar",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +861,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Configuração:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Configuração:",
"translatorComment": "Copied from source."
},
{
@@ -912,13 +875,13 @@
{
"id": "A name is required.",
"message": "A name is required.",
- "translation": "Um nome é necessário.",
+ "translation": "Um nome é obrigatório.",
"translatorComment": "Copied from source."
},
{
"id": "Tunnel name ‘{NewName}’ is invalid.",
"message": "Tunnel name ‘{NewName}’ is invalid.",
- "translation": "O nome do túnel ‘{NewName}' é inválido.",
+ "translation": "O nome de túnel ‘{NewName}’ é inválido.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -934,13 +897,13 @@
{
"id": "Unable to list existing tunnels",
"message": "Unable to list existing tunnels",
- "translation": "Não foi possível listar túneis existentes",
+ "translation": "Não foi possível listar os túneis existentes",
"translatorComment": "Copied from source."
},
{
"id": "Tunnel already exists",
"message": "Tunnel already exists",
- "translation": "Arquivo já existe",
+ "translation": "O túnel já existe",
"translatorComment": "Copied from source."
},
{
@@ -962,19 +925,19 @@
{
"id": "Unable to create new configuration",
"message": "Unable to create new configuration",
- "translation": "Não é possível adicionar a configuração",
+ "translation": "Não foi possível criar a nova configuração",
"translatorComment": "Copied from source."
},
{
"id": "Writing file failed",
"message": "Writing file failed",
- "translation": "Falha ao escrever arquivo",
+ "translation": "Falha ao gravar o arquivo",
"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": "O arquivo '{FilePath}' já existe.\n\nVocê deseja sobrescrever isso?",
+ "translation": "O arquivo ‘{FilePath}’ já existe.\n\nDeseja sobrescrevê-lo?",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -996,7 +959,7 @@
{
"id": "Activating",
"message": "Activating",
- "translation": "Ativar",
+ "translation": "Ativando",
"translatorComment": "Copied from source."
},
{
@@ -1014,7 +977,7 @@
{
"id": "Unknown state",
"message": "Unknown state",
- "translation": "Situação desconhecida",
+ "translation": "Estado desconhecido",
"translatorComment": "Copied from source."
},
{
@@ -1024,33 +987,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Copiar",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Copiar",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Selecionar &Tudo",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Selecionar \u0026tudo",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Salvar em arquivo…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Salvar em arquivo…",
"translatorComment": "Copied from source."
},
{
"id": "Time",
"message": "Time",
- "translation": "Tempo",
+ "translation": "Hora",
"translatorComment": "Copied from source."
},
{
"id": "Log message",
"message": "Log message",
- "translation": "Registro de mensagens",
+ "translation": "Mensagem de registro",
"translatorComment": "Copied from source."
},
{
@@ -1062,13 +1025,13 @@
{
"id": "Export log to file",
"message": "Export log to file",
- "translation": "Exportar arquivo de log",
+ "translation": "Exportar registro para arquivo",
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&Sobre o WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Sobre o WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1080,7 +1043,7 @@
{
"id": "{ErrMsg}\n\nPlease consult the log for more information.",
"message": "{ErrMsg}\n\nPlease consult the log for more information.",
- "translation": "{ErrMsg}\n\nPor favor, consulte o log para obter mais informações.",
+ "translation": "{ErrMsg}\n\nConsulte o registro para obter mais informações.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1112,13 +1075,13 @@
{
"id": "WireGuard Detection Error",
"message": "WireGuard Detection Error",
- "translation": "Erro de Detecção do WireGuard",
+ "translation": "Erro de detecção do 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": "Não foi possível esperar a janela do WireGuard aparecer: {Err}",
+ "translation": "Não foi possível aguardar o aparecimento da janela do WireGuard: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1134,43 +1097,43 @@
{
"id": "WireGuard: Deactivated",
"message": "WireGuard: Deactivated",
- "translation": "WireGuard: Desativado",
+ "translation": "WireGuard: desativado",
"translatorComment": "Copied from source."
},
{
"id": "Status: Unknown",
"message": "Status: Unknown",
- "translation": "Status desconhecido",
+ "translation": "Status: desconhecido",
"translatorComment": "Copied from source."
},
{
"id": "Addresses: None",
"message": "Addresses: None",
- "translation": "Endereços: Nenhum",
+ "translation": "Endereços: nenhum",
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Gerenciar túneis…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Gerenciar túneis…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Importar túnel(s) do arquivo…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importar túneis de arquivo…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "Sai&r",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "Sai\u0026r",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Túneis",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Túneis",
"translatorComment": "Copied from source."
},
{
@@ -1198,7 +1161,7 @@
{
"id": "WireGuard Deactivated",
"message": "WireGuard Deactivated",
- "translation": "WireGuard: Desativado",
+ "translation": "WireGuard desativado",
"translatorComment": "Copied from source."
},
{
@@ -1220,7 +1183,7 @@
{
"id": "WireGuard Tunnel Error",
"message": "WireGuard Tunnel Error",
- "translation": "Erro no Túnel WireGuard",
+ "translation": "Erro de túnel do WireGuard",
"translatorComment": "Copied from source."
},
{
@@ -1286,7 +1249,7 @@
{
"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": "Uma atualização para o WireGuard está agora disponível. Recomenda-se atualizar o mais rápido possível.",
+ "translation": "Uma atualização para o WireGuard está disponível. Recomenda-se atualizar o mais rápido possível.",
"translatorComment": "Copied from source."
},
{
@@ -1296,21 +1259,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Editar",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Editar",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Adicionar &túnel vazio…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Adicionar túnel \u0026vazio…",
"translatorComment": "Copied from source."
},
{
"id": "Add Tunnel",
"message": "Add Tunnel",
- "translation": "Adicionar um túnel",
+ "translation": "Adicionar túnel",
"translatorComment": "Copied from source."
},
{
@@ -1326,27 +1289,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Alternancia",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Alternar",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Exportar todos os túneis para &zip…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Exportar todos os túneis para \u0026zip…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Editar &túnel selecionado…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Editar túnel \u0026selecionado…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Remover túneis selecionados",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Remover túneis selecionados",
"translatorComment": "Copied from source."
},
{
@@ -1372,18 +1335,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Não foi possível enumerar túneis existentes: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Não foi possível enumerar os túneis existentes: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1422,7 +1385,7 @@
{
"id": "Imported tunnels",
"message": "Imported tunnels",
- "translation": "Importados túneis",
+ "translation": "Túneis importados",
"translatorComment": "Copied from source."
},
{
@@ -1434,7 +1397,7 @@
"arg": "M",
"cases": {
"one": {
- "msg": "Túnel {M} importado"
+ "msg": "{M} túnel importado"
},
"other": {
"msg": "{M} túneis importados"
@@ -1462,10 +1425,10 @@
"arg": "N",
"cases": {
"one": {
- "msg": "Importados {M} dos {N} túneis"
+ "msg": "Importado {M} de {N} túnel"
},
"other": {
- "msg": "Importados {M} dos {N} túneis"
+ "msg": "Importados {M} de {N} túneis"
}
}
}
@@ -1492,7 +1455,7 @@
{
"id": "Unable to create tunnel",
"message": "Unable to create tunnel",
- "translation": "Não foi possível criar o túnel: %s",
+ "translation": "Não foi possível criar o túnel",
"translatorComment": "Copied from source."
},
{
@@ -1504,7 +1467,7 @@
"arg": "TunnelCount",
"cases": {
"one": {
- "msg": "Excluir túnel {TunnelCount}"
+ "msg": "Excluir {TunnelCount} túnel"
},
"other": {
"msg": "Excluir {TunnelCount} túneis"
@@ -1532,10 +1495,10 @@
"arg": "TunnelCount",
"cases": {
"one": {
- "msg": "Tem certeza que deseja excluir o túnel {TunnelCount}?"
+ "msg": "Tem certeza de que deseja excluir {TunnelCount} túnel?"
},
"other": {
- "msg": "Você tem certeza que deseja excluir os túneis {TunnelCount}?"
+ "msg": "Tem certeza de que deseja excluir {TunnelCount} túneis?"
}
}
}
@@ -1554,7 +1517,7 @@
{
"id": "Delete tunnel ‘{TunnelName}’",
"message": "Delete tunnel ‘{TunnelName}’",
- "translation": "Excluir túnel ‘{TunnelName}'",
+ "translation": "Excluir túnel ‘{TunnelName}’",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1570,7 +1533,7 @@
{
"id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
"message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
- "translation": "Tem certeza de que deseja excluir o túnel ‘{TunnelName}?",
+ "translation": "Tem certeza de que deseja excluir o túnel ‘{TunnelName}’?",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1586,7 +1549,7 @@
{
"id": "{Question} You cannot undo this action.",
"message": "{Question} You cannot undo this action.",
- "translation": "{Question} Você não pode desfazer essa ação.",
+ "translation": "{Question} Esta ação não pode ser desfeita.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1624,7 +1587,7 @@
{
"id": "Unable to delete tunnels",
"message": "Unable to delete tunnels",
- "translation": "Não foi possível excluir túneis",
+ "translation": "Não foi possível excluir os túneis",
"translatorComment": "Copied from source."
},
{
@@ -1636,10 +1599,10 @@
"arg": "Lenerrors",
"cases": {
"one": {
- "msg": "O túnel {Lenerrors} não pôde ser removido."
+ "msg": "Não foi possível remover {Lenerrors} túnel."
},
"other": {
- "msg": "{Lenerrors} túneis não puderam ser removidos."
+ "msg": "Não foi possível remover {Lenerrors} túneis."
}
}
}
@@ -1664,7 +1627,7 @@
{
"id": "Import tunnel(s) from file",
"message": "Import tunnel(s) from file",
- "translation": "Importar túnel(es) do arquivo",
+ "translation": "Importar túneis de arquivo",
"translatorComment": "Copied from source."
},
{
@@ -1682,7 +1645,7 @@
{
"id": "{Title} (unsigned build, no updates)",
"message": "{Title} (unsigned build, no updates)",
- "translation": "{Title} (versão não assinada, sem atualizações)",
+ "translation": "{Title} (compilação não assinada, sem atualizações)",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1704,7 +1667,7 @@
{
"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": "Não é possível sair do serviço devido a: {Err}. Você pode querer parar o WireGuard do gerenciador de serviços.",
+ "translation": "Não foi possível sair do serviço devido a: {Err}. Talvez seja necessário parar o WireGuard pelo gerenciador de serviços.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1720,13 +1683,13 @@
{
"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": "Uma atualização para o WireGuard está disponível. É altamente aconselhável atualizar sem demora.",
+ "translation": "Uma atualização para o WireGuard está disponível. É altamente recomendável atualizar sem demora.",
"translatorComment": "Copied from source."
},
{
"id": "Status: Waiting for user",
"message": "Status: Waiting for user",
- "translation": "Status: Aguardando o usuário",
+ "translation": "Status: aguardando o usuário",
"translatorComment": "Copied from source."
},
{
@@ -1736,15 +1699,27 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Solicite ao administrador do sistema para atualizar.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: aguardando o administrador",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
- "translation": "Estado: Aguardando o serviço do atualizador",
+ "translation": "Status: aguardando o serviço do atualizador",
"translatorComment": "Copied from source."
},
{
"id": "Error: {Err}. Please try again.",
"message": "Error: {Err}. Please try again.",
- "translation": "Erro: {Err}. Por favor, tente novamente.",
+ "translation": "Erro: {Err}. Tente novamente.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1760,88 +1735,8 @@
{
"id": "Status: Complete!",
"message": "Status: Complete!",
- "translation": "Status da tarefa: Concluída!",
+ "translation": "Status: concluído!",
"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}: falha ao decodificar o quadro recém-escrito",
- "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}: escreveu {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}: read {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: campo hpack decodificado {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/pt-PT/messages.gotext.json b/locales/pt-PT/messages.gotext.json
new file mode 100644
index 00000000..5d127936
--- /dev/null
+++ b/locales/pt-PT/messages.gotext.json
@@ -0,0 +1,1733 @@
+{
+ "language": "pt-PT",
+ "messages": [
+ {
+ "id": "Error",
+ "message": "Error",
+ "translation": "Erro",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Erro:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(no argument): elevate and install manager service",
+ "message": "(no argument): elevate and install manager service",
+ "translation": "(sem argumento): elevar e instalar o serviço gestor",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Usage: {Args0} [\n{String}]",
+ "message": "Usage: {Args0} [\n{String}]",
+ "translation": "Utilização: {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": "Opções da linha de comandos",
+ "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": "Não foi possível determinar se o processo está a ser executado em 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 native version of WireGuard on this computer.",
+ "message": "You must use the native version of WireGuard on this computer.",
+ "translation": "Tem de utilizar a versão nativa do WireGuard neste computador.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to open current process token: {Err}",
+ "message": "Unable to open current process token: {Err}",
+ "translation": "Não foi possível abrir o token do processo actual: {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": "O WireGuard só pode ser utilizado por utilizadores que sejam membros do grupo incorporado {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": "O WireGuard está em execução, mas a interface só está acessível a partir de ambientes de trabalho do grupo incorporado {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": "O ícone do WireGuard na barra de tarefas não apareceu após 30 segundos.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Now",
+ "message": "Now",
+ "translation": "Agora",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "System clock wound backward!",
+ "message": "System clock wound backward!",
+ "translation": "O relógio do sistema recuou!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Years} year(s)",
+ "message": "{Years} year(s)",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "Years",
+ "cases": {
+ "one": {
+ "msg": "{Years} ano"
+ },
+ "other": {
+ "msg": "{Years} anos"
+ }
+ }
+ }
+ },
+ "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} dia"
+ },
+ "other": {
+ "msg": "{Days} dias"
+ }
+ }
+ }
+ },
+ "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} hora"
+ },
+ "other": {
+ "msg": "{Hours} horas"
+ }
+ }
+ }
+ },
+ "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} minuto"
+ },
+ "other": {
+ "msg": "{Minutes} minutos"
+ }
+ }
+ }
+ },
+ "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} segundo"
+ },
+ "other": {
+ "msg": "{Seconds} segundos"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "Seconds",
+ "string": "%[1]d",
+ "type": "int64",
+ "underlyingType": "int64",
+ "argNum": 1,
+ "expr": "seconds"
+ }
+ ]
+ },
+ {
+ "id": "{Timestamp} ago",
+ "message": "{Timestamp} ago",
+ "translation": "há {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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "Endereço IP inválido:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Missing port from endpoint",
+ "message": "Missing port from endpoint",
+ "translation": "Porta em falta no endpoint",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid endpoint host",
+ "message": "Invalid endpoint host",
+ "translation": "Anfitrião do endpoint inválido",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Brackets must contain an IPv6 address",
+ "message": "Brackets must contain an IPv6 address",
+ "translation": "Os parênteses rectos devem conter um endereço IPv6",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid MTU",
+ "message": "Invalid MTU",
+ "translation": "MTU inválido",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid port",
+ "message": "Invalid port",
+ "translation": "Porta inválida",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid persistent keepalive",
+ "message": "Invalid persistent keepalive",
+ "translation": "Keepalive persistente inválido",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key: {Err}",
+ "message": "Invalid key: {Err}",
+ "translation": "Chave inválida: {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": "As chaves devem descodificar para exactamente 32 bytes",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Two commas in a row",
+ "message": "Two commas in a row",
+ "translation": "Duas vírgulas seguidas",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name is not valid",
+ "message": "Tunnel name is not valid",
+ "translation": "O nome do túnel não é válido",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Line must occur in a section",
+ "message": "Line must occur in a section",
+ "translation": "A linha deve estar dentro de uma secção",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Config key is missing an equals separator",
+ "message": "Config key is missing an equals separator",
+ "translation": "Falta um separador de igual à chave de configuração",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Key must have a value",
+ "message": "Key must have a value",
+ "translation": "A chave deve ter um valor",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Interface] section",
+ "message": "Invalid key for [Interface] section",
+ "translation": "Chave inválida para a secção [Interface]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Peer] section",
+ "message": "Invalid key for [Peer] section",
+ "translation": "Chave inválida para a secção [Peer]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An interface must have a private key",
+ "message": "An interface must have a private key",
+ "translation": "Uma interface deve ter uma chave privada",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "[none specified]",
+ "message": "[none specified]",
+ "translation": "[nenhum especificado]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "All peers must have public keys",
+ "message": "All peers must have public keys",
+ "translation": "Todos os peers devem ter chaves públicas",
+ "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": "Acerca do WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard logo image",
+ "message": "WireGuard logo image",
+ "translation": "Imagem do logótipo do WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Versão da aplicação: {Number}\nVersão do controlador: {Version}\nVersão do Go: {Version_go}\nSistema operativo: {OsName}\nArquitectura: {Arch}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "Version",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "driver.Version()"
+ },
+ {
+ "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": "Arch",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "version.Arch()"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "Fechar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Donativo!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": "Estado:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Desactivar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Activar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Public key:",
+ "message": "Public key:",
+ "translation": "Chave pública:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Listen port:",
+ "message": "Listen port:",
+ "translation": "Porta de escuta:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "MTU:",
+ "message": "MTU:",
+ "translation": ""
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "Endereços:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "Servidores DNS:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": ""
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabela:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Preshared key:",
+ "message": "Preshared key:",
+ "translation": "Chave pré-partilhada:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Allowed IPs:",
+ "message": "Allowed IPs:",
+ "translation": "IPs permitidos:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Endpoint:",
+ "message": "Endpoint:",
+ "translation": "Ponto final:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Persistent keepalive:",
+ "message": "Persistent keepalive:",
+ "translation": "Keepalive persistente:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Latest handshake:",
+ "message": "Latest handshake:",
+ "translation": "Último handshake:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Transfer:",
+ "message": "Transfer:",
+ "translation": "Transferência:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-up",
+ "message": "pre-up",
+ "translation": "pré-activação",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "pós-activação",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "pré-desactivação",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "pós-desactivação",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "desactivado, por política",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "desligado",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "enabled",
+ "message": "enabled",
+ "translation": "activado",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{String} received, {String_1} sent",
+ "message": "{String} received, {String_1} sent",
+ "translation": "{String} recebidos, {String_1} enviados",
+ "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": "Falha ao determinar o estado do túnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to activate tunnel",
+ "message": "Failed to activate tunnel",
+ "translation": "Falha ao activar o túnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Failed to deactivate tunnel",
+ "message": "Failed to deactivate tunnel",
+ "translation": "Falha ao desactivar o túnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Interface: {Name}",
+ "message": "Interface: {Name}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "config.Name"
+ }
+ ]
+ },
+ {
+ "id": "Peer",
+ "message": "Peer",
+ "translation": "Par",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Create new tunnel",
+ "message": "Create new tunnel",
+ "translation": "Criar novo túnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit tunnel",
+ "message": "Edit tunnel",
+ "translation": "Editar túnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Nome:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "Chave \u0026pública:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(desconhecido)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Bloquear tráfego fora do túnel (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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Quando uma configuração tem exactamente um peer e esse peer tem IPs permitidos que contêm pelo menos um de 0.0.0.0/0 ou ::/0, e a interface não tem table off, o serviço de túnel activa um conjunto de regras de firewall para bloquear todo o tráfego que não seja de ou para a interface do túnel ou que seja para o servidor DNS errado, com excepções especiais para DHCP e NDP.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Guardar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "Cancelar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Configuração:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid name",
+ "message": "Invalid name",
+ "translation": "Nome inválido",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A name is required.",
+ "message": "A name is required.",
+ "translation": "É necessário um nome.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel name ‘{NewName}’ is invalid.",
+ "message": "Tunnel name ‘{NewName}’ is invalid.",
+ "translation": "O nome de túnel ‘{NewName}’ é inválido.",
+ "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": "Não foi possível listar os túneis existentes",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel already exists",
+ "message": "Tunnel already exists",
+ "translation": "O túnel já existe",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{NewName}’.",
+ "message": "Another tunnel already exists with the name ‘{NewName}’.",
+ "translation": "Já existe outro túnel com o nome ‘{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": "Não foi possível criar a nova configuração",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Writing file failed",
+ "message": "Writing file failed",
+ "translation": "Falha ao gravar o ficheiro",
+ "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": "O ficheiro ‘{FilePath}’ já existe.\n\nDeseja substituí-lo?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "FilePath",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "filePath"
+ }
+ ]
+ },
+ {
+ "id": "Active",
+ "message": "Active",
+ "translation": "Activo",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Activating",
+ "message": "Activating",
+ "translation": "A activar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Inactive",
+ "message": "Inactive",
+ "translation": "Inactivo",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Deactivating",
+ "message": "Deactivating",
+ "translation": "A desactivar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unknown state",
+ "message": "Unknown state",
+ "translation": "Estado desconhecido",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log",
+ "message": "Log",
+ "translation": "Registo",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Copiar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Seleccionar \u0026tudo",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Guardar para ficheiro…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Time",
+ "message": "Time",
+ "translation": "Hora",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log message",
+ "message": "Log message",
+ "translation": "Mensagem de registo",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "translation": "Ficheiros de texto (*.txt)|*.txt|Todos os ficheiros (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export log to file",
+ "message": "Export log to file",
+ "translation": "Exportar registo para ficheiro",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Acerca do WireGuard…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel Error",
+ "message": "Tunnel Error",
+ "translation": "Erro de túnel",
+ "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\nConsulte o registo para obter mais informações.",
+ "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} (desactualizado)",
+ "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": "Erro de detecção do 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": "Não foi possível aguardar pelo aparecimento da janela do 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: desactivado",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Unknown",
+ "message": "Status: Unknown",
+ "translation": "Estado: desconhecido",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses: None",
+ "message": "Addresses: None",
+ "translation": "Endereços: nenhum",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Gerir túneis…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importar túneis a partir de ficheiro…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "Sai\u0026r",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Túneis",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Activated",
+ "message": "WireGuard Activated",
+ "translation": "WireGuard activado",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been activated.",
+ "message": "The {Name} tunnel has been activated.",
+ "translation": "O túnel {Name} foi activado.",
+ "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 desactivado",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been deactivated.",
+ "message": "The {Name} tunnel has been deactivated.",
+ "translation": "O túnel {Name} foi desactivado.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "Erro de túnel do WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "TextForStateglobalState_true",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "textForState(globalState, true)"
+ }
+ ]
+ },
+ {
+ "id": "Status: {StateText}",
+ "message": "Status: {StateText}",
+ "translation": "Estado: {StateText}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "StateText",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "stateText"
+ }
+ ]
+ },
+ {
+ "id": "Addresses: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "Endereços: {EnumerationSeparator}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "EnumerationSeparator",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
+ }
+ ]
+ },
+ {
+ "id": "An Update is Available!",
+ "message": "An Update is Available!",
+ "translation": "Está disponível uma actualização!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Update Available",
+ "message": "WireGuard Update Available",
+ "translation": "Actualização do WireGuard disponível",
+ "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": "Está agora disponível uma actualização para o WireGuard. Recomenda-se que actualize o mais cedo possível.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnels",
+ "message": "Tunnels",
+ "translation": "Túneis",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Editar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Adicionar túnel \u0026vazio…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add Tunnel",
+ "message": "Add Tunnel",
+ "translation": "Adicionar túnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Remove selected tunnel(s)",
+ "message": "Remove selected tunnel(s)",
+ "translation": "Remover os túneis seleccionados",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to zip",
+ "message": "Export all tunnels to zip",
+ "translation": "Exportar todos os túneis para zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Alternar",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Exportar todos os túneis para \u0026zip…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Editar túnel \u0026seleccionado…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Remover os túneis seleccionados",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "translation": "não foram encontrados ficheiros de configuração",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Could not import selected configuration: {LastErr}",
+ "message": "Could not import selected configuration: {LastErr}",
+ "translation": "Não foi possível importar a configuração seleccionada: {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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Não foi possível enumerar os túneis existentes: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{Name}’",
+ "message": "Another tunnel already exists with the name ‘{Name}’",
+ "translation": "Já existe outro túnel com o nome ‘{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": "Não foi possível importar a configuração: {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": "Túneis importados",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Imported {M} tunnels",
+ "message": "Imported {M} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "M",
+ "cases": {
+ "one": {
+ "msg": "{M} túnel importado"
+ },
+ "other": {
+ "msg": "{M} túneis importados"
+ }
+ }
+ }
+ },
+ "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": "Importado {M} de {N} túnel"
+ },
+ "other": {
+ "msg": "Importados {M} de {N} túneis"
+ }
+ }
+ }
+ },
+ "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": "Não foi possível criar o túnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Delete {TunnelCount} tunnels",
+ "message": "Delete {TunnelCount} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "one": {
+ "msg": "Eliminar {TunnelCount} túnel"
+ },
+ "other": {
+ "msg": "Eliminar {TunnelCount} túneis"
+ }
+ }
+ }
+ },
+ "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": "Tem a certeza de que pretende eliminar {TunnelCount} túnel?"
+ },
+ "other": {
+ "msg": "Tem a certeza de que pretende eliminar {TunnelCount} túneis?"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Delete tunnel ‘{TunnelName}’",
+ "message": "Delete tunnel ‘{TunnelName}’",
+ "translation": "Eliminar o túnel ‘{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": "Tem a certeza de que pretende eliminar o túnel ‘{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} Não é possível anular esta ação.",
+ "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": "Não foi possível eliminar o túnel",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A tunnel was unable to be removed: {Error}",
+ "message": "A tunnel was unable to be removed: {Error}",
+ "translation": "Não foi possível remover um túnel: {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": "Não foi possível eliminar os túneis",
+ "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": "Não foi possível remover {Lenerrors} túnel."
+ },
+ "other": {
+ "msg": "Não foi possível remover {Lenerrors} túneis."
+ }
+ }
+ }
+ },
+ "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": "Ficheiros de configuração (*.zip, *.conf)|*.zip;*.conf|Todos os ficheiros (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Import tunnel(s) from file",
+ "message": "Import tunnel(s) from file",
+ "translation": "Importar túneis a partir de ficheiro",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Configuration ZIP Files (*.zip)|*.zip",
+ "message": "Configuration ZIP Files (*.zip)|*.zip",
+ "translation": "Ficheiros ZIP de configuração (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "Exportar túneis para zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (compilação não assinada, sem actualizações)",
+ "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": "Erro ao sair do 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": "Não foi possível sair do serviço devido a: {Err}. Poderá pretender parar o WireGuard a partir do gestor de serviços.",
+ "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": "Está disponível uma actualização para o WireGuard. É altamente recomendável actualizar sem demora.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for user",
+ "message": "Status: Waiting for user",
+ "translation": "Estado: a aguardar pelo utilizador",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Update Now",
+ "message": "Update Now",
+ "translation": "Actualizar agora",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Solicite ao administrador do sistema para actualizar.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Estado: a aguardar pelo administrador",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "Estado: a aguardar pelo serviço de actualização",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error: {Err}. Please try again.",
+ "message": "Error: {Err}. Please try again.",
+ "translation": "Erro: {Err}. Tente novamente.",
+ "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": "Estado: concluído!",
+ "translatorComment": "Copied from source."
+ }
+ ]
+} \ No newline at end of file
diff --git a/locales/ro/messages.gotext.json b/locales/ro/messages.gotext.json
index 56a96a63..f77d5d01 100644
--- a/locales/ro/messages.gotext.json
+++ b/locales/ro/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Eroare:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(fără argument): obținere drept administrativ și instalare serviciu de gestionare",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Trebuie să utilizezi versiunea nativă a WireGuard pe acest calculator.",
+ "translation": "Pe acest calculator trebuie să utilizezi versiunea nativă a WireGuard.",
"translatorComment": "Copied from source."
},
{
@@ -139,12 +145,12 @@
"feature": "plural",
"arg": "Years",
"cases": {
- "one": {
- "msg": "{Years} an"
- },
"few": {
"msg": "{Years} ani"
},
+ "one": {
+ "msg": "{Years} an"
+ },
"other": {
"msg": "{Years} de ani"
}
@@ -170,12 +176,12 @@
"feature": "plural",
"arg": "Days",
"cases": {
- "one": {
- "msg": "{Days} zi"
- },
"few": {
"msg": "{Days} zile"
},
+ "one": {
+ "msg": "{Days} zi"
+ },
"other": {
"msg": "{Days} de zile"
}
@@ -201,12 +207,12 @@
"feature": "plural",
"arg": "Hours",
"cases": {
- "one": {
- "msg": "{Hours} oră"
- },
"few": {
"msg": "{Hours} ore"
},
+ "one": {
+ "msg": "{Hours} oră"
+ },
"other": {
"msg": "{Hours} de ore"
}
@@ -232,12 +238,12 @@
"feature": "plural",
"arg": "Minutes",
"cases": {
- "one": {
- "msg": "{Minutes} minut"
- },
"few": {
"msg": "{Minutes} minute"
},
+ "one": {
+ "msg": "{Minutes} minut"
+ },
"other": {
"msg": "{Minutes} de minute"
}
@@ -263,12 +269,12 @@
"feature": "plural",
"arg": "Seconds",
"cases": {
- "one": {
- "msg": "{Seconds} secundă"
- },
"few": {
"msg": "{Seconds} secunde"
},
+ "one": {
+ "msg": "{Seconds} secundă"
+ },
"other": {
"msg": "{Seconds} de secunde"
}
@@ -407,15 +413,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Adresă IP invalidă",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Lungimea prefixului de rețea este invalidă",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Adresă IP invalidă:",
"translatorComment": "Copied from source."
},
{
@@ -477,22 +477,6 @@
"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": "Numărul trebuie să fie cuprins între 0 și 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": "Două virgule una după cealaltă",
@@ -553,39 +537,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Eroare la obținerea configurației",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Cheie invalidă pentru secțiunea interfeței",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Versiunea de protocol trebuie să fie 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Cheie invalidă pentru secțiunea perechii",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -601,9 +561,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Versiunea aplicației: {Number}\nVersiunea bibliotecii Go: {WireGuardGoVersion}\nVersiunea Go: {Version_go}-{GOARCH}\nSistem de operare: {OsName}\nArhitectură: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Versiunea aplicației: {Number}\nVersiunea driverului: {Version}\nVersiunea Go: {Version_go}\nSistem de operare: {OsName}\nArhitectură: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -615,12 +575,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -631,28 +591,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -663,9 +615,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Donează!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Donează!",
"translatorComment": "Copied from source."
},
{
@@ -675,15 +627,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Dezactivare",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Dezactivare",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Activare",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Activare",
"translatorComment": "Copied from source."
},
{
@@ -723,6 +675,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabel:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Cheie predistribuită:",
@@ -761,25 +719,25 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "pre-pornire",
+ "translation": "pre-activare",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "post-pornire",
+ "translation": "post-activare",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "pre-oprire",
+ "translation": "pre-dezactivare",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "post-oprire",
+ "translation": "post-dezactivare",
"translatorComment": "Copied from source."
},
{
@@ -789,6 +747,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "off",
+ "message": "off",
+ "translation": "oprit",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "enabled",
"message": "enabled",
"translation": "activată",
@@ -871,15 +835,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Nume:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Nume:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "Cheie &publică:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "Cheie \u0026publică:",
"translatorComment": "Copied from source."
},
{
@@ -889,21 +853,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Blochează traficul care nu trece prin tunel (întrerupător de activitate)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blochează traficul care nu trece prin tunel (întrerupător de activitate)",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Când o configurație conține exact o pereche, iar acea pereche are IP-uri permise care conțin cel puțin o variantă dintre 0.0.0.0/0 sau ::/0, atunci serviciul tunelului activează un set de reguli al paravanului de protecție pentru a bloca întregul trafic care nu provine de la interfața tunelului sau care este direcționat către serverul DNS greșit, existând excepții speciale pentru DHCP și NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Când o configurație conține exact o pereche, iar acea pereche are IP-uri permise care conțin cel puțin o variantă dintre 0.0.0.0/0 sau ::/0, iar interfața nu are table off, atunci serviciul tunelului activează un set de reguli al paravanului de protecție pentru a bloca întregul trafic care nu provine de la interfața tunelului, nu este destinat acesteia sau este îndreptat către un server DNS greșit, existând excepții speciale pentru DHCP și NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Salvare",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Salvare",
"translatorComment": "Copied from source."
},
{
@@ -913,9 +877,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Configurație:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Configurație:",
"translatorComment": "Copied from source."
},
{
@@ -1039,21 +1003,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Copiere",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Copiere",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Selectare &totală",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Selectare \u0026totală",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Salvare în fișier…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Salvare în fișier…",
"translatorComment": "Copied from source."
},
{
@@ -1081,9 +1045,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&Despre WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Despre WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1165,27 +1129,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Gestionare tuneluri…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Gestionare tuneluri…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Importare tunel(uri) din fișier…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importare tunel(uri) din fișier…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "Ie&șire",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "Ie\u0026șire",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tuneluri",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tuneluri",
"translatorComment": "Copied from source."
},
{
@@ -1311,15 +1275,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Editare",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Editare",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Adăugare tunel &gol…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Adăugare tunel \u0026gol…",
"translatorComment": "Copied from source."
},
{
@@ -1341,27 +1305,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Comutare",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Comutare",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Exportă toate tunelurile în &zip…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Exportă toate tunelurile în \u0026zip…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Editare tunel &selectat…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Editare tunel \u0026selectat…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Eliminare tunel(uri) selectat(e)",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Eliminare tunel(uri) selectat(e)",
"translatorComment": "Copied from source."
},
{
@@ -1387,18 +1351,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Tunelurile existente nu au putut fi enumerate: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Tunelurile existente nu au putut fi enumerate: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1448,12 +1412,12 @@
"feature": "plural",
"arg": "M",
"cases": {
- "one": {
- "msg": "Importat {M} tunel"
- },
"few": {
"msg": "Importat {M} tuneluri"
},
+ "one": {
+ "msg": "Importat {M} tunel"
+ },
"other": {
"msg": "Importat {M} de tuneluri"
}
@@ -1479,12 +1443,12 @@
"feature": "plural",
"arg": "N",
"cases": {
- "one": {
- "msg": "Importat {M} din {N} tunel"
- },
"few": {
"msg": "Importat {M} din {N} tuneluri"
},
+ "one": {
+ "msg": "Importat {M} din {N} tunel"
+ },
"other": {
"msg": "Importat {M} din {N} de tuneluri"
}
@@ -1524,12 +1488,12 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Ștergere {TunnelCount} tunel"
- },
"few": {
"msg": "Ștergere {TunnelCount} tuneluri"
},
+ "one": {
+ "msg": "Ștergere {TunnelCount} tunel"
+ },
"other": {
"msg": "Ștergere {TunnelCount} de tuneluri"
}
@@ -1555,12 +1519,12 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Ești sigur că dorești să ștergi {TunnelCount} tunel?"
- },
"few": {
"msg": "Ești sigur că dorești să ștergi {TunnelCount} tuneluri?"
},
+ "one": {
+ "msg": "Ești sigur că dorești să ștergi {TunnelCount} tunel?"
+ },
"other": {
"msg": "Ești sigur că dorești să ștergi {TunnelCount} de tuneluri?"
}
@@ -1662,12 +1626,12 @@
"feature": "plural",
"arg": "Lenerrors",
"cases": {
- "one": {
- "msg": "{Lenerrors} tunel nu a putut fi eliminat."
- },
"few": {
"msg": "{Lenerrors} tuneluri nu au putut fi eliminate."
},
+ "one": {
+ "msg": "{Lenerrors} tunel nu a putut fi eliminat."
+ },
"other": {
"msg": "{Lenerrors} de tuneluri nu au putut fi eliminate."
}
@@ -1766,6 +1730,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Solicită administratorului de sistem să efectueze actualizarea.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Stare: se așteaptă administratorul",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Stare: se așteaptă serviciul de actualizare",
@@ -1792,86 +1768,6 @@
"message": "Status: Complete!",
"translation": "Stare: finalizată!",
"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}: decodificarea cadrului recent scris a eșuat",
- "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}: a scris {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}: a citit {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: câmp hpack decodificat {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/ru/messages.gotext.json b/locales/ru/messages.gotext.json
index 140869d2..0077fc02 100644
--- a/locales/ru/messages.gotext.json
+++ b/locales/ru/messages.gotext.json
@@ -4,7 +4,13 @@
{
"id": "Error",
"message": "Error",
- "translation": "Алдаа",
+ "translation": "Ошибка",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Ошибка:",
"translatorComment": "Copied from source."
},
{
@@ -16,7 +22,7 @@
{
"id": "Usage: {Args0} [\n{String}]",
"message": "Usage: {Args0} [\n{String}]",
- "translation": "Хэрэглээ: {Args0} [\n{String}]",
+ "translation": "Использование: {Args0} [\n{String}]",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -40,13 +46,13 @@
{
"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": "Процесс ажиллаж байгаа эсэхийг тодорхойлох боломжгүй байна\n WOW64: {Err}",
+ "translation": "Не удалось определить, работает ли процесс под WOW64: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -62,13 +68,13 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Та энэ компьютер дээр WireGuard-ийн эх хувилбарыг ашиглах ёстой.",
+ "translation": "На этом компьютере необходимо использовать собственную версию 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": [
{
@@ -116,19 +122,19 @@
{
"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."
},
{
@@ -139,15 +145,15 @@
"feature": "plural",
"arg": "Years",
"cases": {
- "one": {
- "msg": "{Years} год"
- },
"few": {
"msg": "{Years} года"
},
"many": {
"msg": "{Years} лет"
},
+ "one": {
+ "msg": "{Years} год"
+ },
"other": {
"msg": "{Years} лет"
}
@@ -173,15 +179,15 @@
"feature": "plural",
"arg": "Days",
"cases": {
- "one": {
- "msg": "{Days} день"
- },
"few": {
"msg": "{Days} дня"
},
"many": {
"msg": "{Days} дней"
},
+ "one": {
+ "msg": "{Days} день"
+ },
"other": {
"msg": "{Days} дней"
}
@@ -207,15 +213,15 @@
"feature": "plural",
"arg": "Hours",
"cases": {
- "one": {
- "msg": "{Hours} час"
- },
"few": {
"msg": "{Hours} часа"
},
"many": {
"msg": "{Hours} часов"
},
+ "one": {
+ "msg": "{Hours} час"
+ },
"other": {
"msg": "{Hours} часов"
}
@@ -241,15 +247,15 @@
"feature": "plural",
"arg": "Minutes",
"cases": {
- "one": {
- "msg": "{Minutes} минута"
- },
"few": {
"msg": "{Minutes} минуты"
},
"many": {
"msg": "{Minutes} минут"
},
+ "one": {
+ "msg": "{Minutes} минута"
+ },
"other": {
"msg": "{Minutes} минут"
}
@@ -275,15 +281,15 @@
"feature": "plural",
"arg": "Seconds",
"cases": {
- "one": {
- "msg": "{Seconds} секунда"
- },
"few": {
"msg": "{Seconds} секунды"
},
"many": {
"msg": "{Seconds} секунд"
},
+ "one": {
+ "msg": "{Seconds} секунда"
+ },
"other": {
"msg": "{Seconds} секунд"
}
@@ -422,15 +428,9 @@
]
},
{
- "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": "Недопустимая длина префикса сети",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Недопустимый IP-адрес:",
"translatorComment": "Copied from source."
},
{
@@ -492,22 +492,6 @@
"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": "Две запятые подряд",
@@ -564,43 +548,19 @@
{
"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": "Недействительный ключ для секции пира",
+ "translation": "Все пиры должны иметь открытые ключи",
"translatorComment": "Copied from source."
},
{
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -616,9 +576,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Версия приложения: {Number}\nВерсия Go-бэкенда: {WireGuardGoVersion}\nВерсия Go: {Version_go}-{GOARCH}\nОперационная система: {OsName}\nАрхитектура: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Версия приложения: {Number}\nВерсия драйвера: {Version}\nВерсия Go: {Version_go}\nОперационная система: {OsName}\nАрхитектура: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -630,12 +590,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -646,28 +606,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -678,9 +630,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Пожертвовать!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Пожертвовать!",
"translatorComment": "Copied from source."
},
{
@@ -690,21 +642,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Отключить",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Отключить",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Подключить",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Подключить",
"translatorComment": "Copied from source."
},
{
"id": "Public key:",
"message": "Public key:",
- "translation": "Публичный ключ:",
+ "translation": "Открытый ключ:",
"translatorComment": "Copied from source."
},
{
@@ -734,7 +686,13 @@
{
"id": "Scripts:",
"message": "Scripts:",
- "translation": "Скрипты:",
+ "translation": "Сценарии:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Таблица:",
"translatorComment": "Copied from source."
},
{
@@ -776,7 +734,7 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "перед подключением",
+ "translation": "до подключения",
"translatorComment": "Copied from source."
},
{
@@ -788,7 +746,7 @@
{
"id": "pre-down",
"message": "pre-down",
- "translation": "перед отключением",
+ "translation": "до отключения",
"translatorComment": "Copied from source."
},
{
@@ -800,7 +758,13 @@
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "отключено, по политике",
+ "translation": "отключено политикой",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "выкл.",
"translatorComment": "Copied from source."
},
{
@@ -886,15 +850,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Имя:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Имя:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Публичный ключ:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Открытый ключ:",
"translatorComment": "Copied from source."
},
{
@@ -904,21 +868,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Блокировать трафик, идущий мимо туннеля (kill-switch)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Блокировать трафик, идущий мимо туннеля (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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Если конфигурация имеет ровно один пир, а этот пир имеет разрешенные IP, содержащие хотя бы один из 0.0.0.0/0 или ::/0, то туннельный сервис использует набор правил брандмауэра для блокирования всего трафика, который не проходит через туннель или к неверным DNS-серверам, за исключением DHCP и NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Если конфигурация имеет ровно один пир, а этот пир имеет разрешенные IP, содержащие хотя бы один из 0.0.0.0/0 или ::/0, и для интерфейса не задано table off, то туннельный сервис использует набор правил брандмауэра для блокирования всего трафика, который не проходит через туннель или направлен к неверному DNS-серверу, за исключением DHCP и NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Сохранить",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Сохранить",
"translatorComment": "Copied from source."
},
{
@@ -928,9 +892,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Конфигурация:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Конфигурация:",
"translatorComment": "Copied from source."
},
{
@@ -1054,21 +1018,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Копировать",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Копировать",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Выбрать &все",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Выбрать \u0026все",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Сохранить в файл…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Сохранить в файл…",
"translatorComment": "Copied from source."
},
{
@@ -1096,9 +1060,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&О WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026О WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1180,27 +1144,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Управление туннелями…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Управление туннелями…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Импорт туннелей из файла…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Импорт туннелей из файла…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "Вы&ход",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "Вы\u0026ход",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Туннели",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Туннели",
"translatorComment": "Copied from source."
},
{
@@ -1326,15 +1290,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Редактировать",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Редактировать",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Добавить &пустой туннель…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Добавить \u0026пустой туннель…",
"translatorComment": "Copied from source."
},
{
@@ -1356,33 +1320,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Переключить",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Переключить",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Экспорт всех туннелей в &zip-архив…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Экспорт всех туннелей в \u0026zip-архив…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Редактировать &выбранный туннель…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Редактировать \u0026выбранный туннель…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Удалить выбранные туннели",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Удалить выбранные туннели",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "файлы конфигурации не были найдены",
+ "translation": "файлы конфигурации не найдены",
"translatorComment": "Copied from source."
},
{
@@ -1402,18 +1366,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Не удалось перечислить существующие туннели: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Не удалось получить список существующих туннелей: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1463,15 +1427,15 @@
"feature": "plural",
"arg": "M",
"cases": {
- "one": {
- "msg": "Импортирован {M} туннель"
- },
"few": {
"msg": "Импортированы {M} туннеля"
},
"many": {
"msg": "Импортировано {M} туннелей"
},
+ "one": {
+ "msg": "Импортирован {M} туннель"
+ },
"other": {
"msg": "Импортировано {M} туннелей"
}
@@ -1497,15 +1461,15 @@
"feature": "plural",
"arg": "N",
"cases": {
- "one": {
- "msg": "Импортирован {M} из {N} туннелей"
- },
"few": {
"msg": "Импортированы {M} из {N} туннелей"
},
"many": {
"msg": "Импортировано {M} из {N} туннелей"
},
+ "one": {
+ "msg": "Импортирован {M} из {N} туннелей"
+ },
"other": {
"msg": "Импортировано {M} из {N} туннелей"
}
@@ -1545,15 +1509,15 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Удалить {TunnelCount} туннель"
- },
"few": {
"msg": "Удалить {TunnelCount} туннеля"
},
"many": {
"msg": "Удалить {TunnelCount} туннелей"
},
+ "one": {
+ "msg": "Удалить {TunnelCount} туннель"
+ },
"other": {
"msg": "Удалить {TunnelCount} туннелей"
}
@@ -1579,15 +1543,15 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Вы уверены, что хотите удалить {TunnelCount} туннель?"
- },
"few": {
"msg": "Вы уверены, что хотите удалить {TunnelCount} туннеля?"
},
"many": {
"msg": "Вы уверены, что хотите удалить {TunnelCount} туннелей?"
},
+ "one": {
+ "msg": "Вы уверены, что хотите удалить {TunnelCount} туннель?"
+ },
"other": {
"msg": "Вы уверены, что хотите удалить {TunnelCount} туннелей?"
}
@@ -1689,15 +1653,15 @@
"feature": "plural",
"arg": "Lenerrors",
"cases": {
- "one": {
- "msg": "{Lenerrors} туннель не удалось удалить."
- },
"few": {
"msg": "{Lenerrors} туннеля не удалось удалить."
},
"many": {
"msg": "{Lenerrors} туннелей не удалось удалить."
},
+ "one": {
+ "msg": "{Lenerrors} туннель не удалось удалить."
+ },
"other": {
"msg": "{Lenerrors} туннелей не удалось удалить."
}
@@ -1796,6 +1760,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Обратитесь к системному администратору для обновления.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Статус: ожидание администратора",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Статус: ожидание обновления",
@@ -1822,86 +1798,6 @@
"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/si-LK/messages.gotext.json b/locales/si-LK/messages.gotext.json
index 639aafec..fea70a5b 100644
--- a/locales/si-LK/messages.gotext.json
+++ b/locales/si-LK/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "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": "(තර්කයක් නැත): කළමනාකරු සේවාව ඉහළ නැංවීම සහ ස්ථාපනය කිරීම",
@@ -392,15 +398,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "අ.ජා.කෙ. වලංගු නොවේ",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "වලංගු නොවන ජාල උපසර්ග දිග",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "වලංගු නොවන අ.ජා.කෙ. ලිපිනය:",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +462,6 @@
"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": "පේළියකට අල්පවිරාම දෙකක්",
@@ -538,39 +522,15 @@
"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": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -586,9 +546,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "යෙදුම් අනුවාදය: {Number}\nGo backend අනුවාදය: {WireGuardGoVersion}\nGo අනුවාදය: {Version_go}-{GOARCH}\nමෙහෙයුම් පද්ධතිය: {OsName}\nගෘහ නිර්මාණ ශිල්පය: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "යෙදුම් අනුවාදය: {Number}\nධාවක අනුවාදය: {Version}\nGo අනුවාදය: {Version_go}\nමෙහෙයුම් පද්ධතිය: {OsName}\nගෘහ නිර්මාණ ශිල්පය: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +560,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +576,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +600,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &පරිත්‍යාග!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026පරිත්‍යාග!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +612,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&අක්‍රිය කරන්න",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026අක්‍රිය කරන්න",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&සක්රිය කරන්න",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026සක්රිය කරන්න",
"translatorComment": "Copied from source."
},
{
@@ -708,6 +660,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "වගුව:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "පෙර බෙදාගත් යතුර:",
@@ -746,31 +704,37 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "පූර්ව-අප්",
+ "translation": "සම්බන්ධතාවට පෙර",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "පශ්චාත්-අප්",
+ "translation": "සම්බන්ධතාවෙන් පසු",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "පෙර-පහළට",
+ "translation": "විසන්ධියට පෙර",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "පශ්චාත්-පහළ",
+ "translation": "විසන්ධියෙන් පසු",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "ආබාධිත, ප්රතිපත්තිය අනුව",
+ "translation": "ප්‍රතිපත්ති අනුව අබල කර ඇත",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "අක්‍රියයි",
"translatorComment": "Copied from source."
},
{
@@ -856,15 +820,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&නම:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026නම:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&පොදු යතුර:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026පොදු යතුර:",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +838,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&උමං මාර්ග රහිත ගමනාගමනය අවහිර කරන්න (මරන්න-ස්විච්)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026උමං මාර්ග රහිත ගමනාගමනය අවහිර කරන්න (මරන්න-ස්විච්)",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "වින්‍යාසයකට හරියටම එක් මිතුරෙකු සිටින විට සහ එම සම වයසේ මිතුරෙකුට අවම වශයෙන් 0.0.0.0/0 හෝ ::/0 න් එකක් අඩංගු අවසර ලත් IPs තිබේ නම්, එවිට උමං සේවාව ෆයර්වෝල් නීති පද්ධතියක් සමඟ සම්බන්ධ වන අතර එමඟින් එම ස්ථානයට හෝ ඉන් පිටතට නොවන සියලුම ගමනාගමනය අවහිර කරයි. DHCP සහ NDP සඳහා විශේෂ ව්‍යතිරේක සහිතව උමං අතුරුමුහුණත හෝ වැරදි DNS සේවාදායකය වෙත වේ.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "වින්‍යාසයකට හරියටම එක් සම වයසේ මිතුරෙකු සිටින විට සහ එම සම වයසේ මිතුරාට 0.0.0.0/0 හෝ ::/0 න් අවම වශයෙන් එකක් අඩංගු ඉඩදුන් අ.ජා.කෙ. තිබේ නම් සහ අතුරුමුහුණතේ table off විකල්පය සකසා නැත්නම්, උමං සේවාව DHCP සහ NDP සඳහා විශේෂ ව්‍යතිරේක සහිතව, උමං අතුරුමුහුණතට හෝ එයින් නොවන හෝ වැරදි ව.නා.ප. සේවාදායකයකට යන සියලු ගමනාගමනය අවහිර කිරීමට ෆයර්වෝල් රීති සමුදායක් යොදවයි.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&සුරකින්න",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026සුරකින්න",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +862,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&වින්‍යාසය:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026වින්‍යාසය:",
"translatorComment": "Copied from source."
},
{
@@ -1024,21 +988,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&පිටපතක්",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026පිටපතක්",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "&සියල්ල තෝරන්න",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "\u0026සියල්ල තෝරන්න",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&ගොනුවකට සුරකින්න…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026ගොනුවකට සුරකින්න…",
"translatorComment": "Copied from source."
},
{
@@ -1066,9 +1030,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&වයර්ගාඩ් ගැන…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026වයර්ගාඩ් ගැන…",
"translatorComment": "Copied from source."
},
{
@@ -1150,27 +1114,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&උමං…කළමනාකරණය කරන්න",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026උමං…කළමනාකරණය කරන්න",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "…ගොනුවෙන් උමං(ය) &ආයාත කරන්න",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "…ගොනුවෙන් උමං(ය) \u0026ආයාත කරන්න",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "පි&ටවන්න",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "පි\u0026ටවන්න",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&උමං මාර්ග",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "උමං මාර්ග (\u0026T)",
"translatorComment": "Copied from source."
},
{
@@ -1224,6 +1188,21 @@
"translatorComment": "Copied from source."
},
{
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "",
+ "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}",
@@ -1280,14 +1259,14 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&සංස්කරණය",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026සංස්කරණය",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
"translation": "හිස් උමං…එකතු කරන්න",
"translatorComment": "Copied from source."
},
@@ -1310,33 +1289,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&ටොගල් කරන්න",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026ටොගල් කරන්න",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "සියලුම උමං &zip…වෙත අපනයනය කරන්න",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "සියලුම උමං \u0026zip…වෙත අපනයනය කරන්න",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "සංස්කරණය &තෝරාගත් උමග…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "සංස්කරණය \u0026තෝරාගත් උමග…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&තෝරාගත් උමං(ය) ඉවත් කරන්න",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026තෝරාගත් උමං(ය) ඉවත් කරන්න",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "වින්‍යාස ගොනු කිසිවක් හමු නොවිණි",
+ "translation": "වින්‍යාස ගොනු කිසිවක් හමු නොවීය",
"translatorComment": "Copied from source."
},
{
@@ -1356,18 +1335,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "පවතින උමං මාර්ග ගණනය කළ නොහැක: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "පවතින උමං ගණනය කළ නොහැකි විය: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1720,6 +1699,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "කරුණාකර යාවත්කාලීන කිරීමට පද්ධති පරිපාලකගෙන් ඉල්ලා සිටින්න.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "තත්‍වය: පරිපාලක සඳහා රැඳෙමින්",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "තත්‍වය: යාවත්කාල සේවාව සඳහා රැඳෙමින්",
@@ -1746,86 +1737,6 @@
"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: රාමු {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/locales/sk/messages.gotext.json b/locales/sk/messages.gotext.json
index 0591c0ae..395b11bb 100644
--- a/locales/sk/messages.gotext.json
+++ b/locales/sk/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Chyba:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(bez argumentu): získať administrátorské práva a nainštalovať službu manažéra",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "V tomto počítači musíte používať pôvodnú verziu programu WireGuard.",
+ "translation": "Na tomto počítači musíte používať natívnu verziu programu WireGuard.",
"translatorComment": "Copied from source."
},
{
@@ -139,15 +145,15 @@
"feature": "plural",
"arg": "Years",
"cases": {
- "one": {
- "msg": "{Years} rok"
- },
"few": {
"msg": "{Years} roky"
},
"many": {
"msg": "{Years} rokov"
},
+ "one": {
+ "msg": "{Years} rok"
+ },
"other": {
"msg": "{Years} rokov"
}
@@ -173,15 +179,15 @@
"feature": "plural",
"arg": "Days",
"cases": {
- "one": {
- "msg": "{Days} deň"
- },
"few": {
"msg": "{Days} dni"
},
"many": {
"msg": "{Days} dní"
},
+ "one": {
+ "msg": "{Days} deň"
+ },
"other": {
"msg": "{Days} dní"
}
@@ -207,15 +213,15 @@
"feature": "plural",
"arg": "Hours",
"cases": {
- "one": {
- "msg": "{Hours} hodina"
- },
"few": {
"msg": "{Hours} hodiny"
},
"many": {
"msg": "{Hours} hodín"
},
+ "one": {
+ "msg": "{Hours} hodina"
+ },
"other": {
"msg": "{Hours} hodín"
}
@@ -241,15 +247,15 @@
"feature": "plural",
"arg": "Minutes",
"cases": {
- "one": {
- "msg": "{Minutes} minúta"
- },
"few": {
"msg": "{Minutes} minúty"
},
"many": {
"msg": "{Minutes} minút"
},
+ "one": {
+ "msg": "{Minutes} minúta"
+ },
"other": {
"msg": "{Minutes} minút"
}
@@ -275,15 +281,15 @@
"feature": "plural",
"arg": "Seconds",
"cases": {
- "one": {
- "msg": "{Seconds} sekunda"
- },
"few": {
"msg": "{Seconds} sekundy"
},
"many": {
"msg": "{Seconds} sekúnd"
},
+ "one": {
+ "msg": "{Seconds} sekunda"
+ },
"other": {
"msg": "{Seconds} sekúnd"
}
@@ -422,15 +428,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Neplatná adresa IP",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Neplatná dĺžka sieťového prefixu",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Neplatná IP adresa:",
"translatorComment": "Copied from source."
},
{
@@ -492,22 +492,6 @@
"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": "Číslo musí mať hodnotu medzi 0 a 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": "Dve čiarky v poradí",
@@ -568,40 +552,17 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Chyba pri získavaní konfigurácie",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Neplatný kľúč sekcie rozhrania",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Verzia protokolu musí byť 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Neplatný kľúč peer sekcie",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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秒’."
+ "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秒’.",
+ "translatorComment": "Copied from source."
},
{
"id": "About WireGuard",
@@ -616,9 +577,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Verzia aplikácie.: {Number}\nVerzia Go backendu: {WireGuardGoVersion}\nVerzia Go: {Version_go}-{GOARCH}\nOperačný systém: {OsName}\nArchitektúra: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Verzia aplikácie: {Number}\nVerzia ovládača: {Version}\nVerzia Go: {Version_go}\nOperačný systém: {OsName}\nArchitektúra: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -630,12 +591,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -646,28 +607,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -678,9 +631,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Darovat!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Darovat!",
"translatorComment": "Copied from source."
},
{
@@ -690,15 +643,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Deaktivovať",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Deaktivovať",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Aktivovať",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktivovať",
"translatorComment": "Copied from source."
},
{
@@ -738,6 +691,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabuľka:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Vopred zdieľaný kľúč:",
@@ -776,31 +735,37 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "pred-zapnutím",
+ "translation": "pred zapnutím",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "po-zapnutí",
+ "translation": "po zapnutí",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "pred-vypnutím",
+ "translation": "pred vypnutím",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "po-vypnutí",
+ "translation": "po vypnutí",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "zakázané, na základe pravidla",
+ "translation": "zakázané, podľa politiky",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "vypnuté",
"translatorComment": "Copied from source."
},
{
@@ -886,15 +851,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Názov:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Názov:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Verejný kľúč:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Verejný kľúč:",
"translatorComment": "Copied from source."
},
{
@@ -904,21 +869,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Blokovať netunelovaný prenos (kill-switch)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blokovať netunelovaný prenos (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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Ak konfigurácia obsahuje práve jedného peera a tento má v povolených IP 0.0.0.0/0 alebo ::/0, tak tak tento tunel aktivuje pravidlo firewallu blokujúce komunikáciu, ktorá nepochádza z alebo nesmeruje na rozhranie tohto tunela alebo smeruje na nesprávny DNS server, špeciálnou výnimkou je DHCP a NDP komunikácia.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Ak konfigurácia obsahuje práve jedného peera a tento má v povolených IP 0.0.0.0/0 alebo ::/0 a rozhranie nemá tabuľku vypnutú, tak tunelová služba aktivuje pravidlo firewallu blokujúce komunikáciu, ktorá nepochádza z alebo nesmeruje na rozhranie tohto tunela alebo smeruje na nesprávny DNS server, špeciálnou výnimkou je DHCP a NDP komunikácia.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Uložiť",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Uložiť",
"translatorComment": "Copied from source."
},
{
@@ -928,9 +893,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Konfigurácia:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfigurácia:",
"translatorComment": "Copied from source."
},
{
@@ -1054,21 +1019,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Kopírovať",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopírovať",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Vybr&ať všetko",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Vybr\u0026ať všetko",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "Uložiť do &súboru…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "Uložiť do \u0026súboru…",
"translatorComment": "Copied from source."
},
{
@@ -1096,9 +1061,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&O WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026O WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1126,7 +1091,7 @@
{
"id": "{Title} (out of date)",
"message": "{Title} (out of date)",
- "translation": "{Title} (neaktuány)",
+ "translation": "{Title} (neaktuálny)",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1170,7 +1135,7 @@
{
"id": "Status: Unknown",
"message": "Status: Unknown",
- "translation": "Stav: Nezámy",
+ "translation": "Stav: Neznámy",
"translatorComment": "Copied from source."
},
{
@@ -1180,27 +1145,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Spravovať tunely…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Spravovať tunely…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Importovať tunel(y) zo súboru…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importovať tunel(y) zo súboru…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "U&končiť",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "U\u0026končiť",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tunely",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunely",
"translatorComment": "Copied from source."
},
{
@@ -1288,7 +1253,7 @@
{
"id": "Addresses: {EnumerationSeparator}",
"message": "Addresses: {EnumerationSeparator}",
- "translation": "Adresa: {EnumerationSeparator}",
+ "translation": "Adresy: {EnumerationSeparator}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1326,15 +1291,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Upraviť",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Upraviť",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Pridať &prázdny tunel…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Pridať \u0026prázdny tunel…",
"translatorComment": "Copied from source."
},
{
@@ -1356,33 +1321,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "P&repnúť",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "P\u0026repnúť",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Export všetkých tunelov do &zip súboru…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Export všetkých tunelov do \u0026zip súboru…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Upraviť &označený tunel…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Upraviť \u0026označený tunel…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Odstrániť označené tunely",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Odstrániť označené tunely",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "neboli nájdené žiadne konfiguračné súbory",
+ "translation": "nenašli sa žiadne konfiguračné súbory",
"translatorComment": "Copied from source."
},
{
@@ -1402,18 +1367,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Nepodarilo sa načítať existujúce tunely: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Nepodarilo sa získať zoznam existujúcich tunelov: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1463,15 +1428,15 @@
"feature": "plural",
"arg": "M",
"cases": {
- "one": {
- "msg": "Importovaný {M} tunel"
- },
"few": {
"msg": "Naimportované {M} tunely"
},
"many": {
"msg": "Naimportovaných {M} tunelov"
},
+ "one": {
+ "msg": "Importovaný {M} tunel"
+ },
"other": {
"msg": "Naimportovaných {M} tunelov"
}
@@ -1497,15 +1462,15 @@
"feature": "plural",
"arg": "N",
"cases": {
- "one": {
- "msg": "Naimportovaný {M} z {N} tunelov"
- },
"few": {
"msg": "Naimportované {M} z {N} tunelov"
},
"many": {
"msg": "Naimportovaných {M} z {N} tunelov"
},
+ "one": {
+ "msg": "Naimportovaný {M} z {N} tunelov"
+ },
"other": {
"msg": "Naimportovaných {M} z {N} tunelov"
}
@@ -1545,15 +1510,15 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Odstránený {TunnelCount} tunel"
- },
"few": {
"msg": "Odstránene {TunnelCount} tunely"
},
"many": {
"msg": "Odstránených {TunnelCount} tunelov"
},
+ "one": {
+ "msg": "Odstránený {TunnelCount} tunel"
+ },
"other": {
"msg": "Odstránených {TunnelCount} tunelov"
}
@@ -1579,15 +1544,15 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Ste si istý, že si želáte odstrániť {TunnelCount} tunel?"
- },
"few": {
"msg": "Ste si istý, že si želáte odstrániť {TunnelCount} tunely?"
},
"many": {
"msg": "Ste si istý, že si želáte odstrániť {TunnelCount} tunelov?"
},
+ "one": {
+ "msg": "Ste si istý, že si želáte odstrániť {TunnelCount} tunel?"
+ },
"other": {
"msg": "Ste si istý, že si želáte odstrániť {TunnelCount} tunelov?"
}
@@ -1689,15 +1654,15 @@
"feature": "plural",
"arg": "Lenerrors",
"cases": {
- "one": {
- "msg": "{Lenerrors} tunel nebolo možné odstrániť."
- },
"few": {
"msg": "{Lenerrors} tunely nebolo možné odstrániť."
},
"many": {
"msg": "{Lenerrors} tunelov nebolo možné odstrániť."
},
+ "one": {
+ "msg": "{Lenerrors} tunel nebolo možné odstrániť."
+ },
"other": {
"msg": "{Lenerrors} tunelov nebolo možné odstrániť."
}
@@ -1718,7 +1683,7 @@
{
"id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
"message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
- "translation": "Konfirugačné súbory (*.zip, *.conf)|*.zip;*.conf|Všetky súbory (*.*)|*.*",
+ "translation": "Konfiguračné súbory (*.zip, *.conf)|*.zip;*.conf|Všetky súbory (*.*)|*.*",
"translatorComment": "Copied from source."
},
{
@@ -1730,7 +1695,7 @@
{
"id": "Configuration ZIP Files (*.zip)|*.zip",
"message": "Configuration ZIP Files (*.zip)|*.zip",
- "translation": "Konfiguračné ZIP súbry (*.zip)|*.zip",
+ "translation": "Konfiguračné ZIP súbory (*.zip)|*.zip",
"translatorComment": "Copied from source."
},
{
@@ -1796,6 +1761,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Požiadajte správcu systému o vykonanie aktualizácie.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Stav: Čaká sa na správcu",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Stav: Čaká sa na aktualizačnú službu",
@@ -1822,86 +1799,6 @@
"message": "Status: Complete!",
"translation": "Stav: Dokončené!",
"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}: failed to decode just-written frame",
- "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}: wrote {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}: read {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: decoded hpack field {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 d1cf6f90..2d714646 100644
--- a/locales/sl/messages.gotext.json
+++ b/locales/sl/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "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",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Na temu računalniku morate uporabiti enako-arhitekturno različico WireGuarda.",
+ "translation": "Na tem računalniku morate uporabljati izvorno različico WireGuarda.",
"translatorComment": "Copied from source."
},
{
@@ -139,17 +145,17 @@
"feature": "plural",
"arg": "Years",
"cases": {
- "one": {
- "msg": "{Years} leto"
- },
- "two": {
- "msg": "{Years} leti"
- },
"few": {
"msg": "{Years} leta"
},
+ "one": {
+ "msg": "{Years} leto"
+ },
"other": {
"msg": "{Years} let"
+ },
+ "two": {
+ "msg": "{Years} leti"
}
}
}
@@ -173,17 +179,17 @@
"feature": "plural",
"arg": "Days",
"cases": {
- "one": {
- "msg": "{Days} dan"
- },
- "two": {
- "msg": "{Days} dneva"
- },
"few": {
"msg": "{Days} dni"
},
+ "one": {
+ "msg": "{Days} dan"
+ },
"other": {
"msg": "{Days} dni"
+ },
+ "two": {
+ "msg": "{Days} dneva"
}
}
}
@@ -207,17 +213,17 @@
"feature": "plural",
"arg": "Hours",
"cases": {
- "one": {
- "msg": "{Hours} uro"
- },
- "two": {
- "msg": "{Hours} uri"
- },
"few": {
"msg": "{Hours} ure"
},
+ "one": {
+ "msg": "{Hours} uro"
+ },
"other": {
"msg": "{Hours} ur"
+ },
+ "two": {
+ "msg": "{Hours} uri"
}
}
}
@@ -241,17 +247,17 @@
"feature": "plural",
"arg": "Minutes",
"cases": {
- "one": {
- "msg": "{Minutes} minuto"
- },
- "two": {
- "msg": "{Minutes} minuti"
- },
"few": {
"msg": "{Minutes} minute"
},
+ "one": {
+ "msg": "{Minutes} minuto"
+ },
"other": {
"msg": "{Minutes} minut"
+ },
+ "two": {
+ "msg": "{Minutes} minuti"
}
}
}
@@ -275,17 +281,17 @@
"feature": "plural",
"arg": "Seconds",
"cases": {
- "one": {
- "msg": "{Seconds} sekundo"
- },
- "two": {
- "msg": "{Seconds} sekundi"
- },
"few": {
"msg": "{Seconds} sekunde"
},
+ "one": {
+ "msg": "{Seconds} sekundo"
+ },
"other": {
"msg": "{Seconds} sekund"
+ },
+ "two": {
+ "msg": "{Seconds} sekundi"
}
}
}
@@ -422,15 +428,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "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",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Napačen naslov IP:",
"translatorComment": "Copied from source."
},
{
@@ -492,22 +492,6 @@
"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",
- "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": "Dve zaporedni vejici",
@@ -568,40 +552,17 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "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",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 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",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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秒’."
+ "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秒’.",
+ "translatorComment": "Copied from source."
},
{
"id": "About WireGuard",
@@ -616,9 +577,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Verzija aplikacije: {Number}\nVerzija wireguard-go: {WireGuardGoVersion}\nVerzija Go: {Version_go}-{GOARCH}\nOperacijski sistem: {OsName}\nArhitektura: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Različica aplikacije: {Number}\nRazličica gonilnika: {Version}\nRazličica Go: {Version_go}\nOperacijski sistem: {OsName}\nArhitektura: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -630,12 +591,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -646,28 +607,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -678,9 +631,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Doniraj!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Doniraj!",
"translatorComment": "Copied from source."
},
{
@@ -690,15 +643,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Dezaktiviraj",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Dezaktiviraj",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Aktiviraj",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktiviraj",
"translatorComment": "Copied from source."
},
{
@@ -734,7 +687,13 @@
{
"id": "Scripts:",
"message": "Scripts:",
- "translation": "Skripta:",
+ "translation": "Skripte:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabela:",
"translatorComment": "Copied from source."
},
{
@@ -776,31 +735,37 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "pred-aktivacijo",
+ "translation": "pred vzpostavitvijo",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "po-aktivaciji",
+ "translation": "po vzpostavitvi",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "pred-dezaktivacijo",
+ "translation": "pred prekinitvijo",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "po-dezaktivaciji",
+ "translation": "po prekinitvi",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "onemogočeno, zaradi politike",
+ "translation": "onemogočeno glede na pravilnik",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "izklopljeno",
"translatorComment": "Copied from source."
},
{
@@ -886,15 +851,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Ime:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Ime:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Javni ključ:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Javni ključ:",
"translatorComment": "Copied from source."
},
{
@@ -904,21 +869,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Blokiraj promet izven tunela (varovalka)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blokiraj 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 or is to the wrong DNS server, 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 or is to the wrong DNS server, 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 oz. za napačen strežnik DNS, s posebnimi izjemami za DHCP and NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, vmesnik pa nima nastavljene možnosti table off, takrat storitev tunela vzpostavi pravila požarnega zidu, ki blokirajo ves promet, ki ni niti za niti iz vmesnika tunela ali pa je usmerjen na napačen strežnik DNS, s posebnimi izjemami za DHCP in NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Shrani",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Shrani",
"translatorComment": "Copied from source."
},
{
@@ -928,9 +893,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Konfiguracija:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfiguracija:",
"translatorComment": "Copied from source."
},
{
@@ -1054,21 +1019,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Kopiraj",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopiraj",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "&Izberi vse",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "\u0026Izberi vse",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Shrani v datoteko …",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Shrani v datoteko …",
"translatorComment": "Copied from source."
},
{
@@ -1096,9 +1061,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "O WireGu&ardu …",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "O WireGu\u0026ardu …",
"translatorComment": "Copied from source."
},
{
@@ -1180,27 +1145,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Upravljaj tunele …",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Upravljaj tunele …",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Uvozi tunel(e) iz datoteke…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Uvozi tunel(e) iz datoteke…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "I&zhod",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "I\u0026zhod",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tuneli",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tuneli",
"translatorComment": "Copied from source."
},
{
@@ -1326,15 +1291,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Uredi",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Uredi",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Dodaj &prazen tunel …",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Dodaj \u0026prazen tunel …",
"translatorComment": "Copied from source."
},
{
@@ -1356,33 +1321,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Preklopi",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Preklopi",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Izvozi vse tunele v &zip …",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Izvozi vse tunele v \u0026zip …",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Uredi &izbran tunel …",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Uredi \u0026izbran tunel …",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "Odst&rani izbrane tunele",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "Odst\u0026rani izbrane tunele",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "ni najdenih konfiguracijskih datotek",
+ "translation": "ni bilo najdene nobene konfiguracijske datoteke",
"translatorComment": "Copied from source."
},
{
@@ -1402,18 +1367,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Napaka pri preštevanju obstoječih tunelov: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Napaka pri pripravi seznama obstoječih tunelov: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1463,17 +1428,17 @@
"feature": "plural",
"arg": "M",
"cases": {
- "one": {
- "msg": "Uvožen {M} tunel"
- },
- "two": {
- "msg": "Uvožena {M} tunela"
- },
"few": {
"msg": "Uvoženi {M} tuneli"
},
+ "one": {
+ "msg": "Uvožen {M} tunel"
+ },
"other": {
"msg": "Uvoženo {M} tunelov"
+ },
+ "two": {
+ "msg": "Uvožena {M} tunela"
}
}
}
@@ -1497,17 +1462,17 @@
"feature": "plural",
"arg": "N",
"cases": {
- "one": {
- "msg": "Uvožen {M} od {N} tunelov"
- },
- "two": {
- "msg": "Uvožena {M} od {N} tunelov"
- },
"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"
}
}
}
@@ -1545,17 +1510,17 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Izbriši {TunnelCount} tunel"
- },
- "two": {
- "msg": "Izbriši {TunnelCount} tunela"
- },
"few": {
"msg": "Izbriši {TunnelCount} tunele"
},
+ "one": {
+ "msg": "Izbriši {TunnelCount} tunel"
+ },
"other": {
"msg": "Izbriši {TunnelCount} tunelov"
+ },
+ "two": {
+ "msg": "Izbriši {TunnelCount} tunela"
}
}
}
@@ -1579,17 +1544,17 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Ali ste prepričani, da želite izbrisati {TunnelCount} tunel?"
- },
- "two": {
- "msg": "Ali ste prepričani, da želite izbrisati {TunnelCount} tunela?"
- },
"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?"
}
}
}
@@ -1689,16 +1654,16 @@
"feature": "plural",
"arg": "Lenerrors",
"cases": {
+ "few": {
+ "msg": "{Lenerrors} tunelov ni bilo mogoče odstraniti."
+ },
"one": {
"msg": "{Lenerrors} tunela ni bilo mogoče odstraniti."
},
- "two": {
- "msg": "{Lenerrors} tunelov ni bilo mogoče odstraniti."
- },
- "few": {
+ "other": {
"msg": "{Lenerrors} tunelov ni bilo mogoče odstraniti."
},
- "other": {
+ "two": {
"msg": "{Lenerrors} tunelov ni bilo mogoče odstraniti."
}
}
@@ -1796,6 +1761,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Za posodobitev prosite skrbnika sistema.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: Čaka na skrbnika",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Status: Čaka na servis za posodobitev",
@@ -1822,86 +1799,6 @@
"message": "Status: Complete!",
"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",
- "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}: zapisano {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}: prebrano {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: dekodirano polje 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/sr/messages.gotext.json b/locales/sr/messages.gotext.json
new file mode 100644
index 00000000..e53bb6b8
--- /dev/null
+++ b/locales/sr/messages.gotext.json
@@ -0,0 +1,1765 @@
+{
+ "language": "sr",
+ "messages": [
+ {
+ "id": "Error",
+ "message": "Error",
+ "translation": "Грешка",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "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 native version of WireGuard on this computer.",
+ "message": "You must use the native version of WireGuard on this computer.",
+ "translation": "На овом рачунару морате користити нативну верзију 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": {
+ "few": {
+ "msg": "{Years} године"
+ },
+ "one": {
+ "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": {
+ "few": {
+ "msg": "{Days} дана"
+ },
+ "one": {
+ "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": {
+ "few": {
+ "msg": "{Hours} сата"
+ },
+ "one": {
+ "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": {
+ "few": {
+ "msg": "{Minutes} минута"
+ },
+ "one": {
+ "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": {
+ "few": {
+ "msg": "{Seconds} секунде"
+ },
+ "one": {
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "",
+ "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": "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": "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": "Config key is missing an equals separator",
+ "message": "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": "[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}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Верзија апликације: {Number}\nВерзија управљачког програма: {Version}\nВерзија Go: {Version_go}\nОперативни систем: {OsName}\nАрхитектура: {Arch}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "Version",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "driver.Version()"
+ },
+ {
+ "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": "Arch",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "version.Arch()"
+ }
+ ]
+ },
+ {
+ "id": "Close",
+ "message": "Close",
+ "translation": "Затвори",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Донирајте!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status:",
+ "message": "Status:",
+ "translation": "Статус:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Деактивирај",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Активирај",
+ "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": ""
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "Адресе:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "DNS сервери:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": "Скрипте:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Табела:",
+ "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": "pre-up",
+ "message": "pre-up",
+ "translation": "пре успостављања",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "после успостављања",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "пре прекидања",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "после прекидања",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "онемогућено, према политици",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "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": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Име:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Јавни кључ:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(непознато)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Блокирај нетунелисани саобраћај (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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Када конфигурација има тачно једног парњака и тај парњак има дозвољене IP адресе које садрже бар једну од 0.0.0.0/0 или ::/0, и интерфејс нема искључену табелу, тада сервис тунела активира скуп правила фајервола за блокирање свог саобраћаја који није ни ка ни од интерфејса тунела или је ка погрешном DNS серверу, уз посебне изузетке за DHCP и NDP.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Сачувај",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Cancel",
+ "message": "Cancel",
+ "translation": "Откажи",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Конфигурација:",
+ "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": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Копирај",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Изабери \u0026све",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Сачувај у датотеку…",
+ "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": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026О програму 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": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Управљај тунелима…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Увези тунел(е) из датотеке…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "И\u0026злаз",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Тунели",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "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": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "Грешка WireGuard тунела",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "",
+ "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: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "Адресе: {EnumerationSeparator}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "EnumerationSeparator",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
+ }
+ ]
+ },
+ {
+ "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": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Измени",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Додај \u0026празан тунел…",
+ "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": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Пребаци",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Извези све тунеле у \u0026zip…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Измени \u0026изабрани тунел…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Уклони изабране тунеле",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Није могуће пописати постојеће тунеле: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "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": {
+ "few": {
+ "msg": "Увезена {M} тунела"
+ },
+ "one": {
+ "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": {
+ "few": {
+ "msg": "Увезено {M} од {N} тунела"
+ },
+ "one": {
+ "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": {
+ "few": {
+ "msg": "Обриши {TunnelCount} тунела"
+ },
+ "one": {
+ "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": {
+ "few": {
+ "msg": "Да ли сте сигурни да желите да обришете {TunnelCount} тунела?"
+ },
+ "one": {
+ "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": {
+ "few": {
+ "msg": "{Lenerrors} тунела нису могла бити уклоњена."
+ },
+ "one": {
+ "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": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Замолите администратора система да ажурира.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "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."
+ }
+ ]
+} \ No newline at end of file
diff --git a/locales/sv-SE/messages.gotext.json b/locales/sv-SE/messages.gotext.json
index 5d2685dc..ec8b1af0 100644
--- a/locales/sv-SE/messages.gotext.json
+++ b/locales/sv-SE/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Fel:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(inget argument): höj och installera hanterartjänsten",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Du måste använda den inbyggda versionen av WireGuard på denna dator.",
+ "translation": "Du måste använda den ursprungliga versionen av WireGuard på den här datorn.",
"translatorComment": "Copied from source."
},
{
@@ -392,15 +398,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Ogiltig IP-adress",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Ogiltigt nätverksprefixlängd",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Ogiltig IP-adress:",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +462,6 @@
"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": "Numret måste vara ett tal mellan 0 och 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": "Två kommatecken i rad",
@@ -538,39 +522,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Fel vid hämtning av konfiguration",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Ogiltig nyckel för gränssnittsavsnitt",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Protokollversion måste vara 1",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Ogiltig nyckel för peer-avsnitt",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -586,9 +546,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Appversion: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperativsystem: {OsName}\nArkitektur: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Appversion: {Number}\nDrivrutinsversion: {Version}\nGo-version: {Version_go}\nOperativsystem: {OsName}\nArkitektur: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +560,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +576,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +600,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Donera!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Donera!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +612,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Avaktivera",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Avaktivera",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Aktivera",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Aktivera",
"translatorComment": "Copied from source."
},
{
@@ -708,6 +660,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tabell:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Fördelad nyckel:",
@@ -758,19 +716,25 @@
{
"id": "pre-down",
"message": "pre-down",
- "translation": "innan nertagning",
+ "translation": "före nedstängning",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "efter nedtagning",
+ "translation": "efter nedstängning",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "inaktiverad, per policy",
+ "translation": "inaktiverad, enligt policy",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "av",
"translatorComment": "Copied from source."
},
{
@@ -840,7 +804,7 @@
{
"id": "Peer",
"message": "Peer",
- "translation": "Peer",
+ "translation": "Motpart",
"translatorComment": "Copied from source."
},
{
@@ -856,15 +820,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Namn:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Namn:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Publik nyckel:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Publik nyckel:",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +838,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Blockera otunnlad trafik (kill-switch)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Blockera otunnlad trafik (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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "När en konfiguration har exakt en peer och denna peer har en tillåten IP-adress som innehåller åtminstone 0.0.0.0/0 eller ::/0, kommer tunneltjänsten aktivera en brandväggsregel som förhindrar all trafik som varken är till eller från tunnelns gränssnitt eller är till fel DNS-server, med särskilda undantag för DHCP och NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "När en konfiguration har exakt en peer, och den peeren har tillåtna IP:er som innehåller minst en av 0.0.0.0/0 eller ::/0, och gränssnittet inte har table off, så aktiverar tunneltjänsten en brandväggsregeluppsättning som blockerar all trafik som varken är till eller från tunnelgränssnittet eller är till fel DNS-server, med särskilda undantag för DHCP och NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Spara",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Spara",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +862,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Konfiguration:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Konfiguration:",
"translatorComment": "Copied from source."
},
{
@@ -1024,21 +988,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Kopiera",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopiera",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Markera &allt",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Markera \u0026allt",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Spara till fil…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Spara till fil…",
"translatorComment": "Copied from source."
},
{
@@ -1066,9 +1030,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&Om WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Om WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1150,27 +1114,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Hantera tunnlar…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Hantera tunnlar…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Importera tunnlar från fil…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Importera tunnlar från fil…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "A&vsluta",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "A\u0026vsluta",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tunnlar",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tunnlar",
"translatorComment": "Copied from source."
},
{
@@ -1296,15 +1260,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Redigera",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Redigera",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Lägg till &tom tunnel…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Lägg till \u0026tom tunnel…",
"translatorComment": "Copied from source."
},
{
@@ -1326,27 +1290,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Växla",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Växla",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Exportera alla tunnlar till &zip…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Exportera alla tunnlar till \u0026zip…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Redigera &vald tunnel…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Redigera \u0026vald tunnel…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Ta bort valda tunnlar",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Ta bort valda tunnlar",
"translatorComment": "Copied from source."
},
{
@@ -1372,18 +1336,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Det gick inte att numrera existerande tunnlar: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Kunde inte räkna upp befintliga tunnlar: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1736,6 +1700,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Be systemadministratören att uppdatera.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Status: Väntar på administratör",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Status: Väntar på uppdateringstjänst",
@@ -1762,86 +1738,6 @@
"message": "Status: Complete!",
"translation": "Status: Färdig!",
"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}: misslyckades att avkoda \"just-written frame\"",
- "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}: skrev {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}: läs {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: avkodat hpack fält {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/tr/messages.gotext.json b/locales/tr/messages.gotext.json
index 9aa7291e..e5798207 100644
--- a/locales/tr/messages.gotext.json
+++ b/locales/tr/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Hata:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(parametre belirtilmediyse): gerekli izinleri al ve yönetim hizmetini yükle",
@@ -392,15 +398,9 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Geçersiz IP adresi",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid network prefix length",
- "message": "Invalid network prefix length",
- "translation": "Geçersiz ağ öneki uzunluğu",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Geçersiz IP adresi:",
"translatorComment": "Copied from source."
},
{
@@ -462,22 +462,6 @@
"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": "Sayı 0 ile 2^64-1 arasında olmalıdır: {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": "Yan yana iki virgül",
@@ -538,39 +522,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Yapılandırma alınırken hata oluştu",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for interface section",
- "message": "Invalid key for interface section",
- "translation": "Arabirim bölümünde geçersiz anahtar",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Protocol version must be 1",
- "message": "Protocol version must be 1",
- "translation": "Protokol sürümü 1 olmalıdır",
- "translatorComment": "Copied from source."
- },
- {
- "id": "Invalid key for peer section",
- "message": "Invalid key for peer section",
- "translation": "Eş bölümünde geçersiz anahtar",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -586,9 +546,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Uygulama sürümü: {Number}\nGo arka uç sürümü: {WireGuardGoVersion}\nGo sürümü: {Version_go}-{GOARCH}\nİşletim sistemi: {OsName}\nMimari: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Uygulama sürümü: {Number}\nSürücü sürümü: {Version}\nGo sürümü: {Version_go}\nİşletim sistemi: {OsName}\nMimari: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -600,12 +560,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -616,28 +576,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -648,9 +600,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Bağış yap!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Bağış yap!",
"translatorComment": "Copied from source."
},
{
@@ -660,15 +612,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Devre dışı bırak",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Devre dışı bırak",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Etkinleştir",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Etkinleştir",
"translatorComment": "Copied from source."
},
{
@@ -708,6 +660,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Tablo:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Önceden paylaşılan anahtar:",
@@ -758,13 +716,13 @@
{
"id": "pre-down",
"message": "pre-down",
- "translation": "bağlantı kesme öncesi",
+ "translation": "kesinti öncesi",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "bağlantı kesme sonrası",
+ "translation": "kesinti sonrası",
"translatorComment": "Copied from source."
},
{
@@ -774,6 +732,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "off",
+ "message": "off",
+ "translation": "kapalı",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "enabled",
"message": "enabled",
"translation": "etkin",
@@ -856,15 +820,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&İsim:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026İsim:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Ortak anahtar:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Ortak anahtar:",
"translatorComment": "Copied from source."
},
{
@@ -874,21 +838,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Tünelden geçmeyen trafiği engelle (kill switch)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Tünelden geçmeyen trafiği engelle (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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "Yapılandırmada tek bir eş varsa ve bu eşin izinli IP listesinde 0.0.0.0/0 veya ::/0 bulunuyorsa tünel hizmeti, DHCP ve NDP'ye ait istisnalar dışında tünel arabirimine gitmeyen veya bu arabirimden gelmeyen veya yanlış DNS sunucusuna giden tüm trafiği engellemek için güvenlik duvarına bir kural kümesi ekler.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Yapılandırmada tek bir eş varsa, bu eşin izinli IP listesinde 0.0.0.0/0 veya ::/0 bulunuyorsa ve arabirimin tablosu kapalı değilse tünel hizmeti, DHCP ve NDP'ye ait istisnalar dışında tünel arabirimine gitmeyen, bu arabirimden gelmeyen veya yanlış DNS sunucusuna giden tüm trafiği engellemek için güvenlik duvarına bir kural kümesi ekler.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Kaydet",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Kaydet",
"translatorComment": "Copied from source."
},
{
@@ -898,9 +862,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Yapılandırma:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Yapılandırma:",
"translatorComment": "Copied from source."
},
{
@@ -1024,21 +988,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Kopyala",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Kopyala",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "&Tümünü seç",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "\u0026Tümünü seç",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Dosyaya kaydet…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Dosyaya kaydet…",
"translatorComment": "Copied from source."
},
{
@@ -1066,9 +1030,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&WireGuard hakkında…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026WireGuard hakkında…",
"translatorComment": "Copied from source."
},
{
@@ -1150,27 +1114,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Tünelleri yönet…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Tünelleri yönet…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "Tünelleri dosyadan &içe aktar…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "Tünelleri dosyadan \u0026içe aktar…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "Çı&kış",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "Çı\u0026kış",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Tüneller",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Tüneller",
"translatorComment": "Copied from source."
},
{
@@ -1296,15 +1260,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Düzenle",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Düzenle",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Boş tünel &ekle…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Boş tünel \u0026ekle…",
"translatorComment": "Copied from source."
},
{
@@ -1326,27 +1290,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Aç/kapat",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Aç/kapat",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Tüm tünelleri &zip olarak dışa aktar…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Tüm tünelleri \u0026zip olarak dışa aktar…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "&Seçilen tüneli düzenle…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "\u0026Seçilen tüneli düzenle…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "S&eçilen tünelleri kaldır",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "S\u0026eçilen tünelleri kaldır",
"translatorComment": "Copied from source."
},
{
@@ -1372,18 +1336,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Mevcut tüneller sıralanamadı: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Mevcut tüneller listelenemedi: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1736,6 +1700,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Lütfen sistem yöneticisinden güncellemeyi yapmasını isteyin.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Durum: Yönetici bekleniyor",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Durum: Güncelleştirme hizmeti bekleniyor",
@@ -1762,86 +1738,6 @@
"message": "Status: Complete!",
"translation": "Durum: Tamamlandı!",
"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}: az önce yazılmış çerçeve çözülemedi",
- "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} yazıldı",
- "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} okundu",
- "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": "https2: {HeaderField} hpack alanı çözüldü",
- "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/uk/messages.gotext.json b/locales/uk/messages.gotext.json
index c5d41082..f302e427 100644
--- a/locales/uk/messages.gotext.json
+++ b/locales/uk/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "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": "(немає аргумента): отримати права аднімістратора і встановити службу",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "Ви повинні використовувати нативну версію WireGuard на цьому комп'ютері.",
+ "translation": "Ви повинні використовувати рідну версію WireGuard на цьому комп'ютері.",
"translatorComment": "Copied from source."
},
{
@@ -139,15 +145,15 @@
"feature": "plural",
"arg": "Years",
"cases": {
- "one": {
- "msg": "{Years} рік"
- },
"few": {
"msg": "{Years} роки"
},
"many": {
"msg": "{Years} років"
},
+ "one": {
+ "msg": "{Years} рік"
+ },
"other": {
"msg": "{Years} років"
}
@@ -173,15 +179,15 @@
"feature": "plural",
"arg": "Days",
"cases": {
- "one": {
- "msg": "{Days} день"
- },
"few": {
"msg": "{Days} дні"
},
"many": {
"msg": "{Days} днів"
},
+ "one": {
+ "msg": "{Days} день"
+ },
"other": {
"msg": "{Days} днів"
}
@@ -207,15 +213,15 @@
"feature": "plural",
"arg": "Hours",
"cases": {
- "one": {
- "msg": "{Hours} година"
- },
"few": {
"msg": "{Hours} години"
},
"many": {
"msg": "{Hours} години"
},
+ "one": {
+ "msg": "{Hours} година"
+ },
"other": {
"msg": "{Hours} годин"
}
@@ -241,15 +247,15 @@
"feature": "plural",
"arg": "Minutes",
"cases": {
- "one": {
- "msg": "{Minutes} хвилина"
- },
"few": {
"msg": "{Minutes} хвилини"
},
"many": {
"msg": "{Minutes} хвилин"
},
+ "one": {
+ "msg": "{Minutes} хвилина"
+ },
"other": {
"msg": "{Minutes} хвилин"
}
@@ -275,15 +281,15 @@
"feature": "plural",
"arg": "Seconds",
"cases": {
- "one": {
- "msg": "{Seconds} секунда"
- },
"few": {
"msg": "{Seconds} секунди"
},
"many": {
"msg": "{Seconds} секунд"
},
+ "one": {
+ "msg": "{Seconds} секунда"
+ },
"other": {
"msg": "{Seconds} секунд"
}
@@ -422,15 +428,9 @@
]
},
{
- "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": "Невірна довжина префіксу мережі",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "Недійсна IP-адреса:",
"translatorComment": "Copied from source."
},
{
@@ -492,22 +492,6 @@
"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": "Дві коми поспіль",
@@ -568,39 +552,15 @@
"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": "Хибний ключ для [Peer] розділу",
- "translatorComment": "Copied from source."
- },
- {
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ", ",
+ "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": ", ",
+ "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秒’."
},
{
@@ -616,9 +576,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "Версія додатку: {Number}\nВерсія Go бекенду: {WireGuardGoVersion}\nВерсія Go: {Version_go}-{GOARCH}\nОпераційна система: {OsName}\nАрхітектура {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Версія додатку: {Number}\nВерсія драйвера: {Version}\nВерсія Go: {Version_go}\nОпераційна система: {OsName}\nАрхітектура: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -630,12 +590,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -646,28 +606,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -678,9 +630,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ &Пожертвувати!",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Пожертвувати!",
"translatorComment": "Copied from source."
},
{
@@ -690,15 +642,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "&Деактивувати",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Деактивувати",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "&Активувати",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Активувати",
"translatorComment": "Copied from source."
},
{
@@ -738,6 +690,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Таблиця:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Preshared ключ:",
@@ -752,13 +710,13 @@
{
"id": "Endpoint:",
"message": "Endpoint:",
- "translation": "Endpoint:",
+ "translation": "Кінцева точка:",
"translatorComment": "Copied from source."
},
{
"id": "Persistent keepalive:",
"message": "Persistent keepalive:",
- "translation": "Persistent keepalive:",
+ "translation": "Постійний keepalive:",
"translatorComment": "Copied from source."
},
{
@@ -776,31 +734,37 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "перед-запуском",
+ "translation": "до підключення",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "після-запуску",
+ "translation": "після підключення",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
- "translation": "перед-зупинкою",
+ "translation": "до відключення",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
- "translation": "після-зупинки",
+ "translation": "після відключення",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "вимкнено, відповідно до політики",
+ "translation": "вимкнено політикою",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "вимкнено",
"translatorComment": "Copied from source."
},
{
@@ -886,15 +850,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "&Назва:",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Назва:",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "&Публічний ключ:",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Публічний ключ:",
"translatorComment": "Copied from source."
},
{
@@ -904,21 +868,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "&Блокувати трафік поза тунелем",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Блокувати трафік поза тунелем",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "У випадку якщо в конфігурації вказаний лише один пір, та його дозволені ІР-адреси містять 0.0.0.0/0 або ::/0, сервіс тунелю вводить у дію правила фаєрволу що блокують увесь трафік поза тунелем або до невідповідних DNS серверів, з виключеннями для DHCP та NDP.",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "У випадку якщо в конфігурації вказаний лише один пір, та його дозволені IP-адреси містять 0.0.0.0/0 або ::/0, і інтерфейс не має table off, сервіс тунелю вводить у дію правила фаєрволу, що блокують увесь трафік поза тунелем або спрямований до неправильного DNS-сервера, з виключеннями для DHCP та NDP.",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "&Зберегти",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Зберегти",
"translatorComment": "Copied from source."
},
{
@@ -928,9 +892,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "&Налаштування:",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Налаштування:",
"translatorComment": "Copied from source."
},
{
@@ -1054,21 +1018,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "&Скопіювати",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Скопіювати",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "Обрати &все",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Обрати \u0026все",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "&Зберегти у файл…",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Зберегти у файл…",
"translatorComment": "Copied from source."
},
{
@@ -1096,9 +1060,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "&Про WireGuard…",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Про WireGuard…",
"translatorComment": "Copied from source."
},
{
@@ -1180,27 +1144,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "&Керування тунелями…",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Керування тунелями…",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "&Імпортувати тунель з файлу…",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Імпортувати тунель з файлу…",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "Ви&йти",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "Ви\u0026йти",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "&Тунелі",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026Тунелі",
"translatorComment": "Copied from source."
},
{
@@ -1326,15 +1290,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "&Редагувати",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Редагувати",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "Додати &пустий тунель…",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Додати \u0026пустий тунель…",
"translatorComment": "Copied from source."
},
{
@@ -1356,33 +1320,33 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "&Перемкнути",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Перемкнути",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "Експортувати всі тунелі в &zip…",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Експортувати всі тунелі в \u0026zip…",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "Редагувати &вибраний тунель…",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Редагувати \u0026вибраний тунель…",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "&Видалити обрані тунелі",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Видалити обрані тунелі",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
- "translation": "не знайдено файлів конфігурації",
+ "translation": "конфігураційних файлів не знайдено",
"translatorComment": "Copied from source."
},
{
@@ -1402,18 +1366,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "Не вдалося перерахувати існуючі тунелі: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Не вдалося перелічити існуючі тунелі: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1463,15 +1427,15 @@
"feature": "plural",
"arg": "M",
"cases": {
- "one": {
- "msg": "Імпортовано {M} тунель"
- },
"few": {
"msg": "Імпортовано {M} тунелі"
},
"many": {
"msg": "Імпортовано {M} тунелів"
},
+ "one": {
+ "msg": "Імпортовано {M} тунель"
+ },
"other": {
"msg": "Імпортовано {M} тунелів"
}
@@ -1497,15 +1461,15 @@
"feature": "plural",
"arg": "N",
"cases": {
- "one": {
- "msg": "Імпортовано {M} з {N} тунелів"
- },
"few": {
"msg": "Імпортовано {M} з {N} тунелів"
},
"many": {
"msg": "Імпортовано {M} з {N} тунелів"
},
+ "one": {
+ "msg": "Імпортовано {M} з {N} тунелів"
+ },
"other": {
"msg": "Імпортовано {M} з {N} тунелів"
}
@@ -1545,15 +1509,15 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Видалити {TunnelCount} тунель"
- },
"few": {
"msg": "Видалити {TunnelCount} тунелі"
},
"many": {
"msg": "Видалити {TunnelCount} тунелів"
},
+ "one": {
+ "msg": "Видалити {TunnelCount} тунель"
+ },
"other": {
"msg": "Видалити {TunnelCount} тунелів"
}
@@ -1579,15 +1543,15 @@
"feature": "plural",
"arg": "TunnelCount",
"cases": {
- "one": {
- "msg": "Ви впевнені, що хочете видалити {TunnelCount} тунель?"
- },
"few": {
"msg": "Ви впевнені, що хочете видалити {TunnelCount} тунелі?"
},
"many": {
"msg": "Ви впевнені, що хочете видалити {TunnelCount} тунелів?"
},
+ "one": {
+ "msg": "Ви впевнені, що хочете видалити {TunnelCount} тунель?"
+ },
"other": {
"msg": "Ви впевнені, що хочете видалити {TunnelCount} тунелі?"
}
@@ -1689,15 +1653,15 @@
"feature": "plural",
"arg": "Lenerrors",
"cases": {
- "one": {
- "msg": "{Lenerrors} тунель не вдалося видалити."
- },
"few": {
"msg": "{Lenerrors} тунелі не вдалося видалити."
},
"many": {
"msg": "{Lenerrors} тунелів не вдалося видалити."
},
+ "one": {
+ "msg": "{Lenerrors} тунель не вдалося видалити."
+ },
"other": {
"msg": "{Lenerrors} тунелів не вдалося видалити."
}
@@ -1796,6 +1760,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Будь ласка, попросіть системного адміністратора виконати оновлення.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Статус: Очікування адміністратора",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "Статус: Очікування на службу оновлення",
@@ -1822,86 +1798,6 @@
"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}: failed to decode just-written frame",
- "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}: wrote {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}: read {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: decoded hpack field {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/vi/messages.gotext.json b/locales/vi/messages.gotext.json
index 7e8f92ae..58802cc3 100644
--- a/locales/vi/messages.gotext.json
+++ b/locales/vi/messages.gotext.json
@@ -8,6 +8,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Error:",
+ "message": "Error:",
+ "translation": "Lỗi:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(no argument): elevate and install manager service",
+ "message": "(no argument): elevate and install manager service",
+ "translation": "(không có tham số): nâng quyền và cài đặt dịch vụ quản lý",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Usage: {Args0} [\n{String}]",
"message": "Usage: {Args0} [\n{String}]",
"translation": "Sử dụng: {Args0} [\n{String}]",
@@ -38,12 +50,94 @@
"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": "Không thể xác định liệu tiến trình có đang chạy trong WOW64 hay không: {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 native version of WireGuard on this computer.",
+ "message": "You must use the native version of WireGuard on this computer.",
+ "translation": "Bạn phải sử dụng phiên bản gốc của WireGuard trên máy tính này.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unable to open current process token: {Err}",
+ "message": "Unable to open current process token: {Err}",
+ "translation": "Không thể mở token của tiến trình hiện tại: {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 chỉ có thể được sử dụng bởi những người dùng thuộc nhóm Builtin {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 đang chạy, nhưng giao diện chỉ có thể được truy cập từ desktop của nhóm Builtin {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": "Biểu tượng WireGuard ở khay hệ thống không xuất hiện sau 30 giây.",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Now",
"message": "Now",
"translation": "Vừa xong",
"translatorComment": "Copied from source."
},
{
+ "id": "System clock wound backward!",
+ "message": "System clock wound backward!",
+ "translation": "Đồng hồ hệ thống đã bị chỉnh lùi!",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "{Years} year(s)",
"message": "{Years} year(s)",
"translation": {
@@ -265,15 +359,56 @@
]
},
{
- "id": "Invalid IP address",
- "message": "Invalid IP address",
- "translation": "Địa chỉ IP không hợp lệ",
+ "id": "{Why}: {Offender}",
+ "message": "{Why}: {Offender}",
+ "translation": "",
+ "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": "Địa chỉ IP không hợp lệ:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Missing port from endpoint",
+ "message": "Missing port from endpoint",
+ "translation": "Thiếu cổng ở endpoint",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid endpoint host",
+ "message": "Invalid endpoint host",
+ "translation": "Máy chủ endpoint không hợp lệ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Brackets must contain an IPv6 address",
+ "message": "Brackets must contain an IPv6 address",
+ "translation": "Dấu ngoặc vuông phải chứa địa chỉ IPv6",
"translatorComment": "Copied from source."
},
{
"id": "Invalid MTU",
"message": "Invalid MTU",
- "translation": "Khoá không hợp lệ",
+ "translation": "MTU không hợp lệ",
"translatorComment": "Copied from source."
},
{
@@ -283,6 +418,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Invalid persistent keepalive",
+ "message": "Invalid persistent keepalive",
+ "translation": "Persistent keepalive không hợp lệ",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Invalid key: {Err}",
"message": "Invalid key: {Err}",
"translation": "Khoá không hợp lệ: {Err}",
@@ -299,33 +440,81 @@
]
},
{
+ "id": "Keys must decode to exactly 32 bytes",
+ "message": "Keys must decode to exactly 32 bytes",
+ "translation": "Khoá phải giải mã thành đúng 32 byte",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Two commas in a row",
+ "message": "Two commas in a row",
+ "translation": "Hai dấu phẩy liên tiếp",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Tunnel name is not valid",
"message": "Tunnel name is not valid",
"translation": "Tên VPN không hợp lệ",
"translatorComment": "Copied from source."
},
{
+ "id": "Line must occur in a section",
+ "message": "Line must occur in a section",
+ "translation": "Dòng phải nằm trong một phần",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Config key is missing an equals separator",
+ "message": "Config key is missing an equals separator",
+ "translation": "Khoá cấu hình bị thiếu dấu bằng phân cách",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Key must have a value",
+ "message": "Key must have a value",
+ "translation": "Khoá phải có giá trị",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Interface] section",
+ "message": "Invalid key for [Interface] section",
+ "translation": "Khoá không hợp lệ cho phần [Interface]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Invalid key for [Peer] section",
+ "message": "Invalid key for [Peer] section",
+ "translation": "Khoá không hợp lệ cho phần [Peer]",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "An interface must have a private key",
+ "message": "An interface must have a private key",
+ "translation": "Một interface phải có khoá riêng",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "[none specified]",
"message": "[none specified]",
- "translation": "Ko có Chỉ định",
+ "translation": "[chưa được chỉ định]",
"translatorComment": "Copied from source."
},
{
- "id": "Error in getting configuration",
- "message": "Error in getting configuration",
- "translation": "Lỗi khi lưu cấu hình",
+ "id": "All peers must have public keys",
+ "message": "All peers must have public keys",
+ "translation": "Tất cả các peer phải có khoá công khai",
"translatorComment": "Copied from source."
},
{
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
- "translation": ",",
+ "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": ",",
+ "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秒’."
},
{
@@ -341,27 +530,134 @@
"translatorComment": "Copied from source."
},
{
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "Phiên bản ứng dụng: {Number}\nPhiên bản driver: {Version}\nPhiên bản Go: {Version_go}\nHệ điều hành: {OsName}\nKiến trúc: {Arch}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Number",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "version.Number"
+ },
+ {
+ "id": "Version",
+ "string": "%[2]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 2,
+ "expr": "driver.Version()"
+ },
+ {
+ "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": "Arch",
+ "string": "%[5]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 5,
+ "expr": "version.Arch()"
+ }
+ ]
+ },
+ {
"id": "Close",
"message": "Close",
"translation": "Đóng",
"translatorComment": "Copied from source."
},
{
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ \u0026Quyên góp!",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status:",
"message": "Status:",
"translation": "Trạng thái:",
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "Đã hủy kích hoạt",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "\u0026Hủy kích hoạt",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "Kích hoạt",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "\u0026Kích hoạt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Public key:",
+ "message": "Public key:",
+ "translation": "Khoá công khai:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Listen port:",
+ "message": "Listen port:",
+ "translation": "Cổng lắng nghe:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "MTU:",
+ "message": "MTU:",
+ "translation": ""
+ },
+ {
+ "id": "Addresses:",
+ "message": "Addresses:",
+ "translation": "Địa chỉ:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "DNS servers:",
+ "message": "DNS servers:",
+ "translation": "Máy chủ DNS:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Scripts:",
+ "message": "Scripts:",
+ "translation": "Tập lệnh:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "Bảng định tuyến:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Preshared key:",
+ "message": "Preshared key:",
+ "translation": "Khoá chia sẻ trước:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Allowed IPs:",
+ "message": "Allowed IPs:",
+ "translation": "IP cho phép:",
"translatorComment": "Copied from source."
},
{
@@ -371,6 +667,60 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Persistent keepalive:",
+ "message": "Persistent keepalive:",
+ "translation": "Keepalive liên tục:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Latest handshake:",
+ "message": "Latest handshake:",
+ "translation": "Bắt tay gần nhất:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Transfer:",
+ "message": "Transfer:",
+ "translation": "Truyền tải:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-up",
+ "message": "pre-up",
+ "translation": "trước khi bật",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-up",
+ "message": "post-up",
+ "translation": "sau khi bật",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "pre-down",
+ "message": "pre-down",
+ "translation": "trước khi tắt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "post-down",
+ "message": "post-down",
+ "translation": "sau khi tắt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "disabled, per policy",
+ "message": "disabled, per policy",
+ "translation": "đã vô hiệu hoá, theo chính sách",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "tắt",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "enabled",
"message": "enabled",
"translation": "đã kích hoạt",
@@ -379,7 +729,7 @@
{
"id": "{String} received, {String_1} sent",
"message": "{String} received, {String_1} sent",
- "translation": "Nhận {String}, gứi {String_1}",
+ "translation": "Nhận {String}, gửi {String_1}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -419,6 +769,22 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Interface: {Name}",
+ "message": "Interface: {Name}",
+ "translation": "Giao diện: {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": "Mạng ngang hàng",
@@ -437,12 +803,54 @@
"translatorComment": "Copied from source."
},
{
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "\u0026Tên:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "\u0026Khoá công khai:",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "(unknown)",
+ "message": "(unknown)",
+ "translation": "(không rõ)",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "\u0026Chặn lưu lượng ngoài 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "Khi một cấu hình có đúng một peer, và peer đó có Allowed IPs chứa ít nhất một trong 0.0.0.0/0 hoặc ::/0, và interface không có table off, thì dịch vụ tunnel sẽ kích hoạt một bộ luật tường lửa để chặn mọi lưu lượng không đến hoặc đi từ interface tunnel hoặc đến sai máy chủ DNS, với các ngoại lệ đặc biệt dành cho DHCP và NDP.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "\u0026Lưu",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Cancel",
"message": "Cancel",
"translation": "Huỷ",
"translatorComment": "Copied from source."
},
{
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "\u0026Cấu hình:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Invalid name",
"message": "Invalid name",
"translation": "Tên không hợp lệ",
@@ -457,7 +865,7 @@
{
"id": "Tunnel name ‘{NewName}’ is invalid.",
"message": "Tunnel name ‘{NewName}’ is invalid.",
- "translation": "Tên VPN ‘{NewName}' không hợp lệ.",
+ "translation": "Tên VPN ‘{NewName}’ không hợp lệ.",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -497,6 +905,806 @@
"expr": "newName"
}
]
+ },
+ {
+ "id": "Unable to create new configuration",
+ "message": "Unable to create new configuration",
+ "translation": "Không thể tạo cấu hình mới",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Writing file failed",
+ "message": "Writing file failed",
+ "translation": "Ghi tệp thất bại",
+ "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": "Tệp ‘{FilePath}’ đã tồn tại.\n\nBạn có muốn ghi đè không?",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "FilePath",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "filePath"
+ }
+ ]
+ },
+ {
+ "id": "Active",
+ "message": "Active",
+ "translation": "Đang hoạt động",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Activating",
+ "message": "Activating",
+ "translation": "Đang kích hoạt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Inactive",
+ "message": "Inactive",
+ "translation": "Không hoạt động",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Deactivating",
+ "message": "Deactivating",
+ "translation": "Đang hủy kích hoạt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Unknown state",
+ "message": "Unknown state",
+ "translation": "Trạng thái không rõ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log",
+ "message": "Log",
+ "translation": "Nhật ký",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "\u0026Sao chép",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "Chọn \u0026tất cả",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "\u0026Lưu vào tệp…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Time",
+ "message": "Time",
+ "translation": "Thời gian",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Log message",
+ "message": "Log message",
+ "translation": "Thông điệp nhật ký",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
+ "translation": "Tệp văn bản (*.txt)|*.txt|Tất cả tệp (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export log to file",
+ "message": "Export log to file",
+ "translation": "Xuất nhật ký ra tệp",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "\u0026Thông tin về WireGuard…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnel Error",
+ "message": "Tunnel Error",
+ "translation": "Lỗi VPN",
+ "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\nVui lòng xem nhật ký để biết thêm thông tin.",
+ "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} (đã lỗi thời)",
+ "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": "Lỗi phát hiện 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": "Không thể đợi cửa sổ WireGuard xuất hiện: {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: Đã hủy kích hoạt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Unknown",
+ "message": "Status: Unknown",
+ "translation": "Trạng thái: Không rõ",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Addresses: None",
+ "message": "Addresses: None",
+ "translation": "Địa chỉ: Không có",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "\u0026Quản lý VPN…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "\u0026Nhập VPN từ tệp…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "T\u0026hoát",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "\u0026VPN",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Activated",
+ "message": "WireGuard Activated",
+ "translation": "WireGuard đã được kích hoạt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been activated.",
+ "message": "The {Name} tunnel has been activated.",
+ "translation": "VPN {Name} đã được kích hoạt.",
+ "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 đã được hủy kích hoạt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "The {Name} tunnel has been deactivated.",
+ "message": "The {Name} tunnel has been deactivated.",
+ "translation": "VPN {Name} đã được hủy kích hoạt.",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Name",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "tunnel.Name"
+ }
+ ]
+ },
+ {
+ "id": "WireGuard Tunnel Error",
+ "message": "WireGuard Tunnel Error",
+ "translation": "Lỗi VPN WireGuard",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard: {TextForStateglobalState_true}",
+ "message": "WireGuard: {TextForStateglobalState_true}",
+ "translation": "",
+ "placeholders": [
+ {
+ "id": "TextForStateglobalState_true",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "textForState(globalState, true)"
+ }
+ ]
+ },
+ {
+ "id": "Status: {StateText}",
+ "message": "Status: {StateText}",
+ "translation": "Trạng thái: {StateText}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "StateText",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "stateText"
+ }
+ ]
+ },
+ {
+ "id": "Addresses: {EnumerationSeparator}",
+ "message": "Addresses: {EnumerationSeparator}",
+ "translation": "Địa chỉ: {EnumerationSeparator}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "EnumerationSeparator",
+ "string": "%[1]s",
+ "type": "string",
+ "underlyingType": "string",
+ "argNum": 1,
+ "expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
+ }
+ ]
+ },
+ {
+ "id": "An Update is Available!",
+ "message": "An Update is Available!",
+ "translation": "Có bản cập nhật mới!",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "WireGuard Update Available",
+ "message": "WireGuard Update Available",
+ "translation": "Có bản cập nhật 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": "Đã có bản cập nhật mới cho WireGuard. Bạn nên cập nhật càng sớm càng tốt.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Tunnels",
+ "message": "Tunnels",
+ "translation": "Các VPN",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "\u0026Chỉnh sửa",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "Thêm VPN \u0026trống…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Add Tunnel",
+ "message": "Add Tunnel",
+ "translation": "Thêm VPN",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Remove selected tunnel(s)",
+ "message": "Remove selected tunnel(s)",
+ "translation": "Xoá (các) VPN đã chọn",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to zip",
+ "message": "Export all tunnels to zip",
+ "translation": "Xuất tất cả VPN ra tệp zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "\u0026Bật/Tắt",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "Xuất tất cả VPN ra tệp \u0026zip…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "Chỉnh sửa \u0026VPN đã chọn…",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "\u0026Xoá (các) VPN đã chọn",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "no configuration files were found",
+ "message": "no configuration files were found",
+ "translation": "không tìm thấy tệp cấu hình nào",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Could not import selected configuration: {LastErr}",
+ "message": "Could not import selected configuration: {LastErr}",
+ "translation": "Không thể nhập cấu hình đã chọn: {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: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "Không thể liệt kê các VPN hiện có: {Err}",
+ "translatorComment": "Copied from source.",
+ "placeholders": [
+ {
+ "id": "Err",
+ "string": "%[1]v",
+ "type": "error",
+ "underlyingType": "interface{Error() string}",
+ "argNum": 1,
+ "expr": "err"
+ }
+ ]
+ },
+ {
+ "id": "Another tunnel already exists with the name ‘{Name}’",
+ "message": "Another tunnel already exists with the name ‘{Name}’",
+ "translation": "Đã tồn tại một VPN khác với tên ‘{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": "Không thể nhập cấu hình: {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": "Đã nhập VPN",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Imported {M} tunnels",
+ "message": "Imported {M} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "M",
+ "cases": {
+ "other": {
+ "msg": "Đã nhập {M} VPN"
+ }
+ }
+ }
+ },
+ "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": "Đã nhập {M} trên {N} VPN"
+ }
+ }
+ }
+ },
+ "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": "Không thể tạo VPN",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Delete {TunnelCount} tunnels",
+ "message": "Delete {TunnelCount} tunnels",
+ "translation": {
+ "select": {
+ "feature": "plural",
+ "arg": "TunnelCount",
+ "cases": {
+ "other": {
+ "msg": "Xoá {TunnelCount} VPN"
+ }
+ }
+ }
+ },
+ "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": "Bạn có chắc chắn muốn xoá {TunnelCount} VPN không?"
+ }
+ }
+ }
+ },
+ "placeholders": [
+ {
+ "id": "TunnelCount",
+ "string": "%[1]d",
+ "type": "int",
+ "underlyingType": "int",
+ "argNum": 1,
+ "expr": "tunnelCount"
+ }
+ ]
+ },
+ {
+ "id": "Delete tunnel ‘{TunnelName}’",
+ "message": "Delete tunnel ‘{TunnelName}’",
+ "translation": "Xoá VPN ‘{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": "Bạn có chắc chắn muốn xoá VPN ‘{TunnelName}’ không?",
+ "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} Bạn không thể hoàn tác hành động này.",
+ "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": "Không thể xoá VPN",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "A tunnel was unable to be removed: {Error}",
+ "message": "A tunnel was unable to be removed: {Error}",
+ "translation": "Không thể xoá một VPN: {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": "Không thể xoá các VPN",
+ "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": "Không thể xoá {Lenerrors} VPN."
+ }
+ }
+ }
+ },
+ "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": "Tệp cấu hình (*.zip, *.conf)|*.zip;*.conf|Tất cả tệp (*.*)|*.*",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Import tunnel(s) from file",
+ "message": "Import tunnel(s) from file",
+ "translation": "Nhập VPN từ tệp",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Configuration ZIP Files (*.zip)|*.zip",
+ "message": "Configuration ZIP Files (*.zip)|*.zip",
+ "translation": "Tệp ZIP cấu hình (*.zip)|*.zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Export tunnels to zip",
+ "message": "Export tunnels to zip",
+ "translation": "Xuất các VPN ra tệp zip",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "{Title} (unsigned build, no updates)",
+ "message": "{Title} (unsigned build, no updates)",
+ "translation": "{Title} (bản dựng chưa ký, không có cập nhật)",
+ "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": "Lỗi khi thoát 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": "Không thể thoát dịch vụ do: {Err}. Bạn có thể dừng WireGuard từ trình quản lý dịch vụ.",
+ "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": "Đã có bản cập nhật mới cho WireGuard. Bạn rất nên cập nhật ngay không trì hoãn.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for user",
+ "message": "Status: Waiting for user",
+ "translation": "Trạng thái: Đang đợi người dùng",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Update Now",
+ "message": "Update Now",
+ "translation": "Cập nhật ngay",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "Vui lòng yêu cầu quản trị viên hệ thống cập nhật.",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "Trạng thái: Đang đợi quản trị viên",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for updater service",
+ "message": "Status: Waiting for updater service",
+ "translation": "Trạng thái: Đang đợi dịch vụ cập nhật",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Error: {Err}. Please try again.",
+ "message": "Error: {Err}. Please try again.",
+ "translation": "Lỗi: {Err}. Vui lòng thử lại.",
+ "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": "Trạng thái: Hoàn tất!",
+ "translatorComment": "Copied from source."
}
]
} \ No newline at end of file
diff --git a/locales/zh-CN/messages.gotext.json b/locales/zh-CN/messages.gotext.json
index ea56a3f1..5f66cdd8 100644
--- a/locales/zh-CN/messages.gotext.json
+++ b/locales/zh-CN/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "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": "(无参数): 提升并安装管理服务",
@@ -355,7 +361,7 @@
{
"id": "{Why}: {Offender}",
"message": "{Why}: {Offender}",
- "translation": "{Why}: {Offender}",
+ "translation": "{Why}:{Offender}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -377,15 +383,9 @@
]
},
{
- "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": "网络前缀长度无效",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "无效的 IP 地址:",
"translatorComment": "Copied from source."
},
{
@@ -447,22 +447,6 @@
"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": "存在多余的逗号",
@@ -523,40 +507,18 @@
"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 ‘リンゴ、オレンジ、イチゴ’."
+ "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 ‘リンゴ、オレンジ、イチゴ’.",
+ "translatorComment": "Copied from source."
},
{
"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秒’."
+ "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秒’.",
+ "translatorComment": "Copied from source."
},
{
"id": "About WireGuard",
@@ -571,9 +533,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "应用版本: {Number}\nGo 后端版本: {WireGuardGoVersion}\nGo 语言版本: {Version_go}-{GOARCH}\n操作系统: {OsName}\n架构: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "应用版本: {Number}\n驱动版本: {Version}\nGo 语言版本: {Version_go}\n操作系统: {OsName}\n架构: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -585,12 +547,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -601,28 +563,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -633,9 +587,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ 捐助! (&D)",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ 捐助! (\u0026D)",
"translatorComment": "Copied from source."
},
{
@@ -645,15 +599,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "断开 (&D)",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "断开 (\u0026D)",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "连接 (&A)",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "连接 (\u0026A)",
"translatorComment": "Copied from source."
},
{
@@ -693,6 +647,12 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "路由表:",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "预共享密钥:",
@@ -755,7 +715,13 @@
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "已禁用(依管理策略)",
+ "translation": "已根据策略禁用",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "关闭",
"translatorComment": "Copied from source."
},
{
@@ -841,15 +807,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "名称 (&N):",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "名称 (\u0026N):",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "公钥 (&P):",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "公钥 (\u0026P):",
"translatorComment": "Copied from source."
},
{
@@ -859,21 +825,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "拦截未经隧道的流量 (kill-switch) (&B)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "拦截未经隧道的流量 (kill-switch) (\u0026B)",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "只有一个节点,且该节点允许的 IP 中包含 0.0.0.0/0 或 ::/0 时,使用防火墙规则拦截所有未通过隧道,或是发往错误的 DNS 服务器的流量。DHCP 和 NDP 流量不受影响。",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "只有一个节点,该节点允许的 IP 中包含 0.0.0.0/0 或 ::/0,且接口未设置 table off 时,使用防火墙规则拦截所有未通过隧道或发往错误 DNS 服务器的流量。DHCP 和 NDP 流量不受影响。",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "保存 (&S)",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "保存 (\u0026S)",
"translatorComment": "Copied from source."
},
{
@@ -883,9 +849,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "配置 (&C):",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "配置 (\u0026C):",
"translatorComment": "Copied from source."
},
{
@@ -1009,21 +975,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "复制 (&C)",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "复制 (\u0026C)",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "全选 (&A)",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "全选 (\u0026A)",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "导出… (&S)",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "导出… (\u0026S)",
"translatorComment": "Copied from source."
},
{
@@ -1051,9 +1017,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "关于 WireGuard… (&A)",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "关于 WireGuard… (\u0026A)",
"translatorComment": "Copied from source."
},
{
@@ -1135,27 +1101,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "管理隧道… (&M)",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "管理隧道… (\u0026M)",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "从文件导入隧道… (&I)",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "从文件导入隧道… (\u0026I)",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "退出 (&E)",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "退出 (\u0026E)",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "隧道 (&T)",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "隧道 (\u0026T)",
"translatorComment": "Copied from source."
},
{
@@ -1281,15 +1247,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "编辑 (&E)",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "编辑 (\u0026E)",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "新建空隧道… (&E)",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "新建空隧道… (\u0026E)",
"translatorComment": "Copied from source."
},
{
@@ -1311,27 +1277,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "切换连接状态 (&T)",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "切换连接状态 (\u0026T)",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "导出所有隧道 (ZIP 压缩包)… (&Z)",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "导出所有隧道 (ZIP 压缩包)… (\u0026Z)",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "编辑所选隧道… (&E)",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "编辑所选隧道… (\u0026E)",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "删除所选隧道 (&R)",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "删除所选隧道 (\u0026R)",
"translatorComment": "Copied from source."
},
{
@@ -1357,18 +1323,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "无法列出现有隧道: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "无法列出现有隧道: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1706,6 +1672,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "请联系系统管理员进行更新。",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "状态: 等待管理员",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "状态: 等待更新服务",
@@ -1732,86 +1710,6 @@
"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/locales/zh-TW/messages.gotext.json b/locales/zh-TW/messages.gotext.json
index 1fc0fd01..5096911f 100644
--- a/locales/zh-TW/messages.gotext.json
+++ b/locales/zh-TW/messages.gotext.json
@@ -8,6 +8,12 @@
"translatorComment": "Copied from source."
},
{
+ "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": "(無參數):提升權限並安裝管理服務",
@@ -62,7 +68,7 @@
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
- "translation": "您必須在此電腦上執行原生版本的 WireGuard。",
+ "translation": "在這台電腦上必須使用原生版本的 WireGuard。",
"translatorComment": "Copied from source."
},
{
@@ -377,15 +383,9 @@
]
},
{
- "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": "無效的網路位址首碼長度",
+ "id": "Invalid IP address:",
+ "message": "Invalid IP address:",
+ "translation": "無效的 IP 位址:",
"translatorComment": "Copied from source."
},
{
@@ -447,22 +447,6 @@
"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": "一行中有兩個逗號",
@@ -523,40 +507,18 @@
"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": "Interface 中的金鑰無效",
- "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": "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 ‘リンゴ、オレンジ、イチゴ’."
+ "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 ‘リンゴ、オレンジ、イチゴ’.",
+ "translatorComment": "Copied from source."
},
{
"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秒’."
+ "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秒’.",
+ "translatorComment": "Copied from source."
},
{
"id": "About WireGuard",
@@ -571,9 +533,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
- "translation": "應用程式版本: {Number}\n後端程式(Go 實作)版本: {WireGuardGoVersion}\nGo 版本: {Version_go}-{GOARCH}\n作業系統: {OsName}\n架構: {NativeArch}",
+ "id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
+ "translation": "應用程式版本: {Number}\n驅動程式版本: {Version}\nGo 版本: {Version_go}\n作業系統: {OsName}\n架構: {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -585,12 +547,12 @@
"expr": "version.Number"
},
{
- "id": "WireGuardGoVersion",
+ "id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
- "expr": "device.WireGuardGoVersion"
+ "expr": "driver.Version()"
},
{
"id": "Version_go",
@@ -601,28 +563,20 @@
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
- "id": "GOARCH",
+ "id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
- "expr": "runtime.GOARCH"
+ "expr": "version.OsName()"
},
{
- "id": "OsName",
+ "id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
- "expr": "version.OsName()"
- },
- {
- "id": "NativeArch",
- "string": "%[6]s",
- "type": "string",
- "underlyingType": "string",
- "argNum": 6,
- "expr": "version.NativeArch()"
+ "expr": "version.Arch()"
}
]
},
@@ -633,9 +587,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "♥ &Donate!",
- "message": "♥ &Donate!",
- "translation": "♥ 捐贈! (&D)",
+ "id": "♥ \u0026Donate!",
+ "message": "♥ \u0026Donate!",
+ "translation": "♥ 捐贈! (\u0026D)",
"translatorComment": "Copied from source."
},
{
@@ -645,15 +599,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Deactivate",
- "message": "&Deactivate",
- "translation": "中斷連線 (&D)",
+ "id": "\u0026Deactivate",
+ "message": "\u0026Deactivate",
+ "translation": "中斷連線 (\u0026D)",
"translatorComment": "Copied from source."
},
{
- "id": "&Activate",
- "message": "&Activate",
- "translation": "連線 (&A)",
+ "id": "\u0026Activate",
+ "message": "\u0026Activate",
+ "translation": "連線 (\u0026A)",
"translatorComment": "Copied from source."
},
{
@@ -689,7 +643,13 @@
{
"id": "Scripts:",
"message": "Scripts:",
- "translation": "指令碼:",
+ "translation": "指令碼",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Table:",
+ "message": "Table:",
+ "translation": "路由表",
"translatorComment": "Copied from source."
},
{
@@ -731,13 +691,13 @@
{
"id": "pre-up",
"message": "pre-up",
- "translation": "連接前",
+ "translation": "連線前",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
- "translation": "連接後",
+ "translation": "連線後",
"translatorComment": "Copied from source."
},
{
@@ -755,7 +715,13 @@
{
"id": "disabled, per policy",
"message": "disabled, per policy",
- "translation": "已關閉, 隨著策略",
+ "translation": "已依群組原則停用",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "off",
+ "message": "off",
+ "translation": "關閉",
"translatorComment": "Copied from source."
},
{
@@ -841,15 +807,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Name:",
- "message": "&Name:",
- "translation": "名稱 (&N)",
+ "id": "\u0026Name:",
+ "message": "\u0026Name:",
+ "translation": "名稱 (\u0026N)",
"translatorComment": "Copied from source."
},
{
- "id": "&Public key:",
- "message": "&Public key:",
- "translation": "公鑰 (&P)",
+ "id": "\u0026Public key:",
+ "message": "\u0026Public key:",
+ "translation": "公鑰 (\u0026P)",
"translatorComment": "Copied from source."
},
{
@@ -859,21 +825,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Block untunneled traffic (kill-switch)",
- "message": "&Block untunneled traffic (kill-switch)",
- "translation": "阻斷未經過隧道的流量(kill-switch) (&B)",
+ "id": "\u0026Block untunneled traffic (kill-switch)",
+ "message": "\u0026Block untunneled traffic (kill-switch)",
+ "translation": "阻斷未經過隧道的流量(kill-switch) (\u0026B)",
"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 or is to the wrong DNS server, 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 or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
- "translation": "只有一個節點且該節點允許位址包含 0.0.0.0/0 或 ::/0 時,使用防火牆攔截所有非通過隧道,或是目的地為錯誤 DNS 伺服器的流量。\n(DHCP 及 NDP 流量除外)",
+ "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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, 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, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
+ "translation": "當設定中只有一個節點,且該節點的允許位址包含 0.0.0.0/0 或 ::/0 至少其中之一,並且介面未設定 table off 時,隧道服務會啟用防火牆規則集,阻擋所有未經隧道介面進出或是傳送至錯誤 DNS 伺服器的流量,但對 DHCP 與 NDP 設有特殊例外。",
"translatorComment": "Copied from source."
},
{
- "id": "&Save",
- "message": "&Save",
- "translation": "儲存 (&S)",
+ "id": "\u0026Save",
+ "message": "\u0026Save",
+ "translation": "儲存 (\u0026S)",
"translatorComment": "Copied from source."
},
{
@@ -883,9 +849,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Configuration:",
- "message": "&Configuration:",
- "translation": "設定 (&C)",
+ "id": "\u0026Configuration:",
+ "message": "\u0026Configuration:",
+ "translation": "設定 (\u0026C)",
"translatorComment": "Copied from source."
},
{
@@ -1009,21 +975,21 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Copy",
- "message": "&Copy",
- "translation": "複製 (&C)",
+ "id": "\u0026Copy",
+ "message": "\u0026Copy",
+ "translation": "複製 (\u0026C)",
"translatorComment": "Copied from source."
},
{
- "id": "Select &all",
- "message": "Select &all",
- "translation": "全選 (&A)",
+ "id": "Select \u0026all",
+ "message": "Select \u0026all",
+ "translation": "全選 (\u0026A)",
"translatorComment": "Copied from source."
},
{
- "id": "&Save to file…",
- "message": "&Save to file…",
- "translation": "匯出… (&S)",
+ "id": "\u0026Save to file…",
+ "message": "\u0026Save to file…",
+ "translation": "匯出… (\u0026S)",
"translatorComment": "Copied from source."
},
{
@@ -1051,9 +1017,9 @@
"translatorComment": "Copied from source."
},
{
- "id": "&About WireGuard…",
- "message": "&About WireGuard…",
- "translation": "關於 WireGuard (&A)",
+ "id": "\u0026About WireGuard…",
+ "message": "\u0026About WireGuard…",
+ "translation": "關於 WireGuard (\u0026A)",
"translatorComment": "Copied from source."
},
{
@@ -1135,27 +1101,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Manage tunnels…",
- "message": "&Manage tunnels…",
- "translation": "管理隧道 (&M)",
+ "id": "\u0026Manage tunnels…",
+ "message": "\u0026Manage tunnels…",
+ "translation": "管理隧道 (\u0026M)",
"translatorComment": "Copied from source."
},
{
- "id": "&Import tunnel(s) from file…",
- "message": "&Import tunnel(s) from file…",
- "translation": "從檔案匯入… (&I)",
+ "id": "\u0026Import tunnel(s) from file…",
+ "message": "\u0026Import tunnel(s) from file…",
+ "translation": "從檔案匯入… (\u0026I)",
"translatorComment": "Copied from source."
},
{
- "id": "E&xit",
- "message": "E&xit",
- "translation": "離開 (&X)",
+ "id": "E\u0026xit",
+ "message": "E\u0026xit",
+ "translation": "離開 (\u0026X)",
"translatorComment": "Copied from source."
},
{
- "id": "&Tunnels",
- "message": "&Tunnels",
- "translation": "隧道(&T)",
+ "id": "\u0026Tunnels",
+ "message": "\u0026Tunnels",
+ "translation": "隧道 (\u0026T)",
"translatorComment": "Copied from source."
},
{
@@ -1243,7 +1209,7 @@
{
"id": "Addresses: {EnumerationSeparator}",
"message": "Addresses: {EnumerationSeparator}",
- "translation": "位址: {EnumerationSeparator}",
+ "translation": "[位址] {EnumerationSeparator}",
"translatorComment": "Copied from source.",
"placeholders": [
{
@@ -1281,15 +1247,15 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Edit",
- "message": "&Edit",
- "translation": "編輯 (&E)",
+ "id": "\u0026Edit",
+ "message": "\u0026Edit",
+ "translation": "編輯 (\u0026E)",
"translatorComment": "Copied from source."
},
{
- "id": "Add &empty tunnel…",
- "message": "Add &empty tunnel…",
- "translation": "新增隧道精靈 (&E)",
+ "id": "Add \u0026empty tunnel…",
+ "message": "Add \u0026empty tunnel…",
+ "translation": "新增隧道精靈 (\u0026E)",
"translatorComment": "Copied from source."
},
{
@@ -1311,27 +1277,27 @@
"translatorComment": "Copied from source."
},
{
- "id": "&Toggle",
- "message": "&Toggle",
- "translation": "切換連線狀態 (&T)",
+ "id": "\u0026Toggle",
+ "message": "\u0026Toggle",
+ "translation": "切換連線狀態 (\u0026T)",
"translatorComment": "Copied from source."
},
{
- "id": "Export all tunnels to &zip…",
- "message": "Export all tunnels to &zip…",
- "translation": "匯出所有隧道至 &ZIP 壓縮檔",
+ "id": "Export all tunnels to \u0026zip…",
+ "message": "Export all tunnels to \u0026zip…",
+ "translation": "匯出所有隧道至 \u0026ZIP 壓縮檔",
"translatorComment": "Copied from source."
},
{
- "id": "Edit &selected tunnel…",
- "message": "Edit &selected tunnel…",
- "translation": "編輯選取隧道 (&S)",
+ "id": "Edit \u0026selected tunnel…",
+ "message": "Edit \u0026selected tunnel…",
+ "translation": "編輯選取隧道 (\u0026S)",
"translatorComment": "Copied from source."
},
{
- "id": "&Remove selected tunnel(s)",
- "message": "&Remove selected tunnel(s)",
- "translation": "刪除已選取隧道 (&R)",
+ "id": "\u0026Remove selected tunnel(s)",
+ "message": "\u0026Remove selected tunnel(s)",
+ "translation": "刪除已選取隧道 (\u0026R)",
"translatorComment": "Copied from source."
},
{
@@ -1357,18 +1323,18 @@
]
},
{
- "id": "Could not enumerate existing tunnels: {LastErr}",
- "message": "Could not enumerate existing tunnels: {LastErr}",
- "translation": "無法列出隧道: {LastErr}",
+ "id": "Could not enumerate existing tunnels: {Err}",
+ "message": "Could not enumerate existing tunnels: {Err}",
+ "translation": "無法列舉現有隧道: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
- "id": "LastErr",
+ "id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
- "expr": "lastErr"
+ "expr": "err"
}
]
},
@@ -1706,6 +1672,18 @@
"translatorComment": "Copied from source."
},
{
+ "id": "Please ask the system administrator to update.",
+ "message": "Please ask the system administrator to update.",
+ "translation": "請聯絡系統管理員以進行更新。",
+ "translatorComment": "Copied from source."
+ },
+ {
+ "id": "Status: Waiting for administrator",
+ "message": "Status: Waiting for administrator",
+ "translation": "狀態:等待管理員",
+ "translatorComment": "Copied from source."
+ },
+ {
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "狀態:等待更新服務",
@@ -1732,86 +1710,6 @@
"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}: failed to decode just-written frame",
- "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}: wrote {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}: read {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: decoded hpack field {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