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:
@@ -3,6 +3,7 @@
|
||||
xmlns:vm="using:ClaudeDo.Ui.ViewModels.Islands"
|
||||
xmlns:islands="using:ClaudeDo.Ui.Views.Islands"
|
||||
xmlns:converters="using:Avalonia.Data.Converters"
|
||||
xmlns:loc="using:ClaudeDo.Ui.Localization"
|
||||
x:Class="ClaudeDo.Ui.Views.Islands.TasksIslandView"
|
||||
x:DataType="vm:TasksIslandViewModel">
|
||||
<DockPanel LastChildFill="True">
|
||||
@@ -27,15 +28,15 @@
|
||||
IsVisible="{Binding HasStatusPill}">
|
||||
<TextBlock Text="{Binding StatusPill}"/>
|
||||
</Border>
|
||||
<Button Classes="icon-btn" Command="{Binding SortCommand}" ToolTip.Tip="Sort">
|
||||
<Button Classes="icon-btn" Command="{Binding SortCommand}" ToolTip.Tip="{loc:Tr tasks.sortTip}">
|
||||
<PathIcon Width="15" Height="15" Data="{StaticResource Icon.Sort}"/>
|
||||
</Button>
|
||||
<Button Classes="icon-btn" Classes.active="{Binding IsShowingCompleted}"
|
||||
Command="{Binding ToggleShowCompletedCommand}"
|
||||
ToolTip.Tip="Show completed">
|
||||
ToolTip.Tip="{loc:Tr tasks.showCompletedTip}">
|
||||
<PathIcon Width="15" Height="15" Data="{StaticResource Icon.Eye}"/>
|
||||
</Button>
|
||||
<Button Classes="icon-btn" Command="{Binding OpenListSettingsCommand}" ToolTip.Tip="List settings">
|
||||
<Button Classes="icon-btn" Command="{Binding OpenListSettingsCommand}" ToolTip.Tip="{loc:Tr tasks.listSettingsTip}">
|
||||
<PathIcon Width="15" Height="15" Data="{StaticResource Icon.Settings}"/>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
@@ -50,7 +51,7 @@
|
||||
Foreground="{DynamicResource TextFaintBrush}"/>
|
||||
</Border>
|
||||
<TextBox Grid.Column="1" x:Name="AddTaskBox" Classes="add-task-input"
|
||||
PlaceholderText="Add a task…"
|
||||
PlaceholderText="{loc:Tr tasks.addPlaceholder}"
|
||||
Text="{Binding NewTaskTitle, Mode=TwoWay}"
|
||||
VerticalAlignment="Center"
|
||||
Margin="12,0,0,0">
|
||||
@@ -60,7 +61,7 @@
|
||||
</TextBox>
|
||||
<Border Grid.Column="2" Classes="kbd kbd-enter" VerticalAlignment="Center"
|
||||
IsVisible="{Binding #AddTaskBox.IsFocused}">
|
||||
<TextBlock Text="ENTER"/>
|
||||
<TextBlock Text="{loc:Tr tasks.enterKey}"/>
|
||||
</Border>
|
||||
</Grid>
|
||||
</Border>
|
||||
@@ -71,7 +72,7 @@
|
||||
Margin="16,0,16,8"
|
||||
IsVisible="{Binding ShowNotesRow}"
|
||||
Command="{Binding OpenNotesCommand}"
|
||||
Content="Notes (daily notes)"/>
|
||||
Content="{loc:Tr tasks.notesPinnedRow}"/>
|
||||
|
||||
<!-- Task list -->
|
||||
<ScrollViewer>
|
||||
@@ -80,7 +81,7 @@
|
||||
<!-- OVERDUE -->
|
||||
<StackPanel IsVisible="{Binding HasOverdue}">
|
||||
<TextBlock Classes="eyebrow section-label overdue"
|
||||
Text="OVERDUE" Margin="14,14,14,6"/>
|
||||
Text="{loc:Tr tasks.overdue}" Margin="14,14,14,6"/>
|
||||
<ItemsControl ItemsSource="{Binding OverdueItems}">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="vm:TaskRowViewModel">
|
||||
@@ -104,7 +105,7 @@
|
||||
<!-- TASKS -->
|
||||
<StackPanel IsVisible="{Binding HasOpen}">
|
||||
<TextBlock Classes="eyebrow section-label"
|
||||
Text="TASKS" Margin="14,14,14,6"
|
||||
Text="{loc:Tr tasks.tasks}" Margin="14,14,14,6"
|
||||
IsVisible="{Binding ShowOpenLabel}"/>
|
||||
<ItemsControl ItemsSource="{Binding OpenItems}">
|
||||
<ItemsControl.ItemTemplate>
|
||||
@@ -139,7 +140,7 @@
|
||||
Text="{Binding CompletedHeader}" VerticalAlignment="Center"/>
|
||||
<Button Grid.Column="1" Classes="icon-btn"
|
||||
Command="{Binding ClearCompletedCommand}"
|
||||
ToolTip.Tip="Clear all completed"
|
||||
ToolTip.Tip="{loc:Tr tasks.clearCompletedTip}"
|
||||
VerticalAlignment="Center">
|
||||
<PathIcon Data="{StaticResource Icon.Trash}" Width="13" Height="13"
|
||||
Foreground="{DynamicResource BloodBrush}"/>
|
||||
|
||||
Reference in New Issue
Block a user