Explorar o código

Allow adjusting window margin in the new Window settings tab.

Ruben hai 5 meses
pai
achega
bc343dc968
Modificáronse 27 ficheiros con 619 adicións e 396 borrados
  1. 4 0
      src/PicView.Avalonia/PicView.Avalonia.csproj
  2. 0 78
      src/PicView.Avalonia/Views/GeneralSettingsView.axaml
  3. 2 0
      src/PicView.Avalonia/Views/SettingsView.axaml
  4. 155 0
      src/PicView.Avalonia/Views/WindowSettingsView.axaml
  5. 33 0
      src/PicView.Avalonia/Views/WindowSettingsView.axaml.cs
  6. 25 0
      src/PicView.Avalonia/Views/ZoomSettingsView.axaml
  7. 20 0
      src/PicView.Avalonia/Views/ZoomSettingsView.axaml.cs
  8. 2 0
      src/PicView.Core/Config/Languages/da.json
  9. 2 0
      src/PicView.Core/Config/Languages/de.json
  10. 2 0
      src/PicView.Core/Config/Languages/en.json
  11. 2 0
      src/PicView.Core/Config/Languages/es.json
  12. 2 0
      src/PicView.Core/Config/Languages/fr.json
  13. 2 0
      src/PicView.Core/Config/Languages/it.json
  14. 2 0
      src/PicView.Core/Config/Languages/ja.json
  15. 2 0
      src/PicView.Core/Config/Languages/ko.json
  16. 2 0
      src/PicView.Core/Config/Languages/nl.json
  17. 2 0
      src/PicView.Core/Config/Languages/pl.json
  18. 2 0
      src/PicView.Core/Config/Languages/pt-br.json
  19. 2 0
      src/PicView.Core/Config/Languages/ro.json
  20. 2 0
      src/PicView.Core/Config/Languages/ru.json
  21. 2 0
      src/PicView.Core/Config/Languages/sv.json
  22. 2 0
      src/PicView.Core/Config/Languages/tr.json
  23. 2 0
      src/PicView.Core/Config/Languages/zh-CN.json
  24. 2 0
      src/PicView.Core/Config/Languages/zh-TW.json
  25. 4 0
      src/PicView.Core/Localization/LanguageModel.cs
  26. 6 0
      src/PicView.Core/ViewModels/SettingsViewModel.cs
  27. 336 318
      src/PicView.Core/ViewModels/TranslationViewModel.cs

+ 4 - 0
src/PicView.Avalonia/PicView.Avalonia.csproj

@@ -107,6 +107,10 @@
       <DependentUpon>PinButton.axaml</DependentUpon>
       <SubType>Code</SubType>
     </Compile>
+    <Compile Update="Views\WindowSettingsView.axaml.cs">
+      <DependentUpon>WindowSettingsView.axaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
   </ItemGroup>
 
   

+ 0 - 78
src/PicView.Avalonia/Views/GeneralSettingsView.axaml

@@ -36,84 +36,6 @@
                 <ComboBoxItem Content="{CompiledBinding Translation.OpenLastFile, Mode=OneWay}" />
             </ComboBox>
 
-            <TextBlock
-                Classes="txt"
-                FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
-                FontSize="14"
-                Foreground="{StaticResource SecondaryTextColor}"
-                Margin="0,20,0,20"
-                Text="{CompiledBinding Translation.WindowManagement,
-                                       Mode=OneWay}" />
-
-            <ToggleButton
-                Background="Transparent"
-                BorderThickness="0"
-                Classes="altHover alt changeColor"
-                Command="{CompiledBinding ChangeTopMostCommand}"
-                IsChecked="{CompiledBinding IsTopMost}"
-                Margin="0,0,0,10"
-                Width="300">
-                <TextBlock
-                    Classes="txt"
-                    Foreground="{StaticResource SecondaryTextColor}"
-                    Margin="0"
-                    MaxWidth="240"
-                    Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.StayTopMost,
-                                           Mode=OneWay}" />
-            </ToggleButton>
-
-            <ToggleButton
-                Background="Transparent"
-                BorderThickness="0"
-                Classes="altHover changeColor"
-                IsChecked="{CompiledBinding IsStayingCentered}"
-                Margin="0,0,0,10"
-                Width="300">
-                <TextBlock
-                    Classes="txt"
-                    Foreground="{StaticResource SecondaryTextColor}"
-                    Margin="0"
-                    MaxWidth="240"
-                    Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.StayCentered,
-                                           Mode=OneWay}" />
-            </ToggleButton>
-
-            <ToggleButton
-                Background="Transparent"
-                BorderThickness="0"
-                Classes="altHover changeColor"
-                IsChecked="{CompiledBinding IsOpeningInSameWindow}"
-                Margin="0,0,0,10"
-                Width="300">
-                <TextBlock
-                    Classes="txt"
-                    Foreground="{StaticResource SecondaryTextColor}"
-                    Margin="0"
-                    MaxWidth="240"
-                    Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.OpenInSameWindow,
-                                           Mode=OneWay}" />
-            </ToggleButton>
-
-            <ToggleButton
-                Background="Transparent"
-                BorderThickness="0"
-                Classes="altHover changeColor"
-                IsChecked="{CompiledBinding IsShowingConfirmationOnEsc}"
-                Margin="0,0,0,10"
-                Width="300">
-                <TextBlock
-                    Classes="txt"
-                    Foreground="{StaticResource SecondaryTextColor}"
-                    Margin="0"
-                    MaxWidth="240"
-                    Padding="0,1,5,0"
-                    Text="{CompiledBinding Translation.ShowConfirmationOnEsc,
-                                           Mode=OneWay}" />
-            </ToggleButton>
-
             <TextBlock
                 Classes="txt"
                 FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 2 - 0
src/PicView.Avalonia/Views/SettingsView.axaml


+ 155 - 0
src/PicView.Avalonia/Views/WindowSettingsView.axaml

@@ -0,0 +1,155 @@
+<UserControl
+    d:DesignHeight="450"
+    d:DesignWidth="800"
+    mc:Ignorable="d"
+    x:Class="PicView.Avalonia.Views.WindowSettingsView"
+    x:DataType="viewModels:MainViewModel"
+    xmlns="https://github.com/avaloniaui"
+    xmlns:customControls="clr-namespace:PicView.Avalonia.CustomControls"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    xmlns:viewModels="clr-namespace:PicView.Avalonia.ViewModels"
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+    <Design.DataContext>
+        <viewModels:MainViewModel />
+    </Design.DataContext>
+    <StackPanel HorizontalAlignment="Center" Orientation="Vertical">
+
+        <TextBlock
+            Classes="txt"
+            FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+            FontSize="14"
+            Foreground="{StaticResource SecondaryTextColor}"
+            Margin="0,20,0,20"
+            Text="{CompiledBinding Translation.WindowScaling,
+                                   Mode=OneWay}" />
+
+        <ToggleButton
+            Background="Transparent"
+            BorderThickness="0"
+            Classes="altHover changeColor"
+            Command="{CompiledBinding ChangeAutoFitCommand}"
+            IsChecked="{CompiledBinding IsAutoFit}"
+            Margin="0,0,0,10"
+            Width="300">
+            <TextBlock
+                Classes="txt"
+                Foreground="{StaticResource SecondaryTextColor}"
+                Margin="0"
+                MaxWidth="240"
+                Padding="0,1,5,0"
+                Text="{CompiledBinding Translation.AutoFitWindow,
+                                       Mode=OneWay}" />
+        </ToggleButton>
+
+        <TextBlock
+            Classes="txt"
+            FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+            FontSize="12"
+            IsEnabled="{CompiledBinding IsAutoFit}"
+            Margin="0,10,0,10"
+            MaxWidth="300"
+            Text="{CompiledBinding Translation.WindowMargin}" />
+        <customControls:CustomSlider
+            Height="30"
+            HorizontalAlignment="Center"
+            IsEnabled="{CompiledBinding IsAutoFit}"
+            IsSnapToTickEnabled="True"
+            Margin="0,1,0,1"
+            Maximum="100"
+            Minimum="0"
+            TickFrequency="1"
+            TickPlacement="BottomRight"
+            Value="{CompiledBinding SettingsViewModel.WindowMargin}"
+            Width="300" />
+        <TextBlock
+            Classes="txt"
+            FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+            Foreground="{StaticResource MainTextColorFaded}"
+            IsEnabled="{CompiledBinding IsAutoFit}"
+            Margin="0,0,0,15"
+            Text="{CompiledBinding SettingsViewModel.WindowMargin,
+                                   Mode=OneWay}" />
+
+        <TextBlock
+            Classes="txt"
+            FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+            FontSize="14"
+            Foreground="{StaticResource SecondaryTextColor}"
+            Margin="0,20,0,20"
+            Text="{CompiledBinding Translation.WindowManagement,
+                                   Mode=OneWay}" />
+
+        <ToggleButton
+            Background="Transparent"
+            BorderThickness="0"
+            Classes="altHover alt changeColor"
+            Command="{CompiledBinding ChangeTopMostCommand}"
+            IsChecked="{CompiledBinding IsTopMost}"
+            Margin="0,0,0,10"
+            Width="300">
+            <TextBlock
+                Classes="txt"
+                Foreground="{StaticResource SecondaryTextColor}"
+                Margin="0"
+                MaxWidth="240"
+                Padding="0,1,5,0"
+                Text="{CompiledBinding Translation.StayTopMost,
+                                       Mode=OneWay}" />
+        </ToggleButton>
+
+        <ToggleButton
+            Background="Transparent"
+            BorderThickness="0"
+            Classes="altHover changeColor"
+            IsChecked="{CompiledBinding IsStayingCentered}"
+            IsEnabled="{CompiledBinding IsAutoFit}"
+            Margin="0,0,0,10"
+            Width="300">
+            <TextBlock
+                Classes="txt"
+                Foreground="{StaticResource SecondaryTextColor}"
+                IsEnabled="{CompiledBinding IsAutoFit}"
+                Margin="0"
+                MaxWidth="240"
+                Padding="0,1,5,0"
+                Text="{CompiledBinding Translation.StayCentered,
+                                       Mode=OneWay}" />
+        </ToggleButton>
+
+        <ToggleButton
+            Background="Transparent"
+            BorderThickness="0"
+            Classes="altHover changeColor"
+            IsChecked="{CompiledBinding IsOpeningInSameWindow}"
+            Margin="0,0,0,10"
+            Width="300">
+            <TextBlock
+                Classes="txt"
+                Foreground="{StaticResource SecondaryTextColor}"
+                Margin="0"
+                MaxWidth="240"
+                Padding="0,1,5,0"
+                Text="{CompiledBinding Translation.OpenInSameWindow,
+                                       Mode=OneWay}" />
+        </ToggleButton>
+
+        <ToggleButton
+            Background="Transparent"
+            BorderThickness="0"
+            Classes="altHover changeColor"
+            IsChecked="{CompiledBinding IsShowingConfirmationOnEsc}"
+            Margin="0,0,0,10"
+            Width="300">
+            <TextBlock
+                Classes="txt"
+                Foreground="{StaticResource SecondaryTextColor}"
+                Margin="0"
+                MaxWidth="240"
+                Padding="0,1,5,0"
+                Text="{CompiledBinding Translation.ShowConfirmationOnEsc,
+                                       Mode=OneWay}" />
+        </ToggleButton>
+
+    </StackPanel>
+</UserControl>

+ 33 - 0
src/PicView.Avalonia/Views/WindowSettingsView.axaml.cs

@@ -0,0 +1,33 @@
+using Avalonia.Controls;
+using PicView.Avalonia.ViewModels;
+using PicView.Avalonia.WindowBehavior;
+using ReactiveUI;
+
+namespace PicView.Avalonia.Views;
+
+public partial class WindowSettingsView : UserControl
+{
+    public WindowSettingsView()
+    {
+        InitializeComponent();
+        Loaded += delegate
+        {
+            if (DataContext is not MainViewModel vm)
+            {
+                return;
+            }
+            vm.SettingsViewModel.WindowMargin = Settings.WindowProperties.Margin;
+            vm.SettingsViewModel.ObservableForProperty(x => x.WindowMargin)
+                .Subscribe(x =>
+                {
+                    Settings.WindowProperties.Margin = x.Value;
+                    if (Settings.WindowProperties.AutoFit)
+                    {
+                        WindowResizing.SetSize(vm);
+                        WindowFunctions.CenterWindowOnScreen();
+                    }
+                    
+                });
+        };
+    }
+}

+ 25 - 0
src/PicView.Avalonia/Views/ZoomSettingsView.axaml

@@ -81,6 +81,31 @@
         </ComboBox>
 
 
+        <TextBlock
+            Classes="txt"
+            FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+            FontSize="12"
+            Margin="0,10,0,10"
+            MaxWidth="300"
+            Text="Margin" />
+        <customControls:CustomSlider
+            Height="30"
+            HorizontalAlignment="Center"
+            IsSnapToTickEnabled="True"
+            Margin="0,1,0,1"
+            Maximum="100"
+            Minimum="0"
+            TickFrequency="1"
+            TickPlacement="BottomRight"
+            Value="{CompiledBinding SettingsViewModel.WindowMargin}"
+            Width="300" />
+        <TextBlock
+            Classes="txt"
+            FontFamily="/Assets/Fonts/Roboto-Bold.ttf#Roboto"
+            Foreground="{StaticResource MainTextColorFaded}"
+            Margin="0,0,0,15"
+            Text="{CompiledBinding SettingsViewModel.WindowMargin,
+                                   Mode=OneWay}" />
 
     </StackPanel>
 </UserControl>

+ 20 - 0
src/PicView.Avalonia/Views/ZoomSettingsView.axaml.cs

@@ -1,4 +1,7 @@
 using Avalonia.Controls;
+using PicView.Avalonia.ViewModels;
+using PicView.Avalonia.WindowBehavior;
+using ReactiveUI;
 
 namespace PicView.Avalonia.Views;
 
@@ -28,6 +31,23 @@ public partial class ZoomSettingsView : UserControl
                     MouseWheelBox.SelectedIndex = Settings.Zoom.CtrlZoom ? 0 : 1;
                 }
             };
+
+            if (DataContext is not MainViewModel vm)
+            {
+                return;
+            }
+            vm.SettingsViewModel.WindowMargin = Settings.WindowProperties.Margin;
+            vm.SettingsViewModel.ObservableForProperty(x => x.WindowMargin)
+                .Subscribe(x =>
+                {
+                    Settings.WindowProperties.Margin = x.Value;
+                    if (Settings.WindowProperties.AutoFit)
+                    {
+                        WindowResizing.SetSize(vm);
+                        WindowFunctions.CenterWindowOnScreen();
+                    }
+                    
+                });
         };
     }
 }

+ 2 - 0
src/PicView.Core/Config/Languages/da.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Hvid fluorescerende",
   "Width": "Bredde",
   "WidthAndHeight": "Bredde og højde",
+  "Window": "Vindue",
   "WindowManagement": "vinduesstyring",
+  "WindowMargin": "Vinduesafstand",
   "WindowScaling": "Skalering af vindue",
   "Zoom": "Zoom",
   "ZoomIn": "Zoom Ind",

+ 2 - 0
src/PicView.Core/Config/Languages/de.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Weiß fluoreszierend",
   "Width": "Breite",
   "WidthAndHeight": "Breite und Höhe",
+  "Window": "Fenster",
   "WindowManagement": "Fensterverwaltung",
+  "WindowMargin": "Fensterabstand",
   "WindowScaling": "Fensterskalierung",
   "Zoom": "Zoom",
   "ZoomIn": "Vergrößern",

+ 2 - 0
src/PicView.Core/Config/Languages/en.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "White fluorescent",
   "Width": "Width",
   "WidthAndHeight": "Width and height",
+  "Window": "Window",
   "WindowManagement": "Window management",
+  "WindowMargin": "Window spacing",
   "WindowScaling": "Window scaling",
   "Zoom": "Zoom",
   "ZoomIn": "Zoom in",

+ 2 - 0
src/PicView.Core/Config/Languages/es.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Fluorescente blanco",
   "Width": "Ancho",
   "WidthAndHeight": "Ancho y alto",
+  "Window": "Ventana",
   "WindowManagement": "Gestión de ventana",
+  "WindowMargin": "Espaciado de ventana",
   "WindowScaling": "Escalado de ventana",
   "Zoom": "Zoom",
   "ZoomIn": "Acercar",

+ 2 - 0
src/PicView.Core/Config/Languages/fr.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Fluorescent blanc",
   "Width": "Largeur",
   "WidthAndHeight": "Largeur et hauteur",
+  "Window": "Fenêtre",
   "WindowManagement": "Gestion des fenêtres",
+  "WindowMargin": "Espacement de la fenêtre",
   "WindowScaling": "Mise à l'échelle de la fenêtre",
   "Zoom": "Zoomer",
   "ZoomIn": "Zoom avant",

+ 2 - 0
src/PicView.Core/Config/Languages/it.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Fluorescente bianco",
   "Width": "Larghezza",
   "WidthAndHeight": "Larghezza e altezza",
+  "Window": "Finestra",
   "WindowManagement": "Gestione delle finestre",
+  "WindowMargin": "Spaziatura della finestra",
   "WindowScaling": "Ridimensionamento della finestra",
   "Zoom": "Zoom",
   "ZoomIn": "Ingrandire",

+ 2 - 0
src/PicView.Core/Config/Languages/ja.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "白色蛍光灯",
   "Width": "幅",
   "WidthAndHeight": "幅と高さ",
+  "Window": "ウィンドウ",
   "WindowManagement": "ウィンドウ管理",
+  "WindowMargin": "ウィンドウの間隔",
   "WindowScaling": "ウィンドウのスケーリング",
   "Zoom": "ズーム",
   "ZoomIn": "ズームイン",

+ 2 - 0
src/PicView.Core/Config/Languages/ko.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "백색 형광등",
   "Width": "너비",
   "WidthAndHeight": "너비 및 높이",
+  "Window": "창",
   "WindowManagement": "창 관리",
+  "WindowMargin": "창 간격",
   "WindowScaling": "창 비율",
   "Zoom": "확대/축소",
   "ZoomIn": "확대",

+ 2 - 0
src/PicView.Core/Config/Languages/nl.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Wit fluoriserend",
   "Width": "Breedte",
   "WidthAndHeight": "Breedte en hoogte",
+  "Window": "Venster",
   "WindowManagement": "Vensterbeheer",
+  "WindowMargin": "Vensterafstand",
   "WindowScaling": "Venster scalen",
   "Zoom": "Zoom",
   "ZoomIn": "Inzoomen",

+ 2 - 0
src/PicView.Core/Config/Languages/pl.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Biały - świetlówka",
   "Width": "Szerokość",
   "WidthAndHeight": "Szerokość i wysokość",
+  "Window": "Okno",
   "WindowManagement": "Zarządzanie oknem",
+  "WindowMargin": "Odstęp okna",
   "WindowScaling": "Skalowanie okna",
   "Zoom": "Zoom",
   "ZoomIn": "Przybliż",

+ 2 - 0
src/PicView.Core/Config/Languages/pt-br.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Branco fluorescente",
   "Width": "Largura",
   "WidthAndHeight": "Largura e altura",
+  "Window": "Janela",
   "WindowManagement": "Gerenciamento de janelas",
+  "WindowMargin": "Espaçamento da janela",
   "WindowScaling": "Dimensionamento da janela",
   "Zoom": "Zoom",
   "ZoomIn": "Aumentar o zoom",

+ 2 - 0
src/PicView.Core/Config/Languages/ro.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Fluorescent alb",
   "Width": "Lățime",
   "WidthAndHeight": "Lățime și înălțime",
+  "Window": "Fereastră",
   "WindowManagement": "Gestionarea ferestrei",
+  "WindowMargin": "Spațiere fereastră",
   "WindowScaling": "Scalare fereastră",
   "Zoom": "Transfocare",
   "ZoomIn": "Apropiere",

+ 2 - 0
src/PicView.Core/Config/Languages/ru.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Белый флуоресцентный",
   "Width": "Ширина",
   "WidthAndHeight": "Ширина и высота",
+  "Window": "Окно",
   "WindowManagement": "Управление окнами",
+  "WindowMargin": "Интервал окна",
   "WindowScaling": "Масштабирование окна",
   "Zoom": "Зуммирование",
   "ZoomIn": "Увеличить",

+ 2 - 0
src/PicView.Core/Config/Languages/sv.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Lysrör vitt",
   "Width": "Bredd",
   "WidthAndHeight": "Bredd och höjd",
+  "Window": "Fönster",
   "WindowManagement": "Fönsterhantering",
+  "WindowMargin": "Fönsteravstånd",
   "WindowScaling": "Fönsterskalning",
   "Zoom": "Zooma",
   "ZoomIn": "Zooma in",

+ 2 - 0
src/PicView.Core/Config/Languages/tr.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "Beyaz floresan",
   "Width": "Genişlik",
   "WidthAndHeight": "Genişlik ve yükseklik",
+  "Window": "Pencere",
   "WindowManagement": "Pencere yönetimi",
+  "WindowMargin": "Pencere aralığı",
   "WindowScaling": "Pencere ölçeklendirme",
   "Zoom": "Yakınlaştırma",
   "ZoomIn": "Yakınlaştır",

+ 2 - 0
src/PicView.Core/Config/Languages/zh-CN.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "白光荧光",
   "Width": "宽度",
   "WidthAndHeight": "宽度和高度",
+  "Window": "窗口",
   "WindowManagement": "窗口管理",
+  "WindowMargin": "窗口间距",
   "WindowScaling": "窗口缩放",
   "Zoom": "缩放",
   "ZoomIn": "放大",

+ 2 - 0
src/PicView.Core/Config/Languages/zh-TW.json

@@ -378,7 +378,9 @@
   "WhiteFluorescent": "白螢光",
   "Width": "寬度",
   "WidthAndHeight": "寬度和高度",
+  "Window": "視窗",
   "WindowManagement": "視窗管理",
+  "WindowMargin": "視窗間距",
   "WindowScaling": "視窗縮放",
   "Zoom": "縮放",
   "ZoomIn": "放大",

+ 4 - 0
src/PicView.Core/Localization/LanguageModel.cs

@@ -1,5 +1,7 @@
 using System.Diagnostics.CodeAnalysis;
 
+// ReSharper disable PropertyCanBeMadeInitOnly.Global
+
 namespace PicView.Core.Localization;
 
 [SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Global")]
@@ -389,7 +391,9 @@ public class LanguageModel
     public string? WhiteFluorescent { get; set; }
     public string? Width { get; set; }
     public string? WidthAndHeight { get; set; }
+    public string? Window { get; set; }
     public string? WindowManagement { get; set; }
+    public string? WindowMargin{ get; set; }
     public string? WindowScaling { get; set; }
     public string? Zoom { get; set; }
     public string? ZoomIn { get; set; }

+ 6 - 0
src/PicView.Core/ViewModels/SettingsViewModel.cs

@@ -57,4 +57,10 @@ public class SettingsViewModel : ReactiveObject
     } = Settings.UIProperties.ShowPermanentDeletionConfirmation;
 
     #endregion
+    
+    public double WindowMargin
+    {
+        get;
+        set => this.RaiseAndSetIfChanged(ref field, value);
+    }
 }

+ 336 - 318
src/PicView.Core/ViewModels/TranslationViewModel.cs

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

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio