feat: server conn statistics (#888)

This commit is contained in:
lollipopkit🏳️‍⚧️
2025-09-02 19:41:56 +08:00
committed by GitHub
parent 929061213f
commit 2466341999
39 changed files with 2534 additions and 19 deletions

View File

@@ -1621,6 +1621,84 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'After connecting to the server, a script will be written to `~/.config/server_box` \n | `/tmp/server_box` to monitor the system status. You can review the script content.'**
String get writeScriptTip;
/// No description provided for @connectionStats.
///
/// In en, this message translates to:
/// **'Connection Statistics'**
String get connectionStats;
/// No description provided for @noConnectionStatsData.
///
/// In en, this message translates to:
/// **'No connection statistics data'**
String get noConnectionStatsData;
/// No description provided for @totalAttempts.
///
/// In en, this message translates to:
/// **'Total'**
String get totalAttempts;
/// No description provided for @lastSuccess.
///
/// In en, this message translates to:
/// **'Last Success'**
String get lastSuccess;
/// No description provided for @lastFailure.
///
/// In en, this message translates to:
/// **'Last Failure'**
String get lastFailure;
/// No description provided for @recentConnections.
///
/// In en, this message translates to:
/// **'Recent Connections'**
String get recentConnections;
/// No description provided for @viewDetails.
///
/// In en, this message translates to:
/// **'View Details'**
String get viewDetails;
/// No description provided for @connectionDetails.
///
/// In en, this message translates to:
/// **'Connection Details'**
String get connectionDetails;
/// No description provided for @clearThisServerStats.
///
/// In en, this message translates to:
/// **'Clear This Server Statistics'**
String get clearThisServerStats;
/// No description provided for @clearAllStatsTitle.
///
/// In en, this message translates to:
/// **'Clear All Statistics'**
String get clearAllStatsTitle;
/// No description provided for @clearAllStatsContent.
///
/// In en, this message translates to:
/// **'Are you sure you want to clear all server connection statistics? This action cannot be undone.'**
String get clearAllStatsContent;
/// No description provided for @clearServerStatsTitle.
///
/// In en, this message translates to:
/// **'Clear {serverName} Statistics'**
String clearServerStatsTitle(String serverName);
/// No description provided for @clearServerStatsContent.
///
/// In en, this message translates to:
/// **'Are you sure you want to clear connection statistics for server \"{serverName}\"? This action cannot be undone.'**
String clearServerStatsContent(String serverName);
}
class _AppLocalizationsDelegate

View File

@@ -851,4 +851,48 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get writeScriptTip =>
'Nach der Verbindung mit dem Server wird ein Skript in `~/.config/server_box` \n | `/tmp/server_box` geschrieben, um den Systemstatus zu überwachen. Sie können den Skriptinhalt überprüfen.';
@override
String get connectionStats => 'Verbindungsstatistiken';
@override
String get noConnectionStatsData => 'Keine Verbindungsstatistikdaten';
@override
String get totalAttempts => 'Gesamt';
@override
String get lastSuccess => 'Letzter Erfolg';
@override
String get lastFailure => 'Letzter Fehler';
@override
String get recentConnections => 'Kürzliche Verbindungen';
@override
String get viewDetails => 'Details anzeigen';
@override
String get connectionDetails => 'Verbindungsdetails';
@override
String get clearThisServerStats => 'Statistiken dieses Servers löschen';
@override
String get clearAllStatsTitle => 'Alle Statistiken löschen';
@override
String get clearAllStatsContent =>
'Sind Sie sicher, dass Sie alle Server-Verbindungsstatistiken löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.';
@override
String clearServerStatsTitle(String serverName) {
return '$serverName Statistiken löschen';
}
@override
String clearServerStatsContent(String serverName) {
return 'Sind Sie sicher, dass Sie die Verbindungsstatistiken für Server \"$serverName\" löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.';
}
}

View File

@@ -843,4 +843,48 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get writeScriptTip =>
'After connecting to the server, a script will be written to `~/.config/server_box` \n | `/tmp/server_box` to monitor the system status. You can review the script content.';
@override
String get connectionStats => 'Connection Statistics';
@override
String get noConnectionStatsData => 'No connection statistics data';
@override
String get totalAttempts => 'Total';
@override
String get lastSuccess => 'Last Success';
@override
String get lastFailure => 'Last Failure';
@override
String get recentConnections => 'Recent Connections';
@override
String get viewDetails => 'View Details';
@override
String get connectionDetails => 'Connection Details';
@override
String get clearThisServerStats => 'Clear This Server Statistics';
@override
String get clearAllStatsTitle => 'Clear All Statistics';
@override
String get clearAllStatsContent =>
'Are you sure you want to clear all server connection statistics? This action cannot be undone.';
@override
String clearServerStatsTitle(String serverName) {
return 'Clear $serverName Statistics';
}
@override
String clearServerStatsContent(String serverName) {
return 'Are you sure you want to clear connection statistics for server \"$serverName\"? This action cannot be undone.';
}
}

View File

@@ -852,4 +852,49 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get writeScriptTip =>
'Después de conectarse al servidor, se escribirá un script en `~/.config/server_box` \n | `/tmp/server_box` para monitorear el estado del sistema. Puedes revisar el contenido del script.';
@override
String get connectionStats => 'Estadísticas de conexión';
@override
String get noConnectionStatsData =>
'No hay datos de estadísticas de conexión';
@override
String get totalAttempts => 'Total';
@override
String get lastSuccess => 'Último éxito';
@override
String get lastFailure => 'Último fallo';
@override
String get recentConnections => 'Conexiones recientes';
@override
String get viewDetails => 'Ver detalles';
@override
String get connectionDetails => 'Detalles de conexión';
@override
String get clearThisServerStats => 'Limpiar estadísticas de este servidor';
@override
String get clearAllStatsTitle => 'Limpiar todas las estadísticas';
@override
String get clearAllStatsContent =>
'¿Estás seguro de que quieres limpiar todas las estadísticas de conexión del servidor? Esta acción no se puede deshacer.';
@override
String clearServerStatsTitle(String serverName) {
return 'Limpiar estadísticas de $serverName';
}
@override
String clearServerStatsContent(String serverName) {
return '¿Estás seguro de que quieres limpiar las estadísticas de conexión del servidor \"$serverName\"? Esta acción no se puede deshacer.';
}
}

View File

@@ -855,4 +855,49 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get writeScriptTip =>
'Après la connexion au serveur, un script sera écrit dans `~/.config/server_box` \n | `/tmp/server_box` pour surveiller l\'état du système. Vous pouvez examiner le contenu du script.';
@override
String get connectionStats => 'Statistiques de connexion';
@override
String get noConnectionStatsData =>
'Aucune donnée de statistiques de connexion';
@override
String get totalAttempts => 'Total';
@override
String get lastSuccess => 'Dernier succès';
@override
String get lastFailure => 'Dernier échec';
@override
String get recentConnections => 'Connexions récentes';
@override
String get viewDetails => 'Voir les détails';
@override
String get connectionDetails => 'Détails de connexion';
@override
String get clearThisServerStats => 'Effacer les statistiques de ce serveur';
@override
String get clearAllStatsTitle => 'Effacer toutes les statistiques';
@override
String get clearAllStatsContent =>
'Êtes-vous sûr de vouloir effacer toutes les statistiques de connexion des serveurs ? Cette action ne peut pas être annulée.';
@override
String clearServerStatsTitle(String serverName) {
return 'Effacer les statistiques de $serverName';
}
@override
String clearServerStatsContent(String serverName) {
return 'Êtes-vous sûr de vouloir effacer les statistiques de connexion du serveur \"$serverName\" ? Cette action ne peut pas être annulée.';
}
}

View File

@@ -843,4 +843,48 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get writeScriptTip =>
'Setelah terhubung ke server, sebuah skrip akan ditulis ke `~/.config/server_box` \n | `/tmp/server_box` untuk memantau status sistem. Anda dapat meninjau konten skrip tersebut.';
@override
String get connectionStats => 'Statistik Koneksi';
@override
String get noConnectionStatsData => 'Tidak ada data statistik koneksi';
@override
String get totalAttempts => 'Total';
@override
String get lastSuccess => 'Sukses Terakhir';
@override
String get lastFailure => 'Gagal Terakhir';
@override
String get recentConnections => 'Koneksi Terkini';
@override
String get viewDetails => 'Lihat Detail';
@override
String get connectionDetails => 'Detail Koneksi';
@override
String get clearThisServerStats => 'Hapus Statistik Server Ini';
@override
String get clearAllStatsTitle => 'Hapus Semua Statistik';
@override
String get clearAllStatsContent =>
'Apakah Anda yakin ingin menghapus semua statistik koneksi server? Tindakan ini tidak dapat dibatalkan.';
@override
String clearServerStatsTitle(String serverName) {
return 'Hapus Statistik $serverName';
}
@override
String clearServerStatsContent(String serverName) {
return 'Apakah Anda yakin ingin menghapus statistik koneksi untuk server \"$serverName\"? Tindakan ini tidak dapat dibatalkan.';
}
}

View File

@@ -818,4 +818,47 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get writeScriptTip =>
'サーバーに接続すると、システムの状態を監視するためのスクリプトが `~/.config/server_box` \n | `/tmp/server_box` に書き込まれます。スクリプトの内容を確認できます。';
@override
String get connectionStats => '接続統計';
@override
String get noConnectionStatsData => '接続統計データがありません';
@override
String get totalAttempts => '総計';
@override
String get lastSuccess => '最後の成功';
@override
String get lastFailure => '最後の失敗';
@override
String get recentConnections => '最近の接続';
@override
String get viewDetails => '詳細を表示';
@override
String get connectionDetails => '接続の詳細';
@override
String get clearThisServerStats => 'このサーバーの統計をクリア';
@override
String get clearAllStatsTitle => 'すべての統計をクリア';
@override
String get clearAllStatsContent => 'すべてのサーバー接続統計を削除してもよろしいですか?この操作は元に戻せません。';
@override
String clearServerStatsTitle(String serverName) {
return '$serverNameの統計をクリア';
}
@override
String clearServerStatsContent(String serverName) {
return 'サーバー\"$serverName\"の接続統計を削除してもよろしいですか?この操作は元に戻せません。';
}
}

View File

@@ -849,4 +849,48 @@ class AppLocalizationsNl extends AppLocalizations {
@override
String get writeScriptTip =>
'Na het verbinden met de server wordt een script geschreven naar `~/.config/server_box` \n | `/tmp/server_box` om de systeemstatus te monitoren. U kunt de inhoud van het script controleren.';
@override
String get connectionStats => 'Verbindingsstatistieken';
@override
String get noConnectionStatsData => 'Geen verbindingsstatistiekgegevens';
@override
String get totalAttempts => 'Totaal';
@override
String get lastSuccess => 'Laatst succesvol';
@override
String get lastFailure => 'Laatst gefaald';
@override
String get recentConnections => 'Recente verbindingen';
@override
String get viewDetails => 'Details bekijken';
@override
String get connectionDetails => 'Verbindingsdetails';
@override
String get clearThisServerStats => 'Statistieken van deze server wissen';
@override
String get clearAllStatsTitle => 'Alle statistieken wissen';
@override
String get clearAllStatsContent =>
'Weet u zeker dat u alle serververbindingsstatistieken wilt wissen? Deze actie kan niet ongedaan worden gemaakt.';
@override
String clearServerStatsTitle(String serverName) {
return 'Statistieken van $serverName wissen';
}
@override
String clearServerStatsContent(String serverName) {
return 'Weet u zeker dat u de verbindingsstatistieken voor server \"$serverName\" wilt wissen? Deze actie kan niet ongedaan worden gemaakt.';
}
}

View File

@@ -846,4 +846,48 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get writeScriptTip =>
'Após conectar ao servidor, um script será escrito em `~/.config/server_box` \n | `/tmp/server_box` para monitorar o status do sistema. Você pode revisar o conteúdo do script.';
@override
String get connectionStats => 'Estatísticas de conexão';
@override
String get noConnectionStatsData => 'Não há dados de estatísticas de conexão';
@override
String get totalAttempts => 'Total';
@override
String get lastSuccess => 'Último sucesso';
@override
String get lastFailure => 'Última falha';
@override
String get recentConnections => 'Conexões recentes';
@override
String get viewDetails => 'Ver detalhes';
@override
String get connectionDetails => 'Detalhes da conexão';
@override
String get clearThisServerStats => 'Limpar estatísticas deste servidor';
@override
String get clearAllStatsTitle => 'Limpar todas as estatísticas';
@override
String get clearAllStatsContent =>
'Tem certeza de que deseja limpar todas as estatísticas de conexão do servidor? Esta ação não pode ser desfeita.';
@override
String clearServerStatsTitle(String serverName) {
return 'Limpar estatísticas de $serverName';
}
@override
String clearServerStatsContent(String serverName) {
return 'Tem certeza de que deseja limpar as estatísticas de conexão para o servidor \"$serverName\"? Esta ação não pode ser desfeita.';
}
}

View File

@@ -848,4 +848,48 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get writeScriptTip =>
'После подключения к серверу скрипт будет записан в `~/.config/server_box` \n | `/tmp/server_box` для мониторинга состояния системы. Вы можете проверить содержимое скрипта.';
@override
String get connectionStats => 'Статистика соединений';
@override
String get noConnectionStatsData => 'Нет данных статистики соединений';
@override
String get totalAttempts => 'Общее';
@override
String get lastSuccess => 'Последний успех';
@override
String get lastFailure => 'Последний сбой';
@override
String get recentConnections => 'Недавние соединения';
@override
String get viewDetails => 'Просмотр деталей';
@override
String get connectionDetails => 'Детали соединения';
@override
String get clearThisServerStats => 'Очистить статистику этого сервера';
@override
String get clearAllStatsTitle => 'Очистить всю статистику';
@override
String get clearAllStatsContent =>
'Вы уверены, что хотите очистить всю статистику соединений сервера? Это действие не может быть отменено.';
@override
String clearServerStatsTitle(String serverName) {
return 'Очистить статистику $serverName';
}
@override
String clearServerStatsContent(String serverName) {
return 'Вы уверены, что хотите очистить статистику соединений для сервера \"$serverName\"? Это действие не может быть отменено.';
}
}

View File

@@ -843,4 +843,48 @@ class AppLocalizationsTr extends AppLocalizations {
@override
String get writeScriptTip =>
'Sunucuya bağlandıktan sonra, sistem durumunu izlemek için `~/.config/server_box` \n | `/tmp/server_box` dizinine bir betik yazılacak. Betik içeriğini inceleyebilirsiniz.';
@override
String get connectionStats => 'Bağlantı İstatistikleri';
@override
String get noConnectionStatsData => 'Bağlantı istatistik verisi yok';
@override
String get totalAttempts => 'Toplam';
@override
String get lastSuccess => 'Son Başarı';
@override
String get lastFailure => 'Son Başarısızlık';
@override
String get recentConnections => 'Son Bağlantılar';
@override
String get viewDetails => 'Detayları Görüntüle';
@override
String get connectionDetails => 'Bağlantı Detayları';
@override
String get clearThisServerStats => 'Bu Sunucu İstatistiklerini Temizle';
@override
String get clearAllStatsTitle => 'Tüm İstatistikleri Temizle';
@override
String get clearAllStatsContent =>
'Tüm sunucu bağlantı istatistiklerini temizlemek istediğinizden emin misiniz? Bu işlem geri alınamaz.';
@override
String clearServerStatsTitle(String serverName) {
return '$serverName İstatistiklerini Temizle';
}
@override
String clearServerStatsContent(String serverName) {
return '\"$serverName\" sunucusu için bağlantı istatistiklerini temizlemek istediğinizden emin misiniz? Bu işlem geri alınamaz.';
}
}

View File

@@ -849,4 +849,48 @@ class AppLocalizationsUk extends AppLocalizations {
@override
String get writeScriptTip =>
'Після підключення до сервера скрипт буде записано у `~/.config/server_box` \n | `/tmp/server_box` для моніторингу стану системи. Ви можете переглянути вміст скрипта.';
@override
String get connectionStats => 'Статистика з\'єднань';
@override
String get noConnectionStatsData => 'Немає даних статистики з\'єднань';
@override
String get totalAttempts => 'Загальна кількість';
@override
String get lastSuccess => 'Останній успіх';
@override
String get lastFailure => 'Остання помилка';
@override
String get recentConnections => 'Останні з\'єднання';
@override
String get viewDetails => 'Переглянути деталі';
@override
String get connectionDetails => 'Деталі з\'єднання';
@override
String get clearThisServerStats => 'Очистити статистику цього сервера';
@override
String get clearAllStatsTitle => 'Очистити всю статистику';
@override
String get clearAllStatsContent =>
'Ви впевнені, що хочете очистити всю статистику з\'єднань сервера? Цю дію не можна скасувати.';
@override
String clearServerStatsTitle(String serverName) {
return 'Очистити статистику $serverName';
}
@override
String clearServerStatsContent(String serverName) {
return 'Ви впевнені, що хочете очистити статистику з\'єднань для сервера \"$serverName\"? Цю дію не можна скасувати.';
}
}

View File

@@ -803,6 +803,49 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get writeScriptTip =>
'在连接服务器后,会向 `~/.config/server_box` \n | `/tmp/server_box` 写入脚本来监测系统状态,你可以审查脚本内容。';
@override
String get connectionStats => '连接统计';
@override
String get noConnectionStatsData => '暂无连接统计数据';
@override
String get totalAttempts => '总次数';
@override
String get lastSuccess => '最后成功';
@override
String get lastFailure => '最后失败';
@override
String get recentConnections => '最近连接记录';
@override
String get viewDetails => '查看详情';
@override
String get connectionDetails => '连接详情';
@override
String get clearThisServerStats => '清空此服务器统计';
@override
String get clearAllStatsTitle => '清空所有统计';
@override
String get clearAllStatsContent => '确定要清空所有服务器的连接统计数据吗?此操作无法撤销。';
@override
String clearServerStatsTitle(String serverName) {
return '清空 $serverName 统计';
}
@override
String clearServerStatsContent(String serverName) {
return '确定要清空服务器 \"$serverName\" 的连接统计数据吗?此操作无法撤销。';
}
}
/// The translations for Chinese, as used in Taiwan (`zh_TW`).
@@ -1604,4 +1647,47 @@ class AppLocalizationsZhTw extends AppLocalizationsZh {
@override
String get writeScriptTip =>
'連線到伺服器後,將會在 `~/.config/server_box` \n | `/tmp/server_box` 中寫入一個腳本來監測系統狀態。你可以審查腳本內容。';
@override
String get connectionStats => '連線統計';
@override
String get noConnectionStatsData => '暫無連線統計資料';
@override
String get totalAttempts => '總次數';
@override
String get lastSuccess => '最後成功';
@override
String get lastFailure => '最後失敗';
@override
String get recentConnections => '最近連線記錄';
@override
String get viewDetails => '檢視詳情';
@override
String get connectionDetails => '連線詳情';
@override
String get clearThisServerStats => '清空此伺服器統計';
@override
String get clearAllStatsTitle => '清空所有統計';
@override
String get clearAllStatsContent => '確定要清空所有伺服器的連線統計資料嗎?此操作無法撤銷。';
@override
String clearServerStatsTitle(String serverName) {
return '清空 $serverName 統計';
}
@override
String clearServerStatsContent(String serverName) {
return '確定要清空伺服器 \"$serverName\" 的連線統計資料嗎?此操作無法撤銷。';
}
}