{
"language": "fr",
"messages": [
{
"id": "Error",
"message": "Error",
"translation": "Erreur",
"translatorComment": "Copied from source."
},
{
"id": "Error:",
"message": "Error:",
"translation": "Erreur :",
"translatorComment": "Copied from source."
},
{
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(sans argument) : élever et installer service du gestionnaire",
"translatorComment": "Copied from source."
},
{
"id": "Usage: {Args0} [\n{String}]",
"message": "Usage: {Args0} [\n{String}]",
"translation": "Utilisation : {Args0} [\n{String}]",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Args0",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "os.Args[0]"
},
{
"id": "String",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
"expr": "builder.String()"
}
]
},
{
"id": "Command Line Options",
"message": "Command Line Options",
"translation": "Options de la ligne de commande",
"translatorComment": "Copied from source."
},
{
"id": "Unable to determine whether the process is running under WOW64: {Err}",
"message": "Unable to determine whether the process is running under WOW64: {Err}",
"translation": "Impossible de détecter si le processus s’exécute sous WOW64 : {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "You must use the native version of Phobos on this computer.",
"message": "You must use the native version of Phobos on this computer.",
"translation": "Vous devez utiliser la version native de Phobos sur cet ordinateur.",
"translatorComment": "Copied from source."
},
{
"id": "Unable to open current process token: {Err}",
"message": "Unable to open current process token: {Err}",
"translation": "Impossible d'ouvrir le jeton du processus actuel : {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "Phobos may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"message": "Phobos may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"translation": "Seulement les utilisateurs qui sont membres du groupe intégré {AdminGroupName} peuvent utiliser Phobos.",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "elevate.AdminGroupName()"
}
]
},
{
"id": "Phobos is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"message": "Phobos is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"translation": "Phobos est en cours d'exécution, mais l'IU est accessible seulement à partir des bureaux du group intégré {AdminGroupName}.",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "elevate.AdminGroupName()"
}
]
},
{
"id": "Phobos system tray icon did not appear after 30 seconds.",
"message": "Phobos system tray icon did not appear after 30 seconds.",
"translation": "L’icône de la barre d’état système du Phobos n'est pas apparue après 30 secondes.",
"translatorComment": "Copied from source."
},
{
"id": "Not a phobos:// link: {Link}",
"message": "Not a phobos:// link: {Link}",
"translation": "",
"placeholders": [
{
"id": "Link",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "link"
}
]
},
{
"id": "Now",
"message": "Now",
"translation": "Maintenant",
"translatorComment": "Copied from source."
},
{
"id": "System clock wound backward!",
"message": "System clock wound backward!",
"translation": "L’horloge système est inversé!",
"translatorComment": "Copied from source."
},
{
"id": "{Years} year(s)",
"message": "{Years} year(s)",
"translation": {
"select": {
"feature": "plural",
"arg": "Years",
"cases": {
"one": {
"msg": "{Years} an"
},
"other": {
"msg": "{Years} ans"
}
}
}
},
"placeholders": [
{
"id": "Years",
"string": "%[1]d",
"type": "int64",
"underlyingType": "int64",
"argNum": 1,
"expr": "years"
}
]
},
{
"id": "{Days} day(s)",
"message": "{Days} day(s)",
"translation": {
"select": {
"feature": "plural",
"arg": "Days",
"cases": {
"one": {
"msg": "{Days} jour"
},
"other": {
"msg": "{Days} jours"
}
}
}
},
"placeholders": [
{
"id": "Days",
"string": "%[1]d",
"type": "int64",
"underlyingType": "int64",
"argNum": 1,
"expr": "days"
}
]
},
{
"id": "{Hours} hour(s)",
"message": "{Hours} hour(s)",
"translation": {
"select": {
"feature": "plural",
"arg": "Hours",
"cases": {
"one": {
"msg": "{Hours} heure"
},
"other": {
"msg": "{Hours} heures"
}
}
}
},
"placeholders": [
{
"id": "Hours",
"string": "%[1]d",
"type": "int64",
"underlyingType": "int64",
"argNum": 1,
"expr": "hours"
}
]
},
{
"id": "{Minutes} minute(s)",
"message": "{Minutes} minute(s)",
"translation": {
"select": {
"feature": "plural",
"arg": "Minutes",
"cases": {
"one": {
"msg": "{Minutes} minute"
},
"other": {
"msg": "{Minutes} minutes"
}
}
}
},
"placeholders": [
{
"id": "Minutes",
"string": "%[1]d",
"type": "int64",
"underlyingType": "int64",
"argNum": 1,
"expr": "minutes"
}
]
},
{
"id": "{Seconds} second(s)",
"message": "{Seconds} second(s)",
"translation": {
"select": {
"feature": "plural",
"arg": "Seconds",
"cases": {
"one": {
"msg": "{Seconds} seconde"
},
"other": {
"msg": "{Seconds} secondes"
}
}
}
},
"placeholders": [
{
"id": "Seconds",
"string": "%[1]d",
"type": "int64",
"underlyingType": "int64",
"argNum": 1,
"expr": "seconds"
}
]
},
{
"id": "{Timestamp} ago",
"message": "{Timestamp} ago",
"translation": "Il y a {Timestamp}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Timestamp",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "timestamp"
}
]
},
{
"id": "{Bytes} B",
"message": "{Bytes} B",
"translation": "{Bytes} o",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Bytes",
"string": "%[1]d",
"type": "golang.zx2c4.com/wireguard/windows/conf.Bytes",
"underlyingType": "uint64",
"argNum": 1,
"expr": "b"
}
]
},
{
"id": "{Float64b__1024} KiB",
"message": "{Float64b__1024} KiB",
"translation": "{Float64b__1024} Kio",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024",
"string": "%.2[1]f",
"type": "float64",
"underlyingType": "float64",
"argNum": 1,
"expr": "float64(b) / 1024"
}
]
},
{
"id": "{Float64b__1024__1024} MiB",
"message": "{Float64b__1024__1024} MiB",
"translation": "{Float64b__1024__1024} Mio",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024",
"string": "%.2[1]f",
"type": "float64",
"underlyingType": "float64",
"argNum": 1,
"expr": "float64(b) / (1024 * 1024)"
}
]
},
{
"id": "{Float64b__1024__1024__1024} GiB",
"message": "{Float64b__1024__1024__1024} GiB",
"translation": "{Float64b__1024__1024__1024} Gio",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024",
"string": "%.2[1]f",
"type": "float64",
"underlyingType": "float64",
"argNum": 1,
"expr": "float64(b) / (1024 * 1024 * 1024)"
}
]
},
{
"id": "{Float64b__1024__1024__1024__1024} TiB",
"message": "{Float64b__1024__1024__1024__1024} TiB",
"translation": "{Float64b__1024__1024__1024__1024} Tio",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024__1024",
"string": "%.2[1]f",
"type": "float64",
"underlyingType": "float64",
"argNum": 1,
"expr": "float64(b) / (1024 * 1024 * 1024) / 1024"
}
]
},
{
"id": "{Why}: {Offender}",
"message": "{Why}: {Offender}",
"translation": "{Why} : {Offender}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Why",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "e.why"
},
{
"id": "Offender",
"string": "%[2]q",
"type": "string",
"underlyingType": "string",
"argNum": 2,
"expr": "e.offender"
}
]
},
{
"id": "Invalid IP address:",
"message": "Invalid IP address:",
"translation": "Adresse IP non valide :",
"translatorComment": "Copied from source."
},
{
"id": "Missing port from endpoint",
"message": "Missing port from endpoint",
"translation": "Port manquant au point de terminaison",
"translatorComment": "Copied from source."
},
{
"id": "Invalid endpoint host",
"message": "Invalid endpoint host",
"translation": "Hôte du point de terminaison non valide",
"translatorComment": "Copied from source."
},
{
"id": "Brackets must contain an IPv6 address",
"message": "Brackets must contain an IPv6 address",
"translation": "L’adresse IPv6 doit être contenue entre des crochets",
"translatorComment": "Copied from source."
},
{
"id": "Invalid MTU",
"message": "Invalid MTU",
"translation": "MTU non valide",
"translatorComment": "Copied from source."
},
{
"id": "Invalid port",
"message": "Invalid port",
"translation": "Port non valide",
"translatorComment": "Copied from source."
},
{
"id": "Invalid persistent keepalive",
"message": "Invalid persistent keepalive",
"translation": "Keepalive non valide",
"translatorComment": "Copied from source."
},
{
"id": "Invalid key: {Err}",
"message": "Invalid key: {Err}",
"translation": "Clé non valide : {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "Keys must decode to exactly 32 bytes",
"message": "Keys must decode to exactly 32 bytes",
"translation": "Clés doivent être décodées sur 32 octets",
"translatorComment": "Copied from source."
},
{
"id": "Two commas in a row",
"message": "Two commas in a row",
"translation": "Deux virgules consécutives",
"translatorComment": "Copied from source."
},
{
"id": "Invalid {What}",
"message": "Invalid {What}",
"translation": "",
"placeholders": [
{
"id": "What",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "what"
}
]
},
{
"id": "Invalid obfuscator mode",
"message": "Invalid obfuscator mode",
"translation": ""
},
{
"id": "Invalid masking type",
"message": "Invalid masking type",
"translation": ""
},
{
"id": "Invalid media SSRC",
"message": "Invalid media SSRC",
"translation": ""
},
{
"id": "An obfuscator instance must have a target",
"message": "An obfuscator instance must have a target",
"translation": ""
},
{
"id": "[none specified]",
"message": "[none specified]",
"translation": "[aucune spécification]",
"translatorComment": "Copied from source."
},
{
"id": "An obfuscator instance must have a key",
"message": "An obfuscator instance must have a key",
"translation": ""
},
{
"id": "A SOCKS5 tunnel accepts exactly one [Instance] section",
"message": "A SOCKS5 tunnel accepts exactly one [Instance] section",
"translation": ""
},
{
"id": "{Lenobfuscations} given",
"message": "{Lenobfuscations} given",
"translation": "",
"placeholders": [
{
"id": "Lenobfuscations",
"string": "%[1]d",
"type": "int",
"underlyingType": "int",
"argNum": 1,
"expr": "len(obfuscations)"
}
]
},
{
"id": "A SOCKS5 tunnel must not declare peers",
"message": "A SOCKS5 tunnel must not declare peers",
"translation": ""
},
{
"id": "An [Instance] section requires a peer to attach to",
"message": "An [Instance] section requires a peer to attach to",
"translation": ""
},
{
"id": "No peer matches the obfuscator source port",
"message": "No peer matches the obfuscator source port",
"translation": ""
},
{
"id": "A peer accepts only one [Instance] section",
"message": "A peer accepts only one [Instance] section",
"translation": ""
},
{
"id": "Tunnel name is not valid",
"message": "Tunnel name is not valid",
"translation": "Nom du tunnel non valide",
"translatorComment": "Copied from source."
},
{
"id": "A [Socks5] section must follow an [Instance] section",
"message": "A [Socks5] section must follow an [Instance] section",
"translation": ""
},
{
"id": "Line must occur in a section",
"message": "Line must occur in a section",
"translation": "Une ligne doit apparaître dans une section",
"translatorComment": "Copied from source."
},
{
"id": "Config key is missing an equals separator",
"message": "Config key is missing an equals separator",
"translation": "Il manque le séparateur égal à la clé de configuration",
"translatorComment": "Copied from source."
},
{
"id": "Key must have a value",
"message": "Key must have a value",
"translation": "Clé doit avoir une valeur",
"translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Interface] section",
"message": "Invalid key for [Interface] section",
"translation": "Clé non valide pour la section [Interface]",
"translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Peer] section",
"message": "Invalid key for [Peer] section",
"translation": "Clé non valide pour la section [Peer]",
"translatorComment": "Copied from source."
},
{
"id": "Only the client obfuscator role is supported",
"message": "Only the client obfuscator role is supported",
"translation": ""
},
{
"id": "Invalid RTP payload type",
"message": "Invalid RTP payload type",
"translation": ""
},
{
"id": "Invalid media clock",
"message": "Invalid media clock",
"translation": ""
},
{
"id": "Invalid key for [Instance] section",
"message": "Invalid key for [Instance] section",
"translation": ""
},
{
"id": "Invalid key for [Socks5] section",
"message": "Invalid key for [Socks5] section",
"translation": ""
},
{
"id": "An interface must have a private key",
"message": "An interface must have a private key",
"translation": "L'interface doit avoir une clé privée",
"translatorComment": "Copied from source."
},
{
"id": "All peers must have public keys",
"message": "All peers must have public keys",
"translation": "Toutes les pairs doivent contenir une clé publique",
"translatorComment": "Copied from source."
},
{
"id": "Not a phobos:// link",
"message": "Not a phobos:// link",
"translation": ""
},
{
"id": "The link carries no configuration",
"message": "The link carries no configuration",
"translation": ""
},
{
"id": "The link payload is not valid base64url: {Err}",
"message": "The link payload is not valid base64url: {Err}",
"translation": "",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "The link payload is not valid UTF-8 text",
"message": "The link payload is not valid UTF-8 text",
"translation": ""
},
{
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
"translation": "",
"comment": "Text to insert between items when listing - most western languages will translate ‘[EnumerationSeparator]’ into ‘, ’ to produce lists like ‘apple, orange, strawberry’. Eastern languages might translate into ‘、’ to produce lists like ‘リンゴ、オレンジ、イチゴ’."
},
{
"id": "[UnitSeparator]",
"message": "[UnitSeparator]",
"translation": " ",
"comment": "Text to insert when combining units of a measure - most languages will translate ‘[UnitSeparator]’ into ‘ ’ (space) to produce lists like ‘2 minuti 30 sekund’, or empty string ‘’ to produce ‘2分30秒’.",
"translatorComment": "Copied from source."
},
{
"id": "SOCKS5 proxy listening on 127.0.0.1:{ListenPort} -\u003e {Target} (masking {Masking})",
"message": "SOCKS5 proxy listening on 127.0.0.1:{ListenPort} -\u003e {Target} (masking {Masking})",
"translation": "",
"placeholders": [
{
"id": "ListenPort",
"string": "%[1]d",
"type": "uint16",
"underlyingType": "uint16",
"argNum": 1,
"expr": "c.ListenPort()"
},
{
"id": "Target",
"string": "%[2]v",
"type": "net/netip.AddrPort",
"underlyingType": "struct{ip net/netip.Addr; port uint16}",
"argNum": 2,
"expr": "c.config.Target"
},
{
"id": "Masking",
"string": "%[3]v",
"type": "golang.zx2c4.com/wireguard/windows/phobos.Masking",
"underlyingType": "int",
"argNum": 3,
"expr": "c.config.Masking"
}
]
},
{
"id": "SOCKS5 proxy stopped",
"message": "SOCKS5 proxy stopped",
"translation": ""
},
{
"id": "SOCKS5 proxy: {Err}",
"message": "SOCKS5 proxy: {Err}",
"translation": "",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "Obfuscator started: 127.0.0.1:{ListenPort} -\u003e {Target} (masking {Masking})",
"message": "Obfuscator started: 127.0.0.1:{ListenPort} -\u003e {Target} (masking {Masking})",
"translation": "",
"placeholders": [
{
"id": "ListenPort",
"string": "%[1]d",
"type": "uint16",
"underlyingType": "uint16",
"argNum": 1,
"expr": "p.listenPort"
},
{
"id": "Target",
"string": "%[2]v",
"type": "net/netip.AddrPort",
"underlyingType": "struct{ip net/netip.Addr; port uint16}",
"argNum": 2,
"expr": "p.config.Target"
},
{
"id": "Masking",
"string": "%[3]v",
"type": "golang.zx2c4.com/wireguard/windows/phobos.Masking",
"underlyingType": "int",
"argNum": 3,
"expr": "p.config.Masking"
}
]
},
{
"id": "Obfuscator stopped: 127.0.0.1:{ListenPort} -\u003e {Target}",
"message": "Obfuscator stopped: 127.0.0.1:{ListenPort} -\u003e {Target}",
"translation": "",
"placeholders": [
{
"id": "ListenPort",
"string": "%[1]d",
"type": "uint16",
"underlyingType": "uint16",
"argNum": 1,
"expr": "p.listenPort"
},
{
"id": "Target",
"string": "%[2]v",
"type": "net/netip.AddrPort",
"underlyingType": "struct{ip net/netip.Addr; port uint16}",
"argNum": 2,
"expr": "p.config.Target"
}
]
},
{
"id": "Obfuscator {What} failed: {Err}",
"message": "Obfuscator {What} failed: {Err}",
"translation": "",
"placeholders": [
{
"id": "What",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "what"
},
{
"id": "Err",
"string": "%[2]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 2,
"expr": "err"
}
]
},
{
"id": "tun2socks: wait failed: {Err}",
"message": "tun2socks: wait failed: {Err}",
"translation": "",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "tun2socks: adapter read failed: {Err}",
"message": "tun2socks: adapter read failed: {Err}",
"translation": "",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "tun2socks: cannot reach {Target}: {DialErr}",
"message": "tun2socks: cannot reach {Target}: {DialErr}",
"translation": "",
"placeholders": [
{
"id": "Target",
"string": "%[1]v",
"type": "net/netip.AddrPort",
"underlyingType": "struct{ip net/netip.Addr; port uint16}",
"argNum": 1,
"expr": "target"
},
{
"id": "DialErr",
"string": "%[2]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 2,
"expr": "dialErr"
}
]
},
{
"id": "tun2socks: cannot open a UDP session for {Source}: {Err}",
"message": "tun2socks: cannot open a UDP session for {Source}: {Err}",
"translation": "",
"placeholders": [
{
"id": "Source",
"string": "%[1]v",
"type": "net/netip.AddrPort",
"underlyingType": "struct{ip net/netip.Addr; port uint16}",
"argNum": 1,
"expr": "source"
},
{
"id": "Err",
"string": "%[2]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 2,
"expr": "err"
}
]
},
{
"id": "About Phobos",
"message": "About Phobos",
"translation": "À propos du Phobos",
"translatorComment": "Copied from source."
},
{
"id": "Phobos logo image",
"message": "Phobos logo image",
"translation": "Image du logo du Phobos",
"translatorComment": "Copied from source."
},
{
"id": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
"message": "App version: {Number}\nDriver version: {Version}\nGo version: {Version_go}\nOperating system: {OsName}\nArchitecture: {Arch}",
"translation": "Version de l'application : {Number}\nVersion du pilote : {Version}\nVersion de Go : {Version_go}\nSystème d'exploitation : {OsName}\nArchitecture : {Arch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Number",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "version.Number"
},
{
"id": "Version",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
"expr": "driver.Version()"
},
{
"id": "Version_go",
"string": "%[3]s",
"type": "string",
"underlyingType": "string",
"argNum": 3,
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
"id": "OsName",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
"expr": "version.OsName()"
},
{
"id": "Arch",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
"expr": "version.Arch()"
}
]
},
{
"id": "Close",
"message": "Close",
"translation": "Fermer",
"translatorComment": "Copied from source."
},
{
"id": "Status:",
"message": "Status:",
"translation": "État :",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Deactivate",
"message": "\u0026Deactivate",
"translation": "\u0026Désactiver",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Activate",
"message": "\u0026Activate",
"translation": "\u0026Activer",
"translatorComment": "Copied from source."
},
{
"id": "Public key:",
"message": "Public key:",
"translation": "Clé publique :",
"translatorComment": "Copied from source."
},
{
"id": "Listen port:",
"message": "Listen port:",
"translation": "Port d'écoute :",
"translatorComment": "Copied from source."
},
{
"id": "MTU:",
"message": "MTU:",
"translation": "MTU :",
"translatorComment": "Copied from source."
},
{
"id": "Addresses:",
"message": "Addresses:",
"translation": "Adresses :",
"translatorComment": "Copied from source."
},
{
"id": "DNS servers:",
"message": "DNS servers:",
"translation": "Serveurs DNS :",
"translatorComment": "Copied from source."
},
{
"id": "Scripts:",
"message": "Scripts:",
"translation": "Scripts :",
"translatorComment": "Copied from source."
},
{
"id": "Table:",
"message": "Table:",
"translation": "Table :",
"translatorComment": "Copied from source."
},
{
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "Clé pré-partagée :",
"translatorComment": "Copied from source."
},
{
"id": "Allowed IPs:",
"message": "Allowed IPs:",
"translation": "Adresses IP autorisées :",
"translatorComment": "Copied from source."
},
{
"id": "Endpoint:",
"message": "Endpoint:",
"translation": "Point de terminaison :",
"translatorComment": "Copied from source."
},
{
"id": "Obfuscator:",
"message": "Obfuscator:",
"translation": ""
},
{
"id": "Persistent keepalive:",
"message": "Persistent keepalive:",
"translation": "Conservation de connexion active permanente :",
"translatorComment": "Copied from source."
},
{
"id": "Latest handshake:",
"message": "Latest handshake:",
"translation": "Dernier établissement d'une liaison :",
"translatorComment": "Copied from source."
},
{
"id": "Transfer:",
"message": "Transfer:",
"translation": "Transfert :",
"translatorComment": "Copied from source."
},
{
"id": "Server:",
"message": "Server:",
"translation": ""
},
{
"id": "Masking:",
"message": "Masking:",
"translation": ""
},
{
"id": "SOCKS5 login:",
"message": "SOCKS5 login:",
"translation": ""
},
{
"id": "Local proxy:",
"message": "Local proxy:",
"translation": ""
},
{
"id": "{String} received, {String_1} sent",
"message": "{String} received, {String_1} sent",
"translation": "{String} reçu(e), {String_1} envoyé(e)",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "String",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "o.RxBytes.String()"
},
{
"id": "String_1",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
"expr": "o.TxBytes.String()"
}
]
},
{
"id": "{String}, masking {String_1}",
"message": "{String}, masking {String_1}",
"translation": "",
"placeholders": [
{
"id": "String",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "o.Target.String()"
},
{
"id": "String_1",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
"expr": "o.Masking.String()"
}
]
},
{
"id": "pre-up",
"message": "pre-up",
"translation": "pré-activation",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
"translation": "post-activation",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
"translation": "pré-désactivation",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
"translation": "post-désactivation",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
"translation": "désactivé, par stratégie",
"translatorComment": "Copied from source."
},
{
"id": "off",
"message": "off",
"translation": "désactivé",
"translatorComment": "Copied from source."
},
{
"id": "enabled",
"message": "enabled",
"translation": "activé(e)",
"translatorComment": "Copied from source."
},
{
"id": "Failed to determine tunnel state",
"message": "Failed to determine tunnel state",
"translation": "Impossible de déterminer l'état du tunnel",
"translatorComment": "Copied from source."
},
{
"id": "Failed to activate tunnel",
"message": "Failed to activate tunnel",
"translation": "Impossible d'activer le tunnel",
"translatorComment": "Copied from source."
},
{
"id": "Failed to deactivate tunnel",
"message": "Failed to deactivate tunnel",
"translation": "Impossible de désactiver le tunnel",
"translatorComment": "Copied from source."
},
{
"id": "Obfuscator",
"message": "Obfuscator",
"translation": ""
},
{
"id": "Interface: {Name}",
"message": "Interface: {Name}",
"translation": "Interface : {Name}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "config.Name"
}
]
},
{
"id": "Peer",
"message": "Peer",
"translation": "Homologue",
"translatorComment": "Copied from source."
},
{
"id": "Create new tunnel",
"message": "Create new tunnel",
"translation": "Créer un nouveau tunnel",
"translatorComment": "Copied from source."
},
{
"id": "Edit tunnel",
"message": "Edit tunnel",
"translation": "Modifier le tunnel",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Name:",
"message": "\u0026Name:",
"translation": "\u0026Nom :",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Public key:",
"message": "\u0026Public key:",
"translation": "\u0026Clé publique :",
"translatorComment": "Copied from source."
},
{
"id": "(unknown)",
"message": "(unknown)",
"translation": "(inconnu(e))",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Block untunneled traffic (kill-switch)",
"message": "\u0026Block untunneled traffic (kill-switch)",
"translation": "\u0026Bloquer tous le trafic hors tunnel (interrupteur)",
"translatorComment": "Copied from source."
},
{
"id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
"message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, and the interface does not have table off, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
"translation": "Si la configuration a exactement un homologue et si cet homologue a une adresse IP autorisée contenant au moins un de 0.0.0.0/0 ou ::/0, et si l'interface n'a pas la table désactivée, le service de tunnel utilise un ensemble de règles du pare-feu afin de bloquer tout le trafic qui n'est ni vers ni depuis l'interface de tunnel ou qui est vers le mauvais serveur DNS, avec des exceptions spéciales pour les DHCP et NDP.",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Save",
"message": "\u0026Save",
"translation": "\u0026Enregistrer",
"translatorComment": "Copied from source."
},
{
"id": "Cancel",
"message": "Cancel",
"translation": "Annuler",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Configuration:",
"message": "\u0026Configuration:",
"translation": "\u0026Configuration :",
"translatorComment": "Copied from source."
},
{
"id": "Invalid name",
"message": "Invalid name",
"translation": "Nom non valide",
"translatorComment": "Copied from source."
},
{
"id": "A name is required.",
"message": "A name is required.",
"translation": "Le nom est obligatoire.",
"translatorComment": "Copied from source."
},
{
"id": "Tunnel name ‘{NewName}’ is invalid.",
"message": "Tunnel name ‘{NewName}’ is invalid.",
"translation": "Nom de tunnel « {NewName} » est non valide.",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "newName"
}
]
},
{
"id": "Unable to list existing tunnels",
"message": "Unable to list existing tunnels",
"translation": "Impossible de créer une liste des tunnels existants",
"translatorComment": "Copied from source."
},
{
"id": "Tunnel already exists",
"message": "Tunnel already exists",
"translation": "Tunnel existe déjà.",
"translatorComment": "Copied from source."
},
{
"id": "Another tunnel already exists with the name ‘{NewName}’.",
"message": "Another tunnel already exists with the name ‘{NewName}’.",
"translation": "Nom « {NewName} » est déjà utilisé pour un tunnel.",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "newName"
}
]
},
{
"id": "Unable to create new configuration",
"message": "Unable to create new configuration",
"translation": "Impossible de créer une configuration nouvelle",
"translatorComment": "Copied from source."
},
{
"id": "Writing file failed",
"message": "Writing file failed",
"translation": "Échec d'écriture du fichier",
"translatorComment": "Copied from source."
},
{
"id": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
"message": "File ‘{FilePath}’ already exists.\n\nDo you want to overwrite it?",
"translation": "Fichier « {FilePath} » existe déjà.\n\nVoulez-vous le remplacer ?",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "FilePath",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "filePath"
}
]
},
{
"id": "Active",
"message": "Active",
"translation": "Activée",
"translatorComment": "Copied from source."
},
{
"id": "Activating",
"message": "Activating",
"translation": "Activation en cours",
"translatorComment": "Copied from source."
},
{
"id": "Inactive",
"message": "Inactive",
"translation": "Éteinte",
"translatorComment": "Copied from source."
},
{
"id": "Deactivating",
"message": "Deactivating",
"translation": "Désactivation en cours",
"translatorComment": "Copied from source."
},
{
"id": "Unknown state",
"message": "Unknown state",
"translation": "État inconnu",
"translatorComment": "Copied from source."
},
{
"id": "Phobos Detection Error",
"message": "Phobos Detection Error",
"translation": "Erreur de détection du Phobos",
"translatorComment": "Copied from source."
},
{
"id": "Phobos did not start in time to import the link.",
"message": "Phobos did not start in time to import the link.",
"translation": ""
},
{
"id": "Import tunnel from link",
"message": "Import tunnel from link",
"translation": ""
},
{
"id": "Paste a phobos:// link. The tunnel name is taken from the link.",
"message": "Paste a phobos:// link. The tunnel name is taken from the link.",
"translation": ""
},
{
"id": "\u0026Import",
"message": "\u0026Import",
"translation": ""
},
{
"id": "Invalid link",
"message": "Invalid link",
"translation": ""
},
{
"id": "Log",
"message": "Log",
"translation": "Journal",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Copy",
"message": "\u0026Copy",
"translation": "\u0026Copier",
"translatorComment": "Copied from source."
},
{
"id": "Select \u0026all",
"message": "Select \u0026all",
"translation": "Sélectionner \u0026tout",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Save to file…",
"message": "\u0026Save to file…",
"translation": "\u0026Enregistrer dans le fichier…",
"translatorComment": "Copied from source."
},
{
"id": "Time",
"message": "Time",
"translation": "Temps",
"translatorComment": "Copied from source."
},
{
"id": "Log message",
"message": "Log message",
"translation": "Message du journal",
"translatorComment": "Copied from source."
},
{
"id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
"message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
"translation": "Fichiers texte (*.txt)|*.txt|Tous les fichiers (*.*)|*.*",
"translatorComment": "Copied from source."
},
{
"id": "Export log to file",
"message": "Export log to file",
"translation": "Exporter le journal vers le fichier",
"translatorComment": "Copied from source."
},
{
"id": "\u0026About Phobos…",
"message": "\u0026About Phobos…",
"translation": "\u0026À propos Phobos…",
"translatorComment": "Copied from source."
},
{
"id": "Tunnel Error",
"message": "Tunnel Error",
"translation": "Erreur du tunnel",
"translatorComment": "Copied from source."
},
{
"id": "{ErrMsg}\n\nPlease consult the log for more information.",
"message": "{ErrMsg}\n\nPlease consult the log for more information.",
"translation": "{ErrMsg}\n\nConsultez le journal pour plus d’informations, s'il vous plaît.",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "ErrMsg",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "errMsg"
}
]
},
{
"id": "Unable to wait for Phobos window to appear: {Err}",
"message": "Unable to wait for Phobos window to appear: {Err}",
"translation": "Impossible d’attendre l'affichage du fenêtre Phobos : {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "Phobos: Deactivated",
"message": "Phobos: Deactivated",
"translation": "Phobos : Désactivé",
"translatorComment": "Copied from source."
},
{
"id": "Status: Unknown",
"message": "Status: Unknown",
"translation": "État : Inconnu",
"translatorComment": "Copied from source."
},
{
"id": "Addresses: None",
"message": "Addresses: None",
"translation": "Adresses : Aucune",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Manage tunnels…",
"message": "\u0026Manage tunnels…",
"translation": "\u0026Gestion des tunnels…",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Import tunnel(s) from file…",
"message": "\u0026Import tunnel(s) from file…",
"translation": "\u0026Importer le(s) tunnel(s) à partir du fichier…",
"translatorComment": "Copied from source."
},
{
"id": "E\u0026xit",
"message": "E\u0026xit",
"translation": "Q\u0026uitter",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Tunnels",
"message": "\u0026Tunnels",
"translation": ""
},
{
"id": "Phobos Activated",
"message": "Phobos Activated",
"translation": "Phobos activé",
"translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been activated.",
"message": "The {Name} tunnel has been activated.",
"translation": "Tunnel {Name} a été activé.",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "tunnel.Name"
}
]
},
{
"id": "Phobos Deactivated",
"message": "Phobos Deactivated",
"translation": "Phobos désactivé",
"translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been deactivated.",
"message": "The {Name} tunnel has been deactivated.",
"translation": "Tunnel {Name} a été désactivé.",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "tunnel.Name"
}
]
},
{
"id": "Phobos Tunnel Error",
"message": "Phobos Tunnel Error",
"translation": "Erreur du tunnel Phobos",
"translatorComment": "Copied from source."
},
{
"id": "Phobos: {TextForStateglobalState_true}",
"message": "Phobos: {TextForStateglobalState_true}",
"translation": "Phobos : {TextForStateglobalState_true}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TextForStateglobalState_true",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "textForState(globalState, true)"
}
]
},
{
"id": "Status: {StateText}",
"message": "Status: {StateText}",
"translation": "État : {StateText}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "StateText",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "stateText"
}
]
},
{
"id": "Addresses: {EnumerationSeparator}",
"message": "Addresses: {EnumerationSeparator}",
"translation": "Adresses : {EnumerationSeparator}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "EnumerationSeparator",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
}
]
},
{
"id": "Tunnels",
"message": "Tunnels",
"translation": "Tunnels",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Edit",
"message": "\u0026Edit",
"translation": "\u0026Modifier",
"translatorComment": "Copied from source."
},
{
"id": "Import tunnel from \u0026link…",
"message": "Import tunnel from \u0026link…",
"translation": ""
},
{
"id": "Add \u0026empty tunnel…",
"message": "Add \u0026empty tunnel…",
"translation": "Ajouter un \u0026tunnel vide…",
"translatorComment": "Copied from source."
},
{
"id": "Add Tunnel",
"message": "Add Tunnel",
"translation": "Ajouter le tunnel",
"translatorComment": "Copied from source."
},
{
"id": "Remove selected tunnel(s)",
"message": "Remove selected tunnel(s)",
"translation": "Supprimer le(s) tunnel(s) sélectionné(s)",
"translatorComment": "Copied from source."
},
{
"id": "Export all tunnels to zip",
"message": "Export all tunnels to zip",
"translation": "Exporter tous les tunnels vers zip",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Toggle",
"message": "\u0026Toggle",
"translation": "\u0026Basculer",
"translatorComment": "Copied from source."
},
{
"id": "Export all tunnels to \u0026zip…",
"message": "Export all tunnels to \u0026zip…",
"translation": "Exporter tous les tunnels vers \u0026zip…",
"translatorComment": "Copied from source."
},
{
"id": "Edit \u0026selected tunnel…",
"message": "Edit \u0026selected tunnel…",
"translation": "Modifier \u0026le tunnel sélectionné…",
"translatorComment": "Copied from source."
},
{
"id": "\u0026Remove selected tunnel(s)",
"message": "\u0026Remove selected tunnel(s)",
"translation": "\u0026Supprimer le(s) tunnel(s) sélectionné(s)",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
"translation": "aucun fichier de configuration trouvé",
"translatorComment": "Copied from source."
},
{
"id": "Could not import selected configuration: {LastErr}",
"message": "Could not import selected configuration: {LastErr}",
"translation": "Impossible d'importer la configuration sélectionnée : {LastErr}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "lastErr"
}
]
},
{
"id": "Could not enumerate existing tunnels: {Err}",
"message": "Could not enumerate existing tunnels: {Err}",
"translation": "Impossible d'énumérer les tunnels existants : {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "Another tunnel already exists with the name ‘{Name}’",
"message": "Another tunnel already exists with the name ‘{Name}’",
"translation": "Un tunnel nommé « {Name} » existe déjà.",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "unparsedConfig.Name"
}
]
},
{
"id": "Unable to import configuration: {LastErr}",
"message": "Unable to import configuration: {LastErr}",
"translation": "Impossible d'importer la configuration : {LastErr}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "lastErr"
}
]
},
{
"id": "Imported tunnels",
"message": "Imported tunnels",
"translation": "Tunnels importés",
"translatorComment": "Copied from source."
},
{
"id": "Imported {M} tunnels",
"message": "Imported {M} tunnels",
"translation": {
"select": {
"feature": "plural",
"arg": "M",
"cases": {
"one": {
"msg": "{M} tunnel importé"
},
"other": {
"msg": "{M} tunnels importés"
}
}
}
},
"placeholders": [
{
"id": "M",
"string": "%[1]d",
"type": "int",
"underlyingType": "int",
"argNum": 1,
"expr": "m"
}
]
},
{
"id": "Imported {M} of {N} tunnels",
"message": "Imported {M} of {N} tunnels",
"translation": {
"select": {
"feature": "plural",
"arg": "N",
"cases": {
"one": {
"msg": "{M} de {N} tunnels importé"
},
"other": {
"msg": "{M} de {N} tunnels importés"
}
}
}
},
"placeholders": [
{
"id": "M",
"string": "%[1]d",
"type": "int",
"underlyingType": "int",
"argNum": 1,
"expr": "m"
},
{
"id": "N",
"string": "%[2]d",
"type": "int",
"underlyingType": "int",
"argNum": 2,
"expr": "n"
}
]
},
{
"id": "Unable to create tunnel",
"message": "Unable to create tunnel",
"translation": "Impossible de créer le tunnel",
"translatorComment": "Copied from source."
},
{
"id": "Delete {TunnelCount} tunnels",
"message": "Delete {TunnelCount} tunnels",
"translation": {
"select": {
"feature": "plural",
"arg": "TunnelCount",
"cases": {
"one": {
"msg": "Supprimer {TunnelCount} tunnel"
},
"other": {
"msg": "Supprimer {TunnelCount} tunnels"
}
}
}
},
"placeholders": [
{
"id": "TunnelCount",
"string": "%[1]d",
"type": "int",
"underlyingType": "int",
"argNum": 1,
"expr": "tunnelCount"
}
]
},
{
"id": "Are you sure you would like to delete {TunnelCount} tunnels?",
"message": "Are you sure you would like to delete {TunnelCount} tunnels?",
"translation": {
"select": {
"feature": "plural",
"arg": "TunnelCount",
"cases": {
"one": {
"msg": "Voulez-vous vraiment supprimer {TunnelCount} tunnel?"
},
"other": {
"msg": "Voulez-vous vraiment supprimer {TunnelCount} tunnels?"
}
}
}
},
"placeholders": [
{
"id": "TunnelCount",
"string": "%[1]d",
"type": "int",
"underlyingType": "int",
"argNum": 1,
"expr": "tunnelCount"
}
]
},
{
"id": "Delete tunnel ‘{TunnelName}’",
"message": "Delete tunnel ‘{TunnelName}’",
"translation": "Supprimer le tunnel ‘{TunnelName}’",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "tunnelName"
}
]
},
{
"id": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
"message": "Are you sure you would like to delete tunnel ‘{TunnelName}’?",
"translation": "Voulez-vous vraiment supprimer le tunnel « {TunnelName} »?",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "tunnelName"
}
]
},
{
"id": "{Question} You cannot undo this action.",
"message": "{Question} You cannot undo this action.",
"translation": "{Question} Vous ne pouvez pas annuler cette action.",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Question",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "question"
}
]
},
{
"id": "Unable to delete tunnel",
"message": "Unable to delete tunnel",
"translation": "Impossible de supprimer le tunnel",
"translatorComment": "Copied from source."
},
{
"id": "A tunnel was unable to be removed: {Error}",
"message": "A tunnel was unable to be removed: {Error}",
"translation": "Il a été impossible de supprimer un tunnel : {Error}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Error",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "errors[0].Error()"
}
]
},
{
"id": "Unable to delete tunnels",
"message": "Unable to delete tunnels",
"translation": "Impossible de supprimer les tunnels",
"translatorComment": "Copied from source."
},
{
"id": "{Lenerrors} tunnels were unable to be removed.",
"message": "{Lenerrors} tunnels were unable to be removed.",
"translation": {
"select": {
"feature": "plural",
"arg": "Lenerrors",
"cases": {
"one": {
"msg": "Il a été impossible de supprimer {Lenerrors} tunnel."
},
"other": {
"msg": "Il a été impossible de supprimer {Lenerrors} tunnels."
}
}
}
},
"placeholders": [
{
"id": "Lenerrors",
"string": "%[1]d",
"type": "int",
"underlyingType": "int",
"argNum": 1,
"expr": "len(errors)"
}
]
},
{
"id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
"message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
"translation": "Fichiers de configuration (*.zip, *.conf)|*.zip;*.conf|Tous les fichiers (*.*)|*.*",
"translatorComment": "Copied from source."
},
{
"id": "Import tunnel(s) from file",
"message": "Import tunnel(s) from file",
"translation": "Importer le(s) tunnel(s) à partir du fichier",
"translatorComment": "Copied from source."
},
{
"id": "Configuration ZIP Files (*.zip)|*.zip",
"message": "Configuration ZIP Files (*.zip)|*.zip",
"translation": "Fichiers de configuration ZIP (*.zip)|*.zip",
"translatorComment": "Copied from source."
},
{
"id": "Export tunnels to zip",
"message": "Export tunnels to zip",
"translation": "Exporter les tunnels vers zip",
"translatorComment": "Copied from source."
},
{
"id": "Error Exiting Phobos",
"message": "Error Exiting Phobos",
"translation": "Erreur de sortie du Phobos",
"translatorComment": "Copied from source."
},
{
"id": "Unable to exit service due to: {Err}. You may want to stop Phobos from the service manager.",
"message": "Unable to exit service due to: {Err}. You may want to stop Phobos from the service manager.",
"translation": "Impossible de quitter le service en raison de : {Err}. Essayez d'arrêter Phobos à partir du gestionnair des services.",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "{B}",
"message": "{B}",
"translation": "",
"placeholders": [
{
"id": "B",
"string": "%[1]s",
"type": "[]byte",
"underlyingType": "[]byte",
"argNum": 1,
"expr": "b"
}
]
}
]
}