* fix(app): align turn footer actions Keep running-turn actions in the same position as completed-turn actions and use the shared small icon size for both copy and fork controls. * feat(app): improve sidebar workspace identity Make dense sidebar workspace rows easier to scan and let each device control how connected hosts are identified. * fix(app): keep host badges readable Use a compact display menu and keep identity color on the host icon so translated controls fit and badge text retains standard contrast. * fix(app): announce selected sidebar badge mode * fix(app): retain icon-only host names for screen readers * fix(app): name hoisted workspace rows * fix(app): retain host identity in workspace labels * fix(app): retain workspace status in row labels * fix(app): defer host appearance until identity resolves * fix(app): serialize host appearance writes * fix(app): serialize host registry writes * fix(app): bound sidebar host badge labels * test(app): match workspace status labels * fix(app): consolidate sidebar identity behavior * test(app): assert status grouping behavior * fix(app): keep sidebar row actions accessible * fix(app): stabilize optimistic message layout
2325 lines
91 KiB
TypeScript
2325 lines
91 KiB
TypeScript
import type { TranslationResources } from "./en";
|
||
|
||
export const fr: TranslationResources = {
|
||
common: {
|
||
back: "Dos",
|
||
loading: "Chargement...",
|
||
actions: {
|
||
back: "Dos",
|
||
cancel: "Annuler",
|
||
close: "Fermer",
|
||
copy: "Copie",
|
||
dismiss: "Rejeter",
|
||
retry: "Réessayer",
|
||
search: "Recherche",
|
||
select: "Sélectionner",
|
||
},
|
||
placeholders: {
|
||
search: "Recherche...",
|
||
},
|
||
empty: {
|
||
noResults: "Aucun résultat trouvé",
|
||
noOptionsMatchSearch: "Aucune option ne correspond à votre recherche.",
|
||
},
|
||
states: {
|
||
loading: "Chargement...",
|
||
starting: "Départ...",
|
||
copied: "Copié",
|
||
copiedLabel: "{{label}}copié",
|
||
downloadComplete: "Téléchargement terminé",
|
||
downloadFailed: "Le téléchargement a échoué",
|
||
},
|
||
errors: {
|
||
error: "Erreur",
|
||
unableToSave: "Impossible d'enregistrer",
|
||
nameRequired: "Le nom est requis",
|
||
daemonUnavailable: "Daemonindisponible",
|
||
daemonClientUnavailable: "ClientDaemonindisponible",
|
||
daemonClientDisconnected: "Le clientDaemonest déconnecté",
|
||
noFileFound: "Aucun fichier trouvé pour{{token}}",
|
||
unexpectedDictationError:
|
||
"Une erreur inattendue s'est produite lors du traitement de la dictée.",
|
||
},
|
||
connectionStatus: {
|
||
online: "En ligne",
|
||
connecting: "De liaison",
|
||
offline: "Hors ligne",
|
||
error: "Erreur",
|
||
idle: "Inactif",
|
||
},
|
||
},
|
||
shell: {
|
||
menu: {
|
||
toggleSidebar: "Basculer la barre latérale",
|
||
open: "Ouvrir le menu",
|
||
close: "Fermer le menu",
|
||
},
|
||
commandCenter: {
|
||
placeholder: "Rechercher des commandes, espaces de travail et agents...",
|
||
noMatches: "Aucune correspondance",
|
||
actions: "Actes",
|
||
workspaces: "Espaces de travail",
|
||
agents: "Agents",
|
||
newAgent: "Nouvel agent",
|
||
addProject: "Ajouter un projet",
|
||
home: "Maison",
|
||
modelGroupLabel: "Modèle",
|
||
modelSearchKeywords:
|
||
"changer de modèle modifier le modèle définir le modèle sélectionner le modèle",
|
||
thinkingGroupLabel: "Raisonnement",
|
||
thinkingSearchKeywords: "raisonnement effort réflexion",
|
||
modeGroupLabel: "Mode",
|
||
modeSearchKeywords: "accès permission approbation mode",
|
||
planModeGroupLabel: "Mode plan",
|
||
planModeSearchKeywords: "plan planification mode plan",
|
||
fastModeGroupLabel: "Rapide",
|
||
fastModeSearchKeywords: "rapide vitesse faible latence",
|
||
settingOn: "Activé",
|
||
settingOff: "Désactivé",
|
||
},
|
||
},
|
||
composer: {
|
||
placeholders: {
|
||
desktop: "Envoyez un message à l'agent, marquez@filesou utilisez/commandset/skills",
|
||
mobile: "Message,@files,/commands",
|
||
fallback: "Message...",
|
||
},
|
||
input: {
|
||
accessibilityLabel: "Agent de messagerie...",
|
||
focusHint: "{{shortcut}}pour se concentrer",
|
||
addAttachment: "Ajouter une pièce jointe",
|
||
interruptAgent: "Agent d'interruption",
|
||
queueMessage: "Message de file d'attente",
|
||
sendAndInterrupt: "Envoyer et interrompre",
|
||
sendMessage: "Envoyer un message",
|
||
queue: "File d'attente",
|
||
send: "Envoyer",
|
||
},
|
||
cancel: {
|
||
cancelingAgent: "Agent d'annulation",
|
||
stopAgent: "Agent d'arrêt",
|
||
interrupt: "Interrompre",
|
||
},
|
||
voice: {
|
||
enableVoiceMode: "Activer le mode vocal",
|
||
voiceMode: "Mode vocal",
|
||
unmuteVoiceMode: "Activer le mode vocal",
|
||
muteVoiceMode: "Mode voix muette",
|
||
stopDictation: "Arrêter la dictée",
|
||
startDictation: "Démarrer la dictée",
|
||
unmuteVoice: "Réactiver la voix",
|
||
muteVoice: "Voix muette",
|
||
dictation: "Dictée",
|
||
interruptBeforeVoice: "Interrompre l'agent avant de démarrer le mode vocal",
|
||
},
|
||
attachments: {
|
||
addImage: "Ajouter une image",
|
||
pasteImage: "Coller une image",
|
||
addFile: "Upload file",
|
||
addIssueOrPr: "Ajouter un problème ouPR",
|
||
addIssueOrPr_mr: "Ajouter un problème ou MR",
|
||
dropImagesHere: "Déposez des images ici",
|
||
dropFilesHere: "Drop files here",
|
||
editQueuedMessage: "Modifier le message en file d'attente",
|
||
sendQueuedMessageNow: "Envoyer le message en file d'attente maintenant",
|
||
openImage: "Ouvrir la pièce jointe de l'image",
|
||
removeImage: "Supprimer l'image jointe",
|
||
removeFile: "Remove file attachment",
|
||
openGithub: "Ouvrir {{kind}} {{number}}",
|
||
removeGithub: "Supprimer {{kind}} {{number}}",
|
||
element: "Élément",
|
||
openBrowserElement: "Ouvrir la pièce jointe de l'élément de navigateur",
|
||
removeBrowserElement: "Supprimer la pièce jointe d'un élément de navigateur",
|
||
openReview: "Ouvrir la pièce jointe de l'avis",
|
||
removeReview: "Supprimer la pièce jointe de l'avis",
|
||
},
|
||
errors: {
|
||
failedToSend: "Échec de l'envoi du message",
|
||
failedToCreateAgent: "Échec de la création de l'agent",
|
||
noHostSelected: "Aucun hôte sélectionné",
|
||
initialPromptRequired: "Une invite initiale est requise",
|
||
alreadyLoading: "Déjà en cours de chargement",
|
||
uploadFailed: "Failed to upload file",
|
||
noClipboardImage: "Aucune image dans le presse-papiers",
|
||
pasteImageFailed: "Impossible de coller l’image",
|
||
fileTooLarge: "{{fileName}} is too large (max {{size}})",
|
||
},
|
||
clientCommands: {
|
||
archiveAgent: "Archiver l'agent actuel",
|
||
freshDraft: "Archivez cet agent et démarrez un nouveau brouillon",
|
||
},
|
||
github: {
|
||
searching: "Recherche...",
|
||
noResults: "Aucun résultat trouvé.",
|
||
searchPlaceholder: "Problèmes de recherche et PR...",
|
||
searchPlaceholder_mr: "Problèmes de recherche et MR...",
|
||
title: "Joindre le problème ouPR",
|
||
title_mr: "Joindre le problème ou MR",
|
||
},
|
||
},
|
||
agentControls: {
|
||
provider: {
|
||
fallback: "Fournisseur",
|
||
select: "Sélectionnez le fournisseur d'agent",
|
||
},
|
||
thinking: {
|
||
title: "Pensée",
|
||
unknown: "Inconnu",
|
||
extraHigh: "Très haut",
|
||
select: "Sélectionnez l'option de réflexion",
|
||
selectWithValue: "Sélectionnez l'option de réflexion ({{value}})",
|
||
},
|
||
model: {
|
||
unknown: "Modèle inconnu",
|
||
},
|
||
features: {
|
||
title: "Caractéristiques",
|
||
open: "Fonctionnalités de l'agent ouvert",
|
||
on: "Sur",
|
||
off: "Désactivé",
|
||
},
|
||
mode: {
|
||
title: "Mode",
|
||
searchPlaceholder: "Modes de recherche...",
|
||
selectWithValue: "Sélectionnez le mode agent ({{value}})",
|
||
},
|
||
hints: {
|
||
thinking: "Mode réflexion",
|
||
model: "Changer de modèle",
|
||
mode: "Changer de mode",
|
||
},
|
||
},
|
||
agentStream: {
|
||
empty: "Commencez à discuter avec cet agent...",
|
||
scrollToBottom: "Faire défiler vers le bas",
|
||
historyLoadFailed: "Impossible de charger l’historique de l’agent",
|
||
permission: {
|
||
plan: "Plan",
|
||
required: "Autorisation requise",
|
||
deny: "Refuser",
|
||
accept: "Accepter",
|
||
implement: "Mettre en œuvre",
|
||
question: "Comment souhaitez-vous procéder?",
|
||
proposedPlan: "Plan proposé",
|
||
},
|
||
},
|
||
agentPanel: {
|
||
states: {
|
||
notFound: "Agentintrouvable",
|
||
failedToLoad: "Échec du chargement de l'agent",
|
||
reconnecting: "Reconnexion...",
|
||
timelineSyncFailed: "Impossible d’actualiser l’historique de l’agent. Nouvelle tentative…",
|
||
archivingTitle: "Agent d'archivage...",
|
||
archivingSubtitle: "Veuillez patienter pendant que nous archivons cet agent.",
|
||
},
|
||
unavailable: {
|
||
selectedHost: "Hôte sélectionné",
|
||
unknownHost:
|
||
"Impossible d'ouvrir cet agent car{{serverLabel}}n'est pas configuré sur ce périphérique.",
|
||
addHost:
|
||
"Ajoutez l'hôte dans Paramètres ou ouvrez un agent sur un serveur configuré pour continuer.",
|
||
preparingSession: "Préparation de la séance{{serverLabel}}...",
|
||
connecting: "Connexion à{{serverLabel}}...",
|
||
showSoon: "Nous montrerons cet agent dans un instant.",
|
||
showWhenOnline: "Nous afficherons cet agent une fois que l'hôte sera en ligne.",
|
||
reconnectingTo: "Reconnexion à{{serverLabel}}...",
|
||
showAgainWhenReachable: "Nous afficherons à nouveau cet agent dès que l'hôte sera joignable.",
|
||
},
|
||
archived: {
|
||
callout: "Cet agent est archivé",
|
||
unarchive: "Désarchiver",
|
||
},
|
||
},
|
||
sessions: {
|
||
title: "Historique",
|
||
empty: "Aucune séance pour l'instant",
|
||
actions: {
|
||
loadMore: "Charger plus",
|
||
},
|
||
},
|
||
agentList: {
|
||
fallbackTitle: "Nouvelle séance",
|
||
dateSections: {
|
||
recent: "Récent",
|
||
today: "Aujourd'hui",
|
||
yesterday: "Hier",
|
||
thisWeek: "Cette semaine",
|
||
thisMonth: "Ce mois-ci",
|
||
older: "Plus vieux",
|
||
},
|
||
status: {
|
||
initializing: "Départ",
|
||
idle: "Inactif",
|
||
running: "En cours d'exécution",
|
||
error: "Erreur",
|
||
closed: "Fermé",
|
||
},
|
||
badges: {
|
||
archived: "Archivé",
|
||
pending: "{{count}}en attente",
|
||
attention: "Attention",
|
||
},
|
||
archiveSheet: {
|
||
hostOffline: "Hosthors ligne",
|
||
runningAgent: "Cet agent est toujours en cours d'exécution. L’archiver arrêtera l’agent.",
|
||
archive: "Archive",
|
||
},
|
||
},
|
||
message: {
|
||
actions: {
|
||
copyCode: "Copier le code",
|
||
copyTurn: "Copier le tour",
|
||
copyMessage: "Copier le message",
|
||
forkMenu: "Dupliquer le message",
|
||
forkInNewTab: "Dupliquer dans un nouvel onglet",
|
||
forkInNewWorkspace: "Dupliquer dans un nouvel espace de travail",
|
||
forkUnavailable: "Mettez l'hôte à jour pour utiliser ceci.",
|
||
forkMissingWorkspace: "Cet agent n'est pas dans un espace de travail.",
|
||
forkFailed: "Impossible de dupliquer le chat",
|
||
openFile: "Ouvrir le fichier",
|
||
copied: "Copié",
|
||
},
|
||
attachments: {
|
||
dismissImage: "Ignorer l'image",
|
||
closeImage: "Fermer l'image",
|
||
imageLoadFailed: "Impossible de charger l'image",
|
||
imageUnavailable: "Image indisponible",
|
||
imagePreviewUnavailable: "Aperçu de l'image indisponible.",
|
||
imagePreviewLoadFailed: "Impossible de charger l'aperçu de l'image.",
|
||
review: "Revue",
|
||
commentsOne: "1 commentaire",
|
||
commentsMany: "{{count}} commentaires",
|
||
textAttachment: "Texte en pièce jointe",
|
||
text: "Texte",
|
||
file: "Fichier",
|
||
},
|
||
speak: {
|
||
header: "Rayon",
|
||
},
|
||
activity: {
|
||
details: "Détails",
|
||
},
|
||
dictation: {
|
||
start: "Démarrer la dictée vocale",
|
||
cancel: "Annuler la dictée",
|
||
retry: "Réessayer la dictée",
|
||
insert: "Insérer la transcription",
|
||
insertAndSend: "Insérer la transcription et envoyer",
|
||
failed: "Échec de la dictée:{{error}}",
|
||
failedRetry: "La dictée a échoué. Appuyez sur réessayer.",
|
||
},
|
||
question: {
|
||
submit: "Soumettre",
|
||
next: "Suivant",
|
||
answerPlaceholder: "Tapez votre réponse...",
|
||
otherPlaceholder: "Autre...",
|
||
},
|
||
todo: {
|
||
title: "Tâches",
|
||
empty: "Aucune tâche pour l'instant.",
|
||
},
|
||
compaction: {
|
||
loading: "Compactage...",
|
||
auto: "Contexte automatiquement compacté",
|
||
manual: "Contexte compacté manuellement",
|
||
withTokens: "Contexte compacté (jetons{{tokens}}K)",
|
||
completed: "Contexte compacté",
|
||
},
|
||
},
|
||
importSession: {
|
||
title: "Session d'importation",
|
||
filters: {
|
||
all: "Tous",
|
||
},
|
||
status: {
|
||
connectHost: "Connectez-vous à un hôte pour importer des sessions",
|
||
updateHost: "Mettez à jour l'hôte pour importer des sessions.",
|
||
noProviders: "Aucun fournisseur importable n'est activé.",
|
||
loading: "Chargement des sessions récentes...",
|
||
failedAll: "Impossible de charger les sessions récentes.",
|
||
failedProviders: "Impossible de charger les sessions pour{{providers}}.",
|
||
failedImport: "Impossible d'importer la session sélectionnée.",
|
||
},
|
||
actions: {
|
||
refresh: "Sessions de rafraîchissement",
|
||
},
|
||
preview: {
|
||
untitledSession: "Séance sans titre",
|
||
noPrompt: "Aucun aperçu rapide",
|
||
},
|
||
empty: {
|
||
noRecent: "Aucune session récente à importer.",
|
||
alreadyImported: "Toutes les sessions récentes sont déjà importées.",
|
||
noProviderSessions: "Aucune session{{provider}}trouvée.",
|
||
},
|
||
row: {
|
||
importing: "Importation...",
|
||
},
|
||
},
|
||
workspace: {
|
||
route: {
|
||
loading: "Chargement de l'espace de travail",
|
||
connecting: "De liaison",
|
||
hostOffline: "{{hostName}}est hors ligne",
|
||
cannotReachHost: "Impossible d'atteindre{{hostName}}",
|
||
hostStatus: "StatutHost:{{status}}",
|
||
needsHostUpgrade: "Mettez à jour votre hôte pour restaurer cet espace de travail",
|
||
manageHost: "Gérer l'hôte",
|
||
recovery: {
|
||
archivedTitle: "Espace de travail archivé",
|
||
restoreDescription:
|
||
"{{workspaceName}} a été archivé et son worktree supprimé. Restaurez la branche {{branch}} pour le rouvrir.",
|
||
unarchiveDescription: "{{workspaceName}} est archivé. Désarchivez-le pour le rouvrir.",
|
||
restoreAction: "Restaurer",
|
||
unarchiveAction: "Désarchiver",
|
||
restoringTitle: "Restauration de l'espace de travail",
|
||
restoringAction: "Restauration...",
|
||
unavailableTitle: "Espace de travail indisponible",
|
||
checkFailedTitle: "Impossible de vérifier l'espace de travail",
|
||
},
|
||
},
|
||
hoverCard: {
|
||
scriptsAccessibility: "ScriptsWorkspace",
|
||
copyPath: "Copier le chemin",
|
||
copyBranchName: "Copier le nom de la branche",
|
||
copied: "Copié",
|
||
},
|
||
fileActions: {
|
||
openFile: "Ouvrir le fichier",
|
||
copyPath: "Copier le chemin",
|
||
download: "Télécharger",
|
||
addToChat: "Ajouter au chat…",
|
||
moreActions: "Plus de propositions",
|
||
},
|
||
fileExplorer: {
|
||
sort: {
|
||
name: "Nom",
|
||
modified: "Modifié",
|
||
size: "Taille",
|
||
},
|
||
context: {
|
||
size: "Taille",
|
||
modified: "Modifié",
|
||
},
|
||
actions: {
|
||
back: "Dos",
|
||
retry: "Réessayer",
|
||
refresh: "Actualiser les fichiers",
|
||
refreshing: "Actualisation des fichiers",
|
||
hideHiddenFiles: "Masquer les fichiers cachés",
|
||
showHiddenFiles: "Afficher les fichiers cachés",
|
||
},
|
||
empty: {
|
||
noFiles: "Aucun fichier",
|
||
noVisibleFiles: "Aucun fichier visible",
|
||
},
|
||
states: {
|
||
unavailable: "Workspacen'est pas disponible",
|
||
loading: "Chargement des fichiers...",
|
||
},
|
||
errors: {
|
||
failedToListDirectory: "Échec de la liste du répertoire",
|
||
},
|
||
},
|
||
setup: {
|
||
descriptor: {
|
||
label: "Installation",
|
||
completed: "Configuration terminée",
|
||
failed: "Échec de l'installation",
|
||
workspace: "ConfigurationWorkspace",
|
||
},
|
||
status: {
|
||
running: "En cours d'exécution",
|
||
completed: "Complété",
|
||
failed: "Échoué",
|
||
waiting: "En attente de la sortie de configuration",
|
||
},
|
||
waiting: "Configuration de l'espace de travail...",
|
||
empty: {
|
||
noCommands: "Aucune commande de configuration n'a été exécutée pour cet espace de travail.",
|
||
},
|
||
accessibility: {
|
||
noCommands: "Aucune commande de configuration n'a été exécutée pour cet espace de travail",
|
||
log: "Journal de configurationWorkspace",
|
||
},
|
||
log: {
|
||
noOutput: "Aucune sortie",
|
||
},
|
||
},
|
||
browser: {
|
||
unavailable: {
|
||
title: "Le navigateur est réservé au bureau",
|
||
subtitle: "Ouvrez cet espace de travail dans Electron pour utiliser le navigateur intégré.",
|
||
},
|
||
session: "Session de navigateur{{browserId}}",
|
||
controls: {
|
||
back: "Dos",
|
||
forward: "Avant",
|
||
stopLoading: "Arrêter le chargement",
|
||
refresh: "Rafraîchir",
|
||
browserUrl: "NavigateurURL",
|
||
enterUrl: "EntrezURL",
|
||
openDevTools: "Outils de développement du navigateur ouvert",
|
||
cancelSelector: "Annuler le sélecteur d'élément",
|
||
annotateElement: "Annoter l'élément",
|
||
screenshotElement: "Capturer l'élément",
|
||
screenshotCopied: "Capture d'écran copiée dans le presse-papiers",
|
||
elementCopied: "Élément copié dans le presse-papiers",
|
||
screenshotFailed: "Impossible de copier la capture",
|
||
},
|
||
annotate: {
|
||
title: "Annoter l'élément",
|
||
placeholder: "Message à l'agent concernant cet élément…",
|
||
submit: "Joindre",
|
||
cancel: "Annuler",
|
||
},
|
||
devices: {
|
||
label: "Taille de l'appareil",
|
||
responsive: "Adaptatif",
|
||
},
|
||
errors: {
|
||
failedToLoad: "Échec du chargement de la page",
|
||
invalidUrl: "NavigateurURLinvalide",
|
||
unsupportedProtocol: "Navigateur non pris en charge bloquéURL:{{protocol}}",
|
||
},
|
||
},
|
||
terminal: {
|
||
hostDisconnected: "Hostn'est pas connecté",
|
||
unableToSubscribe: "Impossible de s'abonner au terminal",
|
||
},
|
||
tabs: {
|
||
loading: "Chargement...",
|
||
modified: "Modifications non enregistrées",
|
||
loadingAgentTitle: "Titre d'agent de chargement",
|
||
emptyPane: "Aucun onglet dans ce volet.",
|
||
fallback: {
|
||
newAgent: "Nouvel agent",
|
||
setup: "Installation",
|
||
workspaceSetup: "ConfigurationWorkspace",
|
||
terminal: "Terminal",
|
||
browser: "Navigateur",
|
||
agent: "Agent",
|
||
workspace: "Workspace",
|
||
},
|
||
switcher: {
|
||
trigger: "Changer d'onglet ({{count}}ouvert)",
|
||
title: "Changer d'onglet",
|
||
searchPlaceholder: "Onglets de recherche",
|
||
},
|
||
menu: {
|
||
openFor: "Ouvrir le menu pour{{label}}",
|
||
copyResumeCommand: "Copier la commande de reprise",
|
||
copyAgentId: "Copier l'identifiant de l'agent",
|
||
copyTerminalId: "Copier l'identifiant du terminal",
|
||
copyFilePath: "Copy file path",
|
||
rename: "Rebaptiser",
|
||
closeAbove: "Fermer les onglets ci-dessus",
|
||
closeBelow: "Fermer les onglets ci-dessous",
|
||
closeLeft: "Près de la gauche",
|
||
closeRight: "Près de la droite",
|
||
closeOthers: "Fermer les autres onglets",
|
||
reloadAgent: "Agent de rechargement",
|
||
reloadAgentTooltip:
|
||
"Rechargez l'agent pour mettre à jour les compétences, les MCP ou le statut de connexion.",
|
||
close: "Fermer",
|
||
renameTerminal: "Renommer le terminal",
|
||
renameAgent: "Renommer l'agent",
|
||
},
|
||
actions: {
|
||
newAgent: "Nouvel agent",
|
||
newTerminal: "Nouveau terminal",
|
||
preparingTerminal: "Préparation de l'onglet du terminal",
|
||
preparingTerminalTooltip: "Préparation du terminal...",
|
||
newBrowser: "Nouveau navigateur",
|
||
exitFocusMode: "Quitter le mode concentration",
|
||
splitRight: "Volet divisé à droite",
|
||
splitDown: "Diviser le volet vers le bas",
|
||
terminalProfilesMenu: "Terminal profiles",
|
||
editTerminalProfiles: "Edit profiles…",
|
||
pinTarget: "Épingler",
|
||
unpinTarget: "Détacher",
|
||
},
|
||
explorer: {
|
||
open: "Ouvrir l'explorateur",
|
||
close: "Fermer l'explorateur",
|
||
toggle: "Basculer l'explorateur",
|
||
changes: "Changements",
|
||
files: "Fichiers",
|
||
},
|
||
toasts: {
|
||
copyFailed: "Échec de la copie",
|
||
agentIdCopiedLabel: "AgentID",
|
||
terminalIdCopiedLabel: "Identifiant du terminal",
|
||
resumeCommandCopiedLabel: "reprendre la commande",
|
||
filePathCopiedLabel: "File path",
|
||
resumeIdUnavailable: "ReprendreIDnon disponible",
|
||
resumeCommandUnavailable: "Commande de reprise non disponible",
|
||
reloadingAgent: "Agent de rechargement...",
|
||
reloadedAgent: "Agent rechargé",
|
||
failedToReloadAgent: "Échec du rechargement de l'agent",
|
||
},
|
||
confirmations: {
|
||
unsavedTitle: "Modifications non enregistrées",
|
||
unsavedMessage:
|
||
"Cet onglet contient des modifications non enregistrées. Le fermer supprimera le brouillon.",
|
||
closeWithoutSaving: "Fermer sans enregistrer",
|
||
closePaneTitle: "Fermer le volet?",
|
||
bulkUnsaved:
|
||
"{{count}} onglet(s) contiennent des modifications non enregistrées. Les fermer supprimera ces brouillons.",
|
||
close: "Fermer",
|
||
cancel: "Annuler",
|
||
archive: "Archive",
|
||
closeTerminalTitle: "Fermer le terminal?",
|
||
closeTerminalMessage:
|
||
"Tout processus en cours d’exécution dans ce terminal sera immédiatement arrêté.",
|
||
archiveRunningAgentTitle: "Archiver l'agent en cours d'exécution?",
|
||
archiveRunningAgentMessage:
|
||
"Cet agent est toujours en cours d'exécution. L'archiver arrêtera l'agent et fermera l'onglet.",
|
||
closeTabsLeftTitle: "Fermer les onglets à gauche?",
|
||
closeTabsRightTitle: "Fermer les onglets à droite?",
|
||
closeOtherTabsTitle: "Fermer les autres onglets?",
|
||
bulk: {
|
||
all: "Cela archivera les agents{{agents}}, fermera les terminaux{{terminals}}et fermera les onglets{{tabs}}. Tout processus en cours d’exécution dans un terminal fermé sera immédiatement arrêté.",
|
||
agentsAndTerminals:
|
||
"Cela archivera les agents{{agents}}et fermera les terminaux{{terminals}}. Tout processus en cours d’exécution dans un terminal fermé sera immédiatement arrêté.",
|
||
terminalsAndTabs:
|
||
"Cela fermera le(s) terminal(s){{terminals}}et fermera le(s) onglet(s){{tabs}}. Tout processus en cours d’exécution dans un terminal fermé sera immédiatement arrêté.",
|
||
agentsAndTabs: "Cela archivera les agents{{agents}}et fermera les onglets{{tabs}}.",
|
||
terminals:
|
||
"Cela fermera le(s) terminal(s){{terminals}}. Tout processus en cours d’exécution dans un terminal fermé sera immédiatement arrêté.",
|
||
tabs: "Cela fermera les onglets{{tabs}}.",
|
||
agents: "Cela archivera les agents{{agents}}.",
|
||
},
|
||
},
|
||
},
|
||
header: {
|
||
actions: {
|
||
workspaceActions: "ActionsWorkspace",
|
||
newAgent: "Nouvel agent",
|
||
newTerminal: "Nouvelle borne",
|
||
newBrowser: "Nouvel onglet du navigateur",
|
||
importSession: "Session d'importation",
|
||
copyPath: "Copier le chemin de l'espace de travail",
|
||
copyBranchName: "Copier le nom de la branche",
|
||
showSetup: "Afficher la configuration",
|
||
},
|
||
toasts: {
|
||
workspacePathUnavailable: "Le cheminWorkspacen'est pas encore disponible",
|
||
branchNameUnavailable: "Nom de la succursale non disponible",
|
||
terminalQueued:
|
||
"Préparation de l'espace de travail, ouverture du terminal lorsque vous êtes prêt...",
|
||
workspacePathCopiedLabel: "CheminWorkspace",
|
||
branchNameCopiedLabel: "Nom de la succursale",
|
||
},
|
||
},
|
||
scripts: {
|
||
title: "Scripts",
|
||
actions: {
|
||
chooseUrl: "Choisir l’URL",
|
||
copyUrl: "Copier l’URL",
|
||
openService: "Voir le service",
|
||
restart: "Redémarrer",
|
||
run: "Courir",
|
||
stop: "Arrêter",
|
||
view: "Voir le terminal",
|
||
},
|
||
accessibility: {
|
||
trigger: "ScriptsWorkspace",
|
||
openService: "Voir le service {{scriptName}}",
|
||
viewTerminal: "Voir le terminal{{scriptName}}",
|
||
runScript: "Exécuter le script{{scriptName}}",
|
||
stopScript: "Arrêter{{scriptName}}",
|
||
restartScript: "Redémarrer{{scriptName}}",
|
||
copyUrl: "Copier l'URL de{{scriptName}}",
|
||
chooseUrl: "Choisir l’URL pour {{scriptName}}",
|
||
script: "Script{{scriptName}}",
|
||
},
|
||
routes: {
|
||
public: "Proxy inverse",
|
||
paseo: "Memorable",
|
||
direct: "Directe",
|
||
},
|
||
states: {
|
||
exitCode: "quitter{{code}}",
|
||
startFailed: "Échec du démarrage de{{scriptName}}",
|
||
stopFailed: "Échec de l'arrêt de{{scriptName}}",
|
||
},
|
||
},
|
||
git: {
|
||
actions: {
|
||
moreOptions: "Plus d'options",
|
||
moreActions: "Plus de propositions",
|
||
commit: {
|
||
label: "Commettre",
|
||
pending: "S'engager...",
|
||
success: "Engagé",
|
||
},
|
||
pull: {
|
||
label: "Tirer",
|
||
pending: "Tirer...",
|
||
success: "Tiré",
|
||
},
|
||
push: {
|
||
label: "Pousser",
|
||
pending: "Pousser...",
|
||
success: "Poussé",
|
||
},
|
||
pullAndPush: {
|
||
label: "Tirez et poussez",
|
||
pending: "Tirer et pousser...",
|
||
success: "Tiré et poussé",
|
||
},
|
||
viewPr: "VoirPR",
|
||
createPr: {
|
||
label: "CréerPR",
|
||
pending: "Création dePR...",
|
||
success: "PRcréé",
|
||
label_mr: "Créer MR",
|
||
pending_mr: "Création de MR...",
|
||
success_mr: "MR créé",
|
||
},
|
||
mergeBranch: {
|
||
label: "Fusionner localement",
|
||
pending: "Fusion...",
|
||
success: "Fusionné",
|
||
},
|
||
mergeFromBase: {
|
||
label: "Mise à jour de{{baseRef}}",
|
||
pending: "Mise à jour...",
|
||
success: "Mis à jour",
|
||
},
|
||
archive: {
|
||
label: "Archiver l’espace de travail",
|
||
pending: "Archivage...",
|
||
success: "Archivé",
|
||
},
|
||
mergePr: {
|
||
squash: "Fusionner PR (squash)",
|
||
merge: "Fusionner PR (merge)",
|
||
rebase: "Fusionner PR (rebase)",
|
||
pending: "Fusion de PR...",
|
||
success: "PR fusionné",
|
||
squash_mr: "Fusionner MR (squash)",
|
||
merge_mr: "Fusionner MR (merge)",
|
||
rebase_mr: "Fusionner MR (rebase)",
|
||
pending_mr: "Fusion de MR...",
|
||
success_mr: "MR fusionné",
|
||
},
|
||
viewPr_mr: "Voir MR",
|
||
autoMerge: {
|
||
enableSquash: "Fusion automatique (squash)",
|
||
enableMerge: "Fusion automatique (merge)",
|
||
enableRebase: "Fusion automatique (rebase)",
|
||
enabled: "Fusion automatique activée",
|
||
enabling: "Activation de la fusion automatique...",
|
||
disabling: "Désactivation de la fusion automatique...",
|
||
disabled: "Fusion automatique désactivée",
|
||
},
|
||
unavailable: {
|
||
viewPrNoForge:
|
||
"Voir {{noun}} n'est pas disponible pour le moment car {{brand}} n'est pas connecté",
|
||
pullNoRemote:
|
||
"Pull n'est pas disponible ici car cette branche n'est pas encore connectée à une télécommande",
|
||
pullDirty:
|
||
"Pull n'est pas disponible tant que vous avez des modifications locales, alors validez-les ou cachez-les d'abord",
|
||
pullUpToDate: "Pull n'est pas disponible car cette branche est déjà à jour",
|
||
pushNoRemote:
|
||
"Push n'est pas disponible ici car cette branche n'est pas encore connectée à une télécommande",
|
||
pushBehind:
|
||
"Push n'est pas encore disponible, car de nouvelles modifications doivent être apportées en premier.",
|
||
pushNothing: "Push n'est pas disponible car il n'y a rien de nouveau à envoyer",
|
||
pullAndPushNoRemote:
|
||
"Le pull et le push ne sont pas disponibles ici car cette branche n'est pas encore connectée à une télécommande",
|
||
pullAndPushDirty:
|
||
"Pull et push ne sont pas disponibles tant que vous avez des modifications locales, alors validez-les ou cachez-les d'abord",
|
||
pullAndPushNoIncoming:
|
||
"Pull et push ne sont pas disponibles car il n'y a aucun changement entrant à récupérer d'abord",
|
||
pullAndPushInSync:
|
||
"Les fonctions Pull et Push ne sont pas disponibles car cette branche est déjà synchronisée",
|
||
pullAndPushNothingToPush:
|
||
"Pull et push ne sont pas disponibles car il n'y a rien de nouveau à envoyer après le pull",
|
||
createPrNoForge:
|
||
"Créer {{noun}} n'est pas disponible pour le moment car {{brand}} n'est pas connecté",
|
||
createPrNoCommits:
|
||
"CréerPRn'est pas disponible car cette branche n'a pas encore de nouveaux commits",
|
||
mergeNoBase:
|
||
"La fusion n'est pas disponible car nous n'avons pas pu déterminer la branche de base",
|
||
mergeDirty:
|
||
"La fusion n'est pas disponible tant que vous avez des modifications locales, alors validez-les ou cachez-les d'abord",
|
||
mergeNothing:
|
||
"La fusion n'est pas disponible car cette branche n'a encore rien de nouveau à fusionner",
|
||
updateNoBase:
|
||
"La mise à jour n'est pas disponible car nous n'avons pas pu déterminer la branche de base",
|
||
updateDirty:
|
||
"La mise à jour n'est pas disponible tant que vous avez des modifications locales, alors validez-les ou cachez-les d'abord",
|
||
updateCurrent:
|
||
"La mise à jour n'est pas disponible car cette branche est déjà à jour avec{{baseRef}}",
|
||
mergePrNoGithub:
|
||
"La fusionPRn'est pas disponible pour le moment carGitHubn'est pas connecté",
|
||
archiveNotWorktree:
|
||
"L'archive n'est pas disponible ici car cet espace de travail n'a pas été créé en tant qu'arbre de travailPaseo",
|
||
mergePrNoForge:
|
||
"La fusion {{noun}} n'est pas disponible pour le moment car {{brand}} n'est pas connecté",
|
||
mergePrMissing:
|
||
"La fusionPRn'est pas disponible car il n'y a pas encore de demande d'extraction",
|
||
mergePrDraft:
|
||
"La fusionPRn'est pas disponible car la demande d'extraction est encore un brouillon",
|
||
mergePrMerged:
|
||
"La fusionPRn'est pas disponible car la demande d'extraction est déjà fusionnée",
|
||
mergePrClosed: "La fusionPRn'est pas disponible car la demande d'extraction est fermée",
|
||
mergePrConflicts:
|
||
"La fusionPRn'est pas disponible car la demande d'extraction présente des conflits",
|
||
mergePrQueue:
|
||
"MergePRn'est pas disponible ici car ce référentiel utilise une file d'attente de fusion",
|
||
mergePrNotReady:
|
||
"La fusion {{noun}} n'est pas disponible jusqu'à ce que {{brand}} signale que {{noun}} est prête à fusionner",
|
||
autoMergeCannotDisable:
|
||
"La fusion automatique est activée, mais ce compte ne peut pas la désactiver",
|
||
},
|
||
toasts: {
|
||
failedCommit: "Échec de la validation",
|
||
failedPull: "Échec de l'extraction",
|
||
failedPush: "Échec de la poussée",
|
||
failedPullAndPush: "Impossible de tirer et de pousser",
|
||
failedCreatePr: "Échec de la création dePR",
|
||
failedMergePr: "Échec de la fusion dePR",
|
||
failedEnableAutoMerge: "Échec de l'activation de la fusion automatique",
|
||
failedDisableAutoMerge: "Échec de la désactivation de la fusion automatique",
|
||
baseRefUnavailable: "Réf de base indisponible",
|
||
failedMerge: "Échec de la fusion",
|
||
failedMergeFromBase: "Échec de la fusion à partir de la base",
|
||
},
|
||
archiveWarning: {
|
||
title: "Archiver «{{workspaceName}}»?",
|
||
confirm: "Archive",
|
||
cancel: "Annuler",
|
||
uncommittedChanges: "Modifications non validées",
|
||
uncommittedChangesWithDiff: "Modifications non validées ({{diffStat}})",
|
||
addedLine: "Ligne ajoutée{{count}}",
|
||
addedLines: "{{count}}lignes ajoutées",
|
||
deletedLine: "Ligne supprimée{{count}}",
|
||
deletedLines: "{{count}}lignes supprimées",
|
||
unpushedCommit: "Validation non poussée{{count}}",
|
||
unpushedCommits: "Validations non poussées{{count}}",
|
||
},
|
||
},
|
||
diff: {
|
||
openChangesTab: "Ouvrir l'onglet Modifications",
|
||
closeChangesTab: "Fermer l'onglet Modifications",
|
||
binaryFile: "Fichier binaire",
|
||
tooLarge: "Diff trop grand pour être affiché",
|
||
previewTooLargeTitle: "Ce diff est trop volumineux pour être prévisualisé",
|
||
previewTooLargeDescription: "Réduisez la comparaison pour la prévisualiser ici",
|
||
unified: "Différentiel unifié",
|
||
split: "Différent côte à côte",
|
||
switchToUnified: "Passer au diff unifié",
|
||
switchToSplit: "Passer au diff côte à côte",
|
||
showTreeView: "Afficher l'arborescence des dossiers",
|
||
showFlatView: "Afficher la liste de fichiers à plat",
|
||
options: "Options du diff",
|
||
hideWhitespace: "Masquer les espaces",
|
||
showWhitespace: "Afficher les espaces",
|
||
scrollLongLines: "Faire défiler les longues lignes",
|
||
wrapLongLines: "Enroulez les longues lignes",
|
||
collapseAll: "Réduire tous les fichiers",
|
||
expandAll: "Développer tous les fichiers",
|
||
collapseAllFolders: "Réduire tous les dossiers",
|
||
expandAllFolders: "Développer tous les dossiers",
|
||
refreshing: "Rafraîchissant",
|
||
refresh: "Rafraîchir",
|
||
refreshState: "Actualiser l'état de git et de {{brand}}",
|
||
failedRefresh: "Échec de l'actualisation de l'état git.",
|
||
emptyHiddenWhitespace: "Aucun changement visible après avoir masqué les espaces",
|
||
emptyUncommitted: "Aucune modification non validée",
|
||
emptyAgainstBase: "Aucun changement par rapport à{{baseRef}}",
|
||
checkingRepository: "Vérification du référentiel...",
|
||
notRepository: "Pas un dépôt git",
|
||
diffMode: "Mode différentiel",
|
||
uncommitted: "Non engagé",
|
||
committed: "Engagé",
|
||
branchUnknown: "Inconnu",
|
||
base: "base",
|
||
newFile: "Nouveau",
|
||
deletedFile: "Supprimé",
|
||
commits: {
|
||
title: "Commits",
|
||
countLabel: "{{count}} commits de l’espace de travail",
|
||
noneAhead: "Aucun commit en avance sur {{baseRef}} pour le moment",
|
||
fileDiffEmpty: "Aucune modification à afficher",
|
||
fileDiffError: "Échec du chargement du diff du fichier",
|
||
loading: "Chargement des commits…",
|
||
loadError: "Échec du chargement des commits",
|
||
empty: "Aucun commit pour le moment",
|
||
},
|
||
},
|
||
openInEditor: {
|
||
open: "Ouvrir",
|
||
chooseEditor: "Choisir l'éditeur",
|
||
openIn: "Espace de travail ouvert dans{{target}}",
|
||
openFileIn: "Open {{fileName}} in {{target}}",
|
||
failedOpen: "Échec de l'ouverture de l'espace de travail",
|
||
},
|
||
pr: {
|
||
actions: {
|
||
viewPullRequest: "Voir",
|
||
openOn: "Ouvrir sur {{brand}}",
|
||
},
|
||
sections: {
|
||
checks: "Chèques",
|
||
pipeline: "Pipeline",
|
||
reviews: "Avis",
|
||
},
|
||
empty: {
|
||
noJobs: "Aucune tâche",
|
||
loadingPipeline: "Chargement du pipeline...",
|
||
pipelineJobsLoadFailed: "Impossible de charger les tâches du pipeline",
|
||
allowedToFail: "autorisé à échouer",
|
||
},
|
||
approvals: "{{given}} sur {{required}} approbations",
|
||
accessibility: {
|
||
pullRequest: "Demande de tirage #{{number}}",
|
||
pullRequest_mr: "Demande de fusion !{{number}}",
|
||
},
|
||
states: {
|
||
draft: "Brouillon",
|
||
merged: "Fusionné",
|
||
closed: "Fermé",
|
||
open: "Ouvrir",
|
||
},
|
||
activity: {
|
||
commented: "Commenté",
|
||
approved: "Approuvé",
|
||
requestedChanges: "Modifications demandées",
|
||
reviewed: "Révisé",
|
||
},
|
||
time: {
|
||
justNow: "tout à l' heure",
|
||
},
|
||
thread: {
|
||
discussion: "Fil de discussion",
|
||
},
|
||
errors: {
|
||
statusLoadFailed: "Impossible de charger le statut de la demande d'extraction",
|
||
activityLoadFailed: "Impossible de charger l'activité de demande d'extraction",
|
||
},
|
||
},
|
||
forgeSetup: {
|
||
installCli: "Installez la CLI {{cli}} pour utiliser les fonctionnalités {{brand}}.",
|
||
signIn: "Exécutez {{command}} pour utiliser les fonctionnalités {{brand}}.",
|
||
generic: "Configurez {{brand}} sur cet hôte pour utiliser ses fonctionnalités.",
|
||
},
|
||
},
|
||
},
|
||
sidebar: {
|
||
pinned: {
|
||
title: "Épinglés",
|
||
},
|
||
host: {
|
||
noHost: "Aucun hôte",
|
||
switchTitle: "Changer d'hôte",
|
||
searchPlaceholder: "Rechercher des hôtes...",
|
||
},
|
||
actions: {
|
||
addProject: "Ajouter un projet",
|
||
newWorkspace: "Nouvel espace de travail",
|
||
hosts: "Hôtes",
|
||
home: "Maison",
|
||
settings: "Paramètres",
|
||
closeSidebar: "Fermer la barre latérale",
|
||
},
|
||
help: {
|
||
trigger: "Aide et assistance",
|
||
sectionHelp: "Aide",
|
||
diagnostics: "Lancer le diagnostic",
|
||
shortcuts: "Raccourcis clavier",
|
||
reportIssue: "Signaler un problème",
|
||
discord: "Discord",
|
||
github: "Créer un ticket GitHub",
|
||
whatsNew: "Nouveautés",
|
||
version: "Paseo {{version}}",
|
||
},
|
||
sections: {
|
||
sessions: "Historique",
|
||
schedules: "Planifications",
|
||
},
|
||
worktreeSetup: {
|
||
title: "Configurer les scripts d'arbre de travail",
|
||
description:
|
||
"Ajoutez des commandes de configuration pour que les nouveaux arbres de travail puissent installer des dépendances et se préparer automatiquement.",
|
||
openProjectSettings: "Ouvrir les paramètres du projet",
|
||
},
|
||
project: {
|
||
actions: {
|
||
menu: "Actions du projet",
|
||
openSettings: "Ouvrir les paramètres du projet",
|
||
openNewWindow: "Open in new window",
|
||
openNewWindowFailed: "Couldn't open a new window",
|
||
openFolder: "Open in file manager",
|
||
openFolderFailed: "Couldn't open folder",
|
||
remove: "Supprimer le projet",
|
||
removing: "Suppression...",
|
||
},
|
||
confirmations: {
|
||
removeTitle: "Supprimer le projet?",
|
||
removeMessage:
|
||
"Supprimer «{{projectName}}» de la barre latérale?\n\nLes fichiers sur le disque ne seront pas modifiés.",
|
||
removeConfirm: "Retirer",
|
||
cancel: "Annuler",
|
||
},
|
||
toasts: {
|
||
hostDisconnected: "Hostn'est pas connecté",
|
||
removeFailed: "Échec de la suppression de certains espaces de travail",
|
||
updateHostToRemove: "Mettez à jour le host pour supprimer des projets.",
|
||
},
|
||
empty: {
|
||
title: "Aucun projet pour l'instant",
|
||
description: "Ajoutez un projet pour commencer",
|
||
},
|
||
},
|
||
workspace: {
|
||
status: {
|
||
scriptsAvailable: "Scripts disponibles",
|
||
creating: "Création...",
|
||
},
|
||
actions: {
|
||
menu: "ActionsWorkspace",
|
||
newWorkspace: "Nouvel espace de travail",
|
||
showMore: "Afficher plus",
|
||
showLess: "Afficher moins",
|
||
createWorkspaceFor: "Créer un nouvel espace de travail pour{{projectName}}",
|
||
copyPath: "Copier le chemin",
|
||
copyBranchName: "Copier le nom de la branche",
|
||
rename: "Renommer l'espace de travail",
|
||
pin: "Épingler en haut",
|
||
unpin: "Désépingler",
|
||
archive: "Archive",
|
||
archiveWorkspace: "Archiver l’espace de travail",
|
||
hideFromSidebar: "Masquer de la barre latérale",
|
||
archiving: "Archivage...",
|
||
hiding: "Dissimulation...",
|
||
},
|
||
confirmations: {
|
||
hideTitle: "Masquer l'espace de travail?",
|
||
hideMessage:
|
||
"Masquer «{{workspaceName}}» dans la barre latérale?\n\nLes fichiers sur le disque ne seront pas modifiés.",
|
||
hideConfirm: "Cacher",
|
||
cancel: "Annuler",
|
||
},
|
||
rename: {
|
||
title: "Renommer l'espace de travail",
|
||
submit: "Rebaptiser",
|
||
invalidBranchName: "Nom de succursale invalide",
|
||
},
|
||
toasts: {
|
||
workspacePathUnavailable: "CheminWorkspacenon disponible",
|
||
pathCopied: "Chemin copié",
|
||
branchNameCopied: "Nom de la succursale copié",
|
||
hostDisconnected: "Hostn'est pas connecté",
|
||
hideFailed: "Échec du masquage de l'espace de travail",
|
||
archiveFailed: "Échec de l'archivage de l'espace de travail",
|
||
},
|
||
},
|
||
},
|
||
newWorkspace: {
|
||
title: "Nouvel espace de travail",
|
||
create: "Créer",
|
||
isolation: {
|
||
local: "Local",
|
||
worktree: "Nouveau worktree",
|
||
label: "Isolation",
|
||
},
|
||
fields: {
|
||
project: "Projet",
|
||
base: "Base",
|
||
baseNotApplicable: "Non applicable",
|
||
},
|
||
titlePlaceholder: "Titre (facultatif)",
|
||
errors: {
|
||
hostDisconnected: "Hostn'est pas connecté",
|
||
createWorktreeFailed: "Échec de la création de l'arbre de travail",
|
||
composerStateRequired: "L'état du compositeur est requis",
|
||
selectModel: "Sélectionnez un modèle",
|
||
},
|
||
refPicker: {
|
||
startingRef: "Réf de départ",
|
||
chooseStart: "Choisissez par où commencer",
|
||
intoBase: "dans {{baseRef}}",
|
||
searching: "Recherche...",
|
||
noMatchingRefs: "Aucune référence correspondante.",
|
||
searchPlaceholder: "Rechercher des succursales et des PR",
|
||
title: "Commencer à partir de",
|
||
},
|
||
},
|
||
desktop: {
|
||
quitting: {
|
||
title: "QuitterPaseo...",
|
||
detail: "Arrêt du démon local.",
|
||
},
|
||
daemon: {
|
||
title: "Daemon",
|
||
status: {
|
||
title: "Statut",
|
||
builtInOnly: "Seul le démon de bureau intégré est affiché ici",
|
||
running: "en cours d'exécution",
|
||
notRunning: "ne fonctionne pas",
|
||
pid: "PID{{pid}}",
|
||
},
|
||
management: {
|
||
title: "Gérer le démon intégré",
|
||
hint: "LaissezPaseodémarrer et arrêter le démon intégré",
|
||
pauseTitle: "Suspendre le démon intégré",
|
||
pauseMessage:
|
||
"Cela arrêtera immédiatement le démon intégré. Les agents en cours d'exécution et les terminaux connectés au démon intégré seront arrêtés.",
|
||
pauseAndStop: "Pause et arrêt",
|
||
registrationFailed:
|
||
"Built-in daemon started, but Paseo could not save the localhost connection. Toggle daemon management off and on again, or add localhost manually.",
|
||
pausedStopFailed:
|
||
"La gestion du démon intégré a été suspendue, maisPaseon'a pas pu arrêter le démon.",
|
||
updateFailed: "Impossible de mettre à jour la gestion des démons intégrés.",
|
||
},
|
||
keepRunning: {
|
||
title: "Laisser le démon fonctionner après avoir quitté",
|
||
hint: "Daemoncontinue de fonctionner lorsque vous quittezPaseo",
|
||
},
|
||
logs: {
|
||
title: "Fichier journal",
|
||
modalTitle: "JournauxDaemon",
|
||
unavailable: "Chemin du journal indisponible",
|
||
empty: "(le fichier journal est vide)",
|
||
copied: "Chemin du journal copié.",
|
||
copyFailed: "Impossible de copier le chemin du journal.",
|
||
open: "Journaux ouverts",
|
||
copyPath: "Copier le chemin",
|
||
},
|
||
fullStatus: {
|
||
title: "Statut complet",
|
||
modalTitle: "StatutDaemon",
|
||
hint: "Exécute`paseo daemon status`et affiche la sortie",
|
||
view: "Afficher l'état",
|
||
copied: "Statut copié dans le presse-papiers.",
|
||
fetchFailed: "Échec de la récupération de l'état du démon:{{message}}",
|
||
},
|
||
advancedSettings: "Paramètres avancés",
|
||
openAdvancedSettings: "Ouvrir les paramètres avancés du démon",
|
||
versionMismatch:
|
||
"Les versions de l'application et du démon ne correspondent pas. Mettez à jour les deux vers la même version pour une meilleure expérience.",
|
||
loadFailed: "Impossible de charger l'état du démon de bureau.",
|
||
},
|
||
updates: {
|
||
status: {
|
||
checking: "Vérification des mises à jour de l'application...",
|
||
installing: "Installation de la mise à jour de l'application...",
|
||
upToDate: "L'application est à jour.",
|
||
upToDateWithLastChecked: "Up to date. Last checked at {{time}}.",
|
||
pending: "Nous vous informerons lorsque la mise à jour sera prête.",
|
||
pendingWithLastChecked:
|
||
"Nous vous informerons lorsque la mise à jour sera prête. Dernière vérification à {{time}}.",
|
||
pendingWithVersion: "Mise à jour trouvée : {{version}}. Téléchargement...",
|
||
pendingWithVersionAndLastChecked:
|
||
"Mise à jour trouvée : {{version}}. Téléchargement... Dernière vérification à {{time}}.",
|
||
availableWithVersion: "Mise à jour prête:{{version}}",
|
||
availableWithVersionAndLastChecked:
|
||
"Mise à jour prête:{{version}}. Dernière vérification à {{time}}.",
|
||
available: "Une mise à jour de l'application est prête à être installée.",
|
||
availableWithLastChecked:
|
||
"Une mise à jour de l'application est prête à être installée. Dernière vérification à {{time}}.",
|
||
installed: "Mise à jour de l'application installée. Redémarrage requis.",
|
||
failed: "Échec de la mise à jour de l'application.",
|
||
idle: "L'état de la mise à jour n'a pas encore été vérifié.",
|
||
},
|
||
installError: "Impossible d'installer la mise à jour de l'application de bureau.",
|
||
callout: {
|
||
installingTitle: "Installation de la mise à jour",
|
||
failedTitle: "La mise à jour a échoué",
|
||
availableTitle: "Mise à jour disponible",
|
||
genericError: "Quelque chose s'est mal passé.",
|
||
whatsNew: "Quoi de neuf",
|
||
installingAction: "Installation...",
|
||
installAndRestart: "Installer et redémarrer",
|
||
installingDescription: "Installation et redémarrage...",
|
||
versionReady: "{{version}}est prêt à être installé.",
|
||
newVersionReady: "Une nouvelle version est prête à être installée.",
|
||
restartWarning:
|
||
"La mise à niveau de l'application arrêtera l'exécution des agents et fermera les sessions de terminal.",
|
||
},
|
||
},
|
||
settings: {
|
||
loadFailed: "Impossible de charger les paramètres du bureau.",
|
||
saveFailed: "Impossible d'enregistrer les paramètres du bureau.",
|
||
},
|
||
rosetta: {
|
||
title: "Téléchargez la versionApple Silicon",
|
||
runningIntel: "Vous exécutez la versionInteldePaseosousRosettasurApple Silicon.",
|
||
highCpu:
|
||
"Cela entraîne une utilisation élevée du processeur. Téléchargez la versionApple Siliconpour le réparer.",
|
||
download: "Télécharger",
|
||
},
|
||
permissions: {
|
||
notifications: {
|
||
allowed: "Les notifications sont autorisées par le système d'exploitation.",
|
||
denied: "Les notifications sont refusées dans les paramètres système.",
|
||
notGranted: "Les notifications n'ont pas encore été accordées.",
|
||
webOnly:
|
||
"L’état des notifications sur le bureau est uniquement disponible sur l’exécution Web.",
|
||
supported: "Les notifications de bureau sont prises en charge.",
|
||
unsupported:
|
||
"Les notifications de bureau ne sont pas prises en charge sur cette plateforme.",
|
||
apiUnavailable: "L'API de notification Web n'est pas disponible dans cet environnement.",
|
||
requestsWebOnly:
|
||
"Les demandes de notification sur le bureau sont uniquement disponibles sur l'exécution Web.",
|
||
requestUnavailable: "L'API de notification Web requestPermission() n'est pas disponible.",
|
||
requestFailed: "Échec de la demande d'autorisation de notification:{{message}}",
|
||
unexpectedState: "État d'autorisation de notification inattendu:{{state}}",
|
||
},
|
||
microphone: {
|
||
webOnly:
|
||
"L’état du microphone de bureau est uniquement disponible dans l’environnement d’exécution Web.",
|
||
navigatorUnavailable: "Le navigateur n'est pas disponible dans cet environnement.",
|
||
granted: "L’accès au microphone est accordé.",
|
||
denied: "L'accès au microphone est refusé dans les paramètres système.",
|
||
notGranted: "L'autorisation du microphone n'a pas encore été accordée.",
|
||
unexpectedState: "État d'autorisation inattendu du microphone:{{state}}",
|
||
statusApiUnavailable:
|
||
"L’API d’état du microphone n’est pas disponible dans ce runtime. Utilisez Request pour vérifier l’accès.",
|
||
queryFailed: "Échec de l'interrogation de l'état du microphone:{{message}}",
|
||
captureUnavailable: "La capture du microphone n'est pas disponible dans cet environnement.",
|
||
permissionApiUnavailable:
|
||
"L'API d'état des autorisations n'est pas disponible. Utilisez Request pour vérifier l’accès.",
|
||
requestsWebOnly:
|
||
"Les demandes de microphone de bureau sont uniquement disponibles sur le runtime Web.",
|
||
captureApiUnavailable:
|
||
"L'API de capture de microphone n'est pas disponible dans cet environnement.",
|
||
requestDenied:
|
||
"L'autorisation du microphone a été refusée par l'utilisateur ou le système.",
|
||
noDevice: "Aucun microphone n'a été trouvé.",
|
||
requestFailed: "Échec de la demande d'autorisation du microphone:{{message}}",
|
||
},
|
||
empty: {
|
||
notifications: "L'état de la notification n'a pas encore été vérifié.",
|
||
microphone: "L'état du microphone n'a pas encore été vérifié.",
|
||
},
|
||
testNotification: {
|
||
title: "Test de notificationPaseo",
|
||
body: "Si vous pouvez voir cela, les notifications sur le bureau fonctionnent.",
|
||
notDelivered:
|
||
"La notification n'a pas été délivrée. Vérifiez Paramètres système > Notifications.",
|
||
failed: "Échec de l'envoi de la notification.",
|
||
},
|
||
},
|
||
integrations: {
|
||
cli: {
|
||
statusFailed: "Impossible de vérifier l'état de l'installation deCLI.",
|
||
installFailed: "Impossible d'installer lePaseoCLI.",
|
||
},
|
||
skills: {
|
||
statusFailed: "Impossible de vérifier l'état des compétences d'orchestration.",
|
||
installFailed: "Impossible d'installer les compétences d'orchestration.",
|
||
updateFailed: "Impossible de mettre à jour les compétences d'orchestration.",
|
||
uninstallFailed: "Impossible de désinstaller les compétences d'orchestration.",
|
||
saveSelectionFailed:
|
||
"Impossible d'enregistrer la sélection des compétences d'orchestration.",
|
||
},
|
||
},
|
||
},
|
||
rootError: {
|
||
kicker: "Une erreur s'est produite",
|
||
title: "Paseo a rencontré un problème.",
|
||
body: "Réessayez pour recharger l'application. Si cela continue, joignez les détails ci-dessous au signalement.",
|
||
details: "Détails",
|
||
},
|
||
startup: {
|
||
errorTitle: "Quelque chose s'est mal passé",
|
||
errorDescription:
|
||
"Le serveur local n'a pas pu démarrer. Si cela continue, veuillez signaler le problème surGitHubet inclure les journaux ci-dessous.",
|
||
logs: {
|
||
loading: "Chargement des journaux du démon...",
|
||
unavailable: "Aucun journal de démon disponible.",
|
||
loadFailed: "Impossible de charger les journaux du démon:{{message}}",
|
||
},
|
||
},
|
||
openProject: {
|
||
tiles: {
|
||
addProject: {
|
||
title: "Ajouter un projet",
|
||
description: "Ouvrez un dossier sur votre machine",
|
||
},
|
||
importSession: {
|
||
title: "Session d'importation",
|
||
description: "Apportez des sessionsCLIexternes récentes",
|
||
},
|
||
setupProviders: {
|
||
title: "Fournisseurs d'installation",
|
||
description: "ConfigurezClaude Code,Codexet plus",
|
||
},
|
||
pairDevice: {
|
||
title: "Associer un appareil",
|
||
description: "Connectez votre téléphone à ce démon",
|
||
},
|
||
},
|
||
},
|
||
projectPicker: {
|
||
placeholder: "Tapez pour rechercher...",
|
||
browse: "Parcourir…",
|
||
opening: "Projet d'ouverture...",
|
||
searching: "Recherche en cours...",
|
||
empty: "Commencez à taper un chemin",
|
||
errors: {
|
||
directory_not_found: "Répertoire introuvable.",
|
||
open_failed: "Impossible d’ouvrir le projet.",
|
||
},
|
||
openPath: "Ouvrir le chemin",
|
||
},
|
||
branchSwitcher: {
|
||
currentBranch: "Branche actuelle:{{branchName}}. Appuyez pour changer de branche.",
|
||
placeholder: "Changer de branche...",
|
||
searchPlaceholder: "Filtrer les branches...",
|
||
empty: "Aucune branche trouvée.",
|
||
title: "Changer de branche",
|
||
uncommittedTitle: "Modifications non validées",
|
||
uncommittedMessage:
|
||
"Vous avez des modifications non validées. Les ranger avant de changer de branche?",
|
||
stashAndSwitch: "Cachette et changement",
|
||
failedToStash: "Échec de la sauvegarde des modifications",
|
||
failedToSwitch: "Échec du changement de branche",
|
||
restoreStashTitle: "Restaurer les modifications cachées?",
|
||
restoreStashMessage:
|
||
"Cette branche a caché les modifications d'une session précédente. Souhaitez-vous les restaurer?",
|
||
restore: "Restaurer",
|
||
later: "Plus tard",
|
||
stashRestored: "Modifications cachées restaurées",
|
||
},
|
||
agentAutocomplete: {
|
||
searchingWorkspace: "Recherche dans l'espace de travail...",
|
||
loadingCommands: "Chargement des commandes...",
|
||
noFiles: "Aucun fichier ou répertoire trouvé",
|
||
noCommands: "Aucune commande trouvée",
|
||
failedToLoad: "Échec du chargement",
|
||
},
|
||
loadOlderHistory: {
|
||
failed: "Impossible de charger l'ancien historique",
|
||
},
|
||
imageAttachmentPicker: {
|
||
permissionTitle: "Autorisation requise",
|
||
permissionMessage: "Veuillez autoriser l'accès à votre photothèque pour joindre des images.",
|
||
errorTitle: "Erreur",
|
||
failedToSelect: "Échec de la sélection de l'image",
|
||
dialogTitle: "Joindre des images",
|
||
dialogFilterName: "Images",
|
||
},
|
||
workspaceSetup: {
|
||
title: "Créer un espace de travail",
|
||
errors: {
|
||
failedCreateWorktree: "Échec de la création de l'arbre de travail",
|
||
failedOpenProject: "Échec de l'ouverture du projet",
|
||
selectModel: "Sélectionnez un modèle",
|
||
hostDisconnected: "Hostn'est pas connecté",
|
||
pendingRequired: "Aucune configuration d'espace de travail n'est en attente",
|
||
composerStateRequired: "L'état du compositeur de configurationWorkspaceest requis",
|
||
},
|
||
},
|
||
onboarding: {
|
||
title: "Bienvenue surPaseo",
|
||
subtitle: "Connectez votre ordinateur pour commencer",
|
||
actions: {
|
||
settings: "Paramètres",
|
||
},
|
||
},
|
||
modelSelector: {
|
||
title: "Sélectionnez le fournisseur",
|
||
selectModel: "Sélectionnez le modèle",
|
||
selectedModel: "Sélectionnez le modèle ({{model}})",
|
||
loading: "Chargement...",
|
||
loadingShort: "Chargement",
|
||
loadingSelector: "Chargement du sélecteur de modèle...",
|
||
error: "Erreur",
|
||
defaultModel: "Défaut",
|
||
favorites: "Favoris",
|
||
favoriteModel: "Modèle préféré",
|
||
unfavoriteModel: "Modèle défavorisé",
|
||
modelCount: "{{count}} modèle",
|
||
modelCountPlural: "{{count}} modèles",
|
||
retry: "Réessayer",
|
||
retrying: "Nouvelle tentative...",
|
||
noMatches: "Aucun modèle ne correspond à votre recherche",
|
||
searchPlaceholder: "Rechercher des modèles...",
|
||
openProviderSettings: "Ouvrir les paramètres{{provider}}",
|
||
},
|
||
providerCatalog: {
|
||
title: "Ajouter un fournisseur",
|
||
search: "Fournisseurs de recherche",
|
||
noProviders: "Aucun fournisseur trouvé",
|
||
actions: {
|
||
add: "Ajouter",
|
||
adding: "Ajout",
|
||
installed: "Installé",
|
||
cancel: "Annuler",
|
||
installInstructions: "Instructions d'installation",
|
||
installInstructionsFor: "Instructions d'installation{{provider}}",
|
||
},
|
||
errors: {
|
||
unableToInstall: "Impossible d'installer le fournisseur",
|
||
},
|
||
},
|
||
providerSelection: {
|
||
defaultModel: "Défaut",
|
||
selectModel: "Sélectionnez le modèle",
|
||
loading: "Chargement...",
|
||
error: "Erreur",
|
||
unavailable: "Indisponible",
|
||
unknownError: "Erreur inconnue",
|
||
readiness: {
|
||
initialPromptRequired: "Une invite initiale est requise",
|
||
noProviders: "Aucun fournisseur disponible sur l'hébergeur sélectionné",
|
||
modelDefaultsLoading: "Les valeurs par défaut du modèle sont toujours en cours de chargement",
|
||
noModelAvailable: "Aucun modèle n'est disponible pour le fournisseur sélectionné",
|
||
workspaceDirectoryNotFound: "RépertoireWorkspaceintrouvable",
|
||
hostDisconnected: "Hostn'est pas connecté",
|
||
},
|
||
},
|
||
pairing: {
|
||
connectionMethods: {
|
||
title: "Ajouter une connexion",
|
||
direct: {
|
||
title: "Connexion directe",
|
||
description: "Réseau local ou VPN.",
|
||
},
|
||
scanQr: {
|
||
title: "Scanner le codeQR",
|
||
description: "Connexion relais cryptée.",
|
||
},
|
||
pasteLink: {
|
||
title: "Coller le lien d'association",
|
||
description: "Connexion relais cryptée.",
|
||
},
|
||
},
|
||
direct: {
|
||
title: "Connexion directe",
|
||
helper: "Saisissez l'adresse d'un serveurPaseo.",
|
||
fields: {
|
||
host: "Host",
|
||
port: "Port",
|
||
password: "Mot de passe",
|
||
optional: "Facultatif",
|
||
useSsl: "Utiliser SSL",
|
||
connectionUri: "URI de connexion",
|
||
},
|
||
advanced: {
|
||
label: "Avancé",
|
||
show: "Afficher avancé",
|
||
hide: "Masquer avancé",
|
||
},
|
||
passwordVisibility: {
|
||
show: "Afficher le mot de passe",
|
||
hide: "Masquer le mot de passe",
|
||
},
|
||
actions: {
|
||
cancel: "Annuler",
|
||
connect: "Connecter",
|
||
connecting: "De liaison...",
|
||
},
|
||
errors: {
|
||
hostRequired: "Hostest requis",
|
||
invalidPort: "Le port doit être compris entre 1 et 65535",
|
||
invalidConnection: "Connexion invalide",
|
||
failedTitle: "La connexion a échoué",
|
||
failedToConnect: "Nous n'avons pas réussi à nous connecter à{{endpoint}}.",
|
||
noAdditionalDetails: "{{detail}}(aucun détail supplémentaire fourni)",
|
||
timedOut: "La connexion a expiré. Vérifiez l'hôte/portet votre réseau.",
|
||
refused: "Connexion rejetée. Le serveur fonctionne-t-il à cette adresse?",
|
||
hostNotFound: "Hostintrouvable. Vérifiez le nom d'hôte et réessayez.",
|
||
hostUnreachable: "Hostest inaccessible. Vérifiez votre réseau et votre pare-feu.",
|
||
tlsError:
|
||
"Erreur TLS. Les connexions directes utilisent SSL uniquement lorsqu'un terminateur TLS se trouve devant le démon.",
|
||
unableToConnect:
|
||
"Impossible de se connecter. Vérifiez l'hôte/portet que le démon est accessible.",
|
||
details: "Détails:{{detail}}",
|
||
},
|
||
},
|
||
link: {
|
||
title: "Coller le lien d'association",
|
||
helper: "Collez le lien d'appairage depuis votre serveur.",
|
||
label: "Lien d'appariement",
|
||
errors: {
|
||
required: "Collez un lien d'appairage (.../#offer=...)",
|
||
missingOffer: "Le lien doit inclure#offer=...",
|
||
emptyOffer: "La charge utile de l'offre est vide",
|
||
invalid: "Lien d'association invalide",
|
||
unableToPair: "Impossible de coupler l'hôte",
|
||
},
|
||
alert: {
|
||
failedTitle: "Échec du couplage",
|
||
},
|
||
actions: {
|
||
cancel: "Annuler",
|
||
pair: "Paire",
|
||
pairing: "L'appariement...",
|
||
},
|
||
},
|
||
scan: {
|
||
title: "ScannerQR",
|
||
webUnavailableTitle: "Non disponible sur le Web",
|
||
webUnavailableBody:
|
||
"L'analyseQRn'est pas prise en charge dans la version Web. Utilisez plutôt \"Coller le lien\".",
|
||
backToSettings: "Retour aux paramètres",
|
||
cameraPermissionTitle: "Autorisation de la caméra",
|
||
cameraPermissionBody:
|
||
"Autorisez l'accès à la caméra pour scanner le code d'appairageQRà partir de votre démon.",
|
||
grantPermission: "Accorder l'autorisation",
|
||
pairing: "L'appariement...",
|
||
unableToPair: "Impossible de coupler l'hôte",
|
||
errorTitle: "Erreur",
|
||
},
|
||
device: {
|
||
loadingOffer: "Chargement de l'offre d'association...",
|
||
failedToLoadOffer: "Échec du chargement de l'offre d'association.",
|
||
relayDisabled: "Le relais n'est pas activé. Activer le relais pour coupler un appareil.",
|
||
enableTitle: "Activer le relais ?",
|
||
enableDescription:
|
||
"Le relais permet à cet appareil de se connecter depuis n’importe où. Le trafic de couplage est chiffré de bout en bout.",
|
||
relayDocs: "Fonctionnement du relais",
|
||
relayDocsAccessibility: "Lire comment fonctionne le relais Paseo",
|
||
enableRelay: "Activer le relais",
|
||
enablingRelay: "Activation...",
|
||
notNow: "Pas maintenant",
|
||
directConnectionHint:
|
||
"Sans relais, connectez-vous directement via TCP, Tailscale ou un autre VPN. Aucun code QR n’est créé.",
|
||
updateRequired: "Mettez à jour l’hôte pour activer le relais depuis Paseo Desktop.",
|
||
unavailable: "Offre de jumelage indisponible.",
|
||
hint: "Scannez ce codeQRavecPaseosur votre téléphone ou copiez le lien ci-dessous.",
|
||
qrUnavailable: "CodeQRindisponible.",
|
||
qrAccessibility: "Code QR de couplage",
|
||
retry: "Réessayer",
|
||
copy: "Copie",
|
||
copied: "Copié",
|
||
},
|
||
},
|
||
realtimeVoice: {
|
||
actions: {
|
||
mute: "Couper la voix en temps réel",
|
||
unmute: "Réactiver la voix en temps réel",
|
||
stop: "Arrêtez la voix en temps réel et interrompez le tour",
|
||
},
|
||
},
|
||
rewind: {
|
||
tooltip: "Revenez à ce message",
|
||
warning: "Cette action ne peut pas être annulée",
|
||
actions: {
|
||
conversation: "Rembobiner la conversation",
|
||
files: "Rembobiner les fichiers",
|
||
both: "Rembobiner la conversation et les fichiers",
|
||
},
|
||
errors: {
|
||
failed: "Échec du rembobinage de l'agent",
|
||
},
|
||
},
|
||
diffViewer: {
|
||
empty: "Aucun changement à afficher",
|
||
},
|
||
serviceUrl: {
|
||
title: "Service ouvertURL",
|
||
message: "Ouvrir{{url}}?",
|
||
inPaseo: "DansPaseo",
|
||
externalBrowser: "Navigateur externe",
|
||
dontAskAgain: "Ne demande plus",
|
||
},
|
||
downloads: {
|
||
requestTokenFailed: "Échec de la demande du jeton de téléchargement.",
|
||
hostUnavailable: "L'hôte de téléchargement n'est pas disponible.",
|
||
cancelled: "Le téléchargement a été annulé.",
|
||
failed: "Échec du téléchargement du fichier.",
|
||
shareFile: "Partager un fichier",
|
||
shareFileNamed: "Partager{{fileName}}",
|
||
},
|
||
menu: {
|
||
backdrop: "Toile de fond du menu",
|
||
},
|
||
subagents: {
|
||
detachAction: "Detacher {{label}}",
|
||
detachTooltip: "Detacher le sous-agent",
|
||
archiveAction: "Archiver{{label}}",
|
||
archiveTooltip: "Sous-agent d'archivage",
|
||
archiveFinishedAction: "Archiver les sous-agents terminés",
|
||
archiveFinishedTooltip: "Archiver les terminés",
|
||
},
|
||
panels: {
|
||
draft: {
|
||
newAgent: "Nouvel agent",
|
||
creatingAgent: "Agent créateur",
|
||
},
|
||
file: {
|
||
directoryMissing: "Répertoire Workspace introuvable.",
|
||
loading: "Chargement du fichier...",
|
||
noPreview: "Aucun aperçu disponible",
|
||
binaryPreviewUnavailable: "Aperçu binaire indisponible",
|
||
failedToLoad: "Échec du chargement du fichier",
|
||
failedToLoadPreview: "Échec du chargement de l'aperçu du fichier",
|
||
editor: {
|
||
fileSize: "Taille {{size}}",
|
||
lines: "{{count}} lignes",
|
||
editorStatus: "État de l’éditeur : {{status}}",
|
||
unsavedChanges: "Modifications non enregistrées",
|
||
saving: "Enregistrement...",
|
||
saveFailed: "Échec de l’enregistrement",
|
||
changedOnDisk: "Modifié sur le disque",
|
||
vimMode: "Mode Vim {{mode}}",
|
||
cursor: "Ligne {{line}}, colonne {{column}}",
|
||
preview: "Aperçu",
|
||
source: "Source",
|
||
deletedTitle: "Fichier supprimé du disque",
|
||
checkFailedTitle: "Impossible de vérifier le fichier sur le disque",
|
||
preservedDescription: "La copie ouverte est conservée.",
|
||
conflictDescription: "Le contenu local a été conservé. Choisissez la version à garder.",
|
||
overwrite: "Écraser",
|
||
reload: "Recharger",
|
||
reloadTitle: "Recharger depuis le disque ?",
|
||
reloadMessage: "Vos modifications locales seront perdues.",
|
||
},
|
||
},
|
||
diff: {
|
||
changesLabel: "Modifications",
|
||
changesSubtitle: "Différences de l'arbre de travail",
|
||
commitSubtitle: "Différences du commit",
|
||
uncommittedSubtitle: "Modifications non validées",
|
||
baseSubtitle: "Comparé à {{baseRef}}",
|
||
directoryMissing: "Répertoire Workspace introuvable.",
|
||
empty: "Aucune modification",
|
||
loadError: "Échec du chargement des différences",
|
||
capabilityMissing: "Mettez à jour l'hôte pour voir les différences des commits.",
|
||
},
|
||
},
|
||
toolCallDetails: {
|
||
error: "Erreur",
|
||
empty: "Aucun détail supplémentaire disponible",
|
||
subAgentActivity: "Activité du sous-agent",
|
||
input: "Saisir",
|
||
output: "Sortir",
|
||
},
|
||
toolCallGroup: {
|
||
editedFiles: {
|
||
one: "a modifié {{count}} fichier",
|
||
other: "a modifié {{count}} fichiers",
|
||
},
|
||
commands: {
|
||
one: "a exécuté {{count}} commande",
|
||
other: "a exécuté {{count}} commandes",
|
||
},
|
||
readFiles: {
|
||
one: "a lu {{count}} fichier",
|
||
other: "a lu {{count}} fichiers",
|
||
},
|
||
searches: {
|
||
one: "a effectué {{count}} recherche",
|
||
other: "a effectué {{count}} recherches",
|
||
},
|
||
otherTools: {
|
||
one: "a utilisé {{count}} autre outil",
|
||
other: "a utilisé {{count}} autres outils",
|
||
},
|
||
paseoCalls: {
|
||
one: "a appelé Paseo {{count}} fois",
|
||
other: "a appelé Paseo {{count}} fois",
|
||
},
|
||
and: "et",
|
||
},
|
||
renameModal: {
|
||
rename: "Rebaptiser",
|
||
saving: "Sauvegarde...",
|
||
},
|
||
sidebarCallout: {
|
||
dismiss: "Rejeter",
|
||
},
|
||
contextWindow: {
|
||
title: "Fenêtre contextuelle",
|
||
used: "{{percentage}}% utilisé",
|
||
tokens: "Jetons{{used}}/{{max}}",
|
||
sessionCost: "Coût de la séance{{cost}}",
|
||
accessibility: "Fenêtre contextuelle{{percentage}}% utilisé",
|
||
},
|
||
review: {
|
||
comment: {
|
||
add: "Ajouter un commentaire",
|
||
edit: "Modifier le commentaire de l'avis",
|
||
delete: "Supprimer le commentaire de l'avis",
|
||
label: "Revoir le commentaire",
|
||
placeholder: "Laisser un commentaire",
|
||
cancel: "Annuler",
|
||
cancelAccessibility: "Annuler le commentaire de révision",
|
||
save: "Commentaire",
|
||
saveAccessibility: "Enregistrer le commentaire de l'avis",
|
||
},
|
||
},
|
||
settings: {
|
||
title: "Paramètres",
|
||
loading: "Chargement des paramètres...",
|
||
groups: {
|
||
app: "Application",
|
||
host: "Host",
|
||
},
|
||
hostPicker: {
|
||
switchHost: "Changer d'hôte",
|
||
local: "Locale",
|
||
},
|
||
backToWorkspace: "Dos",
|
||
addHost: "Ajouter un hôte",
|
||
enableBuiltInDaemon: "Activer le démon intégré",
|
||
projects: "Projets",
|
||
projectList: {
|
||
hostLoadFailed: "Impossible de charger les projets depuis l'hôte{{hostName}}:{{message}}",
|
||
editProject: "Modifier{{projectName}}",
|
||
},
|
||
groupInfo: "À propos de{{title}}",
|
||
sections: {
|
||
general: "Général",
|
||
appearance: "Apparence",
|
||
editor: "Éditeur",
|
||
shortcuts: "Raccourcis",
|
||
integrations: "Intégrations",
|
||
permissions: "Autorisations",
|
||
diagnostics: "Diagnostic",
|
||
about: "À propos",
|
||
},
|
||
editor: {
|
||
title: "Éditeur",
|
||
vimKeybindings: "Raccourcis Vim",
|
||
vimHint: "S’applique aux fichiers source sur le web et le bureau.",
|
||
},
|
||
hostSections: {
|
||
projects: "Projets",
|
||
connections: "Relations",
|
||
agents: "Agents",
|
||
workspaces: "Workspaces",
|
||
providers: "Fournisseurs",
|
||
usage: "Utilisation",
|
||
terminals: "Terminals",
|
||
host: "Aperçu",
|
||
},
|
||
general: {
|
||
title: "Général",
|
||
browserData: {
|
||
title: "Données du navigateur",
|
||
siteData: "Cookies et données des sites",
|
||
description:
|
||
"Les onglets du navigateur partagent les connexions et les données des sites dans Paseo.",
|
||
clear: "Effacer les données du navigateur",
|
||
clearing: "Effacement...",
|
||
confirmTitle: "Effacer les données du navigateur ?",
|
||
confirmMessage: "Vous serez déconnecté des sites et les onglets ouverts seront rechargés.",
|
||
success: "Données du navigateur effacées.",
|
||
error: "Impossible d'effacer les données du navigateur.",
|
||
},
|
||
defaultSend: {
|
||
label: "Envoi par défaut",
|
||
descriptions: {
|
||
interrupt:
|
||
"Lorsque l'agent est en cours d'exécution, Entrée interrompt. Commande/Ctrl+Entrée met en file d'attente.",
|
||
queue:
|
||
"Lorsque l'agent est en cours d'exécution, Entrée met en file d'attente. Commande/Ctrl+Entrée envoie.",
|
||
},
|
||
options: {
|
||
interrupt: "Interrompre",
|
||
queue: "File d'attente",
|
||
},
|
||
},
|
||
serviceUrls: {
|
||
label: "URL de services",
|
||
description: "Où ouvrir les URL à partir de scripts en cours d'exécution",
|
||
options: {
|
||
ask: "Demander",
|
||
inApp: "DansPaseo",
|
||
external: "Navigateur externe",
|
||
},
|
||
},
|
||
terminalScrollback: {
|
||
label: "DéfilementTerminal",
|
||
description: "Lignes conservées dans le tampon du terminal intégré",
|
||
accessibilityLabel: "Lignes de défilementTerminal",
|
||
},
|
||
autoExpandReasoning: {
|
||
label: "Toujours afficher le raisonnement",
|
||
description: "Afficher le raisonnement de l'agent entièrement développé par défaut",
|
||
},
|
||
toolCallDetail: {
|
||
label: "Affichage des appels d’outils",
|
||
description: "Comment les appels d’outils apparaissent dans la chronologie",
|
||
accessibilityLabel: "Sélectionner l’affichage des appels d’outils ({{value}})",
|
||
options: {
|
||
overview: "Résumé",
|
||
detailed: "Détails complets",
|
||
},
|
||
},
|
||
language: {
|
||
label: "Langue",
|
||
description: "Langue de l'application",
|
||
options: {
|
||
system: "Système",
|
||
ar: "العربية",
|
||
en: "English",
|
||
es: "Español",
|
||
fr: "Français",
|
||
ja: "日本語",
|
||
ptBR: "Português brasileiro",
|
||
ru: "Русский",
|
||
zhCN: "中文",
|
||
},
|
||
},
|
||
},
|
||
diagnostics: {
|
||
title: "Diagnostic",
|
||
testAudio: "Tester le son",
|
||
playTest: "Jouer à l'essai",
|
||
playing: "Jouant...",
|
||
playbackFailed: "Échec de la lecture:{{message}}",
|
||
app: {
|
||
title: "App diagnostic",
|
||
rowTitle: "App diagnostic",
|
||
rowHint: "Collect connection, daemon, provider, desktop, and log details",
|
||
run: "Run",
|
||
running: "Running diagnostic...",
|
||
copyLabel: "diagnostic",
|
||
copyAccessibility: "Copy diagnostic",
|
||
copyFailed: "Failed to copy diagnostic",
|
||
refreshAccessibility: "Refresh diagnostic",
|
||
refreshingAccessibility: "Refreshing diagnostic",
|
||
progress: {
|
||
client: "Client",
|
||
desktop: "Desktop",
|
||
},
|
||
},
|
||
},
|
||
about: {
|
||
title: "À propos",
|
||
appVersion: "Version de l'application",
|
||
thisDevice: "Cet appareil",
|
||
connectedHosts: "Hôtes connectés",
|
||
offline: "Hors ligne",
|
||
versionDiffers: "La version diffère de cet appareil",
|
||
releaseChannel: {
|
||
label: "Canal de sortie",
|
||
description:
|
||
"Passez àBetapour obtenir des mises à jour plus tôt et contribuer à les façonner",
|
||
stable: "Stable",
|
||
beta: "Beta",
|
||
},
|
||
updates: {
|
||
label: "Mises à jour de l'application",
|
||
readyToInstall: "Prêt à installer:{{version}}",
|
||
installTitle: "Installer la mise à jour du bureau",
|
||
installMessage: "Cela met à jourPaseosur cet ordinateur",
|
||
installConfirm: "Installer la mise à jour",
|
||
update: "Mise à jour",
|
||
updateTo: "Mise à jour vers{{version}}",
|
||
installing: "Installation...",
|
||
check: "Vérifier",
|
||
checking: "Vérification...",
|
||
alertTitle: "Erreur",
|
||
alertMessage: "Impossible d'ouvrir la boîte de dialogue de confirmation de mise à jour.",
|
||
},
|
||
},
|
||
appearance: {
|
||
theme: {
|
||
title: "Thème",
|
||
accessibilityLabel: "Thème:{{value}}",
|
||
options: {
|
||
light: "Lumière",
|
||
dark: "Sombre",
|
||
zinc: "Zinc",
|
||
midnight: "Minuit",
|
||
claude: "Claude",
|
||
ghostty: "Fantôme",
|
||
auto: "Système",
|
||
},
|
||
},
|
||
detailLevel: {
|
||
title: "Niveau de détail",
|
||
},
|
||
chatOutline: {
|
||
title: "Plan de la discussion",
|
||
description: "Afficher un plan pour passer d’une requête à l’autre",
|
||
},
|
||
fonts: {
|
||
title: "Polices",
|
||
systemDefault: "Valeur par défaut du système",
|
||
interfaceFont: "Police d'interface",
|
||
interfaceFontHint:
|
||
"Utilisé dans toute l'application. Laisser vide pour la valeur par défaut du système",
|
||
interfaceFontAccessibility: "Famille de polices d'interface",
|
||
interfaceSize: "Taille de l'interface",
|
||
interfaceSizeAccessibility: "Taille de la police de l'interface",
|
||
codeFont: "Police de code",
|
||
codeFontHint:
|
||
"Utilisé dans le code, les différences et la sortie du terminal. Laisser vide pour la valeur par défaut du système",
|
||
codeFontAccessibility: "Famille de polices de code",
|
||
codeSize: "Taille du code",
|
||
codeSizeAccessibility: "Taille de la police du code",
|
||
},
|
||
syntax: {
|
||
title: "Syntaxe",
|
||
highlightTheme: "Thème de surbrillance",
|
||
highlightThemeHint: "Couleurs du code, indépendamment du thème de l'application",
|
||
highlightThemeAccessibility: "Thème phare:{{value}}",
|
||
previewAccessibility: "Aperçu en direct du thème de syntaxe et de la police de code",
|
||
},
|
||
},
|
||
shortcuts: {
|
||
dialogTitle: "Raccourcis",
|
||
searchPlaceholder: "Rechercher des raccourcis",
|
||
unavailableOnMobile: "Les raccourcis clavier ne sont disponibles que sur le bureau",
|
||
capturePrompt: "Appuyez sur le raccourci...",
|
||
actions: {
|
||
done: "Fait",
|
||
cancel: "Annuler",
|
||
rebind: "Relier",
|
||
reset: "Réinitialiser",
|
||
resetAll: "Tout réinitialiser",
|
||
},
|
||
sections: {
|
||
navigation: "Navigation",
|
||
tabsPanes: "Onglets et volets",
|
||
projects: "Projets",
|
||
panels: "Panneaux",
|
||
agentInput: "EntréeAgent",
|
||
},
|
||
help: {
|
||
openProject: "Projet ouvert",
|
||
newWorkspace: "Nouvel espace de travail",
|
||
newWorktree: "Nouvel arbre de travail",
|
||
archiveWorkspace: "Archiver l’espace de travail",
|
||
newTab: "Nouvel onglet",
|
||
closeCurrentTab: "Fermer l'onglet actuel",
|
||
jumpToWorkspace: "Accéder à l'espace de travail",
|
||
jumpToTab: "Aller à l'onglet",
|
||
previousWorkspace: "Espace de travail précédent",
|
||
nextWorkspace: "Espace de travail suivant",
|
||
previousTab: "Onglet précédent",
|
||
nextTab: "Onglet suivant",
|
||
splitPaneRight: "Volet divisé à droite",
|
||
splitPaneDown: "Diviser le volet vers le bas",
|
||
focusPaneLeft: "Volet de mise au point à gauche",
|
||
focusPaneRight: "Volet de mise au point à droite",
|
||
focusPaneUp: "Volet de mise au point vers le haut",
|
||
focusPaneDown: "Volet de mise au point vers le bas",
|
||
moveTabLeft: "Déplacer l'onglet vers la gauche",
|
||
moveTabRight: "Déplacer l'onglet vers la droite",
|
||
moveTabUp: "Déplacer l'onglet vers le haut",
|
||
moveTabDown: "Déplacer l'onglet vers le bas",
|
||
closePane: "Fermer le volet",
|
||
newTerminal: "Nouvelle borne",
|
||
toggleCommandCenter: "Basculer le centre de commande",
|
||
showKeyboardShortcuts: "Afficher les raccourcis clavier",
|
||
toggleLeftSidebar: "Basculer la barre latérale gauche",
|
||
toggleRightSidebar: "Basculer la barre latérale droite",
|
||
toggleBothSidebars: "Basculer les deux barres latérales",
|
||
toggleSettings: "Basculer les paramètres",
|
||
toggleFocusMode: "Basculer le mode de mise au point",
|
||
cycleTheme: "Thème du cycle",
|
||
focusMessageInput: "Saisie du message de focus",
|
||
cycleAgentMode: "Parcourir les modes de l'agent",
|
||
toggleVoiceMode: "Changer le mode vocal",
|
||
startStopDictation: "Démarrer la dictée/stop",
|
||
interruptAgent: "Agent d'interruption",
|
||
sendMessage: "Envoyer un message",
|
||
queueMessage: "Message de file d'attente",
|
||
muteUnmuteVoiceMode: "Mode vocal/unmutemuet",
|
||
switchProject: "Changer de projet",
|
||
},
|
||
helpNotes: {
|
||
showKeyboardShortcuts:
|
||
"Disponible lorsque le focus n’est pas dans un champ de texte ou un terminal.",
|
||
},
|
||
},
|
||
integrations: {
|
||
title: "Intégrations",
|
||
docs: {
|
||
cli: "DocumentsCLI",
|
||
skills: "Documents de compétences",
|
||
openCli: "Ouvrir la documentationCLI",
|
||
openSkills: "Documentation des compétences ouvertes",
|
||
},
|
||
commandLine: {
|
||
title: "Ligne de commande",
|
||
description: "Agents de contrôle et de script depuis votre terminal",
|
||
},
|
||
skills: {
|
||
title: "Compétences en orchestration",
|
||
description: "Apprenez à vos agents à orchestrer via leCLI",
|
||
updateAvailable: "Mise à jour disponible",
|
||
updateTitle: "Mettre à jour les compétencesPaseo?",
|
||
updateFallback: "Synchronisez les compétences regroupées sur votre machine.",
|
||
uninstallTitle: "Désinstaller les compétencesPaseo?",
|
||
uninstallMessage:
|
||
"Supprime toutes les compétences d'orchestrationPaseode ~/.agents, ~/.claude, ~/.codex.",
|
||
choose: "Choisir les compétences",
|
||
chooseAll: "Toutes les compétences",
|
||
chooseAllHint:
|
||
"Gardez installées toutes les compétences fournies, y compris celles ajoutées plus tard.",
|
||
chooseList: "Compétences fournies",
|
||
chooseEmpty: "Cette version ne fournit aucune compétence.",
|
||
removeTitle: "Supprimer les compétences décochées ?",
|
||
removeMessage:
|
||
"{{skills}} seront supprimées de ~/.agents, ~/.claude et ~/.codex. Tout ce que vous avez ajouté dans ces dossiers de compétences est également supprimé.",
|
||
saveFailed: "Impossible d'enregistrer votre sélection de compétences.",
|
||
},
|
||
actions: {
|
||
install: "Installer",
|
||
installing: "Installation...",
|
||
installed: "Installé",
|
||
update: "Mise à jour",
|
||
working: "Fonctionnement...",
|
||
remove: "Supprimer",
|
||
uninstall: "Désinstaller",
|
||
save: "Enregistrer",
|
||
saving: "Enregistrement...",
|
||
},
|
||
operations: {
|
||
add: "Ajouter une compétence",
|
||
update: "Mettre à jour la compétence",
|
||
delete: "Supprimer la compétence",
|
||
},
|
||
},
|
||
permissions: {
|
||
title: "Autorisations",
|
||
notifications: "Notifications",
|
||
microphone: "Microphone",
|
||
refresh: "Rafraîchir",
|
||
refreshing: "Rafraîchissant...",
|
||
refreshAccessibility: "Actualiser les autorisations du bureau",
|
||
test: "Test",
|
||
actions: {
|
||
granted: "Accordé",
|
||
request: "Demande",
|
||
requesting: "Demander...",
|
||
busySuffix: "{{label}}...",
|
||
},
|
||
},
|
||
host: {
|
||
appearance: {
|
||
title: "Apparence",
|
||
name: {
|
||
label: "Nom",
|
||
},
|
||
color: {
|
||
label: "Couleur",
|
||
accessibilityLabel: "Couleur, {{value}}",
|
||
options: {
|
||
none: "Par défaut",
|
||
violet: "Violet",
|
||
sky: "Ciel",
|
||
emerald: "Émeraude",
|
||
orange: "Orange",
|
||
pink: "Rose",
|
||
indigo: "Indigo",
|
||
teal: "Sarcelle",
|
||
red: "Rouge",
|
||
amber: "Ambre",
|
||
blue: "Bleu",
|
||
},
|
||
},
|
||
badge: {
|
||
label: "Badge de la barre latérale",
|
||
accessibilityLabel: "Badge de la barre latérale, {{value}}",
|
||
options: {
|
||
name: "Nom",
|
||
icon: "Icône seule",
|
||
hidden: "Masqué",
|
||
},
|
||
},
|
||
preview: {
|
||
workspaceName: "my-workspace",
|
||
},
|
||
},
|
||
notFound: "Hostintrouvable",
|
||
badges: {
|
||
relay: "Relais",
|
||
local: "Locale",
|
||
},
|
||
connections: {
|
||
title: "Relations",
|
||
removeTitle: "Supprimer la connexion",
|
||
removeMessage: "Supprimer{{name}}? Cela ne peut pas être annulé.",
|
||
removeAction: "Retirer",
|
||
removeErrorTitle: "Erreur",
|
||
removeErrorMessage: "Impossible de supprimer la connexion",
|
||
timeout: "Temps mort",
|
||
},
|
||
pairDevices: {
|
||
title: "Associer des appareils",
|
||
rowTitle: "Associer un appareil",
|
||
rowHint: "Scannez un codeQRou copiez un lien pour connecter votre téléphone à cet hôte",
|
||
},
|
||
orchestration: {
|
||
title: "Orchestration",
|
||
unavailable: "Connectez-vous à cet hôte pour gérer l'orchestration",
|
||
enableTools: {
|
||
title: "Activer les outilsPaseo",
|
||
hint: "Les agents pourront gérer les arbres de travail, les agents et les horaires",
|
||
accessibilityLabel: "Injecter les outilsPaseo",
|
||
},
|
||
systemPrompt: {
|
||
title: "Invite système",
|
||
hint: "Ajoute une invite système à tous les agents",
|
||
sheetTitle: "Ajouter une invite système",
|
||
accessibilityLabel: "Ajouter une invite système",
|
||
placeholder: "Gardez toujours des réponses concises.",
|
||
edit: "Modifier",
|
||
reset: "Réinitialiser",
|
||
save: "Sauvegarder",
|
||
saving: "Sauvegarde...",
|
||
},
|
||
},
|
||
agents: {
|
||
unavailable: "Connect to this host to manage agents",
|
||
},
|
||
workspaces: {
|
||
unavailable: "Connect to this host to manage workspaces",
|
||
},
|
||
terminalProfiles: {
|
||
unavailable: "Connect to this host to manage terminal profiles",
|
||
sectionTitle: "Terminal profiles",
|
||
editProfile: "Edit profile",
|
||
addProfileTitle: "Add terminal profile",
|
||
editProfileTitle: "Edit terminal profile",
|
||
namePlaceholder: "Claude Code",
|
||
commandPlaceholder: "claude",
|
||
argsPlaceholder: "--dangerously-skip-permissions",
|
||
nameLabel: "Name",
|
||
commandLabel: "Command",
|
||
argsLabel: "Arguments",
|
||
nameRequired: "Name is required",
|
||
commandRequired: "Command is required",
|
||
argsHint: "Space-separated arguments passed to the command",
|
||
saving: "Saving...",
|
||
remove: "Remove",
|
||
removeConfirmTitle: "Remove profile?",
|
||
removeConfirmMessage: 'Remove "{{name}}"?',
|
||
moveUp: "Move up",
|
||
moveDown: "Move down",
|
||
save: "Save",
|
||
emptyState: "No profiles yet. Add one to launch terminals with a specific command.",
|
||
},
|
||
daemon: {
|
||
rename: {
|
||
editLabel: "Modifier l'étiquette",
|
||
title: "Renommer l'hôte",
|
||
placeholder: "MonHost",
|
||
submit: "Renommer",
|
||
},
|
||
restart: {
|
||
title: "Redémarrer le démon",
|
||
hint: "Redémarre le processus démon. L'application se reconnectera automatiquement",
|
||
confirm: "Redémarrer",
|
||
confirmTitle: "Redémarrer{{name}}",
|
||
confirmMessage:
|
||
"Cela redémarrera le démon. Les agents qui s'y exécutent continueront à fonctionner; l'application se reconnectera automatiquement.",
|
||
restarting: "Redémarrage...",
|
||
unableToReconnectTitle: "Impossible de se reconnecter",
|
||
unableToReconnectMessage:
|
||
"{{name}}n'est pas revenu en ligne. Veuillez vérifier qu'il a redémarré.",
|
||
unavailableTitle: "Hostindisponible",
|
||
unavailableMessage:
|
||
"Cet hôte n'est pas connecté. Attendez qu'il soit en ligne avant de redémarrer.",
|
||
offlineTitle: "Hosthors ligne",
|
||
offlineMessage:
|
||
"Cet hôte est hors ligne.Paseose reconnecte automatiquement: attendez qu'il soit de nouveau en ligne avant de redémarrer.",
|
||
requestFailedTitle: "Erreur",
|
||
requestFailedMessage:
|
||
"Échec de l'envoi de la demande de redémarrage.Paseose reconnecte automatiquement - réessayez une fois que l'hôte apparaît comme en ligne.",
|
||
dialogFailedMessage:
|
||
"Impossible d'ouvrir la boîte de dialogue de confirmation de redémarrage.",
|
||
},
|
||
update: {
|
||
desktopManagedHint:
|
||
"Ce daemon est géré par Paseo Desktop. Mettez à jour Paseo Desktop sur l’hôte.",
|
||
title: "Update daemon",
|
||
hint: "Update the daemon to the latest version and restart it",
|
||
confirm: "Update",
|
||
confirmTitle: "Update {{name}}",
|
||
confirmMessage:
|
||
"This will update the daemon to the latest version and restart it. Running agents will be briefly interrupted.",
|
||
updating: "Updating...",
|
||
phaseStarting: "Preparing update...",
|
||
phaseDownloading: "Downloading packages...",
|
||
phaseInstalling: "Installing...",
|
||
phaseComplete: "Update complete, restarting...",
|
||
unableToReconnectTitle: "Unable to reconnect",
|
||
unableToReconnectMessage:
|
||
"{{name}} did not come back online after updating. Please verify the daemon restarted.",
|
||
unavailableTitle: "Host unavailable",
|
||
unavailableMessage:
|
||
"This host is not connected. Wait for it to come online before updating.",
|
||
offlineTitle: "Host offline",
|
||
offlineMessage: "This host is offline. Wait until it is back online before updating.",
|
||
requestFailedTitle: "Update failed",
|
||
requestFailedMessage: "Failed to update the daemon: {{error}}",
|
||
dialogFailedMessage: "Unable to open the update confirmation dialog.",
|
||
},
|
||
dangerZone: "Zone dangereuse",
|
||
remove: {
|
||
title: "Supprimer l'hôte",
|
||
localTitle: "Remove localhost connection",
|
||
hint: "Supprime cet hôte et ses connexions enregistrées de cet appareil",
|
||
localHint: "Removes localhost from this device and stops the built-in daemon",
|
||
localConfirmTitle: "Remove localhost connection and stop daemon?",
|
||
confirmMessage: "Supprimer{{name}}? Cela supprimera ses connexions enregistrées.",
|
||
localConfirmMessage:
|
||
"This will remove the localhost connection, turn off built-in daemon management, and stop the managed daemon. Remote hosts remain connected.",
|
||
errorTitle: "Erreur",
|
||
errorMessage: "Impossible de supprimer l'hôte",
|
||
localErrorMessage: "Unable to remove localhost connection",
|
||
},
|
||
},
|
||
},
|
||
providers: {
|
||
title: "Fournisseurs",
|
||
addProvider: "Ajouter un fournisseur",
|
||
providerDetails: "Détails du fournisseur{{name}}",
|
||
enableProvider: "Activer{{name}}",
|
||
unavailable: "Connectez-vous à cet hôte pour voir les fournisseurs",
|
||
loading: "Chargement...",
|
||
addErrorTitle: "Unable to add provider",
|
||
updateErrorTitle: "Impossible de mettre à jour le fournisseur",
|
||
actions: {
|
||
menu: "{{name}} actions",
|
||
remove: "Remove provider",
|
||
removing: "Removing...",
|
||
},
|
||
remove: {
|
||
confirmTitle: "Remove {{name}}?",
|
||
confirmMessage: "This deletes the provider entry from config.json. It cannot be undone.",
|
||
confirm: "Remove",
|
||
errorTitle: "Unable to remove provider",
|
||
},
|
||
statuses: {
|
||
disabled: "Désactivé",
|
||
loading: "Chargement",
|
||
error: "Erreur",
|
||
available: "Disponible",
|
||
notInstalled: "Non installé",
|
||
},
|
||
models: {
|
||
one: "1 modèle",
|
||
many: "{{count}} modèles",
|
||
addModel: "Ajouter un modèle",
|
||
addCustomTitle: "Ajouter un modèle personnalisé",
|
||
modelId: "ModèleID",
|
||
modelIdPlaceholder: "par ex. ouvert/gpt-5",
|
||
add: "Ajouter",
|
||
adding: "Ajout...",
|
||
failedToSave: "Échec de l'enregistrement du modèle",
|
||
removeModel: "Supprimer{{id}}",
|
||
searchPlaceholder: "Rechercher des modèles",
|
||
loading: "Chargement des modèles...",
|
||
retry: "Réessayer",
|
||
retrying: "Nouvelle tentative...",
|
||
noSearchMatches: "Aucun modèle ne correspond à votre recherche",
|
||
noneDetected: "Aucun modèle détecté",
|
||
discovered: "Découvert",
|
||
custom: "Modèles personnalisés",
|
||
updated: "{{time}}mis à jour",
|
||
},
|
||
diagnostic: {
|
||
title: "Diagnostique",
|
||
button: "Diagnostique",
|
||
refresh: "Rafraîchir",
|
||
refreshing: "Rafraîchissant...",
|
||
copyLabel: "diagnostic",
|
||
copyAccessibility: "Copier le diagnostic",
|
||
copyFailed: "Échec de la copie du diagnostic",
|
||
refreshAccessibility: "Actualiser le diagnostic",
|
||
refreshingAccessibility: "Diagnostic rafraîchissant",
|
||
running: "Exécution du diagnostic...",
|
||
none: "Aucun diagnostic disponible",
|
||
failedToFetch: "Échec de la récupération du diagnostic",
|
||
unknownError: "Erreur inconnue",
|
||
},
|
||
},
|
||
project: {
|
||
noEditableTarget: "Ce projet n'est pas modifiable sur cet hôte.",
|
||
backToProjects: "Retour aux projets",
|
||
edit: {
|
||
title: "Modifier le projet",
|
||
name: "Nom",
|
||
nameLabel: "Nom du projet",
|
||
icon: "Icône",
|
||
chooseImage: "Choisir une image",
|
||
useAutomatic: "Utiliser l'automatique",
|
||
imageUrl: "URL d'image ou de site",
|
||
save: "Enregistrer",
|
||
savedToast: "Projet mis à jour",
|
||
},
|
||
readFailures: {
|
||
invalidTitle: "paseo.json n'a pas pu être analysé",
|
||
invalidDescription: "Corrigez le fichier sur le disque, puis rechargez.",
|
||
missingTitle: "Cet hôte n'a pas ce projet",
|
||
missingSingleHost: "L'hôte sélectionné n'a aucune trace de ce projet.",
|
||
transportTitle: "Impossible de charger paseo.json",
|
||
transportFallback: "L'hôte n'a pas répondu.",
|
||
failedTitle: "Impossible de charger paseo.json",
|
||
failedDescription: "Rechargez pour réessayer.",
|
||
},
|
||
worktree: {
|
||
title: "Crochets de cycle de vie Worktree",
|
||
info: "Commandes exécutées lorsqu'un arbre de travail est créé ou supprimé pour ce projet",
|
||
docs: "Documents",
|
||
docsTooltip:
|
||
"Voir la documentation pour plus de détails et les variables d'environnement disponibles pour ces commandes",
|
||
setup: "Installation",
|
||
setupAccessibility: "Commandes de configuration de Worktree",
|
||
teardown: "Démolir",
|
||
teardownAccessibility: "Commandes de démontage de Worktree",
|
||
},
|
||
scripts: {
|
||
title: "Scripts",
|
||
info: "Services de longue durée et commandes ponctuelles que vous pouvez lancer à partir de n'importe quel agent de ce projet",
|
||
empty: "Pas encore de scripts.",
|
||
untitled: "Script sans titre",
|
||
port: "port{{port}}",
|
||
menuAccessibility: "Ouvrir le menu des scripts",
|
||
removeTitle: "Supprimer le script?",
|
||
removeMessage: "Supprimer{{name}}?",
|
||
removeFallbackName: "ce scénario",
|
||
name: "Nom",
|
||
command: "Commande",
|
||
nameAccessibility: "Nom du script",
|
||
commandAccessibility: "Commande de script",
|
||
nameRequired: "Le nom est requis",
|
||
commandRequired: "La commande est requise",
|
||
newScript: "Nouveau scénario",
|
||
editScript: "Modifier{{name}}",
|
||
runAsService: "Exécuter en tant que service",
|
||
serviceHint: "Paseosupervise le processus et attribue un port via $PASEO_PORT",
|
||
actions: {
|
||
add: "Ajouter un script",
|
||
edit: "Modifier",
|
||
remove: "Retirer",
|
||
},
|
||
},
|
||
metadata: {
|
||
title: "Génération de métadonnées",
|
||
info: "Instructions spécifiques au projet injectées dans les invites de l'IA quePaseoutilise pour générer des métadonnées: utilisez-les pour appliquer les conventions de votre équipe telles que la dénomination des branches, le style de validation ou le formatPR.",
|
||
branchName: "Noms des succursales",
|
||
branchNamePlaceholder:
|
||
"Préfixez les branches avec feat/ ou fix/, mb/ pour les branches personnelles",
|
||
commitMessage: "Valider les messages",
|
||
commitMessagePlaceholder: "Utiliser des commits conventionnels avec une portée",
|
||
pullRequest: "Demandes de tirage",
|
||
pullRequestPlaceholder:
|
||
"Commencez avec un résumé d'un paragraphe, incluez une section sur le plan de test",
|
||
},
|
||
writeFailures: {
|
||
staleTitle: "Configuration modifiée sur le disque",
|
||
staleDescription: "Rechargez pour récupérer le dernier paseo.json avant de sauvegarder.",
|
||
failedTitle: "Impossible d'enregistrer paseo.json",
|
||
failedDescription: "Réessayez ou rechargez la dernière version à partir du disque.",
|
||
},
|
||
actions: {
|
||
reload: "Recharger",
|
||
tryAgain: "Essayer à nouveau",
|
||
save: "Sauvegarder",
|
||
saved: "Projet enregistré",
|
||
saving: "Sauvegarde...",
|
||
cancel: "Annuler",
|
||
},
|
||
},
|
||
},
|
||
};
|