feat(data-workbench): 直达批量操作并新增数据导入工作台

- 批量表和批量库入口无需预选目标即可进入统一工作台
- 将对象选择、导出、清空和删除操作迁入可持续查看的任务界面
- 新增侧栏数据导入入口并复用预览、字段映射和进度流程
- 保护运行中的导入标签并同步复用工作台的连接上下文
- 补齐多语言文案及批量操作、导入链路回归测试
This commit is contained in:
Syngnat
2026-07-20 15:34:20 +08:00
parent 21e0921b3b
commit 049ec7bdf1
41 changed files with 2809 additions and 1649 deletions

View File

@@ -4258,6 +4258,28 @@
"data_grid.view.result_view": "Ergebnisansicht",
"data_grid.view.table": "Tabelle",
"data_grid.view.text": "Text",
"data_import.workbench.action.change_file": "Datei wechseln",
"data_import.workbench.action.select_file": "Datei auswählen und Vorschau öffnen",
"data_import.workbench.description": "Zieltabelle und Datendatei auswählen, anschließend Vorschau, Spaltenzuordnung und Import durchführen.",
"data_import.workbench.helper.file_formats": "Unterstützt CSV-, JSON-, XLSX- und XLS-Dateien.",
"data_import.workbench.label.connection": "Verbindung",
"data_import.workbench.label.database": "Datenbank",
"data_import.workbench.label.file": "Datendatei",
"data_import.workbench.label.table": "Zieltabelle",
"data_import.workbench.message.import_done": "Import abgeschlossen",
"data_import.workbench.message.load_databases_failed": "Datenbanken konnten nicht geladen werden: {{detail}}",
"data_import.workbench.message.load_tables_failed": "Tabellen konnten nicht geladen werden: {{detail}}",
"data_import.workbench.message.select_file_failed": "Datei konnte nicht ausgewählt werden: {{detail}}",
"data_import.workbench.placeholder.loading_databases": "Datenbanken werden geladen...",
"data_import.workbench.placeholder.loading_tables": "Tabellen werden geladen...",
"data_import.workbench.placeholder.select_connection": "Verbindung auswählen",
"data_import.workbench.placeholder.select_database": "Datenbank auswählen",
"data_import.workbench.placeholder.select_database_first": "Zuerst eine Datenbank auswählen",
"data_import.workbench.placeholder.select_table": "Zieltabelle auswählen",
"data_import.workbench.section.target": "Importziel",
"data_import.workbench.state.awaiting_file_description": "Nach Auswahl des Ziels eine Datendatei auswählen, um den Inhalt zu prüfen und Spalten zuzuordnen.",
"data_import.workbench.state.awaiting_file_title": "Keine Importdatei ausgewählt",
"data_import.workbench.title": "Datenimport",
"data_sync.action.analyze_diff": "Unterschiede analysieren",
"data_sync.action.cancel": "Abbrechen",
"data_sync.action.close": "Schließen",
@@ -6924,6 +6946,7 @@
"sidebar.action.backup_schema_data": "Sicherung (Struktur + Daten)",
"sidebar.action.batch_databases": "Datenbanken stapelweise bearbeiten",
"sidebar.action.batch_tables": "Tabellen stapelweise bearbeiten",
"sidebar.action.data_import": "Datenimport",
"sidebar.action.cancel": "Abbrechen",
"sidebar.action.clear_selection": "Alle abwählen",
"sidebar.action.clear_tables": "Tabellen leeren",
@@ -7788,6 +7811,7 @@
"tab_manager.hover.kind.sql_analysis": "SQL-Analyse-Workbench",
"tab_manager.hover.kind.table": "Tabellendaten",
"tab_manager.hover.kind.table_export": "Export-Workbench",
"tab_manager.hover.kind.data_import": "Datenimport-Workbench",
"tab_manager.hover.kind.table_overview": "Tabellenübersicht",
"tab_manager.hover.kind.trigger": "Trigger",
"tab_manager.hover.kind.view": "Ansicht",
@@ -7808,6 +7832,7 @@
"tab_manager.kind_badge.sql_analysis": "Analyse",
"tab_manager.kind_badge.table": "Tabelle",
"tab_manager.kind_badge.table_export": "Export",
"tab_manager.kind_badge.data_import": "Import",
"tab_manager.kind_badge.table_overview": "DB",
"tab_manager.kind_badge.trigger": "Trigger",
"tab_manager.kind_badge.view": "Ansicht",
@@ -7817,6 +7842,7 @@
"tab_manager.menu.close_right": "Tabs rechts schließen",
"tab_manager.menu.open_in_window": "In schwebendem Fenster öffnen",
"tab_manager.message.background_task_window_unavailable": "Arbeitsbereiche für Hintergrundaufgaben können noch nicht in einem separaten Fenster geöffnet werden. Zeigen Sie den Fortschritt im aktuellen Tab an.",
"tab_manager.message.data_import_running_close_blocked": "Der Datenimport läuft. Der Arbeitsbereich kann erst nach Abschluss der Aufgabe geschlossen werden.",
"tab_manager.menu.restore_to_tab": "Als Tab wiederherstellen",
"tab_manager.menu.tab_display_settings": "Tab-Einstellungen",
"tab_manager.sql_file_close.close_tabs": "Tabs schließen",

View File

@@ -4258,6 +4258,28 @@
"data_grid.view.result_view": "Result view",
"data_grid.view.table": "Table",
"data_grid.view.text": "Text",
"data_import.workbench.action.change_file": "Change file",
"data_import.workbench.action.select_file": "Select file and preview",
"data_import.workbench.description": "Select a target table and data file, then preview, map columns, and import.",
"data_import.workbench.helper.file_formats": "Supports CSV, JSON, XLSX, and XLS files.",
"data_import.workbench.label.connection": "Connection",
"data_import.workbench.label.database": "Database",
"data_import.workbench.label.file": "Data file",
"data_import.workbench.label.table": "Target table",
"data_import.workbench.message.import_done": "Import completed",
"data_import.workbench.message.load_databases_failed": "Failed to load databases: {{detail}}",
"data_import.workbench.message.load_tables_failed": "Failed to load tables: {{detail}}",
"data_import.workbench.message.select_file_failed": "Failed to select file: {{detail}}",
"data_import.workbench.placeholder.loading_databases": "Loading databases...",
"data_import.workbench.placeholder.loading_tables": "Loading tables...",
"data_import.workbench.placeholder.select_connection": "Select a connection",
"data_import.workbench.placeholder.select_database": "Select a database",
"data_import.workbench.placeholder.select_database_first": "Select a database first",
"data_import.workbench.placeholder.select_table": "Select a target table",
"data_import.workbench.section.target": "Import target",
"data_import.workbench.state.awaiting_file_description": "After choosing a target, select a data file to preview its contents and configure column mappings.",
"data_import.workbench.state.awaiting_file_title": "No import file selected",
"data_import.workbench.title": "Data import",
"data_sync.action.analyze_diff": "Analyze Differences",
"data_sync.action.cancel": "Cancel",
"data_sync.action.close": "Close",
@@ -6924,6 +6946,7 @@
"sidebar.action.backup_schema_data": "Back up (schema + data)",
"sidebar.action.batch_databases": "Batch databases",
"sidebar.action.batch_tables": "Batch tables",
"sidebar.action.data_import": "Data import",
"sidebar.action.cancel": "Cancel",
"sidebar.action.clear_selection": "Deselect all",
"sidebar.action.clear_tables": "Clear tables",
@@ -7788,6 +7811,7 @@
"tab_manager.hover.kind.sql_analysis": "SQL analysis workbench",
"tab_manager.hover.kind.table": "Table data",
"tab_manager.hover.kind.table_export": "Export workbench",
"tab_manager.hover.kind.data_import": "Data import workbench",
"tab_manager.hover.kind.table_overview": "Table overview",
"tab_manager.hover.kind.trigger": "Trigger",
"tab_manager.hover.kind.view": "View",
@@ -7808,6 +7832,7 @@
"tab_manager.kind_badge.sql_analysis": "Analyze",
"tab_manager.kind_badge.table": "Table",
"tab_manager.kind_badge.table_export": "Export",
"tab_manager.kind_badge.data_import": "Import",
"tab_manager.kind_badge.table_overview": "DB",
"tab_manager.kind_badge.trigger": "Trigger",
"tab_manager.kind_badge.view": "View",
@@ -7817,6 +7842,7 @@
"tab_manager.menu.close_right": "Close tabs to the right",
"tab_manager.menu.open_in_window": "Open in floating window",
"tab_manager.message.background_task_window_unavailable": "Background task workbenches cannot open in a separate window yet. View progress in the current tab.",
"tab_manager.message.data_import_running_close_blocked": "Data import is running. The workbench cannot be closed until the task finishes.",
"tab_manager.menu.restore_to_tab": "Restore as tab",
"tab_manager.menu.tab_display_settings": "Tab settings",
"tab_manager.sql_file_close.close_tabs": "Close tabs",

View File

@@ -4258,6 +4258,28 @@
"data_grid.view.result_view": "結果ビュー",
"data_grid.view.table": "テーブル",
"data_grid.view.text": "テキスト",
"data_import.workbench.action.change_file": "ファイルを変更",
"data_import.workbench.action.select_file": "ファイルを選択してプレビュー",
"data_import.workbench.description": "対象テーブルとデータファイルを選択し、プレビュー、列マッピング、インポートを実行します。",
"data_import.workbench.helper.file_formats": "CSV、JSON、XLSX、XLS ファイルに対応しています。",
"data_import.workbench.label.connection": "接続",
"data_import.workbench.label.database": "データベース",
"data_import.workbench.label.file": "データファイル",
"data_import.workbench.label.table": "対象テーブル",
"data_import.workbench.message.import_done": "インポートが完了しました",
"data_import.workbench.message.load_databases_failed": "データベースの読み込みに失敗しました: {{detail}}",
"data_import.workbench.message.load_tables_failed": "テーブルの読み込みに失敗しました: {{detail}}",
"data_import.workbench.message.select_file_failed": "ファイルの選択に失敗しました: {{detail}}",
"data_import.workbench.placeholder.loading_databases": "データベースを読み込み中...",
"data_import.workbench.placeholder.loading_tables": "テーブルを読み込み中...",
"data_import.workbench.placeholder.select_connection": "接続を選択",
"data_import.workbench.placeholder.select_database": "データベースを選択",
"data_import.workbench.placeholder.select_database_first": "先にデータベースを選択してください",
"data_import.workbench.placeholder.select_table": "対象テーブルを選択",
"data_import.workbench.section.target": "インポート先",
"data_import.workbench.state.awaiting_file_description": "対象を選択した後、データファイルを選択して内容をプレビューし、列マッピングを設定します。",
"data_import.workbench.state.awaiting_file_title": "インポートファイルが選択されていません",
"data_import.workbench.title": "データインポート",
"data_sync.action.analyze_diff": "差分を分析",
"data_sync.action.cancel": "キャンセル",
"data_sync.action.close": "閉じる",
@@ -6924,6 +6946,7 @@
"sidebar.action.backup_schema_data": "バックアップ(構造+データ)",
"sidebar.action.batch_databases": "データベースを一括処理",
"sidebar.action.batch_tables": "テーブルを一括処理",
"sidebar.action.data_import": "データインポート",
"sidebar.action.cancel": "キャンセル",
"sidebar.action.clear_selection": "すべて解除",
"sidebar.action.clear_tables": "テーブルをクリア",
@@ -7788,6 +7811,7 @@
"tab_manager.hover.kind.sql_analysis": "SQL 分析ワークベンチ",
"tab_manager.hover.kind.table": "テーブルデータ",
"tab_manager.hover.kind.table_export": "エクスポートワークベンチ",
"tab_manager.hover.kind.data_import": "データインポートワークベンチ",
"tab_manager.hover.kind.table_overview": "テーブル概要",
"tab_manager.hover.kind.trigger": "トリガー",
"tab_manager.hover.kind.view": "ビュー",
@@ -7808,6 +7832,7 @@
"tab_manager.kind_badge.sql_analysis": "分析",
"tab_manager.kind_badge.table": "表",
"tab_manager.kind_badge.table_export": "エクスポート",
"tab_manager.kind_badge.data_import": "インポート",
"tab_manager.kind_badge.table_overview": "DB",
"tab_manager.kind_badge.trigger": "トリガー",
"tab_manager.kind_badge.view": "ビュー",
@@ -7817,6 +7842,7 @@
"tab_manager.menu.close_right": "右側のタブを閉じる",
"tab_manager.menu.open_in_window": "フローティングウィンドウで開く",
"tab_manager.message.background_task_window_unavailable": "バックグラウンドタスクのワークベンチは、まだ別ウィンドウで開けません。現在のタブで進行状況を確認してください。",
"tab_manager.message.data_import_running_close_blocked": "データをインポート中です。タスクが完了するまでワークベンチを閉じることはできません。",
"tab_manager.menu.restore_to_tab": "タブに戻す",
"tab_manager.menu.tab_display_settings": "タブ設定",
"tab_manager.sql_file_close.close_tabs": "タブを閉じる",

View File

@@ -4258,6 +4258,28 @@
"data_grid.view.result_view": "Просмотр результата",
"data_grid.view.table": "Таблица",
"data_grid.view.text": "Текст",
"data_import.workbench.action.change_file": "Сменить файл",
"data_import.workbench.action.select_file": "Выбрать файл и открыть предпросмотр",
"data_import.workbench.description": "Выберите целевую таблицу и файл данных, затем проверьте данные, настройте сопоставление столбцов и запустите импорт.",
"data_import.workbench.helper.file_formats": "Поддерживаются файлы CSV, JSON, XLSX и XLS.",
"data_import.workbench.label.connection": "Подключение",
"data_import.workbench.label.database": "База данных",
"data_import.workbench.label.file": "Файл данных",
"data_import.workbench.label.table": "Целевая таблица",
"data_import.workbench.message.import_done": "Импорт завершён",
"data_import.workbench.message.load_databases_failed": "Не удалось загрузить базы данных: {{detail}}",
"data_import.workbench.message.load_tables_failed": "Не удалось загрузить таблицы: {{detail}}",
"data_import.workbench.message.select_file_failed": "Не удалось выбрать файл: {{detail}}",
"data_import.workbench.placeholder.loading_databases": "Загрузка баз данных...",
"data_import.workbench.placeholder.loading_tables": "Загрузка таблиц...",
"data_import.workbench.placeholder.select_connection": "Выберите подключение",
"data_import.workbench.placeholder.select_database": "Выберите базу данных",
"data_import.workbench.placeholder.select_database_first": "Сначала выберите базу данных",
"data_import.workbench.placeholder.select_table": "Выберите целевую таблицу",
"data_import.workbench.section.target": "Цель импорта",
"data_import.workbench.state.awaiting_file_description": "После выбора цели выберите файл данных, чтобы просмотреть содержимое и настроить сопоставление столбцов.",
"data_import.workbench.state.awaiting_file_title": "Файл импорта не выбран",
"data_import.workbench.title": "Импорт данных",
"data_sync.action.analyze_diff": "Анализировать различия",
"data_sync.action.cancel": "Отмена",
"data_sync.action.close": "Закрыть",
@@ -6924,6 +6946,7 @@
"sidebar.action.backup_schema_data": "Резервная копия (структура + данные)",
"sidebar.action.batch_databases": "Пакетные операции с базами данных",
"sidebar.action.batch_tables": "Пакетные операции с таблицами",
"sidebar.action.data_import": "Импорт данных",
"sidebar.action.cancel": "Отмена",
"sidebar.action.clear_selection": "Снять выбор со всех",
"sidebar.action.clear_tables": "Очистить таблицы",
@@ -7788,6 +7811,7 @@
"tab_manager.hover.kind.sql_analysis": "Рабочая область анализа SQL",
"tab_manager.hover.kind.table": "Данные таблицы",
"tab_manager.hover.kind.table_export": "Рабочая область экспорта",
"tab_manager.hover.kind.data_import": "Рабочая область импорта данных",
"tab_manager.hover.kind.table_overview": "Обзор таблицы",
"tab_manager.hover.kind.trigger": "Триггер",
"tab_manager.hover.kind.view": "Представление",
@@ -7808,6 +7832,7 @@
"tab_manager.kind_badge.sql_analysis": "Анализ",
"tab_manager.kind_badge.table": "Таблица",
"tab_manager.kind_badge.table_export": "Экспорт",
"tab_manager.kind_badge.data_import": "Импорт",
"tab_manager.kind_badge.table_overview": "БД",
"tab_manager.kind_badge.trigger": "Триггер",
"tab_manager.kind_badge.view": "Вид",
@@ -7817,6 +7842,7 @@
"tab_manager.menu.close_right": "Закрыть вкладки справа",
"tab_manager.menu.open_in_window": "Открыть в плавающем окне",
"tab_manager.message.background_task_window_unavailable": "Рабочие области фоновых задач пока нельзя открывать в отдельном окне. Следите за ходом выполнения на текущей вкладке.",
"tab_manager.message.data_import_running_close_blocked": "Идет импорт данных. Рабочую область нельзя закрыть до завершения задачи.",
"tab_manager.menu.restore_to_tab": "Вернуть во вкладку",
"tab_manager.menu.tab_display_settings": "Настройки вкладок",
"tab_manager.sql_file_close.close_tabs": "Закрыть вкладки",

View File

@@ -4258,6 +4258,28 @@
"data_grid.view.result_view": "结果视图",
"data_grid.view.table": "表格",
"data_grid.view.text": "文本",
"data_import.workbench.action.change_file": "更换文件",
"data_import.workbench.action.select_file": "选择文件并预览",
"data_import.workbench.description": "先选择目标表和数据文件,再完成预览、字段映射与导入。",
"data_import.workbench.helper.file_formats": "支持 CSV、JSON、XLSX 和 XLS 文件。",
"data_import.workbench.label.connection": "连接",
"data_import.workbench.label.database": "数据库",
"data_import.workbench.label.file": "数据文件",
"data_import.workbench.label.table": "目标表",
"data_import.workbench.message.import_done": "导入完成",
"data_import.workbench.message.load_databases_failed": "加载数据库失败:{{detail}}",
"data_import.workbench.message.load_tables_failed": "加载表失败:{{detail}}",
"data_import.workbench.message.select_file_failed": "选择文件失败:{{detail}}",
"data_import.workbench.placeholder.loading_databases": "正在加载数据库...",
"data_import.workbench.placeholder.loading_tables": "正在加载表...",
"data_import.workbench.placeholder.select_connection": "选择连接",
"data_import.workbench.placeholder.select_database": "选择数据库",
"data_import.workbench.placeholder.select_database_first": "请先选择数据库",
"data_import.workbench.placeholder.select_table": "选择目标表",
"data_import.workbench.section.target": "导入目标",
"data_import.workbench.state.awaiting_file_description": "目标确定后选择数据文件,随后可预览内容并配置字段映射。",
"data_import.workbench.state.awaiting_file_title": "尚未选择导入文件",
"data_import.workbench.title": "数据导入",
"data_sync.action.analyze_diff": "对比差异",
"data_sync.action.cancel": "取消",
"data_sync.action.close": "关闭",
@@ -6924,6 +6946,7 @@
"sidebar.action.backup_schema_data": "备份(结构+数据)",
"sidebar.action.batch_databases": "批量处理数据库",
"sidebar.action.batch_tables": "批量处理表",
"sidebar.action.data_import": "数据导入",
"sidebar.action.cancel": "取消",
"sidebar.action.clear_selection": "取消全选",
"sidebar.action.clear_tables": "清空表",
@@ -7788,6 +7811,7 @@
"tab_manager.hover.kind.sql_analysis": "SQL 分析工作台",
"tab_manager.hover.kind.table": "表数据",
"tab_manager.hover.kind.table_export": "导出工作台",
"tab_manager.hover.kind.data_import": "数据导入工作台",
"tab_manager.hover.kind.table_overview": "表概览",
"tab_manager.hover.kind.trigger": "触发器",
"tab_manager.hover.kind.view": "视图",
@@ -7808,6 +7832,7 @@
"tab_manager.kind_badge.sql_analysis": "分析",
"tab_manager.kind_badge.table": "表",
"tab_manager.kind_badge.table_export": "导出",
"tab_manager.kind_badge.data_import": "导入",
"tab_manager.kind_badge.table_overview": "库",
"tab_manager.kind_badge.trigger": "触发器",
"tab_manager.kind_badge.view": "视图",
@@ -7817,6 +7842,7 @@
"tab_manager.menu.close_right": "关闭右侧页",
"tab_manager.menu.open_in_window": "在独立窗口打开",
"tab_manager.message.background_task_window_unavailable": "后台任务工作台暂不支持在独立窗口打开,请在当前标签页中查看进度。",
"tab_manager.message.data_import_running_close_blocked": "数据正在导入,任务完成前无法关闭对应工作台。",
"tab_manager.menu.restore_to_tab": "还原为标签页",
"tab_manager.menu.tab_display_settings": "标签设置",
"tab_manager.sql_file_close.close_tabs": "关闭标签",

View File

@@ -4258,6 +4258,28 @@
"data_grid.view.result_view": "結果檢視",
"data_grid.view.table": "表格",
"data_grid.view.text": "文字",
"data_import.workbench.action.change_file": "更換檔案",
"data_import.workbench.action.select_file": "選擇檔案並預覽",
"data_import.workbench.description": "先選擇目標資料表和資料檔案,再完成預覽、欄位對應與匯入。",
"data_import.workbench.helper.file_formats": "支援 CSV、JSON、XLSX 和 XLS 檔案。",
"data_import.workbench.label.connection": "連線",
"data_import.workbench.label.database": "資料庫",
"data_import.workbench.label.file": "資料檔案",
"data_import.workbench.label.table": "目標資料表",
"data_import.workbench.message.import_done": "匯入完成",
"data_import.workbench.message.load_databases_failed": "載入資料庫失敗:{{detail}}",
"data_import.workbench.message.load_tables_failed": "載入資料表失敗:{{detail}}",
"data_import.workbench.message.select_file_failed": "選擇檔案失敗:{{detail}}",
"data_import.workbench.placeholder.loading_databases": "正在載入資料庫...",
"data_import.workbench.placeholder.loading_tables": "正在載入資料表...",
"data_import.workbench.placeholder.select_connection": "選擇連線",
"data_import.workbench.placeholder.select_database": "選擇資料庫",
"data_import.workbench.placeholder.select_database_first": "請先選擇資料庫",
"data_import.workbench.placeholder.select_table": "選擇目標資料表",
"data_import.workbench.section.target": "匯入目標",
"data_import.workbench.state.awaiting_file_description": "目標確定後選擇資料檔案,接著可預覽內容並設定欄位對應。",
"data_import.workbench.state.awaiting_file_title": "尚未選擇匯入檔案",
"data_import.workbench.title": "資料匯入",
"data_sync.action.analyze_diff": "對比差異",
"data_sync.action.cancel": "取消",
"data_sync.action.close": "關閉",
@@ -6924,6 +6946,7 @@
"sidebar.action.backup_schema_data": "備份(結構+資料)",
"sidebar.action.batch_databases": "批次處理資料庫",
"sidebar.action.batch_tables": "批次處理資料表",
"sidebar.action.data_import": "資料匯入",
"sidebar.action.cancel": "取消",
"sidebar.action.clear_selection": "取消全選",
"sidebar.action.clear_tables": "清除資料表",
@@ -7788,6 +7811,7 @@
"tab_manager.hover.kind.sql_analysis": "SQL 分析工作台",
"tab_manager.hover.kind.table": "表資料",
"tab_manager.hover.kind.table_export": "匯出工作台",
"tab_manager.hover.kind.data_import": "資料匯入工作台",
"tab_manager.hover.kind.table_overview": "表概覽",
"tab_manager.hover.kind.trigger": "觸發器",
"tab_manager.hover.kind.view": "視圖",
@@ -7808,6 +7832,7 @@
"tab_manager.kind_badge.sql_analysis": "分析",
"tab_manager.kind_badge.table": "表",
"tab_manager.kind_badge.table_export": "匯出",
"tab_manager.kind_badge.data_import": "匯入",
"tab_manager.kind_badge.table_overview": "庫",
"tab_manager.kind_badge.trigger": "觸發器",
"tab_manager.kind_badge.view": "視圖",
@@ -7817,6 +7842,7 @@
"tab_manager.menu.close_right": "關閉右側分頁",
"tab_manager.menu.open_in_window": "在獨立視窗開啟",
"tab_manager.message.background_task_window_unavailable": "背景任務工作台暫不支援在獨立視窗開啟,請在目前分頁中查看進度。",
"tab_manager.message.data_import_running_close_blocked": "資料正在匯入,任務完成前無法關閉對應工作台。",
"tab_manager.menu.restore_to_tab": "還原為標籤頁",
"tab_manager.menu.tab_display_settings": "標籤設定",
"tab_manager.sql_file_close.close_tabs": "關閉分頁",