Răsfoiți Sursa

Initialize TranslationViewModel for R3

Ruben 3 luni în urmă
părinte
comite
7c834edb05
60 a modificat fișierele cu 1684 adăugiri și 2705 ștergeri
  1. 1 1
      src/PicView.Avalonia.MacOS/Views/AboutWindow.axaml
  2. 1 1
      src/PicView.Avalonia.MacOS/Views/BatchResizeWindow.axaml
  3. 1 1
      src/PicView.Avalonia.MacOS/Views/EffectsWindow.axaml
  4. 20 19
      src/PicView.Avalonia.MacOS/Views/ExifWindow.axaml
  5. 2 1
      src/PicView.Avalonia.MacOS/Views/KeybindingsWindow.axaml
  6. 97 91
      src/PicView.Avalonia.MacOS/Views/MacMainWindow.axaml
  7. 5 4
      src/PicView.Avalonia.MacOS/Views/MacOSTitlebar.axaml
  8. 2 2
      src/PicView.Avalonia.MacOS/Views/OpenWithView.axaml
  9. 1 1
      src/PicView.Avalonia.MacOS/Views/SettingsWindow.axaml
  10. 1 1
      src/PicView.Avalonia.MacOS/Views/SingleImageResizeWindow.axaml
  11. 2 1
      src/PicView.Avalonia.Win32/Views/AboutWindow.axaml
  12. 1 1
      src/PicView.Avalonia.Win32/Views/BatchResizeResizeWindow.axaml
  13. 8 7
      src/PicView.Avalonia.Win32/Views/EffectsWindow.axaml
  14. 18 17
      src/PicView.Avalonia.Win32/Views/ExifWindow.axaml
  15. 3 2
      src/PicView.Avalonia.Win32/Views/KeybindingsWindow.axaml
  16. 2 2
      src/PicView.Avalonia.Win32/Views/SettingsWindow.axaml
  17. 1 1
      src/PicView.Avalonia.Win32/Views/SingleImageResizeWindow.axaml
  18. 8 8
      src/PicView.Avalonia.Win32/Views/WinTitleBar.axaml
  19. 2 2
      src/PicView.Avalonia/Gallery/GalleryFunctions.cs
  20. 2 2
      src/PicView.Avalonia/ImageTransformations/Rotation/RotationNavigation.cs
  21. 9 9
      src/PicView.Avalonia/SettingsManagement/LanguageUpdater.cs
  22. 8 8
      src/PicView.Avalonia/SettingsManagement/SettingsUpdater.cs
  23. 5 5
      src/PicView.Avalonia/UI/HideInterfaceLogic.cs
  24. 8 5
      src/PicView.Avalonia/Views/AboutView.axaml
  25. 12 12
      src/PicView.Avalonia/Views/AppearanceView.axaml
  26. 80 67
      src/PicView.Avalonia/Views/BatchResizeView.axaml
  27. 21 20
      src/PicView.Avalonia/Views/BottomBar.axaml
  28. 32 21
      src/PicView.Avalonia/Views/EffectsView.axaml
  29. 8 8
      src/PicView.Avalonia/Views/FileAssociationsView.axaml
  30. 21 19
      src/PicView.Avalonia/Views/GallerySettingsView.axaml
  31. 10 10
      src/PicView.Avalonia/Views/GalleryView.axaml
  32. 7 7
      src/PicView.Avalonia/Views/GeneralSettingsView.axaml
  33. 142 157
      src/PicView.Avalonia/Views/ImageInfoView.axaml
  34. 8 8
      src/PicView.Avalonia/Views/ImageSettingsView.axaml
  35. 237 119
      src/PicView.Avalonia/Views/KeybindingsView.axaml
  36. 1 1
      src/PicView.Avalonia/Views/LanguageView.axaml
  37. 108 122
      src/PicView.Avalonia/Views/MainView.axaml
  38. 11 11
      src/PicView.Avalonia/Views/MouseView.axaml
  39. 7 7
      src/PicView.Avalonia/Views/NavigationView.axaml
  40. 21 16
      src/PicView.Avalonia/Views/SettingsView.axaml
  41. 10 10
      src/PicView.Avalonia/Views/SingleImageResizeView.axaml
  42. 3 3
      src/PicView.Avalonia/Views/SlideshowSettingsView.axaml
  43. 6 3
      src/PicView.Avalonia/Views/StartUpMenu.axaml
  44. 2 1
      src/PicView.Avalonia/Views/UC/Buttons/AltClose.axaml
  45. 2 2
      src/PicView.Avalonia/Views/UC/Buttons/PinButton.axaml
  46. 1 1
      src/PicView.Avalonia/Views/UC/Buttons/SettingsMenuButton.axaml
  47. 5 5
      src/PicView.Avalonia/Views/UC/CropControl.axaml
  48. 21 29
      src/PicView.Avalonia/Views/UC/GalleryItem.axaml
  49. 32 32
      src/PicView.Avalonia/Views/UC/Menus/FileMenu.axaml
  50. 27 27
      src/PicView.Avalonia/Views/UC/Menus/ImageMenu.axaml
  51. 17 17
      src/PicView.Avalonia/Views/UC/Menus/SettingsMenu.axaml
  52. 14 14
      src/PicView.Avalonia/Views/UC/Menus/ToolsMenu.axaml
  53. 3 3
      src/PicView.Avalonia/Views/UC/PopUps/CloseDialog.axaml
  54. 1 1
      src/PicView.Avalonia/Views/UC/PopUps/DeleteDialog.axaml
  55. 2 2
      src/PicView.Avalonia/Views/UC/TitleTextBox.axaml
  56. 9 8
      src/PicView.Avalonia/Views/WindowSettingsView.axaml
  57. 6 5
      src/PicView.Avalonia/Views/ZoomSettingsView.axaml
  58. 3 3
      src/PicView.Core/Extensions/StringExtensions.cs
  59. 4 1
      src/PicView.Core/ViewModels/PicViewerModel.cs
  60. 582 1741
      src/PicView.Core/ViewModels/TranslationViewModel.cs

+ 1 - 1
src/PicView.Avalonia.MacOS/Views/AboutWindow.axaml

@@ -32,7 +32,7 @@
 
                 <TextBlock
                     Classes="txt"
-                    Text="{CompiledBinding Translation.About,
+                    Text="{CompiledBinding Translation.About.Value,
                                            Mode=OneWay}"
                     TextAlignment="Center" />
             </DockPanel>

+ 1 - 1
src/PicView.Avalonia.MacOS/Views/BatchResizeWindow.axaml

@@ -31,7 +31,7 @@
                 VerticalAlignment="Top">
                 <TextBlock
                     Classes="txt"
-                    Text="{CompiledBinding Translation.ResizeImage,
+                    Text="{CompiledBinding Translation.ResizeImage.Value,
                                            Mode=OneWay}"
                     TextAlignment="Center" />
             </DockPanel>

+ 1 - 1
src/PicView.Avalonia.MacOS/Views/EffectsWindow.axaml

@@ -32,7 +32,7 @@
 
                 <TextBlock
                     Classes="txt"
-                    Text="{CompiledBinding Translation.Effects,
+                    Text="{CompiledBinding Translation.Effects.Value,
                                            Mode=OneWay}"
                     TextAlignment="Center" />
             </DockPanel>

+ 20 - 19
src/PicView.Avalonia.MacOS/Views/ExifWindow.axaml

@@ -35,7 +35,7 @@
                 Classes="errorHover"
                 ClickMode="Release"
                 Command="{CompiledBinding RecycleFileCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
                 Data="{StaticResource RecycleGeometry}"
                 DockPanel.Dock="Right"
@@ -43,7 +43,7 @@
                 Height="28"
                 IconHeight="17"
                 IconWidth="17"
-                ToolTip.Tip="{CompiledBinding Translation.DeleteFile,
+                ToolTip.Tip="{CompiledBinding Translation.DeleteFile.Value,
                                               Mode=OneWay}"
                 Width="45"
                 x:Name="RecycleButton" />
@@ -53,7 +53,7 @@
                 BorderThickness="0,0,1,0"
                 Classes="noBorderHover"
                 Command="{Binding OptimizeImageCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
                 DockPanel.Dock="Right"
                 Foreground="{StaticResource SecondaryTextColor}"
@@ -61,7 +61,7 @@
                 Icon="{StaticResource PortalImage}"
                 IconHeight="17"
                 IconWidth="17"
-                ToolTip.Tip="{CompiledBinding Translation.OptimizeImage,
+                ToolTip.Tip="{CompiledBinding Translation.OptimizeImage.Value,
                                               Mode=OneWay}"
                 Width="45"
                 x:Name="OptimizeButton" />
@@ -71,7 +71,7 @@
                 BorderThickness="0,0,1,0"
                 Classes="noBorderHover"
                 Command="{CompiledBinding OpenWithCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
                 Data="{StaticResource OpenWithGeometry}"
                 DockPanel.Dock="Right"
@@ -79,7 +79,7 @@
                 Height="28"
                 IconHeight="17"
                 IconWidth="17"
-                ToolTip.Tip="{CompiledBinding Translation.OpenWith,
+                ToolTip.Tip="{CompiledBinding Translation.OpenWith.Value,
                                               Mode=OneWay}"
                 Width="45"
                 x:Name="OpenWithButton" />
@@ -89,7 +89,7 @@
                 BorderThickness="0,0,1,0"
                 Classes="noBorderHover"
                 Command="{CompiledBinding PrintCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
                 Data="{StaticResource PrintGeometry}"
                 DockPanel.Dock="Right"
@@ -97,7 +97,7 @@
                 Height="28"
                 IconHeight="17"
                 IconWidth="17"
-                ToolTip.Tip="{CompiledBinding Translation.Print,
+                ToolTip.Tip="{CompiledBinding Translation.Print.Value,
                                               Mode=OneWay}"
                 Width="45"
                 x:Name="PrintButton" />
@@ -107,14 +107,14 @@
                 BorderThickness="0,0,1,0"
                 Classes="noBorderHover"
                 Command="{CompiledBinding CopyImageCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
                 DockPanel.Dock="Right"
                 Foreground="{StaticResource SecondaryTextColor}"
                 Icon="{StaticResource CopyImages}"
                 IconHeight="17"
                 IconWidth="17"
-                ToolTip.Tip="{CompiledBinding Translation.CopyImage,
+                ToolTip.Tip="{CompiledBinding Translation.CopyImage.Value,
                                               Mode=OneWay}"
                 Width="45"
                 x:Name="CopyButton" />
@@ -124,7 +124,7 @@
                 BorderThickness="0,0,1,0"
                 Classes="noBorderHover"
                 Command="{CompiledBinding CopyFileCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
                 Data="{StaticResource CopyGeometry}"
                 DockPanel.Dock="Right"
@@ -132,7 +132,7 @@
                 Height="28"
                 IconHeight="17"
                 IconWidth="17"
-                ToolTip.Tip="{CompiledBinding Translation.CopyFile,
+                ToolTip.Tip="{CompiledBinding Translation.CopyFile.Value,
                                               Mode=OneWay}"
                 Width="45"
                 x:Name="CopyFileButton" />
@@ -142,7 +142,7 @@
                 BorderThickness="0,0,1,0"
                 Classes="noBorderHover"
                 Command="{CompiledBinding DuplicateFileCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
                 Data="{StaticResource DuplicateGeometry}"
                 DockPanel.Dock="Right"
@@ -150,7 +150,7 @@
                 Height="28"
                 IconHeight="17"
                 IconWidth="17"
-                ToolTip.Tip="{CompiledBinding Translation.DuplicateFile,
+                ToolTip.Tip="{CompiledBinding Translation.DuplicateFile.Value,
                                               Mode=OneWay}"
                 Width="45"
                 x:Name="DuplicateButton" />
@@ -160,7 +160,7 @@
                 BorderThickness="1,0,1,0"
                 Classes="noBorderHover"
                 Command="{CompiledBinding LocateOnDiskCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
                 Data="{StaticResource ShowInFolderGeometry}"
                 DockPanel.Dock="Right"
@@ -168,7 +168,7 @@
                 Height="28"
                 IconHeight="17"
                 IconWidth="17"
-                ToolTip.Tip="{CompiledBinding Translation.ShowInFolder,
+                ToolTip.Tip="{CompiledBinding Translation.ShowInFolder.Value,
                                               Mode=OneWay}"
                 Width="45"
                 x:Name="LocateOnDiskButton" />
@@ -180,14 +180,14 @@
                 BorderThickness="0,0,1,0"
                 Classes="noBorderHover"
                 Command="{CompiledBinding SetExifRating0Command}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
                 DockPanel.Dock="Right"
                 Foreground="{StaticResource SecondaryTextColor}"
                 Icon="{StaticResource StarOffImage}"
                 IconHeight="17"
                 IconWidth="17"
-                ToolTip.Tip="{CompiledBinding Translation.RemoveStarRating,
+                ToolTip.Tip="{CompiledBinding Translation.RemoveStarRating.Value,
                                               Mode=OneWay}"
                 Width="35"
                 x:Name="RemoveRatingButton" />
@@ -196,7 +196,8 @@
                 Classes="txt"
                 DockPanel.Dock="Left"
                 Foreground="{StaticResource SecondaryTextColor}"
-                Text="{CompiledBinding Translation.ImageInfo}"
+                Text="{CompiledBinding Translation.ImageInfo.Value,
+                                       Mode=OneWay}"
                 TextAlignment="Center" />
 
         </DockPanel>

+ 2 - 1
src/PicView.Avalonia.MacOS/Views/KeybindingsWindow.axaml

@@ -34,7 +34,8 @@
                 <TextBlock
                     Classes="txt"
                     Foreground="{DynamicResource MainTextColor}"
-                    Text="{CompiledBinding Translation.ApplicationShortcuts}"
+                    Text="{CompiledBinding Translation.ApplicationShortcuts.Value,
+                                           Mode=OneWay}"
                     TextAlignment="Center" />
             </Panel>
 

+ 97 - 91
src/PicView.Avalonia.MacOS/Views/MacMainWindow.axaml

@@ -22,204 +22,205 @@
     </Window.Resources>
     <NativeMenu.Menu>
         <NativeMenu>
-            <NativeMenuItem Header="{CompiledBinding Translation.File}">
+            <NativeMenuItem Header="{CompiledBinding Translation.File.Value}">
                 <NativeMenu>
-                    <NativeMenuItem Command="{CompiledBinding OpenFileCommand}" Header="{CompiledBinding Translation.Open, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding OpenFileCommand}" Header="{CompiledBinding Translation.Open.Value, Mode=OneWay}" />
                     <!--  <NativeMenuItem  -->
                     <!--  Command="{CompiledBinding OpenWithCommand}"  -->
                     <!--  CommandParameter="{CompiledBinding PicViewer.FileInfo.FullName,  -->
                     <!--  FallbackValue=''}"  -->
                     <!--  Header="{CompiledBinding Translation.OpenWith,  -->
                     <!--  Mode=OneWay}" />  -->
-                    <NativeMenuItem Command="{CompiledBinding SaveFileCommand}" Header="{CompiledBinding Translation.Save, Mode=OneWay}" />
-                    <NativeMenuItem Command="{CompiledBinding SaveFileAsCommand}" Header="{CompiledBinding Translation.SaveAs, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding SaveFileCommand}" Header="{CompiledBinding Translation.Save.Value, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding SaveFileAsCommand}" Header="{CompiledBinding Translation.SaveAs.Value, Mode=OneWay}" />
                     <NativeMenuItem
                         Command="{CompiledBinding PrintCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.Print,
+                        Header="{CompiledBinding Translation.Print.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                        IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItem
                         Command="{CompiledBinding LocateOnDiskCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.ShowInFolder,
+                        Header="{CompiledBinding Translation.ShowInFolder.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItemSeparator />
                     <NativeMenuItem
                         Command="{CompiledBinding DeleteFileCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.DeleteFile,
+                        Header="{CompiledBinding Translation.DeleteFile.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItemSeparator />
                     <NativeMenuItem
                         Command="{CompiledBinding ReloadCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.Reload,
+                        Header="{CompiledBinding Translation.Reload.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                        IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
-                    <NativeMenuItem Command="{CompiledBinding NewWindowCommand}" Header="{CompiledBinding Translation.NewWindow, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding NewWindowCommand}" Header="{CompiledBinding Translation.NewWindow.Value, Mode=OneWay}" />
                     <NativeMenuItemSeparator />
                     <NativeMenuItem
                         Command="{CompiledBinding RenameCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.RenameFile,
+                        Header="{CompiledBinding Translation.RenameFile.Value,
                                                  Mode=OneWay}"
                         IsEnabled="{CompiledBinding PicViewer.FileInfo,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItemSeparator />
-                    <NativeMenuItem Command="{CompiledBinding PasteCommand}" Header="{CompiledBinding Translation.Paste, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding PasteCommand}" Header="{CompiledBinding Translation.Paste.Value, Mode=OneWay}" />
                     <NativeMenuItemSeparator />
                     <NativeMenuItem
                         Command="{CompiledBinding CopyFileCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.CopyFile,
+                        Header="{CompiledBinding Translation.CopyFile.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItem
                         Command="{CompiledBinding CopyImageCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.CopyImage,
+                        Header="{CompiledBinding Translation.CopyImage.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                        IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItem
                         Command="{CompiledBinding CopyFilePathCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.FileCopyPath,
+                        Header="{CompiledBinding Translation.FileCopyPath.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItem
                         Command="{CompiledBinding DuplicateFileCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.DuplicateFile,
+                        Header="{CompiledBinding Translation.DuplicateFile.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                 </NativeMenu>
             </NativeMenuItem>
 
             <!--  Image  -->
-            <NativeMenuItem Header="{CompiledBinding Translation.Image, Mode=OneWay}">
+            <NativeMenuItem Header="{CompiledBinding Translation.Image.Value, Mode=OneWay}">
                 <NativeMenu>
                     <NativeMenuItem
                         Command="{CompiledBinding RotateLeftCommand}"
-                        Header="{CompiledBinding Translation.RotateLeft,
+                        Header="{CompiledBinding Translation.RotateLeft.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItem
                         Command="{CompiledBinding RotateRightCommand}"
-                        Header="{CompiledBinding Translation.RotateRight,
+                        Header="{CompiledBinding Translation.RotateRight.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo/Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItem
                         Command="{CompiledBinding FlipCommand}"
-                        Header="{CompiledBinding Translation.Flip,
+                        Header="{CompiledBinding Translation.Flip.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItemSeparator />
                     <NativeMenuItem
                         Command="{CompiledBinding CropCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.Crop,
+                        Header="{CompiledBinding Translation.Crop.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItemSeparator />
                     <NativeMenuItem
                         Command="{CompiledBinding SetAsWallpaperCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.SetAsWallpaper,
+                        Header="{CompiledBinding Translation.SetAsWallpaper.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItemSeparator />
-                    <NativeMenuItem Command="{CompiledBinding ShowExifWindowCommand}" Header="{CompiledBinding Translation.ImageInfo, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding ShowExifWindowCommand}" Header="{CompiledBinding Translation.ImageInfo.Value, Mode=OneWay}" />
                     <NativeMenuItem
                         Command="{CompiledBinding FilePropertiesCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.FileProperties,
+                        Header="{CompiledBinding Translation.FileProperties.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItemSeparator />
-                    <NativeMenuItem Command="{CompiledBinding ShowSingleImageResizeWindowCommand}" Header="{CompiledBinding Translation.ResizeImage}" />
-                    <NativeMenuItem Command="{CompiledBinding ShowBatchResizeWindowCommand}" Header="{CompiledBinding Translation.BatchResize}" />
+                    <NativeMenuItem Command="{CompiledBinding ShowSingleImageResizeWindowCommand}" Header="{CompiledBinding Translation.ResizeImage.Value, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding ShowBatchResizeWindowCommand}" Header="{CompiledBinding Translation.BatchResize.Value, Mode=OneWay}" />
                     <NativeMenuItemSeparator />
                     <NativeMenuItem
                         Command="{CompiledBinding OptimizeImageCommand}"
-                        CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                        CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                            FallbackValue=''}"
-                        Header="{CompiledBinding Translation.OptimizeImage,
+                        Header="{CompiledBinding Translation.OptimizeImage.Value,
                                                  Mode=OneWay}"
-                        IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                        IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                     Converter={x:Static ObjectConverters.IsNotNull}}" />
                     <NativeMenuItemSeparator />
-                    <NativeMenuItem Command="{CompiledBinding ShowEffectsWindowCommand}" Header="{CompiledBinding Translation.Effects, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding ShowEffectsWindowCommand}" Header="{CompiledBinding Translation.Effects.Value, Mode=OneWay}" />
                 </NativeMenu>
             </NativeMenuItem>
 
             <!--  Navigation  -->
-            <NativeMenuItem Header="{CompiledBinding Translation.Navigation}">
+            <NativeMenuItem Header="{CompiledBinding Translation.Navigation.Value, Mode=OneWay}">
                 <NativeMenu>
-                    <NativeMenuItem Command="{CompiledBinding SlideshowCommand}" Header="{CompiledBinding Translation.Slideshow}" />
+                    <NativeMenuItem Command="{CompiledBinding SlideshowCommand}" Header="{CompiledBinding Translation.Slideshow.Value, Mode=OneWay}" />
                     <NativeMenuItemSeparator />
-                    <NativeMenuItem Command="{CompiledBinding FirstCommand}" Header="{CompiledBinding Translation.FirstImage}" />
-                    <NativeMenuItem Command="{CompiledBinding LastCommand}" Header="{CompiledBinding Translation.LastImage}" />
+                    <NativeMenuItem Command="{CompiledBinding FirstCommand}" Header="{CompiledBinding Translation.FirstImage.Value, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding LastCommand}" Header="{CompiledBinding Translation.LastImage.Value, Mode=OneWay}" />
                     <NativeMenuItemSeparator />
-                    <NativeMenuItem Command="{CompiledBinding Skip10Command}" Header="{CompiledBinding Translation.AdvanceBy10Images}" />
-                    <NativeMenuItem Command="{CompiledBinding Skip100Command}" Header="{CompiledBinding Translation.AdvanceBy100Images}" />
-                    <NativeMenuItem Command="{CompiledBinding Prev10Command}" Header="{CompiledBinding Translation.GoBackBy10Images}" />
-                    <NativeMenuItem Command="{CompiledBinding Prev100Command}" Header="{CompiledBinding Translation.GoBackBy100Images}" />
+                    <NativeMenuItem Command="{CompiledBinding Skip10Command}" Header="{CompiledBinding Translation.AdvanceBy10Images.Value, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding Skip100Command}" Header="{CompiledBinding Translation.AdvanceBy100Images.Value, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding Prev10Command}" Header="{CompiledBinding Translation.GoBackBy10Images.Value, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding Prev100Command}" Header="{CompiledBinding Translation.GoBackBy100Images.Value, Mode=OneWay}" />
                     <NativeMenuItemSeparator />
-                    <NativeMenuItem Command="{CompiledBinding NextFolderCommand}" Header="{CompiledBinding Translation.NextFolder}" />
-                    <NativeMenuItem Command="{CompiledBinding PreviousFolderCommand}" Header="{CompiledBinding Translation.PrevFolder}" />
+                    <NativeMenuItem Command="{CompiledBinding NextFolderCommand}" Header="{CompiledBinding Translation.NextFolder.Value, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding PreviousFolderCommand}" Header="{CompiledBinding Translation.PrevFolder.Value, Mode=OneWay}" />
                 </NativeMenu>
             </NativeMenuItem>
 
             <!--  Interface configuration  -->
-            <NativeMenuItem Header="{CompiledBinding Translation.InterfaceConfiguration}">
+            <NativeMenuItem Header="{CompiledBinding Translation.InterfaceConfiguration.Value, Mode=OneWay}">
                 <NativeMenu>
-                    <NativeMenuItem Command="{CompiledBinding ToggleFullscreenCommand}" Header="{CompiledBinding Translation.ToggleFullscreen, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding ToggleFullscreenCommand}" Header="{CompiledBinding Translation.ToggleFullscreen.Value, Mode=OneWay}" />
                     <NativeMenuItem
                         Command="{CompiledBinding ChangeAutoFitCommand}"
-                        Header="{CompiledBinding Translation.AutoFitWindow}"
+                        Header="{CompiledBinding Translation.AutoFitWindow.Value,
+                                                 Mode=OneWay}"
                         IsChecked="{CompiledBinding IsAutoFit}"
                         ToggleType="CheckBox" />
-                    <NativeMenuItem Command="{CompiledBinding ToggleUICommand}" Header="{CompiledBinding Translation.IsShowingUI, Mode=OneWay}" />
-                    <NativeMenuItem Command="{CompiledBinding ToggleGalleryCommand}" Header="{CompiledBinding Translation.ShowImageGallery, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding ToggleUICommand}" Header="{CompiledBinding Translation.IsShowingUI.Value, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding ToggleGalleryCommand}" Header="{CompiledBinding Translation.ShowImageGallery.Value, Mode=OneWay}" />
 
                 </NativeMenu>
             </NativeMenuItem>
 
             <!--  Sort files  -->
-            <NativeMenuItem Header="{CompiledBinding Translation.SortFilesBy, Mode=OneWay}">
+            <NativeMenuItem Header="{CompiledBinding Translation.SortFilesBy.Value, Mode=OneWay}">
                 <NativeMenu>
                     <NativeMenuItem
                         Command="{CompiledBinding SortFilesByNameCommand}"
-                        Header="{CompiledBinding Translation.FileName,
+                        Header="{CompiledBinding Translation.FileName.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding SortOrder,
                                                     Converter={StaticResource EnumToBoolConverter},
@@ -227,7 +228,7 @@
                         ToggleType="Radio" />
                     <NativeMenuItem
                         Command="{CompiledBinding SortFilesBySizeCommand}"
-                        Header="{CompiledBinding Translation.FileSize,
+                        Header="{CompiledBinding Translation.FileSize.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding SortOrder,
                                                     Converter={StaticResource EnumToBoolConverter},
@@ -235,7 +236,7 @@
                         ToggleType="Radio" />
                     <NativeMenuItem
                         Command="{CompiledBinding SortFilesByExtensionCommand}"
-                        Header="{CompiledBinding Translation.FileExtension,
+                        Header="{CompiledBinding Translation.FileExtension.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding SortOrder,
                                                     Converter={StaticResource EnumToBoolConverter},
@@ -243,7 +244,7 @@
                         ToggleType="Radio" />
                     <NativeMenuItem
                         Command="{CompiledBinding SortFilesByCreationTimeCommand}"
-                        Header="{CompiledBinding Translation.Created,
+                        Header="{CompiledBinding Translation.Created.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding SortOrder,
                                                     Converter={StaticResource EnumToBoolConverter},
@@ -251,7 +252,7 @@
                         ToggleType="Radio" />
                     <NativeMenuItem
                         Command="{CompiledBinding SortFilesByLastAccessTimeCommand}"
-                        Header="{CompiledBinding Translation.LastAccessTime,
+                        Header="{CompiledBinding Translation.LastAccessTime.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding SortOrder,
                                                     Converter={StaticResource EnumToBoolConverter},
@@ -259,7 +260,7 @@
                         ToggleType="Radio" />
                     <NativeMenuItem
                         Command="{CompiledBinding SortFilesRandomlyCommand}"
-                        Header="{CompiledBinding Translation.Random,
+                        Header="{CompiledBinding Translation.Random.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding SortOrder,
                                                     Converter={StaticResource EnumToBoolConverter},
@@ -269,53 +270,58 @@
             </NativeMenuItem>
 
             <!--  Settings  -->
-            <NativeMenuItem Header="{CompiledBinding Translation.Settings}">
+            <NativeMenuItem Header="{CompiledBinding Translation.Settings.Value, Mode=OneWay}">
                 <NativeMenu>
-                    <NativeMenuItem Command="{CompiledBinding ChangeBackgroundCommand}" Header="{CompiledBinding Translation.ChangeBackground, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding ChangeBackgroundCommand}" Header="{CompiledBinding Translation.ChangeBackground.Value, Mode=OneWay}" />
                     <NativeMenuItemSeparator />
                     <NativeMenuItem
                         Command="{CompiledBinding ToggleLoopingCommand}"
-                        Header="{CompiledBinding Translation.IsLooping}"
+                        Header="{CompiledBinding Translation.IsLooping.Value,
+                                                 Mode=OneWay}"
                         IsChecked="{CompiledBinding IsLooping}"
                         ToggleType="CheckBox" />
                     <NativeMenuItem
                         Command="{CompiledBinding StretchCommand}"
-                        Header="{CompiledBinding Translation.Stretch}"
+                        Header="{CompiledBinding Translation.Stretch.Value,
+                                                 Mode=OneWay}"
                         IsChecked="{CompiledBinding IsStretched}"
                         ToggleType="CheckBox" />
                     <NativeMenuItem
                         Command="{CompiledBinding ToggleScrollCommand}"
-                        Header="{CompiledBinding Translation.ToggleScroll}"
+                        Header="{CompiledBinding Translation.ToggleScroll.Value,
+                                                 Mode=OneWay}"
                         IsChecked="{CompiledBinding IsScrollingEnabled}"
                         ToggleType="CheckBox" />
                     <NativeMenuItemSeparator />
                     <NativeMenuItem
                         Command="{CompiledBinding ChangeTopMostCommand}"
-                        Header="{CompiledBinding Translation.StayTopMost}"
+                        Header="{CompiledBinding Translation.StayTopMost.Value,
+                                                 Mode=OneWay}"
                         IsChecked="{CompiledBinding IsTopMost}"
                         ToggleType="CheckBox" />
                     <NativeMenuItemSeparator />
                     <NativeMenuItem
                         Command="{CompiledBinding ToggleSubdirectoriesCommand}"
-                        Header="{CompiledBinding Translation.SearchSubdirectory}"
+                        Header="{CompiledBinding Translation.SearchSubdirectory.Value,
+                                                 Mode=OneWay}"
                         IsChecked="{CompiledBinding IsIncludingSubdirectories}"
                         ToggleType="CheckBox" />
                     <NativeMenuItemSeparator />
-                    <NativeMenuItem Command="{CompiledBinding ShowKeybindingsWindowCommand}" Header="{CompiledBinding Translation.ApplicationShortcuts}" />
+                    <NativeMenuItem Command="{CompiledBinding ShowKeybindingsWindowCommand}" Header="{CompiledBinding Translation.ApplicationShortcuts.Value, Mode=OneWay}" />
                     <NativeMenuItemSeparator />
-                    <NativeMenuItem Command="{CompiledBinding ShowAboutWindowCommand}" Header="{CompiledBinding Translation.About}" />
+                    <NativeMenuItem Command="{CompiledBinding ShowAboutWindowCommand}" Header="{CompiledBinding Translation.About.Value, Mode=OneWay}" />
                     <NativeMenuItemSeparator />
-                    <NativeMenuItem Command="{CompiledBinding ShowSettingsWindowCommand}" Header="{CompiledBinding Translation.ShowAllSettingsWindow}" />
+                    <NativeMenuItem Command="{CompiledBinding ShowSettingsWindowCommand}" Header="{CompiledBinding Translation.ShowAllSettingsWindow.Value, Mode=OneWay}" />
                 </NativeMenu>
             </NativeMenuItem>
 
             <!--  Window  -->
-            <NativeMenuItem Header="{CompiledBinding Translation.Window}">
+            <NativeMenuItem Header="{CompiledBinding Translation.Window.Value, Mode=OneWay}">
                 <NativeMenu>
-                    <NativeMenuItem Command="{CompiledBinding NewWindowCommand}" Header="{CompiledBinding Translation.NewWindow, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding NewWindowCommand}" Header="{CompiledBinding Translation.NewWindow.Value, Mode=OneWay, Mode=OneWay}" />
                     <NativeMenuItemSeparator />
-                    <NativeMenuItem Command="{CompiledBinding MaximizeCommand}" Header="{CompiledBinding Translation.Maximize, Mode=OneWay}" />
-                    <NativeMenuItem Command="{CompiledBinding ToggleFullscreenCommand}" Header="{CompiledBinding Translation.Fullscreen, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding MaximizeCommand}" Header="{CompiledBinding Translation.Maximize.Value, Mode=OneWay}" />
+                    <NativeMenuItem Command="{CompiledBinding ToggleFullscreenCommand}" Header="{CompiledBinding Translation.Fullscreen.Value, Mode=OneWay}" />
                 </NativeMenu>
             </NativeMenuItem>
 

+ 5 - 4
src/PicView.Avalonia.MacOS/Views/MacOSTitlebar.axaml

@@ -37,7 +37,7 @@
             IsRepeatEnabled="False"
             IsTabStop="False"
             Margin="0"
-            ToolTip.Tip="{CompiledBinding Translation.IsFlipped,
+            ToolTip.Tip="{CompiledBinding Translation.IsFlipped.Value,
                                           Mode=OneWay}"
             Width="30"
             x:Name="FlipButton">
@@ -57,12 +57,13 @@
             Icon="{StaticResource RefreshCcwDot}"
             IconHeight="13"
             IconWidth="13"
-            IsEnabled="{CompiledBinding PicViewer.FileInfo,
+            IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                         Converter={x:Static ObjectConverters.IsNotNull}}"
             IsRepeatEnabled="False"
             IsTabStop="False"
             Margin="0"
-            ToolTip.Tip="{CompiledBinding Translation.RotateRight}"
+            ToolTip.Tip="{CompiledBinding Translation.RotateRight.Value,
+                                          Mode=OneWay}"
             Width="30"
             x:Name="RotateRightButton" />
 
@@ -77,7 +78,7 @@
             Foreground="{DynamicResource MainTextColor}"
             IconHeight="17"
             IconWidth="17"
-            IsEnabled="{CompiledBinding PicViewer.FileInfo,
+            IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                         Converter={x:Static ObjectConverters.IsNotNull}}"
             IsRepeatEnabled="False"
             IsTabStop="False"

+ 2 - 2
src/PicView.Avalonia.MacOS/Views/OpenWithView.axaml

@@ -32,7 +32,7 @@
             Height="{CompiledBinding TitlebarHeight,
                                      Mode=OneWay}"
             Padding="7"
-            Text="{CompiledBinding Translation.OpenWith,
+            Text="{CompiledBinding Translation.OpenWith.Value,
                                    Mode=OneWay}"
             TextAlignment="Center"
             VerticalAlignment="Top" />
@@ -48,7 +48,7 @@
             x:Name="CancelButton">
             <TextBlock
                 Classes="txt"
-                Text="{CompiledBinding Translation.Cancel,
+                Text="{CompiledBinding Translation.Cancel.Value,
                                        Mode=OneWay}"
                 TextAlignment="Center" />
         </Button>

+ 1 - 1
src/PicView.Avalonia.MacOS/Views/SettingsWindow.axaml

@@ -36,7 +36,7 @@
                     Classes="txt"
                     Height="28"
                     LineHeight="28"
-                    Text="{CompiledBinding Translation.Settings,
+                    Text="{CompiledBinding Translation.Settings.Value,
                                            Mode=OneWay}"
                     TextAlignment="Center"
                     x:Name="TitleText" />

+ 1 - 1
src/PicView.Avalonia.MacOS/Views/SingleImageResizeWindow.axaml

@@ -32,7 +32,7 @@
 
                 <TextBlock
                     Classes="txt"
-                    Text="{CompiledBinding Translation.ResizeImage,
+                    Text="{CompiledBinding Translation.ResizeImage.Value,
                                            Mode=OneWay}"
                     TextAlignment="Center" />
             </DockPanel>

+ 2 - 1
src/PicView.Avalonia.Win32/Views/AboutWindow.axaml

@@ -71,7 +71,8 @@
                     Height="28"
                     LineHeight="28"
                     Padding="30,0,0,0"
-                    Text="{CompiledBinding Translation.About}"
+                    Text="{CompiledBinding Translation.About.Value,
+                                           Mode=OneWay}"
                     TextAlignment="Center"
                     x:Name="TitleText" />
             </DockPanel>

+ 1 - 1
src/PicView.Avalonia.Win32/Views/BatchResizeResizeWindow.axaml

@@ -72,7 +72,7 @@
                     Height="{StaticResource TopBorderHeight}"
                     LineHeight="{StaticResource TopBorderHeight}"
                     Padding="30,0,0,0"
-                    Text="{CompiledBinding Translation.BatchResize,
+                    Text="{CompiledBinding Translation.BatchResize.Value,
                                            Mode=OneWay}"
                     TextAlignment="Center"
                     x:Name="TitleText" />

+ 8 - 7
src/PicView.Avalonia.Win32/Views/EffectsWindow.axaml

@@ -81,7 +81,7 @@
                     Width="30">
                     <customControls:IconButton.Flyout>
                         <MenuFlyout FlyoutPresenterClasses="noCornerRadius" Placement="Bottom">
-                            <MenuItem Command="{CompiledBinding SaveFileCommand}" Header="{CompiledBinding Translation.Save, Mode=OneWay}">
+                            <MenuItem Command="{CompiledBinding SaveFileCommand}" Header="{CompiledBinding Translation.Save.Value, Mode=OneWay}">
                                 <MenuItem.Icon>
                                     <Path
                                         Data="{StaticResource SaveGeometry}"
@@ -91,7 +91,7 @@
                                         Width="12" />
                                 </MenuItem.Icon>
                             </MenuItem>
-                            <MenuItem Command="{CompiledBinding SaveFileAsCommand}" Header="{CompiledBinding Translation.SaveAs}">
+                            <MenuItem Command="{CompiledBinding SaveFileAsCommand}" Header="{CompiledBinding Translation.SaveAs.Value, Mode=OneWay}">
                                 <MenuItem.Icon>
                                     <Path
                                         Data="{StaticResource SaveGeometry}"
@@ -101,7 +101,7 @@
                                         Width="12" />
                                 </MenuItem.Icon>
                             </MenuItem>
-                            <MenuItem Command="{CompiledBinding CopyImageCommand}" Header="{CompiledBinding Translation.CopyImage, Mode=OneWay}">
+                            <MenuItem Command="{CompiledBinding CopyImageCommand}" Header="{CompiledBinding Translation.CopyImage.Value, Mode=OneWay}">
                                 <MenuItem.Icon>
                                     <Path
                                         Data="{StaticResource CopyGeometry}"
@@ -114,9 +114,9 @@
                             <Separator />
                             <MenuItem
                                 Command="{CompiledBinding SetAsWallpaperFilledCommand}"
-                                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                                    FallbackValue=''}"
-                                Header="{CompiledBinding Translation.SetAsWallpaper,
+                                Header="{CompiledBinding Translation.SetAsWallpaper.Value,
                                                          Mode=OneWay}">
                                 <MenuItem.Icon>
                                     <Path
@@ -128,7 +128,7 @@
                                 </MenuItem.Icon>
                             </MenuItem>
                             <Separator />
-                            <MenuItem Header="{CompiledBinding Translation.ClearEffects}" x:Name="ClearEffectsItem">
+                            <MenuItem Header="{CompiledBinding Translation.ClearEffects.Value, Mode=OneWay}" x:Name="ClearEffectsItem">
                                 <MenuItem.Icon>
                                     <Image
                                         Height="12"
@@ -146,7 +146,8 @@
                     Height="28"
                     LineHeight="28"
                     Padding="30,0,0,0"
-                    Text="{CompiledBinding Translation.Effects}"
+                    Text="{CompiledBinding Translation.Effects.Value,
+                                           Mode=OneWay}"
                     TextAlignment="Center"
                     x:Name="TitleText" />
             </DockPanel>

+ 18 - 17
src/PicView.Avalonia.Win32/Views/ExifWindow.axaml

@@ -80,7 +80,7 @@
                     BorderThickness="0,0,1,0"
                     Classes="noBorderHover"
                     Command="{CompiledBinding SetExifRating0Command}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     DockPanel.Dock="Right"
                     Foreground="{DynamicResource MainTextColor}"
@@ -96,7 +96,7 @@
                     Classes="errorHover"
                     ClickMode="Release"
                     Command="{CompiledBinding RecycleFileCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Data="{StaticResource RecycleGeometry}"
                     DockPanel.Dock="Right"
@@ -104,7 +104,7 @@
                     Height="28"
                     IconHeight="17"
                     IconWidth="17"
-                    ToolTip.Tip="{CompiledBinding Translation.DeleteFile,
+                    ToolTip.Tip="{CompiledBinding Translation.DeleteFile.Value,
                                                   Mode=OneWay}"
                     Width="45"
                     x:Name="RecycleButton" />
@@ -114,7 +114,7 @@
                     BorderThickness="0,0,1,0"
                     Classes="noBorderHover"
                     Command="{Binding OptimizeImageCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     DockPanel.Dock="Right"
                     Foreground="{DynamicResource MainTextColor}"
@@ -122,7 +122,7 @@
                     Icon="{StaticResource PortalImage}"
                     IconHeight="17"
                     IconWidth="17"
-                    ToolTip.Tip="{CompiledBinding Translation.OptimizeImage,
+                    ToolTip.Tip="{CompiledBinding Translation.OptimizeImage.Value,
                                                   Mode=OneWay}"
                     Width="45"
                     x:Name="OptimizeButton" />
@@ -132,7 +132,7 @@
                     BorderThickness="0,0,1,0"
                     Classes="noBorderHover"
                     Command="{CompiledBinding OpenWithCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Data="{StaticResource OpenWithGeometry}"
                     DockPanel.Dock="Right"
@@ -140,7 +140,7 @@
                     Height="28"
                     IconHeight="17"
                     IconWidth="17"
-                    ToolTip.Tip="{CompiledBinding Translation.OpenWith,
+                    ToolTip.Tip="{CompiledBinding Translation.OpenWith.Value,
                                                   Mode=OneWay}"
                     Width="45"
                     x:Name="OpenWithButton" />
@@ -150,7 +150,7 @@
                     BorderThickness="0,0,1,0"
                     Classes="noBorderHover"
                     Command="{CompiledBinding PrintCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Data="{StaticResource PrintGeometry}"
                     DockPanel.Dock="Right"
@@ -158,7 +158,7 @@
                     Height="28"
                     IconHeight="17"
                     IconWidth="17"
-                    ToolTip.Tip="{CompiledBinding Translation.Print,
+                    ToolTip.Tip="{CompiledBinding Translation.Print.Value,
                                                   Mode=OneWay}"
                     Width="45"
                     x:Name="PrintButton" />
@@ -168,14 +168,14 @@
                     BorderThickness="0,0,1,0"
                     Classes="noBorderHover"
                     Command="{CompiledBinding CopyImageCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     DockPanel.Dock="Right"
                     Foreground="{DynamicResource MainTextColor}"
                     Icon="{StaticResource CopyImages}"
                     IconHeight="17"
                     IconWidth="17"
-                    ToolTip.Tip="{CompiledBinding Translation.CopyImage,
+                    ToolTip.Tip="{CompiledBinding Translation.CopyImage.Value,
                                                   Mode=OneWay}"
                     Width="45"
                     x:Name="CopyButton" />
@@ -185,7 +185,7 @@
                     BorderThickness="0,0,1,0"
                     Classes="noBorderHover"
                     Command="{CompiledBinding CopyFileCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Data="{StaticResource CopyGeometry}"
                     DockPanel.Dock="Right"
@@ -203,7 +203,7 @@
                     BorderThickness="0,0,1,0"
                     Classes="noBorderHover"
                     Command="{CompiledBinding DuplicateFileCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Data="{StaticResource DuplicateGeometry}"
                     DockPanel.Dock="Right"
@@ -211,7 +211,7 @@
                     Height="28"
                     IconHeight="17"
                     IconWidth="17"
-                    ToolTip.Tip="{CompiledBinding Translation.DuplicateFile,
+                    ToolTip.Tip="{CompiledBinding Translation.DuplicateFile.Value,
                                                   Mode=OneWay}"
                     Width="45"
                     x:Name="DuplicateButton" />
@@ -221,7 +221,7 @@
                     BorderThickness="1,0,1,0"
                     Classes="noBorderHover"
                     Command="{CompiledBinding LocateOnDiskCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Data="{StaticResource ShowInFolderGeometry}"
                     DockPanel.Dock="Right"
@@ -229,7 +229,7 @@
                     Height="28"
                     IconHeight="17"
                     IconWidth="17"
-                    ToolTip.Tip="{CompiledBinding Translation.ShowInFolder,
+                    ToolTip.Tip="{CompiledBinding Translation.ShowInFolder.Value,
                                                   Mode=OneWay}"
                     Width="45"
                     x:Name="LocateOnDiskButton" />
@@ -239,7 +239,8 @@
                     Classes="txt"
                     DockPanel.Dock="Left"
                     Foreground="{DynamicResource MainTextColor}"
-                    Text="{CompiledBinding Translation.ImageInfo}"
+                    Text="{CompiledBinding Translation.ImageInfo.Value,
+                                           Mode=OneWay}"
                     TextAlignment="Center" />
             </DockPanel>
             <Rectangle

+ 3 - 2
src/PicView.Avalonia.Win32/Views/KeybindingsWindow.axaml

@@ -45,7 +45,7 @@
                     IconHeight="10"
                     IconWidth="10"
                     IsRepeatEnabled="False"
-                    ToolTip.Tip="{CompiledBinding Translation.Close,
+                    ToolTip.Tip="{CompiledBinding Translation.Close.Value,
                                                   Mode=OneWay}"
                     Width="30"
                     x:Name="CloseButton" />
@@ -72,7 +72,8 @@
                     Foreground="{DynamicResource MainTextColor}"
                     LineHeight="28"
                     Padding="30,0,0,0"
-                    Text="{CompiledBinding Translation.ApplicationShortcuts}"
+                    Text="{CompiledBinding Translation.ApplicationShortcuts.Value,
+                                           Mode=OneWay}"
                     TextAlignment="Center"
                     x:Name="TitleText" />
             </DockPanel>

+ 2 - 2
src/PicView.Avalonia.Win32/Views/SettingsWindow.axaml

@@ -81,7 +81,7 @@
                         IconHeight="10"
                         IconWidth="10"
                         IsRepeatEnabled="False"
-                        ToolTip.Tip="{CompiledBinding Translation.Close,
+                        ToolTip.Tip="{CompiledBinding Translation.Close.Value,
                                                       Mode=OneWay}"
                         Width="30"
                         x:Name="CloseButton" />
@@ -110,7 +110,7 @@
                         Foreground="{DynamicResource MainTextColor}"
                         LineHeight="{StaticResource TopBorderHeight}"
                         Padding="30,0,0,0"
-                        Text="{CompiledBinding Translation.Settings,
+                        Text="{CompiledBinding Translation.Settings.Value,
                                                Mode=OneWay}"
                         TextAlignment="Center"
                         x:Name="TitleText" />

+ 1 - 1
src/PicView.Avalonia.Win32/Views/SingleImageResizeWindow.axaml

@@ -72,7 +72,7 @@
                     Height="28"
                     LineHeight="28"
                     Padding="30,0,0,0"
-                    Text="{CompiledBinding Translation.ResizeImage,
+                    Text="{CompiledBinding Translation.ResizeImage.Value,
                                            Mode=OneWay}"
                     TextAlignment="Center"
                     x:Name="TitleText" />

+ 8 - 8
src/PicView.Avalonia.Win32/Views/WinTitleBar.axaml

@@ -43,7 +43,7 @@
                 ToggleType="Radio"
                 x:Name="Rotation270Item" />
             <Separator />
-            <MenuItem Command="{CompiledBinding FlipCommand}" Header="{CompiledBinding Translation.IsFlipped}">
+            <MenuItem Command="{CompiledBinding FlipCommand}" Header="{CompiledBinding Translation.IsFlipped.Value}">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource FlipGeometry}"
@@ -52,7 +52,7 @@
                         Stretch="Fill"
                         Width="12">
                         <Path.RenderTransform>
-                            <ScaleTransform ScaleX="{CompiledBinding PicViewer.ScaleX}" />
+                            <ScaleTransform ScaleX="{CompiledBinding PicViewer.ScaleX.Value}" />
                         </Path.RenderTransform>
                     </Path>
                 </MenuItem.Icon>
@@ -92,7 +92,7 @@
                 Foreground="{DynamicResource MainTextColor}"
                 IconHeight="17"
                 IconWidth="17"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}"
                 IsRepeatEnabled="False"
                 Width="30"
@@ -107,12 +107,12 @@
                 Icon="{StaticResource RefreshCcwDot}"
                 IconHeight="16"
                 IconWidth="16"
-                IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}"
                 IsRepeatEnabled="False"
                 Margin="0"
                 Name="RotateRightButton"
-                ToolTip.Tip="{CompiledBinding Translation.RotateRight,
+                ToolTip.Tip="{CompiledBinding Translation.RotateRight.Value,
                                               Mode=OneWay}"
                 Width="30"
                 x:Name="RotateLeftButton" />
@@ -128,16 +128,16 @@
                 Foreground="{DynamicResource MainTextColor}"
                 IconHeight="16"
                 IconWidth="16"
-                IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}"
                 IsRepeatEnabled="False"
                 Margin="0"
-                ToolTip.Tip="{CompiledBinding Translation.IsFlipped,
+                ToolTip.Tip="{CompiledBinding Translation.IsFlipped.Value,
                                               Mode=OneWay}"
                 Width="30"
                 x:Name="FlipButton">
                 <Button.RenderTransform>
-                    <ScaleTransform ScaleX="{CompiledBinding PicViewer.ScaleX}" />
+                    <ScaleTransform ScaleX="{CompiledBinding PicViewer.ScaleX.Value}" />
                 </Button.RenderTransform>
             </customControls:IconButton>
 

+ 2 - 2
src/PicView.Avalonia/Gallery/GalleryFunctions.cs

@@ -343,7 +343,7 @@ public static class GalleryFunctions
         if (Settings.Gallery.IsBottomGalleryShown)
         {
             vm.GalleryMode = GalleryMode.BottomToClosed;
-            vm.Translation.IsShowingBottomGallery = TranslationManager.Translation.ShowBottomGallery;
+            vm.Translation.IsShowingBottomGallery.Value = TranslationManager.Translation.ShowBottomGallery;
             Settings.Gallery.IsBottomGalleryShown = false;
             IsFullGalleryOpen = false;
             return;
@@ -356,7 +356,7 @@ public static class GalleryFunctions
             vm.GalleryMode = GalleryMode.ClosedToBottom;
         }
 
-        vm.Translation.IsShowingBottomGallery = TranslationManager.Translation.HideBottomGallery;
+        vm.Translation.IsShowingBottomGallery.Value = TranslationManager.Translation.HideBottomGallery;
         vm.IsBottomGalleryShown = true;
         if (!NavigationManager.CanNavigate(vm))
         {

+ 2 - 2
src/PicView.Avalonia/ImageTransformations/Rotation/RotationNavigation.cs

@@ -127,12 +127,12 @@ public static class RotationNavigation
         if (vm.PicViewer.ScaleX.CurrentValue == 1)
         {
             vm.PicViewer.ScaleX.Value = -1;
-            vm.Translation.IsFlipped = vm.Translation.UnFlip;
+            vm.Translation.IsFlipped.Value = vm.Translation.UnFlip.CurrentValue;
         }
         else
         {
             vm.PicViewer.ScaleX.Value = 1;
-            vm.Translation.IsFlipped = vm.Translation.Flip;
+            vm.Translation.IsFlipped.Value = vm.Translation.Flip.CurrentValue;
         }
     }
 

+ 9 - 9
src/PicView.Avalonia/SettingsManagement/LanguageUpdater.cs

@@ -18,34 +18,34 @@ public static class LanguageUpdater
 
         translationViewModel.UpdateLanguage();
 
-        translationViewModel.IsFlipped = picViewerModel.ScaleX.CurrentValue == 1 ? translationViewModel.Flip : translationViewModel.UnFlip;
+        translationViewModel.IsFlipped.Value = picViewerModel.ScaleX.CurrentValue == 1 ? translationViewModel.Flip.CurrentValue : translationViewModel.UnFlip.CurrentValue;
         
-        translationViewModel.IsShowingUI = !Settings.UIProperties.ShowInterface ? translationViewModel.ShowUI : translationViewModel.HideUI;
+        translationViewModel.IsShowingUI.Value = !Settings.UIProperties.ShowInterface ? translationViewModel.ShowUI.CurrentValue : translationViewModel.HideUI.CurrentValue;
         
-        translationViewModel.IsScrolling = Settings.Zoom.ScrollEnabled ?
+        translationViewModel.IsScrolling.Value = Settings.Zoom.ScrollEnabled ?
             TranslationManager.Translation.ScrollingEnabled : TranslationManager.Translation.ScrollingDisabled;
         
-        translationViewModel.IsShowingBottomGallery = Settings.Gallery.IsBottomGalleryShown ?
+        translationViewModel.IsShowingBottomGallery.Value = Settings.Gallery.IsBottomGalleryShown ?
             TranslationManager.Translation.HideBottomGallery :
             TranslationManager.Translation.ShowBottomGallery;
         
-        translationViewModel.IsLooping = Settings.UIProperties.Looping
+        translationViewModel.IsLooping.Value = Settings.UIProperties.Looping
             ? TranslationManager.Translation.LoopingEnabled
             : TranslationManager.Translation.LoopingDisabled;
         
-        translationViewModel.IsCtrlToZoom = Settings.Zoom.CtrlZoom
+        translationViewModel.IsCtrlToZoom.Value = Settings.Zoom.CtrlZoom
             ? TranslationManager.Translation.CtrlToZoom
             : TranslationManager.Translation.ScrollToZoom;
         
-        translationViewModel.IsShowingBottomToolbar = Settings.UIProperties.ShowBottomNavBar
+        translationViewModel.IsShowingBottomToolbar.Value = Settings.UIProperties.ShowBottomNavBar
             ? TranslationManager.Translation.HideBottomToolbar
             : TranslationManager.Translation.ShowBottomToolbar;
         
-        translationViewModel.IsShowingFadingUIButtons = Settings.UIProperties.ShowAltInterfaceButtons
+        translationViewModel.IsShowingFadingUIButtons.Value = Settings.UIProperties.ShowAltInterfaceButtons
             ? TranslationManager.Translation.DisableFadeInButtonsOnHover
             : TranslationManager.Translation.ShowFadeInButtonsOnHover;
         
-        translationViewModel.IsUsingTouchpad = Settings.Zoom.IsUsingTouchPad
+        translationViewModel.IsUsingTouchpad.Value = Settings.Zoom.IsUsingTouchPad
             ? TranslationManager.Translation.UsingTouchpad
             : TranslationManager.Translation.UsingMouse;
     }

+ 8 - 8
src/PicView.Avalonia/SettingsManagement/SettingsUpdater.cs

@@ -174,14 +174,14 @@ public static class SettingsUpdater
     public static void TurnOffUsingTouchpad(MainViewModel vm)
     {
         Settings.Zoom.IsUsingTouchPad = false;
-        vm.Translation.IsUsingTouchpad = TranslationManager.Translation.UsingMouse;
+        vm.Translation.IsUsingTouchpad.Value = TranslationManager.Translation.UsingMouse;
         vm.IsUsingTouchpad = false;
     }
     
     public static void TurnOnUsingTouchpad(MainViewModel vm)
     {
         Settings.Zoom.IsUsingTouchPad = true;
-        vm.Translation.IsUsingTouchpad = TranslationManager.Translation.UsingTouchpad;
+        vm.Translation.IsUsingTouchpad.Value = TranslationManager.Translation.UsingTouchpad;
         vm.IsUsingTouchpad = true;
     }
     
@@ -384,7 +384,7 @@ public static class SettingsUpdater
     public static void TurnOffScroll(MainViewModel vm)
     {
         vm.ToggleScrollBarVisibility = ScrollBarVisibility.Disabled;
-        vm.Translation.IsScrolling = TranslationManager.Translation.ScrollingDisabled;
+        vm.Translation.IsScrolling.Value = TranslationManager.Translation.ScrollingDisabled;
         vm.IsScrollingEnabled = false;
         Settings.Zoom.ScrollEnabled = false;
         vm.RightControlOffSetMargin = new Thickness(0);
@@ -393,7 +393,7 @@ public static class SettingsUpdater
     public static void TurnOnScroll(MainViewModel vm)
     {
         vm.ToggleScrollBarVisibility = ScrollBarVisibility.Visible;
-        vm.Translation.IsScrolling = TranslationManager.Translation.ScrollingEnabled;
+        vm.Translation.IsScrolling.Value = TranslationManager.Translation.ScrollingEnabled;
         vm.IsScrollingEnabled = true;
         Settings.Zoom.ScrollEnabled = true;
         vm.RightControlOffSetMargin = new Thickness(0,0,30,0);
@@ -407,7 +407,7 @@ public static class SettingsUpdater
         }
         
         Settings.Zoom.CtrlZoom = !Settings.Zoom.CtrlZoom;
-        vm.Translation.IsCtrlToZoom = Settings.Zoom.CtrlZoom
+        vm.Translation.IsCtrlToZoom.Value = Settings.Zoom.CtrlZoom
             ? TranslationManager.Translation.CtrlToZoom
             : TranslationManager.Translation.ScrollToZoom;
         
@@ -428,7 +428,7 @@ public static class SettingsUpdater
     public static void TurnOffCtrlZoom(MainViewModel vm)
     {
         Settings.Zoom.CtrlZoom = false;
-        vm.Translation.IsCtrlToZoom = TranslationManager.Translation.ScrollToZoom;
+        vm.Translation.IsCtrlToZoom.Value = TranslationManager.Translation.ScrollToZoom;
         if (!Application.Current.TryGetResource("ScanEyeImage", Application.Current.RequestedThemeVariant, out var scanEyeImage ))
         {
             return;
@@ -445,7 +445,7 @@ public static class SettingsUpdater
         
         var value = !Settings.UIProperties.Looping;
         Settings.UIProperties.Looping = value;
-        vm.Translation.IsLooping = value
+        vm.Translation.IsLooping.Value = value
             ? TranslationManager.Translation.LoopingEnabled
             : TranslationManager.Translation.LoopingDisabled;
         vm.IsLooping = value;
@@ -461,7 +461,7 @@ public static class SettingsUpdater
     public static void TurnOffLooping(MainViewModel vm)
     {
         Settings.UIProperties.Looping = false;
-        vm.Translation.IsLooping = TranslationManager.Translation.LoopingDisabled;
+        vm.Translation.IsLooping.Value = TranslationManager.Translation.LoopingDisabled;
         vm.IsLooping = false;
     }
     

+ 5 - 5
src/PicView.Avalonia/UI/HideInterfaceLogic.cs

@@ -24,7 +24,7 @@ public static class HideInterfaceLogic
             Settings.UIProperties.ShowInterface = false;
             vm.IsTopToolbarShown = false;
             vm.IsBottomToolbarShown = false;
-            vm.Translation.IsShowingUI = TranslationManager.Translation.ShowUI;
+            vm.Translation.IsShowingUI.Value = TranslationManager.Translation.ShowUI;
             if (!GalleryFunctions.IsFullGalleryOpen)
             {
                 if (!Settings.Gallery.ShowBottomGalleryInHiddenUI)
@@ -49,7 +49,7 @@ public static class HideInterfaceLogic
         {
             vm.IsUIShown = true;
             vm.IsTopToolbarShown = true;
-            vm.Translation.IsShowingUI = TranslationManager.Translation.HideUI;
+            vm.Translation.IsShowingUI.Value = TranslationManager.Translation.HideUI;
             if (Settings.UIProperties.ShowBottomNavBar)
             {
                 vm.IsBottomToolbarShown = true;
@@ -99,14 +99,14 @@ public static class HideInterfaceLogic
         {
             vm.IsBottomToolbarShown = false;
             Settings.UIProperties.ShowBottomNavBar = false;
-            vm.Translation.IsShowingBottomToolbar = TranslationManager.Translation.ShowBottomToolbar;
+            vm.Translation.IsShowingBottomToolbar.Value = TranslationManager.Translation.ShowBottomToolbar;
         }
         else
         {
             vm.IsBottomToolbarShown = true;
             Settings.UIProperties.ShowBottomNavBar = true;
             vm.BottombarHeight = SizeDefaults.BottombarHeight;
-            vm.Translation.IsShowingBottomToolbar = TranslationManager.Translation.HideBottomToolbar;
+            vm.Translation.IsShowingBottomToolbar.Value = TranslationManager.Translation.HideBottomToolbar;
         }
         await Dispatcher.UIThread.InvokeAsync(() =>
         {
@@ -145,7 +145,7 @@ public static class HideInterfaceLogic
         Settings.UIProperties.ShowAltInterfaceButtons = !Settings
             .UIProperties.ShowAltInterfaceButtons;
         
-        vm.Translation.IsShowingFadingUIButtons = Settings.UIProperties.ShowAltInterfaceButtons
+        vm.Translation.IsShowingFadingUIButtons.Value = Settings.UIProperties.ShowAltInterfaceButtons
             ? TranslationManager.Translation.DisableFadeInButtonsOnHover
             : TranslationManager.Translation.ShowFadeInButtonsOnHover;
         

+ 8 - 5
src/PicView.Avalonia/Views/AboutView.axaml

@@ -126,7 +126,7 @@
             HorizontalAlignment="Center"
             IsVisible="{Binding IsVisible, ElementName=SpinWaiter}"
             Margin="0,75,0,0"
-            Text="{CompiledBinding Translation.Downloading}"
+            Text="{CompiledBinding Translation.Downloading.Value}"
             VerticalAlignment="Center" />
 
         <StackPanel Margin="0,10,0,10" x:Name="ParentContainer">
@@ -145,7 +145,8 @@
                     <TextBlock
                         Classes="txt"
                         Foreground="{StaticResource SecondaryTextColor}"
-                        Text="{CompiledBinding Translation.GithubRepo}" />
+                        Text="{CompiledBinding Translation.GithubRepo.Value,
+                                               Mode=OneWay}" />
                     <Path
                         Data="M256,32C132.3,32,32,134.9,32,261.7c0,101.5,64.2,187.5,153.2,217.9a17.56,17.56,0,0,0,3.8.4c8.3,0,11.5-6.1,11.5-11.4,0-5.5-.2-19.9-.3-39.1a102.4,102.4,0,0,1-22.6,2.7c-43.1,0-52.9-33.5-52.9-33.5-10.2-26.5-24.9-33.6-24.9-33.6-19.5-13.7-.1-14.1,1.4-14.1h.1c22.5,2,34.3,23.8,34.3,23.8,11.2,19.6,26.2,25.1,39.6,25.1a63,63,0,0,0,25.6-6c2-14.8,7.8-24.9,14.2-30.7-49.7-5.8-102-25.5-102-113.5,0-25.1,8.7-45.6,23-61.6-2.3-5.8-10-29.2,2.2-60.8a18.64,18.64,0,0,1,5-.5c8.1,0,26.4,3.1,56.6,24.1a208.21,208.21,0,0,1,112.2,0c30.2-21,48.5-24.1,56.6-24.1a18.64,18.64,0,0,1,5,.5c12.2,31.6,4.5,55,2.2,60.8,14.3,16.1,23,36.6,23,61.6,0,88.2-52.4,107.6-102.3,113.3,8,7.1,15.2,21.1,15.2,42.5,0,30.7-.3,55.5-.3,63,0,5.4,3.1,11.5,11.4,11.5a19.35,19.35,0,0,0,4-.4C415.9,449.2,480,363.1,480,261.7,480,134.9,379.7,32,256,32Z"
                         Fill="{StaticResource SecondaryTextColor}"
@@ -178,7 +179,8 @@
                 HorizontalAlignment="Center"
                 Margin="0,2,0,2"
                 NavigateUri="https://github.com/Ruben2776/PicView?tab=License-1-ov-file#readme"
-                ToolTip.Tip="{CompiledBinding Translation.ViewLicenseFile}">
+                ToolTip.Tip="{CompiledBinding Translation.ViewLicenseFile.Value,
+                                              Mode=OneWay}">
                 <TextBlock
                     Classes="txt"
                     Foreground="{StaticResource SecondaryTextColor}"
@@ -190,7 +192,7 @@
                 Foreground="{StaticResource SecondaryTextColor}"
                 HorizontalAlignment="Center"
                 Margin="0,25,0,10">
-                <Run FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto" Text="{CompiledBinding Translation.Version}" />
+                <Run FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto" Text="{CompiledBinding Translation.Version.Value, Mode=OneWay}" />
                 <Run Text="" x:Name="AppVersion" />
             </TextBlock>
 
@@ -202,7 +204,8 @@
                 <TextBlock
                     Classes="txt"
                     Foreground="{Binding Path=Foreground, ElementName=UpdateButton}"
-                    Text="{CompiledBinding Translation.CheckForUpdates}" />
+                    Text="{CompiledBinding Translation.CheckForUpdates.Value,
+                                           Mode=OneWay}" />
             </Button>
 
             <TextBlock

+ 12 - 12
src/PicView.Avalonia/Views/AppearanceView.axaml

@@ -20,7 +20,7 @@
             FontSize="14"
             Foreground="{StaticResource SecondaryTextColor}"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.Theme,
+            Text="{CompiledBinding Translation.Theme.Value,
                                    Mode=OneWay}" />
 
         <ComboBox
@@ -33,11 +33,11 @@
             Padding="5,7,0,7"
             Width="300"
             x:Name="ThemeBox">
-            <ComboBoxItem Content="{CompiledBinding Translation.DarkTheme, Mode=OneWay}" x:Name="DarkThemeBox" />
+            <ComboBoxItem Content="{CompiledBinding Translation.DarkTheme.Value, Mode=OneWay}" x:Name="DarkThemeBox" />
             <ComboBoxItem x:Name="LightThemeBox">
                 <TextBlock Classes="txt">
                     <TextBlock.Inlines>
-                        <Run Text="{CompiledBinding Translation.LightTheme, Mode=OneWay}" />
+                        <Run Text="{CompiledBinding Translation.LightTheme.Value, Mode=OneWay}" />
                         <Run FontStyle="Italic" Text=" (beta)" />
                     </TextBlock.Inlines>
                 </TextBlock>
@@ -45,7 +45,7 @@
             <ComboBoxItem x:Name="GlassThemeBox">
                 <TextBlock Classes="txt">
                     <TextBlock.Inlines>
-                        <Run Text="{CompiledBinding Translation.GlassTheme, Mode=OneWay}" />
+                        <Run Text="{CompiledBinding Translation.GlassTheme.Value, Mode=OneWay}" />
                         <Run FontStyle="Italic" Text=" (beta)" />
                     </TextBlock.Inlines>
                 </TextBlock>
@@ -61,7 +61,7 @@
                 FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
                 Foreground="{StaticResource SecondaryTextColor}"
                 Padding="5"
-                Text="{CompiledBinding Translation.ChangingThemeRequiresRestart,
+                Text="{CompiledBinding Translation.ChangingThemeRequiresRestart.Value,
                                        Mode=OneWay}" />
         </Button>
 
@@ -71,7 +71,7 @@
             FontSize="14"
             Foreground="{StaticResource SecondaryTextColor}"
             Margin="0,5,0,20"
-            Text="{CompiledBinding Translation.HighlightColor,
+            Text="{CompiledBinding Translation.HighlightColor.Value,
                                    Mode=OneWay}" />
 
         <WrapPanel
@@ -178,7 +178,7 @@
             FontSize="14"
             Foreground="{StaticResource SecondaryTextColor}"
             Margin="0,20,0,10"
-            Text="{CompiledBinding Translation.ChangeBackground,
+            Text="{CompiledBinding Translation.ChangeBackground.Value,
                                    Mode=OneWay}" />
 
         <WrapPanel
@@ -294,7 +294,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.ConstrainBackgroundToImage,
+                Text="{CompiledBinding Translation.ConstrainBackgroundToImage.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -304,7 +304,7 @@
             FontSize="14"
             Foreground="{StaticResource SecondaryTextColor}"
             Margin="0,20,0,10"
-            Text="{CompiledBinding Translation.InterfaceConfiguration,
+            Text="{CompiledBinding Translation.InterfaceConfiguration.Value,
                                    Mode=OneWay}" />
         <Button
             Background="Transparent"
@@ -361,7 +361,7 @@
                     Margin="0"
                     MaxWidth="240"
                     Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.IsShowingBottomToolbar,
+                    Text="{CompiledBinding Translation.IsShowingBottomToolbar.Value,
                                            Mode=OneWay}" />
             </StackPanel>
         </Button>
@@ -469,7 +469,7 @@
                     Margin="0"
                     MaxWidth="240"
                     Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.IsShowingUI,
+                    Text="{CompiledBinding Translation.IsShowingUI.Value,
                                            Mode=OneWay}" />
             </StackPanel>
         </Button>
@@ -521,7 +521,7 @@
                     Margin="0"
                     MaxWidth="240"
                     Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.IsShowingFadingUIButtons,
+                    Text="{CompiledBinding Translation.IsShowingFadingUIButtons.Value,
                                            Mode=OneWay}" />
             </StackPanel>
         </Button>

+ 80 - 67
src/PicView.Avalonia/Views/BatchResizeView.axaml

@@ -25,7 +25,8 @@
                     <TextBlock
                         Classes="txt"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.SourceFolder}"
+                        Text="{CompiledBinding Translation.SourceFolder.Value,
+                                               Mode=OneWay}"
                         Width="130" />
                     <customControls:FuncTextBox
                         Classes="hover TStyle"
@@ -47,7 +48,8 @@
                     <TextBlock
                         Classes="txt"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.OutputFolder}"
+                        Text="{CompiledBinding Translation.OutputFolder.Value,
+                                               Mode=OneWay}"
                         Width="130" />
                     <customControls:FuncTextBox
                         Classes="hover TStyle"
@@ -69,7 +71,7 @@
                     <TextBlock
                         Classes="txt"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.ConvertTo,
+                        Text="{CompiledBinding Translation.ConvertTo.Value,
                                                Mode=OneWay}"
                         Width="130" />
                     <ComboBox
@@ -85,7 +87,7 @@
                         SelectedItem="NoConversion"
                         Width="195"
                         x:Name="ConversionComboBox">
-                        <ComboBoxItem Content="{CompiledBinding Translation.NoConversion, Mode=OneWay}" x:Name="NoConversion" />
+                        <ComboBoxItem Content="{CompiledBinding Translation.NoConversion.Value, Mode=OneWay}" x:Name="NoConversion" />
                         <ComboBoxItem Content=".png" x:Name="PngItem" />
                         <ComboBoxItem Content=".jpg" x:Name="JpgItem" />
                         <ComboBoxItem Content=".webp" x:Name="WebpItem" />
@@ -99,7 +101,7 @@
                     <TextBlock
                         Classes="txt"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.Compression,
+                        Text="{CompiledBinding Translation.Compression.Value,
                                                Mode=OneWay}"
                         Width="130" />
                     <ComboBox
@@ -115,9 +117,9 @@
                         SelectedItem="Lossless"
                         Width="195"
                         x:Name="CompressionComboBox">
-                        <ComboBoxItem Content="{CompiledBinding Translation.Lossless, Mode=OneWay}" x:Name="Lossless" />
-                        <ComboBoxItem Content="{CompiledBinding Translation.Lossy, Mode=OneWay}" x:Name="Lossy" />
-                        <ComboBoxItem Content="{CompiledBinding Translation.None, Mode=OneWay}" x:Name="None" />
+                        <ComboBoxItem Content="{CompiledBinding Translation.Lossless.Value, Mode=OneWay}" x:Name="Lossless" />
+                        <ComboBoxItem Content="{CompiledBinding Translation.Lossy.Value, Mode=OneWay}" x:Name="Lossy" />
+                        <ComboBoxItem Content="{CompiledBinding Translation.None.Value, Mode=OneWay}" x:Name="None" />
                     </ComboBox>
                 </StackPanel>
 
@@ -127,7 +129,7 @@
                         Classes="txt"
                         IsEnabled="{Binding Path=IsChecked, ElementName=IsQualityEnabledBox}"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.Quality,
+                        Text="{CompiledBinding Translation.Quality.Value,
                                                Mode=OneWay}"
                         Width="130" />
 
@@ -157,7 +159,7 @@
                     <TextBlock
                         Classes="txt"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.Resize,
+                        Text="{CompiledBinding Translation.Resize.Value,
                                                Mode=OneWay}"
                         Width="130"
                         x:Name="ResizeTextBlock" />
@@ -174,11 +176,11 @@
                         SelectedItem="NoResizeBox"
                         Width="195"
                         x:Name="ResizeComboBox">
-                        <ComboBoxItem Content="{CompiledBinding Translation.NoResize}" x:Name="NoResizeBox" />
-                        <ComboBoxItem Content="{CompiledBinding Translation.Width}" x:Name="WidthResizeBox" />
-                        <ComboBoxItem Content="{CompiledBinding Translation.Height}" x:Name="HeightResizeBox" />
-                        <ComboBoxItem Content="{CompiledBinding Translation.WidthAndHeight}" x:Name="WidthAndHeightResizeBox" />
-                        <ComboBoxItem Content="{CompiledBinding Translation.Percentage}" x:Name="PercentageResizeBox" />
+                        <ComboBoxItem Content="{CompiledBinding Translation.NoResize.Value, Mode=OneWay}" x:Name="NoResizeBox" />
+                        <ComboBoxItem Content="{CompiledBinding Translation.Width.Value, Mode=OneWay}" x:Name="WidthResizeBox" />
+                        <ComboBoxItem Content="{CompiledBinding Translation.Height.Value, Mode=OneWay}" x:Name="HeightResizeBox" />
+                        <ComboBoxItem Content="{CompiledBinding Translation.WidthAndHeight.Value, Mode=OneWay}" x:Name="WidthAndHeightResizeBox" />
+                        <ComboBoxItem Content="{CompiledBinding Translation.Percentage.Value, Mode=OneWay}" x:Name="PercentageResizeBox" />
                     </ComboBox>
                 </StackPanel>
 
@@ -191,14 +193,15 @@
                     <TextBlock
                         Classes="txt"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.Width}"
+                        Text="{CompiledBinding Translation.Width.Value,
+                                               Mode=OneWay}"
                         Width="130"
                         x:Name="WidthTextBlock" />
 
                     <customControls:NumTextBox
                         Classes="hover TStyle"
                         Margin="11,0,10,0"
-                        Text="{CompiledBinding PicViewer.PixelWidth,
+                        Text="{CompiledBinding PicViewer.PixelWidth.Value,
                                                Mode=OneTime}"
                         Width="195"
                         x:Name="WidthValueBox" />
@@ -213,14 +216,15 @@
                     <TextBlock
                         Classes="txt"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.Height}"
+                        Text="{CompiledBinding Translation.Height.Value,
+                                               Mode=OneWay}"
                         Width="130"
                         x:Name="HeightTextBlock" />
 
                     <customControls:NumTextBox
                         Classes="hover TStyle"
                         Margin="11,0,10,0"
-                        Text="{CompiledBinding PicViewer.PixelHeight,
+                        Text="{CompiledBinding PicViewer.PixelHeight.Value,
                                                Mode=OneTime}"
                         Width="195"
                         x:Name="HeightValueBox" />
@@ -234,7 +238,8 @@
                     <TextBlock
                         Classes="txt"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.Width}"
+                        Text="{CompiledBinding Translation.Width.Value,
+                                               Mode=OneWay}"
                         Width="130"
                         x:Name="WidthAndHeightWidthTextBlock" />
 
@@ -368,7 +373,8 @@
                     <TextBlock
                         Classes="txt"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.Height}"
+                        Text="{CompiledBinding Translation.Height.Value,
+                                               Mode=OneWay}"
                         Width="130"
                         x:Name="WidthAndHeightHeightTextBlock" />
 
@@ -389,7 +395,8 @@
                     <TextBlock
                         Classes="txt"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.Percentage}"
+                        Text="{CompiledBinding Translation.Percentage.Value,
+                                               Mode=OneWay}"
                         Width="130"
                         x:Name="PercentageTextBlock" />
 
@@ -411,7 +418,7 @@
                     <TextBlock
                         Classes="txt"
                         Margin="5,0,0,0"
-                        Text="{CompiledBinding Translation.GenerateThumbnails,
+                        Text="{CompiledBinding Translation.GenerateThumbnails.Value,
                                                Mode=OneWay}"
                         Width="130"
                         x:Name="GenerateThumbnailsTextBlock" />
@@ -454,10 +461,10 @@
                                 Classes="txt"
                                 Margin="8,0,0,0"
                                 Width="130">
-                                <Run Text="{CompiledBinding Translation.Thumbnail}" />
+                                <Run Text="{CompiledBinding Translation.Thumbnail.Value, Mode=OneWay}" />
                                 <Run Text=" 1" />
                                 <LineBreak />
-                                <Run Text="{CompiledBinding Translation.OutputFolder}" />
+                                <Run Text="{CompiledBinding Translation.OutputFolder.Value, Mode=OneWay}" />
                             </TextBlock>
                             <customControls:FuncTextBox
                                 Classes="hover TStyle"
@@ -491,9 +498,9 @@
                                 SelectedItem="Thumb1PercentageItem"
                                 Width="195"
                                 x:Name="Thumb1ComboBox">
-                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage}" x:Name="Thumb1PercentageItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Width}" x:Name="Thumb1WidthItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Height}" x:Name="Thumb1HeightItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage.Value, Mode=OneWay}" x:Name="Thumb1PercentageItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Width.Value, Mode=OneWay}" x:Name="Thumb1WidthItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Height.Value, Mode=OneWay}" x:Name="Thumb1HeightItem" />
                             </ComboBox>
 
                             <customControls:FuncTextBox
@@ -520,10 +527,10 @@
                                 Classes="txt"
                                 Margin="8,0,0,0"
                                 Width="130">
-                                <Run Text="{CompiledBinding Translation.Thumbnail}" />
+                                <Run Text="{CompiledBinding Translation.Thumbnail.Value, Mode=OneWay}" />
                                 <Run Text=" 2" />
                                 <LineBreak />
-                                <Run Text="{CompiledBinding Translation.OutputFolder}" />
+                                <Run Text="{CompiledBinding Translation.OutputFolder.Value, Mode=OneWay}" />
                             </TextBlock>
                             <customControls:FuncTextBox
                                 Classes="hover TStyle"
@@ -541,7 +548,8 @@
                             <TextBlock
                                 Classes="txt"
                                 Margin="8,0,0,0"
-                                Text="{CompiledBinding Translation.Resize}"
+                                Text="{CompiledBinding Translation.Resize.Value,
+                                                       Mode=OneWay}"
                                 Width="125" />
 
                             <ComboBox
@@ -557,9 +565,9 @@
                                 SelectedItem="Thumb2PercentageItem"
                                 Width="195"
                                 x:Name="Thumb2ComboBox">
-                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage}" x:Name="Thumb2PercentageItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Width}" x:Name="Thumb2WidthItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Height}" x:Name="Thumb2HeightItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage.Value, Mode=OneWay}" x:Name="Thumb2PercentageItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Width.Value, Mode=OneWay}" x:Name="Thumb2WidthItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Height.Value, Mode=OneWay}" x:Name="Thumb2HeightItem" />
                             </ComboBox>
 
                             <customControls:FuncTextBox
@@ -586,10 +594,10 @@
                                 Classes="txt"
                                 Margin="8,0,0,0"
                                 Width="130">
-                                <Run Text="{CompiledBinding Translation.Thumbnail}" />
+                                <Run Text="{CompiledBinding Translation.Thumbnail.Value, Mode=OneWay}" />
                                 <Run Text=" 3" />
                                 <LineBreak />
-                                <Run Text="{CompiledBinding Translation.OutputFolder}" />
+                                <Run Text="{CompiledBinding Translation.OutputFolder.Value, Mode=OneWay}" />
                             </TextBlock>
                             <customControls:FuncTextBox
                                 Classes="hover TStyle"
@@ -607,7 +615,8 @@
                             <TextBlock
                                 Classes="txt"
                                 Margin="8,0,0,0"
-                                Text="{CompiledBinding Translation.Resize}"
+                                Text="{CompiledBinding Translation.Resize.Value,
+                                                       Mode=OneWay}"
                                 Width="125" />
 
                             <ComboBox
@@ -623,9 +632,9 @@
                                 SelectedItem="Thumb3PercentageItem"
                                 Width="195"
                                 x:Name="Thumb3ComboBox">
-                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage}" x:Name="Thumb3PercentageItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Width}" x:Name="Thumb3WidthItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Height}" x:Name="Thumb3HeightItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage.Value, Mode=OneWay}" x:Name="Thumb3PercentageItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Width.Value, Mode=OneWay}" x:Name="Thumb3WidthItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Height.Value, Mode=OneWay}" x:Name="Thumb3HeightItem" />
                             </ComboBox>
 
                             <customControls:FuncTextBox
@@ -652,10 +661,10 @@
                                 Classes="txt"
                                 Margin="8,0,0,0"
                                 Width="130">
-                                <Run Text="{CompiledBinding Translation.Thumbnail}" />
+                                <Run Text="{CompiledBinding Translation.Thumbnail.Value, Mode=OneWay}" />
                                 <Run Text=" 4" />
                                 <LineBreak />
-                                <Run Text="{CompiledBinding Translation.OutputFolder}" />
+                                <Run Text="{CompiledBinding Translation.OutputFolder.Value, Mode=OneWay}" />
                             </TextBlock>
                             <customControls:FuncTextBox
                                 Classes="hover TStyle"
@@ -673,7 +682,8 @@
                             <TextBlock
                                 Classes="txt"
                                 Margin="8,0,0,0"
-                                Text="{CompiledBinding Translation.Resize}"
+                                Text="{CompiledBinding Translation.Resize.Value,
+                                                       Mode=OneWay}"
                                 Width="125" />
 
                             <ComboBox
@@ -689,9 +699,9 @@
                                 SelectedItem="Thumb4PercentageItem"
                                 Width="195"
                                 x:Name="Thumb4ComboBox">
-                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage}" x:Name="Thumb4PercentageItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Width}" x:Name="Thumb4WidthItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Height}" x:Name="Thumb4HeightItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage.Value, Mode=OneWay}" x:Name="Thumb4PercentageItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Width.Value, Mode=OneWay}" x:Name="Thumb4WidthItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Height.Value, Mode=OneWay}" x:Name="Thumb4HeightItem" />
                             </ComboBox>
 
                             <customControls:FuncTextBox
@@ -717,10 +727,10 @@
                                 Classes="txt"
                                 Margin="8,0,0,0"
                                 Width="130">
-                                <Run Text="{CompiledBinding Translation.Thumbnail}" />
+                                <Run Text="{CompiledBinding Translation.Thumbnail.Value, Mode=OneWay}" />
                                 <Run Text=" 5" />
                                 <LineBreak />
-                                <Run Text="{CompiledBinding Translation.OutputFolder}" />
+                                <Run Text="{CompiledBinding Translation.OutputFolder.Value, Mode=OneWay}" />
                             </TextBlock>
                             <customControls:FuncTextBox
                                 Classes="hover TStyle"
@@ -738,7 +748,8 @@
                             <TextBlock
                                 Classes="txt"
                                 Margin="8,0,0,0"
-                                Text="{CompiledBinding Translation.Resize}"
+                                Text="{CompiledBinding Translation.Resize.Value,
+                                                       Mode=OneWay}"
                                 Width="125" />
 
                             <ComboBox
@@ -754,9 +765,9 @@
                                 SelectedItem="Thumb5PercentageItem"
                                 Width="195"
                                 x:Name="Thumb5ComboBox">
-                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage}" x:Name="Thumb5PercentageItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Width}" x:Name="Thumb5WidthItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Height}" x:Name="Thumb5HeightItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage.Value, Mode=OneWay}" x:Name="Thumb5PercentageItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Width.Value, Mode=OneWay}" x:Name="Thumb5WidthItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Height.Value, Mode=OneWay}" x:Name="Thumb5HeightItem" />
                             </ComboBox>
 
                             <customControls:FuncTextBox
@@ -782,10 +793,10 @@
                                 Classes="txt"
                                 Margin="8,0,0,0"
                                 Width="130">
-                                <Run Text="{CompiledBinding Translation.Thumbnail}" />
+                                <Run Text="{CompiledBinding Translation.Thumbnail.Value, Mode=OneWay}" />
                                 <Run Text=" 6" />
                                 <LineBreak />
-                                <Run Text="{CompiledBinding Translation.OutputFolder}" />
+                                <Run Text="{CompiledBinding Translation.OutputFolder.Value, Mode=OneWay}" />
                             </TextBlock>
                             <customControls:FuncTextBox
                                 Classes="hover TStyle"
@@ -803,7 +814,8 @@
                             <TextBlock
                                 Classes="txt"
                                 Margin="8,0,0,0"
-                                Text="{CompiledBinding Translation.Resize}"
+                                Text="{CompiledBinding Translation.Resize.Value,
+                                                       Mode=OneWay}"
                                 Width="125" />
 
                             <ComboBox
@@ -819,9 +831,9 @@
                                 SelectedItem="Thumb6PercentageItem"
                                 Width="195"
                                 x:Name="Thumb6ComboBox">
-                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage}" x:Name="Thumb6PercentageItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Width}" x:Name="Thumb61WidthItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Height}" x:Name="Thumb6HeightItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage.Value, Mode=OneWay}" x:Name="Thumb6PercentageItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Width.Value, Mode=OneWay}" x:Name="Thumb61WidthItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Height.Value, Mode=OneWay}" x:Name="Thumb6HeightItem" />
                             </ComboBox>
 
                             <customControls:FuncTextBox
@@ -848,10 +860,10 @@
                                 Classes="txt"
                                 Margin="8,0,0,0"
                                 Width="130">
-                                <Run Text="{CompiledBinding Translation.Thumbnail}" />
+                                <Run Text="{CompiledBinding Translation.Thumbnail.Value, Mode=OneWay}" />
                                 <Run Text=" 7" />
                                 <LineBreak />
-                                <Run Text="{CompiledBinding Translation.OutputFolder}" />
+                                <Run Text="{CompiledBinding Translation.OutputFolder.Value, Mode=OneWay}" />
                             </TextBlock>
                             <customControls:FuncTextBox
                                 Classes="hover TStyle"
@@ -869,7 +881,8 @@
                             <TextBlock
                                 Classes="txt"
                                 Margin="8,0,0,0"
-                                Text="{CompiledBinding Translation.Resize}"
+                                Text="{CompiledBinding Translation.Resize.Value,
+                                                       Mode=OneWay}"
                                 Width="125" />
 
                             <ComboBox
@@ -885,9 +898,9 @@
                                 SelectedItem="Thumb7PercentageItem"
                                 Width="195"
                                 x:Name="Thumb7ComboBox">
-                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage}" x:Name="Thumb7PercentageItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Width}" x:Name="Thumb7WidthItem" />
-                                <ComboBoxItem Content="{CompiledBinding Translation.Height}" x:Name="Thumb7HeightItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Percentage.Value, Mode=OneWay}" x:Name="Thumb7PercentageItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Width.Value, Mode=OneWay}" x:Name="Thumb7WidthItem" />
+                                <ComboBoxItem Content="{CompiledBinding Translation.Height.Value, Mode=OneWay}" x:Name="Thumb7HeightItem" />
                             </ComboBox>
 
                             <customControls:FuncTextBox
@@ -945,7 +958,7 @@
                     <TextBlock
                         Classes="txt"
                         Padding="15,0"
-                        Text="{CompiledBinding Translation.Cancel,
+                        Text="{CompiledBinding Translation.Cancel.Value,
                                                Mode=OneWay}"
                         TextAlignment="Center"
                         x:Name="CancelButtonTextBlock" />
@@ -959,7 +972,7 @@
                     <TextBlock
                         Classes="txt"
                         Padding="15,0"
-                        Text="{CompiledBinding Translation.Reset,
+                        Text="{CompiledBinding Translation.Reset.Value,
                                                Mode=OneWay}"
                         TextAlignment="Center"
                         x:Name="ResetButtonTextBlock" />
@@ -974,7 +987,7 @@
                     <TextBlock
                         Classes="txt"
                         Padding="15,0"
-                        Text="{CompiledBinding Translation.Start,
+                        Text="{CompiledBinding Translation.Start.Value,
                                                Mode=OneWay}"
                         TextAlignment="Center" />
                 </Button>

+ 21 - 20
src/PicView.Avalonia/Views/BottomBar.axaml

@@ -18,7 +18,7 @@
                 Command="{CompiledBinding NextCommand}"
                 Header="{CompiledBinding Translation.NextImage,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}"
                 StaysOpenOnClick="True">
                 <MenuItem.Icon>
@@ -34,7 +34,7 @@
                 Command="{CompiledBinding PreviousCommand}"
                 Header="{CompiledBinding Translation.PrevImage,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}"
                 StaysOpenOnClick="True">
                 <MenuItem.Icon>
@@ -53,7 +53,7 @@
                 Command="{CompiledBinding Skip10Command}"
                 Header="{CompiledBinding Translation.AdvanceBy10Images,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}"
                 StaysOpenOnClick="True">
                 <MenuItem.Icon>
@@ -67,9 +67,9 @@
             <!--  Next 100  -->
             <MenuItem
                 Command="{CompiledBinding Skip100Command}"
-                Header="{CompiledBinding Translation.AdvanceBy100Images,
+                Header="{CompiledBinding Translation.AdvanceBy100Images.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}"
                 StaysOpenOnClick="True">
                 <MenuItem.Icon>
@@ -83,9 +83,9 @@
             <!--  Prev 10  -->
             <MenuItem
                 Command="{CompiledBinding Prev10Command}"
-                Header="{CompiledBinding Translation.GoBackBy10Images,
+                Header="{CompiledBinding Translation.GoBackBy10Images.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}"
                 StaysOpenOnClick="True">
                 <MenuItem.Icon>
@@ -99,9 +99,9 @@
             <!--  Prev 100  -->
             <MenuItem
                 Command="{CompiledBinding Prev100Command}"
-                Header="{CompiledBinding Translation.GoBackBy100Images,
+                Header="{CompiledBinding Translation.GoBackBy100Images.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}"
                 StaysOpenOnClick="True">
                 <MenuItem.Icon>
@@ -117,8 +117,9 @@
             <!--  First Image  -->
             <MenuItem
                 Command="{CompiledBinding FirstCommand}"
-                Header="{CompiledBinding Translation.FirstImage}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                Header="{CompiledBinding Translation.FirstImage.Value,
+                                         Mode=OneWay}"
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                 <MenuItem.Icon>
                     <Image
@@ -131,9 +132,9 @@
             <!--  Last Image  -->
             <MenuItem
                 Command="{CompiledBinding LastCommand}"
-                Header="{CompiledBinding Translation.LastImage,
+                Header="{CompiledBinding Translation.LastImage.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                 <MenuItem.Icon>
                     <Image
@@ -148,9 +149,9 @@
             <!--  Next folder  -->
             <MenuItem
                 Command="{CompiledBinding NextFolderCommand}"
-                Header="{CompiledBinding Translation.NextFolder,
+                Header="{CompiledBinding Translation.NextFolder.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                 <MenuItem.Icon>
                     <Image
@@ -163,9 +164,9 @@
             <!--  Prev folder  -->
             <MenuItem
                 Command="{CompiledBinding PreviousFolderCommand}"
-                Header="{CompiledBinding Translation.PrevFolder,
+                Header="{CompiledBinding Translation.PrevFolder.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                 <MenuItem.Icon>
                     <Image
@@ -178,7 +179,7 @@
             <Separator />
 
             <!--  Hide bottom bar  -->
-            <MenuItem Command="{CompiledBinding ToggleBottomNavBarCommand}" Header="{CompiledBinding Translation.HideBottomToolbar, Mode=OneWay}">
+            <MenuItem Command="{CompiledBinding ToggleBottomNavBarCommand}" Header="{CompiledBinding Translation.HideBottomToolbar.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Image
                         Height="12"
@@ -270,7 +271,7 @@
                     Height="25"
                     IconHeight="20"
                     IconWidth="17"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     IsRepeatEnabled="False"
                     IsTabStop="False"
@@ -289,7 +290,7 @@
                     Height="25"
                     IconHeight="20"
                     IconWidth="17"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     IsTabStop="False"
                     Width="90"

+ 32 - 21
src/PicView.Avalonia/Views/EffectsView.axaml

@@ -17,7 +17,7 @@
     </UserControl.Styles>
     <UserControl.ContextMenu>
         <ContextMenu x:Name="ContextMenu">
-            <MenuItem Command="{CompiledBinding SaveFileCommand}" Header="{CompiledBinding Translation.Save, Mode=OneWay}">
+            <MenuItem Command="{CompiledBinding SaveFileCommand}" Header="{CompiledBinding Translation.Save.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource SaveGeometry}"
@@ -27,7 +27,7 @@
                         Width="12" />
                 </MenuItem.Icon>
             </MenuItem>
-            <MenuItem Command="{CompiledBinding SaveFileAsCommand}" Header="{CompiledBinding Translation.SaveAs}">
+            <MenuItem Command="{CompiledBinding SaveFileAsCommand}" Header="{CompiledBinding Translation.SaveAs.Value}">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource SaveGeometry}"
@@ -37,7 +37,7 @@
                         Width="12" />
                 </MenuItem.Icon>
             </MenuItem>
-            <MenuItem Command="{CompiledBinding CopyImageCommand}" Header="{CompiledBinding Translation.CopyImage, Mode=OneWay}">
+            <MenuItem Command="{CompiledBinding CopyImageCommand}" Header="{CompiledBinding Translation.CopyImage.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource CopyGeometry}"
@@ -52,7 +52,7 @@
                 Command="{CompiledBinding SetAsWallpaperFilledCommand}"
                 CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
                                                    FallbackValue=''}"
-                Header="{CompiledBinding Translation.SetAsWallpaper,
+                Header="{CompiledBinding Translation.SetAsWallpaper.Value,
                                          Mode=OneWay}">
                 <MenuItem.Icon>
                     <Path
@@ -64,7 +64,7 @@
                 </MenuItem.Icon>
             </MenuItem>
             <Separator />
-            <MenuItem Header="{CompiledBinding Translation.ClearEffects}" x:Name="ClearEffectsItem">
+            <MenuItem Header="{CompiledBinding Translation.ClearEffects.Value, Mode=OneWay}" x:Name="ClearEffectsItem">
                 <MenuItem.Icon>
                     <Image
                         Height="12"
@@ -73,7 +73,7 @@
                 </MenuItem.Icon>
             </MenuItem>
             <Separator />
-            <MenuItem Header="{CompiledBinding Translation.Close}" x:Name="CloseItem">
+            <MenuItem Header="{CompiledBinding Translation.Close.Value, Mode=OneWay}" x:Name="CloseItem">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource CloseGeometry}"
@@ -101,7 +101,8 @@
                 FontSize="14"
                 Margin="10,15,0,10"
                 Padding="10,5"
-                Text="{CompiledBinding Translation.Lighting}" />
+                Text="{CompiledBinding Translation.Lighting.Value,
+                                       Mode=OneWay}" />
             <StackPanel Margin="20,20">
 
                 <!--  Brightness  -->
@@ -109,7 +110,8 @@
                     <TextBlock
                         Classes="txt"
                         HorizontalAlignment="Left"
-                        Text="{CompiledBinding Translation.Brightness}"
+                        Text="{CompiledBinding Translation.Brightness.Value,
+                                               Mode=OneWay}"
                         VerticalAlignment="Center" />
 
                     <Rectangle
@@ -167,7 +169,8 @@
                     <TextBlock
                         Classes="txt"
                         HorizontalAlignment="Left"
-                        Text="{CompiledBinding Translation.Contrast}"
+                        Text="{CompiledBinding Translation.Contrast.Value,
+                                               Mode=OneWay}"
                         VerticalAlignment="Center" />
 
                     <Rectangle
@@ -234,7 +237,8 @@
                 FontSize="14"
                 Margin="10,0,0,10"
                 Padding="10,5"
-                Text="{CompiledBinding Translation.Effects}" />
+                Text="{CompiledBinding Translation.Effects.Value,
+                                       Mode=OneWay}" />
             <StackPanel Margin="20,0">
 
                 <!--  Blur  -->
@@ -242,7 +246,8 @@
                     <TextBlock
                         Classes="txt"
                         HorizontalAlignment="Left"
-                        Text="{CompiledBinding Translation.Blur}"
+                        Text="{CompiledBinding Translation.Blur.Value,
+                                               Mode=OneWay}"
                         VerticalAlignment="Center" />
                 </Panel>
 
@@ -284,7 +289,8 @@
                     <TextBlock
                         Classes="txt"
                         HorizontalAlignment="Left"
-                        Text="{CompiledBinding Translation.PencilSketch}"
+                        Text="{CompiledBinding Translation.PencilSketch.Value,
+                                               Mode=OneWay}"
                         VerticalAlignment="Center" />
                 </Panel>
 
@@ -327,7 +333,8 @@
                     <TextBlock
                         Classes="txt"
                         HorizontalAlignment="Left"
-                        Text="{CompiledBinding Translation.Posterize}"
+                        Text="{CompiledBinding Translation.Posterize.Value,
+                                               Mode=OneWay}"
                         VerticalAlignment="Center" />
                 </Panel>
 
@@ -370,7 +377,8 @@
                     <TextBlock
                         Classes="txt"
                         HorizontalAlignment="Left"
-                        Text="{CompiledBinding Translation.Solarize}"
+                        Text="{CompiledBinding Translation.Solarize.Value,
+                                               Mode=OneWay}"
                         VerticalAlignment="Center" />
                 </Panel>
 
@@ -418,7 +426,8 @@
                     <TextBlock
                         Classes="txt"
                         HorizontalAlignment="Left"
-                        Text="{CompiledBinding Translation.BlackAndWhite}"
+                        Text="{CompiledBinding Translation.BlackAndWhite.Value,
+                                               Mode=OneWay}"
                         VerticalAlignment="Center" />
                 </ToggleButton>
 
@@ -430,7 +439,8 @@
                     <TextBlock
                         Classes="txt"
                         HorizontalAlignment="Left"
-                        Text="{CompiledBinding Translation.NegativeColors}"
+                        Text="{CompiledBinding Translation.NegativeColors.Value,
+                                               Mode=OneWay}"
                         VerticalAlignment="Center" />
                 </ToggleButton>
 
@@ -442,7 +452,8 @@
                     <TextBlock
                         Classes="txt"
                         HorizontalAlignment="Left"
-                        Text="{CompiledBinding Translation.OldMovie}"
+                        Text="{CompiledBinding Translation.OldMovie.Value,
+                                               Mode=OneWay}"
                         VerticalAlignment="Center" />
                 </ToggleButton>
 
@@ -462,7 +473,7 @@
                     x:Name="ResetButton">
                     <TextBlock
                         Classes="txt"
-                        Text="{CompiledBinding Translation.ClearEffects,
+                        Text="{CompiledBinding Translation.ClearEffects.Value,
                                                Mode=OneWay}"
                         TextAlignment="Center" />
                 </Button>
@@ -475,7 +486,7 @@
                     x:Name="CancelButton">
                     <TextBlock
                         Classes="txt"
-                        Text="{CompiledBinding Translation.Cancel,
+                        Text="{CompiledBinding Translation.Cancel.Value,
                                                Mode=OneWay}"
                         TextAlignment="Center" />
                 </Button>
@@ -488,7 +499,7 @@
                     x:Name="SaveButton">
                     <TextBlock
                         Classes="txt"
-                        Text="{CompiledBinding Translation.Save,
+                        Text="{CompiledBinding Translation.Save.Value,
                                                Mode=OneWay}"
                         TextAlignment="Center" />
                     <SplitButton.Flyout>
@@ -500,7 +511,7 @@
                                 <TextBlock
                                     Classes="txt"
                                     Foreground="{DynamicResource MainTextColor}"
-                                    Text="{CompiledBinding Translation.SaveAs,
+                                    Text="{CompiledBinding Translation.SaveAs.Value,
                                                            Mode=OneWay}"
                                     TextAlignment="Center" />
                             </Button>

+ 8 - 8
src/PicView.Avalonia/Views/FileAssociationsView.axaml

@@ -39,7 +39,7 @@
                 FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
                 FontSize="14"
                 Margin="0,20,0,0"
-                Text="{CompiledBinding Translation.FileAssociations,
+                Text="{CompiledBinding Translation.FileAssociations.Value,
                                        Mode=OneWay}" />
 
             <TextBlock
@@ -48,7 +48,7 @@
                 Foreground="{StaticResource SecondaryTextColor}"
                 HorizontalAlignment="Left"
                 Padding="0,5,10,15"
-                Text="{CompiledBinding Translation.SelectFileTypesToAssociate,
+                Text="{CompiledBinding Translation.SelectFileTypesToAssociate.Value,
                                        Mode=OneWay}" />
 
             <StackPanel
@@ -77,7 +77,7 @@
                         Text="{CompiledBinding AssociationsViewModel.FilterText,
                                                FallbackValue='',
                                                Mode=TwoWay}"
-                        Watermark="{CompiledBinding Translation.Filter,
+                        Watermark="{CompiledBinding Translation.Filter.Value,
                                                     Mode=OneWay}"
                         Width="269"
                         x:Name="FilterBox" />
@@ -104,7 +104,7 @@
                     <TextBlock
                         Classes="txt"
                         Foreground="{StaticResource SecondaryTextColor}"
-                        Text="{CompiledBinding Translation.SelectAll,
+                        Text="{CompiledBinding Translation.SelectAll.Value,
                                                Mode=OneWay}" />
                 </Button>
 
@@ -122,7 +122,7 @@
                     <TextBlock
                         Classes="txt"
                         Foreground="{StaticResource SecondaryTextColor}"
-                        Text="{CompiledBinding Translation.UnselectAll,
+                        Text="{CompiledBinding Translation.UnselectAll.Value,
                                                Mode=OneWay}" />
                 </Button>
             </StackPanel>
@@ -158,7 +158,7 @@
                     <TextBlock
                         Classes="txt"
                         Foreground="{StaticResource SecondaryTextColor}"
-                        Text="{CompiledBinding Translation.Reset,
+                        Text="{CompiledBinding Translation.Reset.Value,
                                                Mode=OneWay}" />
                 </Button>
 
@@ -173,7 +173,7 @@
                         <TextBlock
                             Classes="txt"
                             Margin="10,0,0,0"
-                            Text="{CompiledBinding Translation.Apply,
+                            Text="{CompiledBinding Translation.Apply.Value,
                                                    Mode=OneWay}" />
                         <Image
                             Height="18"
@@ -196,7 +196,7 @@
                         <TextBlock
                             Classes="txt"
                             Margin="10,0,0,0"
-                            Text="{CompiledBinding Translation.Unassociate,
+                            Text="{CompiledBinding Translation.Unassociate.Value,
                                                    Mode=OneWay}" />
                         <Image
                             Height="18"

+ 21 - 19
src/PicView.Avalonia/Views/GallerySettingsView.axaml

@@ -20,7 +20,7 @@
             FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
             FontSize="14"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.GallerySettings,
+            Text="{CompiledBinding Translation.GallerySettings.Value,
                                    Mode=OneWay}" />
 
         <Button
@@ -43,7 +43,7 @@
                     Margin="0"
                     MaxWidth="240"
                     Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.IsShowingBottomGallery}" />
+                    Text="{CompiledBinding Translation.IsShowingBottomGallery.Value}" />
             </StackPanel>
         </Button>
 
@@ -60,7 +60,8 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.ShowBottomGalleryWhenUiIsHidden}" />
+                Text="{CompiledBinding Translation.ShowBottomGalleryWhenUiIsHidden.Value,
+                                       Mode=OneWay}" />
         </ToggleButton>
 
         <TextBlock
@@ -68,7 +69,7 @@
             FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
             Margin="0,10,0,10"
             MaxWidth="300"
-            Text="{CompiledBinding Translation.ExpandedGalleryItemSize,
+            Text="{CompiledBinding Translation.ExpandedGalleryItemSize.Value,
                                    Mode=OneWay}" />
         <uc:FullGalleryItemSizeSlider />
         <TextBlock
@@ -85,7 +86,7 @@
             FontSize="12"
             Margin="0,10,0,10"
             MaxWidth="300"
-            Text="{CompiledBinding Translation.BottomGalleryItemSize,
+            Text="{CompiledBinding Translation.BottomGalleryItemSize.Value,
                                    Mode=OneWay}" />
         <uc:BottomGalleryItemSizeSlider />
         <TextBlock
@@ -102,7 +103,7 @@
             FontSize="12"
             Margin="0,10,0,15"
             MaxWidth="300"
-            Text="{CompiledBinding Translation.GalleryThumbnailStretch,
+            Text="{CompiledBinding Translation.GalleryThumbnailStretch.Value,
                                    Mode=OneWay}" />
         <ComboBox
             Background="{DynamicResource SecondaryBackgroundColor}"
@@ -113,12 +114,12 @@
             Padding="5,7,0,7"
             Width="300"
             x:Name="FullGalleryComboBox">
-            <ComboBoxItem Content="{CompiledBinding Translation.Uniform}" x:Name="FullGalleryUniformItem" />
-            <ComboBoxItem Content="{CompiledBinding Translation.UniformToFill}" x:Name="FullGalleryUniformToFillItem" />
-            <ComboBoxItem Content="{CompiledBinding Translation.Fill}" x:Name="FullGalleryFillItem" />
-            <ComboBoxItem Content="{CompiledBinding Translation.None}" x:Name="FullGalleryNoneItem" />
-            <ComboBoxItem Content="{CompiledBinding Translation.Square}" x:Name="FullGallerySquareItem" />
-            <ComboBoxItem Content="{CompiledBinding Translation.FillSquare}" x:Name="FullGalleryFillSquareItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.Uniform.Value, Mode=OneWay}" x:Name="FullGalleryUniformItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.UniformToFill.Value, Mode=OneWay}" x:Name="FullGalleryUniformToFillItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.Fill.Value, Mode=OneWay}" x:Name="FullGalleryFillItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.None.Value, Mode=OneWay}" x:Name="FullGalleryNoneItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.Square.Value, Mode=OneWay}" x:Name="FullGallerySquareItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.FillSquare.Value, Mode=OneWay}" x:Name="FullGalleryFillSquareItem" />
         </ComboBox>
 
         <TextBlock
@@ -127,7 +128,8 @@
             FontSize="12"
             Margin="0,3,0,15"
             MaxWidth="300"
-            Text="{CompiledBinding Translation.BottomGalleryThumbnailStretch}" />
+            Text="{CompiledBinding Translation.BottomGalleryThumbnailStretch.Value,
+                                   Mode=OneWay}" />
         <ComboBox
             Background="{DynamicResource SecondaryBackgroundColor}"
             BorderBrush="{DynamicResource MainBorderColor}"
@@ -137,12 +139,12 @@
             Padding="5,7,0,7"
             Width="300"
             x:Name="BottomGalleryComboBox">
-            <ComboBoxItem Content="{CompiledBinding Translation.Uniform}" x:Name="BottomGalleryUniformItem" />
-            <ComboBoxItem Content="{CompiledBinding Translation.UniformToFill}" x:Name="BottomGalleryUniformToFillItem" />
-            <ComboBoxItem Content="{CompiledBinding Translation.Fill}" x:Name="BottomGalleryFillItem" />
-            <ComboBoxItem Content="{CompiledBinding Translation.None}" x:Name="BottomGalleryNoneItem" />
-            <ComboBoxItem Content="{CompiledBinding Translation.Square}" x:Name="BottomGallerySquareItem" />
-            <ComboBoxItem Content="{CompiledBinding Translation.FillSquare}" x:Name="BottomGalleryFillSquareItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.Uniform.Value, Mode=OneWay}" x:Name="BottomGalleryUniformItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.UniformToFill.Value, Mode=OneWay}" x:Name="BottomGalleryUniformToFillItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.Fill.Value, Mode=OneWay}" x:Name="BottomGalleryFillItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.None.Value, Mode=OneWay}" x:Name="BottomGalleryNoneItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.Square.Value, Mode=OneWay}" x:Name="BottomGallerySquareItem" />
+            <ComboBoxItem Content="{CompiledBinding Translation.FillSquare.Value, Mode=OneWay}" x:Name="BottomGalleryFillSquareItem" />
         </ComboBox>
     </StackPanel>
 </UserControl>

+ 10 - 10
src/PicView.Avalonia/Views/GalleryView.axaml

@@ -21,7 +21,7 @@
 
         <Panel.ContextMenu>
             <ContextMenu Opened="MenuBase_OnOpened">
-                <MenuItem Header="{CompiledBinding Translation.Stretch, Mode=OneWay}">
+                <MenuItem Header="{CompiledBinding Translation.Stretch.Value, Mode=OneWay}">
                     <MenuItem.Icon>
                         <Image
                             Height="12"
@@ -31,48 +31,48 @@
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="Uniform"
-                        Header="{CompiledBinding Translation.Uniform,
+                        Header="{CompiledBinding Translation.Uniform.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsUniformMenuChecked}"
                         ToggleType="Radio" />
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="UniformToFill"
-                        Header="{CompiledBinding Translation.UniformToFill,
+                        Header="{CompiledBinding Translation.UniformToFill.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsUniformToFillMenuChecked}"
                         ToggleType="Radio" />
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="Fill"
-                        Header="{CompiledBinding Translation.Fill,
+                        Header="{CompiledBinding Translation.Fill.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsFillMenuChecked}"
                         ToggleType="Radio" />
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="None"
-                        Header="{CompiledBinding Translation.None,
+                        Header="{CompiledBinding Translation.None.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsNoneMenuChecked}"
                         ToggleType="Radio" />
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="Square"
-                        Header="{CompiledBinding Translation.Square,
+                        Header="{CompiledBinding Translation.Square.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsSquareMenuChecked}"
                         ToggleType="Radio" />
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="FillSquare"
-                        Header="{CompiledBinding Translation.FillSquare,
+                        Header="{CompiledBinding Translation.FillSquare.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsFillSquareMenuChecked}"
                         ToggleType="Radio" />
                 </MenuItem>
                 <MenuItem
-                    Header="{CompiledBinding Translation.ExpandedGalleryItemSize,
+                    Header="{CompiledBinding Translation.ExpandedGalleryItemSize.Value,
                                              Mode=OneWay}"
                     PointerPressed="Flyout_OnPointerPressed"
                     StaysOpenOnClick="True">
@@ -98,7 +98,7 @@
                 <Separator />
                 <MenuItem
                     Command="{CompiledBinding CloseGalleryCommand}"
-                    Header="{CompiledBinding Translation.HideBottomGallery,
+                    Header="{CompiledBinding Translation.HideBottomGallery.Value,
                                              Mode=OneWay}"
                     IsVisible="{CompiledBinding !IsFullGalleryOpen}">
                     <MenuItem.Icon>
@@ -112,7 +112,7 @@
                 </MenuItem>
                 <MenuItem
                     Command="{CompiledBinding ToggleGalleryCommand}"
-                    Header="{CompiledBinding Translation.CloseGallery,
+                    Header="{CompiledBinding Translation.CloseGallery.Value,
                                              Mode=OneWay}"
                     IsVisible="{CompiledBinding IsFullGalleryOpen}">
                     <MenuItem.Icon>

+ 7 - 7
src/PicView.Avalonia/Views/GeneralSettingsView.axaml

@@ -21,7 +21,7 @@
                 FontSize="14"
                 Foreground="{StaticResource SecondaryTextColor}"
                 Margin="0,20,0,20"
-                Text="{CompiledBinding Translation.ApplicationStartup,
+                Text="{CompiledBinding Translation.ApplicationStartup.Value,
                                        Mode=OneWay}" />
             <ComboBox
                 Background="{DynamicResource SecondaryBackgroundColor}"
@@ -32,8 +32,8 @@
                 Padding="5,7,0,7"
                 Width="300"
                 x:Name="ApplicationStartupBox">
-                <ComboBoxItem Content="{CompiledBinding Translation.None, Mode=OneWay}" />
-                <ComboBoxItem Content="{CompiledBinding Translation.OpenLastFile, Mode=OneWay}" />
+                <ComboBoxItem Content="{CompiledBinding Translation.None.Value, Mode=OneWay}" />
+                <ComboBoxItem Content="{CompiledBinding Translation.OpenLastFile.Value, Mode=OneWay}" />
             </ComboBox>
 
             <TextBlock
@@ -42,7 +42,7 @@
                 FontSize="14"
                 Foreground="{StaticResource SecondaryTextColor}"
                 Margin="0,20,0,20"
-                Text="{CompiledBinding Translation.FileManagement,
+                Text="{CompiledBinding Translation.FileManagement.Value,
                                        Mode=OneWay}" />
 
             <ToggleButton
@@ -58,7 +58,7 @@
                     Margin="0"
                     MaxWidth="240"
                     Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.ShowConfirmationDialogWhenPermanentlyDeletingFile,
+                    Text="{CompiledBinding Translation.ShowConfirmationDialogWhenPermanentlyDeletingFile.Value,
                                            Mode=OneWay}" />
             </ToggleButton>
 
@@ -75,7 +75,7 @@
                     Margin="0"
                     MaxWidth="240"
                     Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.ShowConfirmationDialogWhenMovingFileToRecycleBin,
+                    Text="{CompiledBinding Translation.ShowConfirmationDialogWhenMovingFileToRecycleBin.Value,
                                            Mode=OneWay}" />
             </ToggleButton>
 
@@ -93,7 +93,7 @@
                     Margin="0"
                     MaxWidth="240"
                     Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.SearchSubdirectory,
+                    Text="{CompiledBinding Translation.SearchSubdirectory.Value,
                                            Mode=OneWay}" />
             </ToggleButton>
 

Fișier diff suprimat deoarece este prea mare
+ 142 - 157
src/PicView.Avalonia/Views/ImageInfoView.axaml


+ 8 - 8
src/PicView.Avalonia/Views/ImageSettingsView.axaml

@@ -18,7 +18,7 @@
             FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
             FontSize="14"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.Image,
+            Text="{CompiledBinding Translation.Image.Value,
                                    Mode=OneWay}" />
 
         <ToggleButton
@@ -27,7 +27,7 @@
             Classes="altHover changeColor"
             IsChecked="{CompiledBinding IsStretched}"
             Margin="0,0,0,10"
-            ToolTip.Tip="{CompiledBinding Translation.Stretch,
+            ToolTip.Tip="{CompiledBinding Translation.Stretch.Value,
                                           Mode=OneWay}"
             Width="300">
             <TextBlock
@@ -35,7 +35,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.Stretch,
+                Text="{CompiledBinding Translation.Stretch.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -52,7 +52,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.IsScrolling,
+                Text="{CompiledBinding Translation.IsScrolling.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -70,7 +70,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.SideBySide,
+                Text="{CompiledBinding Translation.SideBySide.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -80,7 +80,7 @@
             FontSize="14"
             Foreground="{StaticResource SecondaryTextColor}"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.ImageAliasing,
+            Text="{CompiledBinding Translation.ImageAliasing.Value,
                                    Mode=OneWay}" />
         <ComboBox
             Background="{DynamicResource SecondaryBackgroundColor}"
@@ -91,8 +91,8 @@
             Padding="5,7,0,7"
             Width="300"
             x:Name="ImageAliasingBox">
-            <ComboBoxItem Content="{CompiledBinding Translation.HighQuality, Mode=OneWay}" />
-            <ComboBoxItem Content="{CompiledBinding Translation.None, Mode=OneWay}" />
+            <ComboBoxItem Content="{CompiledBinding Translation.HighQuality.Value, Mode=OneWay}" />
+            <ComboBoxItem Content="{CompiledBinding Translation.None.Value, Mode=OneWay}" />
         </ComboBox>
 
     </StackPanel>

Fișier diff suprimat deoarece este prea mare
+ 237 - 119
src/PicView.Avalonia/Views/KeybindingsView.axaml


+ 1 - 1
src/PicView.Avalonia/Views/LanguageView.axaml

@@ -11,7 +11,7 @@
             FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
             FontSize="14"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.Language,
+            Text="{CompiledBinding Translation.Language.Value,
                                    Mode=OneWay}" />
         <ComboBox
             AutoScrollToSelectedItem="True"

+ 108 - 122
src/PicView.Avalonia/Views/MainView.axaml

@@ -30,7 +30,7 @@
             <!--  Open  -->
             <MenuItem
                 Command="{CompiledBinding OpenFileCommand}"
-                Header="{CompiledBinding Translation.Open,
+                Header="{CompiledBinding Translation.Open.Value,
                                          Mode=OneWay}"
                 MinWidth="180">
                 <MenuItem.Icon>
@@ -46,9 +46,9 @@
             <!--  Save  -->
             <MenuItem
                 Command="{CompiledBinding SaveFileCommand}"
-                Header="{CompiledBinding Translation.Save,
+                Header="{CompiledBinding Translation.Save.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                 <MenuItem.Icon>
                     <Path
@@ -63,9 +63,9 @@
             <!--  Save as  -->
             <MenuItem
                 Command="{CompiledBinding SaveFileAsCommand}"
-                Header="{CompiledBinding Translation.SaveAs,
+                Header="{CompiledBinding Translation.SaveAs.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                 <MenuItem.Icon>
                     <Path
@@ -80,11 +80,11 @@
             <!--  Print  -->
             <MenuItem
                 Command="{CompiledBinding PrintCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
-                Header="{CompiledBinding Translation.Print,
+                Header="{CompiledBinding Translation.Print.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}"
                 x:Name="PrintMenuItem">
                 <MenuItem.Icon>
@@ -100,11 +100,11 @@
             <!--  Open with  -->
             <MenuItem
                 Command="{CompiledBinding OpenWithCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
-                Header="{CompiledBinding Translation.OpenWith,
+                Header="{CompiledBinding Translation.OpenWith.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}"
                 x:Name="OpenWithMenuItem">
                 <MenuItem.Icon>
@@ -120,11 +120,11 @@
             <!--  Locate on disk  -->
             <MenuItem
                 Command="{CompiledBinding LocateOnDiskCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
-                Header="{CompiledBinding Translation.ShowInFolder,
+                Header="{CompiledBinding Translation.ShowInFolder.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                 <MenuItem.Icon>
                     <Path
@@ -139,7 +139,7 @@
             <Separator />
 
             <!--  Sort files by  -->
-            <MenuItem Header="{CompiledBinding Translation.SortFilesBy, Mode=OneWay}">
+            <MenuItem Header="{CompiledBinding Translation.SortFilesBy.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Path
                         Data="M666 481q-60 92-137 273-22-45-37-72.5t-40.5-63.5-51-56.5-63-35-81.5-14.5h-224q-14 0-23-9t-9-23v-192q0-14 9-23t23-9h224q250 0 410 225zm1126 799q0 14-9 23l-320 320q-9 9-23 9-13 0-22.5-9.5t-9.5-22.5v-192q-32 0-85 .5t-81 1-73-1-71-5-64-10.5-63-18.5-58-28.5-59-40-55-53.5-56-69.5q59-93 136-273 22 45 37 72.5t40.5 63.5 51 56.5 63 35 81.5 14.5h256v-192q0-14 9-23t23-9q12 0 24 10l319 319q9 9 9 23zm0-896q0 14-9 23l-320 320q-9 9-23 9-13 0-22.5-9.5t-9.5-22.5v-192h-256q-48 0-87 15t-69 45-51 61.5-45 77.5q-32 62-78 171-29 66-49.5 111t-54 105-64 100-74 83-90 68.5-106.5 42-128 16.5h-224q-14 0-23-9t-9-23v-192q0-14 9-23t23-9h224q48 0 87-15t69-45 51-61.5 45-77.5q32-62 78-171 29-66 49.5-111t54-105 64-100 74-83 90-68.5 106.5-42 128-16.5h256v-192q0-14 9-23t23-9q12 0 24 10l319 319q9 9 9 23z"
@@ -153,7 +153,7 @@
                 <MenuItem
                     Command="{CompiledBinding SortFilesByNameCommand}"
                     GroupName="SortType"
-                    Header="{CompiledBinding Translation.FileName,
+                    Header="{CompiledBinding Translation.FileName.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding SortOrder,
                                                 Converter={StaticResource EnumToBoolConverter},
@@ -164,7 +164,7 @@
                 <MenuItem
                     Command="{CompiledBinding SortFilesBySizeCommand}"
                     GroupName="SortType"
-                    Header="{CompiledBinding Translation.FileSize,
+                    Header="{CompiledBinding Translation.FileSize.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding SortOrder,
                                                 Converter={StaticResource EnumToBoolConverter},
@@ -175,7 +175,7 @@
                 <MenuItem
                     Command="{CompiledBinding SortFilesByExtensionCommand}"
                     GroupName="SortType"
-                    Header="{CompiledBinding Translation.FileExtension,
+                    Header="{CompiledBinding Translation.FileExtension.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding SortOrder,
                                                 Converter={StaticResource EnumToBoolConverter},
@@ -186,7 +186,7 @@
                 <MenuItem
                     Command="{CompiledBinding SortFilesByCreationTimeCommand}"
                     GroupName="SortType"
-                    Header="{CompiledBinding Translation.Created,
+                    Header="{CompiledBinding Translation.Created.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding SortOrder,
                                                 Converter={StaticResource EnumToBoolConverter},
@@ -197,7 +197,7 @@
                 <MenuItem
                     Command="{CompiledBinding SortFilesByLastAccessTimeCommand}"
                     GroupName="SortType"
-                    Header="{CompiledBinding Translation.LastAccessTime,
+                    Header="{CompiledBinding Translation.LastAccessTime.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding SortOrder,
                                                 Converter={StaticResource EnumToBoolConverter},
@@ -208,7 +208,7 @@
                 <MenuItem
                     Command="{CompiledBinding SortFilesRandomlyCommand}"
                     GroupName="SortType"
-                    Header="{CompiledBinding Translation.Random,
+                    Header="{CompiledBinding Translation.Random.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding SortOrder,
                                                 Converter={StaticResource EnumToBoolConverter},
@@ -221,7 +221,7 @@
                 <MenuItem
                     Command="{CompiledBinding SortFilesAscendingCommand}"
                     GroupName="SortDirection"
-                    Header="{CompiledBinding Translation.Ascending,
+                    Header="{CompiledBinding Translation.Ascending.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding IsAscending}"
                     ToggleType="Radio" />
@@ -230,7 +230,7 @@
                 <MenuItem
                     Command="{CompiledBinding SortFilesDescendingCommand}"
                     GroupName="SortDirection"
-                    Header="{CompiledBinding Translation.Descending,
+                    Header="{CompiledBinding Translation.Descending.Value,
                                              Mode=OneWay}"
                     ToggleType="Radio" />
             </MenuItem>
@@ -267,7 +267,8 @@
                                         Classes="txt"
                                         Foreground="{DynamicResource MainTextColor}"
                                         Margin="5,0,0,0"
-                                        Text="{CompiledBinding Translation.Clear}"
+                                        Text="{CompiledBinding Translation.Clear.Value,
+                                                               Mode=OneWay}"
                                         x:Name="HistoryClearTextBlock" />
                                 </StackPanel>
                             </Button>
@@ -291,7 +292,8 @@
                                         Classes="txt"
                                         Foreground="{DynamicResource MainTextColor}"
                                         Margin="5,0,0,0"
-                                        Text="{CompiledBinding Translation.OpenFileHistory}"
+                                        Text="{CompiledBinding Translation.OpenFileHistory.Value,
+                                                               Mode=OneWay}"
                                         x:Name="HistoryFileNameTextBlock" />
                                 </StackPanel>
                             </Button>
@@ -326,7 +328,7 @@
             </MenuItem>
 
             <!--  Settings  -->
-            <MenuItem Header="{CompiledBinding Translation.Settings, Mode=OneWay}">
+            <MenuItem Header="{CompiledBinding Translation.Settings.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource WrenchGeometry}"
@@ -339,7 +341,7 @@
                 <!--  Toggle Subdirectories  -->
                 <MenuItem
                     Command="{CompiledBinding ToggleSubdirectoriesCommand}"
-                    Header="{CompiledBinding Translation.SearchSubdirectory,
+                    Header="{CompiledBinding Translation.SearchSubdirectory.Value,
                                              Mode=OneWay}"
                     IsChecked="{Binding IsIncludingSubdirectories}"
                     ToggleType="CheckBox" />
@@ -348,7 +350,7 @@
 
                 <!--  Toggle looping  -->
                 <MenuItem
-                    Header="{CompiledBinding Translation.IsLooping,
+                    Header="{CompiledBinding Translation.IsLooping.Value,
                                              Mode=OneWay}"
                     IsChecked="{Binding IsLooping}"
                     ToggleType="CheckBox" />
@@ -357,7 +359,7 @@
 
                 <!--  Toggle scrolling  -->
                 <MenuItem
-                    Header="{CompiledBinding Translation.IsScrolling,
+                    Header="{CompiledBinding Translation.IsScrolling.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding IsScrollingEnabled}"
                     ToggleType="CheckBox" />
@@ -365,7 +367,7 @@
                 <!--  Toggle stretching  -->
                 <MenuItem
                     Command="{CompiledBinding StretchCommand}"
-                    Header="{CompiledBinding Translation.Stretch,
+                    Header="{CompiledBinding Translation.Stretch.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding IsStretched}"
                     ToggleType="CheckBox" />
@@ -373,7 +375,7 @@
                 <!--  Toggle side-by-side  -->
                 <MenuItem
                     Command="{CompiledBinding ShowSideBySideCommand}"
-                    Header="{CompiledBinding Translation.SideBySide,
+                    Header="{CompiledBinding Translation.SideBySide.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding PicViewer.IsShowingSideBySide}"
                     ToggleType="CheckBox" />
@@ -383,7 +385,7 @@
                 <!--  Toggle topmost  -->
                 <MenuItem
                     Command="{CompiledBinding ChangeTopMostCommand}"
-                    Header="{CompiledBinding Translation.StayTopMost,
+                    Header="{CompiledBinding Translation.StayTopMost.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding IsTopMost}"
                     ToggleType="CheckBox" />
@@ -391,7 +393,7 @@
                 <!--  Toggle auto fit  -->
                 <MenuItem
                     Command="{CompiledBinding ChangeAutoFitCommand}"
-                    Header="{CompiledBinding Translation.AutoFitWindow,
+                    Header="{CompiledBinding Translation.AutoFitWindow.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding IsAutoFit}"
                     ToggleType="CheckBox" />
@@ -399,7 +401,7 @@
                 <Separator />
 
                 <!--  Toggle ctrl zoom  -->
-                <MenuItem Command="{CompiledBinding ChangeCtrlZoomCommand}" Header="{CompiledBinding Translation.IsCtrlToZoom, Mode=OneWay}">
+                <MenuItem Command="{CompiledBinding ChangeCtrlZoomCommand}" Header="{CompiledBinding Translation.IsCtrlToZoom.Value, Mode=OneWay}">
                     <MenuItem.Icon>
                         <Image
                             Height="12"
@@ -413,7 +415,7 @@
                 <!--  Toggle UI  -->
                 <MenuItem
                     Command="{CompiledBinding ToggleUICommand}"
-                    Header="{CompiledBinding Translation.IsShowingUI,
+                    Header="{CompiledBinding Translation.IsShowingUI.Value,
                                              Mode=OneWay}"
                     IsVisible="{CompiledBinding IsUIShown,
                                                 Mode=OneWay}">
@@ -427,7 +429,7 @@
 
                 <MenuItem
                     Command="{CompiledBinding ToggleUICommand}"
-                    Header="{CompiledBinding Translation.IsShowingUI,
+                    Header="{CompiledBinding Translation.IsShowingUI.Value,
                                              Mode=OneWay}"
                     IsVisible="{CompiledBinding !IsUIShown,
                                                 Mode=OneWay}">
@@ -442,7 +444,7 @@
                 <!--  Change background  -->
                 <MenuItem
                     Command="{CompiledBinding ChangeBackgroundCommand}"
-                    Header="{CompiledBinding Translation.ChangeBackground,
+                    Header="{CompiledBinding Translation.ChangeBackground.Value,
                                              Mode=OneWay}"
                     StaysOpenOnClick="True">
                     <MenuItem.Icon>
@@ -456,7 +458,7 @@
                 <!--  Toggle bottom gallery  -->
                 <MenuItem
                     Command="{CompiledBinding ToggleBottomGalleryCommand}"
-                    Header="{CompiledBinding Translation.IsShowingBottomGallery,
+                    Header="{CompiledBinding Translation.IsShowingBottomGallery.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding IsBottomGalleryShown}">
                     <MenuItem.Icon>
@@ -476,7 +478,7 @@
                 <!--  Toggle bottom bar  -->
                 <MenuItem
                     Command="{CompiledBinding ToggleBottomNavBarCommand}"
-                    Header="{CompiledBinding Translation.ShowBottomToolbar,
+                    Header="{CompiledBinding Translation.ShowBottomToolbar.Value,
                                              Mode=OneWay}"
                     IsChecked="{CompiledBinding IsBottomToolbarShown}"
                     IsVisible="{CompiledBinding !IsBottomToolbarShown}"
@@ -492,7 +494,7 @@
                 <Separator />
 
                 <!--  Show Settings window  -->
-                <MenuItem Command="{CompiledBinding ShowSettingsWindowCommand}" Header="{CompiledBinding Translation.ShowAllSettingsWindow, Mode=OneWay}">
+                <MenuItem Command="{CompiledBinding ShowSettingsWindowCommand}" Header="{CompiledBinding Translation.ShowAllSettingsWindow.Value, Mode=OneWay}">
                     <MenuItem.Icon>
                         <Path
                             Data="M262.29 192.31a64 64 0 1057.4 57.4 64.13 64.13 0 00-57.4-57.4zM416.39 256a154.34 154.34 0 01-1.53 20.79l45.21 35.46a10.81 10.81 0 012.45 13.75l-42.77 74a10.81 10.81 0 01-13.14 4.59l-44.9-18.08a16.11 16.11 0 00-15.17 1.75A164.48 164.48 0 01325 400.8a15.94 15.94 0 00-8.82 12.14l-6.73 47.89a11.08 11.08 0 01-10.68 9.17h-85.54a11.11 11.11 0 01-10.69-8.87l-6.72-47.82a16.07 16.07 0 00-9-12.22 155.3 155.3 0 01-21.46-12.57 16 16 0 00-15.11-1.71l-44.89 18.07a10.81 10.81 0 01-13.14-4.58l-42.77-74a10.8 10.8 0 012.45-13.75l38.21-30a16.05 16.05 0 006-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 00-6.07-13.94l-38.19-30A10.81 10.81 0 0149.48 186l42.77-74a10.81 10.81 0 0113.14-4.59l44.9 18.08a16.11 16.11 0 0015.17-1.75A164.48 164.48 0 01187 111.2a15.94 15.94 0 008.82-12.14l6.73-47.89A11.08 11.08 0 01213.23 42h85.54a11.11 11.11 0 0110.69 8.87l6.72 47.82a16.07 16.07 0 009 12.22 155.3 155.3 0 0121.46 12.57 16 16 0 0015.11 1.71l44.89-18.07a10.81 10.81 0 0113.14 4.58l42.77 74a10.8 10.8 0 01-2.45 13.75l-38.21 30a16.05 16.05 0 00-6.05 14.08c.33 4.14.55 8.3.55 12.47z"
@@ -507,7 +509,7 @@
             <Separator />
 
             <!--  Navigation  -->
-            <MenuItem Header="{CompiledBinding Translation.Navigation, Mode=OneWay}">
+            <MenuItem Header="{CompiledBinding Translation.Navigation.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Image
                         Height="14"
@@ -518,9 +520,9 @@
                 <!--  Next  -->
                 <MenuItem
                     Command="{CompiledBinding NextCommand}"
-                    Header="{CompiledBinding Translation.NextImage,
+                    Header="{CompiledBinding Translation.NextImage.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     StaysOpenOnClick="True">
                     <MenuItem.Icon>
@@ -534,9 +536,9 @@
                 <!--  Prev  -->
                 <MenuItem
                     Command="{CompiledBinding PreviousCommand}"
-                    Header="{CompiledBinding Translation.PrevImage,
+                    Header="{CompiledBinding Translation.PrevImage.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     StaysOpenOnClick="True">
                     <MenuItem.Icon>
@@ -552,9 +554,9 @@
                 <!--  Next 10  -->
                 <MenuItem
                     Command="{CompiledBinding Skip10Command}"
-                    Header="{CompiledBinding Translation.AdvanceBy10Images,
+                    Header="{CompiledBinding Translation.AdvanceBy10Images.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     StaysOpenOnClick="True">
                     <MenuItem.Icon>
@@ -568,9 +570,9 @@
                 <!--  Next 100  -->
                 <MenuItem
                     Command="{CompiledBinding Skip100Command}"
-                    Header="{CompiledBinding Translation.AdvanceBy100Images,
+                    Header="{CompiledBinding Translation.AdvanceBy100Images.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     StaysOpenOnClick="True">
                     <MenuItem.Icon>
@@ -584,9 +586,9 @@
                 <!--  Prev 10  -->
                 <MenuItem
                     Command="{CompiledBinding Prev10Command}"
-                    Header="{CompiledBinding Translation.GoBackBy10Images,
+                    Header="{CompiledBinding Translation.GoBackBy10Images.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     StaysOpenOnClick="True">
                     <MenuItem.Icon>
@@ -600,9 +602,9 @@
                 <!--  Prev 100  -->
                 <MenuItem
                     Command="{CompiledBinding Prev100Command}"
-                    Header="{CompiledBinding Translation.GoBackBy100Images,
+                    Header="{CompiledBinding Translation.GoBackBy100Images.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     StaysOpenOnClick="True">
                     <MenuItem.Icon>
@@ -618,8 +620,9 @@
                 <!--  First Image  -->
                 <MenuItem
                     Command="{CompiledBinding FirstCommand}"
-                    Header="{CompiledBinding Translation.FirstImage}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    Header="{CompiledBinding Translation.FirstImage.Value,
+                                             Mode=OneWay}"
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                         <Image
@@ -632,9 +635,9 @@
                 <!--  Last Image  -->
                 <MenuItem
                     Command="{CompiledBinding LastCommand}"
-                    Header="{CompiledBinding Translation.LastImage,
+                    Header="{CompiledBinding Translation.LastImage.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                         <Image
@@ -649,9 +652,9 @@
                 <!--  Next folder  -->
                 <MenuItem
                     Command="{CompiledBinding NextFolderCommand}"
-                    Header="{CompiledBinding Translation.NextFolder,
+                    Header="{CompiledBinding Translation.NextFolder.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                         <Image
@@ -664,9 +667,9 @@
                 <!--  Prev folder  -->
                 <MenuItem
                     Command="{CompiledBinding PreviousFolderCommand}"
-                    Header="{CompiledBinding Translation.PrevFolder,
+                    Header="{CompiledBinding Translation.PrevFolder.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                         <Image
@@ -682,11 +685,11 @@
             <!--  Set as wallpaper  -->
             <MenuItem
                 Command="{CompiledBinding SetAsWallpaperCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
-                Header="{CompiledBinding Translation.SetAsWallpaper,
+                Header="{CompiledBinding Translation.SetAsWallpaper.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                 <MenuItem.Icon>
                     <Path
@@ -701,7 +704,7 @@
             <Separator />
 
             <!--  Image  -->
-            <MenuItem Header="{CompiledBinding Translation.Image, Mode=OneWay}">
+            <MenuItem Header="{CompiledBinding Translation.Image.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Image
                         Height="12"
@@ -710,7 +713,7 @@
                 </MenuItem.Icon>
 
                 <!--  Exif window  -->
-                <MenuItem Command="{CompiledBinding ShowExifWindowCommand}" Header="{CompiledBinding Translation.ImageInfo, Mode=OneWay}">
+                <MenuItem Command="{CompiledBinding ShowExifWindowCommand}" Header="{CompiledBinding Translation.ImageInfo.Value, Mode=OneWay}">
                     <MenuItem.Icon>
                         <Path
                             Data="{StaticResource ImageInfoGeometry}"
@@ -724,11 +727,11 @@
                 <!--  File properties  -->
                 <MenuItem
                     Command="{CompiledBinding FilePropertiesCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
-                    Header="{CompiledBinding Translation.FileProperties,
+                    Header="{CompiledBinding Translation.FileProperties.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                         <Path
@@ -741,7 +744,7 @@
                 </MenuItem>
 
                 <!--  Single image resize  -->
-                <MenuItem Command="{CompiledBinding ShowSingleImageResizeWindowCommand}" Header="{CompiledBinding Translation.ResizeImage, Mode=OneWay}">
+                <MenuItem Command="{CompiledBinding ShowSingleImageResizeWindowCommand}" Header="{CompiledBinding Translation.ResizeImage.Value, Mode=OneWay}">
                     <MenuItem.Icon>
                         <Image
                             Height="12"
@@ -751,7 +754,7 @@
                 </MenuItem>
 
                 <!--  Batch resize  -->
-                <MenuItem Command="{CompiledBinding ShowBatchResizeWindowCommand}" Header="{CompiledBinding Translation.BatchResize, Mode=OneWay}">
+                <MenuItem Command="{CompiledBinding ShowBatchResizeWindowCommand}" Header="{CompiledBinding Translation.BatchResize.Value, Mode=OneWay}">
                     <MenuItem.Icon>
                         <Image
                             Height="12"
@@ -765,7 +768,7 @@
                 <!--  Optimize image  -->
                 <MenuItem
                     Command="{CompiledBinding OptimizeImageCommand}"
-                    Header="{CompiledBinding Translation.OptimizeImage,
+                    Header="{CompiledBinding Translation.OptimizeImage.Value,
                                              Mode=OneWay}"
                     IsEnabled="{CompiledBinding ShouldOptimizeImageBeEnabled,
                                                 Mode=OneWay}">
@@ -782,7 +785,7 @@
                 <!--  Crop  -->
                 <MenuItem
                     Command="{CompiledBinding CropCommand}"
-                    Header="{CompiledBinding Translation.Crop,
+                    Header="{CompiledBinding Translation.Crop.Value,
                                              Mode=OneWay}"
                     IsEnabled="{CompiledBinding ShouldCropBeEnabled,
                                                 Mode=OneWay}"
@@ -802,8 +805,9 @@
                 <!--  Flip  -->
                 <MenuItem
                     Command="{CompiledBinding FlipCommand}"
-                    Header="{CompiledBinding Translation.IsFlipped}"
-                    IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                    Header="{CompiledBinding Translation.IsFlipped.Value,
+                                             Mode=OneWay}"
+                    IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     StaysOpenOnClick="True">
                     <MenuItem.Icon>
@@ -814,7 +818,7 @@
                             Stretch="Fill"
                             Width="12">
                             <Path.RenderTransform>
-                                <ScaleTransform ScaleX="{CompiledBinding PicViewer.ScaleX}" />
+                                <ScaleTransform ScaleX="{CompiledBinding PicViewer.ScaleX.Value}" />
                             </Path.RenderTransform>
                         </Path>
                     </MenuItem.Icon>
@@ -823,9 +827,9 @@
                 <!--  Rotate left  -->
                 <MenuItem
                     Command="{CompiledBinding RotateLeftCommand}"
-                    Header="{CompiledBinding Translation.RotateLeft,
+                    Header="{CompiledBinding Translation.RotateLeft.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                    IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     StaysOpenOnClick="True">
                     <MenuItem.Icon>
@@ -841,9 +845,9 @@
                 <!--  Rotate right  -->
                 <MenuItem
                     Command="{CompiledBinding RotateRightCommand}"
-                    Header="{CompiledBinding Translation.RotateRight,
+                    Header="{CompiledBinding Translation.RotateRight.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                    IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     StaysOpenOnClick="True">
                     <MenuItem.Icon>
@@ -862,11 +866,11 @@
             <!--  Delete file  -->
             <MenuItem
                 Command="{CompiledBinding RecycleFileCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
-                Header="{CompiledBinding Translation.DeleteFile,
+                Header="{CompiledBinding Translation.DeleteFile.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                 <MenuItem.Icon>
                     <Path
@@ -881,7 +885,7 @@
             <Separator />
 
             <!--  Paste  -->
-            <MenuItem Command="{CompiledBinding PasteCommand}" Header="{CompiledBinding Translation.Paste, Mode=OneWay}">
+            <MenuItem Command="{CompiledBinding PasteCommand}" Header="{CompiledBinding Translation.Paste.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource PasteGeometry}"
@@ -895,9 +899,9 @@
             <!--  Copy  -->
             <MenuItem
                 Command="{CompiledBinding CopyFileCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
-                Header="{CompiledBinding Translation.Copy,
+                Header="{CompiledBinding Translation.Copy.Value,
                                          Mode=OneWay}">
                 <MenuItem.Icon>
                     <Path
@@ -911,9 +915,9 @@
                 <!--  Copy image  -->
                 <MenuItem
                     Command="{CompiledBinding CopyImageCommand}"
-                    Header="{CompiledBinding Translation.CopyImage,
+                    Header="{CompiledBinding Translation.CopyImage.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                    IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                         <Path
@@ -928,10 +932,10 @@
                 <!--  Copy file path  -->
                 <MenuItem
                     Command="{CompiledBinding CopyFilePathCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
-                    Header="{Binding Translation.FileCopyPath, Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    Header="{Binding Translation.FileCopyPath.Value, Mode=OneWay}"
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                         <Path
@@ -946,13 +950,13 @@
                 <!--  Copy base64  -->
                 <MenuItem
                     Command="{CompiledBinding CopyBase64Command}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Header>
                         <TextBlock>
-                            <Run Text="{CompiledBinding Translation.Copy, Mode=OneWay}" />
+                            <Run Text="{CompiledBinding Translation.Copy.Value, Mode=OneWay}" />
                             <Run Text=" base64" />
                         </TextBlock>
                     </MenuItem.Header>
@@ -971,11 +975,11 @@
                 <!--  Duplicate file  -->
                 <MenuItem
                     Command="{CompiledBinding DuplicateFileCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
-                    Header="{CompiledBinding Translation.DuplicateFile,
+                    Header="{CompiledBinding Translation.DuplicateFile.Value,
                                              Mode=OneWay}"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}">
                     <MenuItem.Icon>
                         <Path
@@ -987,34 +991,16 @@
                     </MenuItem.Icon>
                 </MenuItem>
 
-                <!--  Cut  -->
-                <!--  <MenuItem  -->
-                <!--  Command="{CompiledBinding CutCommand}"  -->
-                <!--  CommandParameter="{CompiledBinding PicViewer.FileInfo.FullName,  -->
-                <!--  FallbackValue=''}"  -->
-                <!--  Header="{CompiledBinding Translation.FileCut,  -->
-                <!--  Mode=OneWay}"  -->
-                <!--  IsEnabled="False">  -->
-                <!--     <MenuItem.Icon> -->
-                <!--  <Path  -->
-                <!--  Data="{StaticResource CutGeometry}"  -->
-                <!--  Fill="{StaticResource Brush0}"  -->
-                <!--  Height="12"  -->
-                <!--  Stretch="Fill"  -->
-                <!--  Width="12" />  -->
-                <!--     </MenuItem.Icon> -->
-                <!-- </MenuItem> -->
-
             </MenuItem>
 
             <!--  Copy file  -->
             <MenuItem
                 Command="{CompiledBinding CopyFileCommand}"
-                CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                    FallbackValue=''}"
-                Header="{CompiledBinding Translation.CopyFile,
+                Header="{CompiledBinding Translation.CopyFile.Value,
                                          Mode=OneWay}"
-                IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                             Converter={x:Static ObjectConverters.IsNotNull}}">
                 <MenuItem.Icon>
                     <Path
@@ -1031,7 +1017,7 @@
             <!--  Fullscreen  -->
             <MenuItem
                 Command="{CompiledBinding ToggleFullscreenCommand}"
-                Header="{CompiledBinding Translation.Fullscreen,
+                Header="{CompiledBinding Translation.Fullscreen.Value,
                                          Mode=OneWay}"
                 IsVisible="{CompiledBinding !IsFullscreen,
                                             Mode=OneWay}">
@@ -1048,7 +1034,7 @@
             <!--  Maximize  -->
             <MenuItem
                 Command="{CompiledBinding MaximizeCommand}"
-                Header="{CompiledBinding Translation.Maximize,
+                Header="{CompiledBinding Translation.Maximize.Value,
                                          Mode=OneWay}"
                 IsVisible="{CompiledBinding ShouldMaximizeBeShown,
                                             Mode=OneWay}"
@@ -1065,7 +1051,7 @@
             <!--  Restore  -->
             <MenuItem
                 Command="{CompiledBinding RestoreCommand}"
-                Header="{CompiledBinding Translation.RestoreDown,
+                Header="{CompiledBinding Translation.RestoreDown.Value,
                                          Mode=OneWay}"
                 IsVisible="{CompiledBinding ShouldRestore,
                                             Mode=OneWay}">
@@ -1080,7 +1066,7 @@
             </MenuItem>
 
             <!--  Close  -->
-            <MenuItem Command="{CompiledBinding ExitCommand}" Header="{CompiledBinding Translation.Close, Mode=OneWay}">
+            <MenuItem Command="{CompiledBinding ExitCommand}" Header="{CompiledBinding Translation.Close.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource CloseGeometry}"

+ 11 - 11
src/PicView.Avalonia/Views/MouseView.axaml

@@ -19,7 +19,7 @@
             FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
             FontSize="14"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.MouseSideButtons,
+            Text="{CompiledBinding Translation.MouseSideButtons.Value,
                                    Mode=OneWay}" />
 
         <ComboBox
@@ -31,9 +31,9 @@
             Padding="5,7,0,7"
             Width="300"
             x:Name="MouseSideButtonBox">
-            <ComboBoxItem Content="{CompiledBinding Translation.NavigateFileHistory, Mode=OneWay}" />
-            <ComboBoxItem Content="{CompiledBinding Translation.NavigateBetweenDirectories, Mode=OneWay}" />
-            <ComboBoxItem Content="{CompiledBinding Translation.None, Mode=OneWay}" />
+            <ComboBoxItem Content="{CompiledBinding Translation.NavigateFileHistory.Value, Mode=OneWay}" />
+            <ComboBoxItem Content="{CompiledBinding Translation.NavigateBetweenDirectories.Value, Mode=OneWay}" />
+            <ComboBoxItem Content="{CompiledBinding Translation.None.Value, Mode=OneWay}" />
         </ComboBox>
 
         <TextBlock
@@ -41,7 +41,7 @@
             FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
             FontSize="14"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.MouseWheel,
+            Text="{CompiledBinding Translation.MouseWheel.Value,
                                    Mode=OneWay}" />
 
         <ComboBox
@@ -53,8 +53,8 @@
             Padding="5,7,0,7"
             Width="300"
             x:Name="MouseWheelBox">
-            <ComboBoxItem Content="{CompiledBinding Translation.CtrlToZoom, Mode=OneWay}" />
-            <ComboBoxItem Content="{CompiledBinding Translation.ScrollToZoom, Mode=OneWay}" />
+            <ComboBoxItem Content="{CompiledBinding Translation.CtrlToZoom.Value, Mode=OneWay}" />
+            <ComboBoxItem Content="{CompiledBinding Translation.ScrollToZoom.Value, Mode=OneWay}" />
         </ComboBox>
 
         <TextBlock
@@ -63,7 +63,7 @@
             FontSize="14"
             Margin="0,10,0,10"
             MaxWidth="300"
-            Text="{CompiledBinding Translation.ScrollDirection,
+            Text="{CompiledBinding Translation.ScrollDirection.Value,
                                    Mode=OneWay}" />
         <ComboBox
             Background="{DynamicResource SecondaryBackgroundColor}"
@@ -74,8 +74,8 @@
             Padding="5,7,0,7"
             Width="300"
             x:Name="ScrollDirectionBox">
-            <ComboBoxItem Content="{CompiledBinding Translation.Reverse, Mode=OneWay}" />
-            <ComboBoxItem Content="{CompiledBinding Translation.Forward, Mode=OneWay}" />
+            <ComboBoxItem Content="{CompiledBinding Translation.Reverse.Value, Mode=OneWay}" />
+            <ComboBoxItem Content="{CompiledBinding Translation.Forward.Value, Mode=OneWay}" />
         </ComboBox>
 
         <Button
@@ -139,7 +139,7 @@
                     Margin="0"
                     MaxWidth="240"
                     Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.IsUsingTouchpad,
+                    Text="{CompiledBinding Translation.IsUsingTouchpad.Value,
                                            Mode=OneWay}" />
             </StackPanel>
         </Button>

+ 7 - 7
src/PicView.Avalonia/Views/NavigationView.axaml

@@ -19,7 +19,7 @@
             FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
             FontSize="14"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.Navigation,
+            Text="{CompiledBinding Translation.Navigation.Value,
                                    Mode=OneWay}" />
 
         <ToggleButton
@@ -35,7 +35,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.SearchSubdirectory,
+                Text="{CompiledBinding Translation.SearchSubdirectory.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -46,7 +46,7 @@
             Command="{CompiledBinding ToggleLoopingCommand}"
             IsChecked="{CompiledBinding IsLooping}"
             Margin="0,0,0,10"
-            ToolTip.Tip="{CompiledBinding Translation.ToggleLooping,
+            ToolTip.Tip="{CompiledBinding Translation.ToggleLooping.Value,
                                           Mode=OneWay}"
             Width="300">
             <TextBlock
@@ -54,7 +54,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.IsLooping,
+                Text="{CompiledBinding Translation.IsLooping.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -72,7 +72,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.ToggleTaskbarProgress,
+                Text="{CompiledBinding Translation.ToggleTaskbarProgress.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -82,7 +82,7 @@
             FontSize="14"
             Margin="0,10,0,10"
             MaxWidth="300"
-            Text="{CompiledBinding Translation.AdjustNavSpeed,
+            Text="{CompiledBinding Translation.AdjustNavSpeed.Value,
                                    Mode=OneWay}" />
         <customControls:CustomSlider
             Height="30"
@@ -103,7 +103,7 @@
             Foreground="{DynamicResource MainTextColorFaded}"
             Margin="0,0,0,15">
             <Run Text="{CompiledBinding GetNavSpeed, Mode=OneWay}" />
-            <Run Text="{CompiledBinding Translation.SecAbbreviation, Mode=OneWay}" />
+            <Run Text="{CompiledBinding Translation.SecAbbreviation.Value, Mode=OneWay}" />
         </TextBlock>
     </StackPanel>
 </UserControl>

+ 21 - 16
src/PicView.Avalonia/Views/SettingsView.axaml

@@ -725,7 +725,7 @@
             <MenuItem
                 Command="{CompiledBinding ResetSettingsCommand}"
                 Foreground="{DynamicResource MainTextColor}"
-                Header="{CompiledBinding Translation.ResetButtonText,
+                Header="{CompiledBinding Translation.ResetButtonText.Value,
                                          Mode=OneWay}">
                 <MenuItem.Icon>
                     <Image
@@ -735,7 +735,7 @@
                 </MenuItem.Icon>
             </MenuItem>
             <Separator />
-            <MenuItem Header="{CompiledBinding Translation.Close}" x:Name="CloseItem">
+            <MenuItem Header="{CompiledBinding Translation.Close.Value, Mode=OneWay}" x:Name="CloseItem">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource CloseGeometry}"
@@ -787,7 +787,7 @@
                         <TextBlock
                             Classes="txt txtShadow"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{Binding Translation.GeneralSettings, Mode=OneWay}" />
+                            Text="{Binding Translation.GeneralSettings.Value, Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>
                 <customControls:AutoScrollViewer Background="Transparent" Height="{Binding Path=Bounds.Height, ElementName=MainTabControl}">
@@ -803,7 +803,7 @@
                         <TextBlock
                             Classes="txt txtShadow"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{Binding Translation.Appearance, Mode=OneWay}" />
+                            Text="{Binding Translation.Appearance.Value, Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>
                 <customControls:AutoScrollViewer Background="Transparent" Height="{Binding Path=Bounds.Height, ElementName=MainTabControl}">
@@ -822,7 +822,7 @@
                         <TextBlock
                             Classes="txt txtShadow"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{Binding Translation.Image, Mode=OneWay}" />
+                            Text="{Binding Translation.Image.Value, Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>
                 <customControls:AutoScrollViewer Background="Transparent" Height="{Binding Path=Bounds.Height, ElementName=MainTabControl}">
@@ -841,7 +841,7 @@
                         <TextBlock
                             Classes="txt txtShadow"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{Binding Translation.Window, Mode=OneWay}" />
+                            Text="{Binding Translation.Window.Value, Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>
                 <customControls:AutoScrollViewer Background="Transparent" Height="{Binding Path=Bounds.Height, ElementName=MainTabControl}">
@@ -860,7 +860,7 @@
                         <TextBlock
                             Classes="txt txtShadow"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{CompiledBinding Translation.GallerySettings,
+                            Text="{CompiledBinding Translation.GallerySettings.Value,
                                                    Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>
@@ -880,7 +880,7 @@
                         <TextBlock
                             Classes="txt txtShadow"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{CompiledBinding Translation.Slideshow,
+                            Text="{CompiledBinding Translation.Slideshow.Value,
                                                    Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>
@@ -900,7 +900,8 @@
                         <TextBlock
                             Classes="txt txtShadow"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{CompiledBinding Translation.Navigation}" />
+                            Text="{CompiledBinding Translation.Navigation.Value,
+                                                   Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>
 
@@ -920,7 +921,8 @@
                         <TextBlock
                             Classes="txt txtShadow"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{CompiledBinding Translation.Zoom}" />
+                            Text="{CompiledBinding Translation.Zoom.Value,
+                                                   Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>
                 <customControls:AutoScrollViewer Background="Transparent" Height="{Binding Path=Bounds.Height, ElementName=MainTabControl}">
@@ -939,7 +941,8 @@
                         <TextBlock
                             Classes="txt txtShadow"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{CompiledBinding Translation.Mouse}" />
+                            Text="{CompiledBinding Translation.Mouse.Value,
+                                                   Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>
                 <customControls:AutoScrollViewer Background="Transparent" Height="{Binding Path=Bounds.Height, ElementName=MainTabControl}">
@@ -958,7 +961,8 @@
                         <TextBlock
                             Classes="txt txtShadow"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{CompiledBinding Translation.Language}" />
+                            Text="{CompiledBinding Translation.Language.Value,
+                                                   Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>
                 <customControls:AutoScrollViewer Background="Transparent" Height="{Binding Path=Bounds.Height, ElementName=MainTabControl}">
@@ -977,7 +981,8 @@
                         <TextBlock
                             Classes="txt txtShadow"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{CompiledBinding Translation.ApplicationShortcuts}" />
+                            Text="{CompiledBinding Translation.ApplicationShortcuts.Value,
+                                                   Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>
                 <Button
@@ -988,7 +993,7 @@
                     HorizontalAlignment="Left"
                     Margin="65,50,0,20"
                     Padding="0,0,7,0"
-                    ToolTip.Tip="{CompiledBinding Translation.ApplicationShortcuts,
+                    ToolTip.Tip="{CompiledBinding Translation.ApplicationShortcuts.Value,
                                                   Mode=OneWay}"
                     VerticalAlignment="Top"
                     Width="NaN">
@@ -1001,7 +1006,7 @@
                         <TextBlock
                             Classes="txt"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{CompiledBinding Translation.ApplicationShortcuts,
+                            Text="{CompiledBinding Translation.ApplicationShortcuts.Value,
                                                    Mode=OneWay}" />
                     </StackPanel>
                 </Button>
@@ -1015,7 +1020,7 @@
                         <TextBlock
                             Classes="txt"
                             Foreground="{StaticResource SecondaryTextColor}"
-                            Text="{CompiledBinding Translation.FileAssociations,
+                            Text="{CompiledBinding Translation.FileAssociations.Value,
                                                    Mode=OneWay}" />
                     </StackPanel>
                 </TabItem.Header>

+ 10 - 10
src/PicView.Avalonia/Views/SingleImageResizeView.axaml

@@ -22,7 +22,7 @@
                             FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                             FontSize="14"
                             Margin="4,0,0,5"
-                            Text="{CompiledBinding Translation.Width,
+                            Text="{CompiledBinding Translation.Width.Value,
                                                    Mode=OneWay}" />
                         <customControls:NumTextBox
                             Background="{DynamicResource SecondaryBackgroundColor}"
@@ -33,7 +33,7 @@
                             Margin="0"
                             Text="{CompiledBinding PicViewer.PixelWidth.Value,
                                                    Mode=OneWay}"
-                            ToolTip.Tip="{CompiledBinding Translation.SizeTooltip,
+                            ToolTip.Tip="{CompiledBinding Translation.SizeTooltip.Value,
                                                           Mode=OneWay}"
                             Width="195"
                             x:Name="PixelWidthTextBox" />
@@ -69,7 +69,7 @@
                             FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                             FontSize="14"
                             Margin="4,0,0,5"
-                            Text="{CompiledBinding Translation.Height,
+                            Text="{CompiledBinding Translation.Height.Value,
                                                    Mode=OneWay}" />
                         <customControls:NumTextBox
                             Background="{DynamicResource SecondaryBackgroundColor}"
@@ -94,7 +94,7 @@
                             FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                             FontSize="14"
                             Margin="5,0,0,2"
-                            Text="{CompiledBinding Translation.Quality,
+                            Text="{CompiledBinding Translation.Quality.Value,
                                                    Mode=OneWay}" />
                         <customControls:CustomSlider
                             IsSnapToTickEnabled="True"
@@ -116,7 +116,7 @@
                             FontFamily="/Assets/Fonts/Roboto-Medium.ttf#Roboto"
                             FontSize="14"
                             Margin="5,0,0,5"
-                            Text="{CompiledBinding Translation.ConvertTo,
+                            Text="{CompiledBinding Translation.ConvertTo.Value,
                                                    Mode=OneWay}" />
                         <ComboBox
                             Background="{DynamicResource SecondaryBackgroundColor}"
@@ -131,7 +131,7 @@
                             SelectedIndex="0"
                             Width="195"
                             x:Name="ConversionComboBox">
-                            <ComboBoxItem Content="{CompiledBinding Translation.NoConversion, Mode=OneWay}" x:Name="NoConversion" />
+                            <ComboBoxItem Content="{CompiledBinding Translation.NoConversion.Value, Mode=OneWay}" x:Name="NoConversion" />
                             <ComboBoxItem Content=".png" x:Name="PngItem" />
                             <ComboBoxItem Content=".jpg" x:Name="JpgItem" />
                             <ComboBoxItem Content=".webp" x:Name="WebpItem" />
@@ -156,7 +156,7 @@
                     x:Name="ResetButton">
                     <TextBlock
                         Classes="txt"
-                        Text="{CompiledBinding Translation.Reset,
+                        Text="{CompiledBinding Translation.Reset.Value,
                                                Mode=OneWay}"
                         TextAlignment="Center" />
                 </Button>
@@ -169,7 +169,7 @@
                     x:Name="CancelButton">
                     <TextBlock
                         Classes="txt"
-                        Text="{CompiledBinding Translation.Cancel,
+                        Text="{CompiledBinding Translation.Cancel.Value,
                                                Mode=OneWay}"
                         TextAlignment="Center" />
                 </Button>
@@ -182,7 +182,7 @@
                     x:Name="SaveButton">
                     <TextBlock
                         Classes="txt"
-                        Text="{CompiledBinding Translation.Save,
+                        Text="{CompiledBinding Translation.Save.Value,
                                                Mode=OneWay}"
                         TextAlignment="Center" />
                     <SplitButton.Flyout>
@@ -194,7 +194,7 @@
                                 <TextBlock
                                     Classes="txt"
                                     Foreground="{DynamicResource MainTextColor}"
-                                    Text="{CompiledBinding Translation.SaveAs,
+                                    Text="{CompiledBinding Translation.SaveAs.Value,
                                                            Mode=OneWay}"
                                     TextAlignment="Center" />
                             </Button>

+ 3 - 3
src/PicView.Avalonia/Views/SlideshowSettingsView.axaml

@@ -20,7 +20,7 @@
             FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
             FontSize="14"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.Slideshow,
+            Text="{CompiledBinding Translation.Slideshow.Value,
                                    Mode=OneWay}" />
         <TextBlock
             Classes="txt"
@@ -28,7 +28,7 @@
             FontSize="12"
             Margin="0,10,0,10"
             MaxWidth="300"
-            Text="{CompiledBinding Translation.AdjustTimingForSlideshow,
+            Text="{CompiledBinding Translation.AdjustTimingForSlideshow.Value,
                                    Mode=OneWay}" />
         <customControls:CustomSlider
             Height="30"
@@ -47,7 +47,7 @@
             Foreground="{DynamicResource MainTextColorFaded}"
             Margin="0,0,0,15">
             <Run Text="{CompiledBinding GetSlideshowSpeed, Mode=OneWay}" />
-            <Run Text="{CompiledBinding Translation.SecAbbreviation, Mode=OneWay}" />
+            <Run Text="{CompiledBinding Translation.SecAbbreviation.Value, Mode=OneWay}" />
         </TextBlock>
     </StackPanel>
 </UserControl>

+ 6 - 3
src/PicView.Avalonia/Views/StartUpMenu.axaml

@@ -73,7 +73,8 @@
                         </Image.Source>
                     </Image>
                     <Label
-                        Content="{CompiledBinding Translation.SelectFile}"
+                        Content="{CompiledBinding Translation.SelectFile.Value,
+                                                  Mode=OneWay}"
                         FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
                         FontSize="14"
                         Foreground="{StaticResource SelectFileBrush}"
@@ -113,7 +114,8 @@
                         </Image.Source>
                     </Image>
                     <Label
-                        Content="{CompiledBinding Translation.OpenLastFile}"
+                        Content="{CompiledBinding Translation.OpenLastFile.Value,
+                                                  Mode=OneWay}"
                         FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
                         FontSize="14"
                         Foreground="{StaticResource OpenLastFileBrush}"
@@ -131,7 +133,8 @@
                         Stretch="Fill"
                         Width="20" />
                     <Label
-                        Content="{CompiledBinding Translation.Paste}"
+                        Content="{CompiledBinding Translation.Paste.Value,
+                                                  Mode=OneWay}"
                         FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
                         FontSize="14"
                         Foreground="{StaticResource PasteBrush}"

+ 2 - 1
src/PicView.Avalonia/Views/UC/Buttons/AltClose.axaml

@@ -21,7 +21,8 @@
         Height="30"
         HorizontalAlignment="Right"
         IsVisible="{CompiledBinding !IsUIShown}"
-        ToolTip.Tip="{Binding Translation.Close, Mode=OneWay}"
+        ToolTip.Tip="{CompiledBinding Translation.Close.Value,
+                                      Mode=OneWay}"
         VerticalAlignment="Top"
         Width="35"
         ZIndex="99"

+ 2 - 2
src/PicView.Avalonia/Views/UC/Buttons/PinButton.axaml

@@ -13,7 +13,7 @@
     <Panel>
         <Button
             Background="Transparent"
-            ToolTip.Tip="{CompiledBinding Translation.Pin,
+            ToolTip.Tip="{CompiledBinding Translation.Pin.Value,
                                           Mode=OneWay}"
             x:Name="PinBtn">
             <Image
@@ -23,7 +23,7 @@
         </Button>
         <Button
             Background="Transparent"
-            ToolTip.Tip="{CompiledBinding Translation.Unpin,
+            ToolTip.Tip="{CompiledBinding Translation.Unpin.Value,
                                           Mode=OneWay}"
             x:Name="UnPinBtn">
             <Image

+ 1 - 1
src/PicView.Avalonia/Views/UC/Buttons/SettingsMenuButton.axaml

@@ -53,7 +53,7 @@
                 <MenuItem
                     Command="{CompiledBinding ResetSettingsCommand}"
                     Foreground="{DynamicResource MainTextColor}"
-                    Header="{CompiledBinding Translation.ResetButtonText,
+                    Header="{CompiledBinding Translation.ResetButtonText.Value,
                                              Mode=OneWay}">
                     <MenuItem.Icon>
                         <Image

+ 5 - 5
src/PicView.Avalonia/Views/UC/CropControl.axaml

@@ -22,7 +22,7 @@
     </UserControl.Styles>
     <UserControl.ContextMenu>
         <ContextMenu x:Name="CropContextMenu">
-            <MenuItem Command="{CompiledBinding Crop.CropImageCommand}" Header="{CompiledBinding Translation.Crop, Mode=OneWay}">
+            <MenuItem Command="{CompiledBinding Crop.CropImageCommand}" Header="{CompiledBinding Translation.Crop.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource CropGeometry}"
@@ -32,7 +32,7 @@
                         Width="12" />
                 </MenuItem.Icon>
             </MenuItem>
-            <MenuItem Command="{CompiledBinding Crop.CopyCropImageCommand}" Header="{CompiledBinding Translation.Copy, Mode=OneWay}">
+            <MenuItem Command="{CompiledBinding Crop.CopyCropImageCommand}" Header="{CompiledBinding Translation.Copy.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource CopyGeometry}"
@@ -42,7 +42,7 @@
                         Width="12" />
                 </MenuItem.Icon>
             </MenuItem>
-            <MenuItem Command="{CompiledBinding Crop.CloseCropCommand}" Header="{CompiledBinding Translation.Close, Mode=OneWay}">
+            <MenuItem Command="{CompiledBinding Crop.CloseCropCommand}" Header="{CompiledBinding Translation.Close.Value, Mode=OneWay}">
                 <MenuItem.Icon>
                     <Path
                         Data="{StaticResource CloseGeometry}"
@@ -74,11 +74,11 @@
                     Classes="txt"
                     FontSize="14"
                     Foreground="{DynamicResource MainTextColor}">
-                    <Run Text="{CompiledBinding Translation.Width, Mode=OneWay}" />
+                    <Run Text="{CompiledBinding Translation.Width.Value, Mode=OneWay}" />
                     <Run Text=": " />
                     <Run Text="{CompiledBinding Crop.PixelSelectionWidth, Mode=OneWay}" />
                     <Run Text=" x " />
-                    <Run Text="{CompiledBinding Translation.Height, Mode=OneWay}" />
+                    <Run Text="{CompiledBinding Translation.Height.Value, Mode=OneWay}" />
                     <Run Text=": " />
                     <Run Text="{CompiledBinding Crop.PixelSelectionHeight, Mode=OneWay}" />
                 </TextBlock>

+ 21 - 29
src/PicView.Avalonia/Views/UC/GalleryItem.axaml

@@ -61,7 +61,7 @@
                     Command="{CompiledBinding PrintCommand}"
                     CommandParameter="{CompiledBinding Path=Text,
                                                        ElementName=FileLocation}"
-                    Header="{CompiledBinding Translation.Print,
+                    Header="{CompiledBinding Translation.Print.Value,
                                              Mode=OneWay}">
                     <MenuItem.Icon>
                         <Path
@@ -76,7 +76,7 @@
                     Command="{CompiledBinding OpenWithCommand}"
                     CommandParameter="{CompiledBinding Path=Text,
                                                        ElementName=FileLocation}"
-                    Header="{CompiledBinding Translation.OpenWith,
+                    Header="{CompiledBinding Translation.OpenWith.Value,
                                              Mode=OneWay}"
                     x:Name="OpenWith">
                     <MenuItem.Icon>
@@ -92,7 +92,7 @@
                     Command="{CompiledBinding LocateOnDiskCommand}"
                     CommandParameter="{CompiledBinding Path=Text,
                                                        ElementName=FileLocation}"
-                    Header="{CompiledBinding Translation.ShowInFolder,
+                    Header="{CompiledBinding Translation.ShowInFolder.Value,
                                              Mode=OneWay}">
                     <MenuItem.Icon>
                         <Path
@@ -108,7 +108,7 @@
                     Command="{CompiledBinding SetAsWallpaperCommand}"
                     CommandParameter="{CompiledBinding Path=Text,
                                                        ElementName=FileLocation}"
-                    Header="{CompiledBinding Translation.SetAsWallpaper,
+                    Header="{CompiledBinding Translation.SetAsWallpaper.Value,
                                              Mode=OneWay}">
                     <MenuItem.Icon>
                         <Path
@@ -124,7 +124,7 @@
                     Command="{CompiledBinding CopyFileCommand}"
                     CommandParameter="{CompiledBinding Path=Text,
                                                        ElementName=FileLocation}"
-                    Header="{CompiledBinding Translation.CopyFile,
+                    Header="{CompiledBinding Translation.CopyFile.Value,
                                              Mode=OneWay}">
                     <MenuItem.Icon>
                         <Path
@@ -135,7 +135,7 @@
                             Width="12" />
                     </MenuItem.Icon>
                 </MenuItem>
-                <MenuItem Header="{CompiledBinding Translation.CopyImage, Mode=OneWay}">
+                <MenuItem Header="{CompiledBinding Translation.CopyImage.Value, Mode=OneWay}">
                     <MenuItem.Icon>
                         <Path
                             Data="{StaticResource CopyGeometry}"
@@ -148,7 +148,7 @@
                 <MenuItem>
                     <MenuItem.Header>
                         <TextBlock>
-                            <Run Text="{CompiledBinding Translation.Copy, Mode=OneWay}" />
+                            <Run Text="{CompiledBinding Translation.Copy.Value, Mode=OneWay}" />
                             <Run Text=" base64" />
                         </TextBlock>
                     </MenuItem.Header>
@@ -165,7 +165,7 @@
                     Command="{CompiledBinding DuplicateFileCommand}"
                     CommandParameter="{CompiledBinding Path=Text,
                                                        ElementName=FileLocation}"
-                    Header="{CompiledBinding Translation.DuplicateFile,
+                    Header="{CompiledBinding Translation.DuplicateFile.Value,
                                              Mode=OneWay}">
                     <MenuItem.Icon>
                         <Path
@@ -176,22 +176,14 @@
                             Width="12" />
                     </MenuItem.Icon>
                 </MenuItem>
+
                 <Separator />
-                <!-- <MenuItem Header="{CompiledBinding FileCut, Mode=OneWay}"> -->
-                <!--     <MenuItem.Icon> -->
-                <!--  <Path  -->
-                <!--  Data="{StaticResource CutGeometry}"  -->
-                <!--  Fill="{DynamicResource MainTextColor}"  -->
-                <!--  Height="12"  -->
-                <!--  Stretch="Fill"  -->
-                <!--  Width="12" />  -->
-                <!--     </MenuItem.Icon> -->
-                <!-- </MenuItem> -->
+
                 <MenuItem
                     Command="{CompiledBinding RecycleFileCommand}"
                     CommandParameter="{CompiledBinding Path=Text,
                                                        ElementName=FileLocation}"
-                    Header="{CompiledBinding Translation.DeleteFile,
+                    Header="{CompiledBinding Translation.DeleteFile.Value,
                                              Mode=OneWay}">
                     <MenuItem.Icon>
                         <Path
@@ -203,7 +195,7 @@
                     </MenuItem.Icon>
                 </MenuItem>
                 <Separator />
-                <MenuItem Header="{CompiledBinding Translation.Stretch, Mode=OneWay}">
+                <MenuItem Header="{CompiledBinding Translation.Stretch.Value, Mode=OneWay}">
                     <MenuItem.Icon>
                         <Image
                             Height="12"
@@ -213,48 +205,48 @@
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="Uniform"
-                        Header="{CompiledBinding Translation.Uniform,
+                        Header="{CompiledBinding Translation.Uniform.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsUniformMenuChecked}"
                         ToggleType="Radio" />
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="UniformToFill"
-                        Header="{CompiledBinding Translation.UniformToFill,
+                        Header="{CompiledBinding Translation.UniformToFill.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsUniformToFillMenuChecked}"
                         ToggleType="Radio" />
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="Fill"
-                        Header="{CompiledBinding Translation.Fill,
+                        Header="{CompiledBinding Translation.Fill.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsFillMenuChecked}"
                         ToggleType="Radio" />
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="None"
-                        Header="{CompiledBinding Translation.None,
+                        Header="{CompiledBinding Translation.None.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsNoneMenuChecked}"
                         ToggleType="Radio" />
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="Square"
-                        Header="{CompiledBinding Translation.Square,
+                        Header="{CompiledBinding Translation.Square.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsSquareMenuChecked}"
                         ToggleType="Radio" />
                     <MenuItem
                         Command="{CompiledBinding GalleryItemStretchCommand}"
                         CommandParameter="FillSquare"
-                        Header="{CompiledBinding Translation.FillSquare,
+                        Header="{CompiledBinding Translation.FillSquare.Value,
                                                  Mode=OneWay}"
                         IsChecked="{CompiledBinding IsFillSquareMenuChecked}"
                         ToggleType="Radio" />
                 </MenuItem>
                 <MenuItem
-                    Header="{CompiledBinding Translation.ExpandedGalleryItemSize,
+                    Header="{CompiledBinding Translation.ExpandedGalleryItemSize.Value,
                                              Mode=OneWay}"
                     PointerPressed="Flyout_OnPointerPressed"
                     StaysOpenOnClick="True">
@@ -280,7 +272,7 @@
                 <Separator />
                 <MenuItem
                     Command="{CompiledBinding CloseGalleryCommand}"
-                    Header="{CompiledBinding Translation.HideBottomGallery,
+                    Header="{CompiledBinding Translation.HideBottomGallery.Value,
                                              Mode=OneWay}"
                     IsVisible="{CompiledBinding !IsFullGalleryOpen}">
                     <MenuItem.Icon>
@@ -294,7 +286,7 @@
                 </MenuItem>
                 <MenuItem
                     Command="{CompiledBinding ToggleGalleryCommand}"
-                    Header="{CompiledBinding Translation.CloseGallery,
+                    Header="{CompiledBinding Translation.CloseGallery.Value,
                                              Mode=OneWay}"
                     IsVisible="{CompiledBinding IsFullGalleryOpen}">
                     <MenuItem.Icon>

+ 32 - 32
src/PicView.Avalonia/Views/UC/Menus/FileMenu.axaml

@@ -54,23 +54,23 @@
                     Data="{StaticResource ReloadGeometry}"
                     IconHeight="17"
                     IconWidth="17"
-                    IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                    IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
-                    ToolTip.Tip="{CompiledBinding Translation.Reload,
+                    ToolTip.Tip="{CompiledBinding Translation.Reload.Value,
                                                   Mode=OneWay}" />
 
                 <customControls:IconButton
                     Canvas.Left="45"
                     Classes="hover btn"
                     Command="{CompiledBinding PrintCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Data="{StaticResource PrintGeometry}"
                     IconHeight="17"
                     IconWidth="17"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
-                    ToolTip.Tip="{CompiledBinding Translation.Print,
+                    ToolTip.Tip="{CompiledBinding Translation.Print.Value,
                                                   Mode=OneWay}"
                     x:Name="PrintButton" />
 
@@ -78,14 +78,14 @@
                     Canvas.Left="90"
                     Classes="hover btn"
                     Command="{CompiledBinding RecycleFileCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Data="{StaticResource RecycleGeometry}"
                     IconHeight="17"
                     IconWidth="17"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
-                    ToolTip.Tip="{CompiledBinding Translation.DeleteFile,
+                    ToolTip.Tip="{CompiledBinding Translation.DeleteFile.Value,
                                                   Mode=OneWay}" />
 
                 <customControls:IconButton
@@ -95,7 +95,7 @@
                     Data="{StaticResource SaveGeometry}"
                     IconHeight="17"
                     IconWidth="17"
-                    IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                    IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     ToolTip.Tip="{CompiledBinding Translation.Save,
                                                   Mode=OneWay}" />
@@ -104,28 +104,28 @@
                     Canvas.Left="180"
                     Classes="hover btn"
                     Command="{CompiledBinding CopyFileCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Data="{StaticResource CopyGeometry}"
                     IconHeight="17"
                     IconWidth="17"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
-                    ToolTip.Tip="{CompiledBinding Translation.CopyFile,
+                    ToolTip.Tip="{CompiledBinding Translation.CopyFile.Value,
                                                   Mode=OneWay}" />
 
                 <customControls:IconButton
                     Canvas.Left="225"
                     Classes="hover btn"
                     Command="{CompiledBinding DuplicateFileCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Data="{StaticResource DuplicateGeometry}"
                     IconHeight="17"
                     IconWidth="17"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
-                    ToolTip.Tip="{CompiledBinding Translation.DuplicateFile,
+                    ToolTip.Tip="{CompiledBinding Translation.DuplicateFile.Value,
                                                   Mode=OneWay}" />
 
                 <customControls:IconButton
@@ -137,7 +137,7 @@
                     Data="{StaticResource CloseGeometry}"
                     IconHeight="10"
                     IconWidth="10"
-                    ToolTip.Tip="{CompiledBinding Translation.Close,
+                    ToolTip.Tip="{CompiledBinding Translation.Close.Value,
                                                   Mode=OneWay}" />
 
                 <Button
@@ -147,7 +147,7 @@
                     Classes="ButtonBorder altHover"
                     Command="{CompiledBinding OpenFileCommand}"
                     Height="46"
-                    ToolTip.Tip="{CompiledBinding Translation.OpenFileDialog,
+                    ToolTip.Tip="{CompiledBinding Translation.OpenFileDialog.Value,
                                                   Mode=OneWay}">
                     <StackPanel Orientation="Horizontal">
                         <Path
@@ -158,7 +158,7 @@
                             Stretch="Fill"
                             VerticalAlignment="Center"
                             Width="21.39" />
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.Open, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.Open.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
 
@@ -168,12 +168,12 @@
                     Canvas.Top="104"
                     Classes="ButtonBorder altHover"
                     Command="{CompiledBinding OpenWithCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Height="46"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
-                    ToolTip.Tip="{CompiledBinding Translation.OpenWith}"
+                    ToolTip.Tip="{CompiledBinding Translation.OpenWith.Value}"
                     x:Name="OpenWithButton">
                     <StackPanel Orientation="Horizontal">
                         <Path
@@ -184,7 +184,7 @@
                             Stretch="Fill"
                             VerticalAlignment="Center"
                             Width="17" />
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.OpenWith, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.OpenWith.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
 
@@ -194,12 +194,12 @@
                     Canvas.Top="53"
                     Classes="ButtonBorder altHover"
                     Command="{CompiledBinding LocateOnDiskCommand}"
-                    CommandParameter="{CompiledBinding PicViewer.FileInfo.CurrentValue.FullName,
+                    CommandParameter="{CompiledBinding PicViewer.FileInfo.Value.FullName,
                                                        FallbackValue=''}"
                     Height="46"
                     IsEnabled="{CompiledBinding PicViewer.FileInfo,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
-                    ToolTip.Tip="{CompiledBinding Translation.ShowInFolder,
+                    ToolTip.Tip="{CompiledBinding Translation.ShowInFolder.Value,
                                                   Mode=OneWay}">
                     <StackPanel Orientation="Horizontal">
                         <Path
@@ -209,7 +209,7 @@
                             Margin="11,0,9,0"
                             Stretch="Fill"
                             Width="19" />
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.ShowInFolder, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.ShowInFolder.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
 
@@ -220,9 +220,9 @@
                     Classes="ButtonBorder altHover"
                     Command="{CompiledBinding SaveFileAsCommand}"
                     Height="46"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
-                    ToolTip.Tip="{CompiledBinding Translation.SaveAs,
+                    ToolTip.Tip="{CompiledBinding Translation.SaveAs.Value,
                                                   Mode=OneWay}">
                     <StackPanel Orientation="Horizontal">
                         <Path
@@ -233,7 +233,7 @@
                             Stretch="Fill"
                             VerticalAlignment="Center"
                             Width="19" />
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.SaveAs, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.SaveAs.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
 
@@ -244,7 +244,7 @@
                     Classes="ButtonBorder altHover"
                     Command="{CompiledBinding PasteCommand}"
                     Height="46"
-                    ToolTip.Tip="{CompiledBinding Translation.Paste,
+                    ToolTip.Tip="{CompiledBinding Translation.Paste.Value,
                                                   Mode=OneWay}">
                     <StackPanel Orientation="Horizontal">
                         <Path
@@ -255,7 +255,7 @@
                             Stretch="Fill"
                             VerticalAlignment="Center"
                             Width="19" />
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.Paste, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.Paste.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
 
@@ -266,7 +266,7 @@
                     Classes="ButtonBorder altHover"
                     Command="{CompiledBinding NewWindowCommand}"
                     Height="46"
-                    ToolTip.Tip="{Binding Translation.NewWindow, Mode=OneWay}">
+                    ToolTip.Tip="{Binding Translation.NewWindow.Value, Mode=OneWay}">
                     <StackPanel Orientation="Horizontal">
                         <Image
                             Height="20"
@@ -283,7 +283,7 @@
                                 </DrawingGroup>
                             </DrawingImage>
                         </Image>
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.NewWindow, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.NewWindow.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
             </Canvas>

+ 27 - 27
src/PicView.Avalonia/Views/UC/Menus/ImageMenu.axaml

@@ -52,7 +52,7 @@
                     Height="45"
                     IconHeight="15"
                     IconWidth="15"
-                    IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                    IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     ToolTip.Tip="{CompiledBinding Translation.RotateLeft,
                                                   Mode=OneWay}"
@@ -69,7 +69,7 @@
                     Height="45"
                     IconHeight="15"
                     IconWidth="15"
-                    IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                    IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
                     ToolTip.Tip="{CompiledBinding Translation.RotateRight,
                                                   Mode=OneWay}"
@@ -88,13 +88,13 @@
                     Height="45"
                     IconHeight="15"
                     IconWidth="15"
-                    IsEnabled="{CompiledBinding PicViewer.ImageSource,
+                    IsEnabled="{CompiledBinding PicViewer.ImageSource.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
-                    ToolTip.Tip="{CompiledBinding Translation.IsFlipped,
+                    ToolTip.Tip="{CompiledBinding Translation.IsFlipped.Value,
                                                   Mode=OneWay}"
                     Width="45">
                     <customControls:IconButton.RenderTransform>
-                        <ScaleTransform ScaleX="{CompiledBinding PicViewer.ScaleX}" />
+                        <ScaleTransform ScaleX="{CompiledBinding PicViewer.ScaleX.Value}" />
                     </customControls:IconButton.RenderTransform>
                 </customControls:IconButton>
 
@@ -122,9 +122,9 @@
                     Canvas.Left="180"
                     Classes="noBorderHover"
                     Height="45"
-                    IsEnabled="{CompiledBinding PicViewer.FileInfo,
+                    IsEnabled="{CompiledBinding PicViewer.FileInfo.Value,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
-                    ToolTip.Tip="{CompiledBinding Translation.GoToImageAtSpecifiedIndex,
+                    ToolTip.Tip="{CompiledBinding Translation.GoToImageAtSpecifiedIndex.Value,
                                                   Mode=OneWay}"
                     Width="90"
                     x:Name="GoToPicButton">
@@ -182,7 +182,7 @@
                     Height="45"
                     IconHeight="10"
                     IconWidth="10"
-                    ToolTip.Tip="{CompiledBinding Translation.Close,
+                    ToolTip.Tip="{CompiledBinding Translation.Close.Value,
                                                   Mode=OneWay}"
                     Width="45" />
 
@@ -195,7 +195,7 @@
                     Height="46"
                     IsEnabled="{CompiledBinding PicViewer.FileInfo,
                                                 Converter={x:Static ObjectConverters.IsNotNull}}"
-                    ToolTip.Tip="{CompiledBinding Translation.ResizeImage,
+                    ToolTip.Tip="{CompiledBinding Translation.ResizeImage.Value,
                                                   Mode=OneWay}">
                     <StackPanel Orientation="Horizontal">
                         <Canvas Height="54" Width="45">
@@ -232,7 +232,7 @@
                         <TextBlock
                             Classes="txt btnTxt"
                             Margin="-3,0,0,0"
-                            Text="{CompiledBinding Translation.Resize,
+                            Text="{CompiledBinding Translation.Resize.Value,
                                                    Mode=OneWay}" />
                     </StackPanel>
                 </Button>
@@ -256,7 +256,7 @@
                             Margin="9,0,9,0"
                             Stretch="Fill"
                             Width="17" />
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.Crop, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.Crop.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
 
@@ -270,7 +270,7 @@
                     CommandParameter="0"
                     Foreground="{DynamicResource MainTextColor}"
                     Height="46"
-                    ToolTip.Tip="{CompiledBinding Translation.Slideshow,
+                    ToolTip.Tip="{CompiledBinding Translation.Slideshow.Value,
                                                   Mode=OneWay}"
                     x:Name="SlideShowButton">
                     <StackPanel Orientation="Horizontal">
@@ -282,7 +282,7 @@
                         <TextBlock
                             Classes="txt btnTxt"
                             Margin="0,2,0,0"
-                            Text="{CompiledBinding Translation.Slideshow,
+                            Text="{CompiledBinding Translation.Slideshow.Value,
                                                    Mode=OneWay}" />
                     </StackPanel>
                     <SplitButton.Flyout>
@@ -294,7 +294,7 @@
                                 Width="86">
                                 <TextBlock Classes="txt" Foreground="{DynamicResource MainTextColor}">
                                     <Run Text="2 " />
-                                    <Run Text="{CompiledBinding Translation.SecAbbreviation, Mode=OneWay}" />
+                                    <Run Text="{CompiledBinding Translation.SecAbbreviation.Value, Mode=OneWay}" />
                                 </TextBlock>
                             </Button>
                             <Button
@@ -304,7 +304,7 @@
                                 Width="86">
                                 <TextBlock Classes="txt" Foreground="{DynamicResource MainTextColor}">
                                     <Run Text="5 " />
-                                    <Run Text="{CompiledBinding Translation.SecAbbreviation, Mode=OneWay}" />
+                                    <Run Text="{CompiledBinding Translation.SecAbbreviation.Value, Mode=OneWay}" />
                                 </TextBlock>
                             </Button>
                             <Button
@@ -314,7 +314,7 @@
                                 Width="86">
                                 <TextBlock Classes="txt" Foreground="{DynamicResource MainTextColor}">
                                     <Run Text="10 " />
-                                    <Run Text="{CompiledBinding Translation.SecAbbreviation, Mode=OneWay}" />
+                                    <Run Text="{CompiledBinding Translation.SecAbbreviation.Value, Mode=OneWay}" />
                                 </TextBlock>
                             </Button>
                             <Button
@@ -324,7 +324,7 @@
                                 Width="86">
                                 <TextBlock Classes="txt" Foreground="{DynamicResource MainTextColor}">
                                     <Run Text="20 " />
-                                    <Run Text="{CompiledBinding Translation.SecAbbreviation, Mode=OneWay}" />
+                                    <Run Text="{CompiledBinding Translation.SecAbbreviation.Value, Mode=OneWay}" />
                                 </TextBlock>
                             </Button>
                             <Button
@@ -334,7 +334,7 @@
                                 Width="86">
                                 <TextBlock Classes="txt" Foreground="{DynamicResource MainTextColor}">
                                     <Run Text="30 " />
-                                    <Run Text="{CompiledBinding Translation.SecAbbreviation, Mode=OneWay}" />
+                                    <Run Text="{CompiledBinding Translation.SecAbbreviation.Value, Mode=OneWay}" />
                                 </TextBlock>
                             </Button>
                             <Button
@@ -344,7 +344,7 @@
                                 Width="86">
                                 <TextBlock Classes="txt" Foreground="{DynamicResource MainTextColor}">
                                     <Run Text="60 " />
-                                    <Run Text="{CompiledBinding Translation.SecAbbreviation, Mode=OneWay}" />
+                                    <Run Text="{CompiledBinding Translation.SecAbbreviation.Value, Mode=OneWay}" />
                                 </TextBlock>
                             </Button>
                             <Button
@@ -354,7 +354,7 @@
                                 Width="86">
                                 <TextBlock Classes="txt" Foreground="{DynamicResource MainTextColor}">
                                     <Run Text="120 " />
-                                    <Run Text="{CompiledBinding Translation.SecAbbreviation, Mode=OneWay}" />
+                                    <Run Text="{CompiledBinding Translation.SecAbbreviation.Value, Mode=OneWay}" />
                                 </TextBlock>
                             </Button>
                             <Button
@@ -364,7 +364,7 @@
                                 Width="86">
                                 <TextBlock Classes="txt" Foreground="{DynamicResource MainTextColor}">
                                     <Run Text="180 " />
-                                    <Run Text="{CompiledBinding Translation.SecAbbreviation, Mode=OneWay}" />
+                                    <Run Text="{CompiledBinding Translation.SecAbbreviation.Value, Mode=OneWay}" />
                                 </TextBlock>
                             </Button>
                             <Button
@@ -374,7 +374,7 @@
                                 Width="86">
                                 <TextBlock Classes="txt" Foreground="{DynamicResource MainTextColor}">
                                     <Run Text="300 " />
-                                    <Run Text="{CompiledBinding Translation.SecAbbreviation, Mode=OneWay}" />
+                                    <Run Text="{CompiledBinding Translation.SecAbbreviation.Value, Mode=OneWay}" />
                                 </TextBlock>
                             </Button>
                         </MenuFlyout>
@@ -389,13 +389,13 @@
                     Command="{CompiledBinding ShowSideBySideCommand}"
                     Foreground="{DynamicResource MainTextColor}"
                     Height="46"
-                    IsChecked="{CompiledBinding PicViewer.IsShowingSideBySide}"
+                    IsChecked="{CompiledBinding PicViewer.IsShowingSideBySide.Value}"
                     IsEnabled="{CompiledBinding !IsSingleImage}"
-                    ToolTip.Tip="{CompiledBinding Translation.SideBySideTooltip}">
+                    ToolTip.Tip="{CompiledBinding Translation.SideBySideTooltip.Value}">
                     <TextBlock
                         Classes="txt btnTxt"
                         Margin="1,0,6,0"
-                        Text="{CompiledBinding Translation.SideBySide}" />
+                        Text="{CompiledBinding Translation.SideBySide.Value}" />
                 </ToggleButton>
 
                 <Button
@@ -407,7 +407,7 @@
                     Foreground="{DynamicResource MainTextColor}"
                     Height="46"
                     IsEnabled="{CompiledBinding !IsSingleImage}"
-                    ToolTip.Tip="{CompiledBinding Translation.IsShowingBottomGallery,
+                    ToolTip.Tip="{CompiledBinding Translation.IsShowingBottomGallery.Value,
                                                   Mode=OneWay}"
                     Width="300">
                     <StackPanel Orientation="Horizontal">
@@ -420,7 +420,7 @@
                             Classes="txt btnTxt"
                             Margin="0,0,6,0"
                             MaxWidth="175"
-                            Text="{CompiledBinding Translation.IsShowingBottomGallery,
+                            Text="{CompiledBinding Translation.IsShowingBottomGallery.Value,
                                                    Mode=OneWay}" />
                     </StackPanel>
                 </Button>

+ 17 - 17
src/PicView.Avalonia/Views/UC/Menus/SettingsMenu.axaml

@@ -48,7 +48,7 @@
                     Command="{CompiledBinding ShowAboutWindowCommand}"
                     CornerRadius="8,0,0,0"
                     Height="46"
-                    ToolTip.Tip="{CompiledBinding Translation.AboutWindow,
+                    ToolTip.Tip="{CompiledBinding Translation.AboutWindow.Value,
                                                   Mode=OneWay}"
                     Width="178"
                     x:Name="AboutWindowButton">
@@ -64,7 +64,7 @@
                             Foreground="{DynamicResource MainTextColor}"
                             Margin="15,0,6,0"
                             MaxWidth="150"
-                            Text="{CompiledBinding Translation.About,
+                            Text="{CompiledBinding Translation.About.Value,
                                                    Mode=OneWay}"
                             VerticalAlignment="Center" />
                     </StackPanel>
@@ -78,7 +78,7 @@
                     Classes="noBorderHover"
                     Command="{Binding ShowSettingsWindowCommand}"
                     Height="46"
-                    ToolTip.Tip="{CompiledBinding Translation.ShowAllSettingsWindow,
+                    ToolTip.Tip="{CompiledBinding Translation.ShowAllSettingsWindow.Value,
                                                   Mode=OneWay}"
                     Width="137"
                     x:Name="SettingsButton">
@@ -96,7 +96,7 @@
                             Foreground="{DynamicResource MainTextColor}"
                             Margin="10,0,6,0"
                             MaxWidth="150"
-                            Text="{CompiledBinding Translation.Settings,
+                            Text="{CompiledBinding Translation.Settings.Value,
                                                    Mode=OneWay}"
                             VerticalAlignment="Center" />
                     </StackPanel>
@@ -117,7 +117,7 @@
                     Height="46"
                     IconHeight="10"
                     IconWidth="10"
-                    ToolTip.Tip="{CompiledBinding Translation.Close,
+                    ToolTip.Tip="{CompiledBinding Translation.Close.Value,
                                                   Mode=OneWay}"
                     Width="45" />
 
@@ -130,10 +130,10 @@
                     Foreground="{DynamicResource MainTextColor}"
                     Height="46"
                     IsChecked="{CompiledBinding IsScrollingEnabled}"
-                    ToolTip.Tip="{CompiledBinding Translation.ToggleScroll,
+                    ToolTip.Tip="{CompiledBinding Translation.ToggleScroll.Value,
                                                   Mode=OneWay}"
                     Width="169">
-                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.IsScrolling, Mode=OneWay}" />
+                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.IsScrolling.Value, Mode=OneWay}" />
                 </ToggleButton>
 
                 <ToggleButton
@@ -144,10 +144,10 @@
                     Foreground="{DynamicResource MainTextColor}"
                     Height="46"
                     IsChecked="{CompiledBinding IsStretched}"
-                    ToolTip.Tip="{CompiledBinding Translation.Stretch,
+                    ToolTip.Tip="{CompiledBinding Translation.Stretch.Value,
                                                   Mode=OneWay}"
                     Width="169">
-                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.Stretch, Mode=OneWay}" />
+                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.Stretch.Value, Mode=OneWay}" />
                 </ToggleButton>
 
                 <ToggleButton
@@ -159,10 +159,10 @@
                     Foreground="{DynamicResource MainTextColor}"
                     Height="46"
                     IsChecked="{CompiledBinding IsLooping}"
-                    ToolTip.Tip="{CompiledBinding Translation.ToggleLooping,
+                    ToolTip.Tip="{CompiledBinding Translation.ToggleLooping.Value,
                                                   Mode=OneWay}"
                     Width="169">
-                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.IsLooping, Mode=OneWay}" />
+                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.IsLooping.Value, Mode=OneWay}" />
                 </ToggleButton>
 
                 <ToggleButton
@@ -174,10 +174,10 @@
                     Foreground="{DynamicResource MainTextColor}"
                     Height="46"
                     IsChecked="{CompiledBinding IsAutoFit}"
-                    ToolTip.Tip="{CompiledBinding Translation.AutoFitWindow,
+                    ToolTip.Tip="{CompiledBinding Translation.AutoFitWindow.Value,
                                                   Mode=OneWay}"
                     Width="169">
-                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.AutoFitWindow, Mode=OneWay}" />
+                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.AutoFitWindow.Value, Mode=OneWay}" />
                 </ToggleButton>
 
                 <ToggleButton
@@ -189,10 +189,10 @@
                     Foreground="{DynamicResource MainTextColor}"
                     Height="46"
                     IsChecked="{CompiledBinding IsTopMost}"
-                    ToolTip.Tip="{CompiledBinding Translation.StayTopMost,
+                    ToolTip.Tip="{CompiledBinding Translation.StayTopMost.Value,
                                                   Mode=OneWay}"
                     Width="169">
-                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.StayTopMost, Mode=OneWay}" />
+                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.StayTopMost.Value, Mode=OneWay}" />
                 </ToggleButton>
 
                 <ToggleButton
@@ -204,10 +204,10 @@
                     Foreground="{DynamicResource MainTextColor}"
                     Height="46"
                     IsChecked="{CompiledBinding IsIncludingSubdirectories}"
-                    ToolTip.Tip="{CompiledBinding Translation.SearchSubdirectory,
+                    ToolTip.Tip="{CompiledBinding Translation.SearchSubdirectory.Value,
                                                   Mode=OneWay}"
                     Width="169">
-                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.SearchSubdirectory, Mode=OneWay}" />
+                    <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.SearchSubdirectory.Value, Mode=OneWay}" />
                 </ToggleButton>
             </Canvas>
         </Border>

+ 14 - 14
src/PicView.Avalonia/Views/UC/Menus/ToolsMenu.axaml

@@ -48,7 +48,7 @@
                     Command="{CompiledBinding ShowBatchResizeWindowCommand}"
                     CornerRadius="8,0,0,0"
                     Height="45"
-                    ToolTip.Tip="{CompiledBinding Translation.BatchResize,
+                    ToolTip.Tip="{CompiledBinding Translation.BatchResize.Value,
                                                   Mode=OneWay}"
                     Width="179"
                     x:Name="BatchResizeButton">
@@ -64,7 +64,7 @@
                             Foreground="{DynamicResource MainTextColor}"
                             Margin="10,0,7,0"
                             MaxWidth="130"
-                            Text="{CompiledBinding Translation.BatchResize,
+                            Text="{CompiledBinding Translation.BatchResize.Value,
                                                    Mode=OneWay}"
                             VerticalAlignment="Center" />
                     </StackPanel>
@@ -78,7 +78,7 @@
                     Classes="noBorderHover"
                     Command="{CompiledBinding ShowEffectsWindowCommand}"
                     Height="45"
-                    ToolTip.Tip="{CompiledBinding Translation.EffectsTooltip,
+                    ToolTip.Tip="{CompiledBinding Translation.EffectsTooltip.Value,
                                                   Mode=OneWay}"
                     Width="136"
                     x:Name="EffectsButton">
@@ -101,7 +101,7 @@
                             Foreground="{DynamicResource MainTextColor}"
                             Margin="10,0,6,0"
                             MaxWidth="130"
-                            Text="{CompiledBinding Translation.Effects,
+                            Text="{CompiledBinding Translation.Effects.Value,
                                                    Mode=OneWay}"
                             VerticalAlignment="Center" />
                     </StackPanel>
@@ -120,7 +120,7 @@
                     Height="45"
                     IconHeight="10"
                     IconWidth="10"
-                    ToolTip.Tip="{CompiledBinding Translation.Close,
+                    ToolTip.Tip="{CompiledBinding Translation.Close.Value,
                                                   Mode=OneWay}"
                     Width="45" />
 
@@ -143,7 +143,7 @@
                         <TextBlock
                             Classes="txt btnTxt"
                             Margin="10,0,6,0"
-                            Text="{CompiledBinding Translation.ImageInfo,
+                            Text="{CompiledBinding Translation.ImageInfo.Value,
                                                    Mode=OneWay}" />
                     </StackPanel>
                 </Button>
@@ -157,7 +157,7 @@
                     Height="46"
                     IsEnabled="{CompiledBinding ShouldOptimizeImageBeEnabled,
                                                 Mode=OneWay}"
-                    ToolTip.Tip="{CompiledBinding Translation.OptimizeImage,
+                    ToolTip.Tip="{CompiledBinding Translation.OptimizeImage.Value,
                                                   Mode=OneWay}"
                     Width="169"
                     x:Name="OptimizeImageButton">
@@ -167,7 +167,7 @@
                             Margin="9,0,10,0"
                             Source="{StaticResource PortalImage}"
                             Width="20" />
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.OptimizeImage, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.OptimizeImage.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
 
@@ -178,7 +178,7 @@
                     Classes="ButtonBorder altHover"
                     Height="46"
                     IsEnabled="False"
-                    ToolTip.Tip="{CompiledBinding Translation.ColorPickerToolTooltip,
+                    ToolTip.Tip="{CompiledBinding Translation.ColorPickerToolTooltip.Value,
                                                   Mode=OneWay}"
                     Width="169">
                     <StackPanel Orientation="Horizontal">
@@ -189,7 +189,7 @@
                             Margin="9,0,12,0"
                             Stretch="Fill"
                             Width="17" />
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.ColorPickerTool, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.ColorPickerTool.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
 
@@ -207,7 +207,7 @@
                             Margin="10,0,10,0"
                             Source="{StaticResource CanvasImage}"
                             Width="20" />
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.ChangeBackground, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.ChangeBackground.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
 
@@ -218,7 +218,7 @@
                     Classes="ButtonBorder altHover"
                     Command="{CompiledBinding ShowKeybindingsWindowCommand}"
                     Height="46"
-                    ToolTip.Tip="{CompiledBinding Translation.ApplicationShortcuts,
+                    ToolTip.Tip="{CompiledBinding Translation.ApplicationShortcuts.Value,
                                                   Mode=OneWay}"
                     Width="169">
                     <StackPanel Orientation="Horizontal">
@@ -227,7 +227,7 @@
                             Margin="9,0,12,0"
                             Source="{StaticResource ShortcutsImage}"
                             Width="17" />
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.ApplicationShortcuts, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.ApplicationShortcuts.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
 
@@ -245,7 +245,7 @@
                             Margin="11,0,12,0"
                             Source="{StaticResource EyeOffImage}"
                             Width="18" />
-                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.IsShowingUI, Mode=OneWay}" />
+                        <TextBlock Classes="txt btnTxt" Text="{CompiledBinding Translation.IsShowingUI.Value, Mode=OneWay}" />
                     </StackPanel>
                 </Button>
             </Canvas>

+ 3 - 3
src/PicView.Avalonia/Views/UC/PopUps/CloseDialog.axaml

@@ -19,7 +19,7 @@
             FontSize="14"
             Foreground="{DynamicResource MainTextColor}"
             HorizontalAlignment="Center"
-            Text="{CompiledBinding Translation.CloseWindowPrompt}"
+            Text="{CompiledBinding Translation.CloseWindowPrompt.Value}"
             VerticalAlignment="Top" />
         <StackPanel
             HorizontalAlignment="Right"
@@ -34,14 +34,14 @@
                 <TextBlock
                     Classes="txt"
                     Foreground="{DynamicResource MainTextColor}"
-                    Text="{CompiledBinding Translation.Cancel}" />
+                    Text="{CompiledBinding Translation.Cancel.Value}" />
             </Button>
             <Button
                 Background="{DynamicResource AccentColor}"
                 Classes="BorderStyle accentHover mainBtn"
                 Padding="30,0"
                 x:Name="CloseButton">
-                <TextBlock Classes="txt" Text="{CompiledBinding Translation.Close}" />
+                <TextBlock Classes="txt" Text="{CompiledBinding Translation.Close.Value}" />
             </Button>
         </StackPanel>
     </Panel>

+ 1 - 1
src/PicView.Avalonia/Views/UC/PopUps/DeleteDialog.axaml

@@ -39,7 +39,7 @@
                 <TextBlock
                     Classes="txt"
                     Foreground="{DynamicResource MainTextColor}"
-                    Text="{CompiledBinding Translation.Cancel}" />
+                    Text="{CompiledBinding Translation.Cancel.Value}" />
             </Button>
             <Button
                 Background="{DynamicResource AccentColor}"

+ 2 - 2
src/PicView.Avalonia/Views/UC/TitleTextBox.axaml

@@ -25,11 +25,11 @@
                                      Mode=OneWay}"
             IsTabStop="False"
             Padding="0,7,0,5"
-            Text="{CompiledBinding PicViewer.Title,
+            Text="{CompiledBinding PicViewer.Title.Value,
                                    Mode=OneWay}"
             TextAlignment="Center"
             TextTrimming="CharacterEllipsis"
-            ToolTip.Tip="{CompiledBinding PicViewer.TitleTooltip,
+            ToolTip.Tip="{CompiledBinding PicViewer.TitleTooltip.Value,
                                           Mode=OneWay}"
             VerticalAlignment="Center" />
         <TextBox

+ 9 - 8
src/PicView.Avalonia/Views/WindowSettingsView.axaml

@@ -21,7 +21,7 @@
             FontSize="14"
             Foreground="{StaticResource SecondaryTextColor}"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.WindowScaling,
+            Text="{CompiledBinding Translation.WindowScaling.Value,
                                    Mode=OneWay}" />
 
         <ToggleButton
@@ -38,7 +38,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.AutoFitWindow,
+                Text="{CompiledBinding Translation.AutoFitWindow.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -49,7 +49,8 @@
             IsEnabled="{CompiledBinding IsAutoFit}"
             Margin="0,10,0,10"
             MaxWidth="300"
-            Text="{CompiledBinding Translation.WindowMargin}" />
+            Text="{CompiledBinding Translation.WindowMargin.Value,
+                                   Mode=OneWay}" />
         <customControls:CustomSlider
             Height="30"
             HorizontalAlignment="Center"
@@ -77,7 +78,7 @@
             FontSize="14"
             Foreground="{StaticResource SecondaryTextColor}"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.WindowManagement,
+            Text="{CompiledBinding Translation.WindowManagement.Value,
                                    Mode=OneWay}" />
 
         <ToggleButton
@@ -94,7 +95,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.StayTopMost,
+                Text="{CompiledBinding Translation.StayTopMost.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -113,7 +114,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.StayCentered,
+                Text="{CompiledBinding Translation.StayCentered.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -131,7 +132,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.OpenInSameWindow,
+                Text="{CompiledBinding Translation.OpenInSameWindow.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -148,7 +149,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.ShowConfirmationOnEsc,
+                Text="{CompiledBinding Translation.ShowConfirmationOnEsc.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 

+ 6 - 5
src/PicView.Avalonia/Views/ZoomSettingsView.axaml

@@ -21,7 +21,7 @@
             FontSize="14"
             Foreground="{StaticResource SecondaryTextColor}"
             Margin="0,20,0,20"
-            Text="{CompiledBinding Translation.Zoom,
+            Text="{CompiledBinding Translation.Zoom.Value,
                                    Mode=OneWay}" />
 
         <ToggleButton
@@ -37,7 +37,7 @@
                 Margin="0"
                 MaxWidth="240"
                 Padding="0,1,5,0"
-                Text="{CompiledBinding Translation.AllowZoomOut,
+                Text="{CompiledBinding Translation.AllowZoomOut.Value,
                                        Mode=OneWay}" />
         </ToggleButton>
 
@@ -50,8 +50,8 @@
             Padding="5,7,0,7"
             Width="300"
             x:Name="MouseWheelBox">
-            <ComboBoxItem Content="{CompiledBinding Translation.CtrlToZoom, Mode=OneWay}" />
-            <ComboBoxItem Content="{CompiledBinding Translation.ScrollToZoom, Mode=OneWay}" />
+            <ComboBoxItem Content="{CompiledBinding Translation.CtrlToZoom.Value, Mode=OneWay}" />
+            <ComboBoxItem Content="{CompiledBinding Translation.ScrollToZoom.Value, Mode=OneWay}" />
         </ComboBox>
 
         <TextBlock
@@ -60,7 +60,8 @@
             FontSize="12"
             Margin="0,10,0,10"
             MaxWidth="300"
-            Text="{CompiledBinding Translation.AdjustTimingForZoom}" />
+            Text="{CompiledBinding Translation.AdjustTimingForZoom.Value,
+                                   Mode=OneWay}" />
         <customControls:CustomSlider
             Height="30"
             HorizontalAlignment="Center"

+ 3 - 3
src/PicView.Core/Extensions/StringExtensions.cs

@@ -8,17 +8,17 @@ namespace PicView.Core.Extensions;
 public static partial class StringExtensions
 {
     /// <summary>
-    /// Converts the first character of the string to uppercase.
+    /// Converts the first character of the string to lowercase.
     /// </summary>
     /// <param name="input">The input string.</param>
     /// <returns>A string with the first character capitalized. If the string is null or empty, an empty string is returned.</returns>
-    public static string FirstCharToUpper(this string input)
+    public static string FirstCharToLower(this string input)
     {
         return input switch
         {
             null => string.Empty,
             "" => string.Empty,
-            _ => string.Concat(input[0].ToString().ToUpper(), input.AsSpan(1))
+            _ => string.Concat(input[0].ToString().ToLower(), input.AsSpan(1))
         };
     }
 

+ 4 - 1
src/PicView.Core/ViewModels/PicViewerModel.cs

@@ -8,7 +8,10 @@ public class PicViewerModel : IDisposable
 {
     public void Dispose()
     {
-        Disposable.Dispose(FileInfo);
+        Disposable.Dispose(FileInfo, PixelWidth, PixelHeight, ImageSource, SecondaryImageSource, ImageType);
+        Disposable.Dispose(ImageType, ImageWidth, ImageHeight, SecondaryImageWidth, IsShowingSideBySide, ScrollViewerHeight);
+        Disposable.Dispose(ScrollViewerHeight, AspectRatio, EffectConfig, ExifOrientation, ScaleX, Title);
+        Disposable.Dispose(TitleTooltip, WindowTitle);
     }
     
     public BindableReactiveProperty<FileInfo?> FileInfo { get; } = new();

+ 582 - 1741
src/PicView.Core/ViewModels/TranslationViewModel.cs

@@ -1,2046 +1,887 @@
-using PicView.Core.Extensions;
-using PicView.Core.Localization;
-using ReactiveUI;
+using PicView.Core.Localization;
+using R3;
 
 namespace PicView.Core.ViewModels;
 
-public class TranslationViewModel : ReactiveObject
+public class TranslationViewModel : IDisposable
 {
+    public void Dispose()
+    {
+        Disposable.Dispose(File, SelectFile, OpenLastFile);
+    }
+    
     public void UpdateLanguage()
     {
         var t = TranslationManager.Translation;
         
-        File = t.File;
-        SelectFile = t.OpenFileDialog;
-        OpenLastFile = t.OpenLastFile;
-        Paste = t.FilePaste;
-        Copy = t.Copy;
-        Reload = t.Reload;
-        Print = t.Print;
-        DeleteFile = t.DeleteFile;
-        PermanentlyDelete = t.PermanentlyDelete;
-        Save = t.Save;
-        CopyFile = t.CopyFile;
-        NewWindow = t.NewWindow;
-        Close = t.Close;
-        CloseGallery = t.CloseGallery;
-        Open = t.Open;
-        OpenFileDialog = t.OpenFileDialog;
-        ShowInFolder = t.ShowInFolder;
-        OpenWith = t.OpenWith;
-        RenameFile = t.RenameFile;
-        DuplicateFile = t.DuplicateFile;
-        RotateLeft = t.RotateLeft;
-        RotateRight = t.RotateRight;
-        Flip = t.Flip;
-        UnFlip = t.Unflip;
-        ShowBottomGallery = t.ShowBottomGallery;
-        HideBottomGallery = t.HideBottomGallery;
-        AutoFitWindow = t.AutoFitWindow;
-        Stretch = t.Stretch;
-        Crop = t.Crop;
-        ResizeImage = t.ResizeImage;
-        GoToImageAtSpecifiedIndex = t.GoToImageAtSpecifiedIndex;
-        ToggleScroll = t.ToggleScroll;
-        ScrollEnabled = t.ScrollingEnabled;
-        ScrollDisabled = t.ScrollingDisabled;
-        ScrollDirection = t.ScrollDirection;
-        Reverse = t.Reverse;
-        Forward = t.Forward;
-        Slideshow = t.Slideshow;
-        Settings = t.Settings;
-        AboutWindow = t.InfoWindow;
-        ImageInfo = t.ImageInfo;
-        About = t.About;
-        ShowAllSettingsWindow = t.ShowAllSettingsWindow;
-        StayTopMost = t.StayTopMost;
-        SearchSubdirectory = t.SearchSubdirectory;
-        ToggleLooping = t.ToggleLooping;
-        ApplicationShortcuts = t.ApplicationShortcuts;
-        BatchResize = t.BatchResize;
-        Effects = t.Effects;
-        EffectsTooltip = t.EffectsTooltip;
-        FileProperties = t.FileProperties;
-        OptimizeImage = t.OptimizeImage;
-        ImageInfo = t.ImageInfo;
-        FileName = t.FileName;
-        FileSize = t.FileSize;
-        Folder = t.Folder;
-        FullPath = t.FullPath;
-        Created = t.Created;
-        Modified = t.Modified;
-        LastAccessTime = t.LastAccessTime;
-        ConvertTo = t.ConvertTo;
-        NoConversion = t.NoConversion;
-        Resize = t.Resize;
-        NoResize = t.NoResize;
-        Apply = t.Apply;
-        Cancel = t.Cancel;
-        BitDepth = t.BitDepth;
-        ReadAbleAspectRatio = t.AspectRatio;
-        Width = t.Width;
-        Height = t.Height;
-        SizeMp = t.SizeMp;
-        Resolution = t.Resolution;
-        PrintSizeIn = t.PrintSizeIn;
-        PrintSizeCm = t.PrintSizeCm;
-        Centimeters = t.Centimeters;
-        Inches = t.Inches;
-        SizeTooltip = t.SizeTooltip;
-        Latitude = t.Latitude;
-        Longitude = t.Longitude;
-        Altitude = t.Altitude;
-        Authors = t.Authors;
-        DateTaken = t.DateTaken;
-        Copyright = t.Copyright;
-        ResolutionUnit = t.ResolutionUnit;
-        ColorRepresentation = t.ColorRepresentation;
-        CompressedBitsPixel = t.CompressedBitsPixel;
-        Compression = t.Compression;
-        ExposureTime = t.ExposureTime;
-        Title = t.Title;
-        Subject = t.Subject;
-        Software = t.Software;
-        CameraMaker = t.CameraMaker;
-        CameraModel = t.CameraModel;
-        FocalLength = t.FocalLength;
-        Fnumber = t.FNumber;
-        Fstop = t.Fstop;
-        MaxAperture = t.MaxAperture;
-        ExposureBias = t.ExposureBias;
-        ExposureProgram = t.ExposureProgram;
-        DigitalZoom = t.DigitalZoom;
-        ISOSpeed = t.ISOSpeed;
-        FocalLength35mm = t.FocalLength35mm;
-        MeteringMode = t.MeteringMode;
-        Contrast = t.Contrast;
-        Saturation = t.Saturation;
-        Sharpness = t.Sharpness;
-        WhiteBalance = t.WhiteBalance;
-        FlashEnergy = t.FlashEnergy;
-        FlashMode = t.FlashMode;
-        LightSource = t.LightSource;
-        Brightness = t.Brightness;
-        PhotometricInterpretation = t.PhotometricInterpretation;
-        Orientation = t.Orientation;
-        ExifVersion = t.ExifVersion;
-        LensMaker = t.LensMaker;
-        LensModel = t.LensModel;
-        SortFilesBy = t.SortFilesBy;
-        FileExtension = t.FileExtension;
-        CreationTime = t.CreationTime;
-        Random = t.Random;
-        Ascending = t.Ascending;
-        Descending = t.Descending;
-        RecentFiles = t.RecentFiles;
-        SetAsWallpaper = t.SetAsWallpaper;
-        SetAsLockScreenImage = t.SetAsLockScreenImage;
-        Image = t.Image;
-        CopyImage = t.CopyImage;
-        FileCopyPath = t.FileCopyPath;
-        FileCut = t.Cut;
-        CtrlToZoom = t.CtrlToZoom;
-        ScrollToZoom = t.ScrollToZoom;
-        GeneralSettings = t.GeneralSettings;
-        Appearance = t.Appearance;
-        Language = t.Language;
-        MouseWheel = t.MouseWheel;
-        MiscSettings = t.MiscSettings;
-        StayCentered = t.StayCentered;
-        ShowFileSavingDialog = t.ShowFileSavingDialog;
-        OpenInSameWindow = t.OpenInSameWindow;
-        ApplicationStartup = t.ApplicationStartup;
-        None = t.None;
-        AdjustTimingForSlideshow = t.AdjustTimingForSlideshow;
-        AdjustTimingForZoom = t.AdjustTimingForZoom;
-        AdjustNavSpeed = t.AdjustNavSpeed;
-        SecAbbreviation = t.SecAbbreviation;
-        ResetButtonText = t.ResetButtonText;
-        ShowBottomToolbar = t.ShowBottomToolbar;
-        ShowBottomGalleryWhenUiIsHidden = t.ShowBottomGalleryWhenUiIsHidden;
-        ChangeKeybindingTooltip = t.ChangeKeybindingTooltip;
-        ToggleTaskbarProgress = t.ToggleTaskbarProgress;
-        ChangeKeybindingText = t.ChangeKeybindingText;
-        Navigation = t.Navigation;
-        NextImage = t.NextImage;
-        PrevImage = t.PrevImage;
-        LastImage = t.LastImage;
-        FirstImage = t.FirstImage;
-        NextFolder = t.NextFolder;
-        PrevFolder = t.PrevFolder;
-        SelectGalleryThumb = t.SelectGalleryThumb;
-        ScrollAndRotate = t.ScrollAndRotate;
-        ScrollUp = t.ScrollUp;
-        ScrollDown = t.ScrollDown;
-        ScrollToTop = t.ScrollToTop;
-        ScrollToBottom = t.ScrollToBottom;
-        Zoom = t.Zoom;
-        ZoomIn = t.ZoomIn;
-        ZoomOut = t.ZoomOut;
-        Pan = t.Pan;
-        ResetZoom = t.ResetZoom;
-        ImageControl = t.ImageControl;
-        ChangeBackground = t.ChangeBackground;
-        InterfaceConfiguration = t.InterfaceConfiguration;
-        FileManagement = t.FileManagement;
-        ToggleFullscreen = t.ToggleFullscreen;
-        Fullscreen = t.Fullscreen;
-        ShowImageGallery = t.ShowImageGallery;
-        WindowManagement = t.WindowManagement;
-        CenterWindow = t.CenterWindow;
-        WindowScaling = t.WindowScaling;
-        NormalWindow = t.NormalWindow;
-        SetStarRating = t.SetStarRating;
-        _1Star = t._1Star;
-        _2Star = t._2Star;
-        _3Star = t._3Star;
-        _4Star = t._4Star;
-        _5Star = t._5Star;
-        RemoveStarRating = t.RemoveStarRating;
-        Theme = t.Theme;
-        DarkTheme = t.DarkTheme;
-        LightTheme = t.LightTheme;
-        MouseDrag = t.MouseDrag;
-        DoubleClick = t.DoubleClick;
-        MoveWindow = t.MoveWindow;
-        GithubRepo = t.GithubRepo;
-        Version = t.Version;
-        ViewLicenseFile = t.ViewLicenseFile;
-        CheckForUpdates = t.CheckForUpdates;
-        Credits = t.Credits;
-        ColorPickerTool = t.ColorPickerTool;
-        ColorPickerToolTooltip = t.ColorPickerToolTooltip;
-        ExpandedGalleryItemSize = t.ExpandedGalleryItemSize;
-        BottomGalleryItemSize = t.BottomGalleryItemSize;
-        Square = t.Square;
-        Uniform = t.Uniform;
-        UniformToFill = t.UniformToFill;
-        FillSquare = t.FillSquare;
-        Fill = t.Fill;
-        GallerySettings = t.GallerySettings;
-        GalleryThumbnailStretch = t.GalleryThumbnailStretch;
-        BottomGalleryThumbnailStretch = t.BottomGalleryThumbnailStretch;
-        RestoreDown = t.RestoreDown;
-        SideBySide = t.SideBySide;
-        SideBySideTooltip = t.SideBySideTooltip;
-        HighlightColor = t.HighlightColor;
-        AllowZoomOut = t.AllowZoomOut;
-        GlassTheme = t.GlassTheme;
-        ChangingThemeRequiresRestart = t.ChangingThemeRequiresRestart;
-        ShowUI = t.ShowUI;
-        HideUI = t.HideUI;
-        HideBottomToolbar = t.HideBottomToolbar;
-        Center = t.Center;
-        Tile = t.Tile;
-        Fit = t.Fit;
-        Pixels = t.Pixels;
-        Percentage = t.Percentage;
-        Quality = t.Quality;
-        SaveAs = t.SaveAs;
-        Reset = t.Reset;
-        AdvanceBy10Images = t.AdvanceBy10Images;
-        AdvanceBy100Images = t.AdvanceBy100Images;
-        GoBackBy10Images = t.GoBackBy10Images;
-        GoBackBy100Images = t.GoBackBy100Images;
-        ShowFadeInButtonsOnHover = t.ShowFadeInButtonsOnHover;
-        DisableFadeInButtonsOnHover = t.DisableFadeInButtonsOnHover;
-        UsingTouchpad = t.UsingTouchpad;
-        UsingMouse = t.UsingMouse;
-        SourceFolder = t.SourceFolder;
-        OutputFolder = t.OutputFolder;
-        GenerateThumbnails = t.GenerateThumbnails;
-        Lossless = t.Lossless;
-        Lossy = t.Lossy;
-        Start = t.Start;
-        Thumbnail = t.Thumbnail;
-        WidthAndHeight = t.WidthAndHeight;
-        CloseWindowPrompt = t.CloseWindowPrompt;
-        ShowConfirmationOnEsc = t.ShowConfirmationOnEsc;
-        ImageAliasing = t.ImageAliasing;
-        HighQuality = t.HighQuality;
-        Lighting = t.Lighting;
-        BlackAndWhite = t.BlackAndWhite;
-        NegativeColors = t.NegativeColors;
-        Blur = t.Blur;
-        PencilSketch = t.PencilSketch;
-        OldMovie = t.OldMovie;
-        Posterize = t.Posterize;
-        ClearEffects = t.ClearEffects;
-        Solarize = t.Solarize;
-        Maximize = t.Maximize;
-        SelectAll = t.SelectAll;
-        Normal = t.Normal;
-        FileAssociations = t.FileAssociations;
-        SelectFileTypesToAssociate = t.SelectFileTypesToAssociate;
-        Filter = t.Filter;
-        UnselectAll = t.UnselectAll;
-        Unassociate = t.Unassociate;
-        ShowConfirmationDialogWhenMovingFileToRecycleBin = t.ShowConfirmationDialogWhenMovingFileToRecycleBin;
-        MoveToRecycleBin = t.MoveToRecycleBin;
-        ShowConfirmationDialogWhenPermanentlyDeletingFile = t.ShowConfirmationDialogWhenPermanentlyDeletingFile;
-        Downloading = t.Downloading;
-        Pinned = t.Pinned;
-        Unpin = t.Unpin;
-        Pin = t.Pin;
-        Clear = t.Clear;
-        OpenFileHistory = t.OpenFileHistory;
-        ConstrainBackgroundToImage = t.ConstrainBackgroundToImage;
-        Window = t.Window;
-        WindowMargin = t.WindowMargin;
-        Mouse = t.Mouse;
-        MouseSideButtons = t.MouseSideButtons;
-        NavigateFileHistory = t.NavigateFileHistory;
-        NavigateBetweenDirectories = t.NavigateBetweenDirectories;
-        Comment = t.Comment;
+        File .Value = t.File;
+        SelectFile .Value = t.OpenFileDialog;
+        OpenLastFile .Value = t.OpenLastFile;
+        Paste .Value = t.FilePaste;
+        Copy .Value = t.Copy;
+        Reload .Value = t.Reload;
+        Print .Value = t.Print;
+        DeleteFile .Value = t.DeleteFile;
+        PermanentlyDelete .Value = t.PermanentlyDelete;
+        Save .Value = t.Save;
+        CopyFile .Value = t.CopyFile;
+        NewWindow .Value = t.NewWindow;
+        Close .Value = t.Close;
+        CloseGallery .Value = t.CloseGallery;
+        Open .Value = t.Open;
+        OpenFileDialog .Value = t.OpenFileDialog;
+        ShowInFolder .Value = t.ShowInFolder;
+        OpenWith .Value = t.OpenWith;
+        RenameFile .Value = t.RenameFile;
+        DuplicateFile .Value = t.DuplicateFile;
+        RotateLeft .Value = t.RotateLeft;
+        RotateRight .Value = t.RotateRight;
+        Flip .Value = t.Flip;
+        UnFlip .Value = t.Unflip;
+        ShowBottomGallery .Value = t.ShowBottomGallery;
+        HideBottomGallery .Value = t.HideBottomGallery;
+        AutoFitWindow .Value = t.AutoFitWindow;
+        Stretch .Value = t.Stretch;
+        Crop .Value = t.Crop;
+        ResizeImage .Value = t.ResizeImage;
+        GoToImageAtSpecifiedIndex .Value = t.GoToImageAtSpecifiedIndex;
+        ToggleScroll .Value = t.ToggleScroll;
+        ScrollEnabled .Value = t.ScrollingEnabled;
+        ScrollDisabled .Value = t.ScrollingDisabled;
+        ScrollDirection .Value = t.ScrollDirection;
+        Reverse .Value = t.Reverse;
+        Forward .Value = t.Forward;
+        Slideshow .Value = t.Slideshow;
+        Settings .Value = t.Settings;
+        AboutWindow .Value = t.InfoWindow;
+        ImageInfo .Value = t.ImageInfo;
+        About .Value = t.About;
+        ShowAllSettingsWindow .Value = t.ShowAllSettingsWindow;
+        StayTopMost .Value = t.StayTopMost;
+        SearchSubdirectory .Value = t.SearchSubdirectory;
+        ToggleLooping .Value = t.ToggleLooping;
+        ApplicationShortcuts .Value = t.ApplicationShortcuts;
+        BatchResize .Value = t.BatchResize;
+        Effects .Value = t.Effects;
+        EffectsTooltip .Value = t.EffectsTooltip;
+        FileProperties .Value = t.FileProperties;
+        OptimizeImage .Value = t.OptimizeImage;
+        ImageInfo .Value = t.ImageInfo;
+        FileName .Value = t.FileName;
+        FileSize .Value = t.FileSize;
+        Folder .Value = t.Folder;
+        FullPath .Value = t.FullPath;
+        Created .Value = t.Created;
+        Modified .Value = t.Modified;
+        LastAccessTime .Value = t.LastAccessTime;
+        ConvertTo .Value = t.ConvertTo;
+        NoConversion .Value = t.NoConversion;
+        Resize .Value = t.Resize;
+        NoResize .Value = t.NoResize;
+        Apply .Value = t.Apply;
+        Cancel .Value = t.Cancel;
+        BitDepth .Value = t.BitDepth;
+        ReadAbleAspectRatio .Value = t.AspectRatio;
+        Width .Value = t.Width;
+        Height .Value = t.Height;
+        SizeMp .Value = t.SizeMp;
+        Resolution .Value = t.Resolution;
+        PrintSizeIn .Value = t.PrintSizeIn;
+        PrintSizeCm .Value = t.PrintSizeCm;
+        Centimeters .Value = t.Centimeters;
+        Inches .Value = t.Inches;
+        SizeTooltip .Value = t.SizeTooltip;
+        Latitude .Value = t.Latitude;
+        Longitude .Value = t.Longitude;
+        Altitude .Value = t.Altitude;
+        Authors .Value = t.Authors;
+        DateTaken .Value = t.DateTaken;
+        Copyright .Value = t.Copyright;
+        ResolutionUnit .Value = t.ResolutionUnit;
+        ColorRepresentation .Value = t.ColorRepresentation;
+        CompressedBitsPixel .Value = t.CompressedBitsPixel;
+        Compression .Value = t.Compression;
+        ExposureTime .Value = t.ExposureTime;
+        Title .Value = t.Title;
+        Subject .Value = t.Subject;
+        Software .Value = t.Software;
+        CameraMaker .Value = t.CameraMaker;
+        CameraModel .Value = t.CameraModel;
+        FocalLength .Value = t.FocalLength;
+        Fnumber .Value = t.FNumber;
+        Fstop .Value = t.Fstop;
+        MaxAperture .Value = t.MaxAperture;
+        ExposureBias .Value = t.ExposureBias;
+        ExposureProgram .Value = t.ExposureProgram;
+        DigitalZoom .Value = t.DigitalZoom;
+        ISOSpeed .Value = t.ISOSpeed;
+        FocalLength35mm .Value = t.FocalLength35mm;
+        MeteringMode .Value = t.MeteringMode;
+        Contrast .Value = t.Contrast;
+        Saturation .Value = t.Saturation;
+        Sharpness .Value = t.Sharpness;
+        WhiteBalance .Value = t.WhiteBalance;
+        FlashEnergy .Value = t.FlashEnergy;
+        FlashMode .Value = t.FlashMode;
+        LightSource .Value = t.LightSource;
+        Brightness .Value = t.Brightness;
+        PhotometricInterpretation .Value = t.PhotometricInterpretation;
+        Orientation .Value = t.Orientation;
+        ExifVersion .Value = t.ExifVersion;
+        LensMaker .Value = t.LensMaker;
+        LensModel .Value = t.LensModel;
+        SortFilesBy .Value = t.SortFilesBy;
+        FileExtension .Value = t.FileExtension;
+        CreationTime .Value = t.CreationTime;
+        Random .Value = t.Random;
+        Ascending .Value = t.Ascending;
+        Descending .Value = t.Descending;
+        RecentFiles .Value = t.RecentFiles;
+        SetAsWallpaper .Value = t.SetAsWallpaper;
+        SetAsLockScreenImage .Value = t.SetAsLockScreenImage;
+        Image .Value = t.Image;
+        CopyImage .Value = t.CopyImage;
+        FileCopyPath .Value = t.FileCopyPath;
+        FileCut .Value = t.Cut;
+        CtrlToZoom .Value = t.CtrlToZoom;
+        ScrollToZoom .Value = t.ScrollToZoom;
+        GeneralSettings .Value = t.GeneralSettings;
+        Appearance .Value = t.Appearance;
+        Language .Value = t.Language;
+        MouseWheel .Value = t.MouseWheel;
+        MiscSettings .Value = t.MiscSettings;
+        StayCentered .Value = t.StayCentered;
+        ShowFileSavingDialog .Value = t.ShowFileSavingDialog;
+        OpenInSameWindow .Value = t.OpenInSameWindow;
+        ApplicationStartup .Value = t.ApplicationStartup;
+        None .Value = t.None;
+        AdjustTimingForSlideshow .Value = t.AdjustTimingForSlideshow;
+        AdjustTimingForZoom .Value = t.AdjustTimingForZoom;
+        AdjustNavSpeed .Value = t.AdjustNavSpeed;
+        SecAbbreviation .Value = t.SecAbbreviation;
+        ResetButtonText .Value = t.ResetButtonText;
+        ShowBottomToolbar .Value = t.ShowBottomToolbar;
+        ShowBottomGalleryWhenUiIsHidden .Value = t.ShowBottomGalleryWhenUiIsHidden;
+        ChangeKeybindingTooltip .Value = t.ChangeKeybindingTooltip;
+        ToggleTaskbarProgress .Value = t.ToggleTaskbarProgress;
+        ChangeKeybindingText .Value = t.ChangeKeybindingText;
+        Navigation .Value = t.Navigation;
+        NextImage .Value = t.NextImage;
+        PrevImage .Value = t.PrevImage;
+        LastImage .Value = t.LastImage;
+        FirstImage .Value = t.FirstImage;
+        NextFolder .Value = t.NextFolder;
+        PrevFolder .Value = t.PrevFolder;
+        SelectGalleryThumb .Value = t.SelectGalleryThumb;
+        ScrollAndRotate .Value = t.ScrollAndRotate;
+        ScrollUp .Value = t.ScrollUp;
+        ScrollDown .Value = t.ScrollDown;
+        ScrollToTop .Value = t.ScrollToTop;
+        ScrollToBottom .Value = t.ScrollToBottom;
+        Zoom .Value = t.Zoom;
+        ZoomIn .Value = t.ZoomIn;
+        ZoomOut .Value = t.ZoomOut;
+        Pan .Value = t.Pan;
+        ResetZoom .Value = t.ResetZoom;
+        ImageControl .Value = t.ImageControl;
+        ChangeBackground .Value = t.ChangeBackground;
+        InterfaceConfiguration .Value = t.InterfaceConfiguration;
+        FileManagement .Value = t.FileManagement;
+        ToggleFullscreen .Value = t.ToggleFullscreen;
+        Fullscreen .Value = t.Fullscreen;
+        ShowImageGallery .Value = t.ShowImageGallery;
+        WindowManagement .Value = t.WindowManagement;
+        CenterWindow .Value = t.CenterWindow;
+        WindowScaling .Value = t.WindowScaling;
+        NormalWindow .Value = t.NormalWindow;
+        SetStarRating .Value = t.SetStarRating;
+        _1Star .Value = t._1Star;
+        _2Star .Value = t._2Star;
+        _3Star .Value = t._3Star;
+        _4Star .Value = t._4Star;
+        _5Star .Value = t._5Star;
+        RemoveStarRating .Value = t.RemoveStarRating;
+        Theme .Value = t.Theme;
+        DarkTheme .Value = t.DarkTheme;
+        LightTheme .Value = t.LightTheme;
+        MouseDrag .Value = t.MouseDrag;
+        DoubleClick .Value = t.DoubleClick;
+        MoveWindow .Value = t.MoveWindow;
+        GithubRepo .Value = t.GithubRepo;
+        Version .Value = t.Version;
+        ViewLicenseFile .Value = t.ViewLicenseFile;
+        CheckForUpdates .Value = t.CheckForUpdates;
+        Credits .Value = t.Credits;
+        ColorPickerTool .Value = t.ColorPickerTool;
+        ColorPickerToolTooltip .Value = t.ColorPickerToolTooltip;
+        ExpandedGalleryItemSize .Value = t.ExpandedGalleryItemSize;
+        BottomGalleryItemSize .Value = t.BottomGalleryItemSize;
+        Square .Value = t.Square;
+        Uniform .Value = t.Uniform;
+        UniformToFill .Value = t.UniformToFill;
+        FillSquare .Value = t.FillSquare;
+        Fill .Value = t.Fill;
+        GallerySettings .Value = t.GallerySettings;
+        GalleryThumbnailStretch .Value = t.GalleryThumbnailStretch;
+        BottomGalleryThumbnailStretch .Value = t.BottomGalleryThumbnailStretch;
+        RestoreDown .Value = t.RestoreDown;
+        SideBySide .Value = t.SideBySide;
+        SideBySideTooltip .Value = t.SideBySideTooltip;
+        HighlightColor .Value = t.HighlightColor;
+        AllowZoomOut .Value = t.AllowZoomOut;
+        GlassTheme .Value = t.GlassTheme;
+        ChangingThemeRequiresRestart .Value = t.ChangingThemeRequiresRestart;
+        ShowUI .Value = t.ShowUI;
+        HideUI .Value = t.HideUI;
+        HideBottomToolbar .Value = t.HideBottomToolbar;
+        Center .Value = t.Center;
+        Tile .Value = t.Tile;
+        Fit .Value = t.Fit;
+        Pixels .Value = t.Pixels;
+        Percentage .Value = t.Percentage;
+        Quality .Value = t.Quality;
+        SaveAs .Value = t.SaveAs;
+        Reset .Value = t.Reset;
+        AdvanceBy10Images .Value = t.AdvanceBy10Images;
+        AdvanceBy100Images .Value = t.AdvanceBy100Images;
+        GoBackBy10Images .Value = t.GoBackBy10Images;
+        GoBackBy100Images .Value = t.GoBackBy100Images;
+        ShowFadeInButtonsOnHover .Value = t.ShowFadeInButtonsOnHover;
+        DisableFadeInButtonsOnHover .Value = t.DisableFadeInButtonsOnHover;
+        UsingTouchpad .Value = t.UsingTouchpad;
+        UsingMouse .Value = t.UsingMouse;
+        SourceFolder .Value = t.SourceFolder;
+        OutputFolder .Value = t.OutputFolder;
+        GenerateThumbnails .Value = t.GenerateThumbnails;
+        Lossless .Value = t.Lossless;
+        Lossy .Value = t.Lossy;
+        Start .Value = t.Start;
+        Thumbnail .Value = t.Thumbnail;
+        WidthAndHeight .Value = t.WidthAndHeight;
+        CloseWindowPrompt .Value = t.CloseWindowPrompt;
+        ShowConfirmationOnEsc .Value = t.ShowConfirmationOnEsc;
+        ImageAliasing .Value = t.ImageAliasing;
+        HighQuality .Value = t.HighQuality;
+        Lighting .Value = t.Lighting;
+        BlackAndWhite .Value = t.BlackAndWhite;
+        NegativeColors .Value = t.NegativeColors;
+        Blur .Value = t.Blur;
+        PencilSketch .Value = t.PencilSketch;
+        OldMovie .Value = t.OldMovie;
+        Posterize .Value = t.Posterize;
+        ClearEffects .Value = t.ClearEffects;
+        Solarize .Value = t.Solarize;
+        Maximize .Value = t.Maximize;
+        SelectAll .Value = t.SelectAll;
+        Normal .Value = t.Normal;
+        FileAssociations .Value = t.FileAssociations;
+        SelectFileTypesToAssociate .Value = t.SelectFileTypesToAssociate;
+        Filter .Value = t.Filter;
+        UnselectAll .Value = t.UnselectAll;
+        Unassociate .Value = t.Unassociate;
+        ShowConfirmationDialogWhenMovingFileToRecycleBin .Value = t.ShowConfirmationDialogWhenMovingFileToRecycleBin;
+        MoveToRecycleBin .Value = t.MoveToRecycleBin;
+        ShowConfirmationDialogWhenPermanentlyDeletingFile .Value = t.ShowConfirmationDialogWhenPermanentlyDeletingFile;
+        Downloading .Value = t.Downloading;
+        Pinned .Value = t.Pinned;
+        Unpin .Value = t.Unpin;
+        Pin .Value = t.Pin;
+        Clear .Value = t.Clear;
+        OpenFileHistory .Value = t.OpenFileHistory;
+        ConstrainBackgroundToImage .Value = t.ConstrainBackgroundToImage;
+        Window .Value = t.Window;
+        WindowMargin .Value = t.WindowMargin;
+        Mouse .Value = t.Mouse;
+        MouseSideButtons .Value = t.MouseSideButtons;
+        NavigateFileHistory .Value = t.NavigateFileHistory;
+        NavigateBetweenDirectories .Value = t.NavigateBetweenDirectories;
+        Comment .Value = t.Comment;
     }
 
     #region Static Translation Strings
 
-    public string? _1Star
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> _1Star { get; } = new();
 
-    public string? _2Star
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> _2Star { get; } = new();
 
-    public string? _3Star
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> _3Star { get; } = new();
 
-    public string? _4Star
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> _4Star { get; } = new();
 
-    public string? _5Star
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> _5Star { get; } = new();
 
-    public string? About
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> About { get; } = new();
 
-    public string? AboutWindow
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> AboutWindow { get; } = new();
 
-    public string? AdjustNavSpeed
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> AdjustNavSpeed { get; } = new();
 
-    public string? AdjustTimingForSlideshow
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> AdjustTimingForSlideshow { get; } = new();
 
-    public string? AdjustTimingForZoom
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> AdjustTimingForZoom { get; } = new();
 
-    public string? AdvanceBy100Images
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> AdvanceBy100Images { get; } = new();
 
-    public string? AdvanceBy10Images
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> AdvanceBy10Images { get; } = new();
 
-    public string? AllowZoomOut
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> AllowZoomOut { get; } = new();
 
-    public string? Altitude
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Altitude { get; } = new();
 
-    public string? Appearance
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Appearance { get; } = new();
 
-    public string? ApplicationShortcuts
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ApplicationShortcuts { get; } = new();
 
-    public string? ApplicationStartup
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ApplicationStartup { get; } = new();
 
-    public string? Apply
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Apply { get; } = new();
 
-    public string? Ascending
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Ascending { get; } = new();
 
-    public string? Authors
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Authors { get; } = new();
 
-    public string? AutoFitWindow
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> AutoFitWindow { get; } = new();
 
-    public string? BatchResize
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> BatchResize { get; } = new();
 
-    public string? BitDepth
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> BitDepth { get; } = new();
 
-    public string? BlackAndWhite
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> BlackAndWhite { get; } = new();
 
-    public string? Blur
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Blur { get; } = new();
 
-    public string? BottomGalleryItemSize
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> BottomGalleryItemSize { get; } = new();
 
-    public string? BottomGalleryThumbnailStretch
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> BottomGalleryThumbnailStretch { get; } = new();
 
-    public string? Brightness
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Brightness { get; } = new();
 
-    public string? CameraMaker
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> CameraMaker { get; } = new();
 
-    public string? CameraModel
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> CameraModel { get; } = new();
 
-    public string? Cancel
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Cancel { get; } = new();
 
-    public string? Center
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Center { get; } = new();
 
-    public string? CenterWindow
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> CenterWindow { get; } = new();
 
-    public string? Centimeters
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Centimeters { get; } = new();
 
-    public string? ChangeBackground
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ChangeBackground { get; } = new();
 
-    public string? ChangeKeybindingText
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ChangeKeybindingText { get; } = new();
 
-    public string? ChangeKeybindingTooltip
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ChangeKeybindingTooltip { get; } = new();
 
-    public string? ChangingThemeRequiresRestart
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ChangingThemeRequiresRestart { get; } = new();
 
-    public string? CheckForUpdates
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> CheckForUpdates { get; } = new();
 
-    public string? Clear
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Clear { get; } = new();
 
-    public string? ClearEffects
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ClearEffects { get; } = new();
 
-    public string? Close
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Close { get; } = new();
 
-    public string? CloseGallery
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> CloseGallery { get; } = new();
 
-    public string? CloseWindowPrompt
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> CloseWindowPrompt { get; } = new();
 
-    public string? ColorPickerTool
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ColorPickerTool { get; } = new();
 
-    public string? ColorPickerToolTooltip
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ColorPickerToolTooltip { get; } = new();
 
-    public string? ColorRepresentation
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ColorRepresentation { get; } = new();
 
-    public string? Comment
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Comment { get; } = new();
 
-    public string? CompressedBitsPixel
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> CompressedBitsPixel { get; } = new();
 
-    public string? Compression
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Compression { get; } = new();
 
-    public string? ConstrainBackgroundToImage
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ConstrainBackgroundToImage { get; } = new();
 
-    public string? Contrast
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Contrast { get; } = new();
 
-    public string? ConvertTo
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ConvertTo { get; } = new();
 
-    public string? Copy
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Copy { get; } = new();
 
-    public string? CopyFile
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> CopyFile { get; } = new();
 
-    public string? CopyImage
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> CopyImage { get; } = new();
 
-    public string? Copyright
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Copyright { get; } = new();
 
-    public string? Created
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Created { get; } = new();
 
-    public string? CreationTime
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> CreationTime { get; } = new();
 
-    public string? Credits
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Credits { get; } = new();
 
-    public string? Crop
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Crop { get; } = new();
 
-    public string? CtrlToZoom
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> CtrlToZoom { get; } = new();
 
-    public string? DarkTheme
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> DarkTheme { get; } = new();
 
-    public string? DateTaken
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> DateTaken { get; } = new();
 
-    public string? DeleteFile
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> DeleteFile { get; } = new();
 
-    public string? Descending
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Descending { get; } = new();
 
-    public string? DigitalZoom
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> DigitalZoom { get; } = new();
 
-    public string? DirectionalBlur
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> DirectionalBlur { get; } = new();
 
-    public string? DisableFadeInButtonsOnHover
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> DisableFadeInButtonsOnHover { get; } = new();
 
-    public string? DoubleClick
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> DoubleClick { get; } = new();
 
-    public string? Downloading
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Downloading { get; } = new();
 
-    public string? DuplicateFile
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> DuplicateFile { get; } = new();
 
-    public string? Effects
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Effects { get; } = new();
 
-    public string? EffectsTooltip
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> EffectsTooltip { get; } = new();
 
-    public string? ExifVersion
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ExifVersion { get; } = new();
 
-    public string? ExpandedGalleryItemSize
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ExpandedGalleryItemSize { get; } = new();
 
-    public string? ExposureBias
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ExposureBias { get; } = new();
 
-    public string? ExposureProgram
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ExposureProgram { get; } = new();
 
-    public string? ExposureTime
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ExposureTime { get; } = new();
 
-    public string? File
-    {
-        get => field.FirstCharToUpper();
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> File { get; } = new();
 
-    public string? FileAssociations
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FileAssociations { get; } = new();
 
-    public string? FileCopyPath
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FileCopyPath { get; } = new();
 
-    public string? FileCut
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FileCut { get; } = new();
 
-    public string? FileExtension
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FileExtension { get; } = new();
 
-    public string? FileManagement
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FileManagement { get; } = new();
 
-    public string? FileName
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FileName { get; } = new();
 
-    public string? FileProperties
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FileProperties { get; } = new();
 
-    public string? FileSize
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FileSize { get; } = new();
 
-    public string? Fill
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Fill { get; } = new();
 
-    public string? FillSquare
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FillSquare { get; } = new();
 
-    public string? Filter
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Filter { get; } = new();
 
-    public string? FirstImage
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FirstImage { get; } = new();
 
-    public string? Fit
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Fit { get; } = new();
 
-    public string? FlashEnergy
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FlashEnergy { get; } = new();
 
-    public string? FlashMode
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FlashMode { get; } = new();
 
-    public string? Flip
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Flip { get; } = new();
 
-    public string? Fnumber
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Fnumber { get; } = new();
 
-    public string? FocalLength
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FocalLength { get; } = new();
 
-    public string? FocalLength35mm
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FocalLength35mm { get; } = new();
 
-    public string? Folder
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Folder { get; } = new();
 
-    public string? Forward
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Forward { get; } = new();
 
-    public string? Fstop
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Fstop { get; } = new();
 
-    public string? FullPath
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> FullPath { get; } = new();
 
-    public string? Fullscreen
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Fullscreen { get; } = new();
 
-    public string? GallerySettings
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> GallerySettings { get; } = new();
 
-    public string? GalleryThumbnailStretch
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> GalleryThumbnailStretch { get; } = new();
 
-    public string? GeneralSettings
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> GeneralSettings { get; } = new();
 
-    public string? GenerateThumbnails
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> GenerateThumbnails { get; } = new();
 
-    public string? GithubRepo
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> GithubRepo { get; } = new();
 
-    public string? GlassTheme
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> GlassTheme { get; } = new();
 
-    public string? GoBackBy100Images
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> GoBackBy100Images { get; } = new();
 
-    public string? GoBackBy10Images
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> GoBackBy10Images { get; } = new();
 
-    public string? GoToImageAtSpecifiedIndex
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> GoToImageAtSpecifiedIndex { get; } = new();
 
-    public string? Height
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Height { get; } = new();
 
-    public string? HideBottomGallery
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> HideBottomGallery { get; } = new();
 
-    public string? HideBottomToolbar
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> HideBottomToolbar { get; } = new();
 
-    public string? HideUI
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> HideUI { get; } = new();
 
-    public string? HighlightColor
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> HighlightColor { get; } = new();
 
-    public string? HighQuality
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> HighQuality { get; } = new();
 
-    public string? Image
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Image { get; } = new();
 
-    public string? ImageAliasing
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ImageAliasing { get; } = new();
 
-    public string? ImageControl
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ImageControl { get; } = new();
 
-    public string? ImageInfo
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ImageInfo { get; } = new();
 
-    public string? Inches
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Inches { get; } = new();
 
-    public string? InterfaceConfiguration
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> InterfaceConfiguration { get; } = new();
 
-    public string? ISOSpeed
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ISOSpeed { get; } = new();
 
-    public string? Language
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Language { get; } = new();
 
-    public string? LastAccessTime
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> LastAccessTime { get; } = new();
 
-    public string? LastImage
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> LastImage { get; } = new();
 
-    public string? Latitude
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Latitude { get; } = new();
 
-    public string? LensMaker
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> LensMaker { get; } = new();
 
-    public string? LensModel
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> LensModel { get; } = new();
 
-    public string? Lighting
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Lighting { get; } = new();
 
-    public string? LightSource
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> LightSource { get; } = new();
 
-    public string? LightTheme
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> LightTheme { get; } = new();
 
-    public string? Longitude
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Longitude { get; } = new();
 
-    public string? Lossless
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Lossless { get; } = new();
 
-    public string? Lossy
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Lossy { get; } = new();
 
-    public string? MaxAperture
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> MaxAperture { get; } = new();
 
-    public string? Maximize
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Maximize { get; } = new();
 
-    public string? MeteringMode
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> MeteringMode { get; } = new();
 
-    public string? MiscSettings
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> MiscSettings { get; } = new();
 
-    public string? Modified
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Modified { get; } = new();
     
-    public string? Mouse
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Mouse { get; } = new();
 
-    public string? MouseDrag
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> MouseDrag { get; } = new();
     
-    public string? MouseSideButtons
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> MouseSideButtons { get; } = new();
 
-    public string? MouseWheel
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> MouseWheel { get; } = new();
 
-    public string? MoveToRecycleBin
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> MoveToRecycleBin { get; } = new();
 
-    public string? MoveWindow
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> MoveWindow { get; } = new();
 
-    public string? NavigateBetweenDirectories
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> NavigateBetweenDirectories { get; } = new();
 
-    public string? NavigateFileHistory
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> NavigateFileHistory { get; } = new();
 
-    public string? Navigation
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Navigation { get; } = new();
 
-    public string? NegativeColors
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> NegativeColors { get; } = new();
 
-    public string? NewWindow
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> NewWindow { get; } = new();
 
-    public string? NextFolder
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> NextFolder { get; } = new();
 
-    public string? NextImage
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> NextImage { get; } = new();
 
-    public string? NoConversion
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> NoConversion { get; } = new();
 
-    public string? None
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> None { get; } = new();
 
-    public string? NoResize
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> NoResize { get; } = new();
 
-    public string? Normal
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Normal { get; } = new();
 
-    public string? NormalWindow
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> NormalWindow { get; } = new();
 
-    public string? OldMovie
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> OldMovie { get; } = new();
 
-    public string? Open
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Open { get; } = new();
 
-    public string? OpenFileDialog
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> OpenFileDialog { get; } = new();
 
-    public string? OpenFileHistory
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> OpenFileHistory { get; } = new();
 
-    public string? OpenInSameWindow
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> OpenInSameWindow { get; } = new();
 
-    public string? OpenLastFile
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> OpenLastFile { get; } = new();
 
-    public string? OpenWith
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> OpenWith { get; } = new();
 
-    public string? OptimizeImage
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> OptimizeImage { get; } = new();
 
-    public string? Orientation
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Orientation { get; } = new();
 
-    public string? OutputFolder
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> OutputFolder { get; } = new();
 
-    public string? Pan
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Pan { get; } = new();
 
-    public string? Paste
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Paste { get; } = new();
 
-    public string? PencilSketch
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> PencilSketch { get; } = new();
 
-    public string? Percentage
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Percentage { get; } = new();
 
-    public string? PermanentlyDelete
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> PermanentlyDelete { get; } = new();
 
-    public string? PhotometricInterpretation
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> PhotometricInterpretation { get; } = new();
 
-    public string? Pin
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Pin { get; } = new();
 
-    public string? Pinned
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Pinned { get; } = new();
 
-    public string? Pixels
-    {
-        get => field.FirstCharToUpper();
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Pixels { get; } = new();
 
-    public string? Posterize
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Posterize { get; } = new();
 
-    public string? PrevFolder
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> PrevFolder { get; } = new();
 
-    public string? PrevImage
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> PrevImage { get; } = new();
 
-    public string? Print
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Print { get; } = new();
 
-    public string? PrintSizeCm
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> PrintSizeCm { get; } = new();
 
-    public string? PrintSizeIn
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> PrintSizeIn { get; } = new();
 
-    public string? Quality
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Quality { get; } = new();
 
-    public string? Random
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Random { get; } = new();
 
-    public string? ReadAbleAspectRatio
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ReadAbleAspectRatio { get; } = new();
 
-    public string? RecentFiles
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> RecentFiles { get; } = new();
 
-    public string? Reload
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Reload { get; } = new();
 
-    public string? RemoveStarRating
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> RemoveStarRating { get; } = new();
 
-    public string? RenameFile
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> RenameFile { get; } = new();
 
-    public string? Reset
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Reset { get; } = new();
 
-    public string? ResetButtonText
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ResetButtonText { get; } = new();
 
-    public string? ResetZoom
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ResetZoom { get; } = new();
 
-    public string? Resize
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Resize { get; } = new();
 
-    public string? ResizeImage
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ResizeImage { get; } = new();
 
-    public string? Resolution
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Resolution { get; } = new();
 
-    public string? ResolutionUnit
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ResolutionUnit { get; } = new();
 
-    public string? RestoreDown
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> RestoreDown { get; } = new();
 
-    public string? Reverse
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Reverse { get; } = new();
 
-    public string? RotateLeft
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> RotateLeft { get; } = new();
 
-    public string? RotateRight
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> RotateRight { get; } = new();
 
-    public string? Saturation
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Saturation { get; } = new();
 
-    public string? Save
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Save { get; } = new();
 
-    public string? SaveAs
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SaveAs { get; } = new();
 
-    public string? ScrollAndRotate
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ScrollAndRotate { get; } = new();
 
-    public string? ScrollDirection
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ScrollDirection { get; } = new();
 
-    public string? ScrollDisabled
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ScrollDisabled { get; } = new();
 
-    public string? ScrollDown
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ScrollDown { get; } = new();
 
-    public string? ScrollEnabled
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ScrollEnabled { get; } = new();
 
-    public string? ScrollToBottom
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ScrollToBottom { get; } = new();
 
-    public string? ScrollToTop
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ScrollToTop { get; } = new();
 
-    public string? ScrollToZoom
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ScrollToZoom { get; } = new();
 
-    public string? ScrollUp
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ScrollUp { get; } = new();
 
-    public string? SearchSubdirectory
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SearchSubdirectory { get; } = new();
 
-    public string? SecAbbreviation
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SecAbbreviation { get; } = new();
 
-    public string? SelectAll
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SelectAll { get; } = new();
 
-    public string? SelectFile
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SelectFile { get; } = new();
 
-    public string? SelectFileTypesToAssociate
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SelectFileTypesToAssociate { get; } = new();
 
-    public string? SelectGalleryThumb
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SelectGalleryThumb { get; } = new();
 
-    public string? SetAsLockScreenImage
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SetAsLockScreenImage { get; } = new();
 
-    public string? SetAsWallpaper
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SetAsWallpaper { get; } = new();
 
-    public string? SetStarRating
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SetStarRating { get; } = new();
 
-    public string? Settings
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Settings { get; } = new();
 
-    public string? Sharpness
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Sharpness { get; } = new();
 
-    public string? ShowAllSettingsWindow
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowAllSettingsWindow { get; } = new();
 
-    public string? ShowBottomGallery
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowBottomGallery { get; } = new();
 
-    public string? ShowBottomGalleryWhenUiIsHidden
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowBottomGalleryWhenUiIsHidden { get; } = new();
 
-    public string? ShowBottomToolbar
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowBottomToolbar { get; } = new();
 
-    public string? ShowConfirmationDialogWhenMovingFileToRecycleBin
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowConfirmationDialogWhenMovingFileToRecycleBin { get; } = new();
 
-    public string? ShowConfirmationDialogWhenPermanentlyDeletingFile
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowConfirmationDialogWhenPermanentlyDeletingFile { get; } = new();
 
-    public string? ShowConfirmationOnEsc
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowConfirmationOnEsc { get; } = new();
 
-    public string? ShowFadeInButtonsOnHover
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowFadeInButtonsOnHover { get; } = new();
 
-    public string? ShowFileSavingDialog
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowFileSavingDialog { get; } = new();
 
-    public string? ShowImageGallery
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowImageGallery { get; } = new();
 
-    public string? ShowInFolder
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowInFolder { get; } = new();
 
-    public string? ShowUI
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ShowUI { get; } = new();
 
-    public string? SideBySide
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SideBySide { get; } = new();
 
-    public string? SideBySideTooltip
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SideBySideTooltip { get; } = new();
 
-    public string? SizeMp
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SizeMp { get; } = new();
 
-    public string? SizeTooltip
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SizeTooltip { get; } = new();
 
-    public string? Slideshow
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Slideshow { get; } = new();
 
-    public string? Software
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Software { get; } = new();
 
-    public string? Solarize
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Solarize { get; } = new();
 
-    public string? SortFilesBy
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SortFilesBy { get; } = new();
 
-    public string? SourceFolder
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> SourceFolder { get; } = new();
 
-    public string? Square
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Square { get; } = new();
 
-    public string? Start
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Start { get; } = new();
 
-    public string? StayCentered
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> StayCentered { get; } = new();
 
-    public string? StayTopMost
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> StayTopMost { get; } = new();
 
-    public string? Stretch
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Stretch { get; } = new();
 
-    public string? Subject
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Subject { get; } = new();
 
-    public string? Theme
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Theme { get; } = new();
 
-    public string? Thumbnail
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Thumbnail { get; } = new();
 
-    public string? Tile
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Tile { get; } = new();
 
-    public string? Title
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Title { get; } = new();
 
-    public string? ToggleFullscreen
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ToggleFullscreen { get; } = new();
 
-    public string? ToggleLooping
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ToggleLooping { get; } = new();
 
-    public string? ToggleScroll
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ToggleScroll { get; } = new();
 
-    public string? ToggleTaskbarProgress
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ToggleTaskbarProgress { get; } = new();
 
-    public string? Unassociate
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Unassociate { get; } = new();
 
-    public string? UnFlip
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> UnFlip { get; } = new();
 
-    public string? Uniform
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Uniform { get; } = new();
 
-    public string? UniformToFill
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> UniformToFill { get; } = new();
 
-    public string? Unpin
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Unpin { get; } = new();
 
-    public string? UnselectAll
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> UnselectAll { get; } = new();
 
-    public string? UsingMouse
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> UsingMouse { get; } = new();
 
-    public string? UsingTouchpad
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> UsingTouchpad { get; } = new();
 
-    public string? Version
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Version { get; } = new();
 
-    public string? ViewLicenseFile
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ViewLicenseFile { get; } = new();
 
-    public string? WhiteBalance
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> WhiteBalance { get; } = new();
 
-    public string? Width
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Width { get; } = new();
 
-    public string? WidthAndHeight
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> WidthAndHeight { get; } = new();
 
-    public string? Window
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
-    public string? WindowManagement
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> Window { get; } = new();
+    public BindableReactiveProperty<string?> WindowManagement { get; } = new();
     
-    public string? WindowMargin
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> WindowMargin { get; } = new();
 
-    public string? WindowScaling
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
-    public string? Zoom
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> WindowScaling { get; } = new();
+    public BindableReactiveProperty<string?> Zoom { get; } = new();
 
-    public string? ZoomIn
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ZoomIn { get; } = new();
 
-    public string? ZoomOut
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> ZoomOut { get; } = new();
+    
     #endregion strings
 
     #region Dynamic Translation strings
 
-    public string? IsCtrlToZoom
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> IsCtrlToZoom { get; } = new();
 
-    public string? IsFlipped
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> IsFlipped { get; } = new();
 
-    public string? IsLooping
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> IsLooping { get; } = new();
 
-    public string? IsScrolling
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> IsScrolling { get; } = new();
 
-    public string? IsShowingBottomGallery
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> IsShowingBottomGallery { get; } = new();
 
-    public string? IsShowingBottomToolbar
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> IsShowingBottomToolbar { get; } = new();
 
-    public string? IsShowingFadingUIButtons
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> IsShowingFadingUIButtons { get; } = new();
 
-    public string? IsShowingUI
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
-    public string? IsUsingTouchpad
-    {
-        get;
-        set => this.RaiseAndSetIfChanged(ref field, value);
-    }
+    public BindableReactiveProperty<string?> IsShowingUI { get; } = new();
+    public BindableReactiveProperty<string?> IsUsingTouchpad { get; } = new();
     
     #endregion
 }

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff