feat(i18n): localize Avalonia view strings via loc:Tr markup

Extract ~165 hardcoded UI strings across islands, modals, planning and
shell views into en.json; replace with {loc:Tr} bindings.
This commit is contained in:
mika kuns
2026-06-03 12:05:08 +02:00
parent 070f5de1b1
commit 086c6f6c45
23 changed files with 573 additions and 259 deletions

View File

@@ -2,9 +2,10 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:ClaudeDo.Ui.ViewModels.Modals"
xmlns:ctl="using:ClaudeDo.Ui.Views.Controls"
xmlns:loc="using:ClaudeDo.Ui.Localization"
x:Class="ClaudeDo.Ui.Views.Modals.UnfinishedPlanningModalView"
x:DataType="vm:UnfinishedPlanningModalViewModel"
Title="Unfinished planning session"
Title="{loc:Tr modals.unfinishedPlanning.windowTitle}"
Width="440" Height="200"
CanResize="False"
WindowDecorations="None"
@@ -16,13 +17,13 @@
<KeyBinding Gesture="Escape" Command="{Binding CancelCommand}"/>
</Window.KeyBindings>
<ctl:ModalShell Title="UNFINISHED PLANNING SESSION" CloseCommand="{Binding CancelCommand}">
<ctl:ModalShell Title="{loc:Tr modals.unfinishedPlanning.title}" CloseCommand="{Binding CancelCommand}">
<ctl:ModalShell.Footer>
<StackPanel Orientation="Horizontal" Spacing="8"
HorizontalAlignment="Right" VerticalAlignment="Center">
<Button Classes="btn" Content="Discard" Command="{Binding DiscardCommand}" MinWidth="80"/>
<Button Classes="btn" Content="Finalize" Command="{Binding FinalizeNowCommand}" MinWidth="80"/>
<Button Content="Resume" Command="{Binding ResumeCommand}" Classes="primary" MinWidth="80"/>
<Button Classes="btn" Content="{loc:Tr modals.unfinishedPlanning.discard}" Command="{Binding DiscardCommand}" MinWidth="80"/>
<Button Classes="btn" Content="{loc:Tr modals.unfinishedPlanning.finalize}" Command="{Binding FinalizeNowCommand}" MinWidth="80"/>
<Button Content="{loc:Tr modals.unfinishedPlanning.resume}" Command="{Binding ResumeCommand}" Classes="primary" MinWidth="80"/>
</StackPanel>
</ctl:ModalShell.Footer>
@@ -32,7 +33,7 @@
TextTrimming="CharacterEllipsis"/>
<TextBlock Classes="body">
<Run Text="{Binding DraftCount}"/>
<Run Text=" draft task(s) waiting to be finalized."/>
<Run Text="{loc:Tr modals.unfinishedPlanning.draftTasksSuffix}"/>
</TextBlock>
</StackPanel>