refactor(i18n): date 중복 버그 수정 + 고아 키 967건 삭제 (WS4)

- date.today/yesterday 중복 정의(uppercase 잔해 "TODAY"/"YESTERDAY")
  삭제 (ko/en) -> 한국어 사용자에게 잘못된 대문자 표시 버그 해소.
- 고아 키 967건 삭제: ko/en 109건 + 타 10 locale 858건.
- P1 재검증으로 20건 KEEP 전환 (camelCase license.feature 15 +
  nav 5) -- 동적 보간/프로퍼티 패스스루 참조로, typecheck가 잡지
  못하는 런타임 버그 15건 예방.
정책: docs/REFACTOR_POLICY.md DP3, DP9, 이식 인사이트 P1
This commit is contained in:
Yun Chan 2026-07-22 01:54:51 +09:00
parent 078304dda9
commit 87f2dac9e5
12 changed files with 0 additions and 864 deletions

View file

@ -18,32 +18,23 @@
"login.google": "Mit Google fortfahren", "login.google": "Mit Google fortfahren",
"login.github": "Mit GitHub fortfahren", "login.github": "Mit GitHub fortfahren",
"login.terms": "Durch Fortfahren stimmen Sie den Nutzungsbedingungen und der Datenschutzrichtlinie zu.", "login.terms": "Durch Fortfahren stimmen Sie den Nutzungsbedingungen und der Datenschutzrichtlinie zu.",
"dashboard.sessionOverview": "Sitzungsübersicht",
"dashboard.systemStatus": "Systemstatus", "dashboard.systemStatus": "Systemstatus",
"dashboard.sessionsToday": "Sitzungen heute", "dashboard.sessionsToday": "Sitzungen heute",
"dashboard.pressToRecord": "Drücke {{key}}, um die Aufnahme zu starten", "dashboard.pressToRecord": "Drücke {{key}}, um die Aufnahme zu starten",
"dashboard.hotkeyNotSet": "Tastenkürzel nicht festgelegt", "dashboard.hotkeyNotSet": "Tastenkürzel nicht festgelegt",
"dashboard.words": "Wörter", "dashboard.words": "Wörter",
"dashboard.total": "gesamt", "dashboard.total": "gesamt",
"dashboard.streak": "Serie",
"dashboard.days": "Tage", "dashboard.days": "Tage",
"dashboard.recording": "Aufnahme",
"dashboard.sessions": "Sitzungen", "dashboard.sessions": "Sitzungen",
"dashboard.today": "heute",
"dashboard.recentTranscriptions": "Letzte Transkriptionen", "dashboard.recentTranscriptions": "Letzte Transkriptionen",
"dashboard.noHistory": "Kein Verlauf — drücke das Tastenkürzel, um die Aufnahme zu starten", "dashboard.noHistory": "Kein Verlauf — drücke das Tastenkürzel, um die Aufnahme zu starten",
"dashboard.copy": "Kopieren",
"dashboard.entries": "{{count}} Einträge", "dashboard.entries": "{{count}} Einträge",
"dashboard.stat": "Statistiken",
"dashboard.sys": "System",
"dashboard.currentBackend": "Aktuelles Backend", "dashboard.currentBackend": "Aktuelles Backend",
"dashboard.backendLocal": "Lokal (Ollama)", "dashboard.backendLocal": "Lokal (Ollama)",
"dashboard.backendPremium": "Premium (Claude)", "dashboard.backendPremium": "Premium (Claude)",
"dashboard.loginRequired": "Anmeldung erforderlich",
"history.title": "Transkriptionsverlauf", "history.title": "Transkriptionsverlauf",
"history.search": "Suchen...", "history.search": "Suchen...",
"history.entries": "{{count}} Einträge", "history.entries": "{{count}} Einträge",
"history.loading": "Laden...",
"history.noResults": "Keine Ergebnisse", "history.noResults": "Keine Ergebnisse",
"history.noHistory": "Kein Verlauf — starte eine Aufnahme", "history.noHistory": "Kein Verlauf — starte eine Aufnahme",
"history.count": "{{count}} Einträge", "history.count": "{{count}} Einträge",
@ -51,7 +42,6 @@
"dictionary.words": "{{count}} Wörter", "dictionary.words": "{{count}} Wörter",
"dictionary.add": "Hinzufügen", "dictionary.add": "Hinzufügen",
"dictionary.search": "Suchen...", "dictionary.search": "Suchen...",
"dictionary.loading": "Laden...",
"dictionary.noResults": "Keine Ergebnisse", "dictionary.noResults": "Keine Ergebnisse",
"dictionary.noWords": "Keine Wörter — füge benutzerdefinierte Wörter hinzu, um die STT-Genauigkeit zu verbessern", "dictionary.noWords": "Keine Wörter — füge benutzerdefinierte Wörter hinzu, um die STT-Genauigkeit zu verbessern",
"dictionary.used": "{{count}} Mal verwendet", "dictionary.used": "{{count}} Mal verwendet",
@ -64,7 +54,6 @@
"commands.add": "Hinzufügen", "commands.add": "Hinzufügen",
"commands.activeCommand": "Aktiver Befehl", "commands.activeCommand": "Aktiver Befehl",
"commands.none": "Keiner", "commands.none": "Keiner",
"commands.loading": "Laden...",
"commands.noCommands": "Keine Befehle — klicke auf Hinzufügen, um einen zu erstellen", "commands.noCommands": "Keine Befehle — klicke auf Hinzufügen, um einen zu erstellen",
"commands.editTitle": "Befehl bearbeiten", "commands.editTitle": "Befehl bearbeiten",
"commands.addTitle": "Befehl hinzufügen", "commands.addTitle": "Befehl hinzufügen",
@ -138,31 +127,9 @@
"settings.about.voiceEngineValue": "STT: faster-whisper (lokal) / LLM: Ollama (lokal)", "settings.about.voiceEngineValue": "STT: faster-whisper (lokal) / LLM: Ollama (lokal)",
"settings.about.description": "Vollständig lokaler KI-Sprachassistent, basierend auf Reverse Engineering von Speakly. Funktioniert ohne Cloud-Abhängigkeiten.", "settings.about.description": "Vollständig lokaler KI-Sprachassistent, basierend auf Reverse Engineering von Speakly. Funktioniert ohne Cloud-Abhängigkeiten.",
"settings.about.restartOnboarding": "Einrichtungsanleitung erneut anzeigen", "settings.about.restartOnboarding": "Einrichtungsanleitung erneut anzeigen",
"status.ollama": "OLLAMA",
"status.offline": "OFFLINE",
"status.nudge.title": "Ollama läuft nicht", "status.nudge.title": "Ollama läuft nicht",
"status.nudge.desc": "Ollama wird für die LLM-Nachbearbeitung (Übersetzung, Zusammenfassung usw.) benötigt.", "status.nudge.desc": "Ollama wird für die LLM-Nachbearbeitung (Übersetzung, Zusammenfassung usw.) benötigt.",
"status.nudge.guide": "Installationsanleitung anzeigen →", "status.nudge.guide": "Installationsanleitung anzeigen →",
"onboarding.welcome.title": "D3RO-VOICE",
"onboarding.welcome.desc": "Ohne Tippen, per Sprache. Dein lokaler KI-Sprachassistent.",
"onboarding.welcome.start": "Loslegen",
"onboarding.mic.title": "Mikrofon einrichten",
"onboarding.mic.desc": "Wähle das Mikrofon aus, das du verwenden möchtest. Du kannst es später in den Einstellungen ändern.",
"onboarding.hotkey.title": "Tastenkürzel einrichten",
"onboarding.hotkey.desc": "Lege das Diktat-Tastenkürzel fest. Die Aufnahme läuft, solange du die Taste gedrückt hältst.",
"onboarding.hotkey.notSet": "Kein Tastenkürzel festgelegt",
"onboarding.hotkey.change": "Tastenkürzel ändern",
"onboarding.hotkey.set": "Tastenkürzel festlegen",
"onboarding.ollama.title": "Ollama installieren (optional)",
"onboarding.ollama.desc": "Ollama wird für die LLM-Nachbearbeitung wie Übersetzung oder Zusammenfassung benötigt. Die Sprachdiktierung funktioniert ohne Ollama.",
"onboarding.ollama.download": "Ollama herunterladen",
"onboarding.ollama.modelHint": "Lade nach der Installation ein Modell über das Terminal herunter",
"onboarding.done.title": "Einrichtung abgeschlossen!",
"onboarding.done.descWithKey": "Halte {{key}} gedrückt und sprich, um deine Stimme in Text umzuwandeln.",
"onboarding.done.descNoKey": "Lege in den Einstellungen ein Tastenkürzel fest, um mit der Spracheingabe zu beginnen.",
"onboarding.done.start": "Loslegen",
"onboarding.back": "Zurück",
"onboarding.next": "Weiter",
"hotkey.title": "Tastenkürzel einrichten", "hotkey.title": "Tastenkürzel einrichten",
"hotkey.dictationTitle": "Diktat-Tastenkürzel einrichten", "hotkey.dictationTitle": "Diktat-Tastenkürzel einrichten",
"hotkey.oneTouchTitle": "Tastenkürzel für Ein-Tasten-Modus einrichten", "hotkey.oneTouchTitle": "Tastenkürzel für Ein-Tasten-Modus einrichten",
@ -195,8 +162,6 @@
"common.cancel": "Abbrechen", "common.cancel": "Abbrechen",
"common.save": "Speichern", "common.save": "Speichern",
"common.delete": "Löschen", "common.delete": "Löschen",
"common.add": "Hinzufügen",
"common.edit": "Bearbeiten",
"common.close": "Schließen", "common.close": "Schließen",
"common.confirm": "Bestätigen", "common.confirm": "Bestätigen",
"common.loading": "Laden...", "common.loading": "Laden...",
@ -217,30 +182,16 @@
"nav.meeting": "Meeting", "nav.meeting": "Meeting",
"meeting.title": "Meeting-Modus", "meeting.title": "Meeting-Modus",
"meeting.newMeeting": "Neues Meeting", "meeting.newMeeting": "Neues Meeting",
"meeting.startRecording": "Aufnahme starten",
"meeting.stopRecording": "Aufnahme beenden", "meeting.stopRecording": "Aufnahme beenden",
"meeting.recording": "Aufnahme läuft", "meeting.recording": "Aufnahme läuft",
"meeting.processing": "Protokoll wird erstellt...", "meeting.processing": "Protokoll wird erstellt...",
"meeting.completed": "Abgeschlossen", "meeting.completed": "Abgeschlossen",
"meeting.error": "Fehler", "meeting.error": "Fehler",
"meeting.elapsed": "Vergangen",
"meeting.memoPlaceholder": "Memo eingeben (Enter zum Hinzufügen)", "meeting.memoPlaceholder": "Memo eingeben (Enter zum Hinzufügen)",
"meeting.memoAdded": "Memo hinzugefügt",
"meeting.noSessions": "Keine Meeting-Aufnahmen", "meeting.noSessions": "Keine Meeting-Aufnahmen",
"meeting.noSessionsDesc": "Drücke «Neues Meeting», um die Aufnahme zu starten", "meeting.noSessionsDesc": "Drücke «Neues Meeting», um die Aufnahme zu starten",
"meeting.summary": "Zusammenfassung",
"meeting.decisions": "Beschlüsse",
"meeting.actionItems": "Aufgaben",
"meeting.timeline": "Zeitlinie",
"meeting.transcript": "Rohtranskript", "meeting.transcript": "Rohtranskript",
"meeting.memos": "Memos", "meeting.memos": "Memos",
"meeting.exportPdf": "Als PDF exportieren",
"meeting.exportMarkdown": "Als Markdown exportieren",
"meeting.delete": "Löschen",
"meeting.deleteConfirm": "Diesen Meeting-Eintrag löschen?",
"meeting.backToList": "Zurück zur Liste",
"meeting.notificationTitle": "Protokoll fertig",
"meeting.notificationBody": "Das Meeting-Protokoll wurde erstellt.",
"meeting.sessions": "{{count}} Sitzungen", "meeting.sessions": "{{count}} Sitzungen",
"meeting.duration": "{{minutes}} Min.", "meeting.duration": "{{minutes}} Min.",
"meeting.editTitle": "Titel bearbeiten", "meeting.editTitle": "Titel bearbeiten",
@ -266,24 +217,13 @@
"meeting.customPrompt": "Benutzerdefinierter Prompt", "meeting.customPrompt": "Benutzerdefinierter Prompt",
"meeting.templateName": "Vorlagenname", "meeting.templateName": "Vorlagenname",
"meeting.templatePrompt": "KI-Prompt", "meeting.templatePrompt": "KI-Prompt",
"meeting.templateSave": "Vorlage speichern",
"meeting.documentDeleted": "Dokument gelöscht",
"meeting.autoSaved": "Automatisch gespeichert",
"meeting.minutesTemplate": "Besprechungsprotokoll",
"meeting.reportTemplate": "Bericht",
"meeting.ideaNoteTemplate": "Ideennotiz",
"meeting.customTemplate": "Benutzerdefiniert",
"meeting.downloadTranscript": "Transkript herunterladen", "meeting.downloadTranscript": "Transkript herunterladen",
"meeting.polish": "KI Glätten", "meeting.polish": "KI Glätten",
"meeting.polishing": "KI glättet Transkript...", "meeting.polishing": "KI glättet Transkript...",
"meeting.polished": "KI Glättung abgeschlossen",
"meeting.mindmapTemplate": "Mindmap",
"meeting.chat": "KI-Chat", "meeting.chat": "KI-Chat",
"meeting.chatPlaceholder": "Fragen Sie zum Meeting...", "meeting.chatPlaceholder": "Fragen Sie zum Meeting...",
"meeting.chatSend": "Senden",
"meeting.chatClear": "Chat löschen", "meeting.chatClear": "Chat löschen",
"meeting.copyToClipboard": "In Zwischenablage kopieren", "meeting.copyToClipboard": "In Zwischenablage kopieren",
"meeting.copied": "Kopiert",
"meeting.chatCollapse": "Chat einklappen", "meeting.chatCollapse": "Chat einklappen",
"meeting.chatExpand": "Chat ausklappen", "meeting.chatExpand": "Chat ausklappen",
"meeting.chatReasoning": "Denkt nach…", "meeting.chatReasoning": "Denkt nach…",
@ -294,8 +234,6 @@
"meeting.startRecordingError": "Aufnahme konnte nicht gestartet werden", "meeting.startRecordingError": "Aufnahme konnte nicht gestartet werden",
"meeting.diarize": "Sprecher trennen", "meeting.diarize": "Sprecher trennen",
"meeting.diarizing": "Sprecher werden identifiziert...", "meeting.diarizing": "Sprecher werden identifiziert...",
"meeting.diarizeComplete": "Sprechertrennung abgeschlossen",
"meeting.speaker": "Sprecher",
"settings.hfToken": "HuggingFace Token", "settings.hfToken": "HuggingFace Token",
"settings.hfTokenHint": "Ein HuggingFace Token wird für die Sprechertrennung benötigt", "settings.hfTokenHint": "Ein HuggingFace Token wird für die Sprechertrennung benötigt",
"settings.diarization": "Sprechertrennung", "settings.diarization": "Sprechertrennung",
@ -310,11 +248,9 @@
"theme.dracula": "Dracula", "theme.dracula": "Dracula",
"license.signInRequired": "Sign in to manage your subscription", "license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade", "license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionActive": "Subscription active",
"license.subscriptionManage": "Manage subscription", "license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more", "license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan", "license.currentPlanActive": "Your current plan",
"license.openBillingPage": "Open billing page",
"license.premiumQuota": "Premium Quota", "license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",

View file

@ -17,21 +17,16 @@
"login.google": "Continue with Google", "login.google": "Continue with Google",
"login.github": "Continue with GitHub", "login.github": "Continue with GitHub",
"login.terms": "By continuing, you agree to the Terms of Service and Privacy Policy.", "login.terms": "By continuing, you agree to the Terms of Service and Privacy Policy.",
"dashboard.sessionOverview": "Session Overview",
"dashboard.systemStatus": "System Status", "dashboard.systemStatus": "System Status",
"dashboard.sessionsToday": "Today's Sessions", "dashboard.sessionsToday": "Today's Sessions",
"dashboard.pressToRecord": "Press {{key}} to start recording", "dashboard.pressToRecord": "Press {{key}} to start recording",
"dashboard.hotkeyNotSet": "Hotkey not set", "dashboard.hotkeyNotSet": "Hotkey not set",
"dashboard.words": "Words", "dashboard.words": "Words",
"dashboard.total": "Total", "dashboard.total": "Total",
"dashboard.streak": "Streak",
"dashboard.days": "days", "dashboard.days": "days",
"dashboard.recording": "Recording",
"dashboard.sessions": "Sessions", "dashboard.sessions": "Sessions",
"dashboard.today": "Today",
"dashboard.recentTranscriptions": "Recent Transcriptions", "dashboard.recentTranscriptions": "Recent Transcriptions",
"dashboard.noHistory": "No history — press your hotkey to start recording", "dashboard.noHistory": "No history — press your hotkey to start recording",
"dashboard.copy": "Copy",
"dashboard.entries": "{{count}} entries", "dashboard.entries": "{{count}} entries",
"dashboard.heroIdle": "Ready for voice recognition", "dashboard.heroIdle": "Ready for voice recognition",
"dashboard.viewStats": "View Stats", "dashboard.viewStats": "View Stats",
@ -51,16 +46,12 @@
"dashboard.planFree": "Free Plan", "dashboard.planFree": "Free Plan",
"dashboard.planFeatureLocal": "Unlimited local backend", "dashboard.planFeatureLocal": "Unlimited local backend",
"dashboard.planFeatureDaily": "Unlimited daily transcription", "dashboard.planFeatureDaily": "Unlimited daily transcription",
"dashboard.stat": "Stats",
"dashboard.sys": "System",
"dashboard.currentBackend": "Current Backend", "dashboard.currentBackend": "Current Backend",
"dashboard.backendLocal": "Local (Ollama)", "dashboard.backendLocal": "Local (Ollama)",
"dashboard.backendPremium": "Premium (Claude)", "dashboard.backendPremium": "Premium (Claude)",
"dashboard.loginRequired": "Login Required",
"history.title": "Transcription History", "history.title": "Transcription History",
"history.search": "Search...", "history.search": "Search...",
"history.entries": "{{count}} entries", "history.entries": "{{count}} entries",
"history.loading": "Loading...",
"history.noResults": "No results found", "history.noResults": "No results found",
"history.noHistory": "No history — start recording", "history.noHistory": "No history — start recording",
"history.count": "{{count}} entries", "history.count": "{{count}} entries",
@ -68,7 +59,6 @@
"dictionary.words": "{{count}} words", "dictionary.words": "{{count}} words",
"dictionary.add": "Add", "dictionary.add": "Add",
"dictionary.search": "Search...", "dictionary.search": "Search...",
"dictionary.loading": "Loading...",
"dictionary.noResults": "No results found", "dictionary.noResults": "No results found",
"dictionary.noWords": "No words — add custom words to improve STT accuracy", "dictionary.noWords": "No words — add custom words to improve STT accuracy",
"dictionary.used": "Used {{count}} times", "dictionary.used": "Used {{count}} times",
@ -81,7 +71,6 @@
"commands.add": "Add", "commands.add": "Add",
"commands.activeCommand": "Active Command", "commands.activeCommand": "Active Command",
"commands.none": "None", "commands.none": "None",
"commands.loading": "Loading...",
"commands.noCommands": "No commands — click Add to create one", "commands.noCommands": "No commands — click Add to create one",
"commands.editTitle": "Edit Command", "commands.editTitle": "Edit Command",
"commands.addTitle": "Add Command", "commands.addTitle": "Add Command",
@ -177,37 +166,9 @@
"voice.error.engine": "Failed to start the speech engine. Please try again.", "voice.error.engine": "Failed to start the speech engine. Please try again.",
"voice.warning.llmSkipped": "Ollama is unavailable — inserted the raw transcription.", "voice.warning.llmSkipped": "Ollama is unavailable — inserted the raw transcription.",
"status.localTime": "Local Time", "status.localTime": "Local Time",
"status.ollama": "OLLAMA",
"status.offline": "OFFLINE",
"status.nudge.title": "Ollama is not running", "status.nudge.title": "Ollama is not running",
"status.nudge.desc": "Ollama is required for LLM post-processing (translation, summarization, etc.).", "status.nudge.desc": "Ollama is required for LLM post-processing (translation, summarization, etc.).",
"status.nudge.guide": "View setup guide →", "status.nudge.guide": "View setup guide →",
"onboarding.welcome.title": "D3RO-VOICE",
"onboarding.welcome.desc": "No typing needed — just speak. Your local AI voice assistant.",
"onboarding.welcome.start": "Get Started",
"onboarding.mic.title": "Microphone Setup",
"onboarding.mic.desc": "Choose a microphone to use. You can change this later in Settings.",
"onboarding.hotkey.title": "Shortcut Setup",
"onboarding.hotkey.desc": "Set your dictation shortcut. Hold the key while speaking to record.",
"onboarding.hotkey.notSet": "No shortcut set",
"onboarding.hotkey.change": "Change Shortcut",
"onboarding.hotkey.set": "Set Shortcut",
"onboarding.ollama.title": "Install Ollama (Optional)",
"onboarding.ollama.desc": "Ollama is required for LLM post-processing like translation and summarization. Voice dictation works without it.",
"onboarding.ollama.download": "Download Ollama",
"onboarding.ollama.modelHint": "After installation, download a model from your terminal",
"onboarding.cloud.title": "Cloud Sync (Optional)",
"onboarding.cloud.tagline": "D3RO works great offline. Sign in whenever you want to unlock more.",
"onboarding.cloud.benefit1": "Sync history & meetings across all your devices",
"onboarding.cloud.benefit2": "Premium LLMs (Claude, GPT-4 class)",
"onboarding.cloud.benefit3": "Team sharing · backups · web app access",
"onboarding.cloud.signInLater": "Sign in later from Settings",
"onboarding.done.title": "You're all set!",
"onboarding.done.descWithKey": "Hold {{key}} and speak — your voice will be converted to text.",
"onboarding.done.descNoKey": "Set a shortcut in Settings to start voice dictation.",
"onboarding.done.start": "Start Using",
"onboarding.back": "Back",
"onboarding.next": "Next",
"hotkey.title": "Set Shortcut", "hotkey.title": "Set Shortcut",
"hotkey.dictationTitle": "Set Dictation Shortcut", "hotkey.dictationTitle": "Set Dictation Shortcut",
"hotkey.oneTouchTitle": "Set One-Touch Mode Shortcut", "hotkey.oneTouchTitle": "Set One-Touch Mode Shortcut",
@ -241,55 +202,31 @@
"common.cancel": "Cancel", "common.cancel": "Cancel",
"common.save": "Save", "common.save": "Save",
"common.delete": "Delete", "common.delete": "Delete",
"common.add": "Add",
"common.edit": "Edit",
"common.close": "Close", "common.close": "Close",
"common.confirm": "Confirm", "common.confirm": "Confirm",
"common.loading": "Loading...", "common.loading": "Loading...",
"common.copy": "Copy", "common.copy": "Copy",
"common.test": "Test", "common.test": "Test",
"common.stop": "Stop", "common.stop": "Stop",
"memo.tags": "Tags",
"memo.addTag": "Add Tag", "memo.addTag": "Add Tag",
"memo.removeTag": "Remove Tag",
"memo.tagPlaceholder": "Type a tag and press Enter", "memo.tagPlaceholder": "Type a tag and press Enter",
"memo.noTags": "No tags",
"memo.export": "Export as Markdown", "memo.export": "Export as Markdown",
"memo.exportSuccess": "Export complete",
"memo.filterByTag": "Filter by tag",
"memo.allTags": "All Tags",
"memo.clearFilter": "Clear filter", "memo.clearFilter": "Clear filter",
"voiceCommand.title": "Voice Commands", "voiceCommand.title": "Voice Commands",
"voiceCommand.enabled": "Voice Keyword Recognition",
"voiceCommand.enabledDesc": "Detects keywords at the start of transcription to auto-select commands.",
"voiceCommand.keywords": "Keywords",
"voiceCommand.keywordPlaceholder": "Type keyword and press Enter", "voiceCommand.keywordPlaceholder": "Type keyword and press Enter",
"voiceCommand.noKeywords": "No keywords", "voiceCommand.noKeywords": "No keywords",
"voiceCommand.matchMode": "Match Mode",
"voiceCommand.matchMode.prefix": "Starts with",
"voiceCommand.matchMode.suffix": "Ends with",
"voiceCommand.matchMode.contains": "Contains",
"chain.title": "LLM Chains", "chain.title": "LLM Chains",
"chain.count": "{{count}} chains",
"chain.add": "Add Chain", "chain.add": "Add Chain",
"chain.editTitle": "Edit Chain", "chain.editTitle": "Edit Chain",
"chain.addTitle": "Add Chain", "chain.addTitle": "Add Chain",
"chain.name": "Chain Name", "chain.name": "Chain Name",
"chain.steps": "Steps", "chain.steps": "Steps",
"chain.addStep": "Add Step", "chain.addStep": "Add Step",
"chain.removeStep": "Remove",
"chain.inputSource": "Input Source", "chain.inputSource": "Input Source",
"chain.inputSource.original": "Original Text", "chain.inputSource.original": "Original Text",
"chain.inputSource.previous": "Previous Step Result", "chain.inputSource.previous": "Previous Step Result",
"chain.selectInstruction": "Select Command", "chain.selectInstruction": "Select Command",
"chain.execute": "Execute",
"chain.executing": "Executing...",
"chain.noChains": "No chains — create a pipeline to run multiple commands in sequence", "chain.noChains": "No chains — create a pipeline to run multiple commands in sequence",
"chain.step": "Step {{n}}",
"chain.progress": "Processing step {{current}}/{{total}}",
"context.title": "Screen Context",
"context.enabled": "Screen Context",
"context.enabledDesc": "Captures active app and selected text when recording starts, and sends it to the LLM.",
"dashboard.caption": "Live Caption", "dashboard.caption": "Live Caption",
"dashboard.captionStart": "Start Caption", "dashboard.captionStart": "Start Caption",
"dashboard.captionStop": "Stop Caption", "dashboard.captionStop": "Stop Caption",
@ -307,11 +244,9 @@
"license.proPlus": "PRO+", "license.proPlus": "PRO+",
"license.subscribe": "Subscribe", "license.subscribe": "Subscribe",
"license.upgrade": "Upgrade", "license.upgrade": "Upgrade",
"license.currentPlan": "Current Plan",
"license.proPlan": "Pro — ₩9,900/mo", "license.proPlan": "Pro — ₩9,900/mo",
"license.proPlusPlan": "Pro+ — ₩29,900/mo", "license.proPlusPlan": "Pro+ — ₩29,900/mo",
"license.quotaUsed": "{{used}}/{{limit}} used", "license.quotaUsed": "{{used}}/{{limit}} used",
"license.quotaUnlimited": "Unlimited",
"license.tierComparison": "Tier Comparison", "license.tierComparison": "Tier Comparison",
"license.dailyUsage": "Daily Usage", "license.dailyUsage": "Daily Usage",
"license.feature.dictation": "Dictation", "license.feature.dictation": "Dictation",
@ -346,9 +281,6 @@
"license.feature.localRag": "Local RAG", "license.feature.localRag": "Local RAG",
"license.feature.osAutomation": "OS Automation", "license.feature.osAutomation": "OS Automation",
"license.pro.required": "PRO Required", "license.pro.required": "PRO Required",
"license.proPlus.required": "PRO+ Required",
"license.included": "Included",
"license.notIncluded": "Not included",
"license.quotaExceeded.title": "You've used all your daily {{feature}}", "license.quotaExceeded.title": "You've used all your daily {{feature}}",
"license.quotaExceeded.desc": "Upgrade to Pro for unlimited usage", "license.quotaExceeded.desc": "Upgrade to Pro for unlimited usage",
"license.tierRequired.title": "{{feature}} is a {{tier}} feature", "license.tierRequired.title": "{{feature}} is a {{tier}} feature",
@ -364,17 +296,13 @@
"license.benefit.liveCaption": "Live captions", "license.benefit.liveCaption": "Live captions",
"license.benefit.unlimitedHistory": "Unlimited history retention", "license.benefit.unlimitedHistory": "Unlimited history retention",
"license.usageToday": "Usage today", "license.usageToday": "Usage today",
"license.perDay": "/day",
"license.unlimited": "Unlimited", "license.unlimited": "Unlimited",
"license.locked": "Locked",
"license.nav": "License", "license.nav": "License",
"license.signInRequired": "Sign in to manage your subscription", "license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade", "license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionActive": "Subscription active",
"license.subscriptionManage": "Manage subscription", "license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more", "license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan", "license.currentPlanActive": "Your current plan",
"license.openBillingPage": "Open billing page",
"license.premiumQuota": "Premium Quota", "license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",
@ -453,13 +381,6 @@
"rag.sources": "Sources", "rag.sources": "Sources",
"rag.adding": "Adding...", "rag.adding": "Adding...",
"rag.parsing": "Parsing document...", "rag.parsing": "Parsing document...",
"voiceAction.title": "Voice Actions",
"voiceAction.execute": "Execute",
"voiceAction.presets": "Preset Commands",
"voiceAction.history": "Action History",
"voiceAction.noHistory": "No action history",
"voiceAction.blocked": "Blocked (unsafe)",
"voiceAction.executed": "Executed",
"settings.theme.nord": "Nord", "settings.theme.nord": "Nord",
"settings.theme.solarized": "Solarized", "settings.theme.solarized": "Solarized",
"settings.theme.catppuccin": "Catppuccin", "settings.theme.catppuccin": "Catppuccin",
@ -472,30 +393,16 @@
"nav.meeting": "Meeting", "nav.meeting": "Meeting",
"meeting.title": "Meeting Mode", "meeting.title": "Meeting Mode",
"meeting.newMeeting": "New Meeting", "meeting.newMeeting": "New Meeting",
"meeting.startRecording": "Start Recording",
"meeting.stopRecording": "Stop Recording", "meeting.stopRecording": "Stop Recording",
"meeting.recording": "Recording", "meeting.recording": "Recording",
"meeting.processing": "Generating minutes...", "meeting.processing": "Generating minutes...",
"meeting.completed": "Completed", "meeting.completed": "Completed",
"meeting.error": "Error", "meeting.error": "Error",
"meeting.elapsed": "Elapsed",
"meeting.memoPlaceholder": "Type a memo (Enter to add)", "meeting.memoPlaceholder": "Type a memo (Enter to add)",
"meeting.memoAdded": "Memo added",
"meeting.noSessions": "No meeting recordings", "meeting.noSessions": "No meeting recordings",
"meeting.noSessionsDesc": "Press New Meeting to start recording", "meeting.noSessionsDesc": "Press New Meeting to start recording",
"meeting.summary": "Summary",
"meeting.decisions": "Decisions",
"meeting.actionItems": "Action Items",
"meeting.timeline": "Timeline",
"meeting.transcript": "Raw Transcript", "meeting.transcript": "Raw Transcript",
"meeting.memos": "Memos", "meeting.memos": "Memos",
"meeting.exportPdf": "Export PDF",
"meeting.exportMarkdown": "Export Markdown",
"meeting.delete": "Delete",
"meeting.deleteConfirm": "Delete this meeting record?",
"meeting.backToList": "Back to List",
"meeting.notificationTitle": "Minutes Ready",
"meeting.notificationBody": "Meeting minutes have been generated.",
"meeting.sessions": "{{count}} sessions", "meeting.sessions": "{{count}} sessions",
"meeting.duration": "{{minutes}} min", "meeting.duration": "{{minutes}} min",
"meeting.editTitle": "Edit Title", "meeting.editTitle": "Edit Title",
@ -521,24 +428,13 @@
"meeting.customPrompt": "Custom Prompt", "meeting.customPrompt": "Custom Prompt",
"meeting.templateName": "Template Name", "meeting.templateName": "Template Name",
"meeting.templatePrompt": "AI Prompt", "meeting.templatePrompt": "AI Prompt",
"meeting.templateSave": "Save Template",
"meeting.documentDeleted": "Document deleted",
"meeting.autoSaved": "Auto-saved",
"meeting.minutesTemplate": "Meeting Minutes",
"meeting.reportTemplate": "Report",
"meeting.ideaNoteTemplate": "Idea Note",
"meeting.customTemplate": "Custom",
"meeting.downloadTranscript": "Download Transcript", "meeting.downloadTranscript": "Download Transcript",
"meeting.polish": "AI Polish", "meeting.polish": "AI Polish",
"meeting.polishing": "AI is polishing transcript...", "meeting.polishing": "AI is polishing transcript...",
"meeting.polished": "AI Polish complete",
"meeting.mindmapTemplate": "Mind Map",
"meeting.chat": "AI Chat", "meeting.chat": "AI Chat",
"meeting.chatPlaceholder": "Ask about the meeting...", "meeting.chatPlaceholder": "Ask about the meeting...",
"meeting.chatSend": "Send",
"meeting.chatClear": "Clear Chat", "meeting.chatClear": "Clear Chat",
"meeting.copyToClipboard": "Copy to Clipboard", "meeting.copyToClipboard": "Copy to Clipboard",
"meeting.copied": "Copied",
"meeting.chatCollapse": "Collapse Chat", "meeting.chatCollapse": "Collapse Chat",
"meeting.chatExpand": "Expand Chat", "meeting.chatExpand": "Expand Chat",
"meeting.chatReasoning": "Reasoning…", "meeting.chatReasoning": "Reasoning…",
@ -549,8 +445,6 @@
"meeting.startRecordingError": "Failed to start recording", "meeting.startRecordingError": "Failed to start recording",
"meeting.diarize": "Diarize", "meeting.diarize": "Diarize",
"meeting.diarizing": "Identifying speakers...", "meeting.diarizing": "Identifying speakers...",
"meeting.diarizeComplete": "Diarization complete",
"meeting.speaker": "Speaker",
"settings.hfToken": "HuggingFace Token", "settings.hfToken": "HuggingFace Token",
"settings.hfTokenHint": "A HuggingFace token is required for speaker diarization", "settings.hfTokenHint": "A HuggingFace token is required for speaker diarization",
"settings.diarization": "Speaker Diarization", "settings.diarization": "Speaker Diarization",
@ -625,7 +519,6 @@
"mobile.set.haptic": "Haptic Feedback", "mobile.set.haptic": "Haptic Feedback",
"mobile.set.logout": "LOGOUT", "mobile.set.logout": "LOGOUT",
"mobile.set.logoutConfirm": "Are you sure you want to log out?", "mobile.set.logoutConfirm": "Are you sure you want to log out?",
"mobile.set.connected": "CLOUD CONNECTED",
"mobile.login.title": "D3RO-VOICE", "mobile.login.title": "D3RO-VOICE",
"mobile.login.subtitle": "PRECISION VOICE INTELLIGENCE", "mobile.login.subtitle": "PRECISION VOICE INTELLIGENCE",
@ -640,11 +533,6 @@
"mobile.login.signUp": "Sign Up", "mobile.login.signUp": "Sign Up",
"mobile.login.notConfigured": "Supabase not configured. Set EXPO_PUBLIC_SUPABASE_URL in .env", "mobile.login.notConfigured": "Supabase not configured. Set EXPO_PUBLIC_SUPABASE_URL in .env",
"mobile.status.model": "CLOUD CLAUDE",
"mobile.status.link": "PRECISION DATA LINK",
"date.today": "TODAY",
"date.yesterday": "YESTERDAY",
"onboarding.title": "D3RO Voice Initial Setup", "onboarding.title": "D3RO Voice Initial Setup",
"onboarding.subtitle": "Download the model required to use the voice assistant.", "onboarding.subtitle": "Download the model required to use the voice assistant.",

View file

@ -18,32 +18,23 @@
"login.google": "Continuar con Google", "login.google": "Continuar con Google",
"login.github": "Continuar con GitHub", "login.github": "Continuar con GitHub",
"login.terms": "Al continuar, aceptas los Términos de servicio y la Política de privacidad.", "login.terms": "Al continuar, aceptas los Términos de servicio y la Política de privacidad.",
"dashboard.sessionOverview": "Resumen de sesión",
"dashboard.systemStatus": "Estado del sistema", "dashboard.systemStatus": "Estado del sistema",
"dashboard.sessionsToday": "Sesiones hoy", "dashboard.sessionsToday": "Sesiones hoy",
"dashboard.pressToRecord": "Pulsa {{key}} para empezar a grabar", "dashboard.pressToRecord": "Pulsa {{key}} para empezar a grabar",
"dashboard.hotkeyNotSet": "Atajo no configurado", "dashboard.hotkeyNotSet": "Atajo no configurado",
"dashboard.words": "palabras", "dashboard.words": "palabras",
"dashboard.total": "total", "dashboard.total": "total",
"dashboard.streak": "racha",
"dashboard.days": "días", "dashboard.days": "días",
"dashboard.recording": "grabando",
"dashboard.sessions": "sesiones", "dashboard.sessions": "sesiones",
"dashboard.today": "hoy",
"dashboard.recentTranscriptions": "Transcripciones recientes", "dashboard.recentTranscriptions": "Transcripciones recientes",
"dashboard.noHistory": "Sin historial — pulsa el atajo para empezar a grabar", "dashboard.noHistory": "Sin historial — pulsa el atajo para empezar a grabar",
"dashboard.copy": "Copiar",
"dashboard.entries": "{{count}} entradas", "dashboard.entries": "{{count}} entradas",
"dashboard.stat": "estadísticas",
"dashboard.sys": "sistema",
"dashboard.currentBackend": "Backend actual", "dashboard.currentBackend": "Backend actual",
"dashboard.backendLocal": "Local (Ollama)", "dashboard.backendLocal": "Local (Ollama)",
"dashboard.backendPremium": "Premium (Claude)", "dashboard.backendPremium": "Premium (Claude)",
"dashboard.loginRequired": "Inicio de sesión requerido",
"history.title": "Historial de transcripciones", "history.title": "Historial de transcripciones",
"history.search": "Buscar...", "history.search": "Buscar...",
"history.entries": "{{count}} entradas", "history.entries": "{{count}} entradas",
"history.loading": "Cargando...",
"history.noResults": "Sin resultados", "history.noResults": "Sin resultados",
"history.noHistory": "Sin historial — empieza a grabar", "history.noHistory": "Sin historial — empieza a grabar",
"history.count": "{{count}} entradas", "history.count": "{{count}} entradas",
@ -51,7 +42,6 @@
"dictionary.words": "{{count}} palabras", "dictionary.words": "{{count}} palabras",
"dictionary.add": "Añadir", "dictionary.add": "Añadir",
"dictionary.search": "Buscar...", "dictionary.search": "Buscar...",
"dictionary.loading": "Cargando...",
"dictionary.noResults": "Sin resultados", "dictionary.noResults": "Sin resultados",
"dictionary.noWords": "Sin palabras — añade palabras personalizadas para mejorar la precisión del STT", "dictionary.noWords": "Sin palabras — añade palabras personalizadas para mejorar la precisión del STT",
"dictionary.used": "usado {{count}} veces", "dictionary.used": "usado {{count}} veces",
@ -64,7 +54,6 @@
"commands.add": "Añadir", "commands.add": "Añadir",
"commands.activeCommand": "Comando activo", "commands.activeCommand": "Comando activo",
"commands.none": "Ninguno", "commands.none": "Ninguno",
"commands.loading": "Cargando...",
"commands.noCommands": "Sin comandos — haz clic en añadir para crear uno", "commands.noCommands": "Sin comandos — haz clic en añadir para crear uno",
"commands.editTitle": "Editar comando", "commands.editTitle": "Editar comando",
"commands.addTitle": "Añadir comando", "commands.addTitle": "Añadir comando",
@ -138,31 +127,9 @@
"settings.about.voiceEngineValue": "STT: faster-whisper (local) / LLM: Ollama (local)", "settings.about.voiceEngineValue": "STT: faster-whisper (local) / LLM: Ollama (local)",
"settings.about.description": "Asistente de voz con IA completamente local, basado en ingeniería inversa de Speakly. Funciona sin dependencias en la nube.", "settings.about.description": "Asistente de voz con IA completamente local, basado en ingeniería inversa de Speakly. Funciona sin dependencias en la nube.",
"settings.about.restartOnboarding": "Ver guía de configuración inicial de nuevo", "settings.about.restartOnboarding": "Ver guía de configuración inicial de nuevo",
"status.ollama": "OLLAMA",
"status.offline": "OFFLINE",
"status.nudge.title": "Ollama no está en ejecución", "status.nudge.title": "Ollama no está en ejecución",
"status.nudge.desc": "Se necesita Ollama para el postprocesado LLM (traducción, resumen, etc.).", "status.nudge.desc": "Se necesita Ollama para el postprocesado LLM (traducción, resumen, etc.).",
"status.nudge.guide": "Ver guía de instalación →", "status.nudge.guide": "Ver guía de instalación →",
"onboarding.welcome.title": "D3RO-VOICE",
"onboarding.welcome.desc": "Sin escribir, con voz. Tu asistente de voz con IA local.",
"onboarding.welcome.start": "Comenzar",
"onboarding.mic.title": "Configurar micrófono",
"onboarding.mic.desc": "Selecciona el micrófono que quieres usar. Puedes cambiarlo más tarde en los ajustes.",
"onboarding.hotkey.title": "Configurar atajo",
"onboarding.hotkey.desc": "Configura el atajo de dictado. Se grabará mientras mantengas la tecla pulsada.",
"onboarding.hotkey.notSet": "No se ha configurado ningún atajo",
"onboarding.hotkey.change": "Cambiar atajo",
"onboarding.hotkey.set": "Configurar atajo",
"onboarding.ollama.title": "Instalar Ollama (opcional)",
"onboarding.ollama.desc": "Se necesita Ollama para el postprocesado LLM como traducción o resumen. El dictado de voz funciona sin Ollama.",
"onboarding.ollama.download": "Descargar Ollama",
"onboarding.ollama.modelHint": "Tras instalar, descarga un modelo desde la terminal",
"onboarding.done.title": "¡Configuración completa!",
"onboarding.done.descWithKey": "Mantén pulsado {{key}} y habla para convertir tu voz en texto.",
"onboarding.done.descNoKey": "Configura un atajo en los ajustes para empezar a dictar.",
"onboarding.done.start": "Comenzar",
"onboarding.back": "Atrás",
"onboarding.next": "Siguiente",
"hotkey.title": "Configurar atajo", "hotkey.title": "Configurar atajo",
"hotkey.dictationTitle": "Configurar atajo de dictado", "hotkey.dictationTitle": "Configurar atajo de dictado",
"hotkey.oneTouchTitle": "Configurar atajo de modo un toque", "hotkey.oneTouchTitle": "Configurar atajo de modo un toque",
@ -195,8 +162,6 @@
"common.cancel": "Cancelar", "common.cancel": "Cancelar",
"common.save": "Guardar", "common.save": "Guardar",
"common.delete": "Eliminar", "common.delete": "Eliminar",
"common.add": "Añadir",
"common.edit": "Editar",
"common.close": "Cerrar", "common.close": "Cerrar",
"common.confirm": "Confirmar", "common.confirm": "Confirmar",
"common.loading": "Cargando...", "common.loading": "Cargando...",
@ -217,30 +182,16 @@
"nav.meeting": "Reunión", "nav.meeting": "Reunión",
"meeting.title": "Modo Reunión", "meeting.title": "Modo Reunión",
"meeting.newMeeting": "Nueva Reunión", "meeting.newMeeting": "Nueva Reunión",
"meeting.startRecording": "Iniciar Grabación",
"meeting.stopRecording": "Detener Grabación", "meeting.stopRecording": "Detener Grabación",
"meeting.recording": "Grabando", "meeting.recording": "Grabando",
"meeting.processing": "Generando actas...", "meeting.processing": "Generando actas...",
"meeting.completed": "Completado", "meeting.completed": "Completado",
"meeting.error": "Error", "meeting.error": "Error",
"meeting.elapsed": "Tiempo transcurrido",
"meeting.memoPlaceholder": "Escribe un memo (Enter para añadir)", "meeting.memoPlaceholder": "Escribe un memo (Enter para añadir)",
"meeting.memoAdded": "Memo añadido",
"meeting.noSessions": "Sin grabaciones de reuniones", "meeting.noSessions": "Sin grabaciones de reuniones",
"meeting.noSessionsDesc": "Pulsa Nueva Reunión para empezar a grabar", "meeting.noSessionsDesc": "Pulsa Nueva Reunión para empezar a grabar",
"meeting.summary": "Resumen",
"meeting.decisions": "Decisiones",
"meeting.actionItems": "Tareas",
"meeting.timeline": "Línea de tiempo",
"meeting.transcript": "Transcripción bruta", "meeting.transcript": "Transcripción bruta",
"meeting.memos": "Memos", "meeting.memos": "Memos",
"meeting.exportPdf": "Exportar PDF",
"meeting.exportMarkdown": "Exportar Markdown",
"meeting.delete": "Eliminar",
"meeting.deleteConfirm": "¿Eliminar este registro de reunión?",
"meeting.backToList": "Volver a la lista",
"meeting.notificationTitle": "Actas listas",
"meeting.notificationBody": "Las actas de la reunión han sido generadas.",
"meeting.sessions": "{{count}} sesiones", "meeting.sessions": "{{count}} sesiones",
"meeting.duration": "{{minutes}} min", "meeting.duration": "{{minutes}} min",
"meeting.editTitle": "Editar título", "meeting.editTitle": "Editar título",
@ -266,24 +217,13 @@
"meeting.customPrompt": "Prompt personalizado", "meeting.customPrompt": "Prompt personalizado",
"meeting.templateName": "Nombre de plantilla", "meeting.templateName": "Nombre de plantilla",
"meeting.templatePrompt": "Prompt de IA", "meeting.templatePrompt": "Prompt de IA",
"meeting.templateSave": "Guardar plantilla",
"meeting.documentDeleted": "Documento eliminado",
"meeting.autoSaved": "Guardado automáticamente",
"meeting.minutesTemplate": "Actas de reunión",
"meeting.reportTemplate": "Informe",
"meeting.ideaNoteTemplate": "Nota de ideas",
"meeting.customTemplate": "Personalizado",
"meeting.downloadTranscript": "Descargar transcripción", "meeting.downloadTranscript": "Descargar transcripción",
"meeting.polish": "Pulir con IA", "meeting.polish": "Pulir con IA",
"meeting.polishing": "IA puliendo transcripción...", "meeting.polishing": "IA puliendo transcripción...",
"meeting.polished": "Pulido con IA completado",
"meeting.mindmapTemplate": "Mapa mental",
"meeting.chat": "Chat IA", "meeting.chat": "Chat IA",
"meeting.chatPlaceholder": "Pregunta sobre la reunión...", "meeting.chatPlaceholder": "Pregunta sobre la reunión...",
"meeting.chatSend": "Enviar",
"meeting.chatClear": "Limpiar chat", "meeting.chatClear": "Limpiar chat",
"meeting.copyToClipboard": "Copiar al portapapeles", "meeting.copyToClipboard": "Copiar al portapapeles",
"meeting.copied": "Copiado",
"meeting.chatCollapse": "Contraer chat", "meeting.chatCollapse": "Contraer chat",
"meeting.chatExpand": "Expandir chat", "meeting.chatExpand": "Expandir chat",
"meeting.chatReasoning": "Razonando…", "meeting.chatReasoning": "Razonando…",
@ -294,8 +234,6 @@
"meeting.startRecordingError": "Error al iniciar la grabación", "meeting.startRecordingError": "Error al iniciar la grabación",
"meeting.diarize": "Identificar hablantes", "meeting.diarize": "Identificar hablantes",
"meeting.diarizing": "Identificando hablantes...", "meeting.diarizing": "Identificando hablantes...",
"meeting.diarizeComplete": "Identificación completada",
"meeting.speaker": "Hablante",
"settings.hfToken": "Token de HuggingFace", "settings.hfToken": "Token de HuggingFace",
"settings.hfTokenHint": "Se necesita un token de HuggingFace para identificar hablantes", "settings.hfTokenHint": "Se necesita un token de HuggingFace para identificar hablantes",
"settings.diarization": "Identificación de hablantes", "settings.diarization": "Identificación de hablantes",
@ -310,11 +248,9 @@
"theme.dracula": "Dracula", "theme.dracula": "Dracula",
"license.signInRequired": "Sign in to manage your subscription", "license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade", "license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionActive": "Subscription active",
"license.subscriptionManage": "Manage subscription", "license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more", "license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan", "license.currentPlanActive": "Your current plan",
"license.openBillingPage": "Open billing page",
"license.premiumQuota": "Premium Quota", "license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",

View file

@ -18,32 +18,23 @@
"login.google": "Continuer avec Google", "login.google": "Continuer avec Google",
"login.github": "Continuer avec GitHub", "login.github": "Continuer avec GitHub",
"login.terms": "En continuant, vous acceptez les Conditions d'utilisation et la Politique de confidentialité.", "login.terms": "En continuant, vous acceptez les Conditions d'utilisation et la Politique de confidentialité.",
"dashboard.sessionOverview": "Aperçu de session",
"dashboard.systemStatus": "État du système", "dashboard.systemStatus": "État du système",
"dashboard.sessionsToday": "Sessions aujourd'hui", "dashboard.sessionsToday": "Sessions aujourd'hui",
"dashboard.pressToRecord": "Appuyez sur {{key}} pour commencer l'enregistrement", "dashboard.pressToRecord": "Appuyez sur {{key}} pour commencer l'enregistrement",
"dashboard.hotkeyNotSet": "Raccourci non configuré", "dashboard.hotkeyNotSet": "Raccourci non configuré",
"dashboard.words": "mots", "dashboard.words": "mots",
"dashboard.total": "total", "dashboard.total": "total",
"dashboard.streak": "série",
"dashboard.days": "jours", "dashboard.days": "jours",
"dashboard.recording": "enregistrement",
"dashboard.sessions": "sessions", "dashboard.sessions": "sessions",
"dashboard.today": "aujourd'hui",
"dashboard.recentTranscriptions": "Transcriptions récentes", "dashboard.recentTranscriptions": "Transcriptions récentes",
"dashboard.noHistory": "Aucun historique — appuyez sur le raccourci pour commencer à enregistrer", "dashboard.noHistory": "Aucun historique — appuyez sur le raccourci pour commencer à enregistrer",
"dashboard.copy": "Copier",
"dashboard.entries": "{{count}} entrées", "dashboard.entries": "{{count}} entrées",
"dashboard.stat": "statistiques",
"dashboard.sys": "système",
"dashboard.currentBackend": "Backend actuel", "dashboard.currentBackend": "Backend actuel",
"dashboard.backendLocal": "Local (Ollama)", "dashboard.backendLocal": "Local (Ollama)",
"dashboard.backendPremium": "Premium (Claude)", "dashboard.backendPremium": "Premium (Claude)",
"dashboard.loginRequired": "Connexion requise",
"history.title": "Historique des transcriptions", "history.title": "Historique des transcriptions",
"history.search": "Rechercher...", "history.search": "Rechercher...",
"history.entries": "{{count}} entrées", "history.entries": "{{count}} entrées",
"history.loading": "Chargement...",
"history.noResults": "Aucun résultat", "history.noResults": "Aucun résultat",
"history.noHistory": "Aucun historique — commencez à enregistrer", "history.noHistory": "Aucun historique — commencez à enregistrer",
"history.count": "{{count}} entrées", "history.count": "{{count}} entrées",
@ -51,7 +42,6 @@
"dictionary.words": "{{count}} mots", "dictionary.words": "{{count}} mots",
"dictionary.add": "Ajouter", "dictionary.add": "Ajouter",
"dictionary.search": "Rechercher...", "dictionary.search": "Rechercher...",
"dictionary.loading": "Chargement...",
"dictionary.noResults": "Aucun résultat", "dictionary.noResults": "Aucun résultat",
"dictionary.noWords": "Aucun mot — ajoutez des mots personnalisés pour améliorer la précision du STT", "dictionary.noWords": "Aucun mot — ajoutez des mots personnalisés pour améliorer la précision du STT",
"dictionary.used": "utilisé {{count}} fois", "dictionary.used": "utilisé {{count}} fois",
@ -64,7 +54,6 @@
"commands.add": "Ajouter", "commands.add": "Ajouter",
"commands.activeCommand": "Commande active", "commands.activeCommand": "Commande active",
"commands.none": "Aucune", "commands.none": "Aucune",
"commands.loading": "Chargement...",
"commands.noCommands": "Aucune commande — cliquez sur ajouter pour en créer une", "commands.noCommands": "Aucune commande — cliquez sur ajouter pour en créer une",
"commands.editTitle": "Modifier la commande", "commands.editTitle": "Modifier la commande",
"commands.addTitle": "Ajouter une commande", "commands.addTitle": "Ajouter une commande",
@ -138,31 +127,9 @@
"settings.about.voiceEngineValue": "STT : faster-whisper (local) / LLM : Ollama (local)", "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.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", "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.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.desc": "Ollama est nécessaire pour le post-traitement LLM (traduction, résumé, etc.).",
"status.nudge.guide": "Voir le guide d'installation →", "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",
"onboarding.mic.title": "Configuration du microphone",
"onboarding.mic.desc": "Sélectionnez le microphone que vous souhaitez utiliser. Vous pourrez le modifier plus tard dans les paramètres.",
"onboarding.hotkey.title": "Configuration du raccourci",
"onboarding.hotkey.desc": "Configurez le raccourci de dictée. L'enregistrement dure tant que vous maintenez la touche enfoncée.",
"onboarding.hotkey.notSet": "Aucun raccourci configuré",
"onboarding.hotkey.change": "Modifier le raccourci",
"onboarding.hotkey.set": "Configurer le raccourci",
"onboarding.ollama.title": "Installer Ollama (facultatif)",
"onboarding.ollama.desc": "Ollama est nécessaire pour le post-traitement LLM comme la traduction ou le résumé. La dictée vocale fonctionne sans Ollama.",
"onboarding.ollama.download": "Télécharger Ollama",
"onboarding.ollama.modelHint": "Après l'installation, téléchargez un modèle depuis le terminal",
"onboarding.done.title": "Configuration terminée !",
"onboarding.done.descWithKey": "Maintenez {{key}} enfoncé et parlez pour convertir votre voix en texte.",
"onboarding.done.descNoKey": "Configurez un raccourci dans les paramètres pour commencer la dictée.",
"onboarding.done.start": "Commencer",
"onboarding.back": "Retour",
"onboarding.next": "Suivant",
"hotkey.title": "Configurer le raccourci", "hotkey.title": "Configurer le raccourci",
"hotkey.dictationTitle": "Configurer le raccourci de dictée", "hotkey.dictationTitle": "Configurer le raccourci de dictée",
"hotkey.oneTouchTitle": "Configurer le raccourci du mode une touche", "hotkey.oneTouchTitle": "Configurer le raccourci du mode une touche",
@ -195,8 +162,6 @@
"common.cancel": "Annuler", "common.cancel": "Annuler",
"common.save": "Enregistrer", "common.save": "Enregistrer",
"common.delete": "Supprimer", "common.delete": "Supprimer",
"common.add": "Ajouter",
"common.edit": "Modifier",
"common.close": "Fermer", "common.close": "Fermer",
"common.confirm": "Confirmer", "common.confirm": "Confirmer",
"common.loading": "Chargement...", "common.loading": "Chargement...",
@ -217,30 +182,16 @@
"nav.meeting": "Réunion", "nav.meeting": "Réunion",
"meeting.title": "Mode Réunion", "meeting.title": "Mode Réunion",
"meeting.newMeeting": "Nouvelle Réunion", "meeting.newMeeting": "Nouvelle Réunion",
"meeting.startRecording": "Démarrer l'enregistrement",
"meeting.stopRecording": "Arrêter l'enregistrement", "meeting.stopRecording": "Arrêter l'enregistrement",
"meeting.recording": "Enregistrement en cours", "meeting.recording": "Enregistrement en cours",
"meeting.processing": "Génération du compte-rendu...", "meeting.processing": "Génération du compte-rendu...",
"meeting.completed": "Terminé", "meeting.completed": "Terminé",
"meeting.error": "Erreur", "meeting.error": "Erreur",
"meeting.elapsed": "Temps écoulé",
"meeting.memoPlaceholder": "Saisir un mémo (Entrée pour ajouter)", "meeting.memoPlaceholder": "Saisir un mémo (Entrée pour ajouter)",
"meeting.memoAdded": "Mémo ajouté",
"meeting.noSessions": "Aucun enregistrement de réunion", "meeting.noSessions": "Aucun enregistrement de réunion",
"meeting.noSessionsDesc": "Appuyez sur Nouvelle Réunion pour commencer l'enregistrement", "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.transcript": "Transcription brute",
"meeting.memos": "Mémos", "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.sessions": "{{count}} séances",
"meeting.duration": "{{minutes}} min", "meeting.duration": "{{minutes}} min",
"meeting.editTitle": "Modifier le titre", "meeting.editTitle": "Modifier le titre",
@ -266,24 +217,13 @@
"meeting.customPrompt": "Invite personnalisée", "meeting.customPrompt": "Invite personnalisée",
"meeting.templateName": "Nom du modèle", "meeting.templateName": "Nom du modèle",
"meeting.templatePrompt": "Invite IA", "meeting.templatePrompt": "Invite IA",
"meeting.templateSave": "Sauvegarder le modèle",
"meeting.documentDeleted": "Document supprimé",
"meeting.autoSaved": "Sauvegarde automatique",
"meeting.minutesTemplate": "Compte-rendu",
"meeting.reportTemplate": "Rapport",
"meeting.ideaNoteTemplate": "Note d'idées",
"meeting.customTemplate": "Personnalisé",
"meeting.downloadTranscript": "Télécharger la transcription", "meeting.downloadTranscript": "Télécharger la transcription",
"meeting.polish": "Peaufiner avec IA", "meeting.polish": "Peaufiner avec IA",
"meeting.polishing": "L'IA peaufine la transcription...", "meeting.polishing": "L'IA peaufine la transcription...",
"meeting.polished": "Peaufinement IA terminé",
"meeting.mindmapTemplate": "Carte mentale",
"meeting.chat": "Chat IA", "meeting.chat": "Chat IA",
"meeting.chatPlaceholder": "Posez une question sur la réunion...", "meeting.chatPlaceholder": "Posez une question sur la réunion...",
"meeting.chatSend": "Envoyer",
"meeting.chatClear": "Effacer le chat", "meeting.chatClear": "Effacer le chat",
"meeting.copyToClipboard": "Copier dans le presse-papiers", "meeting.copyToClipboard": "Copier dans le presse-papiers",
"meeting.copied": "Copié",
"meeting.chatCollapse": "Réduire le chat", "meeting.chatCollapse": "Réduire le chat",
"meeting.chatExpand": "Agrandir le chat", "meeting.chatExpand": "Agrandir le chat",
"meeting.chatReasoning": "Raisonnement…", "meeting.chatReasoning": "Raisonnement…",
@ -294,8 +234,6 @@
"meeting.startRecordingError": "Impossible de démarrer l'enregistrement", "meeting.startRecordingError": "Impossible de démarrer l'enregistrement",
"meeting.diarize": "Identifier les locuteurs", "meeting.diarize": "Identifier les locuteurs",
"meeting.diarizing": "Identification des locuteurs...", "meeting.diarizing": "Identification des locuteurs...",
"meeting.diarizeComplete": "Identification terminée",
"meeting.speaker": "Locuteur",
"settings.hfToken": "Token HuggingFace", "settings.hfToken": "Token HuggingFace",
"settings.hfTokenHint": "Un token HuggingFace est requis pour l'identification des locuteurs", "settings.hfTokenHint": "Un token HuggingFace est requis pour l'identification des locuteurs",
"settings.diarization": "Identification des locuteurs", "settings.diarization": "Identification des locuteurs",
@ -310,11 +248,9 @@
"theme.dracula": "Dracula", "theme.dracula": "Dracula",
"license.signInRequired": "Sign in to manage your subscription", "license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade", "license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionActive": "Subscription active",
"license.subscriptionManage": "Manage subscription", "license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more", "license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan", "license.currentPlanActive": "Your current plan",
"license.openBillingPage": "Open billing page",
"license.premiumQuota": "Premium Quota", "license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",

View file

@ -18,32 +18,23 @@
"login.google": "Googleで続ける", "login.google": "Googleで続ける",
"login.github": "GitHubで続ける", "login.github": "GitHubで続ける",
"login.terms": "続行すると、利用規約およびプライバシーポリシーに同意したものとみなされます。", "login.terms": "続行すると、利用規約およびプライバシーポリシーに同意したものとみなされます。",
"dashboard.sessionOverview": "セッション概要",
"dashboard.systemStatus": "システム状態", "dashboard.systemStatus": "システム状態",
"dashboard.sessionsToday": "本日のセッション", "dashboard.sessionsToday": "本日のセッション",
"dashboard.pressToRecord": "{{key}} を押して録音開始", "dashboard.pressToRecord": "{{key}} を押して録音開始",
"dashboard.hotkeyNotSet": "ホットキー未設定", "dashboard.hotkeyNotSet": "ホットキー未設定",
"dashboard.words": "単語", "dashboard.words": "単語",
"dashboard.total": "合計", "dashboard.total": "合計",
"dashboard.streak": "連続",
"dashboard.days": "日", "dashboard.days": "日",
"dashboard.recording": "録音",
"dashboard.sessions": "セッション", "dashboard.sessions": "セッション",
"dashboard.today": "今日",
"dashboard.recentTranscriptions": "最近の文字起こし", "dashboard.recentTranscriptions": "最近の文字起こし",
"dashboard.noHistory": "履歴なし — ホットキーを押して録音を開始してください", "dashboard.noHistory": "履歴なし — ホットキーを押して録音を開始してください",
"dashboard.copy": "コピー",
"dashboard.entries": "{{count}}件", "dashboard.entries": "{{count}}件",
"dashboard.stat": "統計",
"dashboard.sys": "システム",
"dashboard.currentBackend": "現在のバックエンド", "dashboard.currentBackend": "現在のバックエンド",
"dashboard.backendLocal": "ローカル (Ollama)", "dashboard.backendLocal": "ローカル (Ollama)",
"dashboard.backendPremium": "プレミアム (Claude)", "dashboard.backendPremium": "プレミアム (Claude)",
"dashboard.loginRequired": "ログインが必要",
"history.title": "文字起こし履歴", "history.title": "文字起こし履歴",
"history.search": "検索...", "history.search": "検索...",
"history.entries": "{{count}}件", "history.entries": "{{count}}件",
"history.loading": "読み込み中...",
"history.noResults": "検索結果なし", "history.noResults": "検索結果なし",
"history.noHistory": "履歴なし — 録音を開始してください", "history.noHistory": "履歴なし — 録音を開始してください",
"history.count": "{{count}}件", "history.count": "{{count}}件",
@ -51,7 +42,6 @@
"dictionary.words": "{{count}}語", "dictionary.words": "{{count}}語",
"dictionary.add": "追加", "dictionary.add": "追加",
"dictionary.search": "検索...", "dictionary.search": "検索...",
"dictionary.loading": "読み込み中...",
"dictionary.noResults": "検索結果なし", "dictionary.noResults": "検索結果なし",
"dictionary.noWords": "単語なし — STTの精度向上のためカスタム単語を追加してください", "dictionary.noWords": "単語なし — STTの精度向上のためカスタム単語を追加してください",
"dictionary.used": "{{count}}回使用", "dictionary.used": "{{count}}回使用",
@ -64,7 +54,6 @@
"commands.add": "追加", "commands.add": "追加",
"commands.activeCommand": "アクティブコマンド", "commands.activeCommand": "アクティブコマンド",
"commands.none": "なし", "commands.none": "なし",
"commands.loading": "読み込み中...",
"commands.noCommands": "コマンドなし — 追加をクリックして作成", "commands.noCommands": "コマンドなし — 追加をクリックして作成",
"commands.editTitle": "コマンドを編集", "commands.editTitle": "コマンドを編集",
"commands.addTitle": "コマンドを追加", "commands.addTitle": "コマンドを追加",
@ -138,31 +127,9 @@
"settings.about.voiceEngineValue": "STT: faster-whisper (ローカル) / LLM: Ollama (ローカル)", "settings.about.voiceEngineValue": "STT: faster-whisper (ローカル) / LLM: Ollama (ローカル)",
"settings.about.description": "Speaklyリバースエンジニアリングのウハウをもとに構築したローカルAI音声アシスタント。クラウドに依存せず完全ローカルで動作します。", "settings.about.description": "Speaklyリバースエンジニアリングのウハウをもとに構築したローカルAI音声アシスタント。クラウドに依存せず完全ローカルで動作します。",
"settings.about.restartOnboarding": "初期設定ガイドをもう一度見る", "settings.about.restartOnboarding": "初期設定ガイドをもう一度見る",
"status.ollama": "OLLAMA",
"status.offline": "OFFLINE",
"status.nudge.title": "Ollamaが起動していません", "status.nudge.title": "Ollamaが起動していません",
"status.nudge.desc": "LLM後処理翻訳、要約などを使用するにはOllamaが必要です。", "status.nudge.desc": "LLM後処理翻訳、要約などを使用するにはOllamaが必要です。",
"status.nudge.guide": "インストールガイドを見る →", "status.nudge.guide": "インストールガイドを見る →",
"onboarding.welcome.title": "D3RO-VOICE",
"onboarding.welcome.desc": "タイピング不要、音声で。ローカルAI音声アシスタントです。",
"onboarding.welcome.start": "始める",
"onboarding.mic.title": "マイク設定",
"onboarding.mic.desc": "使用するマイクを選択してください。後で設定から変更できます。",
"onboarding.hotkey.title": "ショートカット設定",
"onboarding.hotkey.desc": "ディクテーションショートカットを設定してください。キーを押している間、録音されます。",
"onboarding.hotkey.notSet": "ショートカットが設定されていません",
"onboarding.hotkey.change": "ショートカットを変更",
"onboarding.hotkey.set": "ショートカットを設定",
"onboarding.ollama.title": "Ollamaのインストール (任意)",
"onboarding.ollama.desc": "翻訳、要約などのLLM後処理を使用するにはOllamaが必要です。音声ディクテーション自体はOllamaなしでも動作します。",
"onboarding.ollama.download": "Ollamaをダウンロード",
"onboarding.ollama.modelHint": "インストール後、ターミナルでモデルをダウンロードしてください",
"onboarding.done.title": "設定完了!",
"onboarding.done.descWithKey": "{{key}} キーを押しながら話すと、音声がテキストに変換されます。",
"onboarding.done.descNoKey": "設定でショートカットを指定すると、音声ディクテーションを開始できます。",
"onboarding.done.start": "始める",
"onboarding.back": "戻る",
"onboarding.next": "次へ",
"hotkey.title": "ショートカット設定", "hotkey.title": "ショートカット設定",
"hotkey.dictationTitle": "ディクテーションショートカットの設定", "hotkey.dictationTitle": "ディクテーションショートカットの設定",
"hotkey.oneTouchTitle": "ワンタッチモードショートカットの設定", "hotkey.oneTouchTitle": "ワンタッチモードショートカットの設定",
@ -195,8 +162,6 @@
"common.cancel": "キャンセル", "common.cancel": "キャンセル",
"common.save": "保存", "common.save": "保存",
"common.delete": "削除", "common.delete": "削除",
"common.add": "追加",
"common.edit": "編集",
"common.close": "閉じる", "common.close": "閉じる",
"common.confirm": "確認", "common.confirm": "確認",
"common.loading": "読み込み中...", "common.loading": "読み込み中...",
@ -217,30 +182,16 @@
"nav.meeting": "ミーティング", "nav.meeting": "ミーティング",
"meeting.title": "ミーティングモード", "meeting.title": "ミーティングモード",
"meeting.newMeeting": "新規ミーティング", "meeting.newMeeting": "新規ミーティング",
"meeting.startRecording": "録音開始",
"meeting.stopRecording": "録音停止", "meeting.stopRecording": "録音停止",
"meeting.recording": "録音中", "meeting.recording": "録音中",
"meeting.processing": "議事録を生成中...", "meeting.processing": "議事録を生成中...",
"meeting.completed": "完了", "meeting.completed": "完了",
"meeting.error": "エラー", "meeting.error": "エラー",
"meeting.elapsed": "経過時間",
"meeting.memoPlaceholder": "メモを入力Enterで追加", "meeting.memoPlaceholder": "メモを入力Enterで追加",
"meeting.memoAdded": "メモを追加しました",
"meeting.noSessions": "ミーティングの録音がありません", "meeting.noSessions": "ミーティングの録音がありません",
"meeting.noSessionsDesc": "「新規ミーティング」を押して録音を開始してください", "meeting.noSessionsDesc": "「新規ミーティング」を押して録音を開始してください",
"meeting.summary": "要約",
"meeting.decisions": "決定事項",
"meeting.actionItems": "アクションアイテム",
"meeting.timeline": "タイムライン",
"meeting.transcript": "生のトランスクリプト", "meeting.transcript": "生のトランスクリプト",
"meeting.memos": "メモ", "meeting.memos": "メモ",
"meeting.exportPdf": "PDFエクスポート",
"meeting.exportMarkdown": "Markdownエクスポート",
"meeting.delete": "削除",
"meeting.deleteConfirm": "このミーティング記録を削除しますか?",
"meeting.backToList": "一覧に戻る",
"meeting.notificationTitle": "議事録が完成しました",
"meeting.notificationBody": "ミーティングの議事録が生成されました。",
"meeting.sessions": "{{count}} セッション", "meeting.sessions": "{{count}} セッション",
"meeting.duration": "{{minutes}} 分", "meeting.duration": "{{minutes}} 分",
"meeting.editTitle": "タイトルを編集", "meeting.editTitle": "タイトルを編集",
@ -266,24 +217,13 @@
"meeting.customPrompt": "カスタムプロンプト", "meeting.customPrompt": "カスタムプロンプト",
"meeting.templateName": "テンプレート名", "meeting.templateName": "テンプレート名",
"meeting.templatePrompt": "AIプロンプト", "meeting.templatePrompt": "AIプロンプト",
"meeting.templateSave": "テンプレートを保存",
"meeting.documentDeleted": "ドキュメントが削除されました",
"meeting.autoSaved": "自動保存済み",
"meeting.minutesTemplate": "議事録",
"meeting.reportTemplate": "レポート",
"meeting.ideaNoteTemplate": "アイデアノート",
"meeting.customTemplate": "カスタム",
"meeting.downloadTranscript": "文字起こしをダウンロード", "meeting.downloadTranscript": "文字起こしをダウンロード",
"meeting.polish": "AI で整える", "meeting.polish": "AI で整える",
"meeting.polishing": "AI が文字起こしを整えています...", "meeting.polishing": "AI が文字起こしを整えています...",
"meeting.polished": "AI 整形完了",
"meeting.mindmapTemplate": "マインドマップ",
"meeting.chat": "AI チャット", "meeting.chat": "AI チャット",
"meeting.chatPlaceholder": "会議について質問してください...", "meeting.chatPlaceholder": "会議について質問してください...",
"meeting.chatSend": "送信",
"meeting.chatClear": "チャットをクリア", "meeting.chatClear": "チャットをクリア",
"meeting.copyToClipboard": "クリップボードにコピー", "meeting.copyToClipboard": "クリップボードにコピー",
"meeting.copied": "コピーしました",
"meeting.chatCollapse": "チャットを折り畳む", "meeting.chatCollapse": "チャットを折り畳む",
"meeting.chatExpand": "チャットを展開", "meeting.chatExpand": "チャットを展開",
"meeting.chatReasoning": "推論中…", "meeting.chatReasoning": "推論中…",
@ -294,8 +234,6 @@
"meeting.startRecordingError": "録音を開始できませんでした", "meeting.startRecordingError": "録音を開始できませんでした",
"meeting.diarize": "話者分離", "meeting.diarize": "話者分離",
"meeting.diarizing": "話者を識別中...", "meeting.diarizing": "話者を識別中...",
"meeting.diarizeComplete": "話者分離完了",
"meeting.speaker": "話者",
"settings.hfToken": "HuggingFaceトークン", "settings.hfToken": "HuggingFaceトークン",
"settings.hfTokenHint": "話者分離にはHuggingFaceトークンが必要です", "settings.hfTokenHint": "話者分離にはHuggingFaceトークンが必要です",
"settings.diarization": "話者分離", "settings.diarization": "話者分離",
@ -310,11 +248,9 @@
"theme.dracula": "Dracula", "theme.dracula": "Dracula",
"license.signInRequired": "Sign in to manage your subscription", "license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade", "license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionActive": "Subscription active",
"license.subscriptionManage": "Manage subscription", "license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more", "license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan", "license.currentPlanActive": "Your current plan",
"license.openBillingPage": "Open billing page",
"license.premiumQuota": "Premium Quota", "license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",

View file

@ -18,21 +18,16 @@
"login.google": "Google로 계속하기", "login.google": "Google로 계속하기",
"login.github": "GitHub로 계속하기", "login.github": "GitHub로 계속하기",
"login.terms": "계속 진행하면 이용약관 및 개인정보 처리방침에 동의합니다.", "login.terms": "계속 진행하면 이용약관 및 개인정보 처리방침에 동의합니다.",
"dashboard.sessionOverview": "세션 개요",
"dashboard.systemStatus": "시스템 상태", "dashboard.systemStatus": "시스템 상태",
"dashboard.sessionsToday": "오늘 세션", "dashboard.sessionsToday": "오늘 세션",
"dashboard.pressToRecord": "{{key}}를 눌러 녹음 시작", "dashboard.pressToRecord": "{{key}}를 눌러 녹음 시작",
"dashboard.hotkeyNotSet": "핫키 미설정", "dashboard.hotkeyNotSet": "핫키 미설정",
"dashboard.words": "단어", "dashboard.words": "단어",
"dashboard.total": "전체", "dashboard.total": "전체",
"dashboard.streak": "연속",
"dashboard.days": "일", "dashboard.days": "일",
"dashboard.recording": "녹음",
"dashboard.sessions": "세션", "dashboard.sessions": "세션",
"dashboard.today": "오늘",
"dashboard.recentTranscriptions": "최근 전사", "dashboard.recentTranscriptions": "최근 전사",
"dashboard.noHistory": "히스토리 없음 — 핫키를 눌러 녹음을 시작하세요", "dashboard.noHistory": "히스토리 없음 — 핫키를 눌러 녹음을 시작하세요",
"dashboard.copy": "복사",
"dashboard.entries": "{{count}}건", "dashboard.entries": "{{count}}건",
"dashboard.heroIdle": "실시간 음성 인식 대기 중", "dashboard.heroIdle": "실시간 음성 인식 대기 중",
"dashboard.viewStats": "통계 보기", "dashboard.viewStats": "통계 보기",
@ -52,16 +47,12 @@
"dashboard.planFree": "무료 플랜", "dashboard.planFree": "무료 플랜",
"dashboard.planFeatureLocal": "로컬 백엔드 무제한", "dashboard.planFeatureLocal": "로컬 백엔드 무제한",
"dashboard.planFeatureDaily": "일일 전사 무제한", "dashboard.planFeatureDaily": "일일 전사 무제한",
"dashboard.stat": "통계",
"dashboard.sys": "시스템",
"dashboard.currentBackend": "현재 백엔드", "dashboard.currentBackend": "현재 백엔드",
"dashboard.backendLocal": "로컬 (Ollama)", "dashboard.backendLocal": "로컬 (Ollama)",
"dashboard.backendPremium": "프리미엄 (Claude)", "dashboard.backendPremium": "프리미엄 (Claude)",
"dashboard.loginRequired": "로그인 필요",
"history.title": "전사 기록", "history.title": "전사 기록",
"history.search": "검색...", "history.search": "검색...",
"history.entries": "{{count}}건", "history.entries": "{{count}}건",
"history.loading": "로딩...",
"history.noResults": "검색 결과 없음", "history.noResults": "검색 결과 없음",
"history.noHistory": "히스토리 없음 — 녹음을 시작하세요", "history.noHistory": "히스토리 없음 — 녹음을 시작하세요",
"history.count": "{{count}}건", "history.count": "{{count}}건",
@ -69,7 +60,6 @@
"dictionary.words": "{{count}}개", "dictionary.words": "{{count}}개",
"dictionary.add": "추가", "dictionary.add": "추가",
"dictionary.search": "검색...", "dictionary.search": "검색...",
"dictionary.loading": "로딩...",
"dictionary.noResults": "검색 결과 없음", "dictionary.noResults": "검색 결과 없음",
"dictionary.noWords": "단어 없음 — STT 정확도 향상을 위해 커스텀 단어를 추가하세요", "dictionary.noWords": "단어 없음 — STT 정확도 향상을 위해 커스텀 단어를 추가하세요",
"dictionary.used": "{{count}}회 사용", "dictionary.used": "{{count}}회 사용",
@ -82,7 +72,6 @@
"commands.add": "추가", "commands.add": "추가",
"commands.activeCommand": "활성 명령어", "commands.activeCommand": "활성 명령어",
"commands.none": "없음", "commands.none": "없음",
"commands.loading": "로딩...",
"commands.noCommands": "명령어 없음 — 추가를 클릭하여 생성", "commands.noCommands": "명령어 없음 — 추가를 클릭하여 생성",
"commands.editTitle": "명령어 편집", "commands.editTitle": "명령어 편집",
"commands.addTitle": "명령어 추가", "commands.addTitle": "명령어 추가",
@ -178,37 +167,9 @@
"voice.error.engine": "음성 인식 엔진을 시작하지 못했습니다. 잠시 후 다시 시도해 주세요.", "voice.error.engine": "음성 인식 엔진을 시작하지 못했습니다. 잠시 후 다시 시도해 주세요.",
"voice.warning.llmSkipped": "Ollama에 연결할 수 없어 원문 그대로 삽입했습니다.", "voice.warning.llmSkipped": "Ollama에 연결할 수 없어 원문 그대로 삽입했습니다.",
"status.localTime": "로컬 시간", "status.localTime": "로컬 시간",
"status.ollama": "OLLAMA",
"status.offline": "OFFLINE",
"status.nudge.title": "Ollama가 실행되지 않고 있어요", "status.nudge.title": "Ollama가 실행되지 않고 있어요",
"status.nudge.desc": "LLM 후처리(번역, 요약 등)를 사용하려면 Ollama가 필요합니다.", "status.nudge.desc": "LLM 후처리(번역, 요약 등)를 사용하려면 Ollama가 필요합니다.",
"status.nudge.guide": "설치 안내 보기 →", "status.nudge.guide": "설치 안내 보기 →",
"onboarding.welcome.title": "D3RO-VOICE",
"onboarding.welcome.desc": "타이핑 없이, 음성으로. 로컬 AI 음성 어시스턴트입니다.",
"onboarding.welcome.start": "시작하기",
"onboarding.mic.title": "마이크 설정",
"onboarding.mic.desc": "사용할 마이크를 선택하세요. 나중에 설정에서 변경할 수 있습니다.",
"onboarding.hotkey.title": "단축키 설정",
"onboarding.hotkey.desc": "받아쓰기 단축키를 설정하세요. 키를 누르고 있는 동안 녹음됩니다.",
"onboarding.hotkey.notSet": "단축키가 설정되지 않았습니다",
"onboarding.hotkey.change": "단축키 변경",
"onboarding.hotkey.set": "단축키 설정",
"onboarding.ollama.title": "Ollama 설치 (선택)",
"onboarding.ollama.desc": "번역, 요약 등 LLM 후처리를 사용하려면 Ollama가 필요합니다. 음성 받아쓰기 자체는 Ollama 없이도 동작합니다.",
"onboarding.ollama.download": "Ollama 다운로드",
"onboarding.ollama.modelHint": "설치 후 터미널에서 모델을 다운로드하세요",
"onboarding.cloud.title": "Cloud Sync (선택)",
"onboarding.cloud.tagline": "로컬만으로도 충분히 작동합니다. 원할 때 로그인하면 더 많은 기능이 잠금 해제됩니다.",
"onboarding.cloud.benefit1": "여러 기기에서 히스토리 · 회의록 자동 동기화",
"onboarding.cloud.benefit2": "Premium LLM (Claude, GPT-4) 사용",
"onboarding.cloud.benefit3": "팀 공유 · 백업 · 웹 앱 접속",
"onboarding.cloud.signInLater": "설정에서 언제든지 로그인",
"onboarding.done.title": "설정 완료!",
"onboarding.done.descWithKey": "{{key}} 키를 누르고 말하면 음성이 텍스트로 변환됩니다.",
"onboarding.done.descNoKey": "설정에서 단축키를 지정하면 음성 받아쓰기를 시작할 수 있습니다.",
"onboarding.done.start": "시작하기",
"onboarding.back": "뒤로",
"onboarding.next": "다음",
"hotkey.title": "단축키 설정", "hotkey.title": "단축키 설정",
"hotkey.dictationTitle": "받아쓰기 단축키 설정", "hotkey.dictationTitle": "받아쓰기 단축키 설정",
"hotkey.oneTouchTitle": "원터치 모드 단축키 설정", "hotkey.oneTouchTitle": "원터치 모드 단축키 설정",
@ -242,55 +203,31 @@
"common.cancel": "취소", "common.cancel": "취소",
"common.save": "저장", "common.save": "저장",
"common.delete": "삭제", "common.delete": "삭제",
"common.add": "추가",
"common.edit": "편집",
"common.close": "닫기", "common.close": "닫기",
"common.confirm": "확인", "common.confirm": "확인",
"common.loading": "로딩...", "common.loading": "로딩...",
"common.copy": "복사", "common.copy": "복사",
"common.test": "테스트", "common.test": "테스트",
"common.stop": "중지", "common.stop": "중지",
"memo.tags": "태그",
"memo.addTag": "태그 추가", "memo.addTag": "태그 추가",
"memo.removeTag": "태그 제거",
"memo.tagPlaceholder": "태그 입력 후 Enter", "memo.tagPlaceholder": "태그 입력 후 Enter",
"memo.noTags": "태그 없음",
"memo.export": "마크다운 내보내기", "memo.export": "마크다운 내보내기",
"memo.exportSuccess": "내보내기 완료",
"memo.filterByTag": "태그로 필터",
"memo.allTags": "전체 태그",
"memo.clearFilter": "필터 해제", "memo.clearFilter": "필터 해제",
"voiceCommand.title": "음성 명령어", "voiceCommand.title": "음성 명령어",
"voiceCommand.enabled": "음성 키워드 인식",
"voiceCommand.enabledDesc": "전사 시작 시 키워드를 감지하여 명령어를 자동 선택합니다.",
"voiceCommand.keywords": "키워드",
"voiceCommand.keywordPlaceholder": "키워드 입력 후 Enter", "voiceCommand.keywordPlaceholder": "키워드 입력 후 Enter",
"voiceCommand.noKeywords": "키워드 없음", "voiceCommand.noKeywords": "키워드 없음",
"voiceCommand.matchMode": "매칭 모드",
"voiceCommand.matchMode.prefix": "앞부분 일치",
"voiceCommand.matchMode.suffix": "뒷부분 일치",
"voiceCommand.matchMode.contains": "포함",
"chain.title": "LLM 체인", "chain.title": "LLM 체인",
"chain.count": "{{count}}개",
"chain.add": "체인 추가", "chain.add": "체인 추가",
"chain.editTitle": "체인 편집", "chain.editTitle": "체인 편집",
"chain.addTitle": "체인 추가", "chain.addTitle": "체인 추가",
"chain.name": "체인 이름", "chain.name": "체인 이름",
"chain.steps": "단계", "chain.steps": "단계",
"chain.addStep": "단계 추가", "chain.addStep": "단계 추가",
"chain.removeStep": "제거",
"chain.inputSource": "입력 소스", "chain.inputSource": "입력 소스",
"chain.inputSource.original": "원본 텍스트", "chain.inputSource.original": "원본 텍스트",
"chain.inputSource.previous": "이전 단계 결과", "chain.inputSource.previous": "이전 단계 결과",
"chain.selectInstruction": "명령어 선택", "chain.selectInstruction": "명령어 선택",
"chain.execute": "실행",
"chain.executing": "실행 중...",
"chain.noChains": "체인 없음 — 여러 명령어를 순차 실행하는 파이프라인을 만들어 보세요", "chain.noChains": "체인 없음 — 여러 명령어를 순차 실행하는 파이프라인을 만들어 보세요",
"chain.step": "{{n}}단계",
"chain.progress": "{{current}}/{{total}} 단계 처리 중",
"context.title": "화면 컨텍스트",
"context.enabled": "스크린 컨텍스트",
"context.enabledDesc": "녹음 시작 시 활성 앱과 선택된 텍스트를 캡처하여 LLM에 전달합니다.",
"dashboard.caption": "실시간 자막", "dashboard.caption": "실시간 자막",
"dashboard.captionStart": "자막 시작", "dashboard.captionStart": "자막 시작",
"dashboard.captionStop": "자막 종료", "dashboard.captionStop": "자막 종료",
@ -308,11 +245,9 @@
"license.proPlus": "PRO+", "license.proPlus": "PRO+",
"license.subscribe": "구독하기", "license.subscribe": "구독하기",
"license.upgrade": "업그레이드", "license.upgrade": "업그레이드",
"license.currentPlan": "현재 구독 중",
"license.proPlan": "Pro — ₩9,900/월", "license.proPlan": "Pro — ₩9,900/월",
"license.proPlusPlan": "Pro+ — ₩29,900/월", "license.proPlusPlan": "Pro+ — ₩29,900/월",
"license.quotaUsed": "{{used}}/{{limit}} 사용", "license.quotaUsed": "{{used}}/{{limit}} 사용",
"license.quotaUnlimited": "무제한",
"license.tierComparison": "등급 비교", "license.tierComparison": "등급 비교",
"license.dailyUsage": "일일 사용량", "license.dailyUsage": "일일 사용량",
"license.feature.dictation": "받아쓰기", "license.feature.dictation": "받아쓰기",
@ -347,9 +282,6 @@
"license.feature.localRag": "로컬 RAG", "license.feature.localRag": "로컬 RAG",
"license.feature.osAutomation": "OS 자동화", "license.feature.osAutomation": "OS 자동화",
"license.pro.required": "PRO 필요", "license.pro.required": "PRO 필요",
"license.proPlus.required": "PRO+ 필요",
"license.included": "포함",
"license.notIncluded": "미포함",
"license.quotaExceeded.title": "오늘의 {{feature}}을(를) 모두 사용했습니다", "license.quotaExceeded.title": "오늘의 {{feature}}을(를) 모두 사용했습니다",
"license.quotaExceeded.desc": "Pro로 업그레이드하면 무제한으로 사용할 수 있습니다", "license.quotaExceeded.desc": "Pro로 업그레이드하면 무제한으로 사용할 수 있습니다",
"license.tierRequired.title": "{{feature}}은(는) {{tier}} 기능입니다", "license.tierRequired.title": "{{feature}}은(는) {{tier}} 기능입니다",
@ -365,17 +297,13 @@
"license.benefit.liveCaption": "실시간 자막", "license.benefit.liveCaption": "실시간 자막",
"license.benefit.unlimitedHistory": "히스토리 무제한 보존", "license.benefit.unlimitedHistory": "히스토리 무제한 보존",
"license.usageToday": "오늘 사용량", "license.usageToday": "오늘 사용량",
"license.perDay": "회/일",
"license.unlimited": "무제한", "license.unlimited": "무제한",
"license.locked": "잠금",
"license.nav": "라이선스", "license.nav": "라이선스",
"license.signInRequired": "구독을 관리하려면 로그인하세요", "license.signInRequired": "구독을 관리하려면 로그인하세요",
"license.signInToUpgrade": "로그인 후 업그레이드", "license.signInToUpgrade": "로그인 후 업그레이드",
"license.subscriptionActive": "구독 활성",
"license.subscriptionManage": "구독 관리", "license.subscriptionManage": "구독 관리",
"license.upgradeToProDesc": "프리미엄 AI 모델, 클라우드 동기화 등 모든 기능을 사용하세요", "license.upgradeToProDesc": "프리미엄 AI 모델, 클라우드 동기화 등 모든 기능을 사용하세요",
"license.currentPlanActive": "현재 구독 중", "license.currentPlanActive": "현재 구독 중",
"license.openBillingPage": "결제 페이지 열기",
"license.premiumQuota": "프리미엄 쿼터", "license.premiumQuota": "프리미엄 쿼터",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",
@ -453,13 +381,6 @@
"rag.sources": "참조 문서", "rag.sources": "참조 문서",
"rag.adding": "추가 중...", "rag.adding": "추가 중...",
"rag.parsing": "문서 분석 중...", "rag.parsing": "문서 분석 중...",
"voiceAction.title": "음성 액션",
"voiceAction.execute": "실행",
"voiceAction.presets": "프리셋 명령",
"voiceAction.history": "실행 이력",
"voiceAction.noHistory": "실행 이력이 없습니다",
"voiceAction.blocked": "차단됨 (위험 명령)",
"voiceAction.executed": "실행됨",
"settings.theme.nord": "Nord", "settings.theme.nord": "Nord",
"settings.theme.solarized": "Solarized", "settings.theme.solarized": "Solarized",
"settings.theme.catppuccin": "Catppuccin", "settings.theme.catppuccin": "Catppuccin",
@ -472,30 +393,16 @@
"nav.meeting": "회의", "nav.meeting": "회의",
"meeting.title": "회의 모드", "meeting.title": "회의 모드",
"meeting.newMeeting": "새 회의", "meeting.newMeeting": "새 회의",
"meeting.startRecording": "녹음 시작",
"meeting.stopRecording": "녹음 종료", "meeting.stopRecording": "녹음 종료",
"meeting.recording": "녹음 중", "meeting.recording": "녹음 중",
"meeting.processing": "회의록 생성 중...", "meeting.processing": "회의록 생성 중...",
"meeting.completed": "완료", "meeting.completed": "완료",
"meeting.error": "오류", "meeting.error": "오류",
"meeting.elapsed": "경과 시간",
"meeting.memoPlaceholder": "메모 입력 (Enter로 추가)", "meeting.memoPlaceholder": "메모 입력 (Enter로 추가)",
"meeting.memoAdded": "메모 추가됨",
"meeting.noSessions": "회의 녹음이 없습니다", "meeting.noSessions": "회의 녹음이 없습니다",
"meeting.noSessionsDesc": "새 회의 버튼을 눌러 녹음을 시작하세요", "meeting.noSessionsDesc": "새 회의 버튼을 눌러 녹음을 시작하세요",
"meeting.summary": "요약",
"meeting.decisions": "결정사항",
"meeting.actionItems": "할 일",
"meeting.timeline": "타임라인",
"meeting.transcript": "원문 전사", "meeting.transcript": "원문 전사",
"meeting.memos": "메모", "meeting.memos": "메모",
"meeting.exportPdf": "PDF 내보내기",
"meeting.exportMarkdown": "마크다운 내보내기",
"meeting.delete": "삭제",
"meeting.deleteConfirm": "이 회의록을 삭제하시겠습니까?",
"meeting.backToList": "목록으로",
"meeting.notificationTitle": "회의록 준비 완료",
"meeting.notificationBody": "회의록이 생성되었습니다. 클릭하여 확인하세요.",
"meeting.sessions": "{{count}}건", "meeting.sessions": "{{count}}건",
"meeting.duration": "{{minutes}}분", "meeting.duration": "{{minutes}}분",
"meeting.editTitle": "제목 편집", "meeting.editTitle": "제목 편집",
@ -521,24 +428,13 @@
"meeting.customPrompt": "커스텀 프롬프트", "meeting.customPrompt": "커스텀 프롬프트",
"meeting.templateName": "템플릿 이름", "meeting.templateName": "템플릿 이름",
"meeting.templatePrompt": "AI 프롬프트", "meeting.templatePrompt": "AI 프롬프트",
"meeting.templateSave": "템플릿 저장",
"meeting.documentDeleted": "문서가 삭제되었습니다",
"meeting.autoSaved": "자동 저장됨",
"meeting.minutesTemplate": "회의록",
"meeting.reportTemplate": "보고서",
"meeting.ideaNoteTemplate": "아이디어 노트",
"meeting.customTemplate": "커스텀",
"meeting.downloadTranscript": "전사 다운로드", "meeting.downloadTranscript": "전사 다운로드",
"meeting.polish": "AI 다듬기", "meeting.polish": "AI 다듬기",
"meeting.polishing": "AI가 전사를 다듬는 중...", "meeting.polishing": "AI가 전사를 다듬는 중...",
"meeting.polished": "AI 다듬기 완료",
"meeting.mindmapTemplate": "마인드맵",
"meeting.chat": "AI 채팅", "meeting.chat": "AI 채팅",
"meeting.chatPlaceholder": "회의 내용에 대해 질문하세요...", "meeting.chatPlaceholder": "회의 내용에 대해 질문하세요...",
"meeting.chatSend": "전송",
"meeting.chatClear": "대화 초기화", "meeting.chatClear": "대화 초기화",
"meeting.copyToClipboard": "클립보드 복사", "meeting.copyToClipboard": "클립보드 복사",
"meeting.copied": "복사됨",
"meeting.chatCollapse": "채팅 접기", "meeting.chatCollapse": "채팅 접기",
"meeting.chatExpand": "채팅 펼치기", "meeting.chatExpand": "채팅 펼치기",
"meeting.chatReasoning": "추론 중…", "meeting.chatReasoning": "추론 중…",
@ -549,8 +445,6 @@
"meeting.startRecordingError": "녹음을 시작하지 못했습니다", "meeting.startRecordingError": "녹음을 시작하지 못했습니다",
"meeting.diarize": "화자 구분", "meeting.diarize": "화자 구분",
"meeting.diarizing": "화자를 구분하는 중...", "meeting.diarizing": "화자를 구분하는 중...",
"meeting.diarizeComplete": "화자 구분 완료",
"meeting.speaker": "화자",
"settings.hfToken": "HuggingFace 토큰", "settings.hfToken": "HuggingFace 토큰",
"settings.hfTokenHint": "화자 구분을 위해 HuggingFace 토큰이 필요합니다", "settings.hfTokenHint": "화자 구분을 위해 HuggingFace 토큰이 필요합니다",
"settings.diarization": "화자 구분", "settings.diarization": "화자 구분",
@ -625,7 +519,6 @@
"mobile.set.haptic": "Haptic Feedback", "mobile.set.haptic": "Haptic Feedback",
"mobile.set.logout": "LOGOUT", "mobile.set.logout": "LOGOUT",
"mobile.set.logoutConfirm": "정말 로그아웃 하시겠습니까?", "mobile.set.logoutConfirm": "정말 로그아웃 하시겠습니까?",
"mobile.set.connected": "CLOUD CONNECTED",
"mobile.login.title": "D3RO-VOICE", "mobile.login.title": "D3RO-VOICE",
"mobile.login.subtitle": "PRECISION VOICE INTELLIGENCE", "mobile.login.subtitle": "PRECISION VOICE INTELLIGENCE",
@ -640,11 +533,6 @@
"mobile.login.signUp": "회원가입", "mobile.login.signUp": "회원가입",
"mobile.login.notConfigured": "Supabase가 설정되지 않았습니다. EXPO_PUBLIC_SUPABASE_URL을 .env에 설정하세요.", "mobile.login.notConfigured": "Supabase가 설정되지 않았습니다. EXPO_PUBLIC_SUPABASE_URL을 .env에 설정하세요.",
"mobile.status.model": "CLOUD CLAUDE",
"mobile.status.link": "PRECISION DATA LINK",
"date.today": "TODAY",
"date.yesterday": "YESTERDAY",
"onboarding.title": "D3RO Voice 초기 설정", "onboarding.title": "D3RO Voice 초기 설정",
"onboarding.subtitle": "음성 어시스턴트 사용에 필요한 모델을 다운로드합니다.", "onboarding.subtitle": "음성 어시스턴트 사용에 필요한 모델을 다운로드합니다.",

View file

@ -18,32 +18,23 @@
"login.google": "Continuar com Google", "login.google": "Continuar com Google",
"login.github": "Continuar com GitHub", "login.github": "Continuar com GitHub",
"login.terms": "Ao continuar, você concorda com os Termos de Serviço e Política de Privacidade.", "login.terms": "Ao continuar, você concorda com os Termos de Serviço e Política de Privacidade.",
"dashboard.sessionOverview": "Visão geral da sessão",
"dashboard.systemStatus": "Status do sistema", "dashboard.systemStatus": "Status do sistema",
"dashboard.sessionsToday": "Sessões hoje", "dashboard.sessionsToday": "Sessões hoje",
"dashboard.pressToRecord": "Pressione {{key}} para iniciar a gravação", "dashboard.pressToRecord": "Pressione {{key}} para iniciar a gravação",
"dashboard.hotkeyNotSet": "Atalho não configurado", "dashboard.hotkeyNotSet": "Atalho não configurado",
"dashboard.words": "palavras", "dashboard.words": "palavras",
"dashboard.total": "total", "dashboard.total": "total",
"dashboard.streak": "sequência",
"dashboard.days": "dias", "dashboard.days": "dias",
"dashboard.recording": "gravando",
"dashboard.sessions": "sessões", "dashboard.sessions": "sessões",
"dashboard.today": "hoje",
"dashboard.recentTranscriptions": "Transcrições recentes", "dashboard.recentTranscriptions": "Transcrições recentes",
"dashboard.noHistory": "Sem histórico — pressione o atalho para começar a gravar", "dashboard.noHistory": "Sem histórico — pressione o atalho para começar a gravar",
"dashboard.copy": "Copiar",
"dashboard.entries": "{{count}} entradas", "dashboard.entries": "{{count}} entradas",
"dashboard.stat": "estatísticas",
"dashboard.sys": "sistema",
"dashboard.currentBackend": "Backend atual", "dashboard.currentBackend": "Backend atual",
"dashboard.backendLocal": "Local (Ollama)", "dashboard.backendLocal": "Local (Ollama)",
"dashboard.backendPremium": "Premium (Claude)", "dashboard.backendPremium": "Premium (Claude)",
"dashboard.loginRequired": "Login necessário",
"history.title": "Histórico de transcrições", "history.title": "Histórico de transcrições",
"history.search": "Pesquisar...", "history.search": "Pesquisar...",
"history.entries": "{{count}} entradas", "history.entries": "{{count}} entradas",
"history.loading": "Carregando...",
"history.noResults": "Sem resultados", "history.noResults": "Sem resultados",
"history.noHistory": "Sem histórico — comece a gravar", "history.noHistory": "Sem histórico — comece a gravar",
"history.count": "{{count}} entradas", "history.count": "{{count}} entradas",
@ -51,7 +42,6 @@
"dictionary.words": "{{count}} palavras", "dictionary.words": "{{count}} palavras",
"dictionary.add": "Adicionar", "dictionary.add": "Adicionar",
"dictionary.search": "Pesquisar...", "dictionary.search": "Pesquisar...",
"dictionary.loading": "Carregando...",
"dictionary.noResults": "Sem resultados", "dictionary.noResults": "Sem resultados",
"dictionary.noWords": "Sem palavras — adicione palavras personalizadas para melhorar a precisão do STT", "dictionary.noWords": "Sem palavras — adicione palavras personalizadas para melhorar a precisão do STT",
"dictionary.used": "usado {{count}} vezes", "dictionary.used": "usado {{count}} vezes",
@ -64,7 +54,6 @@
"commands.add": "Adicionar", "commands.add": "Adicionar",
"commands.activeCommand": "Comando ativo", "commands.activeCommand": "Comando ativo",
"commands.none": "Nenhum", "commands.none": "Nenhum",
"commands.loading": "Carregando...",
"commands.noCommands": "Sem comandos — clique em adicionar para criar um", "commands.noCommands": "Sem comandos — clique em adicionar para criar um",
"commands.editTitle": "Editar comando", "commands.editTitle": "Editar comando",
"commands.addTitle": "Adicionar comando", "commands.addTitle": "Adicionar comando",
@ -138,31 +127,9 @@
"settings.about.voiceEngineValue": "STT: faster-whisper (local) / LLM: Ollama (local)", "settings.about.voiceEngineValue": "STT: faster-whisper (local) / LLM: Ollama (local)",
"settings.about.description": "Assistente de voz com IA totalmente local, baseado em engenharia reversa do Speakly. Funciona sem dependências de nuvem.", "settings.about.description": "Assistente de voz com IA totalmente local, baseado em engenharia reversa do Speakly. Funciona sem dependências de nuvem.",
"settings.about.restartOnboarding": "Ver guia de configuração inicial novamente", "settings.about.restartOnboarding": "Ver guia de configuração inicial novamente",
"status.ollama": "OLLAMA",
"status.offline": "OFFLINE",
"status.nudge.title": "Ollama não está em execução", "status.nudge.title": "Ollama não está em execução",
"status.nudge.desc": "O Ollama é necessário para o pós-processamento LLM (tradução, resumo, etc.).", "status.nudge.desc": "O Ollama é necessário para o pós-processamento LLM (tradução, resumo, etc.).",
"status.nudge.guide": "Ver guia de instalação →", "status.nudge.guide": "Ver guia de instalação →",
"onboarding.welcome.title": "D3RO-VOICE",
"onboarding.welcome.desc": "Sem digitar, por voz. Seu assistente de voz com IA local.",
"onboarding.welcome.start": "Começar",
"onboarding.mic.title": "Configurar microfone",
"onboarding.mic.desc": "Selecione o microfone que deseja usar. Você pode alterá-lo depois nas configurações.",
"onboarding.hotkey.title": "Configurar atalho",
"onboarding.hotkey.desc": "Configure o atalho de ditado. A gravação continua enquanto você mantiver a tecla pressionada.",
"onboarding.hotkey.notSet": "Nenhum atalho configurado",
"onboarding.hotkey.change": "Alterar atalho",
"onboarding.hotkey.set": "Configurar atalho",
"onboarding.ollama.title": "Instalar Ollama (opcional)",
"onboarding.ollama.desc": "O Ollama é necessário para pós-processamento LLM como tradução ou resumo. O ditado de voz funciona sem o Ollama.",
"onboarding.ollama.download": "Baixar Ollama",
"onboarding.ollama.modelHint": "Após instalar, baixe um modelo pelo terminal",
"onboarding.done.title": "Configuração concluída!",
"onboarding.done.descWithKey": "Mantenha {{key}} pressionado e fale para converter sua voz em texto.",
"onboarding.done.descNoKey": "Configure um atalho nas configurações para começar a ditar.",
"onboarding.done.start": "Começar",
"onboarding.back": "Voltar",
"onboarding.next": "Próximo",
"hotkey.title": "Configurar atalho", "hotkey.title": "Configurar atalho",
"hotkey.dictationTitle": "Configurar atalho de ditado", "hotkey.dictationTitle": "Configurar atalho de ditado",
"hotkey.oneTouchTitle": "Configurar atalho do modo de um toque", "hotkey.oneTouchTitle": "Configurar atalho do modo de um toque",
@ -195,8 +162,6 @@
"common.cancel": "Cancelar", "common.cancel": "Cancelar",
"common.save": "Salvar", "common.save": "Salvar",
"common.delete": "Excluir", "common.delete": "Excluir",
"common.add": "Adicionar",
"common.edit": "Editar",
"common.close": "Fechar", "common.close": "Fechar",
"common.confirm": "Confirmar", "common.confirm": "Confirmar",
"common.loading": "Carregando...", "common.loading": "Carregando...",
@ -217,30 +182,16 @@
"nav.meeting": "Reunião", "nav.meeting": "Reunião",
"meeting.title": "Modo Reunião", "meeting.title": "Modo Reunião",
"meeting.newMeeting": "Nova Reunião", "meeting.newMeeting": "Nova Reunião",
"meeting.startRecording": "Iniciar Gravação",
"meeting.stopRecording": "Parar Gravação", "meeting.stopRecording": "Parar Gravação",
"meeting.recording": "Gravando", "meeting.recording": "Gravando",
"meeting.processing": "Gerando ata...", "meeting.processing": "Gerando ata...",
"meeting.completed": "Concluído", "meeting.completed": "Concluído",
"meeting.error": "Erro", "meeting.error": "Erro",
"meeting.elapsed": "Tempo decorrido",
"meeting.memoPlaceholder": "Digite um memo (Enter para adicionar)", "meeting.memoPlaceholder": "Digite um memo (Enter para adicionar)",
"meeting.memoAdded": "Memo adicionado",
"meeting.noSessions": "Nenhuma gravação de reunião", "meeting.noSessions": "Nenhuma gravação de reunião",
"meeting.noSessionsDesc": "Pressione Nova Reunião para começar a gravar", "meeting.noSessionsDesc": "Pressione Nova Reunião para começar a gravar",
"meeting.summary": "Resumo",
"meeting.decisions": "Decisões",
"meeting.actionItems": "Itens de ação",
"meeting.timeline": "Linha do tempo",
"meeting.transcript": "Transcrição bruta", "meeting.transcript": "Transcrição bruta",
"meeting.memos": "Memos", "meeting.memos": "Memos",
"meeting.exportPdf": "Exportar PDF",
"meeting.exportMarkdown": "Exportar Markdown",
"meeting.delete": "Excluir",
"meeting.deleteConfirm": "Excluir este registro de reunião?",
"meeting.backToList": "Voltar à lista",
"meeting.notificationTitle": "Ata pronta",
"meeting.notificationBody": "A ata da reunião foi gerada.",
"meeting.sessions": "{{count}} sessões", "meeting.sessions": "{{count}} sessões",
"meeting.duration": "{{minutes}} min", "meeting.duration": "{{minutes}} min",
"meeting.editTitle": "Editar título", "meeting.editTitle": "Editar título",
@ -266,24 +217,13 @@
"meeting.customPrompt": "Prompt personalizado", "meeting.customPrompt": "Prompt personalizado",
"meeting.templateName": "Nome do modelo", "meeting.templateName": "Nome do modelo",
"meeting.templatePrompt": "Prompt de IA", "meeting.templatePrompt": "Prompt de IA",
"meeting.templateSave": "Salvar modelo",
"meeting.documentDeleted": "Documento excluído",
"meeting.autoSaved": "Salvo automaticamente",
"meeting.minutesTemplate": "Ata de reunião",
"meeting.reportTemplate": "Relatório",
"meeting.ideaNoteTemplate": "Nota de ideias",
"meeting.customTemplate": "Personalizado",
"meeting.downloadTranscript": "Baixar transcrição", "meeting.downloadTranscript": "Baixar transcrição",
"meeting.polish": "Polir com IA", "meeting.polish": "Polir com IA",
"meeting.polishing": "IA está polindo a transcrição...", "meeting.polishing": "IA está polindo a transcrição...",
"meeting.polished": "Polimento IA concluído",
"meeting.mindmapTemplate": "Mapa mental",
"meeting.chat": "Chat IA", "meeting.chat": "Chat IA",
"meeting.chatPlaceholder": "Pergunte sobre a reunião...", "meeting.chatPlaceholder": "Pergunte sobre a reunião...",
"meeting.chatSend": "Enviar",
"meeting.chatClear": "Limpar chat", "meeting.chatClear": "Limpar chat",
"meeting.copyToClipboard": "Copiar para área de transferência", "meeting.copyToClipboard": "Copiar para área de transferência",
"meeting.copied": "Copiado",
"meeting.chatCollapse": "Recolher chat", "meeting.chatCollapse": "Recolher chat",
"meeting.chatExpand": "Expandir chat", "meeting.chatExpand": "Expandir chat",
"meeting.chatReasoning": "Raciocinando…", "meeting.chatReasoning": "Raciocinando…",
@ -294,8 +234,6 @@
"meeting.startRecordingError": "Falha ao iniciar gravação", "meeting.startRecordingError": "Falha ao iniciar gravação",
"meeting.diarize": "Identificar oradores", "meeting.diarize": "Identificar oradores",
"meeting.diarizing": "Identificando oradores...", "meeting.diarizing": "Identificando oradores...",
"meeting.diarizeComplete": "Identificação concluída",
"meeting.speaker": "Orador",
"settings.hfToken": "Token do HuggingFace", "settings.hfToken": "Token do HuggingFace",
"settings.hfTokenHint": "Um token do HuggingFace é necessário para identificar oradores", "settings.hfTokenHint": "Um token do HuggingFace é necessário para identificar oradores",
"settings.diarization": "Identificação de oradores", "settings.diarization": "Identificação de oradores",
@ -310,11 +248,9 @@
"theme.dracula": "Dracula", "theme.dracula": "Dracula",
"license.signInRequired": "Sign in to manage your subscription", "license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade", "license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionActive": "Subscription active",
"license.subscriptionManage": "Manage subscription", "license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more", "license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan", "license.currentPlanActive": "Your current plan",
"license.openBillingPage": "Open billing page",
"license.premiumQuota": "Premium Quota", "license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",

View file

@ -18,32 +18,23 @@
"login.google": "Продолжить с Google", "login.google": "Продолжить с Google",
"login.github": "Продолжить с GitHub", "login.github": "Продолжить с GitHub",
"login.terms": "Продолжая, вы соглашаетесь с условиями использования и политикой конфиденциальности.", "login.terms": "Продолжая, вы соглашаетесь с условиями использования и политикой конфиденциальности.",
"dashboard.sessionOverview": "Обзор сессий",
"dashboard.systemStatus": "Состояние системы", "dashboard.systemStatus": "Состояние системы",
"dashboard.sessionsToday": "Сессий сегодня", "dashboard.sessionsToday": "Сессий сегодня",
"dashboard.pressToRecord": "Нажмите {{key}} для начала записи", "dashboard.pressToRecord": "Нажмите {{key}} для начала записи",
"dashboard.hotkeyNotSet": "Горячая клавиша не задана", "dashboard.hotkeyNotSet": "Горячая клавиша не задана",
"dashboard.words": "Слова", "dashboard.words": "Слова",
"dashboard.total": "Всего", "dashboard.total": "Всего",
"dashboard.streak": "Серия",
"dashboard.days": "дн.", "dashboard.days": "дн.",
"dashboard.recording": "Запись",
"dashboard.sessions": "Сессии", "dashboard.sessions": "Сессии",
"dashboard.today": "Сегодня",
"dashboard.recentTranscriptions": "Последние транскрипции", "dashboard.recentTranscriptions": "Последние транскрипции",
"dashboard.noHistory": "История пуста — нажмите горячую клавишу для начала записи", "dashboard.noHistory": "История пуста — нажмите горячую клавишу для начала записи",
"dashboard.copy": "Копировать",
"dashboard.entries": "{{count}} записей", "dashboard.entries": "{{count}} записей",
"dashboard.stat": "Статистика",
"dashboard.sys": "Система",
"dashboard.currentBackend": "Текущий бэкенд", "dashboard.currentBackend": "Текущий бэкенд",
"dashboard.backendLocal": "Локальный (Ollama)", "dashboard.backendLocal": "Локальный (Ollama)",
"dashboard.backendPremium": "Премиум (Claude)", "dashboard.backendPremium": "Премиум (Claude)",
"dashboard.loginRequired": "Требуется вход",
"history.title": "История транскрипций", "history.title": "История транскрипций",
"history.search": "Поиск...", "history.search": "Поиск...",
"history.entries": "{{count}} записей", "history.entries": "{{count}} записей",
"history.loading": "Загрузка...",
"history.noResults": "Результаты не найдены", "history.noResults": "Результаты не найдены",
"history.noHistory": "История пуста — начните запись", "history.noHistory": "История пуста — начните запись",
"history.count": "{{count}} записей", "history.count": "{{count}} записей",
@ -51,7 +42,6 @@
"dictionary.words": "{{count}} слов", "dictionary.words": "{{count}} слов",
"dictionary.add": "Добавить", "dictionary.add": "Добавить",
"dictionary.search": "Поиск...", "dictionary.search": "Поиск...",
"dictionary.loading": "Загрузка...",
"dictionary.noResults": "Результаты не найдены", "dictionary.noResults": "Результаты не найдены",
"dictionary.noWords": "Слов нет — добавьте собственные слова для улучшения точности STT", "dictionary.noWords": "Слов нет — добавьте собственные слова для улучшения точности STT",
"dictionary.used": "Использовано {{count}} раз", "dictionary.used": "Использовано {{count}} раз",
@ -64,7 +54,6 @@
"commands.add": "Добавить", "commands.add": "Добавить",
"commands.activeCommand": "Активная команда", "commands.activeCommand": "Активная команда",
"commands.none": "Нет", "commands.none": "Нет",
"commands.loading": "Загрузка...",
"commands.noCommands": "Команд нет — нажмите «Добавить» для создания", "commands.noCommands": "Команд нет — нажмите «Добавить» для создания",
"commands.editTitle": "Редактировать команду", "commands.editTitle": "Редактировать команду",
"commands.addTitle": "Добавить команду", "commands.addTitle": "Добавить команду",
@ -138,31 +127,9 @@
"settings.about.voiceEngineValue": "STT: faster-whisper (локально) / LLM: Ollama (локально)", "settings.about.voiceEngineValue": "STT: faster-whisper (локально) / LLM: Ollama (локально)",
"settings.about.description": "Локальный голосовой ИИ-ассистент, основанный на методах обратной разработки Speakly. Работает полностью локально без зависимости от облачных сервисов.", "settings.about.description": "Локальный голосовой ИИ-ассистент, основанный на методах обратной разработки Speakly. Работает полностью локально без зависимости от облачных сервисов.",
"settings.about.restartOnboarding": "Показать начальную настройку снова", "settings.about.restartOnboarding": "Показать начальную настройку снова",
"status.ollama": "OLLAMA",
"status.offline": "OFFLINE",
"status.nudge.title": "Ollama не запущена", "status.nudge.title": "Ollama не запущена",
"status.nudge.desc": "Для постобработки LLM (перевод, резюмирование и т.д.) требуется Ollama.", "status.nudge.desc": "Для постобработки LLM (перевод, резюмирование и т.д.) требуется Ollama.",
"status.nudge.guide": "Смотреть инструкцию по установке →", "status.nudge.guide": "Смотреть инструкцию по установке →",
"onboarding.welcome.title": "D3RO-VOICE",
"onboarding.welcome.desc": "Без набора текста — только голос. Локальный голосовой ИИ-ассистент.",
"onboarding.welcome.start": "Начать",
"onboarding.mic.title": "Настройка микрофона",
"onboarding.mic.desc": "Выберите микрофон. Его можно изменить позже в настройках.",
"onboarding.hotkey.title": "Настройка горячей клавиши",
"onboarding.hotkey.desc": "Задайте горячую клавишу для диктовки. Удерживайте её для записи.",
"onboarding.hotkey.notSet": "Горячая клавиша не задана",
"onboarding.hotkey.change": "Изменить горячую клавишу",
"onboarding.hotkey.set": "Задать горячую клавишу",
"onboarding.ollama.title": "Установка Ollama (необязательно)",
"onboarding.ollama.desc": "Для постобработки LLM (перевод, резюмирование и т.д.) требуется Ollama. Голосовая диктовка работает и без неё.",
"onboarding.ollama.download": "Скачать Ollama",
"onboarding.ollama.modelHint": "После установки загрузите модель через терминал",
"onboarding.done.title": "Настройка завершена!",
"onboarding.done.descWithKey": "Удерживайте {{key}} и говорите — речь будет преобразована в текст.",
"onboarding.done.descNoKey": "Задайте горячую клавишу в настройках, чтобы начать голосовую диктовку.",
"onboarding.done.start": "Начать",
"onboarding.back": "Назад",
"onboarding.next": "Далее",
"hotkey.title": "Настройка горячей клавиши", "hotkey.title": "Настройка горячей клавиши",
"hotkey.dictationTitle": "Задать горячую клавишу диктовки", "hotkey.dictationTitle": "Задать горячую клавишу диктовки",
"hotkey.oneTouchTitle": "Задать горячую клавишу режима одного нажатия", "hotkey.oneTouchTitle": "Задать горячую клавишу режима одного нажатия",
@ -195,8 +162,6 @@
"common.cancel": "Отмена", "common.cancel": "Отмена",
"common.save": "Сохранить", "common.save": "Сохранить",
"common.delete": "Удалить", "common.delete": "Удалить",
"common.add": "Добавить",
"common.edit": "Изменить",
"common.close": "Закрыть", "common.close": "Закрыть",
"common.confirm": "Подтвердить", "common.confirm": "Подтвердить",
"common.loading": "Загрузка...", "common.loading": "Загрузка...",
@ -217,30 +182,16 @@
"nav.meeting": "Совещание", "nav.meeting": "Совещание",
"meeting.title": "Режим совещания", "meeting.title": "Режим совещания",
"meeting.newMeeting": "Новое совещание", "meeting.newMeeting": "Новое совещание",
"meeting.startRecording": "Начать запись",
"meeting.stopRecording": "Остановить запись", "meeting.stopRecording": "Остановить запись",
"meeting.recording": "Запись", "meeting.recording": "Запись",
"meeting.processing": "Создание протокола...", "meeting.processing": "Создание протокола...",
"meeting.completed": "Завершено", "meeting.completed": "Завершено",
"meeting.error": "Ошибка", "meeting.error": "Ошибка",
"meeting.elapsed": "Прошло",
"meeting.memoPlaceholder": "Введите заметку (Enter для добавления)", "meeting.memoPlaceholder": "Введите заметку (Enter для добавления)",
"meeting.memoAdded": "Заметка добавлена",
"meeting.noSessions": "Нет записей совещаний", "meeting.noSessions": "Нет записей совещаний",
"meeting.noSessionsDesc": "Нажмите «Новое совещание», чтобы начать запись", "meeting.noSessionsDesc": "Нажмите «Новое совещание», чтобы начать запись",
"meeting.summary": "Сводка",
"meeting.decisions": "Решения",
"meeting.actionItems": "Задачи",
"meeting.timeline": "Хронология",
"meeting.transcript": "Исходная расшифровка", "meeting.transcript": "Исходная расшифровка",
"meeting.memos": "Заметки", "meeting.memos": "Заметки",
"meeting.exportPdf": "Экспорт в PDF",
"meeting.exportMarkdown": "Экспорт в Markdown",
"meeting.delete": "Удалить",
"meeting.deleteConfirm": "Удалить эту запись совещания?",
"meeting.backToList": "Вернуться к списку",
"meeting.notificationTitle": "Протокол готов",
"meeting.notificationBody": "Протокол совещания сформирован.",
"meeting.sessions": "{{count}} сессий", "meeting.sessions": "{{count}} сессий",
"meeting.duration": "{{minutes}} мин", "meeting.duration": "{{minutes}} мин",
"meeting.editTitle": "Изменить название", "meeting.editTitle": "Изменить название",
@ -266,24 +217,13 @@
"meeting.customPrompt": "Пользовательский запрос", "meeting.customPrompt": "Пользовательский запрос",
"meeting.templateName": "Название шаблона", "meeting.templateName": "Название шаблона",
"meeting.templatePrompt": "ИИ-запрос", "meeting.templatePrompt": "ИИ-запрос",
"meeting.templateSave": "Сохранить шаблон",
"meeting.documentDeleted": "Документ удалён",
"meeting.autoSaved": "Автосохранение",
"meeting.minutesTemplate": "Протокол встречи",
"meeting.reportTemplate": "Отчёт",
"meeting.ideaNoteTemplate": "Заметка с идеями",
"meeting.customTemplate": "Пользовательский",
"meeting.downloadTranscript": "Скачать транскрипцию", "meeting.downloadTranscript": "Скачать транскрипцию",
"meeting.polish": "Улучшить с ИИ", "meeting.polish": "Улучшить с ИИ",
"meeting.polishing": "ИИ улучшает транскрипцию...", "meeting.polishing": "ИИ улучшает транскрипцию...",
"meeting.polished": "Улучшение ИИ завершено",
"meeting.mindmapTemplate": "Карта мыслей",
"meeting.chat": "ИИ Чат", "meeting.chat": "ИИ Чат",
"meeting.chatPlaceholder": "Задайте вопрос о встрече...", "meeting.chatPlaceholder": "Задайте вопрос о встрече...",
"meeting.chatSend": "Отправить",
"meeting.chatClear": "Очистить чат", "meeting.chatClear": "Очистить чат",
"meeting.copyToClipboard": "Копировать в буфер обмена", "meeting.copyToClipboard": "Копировать в буфер обмена",
"meeting.copied": "Скопировано",
"meeting.chatCollapse": "Свернуть чат", "meeting.chatCollapse": "Свернуть чат",
"meeting.chatExpand": "Развернуть чат", "meeting.chatExpand": "Развернуть чат",
"meeting.chatReasoning": "Размышляет…", "meeting.chatReasoning": "Размышляет…",
@ -294,8 +234,6 @@
"meeting.startRecordingError": "Не удалось начать запись", "meeting.startRecordingError": "Не удалось начать запись",
"meeting.diarize": "Определить говорящих", "meeting.diarize": "Определить говорящих",
"meeting.diarizing": "Определение говорящих...", "meeting.diarizing": "Определение говорящих...",
"meeting.diarizeComplete": "Определение завершено",
"meeting.speaker": "Говорящий",
"settings.hfToken": "Токен HuggingFace", "settings.hfToken": "Токен HuggingFace",
"settings.hfTokenHint": "Токен HuggingFace необходим для определения говорящих", "settings.hfTokenHint": "Токен HuggingFace необходим для определения говорящих",
"settings.diarization": "Диаризация", "settings.diarization": "Диаризация",
@ -310,11 +248,9 @@
"theme.dracula": "Dracula", "theme.dracula": "Dracula",
"license.signInRequired": "Sign in to manage your subscription", "license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade", "license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionActive": "Subscription active",
"license.subscriptionManage": "Manage subscription", "license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more", "license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan", "license.currentPlanActive": "Your current plan",
"license.openBillingPage": "Open billing page",
"license.premiumQuota": "Premium Quota", "license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",

View file

@ -18,32 +18,23 @@
"login.google": "ดำเนินการต่อด้วย Google", "login.google": "ดำเนินการต่อด้วย Google",
"login.github": "ดำเนินการต่อด้วย GitHub", "login.github": "ดำเนินการต่อด้วย GitHub",
"login.terms": "การดำเนินการต่อ ถือว่าคุณยอมรับข้อกำหนดในการให้บริการและนโยบายความเป็นส่วนตัว", "login.terms": "การดำเนินการต่อ ถือว่าคุณยอมรับข้อกำหนดในการให้บริการและนโยบายความเป็นส่วนตัว",
"dashboard.sessionOverview": "ภาพรวมเซสชัน",
"dashboard.systemStatus": "สถานะระบบ", "dashboard.systemStatus": "สถานะระบบ",
"dashboard.sessionsToday": "เซสชันวันนี้", "dashboard.sessionsToday": "เซสชันวันนี้",
"dashboard.pressToRecord": "กด {{key}} เพื่อเริ่มบันทึก", "dashboard.pressToRecord": "กด {{key}} เพื่อเริ่มบันทึก",
"dashboard.hotkeyNotSet": "ยังไม่ได้ตั้งค่าปุ่มลัด", "dashboard.hotkeyNotSet": "ยังไม่ได้ตั้งค่าปุ่มลัด",
"dashboard.words": "คำ", "dashboard.words": "คำ",
"dashboard.total": "ทั้งหมด", "dashboard.total": "ทั้งหมด",
"dashboard.streak": "ต่อเนื่อง",
"dashboard.days": "วัน", "dashboard.days": "วัน",
"dashboard.recording": "กำลังบันทึก",
"dashboard.sessions": "เซสชัน", "dashboard.sessions": "เซสชัน",
"dashboard.today": "วันนี้",
"dashboard.recentTranscriptions": "การถอดความล่าสุด", "dashboard.recentTranscriptions": "การถอดความล่าสุด",
"dashboard.noHistory": "ไม่มีประวัติ — กดปุ่มลัดเพื่อเริ่มบันทึก", "dashboard.noHistory": "ไม่มีประวัติ — กดปุ่มลัดเพื่อเริ่มบันทึก",
"dashboard.copy": "คัดลอก",
"dashboard.entries": "{{count}} รายการ", "dashboard.entries": "{{count}} รายการ",
"dashboard.stat": "สถิติ",
"dashboard.sys": "ระบบ",
"dashboard.currentBackend": "แบ็กเอนด์ปัจจุบัน", "dashboard.currentBackend": "แบ็กเอนด์ปัจจุบัน",
"dashboard.backendLocal": "ภายในเครื่อง (Ollama)", "dashboard.backendLocal": "ภายในเครื่อง (Ollama)",
"dashboard.backendPremium": "พรีเมียม (Claude)", "dashboard.backendPremium": "พรีเมียม (Claude)",
"dashboard.loginRequired": "ต้องเข้าสู่ระบบ",
"history.title": "ประวัติการถอดความ", "history.title": "ประวัติการถอดความ",
"history.search": "ค้นหา...", "history.search": "ค้นหา...",
"history.entries": "{{count}} รายการ", "history.entries": "{{count}} รายการ",
"history.loading": "กำลังโหลด...",
"history.noResults": "ไม่พบผลลัพธ์", "history.noResults": "ไม่พบผลลัพธ์",
"history.noHistory": "ไม่มีประวัติ — เริ่มบันทึกเสียง", "history.noHistory": "ไม่มีประวัติ — เริ่มบันทึกเสียง",
"history.count": "{{count}} รายการ", "history.count": "{{count}} รายการ",
@ -51,7 +42,6 @@
"dictionary.words": "{{count}} คำ", "dictionary.words": "{{count}} คำ",
"dictionary.add": "เพิ่ม", "dictionary.add": "เพิ่ม",
"dictionary.search": "ค้นหา...", "dictionary.search": "ค้นหา...",
"dictionary.loading": "กำลังโหลด...",
"dictionary.noResults": "ไม่พบผลลัพธ์", "dictionary.noResults": "ไม่พบผลลัพธ์",
"dictionary.noWords": "ไม่มีคำ — เพิ่มคำที่กำหนดเองเพื่อเพิ่มความแม่นยำของ STT", "dictionary.noWords": "ไม่มีคำ — เพิ่มคำที่กำหนดเองเพื่อเพิ่มความแม่นยำของ STT",
"dictionary.used": "ใช้แล้ว {{count}} ครั้ง", "dictionary.used": "ใช้แล้ว {{count}} ครั้ง",
@ -64,7 +54,6 @@
"commands.add": "เพิ่ม", "commands.add": "เพิ่ม",
"commands.activeCommand": "คำสั่งที่ใช้งานอยู่", "commands.activeCommand": "คำสั่งที่ใช้งานอยู่",
"commands.none": "ไม่มี", "commands.none": "ไม่มี",
"commands.loading": "กำลังโหลด...",
"commands.noCommands": "ไม่มีคำสั่ง — คลิกเพิ่มเพื่อสร้าง", "commands.noCommands": "ไม่มีคำสั่ง — คลิกเพิ่มเพื่อสร้าง",
"commands.editTitle": "แก้ไขคำสั่ง", "commands.editTitle": "แก้ไขคำสั่ง",
"commands.addTitle": "เพิ่มคำสั่ง", "commands.addTitle": "เพิ่มคำสั่ง",
@ -138,31 +127,9 @@
"settings.about.voiceEngineValue": "STT: faster-whisper (ในเครื่อง) / LLM: Ollama (ในเครื่อง)", "settings.about.voiceEngineValue": "STT: faster-whisper (ในเครื่อง) / LLM: Ollama (ในเครื่อง)",
"settings.about.description": "ผู้ช่วยเสียง AI ในเครื่องที่พัฒนาจากความรู้การวิศวกรรมย้อนกลับ Speakly ทำงานได้อย่างสมบูรณ์ในเครื่องโดยไม่พึ่งพาบริการคลาวด์", "settings.about.description": "ผู้ช่วยเสียง AI ในเครื่องที่พัฒนาจากความรู้การวิศวกรรมย้อนกลับ Speakly ทำงานได้อย่างสมบูรณ์ในเครื่องโดยไม่พึ่งพาบริการคลาวด์",
"settings.about.restartOnboarding": "ดูคู่มือการตั้งค่าเริ่มต้นอีกครั้ง", "settings.about.restartOnboarding": "ดูคู่มือการตั้งค่าเริ่มต้นอีกครั้ง",
"status.ollama": "OLLAMA",
"status.offline": "OFFLINE",
"status.nudge.title": "Ollama ยังไม่ได้ทำงาน", "status.nudge.title": "Ollama ยังไม่ได้ทำงาน",
"status.nudge.desc": "ต้องใช้ Ollama สำหรับการประมวลผล LLM (แปล สรุป ฯลฯ)", "status.nudge.desc": "ต้องใช้ Ollama สำหรับการประมวลผล LLM (แปล สรุป ฯลฯ)",
"status.nudge.guide": "ดูคำแนะนำการติดตั้ง →", "status.nudge.guide": "ดูคำแนะนำการติดตั้ง →",
"onboarding.welcome.title": "D3RO-VOICE",
"onboarding.welcome.desc": "ไม่ต้องพิมพ์ — แค่พูด ผู้ช่วยเสียง AI ในเครื่อง",
"onboarding.welcome.start": "เริ่มต้น",
"onboarding.mic.title": "การตั้งค่าไมโครโฟน",
"onboarding.mic.desc": "เลือกไมโครโฟนที่ต้องการใช้ สามารถเปลี่ยนได้ในการตั้งค่า",
"onboarding.hotkey.title": "การตั้งค่าปุ่มลัด",
"onboarding.hotkey.desc": "ตั้งค่าปุ่มลัดสำหรับการบอกเล่า กดค้างไว้ขณะบันทึก",
"onboarding.hotkey.notSet": "ยังไม่ได้ตั้งค่าปุ่มลัด",
"onboarding.hotkey.change": "เปลี่ยนปุ่มลัด",
"onboarding.hotkey.set": "ตั้งค่าปุ่มลัด",
"onboarding.ollama.title": "ติดตั้ง Ollama (ไม่บังคับ)",
"onboarding.ollama.desc": "ต้องใช้ Ollama สำหรับการประมวลผล LLM (แปล สรุป ฯลฯ) การบอกเล่าเสียงทำงานได้โดยไม่มี Ollama",
"onboarding.ollama.download": "ดาวน์โหลด Ollama",
"onboarding.ollama.modelHint": "หลังติดตั้ง ดาวน์โหลดโมเดลผ่านเทอร์มินัล",
"onboarding.done.title": "ตั้งค่าเสร็จสมบูรณ์!",
"onboarding.done.descWithKey": "กด {{key}} ค้างไว้แล้วพูด — เสียงจะถูกแปลงเป็นข้อความ",
"onboarding.done.descNoKey": "ตั้งค่าปุ่มลัดในการตั้งค่าเพื่อเริ่มการบอกเล่าเสียง",
"onboarding.done.start": "เริ่มต้น",
"onboarding.back": "ย้อนกลับ",
"onboarding.next": "ถัดไป",
"hotkey.title": "การตั้งค่าปุ่มลัด", "hotkey.title": "การตั้งค่าปุ่มลัด",
"hotkey.dictationTitle": "ตั้งค่าปุ่มลัดการบอกเล่า", "hotkey.dictationTitle": "ตั้งค่าปุ่มลัดการบอกเล่า",
"hotkey.oneTouchTitle": "ตั้งค่าปุ่มลัดโหมดสัมผัสเดียว", "hotkey.oneTouchTitle": "ตั้งค่าปุ่มลัดโหมดสัมผัสเดียว",
@ -195,8 +162,6 @@
"common.cancel": "ยกเลิก", "common.cancel": "ยกเลิก",
"common.save": "บันทึก", "common.save": "บันทึก",
"common.delete": "ลบ", "common.delete": "ลบ",
"common.add": "เพิ่ม",
"common.edit": "แก้ไข",
"common.close": "ปิด", "common.close": "ปิด",
"common.confirm": "ยืนยัน", "common.confirm": "ยืนยัน",
"common.loading": "กำลังโหลด...", "common.loading": "กำลังโหลด...",
@ -217,30 +182,16 @@
"nav.meeting": "การประชุม", "nav.meeting": "การประชุม",
"meeting.title": "โหมดการประชุม", "meeting.title": "โหมดการประชุม",
"meeting.newMeeting": "การประชุมใหม่", "meeting.newMeeting": "การประชุมใหม่",
"meeting.startRecording": "เริ่มบันทึก",
"meeting.stopRecording": "หยุดบันทึก", "meeting.stopRecording": "หยุดบันทึก",
"meeting.recording": "กำลังบันทึก", "meeting.recording": "กำลังบันทึก",
"meeting.processing": "กำลังสร้างรายงานการประชุม...", "meeting.processing": "กำลังสร้างรายงานการประชุม...",
"meeting.completed": "เสร็จสิ้น", "meeting.completed": "เสร็จสิ้น",
"meeting.error": "ข้อผิดพลาด", "meeting.error": "ข้อผิดพลาด",
"meeting.elapsed": "เวลาที่ผ่านไป",
"meeting.memoPlaceholder": "พิมพ์บันทึก (Enter เพื่อเพิ่ม)", "meeting.memoPlaceholder": "พิมพ์บันทึก (Enter เพื่อเพิ่ม)",
"meeting.memoAdded": "เพิ่มบันทึกแล้ว",
"meeting.noSessions": "ไม่มีการบันทึกการประชุม", "meeting.noSessions": "ไม่มีการบันทึกการประชุม",
"meeting.noSessionsDesc": "กด «การประชุมใหม่» เพื่อเริ่มบันทึก", "meeting.noSessionsDesc": "กด «การประชุมใหม่» เพื่อเริ่มบันทึก",
"meeting.summary": "สรุป",
"meeting.decisions": "การตัดสินใจ",
"meeting.actionItems": "รายการดำเนินการ",
"meeting.timeline": "ไทม์ไลน์",
"meeting.transcript": "ถอดความดิบ", "meeting.transcript": "ถอดความดิบ",
"meeting.memos": "บันทึก", "meeting.memos": "บันทึก",
"meeting.exportPdf": "ส่งออก PDF",
"meeting.exportMarkdown": "ส่งออก Markdown",
"meeting.delete": "ลบ",
"meeting.deleteConfirm": "ลบรายงานการประชุมนี้?",
"meeting.backToList": "กลับไปยังรายการ",
"meeting.notificationTitle": "รายงานการประชุมพร้อมแล้ว",
"meeting.notificationBody": "สร้างรายงานการประชุมเสร็จแล้ว",
"meeting.sessions": "{{count}} เซสชัน", "meeting.sessions": "{{count}} เซสชัน",
"meeting.duration": "{{minutes}} นาที", "meeting.duration": "{{minutes}} นาที",
"meeting.editTitle": "แก้ไขชื่อ", "meeting.editTitle": "แก้ไขชื่อ",
@ -266,24 +217,13 @@
"meeting.customPrompt": "พรอมต์กำหนดเอง", "meeting.customPrompt": "พรอมต์กำหนดเอง",
"meeting.templateName": "ชื่อแม่แบบ", "meeting.templateName": "ชื่อแม่แบบ",
"meeting.templatePrompt": "พรอมต์ AI", "meeting.templatePrompt": "พรอมต์ AI",
"meeting.templateSave": "บันทึกแม่แบบ",
"meeting.documentDeleted": "ลบเอกสารแล้ว",
"meeting.autoSaved": "บันทึกอัตโนมัติ",
"meeting.minutesTemplate": "รายงานการประชุม",
"meeting.reportTemplate": "รายงาน",
"meeting.ideaNoteTemplate": "บันทึกไอเดีย",
"meeting.customTemplate": "กำหนดเอง",
"meeting.downloadTranscript": "ดาวน์โหลดการถอดความ", "meeting.downloadTranscript": "ดาวน์โหลดการถอดความ",
"meeting.polish": "ปรับแต่งด้วย AI", "meeting.polish": "ปรับแต่งด้วย AI",
"meeting.polishing": "AI กำลังปรับแต่งการถอดความ...", "meeting.polishing": "AI กำลังปรับแต่งการถอดความ...",
"meeting.polished": "ปรับแต่งด้วย AI เสร็จสิ้น",
"meeting.mindmapTemplate": "แผนที่ความคิด",
"meeting.chat": "แชท AI", "meeting.chat": "แชท AI",
"meeting.chatPlaceholder": "ถามเกี่ยวกับการประชุม...", "meeting.chatPlaceholder": "ถามเกี่ยวกับการประชุม...",
"meeting.chatSend": "ส่ง",
"meeting.chatClear": "ล้างแชท", "meeting.chatClear": "ล้างแชท",
"meeting.copyToClipboard": "คัดลอกไปยังคลิปบอร์ด", "meeting.copyToClipboard": "คัดลอกไปยังคลิปบอร์ด",
"meeting.copied": "คัดลอกแล้ว",
"meeting.chatCollapse": "ยุบแชท", "meeting.chatCollapse": "ยุบแชท",
"meeting.chatExpand": "ขยายแชท", "meeting.chatExpand": "ขยายแชท",
"meeting.chatReasoning": "กำลังคิด…", "meeting.chatReasoning": "กำลังคิด…",
@ -294,8 +234,6 @@
"meeting.startRecordingError": "ไม่สามารถเริ่มการบันทึกได้", "meeting.startRecordingError": "ไม่สามารถเริ่มการบันทึกได้",
"meeting.diarize": "แยกผู้พูด", "meeting.diarize": "แยกผู้พูด",
"meeting.diarizing": "กำลังระบุผู้พูด...", "meeting.diarizing": "กำลังระบุผู้พูด...",
"meeting.diarizeComplete": "แยกผู้พูดเสร็จสิ้น",
"meeting.speaker": "ผู้พูด",
"settings.hfToken": "โทเค็น HuggingFace", "settings.hfToken": "โทเค็น HuggingFace",
"settings.hfTokenHint": "ต้องใช้โทเค็น HuggingFace สำหรับการแยกผู้พูด", "settings.hfTokenHint": "ต้องใช้โทเค็น HuggingFace สำหรับการแยกผู้พูด",
"settings.diarization": "การแยกผู้พูด", "settings.diarization": "การแยกผู้พูด",
@ -310,11 +248,9 @@
"theme.dracula": "Dracula", "theme.dracula": "Dracula",
"license.signInRequired": "Sign in to manage your subscription", "license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade", "license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionActive": "Subscription active",
"license.subscriptionManage": "Manage subscription", "license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more", "license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan", "license.currentPlanActive": "Your current plan",
"license.openBillingPage": "Open billing page",
"license.premiumQuota": "Premium Quota", "license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",

View file

@ -18,32 +18,23 @@
"login.google": "Tiếp tục với Google", "login.google": "Tiếp tục với Google",
"login.github": "Tiếp tục với GitHub", "login.github": "Tiếp tục với GitHub",
"login.terms": "Bằng cách tiếp tục, bạn đồng ý với Điều khoản Dịch vụ và Chính sách Bảo mật.", "login.terms": "Bằng cách tiếp tục, bạn đồng ý với Điều khoản Dịch vụ và Chính sách Bảo mật.",
"dashboard.sessionOverview": "Tổng quan phiên",
"dashboard.systemStatus": "Trạng thái hệ thống", "dashboard.systemStatus": "Trạng thái hệ thống",
"dashboard.sessionsToday": "Phiên hôm nay", "dashboard.sessionsToday": "Phiên hôm nay",
"dashboard.pressToRecord": "Nhấn {{key}} để bắt đầu ghi âm", "dashboard.pressToRecord": "Nhấn {{key}} để bắt đầu ghi âm",
"dashboard.hotkeyNotSet": "Chưa đặt phím tắt", "dashboard.hotkeyNotSet": "Chưa đặt phím tắt",
"dashboard.words": "Từ", "dashboard.words": "Từ",
"dashboard.total": "Tổng", "dashboard.total": "Tổng",
"dashboard.streak": "Chuỗi",
"dashboard.days": "ngày", "dashboard.days": "ngày",
"dashboard.recording": "Đang ghi",
"dashboard.sessions": "Phiên", "dashboard.sessions": "Phiên",
"dashboard.today": "Hôm nay",
"dashboard.recentTranscriptions": "Phiên âm gần đây", "dashboard.recentTranscriptions": "Phiên âm gần đây",
"dashboard.noHistory": "Chưa có lịch sử — nhấn phím tắt để bắt đầu ghi âm", "dashboard.noHistory": "Chưa có lịch sử — nhấn phím tắt để bắt đầu ghi âm",
"dashboard.copy": "Sao chép",
"dashboard.entries": "{{count}} mục", "dashboard.entries": "{{count}} mục",
"dashboard.stat": "Thống kê",
"dashboard.sys": "Hệ thống",
"dashboard.currentBackend": "Backend hiện tại", "dashboard.currentBackend": "Backend hiện tại",
"dashboard.backendLocal": "Cục bộ (Ollama)", "dashboard.backendLocal": "Cục bộ (Ollama)",
"dashboard.backendPremium": "Cao cấp (Claude)", "dashboard.backendPremium": "Cao cấp (Claude)",
"dashboard.loginRequired": "Cần đăng nhập",
"history.title": "Lịch sử phiên âm", "history.title": "Lịch sử phiên âm",
"history.search": "Tìm kiếm...", "history.search": "Tìm kiếm...",
"history.entries": "{{count}} mục", "history.entries": "{{count}} mục",
"history.loading": "Đang tải...",
"history.noResults": "Không tìm thấy kết quả", "history.noResults": "Không tìm thấy kết quả",
"history.noHistory": "Chưa có lịch sử — hãy bắt đầu ghi âm", "history.noHistory": "Chưa có lịch sử — hãy bắt đầu ghi âm",
"history.count": "{{count}} mục", "history.count": "{{count}} mục",
@ -51,7 +42,6 @@
"dictionary.words": "{{count}} từ", "dictionary.words": "{{count}} từ",
"dictionary.add": "Thêm", "dictionary.add": "Thêm",
"dictionary.search": "Tìm kiếm...", "dictionary.search": "Tìm kiếm...",
"dictionary.loading": "Đang tải...",
"dictionary.noResults": "Không tìm thấy kết quả", "dictionary.noResults": "Không tìm thấy kết quả",
"dictionary.noWords": "Chưa có từ — thêm từ tùy chỉnh để cải thiện độ chính xác STT", "dictionary.noWords": "Chưa có từ — thêm từ tùy chỉnh để cải thiện độ chính xác STT",
"dictionary.used": "Đã dùng {{count}} lần", "dictionary.used": "Đã dùng {{count}} lần",
@ -64,7 +54,6 @@
"commands.add": "Thêm", "commands.add": "Thêm",
"commands.activeCommand": "Lệnh đang hoạt động", "commands.activeCommand": "Lệnh đang hoạt động",
"commands.none": "Không có", "commands.none": "Không có",
"commands.loading": "Đang tải...",
"commands.noCommands": "Chưa có lệnh — nhấn Thêm để tạo", "commands.noCommands": "Chưa có lệnh — nhấn Thêm để tạo",
"commands.editTitle": "Chỉnh sửa lệnh", "commands.editTitle": "Chỉnh sửa lệnh",
"commands.addTitle": "Thêm lệnh", "commands.addTitle": "Thêm lệnh",
@ -138,31 +127,9 @@
"settings.about.voiceEngineValue": "STT: faster-whisper (cục bộ) / LLM: Ollama (cục bộ)", "settings.about.voiceEngineValue": "STT: faster-whisper (cục bộ) / LLM: Ollama (cục bộ)",
"settings.about.description": "Trợ lý giọng nói AI cục bộ dựa trên kỹ thuật dịch ngược Speakly. Hoạt động hoàn toàn cục bộ, không phụ thuộc vào dịch vụ đám mây.", "settings.about.description": "Trợ lý giọng nói AI cục bộ dựa trên kỹ thuật dịch ngược Speakly. Hoạt động hoàn toàn cục bộ, không phụ thuộc vào dịch vụ đám mây.",
"settings.about.restartOnboarding": "Xem lại hướng dẫn cài đặt ban đầu", "settings.about.restartOnboarding": "Xem lại hướng dẫn cài đặt ban đầu",
"status.ollama": "OLLAMA",
"status.offline": "OFFLINE",
"status.nudge.title": "Ollama chưa chạy", "status.nudge.title": "Ollama chưa chạy",
"status.nudge.desc": "Cần Ollama để sử dụng hậu xử lý LLM (dịch, tóm tắt, v.v.).", "status.nudge.desc": "Cần Ollama để sử dụng hậu xử lý LLM (dịch, tóm tắt, v.v.).",
"status.nudge.guide": "Xem hướng dẫn cài đặt →", "status.nudge.guide": "Xem hướng dẫn cài đặt →",
"onboarding.welcome.title": "D3RO-VOICE",
"onboarding.welcome.desc": "Không cần gõ phím — chỉ cần nói. Trợ lý giọng nói AI cục bộ.",
"onboarding.welcome.start": "Bắt đầu",
"onboarding.mic.title": "Cài đặt micrô",
"onboarding.mic.desc": "Chọn micrô bạn muốn dùng. Có thể thay đổi sau trong cài đặt.",
"onboarding.hotkey.title": "Cài đặt phím tắt",
"onboarding.hotkey.desc": "Đặt phím tắt chính tả. Giữ phím trong khi ghi âm.",
"onboarding.hotkey.notSet": "Phím tắt chưa được đặt",
"onboarding.hotkey.change": "Thay đổi phím tắt",
"onboarding.hotkey.set": "Đặt phím tắt",
"onboarding.ollama.title": "Cài đặt Ollama (tùy chọn)",
"onboarding.ollama.desc": "Cần Ollama để sử dụng hậu xử lý LLM (dịch, tóm tắt, v.v.). Chính tả giọng nói vẫn hoạt động mà không cần Ollama.",
"onboarding.ollama.download": "Tải Ollama",
"onboarding.ollama.modelHint": "Sau khi cài đặt, tải mô hình qua terminal",
"onboarding.done.title": "Thiết lập hoàn tất!",
"onboarding.done.descWithKey": "Giữ phím {{key}} và nói — giọng nói sẽ được chuyển thành văn bản.",
"onboarding.done.descNoKey": "Đặt phím tắt trong cài đặt để bắt đầu chính tả giọng nói.",
"onboarding.done.start": "Bắt đầu",
"onboarding.back": "Quay lại",
"onboarding.next": "Tiếp theo",
"hotkey.title": "Cài đặt phím tắt", "hotkey.title": "Cài đặt phím tắt",
"hotkey.dictationTitle": "Đặt phím tắt chính tả", "hotkey.dictationTitle": "Đặt phím tắt chính tả",
"hotkey.oneTouchTitle": "Đặt phím tắt chế độ một chạm", "hotkey.oneTouchTitle": "Đặt phím tắt chế độ một chạm",
@ -195,8 +162,6 @@
"common.cancel": "Hủy", "common.cancel": "Hủy",
"common.save": "Lưu", "common.save": "Lưu",
"common.delete": "Xóa", "common.delete": "Xóa",
"common.add": "Thêm",
"common.edit": "Chỉnh sửa",
"common.close": "Đóng", "common.close": "Đóng",
"common.confirm": "Xác nhận", "common.confirm": "Xác nhận",
"common.loading": "Đang tải...", "common.loading": "Đang tải...",
@ -217,30 +182,16 @@
"nav.meeting": "Cuộc họp", "nav.meeting": "Cuộc họp",
"meeting.title": "Chế độ Cuộc họp", "meeting.title": "Chế độ Cuộc họp",
"meeting.newMeeting": "Cuộc họp mới", "meeting.newMeeting": "Cuộc họp mới",
"meeting.startRecording": "Bắt đầu ghi âm",
"meeting.stopRecording": "Dừng ghi âm", "meeting.stopRecording": "Dừng ghi âm",
"meeting.recording": "Đang ghi âm", "meeting.recording": "Đang ghi âm",
"meeting.processing": "Đang tạo biên bản...", "meeting.processing": "Đang tạo biên bản...",
"meeting.completed": "Hoàn thành", "meeting.completed": "Hoàn thành",
"meeting.error": "Lỗi", "meeting.error": "Lỗi",
"meeting.elapsed": "Thời gian đã qua",
"meeting.memoPlaceholder": "Nhập ghi chú (Enter để thêm)", "meeting.memoPlaceholder": "Nhập ghi chú (Enter để thêm)",
"meeting.memoAdded": "Đã thêm ghi chú",
"meeting.noSessions": "Không có bản ghi cuộc họp", "meeting.noSessions": "Không có bản ghi cuộc họp",
"meeting.noSessionsDesc": "Nhấn «Cuộc họp mới» để bắt đầu ghi âm", "meeting.noSessionsDesc": "Nhấn «Cuộc họp mới» để bắt đầu ghi âm",
"meeting.summary": "Tóm tắt",
"meeting.decisions": "Quyết định",
"meeting.actionItems": "Hành động cần thực hiện",
"meeting.timeline": "Dòng thời gian",
"meeting.transcript": "Bản ghi thô", "meeting.transcript": "Bản ghi thô",
"meeting.memos": "Ghi chú", "meeting.memos": "Ghi chú",
"meeting.exportPdf": "Xuất PDF",
"meeting.exportMarkdown": "Xuất Markdown",
"meeting.delete": "Xóa",
"meeting.deleteConfirm": "Xóa bản ghi cuộc họp này?",
"meeting.backToList": "Quay lại danh sách",
"meeting.notificationTitle": "Biên bản đã sẵn sàng",
"meeting.notificationBody": "Biên bản cuộc họp đã được tạo.",
"meeting.sessions": "{{count}} phiên", "meeting.sessions": "{{count}} phiên",
"meeting.duration": "{{minutes}} phút", "meeting.duration": "{{minutes}} phút",
"meeting.editTitle": "Chỉnh sửa tiêu đề", "meeting.editTitle": "Chỉnh sửa tiêu đề",
@ -266,24 +217,13 @@
"meeting.customPrompt": "Lệnh tùy chỉnh", "meeting.customPrompt": "Lệnh tùy chỉnh",
"meeting.templateName": "Tên mẫu", "meeting.templateName": "Tên mẫu",
"meeting.templatePrompt": "Lệnh AI", "meeting.templatePrompt": "Lệnh AI",
"meeting.templateSave": "Lưu mẫu",
"meeting.documentDeleted": "Đã xóa tài liệu",
"meeting.autoSaved": "Đã lưu tự động",
"meeting.minutesTemplate": "Biên bản họp",
"meeting.reportTemplate": "Báo cáo",
"meeting.ideaNoteTemplate": "Ghi chú ý tưởng",
"meeting.customTemplate": "Tùy chỉnh",
"meeting.downloadTranscript": "Tải bản ghi", "meeting.downloadTranscript": "Tải bản ghi",
"meeting.polish": "Tinh chỉnh bằng AI", "meeting.polish": "Tinh chỉnh bằng AI",
"meeting.polishing": "AI đang tinh chỉnh bản ghi...", "meeting.polishing": "AI đang tinh chỉnh bản ghi...",
"meeting.polished": "Tinh chỉnh AI hoàn tất",
"meeting.mindmapTemplate": "Sơ đồ tư duy",
"meeting.chat": "Chat AI", "meeting.chat": "Chat AI",
"meeting.chatPlaceholder": "Hỏi về cuộc họp...", "meeting.chatPlaceholder": "Hỏi về cuộc họp...",
"meeting.chatSend": "Gửi",
"meeting.chatClear": "Xóa chat", "meeting.chatClear": "Xóa chat",
"meeting.copyToClipboard": "Sao chép vào bộ nhớ tạm", "meeting.copyToClipboard": "Sao chép vào bộ nhớ tạm",
"meeting.copied": "Đã sao chép",
"meeting.chatCollapse": "Thu gọn chat", "meeting.chatCollapse": "Thu gọn chat",
"meeting.chatExpand": "Mở rộng chat", "meeting.chatExpand": "Mở rộng chat",
"meeting.chatReasoning": "Đang suy luận…", "meeting.chatReasoning": "Đang suy luận…",
@ -294,8 +234,6 @@
"meeting.startRecordingError": "Không thể bắt đầu ghi âm", "meeting.startRecordingError": "Không thể bắt đầu ghi âm",
"meeting.diarize": "Phân tách người nói", "meeting.diarize": "Phân tách người nói",
"meeting.diarizing": "Đang nhận dạng người nói...", "meeting.diarizing": "Đang nhận dạng người nói...",
"meeting.diarizeComplete": "Phân tách người nói hoàn tất",
"meeting.speaker": "Người nói",
"settings.hfToken": "Token HuggingFace", "settings.hfToken": "Token HuggingFace",
"settings.hfTokenHint": "Cần token HuggingFace để phân tách người nói", "settings.hfTokenHint": "Cần token HuggingFace để phân tách người nói",
"settings.diarization": "Phân tách người nói", "settings.diarization": "Phân tách người nói",
@ -310,11 +248,9 @@
"theme.dracula": "Dracula", "theme.dracula": "Dracula",
"license.signInRequired": "Sign in to manage your subscription", "license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade", "license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionActive": "Subscription active",
"license.subscriptionManage": "Manage subscription", "license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more", "license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan", "license.currentPlanActive": "Your current plan",
"license.openBillingPage": "Open billing page",
"license.premiumQuota": "Premium Quota", "license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",

View file

@ -18,32 +18,23 @@
"login.google": "使用Google繼續", "login.google": "使用Google繼續",
"login.github": "使用GitHub繼續", "login.github": "使用GitHub繼續",
"login.terms": "繼續即表示您同意服務條款與隱私政策。", "login.terms": "繼續即表示您同意服務條款與隱私政策。",
"dashboard.sessionOverview": "工作階段總覽",
"dashboard.systemStatus": "系統狀態", "dashboard.systemStatus": "系統狀態",
"dashboard.sessionsToday": "今日工作階段", "dashboard.sessionsToday": "今日工作階段",
"dashboard.pressToRecord": "按下 {{key}} 開始錄音", "dashboard.pressToRecord": "按下 {{key}} 開始錄音",
"dashboard.hotkeyNotSet": "尚未設定熱鍵", "dashboard.hotkeyNotSet": "尚未設定熱鍵",
"dashboard.words": "字數", "dashboard.words": "字數",
"dashboard.total": "總計", "dashboard.total": "總計",
"dashboard.streak": "連續",
"dashboard.days": "天", "dashboard.days": "天",
"dashboard.recording": "錄音",
"dashboard.sessions": "工作階段", "dashboard.sessions": "工作階段",
"dashboard.today": "今天",
"dashboard.recentTranscriptions": "最近轉錄", "dashboard.recentTranscriptions": "最近轉錄",
"dashboard.noHistory": "尚無歷史記錄 — 按下熱鍵開始錄音", "dashboard.noHistory": "尚無歷史記錄 — 按下熱鍵開始錄音",
"dashboard.copy": "複製",
"dashboard.entries": "{{count}}筆", "dashboard.entries": "{{count}}筆",
"dashboard.stat": "統計",
"dashboard.sys": "系統",
"dashboard.currentBackend": "目前後端", "dashboard.currentBackend": "目前後端",
"dashboard.backendLocal": "本機 (Ollama)", "dashboard.backendLocal": "本機 (Ollama)",
"dashboard.backendPremium": "進階 (Claude)", "dashboard.backendPremium": "進階 (Claude)",
"dashboard.loginRequired": "需要登入",
"history.title": "轉錄歷史", "history.title": "轉錄歷史",
"history.search": "搜尋...", "history.search": "搜尋...",
"history.entries": "{{count}}筆", "history.entries": "{{count}}筆",
"history.loading": "載入中...",
"history.noResults": "無搜尋結果", "history.noResults": "無搜尋結果",
"history.noHistory": "尚無歷史記錄 — 請開始錄音", "history.noHistory": "尚無歷史記錄 — 請開始錄音",
"history.count": "{{count}}筆", "history.count": "{{count}}筆",
@ -51,7 +42,6 @@
"dictionary.words": "{{count}}個詞", "dictionary.words": "{{count}}個詞",
"dictionary.add": "新增", "dictionary.add": "新增",
"dictionary.search": "搜尋...", "dictionary.search": "搜尋...",
"dictionary.loading": "載入中...",
"dictionary.noResults": "無搜尋結果", "dictionary.noResults": "無搜尋結果",
"dictionary.noWords": "尚無詞條 — 新增自訂詞彙以提高STT識別精度", "dictionary.noWords": "尚無詞條 — 新增自訂詞彙以提高STT識別精度",
"dictionary.used": "已使用{{count}}次", "dictionary.used": "已使用{{count}}次",
@ -64,7 +54,6 @@
"commands.add": "新增", "commands.add": "新增",
"commands.activeCommand": "目前指令", "commands.activeCommand": "目前指令",
"commands.none": "無", "commands.none": "無",
"commands.loading": "載入中...",
"commands.noCommands": "尚無指令 — 點擊新增以建立", "commands.noCommands": "尚無指令 — 點擊新增以建立",
"commands.editTitle": "編輯指令", "commands.editTitle": "編輯指令",
"commands.addTitle": "新增指令", "commands.addTitle": "新增指令",
@ -138,31 +127,9 @@
"settings.about.voiceEngineValue": "STT: faster-whisper本地/ LLM: Ollama本地", "settings.about.voiceEngineValue": "STT: faster-whisper本地/ LLM: Ollama本地",
"settings.about.description": "基於Speakly逆向工程經驗打造的本地AI語音助手無需依賴雲端完全在本地端執行。", "settings.about.description": "基於Speakly逆向工程經驗打造的本地AI語音助手無需依賴雲端完全在本地端執行。",
"settings.about.restartOnboarding": "重新檢視初始設定引導", "settings.about.restartOnboarding": "重新檢視初始設定引導",
"status.ollama": "OLLAMA",
"status.offline": "OFFLINE",
"status.nudge.title": "Ollama尚未執行", "status.nudge.title": "Ollama尚未執行",
"status.nudge.desc": "使用LLM後處理翻譯、摘要等需要Ollama。", "status.nudge.desc": "使用LLM後處理翻譯、摘要等需要Ollama。",
"status.nudge.guide": "查看安裝指南 →", "status.nudge.guide": "查看安裝指南 →",
"onboarding.welcome.title": "D3RO-VOICE",
"onboarding.welcome.desc": "無需打字用聲音操作。本地AI語音助手。",
"onboarding.welcome.start": "開始",
"onboarding.mic.title": "麥克風設定",
"onboarding.mic.desc": "選擇要使用的麥克風,之後可在設定中更改。",
"onboarding.hotkey.title": "快速鍵設定",
"onboarding.hotkey.desc": "設定聽寫快速鍵,按住該鍵時進行錄音。",
"onboarding.hotkey.notSet": "尚未設定快速鍵",
"onboarding.hotkey.change": "變更快速鍵",
"onboarding.hotkey.set": "設定快速鍵",
"onboarding.ollama.title": "安裝Ollama選填",
"onboarding.ollama.desc": "使用翻譯、摘要等LLM後處理功能需要Ollama。語音聽寫本身無需Ollama即可使用。",
"onboarding.ollama.download": "下載Ollama",
"onboarding.ollama.modelHint": "安裝後在終端機中下載模型",
"onboarding.done.title": "設定完成!",
"onboarding.done.descWithKey": "按住 {{key}} 鍵說話,語音即可轉換為文字。",
"onboarding.done.descNoKey": "在設定中指定快速鍵後即可開始語音聽寫。",
"onboarding.done.start": "開始",
"onboarding.back": "返回",
"onboarding.next": "下一步",
"hotkey.title": "快速鍵設定", "hotkey.title": "快速鍵設定",
"hotkey.dictationTitle": "設定聽寫快速鍵", "hotkey.dictationTitle": "設定聽寫快速鍵",
"hotkey.oneTouchTitle": "設定一鍵模式快速鍵", "hotkey.oneTouchTitle": "設定一鍵模式快速鍵",
@ -195,8 +162,6 @@
"common.cancel": "取消", "common.cancel": "取消",
"common.save": "儲存", "common.save": "儲存",
"common.delete": "刪除", "common.delete": "刪除",
"common.add": "新增",
"common.edit": "編輯",
"common.close": "關閉", "common.close": "關閉",
"common.confirm": "確認", "common.confirm": "確認",
"common.loading": "載入中...", "common.loading": "載入中...",
@ -217,30 +182,16 @@
"nav.meeting": "會議", "nav.meeting": "會議",
"meeting.title": "會議模式", "meeting.title": "會議模式",
"meeting.newMeeting": "新增會議", "meeting.newMeeting": "新增會議",
"meeting.startRecording": "開始錄音",
"meeting.stopRecording": "停止錄音", "meeting.stopRecording": "停止錄音",
"meeting.recording": "錄音中", "meeting.recording": "錄音中",
"meeting.processing": "正在產生會議記錄...", "meeting.processing": "正在產生會議記錄...",
"meeting.completed": "已完成", "meeting.completed": "已完成",
"meeting.error": "錯誤", "meeting.error": "錯誤",
"meeting.elapsed": "已用時",
"meeting.memoPlaceholder": "輸入備忘Enter 新增)", "meeting.memoPlaceholder": "輸入備忘Enter 新增)",
"meeting.memoAdded": "備忘已新增",
"meeting.noSessions": "暫無會議錄音", "meeting.noSessions": "暫無會議錄音",
"meeting.noSessionsDesc": "點擊「新增會議」開始錄音", "meeting.noSessionsDesc": "點擊「新增會議」開始錄音",
"meeting.summary": "摘要",
"meeting.decisions": "決議",
"meeting.actionItems": "待辦事項",
"meeting.timeline": "時間軸",
"meeting.transcript": "原始逐字稿", "meeting.transcript": "原始逐字稿",
"meeting.memos": "備忘", "meeting.memos": "備忘",
"meeting.exportPdf": "匯出 PDF",
"meeting.exportMarkdown": "匯出 Markdown",
"meeting.delete": "刪除",
"meeting.deleteConfirm": "刪除此會議記錄?",
"meeting.backToList": "返回列表",
"meeting.notificationTitle": "會議記錄已就緒",
"meeting.notificationBody": "會議記錄已產生。",
"meeting.sessions": "{{count}} 場會議", "meeting.sessions": "{{count}} 場會議",
"meeting.duration": "{{minutes}} 分鐘", "meeting.duration": "{{minutes}} 分鐘",
"meeting.editTitle": "編輯標題", "meeting.editTitle": "編輯標題",
@ -266,24 +217,13 @@
"meeting.customPrompt": "自訂提示", "meeting.customPrompt": "自訂提示",
"meeting.templateName": "範本名稱", "meeting.templateName": "範本名稱",
"meeting.templatePrompt": "AI 提示", "meeting.templatePrompt": "AI 提示",
"meeting.templateSave": "儲存範本",
"meeting.documentDeleted": "文件已刪除",
"meeting.autoSaved": "已自動儲存",
"meeting.minutesTemplate": "會議記錄",
"meeting.reportTemplate": "報告",
"meeting.ideaNoteTemplate": "創意筆記",
"meeting.customTemplate": "自訂",
"meeting.downloadTranscript": "下載轉錄", "meeting.downloadTranscript": "下載轉錄",
"meeting.polish": "AI 潤飾", "meeting.polish": "AI 潤飾",
"meeting.polishing": "AI 正在潤飾轉錄...", "meeting.polishing": "AI 正在潤飾轉錄...",
"meeting.polished": "AI 潤飾完成",
"meeting.mindmapTemplate": "心智圖",
"meeting.chat": "AI 聊天", "meeting.chat": "AI 聊天",
"meeting.chatPlaceholder": "詢問有關會議的內容...", "meeting.chatPlaceholder": "詢問有關會議的內容...",
"meeting.chatSend": "傳送",
"meeting.chatClear": "清空聊天", "meeting.chatClear": "清空聊天",
"meeting.copyToClipboard": "複製到剪貼簿", "meeting.copyToClipboard": "複製到剪貼簿",
"meeting.copied": "已複製",
"meeting.chatCollapse": "收起聊天", "meeting.chatCollapse": "收起聊天",
"meeting.chatExpand": "展開聊天", "meeting.chatExpand": "展開聊天",
"meeting.chatReasoning": "推理中…", "meeting.chatReasoning": "推理中…",
@ -294,8 +234,6 @@
"meeting.startRecordingError": "無法開始錄音", "meeting.startRecordingError": "無法開始錄音",
"meeting.diarize": "說話人分離", "meeting.diarize": "說話人分離",
"meeting.diarizing": "正在識別說話人...", "meeting.diarizing": "正在識別說話人...",
"meeting.diarizeComplete": "說話人分離完成",
"meeting.speaker": "說話人",
"settings.hfToken": "HuggingFace 令牌", "settings.hfToken": "HuggingFace 令牌",
"settings.hfTokenHint": "說話人分離需要HuggingFace令牌", "settings.hfTokenHint": "說話人分離需要HuggingFace令牌",
"settings.diarization": "說話人分離", "settings.diarization": "說話人分離",
@ -310,11 +248,9 @@
"theme.dracula": "Dracula", "theme.dracula": "Dracula",
"license.signInRequired": "Sign in to manage your subscription", "license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade", "license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionActive": "Subscription active",
"license.subscriptionManage": "Manage subscription", "license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more", "license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan", "license.currentPlanActive": "Your current plan",
"license.openBillingPage": "Open billing page",
"license.premiumQuota": "Premium Quota", "license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",

View file

@ -18,32 +18,23 @@
"login.google": "使用Google继续", "login.google": "使用Google继续",
"login.github": "使用GitHub继续", "login.github": "使用GitHub继续",
"login.terms": "继续即表示您同意服务条款和隐私政策。", "login.terms": "继续即表示您同意服务条款和隐私政策。",
"dashboard.sessionOverview": "会话概览",
"dashboard.systemStatus": "系统状态", "dashboard.systemStatus": "系统状态",
"dashboard.sessionsToday": "今日会话", "dashboard.sessionsToday": "今日会话",
"dashboard.pressToRecord": "按下 {{key}} 开始录音", "dashboard.pressToRecord": "按下 {{key}} 开始录音",
"dashboard.hotkeyNotSet": "未设置热键", "dashboard.hotkeyNotSet": "未设置热键",
"dashboard.words": "词数", "dashboard.words": "词数",
"dashboard.total": "总计", "dashboard.total": "总计",
"dashboard.streak": "连续",
"dashboard.days": "天", "dashboard.days": "天",
"dashboard.recording": "录音",
"dashboard.sessions": "会话", "dashboard.sessions": "会话",
"dashboard.today": "今天",
"dashboard.recentTranscriptions": "最近转录", "dashboard.recentTranscriptions": "最近转录",
"dashboard.noHistory": "暂无历史记录 — 按下热键开始录音", "dashboard.noHistory": "暂无历史记录 — 按下热键开始录音",
"dashboard.copy": "复制",
"dashboard.entries": "{{count}}条", "dashboard.entries": "{{count}}条",
"dashboard.stat": "统计",
"dashboard.sys": "系统",
"dashboard.currentBackend": "当前后端", "dashboard.currentBackend": "当前后端",
"dashboard.backendLocal": "本地 (Ollama)", "dashboard.backendLocal": "本地 (Ollama)",
"dashboard.backendPremium": "高级 (Claude)", "dashboard.backendPremium": "高级 (Claude)",
"dashboard.loginRequired": "需要登录",
"history.title": "转录历史", "history.title": "转录历史",
"history.search": "搜索...", "history.search": "搜索...",
"history.entries": "{{count}}条", "history.entries": "{{count}}条",
"history.loading": "加载中...",
"history.noResults": "无搜索结果", "history.noResults": "无搜索结果",
"history.noHistory": "暂无历史记录 — 请开始录音", "history.noHistory": "暂无历史记录 — 请开始录音",
"history.count": "{{count}}条", "history.count": "{{count}}条",
@ -51,7 +42,6 @@
"dictionary.words": "{{count}}个词", "dictionary.words": "{{count}}个词",
"dictionary.add": "添加", "dictionary.add": "添加",
"dictionary.search": "搜索...", "dictionary.search": "搜索...",
"dictionary.loading": "加载中...",
"dictionary.noResults": "无搜索结果", "dictionary.noResults": "无搜索结果",
"dictionary.noWords": "暂无词条 — 添加自定义词汇以提高STT识别精度", "dictionary.noWords": "暂无词条 — 添加自定义词汇以提高STT识别精度",
"dictionary.used": "已使用{{count}}次", "dictionary.used": "已使用{{count}}次",
@ -64,7 +54,6 @@
"commands.add": "添加", "commands.add": "添加",
"commands.activeCommand": "当前命令", "commands.activeCommand": "当前命令",
"commands.none": "无", "commands.none": "无",
"commands.loading": "加载中...",
"commands.noCommands": "暂无命令 — 点击添加以创建", "commands.noCommands": "暂无命令 — 点击添加以创建",
"commands.editTitle": "编辑命令", "commands.editTitle": "编辑命令",
"commands.addTitle": "添加命令", "commands.addTitle": "添加命令",
@ -138,31 +127,9 @@
"settings.about.voiceEngineValue": "STT: faster-whisper本地/ LLM: Ollama本地", "settings.about.voiceEngineValue": "STT: faster-whisper本地/ LLM: Ollama本地",
"settings.about.description": "基于Speakly逆向工程经验构建的本地AI语音助手无需依赖云端完全在本地运行。", "settings.about.description": "基于Speakly逆向工程经验构建的本地AI语音助手无需依赖云端完全在本地运行。",
"settings.about.restartOnboarding": "重新查看初始设置引导", "settings.about.restartOnboarding": "重新查看初始设置引导",
"status.ollama": "OLLAMA",
"status.offline": "OFFLINE",
"status.nudge.title": "Ollama未运行", "status.nudge.title": "Ollama未运行",
"status.nudge.desc": "使用LLM后处理翻译、摘要等需要Ollama。", "status.nudge.desc": "使用LLM后处理翻译、摘要等需要Ollama。",
"status.nudge.guide": "查看安装指南 →", "status.nudge.guide": "查看安装指南 →",
"onboarding.welcome.title": "D3RO-VOICE",
"onboarding.welcome.desc": "无需打字用声音操作。本地AI语音助手。",
"onboarding.welcome.start": "开始",
"onboarding.mic.title": "麦克风设置",
"onboarding.mic.desc": "选择要使用的麦克风,之后可在设置中更改。",
"onboarding.hotkey.title": "快捷键设置",
"onboarding.hotkey.desc": "设置听写快捷键,按住该键时进行录音。",
"onboarding.hotkey.notSet": "尚未设置快捷键",
"onboarding.hotkey.change": "更改快捷键",
"onboarding.hotkey.set": "设置快捷键",
"onboarding.ollama.title": "安装Ollama可选",
"onboarding.ollama.desc": "使用翻译、摘要等LLM后处理功能需要Ollama。语音听写本身无需Ollama即可使用。",
"onboarding.ollama.download": "下载Ollama",
"onboarding.ollama.modelHint": "安装后在终端中下载模型",
"onboarding.done.title": "设置完成!",
"onboarding.done.descWithKey": "按住 {{key}} 键说话,语音即可转换为文本。",
"onboarding.done.descNoKey": "在设置中指定快捷键后即可开始语音听写。",
"onboarding.done.start": "开始",
"onboarding.back": "返回",
"onboarding.next": "下一步",
"hotkey.title": "快捷键设置", "hotkey.title": "快捷键设置",
"hotkey.dictationTitle": "设置听写快捷键", "hotkey.dictationTitle": "设置听写快捷键",
"hotkey.oneTouchTitle": "设置一触即发模式快捷键", "hotkey.oneTouchTitle": "设置一触即发模式快捷键",
@ -195,8 +162,6 @@
"common.cancel": "取消", "common.cancel": "取消",
"common.save": "保存", "common.save": "保存",
"common.delete": "删除", "common.delete": "删除",
"common.add": "添加",
"common.edit": "编辑",
"common.close": "关闭", "common.close": "关闭",
"common.confirm": "确认", "common.confirm": "确认",
"common.loading": "加载中...", "common.loading": "加载中...",
@ -217,30 +182,16 @@
"nav.meeting": "会议", "nav.meeting": "会议",
"meeting.title": "会议模式", "meeting.title": "会议模式",
"meeting.newMeeting": "新建会议", "meeting.newMeeting": "新建会议",
"meeting.startRecording": "开始录音",
"meeting.stopRecording": "停止录音", "meeting.stopRecording": "停止录音",
"meeting.recording": "录音中", "meeting.recording": "录音中",
"meeting.processing": "正在生成会议纪要...", "meeting.processing": "正在生成会议纪要...",
"meeting.completed": "已完成", "meeting.completed": "已完成",
"meeting.error": "错误", "meeting.error": "错误",
"meeting.elapsed": "已用时",
"meeting.memoPlaceholder": "输入备忘Enter 添加)", "meeting.memoPlaceholder": "输入备忘Enter 添加)",
"meeting.memoAdded": "备忘已添加",
"meeting.noSessions": "暂无会议录音", "meeting.noSessions": "暂无会议录音",
"meeting.noSessionsDesc": "点击「新建会议」开始录音", "meeting.noSessionsDesc": "点击「新建会议」开始录音",
"meeting.summary": "摘要",
"meeting.decisions": "决议",
"meeting.actionItems": "待办事项",
"meeting.timeline": "时间轴",
"meeting.transcript": "原始转录", "meeting.transcript": "原始转录",
"meeting.memos": "备忘", "meeting.memos": "备忘",
"meeting.exportPdf": "导出 PDF",
"meeting.exportMarkdown": "导出 Markdown",
"meeting.delete": "删除",
"meeting.deleteConfirm": "删除此会议记录?",
"meeting.backToList": "返回列表",
"meeting.notificationTitle": "会议纪要已就绪",
"meeting.notificationBody": "会议纪要已生成。",
"meeting.sessions": "{{count}} 场会议", "meeting.sessions": "{{count}} 场会议",
"meeting.duration": "{{minutes}} 分钟", "meeting.duration": "{{minutes}} 分钟",
"meeting.editTitle": "编辑标题", "meeting.editTitle": "编辑标题",
@ -266,24 +217,13 @@
"meeting.customPrompt": "自定义提示", "meeting.customPrompt": "自定义提示",
"meeting.templateName": "模板名称", "meeting.templateName": "模板名称",
"meeting.templatePrompt": "AI 提示", "meeting.templatePrompt": "AI 提示",
"meeting.templateSave": "保存模板",
"meeting.documentDeleted": "文档已删除",
"meeting.autoSaved": "已自动保存",
"meeting.minutesTemplate": "会议记录",
"meeting.reportTemplate": "报告",
"meeting.ideaNoteTemplate": "创意笔记",
"meeting.customTemplate": "自定义",
"meeting.downloadTranscript": "下载转录", "meeting.downloadTranscript": "下载转录",
"meeting.polish": "AI 润色", "meeting.polish": "AI 润色",
"meeting.polishing": "AI 正在润色转录...", "meeting.polishing": "AI 正在润色转录...",
"meeting.polished": "AI 润色完成",
"meeting.mindmapTemplate": "思维导图",
"meeting.chat": "AI 聊天", "meeting.chat": "AI 聊天",
"meeting.chatPlaceholder": "询问关于会议的内容...", "meeting.chatPlaceholder": "询问关于会议的内容...",
"meeting.chatSend": "发送",
"meeting.chatClear": "清空聊天", "meeting.chatClear": "清空聊天",
"meeting.copyToClipboard": "复制到剪贴板", "meeting.copyToClipboard": "复制到剪贴板",
"meeting.copied": "已复制",
"meeting.chatCollapse": "收起聊天", "meeting.chatCollapse": "收起聊天",
"meeting.chatExpand": "展开聊天", "meeting.chatExpand": "展开聊天",
"meeting.chatReasoning": "推理中…", "meeting.chatReasoning": "推理中…",
@ -294,8 +234,6 @@
"meeting.startRecordingError": "无法开始录音", "meeting.startRecordingError": "无法开始录音",
"meeting.diarize": "说话人分离", "meeting.diarize": "说话人分离",
"meeting.diarizing": "正在识别说话人...", "meeting.diarizing": "正在识别说话人...",
"meeting.diarizeComplete": "说话人分离完成",
"meeting.speaker": "说话人",
"settings.hfToken": "HuggingFace令牌", "settings.hfToken": "HuggingFace令牌",
"settings.hfTokenHint": "说话人分离需要HuggingFace令牌", "settings.hfTokenHint": "说话人分离需要HuggingFace令牌",
"settings.diarization": "说话人分离", "settings.diarization": "说话人分离",
@ -310,11 +248,9 @@
"theme.dracula": "Dracula", "theme.dracula": "Dracula",
"license.signInRequired": "Sign in to manage your subscription", "license.signInRequired": "Sign in to manage your subscription",
"license.signInToUpgrade": "Sign in to upgrade", "license.signInToUpgrade": "Sign in to upgrade",
"license.subscriptionActive": "Subscription active",
"license.subscriptionManage": "Manage subscription", "license.subscriptionManage": "Manage subscription",
"license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more", "license.upgradeToProDesc": "Unlock Premium AI models, cloud sync, and more",
"license.currentPlanActive": "Your current plan", "license.currentPlanActive": "Your current plan",
"license.openBillingPage": "Open billing page",
"license.premiumQuota": "Premium Quota", "license.premiumQuota": "Premium Quota",
"license.modelHaiku": "Haiku", "license.modelHaiku": "Haiku",
"license.modelSonnet": "Sonnet", "license.modelSonnet": "Sonnet",