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