feat(i18n): localize installer with language picker and config write-through
- Init Localizer at app startup (before self-update prompt) and assign to TrExtension.Localizer - Register ILocalizer in DI; inject into WizardViewModel and SettingsViewModel - WizardViewModel: SelectedLanguage ComboBox binding with OnSelectedLanguageChanged -> SetLanguage + InstallContext.Language - WizardWindow.xaml: DockPanel wraps step chips + language ComboBox (right-aligned) - Localize all installer XAML: WizardWindow, WelcomePage, PathsPage, ServicePage, UiSettingsPage, InstallPage, SettingsWindow, SelfUpdatePromptWindow - Localize page Title properties and WizardViewModel.NextButtonText via TrExtension.Localizer - Persist chosen Language in WriteConfigStep and SettingsViewModel.Save into ui.config.json - Append installer section to en.json (nav, welcome, paths, service, uiSettings, install, settings, selfUpdate) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:ClaudeDo.Installer.Pages.InstallPage"
|
||||
xmlns:loc="clr-namespace:ClaudeDo.Installer.Localization"
|
||||
d:DataContext="{d:DesignInstance local:InstallPageViewModel}"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
@@ -17,8 +18,8 @@
|
||||
|
||||
<!-- Header -->
|
||||
<StackPanel Grid.Row="0" Margin="0,0,0,16">
|
||||
<TextBlock Text="Installation" FontSize="18" FontWeight="SemiBold" Margin="0,0,0,4"/>
|
||||
<TextBlock Text="Click Install to build and deploy ClaudeDo."
|
||||
<TextBlock Text="{loc:Tr installer.install.title}" FontSize="18" FontWeight="SemiBold" Margin="0,0,0,4"/>
|
||||
<TextBlock Text="{loc:Tr installer.install.subtitle}"
|
||||
Foreground="{StaticResource TextSecondaryBrush}" TextWrapping="Wrap"/>
|
||||
</StackPanel>
|
||||
|
||||
@@ -89,11 +90,11 @@
|
||||
|
||||
<!-- Action buttons -->
|
||||
<StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,12,0,0">
|
||||
<Button Content="Cancel" Command="{Binding CancelInstallCommand}"
|
||||
<Button Content="{loc:Tr installer.nav.cancel}" Command="{Binding CancelInstallCommand}"
|
||||
Visibility="{Binding IsInstalling, Converter={StaticResource BoolToVisConverter}}"
|
||||
Margin="0,0,8,0"/>
|
||||
|
||||
<Button Content="Launch ClaudeDo" Command="{Binding LaunchAppCommand}"
|
||||
<Button Content="{loc:Tr installer.install.launch}" Command="{Binding LaunchAppCommand}"
|
||||
Style="{StaticResource AccentButton}"
|
||||
Visibility="{Binding IsComplete, Converter={StaticResource BoolToVisConverter}}"/>
|
||||
</StackPanel>
|
||||
|
||||
Reference in New Issue
Block a user