feat(database): Add database compression function (#1027)

* feat(database): Add database compression function

Add database compression functionality to the connection statistics page to reduce the size of the database file

Add multi-language support and related UI interactions

* fix(database): Update the description of database compression operations and fix the statistics cleanup logic

Update the description of database compression operations in the multilingual files to explicitly state that data will not be lost

Fix the connection statistics cleanup logic to ensure correct matching of server IDs

Add error handling for the compression operation to prevent the UI from freezing

* Update lib/l10n/app_en.arb

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
GT610
2026-01-26 13:40:42 +08:00
committed by GitHub
parent 9ac866644c
commit a0a62acdbc
29 changed files with 253 additions and 1 deletions

View File

@@ -46,6 +46,9 @@
"clearServerStatsContent": "Sind Sie sicher, dass Sie die Verbindungsstatistiken für Server \"{serverName}\" löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.",
"clearServerStatsTitle": "{serverName} Statistiken löschen",
"clearThisServerStats": "Statistiken dieses Servers löschen",
"compactDatabase": "Datenbank komprimieren",
"compactDatabaseContent": "Datenbankgröße: {size}\n\nDies wird die Datenbank neu organisieren, um die Dateigröße zu reduzieren. Es werden keine Daten gelöscht.",
"confirm": "Bestätigen",
"closeAfterSave": "Speichern und schließen",
"cmd": "Command",
"collapseUITip": "Ob lange Listen in der Benutzeroberfläche standardmäßig eingeklappt werden sollen oder nicht",

View File

@@ -46,6 +46,9 @@
"clearServerStatsContent": "Are you sure you want to clear connection statistics for server \"{serverName}\"? This action cannot be undone.",
"clearServerStatsTitle": "Clear {serverName} Statistics",
"clearThisServerStats": "Clear This Server Statistics",
"compactDatabase": "Compact Database",
"compactDatabaseContent": "Database size: {size}\n\nThis will rebuild the whole database to reduce file size.",
"confirm": "Confirm",
"closeAfterSave": "Save and close",
"cmd": "Command",
"collapseUITip": "Whether to collapse long lists present in the UI by default",

View File

@@ -46,6 +46,8 @@
"clearServerStatsContent": "¿Estás seguro de que quieres limpiar las estadísticas de conexión del servidor \"{serverName}\"? Esta acción no se puede deshacer.",
"clearServerStatsTitle": "Limpiar estadísticas de {serverName}",
"clearThisServerStats": "Limpiar estadísticas de este servidor",
"compactDatabase": "Compactar base de datos",
"compactDatabaseContent": "Tamaño de la base de datos: {size}\n\nEsto reorganizará la base de datos para reducir el tamaño del archivo. No se eliminará ningún dato.",
"closeAfterSave": "Guardar y cerrar",
"cmd": "Comando",
"collapseUITip": "¿Colapsar por defecto las listas largas en la UI?",

View File

@@ -46,6 +46,8 @@
"clearServerStatsContent": "Êtes-vous sûr de vouloir effacer les statistiques de connexion du serveur \"{serverName}\" ? Cette action ne peut pas être annulée.",
"clearServerStatsTitle": "Effacer les statistiques de {serverName}",
"clearThisServerStats": "Effacer les statistiques de ce serveur",
"compactDatabase": "Compacter la base de données",
"compactDatabaseContent": "Taille de la base de données : {size}\n\nCela réorganisera la base de données pour réduire la taille du fichier. Aucune donnée ne sera supprimée.",
"closeAfterSave": "Enregistrer et fermer",
"cmd": "Commande",
"collapseUITip": "Indique si les longues listes présentées dans l'interface utilisateur doivent être réduites par défaut.",

View File

@@ -46,6 +46,8 @@
"clearServerStatsContent": "Apakah Anda yakin ingin menghapus statistik koneksi untuk server \"{serverName}\"? Tindakan ini tidak dapat dibatalkan.",
"clearServerStatsTitle": "Hapus Statistik {serverName}",
"clearThisServerStats": "Hapus Statistik Server Ini",
"compactDatabase": "Kompres Database",
"compactDatabaseContent": "Ukuran database: {size}\n\nIni akan mengatur ulang database untuk mengurangi ukuran file. Tidak ada data yang akan dihapus.",
"closeAfterSave": "Simpan dan tutup",
"cmd": "Memerintah",
"collapseUITip": "Apakah akan menciutkan daftar panjang yang ada di UI secara default atau tidak",

View File

@@ -46,6 +46,8 @@
"clearServerStatsContent": "サーバー\"{serverName}\"の接続統計を削除してもよろしいですか?この操作は元に戻せません。",
"clearServerStatsTitle": "{serverName}の統計をクリア",
"clearThisServerStats": "このサーバーの統計をクリア",
"compactDatabase": "データベースを圧縮",
"compactDatabaseContent": "データベースサイズ: {size}\n\nこれにより、ファイルサイズを小さくするためにデータベースが再編成されます。データは削除されません。",
"closeAfterSave": "保存して閉じる",
"cmd": "コマンド",
"collapseUITip": "UIの長いリストをデフォルトで折りたたむかどうか",

View File

@@ -46,6 +46,8 @@
"clearServerStatsContent": "Weet u zeker dat u de verbindingsstatistieken voor server \"{serverName}\" wilt wissen? Deze actie kan niet ongedaan worden gemaakt.",
"clearServerStatsTitle": "Statistieken van {serverName} wissen",
"clearThisServerStats": "Statistieken van deze server wissen",
"compactDatabase": "Database comprimeren",
"compactDatabaseContent": "Databasgrootte: {size}\n\nDit zal de database opnieuw organiseren om de bestandsgrootte te verkleinen. Geen gegevens worden verwijderd.",
"closeAfterSave": "Opslaan en sluiten",
"cmd": "Opdracht",
"collapseUITip": "Of lange lijsten in de UI standaard moeten worden ingeklapt",

View File

@@ -46,6 +46,8 @@
"clearServerStatsContent": "Tem certeza de que deseja limpar as estatísticas de conexão para o servidor \"{serverName}\"? Esta ação não pode ser desfeita.",
"clearServerStatsTitle": "Limpar estatísticas de {serverName}",
"clearThisServerStats": "Limpar estatísticas deste servidor",
"compactDatabase": "Compactar banco de dados",
"compactDatabaseContent": "Tamanho do banco de dados: {size}\n\nIsso reorganizará o banco de dados para reduzir o tamanho do arquivo. Nenhum dado será excluído.",
"closeAfterSave": "Salvar e fechar",
"cmd": "Comando",
"collapseUITip": "Deve colapsar listas longas na UI por padrão?",

View File

@@ -46,6 +46,9 @@
"clearServerStatsContent": "Вы уверены, что хотите очистить статистику соединений для сервера \"{serverName}\"? Это действие не может быть отменено.",
"clearServerStatsTitle": "Очистить статистику {serverName}",
"clearThisServerStats": "Очистить статистику этого сервера",
"compactDatabase": "Сжать базу данных",
"compactDatabaseContent": "Размер базы данных: {size}\n\nЭто перестроит базу данных для уменьшения размера файла. Данные не будут удалены.",
"confirm": "Подтвердить",
"closeAfterSave": "Сохранить и закрыть",
"cmd": "Команда",
"collapseUITip": "Свернуть длинные списки в UI по умолчанию",

View File

@@ -46,6 +46,8 @@
"clearServerStatsContent": "\"{serverName}\" sunucusu için bağlantı istatistiklerini temizlemek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
"clearServerStatsTitle": "{serverName} İstatistiklerini Temizle",
"clearThisServerStats": "Bu Sunucu İstatistiklerini Temizle",
"compactDatabase": "Veritabanını Sıkıştır",
"compactDatabaseContent": "Veritabanı boyutu: {size}\n\nBu, dosya boyutunu küçültmek için veritabanını yeniden düzenleyecektir. Veriler silinmeyecek.",
"closeAfterSave": "Kaydet ve kapat",
"cmd": "Komut",
"collapseUITip": "Arayüzde uzun listelerin varsayılan olarak daraltılıp daraltılmayacağı",

View File

@@ -46,6 +46,8 @@
"clearServerStatsContent": "Ви впевнені, що хочете очистити статистику з'єднань для сервера \"{serverName}\"? Цю дію не можна скасувати.",
"clearServerStatsTitle": "Очистити статистику {serverName}",
"clearThisServerStats": "Очистити статистику цього сервера",
"compactDatabase": "Стиснути базу даних",
"compactDatabaseContent": "Розмір бази даних: {size}\n\nЦе перебудує базу даних, щоб зменшити розмір файлу. Дані не будуть видалені.",
"closeAfterSave": "Зберегти та закрити",
"cmd": "Команда",
"collapseUITip": "Сховати довгі списки, що є у UI за замовчуванням",

View File

@@ -46,6 +46,9 @@
"clearServerStatsContent": "确定要清空服务器 \"{serverName}\" 的连接统计数据吗?此操作无法撤销。",
"clearServerStatsTitle": "清空 {serverName} 统计",
"clearThisServerStats": "清空此服务器统计",
"compactDatabase": "压缩数据库",
"compactDatabaseContent": "数据库大小:{size}\n\n此操作将重新组织数据库以减少体积数据不会丢失。",
"confirm": "确认",
"closeAfterSave": "保存后关闭",
"cmd": "命令",
"collapseUITip": "是否默认折叠 UI 中的长列表",

View File

@@ -46,6 +46,8 @@
"clearServerStatsContent": "確定要清空伺服器 \"{serverName}\" 的連線統計資料嗎?此操作無法撤銷。",
"clearServerStatsTitle": "清空 {serverName} 統計",
"clearThisServerStats": "清空此伺服器統計",
"compactDatabase": "壓縮資料庫",
"compactDatabaseContent": "資料庫大小:{size}\n\n此操作將重新組織資料庫以減少體積資料不會遺失。",
"closeAfterSave": "儲存後關閉",
"cmd": "指令",
"collapseUITip": "是否預設折疊 UI 中存在的長列表",