From 903bea88149aaac91e9ddccbf6daed889a511982 Mon Sep 17 00:00:00 2001 From: primetime43 <12754111+primetime43@users.noreply.github.com> Date: Mon, 18 May 2026 20:15:36 -0400 Subject: [PATCH] Add deletion messages localization and usage Introduce ErrorDeletingTitle and SuccessfulDeletionMessage localization entries across English, French, German, Spanish, and Ukrainian files and expose corresponding properties in LocalizationManager. Update DashboardViewModel to use these localized strings (SuccessfulDeletionMessage via string.Format and ErrorDeletingTitle) instead of hardcoded messages when notifying the user and showing error dialogs. --- .../Localization/LocalizationManager.English.cs | 2 ++ .../Localization/LocalizationManager.French.cs | 2 ++ .../Localization/LocalizationManager.German.cs | 2 ++ .../Localization/LocalizationManager.Spanish.cs | 2 ++ .../Localization/LocalizationManager.Ukrainian.cs | 2 ++ .../Localization/LocalizationManager.cs | 2 ++ .../ViewModels/Components/DashboardViewModel.cs | 8 ++++++-- 7 files changed, 18 insertions(+), 2 deletions(-) diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs index d85ea435..c7272a2e 100644 --- a/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs +++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.English.cs @@ -152,5 +152,7 @@ public partial class LocalizationManager [nameof(ErrorPullingChannelsTitle)] = "Error pulling channels", [nameof(ErrorExportingTitle)] = "Error exporting channel(s)", [nameof(SuccessfulExportMessage)] = "Successfully exported {0} channel(s)", + [nameof(ErrorDeletingTitle)] = "Error deleting messages", + [nameof(SuccessfulDeletionMessage)] = "Deleted {0} message(s), {1} failed", }; } diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.French.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.French.cs index dbe2c65a..e09b5553 100644 --- a/DiscordChatExporter.Gui/Localization/LocalizationManager.French.cs +++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.French.cs @@ -154,5 +154,7 @@ public partial class LocalizationManager [nameof(ErrorPullingChannelsTitle)] = "Erreur lors du chargement des canaux", [nameof(ErrorExportingTitle)] = "Erreur lors de l'exportation des canaux", [nameof(SuccessfulExportMessage)] = "{0} canal(-aux) exporté(s) avec succès", + [nameof(ErrorDeletingTitle)] = "Erreur lors de la suppression des messages", + [nameof(SuccessfulDeletionMessage)] = "{0} message(s) supprimé(s), {1} échec(s)", }; } diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.German.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.German.cs index 6ca87c78..4ff313e7 100644 --- a/DiscordChatExporter.Gui/Localization/LocalizationManager.German.cs +++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.German.cs @@ -158,5 +158,7 @@ public partial class LocalizationManager [nameof(ErrorPullingChannelsTitle)] = "Fehler beim Laden der Kanäle", [nameof(ErrorExportingTitle)] = "Fehler beim Exportieren der Kanäle", [nameof(SuccessfulExportMessage)] = "{0} Kanal/-äle erfolgreich exportiert", + [nameof(ErrorDeletingTitle)] = "Fehler beim Löschen der Nachrichten", + [nameof(SuccessfulDeletionMessage)] = "{0} Nachricht(en) gelöscht, {1} fehlgeschlagen", }; } diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.Spanish.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.Spanish.cs index 622ef5c2..0c3cca31 100644 --- a/DiscordChatExporter.Gui/Localization/LocalizationManager.Spanish.cs +++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.Spanish.cs @@ -152,5 +152,7 @@ public partial class LocalizationManager [nameof(ErrorPullingChannelsTitle)] = "Error al cargar canales", [nameof(ErrorExportingTitle)] = "Error al exportar canal(es)", [nameof(SuccessfulExportMessage)] = "{0} canal(es) exportado(s) con éxito", + [nameof(ErrorDeletingTitle)] = "Error al eliminar mensajes", + [nameof(SuccessfulDeletionMessage)] = "{0} mensaje(s) eliminado(s), {1} fallido(s)", }; } diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.Ukrainian.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.Ukrainian.cs index 6b2b1cbb..378fdd76 100644 --- a/DiscordChatExporter.Gui/Localization/LocalizationManager.Ukrainian.cs +++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.Ukrainian.cs @@ -151,5 +151,7 @@ public partial class LocalizationManager [nameof(ErrorPullingChannelsTitle)] = "Помилка завантаження каналів", [nameof(ErrorExportingTitle)] = "Помилка експорту каналу(-ів)", [nameof(SuccessfulExportMessage)] = "Успішно експортовано {0} канал(-ів)", + [nameof(ErrorDeletingTitle)] = "Помилка видалення повідомлень", + [nameof(SuccessfulDeletionMessage)] = "Видалено {0} повідомлення(-ь), {1} не вдалося", }; } diff --git a/DiscordChatExporter.Gui/Localization/LocalizationManager.cs b/DiscordChatExporter.Gui/Localization/LocalizationManager.cs index 8a386eae..d6625eb8 100644 --- a/DiscordChatExporter.Gui/Localization/LocalizationManager.cs +++ b/DiscordChatExporter.Gui/Localization/LocalizationManager.cs @@ -162,4 +162,6 @@ public partial class LocalizationManager public string ErrorPullingChannelsTitle => Get(); public string ErrorExportingTitle => Get(); public string SuccessfulExportMessage => Get(); + public string ErrorDeletingTitle => Get(); + public string SuccessfulDeletionMessage => Get(); } diff --git a/DiscordChatExporter.Gui/ViewModels/Components/DashboardViewModel.cs b/DiscordChatExporter.Gui/ViewModels/Components/DashboardViewModel.cs index 121edd22..5a62a500 100644 --- a/DiscordChatExporter.Gui/ViewModels/Components/DashboardViewModel.cs +++ b/DiscordChatExporter.Gui/ViewModels/Components/DashboardViewModel.cs @@ -430,13 +430,17 @@ public partial class DashboardViewModel : ViewModelBase ); _snackbarManager.Notify( - $"Deleted {totalDeletedCount} message(s), {totalFailedCount} failed" + string.Format( + LocalizationManager.SuccessfulDeletionMessage, + totalDeletedCount, + totalFailedCount + ) ); } catch (Exception ex) { var dialog = _viewModelManager.GetMessageBoxViewModel( - "Error deleting messages", + LocalizationManager.ErrorDeletingTitle, ex.ToString() );