diff --git a/openless-all/app/src/i18n/ja.ts b/openless-all/app/src/i18n/ja.ts index 96df85d6..352497f4 100644 --- a/openless-all/app/src/i18n/ja.ts +++ b/openless-all/app/src/i18n/ja.ts @@ -282,11 +282,11 @@ export const ja: typeof zhCN = { muteDuringRecordingDesc: '音声入力開始時にシステム出力を一時的にミュートし、停止/キャンセル/エラー後に元のミュート状態を復元。スピーカーの音がマイクに入らないようにします。', restoreClipboardLabel: '入力後にクリップボードを復元', restoreClipboardDesc: 'Windows / Linux のみ:ペースト成功後に元のクリップボード内容を復元(既定 ON)。OFF にするとディクテーションテキストがクリップボードに残り、ペーストが効かなかった場合に手動で Ctrl+V できます。詳細は issue #111。', - comboRecordLabel: 'ショートカットを録音', - comboRecordDesc: 'クリックしてから使いたいキー組み合わせ(例: ⌘⇧D)を押します。トグル式と押し続け式に対応します。', - comboRecordBtn: 'ショートカットを録音', - comboRecordHint: 'キー組み合わせを押してください…', - comboRecorded: '録音済み', + comboRecordLabel: 'ショートカットを記録', + comboRecordDesc: 'クリック後、希望するキーの組み合わせ(例:⌘⇧D)を押してください。トグル / 押し続けの両方に対応。', + comboRecordBtn: 'ショートカットを記録', + comboRecordHint: 'ショートカットの組み合わせを押してください…', + comboRecorded: '記録済み', comboClear: 'クリア', comboConflict: 'このショートカットの組み合わせは使用できません', allowNonTsfFallbackLabel: '非 TSF フォールバックを許可', diff --git a/openless-all/app/src/i18n/ko.ts b/openless-all/app/src/i18n/ko.ts index 62e5b2cc..f5190bb4 100644 --- a/openless-all/app/src/i18n/ko.ts +++ b/openless-all/app/src/i18n/ko.ts @@ -283,9 +283,9 @@ export const ko: typeof zhCN = { restoreClipboardLabel: '입력 후 클립보드 복원', restoreClipboardDesc: 'Windows / Linux 만: 붙여넣기 성공 후 원래 클립보드 내용을 복원합니다(기본 ON). OFF 시 받아쓰기 텍스트가 클립보드에 남아 붙여넣기가 실패한 경우 수동으로 Ctrl+V 할 수 있습니다. issue #111 참조.', comboRecordLabel: '단축키 녹화', - comboRecordDesc: '클릭한 뒤 원하는 키 조합(예: ⌘⇧D)을 누르세요. 토글과 길게 누르기 모드를 지원합니다.', + comboRecordDesc: '클릭 후 원하는 단축키 조합(예: ⌘⇧D)을 누르세요. 토글 및 누르기 모드 모두 지원합니다.', comboRecordBtn: '단축키 녹화', - comboRecordHint: '단축키 조합을 누르세요…', + comboRecordHint: '단축키 조합을 눌러 주세요…', comboRecorded: '녹화됨', comboClear: '지우기', comboConflict: '이 단축키 조합은 사용할 수 없습니다', diff --git a/openless-all/app/src/pages/SelectionAsk.tsx b/openless-all/app/src/pages/SelectionAsk.tsx index 1644e9ab..db58ef18 100644 --- a/openless-all/app/src/pages/SelectionAsk.tsx +++ b/openless-all/app/src/pages/SelectionAsk.tsx @@ -58,36 +58,18 @@ export function SelectionAsk() { {/* 1. 触发快捷键 */} -
-
{t('selectionAsk.hotkey.title')}
- - {enabled ? t('selectionAsk.statusEnabled') : t('selectionAsk.statusDisabled')} - -
-
- {t('selectionAsk.hotkey.desc', { recordHotkey: recordHotkeyLabel })} -
- + /> +
+ {t('selectionAsk.hotkey.desc', { recordHotkey: recordHotkeyLabel })} +
{prefs.qaHotkey && ( -
{t('selectionAsk.history.title')}
-
+ onSaveHistoryChange(!prefs.qaSaveHistory)} + /> +
{t('selectionAsk.history.desc')}
- {/* 3. 使用方法 */} @@ -181,3 +139,49 @@ export function SelectionAsk() { ); } + +// 卡片标题行右侧开关:与 Style 页面顶栏的 36×20 toggle 同款,保持全局视觉一致。 +function CardHeaderToggle({ + title, + checked, + onToggle, +}: { + title: string; + checked: boolean; + onToggle: () => void; +}) { + return ( +
+
{title}
+ +
+ ); +}