Skip to content

Commit c08025b

Browse files
committed
i18n optimize
@i18n tag
1 parent d7fc933 commit c08025b

File tree

8 files changed

+129
-14
lines changed

8 files changed

+129
-14
lines changed

CompactGUI/LanguageHelper.vb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Imports System.Reflection
77

88
Public Class LanguageHelper
99
' 支持的语言列表
10+
' @i18n
1011
Private Shared ReadOnly SupportedCultures As String() = {"en-US", "zh-CN"}
1112
Private Shared resourceManager As ResourceManager = i18n.i18n.ResourceManager
1213
Private Shared currentCulture As CultureInfo = Nothing
@@ -60,9 +61,6 @@ Public Class LanguageHelper
6061
Thread.CurrentThread.CurrentCulture = culture
6162
currentCulture = culture
6263

63-
' 额外:如果是WPF/WinForms,刷新界面(可选)
64-
' WinForms示例:Application.CurrentCulture = culture
65-
' WPF示例:FrameworkElement.LanguageProperty.OverrideMetadata(GetType(FrameworkElement), New FrameworkPropertyMetadata(XmlLanguage.GetLanguage(culture.IetfLanguageTag)))
6664
Catch ex As Exception
6765
Debug.WriteLine($"应用语言失败:{cultureName},错误:{ex.Message}")
6866
SetDefaultLanguage()
@@ -82,6 +80,7 @@ Public Class LanguageHelper
8280

8381
Private Shared Sub SetDefaultLanguage()
8482
' 根据系统语言设置默认语言
83+
'@i18n
8584
Dim langMapping As New Dictionary(Of String, String) From {
8685
{"en", "en-US"},
8786
{"zh", "zh-CN"}

CompactGUI/MainWindow.xaml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<ui:FluentWindow x:Class="MainWindow"
1+
<ui:FluentWindow x:Class="MainWindow"
22
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
33
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
44
xmlns:bh="http://schemas.microsoft.com/xaml/behaviors"
@@ -41,7 +41,8 @@
4141
<ui:NavigationView.MenuItems>
4242

4343

44-
<ui:NavigationViewItem Content="Home"
44+
<ui:NavigationViewItem Content="{local:Localize NameMainWindowHome}"
45+
d:Content="Home"
4546
Margin="15,2,15,10"
4647
NavigationCacheMode="Required"
4748
Tag="{Binding}"
@@ -52,7 +53,8 @@
5253
</ui:NavigationViewItem>
5354

5455

55-
<ui:NavigationViewItem Content="Watcher"
56+
<ui:NavigationViewItem Content="{local:Localize NameMainWindowWatcher}"
57+
d:Content="Watcher"
5658
Margin="15,2,15,10"
5759
NavigationCacheMode="Required"
5860
Tag="{Binding}"
@@ -62,7 +64,8 @@
6264
</ui:NavigationViewItem.Icon>
6365
</ui:NavigationViewItem>
6466

65-
<ui:NavigationViewItem Content="Compression DB"
67+
<ui:NavigationViewItem Content="{local:Localize NameMainWindowCompressionDB}"
68+
d:Content="Compression DB"
6669
Margin="15,2,15,10"
6770
NavigationCacheMode="Disabled"
6871
Tag="{Binding}"
@@ -231,14 +234,14 @@
231234
</Style>
232235
</Label.Style>
233236
<StackPanel VerticalAlignment="Center" Orientation="Horizontal">
234-
<TextBlock Text="CompactGUI"
237+
<TextBlock Text="{local:Localize TitleCompactGUI}" d:Text="CompactGUI"
235238
Margin="0,0,20,0" VerticalAlignment="Center"
236239
Foreground="#20FFFFFF"
237240
Visibility="{Binding IsAdmin, Converter={StaticResource BooleanToInverseVisibilityConverter}}" />
238241
<Border Width="80" Height="22"
239242
Background="#20f44336" CornerRadius="10"
240243
Visibility="{Binding IsAdmin, Converter={StaticResource BooleanToVisibilityConverter}}">
241-
<TextBlock Text="Admin"
244+
<TextBlock Text="{local:Localize UniAdmin}" d:Text="Admin"
242245
HorizontalAlignment="Center" VerticalAlignment="Center"
243246
Foreground="White" />
244247

CompactGUI/Views/Pages/DatabasePage.xaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,15 @@
2222
Foreground="{StaticResource CardForeground}"
2323
Visibility="Visible" />
2424

25-
<TextBlock Grid.Row="2" Text="{Binding LastUpdatedDatabase, StringFormat=Last Fetched: {0:dd MMM yyy HH:mm:ss}}" HorizontalAlignment="Right" VerticalAlignment="Top" Foreground="#10FFFFFF" Margin="0 0 0 0 " FontSize="12"/>
26-
25+
<TextBlock Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Top"
26+
Foreground="#10FFFFFF" Margin="0 0 0 0" FontSize="12">
27+
<TextBlock.Text>
28+
<MultiBinding StringFormat="{local:Localize DatabaseLastFetched}">
29+
<Binding Path="LastUpdatedDatabase" />
30+
</MultiBinding>
31+
</TextBlock.Text>
32+
</TextBlock>
33+
2734
<TextBlock Grid.Row="1"
2835
HorizontalAlignment="Left" VerticalAlignment="Center"
2936
FontSize="20"

CompactGUI/Views/Pages/HomePage.xaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,18 +62,18 @@
6262
Margin="0,-90,0,0" HorizontalAlignment="Center" VerticalAlignment="Center"
6363
Visibility="{Binding HomeViewIsFresh, Converter={StaticResource BooleanToVisibilityConverter}, Mode=OneWay}">
6464
<Label HorizontalAlignment="Center">
65-
<TextBlock Text="CompactGUI" FontSize="32" />
65+
<TextBlock Text="{local:Localize TitleCompactGUI}" d:Text="CompactGUI" FontSize="32" />
6666
</Label>
6767
<Border Background="#20f44336" CornerRadius="10" Width="70" Height="20" Visibility="{Binding IsAdmin, Converter={StaticResource BooleanToVisibilityConverter}}">
68-
<TextBlock Text="Admin" Foreground="White" HorizontalAlignment="Center" FontSize="12" VerticalAlignment="Center"/>
68+
<TextBlock Text="{local:Localize UniAdmin}" d:Text="Admin" Foreground="White" HorizontalAlignment="Center" FontSize="12" VerticalAlignment="Center"/>
6969

7070
</Border>
7171
<Button x:Name="BtnAddFolder1"
7272
Width="300" Height="40"
7373
Margin="0,20,0,0" HorizontalContentAlignment="Stretch">
7474
<Grid>
7575
<ui:SymbolIcon HorizontalAlignment="Left" Symbol="Search12" />
76-
<TextBlock Text="select a folder" HorizontalAlignment="Center" />
76+
<TextBlock Text="{local:Localize HomePageSelectFolder}" d:Text="select a folder" HorizontalAlignment="Center" />
7777
</Grid>
7878
</Button>
7979

CompactGUI/Views/SettingsPage.xaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,7 @@
439439

440440
<StackPanel Margin="15,-10,15,10" FlowDirection="LeftToRight">
441441
<!-- Language Selector -->
442+
<!--@i18n-->
442443
<Grid Margin="0,10,0,10">
443444
<Grid.ColumnDefinitions>
444445
<ColumnDefinition Width="*" />

CompactGUI/i18n/i18n.Designer.vb

Lines changed: 63 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CompactGUI/i18n/i18n.resx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,4 +414,25 @@ skips files based on compression estimate</value>
414414
<data name="SettingsBackgroundWatcherSettingsCompressFoldersNextScheduledFormat" xml:space="preserve">
415415
<value>Next scheduled: {0:dd MMM yyyy \a\t HH:mm:ss}</value>
416416
</data>
417+
<data name="TitleCompactGUI" xml:space="preserve">
418+
<value>CompactGUI</value>
419+
</data>
420+
<data name="HomePageSelectFolder" xml:space="preserve">
421+
<value>select a folder</value>
422+
</data>
423+
<data name="UniAdmin" xml:space="preserve">
424+
<value>Admin</value>
425+
</data>
426+
<data name="NameMainWindowCompressionDB" xml:space="preserve">
427+
<value>Compression DB</value>
428+
</data>
429+
<data name="NameMainWindowWatcher" xml:space="preserve">
430+
<value>Watcher</value>
431+
</data>
432+
<data name="NameMainWindowHome" xml:space="preserve">
433+
<value>Home</value>
434+
</data>
435+
<data name="DatabaseLastFetched" xml:space="preserve">
436+
<value>Last Fetched: {0:dd MMM yyyy HH:mm:ss}</value>
437+
</data>
417438
</root>

CompactGUI/i18n/i18n.zh-CN.resx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,4 +396,25 @@
396396
<data name="SettingsBackgroundWatcherSettingsTimeAt" xml:space="preserve">
397397
<value> </value>
398398
</data>
399+
<data name="UniAdmin" xml:space="preserve">
400+
<value>管理员权限</value>
401+
</data>
402+
<data name="HomePageSelectFolder" xml:space="preserve">
403+
<value>选择文件夹</value>
404+
</data>
405+
<data name="TitleCompactGUI" xml:space="preserve">
406+
<value>CompactGUI</value>
407+
</data>
408+
<data name="NameMainWindowCompressionDB" xml:space="preserve">
409+
<value>压缩数据库</value>
410+
</data>
411+
<data name="NameMainWindowWatcher" xml:space="preserve">
412+
<value>监控</value>
413+
</data>
414+
<data name="NameMainWindowHome" xml:space="preserve">
415+
<value>主页</value>
416+
</data>
417+
<data name="DatabaseLastFetched" xml:space="preserve">
418+
<value>最后获取: {0:yyyy年 M月 d日 HH:mm:ss}</value>
419+
</data>
399420
</root>

0 commit comments

Comments
 (0)