golang.zx2c4.com/wireguard/windows@v0.5.4-0.20230123132234-dcc0eb72a04b/locales/en/messages.gotext.json (about) 1 { 2 "language": "en", 3 "messages": [ 4 { 5 "id": "Error", 6 "message": "Error", 7 "translation": "Error", 8 "translatorComment": "Copied from source.", 9 "fuzzy": true 10 }, 11 { 12 "id": "(no argument): elevate and install manager service", 13 "message": "(no argument): elevate and install manager service", 14 "translation": "(no argument): elevate and install manager service", 15 "translatorComment": "Copied from source.", 16 "fuzzy": true 17 }, 18 { 19 "id": "Usage: {Args0} [\n{String}]", 20 "message": "Usage: {Args0} [\n{String}]", 21 "translation": "Usage: {Args0} [\n{String}]", 22 "translatorComment": "Copied from source.", 23 "placeholders": [ 24 { 25 "id": "Args0", 26 "string": "%[1]s", 27 "type": "string", 28 "underlyingType": "string", 29 "argNum": 1, 30 "expr": "os.Args[0]" 31 }, 32 { 33 "id": "String", 34 "string": "%[2]s", 35 "type": "string", 36 "underlyingType": "string", 37 "argNum": 2, 38 "expr": "builder.String()" 39 } 40 ], 41 "fuzzy": true 42 }, 43 { 44 "id": "Command Line Options", 45 "message": "Command Line Options", 46 "translation": "Command Line Options", 47 "translatorComment": "Copied from source.", 48 "fuzzy": true 49 }, 50 { 51 "id": "Unable to determine whether the process is running under WOW64: {Err}", 52 "message": "Unable to determine whether the process is running under WOW64: {Err}", 53 "translation": "Unable to determine whether the process is running under WOW64: {Err}", 54 "translatorComment": "Copied from source.", 55 "placeholders": [ 56 { 57 "id": "Err", 58 "string": "%[1]v", 59 "type": "error", 60 "underlyingType": "interface{Error() string}", 61 "argNum": 1, 62 "expr": "err" 63 } 64 ], 65 "fuzzy": true 66 }, 67 { 68 "id": "You must use the 64-bit version of WireGuard on this computer.", 69 "message": "You must use the 64-bit version of WireGuard on this computer.", 70 "translation": "You must use the 64-bit version of WireGuard on this computer.", 71 "translatorComment": "Copied from source.", 72 "fuzzy": true 73 }, 74 { 75 "id": "Unable to open current process token: {Err}", 76 "message": "Unable to open current process token: {Err}", 77 "translation": "Unable to open current process token: {Err}", 78 "translatorComment": "Copied from source.", 79 "placeholders": [ 80 { 81 "id": "Err", 82 "string": "%[1]v", 83 "type": "error", 84 "underlyingType": "interface{Error() string}", 85 "argNum": 1, 86 "expr": "err" 87 } 88 ], 89 "fuzzy": true 90 }, 91 { 92 "id": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.", 93 "message": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.", 94 "translation": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.", 95 "translatorComment": "Copied from source.", 96 "placeholders": [ 97 { 98 "id": "AdminGroupName", 99 "string": "%[1]s", 100 "type": "string", 101 "underlyingType": "string", 102 "argNum": 1, 103 "expr": "elevate.AdminGroupName()" 104 } 105 ], 106 "fuzzy": true 107 }, 108 { 109 "id": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.", 110 "message": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.", 111 "translation": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.", 112 "translatorComment": "Copied from source.", 113 "placeholders": [ 114 { 115 "id": "AdminGroupName", 116 "string": "%[1]s", 117 "type": "string", 118 "underlyingType": "string", 119 "argNum": 1, 120 "expr": "elevate.AdminGroupName()" 121 } 122 ], 123 "fuzzy": true 124 }, 125 { 126 "id": "WireGuard system tray icon did not appear after 30 seconds.", 127 "message": "WireGuard system tray icon did not appear after 30 seconds.", 128 "translation": "WireGuard system tray icon did not appear after 30 seconds.", 129 "translatorComment": "Copied from source.", 130 "fuzzy": true 131 }, 132 { 133 "id": "Now", 134 "message": "Now", 135 "translation": "Now", 136 "translatorComment": "Copied from source.", 137 "fuzzy": true 138 }, 139 { 140 "id": "System clock wound backward!", 141 "message": "System clock wound backward!", 142 "translation": "System clock wound backward!", 143 "translatorComment": "Copied from source.", 144 "fuzzy": true 145 }, 146 { 147 "id": "{Years} year(s)", 148 "message": "{Years} year(s)", 149 "translation": { 150 "select": { 151 "feature": "plural", 152 "arg": "Years", 153 "cases": { 154 "one": { 155 "msg": "{Years} year" 156 }, 157 "other": { 158 "msg": "{Years} years" 159 } 160 } 161 } 162 }, 163 "placeholders": [ 164 { 165 "id": "Years", 166 "string": "%[1]d", 167 "type": "int64", 168 "underlyingType": "int64", 169 "argNum": 1, 170 "expr": "years" 171 } 172 ] 173 }, 174 { 175 "id": "{Days} day(s)", 176 "message": "{Days} day(s)", 177 "translation": { 178 "select": { 179 "feature": "plural", 180 "arg": "Days", 181 "cases": { 182 "one": { 183 "msg": "{Days} day" 184 }, 185 "other": { 186 "msg": "{Days} days" 187 } 188 } 189 } 190 }, 191 "placeholders": [ 192 { 193 "id": "Days", 194 "string": "%[1]d", 195 "type": "int64", 196 "underlyingType": "int64", 197 "argNum": 1, 198 "expr": "days" 199 } 200 ] 201 }, 202 { 203 "id": "{Hours} hour(s)", 204 "message": "{Hours} hour(s)", 205 "translation": { 206 "select": { 207 "feature": "plural", 208 "arg": "Hours", 209 "cases": { 210 "one": { 211 "msg": "{Hours} hour" 212 }, 213 "other": { 214 "msg": "{Hours} hours" 215 } 216 } 217 } 218 }, 219 "placeholders": [ 220 { 221 "id": "Hours", 222 "string": "%[1]d", 223 "type": "int64", 224 "underlyingType": "int64", 225 "argNum": 1, 226 "expr": "hours" 227 } 228 ] 229 }, 230 { 231 "id": "{Minutes} minute(s)", 232 "message": "{Minutes} minute(s)", 233 "translation": { 234 "select": { 235 "feature": "plural", 236 "arg": "Minutes", 237 "cases": { 238 "one": { 239 "msg": "{Minutes} minute" 240 }, 241 "other": { 242 "msg": "{Minutes} minutes" 243 } 244 } 245 } 246 }, 247 "placeholders": [ 248 { 249 "id": "Minutes", 250 "string": "%[1]d", 251 "type": "int64", 252 "underlyingType": "int64", 253 "argNum": 1, 254 "expr": "minutes" 255 } 256 ] 257 }, 258 { 259 "id": "{Seconds} second(s)", 260 "message": "{Seconds} second(s)", 261 "translation": { 262 "select": { 263 "feature": "plural", 264 "arg": "Seconds", 265 "cases": { 266 "one": { 267 "msg": "{Seconds} second" 268 }, 269 "other": { 270 "msg": "{Seconds} seconds" 271 } 272 } 273 } 274 }, 275 "placeholders": [ 276 { 277 "id": "Seconds", 278 "string": "%[1]d", 279 "type": "int64", 280 "underlyingType": "int64", 281 "argNum": 1, 282 "expr": "seconds" 283 } 284 ] 285 }, 286 { 287 "id": "{Timestamp} ago", 288 "message": "{Timestamp} ago", 289 "translation": "{Timestamp} ago", 290 "translatorComment": "Copied from source.", 291 "placeholders": [ 292 { 293 "id": "Timestamp", 294 "string": "%[1]s", 295 "type": "string", 296 "underlyingType": "string", 297 "argNum": 1, 298 "expr": "timestamp" 299 } 300 ], 301 "fuzzy": true 302 }, 303 { 304 "id": "{Bytes} B", 305 "message": "{Bytes} B", 306 "translation": "{Bytes} B", 307 "translatorComment": "Copied from source.", 308 "placeholders": [ 309 { 310 "id": "Bytes", 311 "string": "%[1]d", 312 "type": "golang.zx2c4.com/wireguard/windows/conf.Bytes", 313 "underlyingType": "uint64", 314 "argNum": 1, 315 "expr": "b" 316 } 317 ], 318 "fuzzy": true 319 }, 320 { 321 "id": "{Float64b__1024} KiB", 322 "message": "{Float64b__1024} KiB", 323 "translation": "{Float64b__1024} KiB", 324 "translatorComment": "Copied from source.", 325 "placeholders": [ 326 { 327 "id": "Float64b__1024", 328 "string": "%.2[1]f", 329 "type": "float64", 330 "underlyingType": "float64", 331 "argNum": 1, 332 "expr": "float64(b) / 1024" 333 } 334 ], 335 "fuzzy": true 336 }, 337 { 338 "id": "{Float64b__1024__1024} MiB", 339 "message": "{Float64b__1024__1024} MiB", 340 "translation": "{Float64b__1024__1024} MiB", 341 "translatorComment": "Copied from source.", 342 "placeholders": [ 343 { 344 "id": "Float64b__1024__1024", 345 "string": "%.2[1]f", 346 "type": "float64", 347 "underlyingType": "float64", 348 "argNum": 1, 349 "expr": "float64(b) / (1024 * 1024)" 350 } 351 ], 352 "fuzzy": true 353 }, 354 { 355 "id": "{Float64b__1024__1024__1024} GiB", 356 "message": "{Float64b__1024__1024__1024} GiB", 357 "translation": "{Float64b__1024__1024__1024} GiB", 358 "translatorComment": "Copied from source.", 359 "placeholders": [ 360 { 361 "id": "Float64b__1024__1024__1024", 362 "string": "%.2[1]f", 363 "type": "float64", 364 "underlyingType": "float64", 365 "argNum": 1, 366 "expr": "float64(b) / (1024 * 1024 * 1024)" 367 } 368 ], 369 "fuzzy": true 370 }, 371 { 372 "id": "{Float64b__1024__1024__1024__1024} TiB", 373 "message": "{Float64b__1024__1024__1024__1024} TiB", 374 "translation": "{Float64b__1024__1024__1024__1024} TiB", 375 "translatorComment": "Copied from source.", 376 "placeholders": [ 377 { 378 "id": "Float64b__1024__1024__1024__1024", 379 "string": "%.2[1]f", 380 "type": "float64", 381 "underlyingType": "float64", 382 "argNum": 1, 383 "expr": "float64(b) / (1024 * 1024 * 1024) / 1024" 384 } 385 ], 386 "fuzzy": true 387 }, 388 { 389 "id": "{Why}: {Offender}", 390 "message": "{Why}: {Offender}", 391 "translation": "{Why}: {Offender}", 392 "translatorComment": "Copied from source.", 393 "placeholders": [ 394 { 395 "id": "Why", 396 "string": "%[1]s", 397 "type": "string", 398 "underlyingType": "string", 399 "argNum": 1, 400 "expr": "e.why" 401 }, 402 { 403 "id": "Offender", 404 "string": "%[2]q", 405 "type": "string", 406 "underlyingType": "string", 407 "argNum": 2, 408 "expr": "e.offender" 409 } 410 ], 411 "fuzzy": true 412 }, 413 { 414 "id": "Invalid IP address", 415 "message": "Invalid IP address", 416 "translation": "Invalid IP address", 417 "translatorComment": "Copied from source.", 418 "fuzzy": true 419 }, 420 { 421 "id": "Invalid network prefix length", 422 "message": "Invalid network prefix length", 423 "translation": "Invalid network prefix length", 424 "translatorComment": "Copied from source.", 425 "fuzzy": true 426 }, 427 { 428 "id": "Missing port from endpoint", 429 "message": "Missing port from endpoint", 430 "translation": "Missing port from endpoint", 431 "translatorComment": "Copied from source.", 432 "fuzzy": true 433 }, 434 { 435 "id": "Invalid endpoint host", 436 "message": "Invalid endpoint host", 437 "translation": "Invalid endpoint host", 438 "translatorComment": "Copied from source.", 439 "fuzzy": true 440 }, 441 { 442 "id": "Brackets must contain an IPv6 address", 443 "message": "Brackets must contain an IPv6 address", 444 "translation": "Brackets must contain an IPv6 address", 445 "translatorComment": "Copied from source.", 446 "fuzzy": true 447 }, 448 { 449 "id": "Invalid MTU", 450 "message": "Invalid MTU", 451 "translation": "Invalid MTU", 452 "translatorComment": "Copied from source.", 453 "fuzzy": true 454 }, 455 { 456 "id": "Invalid port", 457 "message": "Invalid port", 458 "translation": "Invalid port", 459 "translatorComment": "Copied from source.", 460 "fuzzy": true 461 }, 462 { 463 "id": "Invalid persistent keepalive", 464 "message": "Invalid persistent keepalive", 465 "translation": "Invalid persistent keepalive", 466 "translatorComment": "Copied from source.", 467 "fuzzy": true 468 }, 469 { 470 "id": "Invalid key: {Err}", 471 "message": "Invalid key: {Err}", 472 "translation": "Invalid key: {Err}", 473 "translatorComment": "Copied from source.", 474 "placeholders": [ 475 { 476 "id": "Err", 477 "string": "%[1]v", 478 "type": "error", 479 "underlyingType": "interface{Error() string}", 480 "argNum": 1, 481 "expr": "err" 482 } 483 ], 484 "fuzzy": true 485 }, 486 { 487 "id": "Keys must decode to exactly 32 bytes", 488 "message": "Keys must decode to exactly 32 bytes", 489 "translation": "Keys must decode to exactly 32 bytes", 490 "translatorComment": "Copied from source.", 491 "fuzzy": true 492 }, 493 { 494 "id": "Number must be a number between 0 and 2^64-1: {Err}", 495 "message": "Number must be a number between 0 and 2^64-1: {Err}", 496 "translation": "Number must be a number between 0 and 2^64-1: {Err}", 497 "translatorComment": "Copied from source.", 498 "placeholders": [ 499 { 500 "id": "Err", 501 "string": "%[1]v", 502 "type": "error", 503 "underlyingType": "interface{Error() string}", 504 "argNum": 1, 505 "expr": "err" 506 } 507 ], 508 "fuzzy": true 509 }, 510 { 511 "id": "Two commas in a row", 512 "message": "Two commas in a row", 513 "translation": "Two commas in a row", 514 "translatorComment": "Copied from source.", 515 "fuzzy": true 516 }, 517 { 518 "id": "Tunnel name is not valid", 519 "message": "Tunnel name is not valid", 520 "translation": "Tunnel name is not valid", 521 "translatorComment": "Copied from source.", 522 "fuzzy": true 523 }, 524 { 525 "id": "Line must occur in a section", 526 "message": "Line must occur in a section", 527 "translation": "Line must occur in a section", 528 "translatorComment": "Copied from source.", 529 "fuzzy": true 530 }, 531 { 532 "id": "Config key is missing an equals separator", 533 "message": "Config key is missing an equals separator", 534 "translation": "Config key is missing an equals separator", 535 "translatorComment": "Copied from source.", 536 "fuzzy": true 537 }, 538 { 539 "id": "Key must have a value", 540 "message": "Key must have a value", 541 "translation": "Key must have a value", 542 "translatorComment": "Copied from source.", 543 "fuzzy": true 544 }, 545 { 546 "id": "Invalid key for [Interface] section", 547 "message": "Invalid key for [Interface] section", 548 "translation": "Invalid key for [Interface] section", 549 "translatorComment": "Copied from source.", 550 "fuzzy": true 551 }, 552 { 553 "id": "Invalid key for [Peer] section", 554 "message": "Invalid key for [Peer] section", 555 "translation": "Invalid key for [Peer] section", 556 "translatorComment": "Copied from source.", 557 "fuzzy": true 558 }, 559 { 560 "id": "An interface must have a private key", 561 "message": "An interface must have a private key", 562 "translation": "An interface must have a private key", 563 "translatorComment": "Copied from source.", 564 "fuzzy": true 565 }, 566 { 567 "id": "[none specified]", 568 "message": "[none specified]", 569 "translation": "[none specified]", 570 "translatorComment": "Copied from source.", 571 "fuzzy": true 572 }, 573 { 574 "id": "All peers must have public keys", 575 "message": "All peers must have public keys", 576 "translation": "All peers must have public keys", 577 "translatorComment": "Copied from source.", 578 "fuzzy": true 579 }, 580 { 581 "id": "Error in getting configuration", 582 "message": "Error in getting configuration", 583 "translation": "Error in getting configuration", 584 "translatorComment": "Copied from source.", 585 "fuzzy": true 586 }, 587 { 588 "id": "Invalid key for interface section", 589 "message": "Invalid key for interface section", 590 "translation": "Invalid key for interface section", 591 "translatorComment": "Copied from source.", 592 "fuzzy": true 593 }, 594 { 595 "id": "Protocol version must be 1", 596 "message": "Protocol version must be 1", 597 "translation": "Protocol version must be 1", 598 "translatorComment": "Copied from source.", 599 "fuzzy": true 600 }, 601 { 602 "id": "Invalid key for peer section", 603 "message": "Invalid key for peer section", 604 "translation": "Invalid key for peer section", 605 "translatorComment": "Copied from source.", 606 "fuzzy": true 607 }, 608 { 609 "id": "[EnumerationSeparator]", 610 "message": "[EnumerationSeparator]", 611 "translation": ", ", 612 "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 ‘リンゴ、オレンジ、イチゴ’." 613 }, 614 { 615 "id": "[UnitSeparator]", 616 "message": "[UnitSeparator]", 617 "translation": ", ", 618 "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秒’." 619 }, 620 { 621 "id": "About WireGuard", 622 "message": "About WireGuard", 623 "translation": "About WireGuard", 624 "translatorComment": "Copied from source.", 625 "fuzzy": true 626 }, 627 { 628 "id": "WireGuard logo image", 629 "message": "WireGuard logo image", 630 "translation": "WireGuard logo image", 631 "translatorComment": "Copied from source.", 632 "fuzzy": true 633 }, 634 { 635 "id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}", 636 "message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}", 637 "translation": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {GOARCH}", 638 "translatorComment": "Copied from source.", 639 "placeholders": [ 640 { 641 "id": "Number", 642 "string": "%[1]s", 643 "type": "string", 644 "underlyingType": "string", 645 "argNum": 1, 646 "expr": "version.Number" 647 }, 648 { 649 "id": "WireGuardGoVersion", 650 "string": "%[2]s", 651 "type": "string", 652 "underlyingType": "string", 653 "argNum": 2, 654 "expr": "device.WireGuardGoVersion" 655 }, 656 { 657 "id": "Version_go", 658 "string": "%[3]s", 659 "type": "string", 660 "underlyingType": "string", 661 "argNum": 3, 662 "expr": "strings.TrimPrefix(runtime.Version(), \"go\")" 663 }, 664 { 665 "id": "OsName", 666 "string": "%[4]s", 667 "type": "string", 668 "underlyingType": "string", 669 "argNum": 4, 670 "expr": "version.OsName()" 671 }, 672 { 673 "id": "GOARCH", 674 "string": "%[5]s", 675 "type": "string", 676 "underlyingType": "string", 677 "argNum": 5, 678 "expr": "runtime.GOARCH" 679 } 680 ], 681 "fuzzy": true 682 }, 683 { 684 "id": "Close", 685 "message": "Close", 686 "translation": "Close", 687 "translatorComment": "Copied from source.", 688 "fuzzy": true 689 }, 690 { 691 "id": "♥ \u0026Donate!", 692 "message": "♥ \u0026Donate!", 693 "translation": "♥ \u0026Donate!", 694 "translatorComment": "Copied from source.", 695 "fuzzy": true 696 }, 697 { 698 "id": "Status:", 699 "message": "Status:", 700 "translation": "Status:", 701 "translatorComment": "Copied from source.", 702 "fuzzy": true 703 }, 704 { 705 "id": "\u0026Deactivate", 706 "message": "\u0026Deactivate", 707 "translation": "\u0026Deactivate", 708 "translatorComment": "Copied from source.", 709 "fuzzy": true 710 }, 711 { 712 "id": "\u0026Activate", 713 "message": "\u0026Activate", 714 "translation": "\u0026Activate", 715 "translatorComment": "Copied from source.", 716 "fuzzy": true 717 }, 718 { 719 "id": "Public key:", 720 "message": "Public key:", 721 "translation": "Public key:", 722 "translatorComment": "Copied from source.", 723 "fuzzy": true 724 }, 725 { 726 "id": "Listen port:", 727 "message": "Listen port:", 728 "translation": "Listen port:", 729 "translatorComment": "Copied from source.", 730 "fuzzy": true 731 }, 732 { 733 "id": "MTU:", 734 "message": "MTU:", 735 "translation": "MTU:", 736 "translatorComment": "Copied from source.", 737 "fuzzy": true 738 }, 739 { 740 "id": "Addresses:", 741 "message": "Addresses:", 742 "translation": "Addresses:", 743 "translatorComment": "Copied from source.", 744 "fuzzy": true 745 }, 746 { 747 "id": "DNS servers:", 748 "message": "DNS servers:", 749 "translation": "DNS servers:", 750 "translatorComment": "Copied from source.", 751 "fuzzy": true 752 }, 753 { 754 "id": "Preshared key:", 755 "message": "Preshared key:", 756 "translation": "Preshared key:", 757 "translatorComment": "Copied from source.", 758 "fuzzy": true 759 }, 760 { 761 "id": "Allowed IPs:", 762 "message": "Allowed IPs:", 763 "translation": "Allowed IPs:", 764 "translatorComment": "Copied from source.", 765 "fuzzy": true 766 }, 767 { 768 "id": "Endpoint:", 769 "message": "Endpoint:", 770 "translation": "Endpoint:", 771 "translatorComment": "Copied from source.", 772 "fuzzy": true 773 }, 774 { 775 "id": "Persistent keepalive:", 776 "message": "Persistent keepalive:", 777 "translation": "Persistent keepalive:", 778 "translatorComment": "Copied from source.", 779 "fuzzy": true 780 }, 781 { 782 "id": "Latest handshake:", 783 "message": "Latest handshake:", 784 "translation": "Latest handshake:", 785 "translatorComment": "Copied from source.", 786 "fuzzy": true 787 }, 788 { 789 "id": "Transfer:", 790 "message": "Transfer:", 791 "translation": "Transfer:", 792 "translatorComment": "Copied from source.", 793 "fuzzy": true 794 }, 795 { 796 "id": "enabled", 797 "message": "enabled", 798 "translation": "enabled", 799 "translatorComment": "Copied from source.", 800 "fuzzy": true 801 }, 802 { 803 "id": "{String} received, {String_1} sent", 804 "message": "{String} received, {String_1} sent", 805 "translation": "{String} received, {String_1} sent", 806 "translatorComment": "Copied from source.", 807 "placeholders": [ 808 { 809 "id": "String", 810 "string": "%[1]s", 811 "type": "string", 812 "underlyingType": "string", 813 "argNum": 1, 814 "expr": "c.RxBytes.String()" 815 }, 816 { 817 "id": "String_1", 818 "string": "%[2]s", 819 "type": "string", 820 "underlyingType": "string", 821 "argNum": 2, 822 "expr": "c.TxBytes.String()" 823 } 824 ], 825 "fuzzy": true 826 }, 827 { 828 "id": "Failed to determine tunnel state", 829 "message": "Failed to determine tunnel state", 830 "translation": "Failed to determine tunnel state", 831 "translatorComment": "Copied from source.", 832 "fuzzy": true 833 }, 834 { 835 "id": "Failed to activate tunnel", 836 "message": "Failed to activate tunnel", 837 "translation": "Failed to activate tunnel", 838 "translatorComment": "Copied from source.", 839 "fuzzy": true 840 }, 841 { 842 "id": "Failed to deactivate tunnel", 843 "message": "Failed to deactivate tunnel", 844 "translation": "Failed to deactivate tunnel", 845 "translatorComment": "Copied from source.", 846 "fuzzy": true 847 }, 848 { 849 "id": "Interface: {Name}", 850 "message": "Interface: {Name}", 851 "translation": "Interface: {Name}", 852 "translatorComment": "Copied from source.", 853 "placeholders": [ 854 { 855 "id": "Name", 856 "string": "%[1]s", 857 "type": "string", 858 "underlyingType": "string", 859 "argNum": 1, 860 "expr": "config.Name" 861 } 862 ], 863 "fuzzy": true 864 }, 865 { 866 "id": "Peer", 867 "message": "Peer", 868 "translation": "Peer", 869 "translatorComment": "Copied from source.", 870 "fuzzy": true 871 }, 872 { 873 "id": "Create new tunnel", 874 "message": "Create new tunnel", 875 "translation": "Create new tunnel", 876 "translatorComment": "Copied from source.", 877 "fuzzy": true 878 }, 879 { 880 "id": "Edit tunnel", 881 "message": "Edit tunnel", 882 "translation": "Edit tunnel", 883 "translatorComment": "Copied from source.", 884 "fuzzy": true 885 }, 886 { 887 "id": "\u0026Name:", 888 "message": "\u0026Name:", 889 "translation": "\u0026Name:", 890 "translatorComment": "Copied from source.", 891 "fuzzy": true 892 }, 893 { 894 "id": "\u0026Public key:", 895 "message": "\u0026Public key:", 896 "translation": "\u0026Public key:", 897 "translatorComment": "Copied from source.", 898 "fuzzy": true 899 }, 900 { 901 "id": "(unknown)", 902 "message": "(unknown)", 903 "translation": "(unknown)", 904 "translatorComment": "Copied from source.", 905 "fuzzy": true 906 }, 907 { 908 "id": "\u0026Block untunneled traffic (kill-switch)", 909 "message": "\u0026Block untunneled traffic (kill-switch)", 910 "translation": "\u0026Block untunneled traffic (kill-switch)", 911 "translatorComment": "Copied from source.", 912 "fuzzy": true 913 }, 914 { 915 "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.", 916 "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.", 917 "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.", 918 "translatorComment": "Copied from source.", 919 "fuzzy": true 920 }, 921 { 922 "id": "\u0026Save", 923 "message": "\u0026Save", 924 "translation": "\u0026Save", 925 "translatorComment": "Copied from source.", 926 "fuzzy": true 927 }, 928 { 929 "id": "Cancel", 930 "message": "Cancel", 931 "translation": "Cancel", 932 "translatorComment": "Copied from source.", 933 "fuzzy": true 934 }, 935 { 936 "id": "\u0026Configuration:", 937 "message": "\u0026Configuration:", 938 "translation": "\u0026Configuration:", 939 "translatorComment": "Copied from source.", 940 "fuzzy": true 941 }, 942 { 943 "id": "Invalid name", 944 "message": "Invalid name", 945 "translation": "Invalid name", 946 "translatorComment": "Copied from source.", 947 "fuzzy": true 948 }, 949 { 950 "id": "A name is required.", 951 "message": "A name is required.", 952 "translation": "A name is required.", 953 "translatorComment": "Copied from source.", 954 "fuzzy": true 955 }, 956 { 957 "id": "Tunnel name ‘{NewName}’ is invalid.", 958 "message": "Tunnel name ‘{NewName}’ is invalid.", 959 "translation": "Tunnel name ‘{NewName}’ is invalid.", 960 "translatorComment": "Copied from source.", 961 "placeholders": [ 962 { 963 "id": "NewName", 964 "string": "%[1]s", 965 "type": "string", 966 "underlyingType": "string", 967 "argNum": 1, 968 "expr": "newName" 969 } 970 ], 971 "fuzzy": true 972 }, 973 { 974 "id": "Unable to list existing tunnels", 975 "message": "Unable to list existing tunnels", 976 "translation": "Unable to list existing tunnels", 977 "translatorComment": "Copied from source.", 978 "fuzzy": true 979 }, 980 { 981 "id": "Tunnel already exists", 982 "message": "Tunnel already exists", 983 "translation": "Tunnel already exists", 984 "translatorComment": "Copied from source.", 985 "fuzzy": true 986 }, 987 { 988 "id": "Another tunnel already exists with the name ‘{NewName}’.", 989 "message": "Another tunnel already exists with the name ‘{NewName}’.", 990 "translation": "Another tunnel already exists with the name ‘{NewName}’.", 991 "translatorComment": "Copied from source.", 992 "placeholders": [ 993 { 994 "id": "NewName", 995 "string": "%[1]s", 996 "type": "string", 997 "underlyingType": "string", 998 "argNum": 1, 999 "expr": "newName" 1000 } 1001 ], 1002 "fuzzy": true 1003 }, 1004 { 1005 "id": "Unable to create new configuration", 1006 "message": "Unable to create new configuration", 1007 "translation": "Unable to create new configuration", 1008 "translatorComment": "Copied from source.", 1009 "fuzzy": true 1010 }, 1011 { 1012 "id": "Writing file failed", 1013 "message": "Writing file failed", 1014 "translation": "Writing file failed", 1015 "translatorComment": "Copied from source.", 1016 "fuzzy": true 1017 }, 1018 { 1019 "id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?", 1020 "message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?", 1021 "translation": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?", 1022 "translatorComment": "Copied from source.", 1023 "placeholders": [ 1024 { 1025 "id": "FilePath", 1026 "string": "%[1]s", 1027 "type": "string", 1028 "underlyingType": "string", 1029 "argNum": 1, 1030 "expr": "filePath" 1031 } 1032 ], 1033 "fuzzy": true 1034 }, 1035 { 1036 "id": "Active", 1037 "message": "Active", 1038 "translation": "Active", 1039 "translatorComment": "Copied from source.", 1040 "fuzzy": true 1041 }, 1042 { 1043 "id": "Activating", 1044 "message": "Activating", 1045 "translation": "Activating", 1046 "translatorComment": "Copied from source.", 1047 "fuzzy": true 1048 }, 1049 { 1050 "id": "Inactive", 1051 "message": "Inactive", 1052 "translation": "Inactive", 1053 "translatorComment": "Copied from source.", 1054 "fuzzy": true 1055 }, 1056 { 1057 "id": "Deactivating", 1058 "message": "Deactivating", 1059 "translation": "Deactivating", 1060 "translatorComment": "Copied from source.", 1061 "fuzzy": true 1062 }, 1063 { 1064 "id": "Unknown state", 1065 "message": "Unknown state", 1066 "translation": "Unknown state", 1067 "translatorComment": "Copied from source.", 1068 "fuzzy": true 1069 }, 1070 { 1071 "id": "Log", 1072 "message": "Log", 1073 "translation": "Log", 1074 "translatorComment": "Copied from source.", 1075 "fuzzy": true 1076 }, 1077 { 1078 "id": "\u0026Copy", 1079 "message": "\u0026Copy", 1080 "translation": "\u0026Copy", 1081 "translatorComment": "Copied from source.", 1082 "fuzzy": true 1083 }, 1084 { 1085 "id": "Select \u0026all", 1086 "message": "Select \u0026all", 1087 "translation": "Select \u0026all", 1088 "translatorComment": "Copied from source.", 1089 "fuzzy": true 1090 }, 1091 { 1092 "id": "\u0026Save to file…", 1093 "message": "\u0026Save to file…", 1094 "translation": "\u0026Save to file…", 1095 "translatorComment": "Copied from source.", 1096 "fuzzy": true 1097 }, 1098 { 1099 "id": "Time", 1100 "message": "Time", 1101 "translation": "Time", 1102 "translatorComment": "Copied from source.", 1103 "fuzzy": true 1104 }, 1105 { 1106 "id": "Log message", 1107 "message": "Log message", 1108 "translation": "Log message", 1109 "translatorComment": "Copied from source.", 1110 "fuzzy": true 1111 }, 1112 { 1113 "id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*", 1114 "message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*", 1115 "translation": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*", 1116 "translatorComment": "Copied from source.", 1117 "fuzzy": true 1118 }, 1119 { 1120 "id": "Export log to file", 1121 "message": "Export log to file", 1122 "translation": "Export log to file", 1123 "translatorComment": "Copied from source.", 1124 "fuzzy": true 1125 }, 1126 { 1127 "id": "\u0026About WireGuard…", 1128 "message": "\u0026About WireGuard…", 1129 "translation": "\u0026About WireGuard…", 1130 "translatorComment": "Copied from source.", 1131 "fuzzy": true 1132 }, 1133 { 1134 "id": "Tunnel Error", 1135 "message": "Tunnel Error", 1136 "translation": "Tunnel Error", 1137 "translatorComment": "Copied from source.", 1138 "fuzzy": true 1139 }, 1140 { 1141 "id": "{ErrMsg}\n\nPlease consult the log for more information.", 1142 "message": "{ErrMsg}\n\nPlease consult the log for more information.", 1143 "translation": "{ErrMsg}\n\nPlease consult the log for more information.", 1144 "translatorComment": "Copied from source.", 1145 "placeholders": [ 1146 { 1147 "id": "ErrMsg", 1148 "string": "%[1]s", 1149 "type": "string", 1150 "underlyingType": "string", 1151 "argNum": 1, 1152 "expr": "errMsg" 1153 } 1154 ], 1155 "fuzzy": true 1156 }, 1157 { 1158 "id": "{Title} (out of date)", 1159 "message": "{Title} (out of date)", 1160 "translation": "{Title} (out of date)", 1161 "translatorComment": "Copied from source.", 1162 "placeholders": [ 1163 { 1164 "id": "Title", 1165 "string": "%[1]s", 1166 "type": "string", 1167 "underlyingType": "string", 1168 "argNum": 1, 1169 "expr": "mtw.Title()" 1170 } 1171 ], 1172 "fuzzy": true 1173 }, 1174 { 1175 "id": "WireGuard Detection Error", 1176 "message": "WireGuard Detection Error", 1177 "translation": "WireGuard Detection Error", 1178 "translatorComment": "Copied from source.", 1179 "fuzzy": true 1180 }, 1181 { 1182 "id": "Unable to wait for WireGuard window to appear: {Err}", 1183 "message": "Unable to wait for WireGuard window to appear: {Err}", 1184 "translation": "Unable to wait for WireGuard window to appear: {Err}", 1185 "translatorComment": "Copied from source.", 1186 "placeholders": [ 1187 { 1188 "id": "Err", 1189 "string": "%[1]v", 1190 "type": "error", 1191 "underlyingType": "interface{Error() string}", 1192 "argNum": 1, 1193 "expr": "err" 1194 } 1195 ], 1196 "fuzzy": true 1197 }, 1198 { 1199 "id": "WireGuard: Deactivated", 1200 "message": "WireGuard: Deactivated", 1201 "translation": "WireGuard: Deactivated", 1202 "translatorComment": "Copied from source.", 1203 "fuzzy": true 1204 }, 1205 { 1206 "id": "Status: Unknown", 1207 "message": "Status: Unknown", 1208 "translation": "Status: Unknown", 1209 "translatorComment": "Copied from source.", 1210 "fuzzy": true 1211 }, 1212 { 1213 "id": "Addresses: None", 1214 "message": "Addresses: None", 1215 "translation": "Addresses: None", 1216 "translatorComment": "Copied from source.", 1217 "fuzzy": true 1218 }, 1219 { 1220 "id": "\u0026Manage tunnels…", 1221 "message": "\u0026Manage tunnels…", 1222 "translation": "\u0026Manage tunnels…", 1223 "translatorComment": "Copied from source.", 1224 "fuzzy": true 1225 }, 1226 { 1227 "id": "\u0026Import tunnel(s) from file…", 1228 "message": "\u0026Import tunnel(s) from file…", 1229 "translation": "\u0026Import tunnel(s) from file…", 1230 "translatorComment": "Copied from source.", 1231 "fuzzy": true 1232 }, 1233 { 1234 "id": "E\u0026xit", 1235 "message": "E\u0026xit", 1236 "translation": "E\u0026xit", 1237 "translatorComment": "Copied from source.", 1238 "fuzzy": true 1239 }, 1240 { 1241 "id": "WireGuard Tunnel Error", 1242 "message": "WireGuard Tunnel Error", 1243 "translation": "WireGuard Tunnel Error", 1244 "translatorComment": "Copied from source.", 1245 "fuzzy": true 1246 }, 1247 { 1248 "id": "WireGuard: {TextForStateglobalState_true}", 1249 "message": "WireGuard: {TextForStateglobalState_true}", 1250 "translation": "WireGuard: {TextForStateglobalState_true}", 1251 "translatorComment": "Copied from source.", 1252 "placeholders": [ 1253 { 1254 "id": "TextForStateglobalState_true", 1255 "string": "%[1]s", 1256 "type": "string", 1257 "underlyingType": "string", 1258 "argNum": 1, 1259 "expr": "textForState(globalState, true)" 1260 } 1261 ], 1262 "fuzzy": true 1263 }, 1264 { 1265 "id": "Status: {StateText}", 1266 "message": "Status: {StateText}", 1267 "translation": "Status: {StateText}", 1268 "translatorComment": "Copied from source.", 1269 "placeholders": [ 1270 { 1271 "id": "StateText", 1272 "string": "%[1]s", 1273 "type": "string", 1274 "underlyingType": "string", 1275 "argNum": 1, 1276 "expr": "stateText" 1277 } 1278 ], 1279 "fuzzy": true 1280 }, 1281 { 1282 "id": "Addresses: {String}", 1283 "message": "Addresses: {String}", 1284 "translation": "Addresses: {String}", 1285 "translatorComment": "Copied from source.", 1286 "placeholders": [ 1287 { 1288 "id": "String", 1289 "string": "%[1]s", 1290 "type": "string", 1291 "underlyingType": "string", 1292 "argNum": 1, 1293 "expr": "sb.String()" 1294 } 1295 ], 1296 "fuzzy": true 1297 }, 1298 { 1299 "id": "WireGuard Activated", 1300 "message": "WireGuard Activated", 1301 "translation": "WireGuard Activated", 1302 "translatorComment": "Copied from source.", 1303 "fuzzy": true 1304 }, 1305 { 1306 "id": "The {Name} tunnel has been activated.", 1307 "message": "The {Name} tunnel has been activated.", 1308 "translation": "The {Name} tunnel has been activated.", 1309 "translatorComment": "Copied from source.", 1310 "placeholders": [ 1311 { 1312 "id": "Name", 1313 "string": "%[1]s", 1314 "type": "string", 1315 "underlyingType": "string", 1316 "argNum": 1, 1317 "expr": "tunnel.Name" 1318 } 1319 ], 1320 "fuzzy": true 1321 }, 1322 { 1323 "id": "WireGuard Deactivated", 1324 "message": "WireGuard Deactivated", 1325 "translation": "WireGuard Deactivated", 1326 "translatorComment": "Copied from source.", 1327 "fuzzy": true 1328 }, 1329 { 1330 "id": "The {Name} tunnel has been deactivated.", 1331 "message": "The {Name} tunnel has been deactivated.", 1332 "translation": "The {Name} tunnel has been deactivated.", 1333 "translatorComment": "Copied from source.", 1334 "placeholders": [ 1335 { 1336 "id": "Name", 1337 "string": "%[1]s", 1338 "type": "string", 1339 "underlyingType": "string", 1340 "argNum": 1, 1341 "expr": "tunnel.Name" 1342 } 1343 ], 1344 "fuzzy": true 1345 }, 1346 { 1347 "id": "An Update is Available!", 1348 "message": "An Update is Available!", 1349 "translation": "An Update is Available!", 1350 "translatorComment": "Copied from source.", 1351 "fuzzy": true 1352 }, 1353 { 1354 "id": "WireGuard Update Available", 1355 "message": "WireGuard Update Available", 1356 "translation": "WireGuard Update Available", 1357 "translatorComment": "Copied from source.", 1358 "fuzzy": true 1359 }, 1360 { 1361 "id": "An update to WireGuard is now available. You are advised to update as soon as possible.", 1362 "message": "An update to WireGuard is now available. You are advised to update as soon as possible.", 1363 "translation": "An update to WireGuard is now available. You are advised to update as soon as possible.", 1364 "translatorComment": "Copied from source.", 1365 "fuzzy": true 1366 }, 1367 { 1368 "id": "Tunnels", 1369 "message": "Tunnels", 1370 "translation": "Tunnels", 1371 "translatorComment": "Copied from source.", 1372 "fuzzy": true 1373 }, 1374 { 1375 "id": "\u0026Edit", 1376 "message": "\u0026Edit", 1377 "translation": "\u0026Edit", 1378 "translatorComment": "Copied from source.", 1379 "fuzzy": true 1380 }, 1381 { 1382 "id": "Add \u0026empty tunnel…", 1383 "message": "Add \u0026empty tunnel…", 1384 "translation": "Add \u0026empty tunnel…", 1385 "translatorComment": "Copied from source.", 1386 "fuzzy": true 1387 }, 1388 { 1389 "id": "Add Tunnel", 1390 "message": "Add Tunnel", 1391 "translation": "Add Tunnel", 1392 "translatorComment": "Copied from source.", 1393 "fuzzy": true 1394 }, 1395 { 1396 "id": "Remove selected tunnel(s)", 1397 "message": "Remove selected tunnel(s)", 1398 "translation": "Remove selected tunnel(s)", 1399 "translatorComment": "Copied from source.", 1400 "fuzzy": true 1401 }, 1402 { 1403 "id": "Export all tunnels to zip", 1404 "message": "Export all tunnels to zip", 1405 "translation": "Export all tunnels to zip", 1406 "translatorComment": "Copied from source.", 1407 "fuzzy": true 1408 }, 1409 { 1410 "id": "\u0026Toggle", 1411 "message": "\u0026Toggle", 1412 "translation": "\u0026Toggle", 1413 "translatorComment": "Copied from source.", 1414 "fuzzy": true 1415 }, 1416 { 1417 "id": "Export all tunnels to \u0026zip…", 1418 "message": "Export all tunnels to \u0026zip…", 1419 "translation": "Export all tunnels to \u0026zip…", 1420 "translatorComment": "Copied from source.", 1421 "fuzzy": true 1422 }, 1423 { 1424 "id": "Edit \u0026selected tunnel…", 1425 "message": "Edit \u0026selected tunnel…", 1426 "translation": "Edit \u0026selected tunnel…", 1427 "translatorComment": "Copied from source.", 1428 "fuzzy": true 1429 }, 1430 { 1431 "id": "\u0026Remove selected tunnel(s)", 1432 "message": "\u0026Remove selected tunnel(s)", 1433 "translation": "\u0026Remove selected tunnel(s)", 1434 "translatorComment": "Copied from source.", 1435 "fuzzy": true 1436 }, 1437 { 1438 "id": "Could not import selected configuration: {LastErr}", 1439 "message": "Could not import selected configuration: {LastErr}", 1440 "translation": "Could not import selected configuration: {LastErr}", 1441 "translatorComment": "Copied from source.", 1442 "placeholders": [ 1443 { 1444 "id": "LastErr", 1445 "string": "%[1]v", 1446 "type": "error", 1447 "underlyingType": "interface{Error() string}", 1448 "argNum": 1, 1449 "expr": "lastErr" 1450 } 1451 ], 1452 "fuzzy": true 1453 }, 1454 { 1455 "id": "Could not enumerate existing tunnels: {LastErr}", 1456 "message": "Could not enumerate existing tunnels: {LastErr}", 1457 "translation": "Could not enumerate existing tunnels: {LastErr}", 1458 "translatorComment": "Copied from source.", 1459 "placeholders": [ 1460 { 1461 "id": "LastErr", 1462 "string": "%[1]v", 1463 "type": "error", 1464 "underlyingType": "interface{Error() string}", 1465 "argNum": 1, 1466 "expr": "lastErr" 1467 } 1468 ], 1469 "fuzzy": true 1470 }, 1471 { 1472 "id": "Another tunnel already exists with the name ‘{Name}’", 1473 "message": "Another tunnel already exists with the name ‘{Name}’", 1474 "translation": "Another tunnel already exists with the name ‘{Name}’", 1475 "translatorComment": "Copied from source.", 1476 "placeholders": [ 1477 { 1478 "id": "Name", 1479 "string": "%[1]s", 1480 "type": "string", 1481 "underlyingType": "string", 1482 "argNum": 1, 1483 "expr": "unparsedConfig.Name" 1484 } 1485 ], 1486 "fuzzy": true 1487 }, 1488 { 1489 "id": "Unable to import configuration: {LastErr}", 1490 "message": "Unable to import configuration: {LastErr}", 1491 "translation": "Unable to import configuration: {LastErr}", 1492 "translatorComment": "Copied from source.", 1493 "placeholders": [ 1494 { 1495 "id": "LastErr", 1496 "string": "%[1]v", 1497 "type": "error", 1498 "underlyingType": "interface{Error() string}", 1499 "argNum": 1, 1500 "expr": "lastErr" 1501 } 1502 ], 1503 "fuzzy": true 1504 }, 1505 { 1506 "id": "Imported tunnels", 1507 "message": "Imported tunnels", 1508 "translation": "Imported tunnels", 1509 "translatorComment": "Copied from source.", 1510 "fuzzy": true 1511 }, 1512 { 1513 "id": "Imported {M} tunnels", 1514 "message": "Imported {M} tunnels", 1515 "translation": { 1516 "select": { 1517 "feature": "plural", 1518 "arg": "M", 1519 "cases": { 1520 "one": { 1521 "msg": "Imported {M} tunnel" 1522 }, 1523 "other": { 1524 "msg": "Imported {M} tunnels" 1525 } 1526 } 1527 } 1528 }, 1529 "placeholders": [ 1530 { 1531 "id": "M", 1532 "string": "%[1]d", 1533 "type": "int", 1534 "underlyingType": "int", 1535 "argNum": 1, 1536 "expr": "m" 1537 } 1538 ] 1539 }, 1540 { 1541 "id": "Imported {M} of {N} tunnels", 1542 "message": "Imported {M} of {N} tunnels", 1543 "translation": { 1544 "select": { 1545 "feature": "plural", 1546 "arg": "N", 1547 "cases": { 1548 "one": { 1549 "msg": "Imported {M} of {N} tunnel" 1550 }, 1551 "other": { 1552 "msg": "Imported {M} of {N} tunnels" 1553 } 1554 } 1555 } 1556 }, 1557 "placeholders": [ 1558 { 1559 "id": "M", 1560 "string": "%[1]d", 1561 "type": "int", 1562 "underlyingType": "int", 1563 "argNum": 1, 1564 "expr": "m" 1565 }, 1566 { 1567 "id": "N", 1568 "string": "%[2]d", 1569 "type": "int", 1570 "underlyingType": "int", 1571 "argNum": 2, 1572 "expr": "n" 1573 } 1574 ] 1575 }, 1576 { 1577 "id": "Unable to create tunnel", 1578 "message": "Unable to create tunnel", 1579 "translation": "Unable to create tunnel", 1580 "translatorComment": "Copied from source.", 1581 "fuzzy": true 1582 }, 1583 { 1584 "id": "Delete {TunnelCount} tunnels", 1585 "message": "Delete {TunnelCount} tunnels", 1586 "translation": { 1587 "select": { 1588 "feature": "plural", 1589 "arg": "TunnelCount", 1590 "cases": { 1591 "one": { 1592 "msg": "Delete {TunnelCount} tunnel" 1593 }, 1594 "other": { 1595 "msg": "Delete {TunnelCount} tunnels" 1596 } 1597 } 1598 } 1599 }, 1600 "placeholders": [ 1601 { 1602 "id": "TunnelCount", 1603 "string": "%[1]d", 1604 "type": "int", 1605 "underlyingType": "int", 1606 "argNum": 1, 1607 "expr": "tunnelCount" 1608 } 1609 ] 1610 }, 1611 { 1612 "id": "Are you sure you would like to delete {TunnelCount} tunnels?", 1613 "message": "Are you sure you would like to delete {TunnelCount} tunnels?", 1614 "translation": { 1615 "select": { 1616 "feature": "plural", 1617 "arg": "TunnelCount", 1618 "cases": { 1619 "one": { 1620 "msg": "Are you sure you would like to delete {TunnelCount} tunnel?" 1621 }, 1622 "other": { 1623 "msg": "Are you sure you would like to delete {TunnelCount} tunnels?" 1624 } 1625 } 1626 } 1627 }, 1628 "placeholders": [ 1629 { 1630 "id": "TunnelCount", 1631 "string": "%[1]d", 1632 "type": "int", 1633 "underlyingType": "int", 1634 "argNum": 1, 1635 "expr": "tunnelCount" 1636 } 1637 ] 1638 }, 1639 { 1640 "id": "Delete tunnel ‘{TunnelName}’", 1641 "message": "Delete tunnel ‘{TunnelName}’", 1642 "translation": "Delete tunnel ‘{TunnelName}’", 1643 "translatorComment": "Copied from source.", 1644 "placeholders": [ 1645 { 1646 "id": "TunnelName", 1647 "string": "%[1]s", 1648 "type": "string", 1649 "underlyingType": "string", 1650 "argNum": 1, 1651 "expr": "tunnelName" 1652 } 1653 ], 1654 "fuzzy": true 1655 }, 1656 { 1657 "id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?", 1658 "message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?", 1659 "translation": "Are you sure you would like to delete tunnel ‘{TunnelName}’?", 1660 "translatorComment": "Copied from source.", 1661 "placeholders": [ 1662 { 1663 "id": "TunnelName", 1664 "string": "%[1]s", 1665 "type": "string", 1666 "underlyingType": "string", 1667 "argNum": 1, 1668 "expr": "tunnelName" 1669 } 1670 ], 1671 "fuzzy": true 1672 }, 1673 { 1674 "id": "{Question} You cannot undo this action.", 1675 "message": "{Question} You cannot undo this action.", 1676 "translation": "{Question} You cannot undo this action.", 1677 "translatorComment": "Copied from source.", 1678 "placeholders": [ 1679 { 1680 "id": "Question", 1681 "string": "%[1]s", 1682 "type": "string", 1683 "underlyingType": "string", 1684 "argNum": 1, 1685 "expr": "question" 1686 } 1687 ], 1688 "fuzzy": true 1689 }, 1690 { 1691 "id": "Unable to delete tunnel", 1692 "message": "Unable to delete tunnel", 1693 "translation": "Unable to delete tunnel", 1694 "translatorComment": "Copied from source.", 1695 "fuzzy": true 1696 }, 1697 { 1698 "id": "A tunnel was unable to be removed: {Error}", 1699 "message": "A tunnel was unable to be removed: {Error}", 1700 "translation": "A tunnel was unable to be removed: {Error}", 1701 "translatorComment": "Copied from source.", 1702 "placeholders": [ 1703 { 1704 "id": "Error", 1705 "string": "%[1]s", 1706 "type": "string", 1707 "underlyingType": "string", 1708 "argNum": 1, 1709 "expr": "errors[0].Error()" 1710 } 1711 ], 1712 "fuzzy": true 1713 }, 1714 { 1715 "id": "Unable to delete tunnels", 1716 "message": "Unable to delete tunnels", 1717 "translation": "Unable to delete tunnels", 1718 "translatorComment": "Copied from source.", 1719 "fuzzy": true 1720 }, 1721 { 1722 "id": "{Lenerrors} tunnels were unable to be removed.", 1723 "message": "{Lenerrors} tunnels were unable to be removed.", 1724 "translation": { 1725 "select": { 1726 "feature": "plural", 1727 "arg": "Lenerrors", 1728 "cases": { 1729 "one": { 1730 "msg": "{Lenerrors} tunnel was unable to be removed." 1731 }, 1732 "other": { 1733 "msg": "{Lenerrors} tunnels were unable to be removed." 1734 } 1735 } 1736 } 1737 }, 1738 "placeholders": [ 1739 { 1740 "id": "Lenerrors", 1741 "string": "%[1]d", 1742 "type": "int", 1743 "underlyingType": "int", 1744 "argNum": 1, 1745 "expr": "len(errors)" 1746 } 1747 ] 1748 }, 1749 { 1750 "id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*", 1751 "message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*", 1752 "translation": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*", 1753 "translatorComment": "Copied from source.", 1754 "fuzzy": true 1755 }, 1756 { 1757 "id": "Import tunnel(s) from file", 1758 "message": "Import tunnel(s) from file", 1759 "translation": "Import tunnel(s) from file", 1760 "translatorComment": "Copied from source.", 1761 "fuzzy": true 1762 }, 1763 { 1764 "id": "Configuration ZIP Files (*.zip)|*.zip", 1765 "message": "Configuration ZIP Files (*.zip)|*.zip", 1766 "translation": "Configuration ZIP Files (*.zip)|*.zip", 1767 "translatorComment": "Copied from source.", 1768 "fuzzy": true 1769 }, 1770 { 1771 "id": "Export tunnels to zip", 1772 "message": "Export tunnels to zip", 1773 "translation": "Export tunnels to zip", 1774 "translatorComment": "Copied from source.", 1775 "fuzzy": true 1776 }, 1777 { 1778 "id": "{Title} (unsigned build, no updates)", 1779 "message": "{Title} (unsigned build, no updates)", 1780 "translation": "{Title} (unsigned build, no updates)", 1781 "translatorComment": "Copied from source.", 1782 "placeholders": [ 1783 { 1784 "id": "Title", 1785 "string": "%[1]s", 1786 "type": "string", 1787 "underlyingType": "string", 1788 "argNum": 1, 1789 "expr": "mtw.Title()" 1790 } 1791 ], 1792 "fuzzy": true 1793 }, 1794 { 1795 "id": "Error Exiting WireGuard", 1796 "message": "Error Exiting WireGuard", 1797 "translation": "Error Exiting WireGuard", 1798 "translatorComment": "Copied from source.", 1799 "fuzzy": true 1800 }, 1801 { 1802 "id": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.", 1803 "message": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.", 1804 "translation": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.", 1805 "translatorComment": "Copied from source.", 1806 "placeholders": [ 1807 { 1808 "id": "Err", 1809 "string": "%[1]v", 1810 "type": "error", 1811 "underlyingType": "interface{Error() string}", 1812 "argNum": 1, 1813 "expr": "err" 1814 } 1815 ], 1816 "fuzzy": true 1817 }, 1818 { 1819 "id": "An update to WireGuard is available. It is highly advisable to update without delay.", 1820 "message": "An update to WireGuard is available. It is highly advisable to update without delay.", 1821 "translation": "An update to WireGuard is available. It is highly advisable to update without delay.", 1822 "translatorComment": "Copied from source.", 1823 "fuzzy": true 1824 }, 1825 { 1826 "id": "Status: Waiting for user", 1827 "message": "Status: Waiting for user", 1828 "translation": "Status: Waiting for user", 1829 "translatorComment": "Copied from source.", 1830 "fuzzy": true 1831 }, 1832 { 1833 "id": "Update Now", 1834 "message": "Update Now", 1835 "translation": "Update Now", 1836 "translatorComment": "Copied from source.", 1837 "fuzzy": true 1838 }, 1839 { 1840 "id": "Status: Waiting for updater service", 1841 "message": "Status: Waiting for updater service", 1842 "translation": "Status: Waiting for updater service", 1843 "translatorComment": "Copied from source.", 1844 "fuzzy": true 1845 }, 1846 { 1847 "id": "Error: {Err}. Please try again.", 1848 "message": "Error: {Err}. Please try again.", 1849 "translation": "Error: {Err}. Please try again.", 1850 "translatorComment": "Copied from source.", 1851 "placeholders": [ 1852 { 1853 "id": "Err", 1854 "string": "%[1]v", 1855 "type": "error", 1856 "underlyingType": "interface{Error() string}", 1857 "argNum": 1, 1858 "expr": "err" 1859 } 1860 ], 1861 "fuzzy": true 1862 }, 1863 { 1864 "id": "Status: Complete!", 1865 "message": "Status: Complete!", 1866 "translation": "Status: Complete!", 1867 "translatorComment": "Copied from source.", 1868 "fuzzy": true 1869 }, 1870 { 1871 "id": "http2: Framer {F}: failed to decode just-written frame", 1872 "message": "http2: Framer {F}: failed to decode just-written frame", 1873 "translation": "http2: Framer {F}: failed to decode just-written frame", 1874 "translatorComment": "Copied from source.", 1875 "placeholders": [ 1876 { 1877 "id": "F", 1878 "string": "%[1]p", 1879 "type": "*net/http.http2Framer", 1880 "underlyingType": "*net/http.http2Framer", 1881 "argNum": 1, 1882 "expr": "f" 1883 } 1884 ], 1885 "fuzzy": true 1886 }, 1887 { 1888 "id": "http2: Framer {F}: wrote {Http2summarizeFramefr}", 1889 "message": "http2: Framer {F}: wrote {Http2summarizeFramefr}", 1890 "translation": "http2: Framer {F}: wrote {Http2summarizeFramefr}", 1891 "translatorComment": "Copied from source.", 1892 "placeholders": [ 1893 { 1894 "id": "F", 1895 "string": "%[1]p", 1896 "type": "*net/http.http2Framer", 1897 "underlyingType": "*net/http.http2Framer", 1898 "argNum": 1, 1899 "expr": "f" 1900 }, 1901 { 1902 "id": "Http2summarizeFramefr", 1903 "string": "%[2]v", 1904 "type": "string", 1905 "underlyingType": "string", 1906 "argNum": 2, 1907 "expr": "http2summarizeFrame(fr)" 1908 } 1909 ], 1910 "fuzzy": true 1911 }, 1912 { 1913 "id": "http2: Framer {Fr}: read {Http2summarizeFramef}", 1914 "message": "http2: Framer {Fr}: read {Http2summarizeFramef}", 1915 "translation": "http2: Framer {Fr}: read {Http2summarizeFramef}", 1916 "translatorComment": "Copied from source.", 1917 "placeholders": [ 1918 { 1919 "id": "Fr", 1920 "string": "%[1]p", 1921 "type": "*net/http.http2Framer", 1922 "underlyingType": "*net/http.http2Framer", 1923 "argNum": 1, 1924 "expr": "fr" 1925 }, 1926 { 1927 "id": "Http2summarizeFramef", 1928 "string": "%[2]v", 1929 "type": "string", 1930 "underlyingType": "string", 1931 "argNum": 2, 1932 "expr": "http2summarizeFrame(f)" 1933 } 1934 ], 1935 "fuzzy": true 1936 }, 1937 { 1938 "id": "http2: decoded hpack field {HeaderField}", 1939 "message": "http2: decoded hpack field {HeaderField}", 1940 "translation": "http2: decoded hpack field {HeaderField}", 1941 "translatorComment": "Copied from source.", 1942 "placeholders": [ 1943 { 1944 "id": "HeaderField", 1945 "string": "%+[1]v", 1946 "type": "vendor/golang.org/x/net/http2/hpack.HeaderField", 1947 "underlyingType": "struct{Name string; Value string; Sensitive bool}", 1948 "argNum": 1, 1949 "expr": "hf" 1950 } 1951 ], 1952 "fuzzy": true 1953 } 1954 ] 1955 }