- Strings.cs : ~80 new keys covering status messages, progress detail (DL/extraction/verify), license summary, license details dialog, onboarding statuses, settings field labels, restart/cancel/quit confirmations, toasts, resume choice, copyright. Strings.FormatSize and Strings.FormatDate / FormatLongDate switch units (o/Ko vs B/KB) and pattern (dd/MM/yyyy vs M/d/yyyy vs 2026年) by active language. - License terminology renamed across UI: "License" → "License de mise à jour" / "Software Update License" to clarify it gates UPDATES, not Proserve itself. Expired/revoked dialogs now spell out "you can still download versions released before this date and launch any installed version". - "🔒 License insuffisante" → "🔒 License de mise à jour requise pour cette version" / "Valid update license needed for this version" so users understand it's a per-version eligibility check, not a global block. - All hardcoded FR strings in views (SettingsDialog labels, LicenseDetails fields, Onboarding statuses, dialog titles, copyright, window chrome tooltips, "Sortie le", etc.) replaced with x:Static loc bindings. - All FormatSize duplicates (5 places) and date format strings (8 places) delegate to Strings helpers — single source of truth for localization. - Settings dialog: License section moved to the top before Language. It's the most important info and conditions what the user can download. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
45 lines
1.8 KiB
XML
45 lines
1.8 KiB
XML
<Window x:Class="PSLauncher.App.Views.ReleaseNotesViewerDialog"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:loc="clr-namespace:PSLauncher.Core.Localization;assembly=PSLauncher.Core"
|
|
Title="{x:Static loc:Strings.MsgBoxReleaseNotes}"
|
|
Icon="pack://application:,,,/Resources/favicon.ico"
|
|
Width="640" Height="540"
|
|
MinWidth="480" MinHeight="400"
|
|
WindowStartupLocation="CenterOwner"
|
|
Background="{StaticResource Brush.Bg.Window}">
|
|
<Grid Margin="24">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<TextBlock Grid.Row="0"
|
|
Text="{Binding Title}"
|
|
FontSize="22" FontWeight="SemiBold"
|
|
Margin="0,0,0,18"
|
|
Foreground="{StaticResource Brush.Text.Primary}" />
|
|
|
|
<Border Grid.Row="1"
|
|
Background="{StaticResource Brush.Bg.Card}"
|
|
BorderBrush="{StaticResource Brush.Border}" BorderThickness="1"
|
|
CornerRadius="6"
|
|
Padding="16">
|
|
<FlowDocumentScrollViewer
|
|
Document="{Binding ReleaseNotesDocument}"
|
|
Foreground="{StaticResource Brush.Text.Primary}"
|
|
Background="Transparent" />
|
|
</Border>
|
|
|
|
<Button Grid.Row="2"
|
|
Style="{StaticResource SecondaryButton}"
|
|
Content="{x:Static loc:Strings.ActionClose}"
|
|
IsCancel="True"
|
|
IsDefault="True"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,18,0,0"
|
|
Click="OnClose" />
|
|
</Grid>
|
|
</Window>
|