diff --git a/src/PSLauncher.App/ViewModels/InstalledVersionViewModel.cs b/src/PSLauncher.App/ViewModels/InstalledVersionViewModel.cs index 77b2d9d..8356b61 100644 --- a/src/PSLauncher.App/ViewModels/InstalledVersionViewModel.cs +++ b/src/PSLauncher.App/ViewModels/InstalledVersionViewModel.cs @@ -1,3 +1,4 @@ +using PSLauncher.Core.Localization; using PSLauncher.Models; namespace PSLauncher.App.ViewModels; @@ -11,17 +12,7 @@ public sealed class InstalledVersionViewModel public string Display => $"v{Model.Version}"; public string Subtitle => - $"{FormatSize(Model.SizeBytes)} • Installée le {Model.InstalledAt.ToLocalTime():dd/MM/yyyy}"; - - private static string FormatSize(long bytes) - { - if (bytes <= 0) return "—"; - string[] units = { "o", "Ko", "Mo", "Go", "To" }; - double v = bytes; - int u = 0; - while (v >= 1024 && u < units.Length - 1) { v /= 1024; u++; } - return $"{v:0.#} {units[u]}"; - } + $"{Strings.FormatSize(Model.SizeBytes)} • {Strings.FormatDate(Model.InstalledAt)}"; public override string ToString() => Display; } diff --git a/src/PSLauncher.App/ViewModels/SettingsViewModel.cs b/src/PSLauncher.App/ViewModels/SettingsViewModel.cs index d64d104..080d82d 100644 --- a/src/PSLauncher.App/ViewModels/SettingsViewModel.cs +++ b/src/PSLauncher.App/ViewModels/SettingsViewModel.cs @@ -52,11 +52,12 @@ public sealed partial class SettingsViewModel : ObservableObject get { var l = _licenseService.GetCached(); - if (l is null) return "Aucune license activée — clique pour saisir une clé"; + if (l is null) return Strings.LicenseSummaryNone; if (l.Status == "valid") - return $"{l.OwnerName} • valable jusqu'au {l.DownloadEntitlementUntil:dd/MM/yyyy}"; + return Strings.LicenseSummaryValid(l.OwnerName ?? "—", + Strings.FormatDate(l.DownloadEntitlementUntil)); if (l.Status == "expired") - return $"{l.OwnerName} • expirée le {l.DownloadEntitlementUntil:dd/MM/yyyy}"; + return Strings.LicenseSummaryExpired(Strings.FormatDate(l.DownloadEntitlementUntil)); return $"{l.OwnerName} • {l.Status}"; } } @@ -159,7 +160,7 @@ public sealed partial class SettingsViewModel : ObservableObject { var dlg = new Microsoft.Win32.OpenFolderDialog { - Title = "Choisir le dossier d'installation", + Title = Strings.SettingsInstallRoot, InitialDirectory = Directory.Exists(InstallRoot) ? InstallRoot : Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), }; if (dlg.ShowDialog() == true) @@ -287,12 +288,5 @@ public sealed partial class SettingsViewModel : ObservableObject catch { CacheSizeDisplay = "—"; } } - private static string FormatSize(long bytes) - { - if (bytes <= 0) return "0 o"; - string[] units = { "o", "Ko", "Mo", "Go", "To" }; - double v = bytes; int u = 0; - while (v >= 1024 && u < units.Length - 1) { v /= 1024; u++; } - return $"{v:0.#} {units[u]}"; - } + private static string FormatSize(long bytes) => Strings.FormatSize(bytes); } diff --git a/src/PSLauncher.App/Views/LauncherUpdateDialog.xaml b/src/PSLauncher.App/Views/LauncherUpdateDialog.xaml index 81b7674..0386b38 100644 --- a/src/PSLauncher.App/Views/LauncherUpdateDialog.xaml +++ b/src/PSLauncher.App/Views/LauncherUpdateDialog.xaml @@ -1,7 +1,8 @@ @@ -33,7 +34,7 @@ - @@ -41,11 +42,11 @@