Jelajahi Sumber

Add translations for "ColorBalance," "Highlights," "Midtones," and "Shadows" across multiple languages #296

Ruben 2 minggu lalu
induk
melakukan
0040d00a18

+ 57 - 0
src/PicView.Avalonia/UI/DebouncedLoadingScope.cs

@@ -0,0 +1,57 @@
+using Avalonia.Threading;
+using R3;
+
+namespace PicView.Avalonia.UI;
+
+public sealed class DebouncedLoadingScope : IAsyncDisposable
+{
+    private readonly BindableReactiveProperty<bool> _target;
+    private readonly int _delayMs;
+    private readonly CancellationTokenSource _cts = new();
+    private bool _shown;
+
+    private DebouncedLoadingScope(BindableReactiveProperty<bool> target, int delayMs)
+    {
+        _target = target;
+        _delayMs = delayMs;
+
+        // fire-and-forget debounce task
+        _ = Task.Run(async () =>
+        {
+            try
+            {
+                await Task.Delay(_delayMs, _cts.Token);
+                if (_cts.IsCancellationRequested)
+                    return;
+
+                await Dispatcher.UIThread.InvokeAsync(() =>
+                {
+                    _target.Value = true;
+                    _shown = true;
+                });
+            }
+            catch (TaskCanceledException)
+            {
+                // ignore
+            }
+        });
+    }
+
+    public static DebouncedLoadingScope Start(BindableReactiveProperty<bool> target) => new(target, 150);
+    public static DebouncedLoadingScope Start(BindableReactiveProperty<bool> target, int delayMs) => new(target, delayMs);
+
+    public async ValueTask DisposeAsync()
+    {
+        _cts.Cancel();
+
+        if (_shown)
+        {
+            await Dispatcher.UIThread.InvokeAsync(() =>
+            {
+                _target.Value = false;
+            });
+        }
+
+        _cts.Dispose();
+    }
+}

File diff ditekan karena terlalu besar
+ 240 - 228
src/PicView.Avalonia/Views/Main/EffectsView.axaml


+ 22 - 29
src/PicView.Avalonia/Views/Main/EffectsView.axaml.cs

@@ -1,19 +1,11 @@
-using System;
-using System.Collections.Generic;
-using System.Threading;
-using System.Threading.Tasks;
 using Avalonia;
 using Avalonia.Controls;
 using Avalonia.Controls.Primitives;
 using Avalonia.Input;
 using Avalonia.LogicalTree;
 using Avalonia.Media;
-using Avalonia.Media.Imaging;
 using Avalonia.Threading;
 using ImageMagick;
-using PicView.Avalonia.Extensions;
-using PicView.Avalonia.History;
-using PicView.Avalonia.ImageHandling;
 using PicView.Avalonia.Navigation;
 using PicView.Avalonia.UI;
 using PicView.Avalonia.ViewModels;
@@ -86,7 +78,7 @@ public partial class EffectsView : UserControl
         // Footer buttons
         ResetButton.Click += async (_, _) => await RemoveEffects();
         CancelButton.Click += (_, _) => (VisualRoot as Window)?.Close();
-        ApplyButton.Click += async (_, _) => await CommitToHistoryAndClose();
+        //ApplyButton.Click += async (_, _) => await CommitToHistoryAndClose();
 
         // Per-tab reset
         ResetColorTabBtn.Click += (_, _) => { ResetColor(); HideCancelBtn(); RequestUpdate(); };
@@ -527,26 +519,26 @@ public partial class EffectsView : UserControl
         }
     }
 
-    private async Task CommitToHistoryAndClose()
-    {
-        if (UIHelper.GetMainView.DataContext is not MainViewModel vm)
-            return;
-
-        if (vm.PicViewer.ImageSource.Value is not Bitmap bmp)
-            return;
-
-        if (vm.PicViewer.EffectConfig.Value is null)
-            return;
-
-        await using (DebouncedLoadingScope.Start(vm.MainWindow.IsLoadingIndicatorShown, 50))
-        {
-            var config = vm.PicViewer.EffectConfig.CurrentValue;
-            var desc = BuildEffectDescription(config);
-
-            await vm.HistoryManager.AddSnapshot(EditKind.Effect, desc, bmp).ConfigureAwait(false);
-            await Dispatcher.UIThread.InvokeAsync(() => (VisualRoot as Window)?.Close());
-        }
-    }
+    // private async Task CommitToHistoryAndClose()
+    // {
+    //     if (UIHelper.GetMainView.DataContext is not MainViewModel vm)
+    //         return;
+    //
+    //     if (vm.PicViewer.ImageSource.Value is not Bitmap bmp)
+    //         return;
+    //
+    //     if (vm.PicViewer.EffectConfig.Value is null)
+    //         return;
+    //
+    //     await using (DebouncedLoadingScope.Start(vm.MainWindow.IsLoadingIndicatorShown, 50))
+    //     {
+    //         var config = vm.PicViewer.EffectConfig.CurrentValue;
+    //         var desc = BuildEffectDescription(config);
+    //
+    //         //await vm.HistoryManager.AddSnapshot(EditKind.Effect, desc, bmp).ConfigureAwait(false);
+    //         await Dispatcher.UIThread.InvokeAsync(() => (VisualRoot as Window)?.Close());
+    //     }
+    // }
 
     private void HideResetBtn()
     {
@@ -658,3 +650,4 @@ public partial class EffectsView : UserControl
         public override string ToString() => Name;
     }
 }
+

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Vil du lukke vinduet?",
   "CloudyWeather": "Overskyet vejr",
   "Color": "Farve",
+  "ColorBalance": "Farvebalance",
   "ColorPickerTool": "Farvevælgningsværktøj",
   "ColorPickerToolTooltip": "Vælg en farve fra billedet",
   "ColorRepresentation": "Farverepræsentation",
@@ -178,6 +179,7 @@
   "High": "Høj",
   "HighQuality": "Høj kvalitet",
   "HighlightColor": "Accentfarve",
+  "Highlights": "Højlys",
   "ISOSpeed": "ISO hastighed",
   "Image": "Billede",
   "ImageAliasing": "Billedantialiasering",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapixels",
   "Meter": "Meter",
   "MeteringMode": "Målemetode",
+  "Midtones": "Mellemtoner",
   "Minimize": "Minimer",
   "MiscSettings": "Diverse indstillinger",
   "Modified": "Modificeret",
@@ -340,6 +343,7 @@
   "SetStarRating": "Angiv stjernevurdering",
   "Settings": "Indstillinger",
   "Shade": "Skygge",
+  "Shadows": "Skygger",
   "Sharpness": "Skarphed",
   "Shift": "Skift",
   "ShowAllSettingsWindow": "Vis indstillingsvinduet",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Möchten Sie das Fenster schließen?",
   "CloudyWeather": "Bewölktes Wetter",
   "Color": "Farbe",
+  "ColorBalance": "Farbbalance",
   "ColorPickerTool": "Farbauswahl-Werkzeug",
   "ColorPickerToolTooltip": "Farbe aus Bild auswählen",
   "ColorRepresentation": "Farbdarstellung",
@@ -178,6 +179,7 @@
   "High": "Hoch",
   "HighQuality": "Hohe Qualität",
   "HighlightColor": "Hervorhebungsfarbe",
+  "Highlights": "Lichter",
   "ISOSpeed": "ISO-Geschwindigkeit",
   "Image": "Bild",
   "ImageAliasing": "Bild-Aliasing",
@@ -215,6 +217,7 @@
   "MegaPixels": "Megapixel",
   "Meter": "Messen",
   "MeteringMode": "Messmodus",
+  "Midtones": "Mitteltöne",
   "Minimize": "Minimieren",
   "MiscSettings": "Sonstige Einstellungen",
   "Modified": "Geändert",
@@ -340,6 +343,7 @@
   "SetStarRating": "Bewertung festlegen",
   "Settings": "Einstellungen",
   "Shade": "Schatten",
+  "Shadows": "Tiefen",
   "Sharpness": "Schärfe",
   "Shift": "Schicht",
   "ShowAllSettingsWindow": "Alle Einstellungsfenster anzeigen",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Close the window?",
   "CloudyWeather": "Cloudy weather",
   "Color": "Color",
+  "ColorBalance": "Color balance",
   "ColorPickerTool": "Color Picker Tool",
   "ColorPickerToolTooltip": "Pick color from image",
   "ColorRepresentation": "Color representation",
@@ -178,6 +179,7 @@
   "High": "High",
   "HighQuality": "High quality",
   "HighlightColor": "Highlight color",
+  "Highlights": "Highlights",
   "ISOSpeed": "ISO speed",
   "Image": "Image",
   "ImageAliasing": "Image aliasing",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapixels",
   "Meter": "Meter",
   "MeteringMode": "Metering mode",
+  "Midtones": "Midtones",
   "Minimize": "Minimize",
   "MiscSettings": "Misc settings",
   "Modified": "Modified",
@@ -340,6 +343,7 @@
   "SetStarRating": "Set star rating",
   "Settings": "Settings",
   "Shade": "Shade",
+  "Shadows": "Shadows",
   "Sharpness": "Sharpness",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Show all settings window",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "¿Desea cerrar la ventana?",
   "CloudyWeather": "Tiempo nublado",
   "Color": "Color",
+  "ColorBalance": "Equilibrio de color",
   "ColorPickerTool": "Cuentagotas",
   "ColorPickerToolTooltip": "Elegir color desde imagen",
   "ColorRepresentation": "Representación de color",
@@ -178,6 +179,7 @@
   "High": "Alto",
   "HighQuality": "Alta calidad",
   "HighlightColor": "Color de resaltado",
+  "Highlights": "Iluminaciones",
   "ISOSpeed": "Velocidad ISO",
   "Image": "Imagen",
   "ImageAliasing": "Alias de imagen",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapixeles",
   "Meter": "Medidor",
   "MeteringMode": "Modo de medición",
+  "Midtones": "Medios tonos",
   "Minimize": "Minimizar",
   "MiscSettings": "Otras opciones",
   "Modified": "Modificado",
@@ -340,6 +343,7 @@
   "SetStarRating": "Establecer clasificación con estrellas",
   "Settings": "Opciones",
   "Shade": "Sombra",
+  "Shadows": "Sombras",
   "Sharpness": "Nitidez",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Ventana de mostrar todas las opciones",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Souhaitez-vous fermer la fenêtre ?",
   "CloudyWeather": "Temps nuageux",
   "Color": "Couleur",
+  "ColorBalance": "Balance des couleurs",
   "ColorPickerTool": "Outil de sélection de couleur",
   "ColorPickerToolTooltip": "Choisir la couleur de l'image",
   "ColorRepresentation": "Représentation des couleurs",
@@ -178,6 +179,7 @@
   "High": "Élevé",
   "HighQuality": "Haute qualité",
   "HighlightColor": "Couleur de surbrillance",
+  "Highlights": "Tons clairs",
   "ISOSpeed": "Vitesse ISO",
   "Image": "Image",
   "ImageAliasing": "Anticrénelage d'image",
@@ -215,6 +217,7 @@
   "MegaPixels": "mégapixels",
   "Meter": "Mètre",
   "MeteringMode": "Mode de mesure",
+  "Midtones": "Demi-teintes",
   "Minimize": "Minimiser",
   "MiscSettings": "Autres paramètres",
   "Modified": "Modifié",
@@ -340,6 +343,7 @@
   "SetStarRating": "Définir une note avec des étoiles",
   "Settings": "Paramètres",
   "Shade": "Ombre",
+  "Shadows": "Tons foncés",
   "Sharpness": "Netteté",
   "Shift": "Maj",
   "ShowAllSettingsWindow": "Afficher la fenêtre de tous les paramètres",

+ 4 - 0
src/PicView.Core/Config/Languages/he.json

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "לסגור את החלון?",
   "CloudyWeather": "מזג אוויר מעונן",
   "Color": "צבע",
+  "ColorBalance": "איזון צבע",
   "ColorPickerTool": "דוגם צבעים",
   "ColorPickerToolTooltip": "בחר צבע מהתמונה",
   "ColorRepresentation": "ייצוג צבע",
@@ -178,6 +179,7 @@
   "High": "גבוה",
   "HighQuality": "איכות גבוהה",
   "HighlightColor": "צבע הדגשה",
+  "Highlights": "אזורים בהירים",
   "ISOSpeed": "רגישות ISO",
   "Image": "תמונה",
   "ImageAliasing": "עיוות תמונה (Aliasing)",
@@ -215,6 +217,7 @@
   "MegaPixels": "מגה פיקסלים",
   "Meter": "מד",
   "MeteringMode": "מצב מדידת אור",
+  "Midtones": "גווני ביניים",
   "Minimize": "מזער",
   "MiscSettings": "הגדרות שונות",
   "Modified": "שונה",
@@ -340,6 +343,7 @@
   "SetStarRating": "הגדר דירוג כוכבים",
   "Settings": "הגדרות",
   "Shade": "צל",
+  "Shadows": "צללים",
   "Sharpness": "חדות",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "הצג את כל חלון ההגדרות",

+ 4 - 0
src/PicView.Core/Config/Languages/hu.json

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Be akarja zárni az ablakot?",
   "CloudyWeather": "Felhős idő",
   "Color": "Szín",
+  "ColorBalance": "Színegyensúly",
   "ColorPickerTool": "Színválasztó eszköz",
   "ColorPickerToolTooltip": "Válasszon színt a képről",
   "ColorRepresentation": "Színes ábrázolás",
@@ -178,6 +179,7 @@
   "High": "Magas",
   "HighQuality": "Kiváló minőségű",
   "HighlightColor": "Kiemelés színe",
+  "Highlights": "Csúcsfények",
   "ISOSpeed": "ISO-érzékenység",
   "Image": "Kép",
   "ImageAliasing": "Képi elszíneződés",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapixel",
   "Meter": "Mérés",
   "MeteringMode": "Fénymérési mód",
+  "Midtones": "Középtónusok",
   "Minimize": "Minimalizál",
   "MiscSettings": "Egyéb beállítások",
   "Modified": "Módosított",
@@ -340,6 +343,7 @@
   "SetStarRating": "A csillagminősítés beállítása",
   "Settings": "Beállítások",
   "Shade": "Árnyék",
+  "Shadows": "Árnyékok",
   "Sharpness": "Élesség",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Az összes beállítás ablak megjelenítése",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Vuoi chiudere la finestra?",
   "CloudyWeather": "Tempo nuvoloso",
   "Color": "Colore",
+  "ColorBalance": "Bilanciamento colore",
   "ColorPickerTool": "Strumento di selezione del colore",
   "ColorPickerToolTooltip": "Scegli il colore dall'immagine",
   "ColorRepresentation": "Rappresentazione del colore",
@@ -178,6 +179,7 @@
   "High": "Alto",
   "HighQuality": "Alta qualità",
   "HighlightColor": "Evidenzia colore",
+  "Highlights": "Luci",
   "ISOSpeed": "Velocità ISO",
   "Image": "Immagine",
   "ImageAliasing": "Alias delle immagini",
@@ -215,6 +217,7 @@
   "MegaPixels": "Megapixel",
   "Meter": "Metro",
   "MeteringMode": "Modalità di misurazione",
+  "Midtones": "Mezzitoni",
   "Minimize": "Minimizzare",
   "MiscSettings": "Impostazioni varie",
   "Modified": "Modificato",
@@ -340,6 +343,7 @@
   "SetStarRating": "Imposta il rating con le stelle",
   "Settings": "Impostazioni",
   "Shade": "Ombra",
+  "Shadows": "Ombre",
   "Sharpness": "Nitidezza",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Mostra la finestra di tutte le impostazioni",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "ウィンドウを閉じますか?",
   "CloudyWeather": "曇天",
   "Color": "色",
+  "ColorBalance": "カラーバランス",
   "ColorPickerTool": "カラーピッカーツール",
   "ColorPickerToolTooltip": "画像から色を選択",
   "ColorRepresentation": "色彩表現",
@@ -178,6 +179,7 @@
   "High": "高",
   "HighQuality": "高品質",
   "HighlightColor": "強調色",
+  "Highlights": "ハイライト",
   "ISOSpeed": "ISO 感度",
   "Image": "画像",
   "ImageAliasing": "画像のエイリアス",
@@ -215,6 +217,7 @@
   "MegaPixels": "メガピクセル",
   "Meter": "測光",
   "MeteringMode": "測光モード",
+  "Midtones": "中間調",
   "Minimize": "最小化",
   "MiscSettings": "その他の設定",
   "Modified": "更新日時",
@@ -340,6 +343,7 @@
   "SetStarRating": "星評価の設定",
   "Settings": "設定",
   "Shade": "日陰",
+  "Shadows": "シャドウ",
   "Sharpness": "シャープネス",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "すべての設定ウィンドウを表示",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "창을 닫으시겠습니까?",
   "CloudyWeather": "흐린 날씨",
   "Color": "색",
+  "ColorBalance": "색상 균형",
   "ColorPickerTool": "색 선택 도구",
   "ColorPickerToolTooltip": "이미지에서 색 선택",
   "ColorRepresentation": "색상 표현",
@@ -178,6 +179,7 @@
   "High": "높음",
   "HighQuality": "높은 품질",
   "HighlightColor": "강조 색상",
+  "Highlights": "밝은 영역",
   "ISOSpeed": "ISO 속도",
   "Image": "이미지",
   "ImageAliasing": "이미지 앨리어싱",
@@ -215,6 +217,7 @@
   "MegaPixels": "메가픽셀",
   "Meter": "미터",
   "MeteringMode": "미터링 모드",
+  "Midtones": "중간 영역",
   "Minimize": "최소화",
   "MiscSettings": "기타 설정",
   "Modified": "수정 시간",
@@ -340,6 +343,7 @@
   "SetStarRating": "별 등급 설정",
   "Settings": "설정",
   "Shade": "음영",
+  "Shadows": "어두운 영역",
   "Sharpness": "선명도",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "모든 설정 창 표시",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Wilt u het venster sluiten?",
   "CloudyWeather": "Bewolkt weer",
   "Color": "Kleur",
+  "ColorBalance": "Kleurbalans",
   "ColorPickerTool": "Kleurkiezer",
   "ColorPickerToolTooltip": "Kleur kiezen uit afbeelding",
   "ColorRepresentation": "Kleurenrepresentatie",
@@ -178,6 +179,7 @@
   "High": "Hoog",
   "HighQuality": "Hoge kwaliteit",
   "HighlightColor": "Markeerkleur",
+  "Highlights": "Hooglichten",
   "ISOSpeed": "ISO snelheid",
   "Image": "Afbeelding",
   "ImageAliasing": "Beeldaliasing",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapixels",
   "Meter": "Meter",
   "MeteringMode": "Meetmodus",
+  "Midtones": "Middentonen",
   "Minimize": "Minimaliseren",
   "MiscSettings": "Diverse instellingen",
   "Modified": "Aangepast",
@@ -340,6 +343,7 @@
   "SetStarRating": "Sterbeoordeling instellen",
   "Settings": "Instellingen",
   "Shade": "Schaduw",
+  "Shadows": "Schaduwen",
   "Sharpness": "Scherpte",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Toon alle instellingen venster",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Czy chcesz zamknąć okno?",
   "CloudyWeather": "Pochmurno",
   "Color": "Kolor",
+  "ColorBalance": "Balans kolorów",
   "ColorPickerTool": "Narzędzie wyboru koloru",
   "ColorPickerToolTooltip": "Wybierz kolor ze zdjęcia",
   "ColorRepresentation": "Reprezentacja kolorów",
@@ -178,6 +179,7 @@
   "High": "Wysoki",
   "HighQuality": "Wysoka jakość",
   "HighlightColor": "Kolor zaznaczenia",
+  "Highlights": "Światła",
   "ISOSpeed": "Czułość ISO",
   "Image": "Obraz",
   "ImageAliasing": "Aliasing obrazu",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapikseli",
   "Meter": "Metr",
   "MeteringMode": "Tryb pomiaru",
+  "Midtones": "Półcienie",
   "Minimize": "Minimalizuj",
   "MiscSettings": "Pozostałe ustawienia",
   "Modified": "Zmodyfikowany",
@@ -340,6 +343,7 @@
   "SetStarRating": "Ustawianie oceny gwiazdkowej",
   "Settings": "Ustawienia",
   "Shade": "Cień",
+  "Shadows": "Cienie",
   "Sharpness": "Ostrość",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Pokaż okno ze wszystkimi ustawieniami",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Pencereyi kapatmak istiyor musunuz?",
   "CloudyWeather": "Nublado",
   "Color": "Cor",
+  "ColorBalance": "Equilíbrio de cores",
   "ColorPickerTool": "Ferramenta de seleção de cores",
   "ColorPickerToolTooltip": "Escolha a cor da imagem",
   "ColorRepresentation": "Representação de cores",
@@ -178,6 +179,7 @@
   "High": "Alto",
   "HighQuality": "Alta qualidade",
   "HighlightColor": "Cor de realce",
+  "Highlights": "Realces",
   "ISOSpeed": "Velocidade ISO",
   "Image": "Imagem",
   "ImageAliasing": "Distorção da imagem",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapixels",
   "Meter": "Metro",
   "MeteringMode": "Modo de medição",
+  "Midtones": "Tons médios",
   "Minimize": "Minimizar",
   "MiscSettings": "Configurações diversas",
   "Modified": "Modificado",
@@ -340,6 +343,7 @@
   "SetStarRating": "Definir classificação por estrelas",
   "Settings": "Configurações",
   "Shade": "Tom",
+  "Shadows": "Sombras",
   "Sharpness": "Nitidez",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Mostrar todas as janelas de configurações",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Doriți să închideți fereastra?",
   "CloudyWeather": "Vreme înnorată",
   "Color": "Culoare",
+  "ColorBalance": "Balans de culoare",
   "ColorPickerTool": "Selector de culoare",
   "ColorPickerToolTooltip": "Alegere culoare din imagine",
   "ColorRepresentation": "Reprezentare color",
@@ -178,6 +179,7 @@
   "High": "Înalt",
   "HighQuality": "Calitate înaltă",
   "HighlightColor": "Culoare de evidențiere",
+  "Highlights": "Lumini",
   "ISOSpeed": "Viteză ISO",
   "Image": "Imagine",
   "ImageAliasing": "Aliasare imagine",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapixeli",
   "Meter": "Metru",
   "MeteringMode": "Mod de măsurare",
+  "Midtones": "Tonuri medii",
   "Minimize": "Minimizare",
   "MiscSettings": "Alte setări",
   "Modified": "Modificată",
@@ -340,6 +343,7 @@
   "SetStarRating": "Setare evaluare cu stele",
   "Settings": "Setări",
   "Shade": "Umbrit",
+  "Shadows": "Umbre",
   "Sharpness": "Claritate",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Arată fereastra cu toate setările",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Вы хотите закрыть окно?",
   "CloudyWeather": "Облачная погода",
   "Color": "Цвет",
+  "ColorBalance": "Цветовой баланс",
   "ColorPickerTool": "Инструмент выбора цвета",
   "ColorPickerToolTooltip": "Выберите цвет из изображения",
   "ColorRepresentation": "Цветовое представление",
@@ -178,6 +179,7 @@
   "High": "Высокий",
   "HighQuality": "Высокое качество",
   "HighlightColor": "Цвет выделения",
+  "Highlights": "Света",
   "ISOSpeed": "Чувствительность ISO",
   "Image": "Изображение",
   "ImageAliasing": "Сглаживание изображения",
@@ -215,6 +217,7 @@
   "MegaPixels": "мегапикселей",
   "Meter": "Метр",
   "MeteringMode": "Режим измерения",
+  "Midtones": "Средние тона",
   "Minimize": "Свернуть",
   "MiscSettings": "Прочие настройки",
   "Modified": "Изменено",
@@ -340,6 +343,7 @@
   "SetStarRating": "Установить рейтинг звезд",
   "Settings": "Настройки",
   "Shade": "Тень",
+  "Shadows": "Тени",
   "Sharpness": "Резкость",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Показать окно всех настроек",

+ 4 - 0
src/PicView.Core/Config/Languages/sl.json

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Zapreti okno?",
   "CloudyWeather": "Oblačno vreme",
   "Color": "Barva",
+  "ColorBalance": "Barvno ravnovesje",
   "ColorPickerTool": "Orodje za izbiro barve",
   "ColorPickerToolTooltip": "Izberite barvo iz slike",
   "ColorRepresentation": "Predstavitev barve",
@@ -178,6 +179,7 @@
   "High": "Visoko",
   "HighQuality": "Visoka kakovost",
   "HighlightColor": "Barva poudarka",
+  "Highlights": "Svetli toni",
   "ISOSpeed": "ISO hitrost",
   "Image": "Slika",
   "ImageAliasing": "Aliasiranje slike",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapiksli",
   "Meter": "Meter",
   "MeteringMode": "Način merjenja",
+  "Midtones": "Srednji toni",
   "Minimize": "Minimiziraj",
   "MiscSettings": "Različne nastavitve",
   "Modified": "Spremenjeno",
@@ -340,6 +343,7 @@
   "SetStarRating": "Nastavi oceno",
   "Settings": "Nastavitve",
   "Shade": "Senca",
+  "Shadows": "Sence",
   "Sharpness": "Ostrina",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Pokaži okno vseh nastavitev",

+ 4 - 0
src/PicView.Core/Config/Languages/sr-Cyrl.json

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Затвори прозор?",
   "CloudyWeather": "Облачно време",
   "Color": "Boja",
+  "ColorBalance": "Баланс боја",
   "ColorPickerTool": "Алат за бирање боје",
   "ColorPickerToolTooltip": "Изабери боју са слике",
   "ColorRepresentation": "Представљање боје",
@@ -178,6 +179,7 @@
   "High": "Високо",
   "HighQuality": "Висок квалитет",
   "HighlightColor": "Боја истицања",
+  "Highlights": "Светли тонови",
   "ISOSpeed": "ISO брзина",
   "Image": "Слика",
   "ImageAliasing": "Алиасинг слике",
@@ -215,6 +217,7 @@
   "MegaPixels": "мегапиксели",
   "Meter": "Метар",
   "MeteringMode": "Режим мерења",
+  "Midtones": "Средњи тонови",
   "Minimize": "Минимизирај",
   "MiscSettings": "Разна подешавања",
   "Modified": "Измењено",
@@ -340,6 +343,7 @@
   "SetStarRating": "Постави оцену звездицама",
   "Settings": "Подешавања",
   "Shade": "Сенка",
+  "Shadows": "Сенке",
   "Sharpness": "Оштрина",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Прикажи прозор са свим подешавањима",

+ 4 - 0
src/PicView.Core/Config/Languages/sr-Latn.json

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Zatvori prozor?",
   "CloudyWeather": "Oblačno vreme",
   "Color": "Boja",
+  "ColorBalance": "Balans boja",
   "ColorPickerTool": "Alat za biranje boje",
   "ColorPickerToolTooltip": "Izaberi boju sa slike",
   "ColorRepresentation": "Predstavljanje boje",
@@ -178,6 +179,7 @@
   "High": "Visoko",
   "HighQuality": "Visok kvalitet",
   "HighlightColor": "Boja isticanja",
+  "Highlights": "Svetli tonovi",
   "ISOSpeed": "ISO brzina",
   "Image": "Slika",
   "ImageAliasing": "Aliasing slike",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapikseli",
   "Meter": "Metar",
   "MeteringMode": "Režim merenja",
+  "Midtones": "Srednji tonovi",
   "Minimize": "Minimiziraj",
   "MiscSettings": "Razna podešavanja",
   "Modified": "Izmenjeno",
@@ -340,6 +343,7 @@
   "SetStarRating": "Postavi ocenu zvezdicama",
   "Settings": "Podešavanja",
   "Shade": "Senka",
+  "Shadows": "Senke",
   "Sharpness": "Oštrina",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Prikaži prozor sa svim podešavanjima",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Vill du stänga fönstret?",
   "CloudyWeather": "Molnigt",
   "Color": "Färg",
+  "ColorBalance": "Färgbalans",
   "ColorPickerTool": "Färgprov",
   "ColorPickerToolTooltip": "Ta färgprov i bilden",
   "ColorRepresentation": "Färgrepresentation",
@@ -178,6 +179,7 @@
   "High": "Hög",
   "HighQuality": "Hög kvalitet",
   "HighlightColor": "Markera färg",
+  "Highlights": "Högdagrar",
   "ISOSpeed": "ISO-tal",
   "Image": "Bild",
   "ImageAliasing": "Kantutjämning",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapixel",
   "Meter": "Meter",
   "MeteringMode": "Mätmetod",
+  "Midtones": "Mellantoner",
   "Minimize": "Minimera",
   "MiscSettings": "Övriga inställningar",
   "Modified": "Ändrad",
@@ -340,6 +343,7 @@
   "SetStarRating": "Ge omdöme",
   "Settings": "Inställningar",
   "Shade": "Skugga",
+  "Shadows": "Skuggor",
   "Sharpness": "Skärpa",
   "Shift": "Skift",
   "ShowAllSettingsWindow": "Visa inställningsfönstret",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "Pencereyi kapatmak istiyor musunuz?",
   "CloudyWeather": "Bulutlu hava",
   "Color": "Renk",
+  "ColorBalance": "Renk dengesi",
   "ColorPickerTool": "Renk Seçme Aracı",
   "ColorPickerToolTooltip": "Görüntüden renk seç",
   "ColorRepresentation": "Renk gösterimi",
@@ -178,6 +179,7 @@
   "High": "Yüksek",
   "HighQuality": "Yüksek kalite",
   "HighlightColor": "Vurgulama rengi",
+  "Highlights": "Açık tonlar",
   "ISOSpeed": "ISO hızı",
   "Image": "Görüntü",
   "ImageAliasing": "Görüntü örtüşmesi",
@@ -215,6 +217,7 @@
   "MegaPixels": "megapiksel",
   "Meter": "Metre",
   "MeteringMode": "Ölçüm modu",
+  "Midtones": "Orta tonlar",
   "Minimize": "Küçült",
   "MiscSettings": "Çeşitli ayarlar",
   "Modified": "Değiştirilmiş",
@@ -340,6 +343,7 @@
   "SetStarRating": "Derecelendirme ayarla",
   "Settings": "Ayarlar",
   "Shade": "Gölge",
+  "Shadows": "Gölgeler",
   "Sharpness": "Keskinlik",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "Tüm ayarlar penceresini göster",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "您想关闭窗口吗?",
   "CloudyWeather": "多云",
   "Color": "颜色",
+  "ColorBalance": "色彩平衡",
   "ColorPickerTool": "取色工具",
   "ColorPickerToolTooltip": "从图片中选取颜色",
   "ColorRepresentation": "颜色表示",
@@ -178,6 +179,7 @@
   "High": "高",
   "HighQuality": "高质量",
   "HighlightColor": "主题高亮色",
+  "Highlights": "高光",
   "ISOSpeed": "ISO 速度",
   "Image": "图片",
   "ImageAliasing": "图像混淆",
@@ -215,6 +217,7 @@
   "MegaPixels": "mp",
   "Meter": "米",
   "MeteringMode": "测光模式",
+  "Midtones": "中间调",
   "Minimize": "最小化",
   "MiscSettings": "其他设置",
   "Modified": "修改时间",
@@ -340,6 +343,7 @@
   "SetStarRating": "设置星级评分",
   "Settings": "设置",
   "Shade": "阴影",
+  "Shadows": "阴影",
   "Sharpness": "锐度",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "显示设置窗口",

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

@@ -57,6 +57,7 @@
   "CloseWindowPrompt": "您想關閉窗口嗎?",
   "CloudyWeather": "多雲",
   "Color": "顏色",
+  "ColorBalance": "色彩平衡",
   "ColorPickerTool": "取色工具",
   "ColorPickerToolTooltip": "從圖片中選取顏色",
   "ColorRepresentation": "色彩表示",
@@ -178,6 +179,7 @@
   "High": "高",
   "HighQuality": "高品質",
   "HighlightColor": "醒目強調色",
+  "Highlights": "亮部",
   "ISOSpeed": "ISO 感光度",
   "Image": "圖片",
   "ImageAliasing": "圖像混淆",
@@ -215,6 +217,7 @@
   "MegaPixels": "百萬像素",
   "Meter": "米",
   "MeteringMode": "測光模式",
+  "Midtones": "中間調",
   "Minimize": "最小化",
   "MiscSettings": "其他設定",
   "Modified": "修改時間",
@@ -340,6 +343,7 @@
   "SetStarRating": "設置星級評分",
   "Settings": "設定",
   "Shade": "陰影",
+  "Shadows": "陰影",
   "Sharpness": "銳度",
   "Shift": "Shift",
   "ShowAllSettingsWindow": "顯示設定視窗",

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

@@ -4,6 +4,8 @@ namespace PicView.Core.Localization;
 
 public class LanguageModel
 {
+#region Translations
+
     public string? _1Star { get; set; }
     public string? _2Star { get; set; }
     public string? _3Star { get; set; }
@@ -11,9 +13,9 @@ public class LanguageModel
     public string? _5Star { get; set; }
     public string? About { get; set; }
     public string? ActionProgram { get; set; }
+    public string? AddedToClipboard { get; set; }
     public string? AddFiles { get; set; }
     public string? AddFolder { get; set; }
-    public string? AddedToClipboard { get; set; }
     public string? AdditionalFunctions { get; set; }
     public string? AdjustNavSpeed { get; set; }
     public string? AdjustTimingForSlideshow { get; set; }
@@ -67,6 +69,7 @@ public class LanguageModel
     public string? CloseWindowPrompt { get; set; }
     public string? CloudyWeather { get; set; }
     public string? Color { get; set; }
+    public string? ColorBalance { get; set; }
     public string? ColorPickerTool { get; set; }
     public string? ColorPickerToolTooltip { get; set; }
     public string? ColorRepresentation { get; set; }
@@ -79,8 +82,8 @@ public class LanguageModel
     public string? ConvertedToBase64 { get; set; }
     public string? ConvertTo { get; set; }
     public string? CoolWhiteFluorescent { get; set; }
-    public string? Copies { get; set; }
     public string? CopiedImage { get; set; }
+    public string? Copies { get; set; }
     public string? Copy { get; set; }
     public string? CopyFile { get; set; }
     public string? CopyImage { get; set; }
@@ -187,6 +190,7 @@ public class LanguageModel
     public string? HideUI { get; set; }
     public string? High { get; set; }
     public string? HighlightColor { get; set; }
+    public string? Highlights { get; set; }
     public string? HighQuality { get; set; }
     public string? Image { get; set; }
     public string? ImageAliasing { get; set; }
@@ -225,6 +229,7 @@ public class LanguageModel
     public string? MegaPixels { get; set; }
     public string? Meter { get; set; }
     public string? MeteringMode { get; set; }
+    public string? Midtones { get; set; }
     public string? Minimize { get; set; }
     public string? MiscSettings { get; set; }
     public string? Modified { get; set; }
@@ -330,16 +335,16 @@ public class LanguageModel
     public string? Scrolling { get; set; }
     public string? ScrollingDisabled { get; set; }
     public string? ScrollingEnabled { get; set; }
-    public string? Search { get; set; }
     public string? ScrollToBottom { get; set; }
     public string? ScrollToTop { get; set; }
     public string? ScrollToZoom { get; set; }
     public string? ScrollUp { get; set; }
+    public string? Search { get; set; }
     public string? SearchSubdirectory { get; set; }
     public string? SecAbbreviation { get; set; }
     public string? SelectAll { get; set; }
-    public string? SelectFileTypesToAssociate { get; set; }
     public string? SelectFiles { get; set; }
+    public string? SelectFileTypesToAssociate { get; set; }
     public string? SelectGalleryThumb { get; set; }
     public string? SendCurrentImageToRecycleBin { get; set; }
     public string? SentFileToRecycleBin { get; set; }
@@ -350,6 +355,7 @@ public class LanguageModel
     public string? SetStarRating { get; set; }
     public string? Settings { get; set; }
     public string? Shade { get; set; }
+    public string? Shadows { get; set; }
     public string? Sharpness { get; set; }
     public string? Shift { get; set; }
     public string? ShowAllSettingsWindow { get; set; }
@@ -434,4 +440,6 @@ public class LanguageModel
     public string? Zoom { get; set; }
     public string? ZoomIn { get; set; }
     public string? ZoomOut { get; set; }
+
+#endregion
 }

+ 21 - 16
src/PicView.Core/ViewModels/TranslationViewModel.cs

@@ -63,6 +63,7 @@ public class TranslationViewModel : IDisposable
         CloseGallery.Value = t.CloseGallery;
         CloseWindowPrompt.Value = t.CloseWindowPrompt;
         Color.Value = t.Color;
+        ColorBalance.Value = t.ColorBalance;
         ColorPickerTool.Value = t.ColorPickerTool;
         ColorPickerToolTooltip.Value = t.ColorPickerToolTooltip;
         ColorRepresentation.Value = t.ColorRepresentation;
@@ -140,6 +141,7 @@ public class TranslationViewModel : IDisposable
         HideBottomToolbar.Value = t.HideBottomToolbar;
         HideHoverNavigationBar.Value = t.HideHoverNavigationBar;
         HideUI.Value = t.HideUI;
+        Highlights.Value = t.Highlights;
         HighlightColor.Value = t.HighlightColor;
         HighQuality.Value = t.HighQuality;
         Image.Value = t.Image;
@@ -167,6 +169,7 @@ public class TranslationViewModel : IDisposable
         MaxAperture.Value = t.MaxAperture;
         Maximize.Value = t.Maximize;
         MeteringMode.Value = t.MeteringMode;
+        Midtones.Value = t.Midtones;
         MiscSettings.Value = t.MiscSettings;
         Modified.Value = t.Modified;
         Mouse.Value = t.Mouse;
@@ -267,6 +270,7 @@ public class TranslationViewModel : IDisposable
         SetAsWallpaper.Value = t.SetAsWallpaper;
         SetStarRating.Value = t.SetStarRating;
         Settings.Value = t.Settings;
+        Shadows.Value = t.Shadows;
         Sharpness.Value = t.Sharpness;
         ShowAllSettingsWindow.Value = t.ShowAllSettingsWindow;
         ShowBottomGallery.Value = t.ShowBottomGallery;
@@ -340,10 +344,10 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> _4Star { get; } = new();
     public BindableReactiveProperty<string?> _5Star { get; } = new();
     public BindableReactiveProperty<string?> About { get; } = new();
+    public BindableReactiveProperty<string?> AboutWindow { get; } = new();
     public BindableReactiveProperty<string?> AddFiles { get; } = new();
     public BindableReactiveProperty<string?> AddFolder { get; } = new();
     public BindableReactiveProperty<string?> AdditionalFunctions { get; } = new();
-    public BindableReactiveProperty<string?> AboutWindow { get; } = new();
     public BindableReactiveProperty<string?> AdjustNavSpeed { get; } = new();
     public BindableReactiveProperty<string?> AdjustTimingForSlideshow { get; } = new();
     public BindableReactiveProperty<string?> AdjustTimingForZoom { get; } = new();
@@ -362,6 +366,7 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> BitDepth { get; } = new();
     public BindableReactiveProperty<string?> BlackAndWhite { get; } = new();
     public BindableReactiveProperty<string?> Blur { get; } = new();
+    public BindableReactiveProperty<string?> Bottom { get; } = new();
     public BindableReactiveProperty<string?> BottomGalleryItemSize { get; } = new();
     public BindableReactiveProperty<string?> BottomGalleryThumbnailStretch { get; } = new();
     public BindableReactiveProperty<string?> Brightness { get; } = new();
@@ -381,6 +386,8 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> Close { get; } = new();
     public BindableReactiveProperty<string?> CloseGallery { get; } = new();
     public BindableReactiveProperty<string?> CloseWindowPrompt { get; } = new();
+    public BindableReactiveProperty<string?> Color { get; } = new();
+    public BindableReactiveProperty<string?> ColorBalance { get; } = new();
     public BindableReactiveProperty<string?> ColorPickerTool { get; } = new();
     public BindableReactiveProperty<string?> ColorPickerToolTooltip { get; } = new();
     public BindableReactiveProperty<string?> ColorRepresentation { get; } = new();
@@ -390,6 +397,7 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> ConstrainBackgroundToImage { get; } = new();
     public BindableReactiveProperty<string?> Contrast { get; } = new();
     public BindableReactiveProperty<string?> ConvertTo { get; } = new();
+    public BindableReactiveProperty<string?> Copies { get; } = new();
     public BindableReactiveProperty<string?> Copy { get; } = new();
     public BindableReactiveProperty<string?> CopyFile { get; } = new();
     public BindableReactiveProperty<string?> CopyImage { get; } = new();
@@ -417,7 +425,6 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> ExposureProgram { get; } = new();
     public BindableReactiveProperty<string?> ExposureTime { get; } = new();
     public BindableReactiveProperty<string?> File { get; } = new();
-    public BindableReactiveProperty<string?> Files { get; } = new();
     public BindableReactiveProperty<string?> FileAssociations { get; } = new();
     public BindableReactiveProperty<string?> FileConversion { get; } = new();
     public BindableReactiveProperty<string?> FileCopyPath { get; } = new();
@@ -426,6 +433,7 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> FileManagement { get; } = new();
     public BindableReactiveProperty<string?> FileName { get; } = new();
     public BindableReactiveProperty<string?> FileProperties { get; } = new();
+    public BindableReactiveProperty<string?> Files { get; } = new();
     public BindableReactiveProperty<string?> FileSize { get; } = new();
     public BindableReactiveProperty<string?> Fill { get; } = new();
     public BindableReactiveProperty<string?> FillSquare { get; } = new();
@@ -458,6 +466,7 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> HideHoverNavigationBar { get; } = new();
     public BindableReactiveProperty<string?> HideUI { get; } = new();
     public BindableReactiveProperty<string?> HighlightColor { get; } = new();
+    public BindableReactiveProperty<string?> Highlights { get; } = new();
     public BindableReactiveProperty<string?> HighQuality { get; } = new();
     public BindableReactiveProperty<string?> Image { get; } = new();
     public BindableReactiveProperty<string?> ImageAliasing { get; } = new();
@@ -471,6 +480,7 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> LastAccessTime { get; } = new();
     public BindableReactiveProperty<string?> LastImage { get; } = new();
     public BindableReactiveProperty<string?> Latitude { get; } = new();
+    public BindableReactiveProperty<string?> Left { get; } = new();
     public BindableReactiveProperty<string?> LensMaker { get; } = new();
     public BindableReactiveProperty<string?> LensModel { get; } = new();
     public BindableReactiveProperty<string?> Lighting { get; } = new();
@@ -479,9 +489,11 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> Longitude { get; } = new();
     public BindableReactiveProperty<string?> Lossless { get; } = new();
     public BindableReactiveProperty<string?> Lossy { get; } = new();
+    public BindableReactiveProperty<string?> Margins { get; } = new();
     public BindableReactiveProperty<string?> MaxAperture { get; } = new();
     public BindableReactiveProperty<string?> Maximize { get; } = new();
     public BindableReactiveProperty<string?> MeteringMode { get; } = new();
+    public BindableReactiveProperty<string?> Midtones { get; } = new();
     public BindableReactiveProperty<string?> MiscSettings { get; } = new();
     public BindableReactiveProperty<string?> Modified { get; } = new();
     public BindableReactiveProperty<string?> Mouse { get; } = new();
@@ -517,6 +529,7 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> Orientation { get; } = new();
     public BindableReactiveProperty<string?> OutputFolder { get; } = new();
     public BindableReactiveProperty<string?> Pan { get; } = new();
+    public BindableReactiveProperty<string?> PaperSize { get; } = new();
     public BindableReactiveProperty<string?> Paste { get; } = new();
     public BindableReactiveProperty<string?> PencilSketch { get; } = new();
     public BindableReactiveProperty<string?> Percentage { get; } = new();
@@ -530,6 +543,7 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> PrevFolder { get; } = new();
     public BindableReactiveProperty<string?> PrevImage { get; } = new();
     public BindableReactiveProperty<string?> Print { get; } = new();
+    public BindableReactiveProperty<string?> Printer { get; } = new();
     public BindableReactiveProperty<string?> PrintSizeCm { get; } = new();
     public BindableReactiveProperty<string?> PrintSizeIn { get; } = new();
     public BindableReactiveProperty<string?> Quality { get; } = new();
@@ -552,11 +566,13 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> ResolutionUnit { get; } = new();
     public BindableReactiveProperty<string?> RestoreDown { get; } = new();
     public BindableReactiveProperty<string?> Reverse { get; } = new();
+    public BindableReactiveProperty<string?> Right { get; } = new();
     public BindableReactiveProperty<string?> RotateLeft { get; } = new();
     public BindableReactiveProperty<string?> RotateRight { get; } = new();
     public BindableReactiveProperty<string?> Saturation { get; } = new();
     public BindableReactiveProperty<string?> Save { get; } = new();
     public BindableReactiveProperty<string?> SaveAs { get; } = new();
+    public BindableReactiveProperty<string?> Scale { get; } = new();
     public BindableReactiveProperty<string?> ScrollAndRotate { get; } = new();
     public BindableReactiveProperty<string?> ScrollDirection { get; } = new();
     public BindableReactiveProperty<string?> ScrollDisabled { get; } = new();
@@ -571,13 +587,14 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> SecAbbreviation { get; } = new();
     public BindableReactiveProperty<string?> SelectAll { get; } = new();
     public BindableReactiveProperty<string?> SelectFile { get; } = new();
-    public BindableReactiveProperty<string?> SelectFileTypesToAssociate { get; } = new();
     public BindableReactiveProperty<string?> SelectFiles { get; } = new();
+    public BindableReactiveProperty<string?> SelectFileTypesToAssociate { get; } = new();
     public BindableReactiveProperty<string?> SelectGalleryThumb { get; } = new();
     public BindableReactiveProperty<string?> SetAsLockScreenImage { get; } = new();
     public BindableReactiveProperty<string?> SetAsWallpaper { get; } = new();
     public BindableReactiveProperty<string?> SetStarRating { get; } = new();
     public BindableReactiveProperty<string?> Settings { get; } = new();
+    public BindableReactiveProperty<string?> Shadows { get; } = new();
     public BindableReactiveProperty<string?> Sharpness { get; } = new();
     public BindableReactiveProperty<string?> ShowAllSettingsWindow { get; } = new();
     public BindableReactiveProperty<string?> ShowBottomGallery { get; } = new();
@@ -618,6 +635,7 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> ToggleScroll { get; } = new();
     public BindableReactiveProperty<string?> ToggleTaskbarProgress { get; } = new();
     public BindableReactiveProperty<string?> ToolWindows { get; } = new();
+    public BindableReactiveProperty<string?> Top { get; } = new();
     public BindableReactiveProperty<string?> Unassociate { get; } = new();
     public BindableReactiveProperty<string?> UnFlip { get; } = new();
     public BindableReactiveProperty<string?> Uniform { get; } = new();
@@ -649,7 +667,6 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> ZoomIn { get; } = new();
 
     public BindableReactiveProperty<string?> ZoomOut { get; } = new();
-
     #endregion strings
 
     #region Dynamic Translation strings
@@ -672,17 +689,5 @@ public class TranslationViewModel : IDisposable
     public BindableReactiveProperty<string?> IsShowingUI { get; } = new();
     public BindableReactiveProperty<string?> IsUsingTouchpad { get; } = new();
 
-
-    public BindableReactiveProperty<string?> Printer { get; } = new();
-    public BindableReactiveProperty<string?> PaperSize { get; } = new();
-    public BindableReactiveProperty<string?> Scale { get; } = new();
-    public BindableReactiveProperty<string?> Color { get; } = new();
-    public BindableReactiveProperty<string?> Copies { get; } = new();
-    public BindableReactiveProperty<string?> Margins { get; } = new();
-    public BindableReactiveProperty<string?> Top { get; } = new();
-    public BindableReactiveProperty<string?> Bottom { get; } = new();
-    public BindableReactiveProperty<string?> Left { get; } = new();
-    public BindableReactiveProperty<string?> Right { get; } = new();
-
     #endregion
 }

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini