Files
Termix/src/ui/locales/translated/fr_FR.json
T
66e8ce6df7 v26.10.2 (#1672)
* fix: keep concurrent ssh pool connects from overwriting each other (#1619)

* fix: stop auto-accepting changed jump host keys (#1620)

A jump hop whose key no longer matched the pinned fingerprint was
silently accepted and the pin overwritten. Background status probes
reconnect to jump hosts every cycle, so a MITM on that hop got the
credentials with no user interaction. Changed jump host keys now go
through the same path as any other host: prompt when there is a
terminal socket, otherwise refuse.

* fix(electron): validate external login URL scheme and callback port (#1621)

* fix(plugins): read artifact manifest with the same tar parser as the unpack (#1622)

The consent check read the first manifest.json with a hand-written tar
reader, while the unpack keeps the last one and also follows pax and
long-name headers. An archive with two manifests could pass the check
with one capability list and get granted another. Read the manifest
with node-tar, count only plain files, and refuse archives that hold
more than one manifest.json.

* fix: only trust the server's origin in the desktop login frame (#1624)

The desktop sign-in iframe accepted AUTH_SUCCESS and system browser requests from whatever page it had navigated to, and posted replies (including 2FA temp tokens) to any origin. Messages must now come from the server's origin and replies are posted to it.

The web UI also treated any framing page as the desktop app and posted the JWT to it. It now also requires the Termix-Desktop user agent.

* fix: check trusted proxy login against nginx's peer, not nginx (#1625)

The backend only sees the bundled nginx on loopback, so the allowlist
could only work by trusting 127.0.0.1, which let any client that reached
nginx log in as anyone by sending the identity headers. nginx now passes
its own TCP peer (before real_ip rewriting) in X-Termix-Proxy-Peer, and
loopback connections are judged by that address instead.

* fix: keep foreign keys on during user data import (#1626)

Import credentials before hosts and remap the file's credential ids to
the ones created here, so hosts and protocol logins no longer point at
another server's ids. With rows written in dependency order, the import
no longer turns off SQLite foreign keys on the shared connection. The
uploaded file is now removed on every exit path.

* fix: enforce unique usernames (#1628)

* fix: enforce unique usernames

Registration checked for a taken name, hashed the password, then
inserted, with nothing in the schema enforcing uniqueness. Concurrent
sign-ups could create two accounts with one name, after which login,
password reset, proxy login and admin lookups by username picked
between them arbitrarily.

Add a unique index on users.username for every dialect. Existing
duplicates are renamed (later rows get a -<id> suffix, the oldest keeps
the name) rather than deleted. Registration and admin user creation now
return the same 409 when the insert loses the race.

* fix: avoid username collisions during migration

* fix: don't auto-enable synced plugins signed only by a server-sent key (#1623)

* fix: don't auto-enable synced plugins signed only by a server-sent key

Registry keys a linked server sends still let its plugins load on the desktop, but no longer count as a signer for switching them on or copying their grants. Keys the desktop added itself keep their trust.

* fix: enforce local plugin trust across remote source labels

* fix: require positive local trust for synced plugin keys

* fix(desktop): harden external editor and session cookie IPC (#1627)

* fix(desktop): stop the renderer choosing the external editor binary or reading the session cookie

open-external-editor now launches only the editor saved from a file dialog
and refuses to hand executable file types to the OS opener. The unused
get-session-cookie and wait-session-cookie channels, which returned the
httpOnly jwt, are removed.

* fix: validate setting keys before editor authorization

* fix(sidebar): sort hosts by IP address numerically (#1629)

* fix(desktop): find spawn-helper in universal macOS builds (#1630)

The universal build ships app-arm64.asar and app-x64.asar instead of
app.asar, so node-pty's helper path rewrite never pointed at the
unpacked copy and every local terminal failed with posix_spawnp failed.

* fix(sync): send shared hosts with text columns in their stored form (#1631)

resolveHostById turns forceKeyboardInteractive into a boolean, and the
shared-host export passed it on as is. A desktop could not bind the boolean
into the text column, so every shared host failed to apply.

* fix: drop ssh_data.vault_profile_id so removing the vault plugin keeps hosts writable (#1633)

The vault plugin renames vault_profiles to p_vault_profiles, and SQLite
rewrites ssh_data's foreign key to follow it. Uninstalling the plugin then
dropped p_vault_profiles and left ssh_data pointing at a missing table, so
creating, cloning and deleting hosts failed with "no such table:
main.p_vault_profiles". Postgres and MySQL refused the uninstall instead.

The column was already copied into the vault plugin's host settings by 2.9,
so retire it on every engine. The SQLite boot drop also repairs databases
already in the broken state; MySQL drops the column's foreign key first.

* fix(sync): let a linked desktop enable mirrored plugins it does not trust on its own (#1632)

* fix(sync): let a linked desktop enable mirrored plugins it does not trust on its own

* fix(sync): switch off an untrusted mirrored plugin when the server updates it

* fix: require local consent for mirrored plugin activation

* docs: describe consent fields on the plugin state endpoint

* fix(i18n): keep Indonesian technical terms consistent (#1636)

Use the English terms Indonesian users know for tunnel, snippet, deploy,
file manager, remote desktop, jump host, passphrase, sidebar, toolbar,
endpoint, browser and SSH agent, instead of mixing literal translations
(terowongan, cuplikan, terapkan, bilah sisi, titik akhir, ...) with the
English words. Match the split shortcuts to the split screen menu.

Also fix the user data export description, which said secrets are
encrypted while the English says they are decrypted.

* fix(settings): leave user manage view when switching admin sections (#1649)

The admin panel stays mounted across Settings pages, so an open user
manage view kept replacing every other admin section until Back to users
was clicked. Reset it whenever the selected section changes.

* fix(sync): don't delete a local row when the server can't send its copy (#1650)

* fix(sync): don't delete a local row when the server can't send its copy

A push conflict on a live record whose server row failed to serialize
came back as row: null, deleted: false, and the desktop treated that as
a delete. The server now rejects that op as unavailable, the desktop
never deletes on a conflict without a row, and serialization failures
are logged.

* fix(sync): retry temporarily unavailable records

* fix: smooth host editor jumps to lower sections

* chore: add changelog entries for 26.10.2 fixes

* fix: stop building ssh2 native crypto in the docker image (#1644)

* chore: test that an update keeps a changed auth type (#1601)

* feat: option to hide the sidebar after opening a host (#1652)

* feat: sort the dashboard host status card (Plugin-Host-Metrics#6)

* fix: let the hover side menu overlay content instead of resizing it (Plugin-Remote-Desktop#2)

* fix: say the server is down and keep retrying instead of a database error (#1637)

* fix: show why a client tunnel failed to start (Plugin-Tunnels#2)

* fix(sdk): skip comment-only chunks when splitting migrations

* feat: setting to let the hover side menu push content again

* fix: use the vite proxy for plugin sockets on any dev port

* feat(sdk): let a plugin raise its public route rate limit

* chore: update translations

* chore: add the overview video to the readme

* chore: update the overview video and add a play button to its thumbnail

* feat: plugin builds bundle worker entries and import wasm and fonts as bytes

* feat: plugin packs include LICENSE and NOTICE

* chore: drop guacd from compose files and dev runner

* chore: update remote desktop origin comment for the built-in engine

* fix: show plugin names and descriptions in the UI language (#1658)

* fix: show plugin names and descriptions in the UI language

Read plugin.name and plugin.description from each plugin's own locale
namespace, falling back to the manifest, everywhere core shows a plugin's
name: the Plugins manager, onboarding picker, host editor tabs and
sections, host filters and bulk actions, beta updates, interface presets
and plugin crash/loading notices.

* docs(sdk): document plugin.name and plugin.description locale keys

---------

Co-authored-by: ZacharyZcR <zkl205305@gmail.com>

* fix(hosts): reject or infer a missing authType on host create (#1664)

Creating an SSH host through the API without authType hit the NOT NULL
auth_type column and came back as a 500. The create route now infers the
type from the credential, key or password in the body, falls back to the
host defaults, and otherwise answers 400. A non-string authType is a 400
on create and update.

* chore: changelog for merged plugin name and host auth type PRs

* fix: move macOS split pane navigation to Cmd+Option+Arrow

* fix: pick a free port for the desktop backend when 30001 is taken (#1663)

* feat: build the Windows desktop app for ARM64 (#1615)

* fix(sync): keep the changes cursor within the 32-bit seq column (#1665)

The desktop learned the server's entity types by asking for changes after
Number.MAX_SAFE_INTEGER. sync_records.seq is a 32-bit integer on Postgres,
which rejects that bound value, so every pass needing the probe failed with
22003 out of range.

The server now clamps the cursor to the largest seq the column holds and
answers 400 for a cursor or limit that is not a non-negative integer. The
desktop asks for a one-row page from its saved cursor instead.

* fix(audit): coalesce identical plugin routine audits so they cannot flush the log (#1667)

Successful plugin_as_user and plugin_service_* entries written by a plugin
with the same user, action, resource and details are recorded once per
10 minutes. Failures and every other action are still written each time.

* feat(plugins): publish host.created when a host is added (#1668)

Plugins that keep an inventory of hosts had no way to hear about a new
one short of polling. Core now publishes host.created with the same
{ hostId, userId } payload as host.updated wherever a host row is
created: the host create route, ctx.hosts.create, JSON and SSH config
bulk import, database file import, and sync writing a host it did not
have yet.

* fix: show the login for signed-out full-screen view links and return to them (#1669)

A ?view= link opened without a session spun forever: the gate rendered
the bare view when the session check failed, so the plugin runtime never
started and the view never registered. A regular browser now keeps the
link in sessionStorage, shows the normal login and opens the link again
after any login, including redirect logins. Only same-origin paths with
a view are restored. The desktop app, embedded sign-in frames and guest
views keep their current behavior.

* fix(desktop): apply linked server proxy headers and certificate exception to WebSockets (#1670)

* fix(desktop): send linked server proxy headers on WebSocket upgrades

isLinkedOrigin compared the request origin with the link's http(s)
origin, so the terminal WebSocket (wss://host/...) never matched and its
upgrade went out without the proxy headers and basic auth. Behind a
forward-auth proxy that upgrade was redirected to the login and the
terminal closed with "connection closed unexpectedly". ws and wss now
count as http and https for the comparison, the same mapping the
WebSocket handshake itself uses, with host and port still matched
exactly.

* fix(desktop): allow a linked server's self-signed certificate for its WebSockets

isInvalidCertificateAllowedForUrl compared the URL with a local
getOrigin copy, so wss://host never matched the link's https://host
origin and an allowed self-signed certificate did not cover the
terminal and tunnel sockets. It now uses linkedServer.isLinkedOrigin,
which maps ws and wss the same way as the proxy headers, and the local
copy is removed.

* feat(sdk): let plugins mint a short-lived user session and read a user's locale (#1666)

ctx.auth.issueUserToken(userId, { purpose, ttlSeconds }) gives background
work a session for calling Termix's own API as an existing user. It needs
users:impersonate, defaults to 300s and is capped at 900s, is stored as a
normal session row marked as plugin-issued, and every issue is audited.
Such sessions are refused on routes that change the user's password,
second factors, API keys or linked logins.

ctx.users.getLocale(userId) reads the user's UI language under users:read.

SDK 1.0.11, plugin API 1.3.0.

* chore: changelog for merged sync, audit, event and desktop PRs

* feat: add shell.rightEdge slot so plugin panels can push the page over

* chore: pin bundled plugins to the latest releases

* chore: lint, format, and bump version to 26.10.2

---------

Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com>
Co-authored-by: Ferdina Kusumah <19812460+FerdinaKusumah@users.noreply.github.com>
Co-authored-by: ZacharyZcR <zkl205305@gmail.com>
Co-authored-by: Lukas <80832688+0skater0@users.noreply.github.com>
2026-10-18 00:34:50 -05:00

2553 lines
148 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"connection": {
"retryingIn": "Nouvelle tentative dans {{seconds}}s ({{attempt}}/{{max}})",
"retryingNow": "Nouvelle tentative... ({{attempt}}/{{max}})",
"reconnect": "Reconnecter",
"close": "Fermer",
"failed": "Impossible de se connecter",
"failedRetrying": "Échec de la connexion, nouvelle tentative",
"retryNow": "Réessayer maintenant"
},
"credentials": {
"folders": "Dossiers",
"folder": "Dossier",
"password": "Mot de passe",
"key": "Clé",
"sshPrivateKey": "Clé privée SSH",
"upload": "Téléverser",
"keyPassword": "Mot de passe de la clé",
"sshKey": "Clé SSH",
"uploadPrivateKeyFile": "Téléverser le fichier de clé privée",
"searchCredentials": "Rechercher des identifiants...",
"addCredential": "Ajouter un identifiant",
"caCertificate": "Certificat AC (-cert.pub)",
"caCertificateDescription": "Facultatif : téléversez ou collez le fichier de certificat signé par l'AC (par ex. id_ed25519-cert.pub). Requis lorsque votre serveur SSH utilise une autorisation basée sur les certificats.",
"uploadCertFile": "Téléverser le fichier -cert.pub",
"clearCert": "Effacer",
"certLoaded": "Certificat chargé",
"certPublicKeyLabel": "Certificat AC",
"certTypeLabel": "Type de certificat",
"pasteOrUploadCert": "Collez ou téléversez un certificat -cert.pub...",
"hasCaCert": "Possède un certificat AC",
"noCaCert": "Aucun certificat AC",
"noPublicKeyAvailable": "Aucune clé publique disponible. Ouvrez d'abord l'éditeur d'identifiants.",
"deployCommandCopied": "Commande de déploiement copiée",
"sortCredentials": "Trier les identifiants",
"sortDefault": "Ordre par défaut",
"sortNameAsc": "Nom (A → Z)",
"sortNameDesc": "Nom (Z → A)",
"sortUsernameAsc": "Nom d'utilisateur (A → Z)",
"sortUsernameDesc": "Nom d'utilisateur (Z → A)",
"filterCredentials": "Filtrer les identifiants",
"filterClearAll": "Effacer les filtres",
"filterTypeGroup": "Type",
"filterTypePassword": "Mot de passe",
"filterTypeKey": "Clé SSH",
"filterTagsGroup": "Étiquettes",
"copyDeployCommand": "Copier la commande de déploiement",
"cloneCredentialAction": "Cloner l'identifiant",
"clonedCredential": "{{name}} cloné",
"clonedCredentialName": "{{name}} (copie)",
"shareCredentialAction": "Partager l'identifiant",
"sharedBadge": "partagé",
"sharedBy": "Partagé par {{owner}}",
"share": {
"title": "Partager « {{name}} »",
"description": "Les destinataires reçoivent leur propre copie chiffrée des secrets. Elle est actualisée à chaque modification de l'identifiant et supprimée lorsque le partage est révoqué.",
"levelUse": "Utiliser",
"levelManage": "Gérer",
"levelUseDesc": "Utiliser : associer l'identifiant à des hôtes et se connecter. Le secret lui-même reste masqué.",
"levelManageDesc": "Gérer : modifier également l'identifiant et le partager avec d'autres.",
"noAccessEntries": "Cet identifiant n'a pas encore été partagé",
"accessRevoked": "Accès révoqué",
"shared": "Identifiant partagé"
},
"deleteCredentialAction": "Supprimer l'identifiant",
"editCredentialAction": "Modifier l'identifiant",
"failedToCloneCredential": "Échec de la duplication de l'identifiant",
"failedToDeleteCredential": "Échec de la suppression de l'identifiant",
"keyBadge": "CLÉ",
"passwordBadge": "MOT DE PASSE",
"renameFolder": "Renommer le dossier",
"deleteFolder": "Supprimer le dossier",
"deleteCredentialConfirm": "Supprimer l'identifiant « {{name}} » ?",
"deletedCredential": "{{name}} supprimé",
"deploySSHKeyTitle": "Déployer la clé sur l'hôte",
"loadingCredentials": "Chargement des identifiants...",
"noCredentialsFound": "Aucun identifiant trouvé",
"noCredentialsMatchSearch": "Aucun identifiant ne correspond à votre recherche",
"addCredentialBtn": "Ajouter un identifiant",
"failedToReorder": "Échec du réordonnancement des identifiants",
"failedToMoveCredential": "Échec du déplacement de l'identifiant",
"sortManual": "Manuel (glisser pour réorganiser)",
"customizeSidebar": "Personnaliser la barre latérale",
"customizeSidebarDescription": "Choisissez l'apparence et le comportement de la liste des identifiants.",
"customizeDensityTitle": "Densité",
"densityComfortableDesc": "Un identifiant par ligne, avec des détails supplémentaires.",
"densityCompactDesc": "Une ligne par identifiant, pour les listes plus longues.",
"displayDensityComfortable": "Confortable",
"displayDensityCompact": "Compact",
"customizeBehaviorTitle": "Comportement",
"showCredentialTags": "Afficher les étiquettes",
"showCredentialTagsDesc": "Afficher les étiquettes dans la liste des identifiants",
"rowDetailsTitle": "Détails de la ligne",
"rowDetailsDesc": "Choisissez ce qui s'affiche pour chaque identifiant.",
"showUsername": "Nom d'utilisateur",
"showUsernameDesc": "Afficher le nom d'utilisateur sous le nom de l'identifiant.",
"showUsageCount": "Nombre d'hôtes",
"showUsageCountDesc": "Afficher le nombre d'hôtes utilisant l'identifiant.",
"showTypeBadge": "Badge de type",
"showTypeBadgeDesc": "Afficher le badge clé ou mot de passe.",
"showPinIcon": "Icône d'épinglage",
"showPinIconDesc": "Afficher une épingle à côté des identifiants épinglés.",
"showSharedBadge": "Badge partagé",
"showSharedBadgeDesc": "Afficher un badge sur les identifiants partagés avec vous.",
"actionsVisibility": "Actions sur les identifiants",
"actionsVisibilityDesc": "Quand les boutons de connexion et de gestion de chaque identifiant s'affichent",
"actionsAlways": "Toujours visibles",
"actionsOnly": "Connexion uniquement, le reste au clic",
"actionsHover": "Afficher au survol",
"actionsClick": "Afficher au clic",
"customizeSortHint": "L'ordre de tri se trouve dans le menu de tri de la barre d'outils.",
"expandActions": "Développer les actions",
"collapseActions": "Réduire les actions",
"backToHosts": "Retour aux hôtes",
"backToCredentials": "Retour aux identifiants",
"searchCredentialsPlaceholder": "Rechercher des identifiants…",
"deployDialogTitle": "Déployer la clé SSH",
"deployDialogDesc": "Déployer {{name}} dans le fichier authorized_keys d'un hôte.",
"targetHostLabel": "Hôte cible",
"selectHostOption": "Sélectionnez un hôte...",
"deployingBtn": "Déploiement en cours...",
"deployBtn": "Déployer",
"keyDeployedSuccess": "Clé déployée avec succès",
"failedToDeployKey": "Échec du déploiement de la clé",
"folderRenamedTo": "Dossier renommé en « {{name}} »",
"failedToRenameFolder": "Échec du renommage du dossier",
"arrangeUnlockedSwitchedToManual": "Passage au tri manuel pour conserver l'ordre",
"arrangeUnlocked": "Déverrouiller pour réorganiser par glisser-déposer"
},
"versionCheck": {
"updateLinkLabel": "Mise à jour disponible. Ouvrir les notes de version sur GitHub"
},
"common": {
"scrollTabsLeft": "Faire défiler les onglets vers la gauche",
"scrollTabsRight": "Faire défiler les onglets vers la droite",
"close": "Fermer",
"minimize": "Réduire",
"online": "En ligne",
"offline": "Hors ligne",
"unknown": "Inconnu",
"continue": "Continuer",
"error": "Erreur",
"unsavedChanges": "Modifications non enregistrées",
"more": "Plus",
"loading": "Chargement...",
"host": "Hôte",
"selectHost": "Sélectionner un hôte...",
"noHostConfigured": "Aucun hôte configuré",
"optional": "Facultatif",
"connect": "Connecter",
"copied": "Copié",
"connecting": "Connexion en cours...",
"openInNewTab": "Ouvrir dans un nouvel onglet",
"cancel": "Annuler",
"username": "Nom d'utilisateur",
"login": "Connexion",
"logout": "Déconnexion",
"register": "S'inscrire",
"password": "Mot de passe",
"confirmPassword": "Confirmer le mot de passe",
"back": "Retour",
"save": "Enregistrer",
"saving": "Enregistrement...",
"delete": "Supprimer",
"rename": "Renommer",
"edit": "Modifier",
"confirm": "Confirmer",
"next": "Suivant",
"previous": "Précédent",
"refresh": "Actualiser",
"language": "Langue",
"backendReconnected": "Connexion au serveur rétablie",
"connectionDegraded": "Connexion au serveur perdue, récupération en cours…",
"reload": "Recharger",
"create": "Créer",
"copy": "Copier",
"copyFailed": "Échec de la copie dans le presse-papiers",
"maximize": "Agrandir",
"restore": "Restaurer",
"remove": "Retirer",
"add": "Ajouter",
"update": "Mettre à jour",
"noResults": "Aucun résultat trouvé",
"sidebar": "Barre latérale",
"mobileSidebarDescription": "Affiche la barre latérale mobile.",
"toggleSidebar": "Afficher/masquer la barre latérale",
"search": "Rechercher...",
"new": "Nouveau",
"docs": "Documentation"
},
"onboarding": {
"stepCounter": "Étape {{current}} sur {{total}}",
"stageLabel": "Configuration de Termix",
"setupHeading": "Configurez votre espace de travail",
"partialHeading": "Quelques nouveautés à configurer",
"signOut": "Se déconnecter",
"skipPartial": "Plus tard",
"skip": "Ignorer la configuration",
"next": "Suivant",
"finish": "Terminé",
"pluginsTitle": "Choisissez vos plugins",
"pluginsIntro": "Sélectionnez les plugins à conserver. Les recommandés couvrent les besoins de la plupart des utilisateurs.",
"pluginsUpgradeNote": "Tout ce que vous utilisez actuellement est conservé tel quel. Désactivez ou supprimez ce dont vous n'avez pas besoin.",
"pluginsRemoveNote": "Les plugins définis sur Supprimer sont supprimés de ce serveur, avec leurs données, lorsque vous continuez. Vous pouvez les réinstaller à tout moment depuis l'onglet Plugins (une connexion Internet est requise). Choisissez Désactivé pour conserver un plugin installé mais désactivé.",
"pluginsUseRecommended": "Recommandé",
"pluginsEnableAll": "Tout activer",
"pluginsDisableAll": "Tout désactiver",
"pluginsCounts": "{{enabled}} activés, {{disabled}} désactivés, {{removed}} à supprimer",
"pluginsRecommended": "Recommandé",
"pluginsKeptBecause": "Conservé car {{names}} en a besoin",
"pluginsChoice_enabled": "Activé",
"pluginsChoice_disabled": "Désactivé",
"pluginsChoice_remove": "Supprimer",
"pluginsConsentTitle": "Aidez à améliorer Termix",
"pluginsConsentNote": "Vous pouvez désactiver cette option à tout moment depuis l'onglet Plugins.",
"pluginsApplying": "Application de vos choix",
"pluginsSomeFailed": "Certains plugins n'ont pas pu être modifiés. Vous pouvez les corriger plus tard depuis l'onglet Plugins. Appuyez sur Suivant pour continuer.",
"pluginsApplyFailed": "Vos choix n'ont pas pu être enregistrés. Réessayez, ou continuez et modifiez-les plus tard depuis l'onglet Plugins.",
"pluginsLoadFailed": "La liste des plugins n'a pas pu être chargée. Vous pouvez choisir des plugins plus tard depuis l'onglet Plugins.",
"presetTitle": "Combien d'éléments souhaitez-vous afficher ?",
"presetIntro": "Choisissez la quantité d'informations affichées à l'écran.",
"presetChangeLater": "Vous pouvez changer de preset ou modifier n'importe quel paramètre plus tard dans Paramètres, sous Interface.",
"appearanceTitle": "Personnalisez-le",
"appearanceIntro": "Choisissez un thème, une couleur d'accentuation, une police et votre langue. Les modifications s'affichent immédiatement et vous pouvez les modifier plus tard dans Paramètres.",
"securityTitle": "Sécurisez votre compte",
"securityIntro": "Ajoutez une clé de sécurité ou une application d'authentification à votre compte. Vous pouvez également le faire plus tard dans Paramètres, sous Sécurité.",
"desktopTitle": "Comment souhaitez-vous utiliser Termix ?",
"desktopBody": "Vous pouvez modifier cela à tout moment depuis Synchronisation dans la barre latérale.",
"desktopLocalTitle": "Sur cet appareil uniquement",
"desktopLocalBody": "Tout est stocké ici. Rien à configurer.",
"desktopLinkTitle": "Avec mon serveur Termix",
"desktopLinkBody": "Connectez-vous à votre serveur pour utiliser les mêmes hôtes et paramètres sur tous vos appareils.",
"desktopLinked": "Lié à {{server}}",
"pluginsDocsLink": "En savoir plus sur chacun"
},
"desktopUpdates": {
"title": "Application de bureau",
"mode": "Mises à jour",
"modeHint": "Comment cette application reçoit les nouvelles versions.",
"manualModeHint": "Cette copie ne peut pas se mettre à jour automatiquement, donc Termix vous informe simplement lorsqu'une nouvelle version est disponible.",
"modeAutomatic": "Automatique",
"modePrompt": "Demander d'abord",
"modeNever": "Jamais",
"automaticBody": "Télécharger les nouvelles versions en arrière-plan et les installer au redémarrage.",
"promptBody": "M'informer lorsqu'une nouvelle version est disponible et me laisser choisir quand la télécharger.",
"neverBody": "Ne pas vérifier les mises à jour. Vous pouvez toujours vérifier manuellement dans les Paramètres.",
"onboardingTitle": "Mises à jour de l'application",
"onboardingBody": "L'application de bureau peut désormais se mettre à jour automatiquement. Choisissez comment vous souhaitez recevoir les nouvelles versions. Vous pourrez modifier ce paramètre plus tard dans Paramètres, Mises à jour.",
"onboardingManual": "Cette copie de l'application a été installée d'une manière qui ne permet pas les mises à jour automatiques, donc Termix vous informera lorsqu'une nouvelle version sera disponible avec un lien pour la télécharger.",
"status": "Version {{version}}",
"statusIdle": "Pas encore vérifié",
"statusChecking": "Recherche de mises à jour",
"statusAvailable": "La version {{version}} est disponible",
"statusDownloading": "Téléchargement de {{version}} ({{progress}}%)",
"statusReady": "La version {{version}} est prête. Redémarrez pour l'installer.",
"statusUpToDate": "Vous avez la dernière version",
"statusError": "Impossible de vérifier les mises à jour. Réessayez plus tard.",
"checkNow": "Vérifier maintenant",
"download": "Télécharger",
"restart": "Redémarrer maintenant",
"later": "Plus tard",
"available": "Termix {{version}} est disponible",
"manualHint": "Téléchargez-la depuis la page des versions et installez-la par-dessus celle-ci.",
"ready": "Termix {{version}} est prêt à être installé",
"readyHint": "Il sera installé au prochain redémarrage de Termix."
},
"nav": {
"home": "Accueil",
"terminal": "Terminal",
"close": "Fermer",
"hostTabTitle": "{{username}}@{{ip}}:{{port}}",
"copyPassword": "Copier le mot de passe",
"copySudoPassword": "Copier le mot de passe Sudo",
"passwordCopied": "Mot de passe copié dans le presse-papiers",
"failedToCopyPassword": "Échec de la copie du mot de passe",
"refreshTab": "Actualiser la connexion",
"renameTab": "Renommer l'onglet",
"dashboard": "Tableau de bord",
"quickConnect": "Connexion rapide",
"openAsTabHint": "Ctrl+clic ou clic molette pour ouvrir dans un onglet",
"openAsTab": "Ouvrir dans un onglet",
"openInRightDock": "Ouvrir dans le dock droit",
"closeRightDock": "Fermer le dock droit",
"toggleRightDock": "Basculer le dock droit",
"hosts": "Hôtes",
"credentials": "Identifiants",
"connections": "Connexions",
"keepSideMenuOpen": "Garder le menu ouvert",
"collapseSideMenu": "Réduire le menu",
"roleAdministrator": "Administrateur",
"roleUser": "Utilisateur",
"sync": "Synchroniser",
"reconnectDisconnectedTerminals": "Reconnecter tous les terminaux déconnectés",
"reconnectingTerminals_one": "Reconnexion du terminal {{count}}",
"reconnectingTerminals_many": "Reconnexion des {{count}} terminaux",
"reconnectingTerminals_other": "Reconnexion des {{count}} terminaux",
"noDisconnectedTerminals": "Aucun terminal déconnecté n'est prêt à être reconnecté",
"reconnectTerminalsFailed_one": "Impossible de lancer la reconnexion du terminal {{count}}",
"reconnectTerminalsFailed_many": "Impossible de lancer la reconnexion des {{count}} terminaux",
"reconnectTerminalsFailed_other": "Impossible de lancer la reconnexion des {{count}} terminaux",
"fullscreenUnsupported": "Le mode plein écran n'est pas pris en charge par ce navigateur",
"fullscreenFailed": "Impossible d'activer le mode plein écran",
"resetSidebarWidth": "Réinitialiser la largeur",
"collapseSidebar": "Réduire la barre latérale",
"openSidebar": "Ouvrir la barre latérale",
"confirmCloseHost": "Fermer {{host}} ?",
"enterFullscreen": "Activer le plein écran (Ctrl+Maj+F)",
"exitFullscreen": "Quitter le plein écran (Ctrl+Maj+F)",
"group": {
"objects": "Les vôtres",
"tools": "Outils",
"system": "Système"
},
"searchEverything": "Rechercher des hôtes, des onglets et des actions",
"search": "Rechercher",
"hiddenCount_one": "{{count}} masqué",
"hiddenCount_many": "{{count}} masqués",
"hiddenCount_other": "{{count}} masqués",
"showInRail": "Afficher dans la barre latérale",
"moveUp": "Déplacer vers le haut",
"moveDown": "Déplacer vers le bas",
"resetRailOrder": "Réinitialiser l'ordre",
"hideFromRail": "Masquer de la barre latérale",
"openSettings": "Ouvrir les paramètres",
"settings": "Paramètres",
"manage": "Gérer",
"mobileNavigation": "Navigation",
"plugins": "Extensions"
},
"hosts": {
"hosts": "Hôtes",
"noHosts": "Aucun hôte SSH",
"retry": "Réessayer",
"refresh": "Actualiser",
"optional": "Facultatif",
"downloadSample": "Télécharger l'exemple",
"failedToDeleteHost": "Échec de la suppression de {{name}}",
"importSkipExisting": "Importer (ignorer les existants)",
"importSSHConfig": "Importer depuis la configuration SSH",
"connectionDetails": "Détails de la connexion",
"ssh": "SSH",
"telnet": "Telnet",
"port": "Port",
"username": "Nom d'utilisateur",
"folder": "Dossier",
"tags": "Étiquettes",
"pin": "Épingler",
"addHost": "Ajouter un hôte",
"editHost": "Modifier l'hôte",
"cloneHost": "Cloner l'hôte",
"defaultPath": "Chemin par défaut",
"connection": "Connexion",
"upload": "Téléverser",
"authentication": "Authentification",
"password": "Mot de passe",
"passwordSaved": "Mot de passe enregistré, tapez pour le modifier",
"key": "Clé",
"credential": "Identifiant",
"sshPrivateKey": "Clé privée SSH",
"keyType": "Type de clé",
"uploadFile": "Téléverser un fichier",
"tabGeneral": "Général",
"tabSsh": "SSH",
"tabStats": "Métriques de l'hôte",
"tabSharing": "Partage",
"tabAuthentication": "Authentification",
"terminal": "Terminal",
"tunnel": "Tunnel",
"serverStats": "Métriques de l'hôte",
"status": {
"online": "En ligne",
"offline": "Hors ligne",
"checking": "Vérification en cours",
"monitoringDisabled": "Vérifications de statut désactivées",
"label": "Statut"
},
"folderRenamed": "Le dossier « {{oldName}} » a été renommé en « {{newName}} » avec succès",
"failedToRenameFolder": "Échec du renommage du dossier",
"unsavedChangesDescription": "Les modifications apportées à votre hôte n'ont pas été enregistrées. Les abandonner ?",
"keepEditing": "Continuer la modification",
"discardChanges": "Abandonner les modifications",
"movedToFolder_one": "Déplacement de {{count}} hôte vers « {{folder}} »",
"movedToFolder_many": "Déplacement de {{count}} hôtes vers « {{folder}} »",
"movedToFolder_other": "Déplacement de {{count}} hôtes vers « {{folder}} »",
"editHostTooltip": "Modifier l'hôte",
"behavior": "Comportement",
"scrollbackBuffer": "Tampon de défilement",
"sshAgentForwarding": "Transparence de l'agent SSH",
"selectSnippet": "Sélectionner un extrait",
"forceKeyboardInteractive": "Forcer l'interaction clavier",
"overrideCredentialUsername": "Remplacer le nom d'utilisateur de l'identifiant",
"overrideCredentialUsernameDesc": "Utiliser le nom d'utilisateur spécifié ci-dessus au lieu de celui de l'identifiant",
"externalUsernameHint": "Utilisez $external.username pour remplir le nom avec lequel vous vous êtes connecté via SSO ou LDAP.",
"jumpHostChain": "Chaîne d'hôtes de saut",
"portKnocking": "Port Knocking",
"addKnock": "Ajouter un port",
"addProxyNode": "Ajouter un nœud",
"proxyNode": "Nœud proxy",
"proxyType": "Type de proxy",
"sudoPassword": "Mot de passe sudo",
"keepaliveInterval": "Intervalle de keepalive (ms)",
"environmentVariables": "Variables d'environnement",
"addVariable": "Ajouter une variable",
"docker": "Docker",
"failedToConnect": "Échec de la connexion à la console",
"connect": "Se connecter",
"disconnect": "Se déconnecter",
"start": "Démarrer",
"enableStatusCheck": "Activer la vérification du statut",
"enableMetrics": "Activer les métriques",
"bulkUpdateFailed": "Échec de la mise à jour en masse",
"selectAll": "Tout sélectionner",
"deselectAll": "Tout désélectionner",
"protocols": "Protocoles",
"secureShell": "Secure Shell",
"addressIp": "Adresse / IP",
"friendlyName": "Nom convivial",
"folderAndAdvanced": "Dossier et paramètres avancés",
"showAdvancedSettings": "Afficher les paramètres avancés",
"hideAdvancedSettings": "Masquer les paramètres avancés",
"privateNotes": "Notes privées",
"privateNotesPlaceholder": "Détails sur ce serveur...",
"pinToTop": "Épingler en haut",
"pinToTopDesc": "Toujours afficher cet hôte en haut de la liste",
"portKnockingSequence": "Séquence de Port Knocking",
"addKnockBtn": "Ajouter un knock",
"noPortKnocking": "Aucun port knocking configuré.",
"knockPort": "Port de knock",
"protocol": "Protocole",
"delayAfterMs": "Délai après (ms)",
"useSocks5Proxy": "Utiliser un proxy SOCKS5",
"useSocks5ProxyDesc": "Acheminer la connexion via un serveur proxy",
"connectionOrigin": "Origine de la connexion",
"connectionOriginDesc": "D'où provient la connexion de cet hôte. Remplace la valeur par défaut globale de l'application de bureau.",
"connectionOriginDefault": "Utiliser la valeur par défaut",
"connectionOriginLocal": "Cet appareil (réseau local)",
"connectionOriginRemote": "Serveur distant",
"proxyHost": "Hôte proxy",
"proxyPort": "Port proxy",
"proxyUsername": "Nom d'utilisateur proxy",
"proxyPassword": "Mot de passe proxy",
"proxySingleMode": "Proxy unique",
"proxyChainMode": "Chaîne de proxies",
"you": "Vous",
"jumpHostChainLabel": "Chaîne d'hôtes de saut",
"addJumpBtn": "Ajouter un saut",
"noJumpHosts": "Aucun hôte de saut configuré.",
"selectAServer": "Sélectionner un serveur...",
"sshPort": "Port SSH",
"authMethod": "Méthode d'authentification",
"authenticationMethod": "Méthode d'authentification",
"authenticationMethodDesc": "Sélectionnez la méthode que Termix utilisera pour authentifier cette connexion SSH. Les autres méthodes ne sont pas essayées automatiquement.",
"storedCredential": "Identifiant enregistré",
"selectACredential": "Sélectionner un identifiant...",
"keyTypeLabel": "Type de clé",
"keyTypeAuto": "Détection automatique",
"keyPasteTab": "Coller",
"keyUploadTab": "Téléverser",
"keyFileLoaded": "Fichier de clé chargé",
"keyUploadClick": "Cliquez pour téléverser .pem / .key / .ppk",
"clearKey": "Effacer la clé",
"keySaved": "Clé SSH enregistrée",
"keyReplaceNotice": "collez une nouvelle clé ci-dessous pour la remplacer",
"keyPassphraseSaved": "Phrase de passe enregistrée, tapez pour modifier",
"replaceKey": "Remplacer la clé",
"docsLink": "Voir la documentation",
"agentLabel": "Agent SSH",
"agentDesc": "S'authentifier à l'aide d'un agent SSH exécuté sur le serveur Termix (Bitwarden, 1Password, gpg-agent, KeeAgent, ssh-agent). L'agent doit être en cours d'exécution sur la machine où Termix est hébergé.",
"agentAuthenticationDesc": "Utiliser les clés d'un agent SSH pour authentifier cette connexion. Laissez le chemin de la socket vide pour utiliser SSH_AUTH_SOCK.",
"agentSocketPathLabel": "Chemin de la socket de l'agent",
"agentSocketPathPlaceholder": "Laissez vide pour utiliser SSH_AUTH_SOCK",
"agentSocketPathHint": "Laissez vide pour détecter automatiquement à partir de la variable d'environnement SSH_AUTH_SOCK, ou entrez un chemin de socket personnalisé (par ex. /run/user/1000/gnupg/S.gpg-agent.ssh).",
"agentIdentityLabel": "Identité de l'agent (clé publique)",
"agentIdentityPlaceholder": "Laissez vide pour essayer toutes les clés de l'agent",
"agentIdentityHint": "Collez une clé publique (par ex. ssh-ed25519 AAAA...) pour proposer uniquement cette clé depuis l'agent. Recommandé lorsque l'agent détient de nombreuses clés, afin d'éviter de dépasser la limite MaxAuthTries du serveur.",
"shareSshAuthLabel": "Partager l'authentification SSH",
"shareSshAuthDesc": "Fournir aux destinataires des copies chiffrées de l'authentification SSH de cet hôte. L'identifiant personnel du destinataire reste prioritaire.",
"forceKeyboardInteractiveLabel": "Forcer l'interaction clavier",
"forceKeyboardInteractiveShortDesc": "Forcer la saisie manuelle du mot de passe même si des clés sont présentes",
"allowLegacyAlgorithmsLabel": "Autoriser les algorithmes obsolètes",
"allowLegacyAlgorithmsDesc": "Activer les algorithmes SSH dépréciés (ssh-dss, ssh-rsa, diffie-hellman-group1-sha1, hmac-md5, 3des-cbc) pour les connexions aux anciens appareils qui ne peuvent pas être mis à jour.",
"insecure": "Insécure",
"syntaxHighlightingCategories": "Catégories de surbrillance",
"syntaxHighlightingCategoriesDesc": "Choisissez les types de contenu à colorer",
"sshAgentForwardingLabel": "Transfert d'agent SSH",
"sshAgentForwardingShortDesc": "Autoriser cet hôte distant à utiliser votre agent SSH local pour les connexions suivantes. Cela n'est pas requis pour l'authentification par agent.",
"sudoPasswordAutoFillShortDesc": "Fournir automatiquement le mot de passe sudo lorsqu'il est demandé",
"sudoPasswordLabel": "Mot de passe Sudo",
"sudoPasswordSaved": "Mot de passe enregistré, tapez pour le modifier",
"environmentVariablesLabel": "Variables d'environnement",
"addVariableBtn": "Ajouter une variable",
"noEnvVars": "Aucune variable d'environnement configurée.",
"keepaliveIntervalLabel": "Intervalle de maintien de connexion (secondes)",
"maxKeepaliveMisses": "Nombre maximal de keepalive manqués",
"sameHost": "Cet hôte (tunnel direct)",
"statusChecksLabel": "Vérifications d'état",
"enableStatusChecks": "Activer les vérifications d'état",
"enableStatusChecksDesc": "Vérifier la disponibilité de l'hôte. Les sessions actives ignorent les sondages supplémentaires. Les sondages SSH sans session active peuvent déclencher des règles Fail2Ban agressives ; désactivez les vérifications d'état sur ces hôtes.",
"useGlobalInterval": "Utiliser l'intervalle global",
"useGlobalIntervalDesc": "Remplacer par l'intervalle de vérification d'état global du serveur",
"checkIntervalS": "Intervalle de vérification (s)",
"checkIntervalDesc": "Secondes entre chaque ping de connectivité",
"cpuUsageLabel": "Utilisation du CPU",
"cpuUsageDesc": "Pourcentage CPU, moyennes de charge, graphique sparkline",
"memoryLabel": "Utilisation de la mémoire",
"memoryDesc": "Utilisation de la RAM, swap, mémoire tampon",
"storageLabel": "Utilisation du disque",
"storageDesc": "Utilisation du disque par point de montage",
"networkLabel": "Interfaces réseau",
"networkDesc": "Liste des interfaces et bande passante",
"uptimeLabel": "Temps de fonctionnement",
"uptimeDesc": "Temps de fonctionnement du système et heure de démarrage",
"systemInfoLabel": "Informations système",
"systemInfoDesc": "Système d'exploitation, noyau, nom d'hôte, architecture",
"recentLoginsLabel": "Connexions récentes",
"recentLoginsDesc": "Événements de connexion réussis et échoués",
"topProcessesLabel": "Processus principaux",
"topProcessesDesc": "PID, CPU%, MEM%, commande",
"listeningPortsLabel": "Ports en écoute",
"listeningPortsDesc": "Ports ouverts avec processus et état",
"firewallLabel": "Pare-feu",
"firewallDesc": "État du pare-feu, AppArmor, SELinux",
"hostSharedSuccessfully": "Hôte partagé avec succès",
"failedToShareHost": "Échec du partage de l'hôte",
"accessRevoked": "Accès révoqué",
"failedToRevokeAccess": "Échec de la révocation de l'accès",
"cancelBtn": "Annuler",
"savingBtn": "Enregistrement...",
"addHostBtn": "Ajouter un hôte",
"hostUpdated": "Hôte mis à jour",
"hostCreated": "Hôte créé",
"failedToSave": "Échec de l'enregistrement de l'hôte",
"credentialUpdated": "Identifiant mis à jour",
"credentialCreated": "Identifiant créé",
"failedToSaveCredential": "Échec de l'enregistrement de l'identifiant",
"credentialNameRequired": "Veuillez entrer un nom pour l'identifiant",
"credentialAuthRequired": "Ajoutez un mot de passe, une clé SSH, ou les deux",
"createCredentialFromHostBtn": "Créer un identifiant",
"createCredentialFromHostTitle": "Créer un identifiant à partir de l'hôte",
"createCredentialFromHostDesc": "Créez une entrée de connexion réutilisable et partageable, préremplie avec le nom d'utilisateur, le mot de passe et/ou la clé SSH actuels de cet hôte.",
"backToHosts": "Retour aux hôtes",
"pinned": "Épinglé",
"noHostsFound": "Aucun hôte trouvé",
"tryDifferentTerm": "Essayez un autre terme",
"addFirstHost": "Ajoutez votre premier hôte pour commencer",
"noCredentialsFound": "Aucune connexion trouvée",
"addCredentialBtn": "Ajouter une connexion",
"updateCredentialBtn": "Mettre à jour la connexion",
"editCredentialAction": "Modifier la connexion",
"backToHost": "Retour à l'hôte",
"saveCredentialAsNewBtn": "Enregistrer en tant que nouveau",
"saveCredentialAsNewDesc": "Crée une nouvelle connexion avec ces modifications et l'associe à cet hôte. La connexion d'origine reste inchangée.",
"credentialSavedAsNew": "Enregistré en tant que nouvelle connexion",
"failedToSaveCredentialAsNew": "Échec de l'enregistrement en tant que nouvelle connexion",
"features": "Fonctionnalités",
"noFolder": "(Aucun dossier)",
"deleteSelected": "Supprimer",
"exitSelection": "Quitter la sélection",
"importSkip": "Importer (ignorer les existants)",
"importOverwrite": "Importer (écraser)",
"collapseBtn": "Réduire",
"importExportBtn": "Importer / Exporter",
"hostStatusesRefreshed": "Statuts des hôtes actualisés",
"failedToRefreshHosts": "Échec de l'actualisation des hôtes",
"movedHostTo": "{{host}} déplacé vers \"{{folder}}\"",
"failedToMoveHost": "Échec du déplacement de l'hôte",
"deletedFolder": "Dossier \"{{name}}\" supprimé",
"failedToDeleteFolder": "Échec de la suppression du dossier",
"deleteAllInFolder": "Supprimer tous les hôtes dans \"{{name}}\" ? Cette action est irréversible.",
"folderPickerPlaceholder": "Aucun dossier",
"folderPickerSearch": "Rechercher ou créer (utilisez / pour les sous-dossiers)...",
"folderPickerNone": "Aucun dossier",
"folderPickerCreate": "Créer \"{{path}}\"",
"folderPickerEmpty": "Aucun dossier correspondant",
"parentHost": "Hôte parent",
"useFolderInstead": "Utiliser un dossier à la place",
"useParentHostInstead": "Utiliser l'hôte parent à la place",
"parentHostPickerPlaceholder": "Aucun hôte parent",
"parentHostPickerSearch": "Rechercher des hôtes...",
"parentHostPickerNone": "Aucun hôte parent",
"parentHostPickerEmpty": "Aucun hôte correspondant",
"collapseSubHosts": "Réduire les sous-hôtes",
"expandSubHosts": "Développer les sous-hôtes",
"cannotNestUnderDescendant": "Impossible de placer un hôte sous son propre sous-hôte",
"movedToParent_one": "Déplacement de {{count}} hôte sous « {{parent}} »",
"movedToParent_many": "Déplacement de {{count}} hôtes sous « {{parent}} »",
"movedToParent_other": "Déplacement de {{count}} hôtes sous « {{parent}} »",
"newFolder": "Nouveau dossier",
"createFolderTitle": "Créer un dossier",
"editFolderTitle": "Modifier le dossier",
"folderDialogDescription": "Choisissez un nom, une couleur et une icône. Utilisez / pour imbriquer les dossiers.",
"folderNameLabel": "Nom du dossier",
"folderNamePlaceholder": "ex. Production/Web",
"folderNestingHint": "Utilisez / pour séparer les niveaux et créer des dossiers imbriqués.",
"folderNameDuplicate": "Un dossier portant ce nom existe déjà ici.",
"folderColor": "Couleur",
"folderIcon": "Icône",
"folderCredential": "Connexion",
"folderCredentialNone": "Aucune connexion assignée",
"folderCredentialHint": "Les hôtes de ce dossier utilisant l'authentification « Connexion stockée » sans connexion proprement définie hériteront de celle-ci.",
"folderPreview": "Aperçu",
"folderNameFallback": "Dossier sans titre",
"createFolderButton": "Créer un dossier",
"saveFolderButton": "Enregistrer le dossier",
"cancel": "Annuler",
"iconSearchPlaceholder": "Rechercher des icônes...",
"openAllSessions": "Ouvrir toutes les sessions",
"editFolder": "Modifier le dossier",
"deleteFolder": "Supprimer le dossier",
"selectFolder": "Sélectionner tous les hôtes du dossier",
"deselectFolder": "Désélectionner tous les hôtes du dossier",
"folderSaved": "Dossier enregistré",
"failedToSaveFolder": "Échec de l'enregistrement du dossier",
"folderDeleted": "Dossier « {{name}} » supprimé",
"deleteFolderConfirm_one": "Supprimer « {{name}} » et son {{count}} hôte ? Cette action est irréversible.",
"deleteFolderConfirm_many": "Supprimer « {{name}} » et ses {{count}} hôtes ? Cette action est irréversible.",
"deleteFolderConfirm_other": "Supprimer « {{name}} » et ses {{count}} hôtes ? Cette action est irréversible.",
"failedToMoveHosts": "Échec du déplacement des hôtes",
"failedToReorder": "Échec du réordonnancement",
"expandAll": "Développer tous les dossiers",
"collapseAll": "Réduire tous les dossiers",
"moreActions": "Plus",
"groupBy": "Grouper par",
"GroupByFolder": "Dossier",
"GroupByTag": "Étiquette",
"GroupByStatus": "Statut",
"GroupByProtocol": "Protocole",
"GroupByAuth": "Type d'authentification",
"groupUngrouped": "Non groupé",
"customizeSidebar": "Personnaliser la barre latérale",
"customizeSidebarDescription": "Choisissez l'apparence et le comportement de la liste des hôtes.",
"customizeDensityTitle": "Densité",
"customizeBehaviorTitle": "Comportement",
"connectBarTitle": "Barre de connexion",
"connectBarDesc": "Choisissez les actions affichées sous forme de boutons pour un hôte. Toutes les actions restent disponibles dans le menu de l'hôte.",
"customizeSortHint": "L'ordre de tri et le regroupement se trouvent dans les menus de tri et de regroupement de la barre d'outils.",
"densityComfortableDesc": "Plus de détails par hôte : adresse, étiquettes et utilisation des ressources.",
"densityCompactDesc": "Une ligne par hôte, pour les listes plus longues.",
"display": "Affichage",
"displayDensity": "Densité",
"displayDensityComfortable": "Confortable",
"displayDensityCompact": "Compact",
"displayShowTags": "Afficher les étiquettes",
"displayTrayOnClick": "Ouvrir les actions au clic (au lieu du survol)",
"actionsVisibility": "Affichage des actions de l'hôte",
"actionsVisibilityDesc": "Choisissez quand les actions de l'hôte s'affichent. Sélectionnez « clic » pour restaurer l'ancien comportement d'expansion au clic.",
"actionsAlways": "Toujours visible",
"actionsOnly": "Connexion uniquement, le reste au clic",
"actionsHover": "Afficher au survol",
"actionsClick": "Cliquer pour développer/réduire",
"openOnDoubleClick": "Ouvrir au double-clic",
"openOnDoubleClickDesc": "Exiger un double-clic pour ouvrir une session d'hôte au lieu d'un clic simple",
"closeOnOpen": "Masquer la barre latérale après l'ouverture",
"closeOnOpenDesc": "Fermer la barre latérale après avoir ouvert un hôte depuis celle-ci",
"showFolderPaths": "Afficher les chemins des dossiers",
"showFolderPathsDesc": "Afficher le chemin du dossier parent au-dessus des noms des sous-dossiers imbriqués. Les sous-dossiers restent indentés dans les deux cas.",
"rowDetailsTitle": "Détails de la ligne",
"rowDetailsDesc": "Choisissez ce qui s'affiche pour chaque hôte.",
"showAddress": "Adresse",
"showAddressDesc": "Afficher l'adresse de l'hôte sous le nom.",
"showUsername": "Nom d'utilisateur",
"showUsernameDesc": "Afficher le nom d'utilisateur avant l'adresse.",
"showPort": "Port",
"showPortDesc": "Afficher le port après l'adresse.",
"showPinIcon": "Icône d'épinglage",
"showPinIconDesc": "Afficher une épingle à côté des hôtes épinglés.",
"showSharedBadge": "Badge partagé",
"showSharedBadgeDesc": "Afficher un badge sur les hôtes partagés avec vous.",
"showBadges": "Badges de plugins",
"showBadgesDesc": "Afficher les badges ajoutés par les plugins à côté du nom de l'hôte.",
"hostClickBehavior": "Cliquer sur un hôte",
"hostClickBehaviorDesc": "Que se passe-t-il lorsque vous cliquez sur un hôte qui possède déjà un onglet ouvert. Ctrl/Cmd + clic, clic du milieu ou « Ouvrir dans un nouvel onglet » ouvrent toujours un nouvel onglet.",
"hostClickNewTab": "Toujours ouvrir un nouvel onglet",
"hostClickFocusExisting": "Basculer vers l'onglet ouvert",
"hostClickFocusExistingDoubleNew": "Clic pour basculer, double-clic pour un nouvel onglet",
"openInNewTab": "Ouvrir dans un nouvel onglet",
"deletedHost": "{{name}} supprimé",
"copiedToClipboard": "Copié dans le presse-papiers",
"remoteDesktopUrlCopied": "URL du bureau à distance copiée",
"expandActions": "Développer les actions",
"collapseActions": "Réduire les actions",
"cloneHostAction": "Cloner l'hôte",
"copyAddress": "Copier l'adresse",
"copyLink": "Copier le lien",
"deleteCredentialConfirm": "Supprimer l'identifiant « {{name}} » ?",
"deletedCredential": "{{name}} supprimé",
"deleteHostsConfirm_one": "Supprimer {{count}} hôte ? Cette action est irréversible.",
"deleteHostsConfirm_many": "Supprimer {{count}} hôtes ? Cette action est irréversible.",
"deleteHostsConfirm_other": "Supprimer {{count}} hôtes ? Cette action est irréversible.",
"movedToRoot": "Déplacé à la racine",
"addTagsPlaceholder": "Ajouter des étiquettes...",
"authDetails": "Détails d'authentification",
"credType": "Type",
"generateKeyPairDesc": "Générer une nouvelle paire de clés, les clés privée et publique seront remplies automatiquement.",
"generatingKey": "Génération...",
"generateLabel": "Générer {{label}}",
"uploadFileBtn": "Téléverser un fichier",
"keyPassphraseOptional": "Phrase de passe de la clé (facultatif)",
"sshPublicKeyOptional": "Clé publique SSH (facultatif)",
"publicKeyGenerated": "Clé publique générée",
"failedToGeneratePublicKey": "Échec de la dérivation de la clé publique",
"publicKeyCopied": "Clé publique copiée",
"keyPairGenerated": "Paire de clés {{label}} générée",
"failedToGenerateKeyPair": "Échec de la génération de la paire de clés",
"searchHostsPlaceholder": "Rechercher des hôtes, adresses, étiquettes…",
"refreshBtn": "Actualiser",
"addTag": "Ajouter des étiquettes...",
"deleteConfirmBtn": "Supprimer",
"deleteHostConfirm": "Supprimer « {{name}} » ?",
"enableAtLeastOneProtocol": "Activez au moins un protocole ci-dessus pour configurer l'authentification et les paramètres de connexion.",
"keyPassphrase": "Phrase de passe de la clé",
"basicInformation": "Informations de base",
"authDetailsSection": "Détails d'authentification",
"credTypeLabel": "Type",
"hostsTab": "Hôtes",
"credentialsTab": "Identifiants",
"selectMultiple": "Sélection multiple",
"selectHosts": "Sélectionner des hôtes",
"connectionLabel": "Connexion",
"authenticationLabel": "Authentification",
"generateKeyPairTitle": "Générer une paire de clés",
"generateKeyPairDescription": "Générer une nouvelle paire de clés, les clés privée et publique seront remplies automatiquement.",
"generateFromPrivateKey": "Générer à partir de la clé privée",
"refreshBtn2": "Actualiser",
"exitSelectionTitle": "Quitter la sélection",
"addHostBtn2": "Ajouter un hôte",
"addCredentialBtn2": "Ajouter un identifiant",
"checkingHostStatuses": "Vérification des états des hôtes...",
"pinnedSection": "Épinglés",
"hostsExported": "Hôtes exportés avec succès",
"export": {
"menuItem": "Exporter...",
"title": "Exporter les hôtes",
"scope": "Portée",
"scopeAll": "Tous",
"scopeSelected": "Sélectionnés",
"searchHosts": "Rechercher des hôtes...",
"include": "Inclure",
"groupConnection": "Connexion",
"groupCredentials": "Identifiants",
"groupNotes": "Notes",
"groupTags": "Étiquettes et épinglage",
"groupProxy": "Proxy",
"groupJumpHosts": "Hôtes de saut",
"groupFeatureFlags": "Paramètres des plugins",
"groupAdvanced": "Configuration avancée",
"preview": "Aperçu",
"moreHosts_one": "... {{count}} hôte supplémentaire",
"moreHosts_many": "... {{count}} hôtes supplémentaires",
"moreHosts_other": "... {{count}} hôtes supplémentaires",
"summary": "{{selected}} sur {{total}} hôtes",
"credentialsIncluded": "identifiants inclus",
"credentialsExcluded": "identifiants exclus",
"noneSelected": "Aucun hôte sélectionné",
"cancel": "Annuler",
"confirm": "Exporter",
"fetchFailed": "Échec du chargement des hôtes pour l'exportation",
"bulkButton": "Exporter"
},
"sampleDownloaded": "Fichier exemple téléchargé",
"failedToDeleteCredential2": "Échec de la suppression de l'identifiant",
"noFolderOption": "(Aucun dossier)",
"nSelected_one": "{{count}} sélectionné",
"nSelected_many": "{{count}} sélectionnés",
"nSelected_other": "{{count}} sélectionnés",
"featuresMenu": "Plugins",
"moveMenu": "Déplacer",
"connectSelected": "Se connecter",
"cancelSelection": "Annuler",
"deletedCount_one": "{{count}} hôte supprimé",
"deletedCount_many": "{{count}} hôtes supprimés",
"deletedCount_other": "{{count}} hôtes supprimés",
"failedToDeleteCount_one": "Échec de la suppression de {{count}} hôte",
"failedToDeleteCount_many": "Échec de la suppression de {{count}} hôtes",
"failedToDeleteCount_other": "Échec de la suppression de {{count}} hôtes",
"duplicatedHost": "\"{{name}}\" dupliqué",
"failedToDuplicateHost": "Échec de la duplication de l'hôte",
"updatedCount_one": "{{count}} hôte mis à jour",
"updatedCount_many": "{{count}} hôtes mis à jour",
"updatedCount_other": "{{count}} hôtes mis à jour",
"friendlyNameLabel": "Nom affiché",
"descriptionLabel": "Description",
"loadingHosts": "Chargement des hôtes...",
"loadingCredentials": "Chargement des identifiants...",
"noHostsYet": "Aucun hôte pour le moment",
"noHostsYetHint": "Ajoutez un serveur pour ouvrir des terminaux, parcourir des fichiers et consulter les métriques.",
"noHostsMatchSearch": "Aucun hôte ne correspond à votre recherche",
"noHostSelected": "Sélectionnez un hôte pour l'ouvrir.",
"searchHosts": "Rechercher des hôtes...",
"sortHosts": "Trier les hôtes",
"sortDefault": "Ordre par défaut",
"sortNameAsc": "Nom (A → Z)",
"sortNameDesc": "Nom (Z → A)",
"sortIpAsc": "Adresse IP (croissant)",
"sortIpDesc": "Adresse IP (décroissant)",
"sortOnlineFirst": "En ligne en premier",
"sortOfflineFirst": "Hors ligne en premier",
"sortManual": "Manuel (glisser pour réorganiser)",
"sortPinnedFirst": "Épinglés en premier",
"filterHosts": "Filtrer les hôtes",
"filterClearAll": "Effacer les filtres",
"filterStatusGroup": "Statut",
"filterOnline": "En ligne",
"filterOffline": "Hors ligne",
"filterPinned": "Épinglé",
"filterAuthGroup": "Type d'authentification",
"filterAuthPassword": "Mot de passe",
"filterAuthKey": "Clé SSH",
"filterAuthCredential": "Identifiant",
"filterAuthNone": "Aucun",
"filterProtocolGroup": "Protocole",
"filterProtocolSsh": "SSH",
"filterTagsGroup": "Étiquettes",
"editHostAction": "Modifier l'hôte",
"moreOptions": "Plus d'options",
"shareHost": "Partager l'hôte",
"shareHostTitle": "Partager : {{name}}",
"shareFolder": "Partager le dossier",
"shareFolderTitle": "Partager le dossier : {{name}}",
"folderSharedSuccessfully_one": "{{count}} hôte partagé dans le dossier",
"folderSharedSuccessfully_many": "{{count}} hôtes partagés dans le dossier",
"folderSharedSuccessfully_other": "{{count}} hôtes partagés dans le dossier",
"failedToShareFolder": "Échec du partage du dossier",
"sharing": {
"loadError": "Échec du chargement des données de partage. Veuillez réessayer.",
"shareWithSection": "Partager avec",
"usersTab": "Utilisateurs",
"rolesTab": "Rôles",
"searchPlaceholder": "Rechercher des utilisateurs ou des rôles...",
"noMatches": "Aucun résultat trouvé",
"permissionLevelLabel": "Niveau d'autorisation",
"levels": {
"connect": {
"label": "Connecter",
"description": "Sessions uniquement : terminal, bureau à distance, gestionnaire de fichiers, tunnels et Docker. Aucun accès à la configuration de l'hôte."
},
"view": {
"label": "Voir",
"description": "Connecter, plus voir la configuration de l'hôte. Les secrets ne sont jamais affichés."
},
"edit": {
"label": "Modifier",
"description": "Voir, plus modifier les paramètres de l'hôte autres que l'authentification. L'authentification SSH du propriétaire reste privée et réservée au propriétaire."
},
"manage": {
"label": "Gérer",
"description": "Modifier, plus partager l'hôte avec d'autres, modifier les niveaux d'autorisation et révoquer l'accès."
}
},
"expiryLabel": "Expiration de l'accès",
"expiry": {
"never": "Jamais",
"oneHour": "1 heure",
"oneDay": "24 heures",
"sevenDays": "7 jours",
"thirtyDays": "30 jours",
"custom": "Personnalisé"
},
"customHoursPlaceholder": "Heures avant expiration de l'accès",
"shareButton": "Partager",
"shareWithCount": "Partager ({{count}})",
"currentAccess": "Accès actuel",
"noAccessEntries": "Cet hôte n'a pas encore été partagé",
"folderRulesTitle": "S'applique aux hôtes ajoutés ultérieurement",
"folderRulesHint": "Ces partages restent sur le dossier : un hôte créé dans ce dossier ou déplacé vers celui-ci (ou un sous-dossier) obtient automatiquement le même accès. Supprimer une règle n'arrête que l'héritage futur.",
"folderRuleRemove": "Arrêter l'héritage",
"folderShareSummary": "{{shared}} sur {{total}} hôte(s) dans ce dossier partagé(s)",
"grantedBy": "Accordé par",
"expires": "Expire",
"expired": "Expiré",
"never": "Jamais",
"revoke": "Révoquer",
"accessUpdated": "Accès mis à jour",
"accessUpdateFailed": "Échec de la mise à jour de l'accès",
"sharedBadge": "Partagé",
"sharedBadgeTooltip": "Partagé par {{owner}} (accès {{level}})",
"viewOnlyBanner": "Cet hôte vous est partagé par {{owner}} avec un accès en lecture seule. La configuration est en lecture seule.",
"sharedEditBanner": "Cet hôte vous est partagé par {{owner}} avec un accès en modification. Les modifications s'appliquent à l'hôte réel ; les références d'authentification ne peuvent être modifiées que par le propriétaire.",
"ownerOnlyControl": "Seul le propriétaire de l'hôte peut modifier ceci",
"ownerAuthPrivate": "L'authentification SSH du propriétaire de l'hôte est privée. Utilisez « Définir l'authentification SSH personnelle » dans le menu de l'hôte pour choisir vos propres identifiants.",
"ownerAuthShared": "Le propriétaire de l'hôte a partagé l'authentification SSH pour cet hôte. Vous pouvez l'utiliser ou choisir vos propres identifiants via « Définir l'authentification SSH personnelle ».",
"authOverrideAction": "Définir l'authentification SSH personnelle",
"authOverrideActionProtocol": "Définir l'authentification {{protocol}} personnelle",
"authOverrideTitle": "Authentification SSH personnelle",
"authOverrideTitleProtocol": "Authentification {{protocol}} personnelle",
"authOverrideDescriptionPrivate": "Les identifiants SSH du propriétaire de l'hôte restent privés. Choisissez l'un de vos identifiants enregistrés pour les connexions à {{host}}.",
"authOverrideDescriptionShared": "Utilisez l'authentification partagée par le propriétaire de l'hôte, ou remplacez-la par l'un de vos identifiants enregistrés pour les connexions à {{host}}.",
"authOverrideCredentialLabel": "Identifiant d'authentification",
"useSharedAuthentication": "Utiliser l'authentification partagée de l'hôte",
"noPersonalCredential": "Aucun identifiant personnel",
"authOverrideNoCredentials": "Vous n'avez pas encore d'identifiants SSH enregistrés. Créez-en un dans Identifiants pour vous connecter aux hôtes qui nécessitent une authentification.",
"authOverrideRequired": "Cet hôte nécessite l'un de vos identifiants enregistrés avant que vous puissiez vous connecter.",
"authOverridePrivateHint": "Cet identifiant vous est privé. Le propriétaire de l'hôte et les autres destinataires ne peuvent ni le voir ni l'utiliser.",
"authOverrideSaved": "Authentification SSH personnelle enregistrée",
"authOverrideCleared": "Authentification SSH personnelle supprimée",
"authOverrideClearedToShared": "Utilisation de l'authentification partagée de l'hôte",
"authOverrideLoadError": "Échec du chargement de votre authentification SSH. Veuillez réessayer.",
"authOverrideSaveError": "Échec de l'enregistrement de votre authentification SSH"
},
"arrangeUnlockedSwitchedToManual": "Passage au tri manuel pour conserver votre ordre",
"dragToRearrange": "Glisser pour réorganiser",
"arrangeUnlocked": "Déverrouiller le glisser pour réorganiser",
"webUiBindHostUnreachable": "Votre navigateur ne peut pas atteindre 127.0.0.1 sur la machine exécutant Termix, donc ce point de terminaison ne se chargera pas. Utilisez une adresse à laquelle cette machine répond, comme 0.0.0.0.",
"webUiBindHostSharesSessionCookie": "Depuis ce navigateur, le transfert serait atteint à partir du même nom d'hôte que celui servant Termix, donc le service acheminé recevrait votre session Termix. Les cookies ignorent le port. Ce point de terminaison refusera de s'ouvrir ici ; il fonctionne depuis l'application de bureau Termix, ou lorsque Termix est ouvert sur localhost.",
"webUiErrorLabelRequired": "Le point de terminaison {{row}} nécessite une étiquette.",
"webUiErrorLabelDuplicate": "Chaque point de terminaison doit avoir un nom différent.",
"webUiErrorPortRange": "Le point de terminaison {{row}} nécessite un port compris entre 1 et 65535.",
"webUiErrorPathInvalid": "Le point de terminaison {{row}} a un chemin invalide. Utilisez un chemin comme /admin.",
"copyViewUrlAction": "Copier le lien {{name}}",
"filterAuthAgent": "Agent SSH",
"authTypeNeedsPlugin": "Cet hôte utilise {{type}}, qui nécessite {{plugin}}. Il est désactivé sur ce serveur.",
"authTypeUnknown": "Cet hôte utilise {{type}}, qui n'est pas disponible sur ce serveur.",
"authFieldsAfterSave": "Enregistrez d'abord l'hôte, puis remplissez ces champs.",
"enablePluginFeature": "Activer {{name}}",
"disablePluginFeature": "Désactiver {{name}}",
"filterFeaturesGroup": "Plugins",
"localOnly": "Conserver uniquement sur cet appareil",
"localOnlyDesc": "Cet hôte n'est pas envoyé au serveur et n'apparaît pas sur vos autres appareils.",
"folderLocalOnly": "Conserver uniquement sur cet appareil",
"folderLocalOnlyDesc": "Ce dossier et tous les hôtes qu'il contient restent sur cet appareil et ne sont pas envoyés au serveur.",
"sudoPasswordDesc": "Utilisé lorsque le terminal remplit une invite sudo, et par les plugins qui exécutent des commandes avec sudo.",
"editorCancel": "Annuler",
"editorSaving": "Enregistrement...",
"editorUpdate": "Mettre à jour l'hôte",
"editorAdd": "Ajouter un hôte",
"speedSearch": "Rechercher des hôtes. Touches fléchées pour sélectionner, Entrée pour se connecter, Échap pour fermer",
"speedSearchList": "Liste des hôtes. Tapez ou appuyez sur / pour rechercher.",
"importNoHosts": "Aucun hôte trouvé dans le fichier",
"importTooMany": "Vous pouvez importer jusqu'à {{max}} hôtes à la fois",
"importSummary": "Importation terminée : {{imported}} importés, {{updated}} mis à jour, {{failed}} échoués",
"importHostsFailed": "Échec de l'importation des hôtes"
},
"commandPalette": {
"searchPlaceholder": "Rechercher des hôtes, commandes ou paramètres...",
"quickActions": "Actions rapides",
"navigation": "Navigation",
"orShortcut": "ou",
"addNewHost": "Ajouter un hôte",
"adminSettings": "Paramètres administrateur",
"addCredential": "Ajouter un identifiant",
"recentActivity": "Activité récente",
"serversAndHosts": "Serveurs et hôtes",
"noHostsFound": "Aucun hôte ne correspond à « {{search}} »",
"links": "Liens",
"navigate": "Navigation",
"select": "Sélectionner",
"pluginActions": "Plus d’actions",
"noTargetTab": "Aucun onglet terminal n’est ouvert",
"documentation": "Documentation"
},
"splitScreen": {
"title": "Écran partagé",
"defaultLabel": "Partage {{number}}",
"splitRight": "Diviser à droite",
"splitDown": "Diviser en bas",
"addToSplit": "Ajouter à {{split}}",
"paneEmptyItem": "Panneau {{index}} : vide",
"paneItem": "Panneau {{index}} : {{label}}",
"paneNumber": "Panneau {{index}}",
"newPaneRight": "Nouveau panneau à droite",
"newPaneBelow": "Nouveau panneau en bas",
"emptyTitle": "Panneau vide",
"emptyHint": "Choisissez ce qu’afficher ici. Tant que ce panneau est sélectionné, tout ce que vous ouvrez depuis la barre latérale s’ouvre également ici.",
"openTabs": "Onglets ouverts",
"noOpenTabs": "Aucun autre onglet n’est ouvert",
"hosts": "Hôtes",
"searchHosts": "Rechercher des hôtes",
"noHosts": "Aucun hôte ne correspond",
"newSession": "Nouveau",
"closePane": "Fermer le panneau",
"closeSession": "Fermer la session",
"moveToTab": "Déplacer dans son propre onglet",
"swapWith": "Échanger avec",
"showHere": "Afficher dans ce panneau",
"clearPane": "Vider ce panneau",
"zoom": "Agrandir le panneau",
"unzoom": "Restaurer la mise en page",
"unsplit": "Supprimer le partage",
"layouts": "Mises en page",
"applyLayout": "Modifier la mise en page",
"maxPanes_one": "Une division peut contenir jusqu'à {{count}} volet",
"maxPanes_many": "Une division peut contenir jusqu'à {{count}} volets",
"maxPanes_other": "Une division peut contenir jusqu'à {{count}} volets",
"dropSplit": "Déposer pour partager",
"dropHere": "Déposer pour afficher ici",
"paneActions": "Actions du panneau",
"dividerHint": "Glissez pour redimensionner. Double-cliquez pour équilibrer.",
"openInSplit": "Ouvrir dans un partage",
"openInNewSplit": "Nouveau partage avec l’onglet actuel",
"shortcuts": "Raccourcis",
"shortcutNavigate": "Naviguer entre les panneaux",
"presets": {
"columns2": "Deux côte à côte",
"rows2": "Deux empilés",
"columns3": "Trois côte à côte",
"mainLeft3": "Un à gauche, deux à droite",
"mainBottom3": "Deux en haut, un en bas",
"grid4": "Grille de quatre",
"grid5": "Trois au-dessus de deux",
"grid6": "Grille de six"
}
},
"connections": {
"noConnections": "Aucune connexion",
"noConnectionsDesc": "Ouvrez un terminal, un gestionnaire de fichiers ou un bureau à distance pour voir les connexions ici",
"connectedFor": "Connecté depuis {{duration}}",
"connected": "Connecté",
"disconnected": "Déconnecté",
"reconnect": "Reconnecter",
"sectionOpen": "Ouvert",
"sectionBackground": "Arrière-plan",
"backgroundDesc": "Les sessions persistent pendant {{minutes}} minutes après la déconnexion et peuvent être reconnectées.",
"expiresIn": "Expire dans {{duration}}",
"search": "Rechercher des connexions...",
"noSearchResults": "Aucune connexion ne correspond à votre recherche",
"rename": "Renommer la session",
"forgetConfirm": "Terminer la session en arrière-plan pour {{name}} ?",
"forget": "Terminer la session"
},
"sshAuth": {
"totpRequired": "Authentification à deux facteurs requise",
"totpCodeLabel": "Code de vérification",
"totpVerify": "Vérifier",
"mfaPromptRequired": "Authentification requise",
"mfaPushRequired": "Authentification par notification requise",
"mfaMenuPlaceholder": "Entrez votre réponse",
"mfaCodeOrPushPlaceholder": "Code ou « notification »",
"mfaWaitingApproval": "En attente d'approbation sur votre appareil...",
"mfaSendRequest": "Envoyer la demande",
"browserSignInCode": "Clé de sécurité",
"browserSignInUrl": "URL de connexion",
"browserSignInOpen": "Ouvrir dans le navigateur",
"browserSignInContinue": "Connexion terminée",
"browserSignInRequired": "Connexion {{provider}} requise",
"connectionLogTitle": "Journal de connexion",
"connectionLogCopy": "Copier les journaux dans le presse-papiers",
"connectionLogEmpty": "Aucun journal de connexion pour le moment",
"connectionLogWaiting": "En attente des journaux de connexion...",
"connectionLogCopied": "Journaux de connexion copiés dans le presse-papiers",
"connectionLogCopyFailed": "Échec de la copie des journaux dans le presse-papiers"
},
"cardGrid": {
"dragToMove": "Glisser pour déplacer",
"dragToResize": "Glisser pour redimensionner",
"changeWidth": "Modifier la largeur",
"removeCard": "Supprimer {{label}}",
"addCard": "Ajouter",
"columns": "Colonnes",
"empty": "Aucune carte. Utilisez Ajouter ci-dessous pour placer des cartes."
},
"auth": {
"tagline": "Gestion de serveurs auto-hébergée et basée sur des plugins.",
"loginTitle": "Bon retour",
"registerTitle": "Créer un compte",
"forgotPassword": "Mot de passe oublié ?",
"rememberMe": "Se souvenir de l'appareil pendant 30 jours (inclut TOTP)",
"noAccount": "Vous n'avez pas de compte ?",
"hasAccount": "Vous avez déjà un compte ?",
"twoFactorAuth": "Authentification à deux facteurs",
"enterCode": "Entrez le code de vérification",
"redirectingToApp": "Redirection vers l'application...",
"sshAuthenticationRequired": "Authentification SSH requise",
"sshNoKeyboardInteractive": "Authentification interactive par clavier indisponible",
"sshAuthenticationFailed": "Échec de l'authentification",
"sshAuthenticationTimeout": "Expiration du délai d'authentification",
"sshNoKeyboardInteractiveDescription": "Le serveur ne prend pas en charge l'authentification interactive par clavier. Veuillez fournir votre mot de passe ou votre clé SSH.",
"sshAuthFailedDescription": "Les identifiants fournis sont incorrects. Veuillez réessayer avec des identifiants valides.",
"sshTimeoutDescription": "La tentative d'authentification a expiré. Veuillez réessayer.",
"sshProvideCredentialsDescription": "Veuillez fournir vos identifiants SSH pour vous connecter à ce serveur.",
"sshPasswordDescription": "Entrez le mot de passe pour cette connexion SSH.",
"sshKeyPasswordDescription": "Si votre clé SSH est chiffrée, entrez la phrase de passe ici.",
"passphraseRequired": "Phrase de passe requise",
"passphraseRequiredDescription": "La clé SSH est chiffrée. Veuillez entrer la phrase de passe pour la déverrouiller.",
"external": "Externe",
"loginWithExternal": "Se connecter avec un fournisseur externe",
"loginWithExternalDesc": "Connectez-vous à l'aide de votre fournisseur d'identité externe configuré",
"loginWithProvider": "Se connecter avec {{name}}",
"resetPasswordButton": "Réinitialiser le mot de passe",
"sendResetCode": "Envoyer le code de réinitialisation",
"resetCodeDesc": "Entrez votre nom d'utilisateur pour recevoir un code de réinitialisation de mot de passe. Le code sera affiché dans les journaux du conteneur Docker.",
"resetCode": "Code de réinitialisation",
"verifyCodeButton": "Vérifier le code",
"newPassword": "Nouveau mot de passe",
"confirmNewPassword": "Confirmer le mot de passe",
"signUp": "S'inscrire",
"loadingServer": "Chargement du serveur...",
"password": "Mot de passe",
"secondFactorUnavailable": "Votre compte utilise un deuxième facteur d'authentification qui n'est pas disponible pour le moment. Contactez un administrateur pour le réinitialiser.",
"externalLoginRequired": "Ce compte se connecte via l'authentification unique. Utilisez ce bouton pour vous connecter.",
"secondFactorNoUI": "Ce deuxième facteur ne peut pas être affiché sur cet écran. Contactez un administrateur.",
"serverAuthentication": "Connexion au serveur",
"minChars": "min. {{min}} caractères",
"retrySecondFactorUI": "Recharger les méthodes de vérification",
"localDesktopSignedOut": "Déconnexion du bureau local",
"localDesktopUnavailable": "Session de bureau local indisponible",
"localDesktopSignedOutDesc": "Vous vous êtes déconnecté de la session de bureau local. Continuez en local pour utiliser à nouveau le serveur Termix intégré de cet appareil.",
"localDesktopUnavailableDesc": "Termix n'a pas pu démarrer une session de bureau local. Réessayez plutôt que de créer un nouveau compte.",
"continueLocalDesktop": "Continuer avec le bureau local",
"retryLocalDesktop": "Réessayer la session de bureau local"
},
"hostKey": {
"verifyNewHost": "Vérifier la clé hôte SSH",
"keyChangedWarning": "La clé hôte SSH a changé",
"firstConnectionTitle": "Première connexion à cet hôte",
"firstConnectionDescription": "L'authenticité de cet hôte ne peut pas être établie. Vérifiez que l'empreinte correspond à ce que vous attendez.",
"keyChangedDescription": "La clé hôte de ce serveur a changé depuis votre dernière connexion. Cela pourrait indiquer un problème de sécurité.",
"previousKey": "Clé précédente",
"newFingerprint": "Nouvelle empreinte",
"fingerprint": "Empreinte",
"verifyInstructions": "Si vous faites confiance à cet hôte, cliquez sur Accepter pour continuer et enregistrer cette empreinte pour les futures connexions.",
"securityWarning": "Avertissement de sécurité",
"acceptAndContinue": "Accepter et continuer",
"acceptNewKey": "Accepter la nouvelle clé et continuer"
},
"errors": {
"databaseConnection": "Le serveur Termix ne répond pas",
"embeddedServerFailed": "Le serveur local de Termix n'a pas pu démarrer",
"unknownError": "Erreur inconnue",
"syncedHostMissing": "L'hôte synchronisé n'existe pas sur le serveur lié",
"linkedServerUnreachable": "Le serveur lié n'est pas accessible",
"loginFailed": "Échec de la connexion",
"failedPasswordReset": "Échec de l'initialisation de la réinitialisation du mot de passe",
"failedVerifyCode": "Échec de la vérification du code de réinitialisation",
"failedCompleteReset": "Échec de la finalisation de la réinitialisation du mot de passe",
"invalidTotpCode": "Code TOTP invalide",
"failedExternalLogin": "Échec du démarrage de la connexion externe",
"silentSigninExternalUnavailable": "Une connexion silencieuse a été demandée, mais aucune connexion externe n'est configurée.",
"failedUserInfo": "Échec de la récupération des informations utilisateur après la connexion",
"externalAuthFailed": "Échec de la connexion externe",
"invalidAuthUrl": "URL d'autorisation invalide reçue du backend",
"requiredField": "Ce champ est obligatoire",
"minLength": "La longueur minimale est de {{min}}",
"passwordMismatch": "Les mots de passe ne correspondent pas",
"sessionExpired": "Session expirée - veuillez vous reconnecter",
"authTokenSaveFailed": "Échec de l'enregistrement du jeton d'authentification",
"authTokenMissing": "Le serveur n'a pas renvoyé de nouveau jeton d'authentification. Veuillez vous reconnecter.",
"failedToLoadServer": "Échec du chargement du serveur",
"sessionExpiredLogin": "Session expirée. Veuillez vous reconnecter."
},
"messages": {
"registrationDisabled": "Vous n'avez pas encore de compte Termix. Demandez à un administrateur d'activer la création automatique de comptes externes.",
"userNotAllowed": "Votre compte n'est pas autorisé à s'inscrire. Veuillez contacter un administrateur.",
"databaseConnectionFailed": "Il est peut-être encore en cours de démarrage, ou il s'est arrêté. Cette page continue d'essayer et reprend automatiquement une fois le serveur de retour.",
"embeddedServerPortInUse": "Le port {{port}} est déjà utilisé par un autre programme. Il s'agit généralement d'un conteneur Docker Termix ou d'un processus Termix résidant d'une session précédente. Fermez-le, puis redémarrez Termix.",
"embeddedServerPortInUseUnknownPort": "L'un des ports requis par Termix est déjà utilisé par un autre programme. Fermez l'application qui l'utilise, puis redémarrez Termix.",
"embeddedServerOldDatabase": "Vos données locales proviennent de Termix 2.8 ou d'une version antérieure et doivent d'abord être migrées vers la version 2.9. Installez Termix 2.9.1, ouvrez-le une fois pour permettre la migration de vos données, puis mettez à jour vers cette version.",
"embeddedServerCrashed": "Le serveur local s'est arrêté de manière inattendue. Redémarrez Termix et consultez le journal du bureau si le problème persiste.",
"resetCodeSent": "Code de réinitialisation envoyé aux journaux Docker",
"codeVerified": "Code vérifié avec succès",
"passwordResetSuccess": "Mot de passe réinitialisé avec succès",
"loginSuccess": "Connexion réussie",
"registrationSuccess": "Inscription réussie"
},
"placeholders": {
"keyPassword": "mot de passe de la clé",
"pastePrivateKey": "Collez votre clé privée ici...",
"enterPassword": "Entrez votre mot de passe",
"apiKeyName": "ex. Pipeline CI",
"credentialName": "ex. Clé SSH de production",
"optionalDetails": "Détails facultatifs...",
"sshUsername": "ex. root ou deploy",
"hostAddress": "10.0.0.1 ou example.com",
"hostName": "ex. Serveur Web Production"
},
"dashboard": {
"title": "Tableau de bord",
"github": "GitHub",
"reportBug": "Signaler un bug",
"discord": "Discord",
"docs": "Documentation",
"donate": "Faire un don",
"serverOverview": "Aperçu du serveur",
"version": "Version",
"updateAvailable": "Mise à jour disponible",
"beta": "Bêta",
"uptime": "Temps de fonctionnement",
"database": "Base de données",
"healthy": "Sain",
"error": "Erreur",
"totalHosts": "Total des hôtes",
"totalCredentials": "Total des identifiants",
"recentActivity": "Activité récente",
"reset": "Réinitialiser",
"noRecentActivity": "Aucune activité récente",
"quickActions": "Actions rapides",
"addHost": "Ajouter un hôte",
"addCredential": "Ajouter un identifiant",
"adminSettings": "Paramètres administrateur",
"userProfile": "Profil utilisateur",
"serverStats": "Statistiques du serveur",
"customizeLayout": "Personnaliser le tableau de bord",
"justNow": "à l'instant"
},
"dashboardTab": {
"stable": "STABLE",
"registerNewServer": "Enregistrer un nouveau serveur",
"storeSshKeysOrPasswords": "Stocker des clés SSH ou des mots de passe",
"manageUsersAndRoles": "Gérer les utilisateurs et les rôles",
"manageYourAccount": "Gérer votre compte",
"hostStatus": "État de l'hôte",
"noHostsConfigured": "Aucun hôte configuré",
"checking": "VÉRIFICATION",
"commandPalette": "Palette de commandes",
"done": "Terminé",
"clear": "Effacer",
"dragToResizeColumns": "Glisser pour redimensionner les colonnes",
"hostsAvailable": "Hôtes disponibles",
"removeSection": "Supprimer la section",
"addSection": "Ajouter une section",
"allSectionsShown": "Tout est déjà affiché sur le tableau de bord.",
"fromPlugins": "Depuis les plugins",
"dropHere": "Déposez une section ici",
"dragToReorder": "Glissez les sections pour les réorganiser",
"clearActivityConfirm": "Effacer votre activité récente ?",
"resetConfirm": "Réinitialiser le tableau de bord à sa mise en page par défaut ?",
"onlineCount_one": "{{count}} en ligne",
"onlineCount_many": "{{count}} en ligne",
"onlineCount_other": "{{count}} en ligne",
"hostCount_one": "{{count}} hôte",
"hostCount_many": "{{count}} hôtes",
"hostCount_other": "{{count}} hôtes"
},
"admin": {
"sectionGeneral": "Général",
"sectionUsers": "Utilisateurs",
"sectionSessions": "Sessions",
"sectionRoles": "Rôles",
"sectionDatabase": "Base de données",
"sectionApiKeys": "Clés API",
"sectionAuditLog": "Journal d'audit",
"sectionSsl": "Certificat HTTPS",
"sectionBranding": "Marque blanche",
"brandingAppName": "Nom de l'application",
"brandingAppNameDesc": "Affiché sur l'écran de connexion et l'onglet du navigateur. Laissez vide pour utiliser « Termix ».",
"brandingTagline": "Slogan",
"brandingTaglineDesc": "Affiché sous le nom de l'application sur l'écran de connexion. Laissez vide pour utiliser le slogan par défaut.",
"brandingLogo": "Logo",
"brandingLogoDesc": "PNG, JPEG ou WEBP, jusqu'à 750 Ko. Remplace l'icône par défaut sur l'écran de connexion et l'onglet du navigateur.",
"brandingLogoUpload": "Téléverser le logo",
"brandingLogoReset": "Rétablir les valeurs par défaut",
"brandingLogoInvalid": "Image invalide. Utilisez un fichier PNG, JPEG ou WEBP de moins de 750 Ko.",
"brandingSaved": "Paramètres de marque blanche enregistrés",
"brandingSaveFailed": "Échec de l'enregistrement des paramètres de marque blanche",
"sslDescription": "Le certificat que Termix sert via HTTPS. Téléversez le vôtre ici, ou en obtenez et renouvelez un depuis Let's Encrypt dans la section Certificats ACME.",
"sslDocsLink": "Voir la documentation SSL",
"sslCertStatus": "État du certificat",
"sslCertStatusNone": "Aucun certificat",
"sslCertStatusValid": "Valide",
"sslCertStatusExpiring": "Expire bientôt",
"sslCertStatusExpired": "Expiré",
"sslCertExpiresAt": "Expire le {{date}}",
"sslInfoNote": "Après l'émission ou le téléversement d'un certificat, Termix activera automatiquement HTTPS sur SSL_PORT (par défaut 8443) en plus du port HTTP existant. Assurez-vous que ce port est publié/mappé vers ce conteneur pour qu'il soit accessible.",
"sslManualCert": "Certificat (PEM)",
"sslManualCertPlaceholder": "-----BEGIN CERTIFICATE-----",
"sslManualKey": "Clé privée (PEM)",
"sslManualKeyPlaceholder": "-----BEGIN PRIVATE KEY-----",
"sslManualDesc": "Collez votre certificat et clé privée existants, y compris la chaîne complète si requis par votre autorité de certification.",
"sslManualUpload": "Téléverser et installer le certificat",
"sslManualUploadLoading": "Téléversement du certificat...",
"sslManualUploadSuccess": "Certificat téléversé et installé avec succès",
"sslManualUploadFailed": "Échec du téléversement du certificat",
"sslManualRequiresFields": "Le certificat et la clé privée sont requis",
"auditLogTotal": "{{total}} entrées au total",
"auditLogEmpty": "Aucune entrée de journal d'audit trouvée",
"auditLogSuccess": "Succès",
"auditLogFailed": "Échec",
"auditLogClearFilters": "Effacer les filtres",
"auditLogPage": "Page {{page}} sur {{totalPages}} ({{total}} au total)",
"auditLogIp": "IP",
"auditLogResourceId": "ID de ressource",
"auditLogFilterUser": "Utilisateur",
"auditLogFilterAction": "Action",
"auditLogFilterResourceType": "Type de ressource",
"auditLogFilterStatus": "Statut",
"auditLogFilterFrom": "De",
"auditLogFilterTo": "À",
"auditLogFilterAll": "Tout",
"allowRegistration": "Autoriser l'inscription des utilisateurs",
"allowRegistrationDesc": "Permettre aux nouveaux utilisateurs de s'inscrire eux-mêmes avec un nom d'utilisateur et un mot de passe",
"allowPasswordLogin": "Autoriser la connexion par mot de passe",
"allowPasswordLoginDesc": "Connexion par nom d'utilisateur et mot de passe",
"externalAutoProvision": "Créer automatiquement les comptes externes",
"externalAutoProvisionDesc": "Créer un compte lors de la première connexion via une méthode externe telle que SSO ou LDAP. Désactivé, seules les personnes disposant déjà d'un compte peuvent se connecter de cette manière",
"secondFactorAfterExternalLogin": "Demander un deuxième facteur après les connexions externes (SSO, GitHub, Google, LDAP)",
"secondFactorAfterExternalLoginDesc": "Désactivé, un deuxième facteur inscrit n'est demandé qu'après les connexions par mot de passe et autres connexions locales, comme auparavant. Activé, il est demandé après chaque méthode de connexion, y compris SSO et LDAP.",
"allowPasswordReset": "Autoriser la réinitialisation du mot de passe",
"allowPasswordResetDesc": "Code de réinitialisation via les journaux Docker",
"auditForwardingTitle": "Transmettre au SIEM",
"auditForwardingDesc": "Envoyer une copie de chaque entrée d'audit à un collecteur externe au format NDJSON. Les journaux locaux restent la source de vérité.",
"auditForwardingEnvNotice": "Une variable d'environnement configure également la transmission ; l'URL enregistrée ici a la priorité.",
"auditForwardingToken": "Jeton Bearer (facultatif)",
"auditForwardingTokenStored": "Jeton Bearer (stocké)",
"auditForwardingSaved": "Paramètres de transmission d'audit enregistrés",
"auditForwardingSaveError": "Échec de l'enregistrement des paramètres de transmission d'audit",
"sessionTimeout": "Expiration de session",
"hours": "heures",
"sessionTimeoutRange": "Min 1h, max 720h",
"monitoringDefaults": "Paramètres par défaut de surveillance",
"statusCheck": "Vérification d'état",
"sec": "sec",
"logLevel": "Niveau de journalisation",
"usersCount_one": "{{count}} utilisateur",
"usersCount_many": "{{count}} utilisateurs",
"usersCount_other": "{{count}} utilisateurs",
"searchUsers": "Rechercher des utilisateurs...",
"noUsers": "Aucun utilisateur",
"noUsersMatch": "Aucun utilisateur ne correspond à votre recherche",
"pageOf": "Page {{page}} sur {{total}}",
"createUser": "Créer",
"newRole": "Nouveau rôle",
"roleName": "Nom",
"roleDisplayName": "Nom affiché",
"roleDescription": "Description",
"rolesCount_one": "{{count}} rôle",
"rolesCount_many": "{{count}} rôles",
"rolesCount_other": "{{count}} rôles",
"createRole": "Créer",
"creating": "Création...",
"exportDatabase": "Exporter la base de données",
"exportDatabaseDesc": "Télécharger une sauvegarde SQLite portable de tous les hôtes, identifiants et paramètres",
"export": "Exporter",
"exporting": "Exportation...",
"importDatabase": "Importer la base de données",
"importDatabaseDesc": "Restaurer à partir d'une sauvegarde .sqlite portable sur n'importe quel backend de base de données",
"importDatabaseSelected": "Sélectionné : {{name}}",
"selectFile": "Sélectionner un fichier",
"changeFile": "Modifier",
"import": "Importer",
"importing": "Importation...",
"apiKeysCount_one": "{{count}} clé",
"apiKeysCount_many": "{{count}} clés",
"apiKeysCount_other": "{{count}} clés",
"apiKeysDocsLink": "Voir la documentation",
"apiKeysCliHint": "Utilisez une clé API avec le CLI Termix pour gérer les serveurs depuis votre terminal.",
"apiKeysCliLink": "Voir la documentation du CLI",
"newApiKey": "Nouvelle clé API",
"apiKeyCreatedWarning": "Clé créée — copiez-la maintenant, elle ne sera plus affichée.",
"apiKeyName": "Nom",
"apiKeyUser": "Utilisateur",
"apiKeySelectUser": "Sélectionner un utilisateur...",
"apiKeyExpiresAt": "Expire le",
"createKey": "Créer une clé",
"apiKeyNoExpiry": "Sans expiration",
"revokedBadge": "RÉVOQUÉE",
"authTypeDual": "Auth. double",
"authTypeExternal": "Externe",
"authTypeLocal": "Local",
"adminStatusAdministrator": "Administrateur",
"adminStatusRegularUser": "Utilisateur standard",
"adminBadge": "ADMIN",
"systemBadge": "SYS",
"customBadge": "PERSONNALISÉ",
"youBadge": "VOUS",
"sessionsActive_one": "{{count}} actif",
"sessionsActive_many": "{{count}} actifs",
"sessionsActive_other": "{{count}} actifs",
"sessionActive": "Actif : {{time}}",
"sessionExpires": "Exp. : {{time}}",
"revokeAll": "Tout",
"revokeAllSessionsSuccess": "Toutes les sessions de l'utilisateur ont été révoquées",
"revokeAllSessionsFailed": "Échec de la révocation des sessions",
"revokeSessionFailed": "Échec de la révocation de la session",
"addRole": "Ajouter un rôle",
"noCustomRoles": "Aucun rôle personnalisé défini",
"removeRoleFailed": "Échec de la suppression du rôle",
"assignRoleFailed": "Échec de l'attribution du rôle",
"userAdminAccess": "Administrateur",
"userAdminAccessDesc": "Accès complet à tous les paramètres d'administration",
"userRoles": "Rôles",
"revokeAllUserSessions": "Révoquer toutes les sessions",
"revokeAllUserSessionsDesc": "Forcer la réauthentification sur tous les appareils",
"revoke": "Révoquer",
"deleteUserWarning": "La suppression de cet utilisateur est définitive.",
"deleteUser": "Supprimer {{username}}",
"deleting": "Suppression en cours...",
"deleteUserFailed": "Échec de la suppression de l'utilisateur",
"deleteUserSuccess": "Utilisateur « {{username}} » supprimé",
"deleteRoleSuccess": "Rôle « {{name}} » supprimé",
"revokeKeySuccess": "Clé « {{name}} » révoquée",
"revokeKeyFailed": "Échec de la révocation de la clé",
"copiedToClipboard": "Copié dans le presse-papiers",
"done": "Terminé",
"createUserTitle": "Créer un utilisateur",
"createUserDesc": "Créer un nouveau compte local.",
"createUserUsername": "Nom d'utilisateur",
"createUserPassword": "Mot de passe",
"createUserPasswordHint": "Minimum 6 caractères.",
"createUserEnterUsername": "Saisir le nom d'utilisateur",
"createUserSubmit": "Créer l'utilisateur",
"editUserTitle": "Gérer l'utilisateur : {{username}}",
"editUserDesc": "Modifier les rôles, le statut administrateur, les sessions et les paramètres du compte.",
"editUserUsername": "Nom d'utilisateur",
"editUserAuthType": "Type d'authentification",
"editUserAdminStatus": "Statut administrateur",
"editUserUserId": "ID utilisateur",
"linkAccountTitle": "Lier des comptes",
"linkAccountDesc": "Fusionner le compte externe {{username}} avec un compte local existant.",
"linkAccountDescLocal": "Lier le compte local {{username}} à un compte externe existant.",
"linkAccountWarningTitle": "Cela va :",
"linkAccountEffect1": "Supprimer le compte externe uniquement",
"linkAccountEffect2": "Ajouter sa connexion externe au compte cible",
"linkAccountEffect3": "Autoriser la connexion externe et par mot de passe",
"linkAccountTargetUsername": "Nom d'utilisateur du compte local",
"linkAccountTargetPlaceholder": "Entrez le nom d'utilisateur du compte local à lier",
"linkAccountExternalUsername": "Nom d'utilisateur du compte externe",
"linkAccountExternalPlaceholder": "Entrez le nom d'utilisateur du compte externe uniquement à fusionner",
"linkAccountExternalNotFound": "Aucun compte externe uniquement trouvé avec ce nom d'utilisateur",
"linkAccounts": "Lier les comptes",
"linkAccountSuccess": "Comptes liés avec succès",
"linkAccountFailed": "Échec de la liaison des comptes",
"linkAccountInProgress": "Liaison en cours...",
"unlinkAccountTitle": "Dissocier la connexion externe",
"unlinkAccountDesc": "Supprimer la connexion externe de {{username}}. L'utilisateur ne pourra se connecter qu'avec son mot de passe.",
"unlinkAccountWarning": "Cela supprimera la connexion externe de ce compte. L'utilisateur doit avoir un mot de passe défini pour continuer à se connecter.",
"unlinkAccount": "Dissocier la connexion externe",
"unlinkAccountInProgress": "Dissociation en cours...",
"unlinkAccountSuccess": "Connexion externe dissociée",
"unlinkAccountFailed": "Échec de la dissociation de la connexion externe",
"updateRegistrationFailed": "Échec de la mise à jour du paramètre d'inscription",
"updatePasswordLoginFailed": "Échec de la mise à jour du paramètre de connexion par mot de passe",
"updateSecondFactorAfterExternalLoginFailed": "Échec de la mise à jour du paramètre du deuxième facteur",
"updatePasswordResetFailed": "Échec de la mise à jour du paramètre de réinitialisation du mot de passe",
"sessionTimeoutRange2": "Le délai d'expiration de session doit être compris entre 1 et 720 heures",
"sessionTimeoutSaved": "Délai d'expiration de session enregistré",
"sessionTimeoutSaveFailed": "Échec de l'enregistrement du délai d'expiration de session",
"monitoringIntervalInvalid": "Valeurs d'intervalle invalides",
"monitoringSaved": "Paramètres de surveillance enregistrés",
"monitoringSaveFailed": "Échec de l'enregistrement des paramètres de surveillance",
"logLevelUpdateFailed": "Échec de la mise à jour du niveau de journalisation",
"createUserRequired": "Le nom d'utilisateur et le mot de passe sont requis",
"createUserPasswordTooShort": "Le mot de passe doit contenir au moins 6 caractères",
"createUserSuccess": "Utilisateur « {{username}} » créé",
"createUserFailed": "Échec de la création de l'utilisateur",
"updateAdminStatusFailed": "Échec de la mise à jour du statut administrateur",
"allSessionsRevoked": "Toutes les sessions ont été révoquées",
"revokeSessionsFailed": "Échec de la révocation des sessions",
"manageUserData": "Gérer les données utilisateur",
"backToUsers": "Retour aux utilisateurs",
"manageTabAccount": "Compte",
"manageTabHosts": "Hôtes",
"manageTabCredentials": "Identifiants",
"manageTabSessions": "Sessions",
"manageTabDanger": "Danger",
"manageEditorBack": "Retour aux données de {{username}}",
"dataLockedBadge": "VERROUILLÉ",
"dataLockedNotice": "Les données de {{username}} restent verrouillées jusqu'à sa prochaine connexion. Ses hôtes, identifiants et extraits de code ne peuvent pas être consultés ou modifiés jusqu'à ce moment-là.",
"resetPasswordTitle": "Réinitialiser le mot de passe",
"resetPasswordExternalOnly": "Cet utilisateur se connecte via un fournisseur externe et n'a pas de mot de passe.",
"resetPasswordPlaceholder": "Nouveau mot de passe",
"resetPasswordBtn": "Réinitialiser",
"resetPasswordWorking": "Réinitialisation en cours...",
"resetPasswordSuccess": "Mot de passe réinitialisé",
"resetPasswordSuccessWiped": "Mot de passe réinitialisé. Les données chiffrées de l'utilisateur ont été effacées.",
"resetPasswordFailed": "Échec de la réinitialisation du mot de passe",
"resetPasswordConfirmWipe": "{{username}} ne s'est pas connecté depuis la mise à niveau du chiffrement, ses données ne peuvent donc pas être récupérées. La réinitialisation supprimera ses hôtes, identifiants et extraits de code. Continuer ?",
"manageApiKeys": "Clés API",
"apiKeyNamePlaceholder": "Nom de la clé",
"apiKeyCopyNotice": "Copiez cette clé maintenant, elle ne sera plus affichée.",
"noApiKeysForUser": "Aucune clé API",
"apiKeyDeleteFailed": "Échec de la suppression de la clé API",
"exportUserData": "Exportation des données",
"exportUserDataDesc": "Téléchargez les hôtes, les identifiants et les données du gestionnaire de fichiers de cet utilisateur au format JSON. Les secrets sont déchiffrés.",
"exportUserDataSuccess": "Données utilisateur exportées",
"exportUserDataFailed": "Échec de l'exportation des données utilisateur",
"hostsCount_one": "{{count}} hôte",
"hostsCount_many": "{{count}} hôtes",
"hostsCount_other": "{{count}} hôtes",
"addHostForUser": "Ajouter un hôte",
"noHostsForUser": "Cet utilisateur n'a aucun hôte",
"connectToHost": "Se connecter",
"deleteHostConfirm": "Supprimer l'hôte « {{name}} » appartenant à {{username}} ?",
"hostDeletedSuccess": "Hôte supprimé",
"hostDeleteFailed": "Échec de la suppression de l'hôte",
"credentialsCount_one": "{{count}} identifiant",
"credentialsCount_many": "{{count}} identifiants",
"credentialsCount_other": "{{count}} identifiants",
"addCredentialForUser": "Ajouter un identifiant",
"noCredentialsForUser": "Cet utilisateur n'a aucun identifiant",
"deleteCredentialConfirm": "Supprimer l'identifiant « {{name}} » appartenant à {{username}} ?",
"credentialDeletedSuccess": "Identifiant supprimé",
"credentialDeleteFailed": "Échec de la suppression de l'identifiant",
"noSessionsForUser": "Aucune session active",
"deleteSuccessorLabel": "Transférer les hôtes et les identifiants à",
"deleteSuccessorMe": "Moi (l'administrateur qui supprime)",
"deleteSuccessorNone": "Personne, les supprimer",
"deleteSuccessorDesc": "Tout ce que cet utilisateur a partagé continuera de fonctionner sous le nouveau propriétaire ; choisir « Personne » supprimera ses hôtes, ses identifiants et ses partages.",
"deleteUserDangerDesc": "Supprimer définitivement {{username}} et toutes ses données (hôtes, identifiants, extraits, historique). Cette action est irréversible.",
"deleteUserConfirm": "Supprimer définitivement {{username}} et toutes ses données ?",
"deleteUserAdminBlocked": "Retirez le statut d'administrateur avant de supprimer cet utilisateur.",
"createRoleRequired": "Le nom et le nom d'affichage sont requis",
"createRoleSuccess": "Rôle « {{name}} » créé",
"createRoleFailed": "Échec de la création du rôle",
"apiKeyNameRequired": "Le nom de la clé est requis",
"apiKeyUserRequired": "L'ID utilisateur est requis",
"apiKeyCreatedSuccess": "Clé API « {{name}} » créée",
"apiKeyCreateFailed": "Échec de la création de la clé API",
"exportSuccess": "Base de données exportée avec succès",
"exportFailed": "Échec de l'exportation de la base de données",
"importSelectFile": "Veuillez d'abord sélectionner un fichier",
"importCompleted": "Importation terminée : {{total}} éléments importés, {{skipped}} ignorés",
"importFailed": "Échec de l'importation : {{error}}",
"importError": "Échec de l'importation de la base de données",
"sectionHostDefaults": "Paramètres par défaut des hôtes",
"rolePermissions": {
"count_one": "{{count}} autorisation",
"count_many": "{{count}} autorisations",
"count_other": "{{count}} autorisations",
"editAction": "Modifier les autorisations",
"loadError": "Échec du chargement du catalogue des autorisations",
"saved": "Autorisations du rôle enregistrées",
"saveError": "Échec de l'enregistrement des autorisations du rôle",
"save": "Enregistrer",
"saving": "Enregistrement...",
"pluginDisabled": "Extension désactivée",
"groups": {
"hosts": "Hôtes",
"credentials": "Identifiants",
"admin": "Administration"
}
},
"notificationPrivateEndpoints": "Hôtes de notification privés autorisés",
"notificationPrivateEndpointsDesc": "Hôtes privés exacts que les canaux de notification peuvent contacter. Séparez-les par des virgules.",
"updateNotificationEndpointsFailed": "Échec de la mise à jour de la liste d'autorisation des points de terminaison de notification",
"secondFactorsSectionTitle": "Facteurs secondaires",
"secondFactorsNone": "Aucun facteur secondaire inscrit",
"secondFactorUnavailable": "Indisponible",
"resetSecondFactors": "Réinitialiser les facteurs secondaires",
"resetSecondFactorsConfirm": "Supprimer tous les facteurs secondaires pour {{username}} ? Il pourra se connecter avec son mot de passe ou SSO et s'inscrire à nouveau.",
"secondFactorsResetSuccess": "Facteurs secondaires réinitialisés",
"secondFactorsResetFailed": "Échec de la réinitialisation des facteurs secondaires",
"passwordLoginForced": "La connexion par mot de passe est désactivée, mais aucune autre méthode de connexion n'est activée, elle reste donc active pour l'instant. Personne ne se retrouve verrouillé.",
"sslNotRenewed": "Rien ne renouvelle ce certificat. Il expire le {{date}}. Activez le renouvellement automatique dans la section Certificats ACME, ou téléchargez-en un nouveau avant cette date.",
"sslSelfSigned": "Certificat autosigné généré par Termix. Les navigateurs afficheront un avertissement.",
"sslRenewedBy": "Renouvelé automatiquement par {{plugin}}",
"sslIssuer": "Émis par {{issuer}}",
"sslNames": "Couvre {{names}}",
"sslManualTitle": "Télécharger un certificat",
"updateExternalAutoProvisionFailed": "Échec de la mise à jour du paramètre de création automatique",
"hostTags": "Étiquettes d'hôte prédéfinies",
"hostTagsDesc": "Étiquettes que chaque utilisateur voit comme suggestions dans l'éditeur d'hôte. Appuyez sur Espace ou Entrée pour en ajouter une. Supprimer une étiquette ici ne la supprime pas des hôtes.",
"hostTagsError": "Impossible de charger ou d'enregistrer les suggestions d'étiquettes d'hôte.",
"revokeAllSessionsConfirm": "Déconnecter {{username}} partout ?",
"revokeSessionConfirm": "Déconnecter cette session ?",
"revokeSession": "Se déconnecter",
"deleteRoleConfirm": "Supprimer le rôle {{name}} ?",
"revokeKeyConfirm": "Révoquer la clé API {{name}} ?",
"revokeKey": "Révoquer"
},
"newUi": {
"sidebar": {
"quickConnect": {
"where": "Où",
"who": "Qui",
"hostLabel": "Hôte",
"hostPlaceholder": "192.168.1.1 ou example.com",
"portLabel": "Port",
"usernameLabel": "Nom d'utilisateur",
"usernamePlaceholder": "nom d'utilisateur",
"authLabel": "Auth",
"passwordLabel": "Mot de passe",
"passwordPlaceholder": "mot de passe",
"privateKeyLabel": "Clé privée",
"privateKeyPlaceholder": "Coller la clé privée...",
"credentialLabel": "Identifiant",
"credentialPlaceholder": "Sélectionner un identifiant enregistré",
"protocolLabel": "Protocole",
"domainLabel": "Domaine",
"domainPlaceholder": "facultatif",
"connectToAction": "Se connecter à {{name}}",
"sshProtocol": "SSH",
"noTarget": "Rien d'installé ne peut se connecter à ce type d'hôte"
},
"keybindings": {
"description": "Associer des touches à des actions dans le terminal et l'application, ou modifier les raccourcis intégrés.",
"defaultsHeading": "Raccourcis intégrés",
"fixedHeading": "Raccourcis de l'application",
"fixed": {
"splitRight": "Diviser à droite",
"splitDown": "Diviser vers le bas",
"zoomPane": "Agrandir le volet actif",
"navigatePane": "Naviguer entre les volets",
"nextTab": "Onglet suivant",
"previousTab": "Onglet précédent",
"jumpTab": "Aller à l'onglet",
"previousView": "Retour à la vue précédente de la barre latérale",
"fullscreen": "Basculer en plein écran"
},
"customHeading": "Raccourcis personnalisés",
"addBinding": "Ajouter un raccourci",
"addBindingTitle": "Ajouter un raccourci",
"editBindingTitle": "Modifier le raccourci",
"loading": "Chargement...",
"noCustomBindings": "Aucun raccourci personnalisé pour l'instant",
"defaultBadge": "Par défaut",
"customizedBadge": "Personnalisé",
"customize": "Personnaliser",
"resetToDefault": "Réinitialiser par défaut",
"resetAllToDefaults": "Tout réinitialiser par défaut",
"cancel": "Annuler",
"saveBinding": "Enregistrer le raccourci",
"saveError": "Échec de l'enregistrement des raccourcis clavier",
"pressKeysToRecord": "Combinaison de touches",
"pressKeysPlaceholder": "Cliquez et appuyez sur les touches",
"recording": "Appuyez sur les touches...",
"comboRequiredError": "Appuyez d'abord sur une combinaison de touches",
"conflictWarning": "Cette combinaison est déjà associée à {{combo}}. L'enregistrement fera déclencher les deux.",
"actionLabel": "Action",
"actionNextTab": "Passer à l'onglet suivant",
"actionPreviousTab": "Passer à l'onglet précédent",
"actionOpenCommandPalette": "Ouvrir la recherche rapide",
"actionReconnectSession": "Reconnecter la session actuelle",
"unavailableAction": "{{type}} (non disponible)",
"actionRequiredError": "Choisissez d'abord une action",
"deleteConfirm": "Supprimer ce raccourci clavier ?",
"resetAllConfirm": "Réinitialiser tous les raccourcis clavier à leurs valeurs par défaut ?"
},
"userProfile": {
"storageModeLocal": "Navigateur",
"storageModeCloud": "Base de données",
"storageModeDescription": "Le navigateur stocke les paramètres uniquement dans ce navigateur. La base de données synchronise avec le serveur et charge sur n'importe quel appareil.",
"resetToDefaults": "Réinitialiser par défaut",
"resetToDefaultsSuccess": "Paramètres réinitialisés par défaut.",
"storageModeSwitch": "Stockage des préférences",
"sectionAccount": "Compte",
"desktopProfileTitle": "Cet appareil uniquement",
"desktopProfileDescription": "Ce profil réside sur cet appareil et se connecte de manière autonome. Liez-le à un serveur Termix pour utiliser les mêmes hôtes et paramètres sur tous les appareils.",
"sectionInterface": "Interface",
"interfacePresetDesc": "Le niveau de détail affiché par Termix. Toutes les fonctionnalités restent disponibles.",
"preset_simple": "Simple",
"preset_simple_desc": "L'essentiel uniquement.",
"preset_balanced": "Équilibré",
"preset_balanced_desc": "La mise en page standard.",
"preset_advanced": "Avancé",
"preset_advanced_desc": "Tout activé, densément agencé.",
"presetClearOverrides": "Tout réinitialiser",
"presetOverridesTitle": "Personnalisé",
"presetRevertArea": "Rétablir",
"presetConfirmTitle": "Passer à {{preset}} ?",
"presetConfirmDesc": "Cela réinitialise votre barre latérale, navigation, mise en page du tableau de bord, barre d'outils du terminal et vue du gestionnaire de fichiers. Vos hôtes, identifiants et page d'accueil ne sont pas modifiés.",
"presetConfirmApply": "Appliquer le preset",
"runSetupAgainDesc": "Parcourez à nouveau la configuration initiale.",
"runSetupAgainButton": "Exécuter la configuration",
"uiArea_chrome": "Interface de l'application",
"uiArea_hostList": "Liste des hôtes",
"uiArea_credentialList": "Liste des identifiants",
"uiArea_rail": "Navigation",
"uiArea_dashboard": "Tableau de bord",
"uiArea_terminal": "Terminal",
"uiArea_fileManager": "Gestionnaire de fichiers",
"uiArea_hostEditor": "Éditeur d'hôte",
"sectionAppearance": "Apparence",
"sectionSecurity": "Sécurité",
"sectionApiKeys": "Clés API",
"sectionData": "Données",
"usernameLabel": "Nom d'utilisateur",
"roleLabel": "Rôle",
"roleAdministrator": "Administrateur",
"authMethodLabel": "Méthode d'authentification",
"authMethodLocal": "Local",
"twoFaLabel": "2FA",
"twoFaOn": "Activé",
"twoFaOff": "Désactivé",
"versionLabel": "Version",
"cliTitle": "Termix CLI",
"cliDescription": "Ouvrez des terminaux, exécutez des commandes et déplacez des fichiers depuis votre propre shell.",
"cliLearnMore": "En savoir plus",
"deleteAccount": "Supprimer le compte",
"deleteAccountDescription": "Supprimer définitivement votre compte",
"deleteButton": "Supprimer",
"deleteAccountPermanent": "Cette action est permanente et ne peut pas être annulée.",
"deleteAccountWarning": "Toutes les sessions, hôtes, identifiants et paramètres seront supprimés définitivement.",
"confirmPasswordDeletePlaceholder": "Entrez votre mot de passe pour confirmer",
"languageLabel": "Langue",
"themeLabel": "Thème",
"fontSizeLabel": "Taille de la police",
"interfaceFontLabel": "Police de l'interface",
"interfaceFontDescription": "Modifie la police de l'interface de l'application. Les profils de terminal conservent leurs propres paramètres de police.",
"accentColorLabel": "Couleur d'accentuation",
"keyboardShortcuts": "Raccourcis clavier",
"keyboardShortcutsDescription": "Personnaliser les raccourcis de copie, collage et commandes du terminal",
"manageShortcuts": "Gérer",
"commandPalette": "Palette de commandes",
"commandPaletteDesc": "Activer le raccourci clavier",
"reopenTabsOnLogin": "Réouvrir les onglets à la connexion",
"reopenTabsOnLoginDesc": "Restaurez vos onglets ouverts lorsque vous vous connectez ou actualisez la page, même depuis un autre appareil",
"confirmTabClose": "Confirmer la fermeture de l'onglet",
"confirmTabCloseDesc": "Demander confirmation avant de fermer les onglets du terminal",
"showTabNumbers": "Afficher les numéros d'onglets",
"showTabNumbersDesc": "Affiche un numéro sur chaque onglet pour aider à les distinguer",
"settingsAppRail": "Barre d'applications",
"sidebarSettingsMoved": "Les paramètres d'affichage de la barre latérale des hôtes ont été déplacés vers le panneau Personnaliser la barre latérale, accessible depuis la barre d'outils des Hôtes.",
"showHostTags": "Afficher les étiquettes des hôtes",
"showHostTagsDesc": "Afficher les étiquettes dans la liste des hôtes",
"statusColors": "Couleurs de statut réelles",
"statusColorsDesc": "Utiliser le vert/rouge pour le statut en ligne/hors ligne au lieu de la couleur d'accentuation",
"pinAppRail": "Épingler la barre d'applications",
"pinAppRailDesc": "Garder la barre d'applications de la barre latérale gauche toujours déployée au lieu de la déployer au survol",
"expandAppRailOnHover": "Déployer la barre d'applications au survol",
"expandAppRailOnHoverDesc": "Permettre à la barre d'applications de la barre latérale gauche de se déployer lorsque le pointeur passe dessus",
"appRailHoverPushesContent": "Déplacer le contenu lors de l'expansion",
"appRailHoverPushesContentDesc": "Faire de la place pour la barre latérale élargie au lieu de l'afficher par-dessus la page. Les sessions ouvertes, comme le bureau à distance, sont redimensionnées à chaque fois.",
"showPinAppRailButton": "Afficher le bouton d'épinglage de la barre d'applications",
"showPinAppRailButtonDesc": "Affiche un bouton dans la barre d'applications pour l'épingler ouverte. Désactivé par défaut.",
"settingsNavigation": "Navigation",
"navigationTabsDesc": "Choisissez quels onglets apparaissent dans la barre d'applications",
"settingsUpdates": "Mises à jour",
"disableUpdateChecks": "Désactiver les vérifications de mise à jour",
"disableUpdateChecksDesc": "Arrêter de vérifier les mises à jour",
"changePassword": "Changer le mot de passe",
"currentPasswordLabel": "Mot de passe actuel",
"currentPasswordPlaceholder": "Mot de passe actuel",
"newPasswordLabel": "Nouveau mot de passe",
"newPasswordPlaceholder": "Nouveau mot de passe",
"confirmPasswordLabel": "Confirmer le nouveau mot de passe",
"confirmPasswordPlaceholder": "Confirmer le nouveau mot de passe",
"updatePassword": "Mettre à jour le mot de passe",
"createApiKeyTitle": "Créer une clé API",
"createApiKeyDescription": "Générer une nouvelle clé API pour l'accès programmatique.",
"apiKeyNameLabel": "Nom",
"apiKeyNamePlaceholder": "ex. Pipeline CI",
"expiryDateLabel": "Date d'expiration",
"optional": "facultatif",
"cancel": "Annuler",
"createKey": "Créer une clé",
"apiKeyCreatedWarning": "Clé créée — copiez-la maintenant, elle ne sera plus affichée.",
"copyApiKey": "Copier la clé API",
"copiedToClipboard": "Copié dans le presse-papiers",
"apiKeyCount_one": "{{count}} clé",
"apiKeyCount_many": "{{count}} clés",
"apiKeyCount_other": "{{count}} clés",
"newKey": "Nouvelle clé",
"noApiKeys": "Aucune clé API pour le moment.",
"apiKeyActive": "Active",
"apiKeyUsageHint": "Incluez votre clé dans l'en-tête",
"apiKeyUsageHintHeader": ".",
"apiKeyPermissionsHint": "Les clés héritent des permissions de l'utilisateur qui les a créées.",
"exportData": "Exporter mes données",
"exportDataDesc": "Téléchargez une sauvegarde de vos hôtes, identifiants et paramètres pour les transférer sur un autre appareil",
"export": "Exporter",
"exporting": "Exportation en cours...",
"importData": "Importer mes données",
"importDataDesc": "Restaurez vos hôtes, identifiants et paramètres à partir d'un fichier de sauvegarde .sqlite",
"importDataSelected": "Sélectionné : {{name}}",
"selectFile": "Sélectionner un fichier",
"changeFile": "Modifier",
"import": "Importer",
"importing": "Importation en cours...",
"exportSuccess": "Données exportées avec succès",
"exportFailed": "Échec de l'exportation des données",
"importSelectFile": "Veuillez d'abord sélectionner un fichier",
"importCompleted": "Importation terminée : {{total}} éléments importés, {{skipped}} ignorés",
"importFailed": "Échec de l'importation : {{error}}",
"roleUser": "Utilisateur",
"authMethodDual": "Authentification double",
"authMethodExternal": "Externe",
"done": "Terminé",
"apiKeyNameRequired": "Le nom de la clé est requis",
"apiKeyCreated": "Clé API « {{name}} » créée",
"apiKeyCreateFailed": "Échec de la création de la clé API",
"apiKeyUser": "Utilisateur",
"apiKeyExpires": "Expire le",
"apiKeyRevoked": "Clé API « {{name}} » révoquée",
"apiKeyRevokeFailed": "Échec de la révocation de la clé API",
"passwordFieldsRequired": "Les mots de passe actuel et nouveau sont requis",
"passwordMismatch": "Les mots de passe ne correspondent pas",
"passwordTooShort": "Le mot de passe doit contenir au moins 6 caractères",
"passwordUpdated": "Mot de passe mis à jour avec succès",
"passwordUpdateFailed": "Échec de la mise à jour du mot de passe",
"deletePasswordRequired": "Le mot de passe est requis pour supprimer votre compte",
"deleteFailed": "Échec de la suppression du compte",
"deleting": "Suppression en cours...",
"colorPickerTooltip": "Ouvrir le sélecteur de couleurs",
"themeSystem": "Système",
"themeLight": "Clair",
"themeDark": "Sombre",
"themeDracula": "Dracula",
"themeCatppuccin": "Catppuccin",
"themeNord": "Nord",
"themeSolarized": "Solarized",
"themeTokyoNight": "Tokyo Night",
"themeOneDark": "One Dark",
"themeGruvbox": "Gruvbox",
"linkedProfileTitle": "Connecté à {{server}}",
"linkedProfileDescription": "Cet appareil utilise votre compte sur le serveur et conserve une copie de vos données, ce qui lui permet de fonctionner hors ligne.",
"manageSync": "Gérer la synchronisation",
"setUpSync": "Lier à un serveur",
"settingsTabsAndShortcuts": "Onglets et raccourcis",
"onBetaTitle": "Vous utilisez une version bêta",
"onBetaDescription": "Merci de tester. Dites-nous ce qui ne fonctionne pas.",
"tryBetaTitle": "Testez les nouvelles fonctionnalités en avant-première",
"tryBetaDescription": "Rejoignez le programme bêta dans Mises à jour.",
"sendBetaFeedback": "Envoyer un retour sur la bêta",
"openUpdates": "Mises à jour"
}
}
},
"plugins": {
"capabilities": {
"credentials:read": {
"title": "Voir vos mots de passe et clés",
"consequence": "Il peut lire les secrets stockés pour n'importe quel hôte auquel vous pouvez accéder."
},
"ssh:connect": {
"title": "Exécuter des commandes sur vos serveurs",
"consequence": "N'importe quelle commande, sur les hôtes auxquels vous le connectez, avec vos droits d'accès."
},
"process:spawn": {
"title": "Exécuter des programmes sur cette machine",
"consequence": "Les programmes s'exécutent sur le serveur Termix lui-même, et non sur vos hôtes."
},
"users:write": {
"title": "Créer et modifier des comptes utilisateur",
"consequence": "Il peut ajouter des utilisateurs et modifier leurs rôles."
},
"auth:provide": {
"title": "Gérer la connexion",
"consequence": "Il peut ajouter une méthode de connexion, un deuxième facteur ou un type de connexion SSH."
},
"system:tls": {
"title": "Gérer les certificats",
"consequence": "Il peut remplacer le certificat que Termix sert via HTTPS et répondre aux vérifications de domaine des autorités de certification."
},
"device:serial": {
"title": "Accéder aux périphériques série et USB",
"consequence": "Il peut ouvrir un port série physique sur la machine exécutant Termix."
},
"hosts:write": {
"title": "Créer et modifier des hôtes",
"consequence": "Il peut ajouter des hôtes et modifier ceux que vous avez déjà."
},
"credentials:use": {
"title": "Se connecter à vos serveurs",
"consequence": "Il ne peut pas voir vos mots de passe ou clés."
},
"credentials:write": {
"title": "Enregistrer de nouvelles identifiants",
"consequence": "Il peut ajouter des mots de passe et des clés à vos identifiants enregistrés."
},
"network:outbound": {
"title": "Accéder à Internet",
"consequence": "Il peut envoyer des requêtes à des services externes."
},
"network:serve": {
"title": "Accepter les connexions",
"consequence": "Il ouvre un port sur le serveur Termix."
},
"network:broadcast": {
"title": "Envoyer des diffusions réseau",
"consequence": "Il peut envoyer des paquets aux appareils du réseau local, comme un signal Wake-on-LAN."
},
"users:read": {
"title": "Voir les noms d'utilisateur et les rôles",
"consequence": "Jamais les hachages de mots de passe, jamais l'état de l'authentification à deux facteurs."
},
"events:core": {
"title": "Surveiller toutes les activités",
"consequence": "Y compris l'activité des autres utilisateurs, pas seulement la vôtre."
},
"notify:send": {
"title": "Envoyer des alertes",
"consequence": "À vous ou à d'autres utilisateurs, et via les canaux qu'ils ont configurés."
},
"notify:hub": {
"title": "Recevoir toutes les alertes",
"consequence": "Stocke et distribue les alertes envoyées par tous les plugins, y compris leur contenu."
},
"audit:read": {
"title": "Lire le journal d'audit",
"consequence": "Il peut voir qui a fait quoi et quand."
},
"desktop:window": {
"title": "Ouvrir des fenêtres de bureau",
"consequence": "Uniquement dans l'application de bureau Termix."
},
"users:impersonate": {
"title": "Agir au nom d'autres utilisateurs",
"consequence": "Exécute des tâches en arrière-plan avec les accès d'un autre utilisateur, comme les tâches planifiées. Chaque utilisation est enregistrée dans le journal d'audit."
},
"db:core-refs": {
"title": "Lire les tables de compte principales",
"consequence": "Peut interroger directement les utilisateurs, les rôles et les hôtes dans la base de données."
},
"hosts:read": {
"title": "Voir votre liste d'hôtes",
"consequence": "Noms et adresses des hôtes que vous pouvez déjà voir."
},
"db:own": {
"title": "Stocker ses propres données",
"consequence": "Conservées dans ses propres tables, séparées des autres plugins."
},
"kv:own": {
"title": "Mémoriser de petits paramètres",
"consequence": "Conservé séparément des autres plugins."
},
"files:own": {
"title": "Stocker ses propres fichiers",
"consequence": "Dans son propre dossier sur le disque, séparé des autres plugins."
},
"secrets:own": {
"title": "Stocker ses propres secrets",
"consequence": "Chiffré par Termix. Le plugin ne détient jamais la clé."
},
"settings:read-core": {
"title": "Lire les paramètres de Termix",
"consequence": "Paramètres du serveur, pas vos hôtes ou identifiants."
},
"plugins:read": {
"title": "Voir les plugins installés",
"consequence": "Il peut voir quels plugins sont installés et en cours d'exécution."
},
"ui:surface": {
"title": "Ajouter ses propres écrans",
"consequence": "Onglets, panneaux et paramètres que vous pourrez masquer plus tard."
}
},
"runtime": {
"needsPlugin": "{{name}} n'est pas disponible",
"needsUnknownPlugin": "Ce plugin n'est pas disponible",
"disabledHint": "Il est désactivé sur ce serveur.",
"missingHint": "Le plugin d'origine a été supprimé.",
"failed": "{{name}} n'a pas pu démarrer",
"failedHint": "Un administrateur peut consulter les journaux du serveur pour plus de détails.",
"loading": "Chargement de {{name}}",
"crashed": "Une erreur s'est produite dans {{name}}",
"retry": "Réessayer"
},
"manager": {
"tabs": {
"installed": "Installés",
"browse": "Parcourir",
"updates": "Mises à jour",
"registries": "Registries"
},
"status": {
"summary": "{{installed}} installés, {{running}} en cours d'exécution",
"running": "En cours d'exécution",
"disabled": "Désactivé",
"failed": "Arrêt inattendu",
"blocked": "En attente d'un autre plugin",
"server": "Exécute sur votre serveur"
},
"groups": {
"running": "En cours d'exécution",
"notRunning": "Non en cours d'exécution",
"onServer": "Sur votre serveur"
},
"runsOnServerHint": "Ce plugin s'exécute uniquement sur votre serveur, il reste donc désactivé dans l'application de bureau. Il fonctionne toujours sur le serveur.",
"sort": {
"popular": "Les plus populaires",
"name": "Nom",
"updated": "Récemment mis à jour",
"category": "Catégorie"
},
"columns": {
"title": "Colonnes",
"auto": "Auto",
"count": "{{count}} de large"
},
"table": {
"name": "Nom",
"description": "Description",
"version": "Version",
"status": "État",
"category": "Catégorie",
"downloads": "Téléchargements"
},
"risk": {
"critical": "Critique",
"high": "Risque élevé",
"medium": "Risque moyen",
"low": "Risque faible"
},
"contributes": {
"tabs_one": "{{count}} onglet",
"tabs_many": "{{count}} onglets",
"tabs_other": "{{count}} onglets",
"panels_one": "{{count}} panneau",
"panels_many": "{{count}} panneaux",
"panels_other": "{{count}} panneaux",
"dashboardCards_one": "{{count}} carte de tableau de bord",
"dashboardCards_many": "{{count}} cartes de tableau de bord",
"dashboardCards_other": "{{count}} cartes de tableau de bord",
"actions_one": "{{count}} action",
"actions_many": "{{count}} actions",
"actions_other": "{{count}} actions",
"protocols_one": "{{count}} type de connexion",
"protocols_many": "{{count}} types de connexion",
"protocols_other": "{{count}} types de connexion",
"auth_one": "{{count}} méthode de connexion",
"auth_many": "{{count}} méthodes de connexion",
"auth_other": "{{count}} méthodes de connexion",
"settings_one": "Paramètres",
"settings_many": "Paramètres",
"settings_other": "Paramètres",
"hostCapability_one": "Paramètres de l'hôte",
"hostCapability_many": "Paramètres de l'hôte",
"hostCapability_other": "Paramètres de l'hôte",
"permissions_one": "{{count}} autorisation de rôle",
"permissions_many": "{{count}} autorisations de rôle",
"permissions_other": "{{count}} autorisations de rôle",
"keybindingActions_one": "{{count}} raccourci",
"keybindingActions_many": "{{count}} raccourcis",
"keybindingActions_other": "{{count}} raccourcis",
"syncEntities_one": "Synchronisation du bureau",
"syncEntities_many": "Synchronisation du bureau",
"syncEntities_other": "Synchronisation du bureau"
},
"consent": {
"enableTitle": "Activer {{name}} ?",
"installTitle": "Installer {{name}}",
"updateTitle": "Mettre à jour {{name}}",
"agreeUpdate": "Accepter et mettre à jour",
"updateExplain": "Cette version demande quelque chose que votre version actuelle ne demande pas, elle ne s'installera donc pas automatiquement.",
"newInVersion": "Nouveau dans cette version",
"minor": "Il ajoute également ses propres écrans et stocke ses propres données, conservées séparément des autres plugins.",
"none": "Il ne demande aucun accès spécial.",
"uploadTitle": "Installer {{name}} à partir d'un fichier",
"uploadWarning": "Ce fichier n'a pas été vérifié ni signé par le registre Termix. Installez-le uniquement si vous l'avez créé vous-même ou si vous faites confiance à son auteur."
},
"confirm": {
"uninstallTitle": "Désinstaller {{name}} ?",
"uninstallBody": "Cela l'arrête et supprime tout ce qu'il stocke, y compris ses paramètres et ses secrets. Vous pourrez le réinstaller plus tard, mais les données ne reviendront pas.",
"deleteDataTitle": "Supprimer toutes les données de {{name}} ?",
"deleteDataBody": "Ses tables, paramètres, secrets et fichiers sont supprimés et il est désactivé. Cette action est irréversible.",
"enableAlsoTitle": "Activer {{name}} ?",
"enableAlsoBody": "Il a besoin de ceux-ci pour fonctionner, ils seront donc également activés : {{list}}.",
"disableAlsoTitle": "Désactiver {{name}} ?",
"disableAlsoBody": "Ceux-ci en ont besoin pour fonctionner, ils seront donc également désactivés : {{list}}.",
"downgradeTitle": "Revenir à {{name}} {{version}} ?",
"downgradeBody": "Les données écrites par la version plus récente restent telles quelles, et une version plus ancienne pourrait ne pas les comprendre. Le plugin restera sur cette version jusqu'à ce que vous le déverrouilliez.",
"downgradeConfirm": "Changer de version"
},
"toast": {
"installed": "{{name}} installé",
"installedNotRunning": "{{name}} installé mais impossible de le démarrer. Ouvrez-le pour voir pourquoi.",
"updated": "{{name}} mis à jour vers {{version}}",
"updatedMany_one": "{{count}} plugin mis à jour",
"updatedMany_many": "{{count}} plugins mis à jour",
"updatedMany_other": "{{count}} plugins mis à jour",
"uninstalled": "{{name}} désinstallé",
"dataDeleted": "Données de {{name}} supprimées",
"failedToStart": "Impossible de démarrer {{name}}. Ouvrez-le pour voir pourquoi."
},
"errors": {
"generic": "Une erreur est survenue",
"install": "Impossible d'installer {{name}} : {{error}}",
"update": "Impossible de mettre à jour {{name}} : {{error}}",
"updateAll": "Impossible de mettre à jour les plugins : {{error}}",
"uninstall": "Impossible de désinstaller {{name}} : {{error}}",
"state": "Impossible de modifier {{name}} : {{error}}",
"retry": "Impossible de redémarrer {{name}} : {{error}}",
"options": "Impossible de sauvegarder les options de {{name}} : {{error}}",
"deleteData": "Impossible de supprimer les données de {{name}} : {{error}}",
"managedByServer": "Ce bureau est lié à un serveur, qui détermine ses plugins.",
"hasDependents": "{{name}} est requis par {{list}}. Désactivez-les ou désinstallez-les d'abord.",
"missingDependencies": "{{name}} nécessite {{list}}, qui n'est pas installé.",
"consentChanged": "Les permissions demandées par ce plugin ont changé depuis votre dernière consultation. Vérifiez à nouveau la liste.",
"upload": "Impossible de lire {{name}} : {{error}}",
"developerMode": "Impossible de modifier le mode développeur : {{error}}"
},
"data": {
"title": "Données stockées",
"delete": "Supprimer les données",
"loadFailed": "Impossible de lire ce que ce plugin stocke.",
"tables": "Tables",
"kv": "Clés",
"settings": "Paramètres",
"files": "Fichiers",
"rows_one": "{{count}} ligne",
"rows_many": "{{count}} lignes",
"rows_other": "{{count}} lignes",
"secrets_one": "{{count}} secret",
"secrets_many": "{{count}} secrets",
"secrets_other": "{{count}} secrets",
"migrations_one": "{{count}} migration appliquée",
"migrations_many": "{{count}} migrations appliquées",
"migrations_other": "{{count}} migrations appliquées",
"grants_one": "{{count}} capacité accordée",
"grants_many": "{{count}} capacités accordées",
"grants_other": "{{count}} capacités accordées"
},
"install": "Installer",
"uninstall": "Désinstaller",
"enable": "Activer",
"disable": "Désactiver",
"restart": "Redémarrer",
"update": "Mettre à jour",
"updateAll": "Tout mettre à jour",
"updateTo": "Mettre à jour vers {{version}}",
"review": "Consulter",
"reviewUpdate": "Consulter la mise à jour",
"updates": "Mises à jour",
"auto": "Auto",
"autoUpdate": "Mise à jour automatique",
"autoUpdateHint": "Jamais si la mise à jour demande de nouveaux accès.",
"pin": "Conserver cette version",
"pinHint": "Conserve {{version}} et ignore toutes les mises à jour jusqu'à ce que vous désactiviez cette option.",
"pinnedTo": "Fixé à {{version}}",
"version": "Version",
"versionPickHint": "Installez une version antérieure au lieu de la plus récente. Elle reste sur cette version jusqu'à ce que vous la défixiez.",
"versionPickHintInstalled": "Passez à une autre version. Choisir une version qui n'est pas la plus récente la fixe.",
"switchVersion": "Changer",
"latestVersion": "{{version}} (dernière)",
"versionChange": "{{from}} vers {{to}}",
"releaseNotes": "Notes de version",
"noReleaseNotes": "Aucune note pour cette version.",
"viewRelease": "Voir sur GitHub",
"showOlderReleases": "Versions antérieures ({{count}})",
"hideOlderReleases": "Masquer les versions antérieures",
"showMoreChanges": "Afficher {{count}} de plus",
"videoTitle": "Vidéo de {{name}}",
"changeTypes": {
"added": "Ajouté",
"changed": "Modifié",
"fixed": "Corrigé",
"removed": "Supprimé",
"deprecated": "Obsolète",
"security": "Sécurité"
},
"installedBadge": "Installé",
"incompatible": "Nécessite une version plus récente de Termix",
"features": "Fonctionnalités",
"whatItCanDo": "Ce qu'il peut faire",
"addsToTermix": "Ajouts à Termix",
"addsToTermixHint": "Désinstallez-le et tous ces éléments disparaîtront.",
"noServerAccess": "Aucun accès à vos serveurs",
"searchInstalled": "Rechercher parmi les installés",
"searchPlugins": "Rechercher des plugins",
"allCategories": "Tous",
"nothingMatches": "Rien ne correspond.",
"noneInstalled": "Aucun plugin n'est installé. Parcourez la liste pour en ajouter.",
"nothingHere": "Rien ici.",
"nothingHereHint": "Essayez une autre catégorie ou une recherche.",
"showInstalled": "Afficher les installés",
"allInstalled": "Tout est déjà installé ici.",
"allInstalledHint": "Activez Afficher les installés pour les voir.",
"communitySubmit": "Comment soumettre",
"registries": {
"intro": "Les registries sont des listes de plugins que vous pouvez installer. Le registry officiel est toujours activé. Vous pouvez activer le registry communautaire ou ajouter le vôtre.",
"hostYourOwn": "Héberger votre propre registry",
"add": "Ajouter un registry",
"addTitle": "Ajouter un registry",
"addHint": "Collez le lien vers le fichier index.json du registry. Termix le lit et affiche la clé avec laquelle il signe les plugins. Ajoutez uniquement des registries provenant de sources de confiance.",
"urlLabel": "URL de l'index",
"check": "Vérifier",
"addConfirm": "Faire confiance et ajouter",
"added": "{{name}} ajouté",
"customWarning": "Les plugins de ce registry ne sont pas examinés par l'équipe Termix. Seul le propriétaire du registry décide de son contenu. Chaque téléchargement doit être signé par la clé ci-dessus.",
"keyFingerprint": "Clé {{keyId}}",
"pluginCount_one": "{{count}} plugin",
"pluginCount_many": "{{count}} plugins",
"pluginCount_other": "{{count}} plugins",
"officialName": "Officiel",
"communityName": "Communautaire",
"alwaysOn": "Toujours activé",
"communityHint": "Plugins créés par d'autres personnes. Chaque version est vérifiée par une personne et par des contrôles automatisés avant d'être listée.",
"communityConfirmTitle": "Activer les plugins communautaires ?",
"communityConfirmBody": "Les plugins communautaires sont créés par d'autres personnes, pas par l'équipe Termix. Chaque version est vérifiée par une personne et par des contrôles automatisés avant d'être listée, mais des erreurs peuvent parfois passer. Installez uniquement les plugins en qui vous avez confiance et vérifiez ce que chacun demande.",
"communityConfirm": "Activer",
"communityBadge": "Communautaire",
"communityBadgeHint": "Provenant du registry communautaire. Créé par d'autres personnes et examiné avant d'être listé.",
"customBadge": "Personnalisé",
"customBadgeHint": "Provenant de {{name}}, un registry ajouté par un administrateur. Non examiné par l'équipe Termix.",
"remove": "Supprimer",
"removeTitle": "Supprimer {{name}} ?",
"removeBody": "Ses plugins ne s'afficheront plus dans la section Parcourir. Vous pourrez le réajouter plus tard.",
"removed": "{{name}} supprimé",
"inUse": "Désinstallez d'abord les plugins de {{name}} : {{list}}",
"changeFailed": "Impossible de modifier le registre : {{error}}",
"loadFailed": "Impossible de charger les registres : {{error}}",
"unreachable": "Impossible de le lire : {{error}}",
"filter": "Registre",
"allRegistries": "Tous les registres",
"browseHint": "Activez les plugins communautaires ou ajoutez votre propre registre dans l'onglet Registres."
},
"upToDate": "Tout est à jour.",
"lastChecked": "Dernière vérification {{time}}",
"updatesReady_one": "{{count}} mise à jour disponible.",
"updatesReady_many": "{{count}} mises à jour disponibles.",
"updatesReady_other": "{{count}} mises à jour disponibles.",
"updatesNeedReview_one": "{{count}} autre nécessite votre examen préalable.",
"updatesNeedReview_many": "{{count}} autres nécessitent votre examen préalable.",
"updatesNeedReview_other": "{{count}} autres nécessitent votre examen préalable.",
"updateAsksMore": "Cette mise à jour demande plus d'accès, elle attend donc votre validation.",
"checkRegistry": "Vérifier les plugins et mises à jour",
"registryUnreachable": "Impossible d'atteindre le registre des plugins ({{error}}). Les plugins installés continuent de fonctionner.",
"managedByServer": "Ce bureau est lié à un serveur, qui gère ses plugins. Les modifications sont effectuées sur le serveur.",
"browsePlugins": "Parcourir les plugins",
"loading": "Chargement",
"developer": {
"title": "Mode développeur de plugins",
"hint": "Permet aux administrateurs d'installer des plugins à partir d'un fichier .tmxplug dans l'onglet Plugins, sans les vérifications du registre. Utilisez-le pour créer et tester vos propres plugins.",
"enableTitle": "Activer le mode développeur ?",
"enableBody": "Les administrateurs pourront installer des plugins à partir de fichiers non vérifiés par Termix. Un plugin peut faire tout ce que ses capacités lui permettent, alors activez cette option uniquement pendant le développement ou les tests de plugins.",
"enable": "Activer",
"installFromFile": "Installer depuis un fichier",
"signedOnly": "TERMIX_REQUIRE_SIGNED_PLUGINS est défini, l'installation depuis un fichier reste donc bloquée."
},
"count": {
"downloads_one": "{{formatted}} téléchargement",
"downloads_many": "{{formatted}} téléchargements",
"downloads_other": "{{formatted}} téléchargements",
"downloadsHint": "Nombre de fois qu'une version a été téléchargée. Il ne s'agit pas du nombre d'installations."
},
"unverified": "Non vérifié",
"unverifiedHint": "Installé à partir d'un fichier. Termix ne l'a ni vérifié ni signé.",
"reportIssue": "Signaler un problème",
"reportTo": "Signaler à {{author}}",
"requestFeature": "Demander une fonctionnalité",
"openSettings": "Ouvrir ses paramètres",
"beta": {
"badge": "Bêta",
"badgeHint": "Il s'agit d'une version bêta. Elle peut contenir des bugs.",
"try": "Essayer la bêta {{version}}",
"confirmTitle": "Utiliser les versions bêta pour {{name}} ?",
"confirmBody": "Les versions bêta bénéficient des nouvelles fonctionnalités et corrections en premier, mais elles peuvent contenir des bugs. Vous pouvez revenir à la version stable à tout moment.",
"confirmInstall": "Installer {{version}}",
"confirmSwitch": "Utiliser les versions bêta",
"leftWhileOnBeta": "{{name}} reste sur {{version}} jusqu'à ce qu'une version stable plus récente soit disponible.",
"channel": "Versions bêta",
"channelHint": "Obtenez les nouvelles versions en avance. Elles peuvent contenir des bugs.",
"waitingForStable": "Retour à la version stable. Reste sur {{version}} jusqu'à ce qu'une version stable plus récente soit disponible.",
"versionLabel": "{{version}} (bêta)",
"sendFeedback": "Envoyer un retour sur la version bêta"
},
"documentation": "Documentation",
"envVars": "Variables d'environnement",
"envRequired": "Requis",
"envDefault": "Par défaut : {{value}}"
}
},
"settings": {
"secretSet": "Défini",
"secretNotSet": "Non défini",
"secretReplace": "Remplacer",
"pluginSettingsSaved": "Paramètres enregistrés",
"pluginSettingsInvalid": "Certains paramètres n'ont pas pu être enregistrés. Vérifiez les champs mis en surbrillance.",
"pluginSettingsSaveFailed": "Échec de l'enregistrement des paramètres",
"pluginSettingsLoadFailed": "Échec du chargement des paramètres",
"featureUnavailable": "{{name}} n'est pas disponible pour le moment. Ces paramètres sont enregistrés mais ne prendront pas effet.",
"account": "Compte",
"security": "Sécurité",
"apiKeys": "Clés API",
"data": "Données et synchronisation",
"interface": "Interface",
"appearance": "Apparence",
"keybindings": "Raccourcis clavier",
"adminGeneral": "Général",
"adminUsers": "Utilisateurs",
"adminSessions": "Sessions",
"adminRoles": "Rôles",
"adminHostDefaults": "Paramètres par défaut des hôtes",
"adminBranding": "Marque",
"adminDatabase": "Base de données",
"adminSsl": "SSL",
"adminApiKeys": "Clés API",
"adminAuditLog": "Journal d'audit",
"bandYou": "Votre compte",
"bandApp": "Cette application",
"bandPlugins": "Plugins",
"bandInstance": "Ce serveur",
"searchPlaceholder": "Rechercher dans les paramètres",
"noResults": "Aucun paramètre ne correspond.",
"pages": "Pages",
"instanceSettings": "Paramètres du serveur",
"nothingHere": "Rien à configurer ici.",
"searchPage": "Rechercher sur cette page",
"noPageMatches": "Rien sur cette page ne correspond.",
"updates": {
"title": "Mises à jour",
"betaProgram": "Programme bêta",
"betaIntro": "Les versions bêta sont des builds précoces de la prochaine version de Termix. Elles sont publiées les mardis et vendredis lorsqu'il y a des nouveautés à tester. Elles peuvent contenir des bugs, et vos retours permettent d'améliorer la version stable.",
"termixBetas": "Versions bêta de Termix",
"termixBetasHint": "Informez-moi des nouvelles versions bêta, pas seulement des versions stables.",
"runningBetaBuild": "Vous utilisez une version bêta. Pour quitter, revenez à une image ou un installateur stable.",
"howToInstall": "Comment obtenir la version bêta",
"desktopInstall": "Téléchargez l'installateur bêta et installez-le par-dessus celui-ci.",
"downloadBeta": "Télécharger {{version}}",
"dockerInstall": "Changez votre image pour la balise bêta et redémarrez le conteneur :",
"copy": "Copier",
"copied": "Copié",
"copyFailed": "Impossible de copier",
"learnMore": "En savoir plus sur les versions bêta",
"feedback": "Retour d'information",
"feedbackHint": "Vous avez trouvé un bug ou une idée ? Elle sera transmise directement aux développeurs avec votre version renseignée.",
"sendFeedback": "Envoyer un retour sur la version bêta",
"releases": "Versions",
"thisVersion": "Cette version",
"newestStable": "Dernière version stable",
"newestBeta": "Dernière version bêta",
"noRelease": "Aucune pour le moment",
"pluginBetas": "Versions bêta des plugins",
"pluginBetasIntro": "Chaque plugin peut utiliser ses propres versions bêta. Pour en essayer un, ouvrez-le et appuyez sur Essayer la bêta.",
"openPlugins": "Ouvrir les plugins",
"waitingForStable": "Retour à la version stable. Reste sur {{version}} jusqu'à ce qu'une version stable plus récente soit disponible.",
"backToStable": "Retour à la version stable",
"allPluginsBeta": "Utiliser les versions bêta pour tous les plugins",
"allPluginsStable": "Tous les plugins revenus à la version stable",
"saveFailed": "Impossible de sauvegarder la modification"
}
},
"managerCard": {
"refresh": "Actualiser",
"retry": "Réessayer",
"sudoHint": "Définissez un mot de passe sudo pour cet hôte dans l'éditeur d'hôte pour activer les actions privilégiées.",
"noData": "Aucune donnée",
"filter": "Filtrer..."
},
"sync": {
"server": "Serveur Termix",
"account": "Compte",
"status": "État",
"never": "jamais",
"justNow": "à l'instant",
"minutesAgo_one": "il y a {{count}} minute",
"minutesAgo_many": "il y a {{count}} minutes",
"minutesAgo_other": "il y a {{count}} minutes",
"hoursAgo_one": "il y a {{count}} heure",
"hoursAgo_many": "il y a {{count}} heures",
"hoursAgo_other": "il y a {{count}} heures",
"actionFailed": "Cela n'a pas fonctionné. Réessayez.",
"unlinkedTitle": "Cet appareil uniquement",
"unlinkedBody": "Termix fonctionne de manière autonome sur cet appareil. Liez-le à votre serveur Termix pour garder tout en synchronisation.",
"unlinkedPointHosts": "Vos hôtes, identifiants, extraits et paramètres vous suivent sur chaque appareil.",
"unlinkedPointOffline": "Tout fonctionne toujours lorsque le serveur n'est pas accessible, et se met à jour plus tard.",
"unlinkedPointAccount": "Vous vous connectez avec votre compte serveur, et les hôtes que d'autres personnes ont partagés avec vous apparaissent également ici.",
"linkButton": "Lier à un serveur",
"state": {
"syncing": "Synchronisation",
"offline": "Serveur inaccessible",
"error": "Synchronisation arrêtée",
"signedOut": "Déconnecté",
"synced": "Synchronisé {{time}}"
},
"pending_one": "{{count}} modification en attente de synchronisation",
"pending_many": "{{count}} modifications en attente de synchronisation",
"pending_other": "{{count}} modifications en attente de synchronisation",
"signInAgain": "Se reconnecter",
"syncNow": "Synchroniser maintenant",
"unlink": "Dissocier",
"unlinked": "Cet appareil n'est plus lié",
"unlinkTitle": "Dissocier cet appareil ?",
"unlinkDescription": "Cela arrête la synchronisation et vous déconnecte du serveur. Les hôtes partagés avec vous par d'autres utilisateurs sont supprimés de cet appareil dans tous les cas.",
"unlinkKeepTitle": "Conserver mes données ici",
"unlinkKeepBody": "Vos hôtes, identifiants et paramètres restent sur cet appareil et continuent de fonctionner de manière autonome.",
"unlinkRemoveTitle": "Supprimer les données synchronisées",
"unlinkRemoveBody": "Tout ce qui provenait du serveur est supprimé de cet appareil. Seuls les hôtes conservés localement sur cet appareil restent.",
"conflictsTitle": "Conflits",
"conflictsDescription": "Ces éléments ont été modifiés ici et sur le serveur en même temps. La version du serveur est actuellement utilisée. Conservez la vôtre pour l'envoyer au serveur à la place.",
"keepMine": "Conserver la mienne",
"keepServer": "Conserver celle du serveur",
"errorsTitle": "Non synchronisé",
"errorsDescription": "Le serveur n'a pas accepté ces modifications. Elles restent sur cet appareil.",
"errorPermission": "Votre compte sur le serveur n'a pas l'autorisation d'effectuer cette modification.",
"retry": "Réessayer",
"whatSyncs": "Ce qui est synchronisé",
"whatSyncsDescription": "Désactivez tout ce que vous souhaitez conserver uniquement sur cet appareil.",
"coreGroup": "Termix",
"notOnServer": "Le serveur ne dispose pas de cela",
"notOnDevice": "Pas encore sur cet appareil",
"localOnlyHint": "Vous pouvez également conserver des hôtes ou des dossiers individuels sur cet appareil via leurs paramètres.",
"originTitle": "Origine des connexions",
"originDescription": "Connectez-vous aux hôtes depuis cet appareil ou via le serveur. Vous pouvez modifier cela pour chaque hôte.",
"originLocal": "Cet appareil",
"originRemote": "Le serveur",
"entities": {
"hosts": "Hôtes",
"sshCredentials": "Identifiants",
"sshFolders": "Dossiers",
"userPreferences": "Préférences",
"pluginUserSettings": "Paramètres des plugins",
"sharedHosts": "Hôtes partagés avec vous",
"sharedCredentials": "Identifiants partagés avec vous",
"vaultProfiles": "Profils Vault",
"snippetFolders": "Dossiers de snippets",
"snippets": "Snippets",
"dashboardServiceLinks": "Liens de service",
"homepageItems": "Éléments de la page d'accueil",
"networkTopology": "Carte réseau",
"workspaces": "Espaces de travail",
"hostDefaults": "Paramètres par défaut des hôtes",
"hostDefaultsAdmin": "Paramètres par défaut des hôtes du serveur",
"aiProviders": "Fournisseurs d'IA",
"homepageLayouts": "Mises en page de la page d'accueil",
"accountProfile": "Profil du compte"
},
"proxy": {
"title": "Proxy inverse",
"description": "Uniquement nécessaire lorsque quelque chose comme Cloudflare Access ou une page de connexion se trouve devant votre serveur.",
"headersTitle": "En-têtes supplémentaires",
"headersHint": "Envoyés avec chaque requête au serveur, par exemple un jeton de service Cloudflare Access.",
"headerName": "Nom de l'en-tête",
"headerValue": "Valeur",
"savedValue": "Enregistré, tapez pour modifier",
"addHeader": "Ajouter un en-tête",
"removeHeader": "Supprimer l'en-tête",
"basicAuthTitle": "Nom d'utilisateur et mot de passe",
"basicAuthHint": "Pour un proxy qui demande un nom d'utilisateur et un mot de passe avant Termix.",
"username": "Nom d'utilisateur",
"password": "Mot de passe",
"allowInvalidCertificate": "Faire confiance à un certificat autosigné",
"allowInvalidCertificateHint": "Uniquement pour votre propre serveur, lorsque son certificat ne provient pas d'une autorité de confiance reconnue.",
"saved": "Enregistré"
},
"problems": {
"invalidUrl": "Cela ne ressemble pas à une adresse web.",
"unreachable": "Impossible d'atteindre le serveur. Vérifiez l'adresse et que le serveur est en cours d'exécution.",
"unreachableWithReason": "Impossible d'atteindre le serveur : {{reason}}",
"tlsUntrusted": "Le certificat du serveur n'est pas fiable. S'il s'agit de votre propre serveur avec un certificat autosigné, activez l'option ci-dessous.",
"basicAuthRequired": "Un élément situé devant le serveur demande un nom d'utilisateur et un mot de passe. Saisissez-les ci-dessous.",
"proxyLogin": "Une page de connexion ou un proxy a répondu à la place de Termix. Ajoutez les en-têtes requis ci-dessous, ou vérifiez l'adresse.",
"notTermix": "Aucun serveur Termix n'est présent à cette adresse. S'il fonctionne sous un chemin, incluez-le, par exemple https://example.com/termix.",
"versionMismatch": "Ce serveur exécute une ancienne version de Termix. Mettez-le à jour vers la version 2.9 ou ultérieure pour l'associer.",
"differentAccount": "Vous êtes connecté à un autre compte. Connectez-vous au compte auquel cet appareil est associé, ou dissociez-le d'abord."
},
"wizard": {
"title": "Associer à un serveur Termix",
"reloginTitle": "Se reconnecter",
"savedServers": "Serveurs récents",
"removeServer": "Supprimer de la liste",
"serverDescription": "Saisissez l'adresse que vous utilisez pour ouvrir Termix dans votre navigateur.",
"signinDescription": "Se connecter à {{url}}",
"chooseDescription": "Cet appareil contient déjà des données. Que souhaitez-vous en faire ?",
"finishingDescription": "Association de cet appareil en cours.",
"serverUrl": "Adresse du serveur",
"serverUrlHint": "Par exemple https://termix.example.com",
"showProxySettings": "Paramètres du proxy inverse",
"hideProxySettings": "Masquer les paramètres du proxy inverse",
"continue": "Continuer",
"back": "Retour",
"mergeTitle": "L'ajouter à mon compte",
"mergeBody_one": "L'élément sur cet appareil est ajouté à votre compte. Les éléments déjà présents dans votre compte restent inchangés sur le serveur.",
"mergeBody_many": "Les {{count}} éléments sur cet appareil sont ajoutés à votre compte. Les éléments déjà présents dans votre compte restent inchangés sur le serveur.",
"mergeBody_other": "Les {{count}} éléments sur cet appareil sont ajoutés à votre compte. Les éléments déjà présents dans votre compte restent inchangés sur le serveur.",
"replaceTitle": "Le remplacer par mon compte",
"replaceBody_one": "L'élément sur cet appareil est supprimé, et cet appareil récupère tout depuis votre compte. Les hôtes conservés uniquement sur cet appareil restent.",
"replaceBody_many": "Les {{count}} éléments sur cet appareil sont supprimés, et cet appareil récupère tout depuis votre compte. Les hôtes conservés uniquement sur cet appareil restent.",
"replaceBody_other": "Les {{count}} éléments sur cet appareil sont supprimés, et cet appareil récupère tout depuis votre compte. Les hôtes conservés uniquement sur cet appareil restent.",
"link": "Associer",
"linking": "Association et première synchronisation en cours...",
"linked": "Associé. Vos données sont en cours de synchronisation.",
"signedInAgain": "Connecté. La synchronisation est de nouveau en cours."
}
},
"hostDefaults": {
"source": {
"folder": "Dossier {{name}}",
"user": "Mes valeurs par défaut",
"admin": "Serveur",
"builtin": "Intégré"
},
"custom": "Personnalisé",
"setHere": "Définir ici",
"notSet": "Non défini",
"notSetTitle": "Aucune valeur par défaut n'est définie pour ceci",
"resetTitle": "Cet hôte définit sa propre valeur. Cliquez pour utiliser à nouveau la valeur par défaut de {{source}}",
"clearTitle": "Défini à ce niveau. Cliquez pour l'effacer et utiliser {{source}} à la place",
"inheritedTitle": "Suit la valeur par défaut de {{source}}",
"titleAdmin": "Valeurs par défaut des hôtes du serveur",
"titleUser": "Mes valeurs par défaut des hôtes",
"titleFolder": "Valeurs par défaut du dossier : {{name}}",
"descriptionAdmin": "Valeurs par défaut pour chaque hôte de ce serveur. Les valeurs par défaut d'un utilisateur, d'un dossier ou de l'hôte lui-même peuvent toujours définir une valeur différente. Modifiez un champ pour le définir ici, ou effacez-le pour le laisser non défini.",
"descriptionUser": "Valeurs par défaut pour tous vos hôtes, outrepassant celles du serveur. Un dossier ou l'hôte lui-même peut toujours définir une valeur différente. Modifiez un champ pour le définir ici, ou effacez-le pour le laisser non défini.",
"descriptionFolder": "Valeurs par défaut pour les hôtes de ce dossier et de ses sous-dossiers, outrepassant les vôtres. Un hôte peut toujours définir une valeur différente. Modifiez un champ pour le définir ici, ou effacez-le pour le laisser non défini.",
"save": "Enregistrer les valeurs par défaut",
"saved_one": "Valeurs par défaut enregistrées. {{count}} hôte a été mis à jour.",
"saved_many": "Valeurs par défaut enregistrées. {{count}} hôtes ont été mis à jour.",
"saved_other": "Valeurs par défaut enregistrées. {{count}} hôtes ont été mis à jour.",
"savedInBackground": "Valeurs par défaut enregistrées. Les hôtes sont mis à jour en arrière-plan.",
"appliedToHosts_one": "{{count}} hôte a été mis à jour avec les nouvelles valeurs par défaut.",
"appliedToHosts_many": "{{count}} hôtes ont été mis à jour avec les nouvelles valeurs par défaut.",
"appliedToHosts_other": "{{count}} hôtes ont été mis à jour avec les nouvelles valeurs par défaut.",
"saveFailed": "Impossible d'enregistrer les valeurs par défaut",
"loadFailed": "Impossible de charger les valeurs par défaut",
"confirmTitle": "Enregistrer les valeurs par défaut ?",
"confirmChanges_one": "{{count}} hôte suit ces valeurs par défaut et sera modifié.",
"confirmChanges_many": "{{count}} hôtes suivent ces valeurs par défaut et seront modifiés.",
"confirmChanges_other": "{{count}} hôtes suivent ces valeurs par défaut et seront modifiés.",
"confirmNoChanges": "Aucun hôte existant n'est modifié. Les nouveaux hôtes commenceront avec ces valeurs par défaut.",
"menuMyDefaults": "Mes valeurs par défaut des hôtes",
"folderDefaultsAction": "Valeurs par défaut du dossier",
"adminSectionDescription": "Définissez les valeurs par défaut que chaque hôte de ce serveur suit, pour chaque paramètre d'un hôte, y compris ceux de chaque plugin. Les utilisateurs et les dossiers peuvent définir les leurs par-dessus, et tout hôte peut toujours utiliser sa propre valeur.",
"editServerDefaults": "Modifier les valeurs par défaut du serveur",
"resetMenu": "Réinitialiser",
"resetAll": "Tout réinitialiser",
"resetCore": "Réinitialiser la connexion et SSH",
"resetDone_one": "{{count}} hôte utilise désormais ses valeurs par défaut.",
"resetDone_many": "{{count}} hôtes utilisent désormais leurs valeurs par défaut.",
"resetDone_other": "{{count}} hôtes utilisent désormais leurs valeurs par défaut."
},
"panel": {
"clearSearch": "Effacer la recherche",
"gridView": "Grille",
"listView": "Liste",
"compactRows": "Lignes compactes",
"comfortableRows": "Lignes confortables"
},
"fields": {
"secretSaved": "Enregistré. Tapez pour le remplacer."
},
"sharing": {
"revokeConfirm": "Supprimer l'accès pour {{name}} ?",
"revoke": "Supprimer l'accès"
},
"manage": {
"searchSettings": "Rechercher dans les paramètres",
"noMatchingSettings": "Aucun paramètre ne correspond.",
"sections": "Sections",
"sectionNeedsAttention": "Quelque chose ici nécessite une attention particulière",
"needsAttention_one": "Un élément nécessite une attention particulière.",
"needsAttention_many": "{{count}} éléments nécessitent une attention particulière.",
"needsAttention_other": "{{count}} éléments nécessitent une attention particulière.",
"bandHost": "Hôte",
"bandFeatures": "Protocoles et plugins",
"bandCredential": "Identifiant",
"sshConnection": "Connexion SSH",
"errorAddressRequired": "Une adresse est requise.",
"errorPortRange": "Utilisez un port compris entre 1 et 65535.",
"defaults": "Valeurs par défaut",
"searchHosts": "Rechercher des hôtes",
"searchCredentials": "Rechercher des identifiants",
"searchDefaults": "Rechercher des valeurs par défaut",
"addCredential": "Ajouter un identifiant",
"nothingMatches": "Aucun résultat",
"nothingYet": "Rien ici pour le moment",
"emptyHostsHint": "Ajoutez un hôte et il apparaîtra ici, dans le dossier que vous lui assignez.",
"emptyCredentialsHint": "Les identifiants que vous enregistrez peuvent être réutilisés par n'importe quel hôte.",
"collapse": "Réduire",
"expand": "Développer",
"cannotBeUndone": "Cette action est irréversible.",
"hostNotFound": "Cet hôte est introuvable. Essayez de rafraîchir la liste.",
"hostCount_one": "{{count}} hôte",
"hostCount_many": "{{count}} hôtes",
"hostCount_other": "{{count}} hôtes",
"credentialCount_one": "{{count}} identifiant",
"credentialCount_many": "{{count}} identifiants",
"credentialCount_other": "{{count}} identifiants",
"newHost": "Nouvel hôte",
"newCredential": "Nouvel identifiant",
"advanced": "Avancé",
"pickHost": "Sélectionnez un hôte à modifier",
"pickCredential": "Sélectionnez un identifiant à modifier",
"pickDefaults": "Sélectionnez un niveau de valeurs par défaut à modifier",
"pickHint": "Tout ce qui concerne une connexion se trouve ici, organisé pour faciliter la recherche."
},
"rbac": {
"roles": {
"admin": "Administrateur",
"user": "Utilisateur"
}
}
}