d3ro-voice/packages/i18n/src/locales/fr.json
Yun Chan 5c11ee2fde
Some checks failed
deploy-site / deploy (push) Failing after 33s
portable-unsigned / portable-windows (push) Failing after 4m7s
release / release-windows (push) Failing after 3m16s
release: ship v1.5.0 with on-device writing suggestions
Adds next-sentence suggestions while typing, weekly input insights and a
personal phrase memory to the desktop app, and fixes custom instructions so
they process the text instead of inserting the instruction's own wording.
Local model requests are now bounded and individually cancellable.

Bumps the product version to 1.5.0 (Android/iOS build 1050000), refreshes the
landing and web download links, and records the new INPUT feature rows and the
open verification gaps in the infrastructure map.
2026-09-23 16:04:27 +09:00

516 lines
29 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.

{
"app.name": "D3RO Voice",
"app.tagline": "Assistant vocal IA local",
"nav.dashboard": "Tableau de bord",
"nav.history": "Historique",
"nav.dictionary": "Dictionnaire",
"nav.commands": "Commandes",
"nav.settings": "Paramètres",
"nav.meetings": "Réunions",
"nav.record": "Enregistrer",
"nav.chat": "Chat",
"nav.knowledge": "Connaissance",
"nav.actions": "Actions",
"nav.teams": "Équipes",
"nav.billing": "Facturation",
"nav.logout": "Déconnexion",
"login.subtitle": "Assistant vocal IA",
"login.google": "Continuer avec Google",
"login.github": "Continuer avec GitHub",
"login.terms": "En continuant, vous acceptez les Conditions d'utilisation et la Politique de confidentialité.",
"dashboard.systemStatus": "État du système",
"dashboard.sessionsToday": "Sessions aujourd'hui",
"dashboard.pressToRecord": "Appuyez sur {{key}} pour commencer l'enregistrement",
"dashboard.hotkeyNotSet": "Raccourci non configuré",
"dashboard.words": "mots",
"dashboard.total": "total",
"dashboard.days": "jours",
"dashboard.sessions": "sessions",
"dashboard.recentTranscriptions": "Transcriptions récentes",
"dashboard.noHistory": "Aucun historique — appuyez sur le raccourci pour commencer à enregistrer",
"dashboard.entries": "{{count}} entrées",
"dashboard.currentBackend": "Backend actuel",
"dashboard.backendLocal": "Local (Ollama)",
"dashboard.backendPremium": "Premium (Claude)",
"history.title": "Historique des transcriptions",
"history.search": "Rechercher...",
"history.entries": "{{count}} entrées",
"history.noResults": "Aucun résultat",
"history.noHistory": "Aucun historique — commencez à enregistrer",
"history.count": "{{count}} entrées",
"dictionary.title": "Dictionnaire personnalisé",
"dictionary.words": "{{count}} mots",
"dictionary.add": "Ajouter",
"dictionary.search": "Rechercher...",
"dictionary.noResults": "Aucun résultat",
"dictionary.noWords": "Aucun mot — ajoutez des mots personnalisés pour améliorer la précision du STT",
"dictionary.used": "utilisé {{count}} fois",
"dictionary.editTitle": "Modifier le mot",
"dictionary.addTitle": "Ajouter un mot",
"dictionary.word": "Mot",
"dictionary.pronunciation": "Prononciation (facultatif)",
"commands.title": "Commandes LLM",
"commands.count": "{{count}} commandes",
"commands.add": "Ajouter",
"commands.activeCommand": "Commande active",
"commands.none": "Aucune",
"commands.noCommands": "Aucune commande — cliquez sur ajouter pour en créer une",
"commands.editTitle": "Modifier la commande",
"commands.addTitle": "Ajouter une commande",
"commands.name": "Nom",
"commands.description": "Description",
"commands.promptTemplate": "Modèle de prompt",
"commands.promptHelp": "{{text}} sera remplacé par le texte transcrit",
"commands.defaultPrompt": "Veuillez améliorer {{text}}.",
"settings.title": "Paramètres",
"settings.tabs.general": "Général",
"settings.tabs.audio": "Audio",
"settings.tabs.stt": "STT",
"settings.tabs.llm": "LLM",
"settings.tabs.cloud": "Cloud",
"settings.tabs.about": "À propos",
"settings.shortcuts": "Raccourcis",
"settings.dictation": "Dictée",
"settings.dictation.desc": "Maintenez enfoncé pour parler. La transcription démarre au relâchement.",
"settings.agent": "Mode agent",
"settings.agent.descWithKey": "Double-cliquez sur {{key}} pour entrer en mode agent.",
"settings.agent.descNoKey": "Configurez d'abord le raccourci de dictée.",
"settings.oneTouch": "Mode une touche",
"settings.oneTouch.desc": "Appuyez pour démarrer, appuyez à nouveau pour arrêter. Nécessite un raccourci distinct.",
"settings.key": "Touche",
"settings.notSet": "Non configuré",
"settings.enabled": "Activé",
"settings.disabled": "Désactivé",
"settings.interface": "Interface",
"settings.theme": "Thème",
"settings.theme.system": "Système",
"settings.theme.light": "Clair",
"settings.theme.dark": "Sombre",
"settings.language": "Langue",
"settings.appBehavior": "Comportement de l'application",
"settings.closeToTray": "Réduire dans la barre système",
"settings.autoLaunch": "Lancer au démarrage du système",
"settings.autoInsert": "Insérer le texte automatiquement après la transcription",
"settings.soundEffects": "Effets sonores",
"settings.microphone": "Microphone",
"settings.inputDevice": "Périphérique d'entrée",
"settings.deviceDefault": "(par défaut)",
"settings.textInsert": "Insertion de texte",
"settings.insertMethod": "Méthode d'insertion",
"settings.insertClipboard": "Presse-papiers (Ctrl+V)",
"settings.insertKeyboard": "Frappe au clavier",
"settings.whisperModel": "Modèle Whisper",
"settings.model.tiny": "tiny (39 Mo, le plus rapide)",
"settings.model.base": "base (74 Mo, équilibré)",
"settings.model.small": "small (244 Mo, bon)",
"settings.model.medium": "medium (769 Mo, très bon)",
"settings.model.large": "large-v3 (1,5 Go, meilleur)",
"settings.model.largeTurbo": "large-v3-turbo (1,6 Go, rapide et précis)",
"settings.sttLanguage": "Langue de reconnaissance",
"settings.sttLang.auto": "Détection automatique",
"settings.ollamaServer": "Serveur Ollama",
"settings.ollamaUrl": "URL du serveur Ollama",
"settings.ollamaHint": "D3RO Voice se connecte automatiquement quand Ollama est en cours d'exécution. Téléchargez les modèles directement depuis Ollama (ex : ollama pull gemma4:e4b).",
"settings.postProcess": "Post-traitement vocal",
"settings.defaultAction": "Action de post-traitement par défaut",
"settings.action.none": "Aucune (texte original inchangé)",
"settings.action.refine": "Affiner (grammaire + naturel)",
"settings.action.translate": "Traduire",
"settings.action.summarize": "Résumer",
"settings.action.grammar": "Correction grammaticale",
"settings.action.custom": "Prompt personnalisé",
"settings.actionHint": "Le post-traitement LLM sélectionné est appliqué au texte transcrit après l'enregistrement avec le raccourci. Ne fonctionne que lorsque Ollama est connecté.",
"settings.about.version": "Version",
"settings.about.techStack": "Stack technologique",
"settings.about.techStackValue": "Electron + React 19 + MUI 7 + TypeScript",
"settings.about.voiceEngine": "Moteur vocal",
"settings.about.voiceEngineValue": "STT : faster-whisper (local) / LLM : Ollama (local)",
"settings.about.description": "Assistant vocal IA entièrement local, basé sur l'ingénierie inverse de Speakly. Fonctionne sans dépendance au cloud.",
"settings.about.restartOnboarding": "Revoir le guide de configuration initiale",
"status.nudge.title": "Ollama n'est pas en cours d'exécution",
"status.nudge.desc": "Ollama est nécessaire pour le post-traitement LLM (traduction, résumé, etc.).",
"status.nudge.guide": "Voir le guide d'installation →",
"hotkey.title": "Configurer le raccourci",
"hotkey.dictationTitle": "Configurer le raccourci de dictée",
"hotkey.oneTouchTitle": "Configurer le raccourci du mode une touche",
"hotkey.prompt": "Appuyez sur une combinaison de touches...",
"hotkey.ready": "✓ {{keys}} — appuyez sur enregistrer",
"hotkey.noKey": "Veuillez saisir une touche",
"hotkey.reserved": "{{keys}} est un raccourci réservé par le système",
"hotkey.current": "Actuel : {{keys}}",
"hotkey.hint": "Saisissez une combinaison (ex : Ctrl+Shift+Q) ou une touche seule (ex : F5)",
"hotkey.reset": "Ressaisir",
"ollama.title": "GUIDE DE CONFIGURATION OLLAMA",
"ollama.step1.title": "ÉTAPE 1 — Installer Ollama",
"ollama.step1.desc": "Ollama est un outil gratuit pour exécuter des LLM en local.",
"ollama.step2.title": "ÉTAPE 2 — Télécharger un modèle",
"ollama.step2.desc": "Exécutez la commande suivante dans le terminal pour télécharger le modèle recommandé :",
"ollama.step2.alt": "Ou un modèle plus grand : ollama pull gemma4:26b (plus précis, plus lent)",
"ollama.step3.title": "ÉTAPE 3 — Connexion automatique",
"ollama.step3.desc": "D3RO-VOICE détecte automatiquement quand Ollama est en cours d'exécution. Quand la LED de la barre d'état passe du rouge au vert, c'est prêt !",
"service.sttEngine": "MOTEUR STT",
"service.ollamaLlm": "OLLAMA LLM",
"service.hotkeyHook": "RACCOURCI CLAVIER",
"service.audioInput": "ENTRÉE AUDIO",
"service.ready": "PRÊT",
"service.connected": "CONNECTÉ",
"service.offline": "HORS LIGNE",
"service.active": "ACTIF",
"service.standby": "EN VEILLE",
"service.premiumLlm": "PREMIUM LLM",
"service.notConfigured": "NOT SET",
"common.cancel": "Annuler",
"common.save": "Enregistrer",
"common.delete": "Supprimer",
"common.close": "Fermer",
"common.confirm": "Confirmer",
"common.loading": "Chargement...",
"common.copy": "Copier",
"common.test": "Tester",
"common.stop": "Arrêter",
"date.today": "Aujourd'hui",
"date.yesterday": "Hier",
"settings.theme.nord": "Nord",
"settings.theme.solarized": "Solarized",
"settings.theme.catppuccin": "Catppuccin",
"settings.theme.dracula": "Dracula",
"settings.sttLang.ko": "Coréen",
"settings.sttLang.en": "Anglais",
"settings.sttLang.ja": "Japonais",
"settings.sttLang.zh": "Chinois",
"template.outputHelperText": "Utilisez {{nomChamp}} pour les espaces réservés",
"nav.meeting": "Réunion",
"meeting.title": "Mode Réunion",
"meeting.newMeeting": "Nouvelle Réunion",
"meeting.stopRecording": "Arrêter l'enregistrement",
"meeting.recording": "Enregistrement en cours",
"meeting.processing": "Génération du compte-rendu...",
"meeting.completed": "Terminé",
"meeting.error": "Erreur",
"meeting.memoPlaceholder": "Saisir un mémo (Entrée pour ajouter)",
"meeting.noSessions": "Aucun enregistrement de réunion",
"meeting.noSessionsDesc": "Appuyez sur Nouvelle Réunion pour commencer l'enregistrement",
"meeting.transcript": "Transcription brute",
"meeting.memos": "Mémos",
"meeting.sessions": "{{count}} séances",
"meeting.duration": "{{minutes}} min",
"meeting.editTitle": "Modifier le titre",
"meeting.untitled": "Réunion sans titre",
"meeting.processingStep.merging": "Fusion de la transcription...",
"meeting.processingStep.generating": "Génération du compte-rendu avec LLM...",
"meeting.processingStep.parsing": "Analyse du compte-rendu...",
"meeting.processingStep.saving": "Enregistrement...",
"meeting.processingStep.notifying": "Envoi de la notification...",
"meeting.transcriptTab": "Transcription",
"meeting.addDocument": "Ajouter un document",
"meeting.selectTemplate": "Choisir un modèle",
"meeting.generate": "Générer",
"meeting.generating": "Génération du document...",
"meeting.editMode": "Éditer",
"meeting.previewMode": "Aperçu",
"meeting.modified": "Modifié",
"meeting.originalText": "Original",
"meeting.editedText": "Édité",
"meeting.exportDocx": "Exporter DOCX",
"meeting.exportTxt": "Exporter TXT",
"meeting.exportFormat": "Exporter",
"meeting.customPrompt": "Invite personnalisée",
"meeting.templateName": "Nom du modèle",
"meeting.templatePrompt": "Invite IA",
"meeting.downloadTranscript": "Télécharger la transcription",
"meeting.polish": "Peaufiner avec IA",
"meeting.polishing": "L'IA peaufine la transcription...",
"meeting.chat": "Chat IA",
"meeting.chatPlaceholder": "Posez une question sur la réunion...",
"meeting.chatClear": "Effacer le chat",
"meeting.copyToClipboard": "Copier dans le presse-papiers",
"meeting.chatCollapse": "Réduire le chat",
"meeting.chatExpand": "Agrandir le chat",
"meeting.chatReasoning": "Raisonnement…",
"meeting.exportMd": "Markdown (.md)",
"meeting.exportPdfFmt": "PDF (.pdf)",
"meeting.polishFailed": "Echec du polish IA",
"meeting.viewDetailError": "Impossible de charger les détails de la réunion",
"meeting.startRecordingError": "Impossible de démarrer l'enregistrement",
"meeting.diarize": "Identifier les locuteurs",
"meeting.diarizing": "Identification des locuteurs...",
"settings.hfToken": "Token HuggingFace",
"settings.hfTokenHint": "Un token HuggingFace est requis pour l'identification des locuteurs",
"settings.diarization": "Identification des locuteurs",
"settings.diarizationHint": "Identifier automatiquement les locuteurs après l'enregistrement",
"theme.label": "Thème",
"theme.dark": "Sombre",
"theme.light": "Clair",
"theme.auto": "Auto (système)",
"theme.nord": "Nord",
"theme.solarized": "Solarized",
"theme.catppuccin": "Catppuccin",
"theme.dracula": "Dracula",
"license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan",
"license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet",
"license.modelOpus": "Opus",
"license.quotaWeekly": "weekly",
"license.quotaDaily": "daily",
"mobile.works.title": "WORKS",
"mobile.works.count": "{{count}} fonctions",
"mobile.works.searchPlaceholder": "Rechercher une fonction",
"mobile.works.pinned": "Épinglé",
"mobile.works.pin": "Épingler",
"mobile.works.unpin": "Détacher",
"mobile.works.emptySearch": "Aucune fonction correspondante.",
"mobile.works.section.meetings": "Travail de réunion",
"mobile.works.section.team": "Équipe et savoir",
"mobile.works.section.data": "Données et alertes",
"mobile.works.historyDescription": "Recherchez et gérez les transcriptions des enregistrements et importations.",
"mobile.meetings.templateEmpty": "Aucun modèle de document de réunion disponible. Vous pouvez démarrer la réunion sans modèle.",
"mobile.meetings.templateNone": "Démarrer sans modèle",
"mobile.meetings.templateNoneDesc": "Choisissez un modèle lors de la génération de documents",
"keybinding.mouse.left": "Bouton gauche de la souris",
"keybinding.mouse.right": "Bouton droit de la souris",
"keybinding.mouse.middle": "Bouton du milieu de la souris",
"keybinding.mouse.back": "Bouton Précédent de la souris",
"keybinding.mouse.forward": "Bouton Suivant de la souris",
"keybinding.group.mouse": "Souris",
"keybinding.group.modifier": "Touches de modification",
"keybinding.group.function": "Touches de fonction",
"keybinding.group.letter": "Lettres",
"keybinding.group.digit": "Chiffres",
"keybinding.group.numpad": "Pavé numérique",
"keybinding.group.navigation": "Navigation",
"keybinding.group.editing": "Édition",
"keybinding.group.punctuation": "Symboles",
"keybinding.group.system": "Système",
"keybinding.action.dictation": "Dictée",
"keybinding.action.dictation.desc": "Enregistre tant que la touche est maintenue.",
"keybinding.action.handsFree": "Mode une touche",
"keybinding.action.handsFree.desc": "Appuyez deux fois pour activer ou désactiver.",
"keybinding.action.command": "Commandes vocales",
"keybinding.action.command.desc": "Exécute une commande à la voix.",
"keybinding.action.caption": "Sous-titres en direct",
"keybinding.action.caption.desc": "Active ou désactive les sous-titres en direct.",
"keybinding.action.historyPopup": "Fenêtre d'historique",
"keybinding.action.historyPopup.desc": "Ouvre la fenêtre contextuelle de l'historique.",
"keybinding.action.commandPopup": "Fenêtre de commandes",
"keybinding.action.commandPopup.desc": "Ouvre la fenêtre contextuelle des commandes.",
"keybinding.reject.unknownKey": "Cette touche n'est pas prise en charge",
"keybinding.reject.systemReserved": "Il s'agit d'un raccourci réservé au système",
"keybinding.reject.modifierRequired": "Doit être combinée avec une touche de modification (Ctrl/Alt/Maj)",
"keybinding.disabled.mouseLeft": "Le clic gauche sert à toutes les interactions à l'écran, il ne peut pas être affecté",
"keybinding.warning.mousePassthrough": "Les boutons de la souris conservent aussi leur action d'origine",
"keybinding.ui.add": "Ajouter",
"keybinding.ui.remove": "Supprimer",
"keybinding.ui.reset": "Valeurs par défaut",
"keybinding.ui.tabRecord": "Appuyer sur une touche",
"keybinding.ui.tabList": "Choisir dans la liste",
"keybinding.ui.search": "Rechercher une touche",
"keybinding.ui.searchEmpty": "Aucun résultat",
"keybinding.ui.pressKeys": "Appuyez sur la touche ou le bouton de souris souhaité",
"keybinding.ui.noBindings": "Aucun raccourci défini",
"keybinding.ui.conflictWith": "En conflit avec {{action}}",
"keybinding.ui.modifiers": "Touches de modification",
"keybinding.ui.selectedKey": "Touche sélectionnée",
"keybinding.ui.sectionVoice": "Voix",
"keybinding.ui.sectionWindow": "Fenêtres / Pop-ups",
"keybinding.ui.duplicate": "Ce raccourci est déjà ajouté",
"keybinding.ui.holdMode": "Maintien",
"keybinding.ui.doublePress": "Double appui",
"keybinding.ui.pickerTitle": "Configurer le raccourci",
"keybinding.ui.pressToRecord": "Appuyez pour commencer l'enregistrement",
"keybinding.ui.recordHint": "Saisissez une combinaison (ex : Ctrl+Shift+Q) ou une touche seule (ex : F5)",
"keybinding.ui.recordAgain": "Ressaisir",
"keybinding.ui.saveFailed": "Le raccourci n'a pas pu être enregistré",
"keybinding.ui.globalEnabled": "Activer les raccourcis globaux",
"input.tab": "Saisie",
"input.consent.title": "Collecte des données de saisie",
"input.consent.description": "Facultatif. Nous comptons les frappes et les clics et mesurons la distance parcourue par la souris pour afficher vos habitudes de saisie. Les touches pressées ne sont jamais enregistrées.",
"input.consent.collect": "Collecter les statistiques clavier et souris",
"input.consent.running": "Collecte en cours.",
"input.consent.stopped": "La collecte est désactivée. Rien n’est enregistré.",
"input.consent.pause": "Suspendre la collecte",
"input.consent.learnText": "Apprendre le texte que je saisis",
"input.consent.learnTextHint": "Lit le champ de saisie actif pour apprendre votre style. Les champs de mot de passe sont toujours ignorés.",
"input.consent.excludedApps": "Applications exclues",
"input.consent.excludedAppsPlaceholder": "keepassxc.exe, 1password.exe",
"input.consent.excludedAppsHint": "Noms d’exécutables séparés par des virgules. Rien n’est lu ni compté dans ces applications.",
"input.consent.clearAll": "Supprimer les données collectées",
"input.suggestion.title": "Suggestions de phrase suivante",
"input.suggestion.description": "Prédit la phrase que vous allez écrire et l’affiche près du curseur. Acceptez pour l’insérer.",
"input.suggestion.enabled": "Afficher les suggestions pendant la saisie",
"input.suggestion.modelReady": "Modèle local prêt.",
"input.suggestion.modelMissing": "Le modèle local n’est pas démarré — suggestions désactivées.",
"input.suggestion.delay": "Délai (ms)",
"input.suggestion.minPrefix": "Caractères minimum",
"input.suggestion.modelDefault": "Utiliser le modèle par défaut",
"input.suggestion.overlayInteractive": "Autoriser le clic sur la suggestion",
"input.suggestion.overlayVisible": "Suggestion affichée",
"input.suggestion.keyHint": "Accepter, parcourir et fermer sont des raccourcis globaux — modifiez-les dans Réglages > Raccourcis.",
"input.suggestion.requestNow": "Suggérer maintenant",
"input.suggestion.usage": "{{requests}} sur {{budget}} requêtes utilisées aujourd’hui",
"input.suggestion.lastSkip": "Dernier motif d’ignorance : {{reason}}",
"input.insights.title": "{{days}} derniers jours",
"input.insights.keystrokes": "Frappes",
"input.insights.clicks": "Clics",
"input.insights.words": "Mots saisis",
"input.insights.sentences": "Phrases",
"input.insights.mouseDistance": "Trajet de la souris",
"input.insights.perDayMeters": " m/jour",
"input.insights.phrases": "Phrases personnelles",
"input.insights.empty": "Aucune activité collectée pour le moment.",
"input.insights.topApps": "Où vous saisissez le plus",
"input.insights.appRow": "{{keystrokes}} touches · {{clicks}} clics",
"input.insights.privacyNote": "Seuls des compteurs et des distances sont stockés sur cet appareil. Le contenu des touches n’est jamais enregistré.",
"input.phrases.title": "Phrases personnelles",
"input.phrases.description": "Phrases apprises de votre saisie et de votre dictée, utilisées pour imiter votre style.",
"input.phrases.empty": "Rien appris pour l’instant.",
"input.phrases.delete": "Supprimer la phrase",
"input.feedback.excludedSaved": "Exclusions enregistrées.",
"input.feedback.cleared": "Données collectées supprimées.",
"popup.suggestion.hintAccept": "Accepter",
"popup.suggestion.hintNext": "Suivant",
"popup.suggestion.hintDismiss": "Fermer",
"popup.suggestion.loading": "Génération…",
"keybinding.ui.sectionInput": "Suggestions de saisie",
"keybinding.action.suggestionAccept": "Accepter la suggestion",
"keybinding.action.suggestionAccept.desc": "Insère la phrase suggérée dans l’application active.",
"keybinding.action.suggestionNext": "Suggestion suivante",
"keybinding.action.suggestionNext.desc": "Passe au candidat suivant.",
"keybinding.action.suggestionDismiss": "Fermer la suggestion",
"keybinding.action.suggestionDismiss.desc": "Masque la suggestion actuelle.",
"input.suggestion.timeout": "Limite de réponse (ms)",
"input.suggestion.latency": "Dernière réponse : {{ms}} ms",
"input.suggestion.slowWarning": "Plus lent que la frappe — essayez un modèle plus petit.",
"input.diagnostics.title": "Diagnostic en direct",
"input.diagnostics.app": "Application active : {{app}}",
"input.diagnostics.unknownApp": "(inconnue)",
"input.diagnostics.noSnapshot": "Aucun champ lu pour le moment — cliquez dans un champ de texte et tapez.",
"input.diagnostics.readable": "Champ lisible ({{source}}, {{length}} caractères) — les suggestions peuvent fonctionner.",
"input.diagnostics.notReadable": "Cette application n'expose pas son champ de texte : ce qui est saisi n'est pas lisible, donc aucune suggestion.",
"input.diagnostics.password": "Champ de mot de passe — lecture bloquée par conception.",
"input.diagnostics.caretFallback": "Position du curseur inconnue ; fin du document utilisée.",
"input.diagnostics.composing": "Composition IME en cours — la suggestion arrive un peu plus tard.",
"input.suggestion.onScreenLabel": "État de l'overlay",
"input.suggestion.onScreen": "À l’écran",
"input.suggestion.offScreen": "Masqué",
"input.suggestion.generating": "Génération…",
"input.kbView.knowledge": "Base de connaissances",
"input.kbView.insights": "Analyse de saisie",
"input.insights.tabs.overview": "Aperçu",
"input.insights.tabs.keyboard": "Clavier",
"input.insights.tabs.mouse": "Souris",
"input.insights.tabs.apps": "Applications",
"input.insights.tabs.phrases": "Phrases · suggestions",
"input.insights.chars": "Caractères saisis",
"input.insights.wordChars": "Caractères",
"input.insights.backspaces": "Retours arrière",
"input.insights.shortcuts": "Raccourcis",
"input.insights.doubleClicks": "Doubles clics",
"input.insights.scrollTicks": "Défilement",
"input.insights.activeMinutes": "Temps actif",
"input.insights.activeDays": "Jours enregistrés",
"input.insights.streak": "Plus longue série",
"input.insights.peakDay": "Jour le plus actif",
"input.insights.perDayAverage": "Moyenne journalière",
"input.insights.mouseDistanceTotal": "Trajet total de la souris",
"input.insights.hourlyTitle": "Par heure (0-23)",
"input.insights.dailyTitle": "Évolution quotidienne",
"input.insights.wordsDailyTitle": "Mots par jour",
"input.insights.distanceDailyTitle": "Trajet quotidien de la souris",
"input.insights.topHoursHint": "Busiest hours: {{hours}}",
"input.insights.mouseNote": "Mouse travel is the sum of per-axis absolute deltas (Manhattan), the same measure ActivityWatch uses.",
"input.insights.appsHint": "Top apps by typing volume. The bar is that app’s share of all keystrokes.",
"input.insights.suggestions": "Suggestions",
"input.insights.suggestionsTotal": "Générées",
"input.insights.suggestionsAccepted": "Acceptées",
"input.insights.acceptRate": "Taux d'acceptation",
"input.insights.avgLatency": "Réponse moyenne",
"input.insights.suggestionHistory": "Suggestions récentes",
"input.insights.accepted": "acceptée",
"input.insights.notAccepted": "non acceptée",
"input.insights.noSuggestions": "No suggestions recorded yet.",
"input.insights.samplesNote": "{{count}} learned samples.",
"input.insights.collectedAt": "Last capture {{at}}",
"input.insights.rangeLabel": "Période",
"input.insights.rangeDays": "{{days}} jours",
"input.insights.headerSummary": "Last {{days}} days · {{keys}} keystrokes · {{apps}} apps",
"input.insights.disabledHint": "Input collection is off. Turn it on in Settings > Input and statistics will collect here.",
"input.insights.statsMovedHint": "Les statistiques détaillées se trouvent dans Base de connaissances > Analyse de saisie.",
"input.chart.max": "max {{value}}",
"input.chart.noData": "Pas encore de données.",
"input.unit.perDay": "/jour",
"input.unit.perDayMeters": "m/jour",
"input.unit.meters": "m",
"input.unit.ms": "ms",
"input.unit.percent": "%",
"popup.suggestion.warming": "Préparation du modèle…",
"popup.suggestion.hintGenerating": "Génération…",
"keybinding.action.suggestionPrev": "Suggestion précédente",
"keybinding.action.suggestionPrev.desc": "Passe au candidat précédent.",
"input.insights.tabs.graph": "Graphe",
"input.graph.description": "Your sentences are stored as nodes and their relations as edges (what follows what, which share terms) so suggestions can pull personal context. Local only.",
"input.graph.nodes": "Nœuds de phrase",
"input.graph.followsEdges": "Liens de suite",
"input.graph.sharesEdges": "Liens par termes",
"input.graph.topEdges": "Liens les plus forts",
"input.graph.recentNodes": "Nœuds récents",
"input.graph.searchLabel": "Rechercher une phrase",
"input.graph.searchPlaceholder": "e.g. meeting schedule",
"input.graph.searchAction": "Rechercher",
"input.graph.neighbors": "Phrases connectées",
"input.graph.empty": "The graph is empty. Enable \"Learn the text I type\" in Settings > Input and it fills up.",
"input.graph.kindFollows": "suite",
"input.graph.kindShares": "termes partagés",
"popup.suggestion.generating": "Génération… ({{seconds}} s)",
"keybinding.ui.auditClear": "Aucun conflit ni réglage de raccourci invalide.",
"keybinding.ui.auditIssues": "{{count}} problèmes de raccourcis",
"keybinding.ui.auditInvalid": "{{action}} : {{reason}}",
"keybinding.ui.auditConflict": "{{action}} est en conflit avec {{conflicts}}",
"keybinding.ui.auditUnknown": "Problème inconnu",
"input.flow.title": "Créneaux de concentration probables",
"input.flow.empty": "Pas encore assez de données de saisie par heure.",
"input.flow.hour": "{{hour}}:00",
"input.flow.window": "Score {{score}} · {{minutes}} min actives/jour · {{friction}} % de modifications",
"input.friction.title": "Friction d’édition",
"input.friction.value": "{{count}} pour 100 caractères",
"input.friction.band.steady": "Stable",
"input.friction.band.watch": "À surveiller",
"input.friction.band.high": "Élevée",
"input.appQuality.title": "Qualité des suggestions par app",
"input.appQuality.empty": "Pas encore d’historique de suggestions par app.",
"input.appQuality.row": "{{accepted}}/{{total}} acceptées · {{rate}} % · {{latency}} ms",
"input.phrases.metadata": "{{source}} · {{count}}× · {{app}}",
"input.phrases.appUnknown": "Partagé",
"input.privacy.title": "Reçu de données locales",
"input.privacy.localOnly": "Ces données restent sur cet appareil.",
"input.privacy.rawKeys": "Les événements individuels et codes de touches bruts ne sont pas conservés. Les échantillons de texte appris sont indiqués séparément ci-dessous.",
"input.privacy.activityRetention": "Conservation de l’activité",
"input.privacy.suggestionRetention": "Conservation des suggestions",
"input.privacy.learnedRetention": "Conservation du texte appris",
"input.privacy.activityBuckets": "Blocs d’activité",
"input.privacy.typingSamples": "Échantillons de saisie",
"input.privacy.personalPhrases": "Phrases personnelles",
"input.privacy.suggestions": "Enregistrements de suggestions",
"input.privacy.days": "{{days}} jours",
"input.privacy.untilDeleted": "Jusqu’à suppression",
"input.exclusion.recommendation": "{{app}} a eu {{samples}} saisies illisibles répétées ({{reason}}).",
"input.exclusion.reason.repeated-unreadable": "illisible à répétition",
"input.exclusion.reason.repeated-empty": "vide à répétition",
"input.exclusion.addButton": "Ajouter {{app}} aux exclusions",
"input.feedback.recommendationSaved": "{{app}} a été ajouté aux exclusions.",
"popup.suggestion.sourceModel": "Modèle local",
"popup.suggestion.sourceMemory": "Mémoire locale",
"popup.suggestion.continuations": "suites",
"popup.suggestion.related": "liées",
"popup.suggestion.phrases": "phrases",
"popup.suggestion.appPhrases": "phrases de l’app",
"input.privacy.typingSamplesRetention": "Conservation des échantillons de texte saisi",
"input.privacy.unavailable": "Le reçu de données locales est indisponible. Les quantités et durées de conservation ne sont pas affichées.",
"input.feedback.clearFailed": "Les données collectées n’ont pas pu être supprimées.",
"input.feedback.excludedFailed": "Les exclusions n’ont pas pu être enregistrées.",
"input.feedback.recommendationFailed": "Impossible d’ajouter {{app}} aux exclusions."
}