feat(saved-query): 支持多级已存查询分组

- 新增已存 SQL 分组的持久化模型与后端管理接口
- 支持创建、编辑、嵌套、排序、移动和删除分组
- 在侧栏树和菜单中提供分组管理与未分组查询视图
- 同步 Wails 绑定、六种语言文案及前后端回归测试
This commit is contained in:
Syngnat
2026-07-14 17:09:27 +08:00
parent 7886cdc613
commit 8a1c1842ee
28 changed files with 2624 additions and 80 deletions

View File

@@ -7201,6 +7201,15 @@
"sidebar.message.rename_sql_directory_failed": "Verzeichnis konnte nicht umbenannt werden: {{error}}",
"sidebar.message.rename_sql_file_failed": "SQL-Datei konnte nicht umbenannt werden: {{error}}",
"sidebar.message.routine_deleted": "{{type}} gelöscht.",
"sidebar.message.saved_query_group_created": "Gespeicherte Abfragegruppe erstellt.",
"sidebar.message.saved_query_group_delete_failed": "Gespeicherte Abfragegruppe konnte nicht gelöscht werden: {{error}}",
"sidebar.message.saved_query_group_deleted": "Gespeicherte Abfragegruppe gelöscht.",
"sidebar.message.saved_query_group_load_failed": "Gespeicherte Abfragegruppen konnten nicht geladen werden: {{error}}",
"sidebar.message.saved_query_group_move_failed": "Gespeicherte Abfrage konnte nicht verschoben werden: {{error}}",
"sidebar.message.saved_query_group_moved": "Gespeicherte Abfragegruppe aktualisiert.",
"sidebar.message.saved_query_group_not_found": "Die gespeicherte Abfragegruppe existiert nicht mehr.",
"sidebar.message.saved_query_group_save_failed": "Gespeicherte Abfragegruppe konnte nicht gespeichert werden: {{error}}",
"sidebar.message.saved_query_group_updated": "Gespeicherte Abfragegruppe aktualisiert.",
"sidebar.message.saved_query_delete_failed": "Abfrage konnte nicht gelöscht werden: {{error}}",
"sidebar.message.saved_query_deleted": "Abfrage gelöscht.",
"sidebar.message.saved_query_name_unchanged": "Der Abfragename ist unverändert.",
@@ -7395,11 +7404,30 @@
"sidebar.table_action.clear.progress": "Wird gelöscht",
"sidebar.table_action.truncate.label": "Tabelle leeren",
"sidebar.table_action.truncate.progress": "Wird geleert",
"sidebar.saved_query_group.create_title": "Neue gespeicherte Abfragegruppe",
"sidebar.saved_query_group.delete": "Gruppe löschen",
"sidebar.saved_query_group.delete_confirm": "Gespeicherte Abfragegruppe \"{{name}}\" löschen? Untergruppen werden eine Ebene höher verschoben, Abfragen werden nicht gelöscht.",
"sidebar.saved_query_group.description": "Gespeicherte SQL-Abfragen organisieren.",
"sidebar.saved_query_group.edit": "Gruppe bearbeiten",
"sidebar.saved_query_group.edit_title": "Gespeicherte Abfragegruppe bearbeiten",
"sidebar.saved_query_group.empty_queries": "Es gibt keine Abfragen, die dieser Gruppe hinzugefügt werden können. Abfragen anderer Gruppen sind ausgeschlossen.",
"sidebar.saved_query_group.error.backend_unavailable": "Gespeicherte Abfragegruppen werden von dieser Version nicht unterstützt.",
"sidebar.saved_query_group.error.invalid_input": "Die Daten der gespeicherten Abfragegruppe sind ungültig.",
"sidebar.saved_query_group.move_to_group": "In Gruppe verschieben",
"sidebar.saved_query_group.move_to_ungrouped": "Aus Gruppe entfernen",
"sidebar.saved_query_group.name_label": "Gruppenname",
"sidebar.saved_query_group.name_placeholder": "Gruppenname",
"sidebar.saved_query_group.name_required": "Geben Sie einen Gruppennamen ein",
"sidebar.saved_query_group.new_group": "Neue Gruppe",
"sidebar.saved_query_group.new_subgroup": "Neue Untergruppe",
"sidebar.saved_query_group.select_queries": "Abfragen auswählen",
"sidebar.saved_query_group.untitled": "Unbenannte Gruppe",
"sidebar.table_folder.columns": "Spalten",
"sidebar.table_folder.foreign_keys": "Fremdschlüssel",
"sidebar.table_folder.indexes": "Indizes",
"sidebar.table_folder.triggers": "Trigger",
"sidebar.tree.all_saved_queries": "Alle gespeicherten Abfragen",
"sidebar.tree.ungrouped_saved_queries": "Nicht gruppiert",
"sidebar.tree.default_database": "Standarddatenbank",
"sidebar.tree.default_schema": "Standardschema",
"sidebar.tree.saved_queries": "Gespeicherte Abfragen",

View File

@@ -7201,6 +7201,15 @@
"sidebar.message.rename_sql_directory_failed": "Failed to rename directory: {{error}}",
"sidebar.message.rename_sql_file_failed": "Failed to rename SQL file: {{error}}",
"sidebar.message.routine_deleted": "{{type}} deleted.",
"sidebar.message.saved_query_group_created": "Saved query group created.",
"sidebar.message.saved_query_group_delete_failed": "Failed to delete saved query group: {{error}}",
"sidebar.message.saved_query_group_deleted": "Saved query group deleted.",
"sidebar.message.saved_query_group_load_failed": "Failed to load saved query groups: {{error}}",
"sidebar.message.saved_query_group_move_failed": "Failed to move saved query: {{error}}",
"sidebar.message.saved_query_group_moved": "Saved query group updated.",
"sidebar.message.saved_query_group_not_found": "The saved query group no longer exists.",
"sidebar.message.saved_query_group_save_failed": "Failed to save saved query group: {{error}}",
"sidebar.message.saved_query_group_updated": "Saved query group updated.",
"sidebar.message.saved_query_delete_failed": "Failed to delete query: {{error}}",
"sidebar.message.saved_query_deleted": "Query deleted.",
"sidebar.message.saved_query_name_unchanged": "Query name is unchanged.",
@@ -7395,11 +7404,30 @@
"sidebar.table_action.clear.progress": "Clearing",
"sidebar.table_action.truncate.label": "Truncate table",
"sidebar.table_action.truncate.progress": "Truncating",
"sidebar.saved_query_group.create_title": "New saved query group",
"sidebar.saved_query_group.delete": "Delete group",
"sidebar.saved_query_group.delete_confirm": "Delete saved query group \"{{name}}\"? Child groups will move up one level and queries will not be deleted.",
"sidebar.saved_query_group.description": "Organize saved SQL queries.",
"sidebar.saved_query_group.edit": "Edit group",
"sidebar.saved_query_group.edit_title": "Edit saved query group",
"sidebar.saved_query_group.empty_queries": "No queries can be added to this group. Queries in other groups are excluded.",
"sidebar.saved_query_group.error.backend_unavailable": "Saved query groups are not supported by this version.",
"sidebar.saved_query_group.error.invalid_input": "Saved query group data is invalid.",
"sidebar.saved_query_group.move_to_group": "Move to group",
"sidebar.saved_query_group.move_to_ungrouped": "Remove from group",
"sidebar.saved_query_group.name_label": "Group name",
"sidebar.saved_query_group.name_placeholder": "Group name",
"sidebar.saved_query_group.name_required": "Enter a group name",
"sidebar.saved_query_group.new_group": "New group",
"sidebar.saved_query_group.new_subgroup": "New subgroup",
"sidebar.saved_query_group.select_queries": "Select queries",
"sidebar.saved_query_group.untitled": "Untitled group",
"sidebar.table_folder.columns": "Columns",
"sidebar.table_folder.foreign_keys": "Foreign keys",
"sidebar.table_folder.indexes": "Indexes",
"sidebar.table_folder.triggers": "Triggers",
"sidebar.tree.all_saved_queries": "All saved queries",
"sidebar.tree.ungrouped_saved_queries": "Ungrouped",
"sidebar.tree.default_database": "Default database",
"sidebar.tree.default_schema": "Default schema",
"sidebar.tree.saved_queries": "Saved queries",

View File

@@ -7201,6 +7201,15 @@
"sidebar.message.rename_sql_directory_failed": "ディレクトリの名前変更に失敗しました: {{error}}",
"sidebar.message.rename_sql_file_failed": "SQL ファイルの名前変更に失敗しました: {{error}}",
"sidebar.message.routine_deleted": "{{type}} を削除しました。",
"sidebar.message.saved_query_group_created": "保存済みクエリグループを作成しました。",
"sidebar.message.saved_query_group_delete_failed": "保存済みクエリグループの削除に失敗しました: {{error}}",
"sidebar.message.saved_query_group_deleted": "保存済みクエリグループを削除しました。",
"sidebar.message.saved_query_group_load_failed": "保存済みクエリグループの読み込みに失敗しました: {{error}}",
"sidebar.message.saved_query_group_move_failed": "保存済みクエリの移動に失敗しました: {{error}}",
"sidebar.message.saved_query_group_moved": "保存済みクエリグループを更新しました。",
"sidebar.message.saved_query_group_not_found": "保存済みクエリグループは存在しないか、削除されました。",
"sidebar.message.saved_query_group_save_failed": "保存済みクエリグループの保存に失敗しました: {{error}}",
"sidebar.message.saved_query_group_updated": "保存済みクエリグループを更新しました。",
"sidebar.message.saved_query_delete_failed": "クエリの削除に失敗しました: {{error}}",
"sidebar.message.saved_query_deleted": "保存済みクエリを削除しました。",
"sidebar.message.saved_query_name_unchanged": "新しいクエリ名は現在の名前と同じです。",
@@ -7395,11 +7404,30 @@
"sidebar.table_action.clear.progress": "クリア中",
"sidebar.table_action.truncate.label": "テーブルを切り詰め",
"sidebar.table_action.truncate.progress": "切り詰め中",
"sidebar.saved_query_group.create_title": "保存済みクエリグループを作成",
"sidebar.saved_query_group.delete": "グループを削除",
"sidebar.saved_query_group.delete_confirm": "保存済みクエリグループ \"{{name}}\" を削除しますか?子グループは一つ上の階層に移動し、クエリは削除されません。",
"sidebar.saved_query_group.description": "保存済み SQL クエリを整理します。",
"sidebar.saved_query_group.edit": "グループを編集",
"sidebar.saved_query_group.edit_title": "保存済みクエリグループを編集",
"sidebar.saved_query_group.empty_queries": "このグループに追加できるクエリはありません。他のグループのクエリは表示されません。",
"sidebar.saved_query_group.error.backend_unavailable": "このバージョンは保存済みクエリグループに対応していません。",
"sidebar.saved_query_group.error.invalid_input": "保存済みクエリグループの情報が無効です。",
"sidebar.saved_query_group.move_to_group": "グループに移動",
"sidebar.saved_query_group.move_to_ungrouped": "グループから外す",
"sidebar.saved_query_group.name_label": "グループ名",
"sidebar.saved_query_group.name_placeholder": "グループ名",
"sidebar.saved_query_group.name_required": "グループ名を入力してください",
"sidebar.saved_query_group.new_group": "新しいグループ",
"sidebar.saved_query_group.new_subgroup": "新しい子グループ",
"sidebar.saved_query_group.select_queries": "クエリを選択",
"sidebar.saved_query_group.untitled": "名前のないグループ",
"sidebar.table_folder.columns": "列",
"sidebar.table_folder.foreign_keys": "外部キー",
"sidebar.table_folder.indexes": "インデックス",
"sidebar.table_folder.triggers": "トリガー",
"sidebar.tree.all_saved_queries": "すべての保存済みクエリ",
"sidebar.tree.ungrouped_saved_queries": "未分類",
"sidebar.tree.default_database": "既定データベース",
"sidebar.tree.default_schema": "既定スキーマ",
"sidebar.tree.saved_queries": "保存済みクエリ",

View File

@@ -7201,6 +7201,15 @@
"sidebar.message.rename_sql_directory_failed": "Не удалось переименовать каталог: {{error}}",
"sidebar.message.rename_sql_file_failed": "Не удалось переименовать SQL-файл: {{error}}",
"sidebar.message.routine_deleted": "{{type}} удалена.",
"sidebar.message.saved_query_group_created": "Группа сохраненных запросов создана.",
"sidebar.message.saved_query_group_delete_failed": "Не удалось удалить группу сохраненных запросов: {{error}}",
"sidebar.message.saved_query_group_deleted": "Группа сохраненных запросов удалена.",
"sidebar.message.saved_query_group_load_failed": "Не удалось загрузить группы сохраненных запросов: {{error}}",
"sidebar.message.saved_query_group_move_failed": "Не удалось переместить сохраненный запрос: {{error}}",
"sidebar.message.saved_query_group_moved": "Группа сохраненных запросов обновлена.",
"sidebar.message.saved_query_group_not_found": "Группа сохраненных запросов больше не существует.",
"sidebar.message.saved_query_group_save_failed": "Не удалось сохранить группу запросов: {{error}}",
"sidebar.message.saved_query_group_updated": "Группа сохраненных запросов обновлена.",
"sidebar.message.saved_query_delete_failed": "Не удалось удалить запрос: {{error}}",
"sidebar.message.saved_query_deleted": "Запрос удален.",
"sidebar.message.saved_query_name_unchanged": "Имя запроса не изменилось.",
@@ -7395,11 +7404,30 @@
"sidebar.table_action.clear.progress": "Очищается",
"sidebar.table_action.truncate.label": "Очистить таблицу через TRUNCATE",
"sidebar.table_action.truncate.progress": "Выполняется TRUNCATE",
"sidebar.saved_query_group.create_title": "Создать группу сохраненных запросов",
"sidebar.saved_query_group.delete": "Удалить группу",
"sidebar.saved_query_group.delete_confirm": "Удалить группу сохраненных запросов \"{{name}}\"? Дочерние группы будут подняты на уровень выше, а запросы не будут удалены.",
"sidebar.saved_query_group.description": "Организуйте сохраненные SQL-запросы.",
"sidebar.saved_query_group.edit": "Изменить группу",
"sidebar.saved_query_group.edit_title": "Изменить группу сохраненных запросов",
"sidebar.saved_query_group.empty_queries": "Нет запросов, которые можно добавить в эту группу. Запросы из других групп исключены.",
"sidebar.saved_query_group.error.backend_unavailable": "Группы сохраненных запросов не поддерживаются этой версией.",
"sidebar.saved_query_group.error.invalid_input": "Данные группы сохраненных запросов недопустимы.",
"sidebar.saved_query_group.move_to_group": "Переместить в группу",
"sidebar.saved_query_group.move_to_ungrouped": "Убрать из группы",
"sidebar.saved_query_group.name_label": "Название группы",
"sidebar.saved_query_group.name_placeholder": "Название группы",
"sidebar.saved_query_group.name_required": "Введите название группы",
"sidebar.saved_query_group.new_group": "Новая группа",
"sidebar.saved_query_group.new_subgroup": "Новая подгруппа",
"sidebar.saved_query_group.select_queries": "Выбрать запросы",
"sidebar.saved_query_group.untitled": "Группа без названия",
"sidebar.table_folder.columns": "Столбцы",
"sidebar.table_folder.foreign_keys": "Внешние ключи",
"sidebar.table_folder.indexes": "Индексы",
"sidebar.table_folder.triggers": "Триггеры",
"sidebar.tree.all_saved_queries": "Все сохраненные запросы",
"sidebar.tree.ungrouped_saved_queries": "Без группы",
"sidebar.tree.default_database": "База данных по умолчанию",
"sidebar.tree.default_schema": "Схема по умолчанию",
"sidebar.tree.saved_queries": "Сохраненные запросы",

View File

@@ -7201,6 +7201,15 @@
"sidebar.message.rename_sql_directory_failed": "重命名目录失败:{{error}}",
"sidebar.message.rename_sql_file_failed": "重命名 SQL 文件失败:{{error}}",
"sidebar.message.routine_deleted": "{{type}} 已删除。",
"sidebar.message.saved_query_group_created": "已存查询分组已创建。",
"sidebar.message.saved_query_group_delete_failed": "删除已存查询分组失败:{{error}}",
"sidebar.message.saved_query_group_deleted": "已存查询分组已删除。",
"sidebar.message.saved_query_group_load_failed": "加载已存查询分组失败:{{error}}",
"sidebar.message.saved_query_group_move_failed": "移动已存查询失败:{{error}}",
"sidebar.message.saved_query_group_moved": "已存查询分组已更新。",
"sidebar.message.saved_query_group_not_found": "已存查询分组不存在或已被删除。",
"sidebar.message.saved_query_group_save_failed": "保存已存查询分组失败:{{error}}",
"sidebar.message.saved_query_group_updated": "已存查询分组已更新。",
"sidebar.message.saved_query_delete_failed": "删除查询失败:{{error}}",
"sidebar.message.saved_query_deleted": "已存查询已删除。",
"sidebar.message.saved_query_name_unchanged": "新旧查询名称相同,无需修改。",
@@ -7395,11 +7404,30 @@
"sidebar.table_action.clear.progress": "正在清空",
"sidebar.table_action.truncate.label": "截断表",
"sidebar.table_action.truncate.progress": "正在截断",
"sidebar.saved_query_group.create_title": "新建已存查询分组",
"sidebar.saved_query_group.delete": "删除分组",
"sidebar.saved_query_group.delete_confirm": "确定要删除已存查询分组 \"{{name}}\" 吗?其中的子分组会提升到上一级,查询不会被删除。",
"sidebar.saved_query_group.description": "整理已保存的 SQL 查询。",
"sidebar.saved_query_group.edit": "编辑分组",
"sidebar.saved_query_group.edit_title": "编辑已存查询分组",
"sidebar.saved_query_group.empty_queries": "没有可加入此分组的查询。其他分组中的查询不会重复显示。",
"sidebar.saved_query_group.error.backend_unavailable": "当前版本不支持已存查询分组",
"sidebar.saved_query_group.error.invalid_input": "已存查询分组信息无效",
"sidebar.saved_query_group.move_to_group": "移动到分组",
"sidebar.saved_query_group.move_to_ungrouped": "移出分组",
"sidebar.saved_query_group.name_label": "分组名称",
"sidebar.saved_query_group.name_placeholder": "分组名称",
"sidebar.saved_query_group.name_required": "请输入分组名称",
"sidebar.saved_query_group.new_group": "新建分组",
"sidebar.saved_query_group.new_subgroup": "新建子分组",
"sidebar.saved_query_group.select_queries": "选择查询",
"sidebar.saved_query_group.untitled": "未命名分组",
"sidebar.table_folder.columns": "列",
"sidebar.table_folder.foreign_keys": "外键",
"sidebar.table_folder.indexes": "索引",
"sidebar.table_folder.triggers": "触发器",
"sidebar.tree.all_saved_queries": "全部已存查询",
"sidebar.tree.ungrouped_saved_queries": "未分组",
"sidebar.tree.default_database": "默认数据库",
"sidebar.tree.default_schema": "默认结构",
"sidebar.tree.saved_queries": "已存查询",

View File

@@ -7201,6 +7201,15 @@
"sidebar.message.rename_sql_directory_failed": "重新命名目錄失敗:{{error}}",
"sidebar.message.rename_sql_file_failed": "重新命名 SQL 檔案失敗:{{error}}",
"sidebar.message.routine_deleted": "{{type}} 已刪除。",
"sidebar.message.saved_query_group_created": "已儲存查詢分組已建立。",
"sidebar.message.saved_query_group_delete_failed": "刪除已儲存查詢分組失敗:{{error}}",
"sidebar.message.saved_query_group_deleted": "已儲存查詢分組已刪除。",
"sidebar.message.saved_query_group_load_failed": "載入已儲存查詢分組失敗:{{error}}",
"sidebar.message.saved_query_group_move_failed": "移動已儲存查詢失敗:{{error}}",
"sidebar.message.saved_query_group_moved": "已儲存查詢分組已更新。",
"sidebar.message.saved_query_group_not_found": "已儲存查詢分組不存在或已被刪除。",
"sidebar.message.saved_query_group_save_failed": "儲存已儲存查詢分組失敗:{{error}}",
"sidebar.message.saved_query_group_updated": "已儲存查詢分組已更新。",
"sidebar.message.saved_query_delete_failed": "刪除查詢失敗:{{error}}",
"sidebar.message.saved_query_deleted": "已儲存查詢已刪除。",
"sidebar.message.saved_query_name_unchanged": "新舊查詢名稱相同,無需修改。",
@@ -7395,11 +7404,30 @@
"sidebar.table_action.clear.progress": "正在清除",
"sidebar.table_action.truncate.label": "截斷資料表",
"sidebar.table_action.truncate.progress": "正在截斷",
"sidebar.saved_query_group.create_title": "新增已儲存查詢分組",
"sidebar.saved_query_group.delete": "刪除分組",
"sidebar.saved_query_group.delete_confirm": "確定要刪除已儲存查詢分組 \"{{name}}\" 嗎?子分組會提升到上一層,查詢不會被刪除。",
"sidebar.saved_query_group.description": "整理已儲存的 SQL 查詢。",
"sidebar.saved_query_group.edit": "編輯分組",
"sidebar.saved_query_group.edit_title": "編輯已儲存查詢分組",
"sidebar.saved_query_group.empty_queries": "沒有可加入此分組的查詢。其他分組中的查詢不會重複顯示。",
"sidebar.saved_query_group.error.backend_unavailable": "目前版本不支援已儲存查詢分組",
"sidebar.saved_query_group.error.invalid_input": "已儲存查詢分組資料無效",
"sidebar.saved_query_group.move_to_group": "移動到分組",
"sidebar.saved_query_group.move_to_ungrouped": "移出分組",
"sidebar.saved_query_group.name_label": "分組名稱",
"sidebar.saved_query_group.name_placeholder": "分組名稱",
"sidebar.saved_query_group.name_required": "請輸入分組名稱",
"sidebar.saved_query_group.new_group": "新增分組",
"sidebar.saved_query_group.new_subgroup": "新增子分組",
"sidebar.saved_query_group.select_queries": "選擇查詢",
"sidebar.saved_query_group.untitled": "未命名分組",
"sidebar.table_folder.columns": "欄位",
"sidebar.table_folder.foreign_keys": "外鍵",
"sidebar.table_folder.indexes": "索引",
"sidebar.table_folder.triggers": "觸發器",
"sidebar.tree.all_saved_queries": "全部已儲存查詢",
"sidebar.tree.ungrouped_saved_queries": "未分組",
"sidebar.tree.default_database": "預設資料庫",
"sidebar.tree.default_schema": "預設結構",
"sidebar.tree.saved_queries": "已儲存查詢",