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