Phase 14 구현: 회의 모드 (Meeting Mode)
실시간 녹음 + 타임스탬프 메모 + STT 전사 + LLM 구조화 회의록 + PDF/MD 내보내기. CaptionService 연동, 동시 사용 충돌 방지, 긴 회의 2-pass 요약 지원. DB 2테이블, IPC 15채널, UI 3뷰(목록/녹음/상세), 12개 locale i18n.
This commit is contained in:
parent
dd68fc9ccd
commit
d0c4f9ee53
38 changed files with 2550 additions and 769 deletions
|
|
@ -1,13 +1,11 @@
|
|||
{
|
||||
"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",
|
||||
|
||||
"dashboard.sessionOverview": "Aperçu de session",
|
||||
"dashboard.systemStatus": "État du système",
|
||||
"dashboard.sessionsToday": "Sessions aujourd'hui",
|
||||
|
|
@ -26,7 +24,6 @@
|
|||
"dashboard.entries": "{{count}} entrées",
|
||||
"dashboard.stat": "statistiques",
|
||||
"dashboard.sys": "système",
|
||||
|
||||
"history.title": "Historique des transcriptions",
|
||||
"history.search": "Rechercher...",
|
||||
"history.entries": "{{count}} entrées",
|
||||
|
|
@ -34,7 +31,6 @@
|
|||
"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",
|
||||
|
|
@ -47,7 +43,6 @@
|
|||
"dictionary.addTitle": "Ajouter un mot",
|
||||
"dictionary.word": "Mot",
|
||||
"dictionary.pronunciation": "Prononciation (facultatif)",
|
||||
|
||||
"commands.title": "Commandes LLM",
|
||||
"commands.count": "{{count}} commandes",
|
||||
"commands.add": "Ajouter",
|
||||
|
|
@ -62,14 +57,12 @@
|
|||
"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.about": "À propos",
|
||||
|
||||
"settings.shortcuts": "Raccourcis",
|
||||
"settings.dictation": "Dictée",
|
||||
"settings.dictation.desc": "Maintenez enfoncé pour parler. La transcription démarre au relâchement.",
|
||||
|
|
@ -82,20 +75,17 @@
|
|||
"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)",
|
||||
|
|
@ -103,7 +93,6 @@
|
|||
"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é)",
|
||||
|
|
@ -112,7 +101,6 @@
|
|||
"settings.model.large": "large-v3 (1,5 Go, meilleur)",
|
||||
"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 qwen3:4b).",
|
||||
|
|
@ -125,7 +113,6 @@
|
|||
"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",
|
||||
|
|
@ -133,13 +120,11 @@
|
|||
"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.ollama": "OLLAMA",
|
||||
"status.offline": "HORS LIGNE",
|
||||
"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 →",
|
||||
|
||||
"onboarding.welcome.title": "D3RO-VOICE",
|
||||
"onboarding.welcome.desc": "Sans taper, par la voix. Votre assistant vocal IA local.",
|
||||
"onboarding.welcome.start": "Commencer",
|
||||
|
|
@ -160,7 +145,6 @@
|
|||
"onboarding.done.start": "Commencer",
|
||||
"onboarding.back": "Retour",
|
||||
"onboarding.next": "Suivant",
|
||||
|
||||
"hotkey.title": "Configurer le raccourci",
|
||||
"hotkey.dictationTitle": "Configurer le raccourci de dictée",
|
||||
"hotkey.oneTouchTitle": "Configurer le raccourci du mode une touche",
|
||||
|
|
@ -171,7 +155,6 @@
|
|||
"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.",
|
||||
|
|
@ -180,7 +163,6 @@
|
|||
"ollama.step2.alt": "Ou un modèle plus grand : ollama pull qwen3:8b (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",
|
||||
|
|
@ -190,7 +172,6 @@
|
|||
"service.offline": "HORS LIGNE",
|
||||
"service.active": "ACTIF",
|
||||
"service.standby": "EN VEILLE",
|
||||
|
||||
"common.cancel": "Annuler",
|
||||
"common.save": "Enregistrer",
|
||||
"common.delete": "Supprimer",
|
||||
|
|
@ -202,7 +183,51 @@
|
|||
"common.copy": "Copier",
|
||||
"common.test": "Tester",
|
||||
"common.stop": "Arrêter",
|
||||
|
||||
"date.today": "Aujourd'hui",
|
||||
"date.yesterday": "Hier"
|
||||
"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.startRecording": "Démarrer l'enregistrement",
|
||||
"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.elapsed": "Temps écoulé",
|
||||
"meeting.memoPlaceholder": "Saisir un mémo (Entrée pour ajouter)",
|
||||
"meeting.memoAdded": "Mémo ajouté",
|
||||
"meeting.noSessions": "Aucun enregistrement de réunion",
|
||||
"meeting.noSessionsDesc": "Appuyez sur Nouvelle Réunion pour commencer l'enregistrement",
|
||||
"meeting.summary": "Résumé",
|
||||
"meeting.decisions": "Décisions",
|
||||
"meeting.actionItems": "Actions à mener",
|
||||
"meeting.timeline": "Chronologie",
|
||||
"meeting.transcript": "Transcription brute",
|
||||
"meeting.memos": "Mémos",
|
||||
"meeting.exportPdf": "Exporter en PDF",
|
||||
"meeting.exportMarkdown": "Exporter en Markdown",
|
||||
"meeting.delete": "Supprimer",
|
||||
"meeting.deleteConfirm": "Supprimer cet enregistrement de réunion ?",
|
||||
"meeting.backToList": "Retour à la liste",
|
||||
"meeting.notificationTitle": "Compte-rendu prêt",
|
||||
"meeting.notificationBody": "Le compte-rendu de la réunion a été généré.",
|
||||
"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..."
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue