feat(console): redesign the RPC reference as a novice-friendly command explorer

Replace the flat, terse command-reference table with a guided two-pane
explorer built for users who don't know the RPC commands:

- Search by name OR task: keyword synonyms let "balance" find getbalance,
  "send money" find sendtoaddress; results are ranked (name-prefix > name >
  keyword > desc).
- Two panes (mirrors the portfolio editor): a category-grouped master list
  (mono names, a warning dot on consequential commands) + a rich detail pane
  with a plain-language explanation, a per-parameter type breakdown (string /
  number / json, optional dimmed), and a concrete example.
- Insert into console (fills the input with a template to review + run) and,
  for no-parameter commands, Insert & run — with a confirm for destructive
  ones. Deferred via pending_submit_ so the modal needs no executor.
- Keyboard: type to filter, Up/Down to move, Enter to insert; auto-focus and
  auto-select the top result.

Data model: ConsoleCommandEntry gains details/example/keywords/destructive
(C++17 defaults, so the ~60 un-enriched entries are untouched); ~20 common
commands enriched and 18 consequential ones flagged. Command docs stay English
(technical); the UI chrome + 7 category names are translated into all 8
languages (CJK subset rebuilt, +3 glyphs).

Verified: two-pane renders on dark + light skins and at font_scale 1.5; detail
pane shows explanation/params/example; danger dots + safety badge on
destructive commands.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-13 11:07:49 -05:00
parent ab4dd370c0
commit c9e9c9f979
14 changed files with 536 additions and 214 deletions

View File

@@ -229,6 +229,19 @@
"console_no_daemon": "Kein Daemon",
"console_not_connected": "Fehler: Nicht mit Daemon verbunden",
"console_quit_note": "'quit'/'exit' werden hier nicht benötigt — schließen Sie einfach das Fenster.",
"console_ref_cancel": "Abbrechen",
"console_ref_destructive": "Folgenreich",
"console_ref_example": "Beispiel",
"console_ref_insert": "In Konsole einfügen",
"console_ref_insert_run": "Einfügen & ausführen",
"console_ref_no_match": "Keine Befehle gefunden.",
"console_ref_no_params": "Erwartet keine Parameter.",
"console_ref_optional": "optional",
"console_ref_parameters": "Parameter",
"console_ref_run": "Ausführen",
"console_ref_run_confirm": "%s jetzt ausführen? Dies ist ein folgenreicher Befehl.",
"console_ref_search_hint": "Nach Name oder Aufgabe suchen…",
"console_ref_select_hint": "Wählen Sie einen Befehl, um zu sehen, was er tut.",
"console_rpc_reference": "RPC-Befehlsreferenz",
"console_rpc_trace": "RPC",
"console_scanline": "Konsolen-Scanline",

View File

@@ -229,6 +229,19 @@
"console_no_daemon": "Sin daemon",
"console_not_connected": "Error: No conectado al daemon",
"console_quit_note": "'quit'/'exit' no son necesarios aquí — simplemente cierra la ventana.",
"console_ref_cancel": "Cancelar",
"console_ref_destructive": "Delicado",
"console_ref_example": "Ejemplo",
"console_ref_insert": "Insertar en la consola",
"console_ref_insert_run": "Insertar y ejecutar",
"console_ref_no_match": "Ningún comando coincide.",
"console_ref_no_params": "No requiere parámetros.",
"console_ref_optional": "opcional",
"console_ref_parameters": "Parámetros",
"console_ref_run": "Ejecutar",
"console_ref_run_confirm": "¿Ejecutar %s ahora? Es un comando con consecuencias.",
"console_ref_search_hint": "Buscar por nombre o tarea…",
"console_ref_select_hint": "Selecciona un comando para ver qué hace.",
"console_rpc_reference": "Referencia de Comandos RPC",
"console_rpc_trace": "RPC",
"console_scanline": "Líneas de consola",

View File

@@ -229,6 +229,19 @@
"console_no_daemon": "Pas de daemon",
"console_not_connected": "Erreur : Non connecté au daemon",
"console_quit_note": "'quit'/'exit' ne sont pas nécessaires ici — fermez simplement la fenêtre.",
"console_ref_cancel": "Annuler",
"console_ref_destructive": "Sensible",
"console_ref_example": "Exemple",
"console_ref_insert": "Insérer dans la console",
"console_ref_insert_run": "Insérer et exécuter",
"console_ref_no_match": "Aucune commande ne correspond.",
"console_ref_no_params": "Ne prend aucun paramètre.",
"console_ref_optional": "optionnel",
"console_ref_parameters": "Paramètres",
"console_ref_run": "Exécuter",
"console_ref_run_confirm": "Exécuter %s maintenant ? C'est une commande à conséquences.",
"console_ref_search_hint": "Rechercher par nom ou tâche…",
"console_ref_select_hint": "Sélectionnez une commande pour voir ce qu'elle fait.",
"console_rpc_reference": "Référence des commandes RPC",
"console_rpc_trace": "RPC",
"console_scanline": "Scanline de la console",

View File

@@ -229,6 +229,19 @@
"console_no_daemon": "デーモンなし",
"console_not_connected": "エラー:デーモンに接続されていません",
"console_quit_note": "ここでは 'quit''exit' は不要です — ウィンドウを閉じるだけで構いません。",
"console_ref_cancel": "キャンセル",
"console_ref_destructive": "要注意",
"console_ref_example": "例",
"console_ref_insert": "コンソールに挿入",
"console_ref_insert_run": "挿入して実行",
"console_ref_no_match": "一致するコマンドはありません。",
"console_ref_no_params": "パラメーターは不要です。",
"console_ref_optional": "任意",
"console_ref_parameters": "パラメーター",
"console_ref_run": "実行",
"console_ref_run_confirm": "%s を今すぐ実行しますか? 影響の大きいコマンドです。",
"console_ref_search_hint": "名前または用途で検索…",
"console_ref_select_hint": "コマンドを選ぶと内容が表示されます。",
"console_rpc_reference": "RPCコマンドリファレンス",
"console_rpc_trace": "RPC",
"console_scanline": "コンソールスキャンライン",

View File

@@ -229,6 +229,19 @@
"console_no_daemon": "데몬 없음",
"console_not_connected": "오류: 데몬에 연결되지 않았습니다",
"console_quit_note": "여기서는 'quit'/'exit'가 필요 없습니다 — 그냥 창을 닫으세요.",
"console_ref_cancel": "취소",
"console_ref_destructive": "주의",
"console_ref_example": "예시",
"console_ref_insert": "콘솔에 삽입",
"console_ref_insert_run": "삽입 후 실행",
"console_ref_no_match": "일치하는 명령이 없습니다.",
"console_ref_no_params": "매개변수가 없습니다.",
"console_ref_optional": "선택",
"console_ref_parameters": "매개변수",
"console_ref_run": "실행",
"console_ref_run_confirm": "%s 을(를) 지금 실행할까요? 영향이 큰 명령입니다.",
"console_ref_search_hint": "이름 또는 용도로 검색…",
"console_ref_select_hint": "명령을 선택하면 설명이 표시됩니다.",
"console_rpc_reference": "RPC 명령어 참조",
"console_rpc_trace": "RPC",
"console_scanline": "콘솔 스캔라인",

View File

@@ -229,6 +229,19 @@
"console_no_daemon": "Sem daemon",
"console_not_connected": "Erro: Não conectado ao daemon",
"console_quit_note": "'quit'/'exit' não são necessários aqui — basta fechar a janela.",
"console_ref_cancel": "Cancelar",
"console_ref_destructive": "Sensível",
"console_ref_example": "Exemplo",
"console_ref_insert": "Inserir no console",
"console_ref_insert_run": "Inserir e executar",
"console_ref_no_match": "Nenhum comando corresponde.",
"console_ref_no_params": "Não requer parâmetros.",
"console_ref_optional": "opcional",
"console_ref_parameters": "Parâmetros",
"console_ref_run": "Executar",
"console_ref_run_confirm": "Executar %s agora? Este é um comando com consequências.",
"console_ref_search_hint": "Pesquisar por nome ou tarefa…",
"console_ref_select_hint": "Selecione um comando para ver o que ele faz.",
"console_rpc_reference": "Referência de Comandos RPC",
"console_rpc_trace": "RPC",
"console_scanline": "Scanline do console",

View File

@@ -229,6 +229,19 @@
"console_no_daemon": "Нет daemon",
"console_not_connected": "Ошибка: Не подключено к daemon",
"console_quit_note": "Здесь не нужны 'quit'/'exit' — просто закройте окно.",
"console_ref_cancel": "Отмена",
"console_ref_destructive": "Осторожно",
"console_ref_example": "Пример",
"console_ref_insert": "Вставить в консоль",
"console_ref_insert_run": "Вставить и выполнить",
"console_ref_no_match": "Нет подходящих команд.",
"console_ref_no_params": "Не требует параметров.",
"console_ref_optional": "необязательно",
"console_ref_parameters": "Параметры",
"console_ref_run": "Выполнить",
"console_ref_run_confirm": "Выполнить %s сейчас? Это ответственная команда.",
"console_ref_search_hint": "Поиск по названию или задаче…",
"console_ref_select_hint": "Выберите команду, чтобы увидеть, что она делает.",
"console_rpc_reference": "Справочник RPC-команд",
"console_rpc_trace": "RPC",
"console_scanline": "Скан-линия консоли",

View File

@@ -229,6 +229,19 @@
"console_no_daemon": "无守护进程",
"console_not_connected": "错误:未连接到守护进程",
"console_quit_note": "这里不需要 'quit'/'exit'——直接关闭窗口即可。",
"console_ref_cancel": "取消",
"console_ref_destructive": "谨慎",
"console_ref_example": "示例",
"console_ref_insert": "插入到控制台",
"console_ref_insert_run": "插入并运行",
"console_ref_no_match": "没有匹配的命令。",
"console_ref_no_params": "无需参数。",
"console_ref_optional": "可选",
"console_ref_parameters": "参数",
"console_ref_run": "运行",
"console_ref_run_confirm": "立即运行 %s这是一个有重大影响的命令。",
"console_ref_search_hint": "按名称或用途搜索…",
"console_ref_select_hint": "选择一个命令以查看其功能。",
"console_rpc_reference": "RPC 命令参考",
"console_rpc_trace": "RPC",
"console_scanline": "控制台扫描线",