Browse Source

Update language logic, json settings. misc

Ruben 1 year ago
parent
commit
50bd6b6adf
98 changed files with 2459 additions and 7112 deletions
  1. 3 5
      src/PicView.Core/Config/Languages/da.json
  2. 2 4
      src/PicView.Core/Config/Languages/de.json
  3. 2 4
      src/PicView.Core/Config/Languages/en.json
  4. 2 4
      src/PicView.Core/Config/Languages/es.json
  5. 2 4
      src/PicView.Core/Config/Languages/fr.json
  6. 2 4
      src/PicView.Core/Config/Languages/it.json
  7. 2 4
      src/PicView.Core/Config/Languages/ko.json
  8. 2 4
      src/PicView.Core/Config/Languages/pl.json
  9. 2 4
      src/PicView.Core/Config/Languages/ro.json
  10. 2 4
      src/PicView.Core/Config/Languages/ru.json
  11. 2 4
      src/PicView.Core/Config/Languages/zh-CN.json
  12. 2 4
      src/PicView.Core/Config/Languages/zh-TW.json
  13. 1 1
      src/PicView.Core/Localization/Languages.cs
  14. 28 110
      src/PicView.Core/Localization/TranslationHelper.cs
  15. 0 1
      src/PicView.WPF/App.xaml
  16. 20 10
      src/PicView.WPF/ChangeImage/ErrorHandling.cs
  17. 1 0
      src/PicView.WPF/ChangeImage/FileHistoryNavigation.cs
  18. 17 17
      src/PicView.WPF/ChangeTitlebar/SetTitle.cs
  19. 2 1
      src/PicView.WPF/Editing/Crop/CropFunctions.cs
  20. 2 1
      src/PicView.WPF/FileHandling/CopyPaste.cs
  21. 2 1
      src/PicView.WPF/FileHandling/HttpFunctions.cs
  22. 8 7
      src/PicView.WPF/ImageHandling/GetImageData.cs
  23. 2 1
      src/PicView.WPF/ImageHandling/ImageFunctions.cs
  24. 0 13
      src/PicView.WPF/PicView.WPF.csproj
  25. 2 2
      src/PicView.WPF/Shortcuts/MainKeyboardShortcuts.cs
  26. 1 1
      src/PicView.WPF/Shortcuts/MainMouseKeys.cs
  27. 0 18
      src/PicView.WPF/Translations/Languages.cs
  28. 0 135
      src/PicView.WPF/Translations/LoadLanguage.cs
  29. 0 421
      src/PicView.WPF/Translations/da.xaml
  30. 0 421
      src/PicView.WPF/Translations/de.xaml
  31. 0 421
      src/PicView.WPF/Translations/en.xaml
  32. 0 421
      src/PicView.WPF/Translations/es.xaml
  33. 0 421
      src/PicView.WPF/Translations/fr.xaml
  34. 0 421
      src/PicView.WPF/Translations/it.xaml
  35. 0 421
      src/PicView.WPF/Translations/ko.xaml
  36. 0 421
      src/PicView.WPF/Translations/pl.xaml
  37. 0 421
      src/PicView.WPF/Translations/ro.xaml
  38. 0 421
      src/PicView.WPF/Translations/ru.xaml
  39. 0 421
      src/PicView.WPF/Translations/zh-CN.xaml
  40. 0 421
      src/PicView.WPF/Translations/zh-TW.xaml
  41. 74 17
      src/PicView.WPF/UILogic/Loading/LoadContextMenus.cs
  42. 18 4
      src/PicView.WPF/UILogic/Loading/StartLoading.cs
  43. 1 1
      src/PicView.WPF/UILogic/Sizing/WindowSizing.cs
  44. 18 6
      src/PicView.WPF/UILogic/UC.cs
  45. 4 0
      src/PicView.WPF/UILogic/UIHelper.cs
  46. 9 11
      src/PicView.WPF/Views/Resources/GalleryContextMenu.xaml
  47. 43 124
      src/PicView.WPF/Views/Resources/MainContextMenu.xaml
  48. 4 6
      src/PicView.WPF/Views/Resources/NavigationContextMenu.xaml
  49. 3 7
      src/PicView.WPF/Views/Resources/WindowContextMenu.xaml
  50. 3 3
      src/PicView.WPF/Views/UserControls/Buttons/CloseButton.xaml.cs
  51. 2 8
      src/PicView.WPF/Views/UserControls/Buttons/FullscreenButton.xaml.cs
  52. 1 2
      src/PicView.WPF/Views/UserControls/Buttons/GalleryShortcut.xaml
  53. 4 0
      src/PicView.WPF/Views/UserControls/Buttons/GalleryShortcut.xaml.cs
  54. 2 4
      src/PicView.WPF/Views/UserControls/Buttons/GoToPicButton.xaml
  55. 109 109
      src/PicView.WPF/Views/UserControls/Buttons/GoToPicButton.xaml.cs
  56. 1 2
      src/PicView.WPF/Views/UserControls/Buttons/MenuCloseButton.xaml
  57. 2 1
      src/PicView.WPF/Views/UserControls/Buttons/MenuCloseButton.xaml.cs
  58. 2 1
      src/PicView.WPF/Views/UserControls/Buttons/MinButton.xaml.cs
  59. 1 2
      src/PicView.WPF/Views/UserControls/Buttons/Minus.xaml
  60. 4 0
      src/PicView.WPF/Views/UserControls/Buttons/Minus.xaml.cs
  61. 1 2
      src/PicView.WPF/Views/UserControls/Buttons/X2.xaml
  62. 5 0
      src/PicView.WPF/Views/UserControls/Buttons/X2.xaml.cs
  63. 24 26
      src/PicView.WPF/Views/UserControls/Menus/FileMenu.xaml
  64. 18 0
      src/PicView.WPF/Views/UserControls/Menus/FileMenu.xaml.cs
  65. 7 11
      src/PicView.WPF/Views/UserControls/Menus/ImageSettings.xaml
  66. 77 73
      src/PicView.WPF/Views/UserControls/Menus/ImageSettings.xaml.cs
  67. 13 17
      src/PicView.WPF/Views/UserControls/Menus/QuickSettingsMenu.xaml
  68. 66 55
      src/PicView.WPF/Views/UserControls/Menus/QuickSettingsMenu.xaml.cs
  69. 10 18
      src/PicView.WPF/Views/UserControls/Menus/ToolsAndEffectsMenu.xaml
  70. 59 66
      src/PicView.WPF/Views/UserControls/Menus/ToolsAndEffectsMenu.xaml.cs
  71. 3 2
      src/PicView.WPF/Views/UserControls/Misc/Credits.xaml
  72. 4 0
      src/PicView.WPF/Views/UserControls/Misc/Credits.xaml.cs
  73. 1 1
      src/PicView.WPF/Views/UserControls/Misc/CustomTextBox.xaml
  74. 6 2
      src/PicView.WPF/Views/UserControls/Misc/DragDropOverlay.xaml
  75. 3 0
      src/PicView.WPF/Views/UserControls/Misc/DragDropOverlay.xaml.cs
  76. 13 11
      src/PicView.WPF/Views/UserControls/Misc/QuickResize.xaml
  77. 120 108
      src/PicView.WPF/Views/UserControls/Misc/QuickResize.xaml.cs
  78. 185 117
      src/PicView.WPF/Views/UserControls/Misc/ShortcutList.xaml
  79. 324 21
      src/PicView.WPF/Views/UserControls/Misc/ShortcutList.xaml.cs
  80. 3 3
      src/PicView.WPF/Views/UserControls/Misc/StartUpUC.xaml
  81. 17 3
      src/PicView.WPF/Views/UserControls/Misc/StartUpUC.xaml.cs
  82. 3 3
      src/PicView.WPF/Views/UserControls/Misc/TextBoxInfo.xaml
  83. 21 14
      src/PicView.WPF/Views/UserControls/Misc/TextboxInfo.xaml.cs
  84. 3 3
      src/PicView.WPF/Views/UserControls/Misc/ThumbnailOutputUC.xaml
  85. 28 20
      src/PicView.WPF/Views/UserControls/Misc/ThumbnailOutputUC.xaml.cs
  86. 6 9
      src/PicView.WPF/Views/Windows/AboutWindow.xaml
  87. 31 7
      src/PicView.WPF/Views/Windows/AboutWindow.xaml.cs
  88. 40 39
      src/PicView.WPF/Views/Windows/EffectsWindows.xaml
  89. 571 526
      src/PicView.WPF/Views/Windows/EffectsWindows.xaml.cs
  90. 72 50
      src/PicView.WPF/Views/Windows/ImageInfoWindow.xaml
  91. 52 1
      src/PicView.WPF/Views/Windows/ImageInfoWindow.xaml.cs
  92. 2 2
      src/PicView.WPF/Views/Windows/MainWindow.xaml
  93. 0 1
      src/PicView.WPF/Views/Windows/MainWindow.xaml.cs
  94. 26 22
      src/PicView.WPF/Views/Windows/ResizeWindow.xaml
  95. 26 2
      src/PicView.WPF/Views/Windows/ResizeWindow.xaml.cs
  96. 87 126
      src/PicView.WPF/Views/Windows/SettingsWindow.xaml
  97. 115 23
      src/PicView.WPF/Views/Windows/SettingsWindow.xaml.cs
  98. 1 0
      src/PicView.WPF/Views/Windows/Startup-Window.xaml

+ 3 - 5
src/PicView.Core/Config/Languages/da.json

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "Skift fuldskærmstilstand",
   "WindowManagement": "vinduesstyring",
   "InfoWindow": "Info vindue",
-  "SettingsWindow": "Indstillingsvindue",
   "EscCloseTooltip": "Lukker nuværende åbne vindue el. menu",
   "CloseApp": "Lukker hele programmet",
   "MoveWindow": "Flyt vinduet",
@@ -82,7 +81,6 @@
   "Tile": "Flise",
   "Stretch": "Stræk",
   "Language": "Sprog",
-  "ChangingLanguageRequiresRestart": "* Skiftning af sprog kræver genstart",
   "CtrlToZoom": "Zoom med Ctrl, naviger med musehjulet",
   "ScrollToZoom": "Zoom med musehjulet, naviger med Ctrl",
   "HorizontalScroll": "Vandret scrolling",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "Vis fremskridt i proceslinjen",
   "ShowFileSavingDialog": "Vis gem fil dialogen",
   "ShowBottomToolbar": "Vis værktøjslinjen i bunden",
-  "BottomGalleryItems": "Galleri billeder i bunden",
-  "ExpandedGalleryItems": "Udviede galleri billeder",
+  "BottomGalleryItemSize": "Galleri billedstørrelse i bunden",
+  "ExpandedGalleryItemSize": "Billedstørrelse i galleriet",
   "ShowBottomGalleryWhenUiIsHidden": "Vis nederste galleri, når brugergrænsefladen er skjult",
   "ImageAliasing": "Billedantialiasering",
   "HighQuality": "Høj kvalitet",
@@ -248,7 +246,7 @@
   "DragOverString": "Slip for at indlæse",
   "SetAs": "Sæt som...",
   "SetAsWallpaper": "Sæt som baggrund",
-  "SetAsLockScreenImage": "Indstil som låseskærmbillede",
+  "SetAsLockScreenImage": "Sæt som låseskærmsbillede",
   "Crop": "Beskær",
   "RotateRight": "Roter til højre",
   "RotateLeft": "Roter til venstre",

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

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "Vollbild an/aus",
   "WindowManagement": "Fenster Einstellungen",
   "InfoWindow": "Info-Fenster",
-  "SettingsWindow": "Windows Einstellungen",
   "EscCloseTooltip": "Schließt derzeit geöffnete Fenster/Menüs",
   "CloseApp": "Schließt Anwendung",
   "MoveWindow": "Fenster bewegen",
@@ -82,7 +81,6 @@
   "Tile": "Fliesen",
   "Stretch": "Strecken",
   "Language": "Sprache",
-  "ChangingLanguageRequiresRestart": "* Die Sprache ändern erfordert einen Neustart",
   "CtrlToZoom": "Strg zum zoomen, Scrollen zum navigieren",
   "ScrollToZoom": "Scrollen zum zoomen, Strg zum navigieren",
   "HorizontalScroll": "horizontaler Scrolling",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "Fortschritt in der Taskleiste anzeigen",
   "ShowFileSavingDialog": "Dateispeicherdialog anzeigen",
   "ShowBottomToolbar": "Unterste Symbolleiste anzeigen",
-  "BottomGalleryItems": "Anzahl der Galerieelemente unten",
-  "ExpandedGalleryItems": "Erweiterte Galerieelemente",
+  "BottomGalleryItemSize": "Anzahl der Galerieelemente unten",
+  "ExpandedGalleryItemSize": "Erweiterte Galerieelemente",
   "ShowBottomGalleryWhenUiIsHidden": "Unteres Galerie anzeigen, wenn die Benutzeroberfläche ausgeblendet ist",
   "ImageAliasing": "Bildaliasing",
   "HighQuality": "Hochwertig",

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

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "Toggle fullscreen",
   "WindowManagement": "Window management",
   "InfoWindow": "Info window",
-  "SettingsWindow": "Settings window",
   "EscCloseTooltip": "Closes currently opened window/menu",
   "CloseApp": "Close the whole application",
   "MoveWindow": "Move window",
@@ -82,7 +81,6 @@
   "Tile": "Tile",
   "Stretch": "Stretch",
   "Language": "Language",
-  "ChangingLanguageRequiresRestart": "* Changing language requires restart",
   "CtrlToZoom": "Ctrl to zoom, scroll to navigate",
   "ScrollToZoom": "Zoom with mousewheel, navigate with Ctrl",
   "HorizontalScroll": "Horizontal scroll",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "Display taskbar progress",
   "ShowFileSavingDialog": "Show file saving dialog",
   "ShowBottomToolbar": "Show bottom toolbar",
-  "BottomGalleryItems": "Bottom Gallery Items",
-  "ExpandedGalleryItems": "Expanded Gallery Items",
+  "BottomGalleryItemSize": "Size of thumbnails in the bottom gallery",
+  "ExpandedGalleryItemSize": "Size of thumbnails",
   "ShowBottomGalleryWhenUiIsHidden": "Show bottom gallery when UI is hidden",
   "ImageAliasing": "Image aliasing",
   "HighQuality": "High quality",

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

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "Alternar pantalla completa",
   "WindowManagement": "Gestión de ventana",
   "InfoWindow": "Ventana de información",
-  "SettingsWindow": "Ventana de Opciones",
   "EscCloseTooltip": "Cierra el menú/ventana actualmente abierto",
   "CloseApp": "Cierra la aplicación por completo",
   "MoveWindow": "Mover ventana",
@@ -82,7 +81,6 @@
   "Tile": "Mosaico",
   "Stretch": "Estirar",
   "Language": "Lenguaje",
-  "ChangingLanguageRequiresRestart": "* Cambiar el lenguaje requiere reabrir el programa",
   "CtrlToZoom": "Ctrl para zoom, rueda para navegar",
   "ScrollToZoom": "Rueda para zoom, Ctrl para navegar",
   "HorizontalScroll": "Desplazamiento horizontal",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "Mostrar el progreso en la barra de tareas",
   "ShowFileSavingDialog": "Mostrar el cuadro de diálogo de guardar archivo",
   "ShowBottomToolbar": "Mostrar barra de herramientas inferior",
-  "BottomGalleryItems": "Elementos de la galería inferior",
-  "ExpandedGalleryItems": "Elementos de la galería expandida",
+  "BottomGalleryItemSize": "Elementos de la galería inferior",
+  "ExpandedGalleryItemSize": "Elementos de la galería expandida",
   "ShowBottomGalleryWhenUiIsHidden": "Mostrar galería inferior cuando la interfaz de usuario está oculta",
   "ImageAliasing": "Alias de imagen",
   "HighQuality": "Alta calidad",

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

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "Basculer en plein écran",
   "WindowManagement": "Gestion des fenêtres",
   "InfoWindow": "Fenêtre Info",
-  "SettingsWindow": "Fenêtre des réglages",
   "EscCloseTooltip": "Ferme la fenêtre actuellement ouverte /menu",
   "CloseApp": "Quitter l'application",
   "MoveWindow": "Déplacer la fenêtre",
@@ -82,7 +81,6 @@
   "Tile": "Mosaïque",
   "Stretch": "Étirez",
   "Language": "Langue",
-  "ChangingLanguageRequiresRestart": "* Le changement de langue nécessite un redémarrage",
   "CtrlToZoom": "Ctrl pour zoomer, défiler pour naviguer",
   "ScrollToZoom": "Faites défiler pour zoomer, Ctrl pour naviguer",
   "HorizontalScroll": "Défilement horizontal",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "Afficher la progression dans la barre des tâches",
   "ShowFileSavingDialog": "Afficher la boîte de dialogue d'enregistrement de fichier",
   "ShowBottomToolbar": "Afficher la barre d'outils inférieure",
-  "BottomGalleryItems": "Éléments de la galerie inférieure",
-  "ExpandedGalleryItems": "Éléments de la galerie étendue",
+  "BottomGalleryItemSize": "Éléments de la galerie inférieure",
+  "ExpandedGalleryItemSize": "Éléments de la galerie étendue",
   "ShowBottomGalleryWhenUiIsHidden": "Afficher la galerie inférieure lorsque l'interface utilisateur est masquée",
   "ImageAliasing": "Anticrénelage d'image",
   "HighQuality": "Haute qualité",

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

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "Passare a schermo intero",
   "WindowManagement": "Gestione delle finestre",
   "InfoWindow": "Finestra informativa",
-  "SettingsWindow": "Finestra di impostazione",
   "EscCloseTooltip": "Chiudi la finestra/menu attualmente aperti",
   "CloseApp": "Chiudi l'intera applicazione",
   "MoveWindow": "Sposta la finestra",
@@ -82,7 +81,6 @@
   "Tile": "Piastrellare",
   "Stretch": "Allungare",
   "Language": "Linguaggio",
-  "ChangingLanguageRequiresRestart": "* La modifica della lingua richiede il riavvio",
   "CtrlToZoom": "Ctrl per ingrandire, scorri per navigare",
   "ScrollToZoom": "Scorri per ingrandire, Ctrl per navigare",
   "HorizontalScroll": "Horizontal scroll",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "Mostra progresso sulla barra delle applicazioni",
   "ShowFileSavingDialog": "Mostra finestra di salvataggio file",
   "ShowBottomToolbar": "Mostra la barra degli strumenti inferiore",
-  "BottomGalleryItems": "Elementi galleria inferiore",
-  "ExpandedGalleryItems": "Elementi galleria espansa",
+  "BottomGalleryItemSize": "Elementi galleria inferiore",
+  "ExpandedGalleryItemSize": "Elementi galleria espansa",
   "ShowBottomGalleryWhenUiIsHidden": "Mostra galleria inferiore quando l'interfaccia utente è nascosta",
   "ImageAliasing": "Alias delle immagini",
   "HighQuality": "Alta qualità",

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

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "전체 화면 전환",
   "WindowManagement": "창 관리",
   "InfoWindow": "정보 창",
-  "SettingsWindow": "설정 창",
   "EscCloseTooltip": "현재 열려 있는 창/메뉴 닫기",
   "CloseApp": "전체 응용 프로그램 닫기",
   "MoveWindow": "창 이동",
@@ -82,7 +81,6 @@
   "Tile": "타일",
   "Stretch": "늘이기",
   "Language": "언어",
-  "ChangingLanguageRequiresRestart": "* 언어를 변경하려면 다시 시작해야 합니다",
   "CtrlToZoom": "확대/축소하려면 Ctrl, 탐색하려면 스크롤",
   "ScrollToZoom": "마우스 휠로 확대/축소, Ctrl로 탐색",
   "HorizontalScroll": "가로 스크롤",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "작업 표시줄 진행률 표시",
   "ShowFileSavingDialog": "파일 저장 대화상자 표시",
   "ShowBottomToolbar": "하단 도구 모음 표시",
-  "BottomGalleryItems": "하단 갤러리 항목",
-  "ExpandedGalleryItems": "확장된 갤러리 항목",
+  "BottomGalleryItemSize": "하단 갤러리 항목",
+  "ExpandedGalleryItemSize": "확장된 갤러리 항목",
   "ShowBottomGalleryWhenUiIsHidden": "UI가 숨겨진 경우 하단 갤러리 표시",
   "ImageAliasing": "이미지 앨리어싱",
   "HighQuality": "고품질",

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

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "Włącz tryb pełnoekranowy",
   "WindowManagement": "Zarządzanie oknem",
   "InfoWindow": "Okno z informacją",
-  "SettingsWindow": "Okno z ustawieniami",
   "EscCloseTooltip": "Zamyka obecnie otwarte okno/menu",
   "CloseApp": "Zamyka aplikację",
   "MoveWindow": "Przenieś okno",
@@ -82,7 +81,6 @@
   "Tile": "Kafelek",
   "Stretch": "Rozciągnij",
   "Language": "Język",
-  "ChangingLanguageRequiresRestart": "* Zmiana języka wymaga restartu programu",
   "CtrlToZoom": "Wciśnij Ctrl aby przybliżyć: użyj kółka myszy aby się poruszać",
   "ScrollToZoom": "Użyj kółka myszy: aby przybliżyć: wciśnij Ctrl: aby się poruszać",
   "HorizontalScroll": "Przewijanie w poziomie",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "Wyświetl postęp na pasku zadań",
   "ShowFileSavingDialog": "Pokaż okno zapisywania pliku",
   "ShowBottomToolbar": "Pokaż dolny pasek narzędzi",
-  "BottomGalleryItems": "Liczba elementów na dole galerii",
-  "ExpandedGalleryItems": "Rozszerzone elementy galerii",
+  "BottomGalleryItemSize": "Liczba elementów na dole galerii",
+  "ExpandedGalleryItemSize": "Rozszerzone elementy galerii",
   "ShowBottomGalleryWhenUiIsHidden": "Pokaż dolną galerię: gdy UI jest ukryte",
   "ImageAliasing": "Aliasing obrazu",
   "HighQuality": "Wysoka jakość",

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

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "Comutare la ecran complet",
   "WindowManagement": "Gestionarea ferestrei",
   "InfoWindow": "Fereastră cu informații",
-  "SettingsWindow": "Fereastră cu setări",
   "EscCloseTooltip": "Închide fereastra/meniul deschis în prezent",
   "CloseApp": "Închide întreaga aplicație",
   "MoveWindow": "Mută fereastra",
@@ -82,7 +81,6 @@
   "Tile": "Împărțire",
   "Stretch": "Întindere",
   "Language": "Limbă",
-  "ChangingLanguageRequiresRestart": "* Modificarea limbii necesită repornire\"",
   "CtrlToZoom": "Ctrl pentru a transfoca, defilare pentru a naviga",
   "ScrollToZoom": "Transfocare cu rotița mausului, navigare cu Ctrl",
   "HorizontalScroll": "Defilare orizontală",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "Afișează progresul în bara de activități",
   "ShowFileSavingDialog": "Afișează dialogul de salvare fișier",
   "ShowBottomToolbar": "Afișează bara de instrumente de jos",
-  "BottomGalleryItems": "Elemente galerie inferioară",
-  "ExpandedGalleryItems": "Elemente galerie extinse",
+  "BottomGalleryItemSize": "Elemente galerie inferioară",
+  "ExpandedGalleryItemSize": "Elemente galerie extinse",
   "ShowBottomGalleryWhenUiIsHidden": "Afișează galeria de jos când interfața utilizatorului este ascunsă",
   "ImageAliasing": "Aliasare imagine",
   "HighQuality": "Calitate înaltă",

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

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "Включить полноэкранный режим",
   "WindowManagement": "Управление окнами",
   "InfoWindow": "Информационное окно",
-  "SettingsWindow": "Окно настроек",
   "EscCloseTooltip": "Закрывает открытое в данный момент окно/меню",
   "CloseApp": "Закрыть приложение",
   "MoveWindow": "Переместить окно",
@@ -82,7 +81,6 @@
   "Tile": "Плитка",
   "Stretch": "Растянуть",
   "Language": "Язык",
-  "ChangingLanguageRequiresRestart": "* Для изменения языка требуется перезагрузка",
   "CtrlToZoom": "Ctrl для увеличения, прокрутка для навигации",
   "ScrollToZoom": "Масштабирование с помощью колесика мыши, перемещение с помощью Ctrl",
   "HorizontalScroll": "Горизонтальная прокрутка",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "Отображение прогресса на панели задач",
   "ShowFileSavingDialog": "Показать диалоговое окно сохранения файла",
   "ShowBottomToolbar": "Показать нижнюю панель инструментов",
-  "BottomGalleryItems": "Количество элементов нижней галереи",
-  "ExpandedGalleryItems": "Расширенные элементы галереи",
+  "BottomGalleryItemSize": "Количество элементов нижней галереи",
+  "ExpandedGalleryItemSize": "Расширенные элементы галереи",
   "ShowBottomGalleryWhenUiIsHidden": "Показывать нижнюю галерею при скрытом интерфейсе",
   "ImageAliasing": "Сглаживание изображения",
   "HighQuality": "Высокое качество",

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

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "切换全屏",
   "WindowManagement": "窗口管理",
   "InfoWindow": "信息窗口",
-  "SettingsWindow": "设置窗口",
   "EscCloseTooltip": "关闭当前打开的窗口和菜单",
   "CloseApp": "关闭本应用程序",
   "MoveWindow": "移动窗口",
@@ -82,7 +81,6 @@
   "Tile": "平铺",
   "Stretch": "拉伸",
   "Language": "语言",
-  "ChangingLanguageRequiresRestart": "* 切换语言需要重新启动应用程序",
   "CtrlToZoom": "Ctrl + 鼠标滚轮缩放,鼠标滚轮导航",
   "ScrollToZoom": "鼠标滚轮缩放,Ctrl + 鼠标滚轮导航",
   "HorizontalScroll": "水平卷轴",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "显示任务栏进度",
   "ShowFileSavingDialog": "查看文件保存对话框",
   "ShowBottomToolbar": "查看底部工具栏",
-  "BottomGalleryItems": "底部图库项目",
-  "ExpandedGalleryItems": "展开的图库项目",
+  "BottomGalleryItemSize": "底部图库项目",
+  "ExpandedGalleryItemSize": "展开的图库项目",
   "ShowBottomGalleryWhenUiIsHidden": "当用户界面隐藏时显示底部图库",
   "ImageAliasing": "图像混淆",
   "HighQuality": "高质量",

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

@@ -53,7 +53,6 @@
   "ToggleFullscreen": "切換全螢幕",
   "WindowManagement": "視窗管理",
   "InfoWindow": "資訊視窗",
-  "SettingsWindow": "設定視窗",
   "EscCloseTooltip": "關閉當前開啟的視窗和選單",
   "CloseApp": "關閉本應用程式",
   "MoveWindow": "移動視窗",
@@ -82,7 +81,6 @@
   "Tile": "平鋪",
   "Stretch": "拉伸",
   "Language": "語言",
-  "ChangingLanguageRequiresRestart": "* 切換語言需要重新啟動應用程式",
   "CtrlToZoom": "Ctrl + 滑鼠滾輪縮放,滑鼠滾輪導航",
   "ScrollToZoom": "滑鼠滾輪縮放,Ctrl + 滑鼠滾輪導航",
   "HorizontalScroll": "水平卷軸",
@@ -107,8 +105,8 @@
   "ToggleTaskbarProgress": "顯示工作列進度",
   "ShowFileSavingDialog": "顯示檔案儲存對話方塊",
   "ShowBottomToolbar": "查看底部工具列",
-  "BottomGalleryItems": "底部圖庫項目",
-  "ExpandedGalleryItems": "展開的圖庫項目",
+  "BottomGalleryItemSize": "底部圖庫項目",
+  "ExpandedGalleryItemSize": "展開的圖庫項目",
   "ShowBottomGalleryWhenUiIsHidden": "當使用者介面隱藏時顯示底部圖庫",
   "ImageAliasing": "圖像混淆",
   "HighQuality": "高品質",

+ 1 - 1
src/PicView.Core/Localization/Languages.cs

@@ -1,6 +1,6 @@
 namespace PicView.Core.Localization;
 
-internal enum Languages
+public enum Languages
 {
     en,
     da,

+ 28 - 110
src/PicView.Core/Localization/TranslationHelper.cs

@@ -1,5 +1,7 @@
 using System.Diagnostics;
+using System.IO;
 using System.Text.Json;
+using PicView.Core.Config;
 
 namespace PicView.Core.Localization;
 
@@ -14,9 +16,7 @@ public static class TranslationHelper
         if (Language is null)
             return string.Empty;
 
-        return Language.TryGetValue(key, out var translation) ? translation :
-            // Return the key itself if the translation is not found (or handle as appropriate)
-            key;
+        return Language.TryGetValue(key, out var translation) ? translation : key;
     }
 
     /// <summary>
@@ -27,106 +27,17 @@ public static class TranslationHelper
     /// <summary>
     /// Determines the language based on the specified culture and loads the corresponding language file.
     /// </summary>
-    /// <param name="culture">The culture code representing the desired language.</param>
-    public static async Task DetermineLanguage(string culture)
+    /// <param name="isoLanguageCode">The culture code representing the desired language.</param>
+    public static async Task LoadLanguage(string isoLanguageCode)
     {
-        string jsonLanguageFile;
+        var jsonLanguageFile = DetermineLanguageFilePath(isoLanguageCode);
 
-        switch (culture)
-        {
-            case "da":
-            case "da-DK":
-                jsonLanguageFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/da.json");
-                break;
-
-            case "de":
-            case "de-DE":
-            case "de-CH":
-            case "de-AT":
-            case "de-LU":
-            case "de-LI":
-                jsonLanguageFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/de.json");
-                break;
-
-            case "es":
-            case "es-ES":
-            case "es-GT":
-            case "es-CR":
-            case "es-MX":
-            case "es-PA":
-            case "es-DO":
-            case "es-VE":
-            case "es-CO":
-            case "es-PE":
-            case "es-AR":
-            case "es-CL":
-            case "es-EC":
-            case "es-UY":
-            case "es-PY":
-            case "es-BO":
-            case "es-HN":
-            case "es-NI":
-            case "es-PR":
-                jsonLanguageFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/es.json");
-                break;
-
-            case "ko":
-            case "ko-KR":
-                jsonLanguageFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/ko.json");
-                break;
-
-            case "zh":
-            case "zh-CN":
-                jsonLanguageFile =
-                    Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/zh-CN.json");
-                break;
-
-            case "zh-TW":
-                jsonLanguageFile =
-                    Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/zh-TW.json");
-                break;
-
-            case "pl":
-            case "pl-PL":
-                jsonLanguageFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/pl.json");
-                break;
-
-            case "fr":
-            case "fr-FR":
-                jsonLanguageFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/fr.json");
-                break;
-
-            case "it":
-            case "it-IT":
-            case "it-CH":
-                jsonLanguageFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/it.json");
-                break;
-
-            case "ru":
-            case "ru-RU":
-                jsonLanguageFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/ru.json");
-                break;
-
-            case "ro":
-            case "ro-RO":
-                jsonLanguageFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/ro.json");
-                break;
-
-            default:
-                jsonLanguageFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/en.json");
-                break;
-        }
-
-        await LoadLanguage(jsonLanguageFile).ConfigureAwait(false);
-    }
-
-    public static async Task LoadLanguage(string jsonLanguageFile)
-    {
         try
         {
             if (File.Exists(jsonLanguageFile))
             {
-                await Read(jsonLanguageFile).ConfigureAwait(false);
+                var text = await File.ReadAllTextAsync(jsonLanguageFile).ConfigureAwait(false);
+                Language = JsonSerializer.Deserialize<Dictionary<string, string>>(text);
             }
             else
             {
@@ -136,23 +47,30 @@ public static class TranslationHelper
         catch (Exception exception)
         {
 #if DEBUG
-            Trace.WriteLine($"{nameof(Read)} exception:\n{exception.Message}");
+            Trace.WriteLine($"{nameof(LoadLanguage)} exception:\n{exception.Message}");
 #endif
         }
     }
 
-    private static async Task Read(string path)
+    private static string DetermineLanguageFilePath(string isoLanguageCode)
     {
-        try
-        {
-            var text = await File.ReadAllTextAsync(path).ConfigureAwait(false);
-            Language = JsonSerializer.Deserialize<Dictionary<string, string>>(text);
-        }
-        catch (Exception exception)
-        {
-#if DEBUG
-            Trace.WriteLine($"{nameof(Read)} exception:\n{exception.Message}");
-#endif
-        }
+        var languagesDirectory = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config/Languages/");
+
+        var matchingFiles = Directory.GetFiles(languagesDirectory, "*.json")
+            .Where(file => Path.GetFileNameWithoutExtension(file)?.Equals(isoLanguageCode, StringComparison.OrdinalIgnoreCase) == true)
+            .ToList();
+
+        return matchingFiles.Count > 0 ? matchingFiles.First() :
+            // If no exact match is found, default to English
+            Path.Combine(languagesDirectory, "en.json");
+    }
+
+    public static async Task ChangeLanguage(int language)
+    {
+        var choice = (Languages)language;
+        SettingsHelper.Settings.UIProperties.UserLanguage = choice.ToString().Replace('_', '-');
+        await LoadLanguage(SettingsHelper.Settings.UIProperties.UserLanguage).ConfigureAwait(false);
+
+        await SettingsHelper.SaveSettingsAsync().ConfigureAwait(false);
     }
 }

+ 0 - 1
src/PicView.WPF/App.xaml

@@ -6,7 +6,6 @@
     <Application.Resources>
         <ResourceDictionary>
             <ResourceDictionary.MergedDictionaries>
-                <ResourceDictionary Source="Translations\en.xaml" />
                 <ResourceDictionary Source="Themes\Styles\ColorThemes\Dark.xaml" />
                 <ResourceDictionary Source="Themes\Styles\MyWindowStyle.xaml" />
                 <ResourceDictionary Source="Themes\Styles\Button.xaml" />

+ 20 - 10
src/PicView.WPF/ChangeImage/ErrorHandling.cs

@@ -12,6 +12,7 @@ using System.IO;
 using System.Windows;
 using System.Windows.Input;
 using System.Windows.Threading;
+using PicView.Core.Localization;
 using static PicView.WPF.ChangeImage.Navigation;
 using static PicView.WPF.FileHandling.DeleteFiles;
 
@@ -43,13 +44,13 @@ namespace PicView.WPF.ChangeImage
             ConfigureWindows.GetMainWindow.Dispatcher.Invoke(DispatcherPriority.Render, () =>
             {
                 Unload(true);
-                Tooltip.ShowTooltipMessage(Application.Current.Resources["UnexpectedError"], true, TimeSpan.FromSeconds(5));
+                Tooltip.ShowTooltipMessage(TranslationHelper.GetTranslation("UnexpectedError"), true, TimeSpan.FromSeconds(5));
                 ConfigureWindows.GetMainWindow.Title =
-                    (string)Application.Current.Resources["UnexpectedError"] + " - PicView";
+                    TranslationHelper.GetTranslation("UnexpectedError") + " - PicView";
                 ConfigureWindows.GetMainWindow.TitleText.Text =
-                    (string)Application.Current.Resources["UnexpectedError"];
+                    TranslationHelper.GetTranslation("UnexpectedError");
                 ConfigureWindows.GetMainWindow.TitleText.ToolTip =
-                    (string)Application.Current.Resources["UnexpectedError"];
+                    TranslationHelper.GetTranslation("UnexpectedError");
                 ConfigureWindows.GetMainWindow.MainImage.Cursor = Cursors.Arrow;
 
                 if (UC.GetSpinWaiter is { IsVisible: true })
@@ -194,7 +195,7 @@ namespace PicView.WPF.ChangeImage
                 else if (Clipboard.ContainsImage())
                 {
                     await UpdateImage
-                        .UpdateImageAsync((string)Application.Current.Resources["ClipboardImage"], Clipboard.GetImage())
+                        .UpdateImageAsync(TranslationHelper.GetTranslation("ClipboardImage"), Clipboard.GetImage())
                         .ConfigureAwait(false);
                 }
                 else if (Uri.IsWellFormedUriString(path, UriKind.Absolute)) // Check if from web
@@ -222,7 +223,7 @@ namespace PicView.WPF.ChangeImage
                 return ConfigureWindows.GetMainWindow.Dispatcher.Invoke(() =>
                 {
                     var fileName = Path.GetFileName(ConfigureWindows.GetMainWindow.TitleText.Text);
-                    return fileName == (string)Application.Current.Resources["Loading"] ? InitialPath : fileName;
+                    return fileName == TranslationHelper.GetTranslation("Loading") ? InitialPath : fileName;
                 });
             }
 
@@ -270,16 +271,17 @@ namespace PicView.WPF.ChangeImage
         {
             ConfigureWindows.GetMainWindow.Dispatcher.Invoke((Action)(() =>
             {
-                ConfigureWindows.GetMainWindow.TitleText.ToolTip = ConfigureWindows.GetMainWindow.TitleText.Text =
-                    (string)Application.Current.Resources["NoImage"];
-                ConfigureWindows.GetMainWindow.Title =
-                    Application.Current.Resources["NoImage"] + " - " + SetTitle.AppName;
                 ConfigureWindows.GetMainWindow.MainImage.Source = null;
                 ConfigureWindows.GetMainWindow.MainImage.Width = 0;
                 ConfigureWindows.GetMainWindow.MainImage.Height = 0;
 
                 WindowSizing.SetWindowBehavior();
 
+                if (showStartup == false)
+                {
+                    ResetTitle();
+                }
+
                 UC.ToggleStartUpUC(!showStartup);
                 if (UC.GetSpinWaiter is not null)
                 {
@@ -306,5 +308,13 @@ namespace PicView.WPF.ChangeImage
 
             Taskbar.NoProgress();
         }
+
+        internal static void ResetTitle()
+        {
+            ConfigureWindows.GetMainWindow.TitleText.ToolTip = ConfigureWindows.GetMainWindow.TitleText.Text =
+                TranslationHelper.GetTranslation("NoImage");
+            ConfigureWindows.GetMainWindow.Title =
+                TranslationHelper.GetTranslation("NoImage") + " - " + SetTitle.AppName;
+        }
     }
 }

+ 1 - 0
src/PicView.WPF/ChangeImage/FileHistoryNavigation.cs

@@ -232,6 +232,7 @@ namespace PicView.WPF.ChangeImage
 
         internal static void RefreshRecentItemsMenu()
         {
+            _fileHistory ??= new FileHistory();
             try
             {
                 var cm = (MenuItem)ConfigureWindows.MainContextMenu?.Items[6]!;

+ 17 - 17
src/PicView.WPF/ChangeTitlebar/SetTitle.cs

@@ -1,11 +1,11 @@
-using System.Diagnostics;
+using PicView.Core.FileHandling;
+using PicView.Core.Localization;
+using PicView.WPF.ChangeImage;
+using PicView.WPF.UILogic;
+using System.Diagnostics;
 using System.IO;
 using System.Text;
 using System.Windows;
-using PicView.Core.FileHandling;
-using PicView.WPF.ChangeImage;
-using PicView.WPF.FileHandling;
-using PicView.WPF.UILogic;
 using static PicView.WPF.ChangeImage.Navigation;
 using static PicView.WPF.UILogic.TransformImage.ZoomLogic;
 
@@ -26,6 +26,12 @@ namespace PicView.WPF.ChangeTitlebar
         /// <returns></returns>
         internal static string[] TitleString(int width, int height, int index, FileInfo? fileInfo)
         {
+            // Check index validity
+            if (index < 0 || index >= Pics.Count)
+            {
+                return ReturnError("index invalid");
+            }
+
             // Check if file info is present or not
             if (fileInfo == null)
             {
@@ -48,15 +54,9 @@ namespace PicView.WPF.ChangeTitlebar
                     return ReturnError("FileInfo does not exist?");
             }
 
-            // Check index validity
-            if (index < 0 || index >= Pics.Count)
-            {
-                return ReturnError("index invalid");
-            }
-
-            var files = (string)(Pics.Count == 1
-                ? Application.Current.Resources["File"]
-                : Application.Current.Resources["Files"]);
+            var files = Pics.Count == 1
+                ? TranslationHelper.GetTranslation("File")
+                : TranslationHelper.GetTranslation("Files");
 
             var stringBuilder = new StringBuilder(90);
             stringBuilder.Append(fileInfo.Name)
@@ -100,9 +100,9 @@ namespace PicView.WPF.ChangeTitlebar
 #endif
             return new[]
             {
-                (string)Application.Current.Resources["UnexpectedError"],
-                (string)Application.Current.Resources["UnexpectedError"],
-                (string)Application.Current.Resources["UnexpectedError"]
+                TranslationHelper.GetTranslation("UnexpectedError"),
+                TranslationHelper.GetTranslation("UnexpectedError"),
+                TranslationHelper.GetTranslation("UnexpectedError")
             };
         }
 

+ 2 - 1
src/PicView.WPF/Editing/Crop/CropFunctions.cs

@@ -12,6 +12,7 @@ using System.IO;
 using System.Windows;
 using System.Windows.Media;
 using System.Windows.Media.Imaging;
+using PicView.Core.Localization;
 using static PicView.WPF.ChangeImage.Navigation;
 using static PicView.WPF.UILogic.Sizing.ScaleImage;
 using static PicView.WPF.UILogic.TransformImage.Rotation;
@@ -39,7 +40,7 @@ namespace PicView.WPF.Editing.Crop
                     ? GalleryNavigation.PicGalleryItemSize + GalleryNavigation.ScrollbarSize
                     : 0);
 
-            ConfigureWindows.GetMainWindow.TitleText.Text = (string)Application.Current.Resources["CropMessage"];
+            ConfigureWindows.GetMainWindow.TitleText.Text = TranslationHelper.GetTranslation("CropMessage");
 
             if (!ConfigureWindows.GetMainWindow.ParentContainer.Children.Contains(GetCroppingTool))
             {

+ 2 - 1
src/PicView.WPF/FileHandling/CopyPaste.cs

@@ -9,6 +9,7 @@ using System.IO;
 using System.Windows;
 using System.Windows.Media.Imaging;
 using System.Windows.Threading;
+using PicView.Core.Localization;
 using static PicView.WPF.ChangeImage.Navigation;
 using static PicView.WPF.PicGallery.GalleryLoad;
 using static PicView.WPF.UILogic.Tooltip;
@@ -284,7 +285,7 @@ namespace PicView.WPF.FileHandling
             else if (Clipboard.ContainsImage()) // Clipboard Image
             {
                 await UpdateImage
-                    .UpdateImageAsync((string)Application.Current.Resources["ClipboardImage"], Clipboard.GetImage())
+                    .UpdateImageAsync(TranslationHelper.GetTranslation("ClipboardImage"), Clipboard.GetImage())
                     .ConfigureAwait(false);
             }
             else // text/string/adddress

+ 2 - 1
src/PicView.WPF/FileHandling/HttpFunctions.cs

@@ -3,6 +3,7 @@ using System.IO;
 using System.Windows;
 using System.Windows.Threading;
 using PicView.Core.FileHandling;
+using PicView.Core.Localization;
 using PicView.WPF.ChangeImage;
 using PicView.WPF.ImageHandling;
 using PicView.WPF.UILogic;
@@ -122,7 +123,7 @@ namespace PicView.WPF.FileHandling
             double? progressPercentage)
         {
             if (!totalFileSize.HasValue || !totalBytesDownloaded.HasValue || !progressPercentage.HasValue) return;
-            var percentComplete = (string)Application.Current.Resources["PercentComplete"];
+            var percentComplete = TranslationHelper.GetTranslation("PercentComplete");
             var displayProgress =
                 $"{(int)totalBytesDownloaded}/{(int)totalBytesDownloaded} {(int)progressPercentage} {percentComplete}";
 

+ 8 - 7
src/PicView.WPF/ImageHandling/GetImageData.cs

@@ -7,6 +7,7 @@ using System.Windows.Threading;
 using ImageMagick;
 using Microsoft.WindowsAPICodePack.Shell;
 using Microsoft.WindowsAPICodePack.Shell.PropertySystem;
+using PicView.Core.Localization;
 using PicView.WPF.ChangeImage;
 using PicView.WPF.UILogic;
 using PicView.WPF.UILogic.TransformImage;
@@ -108,27 +109,27 @@ namespace PicView.WPF.ImageHandling
             string ratioText;
             if (firstRatio == secondRatio)
             {
-                ratioText = $"{firstRatio}:{secondRatio} ({Application.Current.Resources["Square"]})";
+                ratioText = $"{firstRatio}:{secondRatio} ({TranslationHelper.GetTranslation("Square")})";
             }
             else if (firstRatio > secondRatio)
             {
-                ratioText = $"{firstRatio}:{secondRatio} ({Application.Current.Resources["Landscape"]})";
+                ratioText = $"{firstRatio}:{secondRatio} ({TranslationHelper.GetTranslation("Landscape")})";
             }
             else
             {
-                ratioText = $"{firstRatio}:{secondRatio} ({Application.Current.Resources["Portrait"]})";
+                ratioText = $"{firstRatio}:{secondRatio} ({TranslationHelper.GetTranslation("Portrait")})";
             }
 
             var megaPixels = ((float)bitmapSource.PixelHeight * bitmapSource.PixelWidth / 1000000)
-                .ToString("0.##", CultureInfo.CurrentCulture) + " " + Application.Current.Resources["MegaPixels"];
+                .ToString("0.##", CultureInfo.CurrentCulture) + " " + TranslationHelper.GetTranslation("MegaPixels");
 
             var printSizeCm = cmWidth.ToString("0.##", CultureInfo.CurrentCulture) + " x " +
                               cmHeight.ToString("0.##", CultureInfo.CurrentCulture)
-                              + " " + Application.Current.Resources["Centimeters"];
+                              + " " + TranslationHelper.GetTranslation("Centimeters");
 
             var printSizeInch = inchesWidth.ToString("0.##", CultureInfo.CurrentCulture) + " x " +
                                 inchesHeight.ToString("0.##", CultureInfo.CurrentCulture)
-                                + " " + Application.Current.Resources["Inches"];
+                                + " " + TranslationHelper.GetTranslation("Inches");
 
             var dpi = string.Empty;
 
@@ -296,7 +297,7 @@ namespace PicView.WPF.ImageHandling
             if (dpiX is not null && dpiY is not null)
             {
                 dpi = Math.Round((double)dpiX) + " x " + Math.Round((double)dpiY) + " " +
-                      Application.Current.Resources["Dpi"];
+                      TranslationHelper.GetTranslation("Dpi");
             }
 
             bitDepth ??= string.Empty;

+ 2 - 1
src/PicView.WPF/ImageHandling/ImageFunctions.cs

@@ -10,6 +10,7 @@ using System.Windows.Media.Imaging;
 using System.Windows.Threading;
 using ImageMagick;
 using PicView.Core.FileHandling;
+using PicView.Core.Localization;
 using PicView.WPF.ChangeImage;
 using PicView.WPF.ChangeTitlebar;
 using PicView.WPF.FileHandling;
@@ -219,7 +220,7 @@ namespace PicView.WPF.ImageHandling
                     var typeface = new Typeface(
                         new FontFamily("/PicView;component/Themes/Resources/fonts/#Roboto Bold"),
                         FontStyles.Normal, FontWeights.Medium, FontStretches.Normal);
-                    var text = new FormattedText((string)Application.Current.Resources["UnableToRender"],
+                    var text = new FormattedText(TranslationHelper.GetTranslation("UnableToRender"),
                         CultureInfo.CurrentUICulture, FlowDirection, typeface, 18, brush,
                         WindowSizing.MonitorInfo.DpiScaling)
                     {

+ 0 - 13
src/PicView.WPF/PicView.WPF.csproj

@@ -243,19 +243,9 @@
     </Compile>
   </ItemGroup>
   <ItemGroup>
-    <Page Update="Translations\da.xaml">
-      <SubType>Designer</SubType>
-    </Page>
     <Page Update="Themes\Styles\ColorThemes\Light.xaml">
       <SubType>Designer</SubType>
     </Page>
-    <Page Update="Translations\fr.xaml">
-      <XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
-      <SubType>Designer</SubType>
-    </Page>
-    <Page Update="Translations\pl.xaml">
-      <XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
-    </Page>
     <Page Update="Views\UserControls\Buttons\LinkButton.xaml">
       <XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
       <SubType>Designer</SubType>
@@ -293,9 +283,6 @@
     <Page Update="Views\UserControls\Misc\Icon.xaml">
       <XamlRuntime>$(DefaultXamlRuntime)</XamlRuntime>
     </Page>
-    <Page Update="Translations\ro.xaml">
-      <SubType>Designer</SubType>
-    </Page>
   </ItemGroup>
   <ItemGroup>
     <Content Include="Editing\ShaderEffects\PsEffects\**">

+ 2 - 2
src/PicView.WPF/Shortcuts/MainKeyboardShortcuts.cs

@@ -53,7 +53,7 @@ namespace PicView.WPF.Shortcuts
             }
 
             // Don't execute keys when typing in GoToPicBox or in QuickResize
-            if (GetImageSettingsMenu.GoToPic != null)
+            if (GetImageSettingsMenu?.GoToPic != null)
             {
                 if (GetImageSettingsMenu.GoToPic.GoToPicBox.IsKeyboardFocusWithin)
                 {
@@ -169,7 +169,7 @@ namespace PicView.WPF.Shortcuts
             }
 
             // Don't execute keys when typing in GoToPicBox or in QuickResize
-            if (GetImageSettingsMenu.GoToPic != null)
+            if (GetImageSettingsMenu?.GoToPic != null)
             {
                 if (GetImageSettingsMenu.GoToPic.GoToPicBox.IsKeyboardFocusWithin)
                 {

+ 1 - 1
src/PicView.WPF/Shortcuts/MainMouseKeys.cs

@@ -205,7 +205,7 @@ namespace PicView.WPF.Shortcuts
 
         private static bool ShouldIgnoreMouseWheel()
         {
-            if (GetImageSettingsMenu.GoToPic != null && GetImageSettingsMenu.GoToPic.GoToPicBox.IsKeyboardFocusWithin)
+            if (GetImageSettingsMenu?.GoToPic != null && GetImageSettingsMenu.GoToPic.GoToPicBox.IsKeyboardFocusWithin)
             {
                 return true;
             }

+ 0 - 18
src/PicView.WPF/Translations/Languages.cs

@@ -1,18 +0,0 @@
-namespace PicView.WPF.Translations
-{
-    internal enum Languages
-    {
-        en,
-        da,
-        de,
-        es,
-        zh_CN,
-        zh_TW,
-        ko,
-        pl,
-        fr,
-        it,
-        ru,
-        ro
-    }
-}

+ 0 - 135
src/PicView.WPF/Translations/LoadLanguage.cs

@@ -1,135 +0,0 @@
-using PicView.Core.Config;
-using System.Globalization;
-using System.Windows;
-
-namespace PicView.WPF.Translations
-{
-    internal static class LoadLanguage
-    {
-        /// <summary>
-        /// Determines the language to use for the application based on the user's culture or the user's preferred language setting.
-        /// </summary>
-        /// <param name="isFromCulture">If true, the language will be determined based on the user's culture. Otherwise, it will be determined based on the user's preferred language setting.</param>
-        internal static void DetermineLanguage(bool isFromCulture)
-        {
-            var isoLanguage = isFromCulture
-                ? CultureInfo.CurrentCulture.TwoLetterISOLanguageName
-                : SettingsHelper.Settings.UIProperties.UserLanguage;
-            Uri? source;
-            switch (isoLanguage)
-            {
-                case "da":
-                case "da-DK":
-                    source = new Uri(@"/PicView;component/Translations/da.xaml", UriKind.Relative);
-                    break;
-
-                case "de":
-                case "de-DE":
-                case "de-CH":
-                case "de-AT":
-                case "de-LU":
-                case "de-LI":
-                    source = new Uri(@"/PicView;component/Translations/de.xaml", UriKind.Relative);
-                    break;
-
-                case "es":
-                case "es-ES":
-                case "es-GT":
-                case "es-CR":
-                case "es-MX":
-                case "es-PA":
-                case "es-DO":
-                case "es-VE":
-                case "es-CO":
-                case "es-PE":
-                case "es-AR":
-                case "es-CL":
-                case "es-EC":
-                case "es-UY":
-                case "es-PY":
-                case "es-BO":
-                case "es-HN":
-                case "es-NI":
-                case "es-PR":
-                    source = new Uri(@"/PicView;component/Translations/es.xaml", UriKind.Relative);
-                    break;
-
-                case "ko":
-                case "ko-KR":
-                    source = new Uri(@"/PicView;component/Translations/ko.xaml", UriKind.Relative);
-                    break;
-
-                case "zh":
-                case "zh-CN":
-                    source = new Uri(@"/PicView;component/Translations/zh-CN.xaml", UriKind.Relative);
-                    break;
-
-                case "zh-TW":
-                    source = new Uri(@"/PicView;component/Translations/zh-TW.xaml", UriKind.Relative);
-                    break;
-
-                case "pl":
-                case "pl-PL":
-                    source = new Uri(@"/PicView;component/Translations/pl.xaml", UriKind.Relative);
-                    break;
-
-                case "fr":
-                case "fr-FR":
-                    source = new Uri(@"/PicView;component/Translations/fr.xaml", UriKind.Relative);
-                    break;
-
-                case "it":
-                case "it-IT":
-                case "it-CH":
-                    source = new Uri(@"/PicView;component/Translations/it.xaml", UriKind.Relative);
-                    break;
-
-                case "ru":
-                case "ru-RU":
-                    source = new Uri(@"/PicView;component/Translations/ru.xaml", UriKind.Relative);
-                    break;
-
-                case "ro":
-                case "ro-RO":
-                    source = new Uri(@"/PicView;component/Translations/ro.xaml", UriKind.Relative);
-                    break;
-
-                default:
-                    source = new Uri(@"/PicView;component/Translations/en.xaml", UriKind.Relative);
-                    break;
-            }
-
-            TrySetSource(source);
-        }
-
-        /// <summary>
-        /// Tries to set the source of the application's resources to the specified URI. If an exception occurs, falls back to the English translation.
-        /// </summary>
-        /// <param name="source">The URI of the resource dictionary to use.</param>
-        private static void TrySetSource(Uri source)
-        {
-            try
-            {
-                Application.Current.Resources.MergedDictionaries[0] = new ResourceDictionary
-                {
-                    Source = source
-                };
-            }
-            catch (Exception)
-            {
-                Application.Current.Resources.MergedDictionaries[0] = new ResourceDictionary
-                {
-                    Source = new Uri(@"/PicView;component/Translations/en.xaml", UriKind.Relative)
-                };
-            }
-        }
-
-        internal static void ChangeLanguage(int language)
-        {
-            var choice = (Languages)language;
-            SettingsHelper.Settings.UIProperties.UserLanguage = choice.ToString().Replace('_', '-');
-
-            SettingsHelper.SaveSettingsAsync();
-        }
-    }
-}

+ 0 - 421
src/PicView.WPF/Translations/da.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">Indlæser...</system:String>
-    <system:String x:Key="NoImage">Intet billede er indlæst</system:String>
-    <system:String x:Key="Files">filer</system:String>
-    <system:String x:Key="File">fil</system:String>
-    <system:String x:Key="PercentComplete">% gennemført...</system:String>
-    <system:String x:Key="CropMessage">Tryk Esc for at lukke, Enter for at gemme</system:String>
-    <system:String x:Key="ClipboardImage">Billede fra udklipsholderen</system:String>
-    <system:String x:Key="Base64Image">Base64 billede</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">Luk</system:String>
-    <system:String x:Key="RestoreDown">Gendan</system:String>
-    <system:String x:Key="Maximize">Maksimer</system:String>
-    <system:String x:Key="Minimize">Minimer</system:String>
-    <system:String x:Key="Fullscreen">Fuldskærm</system:String>
-    <system:String x:Key="NewWindow">Nyt vindue</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">Om</system:String>
-    <system:String x:Key="InfoWindowTitle">Information, og genveje</system:String>
-    <system:String x:Key="ApplicationShortcuts">Genveje til programmet</system:String>
-    <system:String x:Key="ImageControl">Billedstyring</system:String>
-    <system:String x:Key="FileManagement">Behandling af filer</system:String>
-    <system:String x:Key="DragFileTo">Slip filen til stifinderen eller et andet program/browser</system:String>
-    <system:String x:Key="DragImage">Træk billede</system:String>
-    <system:String x:Key="AdditionalFunctions">Diverse funktioner</system:String>
-    <system:String x:Key="Reload">Genindlæs</system:String>
-    <system:String x:Key="Credits">Anerkendelser</system:String>
-    <system:String x:Key="IconsUsed">Brugte ikoner:</system:String>
-    <system:String x:Key="GithubRepo">Github side</system:String>
-    <system:String x:Key="ViewLicenseFile">Se licensfilen</system:String>
-    <system:String x:Key="Version">Version:</system:String>
-    <system:String x:Key="ChangeKeybindingText">Klik på en tekstboks for at ændre genvejen. Tryk på Esc for at frakoble den.</system:String>
-    <system:String x:Key="ResetButtonText">Nulstil til standard</system:String>
-    <system:String x:Key="SelectGalleryThumb">Vælg galleri billede</system:String>
-    <system:String x:Key="PressKey">Tryk på tasten...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">Klik for at ændre tastaturbinding</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">Scroll og roter</system:String>
-    <system:String x:Key="ScrollUp">Scroll op</system:String>
-    <system:String x:Key="ScrollDown">Scroll ned</system:String>
-    <system:String x:Key="ScrollToTop">Scroll til toppen</system:String>
-    <system:String x:Key="ScrollToBottom">Scroll til bunden</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">Angiv stjernevurdering</system:String>
-    <system:String x:Key="1Star">1 stjerne</system:String>
-    <system:String x:Key="2Star">2 stjerner</system:String>
-    <system:String x:Key="3Star">3 stjerner</system:String>
-    <system:String x:Key="4Star">4 stjerner</system:String>
-    <system:String x:Key="5Star">5 stjerner</system:String>
-    <system:String x:Key="RemoveStarRating">Fjern vurdering</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">Skalering af vindue</system:String>
-    <system:String x:Key="NormalWindow">Normalt vindue</system:String>
-    <system:String x:Key="FillHeight">⇔ Fyld højde</system:String>
-    <system:String x:Key="AutoFitWindow">Auto tilpas vindue</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">Interfacekonfiguration</system:String>
-    <system:String x:Key="HideShowInterface">Vis/skjul interface</system:String>
-    <system:String x:Key="ToggleFullscreen">Skift fuldskærmstilstand</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">vinduesstyring</system:String>
-    <system:String x:Key="InfoWindow">Info vindue</system:String>
-    <system:String x:Key="SettingsWindow">Indstillingsvindue</system:String>
-    <system:String x:Key="EscCloseTooltip">Lukker nuværende åbne vindue el. menu</system:String>
-    <system:String x:Key="CloseApp">Lukker hele programmet</system:String>
-    <system:String x:Key="MoveWindow">Flyt vinduet</system:String>
-    <system:String x:Key="CenterWindow">Centrer vinduet</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">Accentfarve</system:String>
-
-    <system:String x:Key="Blue">Blå</system:String>
-    <system:String x:Key="Cyan">Cyan</system:String>
-    <system:String x:Key="Aqua">Aqua</system:String>
-    <system:String x:Key="Teal">Teal</system:String>
-
-    <system:String x:Key="Lime">Lime</system:String>
-    <system:String x:Key="Green">Grøn</system:String>
-    <system:String x:Key="Golden">Gylden</system:String>
-    <system:String x:Key="Orange">Orange</system:String>
-
-    <system:String x:Key="Red">Rød</system:String>
-    <system:String x:Key="Pink">Pink</system:String>
-    <system:String x:Key="Magenta">Lyslilla</system:String>
-    <system:String x:Key="Purple">Lilla</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">Tema</system:String>
-    <system:String x:Key="DarkTheme">Mørkt tema</system:String>
-    <system:String x:Key="LightTheme">Lyst tema</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* Skiftning af tema kræver genstart</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">Sæt nuværende billede som skrivebordsbaggrund:</system:String>
-
-    <system:String x:Key="Fill">Fyld</system:String>
-    <system:String x:Key="Center">Centrer</system:String>
-    <system:String x:Key="Fit">Tilpas</system:String>
-    <system:String x:Key="Tile">Flise</system:String>
-    <system:String x:Key="Stretch">Stræk</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">Sprog</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* Skiftning af sprog kræver genstart</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">Zoom med Ctrl, naviger med musehjulet</system:String>
-    <system:String x:Key="ScrollToZoom">Zoom med musehjulet, naviger med Ctrl</system:String>
-    <system:String x:Key="HorizontalScroll">Vandret scrolling</system:String>
-    <system:String x:Key="Reverse">Baglæns</system:String>
-    <system:String x:Key="Forward">Fremad</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">Generale Indstillinger</system:String>
-    <system:String x:Key="UISettings">UI-indstillinger</system:String>
-    <system:String x:Key="MiscSettings">Diverse indstillinger</system:String>
-    <system:String x:Key="SearchSubdirectory">Tilføj undermapper til filsøgningen</system:String>
-    <system:String x:Key="StayTopMost">Hold vinduet øverst</system:String>
-    <system:String x:Key="StayCentered">Hold vinduet centreret</system:String>
-    <system:String x:Key="ColoredWindowBorder">Farvede vinduekanter</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">Vis knapper, når interfacet er skjult</system:String>
-    <system:String x:Key="Apply">Anvend</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">Juster timing for slideshowet</system:String>
-    <system:String x:Key="AdjustTimingForZoom">Justér zooming hastighed</system:String>
-    <system:String x:Key="SecAbbreviation">Sek.</system:String>
-    <system:String x:Key="RestartApp">Genstart programmet</system:String>
-    <system:String x:Key="CheckForUpdates">Søg efter opdateringer</system:String>
-    <system:String x:Key="AllowZoomOut">Undgå at zoome ud på billedet, når det allerede er i maksimal størrelse</system:String>
-    <system:String x:Key="AdjustNavSpeed">Juster hastighed, når tasten holdes nede</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">Vis fremskridt i proceslinjen</system:String>
-    <system:String x:Key="ShowFileSavingDialog">Vis gem fil dialogen</system:String>
-    <system:String x:Key="ShowBottomToolbar">Vis værktøjslinjen i bunden</system:String>
-    <system:String x:Key="BottomGalleryItems">Galleri billeder i bunden</system:String>
-    <system:String x:Key="ExpandedGalleryItems">Udviede galleri billeder</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">Vis nederste galleri, når brugergrænsefladen er skjult</system:String>
-    <system:String x:Key="ImageAliasing">Billedantialiasering</system:String>
-    <system:String x:Key="HighQuality">Høj kvalitet</system:String>
-    <system:String x:Key="NearestNeighbor">Nærmeste nabo</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">Negative Farver</system:String>
-    <system:String x:Key="BlackAndWhite">Sort/hvid</system:String>
-    <system:String x:Key="ColorTone">Farve Tone</system:String>
-
-    <system:String x:Key="OldMovie">Gammel film</system:String>
-    <system:String x:Key="Bloom">Bloom</system:String>
-    <system:String x:Key="Gloom">Gloom</system:String>
-
-    <system:String x:Key="Monochrome">Monokrom</system:String>
-    <system:String x:Key="WaveWarper">Bølger</system:String>
-    <system:String x:Key="Underwater">Undersøisk</system:String>
-
-    <system:String x:Key="BandedSwirl">Båndet virvel</system:String>
-    <system:String x:Key="Ripple">Bølge effekt</system:String>
-    <system:String x:Key="RippleAlt">Bølge effekt Alt</system:String>
-
-    <system:String x:Key="Blur">Sløring</system:String>
-    <system:String x:Key="DirectionalBlur">Retningsvis Sløring</system:String>
-    <system:String x:Key="TelescopicBlur">Teleskopisk Sløring</system:String>
-
-    <system:String x:Key="Pixelate">Pixeler</system:String>
-    <system:String x:Key="Embossed">Emboss</system:String>
-    <system:String x:Key="SmoothMagnify">Glat forstørrelse</system:String>
-
-    <system:String x:Key="Pivot">Omdrejning</system:String>
-    <system:String x:Key="PaperFold">Papirfoldning</system:String>
-    <system:String x:Key="PencilSketch">Blyantskitse</system:String>
-
-    <system:String x:Key="Sketch">Skitse</system:String>
-    <system:String x:Key="ToneMapping">ToneMapping</system:String>
-    <system:String x:Key="FrostyOutline">Frosty Outline</system:String>
-
-    <system:String x:Key="Bands">Bånd</system:String>
-    <system:String x:Key="GlassTile">Glasflise</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">Navigering</system:String>
-    <system:String x:Key="NextImage">Næste billede</system:String>
-    <system:String x:Key="PrevImage">Forrige billede</system:String>
-    <system:String x:Key="LastImage">Sidste billede</system:String>
-    <system:String x:Key="FirstImage">Første billede</system:String>
-    <system:String x:Key="ToggleLooping">Slå looping til/fra</system:String>
-    <system:String x:Key="Slideshow">Slideshow</system:String>
-    <system:String x:Key="NextFolder">Gå til næste mappe</system:String>
-    <system:String x:Key="PrevFolder">Gå til forrige mappe</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">Zoom</system:String>
-    <system:String x:Key="ZoomIn">Zoom Ind</system:String>
-    <system:String x:Key="ZoomOut">Zoom Ud</system:String>
-    <system:String x:Key="Pan">Panorering</system:String>
-    <system:String x:Key="MouseDrag">Træk musen</system:String>
-    <system:String x:Key="ResetZoom">Nulstil zoom</system:String>
-    <system:String x:Key="ToggleScroll">Slå scroll til/fra</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">Åben</system:String>
-    <system:String x:Key="OpenWith">Åben med...</system:String>
-    <system:String x:Key="OpenFileDialog">Åben fil dialog</system:String>
-    <system:String x:Key="OpenLastFile">Åben seneste fil</system:String>
-    <system:String x:Key="ShowInFolder">Vis i mappe</system:String>
-    <system:String x:Key="Save">Gem</system:String>
-    <system:String x:Key="SaveImage">Gem billede</system:String>
-    <system:String x:Key="Print">Print</system:String>
-    <system:String x:Key="RecentFiles">Seneste filer</system:String>
-    <system:String x:Key="FileProperties">Filegenskaber</system:String>
-    <system:String x:Key="DeleteFile">Slet fil</system:String>
-    <system:String x:Key="Folder">Mappe</system:String>
-    <system:String x:Key="FullPath">Filsti</system:String>
-    <system:String x:Key="RenameFile">Omdøb fil</system:String>
-    <system:String x:Key="UnsupportedFile">Ikke understøttet filformat</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">Sorter efter</system:String>
-    <system:String x:Key="FileName">Fil navn</system:String>
-    <system:String x:Key="FileSize">Filstørrelse</system:String>
-    <system:String x:Key="CreationTime">Oprettelses tid</system:String>
-    <system:String x:Key="FileExtension">Filtypenavn</system:String>
-    <system:String x:Key="LastAccessTime">Sidst tilgået</system:String>
-    <system:String x:Key="LastWriteTime">Sidst skrevet til</system:String>
-    <system:String x:Key="Random">Vilkårlig</system:String>
-
-    <system:String x:Key="Ascending">Stigende</system:String>
-    <system:String x:Key="Descending">Faldende</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">Indstillinger</system:String>
-    <system:String x:Key="Scrolling">Scrolling</system:String>
-    <system:String x:Key="Looping">Loopning</system:String>
-    <system:String x:Key="FitToWindow">Tilpas til vinduet</system:String>
-    <system:String x:Key="ShowHideUI">Vis/skjul interface</system:String>
-    <system:String x:Key="ChangeBackground">Skift background</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">Skift mellem baggrundsfarve til billeder med gennemsigtig baggrund</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">Kopier</system:String>
-    <system:String x:Key="AddedToClipboard">tilføjet til udklipsholderen</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">Kopier fil</system:String>
-    <system:String x:Key="DuplicateFile">Dupliker fil</system:String>
-    <system:String x:Key="FileCopy">Fil tilføjet til udklipsholderen</system:String>
-    <system:String x:Key="FileCopyPath">Kopier fil sti</system:String>
-    <system:String x:Key="FileCopyPathMessage">Fil stien tilføjet til udklipsholderen</system:String>
-    <system:String x:Key="FileCutMessage">Fil tilføjet til flytte udklipsholderen</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">Kopier billede</system:String>
-    <system:String x:Key="CopiedImage">Kopier billede til udklipsholderen</system:String>
-    <system:String x:Key="CopyImageTooltip">Kopier som Windows-klippebordsbillede</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">Indsæt</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">Klip fil</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">Billede Info</system:String>
-    <system:String x:Key="Image">Billede</system:String>
-    <system:String x:Key="Width">Bredde</system:String>
-    <system:String x:Key="Height">Højde</system:String>
-    <system:String x:Key="Date">Dato</system:String>
-    <system:String x:Key="Created">Opretted</system:String>
-    <system:String x:Key="Modified">Modificeret</system:String>
-    <system:String x:Key="Size">Størrelse</system:String>
-    <system:String x:Key="Pixels">pixels</system:String>
-    <system:String x:Key="SizeMp">Størrelse (mp)</system:String>
-    <system:String x:Key="MegaPixels">megapixels</system:String>
-    <system:String x:Key="Resolution">Opløsning</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">Disk størrelse</system:String>
-    <system:String x:Key="AspectRatio">Aspektforhold</system:String>
-    <system:String x:Key="Portrait">Portræt</system:String>
-    <system:String x:Key="Landscape">Landskab</system:String>
-    <system:String x:Key="Square">Firkant</system:String>
-    <system:String x:Key="PrintSizeIn">Print str. (inch)</system:String>
-    <system:String x:Key="PrintSizeCm">Print str. (cm)</system:String>
-    <system:String x:Key="Centimeters">centimeter</system:String>
-    <system:String x:Key="Inches">tommer</system:String>
-    <system:String x:Key="BitDepth">Bit dybde</system:String>
-    <system:String x:Key="SizeTooltip">Indtast størrelse i pixels eller procent.</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Del</system:String>
-    <system:String x:Key="Ctrl">Ctrl</system:String>
-    <system:String x:Key="Shift">Skift</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Mellemrum</system:String>
-    <system:String x:Key="Enter">Enter</system:String>
-    <system:String x:Key="Esc">Esc</system:String>
-    <system:String x:Key="NumpadPlus">Numpad +</system:String>
-    <system:String x:Key="NumpadMinus">Numpad -</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">Musehjul</system:String>
-    <system:String x:Key="MouseKeyForward">Mouse knap fremad</system:String>
-    <system:String x:Key="MouseKeyBack">Mouse knap tilbage</system:String>
-    <system:String x:Key="DoubleClick">Dobbeltklik</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">Venstre</system:String>
-    <system:String x:Key="Right">Højre</system:String>
-    <system:String x:Key="Up">Op</system:String>
-    <system:String x:Key="Down">Ned</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">Gemning af fil mislykkedes</system:String>
-    <system:String x:Key="UnexpectedError">Der skete en ukendt fejl</system:String>
-    <system:String x:Key="NoImages">Ingen billeder</system:String>
-    <system:String x:Key="UnableToRender">Kan ikke gengive billedet</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">Slip for at indlæse</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">Sæt som...</system:String>
-    <system:String x:Key="SetAsWallpaper">Sæt som baggrund</system:String>
-    <system:String x:Key="SetAsLockScreenImage">Indstil som låseskærmbillede</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">Beskær</system:String>
-    <system:String x:Key="RotateRight">Roter til højre</system:String>
-    <system:String x:Key="RotateLeft">Roter til venstre</system:String>
-    <system:String x:Key="Flip">Spejlvend</system:String>
-    <system:String x:Key="Unflip">Spejlvend tilbage</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">Arkivet kunne ikke behandles</system:String>
-    <system:String x:Key="PasswordArchive">Adgangskodebeskyttet arkiv understøttes ikke</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">Sendt fil til papirkurven</system:String>
-    <system:String x:Key="DeletedFile">Slettede filen</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">Der skete en fejl ved sletning</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">Sat til automatisk tilpasning af vinduet</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">Sat til autamatisk tilpasning af vinduet og strækker billedet til højden af skærmen</system:String>
-    <system:String x:Key="NormalWindowBehavior">Normal vinduestilstand</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">Normal vinduestilstand, strækker billedet til højden</system:String>
-
-    <system:String x:Key="ScrollingEnabled">Scrolling slået til</system:String>
-    <system:String x:Key="ScrollingDisabled">Scrolling slået fra</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">Konverteret til base64</system:String>
-    <system:String x:Key="LoopingEnabled">Looping slået til</system:String>
-    <system:String x:Key="LoopingDisabled">Looping slået fra</system:String>
-    <system:String x:Key="Applying">Udfører</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">Åbn vindue for info og genveje</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">Vis indstillingsvinduet</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">Skift baggrundsfarve</system:String>
-    <system:String x:Key="ShowImageGallery">Vis billedgalleri</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">Gå til billede ved specificerede placering</system:String>
-    <system:String x:Key="AdjustZoomLevel">Juster zoom niveau</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">Indsæt billede fra udklipsholderen</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">Send billede til papirkurven</system:String>
-    <system:String x:Key="StartSlideshow">Start slideshow</system:String>
-    <system:String x:Key="CloseGallery">Luk galleri</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">Vis nederste galleri</system:String>
-    <system:String x:Key="HideBottomGallery">Skjul nederste galleri</system:String>
-
-    <system:String x:Key="StretchImage">Stræk billedet</system:String>
-
-    <system:String x:Key="OptimizeImage">Optimer billede</system:String>
-
-    <system:String x:Key="Effects">Shader Effekter</system:String>
-    <system:String x:Key="EffectsTooltip">Vis billedeffektsvinduet</system:String>
-
-    <system:String x:Key="CropPicture">Beskær billede</system:String>
-
-    <system:String x:Key="ShowImageInfo">Vis billede Info</system:String>
-
-    <system:String x:Key="ColorPickerTool">Farvelægningsværktøj</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">Vælg en farve fra billedet</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">Vis størrelsesændringsvinduet</system:String>
-
-    <system:String x:Key="Resize">Ændre størrelse</system:String>
-    <system:String x:Key="ResizeImage">Ændre billedets størrelse</system:String>
-    <system:String x:Key="NoResize">Ingen ændring</system:String>
-
-    <system:String x:Key="BatchResize">Batch Billedstørrelse</system:String>
-
-    <system:String x:Key="SourceFolder">Kilde</system:String>
-    <system:String x:Key="OutputFolder">Destination</system:String>
-
-    <system:String x:Key="ConvertTo">Konverter til</system:String>
-    <system:String x:Key="NoConversion">Ingen konvertering</system:String>
-
-    <system:String x:Key="Compression">Kompression</system:String>
-    <system:String x:Key="Lossless">Ingen tab af kvalited</system:String>
-    <system:String x:Key="Lossy">Delvis tab af kvalitet</system:String>
-
-    <system:String x:Key="Qaulity">Kvalitet</system:String>
-    <system:String x:Key="Percentage">Procent</system:String>
-
-    <system:String x:Key="GenerateThumbnails">Generer thumbnails</system:String>
-    <system:String x:Key="Thumbnail">Thumb</system:String>
-
-    <system:String x:Key="Start">Start</system:String>
-    <system:String x:Key="Cancel">Annuler</system:String>
-
-    <system:String x:Key="None">Ingen</system:String>
-</ResourceDictionary>

+ 0 - 421
src/PicView.WPF/Translations/de.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">Lädt...</system:String>
-    <system:String x:Key="NoImage">Kein Bild geladen</system:String>
-    <system:String x:Key="Files">Dateien</system:String>
-    <system:String x:Key="File">Datei</system:String>
-    <system:String x:Key="PercentComplete">% fertig...</system:String>
-    <system:String x:Key="CropMessage">Drücke Esc zum schließen, Enter zum speichern</system:String>
-    <system:String x:Key="ClipboardImage">Bild aus Zwischenablage</system:String>
-    <system:String x:Key="Base64Image">Base64 Bild</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">Schließen</system:String>
-    <system:String x:Key="RestoreDown">Minimieren/Maximieren</system:String>
-    <system:String x:Key="Maximize">Maximieren</system:String>
-    <system:String x:Key="Minimize">Minimieren</system:String>
-    <system:String x:Key="Fullscreen">Vollbild</system:String>
-    <system:String x:Key="NewWindow">Neues Fenster</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">About</system:String>
-    <system:String x:Key="InfoWindowTitle">Informationen, Hilfe &amp; Tastenkürzel</system:String>
-    <system:String x:Key="ApplicationShortcuts">Anwendungs-Tastenkürzel</system:String>
-    <system:String x:Key="ImageControl">Bild Steuerung</system:String>
-    <system:String x:Key="FileManagement">Datei-Management</system:String>
-    <system:String x:Key="DragFileTo">Ziehe das Bild in den Windows Explorer oder eine andere Anwendung bzw. einen Browser</system:String>
-    <system:String x:Key="DragImage">Bild ziehen</system:String>
-    <system:String x:Key="AdditionalFunctions">Zusätzliche Funktionen</system:String>
-    <system:String x:Key="Reload">Neu laden</system:String>
-    <system:String x:Key="Credits">Impressum</system:String>
-    <system:String x:Key="IconsUsed">Benutzte Icons:</system:String>
-    <system:String x:Key="GithubRepo">Github repository</system:String>
-    <system:String x:Key="ViewLicenseFile">Lizens-Datei anschauen</system:String>
-    <system:String x:Key="Version">Version:</system:String>
-    <system:String x:Key="ChangeKeybindingText">Klicken Sie auf ein Textfeld, um die Tastenkombination zu ändern. Drücken Sie Esc, um die Tastenkombination zu lösen.</system:String>
-    <system:String x:Key="ResetButtonText">Auf Standard zurücksetzen</system:String>
-    <system:String x:Key="SelectGalleryThumb">Miniaturbild auswählen</system:String>
-    <system:String x:Key="PressKey">Taste drücken...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">Klicken, um die Tastenbelegung zu ändern</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">Scrollen und drehen</system:String>
-    <system:String x:Key="ScrollUp">Nach oben scrollen</system:String>
-    <system:String x:Key="ScrollDown">Nach unten scrollen</system:String>
-    <system:String x:Key="ScrollToTop">Zum Anfang scrollen</system:String>
-    <system:String x:Key="ScrollToBottom">Zum Ende scrollen</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">Sternebewertung festlegen</system:String>
-    <system:String x:Key="1Star">1 Stern</system:String>
-    <system:String x:Key="2Star">2 Sterne</system:String>
-    <system:String x:Key="3Star">3 Sterne</system:String>
-    <system:String x:Key="4Star">4 Sterne</system:String>
-    <system:String x:Key="5Star">5 Sterne</system:String>
-    <system:String x:Key="RemoveStarRating">Bewertung entfernen</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">Fenster Skalieren</system:String>
-    <system:String x:Key="NormalWindow">Normales Fenster</system:String>
-    <system:String x:Key="FillHeight">⇔ Füllhöhe</system:String>
-    <system:String x:Key="AutoFitWindow">Fenster automatisch anpassen</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">Interface Konfiguration</system:String>
-    <system:String x:Key="HideShowInterface">Zeige/Verstecke Interface</system:String>
-    <system:String x:Key="ToggleFullscreen">Vollbild an/aus</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">Fenster Einstellungen</system:String>
-    <system:String x:Key="InfoWindow">Info-Fenster</system:String>
-    <system:String x:Key="SettingsWindow">Windows Einstellungen</system:String>
-    <system:String x:Key="EscCloseTooltip">Schließt derzeit geöffnete Fenster/Menüs</system:String>
-    <system:String x:Key="CloseApp">Schließt Anwendung</system:String>
-    <system:String x:Key="MoveWindow">Fenster bewegen</system:String>
-    <system:String x:Key="CenterWindow">Fenster zentrieren</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">Highlight Farbe</system:String>
-
-    <system:String x:Key="Blue">Blau</system:String>
-    <system:String x:Key="Cyan">Zyan</system:String>
-    <system:String x:Key="Aqua">Aqua</system:String>
-    <system:String x:Key="Teal">Blaugrün</system:String>
-
-    <system:String x:Key="Lime">Hellgrün</system:String>
-    <system:String x:Key="Green">Grün</system:String>
-    <system:String x:Key="Golden">Gold</system:String>
-    <system:String x:Key="Orange">Orange</system:String>
-
-    <system:String x:Key="Red">Rot</system:String>
-    <system:String x:Key="Pink">Pink</system:String>
-    <system:String x:Key="Magenta">Magenta</system:String>
-    <system:String x:Key="Purple">Lila</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">Theme</system:String>
-    <system:String x:Key="DarkTheme">Dark</system:String>
-    <system:String x:Key="LightTheme">Light</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* Das Theme zu ändern erfordert einen Neustart der Anwendung</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">Als Hintergrund einstellen:</system:String>
-
-    <system:String x:Key="Fill">Füllen</system:String>
-    <system:String x:Key="Center">Zentrieren</system:String>
-    <system:String x:Key="Fit">Anpassen</system:String>
-    <system:String x:Key="Tile">Fliesen</system:String>
-    <system:String x:Key="Stretch">Strecken</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">Sprache</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* Die Sprache ändern erfordert einen Neustart</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">Strg zum zoomen, Scrollen zum navigieren</system:String>
-    <system:String x:Key="ScrollToZoom">Scrollen zum zoomen, Strg zum navigieren</system:String>
-    <system:String x:Key="HorizontalScroll">horizontaler Scrolling</system:String>
-    <system:String x:Key="Reverse">Umkehren</system:String>
-    <system:String x:Key="Forward">Vordere</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">Allgemeine Einstellungen</system:String>
-    <system:String x:Key="UISettings">UI-Einstellungen</system:String>
-    <system:String x:Key="MiscSettings">Einstellungen</system:String>
-    <system:String x:Key="SearchSubdirectory">Unterordner einbinden</system:String>
-    <system:String x:Key="StayTopMost">Immer im Vordergrund</system:String>
-    <system:String x:Key="StayCentered">Fenster zentriert halten</system:String>
-    <system:String x:Key="ColoredWindowBorder">Farbiger Fensterrand</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">Show buttons in hidden UI</system:String>
-    <system:String x:Key="Apply">Anwenden</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">Passen Sie das Timing für die Diashow an</system:String>
-    <system:String x:Key="AdjustTimingForZoom">Zoom-Geschwindigkeit anpassen</system:String>
-    <system:String x:Key="SecAbbreviation">Sek.</system:String>
-    <system:String x:Key="RestartApp">Anwendung neustarten</system:String>
-    <system:String x:Key="CheckForUpdates">Auf Updates prüfen</system:String>
-    <system:String x:Key="AllowZoomOut">Vermeide das Herauszoomen des Bildes, wenn es bereits maximale Größe hat</system:String>
-    <system:String x:Key="AdjustNavSpeed">Geschwindigkeit anpassen, wenn Taste gedrückt gehalten wird</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">Fortschritt in der Taskleiste anzeigen</system:String>
-    <system:String x:Key="ShowFileSavingDialog">Dateispeicherdialog anzeigen</system:String>
-    <system:String x:Key="ShowBottomToolbar">Unterste Symbolleiste anzeigen</system:String>
-    <system:String x:Key="BottomGalleryItems">Anzahl der Galerieelemente unten</system:String>
-    <system:String x:Key="ExpandedGalleryItems">Erweiterte Galerieelemente</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">Unteres Galerie anzeigen, wenn die Benutzeroberfläche ausgeblendet ist</system:String>
-    <system:String x:Key="ImageAliasing">Bildaliasing</system:String>
-    <system:String x:Key="HighQuality">Hochwertig</system:String>
-    <system:String x:Key="NearestNeighbor">Nächster Nachbar</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">Negativ Farben</system:String>
-    <system:String x:Key="BlackAndWhite">Schwarz &amp; Weiß</system:String>
-    <system:String x:Key="ColorTone">Farbton</system:String>
-
-    <system:String x:Key="OldMovie">Alter Film</system:String>
-    <system:String x:Key="Bloom">Blüten</system:String>
-    <system:String x:Key="Gloom">Dunkelheit</system:String>
-
-    <system:String x:Key="Monochrome">Einfarbig</system:String>
-    <system:String x:Key="WaveWarper">Wellen Effekt</system:String>
-    <system:String x:Key="Underwater">Unterwasser</system:String>
-
-    <system:String x:Key="BandedSwirl">Swirl</system:String>
-    <system:String x:Key="Ripple">Ripple</system:String>
-    <system:String x:Key="RippleAlt">Ripple Alt</system:String>
-
-    <system:String x:Key="Blur">Unschärfe</system:String>
-    <system:String x:Key="DirectionalBlur">Gerichtete Unschärfe</system:String>
-    <system:String x:Key="TelescopicBlur">Teleskopische Unschärfe</system:String>
-
-    <system:String x:Key="Pixelate">Verpixeln</system:String>
-    <system:String x:Key="Embossed">Narben</system:String>
-    <system:String x:Key="SmoothMagnify">Gleichmäßiger Zoom</system:String>
-
-    <system:String x:Key="Pivot">Drehpunkt</system:String>
-    <system:String x:Key="PaperFold">Papier Falten</system:String>
-    <system:String x:Key="PencilSketch">Bleistift Sketch</system:String>
-
-    <system:String x:Key="Sketch">Sketch</system:String>
-    <system:String x:Key="ToneMapping">Tönungspfade</system:String>
-    <system:String x:Key="FrostyOutline">Eiskalter Umriss</system:String>
-
-    <system:String x:Key="Bands">Streifen</system:String>
-    <system:String x:Key="GlassTile">Glassplitter</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">Navigation</system:String>
-    <system:String x:Key="NextImage">Nächstes Bild</system:String>
-    <system:String x:Key="PrevImage">Vorheriges Bild</system:String>
-    <system:String x:Key="LastImage">Letztes Bild</system:String>
-    <system:String x:Key="FirstImage">Erstes Bild</system:String>
-    <system:String x:Key="ToggleLooping">Toggle looping</system:String>
-    <system:String x:Key="Slideshow">Slideshow</system:String>
-    <system:String x:Key="NextFolder">Zum nächsten Ordner wechseln</system:String>
-    <system:String x:Key="PrevFolder">Zum vorherigen Ordner wechseln</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">Zoom</system:String>
-    <system:String x:Key="ZoomIn">Reinzoomen</system:String>
-    <system:String x:Key="ZoomOut">Rauszoomen</system:String>
-    <system:String x:Key="Pan">Schwenken</system:String>
-    <system:String x:Key="MouseDrag">Maus ziehen</system:String>
-    <system:String x:Key="ResetZoom">Zoom zurücksetzen</system:String>
-    <system:String x:Key="ToggleScroll">Toggle Scroll</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">Öffnen</system:String>
-    <system:String x:Key="OpenWith">Öffnen mit...</system:String>
-    <system:String x:Key="OpenFileDialog">Datei Dialog öffnen</system:String>
-    <system:String x:Key="OpenLastFile">Letzte Datei öffnen</system:String>
-    <system:String x:Key="ShowInFolder">Im Ordner anzeigen</system:String>
-    <system:String x:Key="Save">Speichern</system:String>
-    <system:String x:Key="SaveImage">Bild speichern</system:String>
-    <system:String x:Key="Print">Drucken</system:String>
-    <system:String x:Key="RecentFiles">Kürzlich geöffnete Dateien</system:String>
-    <system:String x:Key="FileProperties">Datei Eigenschaften</system:String>
-    <system:String x:Key="DeleteFile">Datei löschen</system:String>
-    <system:String x:Key="Folder">Ordner</system:String>
-    <system:String x:Key="FullPath">Gesamter Pfad</system:String>
-    <system:String x:Key="RenameFile">Datei umbenennen</system:String>
-    <system:String x:Key="UnsupportedFile">Nicht unterstützte Datei</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">Dateien sortieren</system:String>
-    <system:String x:Key="FileName">Datei Name</system:String>
-    <system:String x:Key="FileSize">Datei Größe</system:String>
-    <system:String x:Key="CreationTime">Erstellungsdatum</system:String>
-    <system:String x:Key="FileExtension">Datei Ergänzung</system:String>
-    <system:String x:Key="LastAccessTime">Datei zuletzt geföffnet</system:String>
-    <system:String x:Key="LastWriteTime">Datei zuletzt geändert</system:String>
-    <system:String x:Key="Random">Zufall</system:String>
-
-    <system:String x:Key="Ascending">Aufsteigend</system:String>
-    <system:String x:Key="Descending">Absteigend</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">Einstellungen</system:String>
-    <system:String x:Key="Scrolling">Scrolling</system:String>
-    <system:String x:Key="Looping">Schleifen</system:String>
-    <system:String x:Key="FitToWindow">An Fenster/Bild anpassen</system:String>
-    <system:String x:Key="ShowHideUI">Interface anzeigen/ausblenden</system:String>
-    <system:String x:Key="ChangeBackground">Hintergrund ändern</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">Hintergrundfarbe ändern, für Bilder mit Transparentem Hintergrund</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">Kopieren</system:String>
-    <system:String x:Key="AddedToClipboard">In der Zwischenablage gespeichert</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">Datei kopieren</system:String>
-    <system:String x:Key="DuplicateFile">Datei duplizieren</system:String>
-    <system:String x:Key="FileCopy">In der Zwischenablage gespeichert</system:String>
-    <system:String x:Key="FileCopyPath">Datei-Pfad kopieren</system:String>
-    <system:String x:Key="FileCopyPathMessage">Datei-Pfad in Zwischenablage gespeichert</system:String>
-    <system:String x:Key="FileCutMessage">Datei in der Zwischenablage gespeichert</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">Bild kopieren</system:String>
-    <system:String x:Key="CopiedImage">Bild in der Zwischenablage gespeichert</system:String>
-    <system:String x:Key="CopyImageTooltip">Kopieren als Windows Zwischenablage Bild</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">Einsetzen</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">Datei ausschneiden</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">Bild Info</system:String>
-    <system:String x:Key="Image">Bild</system:String>
-    <system:String x:Key="Width">Breite</system:String>
-    <system:String x:Key="Height">Höhe</system:String>
-    <system:String x:Key="Date">Datum</system:String>
-    <system:String x:Key="Created">Erstellt</system:String>
-    <system:String x:Key="Modified">Geändert</system:String>
-    <system:String x:Key="Size">Größe</system:String>
-    <system:String x:Key="Pixels">Pixel</system:String>
-    <system:String x:Key="SizeMp">Größe (mp)</system:String>
-    <system:String x:Key="MegaPixels">Megapixel</system:String>
-    <system:String x:Key="Resolution">Auflösung</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">Festplattengröße</system:String>
-    <system:String x:Key="AspectRatio">Seitenverhältnis</system:String>
-    <system:String x:Key="Portrait">Portrait</system:String>
-    <system:String x:Key="Landscape">Landschaft</system:String>
-    <system:String x:Key="Square">Quadrat</system:String>
-    <system:String x:Key="PrintSizeIn">Größe drucken (in)</system:String>
-    <system:String x:Key="PrintSizeCm">Größe drucken (cm)</system:String>
-    <system:String x:Key="Centimeters">Zentimeter</system:String>
-    <system:String x:Key="Inches">Zoll</system:String>
-    <system:String x:Key="BitDepth">Bit Tiefe</system:String>
-    <system:String x:Key="SizeTooltip">Geben Sie die gewünschte Größe in Pixel oder den Prozentsatz ein.</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Löschen</system:String>
-    <system:String x:Key="Ctrl">Strg</system:String>
-    <system:String x:Key="Shift">Shift</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Space</system:String>
-    <system:String x:Key="Enter">Enter</system:String>
-    <system:String x:Key="Esc">Esc</system:String>
-    <system:String x:Key="NumpadPlus">Numpad +</system:String>
-    <system:String x:Key="NumpadMinus">Numpad -</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">Mausrad</system:String>
-    <system:String x:Key="MouseKeyForward">Maus Forwärts</system:String>
-    <system:String x:Key="MouseKeyBack">Maus Rückwärts</system:String>
-    <system:String x:Key="DoubleClick">Doppelklick</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">Links</system:String>
-    <system:String x:Key="Right">Rechts</system:String>
-    <system:String x:Key="Up">Hoch</system:String>
-    <system:String x:Key="Down">Runter</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">Datei speichern gescheitert</system:String>
-    <system:String x:Key="UnexpectedError">Ein unbekannter Fehler ist aufgetreten</system:String>
-    <system:String x:Key="NoImages">Keine Bilder</system:String>
-    <system:String x:Key="UnableToRender">Kann Bild nicht rendern</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">Loslassen um Bild zu laden</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">Einstellen als...</system:String>
-    <system:String x:Key="SetAsWallpaper">Als Bildschirmhintergrund einstellen</system:String>
-    <system:String x:Key="SetAsLockScreenImage">Als Sperrbildschirm einstellen</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">Schere</system:String>
-    <system:String x:Key="RotateRight">Rechts rotieren</system:String>
-    <system:String x:Key="RotateLeft">Links rotieren</system:String>
-    <system:String x:Key="Flip">Horizontal umdrehen</system:String>
-    <system:String x:Key="Unflip">Zurückdrehen</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">Das Archiv konnte nicht entpackt werden</system:String>
-    <system:String x:Key="PasswordArchive">Passwort geschützte Archive werden nicht unterstützt</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">Datei in den Papierkorb verschieben</system:String>
-    <system:String x:Key="DeletedFile">Datei gelöscht</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">Es ist ein Fehler beim Löschen aufgetreten</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">Bild im Fenster zentrieren</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">Bild im Fenster zentrieren, Höhe auffüllen</system:String>
-    <system:String x:Key="NormalWindowBehavior">Applikation im Fenster zentrieren</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">Applikation im Fenster zentrieren, Höhe füllen</system:String>
-
-    <system:String x:Key="ScrollingEnabled">Scrolling aktiviert</system:String>
-    <system:String x:Key="ScrollingDisabled">Scrolling deaktiviert</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">In base64 umgewandelt</system:String>
-    <system:String x:Key="LoopingEnabled">Looping aktiviert</system:String>
-    <system:String x:Key="LoopingDisabled">Looping deaktiviert</system:String>
-    <system:String x:Key="Applying">Betätigen</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">Info Fenster anzeigen</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">Fenster mit allen Einstellungen anzeigen</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">Toggle Hintergrundfarbe</system:String>
-    <system:String x:Key="ShowImageGallery">Zeige Bildergalerie</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">Gehe zum Bild mit dem spezifiziertem Index</system:String>
-    <system:String x:Key="AdjustZoomLevel">Zoom anpassen</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">Bild von Zwischenablage einfügen</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">Aktives Bild in den Papierkorb verschieben</system:String>
-    <system:String x:Key="StartSlideshow">Slideshow starten</system:String>
-    <system:String x:Key="CloseGallery">Galerie schließen</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">Unteres Galerie anzeigen</system:String>
-    <system:String x:Key="HideBottomGallery">Unteres Galerie verstecken</system:String>
-
-    <system:String x:Key="StretchImage">Bild strecken</system:String>
-
-    <system:String x:Key="OptimizeImage">Bild optimieren</system:String>
-
-    <system:String x:Key="Effects">Shader Effekte</system:String>
-    <system:String x:Key="EffectsTooltip">Zeige Fenster mit Bildeffekten</system:String>
-
-    <system:String x:Key="CropPicture">Bild ausschneiden</system:String>
-
-    <system:String x:Key="ShowImageInfo">Bild Info anzeigen</system:String>
-
-    <system:String x:Key="ColorPickerTool">Farb Auswahl Tool</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">Farbe vom Bild wählen</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">Zeigen Sie Batch-Größe-Fenster an</system:String>
-
-    <system:String x:Key="Resize">Größenänderung</system:String>
-    <system:String x:Key="ResizeImage">Bildgröße anpassen</system:String>
-    <system:String x:Key="NoResize">Keine größe</system:String>
-
-    <system:String x:Key="BatchResize">Batch-Größe</system:String>
-
-    <system:String x:Key="SourceFolder">Quellverzeichnis</system:String>
-    <system:String x:Key="OutputFolder">Ausgabe Verzeichnis</system:String>
-
-    <system:String x:Key="ConvertTo">Konvertieren zu</system:String>
-    <system:String x:Key="NoConversion">Keine Konvertierung</system:String>
-
-    <system:String x:Key="Compression">Kompression</system:String>
-    <system:String x:Key="Lossless">Verlustfrei</system:String>
-    <system:String x:Key="Lossy">Verlust</system:String>
-
-    <system:String x:Key="Qaulity">Qualität</system:String>
-    <system:String x:Key="Percentage">Prozentsatz</system:String>
-
-    <system:String x:Key="GenerateThumbnails">Miniaturbilder generieren</system:String>
-    <system:String x:Key="Thumbnail">Miniatur</system:String>
-
-    <system:String x:Key="Start">Anfang</system:String>
-    <system:String x:Key="Cancel">Abbrechen</system:String>
-
-    <system:String x:Key="None">Keiner</system:String>
-</ResourceDictionary>

+ 0 - 421
src/PicView.WPF/Translations/en.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">Loading...</system:String>
-    <system:String x:Key="NoImage">No image loaded</system:String>
-    <system:String x:Key="Files">files</system:String>
-    <system:String x:Key="File">file</system:String>
-    <system:String x:Key="PercentComplete">% complete...</system:String>
-    <system:String x:Key="CropMessage">Press Esc to close, Enter to save</system:String>
-    <system:String x:Key="ClipboardImage">Clipboard image</system:String>
-    <system:String x:Key="Base64Image">Base64 image</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">Close</system:String>
-    <system:String x:Key="RestoreDown">Restore Down</system:String>
-    <system:String x:Key="Maximize">Maximize</system:String>
-    <system:String x:Key="Minimize">Minimize</system:String>
-    <system:String x:Key="Fullscreen">Fullscreen</system:String>
-    <system:String x:Key="NewWindow">New window</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">About</system:String>
-    <system:String x:Key="InfoWindowTitle">Info and shortcuts</system:String>
-    <system:String x:Key="ApplicationShortcuts">Application Shortcuts</system:String>
-    <system:String x:Key="ImageControl">Image control</system:String>
-    <system:String x:Key="FileManagement">File management</system:String>
-    <system:String x:Key="DragFileTo">Drag file to Windows Explorer or another application/browser</system:String>
-    <system:String x:Key="DragImage">Drag image</system:String>
-    <system:String x:Key="AdditionalFunctions">Additional functions</system:String>
-    <system:String x:Key="Reload">Reload</system:String>
-    <system:String x:Key="Credits">Credits</system:String>
-    <system:String x:Key="IconsUsed">Icons used:</system:String>
-    <system:String x:Key="GithubRepo">Github repository</system:String>
-    <system:String x:Key="ViewLicenseFile">View license file</system:String>
-    <system:String x:Key="Version">Version:</system:String>
-    <system:String x:Key="ChangeKeybindingText">Click on a textbox to change keybinding. Pressing Esc unbinds key.</system:String>
-    <system:String x:Key="ResetButtonText">Reset to default</system:String>
-    <system:String x:Key="SelectGalleryThumb">Select gallery thumbnail</system:String>
-    <system:String x:Key="PressKey">Press key...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">Click to change keybinding</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">Scroll and rotate</system:String>
-    <system:String x:Key="ScrollUp">Scroll up</system:String>
-    <system:String x:Key="ScrollDown">Scroll down</system:String>
-    <system:String x:Key="ScrollToTop">Scroll to top</system:String>
-    <system:String x:Key="ScrollToBottom">Scroll to bottom</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">Set star rating</system:String>
-    <system:String x:Key="1Star">1 star rating</system:String>
-    <system:String x:Key="2Star">2 star rating</system:String>
-    <system:String x:Key="3Star">3 star rating</system:String>
-    <system:String x:Key="4Star">4 star rating</system:String>
-    <system:String x:Key="5Star">5 star rating</system:String>
-    <system:String x:Key="RemoveStarRating">Remove rating</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">Window scaling</system:String>
-    <system:String x:Key="NormalWindow">Normal window</system:String>
-    <system:String x:Key="FillHeight">⇔ Fill height</system:String>
-    <system:String x:Key="AutoFitWindow">Auto fit window</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">Interface configuration</system:String>
-    <system:String x:Key="HideShowInterface">Hide/show interface</system:String>
-    <system:String x:Key="ToggleFullscreen">Toggle fullscreen</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">Window management</system:String>
-    <system:String x:Key="InfoWindow">Info window</system:String>
-    <system:String x:Key="SettingsWindow">Settings window</system:String>
-    <system:String x:Key="EscCloseTooltip">Closes currently opened window/menu</system:String>
-    <system:String x:Key="CloseApp">Close the whole application</system:String>
-    <system:String x:Key="MoveWindow">Move window</system:String>
-    <system:String x:Key="CenterWindow">Center window</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">Highlight color</system:String>
-
-    <system:String x:Key="Blue">Blue</system:String>
-    <system:String x:Key="Cyan">Cyan</system:String>
-    <system:String x:Key="Aqua">Aqua</system:String>
-    <system:String x:Key="Teal">Teal</system:String>
-
-    <system:String x:Key="Lime">Lime</system:String>
-    <system:String x:Key="Green">Green</system:String>
-    <system:String x:Key="Golden">Golden</system:String>
-    <system:String x:Key="Orange">Orange</system:String>
-
-    <system:String x:Key="Red">Red</system:String>
-    <system:String x:Key="Pink">Pink</system:String>
-    <system:String x:Key="Magenta">Magenta</system:String>
-    <system:String x:Key="Purple">Purple</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">Theme</system:String>
-    <system:String x:Key="DarkTheme">Dark theme</system:String>
-    <system:String x:Key="LightTheme">Light theme</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* Changing theme requires restart</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">Set current image as wallpaper:</system:String>
-
-    <system:String x:Key="Fill">Fill</system:String>
-    <system:String x:Key="Center">Center</system:String>
-    <system:String x:Key="Fit">Fit</system:String>
-    <system:String x:Key="Tile">Tile</system:String>
-    <system:String x:Key="Stretch">Stretch</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">Language</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* Changing language requires restart</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">Ctrl to zoom, scroll to navigate</system:String>
-    <system:String x:Key="ScrollToZoom">Zoom with mousewheel, navigate with Ctrl</system:String>
-    <system:String x:Key="HorizontalScroll">Horizontal scroll</system:String>
-    <system:String x:Key="Reverse">Reverse</system:String>
-    <system:String x:Key="Forward">Forward</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">General Settings</system:String>
-    <system:String x:Key="UISettings">UI Settings</system:String>
-    <system:String x:Key="MiscSettings">Misc settings</system:String>
-    <system:String x:Key="SearchSubdirectory">Search subdirectories</system:String>
-    <system:String x:Key="StayTopMost">Stay on top of other windows</system:String>
-    <system:String x:Key="StayCentered">Keep window centered</system:String>
-    <system:String x:Key="ColoredWindowBorder">Colored window border</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">Show buttons in hidden UI</system:String>
-    <system:String x:Key="Apply">Apply</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">Adjust timing for slideshow</system:String>
-    <system:String x:Key="AdjustTimingForZoom">Adjust zooming speed</system:String>
-    <system:String x:Key="SecAbbreviation">Sec.</system:String>
-    <system:String x:Key="RestartApp">Restart the application</system:String>
-    <system:String x:Key="CheckForUpdates">Check for updates</system:String>
-    <system:String x:Key="AllowZoomOut">Avoid zooming out the image when it is already at the maximum size</system:String>
-    <system:String x:Key="AdjustNavSpeed">Adjust speed when key is held down</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">Display taskbar progress</system:String>
-    <system:String x:Key="ShowFileSavingDialog">Show file saving dialog</system:String>
-    <system:String x:Key="ShowBottomToolbar">Show bottom toolbar</system:String>
-    <system:String x:Key="BottomGalleryItems">Bottom Gallery Items</system:String>
-    <system:String x:Key="ExpandedGalleryItems">Expanded Gallery Items</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">Show bottom gallery when UI is hidden</system:String>
-    <system:String x:Key="ImageAliasing">Image aliasing</system:String>
-    <system:String x:Key="HighQuality">High quality</system:String>
-    <system:String x:Key="NearestNeighbor">Nearest neighbor</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">Negative Colors</system:String>
-    <system:String x:Key="BlackAndWhite">Black &amp; White</system:String>
-    <system:String x:Key="ColorTone">Color Tone</system:String>
-
-    <system:String x:Key="OldMovie">Old Movie</system:String>
-    <system:String x:Key="Bloom">Bloom</system:String>
-    <system:String x:Key="Gloom">Gloom</system:String>
-
-    <system:String x:Key="Monochrome">Monochrome</system:String>
-    <system:String x:Key="WaveWarper">Wave Warper</system:String>
-    <system:String x:Key="Underwater">Underwater</system:String>
-
-    <system:String x:Key="BandedSwirl">Banded Swirl</system:String>
-    <system:String x:Key="Ripple">Ripple</system:String>
-    <system:String x:Key="RippleAlt">Ripple Alt</system:String>
-
-    <system:String x:Key="Blur">Blur</system:String>
-    <system:String x:Key="DirectionalBlur">Directional Blur</system:String>
-    <system:String x:Key="TelescopicBlur">Telescopic Blur</system:String>
-
-    <system:String x:Key="Pixelate">Pixelate</system:String>
-    <system:String x:Key="Embossed">Embossed</system:String>
-    <system:String x:Key="SmoothMagnify">Smooth Magnify</system:String>
-
-    <system:String x:Key="Pivot">Pivot</system:String>
-    <system:String x:Key="PaperFold">Paper Fold</system:String>
-    <system:String x:Key="PencilSketch">Pencil Sketch</system:String>
-
-    <system:String x:Key="Sketch">Sketch</system:String>
-    <system:String x:Key="ToneMapping">ToneMapping</system:String>
-    <system:String x:Key="FrostyOutline">Frosty Outline</system:String>
-
-    <system:String x:Key="Bands">Bands</system:String>
-    <system:String x:Key="GlassTile">Glass Tile</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">Navigation</system:String>
-    <system:String x:Key="NextImage">Next image</system:String>
-    <system:String x:Key="PrevImage">Previous image</system:String>
-    <system:String x:Key="LastImage">Last image</system:String>
-    <system:String x:Key="FirstImage">First image</system:String>
-    <system:String x:Key="ToggleLooping">Toggle looping</system:String>
-    <system:String x:Key="Slideshow">Slideshow</system:String>
-    <system:String x:Key="NextFolder">Navigate to next folder</system:String>
-    <system:String x:Key="PrevFolder">Navigate to previous folder</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">Zoom</system:String>
-    <system:String x:Key="ZoomIn">Zoom In</system:String>
-    <system:String x:Key="ZoomOut">Zoom Out</system:String>
-    <system:String x:Key="Pan">Pan</system:String>
-    <system:String x:Key="MouseDrag">Mouse drag</system:String>
-    <system:String x:Key="ResetZoom">Reset zoom</system:String>
-    <system:String x:Key="ToggleScroll">Toggle scroll</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">Open</system:String>
-    <system:String x:Key="OpenWith">Open with...</system:String>
-    <system:String x:Key="OpenFileDialog">Select a file</system:String>
-    <system:String x:Key="OpenLastFile">Open last file</system:String>
-    <system:String x:Key="ShowInFolder">Show in folder</system:String>
-    <system:String x:Key="Save">Save</system:String>
-    <system:String x:Key="SaveImage">Save image</system:String>
-    <system:String x:Key="Print">Print</system:String>
-    <system:String x:Key="RecentFiles">Recent files</system:String>
-    <system:String x:Key="FileProperties">File properties</system:String>
-    <system:String x:Key="DeleteFile">Delete file</system:String>
-    <system:String x:Key="Folder">Folder</system:String>
-    <system:String x:Key="FullPath">Full path</system:String>
-    <system:String x:Key="RenameFile">Rename file</system:String>
-    <system:String x:Key="UnsupportedFile">Unsupported file</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">Sort files by</system:String>
-    <system:String x:Key="FileName">File name</system:String>
-    <system:String x:Key="FileSize">File size</system:String>
-    <system:String x:Key="CreationTime">Creation time</system:String>
-    <system:String x:Key="FileExtension">File extension</system:String>
-    <system:String x:Key="LastAccessTime">Last access time</system:String>
-    <system:String x:Key="LastWriteTime">Last write time</system:String>
-    <system:String x:Key="Random">Random</system:String>
-
-    <system:String x:Key="Ascending">Ascending</system:String>
-    <system:String x:Key="Descending">Descending</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">Settings</system:String>
-    <system:String x:Key="Scrolling">Scrolling</system:String>
-    <system:String x:Key="Looping">Looping</system:String>
-    <system:String x:Key="FitToWindow">Fit to window/image</system:String>
-    <system:String x:Key="ShowHideUI">Show/hide interface</system:String>
-    <system:String x:Key="ChangeBackground">Change background</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">Change between background color for images with transparent background</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">Copy</system:String>
-    <system:String x:Key="AddedToClipboard">Added to clipboard</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">Copy file</system:String>
-    <system:String x:Key="DuplicateFile">Duplicate file</system:String>
-    <system:String x:Key="FileCopy">File added to clipboard</system:String>
-    <system:String x:Key="FileCopyPath">Copy file path</system:String>
-    <system:String x:Key="FileCopyPathMessage">File path added to clipboard</system:String>
-    <system:String x:Key="FileCutMessage">File added to move clipboard</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">Copy image</system:String>
-    <system:String x:Key="CopiedImage">Copied image to clipboard</system:String>
-    <system:String x:Key="CopyImageTooltip">Copy as Windows clipboard image</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">Paste</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">Cut file</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">Image Info</system:String>
-    <system:String x:Key="Image">Image</system:String>
-    <system:String x:Key="Width">Width</system:String>
-    <system:String x:Key="Height">Height</system:String>
-    <system:String x:Key="Date">Date</system:String>
-    <system:String x:Key="Created">Created</system:String>
-    <system:String x:Key="Modified">Modified</system:String>
-    <system:String x:Key="Size">Size</system:String>
-    <system:String x:Key="Pixels">pixels</system:String>
-    <system:String x:Key="SizeMp">Size (mp)</system:String>
-    <system:String x:Key="MegaPixels">megapixels</system:String>
-    <system:String x:Key="Resolution">Resolution</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">Disk size</system:String>
-    <system:String x:Key="AspectRatio">Aspect ratio</system:String>
-    <system:String x:Key="Portrait">Portrait</system:String>
-    <system:String x:Key="Landscape">Landscape</system:String>
-    <system:String x:Key="Square">Square</system:String>
-    <system:String x:Key="PrintSizeIn">Print size (in)</system:String>
-    <system:String x:Key="PrintSizeCm">Print size (cm)</system:String>
-    <system:String x:Key="Centimeters">centimeters</system:String>
-    <system:String x:Key="Inches">inches</system:String>
-    <system:String x:Key="BitDepth">Bit depth</system:String>
-    <system:String x:Key="SizeTooltip">Enter desired size in pixels or percentage.</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Del</system:String>
-    <system:String x:Key="Ctrl">Ctrl</system:String>
-    <system:String x:Key="Shift">Shift</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Space</system:String>
-    <system:String x:Key="Enter">Enter</system:String>
-    <system:String x:Key="Esc">Esc</system:String>
-    <system:String x:Key="NumpadPlus">Numpad +</system:String>
-    <system:String x:Key="NumpadMinus">Numpad -</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">Mouse wheel</system:String>
-    <system:String x:Key="MouseKeyForward">Mouse key forward</system:String>
-    <system:String x:Key="MouseKeyBack">Mouse key back</system:String>
-    <system:String x:Key="DoubleClick">Double Click</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">Left</system:String>
-    <system:String x:Key="Right">Right</system:String>
-    <system:String x:Key="Up">Up</system:String>
-    <system:String x:Key="Down">Down</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">Saving file failed</system:String>
-    <system:String x:Key="UnexpectedError">An unknown error occured</system:String>
-    <system:String x:Key="NoImages">No Images</system:String>
-    <system:String x:Key="UnableToRender">Unable to render image</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">Drop to load image</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">Set as...</system:String>
-    <system:String x:Key="SetAsWallpaper">Set as wallpaper</system:String>
-    <system:String x:Key="SetAsLockScreenImage">Set as lock screen image</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">Crop</system:String>
-    <system:String x:Key="RotateRight">Rotate right</system:String>
-    <system:String x:Key="RotateLeft">Rotate left</system:String>
-    <system:String x:Key="Flip">Flip horizontally</system:String>
-    <system:String x:Key="Unflip">Unflip</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">Archive could not be processed</system:String>
-    <system:String x:Key="PasswordArchive">Password protected archive not supported</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">Sent file to the recycle bin</system:String>
-    <system:String x:Key="DeletedFile">Deleted file</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">An error occured when deleting</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">Auto fitting window</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">Auto fitting window, stretching to height</system:String>
-    <system:String x:Key="NormalWindowBehavior">Normal window behavior</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">Normal window behavior, stretching to height</system:String>
-
-    <system:String x:Key="ScrollingEnabled">Scrolling enabled</system:String>
-    <system:String x:Key="ScrollingDisabled">Scrolling disabled</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">Converted to base64</system:String>
-    <system:String x:Key="LoopingEnabled">Looping enabled</system:String>
-    <system:String x:Key="LoopingDisabled">Looping disabled</system:String>
-    <system:String x:Key="Applying">Applying</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">Show info window</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">Show all settings window</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">Toggle background color</system:String>
-    <system:String x:Key="ShowImageGallery">Show image gallery</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">Go to image at specified index</system:String>
-    <system:String x:Key="AdjustZoomLevel">Adjust zoom level</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">Paste image from clipholder</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">Send current image to the recycle bin</system:String>
-    <system:String x:Key="StartSlideshow">Start slideshow</system:String>
-    <system:String x:Key="CloseGallery">Close gallery</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">Show bottom gallery</system:String>
-    <system:String x:Key="HideBottomGallery">Hide bottom gallery</system:String>
-
-    <system:String x:Key="StretchImage">Stretch image</system:String>
-
-    <system:String x:Key="OptimizeImage">Optimize Image</system:String>
-
-    <system:String x:Key="Effects">Effects</system:String>
-    <system:String x:Key="EffectsTooltip">Show image effects window</system:String>
-
-    <system:String x:Key="CropPicture">Crop Picture</system:String>
-
-    <system:String x:Key="ShowImageInfo">Show Image Info</system:String>
-
-    <system:String x:Key="ColorPickerTool">Color Picker Tool</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">Pick color from image</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">Show the Resize Window</system:String>
-
-    <system:String x:Key="Resize">Resize</system:String>
-    <system:String x:Key="ResizeImage">Resize Image</system:String>
-    <system:String x:Key="NoResize">No resize</system:String>
-
-    <system:String x:Key="BatchResize">Batch Resize</system:String>
-
-    <system:String x:Key="SourceFolder">Source folder</system:String>
-    <system:String x:Key="OutputFolder">Output folder</system:String>
-
-    <system:String x:Key="ConvertTo">Convert to</system:String>
-    <system:String x:Key="NoConversion">No conversion</system:String>
-
-    <system:String x:Key="Compression">Compression</system:String>
-    <system:String x:Key="Lossless">Lossless</system:String>
-    <system:String x:Key="Lossy">Lossy</system:String>
-
-    <system:String x:Key="Qaulity">Quality</system:String>
-    <system:String x:Key="Percentage">Percentage</system:String>
-
-    <system:String x:Key="GenerateThumbnails">Generate thumbnails</system:String>
-    <system:String x:Key="Thumbnail">Thumb</system:String>
-
-    <system:String x:Key="Start">Start</system:String>
-    <system:String x:Key="Cancel">Cancel</system:String>
-
-    <system:String x:Key="None">None</system:String>
-</ResourceDictionary>

+ 0 - 421
src/PicView.WPF/Translations/es.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">Cargando...</system:String>
-    <system:String x:Key="NoImage">No se ha cargado imagen</system:String>
-    <system:String x:Key="Files">archivos</system:String>
-    <system:String x:Key="File">archivo</system:String>
-    <system:String x:Key="PercentComplete">% completado...</system:String>
-    <system:String x:Key="CropMessage">Presiona Esc para cerrar, Enter para guardar</system:String>
-    <system:String x:Key="ClipboardImage">Imagen de Portapapeles</system:String>
-    <system:String x:Key="Base64Image">Imagen en Base64</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">Cerrar</system:String>
-    <system:String x:Key="RestoreDown">Restaurar Abajo</system:String>
-    <system:String x:Key="Maximize">Maximizar</system:String>
-    <system:String x:Key="Minimize">Minimizar</system:String>
-    <system:String x:Key="Fullscreen">Pantalla Completa</system:String>
-    <system:String x:Key="NewWindow">Nueva Ventana</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">About</system:String>
-    <system:String x:Key="InfoWindowTitle">Información y atajos</system:String>
-    <system:String x:Key="ApplicationShortcuts">Atajos de la aplicación</system:String>
-    <system:String x:Key="ImageControl">Control de Imagen</system:String>
-    <system:String x:Key="FileManagement">Gestión de archivos</system:String>
-    <system:String x:Key="DragFileTo">Arrastra el archivo al Explorador de Windows o a otra aplicación/navegador</system:String>
-    <system:String x:Key="DragImage">Arrastrar imagen</system:String>
-    <system:String x:Key="AdditionalFunctions">Funciones adicionales</system:String>
-    <system:String x:Key="Reload">Recargar</system:String>
-    <system:String x:Key="Credits">Créditos</system:String>
-    <system:String x:Key="IconsUsed">Íconos usados:</system:String>
-    <system:String x:Key="GithubRepo">Repositorio de Github</system:String>
-    <system:String x:Key="ViewLicenseFile">Ver archivo de licencia</system:String>
-    <system:String x:Key="Version">Versión:</system:String>
-    <system:String x:Key="ChangeKeybindingText">Haz clic en un cuadro de texto para cambiar la asignación de teclas. Presiona Esc para desvincular la tecla.</system:String>
-    <system:String x:Key="ResetButtonText">Restablecer a predeterminado</system:String>
-    <system:String x:Key="SelectGalleryThumb">Seleccionar miniatura de la galería</system:String>
-    <system:String x:Key="PressKey">Presiona tecla...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">Haz clic para cambiar la asignación de teclas</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">Desplazar y rotar</system:String>
-    <system:String x:Key="ScrollUp">Desplazar hacia arriba</system:String>
-    <system:String x:Key="ScrollDown">Desplazar hacia abajo</system:String>
-    <system:String x:Key="ScrollToTop">Desplazar hacia arriba al tope</system:String>
-    <system:String x:Key="ScrollToBottom">Desplazar hacia abajo al fondo</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">Establecer clasificación con estrellas</system:String>
-    <system:String x:Key="1Star">Clasificación de 1 estrella</system:String>
-    <system:String x:Key="2Star">Clasificación de 2 estrella</system:String>
-    <system:String x:Key="3Star">Clasificación de 3 estrella</system:String>
-    <system:String x:Key="4Star">Clasificación de 4 estrella</system:String>
-    <system:String x:Key="5Star">Clasificación de 5 estrella</system:String>
-    <system:String x:Key="RemoveStarRating">Eliminar clasificación</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">Escalado de ventana</system:String>
-    <system:String x:Key="NormalWindow">Ventana normal</system:String>
-    <system:String x:Key="FillHeight">⇔ Rellenar altura</system:String>
-    <system:String x:Key="AutoFitWindow">Auto ajustar ventana</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">Configuración de interfaz</system:String>
-    <system:String x:Key="HideShowInterface">Ocultar/mostrar interfaz</system:String>
-    <system:String x:Key="ToggleFullscreen">Alternar pantalla completa</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">Gestión de ventana</system:String>
-    <system:String x:Key="InfoWindow">Ventana de información</system:String>
-    <system:String x:Key="SettingsWindow">Ventana de Opciones</system:String>
-    <system:String x:Key="EscCloseTooltip">Cierra el menú/ventana actualmente abierto</system:String>
-    <system:String x:Key="CloseApp">Cierra la aplicación por completo</system:String>
-    <system:String x:Key="MoveWindow">Mover ventana</system:String>
-    <system:String x:Key="CenterWindow">Centrar ventana</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">Color de resaltado</system:String>
-
-    <system:String x:Key="Blue">Azul</system:String>
-    <system:String x:Key="Cyan">Cian</system:String>
-    <system:String x:Key="Aqua">Aguamarina</system:String>
-    <system:String x:Key="Teal">Verde azulado</system:String>
-
-    <system:String x:Key="Lime">Lima</system:String>
-    <system:String x:Key="Green">Verde</system:String>
-    <system:String x:Key="Golden">Dorado</system:String>
-    <system:String x:Key="Orange">Naranja</system:String>
-
-    <system:String x:Key="Red">Rojo</system:String>
-    <system:String x:Key="Pink">Rosa</system:String>
-    <system:String x:Key="Magenta">Magenta</system:String>
-    <system:String x:Key="Purple">Púrpura</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">Tema</system:String>
-    <system:String x:Key="DarkTheme">Tema oscuro</system:String>
-    <system:String x:Key="LightTheme">Tema claro</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* Cambiar el tema requiere reabrir el programa</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">Establecer imagen actual como fondo de pantalla:</system:String>
-
-    <system:String x:Key="Fill">Rellenar</system:String>
-    <system:String x:Key="Center">Centro</system:String>
-    <system:String x:Key="Fit">Ajustar</system:String>
-    <system:String x:Key="Tile">Mosaico</system:String>
-    <system:String x:Key="Stretch">Estirar</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">Lenguaje</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* Cambiar el lenguaje requiere reabrir el programa</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">Ctrl para zoom, rueda para navegar</system:String>
-    <system:String x:Key="ScrollToZoom">Rueda para zoom, Ctrl para navegar</system:String>
-    <system:String x:Key="HorizontalScroll">Desplazamiento horizontal</system:String>
-    <system:String x:Key="Reverse">Marcha atrás</system:String>
-    <system:String x:Key="Forward">Hacia adelante</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">Opciones Generales</system:String>
-    <system:String x:Key="UISettings">Opciones de interfaz</system:String>
-    <system:String x:Key="MiscSettings">Otras opciones</system:String>
-    <system:String x:Key="SearchSubdirectory">Buscar subdirectorios</system:String>
-    <system:String x:Key="StayTopMost">Mostrar sobre otras ventanas</system:String>
-    <system:String x:Key="StayCentered">Mantener ventana centrada</system:String>
-    <system:String x:Key="ColoredWindowBorder">Borde de ventana coloreada</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">Mostrar botones en interfaz oculta</system:String>
-    <system:String x:Key="Apply">Aplicar</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">Ajustar velocidad de presentación</system:String>
-    <system:String x:Key="AdjustTimingForZoom">Ajustar velocidad de acercado/alejado</system:String>
-    <system:String x:Key="SecAbbreviation">Seg.</system:String>
-    <system:String x:Key="RestartApp">Reiniciar la aplicación</system:String>
-    <system:String x:Key="CheckForUpdates">Compruebe las actualizaciones</system:String>
-    <system:String x:Key="AllowZoomOut">Evite hacer zoom out en la imagen cuando ya esté en tamaño máximo</system:String>
-    <system:String x:Key="AdjustNavSpeed">Ajustar velocidad cuando la tecla se mantiene presionada</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">Mostrar el progreso en la barra de tareas</system:String>
-    <system:String x:Key="ShowFileSavingDialog">Mostrar el cuadro de diálogo de guardar archivo</system:String>
-    <system:String x:Key="ShowBottomToolbar">Mostrar barra de herramientas inferior</system:String>
-    <system:String x:Key="BottomGalleryItems">Elementos de la galería inferior</system:String>
-    <system:String x:Key="ExpandedGalleryItems">Elementos de la galería expandida</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">Mostrar galería inferior cuando la interfaz de usuario está oculta</system:String>
-    <system:String x:Key="ImageAliasing">Alias de imagen</system:String>
-    <system:String x:Key="HighQuality">Alta calidad</system:String>
-    <system:String x:Key="NearestNeighbor">Vecino más cercano</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">Negativo</system:String>
-    <system:String x:Key="BlackAndWhite">Blanco y Negro</system:String>
-    <system:String x:Key="ColorTone">Tono de Color</system:String>
-
-    <system:String x:Key="OldMovie">Filme Antiguo</system:String>
-    <system:String x:Key="Bloom">Luz</system:String>
-    <system:String x:Key="Gloom">Oscuridad</system:String>
-
-    <system:String x:Key="Monochrome">Monocroma</system:String>
-    <system:String x:Key="WaveWarper">Distorsión</system:String>
-    <system:String x:Key="Underwater">Bajo el agua</system:String>
-
-    <system:String x:Key="BandedSwirl">Remolino</system:String>
-    <system:String x:Key="Ripple">Onda</system:String>
-    <system:String x:Key="RippleAlt">Onda Alternativa</system:String>
-
-    <system:String x:Key="Blur">Desenfoque</system:String>
-    <system:String x:Key="DirectionalBlur">Desenfoque Lineal</system:String>
-    <system:String x:Key="TelescopicBlur">Desenfoque Telescópico</system:String>
-
-    <system:String x:Key="Pixelate">Pixelado</system:String>
-    <system:String x:Key="Embossed">Estampado</system:String>
-    <system:String x:Key="SmoothMagnify">Aumento Suave</system:String>
-
-    <system:String x:Key="Pivot">Perspectiva</system:String>
-    <system:String x:Key="PaperFold">Doblar</system:String>
-    <system:String x:Key="PencilSketch">Dibujo a lápiz</system:String>
-
-    <system:String x:Key="Sketch">Boceto</system:String>
-    <system:String x:Key="ToneMapping">Exaltar</system:String>
-    <system:String x:Key="FrostyOutline">Resaltar</system:String>
-
-    <system:String x:Key="Bands">Bandas</system:String>
-    <system:String x:Key="GlassTile">Cubos de Cristal</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">Navegación</system:String>
-    <system:String x:Key="NextImage">Imagen siguiente</system:String>
-    <system:String x:Key="PrevImage">Imagen anterior</system:String>
-    <system:String x:Key="LastImage">Última imagen</system:String>
-    <system:String x:Key="FirstImage">Primera imagen</system:String>
-    <system:String x:Key="ToggleLooping">Alternar bucles</system:String>
-    <system:String x:Key="Slideshow">Presentación</system:String>
-    <system:String x:Key="NextFolder">Navegar a la siguiente carpeta</system:String>
-    <system:String x:Key="PrevFolder">Navegar a la carpeta anterior</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">Zoom</system:String>
-    <system:String x:Key="ZoomIn">Acercar</system:String>
-    <system:String x:Key="ZoomOut">Alejar</system:String>
-    <system:String x:Key="Pan">Ajustar Tamaño</system:String>
-    <system:String x:Key="MouseDrag">Arrastrar con el ratón</system:String>
-    <system:String x:Key="ResetZoom">Reset zoom</system:String>
-    <system:String x:Key="ToggleScroll">Alternar desplazamiento</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">Abrir</system:String>
-    <system:String x:Key="OpenWith">Abrir con...</system:String>
-    <system:String x:Key="OpenFileDialog">Abrir selector de archivo</system:String>
-    <system:String x:Key="OpenLastFile">Abrir ultimo archivo</system:String>
-    <system:String x:Key="ShowInFolder">Mostrar en carpeta</system:String>
-    <system:String x:Key="Save">Guardar</system:String>
-    <system:String x:Key="SaveImage">Guardar Imagen</system:String>
-    <system:String x:Key="Print">Imprimir</system:String>
-    <system:String x:Key="RecentFiles">Archivos recientes</system:String>
-    <system:String x:Key="FileProperties">Propiedades del archivo</system:String>
-    <system:String x:Key="DeleteFile">Eliminar archivo</system:String>
-    <system:String x:Key="Folder">Carpeta</system:String>
-    <system:String x:Key="FullPath">Nombre completo de la carpeta</system:String>
-    <system:String x:Key="RenameFile">Renombrar archivo</system:String>
-    <system:String x:Key="UnsupportedFile">Archivo no compatible</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">Ordenar archivos por</system:String>
-    <system:String x:Key="FileName">Nombre de archivo</system:String>
-    <system:String x:Key="FileSize">Tamaño de archivo</system:String>
-    <system:String x:Key="CreationTime">Fecha de creación</system:String>
-    <system:String x:Key="FileExtension">Extensión de archivo</system:String>
-    <system:String x:Key="LastAccessTime">Fecha de último acceso</system:String>
-    <system:String x:Key="LastWriteTime">Fecha de última modificación</system:String>
-    <system:String x:Key="Random">Aleatorio</system:String>
-
-    <system:String x:Key="Ascending">Ascendante</system:String>
-    <system:String x:Key="Descending">Descendante</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">Opciones</system:String>
-    <system:String x:Key="Scrolling">Desplazar</system:String>
-    <system:String x:Key="Looping">Bucle</system:String>
-    <system:String x:Key="FitToWindow">Ajustar a ventana/imagen</system:String>
-    <system:String x:Key="ShowHideUI">Mostrar/ocultar interfaz</system:String>
-    <system:String x:Key="ChangeBackground">Cambiar fondo</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">Cambiar entre color de fondo para imágenes de fondo transparente</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">Copiar</system:String>
-    <system:String x:Key="AddedToClipboard">agregada al portapapeles</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">Copiar archivo</system:String>
-    <system:String x:Key="DuplicateFile">Duplicar archivo</system:String>
-    <system:String x:Key="FileCopy">Archivo agregado al portapapeles</system:String>
-    <system:String x:Key="FileCopyPath">Copiar carpeta del archivo</system:String>
-    <system:String x:Key="FileCopyPathMessage">Carpeta del archivo agregada al portapapeles</system:String>
-    <system:String x:Key="FileCutMessage">Archivo agregada para mover al portapapeles</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">Copiar imagen</system:String>
-    <system:String x:Key="CopiedImage">Copiar imagen al portapapeles</system:String>
-    <system:String x:Key="CopyImageTooltip">Copiar como imagen del portapapeles de Windows</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">Pegar</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">Cortar archivo</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">Información de Imagen</system:String>
-    <system:String x:Key="Image">Imagen</system:String>
-    <system:String x:Key="Width">Ancho</system:String>
-    <system:String x:Key="Height">Alto</system:String>
-    <system:String x:Key="Date">Fecha</system:String>
-    <system:String x:Key="Created">Creado</system:String>
-    <system:String x:Key="Modified">Modificado</system:String>
-    <system:String x:Key="Size">Tamaño</system:String>
-    <system:String x:Key="Pixels">pixeles</system:String>
-    <system:String x:Key="SizeMp">Tamaño (mp)</system:String>
-    <system:String x:Key="MegaPixels">megapixeles</system:String>
-    <system:String x:Key="Resolution">Resolución</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">Tamaño en disco</system:String>
-    <system:String x:Key="AspectRatio">Dimensiones</system:String>
-    <system:String x:Key="Portrait">Vertical</system:String>
-    <system:String x:Key="Landscape">Horizontal</system:String>
-    <system:String x:Key="Square">Cuadrado</system:String>
-    <system:String x:Key="PrintSizeIn">Tamaño de impresión (in)</system:String>
-    <system:String x:Key="PrintSizeCm">Tamaño de impresión (cm)</system:String>
-    <system:String x:Key="Centimeters">centímetros</system:String>
-    <system:String x:Key="Inches">pulgadas</system:String>
-    <system:String x:Key="BitDepth">Profundidad de bits</system:String>
-    <system:String x:Key="SizeTooltip">Ingrese el tamaño deseado en píxeles o porcentaje.</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Supr</system:String>
-    <system:String x:Key="Ctrl">Ctrl</system:String>
-    <system:String x:Key="Shift">Shift</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Espacio</system:String>
-    <system:String x:Key="Enter">Enter</system:String>
-    <system:String x:Key="Esc">Esc</system:String>
-    <system:String x:Key="NumpadPlus">Teclado numérico +</system:String>
-    <system:String x:Key="NumpadMinus">Teclado numérico -</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">Rueda del ratón</system:String>
-    <system:String x:Key="MouseKeyForward">Rueda del ratón hacia atrás</system:String>
-    <system:String x:Key="MouseKeyBack">Tecla de retroceder del ratón</system:String>
-    <system:String x:Key="DoubleClick">Doble Click</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">Izquierda</system:String>
-    <system:String x:Key="Right">Derecha</system:String>
-    <system:String x:Key="Up">Arriba</system:String>
-    <system:String x:Key="Down">Abajo</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">Guardando archivo fallido</system:String>
-    <system:String x:Key="UnexpectedError">Ha ocurrido un error desconocido</system:String>
-    <system:String x:Key="NoImages">No hay imágenes</system:String>
-    <system:String x:Key="UnableToRender">No se puede renderizar la imagen</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">Arrastra para cargar una imagen</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">Establecer como...</system:String>
-    <system:String x:Key="SetAsWallpaper">Establecer como fondo de pantalla</system:String>
-    <system:String x:Key="SetAsLockScreenImage">Establecer como imagen de bloqueo</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">Recortar</system:String>
-    <system:String x:Key="RotateRight">Rotar a la derecha</system:String>
-    <system:String x:Key="RotateLeft">Rotar a la izquierda</system:String>
-    <system:String x:Key="Flip">Voltear horizontalmente</system:String>
-    <system:String x:Key="Unflip">Deshacer volteado</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">No se ha podido procesar el archivo</system:String>
-    <system:String x:Key="PasswordArchive">Archivo protegido por contraseña no soportado</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">Enviar archivo a papelera de reciclaje</system:String>
-    <system:String x:Key="DeletedFile">Archivo eliminado</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">Ha ocurrido un error al eliminar</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">Centrar imagen en la ventana</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">Centrar imagen en la ventana, rellenar altura</system:String>
-    <system:String x:Key="NormalWindowBehavior">Centrar aplicación a ventana</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">Centrar aplicación a ventana, rellenar altura</system:String>
-
-    <system:String x:Key="ScrollingEnabled">Rueda del mouse activada</system:String>
-    <system:String x:Key="ScrollingDisabled">Rueda del mouse desactivada</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">Convertido a base64</system:String>
-    <system:String x:Key="LoopingEnabled">Bucle activado</system:String>
-    <system:String x:Key="LoopingDisabled">Bucle desactivado</system:String>
-    <system:String x:Key="Applying">Aplicando</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">Mostrar ventana de información</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">Ventana de mostrar todas las opciones</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">Alternar color de fondo</system:String>
-    <system:String x:Key="ShowImageGallery">Mostrar galería de imáagenes</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">Ir a imagen en índice especificado</system:String>
-    <system:String x:Key="AdjustZoomLevel">Ajustar nivel de zoom</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">Pegar imagen desde portapapeles</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">Enviar imagen actual a papelera de reciclaje</system:String>
-    <system:String x:Key="StartSlideshow">Iniciar presentación</system:String>
-    <system:String x:Key="CloseGallery">Cerrar galería</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">Mostrar galería inferior</system:String>
-    <system:String x:Key="HideBottomGallery">Ocultar galería inferior</system:String>
-
-    <system:String x:Key="StretchImage">Estirar imagen</system:String>
-
-    <system:String x:Key="OptimizeImage">Optimizar la imagen</system:String>
-
-    <system:String x:Key="Effects">Efectos de Sombra</system:String>
-    <system:String x:Key="EffectsTooltip">Mostrar ventana de efectos</system:String>
-
-    <system:String x:Key="CropPicture">Recortar Imagen</system:String>
-
-    <system:String x:Key="ShowImageInfo">Mostrar Información de Imagen</system:String>
-
-    <system:String x:Key="ColorPickerTool">Cuentagotas</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">Elegir color desde imagen</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">Mostrar la ventana de cambio de tamaño</system:String>
-
-    <system:String x:Key="Resize">Cambiar de tamaño</system:String>
-    <system:String x:Key="ResizeImage">Cambiar el tamaño de la imagen</system:String>
-    <system:String x:Key="NoResize">No resize</system:String>
-
-    <system:String x:Key="BatchResize">Cambio de tamaño por lotes</system:String>
-
-    <system:String x:Key="SourceFolder">Carpeta de origen</system:String>
-    <system:String x:Key="OutputFolder">Carpeta de salida</system:String>
-
-    <system:String x:Key="ConvertTo">Convertir a</system:String>
-    <system:String x:Key="NoConversion">Sin conversión</system:String>
-
-    <system:String x:Key="Compression">Compresión</system:String>
-    <system:String x:Key="Lossless">Lossless</system:String>
-    <system:String x:Key="Lossy">Lossy</system:String>
-
-    <system:String x:Key="Qaulity">Calidad</system:String>
-    <system:String x:Key="Percentage">Porcentaje</system:String>
-
-    <system:String x:Key="GenerateThumbnails">Generar miniaturas</system:String>
-    <system:String x:Key="Thumbnail">Miniatura</system:String>
-
-    <system:String x:Key="Start">Comienzo</system:String>
-    <system:String x:Key="Cancel">Cancelar</system:String>
-
-    <system:String x:Key="None">Ninguna</system:String>
-</ResourceDictionary>

+ 0 - 421
src/PicView.WPF/Translations/fr.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">Chargement ...</system:String>
-    <system:String x:Key="NoImage">Aucune image chargée</system:String>
-    <system:String x:Key="Files">fichiers</system:String>
-    <system:String x:Key="File">fichier</system:String>
-    <system:String x:Key="PercentComplete">% achevée...</system:String>
-    <system:String x:Key="CropMessage">Appuyez sur Echap pour fermer, Entrée pour enregistrer</system:String>
-    <system:String x:Key="ClipboardImage">Image du presse-papiers</system:String>
-    <system:String x:Key="Base64Image">Image Base64</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">Fermer</system:String>
-    <system:String x:Key="RestoreDown">Restaurer en bas</system:String>
-    <system:String x:Key="Maximize">Maximiser</system:String>
-    <system:String x:Key="Minimize">Minimiser</system:String>
-    <system:String x:Key="Fullscreen">Plein Ecran</system:String>
-    <system:String x:Key="NewWindow">Nouvelle fenêtre</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">À propos</system:String>
-    <system:String x:Key="InfoWindowTitle">Infos et raccourcis</system:String>
-    <system:String x:Key="ApplicationShortcuts">Raccourcis d'application</system:String>
-    <system:String x:Key="ImageControl">Contrôle des images</system:String>
-    <system:String x:Key="FileManagement">Gestion des fichiers</system:String>
-    <system:String x:Key="DragFileTo">Faites glisser le fichier vers l'explorateur Windows ou une autre application/navigateur</system:String>
-    <system:String x:Key="DragImage">Faire glisser l'image</system:String>
-    <system:String x:Key="AdditionalFunctions">Fonctions supplémentaires</system:String>
-    <system:String x:Key="Reload">Recharger</system:String>
-    <system:String x:Key="Credits">Crédits</system:String>
-    <system:String x:Key="IconsUsed">Icônes utilisées :</system:String>
-    <system:String x:Key="GithubRepo">Référentiel GitHub</system:String>
-    <system:String x:Key="ViewLicenseFile">Voir le fichier de licence</system:String>
-    <system:String x:Key="Version">Version :</system:String>
-    <system:String x:Key="ChangeKeybindingText">Cliquez sur une zone de texte pour changer le raccourci clavier. Appuyez sur Échap pour désactiver le raccourci clavier.</system:String>
-    <system:String x:Key="ResetButtonText">Réinitialiser par défaut</system:String>
-    <system:String x:Key="SelectGalleryThumb">Sélectionner la vignette de la galerie</system:String>
-    <system:String x:Key="PressKey">Appuyez sur la touche...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">Cliquez pour changer la liaison de touche</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">Faire défiler et tourner</system:String>
-    <system:String x:Key="ScrollUp">Faire défiler vers le haut</system:String>
-    <system:String x:Key="ScrollDown">Faire défiler vers le bas</system:String>
-    <system:String x:Key="ScrollToTop">Faire défiler vers le haut</system:String>
-    <system:String x:Key="ScrollToBottom">Faire défiler vers le bas</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">Définir une note avec des étoiles</system:String>
-    <system:String x:Key="1Star">Note de 1 étoile</system:String>
-    <system:String x:Key="2Star">Note de 2 étoiles</system:String>
-    <system:String x:Key="3Star">Note de 3 étoiles</system:String>
-    <system:String x:Key="4Star">Note de 4 étoiles</system:String>
-    <system:String x:Key="5Star">Note de 5 étoiles</system:String>
-    <system:String x:Key="RemoveStarRating">Supprimer la note</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">Mise à l'échelle de la fenêtre</system:String>
-    <system:String x:Key="NormalWindow">Fenêtre normale</system:String>
-    <system:String x:Key="FillHeight">⇔ Hauteur de remplissage</system:String>
-    <system:String x:Key="AutoFitWindow">Ajustement automatique de la fenêtre</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">Configuration de l'interface</system:String>
-    <system:String x:Key="HideShowInterface">Masquer/afficher l'interface</system:String>
-    <system:String x:Key="ToggleFullscreen">Basculer en plein écran</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">Gestion des fenêtres</system:String>
-    <system:String x:Key="InfoWindow">Fenêtre Info</system:String>
-    <system:String x:Key="SettingsWindow">Fenêtre des réglages</system:String>
-    <system:String x:Key="EscCloseTooltip">Ferme la fenêtre actuellement ouverte /menu</system:String>
-    <system:String x:Key="CloseApp">Quitter l'application</system:String>
-    <system:String x:Key="MoveWindow">Déplacer la fenêtre</system:String>
-    <system:String x:Key="CenterWindow">Centrer la fenêtre</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">Couleur de surbrillance</system:String>
-
-    <system:String x:Key="Blue">Bleu</system:String>
-    <system:String x:Key="Cyan">Cyan</system:String>
-    <system:String x:Key="Aqua">Turquoise</system:String>
-    <system:String x:Key="Teal">Sarcelle</system:String>
-
-    <system:String x:Key="Lime">Vert citron</system:String>
-    <system:String x:Key="Green">Vert</system:String>
-    <system:String x:Key="Golden">Doré</system:String>
-    <system:String x:Key="Orange">Orange</system:String>
-
-    <system:String x:Key="Red">Rouge</system:String>
-    <system:String x:Key="Pink">Rose</system:String>
-    <system:String x:Key="Magenta">Magenta</system:String>
-    <system:String x:Key="Purple">Violet</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">Thème</system:String>
-    <system:String x:Key="DarkTheme">Thème sombre</system:String>
-    <system:String x:Key="LightTheme">Thème clair</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* La modification du thème nécessite un redémarrage</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">Définir l'image actuelle comme fond d'écran :</system:String>
-
-    <system:String x:Key="Fill">Remplir</system:String>
-    <system:String x:Key="Center">Centrer</system:String>
-    <system:String x:Key="Fit">Ajuster</system:String>
-    <system:String x:Key="Tile">Mosaïque</system:String>
-    <system:String x:Key="Stretch">Étirez</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">Langue</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* Le changement de langue nécessite un redémarrage</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">Ctrl pour zoomer, défiler pour naviguer</system:String>
-    <system:String x:Key="ScrollToZoom">Faites défiler pour zoomer, Ctrl pour naviguer</system:String>
-    <system:String x:Key="HorizontalScroll">Défilement horizontal</system:String>
-    <system:String x:Key="Reverse">Inverser</system:String>
-    <system:String x:Key="Forward">Suivant</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">Paramètres généraux</system:String>
-    <system:String x:Key="UISettings">Paramètre de l'interface utilisateur</system:String>
-    <system:String x:Key="MiscSettings">Autres paramètres</system:String>
-    <system:String x:Key="SearchSubdirectory">Chercher les sous-répertoires</system:String>
-    <system:String x:Key="StayTopMost">Rester au-dessus des autres fenêtres</system:String>
-    <system:String x:Key="StayCentered">Garder la fenêtre centrée</system:String>
-    <system:String x:Key="ColoredWindowBorder">Bordure de la fenêtre colorée</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">Afficher les boutons de l'interface cachée</system:String>
-    <system:String x:Key="Apply">Appliquer</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">Ajuster le durée pour le diaporama</system:String>
-    <system:String x:Key="AdjustTimingForZoom">Ajuster la vitesse du zoom</system:String>
-    <system:String x:Key="SecAbbreviation">Sec.</system:String>
-    <system:String x:Key="RestartApp">Redémarrer l'application</system:String>
-    <system:String x:Key="CheckForUpdates">Vérifier les mises à jour</system:String>
-    <system:String x:Key="AllowZoomOut">Évitez de zoomer sur l'image lorsqu'elle est déjà à sa taille maximale</system:String>
-    <system:String x:Key="AdjustNavSpeed">Ajuster la vitesse lorsque la touche est maintenue enfoncée</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">Afficher la progression dans la barre des tâches</system:String>
-    <system:String x:Key="ShowFileSavingDialog">Afficher la boîte de dialogue d'enregistrement de fichier</system:String>
-    <system:String x:Key="ShowBottomToolbar">Afficher la barre d'outils inférieure</system:String>
-    <system:String x:Key="BottomGalleryItems">Éléments de la galerie inférieure</system:String>
-    <system:String x:Key="ExpandedGalleryItems">Éléments de la galerie étendue</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">Afficher la galerie inférieure lorsque l'interface utilisateur est masquée</system:String>
-    <system:String x:Key="ImageAliasing">Anticrénelage d'image</system:String>
-    <system:String x:Key="HighQuality">Haute qualité</system:String>
-    <system:String x:Key="NearestNeighbor">Voisin le plus proche</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">Couleurs négatives</system:String>
-    <system:String x:Key="BlackAndWhite">Noir &amp; blanc</system:String>
-    <system:String x:Key="ColorTone">Tonalité des couleurs</system:String>
-
-    <system:String x:Key="OldMovie">Vieille vidéo</system:String>
-    <system:String x:Key="Bloom">Flou</system:String>
-    <system:String x:Key="Gloom">Sombre</system:String>
-
-    <system:String x:Key="Monochrome">Monochrome</system:String>
-    <system:String x:Key="WaveWarper">Warpeur de vague</system:String>
-    <system:String x:Key="Underwater">Sous l’eau</system:String>
-
-    <system:String x:Key="BandedSwirl">Tourbillon</system:String>
-    <system:String x:Key="Ripple">Ondulation</system:String>
-    <system:String x:Key="RippleAlt">Alt d'Ondulation</system:String>
-
-    <system:String x:Key="Blur">Flouter</system:String>
-    <system:String x:Key="DirectionalBlur">Flou Directionnel</system:String>
-    <system:String x:Key="TelescopicBlur">Flou télescopique</system:String>
-
-    <system:String x:Key="Pixelate">Pixéliser</system:String>
-    <system:String x:Key="Embossed">En relief</system:String>
-    <system:String x:Key="SmoothMagnify">Agrandissement lisse</system:String>
-
-    <system:String x:Key="Pivot">Pivot</system:String>
-    <system:String x:Key="PaperFold">Pli de papier</system:String>
-    <system:String x:Key="PencilSketch">Croquis au crayon</system:String>
-
-    <system:String x:Key="Sketch">Croquis</system:String>
-    <system:String x:Key="ToneMapping">Mappage des tons</system:String>
-    <system:String x:Key="FrostyOutline">Contour givré</system:String>
-
-    <system:String x:Key="Bands">Bandes</system:String>
-    <system:String x:Key="GlassTile">Tuile en verre</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">Navigation</system:String>
-    <system:String x:Key="NextImage">Image suivante</system:String>
-    <system:String x:Key="PrevImage">Image précédente</system:String>
-    <system:String x:Key="LastImage">Dernière image</system:String>
-    <system:String x:Key="FirstImage">Première image</system:String>
-    <system:String x:Key="ToggleLooping">Basculer en boucle</system:String>
-    <system:String x:Key="Slideshow">Diaporama</system:String>
-    <system:String x:Key="NextFolder">Accéder au dossier suivant</system:String>
-    <system:String x:Key="PrevFolder">Accéder au dossier précédent</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">Zoomer</system:String>
-    <system:String x:Key="ZoomIn">Zoom avant</system:String>
-    <system:String x:Key="ZoomOut">Zoom Arrière</system:String>
-    <system:String x:Key="Pan">Panoramique</system:String>
-    <system:String x:Key="MouseDrag">Glisser vers la souris</system:String>
-    <system:String x:Key="ResetZoom">Réinitialiser le zoom</system:String>
-    <system:String x:Key="ToggleScroll">Activer le défilement</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">Ouvrir</system:String>
-    <system:String x:Key="OpenWith">Ouvrir avec...</system:String>
-    <system:String x:Key="OpenFileDialog">Ouvrir la boîte de dialogue du fichier</system:String>
-    <system:String x:Key="OpenLastFile">Ouvrir le dernier fichier</system:String>
-    <system:String x:Key="ShowInFolder">Afficher dans le dossier</system:String>
-    <system:String x:Key="Save">Sauvegarder</system:String>
-    <system:String x:Key="SaveImage">Enregistrer l'image</system:String>
-    <system:String x:Key="Print">Imprimer</system:String>
-    <system:String x:Key="RecentFiles">Fichiers récents</system:String>
-    <system:String x:Key="FileProperties">Propriétés du fichier</system:String>
-    <system:String x:Key="DeleteFile">Supprimer le fichier</system:String>
-    <system:String x:Key="Folder">Dossier</system:String>
-    <system:String x:Key="FullPath">Chemin complet</system:String>
-    <system:String x:Key="RenameFile">Renommer le fichier</system:String>
-    <system:String x:Key="UnsupportedFile">Fichier non pris en charge</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">Trier les fichiers par</system:String>
-    <system:String x:Key="FileName">Nom du fichier</system:String>
-    <system:String x:Key="FileSize">Taille du fichier</system:String>
-    <system:String x:Key="CreationTime">Date de création</system:String>
-    <system:String x:Key="FileExtension">Extension du fichier</system:String>
-    <system:String x:Key="LastAccessTime">Dernier accès le</system:String>
-    <system:String x:Key="LastWriteTime">Date de la dernière écriture</system:String>
-    <system:String x:Key="Random">Aléatoire</system:String>
-
-    <system:String x:Key="Ascending">Ascendant</system:String>
-    <system:String x:Key="Descending">Descendant</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">Options</system:String>
-    <system:String x:Key="Scrolling">Défilement</system:String>
-    <system:String x:Key="Looping">Boucle</system:String>
-    <system:String x:Key="FitToWindow">Ajuster à la fenêtre / à l'image&quot;</system:String>
-    <system:String x:Key="ShowHideUI">Afficher/masquer l'interface</system:String>
-    <system:String x:Key="ChangeBackground">Modifier l'arrière plan</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">Changer la couleur d'arrière-plan pour les images avec un fond transparent</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">Copier</system:String>
-    <system:String x:Key="AddedToClipboard">Ajouter au presse-papier</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">Copier le fichier</system:String>
-    <system:String x:Key="DuplicateFile">Dupliquer le fichier</system:String>
-    <system:String x:Key="FileCopy">Fichier copié dans le presse-papiers</system:String>
-    <system:String x:Key="FileCopyPath">Copier le chemin du fichier</system:String>
-    <system:String x:Key="FileCopyPathMessage">Chemin du fichier ajouté au presse-papiers</system:String>
-    <system:String x:Key="FileCutMessage">Fichier ajouté pour remplacer dans le presse-papiers</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">Copier l'image</system:String>
-    <system:String x:Key="CopiedImage">Copier l'image dans le presse-papiers</system:String>
-    <system:String x:Key="CopyImageTooltip">Copier en tant qu'image du presse-papiers Windows</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">Coller</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">Couper le fichier</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">Informations sur l'image</system:String>
-    <system:String x:Key="Image">Image</system:String>
-    <system:String x:Key="Width">Largeur</system:String>
-    <system:String x:Key="Height">Hauteur</system:String>
-    <system:String x:Key="Date">Date</system:String>
-    <system:String x:Key="Created">Créé le</system:String>
-    <system:String x:Key="Modified">Modifié</system:String>
-    <system:String x:Key="Size">Taille</system:String>
-    <system:String x:Key="Pixels">pixels</system:String>
-    <system:String x:Key="SizeMp">Taille (mp)</system:String>
-    <system:String x:Key="MegaPixels">mégapixels</system:String>
-    <system:String x:Key="Resolution">Résolution</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">Taille sur le disque</system:String>
-    <system:String x:Key="AspectRatio">Ratio de l'image</system:String>
-    <system:String x:Key="Portrait">Portrait</system:String>
-    <system:String x:Key="Landscape">Paysage</system:String>
-    <system:String x:Key="Square">Carré</system:String>
-    <system:String x:Key="PrintSizeIn">Taille d'impression (in)</system:String>
-    <system:String x:Key="PrintSizeCm">Taille d'impression (cm)</system:String>
-    <system:String x:Key="Centimeters">centimètres</system:String>
-    <system:String x:Key="Inches">pouces</system:String>
-    <system:String x:Key="BitDepth">Profondeur</system:String>
-    <system:String x:Key="SizeTooltip">Entrez la taille souhaitée en pixels ou en pourcentage.</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Suppr</system:String>
-    <system:String x:Key="Ctrl">Ctrl</system:String>
-    <system:String x:Key="Shift">Maj</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Espace</system:String>
-    <system:String x:Key="Enter">Entrer</system:String>
-    <system:String x:Key="Esc">Echap</system:String>
-    <system:String x:Key="NumpadPlus">PavéNum  +</system:String>
-    <system:String x:Key="NumpadMinus">PavéNum  -</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">Roulette de la souris</system:String>
-    <system:String x:Key="MouseKeyForward">Touche souris en avant</system:String>
-    <system:String x:Key="MouseKeyBack">Touche souris en arrière</system:String>
-    <system:String x:Key="DoubleClick">Double-clic</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">Gauche</system:String>
-    <system:String x:Key="Right">Droite</system:String>
-    <system:String x:Key="Up">Haut</system:String>
-    <system:String x:Key="Down">Bas</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">La sauvegarde du fichier a échoué</system:String>
-    <system:String x:Key="UnexpectedError">Une erreur inconnue est survenue</system:String>
-    <system:String x:Key="NoImages">Aucune image</system:String>
-    <system:String x:Key="UnableToRender">Impossible de rendre l'image</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">Glisser pour charger l'image</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">Définir comme..</system:String>
-    <system:String x:Key="SetAsWallpaper">Définir comme papier peint</system:String>
-    <system:String x:Key="SetAsLockScreenImage">Définir comme image d'écran de verrouillage</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">Recadrer</system:String>
-    <system:String x:Key="RotateRight">Pivoter à droite</system:String>
-    <system:String x:Key="RotateLeft">Rotation vers la gauche</system:String>
-    <system:String x:Key="Flip">Retourner horizontalement</system:String>
-    <system:String x:Key="Unflip">Annuler le retournement</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">L'archive n'a pas pu être traitée</system:String>
-    <system:String x:Key="PasswordArchive">Archive protégée par mot de passe non supportée</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">Fichier envoyé dans la corbeille</system:String>
-    <system:String x:Key="DeletedFile">Fichiers supprimés</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">Une erreur s'est produite lors de la suppression</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">Ajustement automatique de la fenêtre</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">Ajustement automatique de la fenêtre, étirement en hauteur</system:String>
-    <system:String x:Key="NormalWindowBehavior">Comportement normal de la fenêtre</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">Comportement normal de la fenêtre, étirement en hauteur</system:String>
-
-    <system:String x:Key="ScrollingEnabled">Défilement activé</system:String>
-    <system:String x:Key="ScrollingDisabled">Défilement désactivé</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">Converti en base64</system:String>
-    <system:String x:Key="LoopingEnabled">Boucle activée</system:String>
-    <system:String x:Key="LoopingDisabled">Boucle désactivée</system:String>
-    <system:String x:Key="Applying">Application en cours</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">Afficher la fenêtre d'infos</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">Afficher la fenêtre de tous les paramètres</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">Basculer la couleur d'arrière-plan</system:String>
-    <system:String x:Key="ShowImageGallery">Afficher la galerie d'images</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">Aller à l'image à l'index spécifié</system:String>
-    <system:String x:Key="AdjustZoomLevel">Ajuster le niveau de zoom</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">Coller l'image à partir du support de clip</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">Envoyer l'image actuelle dans la corbeille</system:String>
-    <system:String x:Key="StartSlideshow">Démarrer le diaporama</system:String>
-    <system:String x:Key="CloseGallery">Fermer la galerie</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">Afficher la galerie inférieure</system:String>
-    <system:String x:Key="HideBottomGallery">Masquer la galerie inférieure</system:String>
-
-    <system:String x:Key="StretchImage">Étirer l'image</system:String>
-
-    <system:String x:Key="OptimizeImage">Optimiser l'image</system:String>
-
-    <system:String x:Key="Effects">Effets</system:String>
-    <system:String x:Key="EffectsTooltip">Afficher la fenêtre des effets d'image</system:String>
-
-    <system:String x:Key="CropPicture">Recadrer l'image</system:String>
-
-    <system:String x:Key="ShowImageInfo">Afficher les infos de l'image</system:String>
-
-    <system:String x:Key="ColorPickerTool">Outil de sélection de couleur</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">Choisir la couleur de l'image</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">Afficher la fenêtre de redimensionnement</system:String>
-
-    <system:String x:Key="Resize">Redimensionner</system:String>
-    <system:String x:Key="ResizeImage">Redimensionner l'image</system:String>
-    <system:String x:Key="NoResize">Pas de redimensionnement</system:String>
-
-    <system:String x:Key="BatchResize">Redimensionner par lot</system:String>
-
-    <system:String x:Key="SourceFolder">Dossier Source</system:String>
-    <system:String x:Key="OutputFolder">Dossier de sortie</system:String>
-
-    <system:String x:Key="ConvertTo">Convertir en</system:String>
-    <system:String x:Key="NoConversion">Pas de Conversion</system:String>
-
-    <system:String x:Key="Compression">Compression</system:String>
-    <system:String x:Key="Lossless">Sans pertes</system:String>
-    <system:String x:Key="Lossy">Avec perte</system:String>
-
-    <system:String x:Key="Qaulity">Qualité</system:String>
-    <system:String x:Key="Percentage">Pourcentage</system:String>
-
-    <system:String x:Key="GenerateThumbnails">Générer des miniatures</system:String>
-    <system:String x:Key="Thumbnail">Miniature</system:String>
-
-    <system:String x:Key="Start">Démarrer</system:String>
-    <system:String x:Key="Cancel">Annuler</system:String>
-
-    <system:String x:Key="None">Rien</system:String>
-</ResourceDictionary>

+ 0 - 421
src/PicView.WPF/Translations/it.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">Caricamento in corso...</system:String>
-    <system:String x:Key="NoImage">Nessuna immagine caricata</system:String>
-    <system:String x:Key="Files">File</system:String>
-    <system:String x:Key="File">File</system:String>
-    <system:String x:Key="PercentComplete">% completo...</system:String>
-    <system:String x:Key="CropMessage">Premi Esc per chiudere, Enter per salvare</system:String>
-    <system:String x:Key="ClipboardImage">Immagine negli appunti</system:String>
-    <system:String x:Key="Base64Image">Immagine base64</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">Chiudere</system:String>
-    <system:String x:Key="RestoreDown">Ripristina giù</system:String>
-    <system:String x:Key="Maximize">Massimizzare</system:String>
-    <system:String x:Key="Minimize">Minimizzare</system:String>
-    <system:String x:Key="Fullscreen">A schermo intero</system:String>
-    <system:String x:Key="NewWindow">Nuova finestra</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">About</system:String>
-    <system:String x:Key="InfoWindowTitle">Informazioni e scorciatoie</system:String>
-    <system:String x:Key="ApplicationShortcuts">Scorciatoie per le applicazioni</system:String>
-    <system:String x:Key="ImageControl">Controllo dell'immagine</system:String>
-    <system:String x:Key="FileManagement">Gestione dei file</system:String>
-    <system:String x:Key="DragFileTo">Trascina il file nel Esploratore di Windows o in un'altra applicazione/browser</system:String>
-    <system:String x:Key="DragImage">Trascina l'immagine</system:String>
-    <system:String x:Key="AdditionalFunctions">Funzioni aggiuntive</system:String>
-    <system:String x:Key="Reload">Ricaricare</system:String>
-    <system:String x:Key="Credits">Attribuzioni</system:String>
-    <system:String x:Key="IconsUsed">Icone utilizzate:</system:String>
-    <system:String x:Key="GithubRepo">Repository Github</system:String>
-    <system:String x:Key="ViewLicenseFile">Visualizza file di licenza</system:String>
-    <system:String x:Key="Version">Versione:</system:String>
-    <system:String x:Key="ChangeKeybindingText">Clicca su una casella di testo per cambiare la combinazione di tasti. Premere Esc per annullare la combinazione di tasti.</system:String>
-    <system:String x:Key="ResetButtonText">Reimposta alle impostazioni predefinite</system:String>
-    <system:String x:Key="SelectGalleryThumb">Seleziona la miniatura della galleria</system:String>
-    <system:String x:Key="PressKey">Premi il tasto...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">Clicca per cambiare l'assegnazione del tasto</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">Scorrere e ruotare</system:String>
-    <system:String x:Key="ScrollUp">Scorri verso l'alto</system:String>
-    <system:String x:Key="ScrollDown">Scorri verso il basso</system:String>
-    <system:String x:Key="ScrollToTop">Scorri in alto</system:String>
-    <system:String x:Key="ScrollToBottom">Scorri in basso</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">Imposta il rating con le stelle</system:String>
-    <system:String x:Key="1Star">Rating a 1 stella</system:String>
-    <system:String x:Key="2Star">Rating a 2 stella</system:String>
-    <system:String x:Key="3Star">Rating a 3 stella</system:String>
-    <system:String x:Key="4Star">Rating a 4 stella</system:String>
-    <system:String x:Key="5Star">Rating a 5 stella</system:String>
-    <system:String x:Key="RemoveStarRating">Rimuovi il rating</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">Ridimensionamento della finestra</system:String>
-    <system:String x:Key="NormalWindow">Finestra normale</system:String>
-    <system:String x:Key="FillHeight">Estendere in altezza</system:String>
-    <system:String x:Key="AutoFitWindow">Adattamento automatico</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">Interfaccia di configurazione</system:String>
-    <system:String x:Key="HideShowInterface">Nascondi/mostra interfaccia</system:String>
-    <system:String x:Key="ToggleFullscreen">Passare a schermo intero</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">Gestione delle finestre</system:String>
-    <system:String x:Key="InfoWindow">Finestra informativa</system:String>
-    <system:String x:Key="SettingsWindow">Finestra di impostazione</system:String>
-    <system:String x:Key="EscCloseTooltip">Chiudi la finestra/menu attualmente aperti</system:String>
-    <system:String x:Key="CloseApp">Chiudi l'intera applicazione</system:String>
-    <system:String x:Key="MoveWindow">Sposta la finestra</system:String>
-    <system:String x:Key="CenterWindow">Centrare la finestra</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">Evidenzia colore</system:String>
-
-    <system:String x:Key="Blue">Blu</system:String>
-    <system:String x:Key="Cyan">Ciano</system:String>
-    <system:String x:Key="Aqua">Acqua</system:String>
-    <system:String x:Key="Teal">Verde acqua</system:String>
-
-    <system:String x:Key="Lime">Lime</system:String>
-    <system:String x:Key="Green">Verde</system:String>
-    <system:String x:Key="Golden">Oro</system:String>
-    <system:String x:Key="Orange">Arancione</system:String>
-
-    <system:String x:Key="Red">Rosso</system:String>
-    <system:String x:Key="Pink">Rosa</system:String>
-    <system:String x:Key="Magenta">Magenta</system:String>
-    <system:String x:Key="Purple">Viola</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">Tema</system:String>
-    <system:String x:Key="DarkTheme">Tema scuro</system:String>
-    <system:String x:Key="LightTheme">Tema chiaro</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* Il cambio di tema richiede il riavvio</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">Imposta l'immagine corrente come sfondo:</system:String>
-
-    <system:String x:Key="Fill">Riempire</system:String>
-    <system:String x:Key="Center">Centrare</system:String>
-    <system:String x:Key="Fit">Adattare</system:String>
-    <system:String x:Key="Tile">Piastrellare</system:String>
-    <system:String x:Key="Stretch">Allungare</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">Linguaggio</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* La modifica della lingua richiede il riavvio</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">Ctrl per ingrandire, scorri per navigare</system:String>
-    <system:String x:Key="ScrollToZoom">Scorri per ingrandire, Ctrl per navigare</system:String>
-    <system:String x:Key="HorizontalScroll">Horizontal scroll</system:String>
-    <system:String x:Key="Reverse">Inversione</system:String>
-    <system:String x:Key="Forward">Inoltrare</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">Impostazioni generali</system:String>
-    <system:String x:Key="UISettings">Impostazioni dell'interfaccia utente</system:String>
-    <system:String x:Key="MiscSettings">Impostazioni varie</system:String>
-    <system:String x:Key="SearchSubdirectory">Cerca sottodirectory</system:String>
-    <system:String x:Key="StayTopMost">Rimani in cima alle altre finestre</system:String>
-    <system:String x:Key="StayCentered">Mantieni la finestra centrata</system:String>
-    <system:String x:Key="ColoredWindowBorder">Bordo della finestra colorato</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">Mostra i pulsanti nell'interfaccia utente nascosta</system:String>
-    <system:String x:Key="Apply">Applicare</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">Regola i tempi per la presentazione</system:String>
-    <system:String x:Key="AdjustTimingForZoom">Regola la velocità del zoom</system:String>
-    <system:String x:Key="SecAbbreviation">Sec.</system:String>
-    <system:String x:Key="RestartApp">Riavvia l'applicazione</system:String>
-    <system:String x:Key="CheckForUpdates">Controlla gli aggiornamenti</system:String>
-    <system:String x:Key="AllowZoomOut">Evitare lo zoom dell'immagine quando è già alla dimensione massima</system:String>
-    <system:String x:Key="AdjustNavSpeed">Regola la velocità quando il tasto viene tenuto premuto</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">Mostra progresso sulla barra delle applicazioni</system:String>
-    <system:String x:Key="ShowFileSavingDialog">Mostra finestra di salvataggio file</system:String>
-    <system:String x:Key="ShowBottomToolbar">Mostra la barra degli strumenti inferiore</system:String>
-    <system:String x:Key="BottomGalleryItems">Elementi galleria inferiore</system:String>
-    <system:String x:Key="ExpandedGalleryItems">Elementi galleria espansa</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">Mostra galleria inferiore quando l'interfaccia utente è nascosta</system:String>
-    <system:String x:Key="ImageAliasing">Alias delle immagini</system:String>
-    <system:String x:Key="HighQuality">Alta qualità</system:String>
-    <system:String x:Key="NearestNeighbor">Vicino più prossimo</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">Colori negativi</system:String>
-    <system:String x:Key="BlackAndWhite">Bianco e nero</system:String>
-    <system:String x:Key="ColorTone">Tonalità di colore</system:String>
-
-    <system:String x:Key="OldMovie">Vecchio film</system:String>
-    <system:String x:Key="Bloom">Fioritura</system:String>
-    <system:String x:Key="Gloom">BuioGloom</system:String>
-
-    <system:String x:Key="Monochrome">Monocroma</system:String>
-    <system:String x:Key="WaveWarper">onda deformante</system:String>
-    <system:String x:Key="Underwater">Sott'acqua</system:String>
-
-    <system:String x:Key="BandedSwirl">Turbinio fasciato</system:String>
-    <system:String x:Key="Ripple">Ondulazione</system:String>
-    <system:String x:Key="RippleAlt">Ondulazione Alt</system:String>
-
-    <system:String x:Key="Blur">Blur</system:String>
-    <system:String x:Key="DirectionalBlur">Sfocatura direzionale</system:String>
-    <system:String x:Key="TelescopicBlur">Sfocatura telescopica</system:String>
-
-    <system:String x:Key="Pixelate">Pixelare</system:String>
-    <system:String x:Key="Embossed">Rilievo</system:String>
-    <system:String x:Key="SmoothMagnify">Ingrandimento uniforme</system:String>
-
-    <system:String x:Key="Pivot">Volto</system:String>
-    <system:String x:Key="PaperFold">Pieghevole</system:String>
-    <system:String x:Key="PencilSketch">Schizzo a matita</system:String>
-
-    <system:String x:Key="Sketch">Schizzo</system:String>
-    <system:String x:Key="ToneMapping">Mappatura dei toni</system:String>
-    <system:String x:Key="FrostyOutline">Contorno gelido</system:String>
-
-    <system:String x:Key="Bands">Bande</system:String>
-    <system:String x:Key="GlassTile">Piastrella di vetro</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">Navigazione</system:String>
-    <system:String x:Key="NextImage">Immagine successiva</system:String>
-    <system:String x:Key="PrevImage">Immagine precedente</system:String>
-    <system:String x:Key="LastImage">Ultima immagine</system:String>
-    <system:String x:Key="FirstImage">Prima immagine</system:String>
-    <system:String x:Key="ToggleLooping">Alternare il ciclo</system:String>
-    <system:String x:Key="Slideshow">Presentazione</system:String>
-    <system:String x:Key="NextFolder">Passa alla cartella successiva</system:String>
-    <system:String x:Key="PrevFolder">Torna alla cartella precedente</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">Zoom</system:String>
-    <system:String x:Key="ZoomIn">Ingrandire</system:String>
-    <system:String x:Key="ZoomOut">Rimpicciolisci</system:String>
-    <system:String x:Key="Pan">Fare una panoramica</system:String>
-    <system:String x:Key="MouseDrag">Trascinamento del mouse</system:String>
-    <system:String x:Key="ResetZoom">Ripristina lo zoom</system:String>
-    <system:String x:Key="ToggleScroll">Attiva/disattiva scorrimento</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">Aprire</system:String>
-    <system:String x:Key="OpenWith">Aprire con...</system:String>
-    <system:String x:Key="OpenFileDialog">Seleziona un file</system:String>
-    <system:String x:Key="OpenLastFile">Apri l'ultimo file</system:String>
-    <system:String x:Key="ShowInFolder">Mostra nella cartella</system:String>
-    <system:String x:Key="Save">Salva</system:String>
-    <system:String x:Key="SaveImage">Salva immagine</system:String>
-    <system:String x:Key="Print">Stampa</system:String>
-    <system:String x:Key="RecentFiles">File recenti</system:String>
-    <system:String x:Key="FileProperties">Proprietà del file</system:String>
-    <system:String x:Key="DeleteFile">Cancella il file</system:String>
-    <system:String x:Key="Folder">Cartella</system:String>
-    <system:String x:Key="FullPath">Percorso completo</system:String>
-    <system:String x:Key="RenameFile">Rinomina il file</system:String>
-    <system:String x:Key="UnsupportedFile">File non supportato</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">Ordina file per</system:String>
-    <system:String x:Key="FileName">Nome del file</system:String>
-    <system:String x:Key="FileSize">Dimensione del file</system:String>
-    <system:String x:Key="CreationTime">Tempo di creazione</system:String>
-    <system:String x:Key="FileExtension">Estensione del file</system:String>
-    <system:String x:Key="LastAccessTime">Ora dell'ultimo accesso</system:String>
-    <system:String x:Key="LastWriteTime">ora dell'ultima scrittura</system:String>
-    <system:String x:Key="Random">Casuale</system:String>
-
-    <system:String x:Key="Ascending">Ascendente</system:String>
-    <system:String x:Key="Descending">Discendente</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">Impostazioni</system:String>
-    <system:String x:Key="Scrolling">Scorrimento</system:String>
-    <system:String x:Key="Looping">Ciclo</system:String>
-    <system:String x:Key="FitToWindow">Adatta alla finestra/immagine</system:String>
-    <system:String x:Key="ShowHideUI">Mostra/nascondi interfaccia</system:String>
-    <system:String x:Key="ChangeBackground">Cambia sfondo</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">Cambia tra il colore di sfondo per le immagini con sfondo trasparente</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">Copia</system:String>
-    <system:String x:Key="AddedToClipboard">Aggiunto agli appunti</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">Copia il file</system:String>
-    <system:String x:Key="DuplicateFile">Duplica file</system:String>
-    <system:String x:Key="FileCopy">File aggiunto agli appunti</system:String>
-    <system:String x:Key="FileCopyPath">Copia il percorso del file</system:String>
-    <system:String x:Key="FileCopyPathMessage">Percorso del file aggiunto agli appunti</system:String>
-    <system:String x:Key="FileCutMessage">Percorso del file aggiunto per spostare gli appunti</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">Copia l'immagine</system:String>
-    <system:String x:Key="CopiedImage">Immagine copiata negli appunti</system:String>
-    <system:String x:Key="CopyImageTooltip">Copia come immagine negli appunti di Windows</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">Incolla</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">Taglia il file</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">Informazioni sull'immagine</system:String>
-    <system:String x:Key="Image">Immagine</system:String>
-    <system:String x:Key="Width">Larghezza</system:String>
-    <system:String x:Key="Height">Altezza</system:String>
-    <system:String x:Key="Date">Data</system:String>
-    <system:String x:Key="Created">Creato</system:String>
-    <system:String x:Key="Modified">Modificato</system:String>
-    <system:String x:Key="Size">Dimensione</system:String>
-    <system:String x:Key="Pixels">Pixel</system:String>
-    <system:String x:Key="SizeMp">Dimensione (mp)</system:String>
-    <system:String x:Key="MegaPixels">Megapixel</system:String>
-    <system:String x:Key="Resolution">Risoluzione</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">Dimensione del disco</system:String>
-    <system:String x:Key="AspectRatio">Proporzioni</system:String>
-    <system:String x:Key="Portrait">Ritratto</system:String>
-    <system:String x:Key="Landscape">Paesaggio</system:String>
-    <system:String x:Key="Square">Quadrato</system:String>
-    <system:String x:Key="PrintSizeIn">Dimensioni di stampa (in)</system:String>
-    <system:String x:Key="PrintSizeCm">Dimensioni di stampa (cm)</system:String>
-    <system:String x:Key="Centimeters">centimetri</system:String>
-    <system:String x:Key="Inches">pollici</system:String>
-    <system:String x:Key="BitDepth">Profondità di bit</system:String>
-    <system:String x:Key="SizeTooltip">Inserisci la dimensione desiderata in pixel o in percentuale.</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Canc</system:String>
-    <system:String x:Key="Ctrl">Ctrl</system:String>
-    <system:String x:Key="Shift">Shift</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Space</system:String>
-    <system:String x:Key="Enter">Enter</system:String>
-    <system:String x:Key="Esc">Esc</system:String>
-    <system:String x:Key="NumpadPlus">Numpad +</system:String>
-    <system:String x:Key="NumpadMinus">Numpad -</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">Rotellina del mouse</system:String>
-    <system:String x:Key="MouseKeyForward">Tasto mouse in avanti</system:String>
-    <system:String x:Key="MouseKeyBack">Tasto mouse indietro</system:String>
-    <system:String x:Key="DoubleClick">Doppio clic</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">Sinistra</system:String>
-    <system:String x:Key="Right">Destra</system:String>
-    <system:String x:Key="Up">Su</system:String>
-    <system:String x:Key="Down">Giù</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">Salvataggio del file fallito</system:String>
-    <system:String x:Key="UnexpectedError">Si è verificato un errore sconosciuto</system:String>
-    <system:String x:Key="NoImages">Nessuna immagine</system:String>
-    <system:String x:Key="UnableToRender">Impossibile renderizzare l'immagine</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">Rilascia l'immagine di caricamento</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">Impostato come...</system:String>
-    <system:String x:Key="SetAsWallpaper">Imposta come sfondo</system:String>
-    <system:String x:Key="SetAsLockScreenImage">Imposta come immagine della schermata di blocco</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">Ritaglia</system:String>
-    <system:String x:Key="RotateRight">Ruota a destra</system:String>
-    <system:String x:Key="RotateLeft">Ruota a sinistra</system:String>
-    <system:String x:Key="Flip">Capovolgi orizzontalmente</system:String>
-    <system:String x:Key="Unflip">Srotolare</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">Impossibile elaborare l'archivio</system:String>
-    <system:String x:Key="PasswordArchive">Archivio protetto da password non supportato</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">File inviato al cestino</system:String>
-    <system:String x:Key="DeletedFile">File cancellato</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">Si è verificato un errore durante il cancellamento</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">Regolazione automatica della finestra</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">Regolazione automatica della finestra, allungamento in altezza</system:String>
-    <system:String x:Key="NormalWindowBehavior">Comportamento normale della finestra</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">Comportamento normale della finestra, allungamento in altezza</system:String>
-
-    <system:String x:Key="ScrollingEnabled">Scorrimento abilitato</system:String>
-    <system:String x:Key="ScrollingDisabled">Scorrimento disabilitato</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">Convertito in base64</system:String>
-    <system:String x:Key="LoopingEnabled">Ciclo abilitato</system:String>
-    <system:String x:Key="LoopingDisabled">Ciclo disabilitato</system:String>
-    <system:String x:Key="Applying">processo in corso</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">Mostra finestra informativa</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">Mostra la finestra di tutte le impostazioni</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">Cambia colore di sfondo</system:String>
-    <system:String x:Key="ShowImageGallery">Mostra galleria immagini</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">Vai all'immagine all'indice specificato</system:String>
-    <system:String x:Key="AdjustZoomLevel">Regola il livello di zoom</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">Incolla l'immagine dagli appunti</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">Invia l'immagine corrente al cestino</system:String>
-    <system:String x:Key="StartSlideshow">Avvia presentazione</system:String>
-    <system:String x:Key="CloseGallery">Chiudi la galleria</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">Mostra galleria inferiore</system:String>
-    <system:String x:Key="HideBottomGallery">Nascondi galleria inferiore</system:String>
-
-    <system:String x:Key="StretchImage">Estendi immagine</system:String>
-
-    <system:String x:Key="OptimizeImage">Ottimizza immagine</system:String>
-
-    <system:String x:Key="Effects">Effetti Shader</system:String>
-    <system:String x:Key="EffectsTooltip">Mostra finestra effetti immagine</system:String>
-
-    <system:String x:Key="CropPicture">Ritaglia immagine</system:String>
-
-    <system:String x:Key="ShowImageInfo">Mostra informazioni sull'immagine</system:String>
-
-    <system:String x:Key="ColorPickerTool">Strumento di selezione del colore</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">Scegli il colore dall'immagine</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">Mostra la finestra Ridimensiona</system:String>
-
-    <system:String x:Key="Resize">Ridimensionamento</system:String>
-    <system:String x:Key="ResizeImage">Ridimensiona l'immagine</system:String>
-    <system:String x:Key="NoResize">No resize</system:String>
-
-    <system:String x:Key="BatchResize">Batch ridimensiona</system:String>
-
-    <system:String x:Key="SourceFolder">Cartella di origine</system:String>
-    <system:String x:Key="OutputFolder">Cartella di uscita</system:String>
-
-    <system:String x:Key="ConvertTo">Convertire in</system:String>
-    <system:String x:Key="NoConversion">Nessuna conversione</system:String>
-
-    <system:String x:Key="Compression">Compressione</system:String>
-    <system:String x:Key="Lossless">Senza perdita</system:String>
-    <system:String x:Key="Lossy">Con perdita</system:String>
-
-    <system:String x:Key="Qaulity">Qualità</system:String>
-    <system:String x:Key="Percentage">Percentuale</system:String>
-
-    <system:String x:Key="GenerateThumbnails">Genera le miniature</system:String>
-    <system:String x:Key="Thumbnail">Miniature</system:String>
-
-    <system:String x:Key="Start">Inizio</system:String>
-    <system:String x:Key="Cancel">Annulla</system:String>
-
-    <system:String x:Key="None">Nessuno</system:String>
-</ResourceDictionary>

+ 0 - 421
src/PicView.WPF/Translations/ko.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">불러오는 중...</system:String>
-    <system:String x:Key="NoImage">불러온 이미지가 없습니다</system:String>
-    <system:String x:Key="Files">파일</system:String>
-    <system:String x:Key="File">파일</system:String>
-    <system:String x:Key="PercentComplete">% 완료...</system:String>
-    <system:String x:Key="CropMessage">닫으려면 Esc를 누르고, 저장하려면 Enter를 누릅니다</system:String>
-    <system:String x:Key="ClipboardImage">클립보드 이미지</system:String>
-    <system:String x:Key="Base64Image">Base64 이미지</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">닫기</system:String>
-    <system:String x:Key="RestoreDown">복원 다운</system:String>
-    <system:String x:Key="Maximize">최대화</system:String>
-    <system:String x:Key="Minimize">최소화</system:String>
-    <system:String x:Key="Fullscreen">전체 화면</system:String>
-    <system:String x:Key="NewWindow">새 창</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">정보</system:String>
-    <system:String x:Key="InfoWindowTitle">정보 및 한국어 번역: 비너스걸</system:String>
-    <system:String x:Key="ApplicationShortcuts">응용 프로그램 단축키</system:String>
-    <system:String x:Key="ImageControl">이미지 제어</system:String>
-    <system:String x:Key="FileManagement">파일 관리</system:String>
-    <system:String x:Key="DragFileTo">파일을 Windows 탐색기 또는 다른 응용 프로그램/브라우저로 끌어다 놓기</system:String>
-    <system:String x:Key="DragImage">이미지 끌기</system:String>
-    <system:String x:Key="AdditionalFunctions">부가 기능</system:String>
-    <system:String x:Key="Reload">다시 불러오기</system:String>
-    <system:String x:Key="Credits">크레딧</system:String>
-    <system:String x:Key="IconsUsed">사용된 아이콘:</system:String>
-    <system:String x:Key="GithubRepo">Github 저장소</system:String>
-    <system:String x:Key="ViewLicenseFile">라이선스 파일 보기</system:String>
-    <system:String x:Key="Version">버전:</system:String>
-    <system:String x:Key="ChangeKeybindingText">버튼을 클릭하여 단축키를 변경하십시오. Esc를 누르면 키 바인딩이 해제됩니다.</system:String>
-    <system:String x:Key="ResetButtonText">기본값으로 재설정</system:String>
-    <system:String x:Key="SelectGalleryThumb">갤러리 썸네일 선택</system:String>
-    <system:String x:Key="PressKey">키를 누르세요...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">키 바인딩 변경을 위해 클릭하세요</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">스크롤 및 회전</system:String>
-    <system:String x:Key="ScrollUp">위로 스크롤</system:String>
-    <system:String x:Key="ScrollDown">아래로 스크롤</system:String>
-    <system:String x:Key="ScrollToTop">맨 위로 스크롤</system:String>
-    <system:String x:Key="ScrollToBottom">맨 아래로 스크롤</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">별점 설정</system:String>
-    <system:String x:Key="1Star">1별</system:String>
-    <system:String x:Key="2Star">2별</system:String>
-    <system:String x:Key="3Star">3별</system:String>
-    <system:String x:Key="4Star">4별</system:String>
-    <system:String x:Key="5Star">5별</system:String>
-    <system:String x:Key="RemoveStarRating">평가 제거</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">창 비율</system:String>
-    <system:String x:Key="NormalWindow">일반 창</system:String>
-    <system:String x:Key="FillHeight">⇔ 높이 채우기</system:String>
-    <system:String x:Key="AutoFitWindow">창 자동 맞춤</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">인터페이스 구성</system:String>
-    <system:String x:Key="HideShowInterface">인터페이스 숨기기/표시</system:String>
-    <system:String x:Key="ToggleFullscreen">전체 화면 전환</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">창 관리</system:String>
-    <system:String x:Key="InfoWindow">정보 창</system:String>
-    <system:String x:Key="SettingsWindow">설정 창</system:String>
-    <system:String x:Key="EscCloseTooltip">현재 열려 있는 창/메뉴 닫기</system:String>
-    <system:String x:Key="CloseApp">전체 응용 프로그램 닫기</system:String>
-    <system:String x:Key="MoveWindow">창 이동</system:String>
-    <system:String x:Key="CenterWindow">창 가운데</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">강조 색상</system:String>
-
-    <system:String x:Key="Blue">파랑</system:String>
-    <system:String x:Key="Cyan">옥색</system:String>
-    <system:String x:Key="Aqua">물색</system:String>
-    <system:String x:Key="Teal">청록</system:String>
-
-    <system:String x:Key="Lime">라임</system:String>
-    <system:String x:Key="Green">녹색</system:String>
-    <system:String x:Key="Golden">금색</system:String>
-    <system:String x:Key="Orange">주황</system:String>
-
-    <system:String x:Key="Red">빨강</system:String>
-    <system:String x:Key="Pink">분홍</system:String>
-    <system:String x:Key="Magenta">자홍</system:String>
-    <system:String x:Key="Purple">자주</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">테마</system:String>
-    <system:String x:Key="DarkTheme">어두운 테마</system:String>
-    <system:String x:Key="LightTheme">밝은 테마</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* 테마 변경 시 재시작 필요</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">현재 이미지를 배경 화면으로 설정:</system:String>
-
-    <system:String x:Key="Fill">채우기</system:String>
-    <system:String x:Key="Center">가운데</system:String>
-    <system:String x:Key="Fit">맟추기</system:String>
-    <system:String x:Key="Tile">타일</system:String>
-    <system:String x:Key="Stretch">늘이기</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">언어</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* 언어를 변경하려면 다시 시작해야 합니다</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">확대/축소하려면 Ctrl, 탐색하려면 스크롤</system:String>
-    <system:String x:Key="ScrollToZoom">마우스 휠로 확대/축소, Ctrl로 탐색</system:String>
-    <system:String x:Key="HorizontalScroll">가로 스크롤</system:String>
-    <system:String x:Key="Reverse">역방향</system:String>
-    <system:String x:Key="Forward">앞으로</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">일반 설정</system:String>
-    <system:String x:Key="UISettings">UI 설정</system:String>
-    <system:String x:Key="MiscSettings">기타 설정</system:String>
-    <system:String x:Key="SearchSubdirectory">하위 디렉터리 검색</system:String>
-    <system:String x:Key="StayTopMost">다른 창 위에 유지</system:String>
-    <system:String x:Key="StayCentered">창 중앙 유지</system:String>
-    <system:String x:Key="ColoredWindowBorder">색칠된 창</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">숨겨진 UI에 버튼 표시</system:String>
-    <system:String x:Key="Apply">적용</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">슬라이드쇼 시간 조정</system:String>
-    <system:String x:Key="AdjustTimingForZoom">확대/축소 속도 조정</system:String>
-    <system:String x:Key="SecAbbreviation">초</system:String>
-    <system:String x:Key="RestartApp">응용 프로그램 다시 시작</system:String>
-    <system:String x:Key="CheckForUpdates">업데이트 확인</system:String>
-    <system:String x:Key="AllowZoomOut">이미지가 이미 최대 크기일 때 축소하지 않기</system:String>
-    <system:String x:Key="AdjustNavSpeed">키를 누른 상태에서 속도 조절</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">작업 표시줄 진행률 표시</system:String>
-    <system:String x:Key="ShowFileSavingDialog">파일 저장 대화상자 표시</system:String>
-    <system:String x:Key="ShowBottomToolbar">하단 도구 모음 표시</system:String>
-    <system:String x:Key="BottomGalleryItems">하단 갤러리 항목</system:String>
-    <system:String x:Key="ExpandedGalleryItems">확장된 갤러리 항목</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">UI가 숨겨진 경우 하단 갤러리 표시</system:String>
-    <system:String x:Key="ImageAliasing">이미지 앨리어싱</system:String>
-    <system:String x:Key="HighQuality">고품질</system:String>
-    <system:String x:Key="NearestNeighbor">가장 가까운 이웃</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">네거티브 컬러</system:String>
-    <system:String x:Key="BlackAndWhite">흑백</system:String>
-    <system:String x:Key="ColorTone">색조</system:String>
-
-    <system:String x:Key="OldMovie">오래된 영화</system:String>
-    <system:String x:Key="Bloom">화사</system:String>
-    <system:String x:Key="Gloom">우울</system:String>
-
-    <system:String x:Key="Monochrome">단색</system:String>
-    <system:String x:Key="WaveWarper">파도</system:String>
-    <system:String x:Key="Underwater">수중</system:String>
-
-    <system:String x:Key="BandedSwirl">줄무늬 소용돌이</system:String>
-    <system:String x:Key="Ripple">잔물결</system:String>
-    <system:String x:Key="RippleAlt">잔물결 대체</system:String>
-
-    <system:String x:Key="Blur">흐림</system:String>
-    <system:String x:Key="DirectionalBlur">방향성 흐림</system:String>
-    <system:String x:Key="TelescopicBlur">망원경 흐림</system:String>
-
-    <system:String x:Key="Pixelate">픽셀 레이트</system:String>
-    <system:String x:Key="Embossed">양각 무늬</system:String>
-    <system:String x:Key="SmoothMagnify">매끄러운 확대</system:String>
-
-    <system:String x:Key="Pivot">중심점</system:String>
-    <system:String x:Key="PaperFold">종이 접기</system:String>
-    <system:String x:Key="PencilSketch">연필 스케치</system:String>
-
-    <system:String x:Key="Sketch">스케치</system:String>
-    <system:String x:Key="ToneMapping">톤 매핑</system:String>
-    <system:String x:Key="FrostyOutline">서리가 내린 윤곽</system:String>
-
-    <system:String x:Key="Bands">밴드</system:String>
-    <system:String x:Key="GlassTile">유리 타일</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">탐색</system:String>
-    <system:String x:Key="NextImage">다음 이미지</system:String>
-    <system:String x:Key="PrevImage">이전 이미지</system:String>
-    <system:String x:Key="LastImage">마지막 이미지</system:String>
-    <system:String x:Key="FirstImage">첫번째 이미지</system:String>
-    <system:String x:Key="ToggleLooping">순환 전환</system:String>
-    <system:String x:Key="Slideshow">슬라이드쇼</system:String>
-    <system:String x:Key="NextFolder">다음 폴더로 이동</system:String>
-    <system:String x:Key="PrevFolder">이전 폴더로 이동</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">확대/축소</system:String>
-    <system:String x:Key="ZoomIn">확대</system:String>
-    <system:String x:Key="ZoomOut">축소</system:String>
-    <system:String x:Key="Pan">팬</system:String>
-    <system:String x:Key="MouseDrag">마우스 끌기</system:String>
-    <system:String x:Key="ResetZoom">확대/축소 재설정</system:String>
-    <system:String x:Key="ToggleScroll">스크롤 전환</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">열기</system:String>
-    <system:String x:Key="OpenWith">열기...</system:String>
-    <system:String x:Key="OpenFileDialog">파일 열기 대화 상자</system:String>
-    <system:String x:Key="OpenLastFile">마지막 파일 열기</system:String>
-    <system:String x:Key="ShowInFolder">폴더에 표시</system:String>
-    <system:String x:Key="Save">저장</system:String>
-    <system:String x:Key="SaveImage">이미지 저장</system:String>
-    <system:String x:Key="Print">인쇄</system:String>
-    <system:String x:Key="RecentFiles">최근 파일</system:String>
-    <system:String x:Key="FileProperties">파일 속성</system:String>
-    <system:String x:Key="DeleteFile">파일 삭제</system:String>
-    <system:String x:Key="Folder">폴더</system:String>
-    <system:String x:Key="FullPath">전체 경로</system:String>
-    <system:String x:Key="RenameFile">파일 이름 바꾸기</system:String>
-    <system:String x:Key="UnsupportedFile">지원되지 않는 파일</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">파일 정렬</system:String>
-    <system:String x:Key="FileName">파일 이름</system:String>
-    <system:String x:Key="FileSize">파일 크기</system:String>
-    <system:String x:Key="CreationTime">생성 날짜</system:String>
-    <system:String x:Key="FileExtension">파일 확장자</system:String>
-    <system:String x:Key="LastAccessTime">최근 접근 날짜</system:String>
-    <system:String x:Key="LastWriteTime">최근 쓰기 날짜</system:String>
-    <system:String x:Key="Random">무작위</system:String>
-
-    <system:String x:Key="Ascending">오름차순</system:String>
-    <system:String x:Key="Descending">내림차순</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">설정</system:String>
-    <system:String x:Key="Scrolling">스크롤</system:String>
-    <system:String x:Key="Looping">순환</system:String>
-    <system:String x:Key="FitToWindow">창/이미지에 맞춤</system:String>
-    <system:String x:Key="ShowHideUI">인터페이스 표시/숨기기</system:String>
-    <system:String x:Key="ChangeBackground">배경 변경</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">배경이 투명한 이미지의 배경색 변경</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">복사</system:String>
-    <system:String x:Key="AddedToClipboard">클립보드에 추가됨</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">파일 복사</system:String>
-    <system:String x:Key="DuplicateFile">파일 복제</system:String>
-    <system:String x:Key="FileCopy">클립보드에 파일 추가</system:String>
-    <system:String x:Key="FileCopyPath">파일 경로 복사</system:String>
-    <system:String x:Key="FileCopyPathMessage">클립보드에 파일 경로 추가</system:String>
-    <system:String x:Key="FileCutMessage">클립보드 이동을 위해 파일 추가</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">이미지 복사</system:String>
-    <system:String x:Key="CopiedImage">클립보드에 이미지 복사</system:String>
-    <system:String x:Key="CopyImageTooltip">Windows 클립보드 이미지로 복사</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">붙여넣기</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">파일 잘라내기</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">이미지 정보</system:String>
-    <system:String x:Key="Image">이미지</system:String>
-    <system:String x:Key="Width">너비</system:String>
-    <system:String x:Key="Height">높이</system:String>
-    <system:String x:Key="Date">날짜</system:String>
-    <system:String x:Key="Created">생성</system:String>
-    <system:String x:Key="Modified">수정</system:String>
-    <system:String x:Key="Size">크기</system:String>
-    <system:String x:Key="Pixels">픽셀</system:String>
-    <system:String x:Key="SizeMp">크기 (mp)</system:String>
-    <system:String x:Key="MegaPixels">메가픽셀</system:String>
-    <system:String x:Key="Resolution">해상도</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">디스크 크기</system:String>
-    <system:String x:Key="AspectRatio">가로 세로 비율</system:String>
-    <system:String x:Key="Portrait">세로</system:String>
-    <system:String x:Key="Landscape">가로</system:String>
-    <system:String x:Key="Square">정사각형</system:String>
-    <system:String x:Key="PrintSizeIn">인쇄 크기 (in)</system:String>
-    <system:String x:Key="PrintSizeCm">인쇄 크기 (cm)</system:String>
-    <system:String x:Key="Centimeters">센티미터</system:String>
-    <system:String x:Key="Inches">인치</system:String>
-    <system:String x:Key="BitDepth">비트 깊이</system:String>
-    <system:String x:Key="SizeTooltip">원하는 크기를 픽셀 또는 백분율로 입력하십시오.</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Del</system:String>
-    <system:String x:Key="Ctrl">Ctrl</system:String>
-    <system:String x:Key="Shift">Shift</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Space</system:String>
-    <system:String x:Key="Enter">Enter</system:String>
-    <system:String x:Key="Esc">Esc</system:String>
-    <system:String x:Key="NumpadPlus">숫자패드 +</system:String>
-    <system:String x:Key="NumpadMinus">숫자패드 -</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">마우스 휠</system:String>
-    <system:String x:Key="MouseKeyForward">마우스 키 앞으로</system:String>
-    <system:String x:Key="MouseKeyBack">마우스 키 뒤로</system:String>
-    <system:String x:Key="DoubleClick">더블 클릭</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">왼쪽</system:String>
-    <system:String x:Key="Right">오른쪽</system:String>
-    <system:String x:Key="Up">위로</system:String>
-    <system:String x:Key="Down">아래로</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">파일 저장 실패</system:String>
-    <system:String x:Key="UnexpectedError">알 수 없는 오류 발생</system:String>
-    <system:String x:Key="NoImages">이미지 없음</system:String>
-    <system:String x:Key="UnableToRender">이미지를 렌더링할 수 없습니다</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">이미지를 불러오려면 끌기</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">다음으로 설정...</system:String>
-    <system:String x:Key="SetAsWallpaper">배경 화면으로 설정</system:String>
-    <system:String x:Key="SetAsLockScreenImage">잠금 화면 이미지로 설정</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">자르기</system:String>
-    <system:String x:Key="RotateRight">오른쪽으로 회전</system:String>
-    <system:String x:Key="RotateLeft">왼쪽으로 회전</system:String>
-    <system:String x:Key="Flip">수평 뒤집기</system:String>
-    <system:String x:Key="Unflip">뒤집기 취소</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">압축파일을 처리할 수 없습니다</system:String>
-    <system:String x:Key="PasswordArchive">암호로 보호된 압축파일은 지원되지 않습니다</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">파일을 휴지통으로 보냈습니다</system:String>
-    <system:String x:Key="DeletedFile">삭제된 파일</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">삭제할 때 오류 발생</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">창 자동 맞춤</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">창 자동 맞춤, 높이 연장</system:String>
-    <system:String x:Key="NormalWindowBehavior">일반적인 창 동작</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">일반적인 창 동작, 높이 연장</system:String>
-
-    <system:String x:Key="ScrollingEnabled">스크롤 사용함</system:String>
-    <system:String x:Key="ScrollingDisabled">스크롤 사용 안 함</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">base64로 변환</system:String>
-    <system:String x:Key="LoopingEnabled">순환 사용함</system:String>
-    <system:String x:Key="LoopingDisabled">순환 사용 안 함</system:String>
-    <system:String x:Key="Applying">적용</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">정보 창 표시</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">모든 설정 창 표시</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">배경색 전환</system:String>
-    <system:String x:Key="ShowImageGallery">이미지 갤러리 표시</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">지정된 인덱스에서 이미지로 이동</system:String>
-    <system:String x:Key="AdjustZoomLevel">확대/축소 수준 조정</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">클립 홀더에서 이미지 붙여넣기</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">현재 이미지를 휴지통으로 보내기</system:String>
-    <system:String x:Key="StartSlideshow">슬라이드쇼 시작</system:String>
-    <system:String x:Key="CloseGallery">갤러리 닫기</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">하단 갤러리 보기</system:String>
-    <system:String x:Key="HideBottomGallery">하단 갤러리 숨기기</system:String>
-
-    <system:String x:Key="StretchImage">이미지 늘리기</system:String>
-
-    <system:String x:Key="OptimizeImage">이미지 최적화</system:String>
-
-    <system:String x:Key="Effects">효과</system:String>
-    <system:String x:Key="EffectsTooltip">이미지 효과 창 표시</system:String>
-
-    <system:String x:Key="CropPicture">사진 자르기</system:String>
-
-    <system:String x:Key="ShowImageInfo">이미지 정보 표시</system:String>
-
-    <system:String x:Key="ColorPickerTool">색 선택 도구</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">이미지에서 색 선택</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">크기 조정 창 표시</system:String>
-
-    <system:String x:Key="Resize">크기 조정</system:String>
-    <system:String x:Key="ResizeImage">이미지 크기 조정</system:String>
-    <system:String x:Key="NoResize">크기 조정 안 함</system:String>
-
-    <system:String x:Key="BatchResize">일괄 크기 조정</system:String>
-
-    <system:String x:Key="SourceFolder">원본 폴더</system:String>
-    <system:String x:Key="OutputFolder">출력 폴더</system:String>
-
-    <system:String x:Key="ConvertTo">변환</system:String>
-    <system:String x:Key="NoConversion">변환 안 함</system:String>
-
-    <system:String x:Key="Compression">압축</system:String>
-    <system:String x:Key="Lossless">무손실</system:String>
-    <system:String x:Key="Lossy">손실</system:String>
-
-    <system:String x:Key="Qaulity">품질</system:String>
-    <system:String x:Key="Percentage">백분율</system:String>
-
-    <system:String x:Key="GenerateThumbnails">썸네일 생성</system:String>
-    <system:String x:Key="Thumbnail">썸네일</system:String>
-
-    <system:String x:Key="Start">시작</system:String>
-    <system:String x:Key="Cancel">취소</system:String>
-
-    <system:String x:Key="None">없음</system:String>
-</ResourceDictionary>

+ 0 - 421
src/PicView.WPF/Translations/pl.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">Ładowanie...</system:String>
-    <system:String x:Key="NoImage">Brak obrazu</system:String>
-    <system:String x:Key="Files">pliki</system:String>
-    <system:String x:Key="File">plik</system:String>
-    <system:String x:Key="PercentComplete">% ukończono...</system:String>
-    <system:String x:Key="CropMessage">Wciśnij Esc aby zamknąć, Enter aby zapisać</system:String>
-    <system:String x:Key="ClipboardImage">Zdjęcie ze schowka</system:String>
-    <system:String x:Key="Base64Image">Zdjęcie z tekstu Base64</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">Zamknij</system:String>
-    <system:String x:Key="RestoreDown">Przywróć</system:String>
-    <system:String x:Key="Maximize">Maksymalizuj</system:String>
-    <system:String x:Key="Minimize">Minimalizuj</system:String>
-    <system:String x:Key="Fullscreen">Pełny ekran</system:String>
-    <system:String x:Key="NewWindow">Nowe okno</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">Informacje</system:String>
-    <system:String x:Key="InfoWindowTitle">Informacje i skróty</system:String>
-    <system:String x:Key="ApplicationShortcuts">Skróty aplikacji</system:String>
-    <system:String x:Key="ImageControl">Kontrola obrazu</system:String>
-    <system:String x:Key="FileManagement">Zarządzanie plikami</system:String>
-    <system:String x:Key="DragFileTo">Przeciągnij plik do Eksploratora lub innej aplikacji/przeglądarki</system:String>
-    <system:String x:Key="DragImage">Przeciągnij obraz</system:String>
-    <system:String x:Key="AdditionalFunctions">Dodatkowe funkcje</system:String>
-    <system:String x:Key="Reload">Przeładuj</system:String>
-    <system:String x:Key="Credits">Autorzy</system:String>
-    <system:String x:Key="IconsUsed">Wykorzystane ikony:</system:String>
-    <system:String x:Key="GithubRepo">Repozytorium na Github</system:String>
-    <system:String x:Key="ViewLicenseFile">Pokaż licencję</system:String>
-    <system:String x:Key="Version">Wersja:</system:String>
-    <system:String x:Key="ChangeKeybindingText">Kliknij na polu tekstowym, aby zmienić przypisanie klawiszy. Naciśnięcie klawisza Esc odwiązuje klawisz.</system:String>
-    <system:String x:Key="ResetButtonText">Przywróć domyślne</system:String>
-    <system:String x:Key="SelectGalleryThumb">Wybierz miniaturę galerii</system:String>
-    <system:String x:Key="PressKey">Naciśnij klawisz...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">Kliknij, aby zmienić przypisanie klawisza</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">Przewijaj i obracaj</system:String>
-    <system:String x:Key="ScrollUp">Przewiń w górę</system:String>
-    <system:String x:Key="ScrollDown">Przewiń w dół</system:String>
-    <system:String x:Key="ScrollToTop">Przewiń do góry</system:String>
-    <system:String x:Key="ScrollToBottom">Przewiń na dół</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">Ustawianie oceny gwiazdkowej</system:String>
-    <system:String x:Key="1Star">Ocena 1 gwiazdki</system:String>
-    <system:String x:Key="2Star">Ocena 2 gwiazdek</system:String>
-    <system:String x:Key="3Star">Ocena 3 gwiazdek</system:String>
-    <system:String x:Key="4Star">Ocena 4 gwiazdek</system:String>
-    <system:String x:Key="5Star">Ocena 5 gwiazdek</system:String>
-    <system:String x:Key="RemoveStarRating">Usuń ocenę</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">Skalowanie okna</system:String>
-    <system:String x:Key="NormalWindow">Normalne okno</system:String>
-    <system:String x:Key="FillHeight">⇔ Rozszerz na wysokość</system:String>
-    <system:String x:Key="AutoFitWindow">Automatycznie dopasuj okno</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">Konfiguracja interfejsu</system:String>
-    <system:String x:Key="HideShowInterface">Ukryj/pokaż interfejs</system:String>
-    <system:String x:Key="ToggleFullscreen">Włącz tryb pełnoekranowy</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">Zarządzanie oknem</system:String>
-    <system:String x:Key="InfoWindow">Okno z informacją</system:String>
-    <system:String x:Key="SettingsWindow">Okno z ustawieniami</system:String>
-    <system:String x:Key="EscCloseTooltip">Zamyka obecnie otwarte okno/menu</system:String>
-    <system:String x:Key="CloseApp">Zamyka aplikację</system:String>
-    <system:String x:Key="MoveWindow">Przenieś okno</system:String>
-    <system:String x:Key="CenterWindow">Wyśrodkuj okno</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">Kolor zaznaczenia</system:String>
-
-    <system:String x:Key="Blue">Niebieski</system:String>
-    <system:String x:Key="Cyan">Niebieskozielony</system:String>
-    <system:String x:Key="Aqua">Wodny</system:String>
-    <system:String x:Key="Teal">Ciemny błękit</system:String>
-
-    <system:String x:Key="Lime">Limonkowy</system:String>
-    <system:String x:Key="Green">Zielony</system:String>
-    <system:String x:Key="Golden">Złoty</system:String>
-    <system:String x:Key="Orange">Pomarańczowy</system:String>
-
-    <system:String x:Key="Red">Czerwony</system:String>
-    <system:String x:Key="Pink">Różowy</system:String>
-    <system:String x:Key="Magenta">Purpurowy</system:String>
-    <system:String x:Key="Purple">Fioletowy</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">Motyw</system:String>
-    <system:String x:Key="DarkTheme">Ciemny motyw</system:String>
-    <system:String x:Key="LightTheme">Jasny motyw</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* Zmiana motywu wymaga restartu programu</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">Ustaw zdjęcie jako tapetę:</system:String>
-
-    <system:String x:Key="Fill">Wypełnij</system:String>
-    <system:String x:Key="Center">Wycentruj</system:String>
-    <system:String x:Key="Fit">Dopasuj</system:String>
-    <system:String x:Key="Tile">Kafelek</system:String>
-    <system:String x:Key="Stretch">Rozciągnij</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">Język</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* Zmiana języka wymaga restartu programu</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">Wciśnij Ctrl aby przybliżyć, użyj kółka myszy aby się poruszać</system:String>
-    <system:String x:Key="ScrollToZoom">Użyj kółka myszy, aby przybliżyć, wciśnij Ctrl, aby się poruszać</system:String>
-    <system:String x:Key="HorizontalScroll">Przewijanie w poziomie</system:String>
-    <system:String x:Key="Reverse">Odwrócić</system:String>
-    <system:String x:Key="Forward">Do przodu</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">Ustawienia ogólne</system:String>
-    <system:String x:Key="UISettings">Ustawienia interfejsu</system:String>
-    <system:String x:Key="MiscSettings">Pozostałe ustawienia</system:String>
-    <system:String x:Key="SearchSubdirectory">Przeszukaj podkatalogi</system:String>
-    <system:String x:Key="StayTopMost">Pozostań ponad innymi oknami</system:String>
-    <system:String x:Key="StayCentered">Pozostaw okno wyśrodkowane</system:String>
-    <system:String x:Key="ColoredWindowBorder">Kolorowa ramka okna</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">Pokaż przyciski w ukrytym oknie</system:String>
-    <system:String x:Key="Apply">Zastosuj</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">Zmień czas na zdjęcie podczas pokazu</system:String>
-    <system:String x:Key="AdjustTimingForZoom">Zmień prędkość przybliżania</system:String>
-    <system:String x:Key="SecAbbreviation">Sek.</system:String>
-    <system:String x:Key="RestartApp">Zrestartuj aplikację</system:String>
-    <system:String x:Key="CheckForUpdates">Sprawdź aktualizacje</system:String>
-    <system:String x:Key="AllowZoomOut">Unikaj zmniejszania obrazu, gdy jest już w maksymalnym rozmiarze</system:String>
-    <system:String x:Key="AdjustNavSpeed">Dostosuj prędkość, gdy klawisz jest trzymany wciśnięty</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">Wyświetl postęp na pasku zadań</system:String>
-    <system:String x:Key="ShowFileSavingDialog">Pokaż okno zapisywania pliku</system:String>
-    <system:String x:Key="ShowBottomToolbar">Pokaż dolny pasek narzędzi</system:String>
-    <system:String x:Key="BottomGalleryItems">Liczba elementów na dole galerii</system:String>
-    <system:String x:Key="ExpandedGalleryItems">Rozszerzone elementy galerii</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">Pokaż dolną galerię, gdy UI jest ukryte</system:String>
-    <system:String x:Key="ImageAliasing">Aliasing obrazu</system:String>
-    <system:String x:Key="HighQuality">Wysoka jakość</system:String>
-    <system:String x:Key="NearestNeighbor">Najbliższy sąsiad</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">Przeciwne kolory</system:String>
-    <system:String x:Key="BlackAndWhite">Czarny i Biały</system:String>
-    <system:String x:Key="ColorTone">Odcień</system:String>
-
-    <system:String x:Key="OldMovie">Stary film</system:String>
-    <system:String x:Key="Bloom">Lekki róż</system:String>
-    <system:String x:Key="Gloom">Przyciemniony</system:String>
-
-    <system:String x:Key="Monochrome">Monochromatyczny</system:String>
-    <system:String x:Key="WaveWarper">Fale</system:String>
-    <system:String x:Key="Underwater">Pod wodą</system:String>
-
-    <system:String x:Key="BandedSwirl">Zakręcenie</system:String>
-    <system:String x:Key="Ripple">Zmarszczki</system:String>
-    <system:String x:Key="RippleAlt">Zmarszczki 2</system:String>
-
-    <system:String x:Key="Blur">Rozmycie</system:String>
-    <system:String x:Key="DirectionalBlur">Rozmycie ruchu</system:String>
-    <system:String x:Key="TelescopicBlur">Rozmycie teleskopowe</system:String>
-
-    <system:String x:Key="Pixelate">Pikselizacja</system:String>
-    <system:String x:Key="Embossed">Wytoczenie</system:String>
-    <system:String x:Key="SmoothMagnify">Gładkie wyostrzenie</system:String>
-
-    <system:String x:Key="Pivot">Pivot</system:String>
-    <system:String x:Key="PaperFold">Złożenie</system:String>
-    <system:String x:Key="PencilSketch">Szkic ołówkiem</system:String>
-
-    <system:String x:Key="Sketch">Szkic</system:String>
-    <system:String x:Key="ToneMapping">Odwzorowanie tonalne</system:String>
-    <system:String x:Key="FrostyOutline">Zimne kontury</system:String>
-
-    <system:String x:Key="Bands">Paski</system:String>
-    <system:String x:Key="GlassTile">Szklane kafelki</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">Nawigacja</system:String>
-    <system:String x:Key="NextImage">Kolejny obraz</system:String>
-    <system:String x:Key="PrevImage">Poprzedni obraz</system:String>
-    <system:String x:Key="LastImage">Ostatni obraz</system:String>
-    <system:String x:Key="FirstImage">Pierwszy obraz</system:String>
-    <system:String x:Key="ToggleLooping">Włącz zapętlenie</system:String>
-    <system:String x:Key="Slideshow">Pokaz</system:String>
-    <system:String x:Key="NextFolder">Przejdź do następnego folderu</system:String>
-    <system:String x:Key="PrevFolder">Przejdź do poprzedniego folderu</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">Zoom</system:String>
-    <system:String x:Key="ZoomIn">Przybliż</system:String>
-    <system:String x:Key="ZoomOut">Oddal</system:String>
-    <system:String x:Key="Pan">Pochyl</system:String>
-    <system:String x:Key="MouseDrag">Przenieś</system:String>
-    <system:String x:Key="ResetZoom">Resetuj zoom</system:String>
-    <system:String x:Key="ToggleScroll">Włącz scroll</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">Otwórz</system:String>
-    <system:String x:Key="OpenWith">Otwórz przy pomocy...</system:String>
-    <system:String x:Key="OpenFileDialog">Wybierz plik</system:String>
-    <system:String x:Key="OpenLastFile">Otwórz ostatni plik</system:String>
-    <system:String x:Key="ShowInFolder">Pokaż w folderze</system:String>
-    <system:String x:Key="Save">Zapisz</system:String>
-    <system:String x:Key="SaveImage">Zapisz obraz</system:String>
-    <system:String x:Key="Print">Drukuj</system:String>
-    <system:String x:Key="RecentFiles">Ostatnie pliki</system:String>
-    <system:String x:Key="FileProperties">Ustawienia pliku</system:String>
-    <system:String x:Key="DeleteFile">Usuń plik</system:String>
-    <system:String x:Key="Folder">Folder</system:String>
-    <system:String x:Key="FullPath">Pełna ścieżka</system:String>
-    <system:String x:Key="RenameFile">Zmień nazwę</system:String>
-    <system:String x:Key="UnsupportedFile">Nieobsługiwany plik</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">Posortuj pliki po</system:String>
-    <system:String x:Key="FileName">Nazwie</system:String>
-    <system:String x:Key="FileSize">Rozmiarze</system:String>
-    <system:String x:Key="CreationTime">Czasie stworzenia</system:String>
-    <system:String x:Key="FileExtension">Rozszerzeniu</system:String>
-    <system:String x:Key="LastAccessTime">Czasie ostatniego dostępu</system:String>
-    <system:String x:Key="LastWriteTime">Czasie ostatniego zapisu</system:String>
-    <system:String x:Key="Random">Losowo</system:String>
-
-    <system:String x:Key="Ascending">Rosnąco</system:String>
-    <system:String x:Key="Descending">Malejący</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">Ustawienia</system:String>
-    <system:String x:Key="Scrolling">Przewijanie</system:String>
-    <system:String x:Key="Looping">Zapętlanie</system:String>
-    <system:String x:Key="FitToWindow">Dopasuj do okna/obrazu</system:String>
-    <system:String x:Key="ShowHideUI">Pokaż/ukryj interfejs</system:String>
-    <system:String x:Key="ChangeBackground">Zmień tło</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">Zmień kolor tła dla obrazów z przezroczystym tłem</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">Kopiuj</system:String>
-    <system:String x:Key="AddedToClipboard">dodano do schowka</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">Kopiuj plik</system:String>
-    <system:String x:Key="DuplicateFile">Duplikuj plik</system:String>
-    <system:String x:Key="FileCopy">Dodano plik do schowka</system:String>
-    <system:String x:Key="FileCopyPath">Kopiuj ścieżkę do pliku</system:String>
-    <system:String x:Key="FileCopyPathMessage">Ścieżka do pliku dodana do schowka</system:String>
-    <system:String x:Key="FileCutMessage">Wycięto plik</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">Skopiuj obraz</system:String>
-    <system:String x:Key="CopiedImage">Obraz skopiowany do schowka</system:String>
-    <system:String x:Key="CopyImageTooltip">Skopiuj jako obraz Schowka Windows</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">Wklej</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">Wytnij plik</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">Szczegóły obrazu</system:String>
-    <system:String x:Key="Image">Obraz</system:String>
-    <system:String x:Key="Width">Szerokość</system:String>
-    <system:String x:Key="Height">Wysokość</system:String>
-    <system:String x:Key="Date">Data</system:String>
-    <system:String x:Key="Created">Utworzony</system:String>
-    <system:String x:Key="Modified">Zmodyfikowany</system:String>
-    <system:String x:Key="Size">Szerokość</system:String>
-    <system:String x:Key="Pixels">pikseli</system:String>
-    <system:String x:Key="SizeMp">Rozmiar (mp)</system:String>
-    <system:String x:Key="MegaPixels">megapikseli</system:String>
-    <system:String x:Key="Resolution">Rozdzielczość</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">Rozmiar na dysku</system:String>
-    <system:String x:Key="AspectRatio">Stosunek</system:String>
-    <system:String x:Key="Portrait">Portretowy</system:String>
-    <system:String x:Key="Landscape">Krajobrazowy</system:String>
-    <system:String x:Key="Square">Kwadrat</system:String>
-    <system:String x:Key="PrintSizeIn">Rozmiar wydruku (cale)</system:String>
-    <system:String x:Key="PrintSizeCm">Rozmiar wydruku (cm)</system:String>
-    <system:String x:Key="Centimeters">centymetrów</system:String>
-    <system:String x:Key="Inches">cali</system:String>
-    <system:String x:Key="BitDepth">Bitów głębkości koloru</system:String>
-    <system:String x:Key="SizeTooltip">Wprowadź rozmiar w pikselach lub procentach.</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Del</system:String>
-    <system:String x:Key="Ctrl">Ctrl</system:String>
-    <system:String x:Key="Shift">Shift</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Spacja</system:String>
-    <system:String x:Key="Enter">Enter</system:String>
-    <system:String x:Key="Esc">Esc</system:String>
-    <system:String x:Key="NumpadPlus">Klawisz &quot;+&quot; klawiatury numerycznej</system:String>
-    <system:String x:Key="NumpadMinus">Klawisz &quot;-&quot; klawiatury numerycznej</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">Kółko myszy</system:String>
-    <system:String x:Key="MouseKeyForward">Przycisk myszy wprzód</system:String>
-    <system:String x:Key="MouseKeyBack">Przycisk myszy wstecz</system:String>
-    <system:String x:Key="DoubleClick">Podwójne kliknięcie</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">Lewo</system:String>
-    <system:String x:Key="Right">Prawo</system:String>
-    <system:String x:Key="Up">Góra</system:String>
-    <system:String x:Key="Down">Dół</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">Zapis pliku nie powiódł się</system:String>
-    <system:String x:Key="UnexpectedError">Wystąpił nieznany błąd</system:String>
-    <system:String x:Key="NoImages">Brak obrazów</system:String>
-    <system:String x:Key="UnableToRender">Nie można wyświetlić obrazu</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">Upuść obraz, aby wczytać</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">Ustaw jako...</system:String>
-    <system:String x:Key="SetAsWallpaper">Ustaw jako tapetę</system:String>
-    <system:String x:Key="SetAsLockScreenImage">Ustaw jako ekran blokady</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">Przytnij</system:String>
-    <system:String x:Key="RotateRight">Obróć w prawo</system:String>
-    <system:String x:Key="RotateLeft">Obróć w lewo</system:String>
-    <system:String x:Key="Flip">Przeróć poziomo</system:String>
-    <system:String x:Key="Unflip">Cofnij przewracanie</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">Archiwum nie mogło być przetworzone</system:String>
-    <system:String x:Key="PasswordArchive">Archiwa chronione hasłem nie są wspierane</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">Przenieś plik do kosza</system:String>
-    <system:String x:Key="DeletedFile">Usunięto</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">Wystąpił błąd podczas usuwania</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">Okno automatycznie dopasowujące</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">Okno automatycznie dopasowujące, dopasowanie wysokości</system:String>
-    <system:String x:Key="NormalWindowBehavior">Domyślne zachowanie okna</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">Domyślne zachowanie okna, dopasowanie wysokości</system:String>
-
-    <system:String x:Key="ScrollingEnabled">Przewijanie włączone</system:String>
-    <system:String x:Key="ScrollingDisabled">Przewijanie wyłączone</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">Zamieniono na Base64</system:String>
-    <system:String x:Key="LoopingEnabled">Zapętlenie włączone</system:String>
-    <system:String x:Key="LoopingDisabled">Zapętlenie wyłączone</system:String>
-    <system:String x:Key="Applying">Zapisywanie</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">Pokaż okno z informacją</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">Pokaż okno ze wszystkimi ustawieniami</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">Włącz kolor tła</system:String>
-    <system:String x:Key="ShowImageGallery">Pokaż galerię zdjęć</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">Przejdź do zdjęcia o określonym indeksie</system:String>
-    <system:String x:Key="AdjustZoomLevel">Dostosuj poziom przybliżenia</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">Wklej zdjęcie ze schowka</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">Przenieś obecne zdjęcie do kosza</system:String>
-    <system:String x:Key="StartSlideshow">Rozpocznij pokaz</system:String>
-    <system:String x:Key="CloseGallery">Zamknij galerię</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">Pokaż dolną galerię</system:String>
-    <system:String x:Key="HideBottomGallery">Ukryj dolną galerię</system:String>
-
-    <system:String x:Key="StretchImage">Rozciągnij obraz</system:String>
-
-    <system:String x:Key="OptimizeImage">Optymalizuj zdjęcie</system:String>
-
-    <system:String x:Key="Effects">Efekty</system:String>
-    <system:String x:Key="EffectsTooltip">Pokaż okno z efektami zdjęć</system:String>
-
-    <system:String x:Key="CropPicture">Przytnij zdjęcie</system:String>
-
-    <system:String x:Key="ShowImageInfo">Pokaż szczegóły zdjęcia</system:String>
-
-    <system:String x:Key="ColorPickerTool">Narzędzie wyboru koloru</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">Wybierz kolor ze zdjęcia</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">Pokaż okno Zmiana rozmiaru</system:String>
-
-    <system:String x:Key="Resize">Zmień rozmiar</system:String>
-    <system:String x:Key="ResizeImage">Zmień rozmiar obrazu</system:String>
-    <system:String x:Key="NoResize">Brak zmiany</system:String>
-
-    <system:String x:Key="BatchResize">Resize wsadowe</system:String>
-
-    <system:String x:Key="SourceFolder">Folder źródłowy</system:String>
-    <system:String x:Key="OutputFolder">Folder wyjściowy</system:String>
-
-    <system:String x:Key="ConvertTo">Konwertuj na</system:String>
-    <system:String x:Key="NoConversion">Bez konwersji</system:String>
-
-    <system:String x:Key="Compression">Kompresja</system:String>
-    <system:String x:Key="Lossless">Bezstratna</system:String>
-    <system:String x:Key="Lossy">Stratna</system:String>
-
-    <system:String x:Key="Qaulity">Jakość</system:String>
-    <system:String x:Key="Percentage">Procent</system:String>
-
-    <system:String x:Key="GenerateThumbnails">Generuj miniatury</system:String>
-    <system:String x:Key="Thumbnail">Miniatura</system:String>
-
-    <system:String x:Key="Start">Rozpocznij</system:String>
-    <system:String x:Key="Cancel">Anuluj</system:String>
-
-    <system:String x:Key="None">Nic</system:String>
-</ResourceDictionary>

+ 0 - 421
src/PicView.WPF/Translations/ro.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">Se încarcă...</system:String>
-    <system:String x:Key="NoImage">Nicio imagine încărcată</system:String>
-    <system:String x:Key="Files">fișiere</system:String>
-    <system:String x:Key="File">fișier</system:String>
-    <system:String x:Key="PercentComplete">% finalizat...</system:String>
-    <system:String x:Key="CropMessage">Apasă Esc pentru a închide, Enter pentru a salva</system:String>
-    <system:String x:Key="ClipboardImage">Imagine din memoria temporară</system:String>
-    <system:String x:Key="Base64Image">Imagine Base64</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">Închidere</system:String>
-    <system:String x:Key="RestoreDown">Restabilire în jos</system:String>
-    <system:String x:Key="Maximize">Maximizare</system:String>
-    <system:String x:Key="Minimize">Minimizare</system:String>
-    <system:String x:Key="Fullscreen">Ecran complet</system:String>
-    <system:String x:Key="NewWindow">Fereastră nouă</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">Despre</system:String>
-    <system:String x:Key="InfoWindowTitle">Informații și comenzi rapide</system:String>
-    <system:String x:Key="ApplicationShortcuts">Comenzi rapide ale aplicației</system:String>
-    <system:String x:Key="ImageControl">Controlul imaginii</system:String>
-    <system:String x:Key="FileManagement">Gestionarea fișierelor</system:String>
-    <system:String x:Key="DragFileTo">Glisează fișierul către Windows Explorer sau altă aplicație/navigator</system:String>
-    <system:String x:Key="DragImage">Glisare imagine</system:String>
-    <system:String x:Key="AdditionalFunctions">Funcții suplimentare</system:String>
-    <system:String x:Key="Reload">Reîncărcare</system:String>
-    <system:String x:Key="Credits">Contribuții</system:String>
-    <system:String x:Key="IconsUsed">Pictograme utilizate:</system:String>
-    <system:String x:Key="GithubRepo">Depozit GitHub</system:String>
-    <system:String x:Key="ViewLicenseFile">Vizualizare fișier de licență</system:String>
-    <system:String x:Key="Version">Versiune:</system:String>
-    <system:String x:Key="ChangeKeybindingText">Faceți clic pe o casetă de text pentru a schimba combinația de taste. Apăsarea tastei Esc anulează combinația de taste.</system:String>
-    <system:String x:Key="ResetButtonText">Resetare la implicit</system:String>
-    <system:String x:Key="SelectGalleryThumb">Selectați miniatura galeriei</system:String>
-    <system:String x:Key="PressKey">Apasă tasta...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">Click pentru a schimba atribuirea tastei</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">Derulați și rotiți</system:String>
-    <system:String x:Key="ScrollUp">Derulează în sus</system:String>
-    <system:String x:Key="ScrollDown">Derulează în jos</system:String>
-    <system:String x:Key="ScrollToTop">Derulează în partea de sus</system:String>
-    <system:String x:Key="ScrollToBottom">Derulează în partea de jos</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">Setare evaluare cu stele</system:String>
-    <system:String x:Key="1Star">Evaluare cu 1 stea</system:String>
-    <system:String x:Key="2Star">Evaluare cu 2 stele</system:String>
-    <system:String x:Key="3Star">Evaluare cu 3 stele</system:String>
-    <system:String x:Key="4Star">Evaluare cu 4 stele</system:String>
-    <system:String x:Key="5Star">Evaluare cu 5 stele</system:String>
-    <system:String x:Key="RemoveStarRating">Eliminare evaluare</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">Scalare fereastră</system:String>
-    <system:String x:Key="NormalWindow">Fereastră normală</system:String>
-    <system:String x:Key="FillHeight">⇔ Umplere înălțime</system:String>
-    <system:String x:Key="AutoFitWindow">Potrivire automată fereastră</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">Configurare interfață</system:String>
-    <system:String x:Key="HideShowInterface">Ascunde/arată interfața</system:String>
-    <system:String x:Key="ToggleFullscreen">Comutare la ecran complet</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">Gestionarea ferestrei</system:String>
-    <system:String x:Key="InfoWindow">Fereastră cu informații</system:String>
-    <system:String x:Key="SettingsWindow">Fereastră cu setări</system:String>
-    <system:String x:Key="EscCloseTooltip">Închide fereastra/meniul deschis în prezent</system:String>
-    <system:String x:Key="CloseApp">Închide întreaga aplicație</system:String>
-    <system:String x:Key="MoveWindow">Mută fereastra</system:String>
-    <system:String x:Key="CenterWindow">Centrare fereastră</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">Culoare de evidențiere</system:String>
-
-    <system:String x:Key="Blue">Albastru</system:String>
-    <system:String x:Key="Cyan">Cyan</system:String>
-    <system:String x:Key="Aqua">Turcoaz</system:String>
-    <system:String x:Key="Teal">Albastru-verzui</system:String>
-
-    <system:String x:Key="Lime">Verde-limetă</system:String>
-    <system:String x:Key="Green">Verde</system:String>
-    <system:String x:Key="Golden">Auriu</system:String>
-    <system:String x:Key="Orange">Portocaliu</system:String>
-
-    <system:String x:Key="Red">Roșu</system:String>
-    <system:String x:Key="Pink">Roz</system:String>
-    <system:String x:Key="Magenta">Magenta</system:String>
-    <system:String x:Key="Purple">Mov</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">Temă</system:String>
-    <system:String x:Key="DarkTheme">Temă întunecată</system:String>
-    <system:String x:Key="LightTheme">Temă luminoasă</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* Modificarea temei necesită repornire</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">Setează imaginea curentă ca fundal:</system:String>
-
-    <system:String x:Key="Fill">Umplere</system:String>
-    <system:String x:Key="Center">Centrare</system:String>
-    <system:String x:Key="Fit">Potrivire</system:String>
-    <system:String x:Key="Tile">Împărțire</system:String>
-    <system:String x:Key="Stretch">Întindere</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">Limbă</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* Modificarea limbii necesită repornire&quot;</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">Ctrl pentru a transfoca, defilare pentru a naviga</system:String>
-    <system:String x:Key="ScrollToZoom">Transfocare cu rotița mausului, navigare cu Ctrl</system:String>
-    <system:String x:Key="HorizontalScroll">Defilare orizontală</system:String>
-    <system:String x:Key="Reverse">Inversă</system:String>
-    <system:String x:Key="Forward">Înainte</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">Setări generale</system:String>
-    <system:String x:Key="UISettings">Setări interfață</system:String>
-    <system:String x:Key="MiscSettings">Alte setări</system:String>
-    <system:String x:Key="SearchSubdirectory">Căutare subdirectoare</system:String>
-    <system:String x:Key="StayTopMost">Rămâi deasupra celorlalte ferestre</system:String>
-    <system:String x:Key="StayCentered">Păstrează fereastra centrată</system:String>
-    <system:String x:Key="ColoredWindowBorder">Chenar colorat al ferestrei</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">Arată butoanele în interfața ascunsă</system:String>
-    <system:String x:Key="Apply">Aplicare</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">Ajustare viteză de transfocare</system:String>
-    <system:String x:Key="AdjustTimingForZoom">Adjust zooming speed</system:String>
-    <system:String x:Key="SecAbbreviation">Sec.</system:String>
-    <system:String x:Key="RestartApp">Repornește aplicația</system:String>
-    <system:String x:Key="CheckForUpdates">Caută actualizări</system:String>
-    <system:String x:Key="AllowZoomOut">Evitați micșorarea imaginii când aceasta este deja la dimensiunea maximă</system:String>
-    <system:String x:Key="AdjustNavSpeed">Ajustați viteza atunci când tasta este ținută apăsată</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">Afișează progresul în bara de activități</system:String>
-    <system:String x:Key="ShowFileSavingDialog">Afișează dialogul de salvare fișier</system:String>
-    <system:String x:Key="ShowBottomToolbar">Afișează bara de instrumente de jos</system:String>
-    <system:String x:Key="BottomGalleryItems">Elemente galerie inferioară</system:String>
-    <system:String x:Key="ExpandedGalleryItems">Elemente galerie extinse</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">Afișează galeria de jos când interfața utilizatorului este ascunsă</system:String>
-    <system:String x:Key="ImageAliasing">Aliasare imagine</system:String>
-    <system:String x:Key="HighQuality">Calitate înaltă</system:String>
-    <system:String x:Key="NearestNeighbor">Cel mai apropiat vecin</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">Culori negative</system:String>
-    <system:String x:Key="BlackAndWhite">Negru și alb</system:String>
-    <system:String x:Key="ColorTone">Ton de culoare</system:String>
-
-    <system:String x:Key="OldMovie">Film vechi</system:String>
-    <system:String x:Key="Bloom">Strălucire</system:String>
-    <system:String x:Key="Gloom">Întunecare</system:String>
-
-    <system:String x:Key="Monochrome">Monocrom</system:String>
-    <system:String x:Key="WaveWarper">Deformare cu unde</system:String>
-    <system:String x:Key="Underwater">Subacvatic</system:String>
-
-    <system:String x:Key="BandedSwirl">Vârtej cu benzi</system:String>
-    <system:String x:Key="Ripple">Undă</system:String>
-    <system:String x:Key="RippleAlt">Undă alternativă</system:String>
-
-    <system:String x:Key="Blur">Estompare</system:String>
-    <system:String x:Key="DirectionalBlur">Estompare direcțională</system:String>
-    <system:String x:Key="TelescopicBlur">Estompare telescopică</system:String>
-
-    <system:String x:Key="Pixelate">Pixelare</system:String>
-    <system:String x:Key="Embossed">În relief</system:String>
-    <system:String x:Key="SmoothMagnify">Amplificare lină</system:String>
-
-    <system:String x:Key="Pivot">Pivot</system:String>
-    <system:String x:Key="PaperFold">Pliant de hârtie</system:String>
-    <system:String x:Key="PencilSketch">Schiță cu creionul</system:String>
-
-    <system:String x:Key="Sketch">Schiță</system:String>
-    <system:String x:Key="ToneMapping">Mapare de ton</system:String>
-    <system:String x:Key="FrostyOutline">Conturare glacială</system:String>
-
-    <system:String x:Key="Bands">Benzi</system:String>
-    <system:String x:Key="GlassTile">Dale din sticlă</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">Navigare</system:String>
-    <system:String x:Key="NextImage">Imaginea următoare</system:String>
-    <system:String x:Key="PrevImage">Imaginea anterioară</system:String>
-    <system:String x:Key="LastImage">Ultima imagine</system:String>
-    <system:String x:Key="FirstImage">Prima imagine</system:String>
-    <system:String x:Key="ToggleLooping">Comutare repetare</system:String>
-    <system:String x:Key="Slideshow">Prezentare</system:String>
-    <system:String x:Key="NextFolder">Navighează la următorul folder</system:String>
-    <system:String x:Key="PrevFolder">Navighează la folderul anterior</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">Transfocare</system:String>
-    <system:String x:Key="ZoomIn">Apropiere</system:String>
-    <system:String x:Key="ZoomOut">Depărtare</system:String>
-    <system:String x:Key="Pan">Panoramare</system:String>
-    <system:String x:Key="MouseDrag">Glisare cu mausul</system:String>
-    <system:String x:Key="ResetZoom">Resetare transfocare</system:String>
-    <system:String x:Key="ToggleScroll">Comutare defilare</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">Deschidere</system:String>
-    <system:String x:Key="OpenWith">Deschidere cu....</system:String>
-    <system:String x:Key="OpenFileDialog">Selectează un fișier</system:String>
-    <system:String x:Key="OpenLastFile">Deschide ultimul fișier</system:String>
-    <system:String x:Key="ShowInFolder">Arată în dosar</system:String>
-    <system:String x:Key="Save">Salvare</system:String>
-    <system:String x:Key="SaveImage">Salvare imagine</system:String>
-    <system:String x:Key="Print">Imprimare</system:String>
-    <system:String x:Key="RecentFiles">Fișiere recente</system:String>
-    <system:String x:Key="FileProperties">Proprietățile fișierului</system:String>
-    <system:String x:Key="DeleteFile">Ștergere fișier</system:String>
-    <system:String x:Key="Folder">Dosar</system:String>
-    <system:String x:Key="FullPath">Cale completă</system:String>
-    <system:String x:Key="RenameFile">Redenumire fișier</system:String>
-    <system:String x:Key="UnsupportedFile">Fișier neacceptat</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">Sortare fișiere după</system:String>
-    <system:String x:Key="FileName">Denumirea fișierului</system:String>
-    <system:String x:Key="FileSize">Dimensiunea fișierului</system:String>
-    <system:String x:Key="CreationTime">Data creării</system:String>
-    <system:String x:Key="FileExtension">Extensia fișierului</system:String>
-    <system:String x:Key="LastAccessTime">Data ultimei accesări</system:String>
-    <system:String x:Key="LastWriteTime">Data ultimei scrieri</system:String>
-    <system:String x:Key="Random">Aleatoriu</system:String>
-
-    <system:String x:Key="Ascending">Crescător</system:String>
-    <system:String x:Key="Descending">Descrescător</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">Setări</system:String>
-    <system:String x:Key="Scrolling">Defilare</system:String>
-    <system:String x:Key="Looping">Repetare</system:String>
-    <system:String x:Key="FitToWindow">Potrivire la fereastră/imagine</system:String>
-    <system:String x:Key="ShowHideUI">Arată/ascunde interfața</system:String>
-    <system:String x:Key="ChangeBackground">Modificare fundal</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">Schimbarea culorii de fundal pentru imaginile cu fundal transparent</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">Copiere</system:String>
-    <system:String x:Key="AddedToClipboard">adăugat în memoria temporară</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">Copiere fișier</system:String>
-    <system:String x:Key="DuplicateFile">Duplică fișierul</system:String>
-    <system:String x:Key="FileCopy">Fișier adăugat în memoria temporară</system:String>
-    <system:String x:Key="FileCopyPath">Copiere cale fișier</system:String>
-    <system:String x:Key="FileCopyPathMessage">Calea fișierului a fost adăugată în memoria temporară</system:String>
-    <system:String x:Key="FileCutMessage">Fișier adăugat în memoria temporară în vederea mutării</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">Copiere imagine</system:String>
-    <system:String x:Key="CopiedImage">Imagine copiată în memoria temporară</system:String>
-    <system:String x:Key="CopyImageTooltip">Copiere ca imagine din memoria temporară</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">Lipi</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">Tăiere fișier</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">Informații imagine</system:String>
-    <system:String x:Key="Image">Imagine</system:String>
-    <system:String x:Key="Width">Lățime</system:String>
-    <system:String x:Key="Height">Înălțime</system:String>
-    <system:String x:Key="Date">Dată</system:String>
-    <system:String x:Key="Created">Creată</system:String>
-    <system:String x:Key="Modified">Modificată</system:String>
-    <system:String x:Key="Size">Dimensiune</system:String>
-    <system:String x:Key="Pixels">pixeli</system:String>
-    <system:String x:Key="SizeMp">Dimensiune (mp)</system:String>
-    <system:String x:Key="MegaPixels">megapixeli</system:String>
-    <system:String x:Key="Resolution">Rezoluție</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">Mărime disc</system:String>
-    <system:String x:Key="AspectRatio">Raport aspect</system:String>
-    <system:String x:Key="Portrait">Portret</system:String>
-    <system:String x:Key="Landscape">Peisaj</system:String>
-    <system:String x:Key="Square">Pătrat</system:String>
-    <system:String x:Key="PrintSizeIn">Dimensiune imprimare (in)</system:String>
-    <system:String x:Key="PrintSizeCm">Dimensiune imprimare (cm)</system:String>
-    <system:String x:Key="Centimeters">centimetri</system:String>
-    <system:String x:Key="Inches">țoli</system:String>
-    <system:String x:Key="BitDepth">Adâncimea biților</system:String>
-    <system:String x:Key="SizeTooltip">Introdu dimensiunea dorită în pixeli sau în procent.</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Del</system:String>
-    <system:String x:Key="Ctrl">Ctrl</system:String>
-    <system:String x:Key="Shift">Shift</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Spațiu</system:String>
-    <system:String x:Key="Enter">Enter</system:String>
-    <system:String x:Key="Esc">Esc</system:String>
-    <system:String x:Key="NumpadPlus">Tastă numerică +</system:String>
-    <system:String x:Key="NumpadMinus">Tastă numerică -</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">Rotiță maus</system:String>
-    <system:String x:Key="MouseKeyForward">Tastă maus înainte</system:String>
-    <system:String x:Key="MouseKeyBack">Tastă mausă înapoi</system:String>
-    <system:String x:Key="DoubleClick">Dublu clic</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">Stânga</system:String>
-    <system:String x:Key="Right">Dreapta</system:String>
-    <system:String x:Key="Up">Sus</system:String>
-    <system:String x:Key="Down">Jos</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">Salvarea fișierului a eșuat</system:String>
-    <system:String x:Key="UnexpectedError">A apărut o eroare necunoscută</system:String>
-    <system:String x:Key="NoImages">Fără imagini</system:String>
-    <system:String x:Key="UnableToRender">Nu se poate reda imaginea</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">Fixează pentru a încărca imaginea</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">Setare ca....</system:String>
-    <system:String x:Key="SetAsWallpaper">Setare ca fundal</system:String>
-    <system:String x:Key="SetAsLockScreenImage">Setare ca imagine pentru ecranul de blocare</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">Decupare</system:String>
-    <system:String x:Key="RotateRight">Rotire la dreapta</system:String>
-    <system:String x:Key="RotateLeft">Rotire la stânga</system:String>
-    <system:String x:Key="Flip">Răsturnare orizontală</system:String>
-    <system:String x:Key="Unflip">Anulare răsturnare</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">Arhiva nu a putut fi procesată</system:String>
-    <system:String x:Key="PasswordArchive">Arhiva protejată cu parolă nu este acceptată</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">Fișier trimis la coșul de reciclare</system:String>
-    <system:String x:Key="DeletedFile">Fișier șters</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">A apărut o eroare în timpul ștergerii</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">Potrivire automată fereastră</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">Potrivire automată fereastră, întindere la înălțime</system:String>
-    <system:String x:Key="NormalWindowBehavior">Comportamentul normal al ferestrei</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">Comportamentul normal al ferestrei, întindere spre înălțime</system:String>
-
-    <system:String x:Key="ScrollingEnabled">Defilare activată</system:String>
-    <system:String x:Key="ScrollingDisabled">Defilare dezactivată</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">CConvertit în base64</system:String>
-    <system:String x:Key="LoopingEnabled">Repetare activată</system:String>
-    <system:String x:Key="LoopingDisabled">Repetare dezactivată</system:String>
-    <system:String x:Key="Applying">Se aplică</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">Arată fereastra cu informații</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">Arată fereastra cu toate setările</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">&quot;Comută culoarea de fundal</system:String>
-    <system:String x:Key="ShowImageGallery">Arată galeria de imagini</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">Mergi la imagine la indexul specificat</system:String>
-    <system:String x:Key="AdjustZoomLevel">Ajustare nivel de transfocare</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">Lipire imagine din memoria temporară</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">Trimite imaginea curentă la coșul de reciclare</system:String>
-    <system:String x:Key="StartSlideshow">Pornire prezentare</system:String>
-    <system:String x:Key="CloseGallery">Închide galeria</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">Afișează galeria de jos</system:String>
-    <system:String x:Key="HideBottomGallery">Ascunde galeria de jos</system:String>
-
-    <system:String x:Key="StretchImage">Întinde imaginea</system:String>
-
-    <system:String x:Key="OptimizeImage">Optimizare imagine</system:String>
-
-    <system:String x:Key="Effects">Efecte</system:String>
-    <system:String x:Key="EffectsTooltip">Arată fereastra cu efectele imaginii</system:String>
-
-    <system:String x:Key="CropPicture">Decupare imagine</system:String>
-
-    <system:String x:Key="ShowImageInfo">Arată informațiile imaginii</system:String>
-
-    <system:String x:Key="ColorPickerTool">&quot;Selector de culoare</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">Alegere culoare din imagine</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">Arată fereastra de redimensionare</system:String>
-
-    <system:String x:Key="Resize">Redimensionare</system:String>
-    <system:String x:Key="ResizeImage">Redimensionare imagine</system:String>
-    <system:String x:Key="NoResize">Fără redimensionare</system:String>
-
-    <system:String x:Key="BatchResize">Redimensionare lot</system:String>
-
-    <system:String x:Key="SourceFolder">Dosar sursă</system:String>
-    <system:String x:Key="OutputFolder">Dosar de ieșire</system:String>
-
-    <system:String x:Key="ConvertTo">Conversie în</system:String>
-    <system:String x:Key="NoConversion">Fără conversie</system:String>
-
-    <system:String x:Key="Compression">Compresie</system:String>
-    <system:String x:Key="Lossless">Fără pierderi</system:String>
-    <system:String x:Key="Lossy">Cu pierderi</system:String>
-
-    <system:String x:Key="Qaulity">Calitate</system:String>
-    <system:String x:Key="Percentage">Procentaj</system:String>
-
-    <system:String x:Key="GenerateThumbnails">Generare miniaturi</system:String>
-    <system:String x:Key="Thumbnail">Miniatură</system:String>
-
-    <system:String x:Key="Start">Pornire</system:String>
-    <system:String x:Key="Cancel">Anulare</system:String>
-
-    <system:String x:Key="None">Nici unul</system:String>
-</ResourceDictionary>

+ 0 - 421
src/PicView.WPF/Translations/ru.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">Загрузка...</system:String>
-    <system:String x:Key="NoImage">Изображение не загружено</system:String>
-    <system:String x:Key="Files">Файлы</system:String>
-    <system:String x:Key="File">Файл</system:String>
-    <system:String x:Key="PercentComplete">% завершено...</system:String>
-    <system:String x:Key="CropMessage">Нажмите Esc, чтобы закрыть, Enter, чтобы сохранить</system:String>
-    <system:String x:Key="ClipboardImage">Изображение из буфера обмена</system:String>
-    <system:String x:Key="Base64Image">Изображение Base64</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">Закрыть</system:String>
-    <system:String x:Key="RestoreDown">Восстановить</system:String>
-    <system:String x:Key="Maximize">Развернуть</system:String>
-    <system:String x:Key="Minimize">Свернуть</system:String>
-    <system:String x:Key="Fullscreen">Весь экран</system:String>
-    <system:String x:Key="NewWindow">Новое окно</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">О программе</system:String>
-    <system:String x:Key="InfoWindowTitle">Информация и сочетания клавиш</system:String>
-    <system:String x:Key="ApplicationShortcuts">Сочетания клавиш приложения</system:String>
-    <system:String x:Key="ImageControl">Управление изображением</system:String>
-    <system:String x:Key="FileManagement">Управление файлами</system:String>
-    <system:String x:Key="DragFileTo">Перетащите файл в проводник Windows или другое приложение/браузер</system:String>
-    <system:String x:Key="DragImage">Перетащите изображение</system:String>
-    <system:String x:Key="AdditionalFunctions">Дополнительные функции</system:String>
-    <system:String x:Key="Reload">Перезагрузить</system:String>
-    <system:String x:Key="Credits">Титры</system:String>
-    <system:String x:Key="IconsUsed">Используемые значки</system:String>
-    <system:String x:Key="GithubRepo">Репозиторий Github</system:String>
-    <system:String x:Key="ViewLicenseFile">Просмотреть файл лицензии</system:String>
-    <system:String x:Key="Version">Версия:</system:String>
-    <system:String x:Key="ChangeKeybindingText">Нажмите на текстовом поле, чтобы изменить сочетание клавиш. Нажатие Esc снимает привязку клавиши.</system:String>
-    <system:String x:Key="ResetButtonText">Сбросить настройки по умолчанию</system:String>
-    <system:String x:Key="SelectGalleryThumb">Выбрать миниатюру галереи</system:String>
-    <system:String x:Key="PressKey">Нажмите клавишу...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">Щелкните, чтобы изменить назначение клавиши</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">Прокрутка и вращение</system:String>
-    <system:String x:Key="ScrollUp">Прокрутить вверх</system:String>
-    <system:String x:Key="ScrollDown">Прокрутить вниз</system:String>
-    <system:String x:Key="ScrollToTop">Прокрутить вверх</system:String>
-    <system:String x:Key="ScrollToBottom">Прокрутить вниз</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">Установить рейтинг звезд</system:String>
-    <system:String x:Key="1Star">1 звезда</system:String>
-    <system:String x:Key="2Star">2звезды</system:String>
-    <system:String x:Key="3Star">3звезды</system:String>
-    <system:String x:Key="4Star">4звезды</system:String>
-    <system:String x:Key="5Star">5звезды</system:String>
-    <system:String x:Key="RemoveStarRating">Убрать рейтинг</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">Масштабирование окна</system:String>
-    <system:String x:Key="NormalWindow">Обычное окно</system:String>
-    <system:String x:Key="FillHeight">⇔ Высота заполнения</system:String>
-    <system:String x:Key="AutoFitWindow">Окно автозаполнения</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">Конфигурация интерфейса</system:String>
-    <system:String x:Key="HideShowInterface">Скрыть/показать интерфейс</system:String>
-    <system:String x:Key="ToggleFullscreen">Включить полноэкранный режим</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">Управление окнами</system:String>
-    <system:String x:Key="InfoWindow">Информационное окно</system:String>
-    <system:String x:Key="SettingsWindow">Окно настроек</system:String>
-    <system:String x:Key="EscCloseTooltip">Закрывает открытое в данный момент окно/меню</system:String>
-    <system:String x:Key="CloseApp">Закрыть приложение</system:String>
-    <system:String x:Key="MoveWindow">Переместить окно</system:String>
-    <system:String x:Key="CenterWindow">Центрировать окно</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">Цвет выделения</system:String>
-
-    <system:String x:Key="Blue">Синий</system:String>
-    <system:String x:Key="Cyan">Голубой</system:String>
-    <system:String x:Key="Aqua">Вода</system:String>
-    <system:String x:Key="Teal">Бирюзовый</system:String>
-
-    <system:String x:Key="Lime">Лайм</system:String>
-    <system:String x:Key="Green">Зеленый</system:String>
-    <system:String x:Key="Golden">Золотой</system:String>
-    <system:String x:Key="Orange">Оранжевый</system:String>
-
-    <system:String x:Key="Red">Красный</system:String>
-    <system:String x:Key="Pink">Розовый</system:String>
-    <system:String x:Key="Magenta">Пурпурный</system:String>
-    <system:String x:Key="Purple">Фиолетовый</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">Тема</system:String>
-    <system:String x:Key="DarkTheme">Темная тема</system:String>
-    <system:String x:Key="LightTheme">Светлая тема</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* Для изменения темы требуется перезапуск</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">Установить текущее изображение в качестве обоев:</system:String>
-
-    <system:String x:Key="Fill">Наполнить</system:String>
-    <system:String x:Key="Center">Центрировать</system:String>
-    <system:String x:Key="Fit">Соотнести</system:String>
-    <system:String x:Key="Tile">Плитка</system:String>
-    <system:String x:Key="Stretch">Растянуть</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">Язык</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* Для изменения языка требуется перезагрузка</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">Ctrl для увеличения, прокрутка для навигации</system:String>
-    <system:String x:Key="ScrollToZoom">Масштабирование с помощью колесика мыши, перемещение с помощью Ctrl</system:String>
-    <system:String x:Key="HorizontalScroll">Горизонтальная прокрутка</system:String>
-    <system:String x:Key="Reverse">Назад</system:String>
-    <system:String x:Key="Forward">Вперед</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">Общие настройки</system:String>
-    <system:String x:Key="UISettings">Внешний вид</system:String>
-    <system:String x:Key="MiscSettings">Прочие настройки</system:String>
-    <system:String x:Key="SearchSubdirectory">Искать в подкаталогах</system:String>
-    <system:String x:Key="StayTopMost">Оставаться поверх других окон</system:String>
-    <system:String x:Key="StayCentered">Зафиксировать окно по центру</system:String>
-    <system:String x:Key="ColoredWindowBorder">Цветная граница окна</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">Показать кнопки в скрытом пользовательском интерфейсе</system:String>
-    <system:String x:Key="Apply">Применить</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">Отрегулировать время для слайд-шоу</system:String>
-    <system:String x:Key="AdjustTimingForZoom">Отрегулировать скорость масштабирования</system:String>
-    <system:String x:Key="SecAbbreviation">Sec.</system:String>
-    <system:String x:Key="RestartApp">Перезапустить приложение</system:String>
-    <system:String x:Key="CheckForUpdates">Проверить наличие обновлений</system:String>
-    <system:String x:Key="AllowZoomOut">Избегайте уменьшения изображения, когда оно уже находится в максимальном размере</system:String>
-    <system:String x:Key="AdjustNavSpeed">Настроить скорость при удержании клавиши</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">Отображение прогресса на панели задач</system:String>
-    <system:String x:Key="ShowFileSavingDialog">Показать диалоговое окно сохранения файла</system:String>
-    <system:String x:Key="ShowBottomToolbar">Показать нижнюю панель инструментов</system:String>
-    <system:String x:Key="BottomGalleryItems">Количество элементов нижней галереи</system:String>
-    <system:String x:Key="ExpandedGalleryItems">Расширенные элементы галереи</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">Показывать нижнюю галерею при скрытом интерфейсе</system:String>
-    <system:String x:Key="ImageAliasing">Сглаживание изображения</system:String>
-    <system:String x:Key="HighQuality">Высокое качество</system:String>
-    <system:String x:Key="NearestNeighbor">Ближайший сосед</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">Обратные цвета</system:String>
-    <system:String x:Key="BlackAndWhite">Черно-белый</system:String>
-    <system:String x:Key="ColorTone">Цветовой тон</system:String>
-
-    <system:String x:Key="OldMovie">Старый фильм</system:String>
-    <system:String x:Key="Bloom">Цветение</system:String>
-    <system:String x:Key="Gloom">Мрак</system:String>
-
-    <system:String x:Key="Monochrome">Монохром</system:String>
-    <system:String x:Key="WaveWarper">Искаженные волны</system:String>
-    <system:String x:Key="Underwater">Подводный</system:String>
-
-    <system:String x:Key="BandedSwirl">Водоворот</system:String>
-    <system:String x:Key="Ripple">Пульсация</system:String>
-    <system:String x:Key="RippleAlt">Aльтернативная пульсация</system:String>
-
-    <system:String x:Key="Blur">Размытие</system:String>
-    <system:String x:Key="DirectionalBlur">Направленное размытие</system:String>
-    <system:String x:Key="TelescopicBlur">Телескопическое размытие</system:String>
-
-    <system:String x:Key="Pixelate">Пикселизация</system:String>
-    <system:String x:Key="Embossed">Тисненый</system:String>
-    <system:String x:Key="SmoothMagnify">Гладкое увеличение</system:String>
-
-    <system:String x:Key="Pivot">Вращение</system:String>
-    <system:String x:Key="PaperFold">Бумага</system:String>
-    <system:String x:Key="PencilSketch">Карандашный набросок</system:String>
-
-    <system:String x:Key="Sketch">Эскиз</system:String>
-    <system:String x:Key="ToneMapping">Тональное отображение</system:String>
-    <system:String x:Key="FrostyOutline">Морозный контур</system:String>
-
-    <system:String x:Key="Bands">Группы</system:String>
-    <system:String x:Key="GlassTile">Стеклянная плитка</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">Навигация</system:String>
-    <system:String x:Key="NextImage">Следующее изображение</system:String>
-    <system:String x:Key="PrevImage">Предыдущее изображение</system:String>
-    <system:String x:Key="LastImage">Последнее изображение</system:String>
-    <system:String x:Key="FirstImage">Первое изображение</system:String>
-    <system:String x:Key="ToggleLooping">Переключить цикл</system:String>
-    <system:String x:Key="Slideshow">Слайдшоу</system:String>
-    <system:String x:Key="NextFolder">Перейти к следующей папке</system:String>
-    <system:String x:Key="PrevFolder">Перейти к предыдущей папке</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">Зуммирование</system:String>
-    <system:String x:Key="ZoomIn">Увеличить</system:String>
-    <system:String x:Key="ZoomOut">Уменьшить</system:String>
-    <system:String x:Key="Pan">Панорамировать</system:String>
-    <system:String x:Key="MouseDrag">Перетаскивание мышью</system:String>
-    <system:String x:Key="ResetZoom">Сбросить масштаб</system:String>
-    <system:String x:Key="ToggleScroll">Переключить прокрутку</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">Открыть</system:String>
-    <system:String x:Key="OpenWith">Открыть вместе с...</system:String>
-    <system:String x:Key="OpenFileDialog">Выберать файл</system:String>
-    <system:String x:Key="OpenLastFile">Открыть последний файл</system:String>
-    <system:String x:Key="ShowInFolder">Показать в папке</system:String>
-    <system:String x:Key="Save">Сохранить</system:String>
-    <system:String x:Key="SaveImage">Сохранить изображение</system:String>
-    <system:String x:Key="Print">Распечатать</system:String>
-    <system:String x:Key="RecentFiles">Недавние файлы</system:String>
-    <system:String x:Key="FileProperties">Свойства файла</system:String>
-    <system:String x:Key="DeleteFile">Удалить файл</system:String>
-    <system:String x:Key="Folder">Папка</system:String>
-    <system:String x:Key="FullPath">Полный путь</system:String>
-    <system:String x:Key="RenameFile">Переименовать файл</system:String>
-    <system:String x:Key="UnsupportedFile">Неподдерживаемый файл</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">Сортировать файлы по</system:String>
-    <system:String x:Key="FileName">Имени файла</system:String>
-    <system:String x:Key="FileSize">Размеру файла</system:String>
-    <system:String x:Key="CreationTime">Времени создания</system:String>
-    <system:String x:Key="FileExtension">Расширению файла</system:String>
-    <system:String x:Key="LastAccessTime">Времени последнего доступа</system:String>
-    <system:String x:Key="LastWriteTime">Времени последней записи</system:String>
-    <system:String x:Key="Random">Случайно</system:String>
-
-    <system:String x:Key="Ascending">Возрастанию</system:String>
-    <system:String x:Key="Descending">Убыванию</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">Настройки</system:String>
-    <system:String x:Key="Scrolling">Прокрутка</system:String>
-    <system:String x:Key="Looping">Зацикливание</system:String>
-    <system:String x:Key="FitToWindow">Соотнести к изображению/окну</system:String>
-    <system:String x:Key="ShowHideUI">Показать/скрыть интерфейс</system:String>
-    <system:String x:Key="ChangeBackground">Сменить фон</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">Изменение цвета фона для изображений с прозрачным фоном</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">Копировать</system:String>
-    <system:String x:Key="AddedToClipboard">Добавлен в буфер обмена</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">Копировать файл</system:String>
-    <system:String x:Key="DuplicateFile">Создать копию файла</system:String>
-    <system:String x:Key="FileCopy">Файл добавлен в буфер обмена</system:String>
-    <system:String x:Key="FileCopyPath">Копировать путь к файлу</system:String>
-    <system:String x:Key="FileCopyPathMessage">Путь к файлу добавлен в буфер обмена</system:String>
-    <system:String x:Key="FileCutMessage">Файл добавлен в буфер обмена</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">Копировать изображение</system:String>
-    <system:String x:Key="CopiedImage">Изображение скопировано в буфер обмена</system:String>
-    <system:String x:Key="CopyImageTooltip">Копировать как изображение из буфера обмена Windows</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">Вставить</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">Вырезать файл</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">Информация об изображении</system:String>
-    <system:String x:Key="Image">Изображение</system:String>
-    <system:String x:Key="Width">Ширина</system:String>
-    <system:String x:Key="Height">Высота</system:String>
-    <system:String x:Key="Date">Дата</system:String>
-    <system:String x:Key="Created">Созданно</system:String>
-    <system:String x:Key="Modified">Изменено</system:String>
-    <system:String x:Key="Size">Размер</system:String>
-    <system:String x:Key="Pixels">пиксели</system:String>
-    <system:String x:Key="SizeMp">Размер (mp)</system:String>
-    <system:String x:Key="MegaPixels">мегапикселей</system:String>
-    <system:String x:Key="Resolution">Разрешение</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">Размер диска</system:String>
-    <system:String x:Key="AspectRatio">Соотношение сторон</system:String>
-    <system:String x:Key="Portrait">Портрет</system:String>
-    <system:String x:Key="Landscape">Пейзаж</system:String>
-    <system:String x:Key="Square">Квадрат</system:String>
-    <system:String x:Key="PrintSizeIn">Размер печати (in)</system:String>
-    <system:String x:Key="PrintSizeCm">Размер печати (cm)</system:String>
-    <system:String x:Key="Centimeters">сантиметров</system:String>
-    <system:String x:Key="Inches">дюймов</system:String>
-    <system:String x:Key="BitDepth">Битовая глубина</system:String>
-    <system:String x:Key="SizeTooltip">Введите желаемый размер в пикселях или процентах.</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Del</system:String>
-    <system:String x:Key="Ctrl">Ctrl</system:String>
-    <system:String x:Key="Shift">Shift</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Space</system:String>
-    <system:String x:Key="Enter">Enter</system:String>
-    <system:String x:Key="Esc">Esc</system:String>
-    <system:String x:Key="NumpadPlus">Numpad +</system:String>
-    <system:String x:Key="NumpadMinus">Numpad -</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">Колесико мыши</system:String>
-    <system:String x:Key="MouseKeyForward">Клавиша мыши вперед</system:String>
-    <system:String x:Key="MouseKeyBack">Клавиша мыши назад</system:String>
-    <system:String x:Key="DoubleClick">Двойной клик</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">Влево</system:String>
-    <system:String x:Key="Right">Вправо</system:String>
-    <system:String x:Key="Up">Вверх</system:String>
-    <system:String x:Key="Down">Вниз</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">Ошибка сохранения файла</system:String>
-    <system:String x:Key="UnexpectedError">Произошла неизвестная ошибка</system:String>
-    <system:String x:Key="NoImages">Нет изображений</system:String>
-    <system:String x:Key="UnableToRender">Невозможно отобразить изображение</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">Перетащите, чтобы загрузить изображение</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">Установить как...</system:String>
-    <system:String x:Key="SetAsWallpaper">Сделать фоновым рисунком</system:String>
-    <system:String x:Key="SetAsLockScreenImage">Установить на экран блокировки</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">Обрезать</system:String>
-    <system:String x:Key="RotateRight">Повернуть вправо</system:String>
-    <system:String x:Key="RotateLeft">Повернуть налево</system:String>
-    <system:String x:Key="Flip">Отразить по горизонталиy</system:String>
-    <system:String x:Key="Unflip">Развернуть</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">Архив не может быть обработан</system:String>
-    <system:String x:Key="PasswordArchive">Архив, защищенный паролем, не поддерживается</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">Файл отправлен в корзину</system:String>
-    <system:String x:Key="DeletedFile">Удаленный файл</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">Произошла ошибка при удалении</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">Окно автоподгонки</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">Окно автоподгонки, растягивание по высоте</system:String>
-    <system:String x:Key="NormalWindowBehavior">Обычное поведение окна</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">Обычное поведение окна, растягивание до высоты</system:String>
-
-    <system:String x:Key="ScrollingEnabled">Прокрутка включена</system:String>
-    <system:String x:Key="ScrollingDisabled">Прокрутка отключена</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">Преобразовано в base64</system:String>
-    <system:String x:Key="LoopingEnabled">Цикл включен</system:String>
-    <system:String x:Key="LoopingDisabled">Цикл отключен</system:String>
-    <system:String x:Key="Applying">Применение</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">Показать информационное окно</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">Показать окно всех настроек</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">Переключить цвет фона</system:String>
-    <system:String x:Key="ShowImageGallery">Показать галерею изображений</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">Перейти к изображению по указанному индексу</system:String>
-    <system:String x:Key="AdjustZoomLevel">Отрегулировать уровень масштабирования</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">Вставить изображение из буфера обмена</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">Отправить текущее изображение в корзину</system:String>
-    <system:String x:Key="StartSlideshow">Начать слайдшоу</system:String>
-    <system:String x:Key="CloseGallery">Закрыть галерею</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">Показать нижнюю галерею</system:String>
-    <system:String x:Key="HideBottomGallery">Скрыть нижнюю галерею</system:String>
-
-    <system:String x:Key="StretchImage">Растянуть изображение</system:String>
-
-    <system:String x:Key="OptimizeImage">Оптимизировать изображение</system:String>
-
-    <system:String x:Key="Effects">Эффекты</system:String>
-    <system:String x:Key="EffectsTooltip">Показать окно эффектов изображения</system:String>
-
-    <system:String x:Key="CropPicture">Кадрирование снимка</system:String>
-
-    <system:String x:Key="ShowImageInfo">Показать информацию об изображении</system:String>
-
-    <system:String x:Key="ColorPickerTool">Инструмент выбора цвета</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">Выберите цвет из изображения</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">Показать окно изменения размера</system:String>
-
-    <system:String x:Key="Resize">Изменить размер</system:String>
-    <system:String x:Key="ResizeImage">Изменить размер изображения</system:String>
-    <system:String x:Key="NoResize">Нет изменений</system:String>
-
-    <system:String x:Key="BatchResize">Групповое изменение размера</system:String>
-
-    <system:String x:Key="SourceFolder">Источник папки</system:String>
-    <system:String x:Key="OutputFolder">Папки вывода</system:String>
-
-    <system:String x:Key="ConvertTo">Преобразовать в</system:String>
-    <system:String x:Key="NoConversion">Нет преобразования</system:String>
-
-    <system:String x:Key="Compression">Сжатие</system:String>
-    <system:String x:Key="Lossless">Без потерь</system:String>
-    <system:String x:Key="Lossy">Потеря</system:String>
-
-    <system:String x:Key="Qaulity">Качественный</system:String>
-    <system:String x:Key="Percentage">Процент</system:String>
-
-    <system:String x:Key="GenerateThumbnails">Генерировать миниатюры</system:String>
-    <system:String x:Key="Thumbnail">Thumb</system:String>
-
-    <system:String x:Key="Start">Начинать</system:String>
-    <system:String x:Key="Cancel">Отмена</system:String>
-
-    <system:String x:Key="None">Никто</system:String>
-</ResourceDictionary>

+ 0 - 421
src/PicView.WPF/Translations/zh-CN.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">正在加载...</system:String>
-    <system:String x:Key="NoImage">请打开图片</system:String>
-    <system:String x:Key="Files">文件</system:String>
-    <system:String x:Key="File">文件</system:String>
-    <system:String x:Key="PercentComplete">% 已完成…</system:String>
-    <system:String x:Key="CropMessage">Esc 键关闭,Enter 键保存</system:String>
-    <system:String x:Key="ClipboardImage">剪贴板图片</system:String>
-    <system:String x:Key="Base64Image">Base64 图片</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">关闭</system:String>
-    <system:String x:Key="RestoreDown">退出全屏</system:String>
-    <system:String x:Key="Maximize">最大化</system:String>
-    <system:String x:Key="Minimize">最小化</system:String>
-    <system:String x:Key="Fullscreen">全屏</system:String>
-    <system:String x:Key="NewWindow">新窗口</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">关于</system:String>
-    <system:String x:Key="InfoWindowTitle">信息与快捷键</system:String>
-    <system:String x:Key="ApplicationShortcuts">应用程序快捷键</system:String>
-    <system:String x:Key="ImageControl">图片调整</system:String>
-    <system:String x:Key="FileManagement">文件管理</system:String>
-    <system:String x:Key="DragFileTo">将文件拖拽至 Windows 资源管理器或者其他应用程序/浏览器</system:String>
-    <system:String x:Key="DragImage">拖拽图片</system:String>
-    <system:String x:Key="AdditionalFunctions">额外功能</system:String>
-    <system:String x:Key="Reload">重新载入</system:String>
-    <system:String x:Key="Credits">鸣谢</system:String>
-    <system:String x:Key="IconsUsed">图标来自:</system:String>
-    <system:String x:Key="GithubRepo">Github 仓库</system:String>
-    <system:String x:Key="ViewLicenseFile">查看开源协议</system:String>
-    <system:String x:Key="Version">版本:</system:String>
-    <system:String x:Key="ChangeKeybindingText">点击文本框以更改按键绑定。按 Esc 键取消绑定。</system:String>
-    <system:String x:Key="ResetButtonText">重置为默认设置</system:String>
-    <system:String x:Key="SelectGalleryThumb">选择画廊缩略图</system:String>
-    <system:String x:Key="PressKey">按键...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">点击更改键绑定</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">滚动和旋转</system:String>
-    <system:String x:Key="ScrollUp">向上滑动</system:String>
-    <system:String x:Key="ScrollDown">向下滑动</system:String>
-    <system:String x:Key="ScrollToTop">滑动到顶部</system:String>
-    <system:String x:Key="ScrollToBottom">滑动到底部</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">设置星级评分</system:String>
-    <system:String x:Key="1Star">1星评分</system:String>
-    <system:String x:Key="2Star">2星评分</system:String>
-    <system:String x:Key="3Star">3星评分</system:String>
-    <system:String x:Key="4Star">4星评分</system:String>
-    <system:String x:Key="5Star">5星评分</system:String>
-    <system:String x:Key="RemoveStarRating">移除评分</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">窗口缩放</system:String>
-    <system:String x:Key="NormalWindow">正常窗口</system:String>
-    <system:String x:Key="FillHeight">⇔ 适应高度</system:String>
-    <system:String x:Key="AutoFitWindow">自动适应窗口</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">界面配置</system:String>
-    <system:String x:Key="HideShowInterface">显示/隐藏界面</system:String>
-    <system:String x:Key="ToggleFullscreen">切换全屏</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">窗口管理</system:String>
-    <system:String x:Key="InfoWindow">信息窗口</system:String>
-    <system:String x:Key="SettingsWindow">设置窗口</system:String>
-    <system:String x:Key="EscCloseTooltip">关闭当前打开的窗口和菜单</system:String>
-    <system:String x:Key="CloseApp">关闭本应用程序</system:String>
-    <system:String x:Key="MoveWindow">移动窗口</system:String>
-    <system:String x:Key="CenterWindow">居中窗口</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">主题高亮色</system:String>
-
-    <system:String x:Key="Blue">蓝色</system:String>
-    <system:String x:Key="Cyan">淡蓝色</system:String>
-    <system:String x:Key="Aqua">淡青色</system:String>
-    <system:String x:Key="Teal">青色</system:String>
-
-    <system:String x:Key="Lime">淡绿色</system:String>
-    <system:String x:Key="Green">绿色</system:String>
-    <system:String x:Key="Golden">金色</system:String>
-    <system:String x:Key="Orange">橙色</system:String>
-
-    <system:String x:Key="Red">红色</system:String>
-    <system:String x:Key="Pink">粉色</system:String>
-    <system:String x:Key="Magenta">品红色</system:String>
-    <system:String x:Key="Purple">紫色</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">主题</system:String>
-    <system:String x:Key="DarkTheme">深色主题</system:String>
-    <system:String x:Key="LightTheme">亮色主题</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* 切换主题需要重新启动应用程序</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">将当前图像设置为壁纸:</system:String>
-
-    <system:String x:Key="Fill">填充</system:String>
-    <system:String x:Key="Center">居中</system:String>
-    <system:String x:Key="Fit">适应</system:String>
-    <system:String x:Key="Tile">平铺</system:String>
-    <system:String x:Key="Stretch">拉伸</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">语言</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* 切换语言需要重新启动应用程序</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">Ctrl + 鼠标滚轮缩放,鼠标滚轮导航</system:String>
-    <system:String x:Key="ScrollToZoom">鼠标滚轮缩放,Ctrl + 鼠标滚轮导航</system:String>
-    <system:String x:Key="HorizontalScroll">水平卷轴</system:String>
-    <system:String x:Key="Reverse">逆转</system:String>
-    <system:String x:Key="Forward">向前</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">常规设置</system:String>
-    <system:String x:Key="UISettings">界面设置</system:String>
-    <system:String x:Key="MiscSettings">其他设置</system:String>
-    <system:String x:Key="SearchSubdirectory">包含子目录中的图片</system:String>
-    <system:String x:Key="StayTopMost">窗口置顶</system:String>
-    <system:String x:Key="StayCentered">保持窗口居中</system:String>
-    <system:String x:Key="ColoredWindowBorder">彩色窗口边框</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">在隐藏界面时显示按钮</system:String>
-    <system:String x:Key="Apply">应用</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">调整幻灯片切换时间</system:String>
-    <system:String x:Key="AdjustTimingForZoom">调整缩放动画速度</system:String>
-    <system:String x:Key="SecAbbreviation">秒</system:String>
-    <system:String x:Key="RestartApp">重新启动应用程序</system:String>
-    <system:String x:Key="CheckForUpdates">检查更新</system:String>
-    <system:String x:Key="AllowZoomOut">在最大尺寸时避免缩小图像</system:String>
-    <system:String x:Key="AdjustNavSpeed">按住键时调整速度</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">显示任务栏进度</system:String>
-    <system:String x:Key="ShowFileSavingDialog">查看文件保存对话框</system:String>
-    <system:String x:Key="ShowBottomToolbar">查看底部工具栏</system:String>
-    <system:String x:Key="BottomGalleryItems">底部图库项目</system:String>
-    <system:String x:Key="ExpandedGalleryItems">展开的图库项目</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">当用户界面隐藏时显示底部图库</system:String>
-    <system:String x:Key="ImageAliasing">图像混淆</system:String>
-    <system:String x:Key="HighQuality">高质量</system:String>
-    <system:String x:Key="NearestNeighbor">最近邻</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">反色</system:String>
-    <system:String x:Key="BlackAndWhite">黑白</system:String>
-    <system:String x:Key="ColorTone">色调</system:String>
-
-    <system:String x:Key="OldMovie">老电影</system:String>
-    <system:String x:Key="Bloom">鲜明</system:String>
-    <system:String x:Key="Gloom">暗淡</system:String>
-
-    <system:String x:Key="Monochrome">单色化</system:String>
-    <system:String x:Key="WaveWarper">波浪</system:String>
-    <system:String x:Key="Underwater">水下</system:String>
-
-    <system:String x:Key="BandedSwirl">带状旋转</system:String>
-    <system:String x:Key="Ripple">波纹</system:String>
-    <system:String x:Key="RippleAlt">涟漪</system:String>
-
-    <system:String x:Key="Blur">模糊</system:String>
-    <system:String x:Key="DirectionalBlur">方向模糊</system:String>
-    <system:String x:Key="TelescopicBlur">拉伸模糊</system:String>
-
-    <system:String x:Key="Pixelate">像素化</system:String>
-    <system:String x:Key="Embossed">浮雕</system:String>
-    <system:String x:Key="SmoothMagnify">扭曲放大</system:String>
-
-    <system:String x:Key="Pivot">翻转</system:String>
-    <system:String x:Key="PaperFold">折纸</system:String>
-    <system:String x:Key="PencilSketch">铅笔素描</system:String>
-
-    <system:String x:Key="Sketch">素描</system:String>
-    <system:String x:Key="ToneMapping">色调映射</system:String>
-    <system:String x:Key="FrostyOutline">Frosty 轮廓</system:String>
-
-    <system:String x:Key="Bands">条带</system:String>
-    <system:String x:Key="GlassTile">平铺瓷砖</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">导航</system:String>
-    <system:String x:Key="NextImage">下一张图片</system:String>
-    <system:String x:Key="PrevImage">上一张图片</system:String>
-    <system:String x:Key="LastImage">最后一张图片</system:String>
-    <system:String x:Key="FirstImage">第一张图片</system:String>
-    <system:String x:Key="ToggleLooping">切换循环</system:String>
-    <system:String x:Key="Slideshow">幻灯片</system:String>
-    <system:String x:Key="NextFolder">导航到下一个文件夹</system:String>
-    <system:String x:Key="PrevFolder">导航到上一个文件夹</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">缩放</system:String>
-    <system:String x:Key="ZoomIn">放大</system:String>
-    <system:String x:Key="ZoomOut">缩小</system:String>
-    <system:String x:Key="Pan">平移</system:String>
-    <system:String x:Key="MouseDrag">鼠标拖拽</system:String>
-    <system:String x:Key="ResetZoom">重设缩放</system:String>
-    <system:String x:Key="ToggleScroll">切换滚动</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">打开</system:String>
-    <system:String x:Key="OpenWith">打开使用</system:String>
-    <system:String x:Key="OpenFileDialog">打开文件对话框</system:String>
-    <system:String x:Key="OpenLastFile">打开最后一个文件</system:String>
-    <system:String x:Key="ShowInFolder">在文件夹中显示</system:String>
-    <system:String x:Key="Save">保存</system:String>
-    <system:String x:Key="SaveImage">保存图片</system:String>
-    <system:String x:Key="Print">打印</system:String>
-    <system:String x:Key="RecentFiles">最近文件</system:String>
-    <system:String x:Key="FileProperties">文件属性</system:String>
-    <system:String x:Key="DeleteFile">删除文件</system:String>
-    <system:String x:Key="Folder">文件夹</system:String>
-    <system:String x:Key="FullPath">完整路径</system:String>
-    <system:String x:Key="RenameFile">重命名文件</system:String>
-    <system:String x:Key="UnsupportedFile">不支持的文件格式</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">排序方式</system:String>
-    <system:String x:Key="FileName">文件名</system:String>
-    <system:String x:Key="FileSize">文件大小</system:String>
-    <system:String x:Key="CreationTime">创建时间</system:String>
-    <system:String x:Key="FileExtension">文件拓展名</system:String>
-    <system:String x:Key="LastAccessTime">访问时间</system:String>
-    <system:String x:Key="LastWriteTime">修改时间</system:String>
-    <system:String x:Key="Random">随机</system:String>
-
-    <system:String x:Key="Ascending">上升</system:String>
-    <system:String x:Key="Descending">下降</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">设置</system:String>
-    <system:String x:Key="Scrolling">滚动</system:String>
-    <system:String x:Key="Looping">循环</system:String>
-    <system:String x:Key="FitToWindow">适应窗口/图片</system:String>
-    <system:String x:Key="ShowHideUI">显示/隐藏界面</system:String>
-    <system:String x:Key="ChangeBackground">切换背景</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">在透明背景的图像中改变背景颜色</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">复制</system:String>
-    <system:String x:Key="AddedToClipboard">已复制</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">复制文件</system:String>
-    <system:String x:Key="DuplicateFile">复制文件</system:String>
-    <system:String x:Key="FileCopy">文件已复制</system:String>
-    <system:String x:Key="FileCopyPath">复制文件路径</system:String>
-    <system:String x:Key="FileCopyPathMessage">文件路径已复制</system:String>
-    <system:String x:Key="FileCutMessage">文件已剪切</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">复制图像</system:String>
-    <system:String x:Key="CopiedImage">已将图像复制至剪贴板</system:String>
-    <system:String x:Key="CopyImageTooltip">将图片复制至剪贴板</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">粘贴</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">剪切文件</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">图像信息</system:String>
-    <system:String x:Key="Image">图片</system:String>
-    <system:String x:Key="Width">宽度</system:String>
-    <system:String x:Key="Height">高度</system:String>
-    <system:String x:Key="Date">时间</system:String>
-    <system:String x:Key="Created">创建时间</system:String>
-    <system:String x:Key="Modified">修改时间</system:String>
-    <system:String x:Key="Size">大小</system:String>
-    <system:String x:Key="Pixels">px</system:String>
-    <system:String x:Key="SizeMp">大小(兆像素)</system:String>
-    <system:String x:Key="MegaPixels">mp</system:String>
-    <system:String x:Key="Resolution">分辨率</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">磁盘大小</system:String>
-    <system:String x:Key="AspectRatio">纵横比</system:String>
-    <system:String x:Key="Portrait">纵向</system:String>
-    <system:String x:Key="Landscape">横向</system:String>
-    <system:String x:Key="Square">正方形</system:String>
-    <system:String x:Key="PrintSizeIn">打印大小(英尺)</system:String>
-    <system:String x:Key="PrintSizeCm">打印大小(厘米)</system:String>
-    <system:String x:Key="Centimeters">cm</system:String>
-    <system:String x:Key="Inches">in</system:String>
-    <system:String x:Key="BitDepth">位深</system:String>
-    <system:String x:Key="SizeTooltip">以像素或百分比输入所需的尺寸。</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Del</system:String>
-    <system:String x:Key="Ctrl">Ctrl</system:String>
-    <system:String x:Key="Shift">Shift</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Space</system:String>
-    <system:String x:Key="Enter">Enter</system:String>
-    <system:String x:Key="Esc">Esc</system:String>
-    <system:String x:Key="NumpadPlus">数字键盘 +</system:String>
-    <system:String x:Key="NumpadMinus">数字键盘 -</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">鼠标滚轮</system:String>
-    <system:String x:Key="MouseKeyForward">鼠标拓展键 向前键</system:String>
-    <system:String x:Key="MouseKeyBack">鼠标拓展键 向后键</system:String>
-    <system:String x:Key="DoubleClick">双击</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">左</system:String>
-    <system:String x:Key="Right">右</system:String>
-    <system:String x:Key="Up">上</system:String>
-    <system:String x:Key="Down">下</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">文件保存失败</system:String>
-    <system:String x:Key="UnexpectedError">发生未知错误</system:String>
-    <system:String x:Key="NoImages">无图像</system:String>
-    <system:String x:Key="UnableToRender">无法渲染图像</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">拖放以打开图像</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">设置为…</system:String>
-    <system:String x:Key="SetAsWallpaper">设置为背景</system:String>
-    <system:String x:Key="SetAsLockScreenImage">设置为锁屏图像</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">裁剪</system:String>
-    <system:String x:Key="RotateRight">向右旋转</system:String>
-    <system:String x:Key="RotateLeft">向左旋转</system:String>
-    <system:String x:Key="Flip">水平翻转</system:String>
-    <system:String x:Key="Unflip">取消水平翻转</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">无法处理压缩文件</system:String>
-    <system:String x:Key="PasswordArchive">暂不支持带密码的压缩文件</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">将文件移至回收站</system:String>
-    <system:String x:Key="DeletedFile">已删除文件</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">删除时发生错误</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">设置为窗口中心图像</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">设置为窗口中心图像,填充高度</system:String>
-    <system:String x:Key="NormalWindowBehavior">设置为将应用程序居中到窗口</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">设置为将应用程序居中到窗口,填充高度</system:String>
-
-    <system:String x:Key="ScrollingEnabled">已启用滚动</system:String>
-    <system:String x:Key="ScrollingDisabled">已禁用滚动</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">已复制为 base64</system:String>
-    <system:String x:Key="LoopingEnabled">已启用循环</system:String>
-    <system:String x:Key="LoopingDisabled">已禁用循环</system:String>
-    <system:String x:Key="Applying">正在应用</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">显示应用程序信息窗口</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">显示设置窗口</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">切换背景色</system:String>
-    <system:String x:Key="ShowImageGallery">显示图片相册</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">跳转至指定图片</system:String>
-    <system:String x:Key="AdjustZoomLevel">调整缩放级别</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">从剪贴板中粘贴图片</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">将当前图片移至回收站</system:String>
-    <system:String x:Key="StartSlideshow">放映幻灯片</system:String>
-    <system:String x:Key="CloseGallery">关闭相册</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">查看底部图</system:String>
-    <system:String x:Key="HideBottomGallery">收起底部图</system:String>
-
-    <system:String x:Key="StretchImage">拉伸图像</system:String>
-
-    <system:String x:Key="OptimizeImage">优化图像</system:String>
-
-    <system:String x:Key="Effects">特效</system:String>
-    <system:String x:Key="EffectsTooltip">显示图像特效窗口</system:String>
-
-    <system:String x:Key="CropPicture">裁剪图片</system:String>
-
-    <system:String x:Key="ShowImageInfo">显示图像信息</system:String>
-
-    <system:String x:Key="ColorPickerTool">取色工具</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">从图片中选取颜色</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">显示调整尺寸窗口</system:String>
-
-    <system:String x:Key="Resize">调整尺寸</system:String>
-    <system:String x:Key="ResizeImage">调整图像大小</system:String>
-    <system:String x:Key="NoResize">禁止缩放</system:String>
-
-    <system:String x:Key="BatchResize">批量调整尺寸</system:String>
-
-    <system:String x:Key="SourceFolder">源文件夹</system:String>
-    <system:String x:Key="OutputFolder">输出文件夹</system:String>
-
-    <system:String x:Key="ConvertTo">转换为</system:String>
-    <system:String x:Key="NoConversion">不转换</system:String>
-
-    <system:String x:Key="Compression">压缩</system:String>
-    <system:String x:Key="Lossless">无损</system:String>
-    <system:String x:Key="Lossy">有损</system:String>
-
-    <system:String x:Key="Qaulity">质量</system:String>
-    <system:String x:Key="Percentage">百分比</system:String>
-
-    <system:String x:Key="GenerateThumbnails">生成缩略图</system:String>
-    <system:String x:Key="Thumbnail">缩略图</system:String>
-
-    <system:String x:Key="Start">启动</system:String>
-    <system:String x:Key="Cancel">取消</system:String>
-
-    <system:String x:Key="None">没有任何</system:String>
-</ResourceDictionary>

+ 0 - 421
src/PicView.WPF/Translations/zh-TW.xaml

@@ -1,421 +0,0 @@
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:system="clr-namespace:System;assembly=mscorlib">
-
-    <!--  Text in the title bar  -->
-    <system:String x:Key="Loading">載入中...</system:String>
-    <system:String x:Key="NoImage">請開啟圖片</system:String>
-    <system:String x:Key="Files">檔案</system:String>
-    <system:String x:Key="File">檔案</system:String>
-    <system:String x:Key="PercentComplete">% 已完成…</system:String>
-    <system:String x:Key="CropMessage">Esc 鍵關閉,Enter 鍵儲存</system:String>
-    <system:String x:Key="ClipboardImage">剪貼簿圖片</system:String>
-    <system:String x:Key="Base64Image">Base64 圖片</system:String>
-
-    <!--  Generic Window  -->
-    <system:String x:Key="Close">關閉</system:String>
-    <system:String x:Key="RestoreDown">退出全螢幕</system:String>
-    <system:String x:Key="Maximize">最大化</system:String>
-    <system:String x:Key="Minimize">最小化</system:String>
-    <system:String x:Key="Fullscreen">全螢幕</system:String>
-    <system:String x:Key="NewWindow">新視窗</system:String>
-
-    <!--  About window  -->
-    <system:String x:Key="About">關於</system:String>
-    <system:String x:Key="InfoWindowTitle">資訊</system:String>
-    <system:String x:Key="ApplicationShortcuts">應用程式快捷鍵</system:String>
-    <system:String x:Key="ImageControl">圖片調整</system:String>
-    <system:String x:Key="FileManagement">檔案管理</system:String>
-    <system:String x:Key="DragFileTo">將檔案拖曳至 Windows 檔案總管或者其他應用程式/瀏覽器</system:String>
-    <system:String x:Key="DragImage">拖曳圖片</system:String>
-    <system:String x:Key="AdditionalFunctions">額外功能</system:String>
-    <system:String x:Key="Reload">重新載入</system:String>
-    <system:String x:Key="Credits">鳴謝</system:String>
-    <system:String x:Key="IconsUsed">圖示來自:</system:String>
-    <system:String x:Key="GithubRepo">Github</system:String>
-    <system:String x:Key="ViewLicenseFile">檢視開源協議</system:String>
-    <system:String x:Key="Version">版本:</system:String>
-    <system:String x:Key="ChangeKeybindingText">點擊文本框以更改按鍵綁定。按 Esc 鍵取消綁定。</system:String>
-    <system:String x:Key="ResetButtonText">重置為默認設置</system:String>
-    <system:String x:Key="SelectGalleryThumb">選擇畫廊縮略圖</system:String>
-    <system:String x:Key="PressKey">按鍵...</system:String>
-    <system:String x:Key="ChangeKeybindingTooltip">點擊更改鍵綁定</system:String>
-    <!--  Scroll  -->
-    <system:String x:Key="ScrollAndRotate">捲動和旋轉</system:String>
-    <system:String x:Key="ScrollUp">向上滑動</system:String>
-    <system:String x:Key="ScrollDown">向下滑動</system:String>
-    <system:String x:Key="ScrollToTop">滑動到頂部</system:String>
-    <system:String x:Key="ScrollToBottom">滑動到底部</system:String>
-    <!--  Stars  -->
-    <system:String x:Key="SetStarRating">設置星級評分</system:String>
-    <system:String x:Key="1Star">1星評分</system:String>
-    <system:String x:Key="2Star">2星評分</system:String>
-    <system:String x:Key="3Star">3星評分</system:String>
-    <system:String x:Key="4Star">4星評分</system:String>
-    <system:String x:Key="5Star">5星評分</system:String>
-    <system:String x:Key="RemoveStarRating">移除評分</system:String>
-
-    <!--  Info window, window scaling  -->
-    <system:String x:Key="WindowScaling">視窗縮放</system:String>
-    <system:String x:Key="NormalWindow">正常視窗</system:String>
-    <system:String x:Key="FillHeight">⇔ 適應高度</system:String>
-    <system:String x:Key="AutoFitWindow">自動適應視窗</system:String>
-
-    <!--  info window, interface configuration  -->
-    <system:String x:Key="InterfaceConfiguration">介面配置</system:String>
-    <system:String x:Key="HideShowInterface">顯示/隱藏介面</system:String>
-    <system:String x:Key="ToggleFullscreen">切換全螢幕</system:String>
-
-    <!--  Info window, window management  -->
-    <system:String x:Key="WindowManagement">視窗管理</system:String>
-    <system:String x:Key="InfoWindow">資訊視窗</system:String>
-    <system:String x:Key="SettingsWindow">設定視窗</system:String>
-    <system:String x:Key="EscCloseTooltip">關閉當前開啟的視窗和選單</system:String>
-    <system:String x:Key="CloseApp">關閉本應用程式</system:String>
-    <system:String x:Key="MoveWindow">移動視窗</system:String>
-    <system:String x:Key="CenterWindow">視窗居中</system:String>
-
-    <!--  Settings window, colors  -->
-    <system:String x:Key="HighlightColor">醒目強調色</system:String>
-
-    <system:String x:Key="Blue">藍色</system:String>
-    <system:String x:Key="Cyan">青色</system:String>
-    <system:String x:Key="Aqua">水藍色</system:String>
-    <system:String x:Key="Teal">藍綠色</system:String>
-
-    <system:String x:Key="Lime">檸檬綠</system:String>
-    <system:String x:Key="Green">綠色</system:String>
-    <system:String x:Key="Golden">金色</system:String>
-    <system:String x:Key="Orange">橘色</system:String>
-
-    <system:String x:Key="Red">紅色</system:String>
-    <system:String x:Key="Pink">粉紅</system:String>
-    <system:String x:Key="Magenta">洋紅色</system:String>
-    <system:String x:Key="Purple">紫色</system:String>
-
-    <!--  Settings window, theme  -->
-    <system:String x:Key="Theme">主題</system:String>
-    <system:String x:Key="DarkTheme">深色主題</system:String>
-    <system:String x:Key="LightTheme">亮色主題</system:String>
-    <system:String x:Key="ChangingThemeRequiresRestart">* 切換主題需要重新啟動應用程式</system:String>
-
-    <!--  Settings window, wallpaper  -->
-    <system:String x:Key="SetCurrentImageAsWallpaper">將當前影像設定為桌布:</system:String>
-
-    <system:String x:Key="Fill">填充</system:String>
-    <system:String x:Key="Center">居中</system:String>
-    <system:String x:Key="Fit">適應</system:String>
-    <system:String x:Key="Tile">平鋪</system:String>
-    <system:String x:Key="Stretch">拉伸</system:String>
-
-    <!--  Settings window, language  -->
-    <system:String x:Key="Language">語言</system:String>
-    <system:String x:Key="ChangingLanguageRequiresRestart">* 切換語言需要重新啟動應用程式</system:String>
-
-    <!--  Settings window, mouse  -->
-    <system:String x:Key="CtrlToZoom">Ctrl + 滑鼠滾輪縮放,滑鼠滾輪導航</system:String>
-    <system:String x:Key="ScrollToZoom">滑鼠滾輪縮放,Ctrl + 滑鼠滾輪導航</system:String>
-    <system:String x:Key="HorizontalScroll">水平卷軸</system:String>
-    <system:String x:Key="Reverse">逆轉</system:String>
-    <system:String x:Key="Forward">向前</system:String>
-
-    <!--  Settings window, misc  -->
-    <system:String x:Key="GeneralSettings">常規設定</system:String>
-    <system:String x:Key="UISettings">介面設定</system:String>
-    <system:String x:Key="MiscSettings">其他設定</system:String>
-    <system:String x:Key="SearchSubdirectory">包含子目錄中的圖片</system:String>
-    <system:String x:Key="StayTopMost">視窗置頂</system:String>
-    <system:String x:Key="StayCentered">保持視窗居中</system:String>
-    <system:String x:Key="ColoredWindowBorder">彩色視窗邊框</system:String>
-    <system:String x:Key="ShowButtonsInHiddenUI">在隱藏介面時顯示按鈕</system:String>
-    <system:String x:Key="Apply">應用</system:String>
-    <system:String x:Key="AdjustTimingForSlideshow">調整幻燈片切換時間</system:String>
-    <system:String x:Key="AdjustTimingForZoom">調整縮放動畫速度</system:String>
-    <system:String x:Key="SecAbbreviation">秒</system:String>
-    <system:String x:Key="RestartApp">重新啟動應用程式</system:String>
-    <system:String x:Key="CheckForUpdates">檢查更新</system:String>
-    <system:String x:Key="AllowZoomOut">在圖片已達最大尺寸時,不要縮小圖片</system:String>
-    <system:String x:Key="AdjustNavSpeed">按住鍵時調整速度</system:String>
-    <system:String x:Key="ToggleTaskbarProgress">顯示工作列進度</system:String>
-    <system:String x:Key="ShowFileSavingDialog">顯示檔案儲存對話方塊</system:String>
-    <system:String x:Key="ShowBottomToolbar">查看底部工具列</system:String>
-    <system:String x:Key="BottomGalleryItems">底部圖庫項目</system:String>
-    <system:String x:Key="ExpandedGalleryItems">展開的圖庫項目</system:String>
-    <system:String x:Key="ShowBottomGalleryWhenUiIsHidden">當使用者介面隱藏時顯示底部圖庫</system:String>
-    <system:String x:Key="ImageAliasing">圖像混淆</system:String>
-    <system:String x:Key="HighQuality">高品質</system:String>
-    <system:String x:Key="NearestNeighbor">最近鄰居</system:String>
-
-    <!--  Effects Window  -->
-    <system:String x:Key="NegativeColors">負片</system:String>
-    <system:String x:Key="BlackAndWhite">黑白</system:String>
-    <system:String x:Key="ColorTone">色調</system:String>
-
-    <system:String x:Key="OldMovie">老電影</system:String>
-    <system:String x:Key="Bloom">鮮明</system:String>
-    <system:String x:Key="Gloom">暗淡</system:String>
-
-    <system:String x:Key="Monochrome">單色調</system:String>
-    <system:String x:Key="WaveWarper">波浪</system:String>
-    <system:String x:Key="Underwater">水下</system:String>
-
-    <system:String x:Key="BandedSwirl">帶狀旋轉</system:String>
-    <system:String x:Key="Ripple">波紋</system:String>
-    <system:String x:Key="RippleAlt">漣漪</system:String>
-
-    <system:String x:Key="Blur">模糊</system:String>
-    <system:String x:Key="DirectionalBlur">方向模糊</system:String>
-    <system:String x:Key="TelescopicBlur">拉伸模糊</system:String>
-
-    <system:String x:Key="Pixelate">像素化</system:String>
-    <system:String x:Key="Embossed">浮雕</system:String>
-    <system:String x:Key="SmoothMagnify">扭曲放大</system:String>
-
-    <system:String x:Key="Pivot">翻轉</system:String>
-    <system:String x:Key="PaperFold">摺紙</system:String>
-    <system:String x:Key="PencilSketch">鉛筆素描</system:String>
-
-    <system:String x:Key="Sketch">素描</system:String>
-    <system:String x:Key="ToneMapping">色調映射</system:String>
-    <system:String x:Key="FrostyOutline">Frosty</system:String>
-
-    <system:String x:Key="Bands">條帶</system:String>
-    <system:String x:Key="GlassTile">毛玻璃</system:String>
-
-    <!--  Navigation related  -->
-    <system:String x:Key="Navigation">導航</system:String>
-    <system:String x:Key="NextImage">下一張圖片</system:String>
-    <system:String x:Key="PrevImage">上一張圖片</system:String>
-    <system:String x:Key="LastImage">最後一張圖片</system:String>
-    <system:String x:Key="FirstImage">第一張圖片</system:String>
-    <system:String x:Key="ToggleLooping">切換迴圈</system:String>
-    <system:String x:Key="Slideshow">幻燈片</system:String>
-    <system:String x:Key="NextFolder">導覽至下一個資料夾</system:String>
-    <system:String x:Key="PrevFolder">導覽至上一個資料夾</system:String>
-
-    <!--  Zoom related  -->
-    <system:String x:Key="Zoom">縮放</system:String>
-    <system:String x:Key="ZoomIn">放大</system:String>
-    <system:String x:Key="ZoomOut">縮小</system:String>
-    <system:String x:Key="Pan">平移</system:String>
-    <system:String x:Key="MouseDrag">滑鼠拖曳</system:String>
-    <system:String x:Key="ResetZoom">重設縮放</system:String>
-    <system:String x:Key="ToggleScroll">切換滾動</system:String>
-
-    <!--  File related  -->
-    <system:String x:Key="Open">開啟</system:String>
-    <system:String x:Key="OpenWith">開啟使用</system:String>
-    <system:String x:Key="OpenFileDialog">開啟檔案對話方塊</system:String>
-    <system:String x:Key="OpenLastFile">開啟最後一個檔案</system:String>
-    <system:String x:Key="ShowInFolder">在資料夾中顯示</system:String>
-    <system:String x:Key="Save">儲存</system:String>
-    <system:String x:Key="SaveImage">儲存圖片</system:String>
-    <system:String x:Key="Print">列印</system:String>
-    <system:String x:Key="RecentFiles">最近檔案</system:String>
-    <system:String x:Key="FileProperties">檔案屬性</system:String>
-    <system:String x:Key="DeleteFile">刪除檔案</system:String>
-    <system:String x:Key="Folder">資料夾</system:String>
-    <system:String x:Key="FullPath">完整路徑</system:String>
-    <system:String x:Key="RenameFile">重新命名檔案</system:String>
-    <system:String x:Key="UnsupportedFile">不支持的文件格式</system:String>
-
-    <!--  Sort files  -->
-    <system:String x:Key="SortFilesBy">排序方式</system:String>
-    <system:String x:Key="FileName">檔名</system:String>
-    <system:String x:Key="FileSize">檔案大小</system:String>
-    <system:String x:Key="CreationTime">建立時間</system:String>
-    <system:String x:Key="FileExtension">檔案拓展名</system:String>
-    <system:String x:Key="LastAccessTime">訪問時間</system:String>
-    <system:String x:Key="LastWriteTime">修改時間</system:String>
-    <system:String x:Key="Random">隨機</system:String>
-
-    <system:String x:Key="Ascending">上升</system:String>
-    <system:String x:Key="Descending">下降</system:String>
-
-    <!--  Settings  -->
-    <system:String x:Key="Settings">設定</system:String>
-    <system:String x:Key="Scrolling">滾動</system:String>
-    <system:String x:Key="Looping">迴圈</system:String>
-    <system:String x:Key="FitToWindow">適應視窗/圖片</system:String>
-    <system:String x:Key="ShowHideUI">顯示/隱藏介面</system:String>
-    <system:String x:Key="ChangeBackground">切換背景</system:String>
-    <system:String x:Key="ChangeBackgroundTooltip">為透明影像切換背景</system:String>
-
-    <!--  Copy related  -->
-    <system:String x:Key="Copy">複製</system:String>
-    <system:String x:Key="AddedToClipboard">已複製</system:String>
-
-    <!--  Copy file  -->
-    <system:String x:Key="CopyFile">複製檔案</system:String>
-    <system:String x:Key="DuplicateFile">複製檔案</system:String>
-    <system:String x:Key="FileCopy">檔案已複製</system:String>
-    <system:String x:Key="FileCopyPath">複製檔案路徑</system:String>
-    <system:String x:Key="FileCopyPathMessage">檔案路徑已複製</system:String>
-    <system:String x:Key="FileCutMessage">檔案已剪下</system:String>
-
-    <!--  Copy image  -->
-    <system:String x:Key="CopyImage">複製影像</system:String>
-    <system:String x:Key="CopiedImage">已將影像複製至剪貼簿</system:String>
-    <system:String x:Key="CopyImageTooltip">將圖片複製至剪貼簿</system:String>
-
-    <!--  Paste  -->
-    <system:String x:Key="FilePaste">貼上</system:String>
-
-    <!--  Cut  -->
-    <system:String x:Key="FileCut">剪下檔案</system:String>
-
-    <!--  Image info  -->
-    <system:String x:Key="ImageInfo">影像資訊</system:String>
-    <system:String x:Key="Image">圖片</system:String>
-    <system:String x:Key="Width">寬度</system:String>
-    <system:String x:Key="Height">高度</system:String>
-    <system:String x:Key="Date">時間</system:String>
-    <system:String x:Key="Created">建立時間</system:String>
-    <system:String x:Key="Modified">修改時間</system:String>
-    <system:String x:Key="Size">大小</system:String>
-    <system:String x:Key="Pixels">像素</system:String>
-    <system:String x:Key="SizeMp">大小(兆像素)</system:String>
-    <system:String x:Key="MegaPixels">百萬像素</system:String>
-    <system:String x:Key="Resolution">解析度</system:String>
-    <system:String x:Key="Dpi">DPI</system:String>
-    <system:String x:Key="DiskSize">磁碟大小</system:String>
-    <system:String x:Key="AspectRatio">縱橫比</system:String>
-    <system:String x:Key="Portrait">縱向</system:String>
-    <system:String x:Key="Landscape">橫向</system:String>
-    <system:String x:Key="Square">正方形</system:String>
-    <system:String x:Key="PrintSizeIn">列印大小(英吋)</system:String>
-    <system:String x:Key="PrintSizeCm">列印大小(公分)</system:String>
-    <system:String x:Key="Centimeters">公分</system:String>
-    <system:String x:Key="Inches">英吋</system:String>
-    <system:String x:Key="BitDepth">色深</system:String>
-    <system:String x:Key="SizeTooltip">以像素或百分比輸入所需的大小。</system:String>
-
-    <!--  Keyboard key names  -->
-    <system:String x:Key="Del">Del</system:String>
-    <system:String x:Key="Ctrl">Ctrl</system:String>
-    <system:String x:Key="Shift">Shift</system:String>
-    <system:String x:Key="Alt">Alt</system:String>
-    <system:String x:Key="Space">Space</system:String>
-    <system:String x:Key="Enter">Enter</system:String>
-    <system:String x:Key="Esc">Esc</system:String>
-    <system:String x:Key="NumpadPlus">數字鍵盤 +</system:String>
-    <system:String x:Key="NumpadMinus">數字鍵盤 -</system:String>
-    <!--  Mouse key names  -->
-    <system:String x:Key="MouseWheel">滑鼠滾輪</system:String>
-    <system:String x:Key="MouseKeyForward">滑鼠拓展鍵 向前鍵</system:String>
-    <system:String x:Key="MouseKeyBack">滑鼠拓展鍵 向後鍵</system:String>
-    <system:String x:Key="DoubleClick">雙擊</system:String>
-    <!--  Arrow key names  -->
-    <system:String x:Key="Left">左</system:String>
-    <system:String x:Key="Right">右</system:String>
-    <system:String x:Key="Up">上</system:String>
-    <system:String x:Key="Down">下</system:String>
-
-    <!--  Error messages  -->
-    <system:String x:Key="SavingFileFailed">檔案儲存失敗</system:String>
-    <system:String x:Key="UnexpectedError">發生未知錯誤</system:String>
-    <system:String x:Key="NoImages">無影像</system:String>
-    <system:String x:Key="UnableToRender">无法渲染图像</system:String>
-
-    <!--  Drag and drop  -->
-    <system:String x:Key="DragOverString">拖放以開啟影像</system:String>
-
-    <!--  Wallpaper  -->
-    <system:String x:Key="SetAs">設定為…</system:String>
-    <system:String x:Key="SetAsWallpaper">設定為背景</system:String>
-    <system:String x:Key="SetAsLockScreenImage">設為鎖定畫面</system:String>
-
-    <!--  Edit  -->
-    <system:String x:Key="Crop">裁剪</system:String>
-    <system:String x:Key="RotateRight">向右旋轉</system:String>
-    <system:String x:Key="RotateLeft">向左旋轉</system:String>
-    <system:String x:Key="Flip">水平翻轉</system:String>
-    <system:String x:Key="Unflip">取消水平翻轉</system:String>
-
-    <!--  Archives  -->
-    <system:String x:Key="BadArchive">無法處理壓縮檔案</system:String>
-    <system:String x:Key="PasswordArchive">暫不支援加密的壓縮檔案</system:String>
-
-    <!--  Delete file messages  -->
-    <system:String x:Key="SentFileToRecycleBin">將檔案移至回收筒</system:String>
-    <system:String x:Key="DeletedFile">已刪除檔案</system:String>
-    <system:String x:Key="AnErrorOccuredWhenDeleting">刪除時發生錯誤</system:String>
-
-    <!--  Scaling messages  -->
-    <system:String x:Key="AutoFitWindowMessage">設定為視窗中心影像</system:String>
-    <system:String x:Key="AutoFitWindowFillHeight">設定為視窗中心影像,填充高度</system:String>
-    <system:String x:Key="NormalWindowBehavior">設定為將應用程式居中到視窗</system:String>
-    <system:String x:Key="NormalWindowBehaviorFillHeight">設定為將應用程式居中到視窗,填充高度</system:String>
-
-    <system:String x:Key="ScrollingEnabled">已啟用滾動</system:String>
-    <system:String x:Key="ScrollingDisabled">已禁用滾動</system:String>
-
-    <!--  Misc messages  -->
-    <system:String x:Key="ConvertedToBase64">已複製為 base64</system:String>
-    <system:String x:Key="LoopingEnabled">已啟用迴圈</system:String>
-    <system:String x:Key="LoopingDisabled">已禁用迴圈</system:String>
-    <system:String x:Key="Applying">正在應用</system:String>
-
-    <!--  Button hover tooltips  -->
-    <system:String x:Key="ShowInfoWindow">顯示應用程式資訊視窗</system:String>
-    <system:String x:Key="ShowAllSettingsWindow">顯示設定視窗</system:String>
-
-    <system:String x:Key="ToggleBackgroundColor">切換背景色</system:String>
-    <system:String x:Key="ShowImageGallery">顯示圖片相簿</system:String>
-    <system:String x:Key="GoToImageAtSpecifiedIndex">跳轉至指定圖片</system:String>
-    <system:String x:Key="AdjustZoomLevel">調整縮放級別</system:String>
-
-    <system:String x:Key="PasteImageFromClipholder">從剪貼簿中貼上圖片</system:String>
-    <system:String x:Key="SendCurrentImageToRecycleBin">將當前圖片移至回收筒</system:String>
-    <system:String x:Key="StartSlideshow">放映幻燈片</system:String>
-    <system:String x:Key="CloseGallery">關閉相簿</system:String>
-
-    <!--  Menu buttons text  -->
-    <system:String x:Key="ShowBottomGallery">查看底部圖</system:String>
-    <system:String x:Key="HideBottomGallery">收起底部圖</system:String>
-
-    <system:String x:Key="StretchImage">拉伸圖片</system:String>
-
-    <system:String x:Key="OptimizeImage">最佳化影像</system:String>
-
-    <system:String x:Key="Effects">特效</system:String>
-    <system:String x:Key="EffectsTooltip">顯示影像特效視窗</system:String>
-
-    <system:String x:Key="CropPicture">裁切圖片</system:String>
-
-    <system:String x:Key="ShowImageInfo">顯示影像資訊</system:String>
-
-    <system:String x:Key="ColorPickerTool">取色工具</system:String>
-    <system:String x:Key="ColorPickerToolTooltip">從圖片中選取顏色</system:String>
-
-    <!--  Resize Window  -->
-    <system:String x:Key="ShowResizeWindow">顯示調整大小視窗</system:String>
-
-    <system:String x:Key="Resize">調整尺寸</system:String>
-    <system:String x:Key="ResizeImage">調整影像尺寸</system:String>
-    <system:String x:Key="NoResize">不調整尺寸</system:String>
-
-    <system:String x:Key="BatchResize">批次調整影像尺寸</system:String>
-
-    <system:String x:Key="SourceFolder">原始資料夾</system:String>
-    <system:String x:Key="OutputFolder">匯出目錄</system:String>
-
-    <system:String x:Key="ConvertTo">轉換成</system:String>
-    <system:String x:Key="NoConversion">沒有轉換</system:String>
-
-    <system:String x:Key="Compression">壓縮</system:String>
-    <system:String x:Key="Lossless">無損</system:String>
-    <system:String x:Key="Lossy">有損</system:String>
-
-    <system:String x:Key="Qaulity">品質</system:String>
-    <system:String x:Key="Percentage">百分比</system:String>
-
-    <system:String x:Key="GenerateThumbnails">生成縮圖</system:String>
-    <system:String x:Key="Thumbnail">縮圖</system:String>
-
-    <system:String x:Key="Start">啟動</system:String>
-    <system:String x:Key="Cancel">取消</system:String>
-
-    <system:String x:Key="None">沒有任何</system:String>
-</ResourceDictionary>

+ 74 - 17
src/PicView.WPF/UILogic/Loading/LoadContextMenus.cs

@@ -10,6 +10,7 @@ using PicView.WPF.UILogic.Sizing;
 using System.Windows;
 using System.Windows.Controls;
 using System.Windows.Input;
+using PicView.Core.Localization;
 using static PicView.WPF.ChangeImage.Navigation;
 using static PicView.WPF.FileHandling.OpenSave;
 using static PicView.WPF.UILogic.ConfigureWindows;
@@ -29,30 +30,34 @@ namespace PicView.WPF.UILogic.Loading
             //     Open              \\
             ///////////////////////////
             var openCm = (MenuItem)MainContextMenu.Items[0];
-            openCm.InputGestureText = $"{Application.Current.Resources["Ctrl"]} + O";
+            openCm.InputGestureText = TranslationHelper.GetTranslation("Ctrl") + " O";
             openCm.Click += async (_, _) => await OpenAsync().ConfigureAwait(false);
+            openCm.Header = TranslationHelper.GetTranslation("Open");
 
             ///////////////////////////
             //     Save             \\
             ///////////////////////////
             var saveCm = (MenuItem)MainContextMenu.Items[1];
-            saveCm.InputGestureText = $"{Application.Current.Resources["Ctrl"]} + S";
+            saveCm.InputGestureText = TranslationHelper.GetTranslation("Ctrl") + " S";
             saveCm.Click += async (s, x) =>
                 await SaveFilesAsync(SettingsHelper.Settings.UIProperties.ShowFileSavingDialog).ConfigureAwait(false);
+            saveCm.Header = TranslationHelper.GetTranslation("Save");
 
             ///////////////////////////
             //       Print          \\\
             ///////////////////////////
             var printCm = (MenuItem)MainContextMenu.Items[2];
-            printCm.InputGestureText = $"{Application.Current.Resources["Ctrl"]} + P";
+            printCm.InputGestureText = TranslationHelper.GetTranslation("Ctrl") + " P";
             printCm.Click += (s, x) => Print(Pics[FolderIndex]);
+            printCm.Header = TranslationHelper.GetTranslation("Print");
 
             ///////////////////////////
             //     Open With        \\\
             ///////////////////////////
             var openWcm = (MenuItem)MainContextMenu.Items[3];
-            openWcm.InputGestureText = $"{Application.Current.Resources["Ctrl"]} + E";
+            openWcm.InputGestureText = TranslationHelper.GetTranslation("Ctrl") + " E";
             openWcm.Click += (_, _) => OpenWith();
+            openWcm.Header = TranslationHelper.GetTranslation("OpenWith");
 
             // 4 == separator
 
@@ -60,6 +65,7 @@ namespace PicView.WPF.UILogic.Loading
             //     Sort by          \\
             ///////////////////////////
             var sortFilesByCm = (MenuItem)MainContextMenu.Items[5];
+            sortFilesByCm.Header = TranslationHelper.GetTranslation("SortFilesBy");
 
             // FileName
             var fileNameMenu = (MenuItem)sortFilesByCm.Items[0];
@@ -70,6 +76,7 @@ namespace PicView.WPF.UILogic.Loading
                 MainContextMenu.IsOpen = false;
                 await UpdateUIValues.ChangeSortingAsync(FileListHelper.SortFilesBy.Name).ConfigureAwait(false);
             };
+            fileNameHeader.Content = TranslationHelper.GetTranslation("FileName");
 
             // FileSize
             var filesizeMenu = (MenuItem)sortFilesByCm.Items[1];
@@ -80,6 +87,7 @@ namespace PicView.WPF.UILogic.Loading
                 MainContextMenu.IsOpen = false;
                 await UpdateUIValues.ChangeSortingAsync(FileListHelper.SortFilesBy.FileSize).ConfigureAwait(false);
             };
+            filesizeHeader.Content = TranslationHelper.GetTranslation("FileSize");
 
             // FileExtension
             var fileExtensionMenu = (MenuItem)sortFilesByCm.Items[2];
@@ -90,6 +98,7 @@ namespace PicView.WPF.UILogic.Loading
                 MainContextMenu.IsOpen = false;
                 await UpdateUIValues.ChangeSortingAsync(FileListHelper.SortFilesBy.Extension).ConfigureAwait(false);
             };
+            fileExtensionHeader.Content = TranslationHelper.GetTranslation("FileExtension");
 
             // CreationTime
             var creationTimeMenu = (MenuItem)sortFilesByCm.Items[3];
@@ -100,6 +109,7 @@ namespace PicView.WPF.UILogic.Loading
                 MainContextMenu.IsOpen = false;
                 await UpdateUIValues.ChangeSortingAsync(FileListHelper.SortFilesBy.CreationTime).ConfigureAwait(false);
             };
+            creationTimeHeader.Content = TranslationHelper.GetTranslation("CreationTime");
 
             // LastAccessTime
             var lastAccessTimeMenu = (MenuItem)sortFilesByCm.Items[4];
@@ -111,6 +121,7 @@ namespace PicView.WPF.UILogic.Loading
                 MainContextMenu.IsOpen = false;
                 await UpdateUIValues.ChangeSortingAsync(FileListHelper.SortFilesBy.LastAccessTime).ConfigureAwait(false);
             };
+            lastAccessTimeHeader.Content = TranslationHelper.GetTranslation("LastAccessTime");
 
             // LastWriteTime
             var lastWriteTimeMenu = (MenuItem)sortFilesByCm.Items[5];
@@ -122,6 +133,7 @@ namespace PicView.WPF.UILogic.Loading
                 MainContextMenu.IsOpen = false;
                 await UpdateUIValues.ChangeSortingAsync(FileListHelper.SortFilesBy.LastWriteTime).ConfigureAwait(false);
             };
+            lastWriteTimeHeader.Content = TranslationHelper.GetTranslation("LastWriteTime");
 
             // Random
             var randomMenu = (MenuItem)sortFilesByCm.Items[6];
@@ -132,6 +144,7 @@ namespace PicView.WPF.UILogic.Loading
                 MainContextMenu.IsOpen = false;
                 await UpdateUIValues.ChangeSortingAsync(FileListHelper.SortFilesBy.Random).ConfigureAwait(false);
             };
+            randomHeader.Content = TranslationHelper.GetTranslation("Random");
 
             // 7 = separator
 
@@ -144,6 +157,7 @@ namespace PicView.WPF.UILogic.Loading
                 SettingsHelper.Settings.Sorting.Ascending = true;
                 await UpdateUIValues.ChangeSortingAsync(0, true).ConfigureAwait(false);
             };
+            ascendingHeader.Content = TranslationHelper.GetTranslation("Ascending");
 
             // Descending
             var descendingMenu = (MenuItem)sortFilesByCm.Items[9];
@@ -154,16 +168,19 @@ namespace PicView.WPF.UILogic.Loading
                 SettingsHelper.Settings.Sorting.Ascending = false;
                 await UpdateUIValues.ChangeSortingAsync(0, true).ConfigureAwait(false);
             };
+            descendingHeader.Content = TranslationHelper.GetTranslation("Descending");
 
             ///////////////////////////
             //     Recent files      \\
             ///////////////////////////
-            //var recentMenu = (MenuItem)MainContextMenu.Items[6];
+            var recentMenu = (MenuItem)MainContextMenu.Items[6];
+            recentMenu.Header = TranslationHelper.GetTranslation("RecentFiles");
 
             ///////////////////////////
             //      Settings         \\
             ///////////////////////////
             var settingsCm = (MenuItem)MainContextMenu.Items[7];
+            settingsCm.Header = TranslationHelper.GetTranslation("Settings");
 
             // Looping
             var loopingMenu = (MenuItem)settingsCm.Items[0];
@@ -175,6 +192,7 @@ namespace PicView.WPF.UILogic.Loading
                 UpdateUIValues.SetLooping();
                 loopingHeader.IsChecked = !loopingHeader.IsChecked;
             };
+            loopingHeader.Content = TranslationHelper.GetTranslation("ToggleLooping");
 
             // Scrolling
             var ScrollingMenu = (MenuItem)settingsCm.Items[1];
@@ -186,10 +204,11 @@ namespace PicView.WPF.UILogic.Loading
                 UpdateUIValues.SetScrolling();
                 ScrollingHeader.IsChecked = !ScrollingHeader.IsChecked;
             };
+            ScrollingHeader.Content = TranslationHelper.GetTranslation("Scrolling");
 
             // ToogleUI
             var ToogleUIMenu = (MenuItem)settingsCm.Items[2];
-            ToogleUIMenu.InputGestureText = $"{Application.Current.Resources["Alt"]} + Z";
+            ToogleUIMenu.InputGestureText = TranslationHelper.GetTranslation("Alt") + " Z";
             var ToogleUIHeader = (CheckBox)ToogleUIMenu.Header;
             ToogleUIHeader.IsChecked = SettingsHelper.Settings.UIProperties.ShowInterface;
             ToogleUIHeader.Click += (_, _) => HideInterfaceLogic.ToggleInterface();
@@ -198,6 +217,7 @@ namespace PicView.WPF.UILogic.Loading
                 HideInterfaceLogic.ToggleInterface();
                 ToogleUIHeader.IsChecked = !ToogleUIHeader.IsChecked;
             };
+            ToogleUIHeader.Content = TranslationHelper.GetTranslation("ShowHideUI");
 
             // Change bg
             var ChangeBackgroundMenu = (MenuItem)settingsCm.Items[3];
@@ -205,6 +225,8 @@ namespace PicView.WPF.UILogic.Loading
             ChangeBackgroundMenu.InputGestureText = CustomKeybindings.CustomShortcuts?
                 .FirstOrDefault(kv => kv.Value?.Method?.Name == "ChangeBackground")
                 .Key.ToString() ?? string.Empty;
+            ChangeBackgroundMenu.ToolTip = TranslationHelper.GetTranslation("ChangeBackgroundTooltip");
+            ChangeBackgroundMenu.Header = TranslationHelper.GetTranslation("ChangeBackground");
 
             // Topmost
             var TopmostMenu = (MenuItem)settingsCm.Items[4];
@@ -215,6 +237,7 @@ namespace PicView.WPF.UILogic.Loading
             TopmostMenu.InputGestureText = CustomKeybindings.CustomShortcuts?
                 .FirstOrDefault(kv => kv.Value?.Method?.Name == "SetTopMost")
                 .Key.ToString() ?? string.Empty;
+            TopmostHeader.Content = TranslationHelper.GetTranslation("StayTopMost");
 
             // Fill Image Height
             var imageHeightMenu = (MenuItem)settingsCm.Items[5];
@@ -225,6 +248,7 @@ namespace PicView.WPF.UILogic.Loading
             imageHeightMenu.InputGestureText = CustomKeybindings.CustomShortcuts?
                 .FirstOrDefault(kv => kv.Value?.Method?.Name == "Stretch")
                 .Key.ToString() ?? string.Empty;
+            imageHeightHeader.Content = TranslationHelper.GetTranslation("StretchImage");
 
             // Ctrl to zoom
             var ctrlZoomMenu = (MenuItem)settingsCm.Items[6];
@@ -232,6 +256,7 @@ namespace PicView.WPF.UILogic.Loading
             ctrlZoomHeader.IsChecked = SettingsHelper.Settings.Zoom.CtrlZoom;
             ctrlZoomMenu.Click += (_, _) => UpdateUIValues.SetCtrlToZoom(ctrlZoomHeader.IsChecked.Value);
             ctrlZoomHeader.Click += (_, _) => UpdateUIValues.SetCtrlToZoom(ctrlZoomHeader.IsChecked.Value);
+            ctrlZoomHeader.Content = TranslationHelper.GetTranslation("CtrlToZoom");
 
             // 7 = seperator
 
@@ -242,6 +267,8 @@ namespace PicView.WPF.UILogic.Loading
                 SettingsWindow();
                 MainContextMenu.IsOpen = false;
             };
+            SettingsMenu.ToolTip = TranslationHelper.GetTranslation("ShowAllSettingsWindow");
+            SettingsMenu.Header = TranslationHelper.GetTranslation("SettingsWindow");
 
             // 8 = seperator
 
@@ -249,18 +276,21 @@ namespace PicView.WPF.UILogic.Loading
             ///   Set as           \\\\
             ///////////////////////////
             var SetAsCm = (MenuItem)MainContextMenu.Items[9];
+            SetAsCm.Header = TranslationHelper.GetTranslation("SetAs");
             var SetWallpaperCm = (MenuItem)SetAsCm.Items[0];
             SetWallpaperCm.Click += async (_, _) =>
             {
                 MainContextMenu.IsOpen = false;
                 await Wallpaper.SetWallpaperAsync(Wallpaper.WallpaperStyle.Fill).ConfigureAwait(false);
             };
+            SetWallpaperCm.Header = TranslationHelper.GetTranslation("SetAsWallpaper");
             var SetLockCm = (MenuItem)SetAsCm.Items[1];
             SetLockCm.Click += async (_, _) =>
             {
                 MainContextMenu.IsOpen = false;
                 await LockScreenHelper.SetLockScreenImageAsync().ConfigureAwait(false);
             };
+            SetLockCm.Header = TranslationHelper.GetTranslation("SetAsLockScreenImage");
 
             ///////////////////////////
             ///   ShowInFolder     \\\\
@@ -270,21 +300,26 @@ namespace PicView.WPF.UILogic.Loading
             ShowInFolderCm.InputGestureText = CustomKeybindings.CustomShortcuts?
                 .FirstOrDefault(kv => kv.Value?.Method?.Name == "OpenInExplorer")
                 .Key.ToString() ?? string.Empty;
+            ShowInFolderCm.Header = TranslationHelper.GetTranslation("ShowInFolder");
 
             ///////////////////////////
             ///   Image choices    \\\\
             ///////////////////////////
             var ImageChoices = (MenuItem)MainContextMenu.Items[11];
+            ImageChoices.Header = TranslationHelper.GetTranslation("Image");
 
             var ImageInfoCm = (MenuItem)ImageChoices.Items[0];
             ImageInfoCm.Click += (_, _) => ImageInfoWindow();
             ImageInfoCm.InputGestureText = CustomKeybindings.CustomShortcuts?
                 .FirstOrDefault(kv => kv.Value?.Method.Name == "ImageInfoWindow")
                 .Key.ToString() ?? string.Empty;
+            ImageInfoCm.ToolTip = TranslationHelper.GetTranslation("ShowImageInfo");
+            ImageInfoCm.Header = TranslationHelper.GetTranslation("ImageInfo");
 
             var FileProps = (MenuItem)ImageChoices.Items[1];
             FileProps.Click += (_, _) => FileProperties.ShowFileProperties();
-            FileProps.InputGestureText = $"{Application.Current.Resources["Ctrl"]} + I";
+            FileProps.InputGestureText = TranslationHelper.GetTranslation("Ctrl") + " I";
+            FileProps.Header = TranslationHelper.GetTranslation("FileProperties");
 
             // 2 = seperator
 
@@ -293,12 +328,14 @@ namespace PicView.WPF.UILogic.Loading
             ImageSize.InputGestureText = CustomKeybindings.CustomShortcuts?
                 .FirstOrDefault(kv => kv.Value?.Method.Name == "ResizeImage")
                 .Key.ToString() ?? string.Empty;
+            ImageSize.Header = TranslationHelper.GetTranslation("ResizeImage");
 
             var BatchSize = (MenuItem)ImageChoices.Items[4];
             BatchSize.Click += (_, _) => ResizeWindow();
             BatchSize.InputGestureText = CustomKeybindings.CustomShortcuts?
                 .FirstOrDefault(kv => kv.Value?.Method.Name == "ResizeWindow")
                 .Key.ToString() ?? string.Empty;
+            BatchSize.Header = TranslationHelper.GetTranslation("BatchResize");
 
             // 12 = seperator
 
@@ -306,23 +343,27 @@ namespace PicView.WPF.UILogic.Loading
             ///   Copy             \\\\
             ///////////////////////////
             var CopyCm = (MenuItem)MainContextMenu.Items[13];
+            CopyCm.Header = TranslationHelper.GetTranslation("Copy");
 
             // Copy file
             var copyFileCm = (MenuItem)CopyCm.Items[0];
-            copyFileCm.InputGestureText = $"{Application.Current.Resources["Ctrl"]} + C";
+            copyFileCm.InputGestureText = TranslationHelper.GetTranslation("Ctrl") + " C";
             copyFileCm.Click += (_, _) => CopyPaste.CopyFile();
+            copyFileCm.Header = TranslationHelper.GetTranslation("CopyFile");
 
             // FileCopyPath
             var FileCopyPathCm = (MenuItem)CopyCm.Items[1];
             FileCopyPathCm.InputGestureText =
-                $"{Application.Current.Resources["Ctrl"]} + {Application.Current.Resources["Alt"]} + C";
+                $"{TranslationHelper.GetTranslation("Ctrl")} + {TranslationHelper.GetTranslation("Alt")} + C";
             FileCopyPathCm.Click += (_, _) => CopyPaste.CopyFilePath();
+            FileCopyPathCm.Header = TranslationHelper.GetTranslation("FileCopyPath");
 
             // CopyImage
             var CopyImageCm = (MenuItem)CopyCm.Items[2];
             CopyImageCm.InputGestureText =
-                $"{Application.Current.Resources["Ctrl"]} + {Application.Current.Resources["Shift"]} + C";
+                $"{TranslationHelper.GetTranslation("Ctrl")} + {TranslationHelper.GetTranslation("Shift")} + C";
             CopyImageCm.Click += (_, _) => CopyPaste.CopyBitmap();
+            CopyImageCm.Header = TranslationHelper.GetTranslation("CopyImage");
 
             // CopyBase64
             var CopyBase64Cm = (MenuItem)CopyCm.Items[3];
@@ -331,6 +372,7 @@ namespace PicView.WPF.UILogic.Loading
                 MainContextMenu.IsOpen = false;
                 await Base64.SendToClipboard().ConfigureAwait(false);
             };
+            CopyBase64Cm.Header = $"{TranslationHelper.GetTranslation("Copy")} base64";
 
             ///////////////////////////
             ///   Duplicate File         \\\\
@@ -344,28 +386,31 @@ namespace PicView.WPF.UILogic.Loading
             Dupcm.InputGestureText = CustomKeybindings.CustomShortcuts?
                 .FirstOrDefault(kv => kv.Value?.Method?.Name == "DuplicateFile")
                 .Key.ToString() ?? string.Empty;
+            Dupcm.Header = TranslationHelper.GetTranslation("DuplicateFile");
 
             ///////////////////////////
             ///   Cut File         \\\\
             ///////////////////////////
             var Cutcm = (MenuItem)MainContextMenu.Items[15];
-            Cutcm.InputGestureText = $"{Application.Current.Resources["Ctrl"]} + X";
+            Cutcm.InputGestureText = TranslationHelper.GetTranslation("Ctrl") + " X";
             Cutcm.Click += (_, _) =>
             {
                 MainContextMenu.IsOpen = false;
                 CopyPaste.Cut();
             };
+            Cutcm.Header = TranslationHelper.GetTranslation("FileCut");
 
             ///////////////////////////
             ///   Paste File       \\\\
             ///////////////////////////
             var pastecm = (MenuItem)MainContextMenu.Items[16];
-            pastecm.InputGestureText = $"{Application.Current.Resources["Ctrl"]} + V";
+            pastecm.InputGestureText = TranslationHelper.GetTranslation("Ctrl") + " V";
             pastecm.Click += async delegate
             {
                 MainContextMenu.IsOpen = false;
                 await CopyPaste.PasteAsync().ConfigureAwait(false);
             };
+            pastecm.Header = TranslationHelper.GetTranslation("FilePaste");
 
             // 17 = seperator
 
@@ -377,6 +422,8 @@ namespace PicView.WPF.UILogic.Loading
                 await DeleteFiles
                     .DeleteCurrentFileAsync(
                         Keyboard.IsKeyDown(Key.LeftShift) || Keyboard.IsKeyDown(Key.RightShift)).ConfigureAwait(false);
+            Deletecm.ToolTip = TranslationHelper.GetTranslation("SendCurrentImageToRecycleBin");
+            Deletecm.Header = TranslationHelper.GetTranslation("DeleteFile");
 
             // 19 = seperator
 
@@ -385,18 +432,22 @@ namespace PicView.WPF.UILogic.Loading
             ///////////////////////////
             var CloseCm = (MenuItem)MainContextMenu.Items[20];
             CloseCm.Click += (_, _) => SystemCommands.CloseWindow(GetMainWindow);
+            CloseCm.Header = TranslationHelper.GetTranslation("Close");
 
             // Add Window contextmenu
             WindowContextMenu = (ContextMenu)Application.Current.Resources["windowCM"];
 
             var fullscreenWindow = (MenuItem)WindowContextMenu.Items[0];
             fullscreenWindow.Click += (_, _) => WindowSizing.Fullscreen_Restore(!SettingsHelper.Settings.WindowProperties.Fullscreen);
+            fullscreenWindow.Header = TranslationHelper.GetTranslation("ToggleFullscreen");
 
             var minWindow = (MenuItem)WindowContextMenu.Items[1];
             minWindow.Click += (_, _) => SystemCommands.MinimizeWindow(GetMainWindow);
+            minWindow.Header = TranslationHelper.GetTranslation("Minimize");
 
             var closeWindow = (MenuItem)WindowContextMenu.Items[2];
             closeWindow.Click += (_, _) => SystemCommands.CloseWindow(GetMainWindow);
+            closeWindow.Header = TranslationHelper.GetTranslation("Close");
 
             GetMainWindow.Logo.ContextMenu = WindowContextMenu;
             GetMainWindow.GalleryButton.ContextMenu = WindowContextMenu;
@@ -414,31 +465,37 @@ namespace PicView.WPF.UILogic.Loading
                 .FirstOrDefault(kv => kv.Value?.Method?.Name == "Next")
                 .Key;
             nextCm.InputGestureText = nextKey?.ToString();
+            nextCm.Header = TranslationHelper.GetTranslation("NextImage");
 
             var prevCm = (MenuItem)NavigationContextMenu.Items[1];
             prevCm.Click += async (_, _) => await GoToNextImage(NavigateTo.Previous).ConfigureAwait(false);
             var prevKey = CustomKeybindings.CustomShortcuts?
                 .FirstOrDefault(kv => kv.Value?.Method?.Name == "Prev")
                 .Key;
-            nextCm.InputGestureText = prevKey?.ToString();
+            prevCm.InputGestureText = prevKey?.ToString();
+            prevCm.Header = TranslationHelper.GetTranslation("PrevImage");
 
             // 2 = separator
             var firstCm = (MenuItem)NavigationContextMenu.Items[3];
             firstCm.Click += async (_, _) => await GoToNextImage(NavigateTo.First).ConfigureAwait(false);
-            firstCm.InputGestureText = $"{Application.Current.Resources["Ctrl"]} + {prevKey?.ToString()}";
+            firstCm.InputGestureText = $"{TranslationHelper.GetTranslation("Ctrl")} + {prevKey?.ToString()}";
+            firstCm.Header = TranslationHelper.GetTranslation("FirstImage");
 
             var lastCm = (MenuItem)NavigationContextMenu.Items[4];
             lastCm.Click += async (_, _) => await GoToNextImage(NavigateTo.Last).ConfigureAwait(false);
-            lastCm.InputGestureText = $"{Application.Current.Resources["Ctrl"]} + {nextKey?.ToString()}";
+            lastCm.InputGestureText = $"{TranslationHelper.GetTranslation("Ctrl")} + {nextKey?.ToString()}";
+            lastCm.Header = TranslationHelper.GetTranslation("LastImage");
 
             // 5 = separator
             var nextFolderCm = (MenuItem)NavigationContextMenu.Items[6];
             nextFolderCm.Click += async (_, _) => await GoToNextFolder(true).ConfigureAwait(false);
-            nextFolderCm.InputGestureText = $"{Application.Current.Resources["Shift"]} + {nextKey?.ToString()}";
+            nextFolderCm.InputGestureText = $"{TranslationHelper.GetTranslation("Shift")} + {nextKey?.ToString()}";
+            nextFolderCm.Header = TranslationHelper.GetTranslation("NextFolder");
 
             var prevFolderCm = (MenuItem)NavigationContextMenu.Items[7];
             prevFolderCm.Click += async (_, _) => await GoToNextFolder(false).ConfigureAwait(false);
-            prevFolderCm.InputGestureText = $"{Application.Current.Resources["Shift"]} +  {prevKey?.ToString()}";
+            prevFolderCm.InputGestureText = $"{TranslationHelper.GetTranslation("Shift")} + {prevKey?.ToString()}";
+            prevFolderCm.Header = TranslationHelper.GetTranslation("PrevFolder");
 
             GetMainWindow.LeftButton.ContextMenu = NavigationContextMenu;
             GetMainWindow.RightButton.ContextMenu = NavigationContextMenu;

+ 18 - 4
src/PicView.WPF/UILogic/Loading/StartLoading.cs

@@ -99,17 +99,25 @@ internal static class StartLoading
                 GetSpinWaiter = spinner;
                 mainWindow.ParentContainer.Children.Add(spinner);
             });
-        }
 
-        if (args.Length > 1)
-        {
             await QuickLoad.QuickLoadAsync(args[1], null, bitmapSource).ConfigureAwait(false);
         }
         else
         {
-            ErrorHandling.Unload(true);
+            Navigation.Pics = new List<string>();
+            await startupWindow.Dispatcher.InvokeAsync(() =>
+            {
+                mainWindow = new MainWindow();
+                ConfigureWindows.GetMainWindow = mainWindow;
+                startupWindow.TheGrid.Children.Remove(spinner);
+                GetSpinWaiter = spinner;
+                mainWindow.ParentContainer.Children.Add(spinner);
+            });
         }
 
+        var language = SettingsHelper.Settings.UIProperties.UserLanguage;
+        await Core.Localization.TranslationHelper.LoadLanguage(language).ConfigureAwait(false);
+
         await CustomKeybindings.LoadKeybindings().ConfigureAwait(false);
 
         await startupWindow.Dispatcher.InvokeAsync(() =>
@@ -175,6 +183,11 @@ internal static class StartLoading
             startupWindow.Close();
         });
 
+        if (args.Length <= 1)
+        {
+            ErrorHandling.Unload(true);
+        }
+
         ConfigColors.UpdateColor();
     }
 
@@ -245,6 +258,7 @@ internal static class StartLoading
         ConfigureWindows.GetMainWindow.AllowDrop = true;
         ConfigColors.SetColors();
 
+        AddDictionaries();
         LoadClickArrow(true);
         LoadClickArrow(false);
         Loadx2();

+ 1 - 1
src/PicView.WPF/UILogic/Sizing/WindowSizing.cs

@@ -286,7 +286,7 @@ namespace PicView.WPF.UILogic.Sizing
 
         internal static void SetLastWindowSize(Window window)
         {
-            window.Dispatcher.Invoke(() =>
+            window?.Dispatcher.Invoke(() =>
             {
                 window.Top = SettingsHelper.Settings.WindowProperties.Top;
                 window.Left = SettingsHelper.Settings.WindowProperties.Left;

+ 18 - 6
src/PicView.WPF/UILogic/UC.cs

@@ -5,6 +5,7 @@ using PicView.WPF.ChangeImage;
 using PicView.WPF.ChangeTitlebar;
 using PicView.WPF.PicGallery;
 using PicView.Core.Config;
+using PicView.Core.Localization;
 using PicView.WPF.Views.UserControls.Buttons;
 using PicView.WPF.Views.UserControls.Menus;
 using PicView.WPF.Views.UserControls.Misc;
@@ -52,6 +53,10 @@ namespace PicView.WPF.UILogic
             private set
             {
                 _imageSettingsMenuOpen = value;
+                if (GetImageSettingsMenu is null)
+                {
+                    return;
+                }
                 GetImageSettingsMenu.Visibility = Visibility.Visible;
                 var da = new DoubleAnimation { Duration = TimeSpan.FromSeconds(.3) };
                 if (!value)
@@ -75,11 +80,10 @@ namespace PicView.WPF.UILogic
                         (Navigation.FolderIndex + 1)
                         .ToString(CultureInfo.CurrentCulture);
                 }
-
-                GetImageSettingsMenu.ShowBottomGalleryText.Text =
-                    SettingsHelper.Settings.Gallery.IsBottomGalleryShown
-                        ? (string)Application.Current.Resources["HideBottomGallery"]
-                        : (string)Application.Current.Resources["ShowBottomGallery"];
+                var showHideGallery = SettingsHelper.Settings.Gallery.IsBottomGalleryShown == false
+                    ? "ShowBottomGallery"
+                    : "HideBottomGallery";
+                GetImageSettingsMenu.ShowBottomGalleryText.Text = TranslationHelper.GetTranslation(showHideGallery);
             }
         }
 
@@ -92,6 +96,10 @@ namespace PicView.WPF.UILogic
             private set
             {
                 _fileMenuOpen = value;
+                if (GetFileMenu is null)
+                {
+                    return;
+                }
                 GetFileMenu.Visibility = Visibility.Visible;
                 var da = new DoubleAnimation { Duration = TimeSpan.FromSeconds(.3) };
                 if (!value)
@@ -151,6 +159,10 @@ namespace PicView.WPF.UILogic
             private set
             {
                 _toolsAndEffectsMenuOpen = value;
+                if (GetToolsAndEffectsMenu is null)
+                {
+                    return;
+                }
                 GetToolsAndEffectsMenu.Visibility = Visibility.Visible;
                 var da = new DoubleAnimation { Duration = TimeSpan.FromSeconds(.3) };
                 if (!value)
@@ -165,7 +177,7 @@ namespace PicView.WPF.UILogic
                 }
 
                 // ReSharper disable once ConstantConditionalAccessQualifier
-                GetToolsAndEffectsMenu?.BeginAnimation(UIElement.OpacityProperty, da);
+                GetToolsAndEffectsMenu.BeginAnimation(UIElement.OpacityProperty, da);
             }
         }
 

+ 4 - 0
src/PicView.WPF/UILogic/UIHelper.cs

@@ -772,6 +772,10 @@ namespace PicView.WPF.UILogic
             {
                 return;
             }
+            if (ErrorHandling.CheckOutOfRange())
+            {
+                return;
+            }
             OpenSave.OpenInExplorer(Navigation.Pics[Navigation.FolderIndex]);
         }
 

+ 9 - 11
src/PicView.WPF/Views/Resources/GalleryContextMenu.xaml

@@ -3,7 +3,7 @@
     <ContextMenu x:Key="GalleryCM">
 
         <!--  Print  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource Print}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}" >
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -15,7 +15,7 @@
         </MenuItem>
 
         <!--  Open With  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource OpenWith}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}" >
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -27,7 +27,7 @@
         </MenuItem>
 
         <!--  Show in folder  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource ShowInFolder}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -41,7 +41,7 @@
         <Separator />
 
         <!--  SetAsWallpaper  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource SetAsWallpaper}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -53,7 +53,7 @@
         </MenuItem>
 
         <!--  Set As Lock Screen Image  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource SetAsLockScreenImage}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}" >
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -67,7 +67,7 @@
         <Separator />
 
         <!--  Copy  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource CopyFile}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -78,7 +78,7 @@
             </MenuItem.Icon>
         </MenuItem>
 
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource CopyImage}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}" >
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -109,7 +109,7 @@
         <Separator />
 
         <!--  Cut  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource FileCut}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}" >
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -123,9 +123,7 @@
         <!--  Delete file  -->
         <MenuItem
             Foreground="{StaticResource MainColorBrush}"
-            Header="{StaticResource DeleteFile}"
-            StaysOpenOnClick="True"
-            ToolTip="{StaticResource SendCurrentImageToRecycleBin}">
+            StaysOpenOnClick="True">
             <MenuItem.Icon>
                 <Path
                     Width="12"

+ 43 - 124
src/PicView.WPF/Views/Resources/MainContextMenu.xaml

@@ -25,7 +25,7 @@
     <ContextMenu x:Key="mainCM">
 
         <!--  Open  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource Open}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -37,7 +37,7 @@
         </MenuItem>
 
         <!--  Save  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource Save}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -49,7 +49,7 @@
         </MenuItem>
 
         <!--  Print  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource Print}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -61,7 +61,7 @@
         </MenuItem>
 
         <!--  Open With  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource OpenWith}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -75,7 +75,7 @@
         <Separator />
 
         <!--  Sort Files By  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource SortFilesBy}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -87,64 +87,43 @@
 
             <MenuItem>
                 <MenuItem.Header>
-                    <RadioButton
-                        Width="130"
-                        Content="{StaticResource FileName}"
-                        GroupName="sorting" />
+                    <RadioButton Width="130" GroupName="sorting" />
                 </MenuItem.Header>
             </MenuItem>
 
             <MenuItem>
                 <MenuItem.Header>
-                    <RadioButton
-                        Width="130"
-                        Content="{StaticResource FileSize}"
-                        GroupName="sorting" />
+                    <RadioButton Width="130" GroupName="sorting" />
                 </MenuItem.Header>
             </MenuItem>
 
             <MenuItem>
                 <MenuItem.Header>
-                    <RadioButton
-                        Width="130"
-                        Content="{StaticResource FileExtension}"
-                        GroupName="sorting" />
+                    <RadioButton Width="130" GroupName="sorting" />
                 </MenuItem.Header>
             </MenuItem>
 
             <MenuItem>
                 <MenuItem.Header>
-                    <RadioButton
-                        Width="130"
-                        Content="{StaticResource CreationTime}"
-                        GroupName="sorting" />
+                    <RadioButton Width="130" GroupName="sorting" />
                 </MenuItem.Header>
             </MenuItem>
 
             <MenuItem>
                 <MenuItem.Header>
-                    <RadioButton
-                        Width="130"
-                        Content="{StaticResource LastAccessTime}"
-                        GroupName="sorting" />
+                    <RadioButton Width="130" GroupName="sorting" />
                 </MenuItem.Header>
             </MenuItem>
 
             <MenuItem>
                 <MenuItem.Header>
-                    <RadioButton
-                        Width="130"
-                        Content="{StaticResource LastWriteTime}"
-                        GroupName="sorting" />
+                    <RadioButton Width="130" GroupName="sorting" />
                 </MenuItem.Header>
             </MenuItem>
 
             <MenuItem>
                 <MenuItem.Header>
-                    <RadioButton
-                        Width="130"
-                        Content="{StaticResource Random}"
-                        GroupName="sorting" />
+                    <RadioButton Width="130" GroupName="sorting" />
                 </MenuItem.Header>
             </MenuItem>
 
@@ -152,10 +131,7 @@
 
             <MenuItem>
                 <MenuItem.Header>
-                    <RadioButton
-                        Width="130"
-                        Content="{StaticResource Ascending}"
-                        GroupName="ordering" />
+                    <RadioButton Width="130" GroupName="ordering" />
                 </MenuItem.Header>
                 <MenuItem.Icon>
                     <Image
@@ -167,10 +143,7 @@
 
             <MenuItem>
                 <MenuItem.Header>
-                    <RadioButton
-                        Width="130"
-                        Content="{StaticResource Descending}"
-                        GroupName="ordering" />
+                    <RadioButton Width="130" GroupName="ordering" />
                 </MenuItem.Header>
                 <MenuItem.Icon>
                     <Image
@@ -182,7 +155,7 @@
         </MenuItem>
 
         <!--  Recent files  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource RecentFiles}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -194,7 +167,7 @@
         </MenuItem>
 
         <!--  Settings  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource Settings}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -206,76 +179,51 @@
 
             <MenuItem InputGestureText="L">
                 <MenuItem.Header>
-                    <CheckBox
-                        MinWidth="130"
-                        Padding="0,0,5,0"
-                        Content="{StaticResource ToggleLooping}" />
+                    <CheckBox MinWidth="130" Padding="0,0,5,0" />
                 </MenuItem.Header>
             </MenuItem>
 
             <MenuItem InputGestureText="X">
                 <MenuItem.Header>
-                    <CheckBox
-                        MinWidth="130"
-                        Padding="0,0,5,0"
-                        Content="{StaticResource Scrolling}" />
+                    <CheckBox MinWidth="130" Padding="0,0,5,0" />
                 </MenuItem.Header>
             </MenuItem>
 
             <MenuItem>
                 <MenuItem.Header>
-                    <CheckBox
-                        MinWidth="130"
-                        Padding="0,0,5,0"
-                        Content="{StaticResource ShowHideUI}" />
+                    <CheckBox MinWidth="130" Padding="0,0,5,0" />
                 </MenuItem.Header>
             </MenuItem>
 
-            <MenuItem
-                Header="{StaticResource ChangeBackground}"
-                InputGestureText="B"
-                StaysOpenOnClick="True"
-                ToolTip="{StaticResource ChangeBackgroundTooltip}" />
+            <MenuItem InputGestureText="B" StaysOpenOnClick="True" />
 
             <MenuItem InputGestureText="T">
                 <MenuItem.Header>
-                    <CheckBox
-                        MinWidth="130"
-                        Padding="0,0,5,0"
-                        Content="{StaticResource StayTopMost}" />
+                    <CheckBox MinWidth="130" Padding="0,0,5,0" />
                 </MenuItem.Header>
             </MenuItem>
 
             <MenuItem>
                 <MenuItem.Header>
-                    <CheckBox
-                        MinWidth="130"
-                        Padding="0,0,5,0"
-                        Content="{StaticResource StretchImage}" />
+                    <CheckBox MinWidth="130" Padding="0,0,5,0" />
                 </MenuItem.Header>
             </MenuItem>
 
             <MenuItem>
                 <MenuItem.Header>
-                    <CheckBox
-                        MinWidth="130"
-                        Padding="0,0,5,0"
-                        Content="{StaticResource CtrlToZoom}" />
+                    <CheckBox MinWidth="130" Padding="0,0,5,0" />
                 </MenuItem.Header>
             </MenuItem>
 
             <Separator />
 
-            <MenuItem
-                Header="{StaticResource SettingsWindow}"
-                InputGestureText="F4"
-                ToolTip="{StaticResource ShowAllSettingsWindow}" />
+            <MenuItem InputGestureText="F4" />
         </MenuItem>
 
         <Separator />
 
         <!--  Set As  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource SetAs}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -286,7 +234,7 @@
             </MenuItem.Icon>
 
             <!--  SetAsWallpaper  -->
-            <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource SetAsWallpaper}">
+            <MenuItem Foreground="{StaticResource MainColorBrush}">
                 <MenuItem.Icon>
                     <Path
                         Width="12"
@@ -298,7 +246,7 @@
             </MenuItem>
 
             <!--  Set As Lock Screen Image  -->
-            <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource SetAsLockScreenImage}">
+            <MenuItem Foreground="{StaticResource MainColorBrush}">
                 <MenuItem.Icon>
                     <Path
                         Width="12"
@@ -311,10 +259,7 @@
         </MenuItem>
 
         <!--  Show in folder  -->
-        <MenuItem
-            Foreground="{StaticResource MainColorBrush}"
-            Header="{StaticResource ShowInFolder}"
-            InputGestureText="F3">
+        <MenuItem Foreground="{StaticResource MainColorBrush}" InputGestureText="F3">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -326,7 +271,7 @@
         </MenuItem>
 
         <!--  Image  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource Image}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -335,27 +280,17 @@
                     Fill="{StaticResource IconColorBrush}"
                     Stretch="Fill" />
             </MenuItem.Icon>
-            <MenuItem
-                Foreground="{StaticResource MainColorBrush}"
-                Header="{StaticResource ImageInfo}"
-                InputGestureText="I"
-                ToolTip="{StaticResource ShowImageInfo}" />
-            <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource FileProperties}" />
+            <MenuItem Foreground="{StaticResource MainColorBrush}" InputGestureText="I" />
+            <MenuItem Foreground="{StaticResource MainColorBrush}" />
             <Separator />
-            <MenuItem
-                Foreground="{StaticResource MainColorBrush}"
-                Header="{StaticResource ResizeImage}"
-                InputGestureText="J" />
-            <MenuItem
-                Foreground="{StaticResource MainColorBrush}"
-                Header="{StaticResource BatchResize}"
-                InputGestureText="N" />
+            <MenuItem Foreground="{StaticResource MainColorBrush}" InputGestureText="J" />
+            <MenuItem Foreground="{StaticResource MainColorBrush}" InputGestureText="N" />
         </MenuItem>
 
         <Separator />
 
         <!--  Copy  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource Copy}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -365,24 +300,17 @@
                     Stretch="Fill" />
             </MenuItem.Icon>
 
-            <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource CopyFile}" />
+            <MenuItem Foreground="{StaticResource MainColorBrush}" />
 
-            <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource FileCopyPath}" />
+            <MenuItem Foreground="{StaticResource MainColorBrush}" />
 
-            <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource CopyImage}" />
+            <MenuItem Foreground="{StaticResource MainColorBrush}" />
 
-            <MenuItem Foreground="{StaticResource MainColorBrush}">
-                <MenuItem.Header>
-                    <TextBlock>
-                        <Run Text="{StaticResource Copy}" />
-                        <Run Text=" base64" />
-                    </TextBlock>
-                </MenuItem.Header>
-            </MenuItem>
+            <MenuItem Foreground="{StaticResource MainColorBrush}" />
         </MenuItem>
 
         <!--  Duplicate File  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource DuplicateFile}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -394,7 +322,7 @@
         </MenuItem>
 
         <!--  Cut  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource FileCut}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -406,7 +334,7 @@
         </MenuItem>
 
         <!--  Paste  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource FilePaste}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -420,12 +348,7 @@
         <Separator />
 
         <!--  Delete file  -->
-        <MenuItem
-            Foreground="{StaticResource MainColorBrush}"
-            Header="{StaticResource DeleteFile}"
-            InputGestureText="{StaticResource Del}"
-            StaysOpenOnClick="True"
-            ToolTip="{StaticResource SendCurrentImageToRecycleBin}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}" StaysOpenOnClick="True">
             <MenuItem.Icon>
                 <Path
                     Width="12"
@@ -439,11 +362,7 @@
         <Separator />
 
         <!--  Close  -->
-        <MenuItem
-            Foreground="{StaticResource MainColorBrush}"
-            Header="{StaticResource Close}"
-            InputGestureText="{StaticResource Esc}"
-            ToolTip="{StaticResource CloseApp}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"

+ 4 - 6
src/PicView.WPF/Views/Resources/NavigationContextMenu.xaml

@@ -5,7 +5,6 @@
         <!--  Next  -->
         <MenuItem
             Foreground="{StaticResource MainColorBrush}"
-            Header="{StaticResource NextImage}"
             InputGestureText="D"
             StaysOpenOnClick="True">
             <MenuItem.Icon>
@@ -18,7 +17,6 @@
         <!--  Prev  -->
         <MenuItem
             Foreground="{StaticResource MainColorBrush}"
-            Header="{StaticResource PrevImage}"
             InputGestureText="A"
             StaysOpenOnClick="True">
             <MenuItem.Icon>
@@ -31,7 +29,7 @@
         <Separator />
 
         <!--  First Image  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource FirstImage}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Image Width="14" Height="14">
                     <Image.Source>
@@ -69,7 +67,7 @@
         </MenuItem>
 
         <!--  Last Image  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource LastImage}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Image Width="14" Height="14">
                     <Image.Source>
@@ -109,7 +107,7 @@
         <Separator />
 
         <!--  Next folder  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource NextFolder}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Image Width="14" Height="14">
                     <Image.Source>
@@ -147,7 +145,7 @@
         </MenuItem>
 
         <!--  Prev folder  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource PrevFolder}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Image Width="14" Height="14">
                     <Image.Source>

+ 3 - 7
src/PicView.WPF/Views/Resources/WindowContextMenu.xaml

@@ -3,7 +3,7 @@
     <ContextMenu x:Key="windowCM">
 
         <!--  Fullscreen  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource ToggleFullscreen}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Image Width="17" Height="17">
                     <Image.Source>
@@ -20,7 +20,7 @@
         </MenuItem>
 
         <!--  Minimize  -->
-        <MenuItem Foreground="{StaticResource MainColorBrush}" Header="{StaticResource Minimize}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Viewbox Width="14" Height="14">
                     <Path Data="M24,11c0-0.6-0.4-1-1-1H1c-0.6,0-1,0.4-1,1v2c0,0.6,0.4,1,1,1h22c0.6,0,1-0.4,1-1V11z" Fill="{StaticResource IconColorBrush}" />
@@ -29,11 +29,7 @@
         </MenuItem>
 
         <!--  Close  -->
-        <MenuItem
-            Foreground="{StaticResource MainColorBrush}"
-            Header="{StaticResource Close}"
-            InputGestureText="{StaticResource Esc}"
-            ToolTip="{StaticResource CloseApp}">
+        <MenuItem Foreground="{StaticResource MainColorBrush}">
             <MenuItem.Icon>
                 <Path
                     Width="12"

+ 3 - 3
src/PicView.WPF/Views/UserControls/Buttons/CloseButton.xaml.cs

@@ -1,6 +1,6 @@
-using System.Windows;
+using PicView.Core.Config;
+using PicView.Core.Localization;
 using PicView.WPF.Animations;
-using PicView.Core.Config;
 using static PicView.WPF.Animations.MouseOverAnimations;
 
 namespace PicView.WPF.Views.UserControls.Buttons
@@ -21,7 +21,7 @@ namespace PicView.WPF.Views.UserControls.Buttons
                     AnimationHelper.LightThemeMouseEvent(this, IconBrush);
                 }
 
-                ToolTip = Application.Current.TryFindResource("Close");
+                ToolTip = TranslationHelper.GetTranslation("Close");
             };
         }
     }

+ 2 - 8
src/PicView.WPF/Views/UserControls/Buttons/FullscreenButton.xaml.cs

@@ -1,6 +1,7 @@
 using System.Windows;
 using PicView.WPF.Animations;
 using PicView.Core.Config;
+using PicView.Core.Localization;
 using PicView.WPF.UILogic.Sizing;
 using static PicView.WPF.Animations.MouseOverAnimations;
 
@@ -14,14 +15,7 @@ namespace PicView.WPF.Views.UserControls.Buttons
 
             MouseEnter += delegate
             {
-                if (SettingsHelper.Settings.WindowProperties.Fullscreen)
-                {
-                    ToolTip = Application.Current.Resources["RestoreDown"];
-                }
-                else
-                {
-                    ToolTip = Application.Current.Resources["Fullscreen"];
-                }
+                ToolTip = TranslationHelper.GetTranslation(SettingsHelper.Settings.WindowProperties.Fullscreen ? "RestoreDown" : "Fullscreen");
 
                 ButtonMouseOverAnim(FullscreenButtonBrush, true);
             };

+ 1 - 2
src/PicView.WPF/Views/UserControls/Buttons/GalleryShortcut.xaml

@@ -1,8 +1,7 @@
 <UserControl
     x:Class="PicView.WPF.Views.UserControls.Buttons.GalleryShortcut"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    ToolTip="{StaticResource ShowImageGallery}">
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Border
         Width="48"
         Height="47"

+ 4 - 0
src/PicView.WPF/Views/UserControls/Buttons/GalleryShortcut.xaml.cs

@@ -27,6 +27,10 @@ namespace PicView.WPF.Views.UserControls.Buttons
                     MouseOverAnimations.AltInterfaceMouseLeave(ImagePath2Fill, CanvasBGcolor, BorderBrushKey);
                     MouseOverAnimations.AltInterfaceMouseLeave(ImagePath3Fill, CanvasBGcolor, BorderBrushKey);
                 };
+                Loaded += delegate
+                {
+                    ToolTip = Core.Localization.TranslationHelper.GetTranslation("ShowImageGallery");
+                };
             };
         }
     }

+ 2 - 4
src/PicView.WPF/Views/UserControls/Buttons/GoToPicButton.xaml

@@ -1,8 +1,7 @@
 <UserControl
     x:Class="PicView.WPF.Views.UserControls.Buttons.GoToPicButton"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    ToolTip="{StaticResource GoToImageAtSpecifiedIndex}">
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <UserControl.Resources>
         <SolidColorBrush x:Key="PlayIconBrush" Color="{StaticResource IconColor}" />
     </UserControl.Resources>
@@ -63,8 +62,7 @@
                     IsReadOnly="False"
                     IsTabStop="False"
                     IsUndoEnabled="True"
-                    TextAlignment="Center"
-                    ToolTip="{StaticResource GoToImageAtSpecifiedIndex}" />
+                    TextAlignment="Center"/>
             </Canvas>
         </Button.Content>
     </Button>

+ 109 - 109
src/PicView.WPF/Views/UserControls/Buttons/GoToPicButton.xaml.cs

@@ -1,143 +1,143 @@
-using System.Globalization;
-using System.Windows.Controls;
-using System.Windows.Input;
-using System.Windows.Media;
+using PicView.Core.Localization;
 using PicView.WPF.ChangeImage;
 using PicView.WPF.ConfigureSettings;
 using PicView.WPF.PicGallery;
 using PicView.WPF.UILogic;
+using System.Globalization;
+using System.Windows.Input;
+using System.Windows.Media;
 using static PicView.WPF.Animations.MouseOverAnimations;
 using static PicView.WPF.ChangeImage.Navigation;
 using static PicView.WPF.UILogic.UC;
 
-namespace PicView.WPF.Views.UserControls.Buttons
+namespace PicView.WPF.Views.UserControls.Buttons;
+
+public partial class GoToPicButton
 {
-    public partial class GoToPicButton : UserControl
+    public GoToPicButton()
     {
-        public GoToPicButton()
+        InitializeComponent();
+
+        Loaded += delegate
         {
-            InitializeComponent();
+            TheButton.Click += async (_, _) => await GoToPicEventAsync().ConfigureAwait(false);
+            SetButtonIconMouseOverAnimations(TheButton, GoToPicBrush, (SolidColorBrush)Resources["PlayIconBrush"]);
 
-            Loaded += delegate
+            GoToPicBox.PreviewMouseLeftButtonDown += delegate
             {
-                TheButton.Click += async (_, _) => await GoToPicEventAsync().ConfigureAwait(false);
-                SetButtonIconMouseOverAnimations(TheButton, GoToPicBrush, (SolidColorBrush)Resources["PlayIconBrush"]);
-
-                GoToPicBox.PreviewMouseLeftButtonDown += delegate
-                {
-                    GoToPicBox.CaretBrush = new SolidColorBrush(ConfigColors.MainColor);
-                };
-                GoToPicBox.PreviewKeyDown += async (s, x) => await GoToPicPreviewKeysAsync(s, x).ConfigureAwait(false);
+                GoToPicBox.CaretBrush = new SolidColorBrush(ConfigColors.MainColor);
             };
-        }
+            GoToPicBox.PreviewKeyDown += async (s, x) => await GoToPicPreviewKeysAsync(s, x).ConfigureAwait(false);
+            GoToPicBox.Text = TranslationHelper.GetTranslation("GoToImageAtSpecifiedIndex");
+        };
+    }
 
-        private static async Task GoToPicEventAsync()
-        {
-            if (ErrorHandling.CheckOutOfRange()) return;
+    private static async Task GoToPicEventAsync()
+    {
+        if (ErrorHandling.CheckOutOfRange()) return;
 
-            if (int.TryParse(GetImageSettingsMenu.GoToPic.GoToPicBox.Text, out var x))
+        if (int.TryParse(GetImageSettingsMenu.GoToPic.GoToPicBox.Text, out var x))
+        {
+            x--;
+            x = x <= 0 ? 0 : x;
+            x = x >= Pics.Count ? Pics.Count - 1 : x;
+            // If the gallery is open, deselect current index
+            if (GetPicGallery is not null)
             {
-                x--;
-                x = x <= 0 ? 0 : x;
-                x = x >= Pics.Count ? Pics.Count - 1 : x;
-                // If the gallery is open, deselect current index
-                if (GetPicGallery is not null)
-                {
-                    await ConfigureWindows.GetMainWindow.Dispatcher.InvokeAsync(() =>
-                    {
-                        GetPicGallery.Scroller.CanContentScroll = true; // Disable animations
-                        // Deselect current item
-                        GalleryNavigation.SetSelected(GalleryNavigation.SelectedGalleryItem, false);
-                        GalleryNavigation.SetSelected(FolderIndex, false);
-                    });
-                }
-
-                await LoadPic.LoadPicAtIndexAsync(x).ConfigureAwait(false);
                 await ConfigureWindows.GetMainWindow.Dispatcher.InvokeAsync(() =>
                 {
-                    GetImageSettingsMenu.GoToPic.GoToPicBox.Text = (x + 1).ToString(CultureInfo.CurrentCulture);
-                    if (GetPicGallery is null)
-                    {
-                        return;
-                    }
-
-                    // Select next item
-                    GalleryNavigation.SetSelected(FolderIndex, true);
-                    GalleryNavigation.SelectedGalleryItem = FolderIndex;
-                    GalleryNavigation.ScrollToGalleryCenter();
+                    GetPicGallery.Scroller.CanContentScroll = true; // Disable animations
+                                                                    // Deselect current item
+                    GalleryNavigation.SetSelected(GalleryNavigation.SelectedGalleryItem, false);
+                    GalleryNavigation.SetSelected(FolderIndex, false);
                 });
             }
-            else if (Pics.Count > 0 && Pics.Count > FolderIndex)
+
+            await LoadPic.LoadPicAtIndexAsync(x).ConfigureAwait(false);
+            await ConfigureWindows.GetMainWindow.Dispatcher.InvokeAsync(() =>
             {
-                GetImageSettingsMenu.GoToPic.GoToPicBox.Text = FolderIndex.ToString(CultureInfo.CurrentCulture);
-            }
-        }
+                GetImageSettingsMenu.GoToPic.GoToPicBox.Text = (x + 1).ToString(CultureInfo.CurrentCulture);
+                if (GetPicGallery is null)
+                {
+                    return;
+                }
 
-        private static void ClearGoTo()
+                // Select next item
+                GalleryNavigation.SetSelected(FolderIndex, true);
+                GalleryNavigation.SelectedGalleryItem = FolderIndex;
+                GalleryNavigation.ScrollToGalleryCenter();
+            });
+        }
+        else if (Pics.Count > 0 && Pics.Count > FolderIndex)
         {
-            GetImageSettingsMenu.GoToPic.GoToPicBox.CaretBrush = new SolidColorBrush(Colors.Transparent);
-            FocusManager.SetFocusedElement(FocusManager.GetFocusScope(GetImageSettingsMenu.GoToPic.GoToPicBox), null);
-            Close_UserControls();
-            Keyboard.ClearFocus();
-            ConfigureWindows.GetMainWindow.Focus();
+            GetImageSettingsMenu.GoToPic.GoToPicBox.Text = FolderIndex.ToString(CultureInfo.CurrentCulture);
         }
+    }
 
-        private async Task GoToPicPreviewKeysAsync(object sender, KeyEventArgs e)
+    private static void ClearGoTo()
+    {
+        GetImageSettingsMenu.GoToPic.GoToPicBox.CaretBrush = new SolidColorBrush(Colors.Transparent);
+        FocusManager.SetFocusedElement(FocusManager.GetFocusScope(GetImageSettingsMenu.GoToPic.GoToPicBox), null);
+        Close_UserControls();
+        Keyboard.ClearFocus();
+        ConfigureWindows.GetMainWindow.Focus();
+    }
+
+    private async Task GoToPicPreviewKeysAsync(object sender, KeyEventArgs e)
+    {
+        switch (e.Key)
         {
-            switch (e.Key)
-            {
-                case Key.D0:
-                case Key.D1:
-                case Key.D2:
-                case Key.D3:
-                case Key.D4:
-                case Key.D5:
-                case Key.D6:
-                case Key.D7:
-                case Key.D8:
-                case Key.D9:
-                case Key.NumPad0:
-                case Key.NumPad1:
-                case Key.NumPad2:
-                case Key.NumPad3:
-                case Key.NumPad4:
-                case Key.NumPad5:
-                case Key.NumPad6:
-                case Key.NumPad7:
-                case Key.NumPad8:
-                case Key.NumPad9:
-                case Key.Back:
-                case Key.Delete:
-                case Key.Left:
-                case Key.Right:
-                    break; // Allow these keys
-                case Key.A:
-                case Key.C:
-                case Key.X:
-                    if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
-                    {
-                        // Allow Ctrl + A, Ctrl + C, Ctrl + X
-                        break;
-                    }
+            case Key.D0:
+            case Key.D1:
+            case Key.D2:
+            case Key.D3:
+            case Key.D4:
+            case Key.D5:
+            case Key.D6:
+            case Key.D7:
+            case Key.D8:
+            case Key.D9:
+            case Key.NumPad0:
+            case Key.NumPad1:
+            case Key.NumPad2:
+            case Key.NumPad3:
+            case Key.NumPad4:
+            case Key.NumPad5:
+            case Key.NumPad6:
+            case Key.NumPad7:
+            case Key.NumPad8:
+            case Key.NumPad9:
+            case Key.Back:
+            case Key.Delete:
+            case Key.Left:
+            case Key.Right:
+                break; // Allow these keys
+            case Key.A:
+            case Key.C:
+            case Key.X:
+                if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
+                {
+                    // Allow Ctrl + A, Ctrl + C, Ctrl + X
+                    break;
+                }
 
-                    e.Handled = true; // only allowed on ctrl
-                    return;
+                e.Handled = true; // only allowed on ctrl
+                return;
 
-                case Key.Escape: // Escape logic
-                    GoToPicBox.Text = FolderIndex.ToString(CultureInfo.CurrentCulture);
-                    ClearGoTo();
-                    e.Handled = true;
-                    break;
+            case Key.Escape: // Escape logic
+                GoToPicBox.Text = FolderIndex.ToString(CultureInfo.CurrentCulture);
+                ClearGoTo();
+                e.Handled = true;
+                break;
 
-                case Key.Enter: // Execute it!
-                    await GoToPicEventAsync().ConfigureAwait(false);
-                    await ConfigureWindows.GetMainWindow.Dispatcher.InvokeAsync(ClearGoTo);
-                    break;
+            case Key.Enter: // Execute it!
+                await GoToPicEventAsync().ConfigureAwait(false);
+                await ConfigureWindows.GetMainWindow.Dispatcher.InvokeAsync(ClearGoTo);
+                break;
 
-                default:
-                    e.Handled = true; // Don't allow other keys
-                    break;
-            }
+            default:
+                e.Handled = true; // Don't allow other keys
+                break;
         }
     }
 }

+ 1 - 2
src/PicView.WPF/Views/UserControls/Buttons/MenuCloseButton.xaml

@@ -19,8 +19,7 @@
             BorderThickness="0"
             DockPanel.Dock="Right"
             FocusVisualStyle="{x:Null}"
-            Focusable="False"
-            ToolTip="{StaticResource Close}">
+            Focusable="False">
             <Path
                 Width="10"
                 Height="10"

+ 2 - 1
src/PicView.WPF/Views/UserControls/Buttons/MenuCloseButton.xaml.cs

@@ -1,6 +1,7 @@
 using System.Windows.Input;
 using PicView.WPF.Animations;
 using PicView.Core.Config;
+using PicView.Core.Localization;
 using PicView.WPF.UILogic;
 using static PicView.WPF.Animations.MouseOverAnimations;
 
@@ -16,7 +17,6 @@ namespace PicView.WPF.Views.UserControls.Buttons
             {
                 MouseEnter += (s, x) => ButtonMouseOverAnim(CloseButtonBrush, true);
                 MouseLeave += (s, x) => AnimationHelper.MouseLeaveColorEvent(0, 0, 0, 0, CloseButtonBrush);
-                ;
 
                 if (!SettingsHelper.Settings.Theme.Dark)
                 {
@@ -29,6 +29,7 @@ namespace PicView.WPF.Views.UserControls.Buttons
                     Keyboard.ClearFocus();
                     UC.GetImageSettingsMenu?.GoToPic?.GoToPicBox?.Select(0, 0); // Deselect
                 };
+                TheButton.ToolTip = TranslationHelper.GetTranslation("Close");
             };
         }
     }

+ 2 - 1
src/PicView.WPF/Views/UserControls/Buttons/MinButton.xaml.cs

@@ -1,6 +1,7 @@
 using System.Windows;
 using PicView.WPF.Animations;
 using PicView.Core.Config;
+using PicView.Core.Localization;
 using static PicView.WPF.Animations.MouseOverAnimations;
 
 namespace PicView.WPF.Views.UserControls.Buttons
@@ -26,7 +27,7 @@ namespace PicView.WPF.Views.UserControls.Buttons
 
                 MouseLeave += (s, x) => ButtonMouseLeaveAnim(MinButtonBrush, true);
 
-                ToolTip = Application.Current.Resources["Minimize"];
+                ToolTip = TranslationHelper.GetTranslation("Minimize");
             };
         }
     }

+ 1 - 2
src/PicView.WPF/Views/UserControls/Buttons/Minus.xaml

@@ -1,8 +1,7 @@
 <UserControl
     x:Class="PicView.WPF.Views.UserControls.Buttons.Minus"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    ToolTip="{StaticResource Minimize}">
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
     <Border
         Width="40"
         Height="25"

+ 4 - 0
src/PicView.WPF/Views/UserControls/Buttons/Minus.xaml.cs

@@ -21,6 +21,10 @@ namespace PicView.WPF.Views.UserControls.Buttons
             };
 
             TheButton.Click += (_, _) => SystemCommands.MinimizeWindow(ConfigureWindows.GetMainWindow);
+            Loaded += delegate
+            {
+                ToolTip = Core.Localization.TranslationHelper.GetTranslation("Minimize");
+            };
         }
     }
 }

+ 1 - 2
src/PicView.WPF/Views/UserControls/Buttons/X2.xaml

@@ -2,8 +2,7 @@
     x:Class="PicView.WPF.Views.UserControls.Buttons.X2"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    Background="Transparent"
-    ToolTip="{StaticResource CloseGallery}">
+    Background="Transparent">
     <Border
         x:Name="border"
         Width="50"

+ 5 - 0
src/PicView.WPF/Views/UserControls/Buttons/X2.xaml.cs

@@ -1,4 +1,5 @@
 using System.Windows;
+using System.Windows.Controls;
 using PicView.WPF.Animations;
 using PicView.WPF.PicGallery;
 using PicView.WPF.UILogic;
@@ -36,6 +37,10 @@ namespace PicView.WPF.Views.UserControls.Buttons
             {
                 MouseOverAnimations.AltInterfaceMouseLeave(PolyFill, CanvasBGcolor, BorderBrushKey);
             };
+            Loaded += delegate
+            {
+                ToolTip = Core.Localization.TranslationHelper.GetTranslation("CloseGallery");
+            };
         }
     }
 }

+ 24 - 26
src/PicView.WPF/Views/UserControls/Menus/FileMenu.xaml

@@ -60,8 +60,7 @@
                 <Button
                     x:Name="ReloadButton"
                     Width="105"
-                    Height="45"
-                    ToolTip="{StaticResource Reload}">
+                    Height="45">
 
                     <StackPanel
                         Width="80"
@@ -74,11 +73,12 @@
                             Fill="{StaticResource ReloadButtonIconBrush}"
                             Stretch="Fill" />
                         <TextBlock
+                            x:Name="ReloadText"
                             MaxWidth="66"
                             Margin="7,2.48,0,0"
                             FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                             Foreground="{StaticResource ReloadButtonIconBrush}"
-                            Text="{StaticResource Reload}"
+                            Text="Reload"
                             TextTrimming="CharacterEllipsis"
                             TextWrapping="NoWrap" />
                     </StackPanel>
@@ -102,8 +102,7 @@
                 Width="41"
                 Height="45"
                 HorizontalAlignment="Left"
-                VerticalAlignment="Center"
-                ToolTip="{StaticResource Save}">
+                VerticalAlignment="Center">
                 <Button.Background>
                     <SolidColorBrush x:Name="SaveButtonBrush" Color="Transparent" />
                 </Button.Background>
@@ -133,8 +132,7 @@
                 Width="42"
                 Height="45"
                 HorizontalAlignment="Left"
-                VerticalAlignment="Center"
-                ToolTip="{StaticResource Copy}">
+                VerticalAlignment="Center">
                 <Button.Background>
                     <SolidColorBrush x:Name="CopyButtonBrush" Color="Transparent" />
                 </Button.Background>
@@ -162,8 +160,7 @@
                 Canvas.Left="189"
                 Canvas.Top="1"
                 Width="42"
-                Height="45"
-                ToolTip="{StaticResource FilePaste}">
+                Height="45">
                 <Button.Background>
                     <SolidColorBrush x:Name="PasteButtonBrush" Color="Transparent" />
                 </Button.Background>
@@ -187,8 +184,7 @@
                 x:Name="OpenBorder"
                 Canvas.Left="7"
                 Canvas.Top="50"
-                Style="{StaticResource ButtonBorder}"
-                ToolTip="{StaticResource ResourceKey=OpenFileDialog}">
+                Style="{StaticResource ButtonBorder}">
                 <StackPanel Orientation="Horizontal">
                     <StackPanel.Background>
                         <SolidColorBrush x:Name="OpenBorderBrush" Color="Transparent" />
@@ -203,9 +199,10 @@
                     <Button x:Name="OpenButton" FocusVisualStyle="{x:Null}">
                         <Button.Content>
                             <TextBlock
+                                x:Name="OpenButtonTextBlock"
                                 Margin="3,0,3,0"
                                 Foreground="{StaticResource OpenBorderFill}"
-                                Text="{StaticResource ResourceKey=Open}" />
+                                Text="Open" />
                         </Button.Content>
                     </Button>
                 </StackPanel>
@@ -215,8 +212,7 @@
                 x:Name="FileLocationBorder"
                 Canvas.Left="141"
                 Canvas.Top="50"
-                Style="{StaticResource ButtonBorder}"
-                ToolTip="{StaticResource ShowInFolder}">
+                Style="{StaticResource ButtonBorder}">
                 <StackPanel Orientation="Horizontal">
                     <StackPanel.Background>
                         <SolidColorBrush x:Name="FileLocationBrush" Color="Transparent" />
@@ -249,9 +245,9 @@
                     <Button x:Name="FileLocationButton" FocusVisualStyle="{x:Null}">
                         <Button.Content>
                             <TextBlock
+                                x:Name="FileLocationTextBlock"
                                 Margin="4,0,2,0"
-                                Foreground="{StaticResource LocationBorderFill}"
-                                Text="{StaticResource ResourceKey=ShowInFolder}" />
+                                Foreground="{StaticResource LocationBorderFill}" />
                         </Button.Content>
                     </Button>
                 </StackPanel>
@@ -261,8 +257,7 @@
                 x:Name="OpenWithBorder"
                 Canvas.Left="7"
                 Canvas.Top="93"
-                Style="{StaticResource ButtonBorder}"
-                ToolTip="{StaticResource OpenWith}">
+                Style="{StaticResource ButtonBorder}">
                 <StackPanel Orientation="Horizontal">
                     <StackPanel.Background>
                         <SolidColorBrush x:Name="OpenWithBorderBrush" Color="Transparent" />
@@ -280,9 +275,10 @@
                         FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto">
                         <Button.Content>
                             <TextBlock
+                                x:Name="OpenWithTextBlock"
                                 Margin="4,0,3,0"
                                 Foreground="{StaticResource OpenWithBorderFill}"
-                                Text="{StaticResource OpenWith}" />
+                                Text="OpenWith" />
                         </Button.Content>
                     </Button>
                 </StackPanel>
@@ -304,12 +300,13 @@
                         Data="M448 1536h896v-256h-896v256zm0-640h896v-384h-160q-40 0-68-28t-28-68v-160h-640v640zm1152 64q0-26-19-45t-45-19-45 19-19 45 19 45 45 19 45-19 19-45zm128 0v416q0 13-9.5 22.5t-22.5 9.5h-224v160q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-160h-224q-13 0-22.5-9.5t-9.5-22.5v-416q0-79 56.5-135.5t135.5-56.5h64v-544q0-40 28-68t68-28h672q40 0 88 20t76 48l152 152q28 28 48 76t20 88v256h64q79 0 135.5 56.5t56.5 135.5z"
                         Fill="{StaticResource PrintBorderFill}"
                         Stretch="Fill" />
-                    <Button x:Name="PrintButton" ToolTip="{StaticResource RenameFile}">
+                    <Button x:Name="PrintButton">
                         <Button.Content>
                             <TextBlock
+                                x:Name="PrintButtonTextBlock"
                                 Margin="2,0,2,0"
                                 Foreground="{StaticResource PrintBorderFill}"
-                                Text="{StaticResource Print}" />
+                                Text="Print" />
                         </Button.Content>
                     </Button>
                 </StackPanel>
@@ -331,12 +328,13 @@
                         Data="M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V428.7c-2.7 1.1-5.4 2-8.2 2.7l-60.1 15c-3 .7-6 1.2-9 1.4c-.9 .1-1.8 .2-2.7 .2H240c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 381l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.8 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h8.9c-3.1-8.8-3.7-18.4-1.4-27.8l15-60.1c2.8-11.3 8.6-21.5 16.8-29.7L384 203.6V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM549.8 139.7c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM311.9 321c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L512.1 262.7l-71-71L311.9 321z"
                         Fill="{StaticResource RenameBorderFill}"
                         Stretch="Fill" />
-                    <Button x:Name="RenameButton" ToolTip="{StaticResource RenameFile}">
+                    <Button x:Name="RenameButton">
                         <Button.Content>
                             <TextBlock
+                                x:Name="RenameButtonTextBlock"
                                 Margin="3.7,0,2,0"
                                 Foreground="{StaticResource RenameBorderFill}"
-                                Text="{StaticResource RenameFile}" />
+                                Text="RenameFile}" />
                         </Button.Content>
                     </Button>
                 </StackPanel>
@@ -358,13 +356,13 @@
                         Data="M836 1169l-15 368-2 22-420-29q-36-3-67-31.5t-47-65.5q-11-27-14.5-55t4-65 12-55 21.5-64 19-53q78 12 509 28zm-387-586l180 379-147-92q-63 72-111.5 144.5t-72.5 125-39.5 94.5-18.5 63l-4 21-190-357q-17-26-18-56t6-47l8-18q35-63 114-188l-140-86zm1231 517l-188 359q-12 29-36.5 46.5t-43.5 20.5l-18 4q-71 7-219 12l8 164-230-367 211-362 7 173q170 16 283 5t170-33zm-785-924q-47 63-265 435l-317-187-19-12 225-356q20-31 60-42t80-10q24 2 48.5 12t42 21 41.5 33 36 34.5 36 39.5 32 35zm655 307l212 363q18 37 12.5 76t-27.5 74q-13 20-33 37t-38 28-48.5 22-47 16-51.5 14-46 12q-34-72-265-436l313-195zm-143-226l142-83-220 373-419-20 151-86q-34-89-75-166t-75.5-123.5-64.5-80-47-46.5l-17-13 405 1q31-3 58 10.5t39 28.5l11 15q39 61 112 190z"
                         Fill="{StaticResource RecycleButtonIconBrush}"
                         Stretch="Fill" />
-                    <Button x:Name="RecycleButton" ToolTip="{StaticResource SendCurrentImageToRecycleBin}">
-
+                    <Button x:Name="RecycleButton">
                         <Button.Content>
                             <TextBlock
+                                x:Name="RecycleButtonTextBlock"
                                 Margin="3,0,2,0"
                                 Foreground="{StaticResource RecycleButtonIconBrush}"
-                                Text="{StaticResource DeleteFile}" />
+                                Text="DeleteFile" />
                         </Button.Content>
                     </Button>
                 </StackPanel>

+ 18 - 0
src/PicView.WPF/Views/UserControls/Menus/FileMenu.xaml.cs

@@ -4,6 +4,7 @@ using PicView.WPF.FileHandling;
 using PicView.Core.Config;
 using PicView.WPF.UILogic;
 using System.Windows.Media;
+using PicView.Core.Localization;
 using static PicView.WPF.Animations.MouseOverAnimations;
 
 namespace PicView.WPF.Views.UserControls.Menus;
@@ -18,20 +19,25 @@ public partial class FileMenu
         SetButtonIconMouseOverAnimations(OpenBorder, OpenBorderBrush, (SolidColorBrush)Resources["OpenBorderFill"]);
         OpenBorder.MouseLeftButtonDown += async (_, _) => await OpenSave.OpenAsync().ConfigureAwait(false);
         OpenButton.Click += async (_, _) => await OpenSave.OpenAsync().ConfigureAwait(false);
+        OpenBorder.ToolTip = TranslationHelper.GetTranslation("OpenFileDialog");
+        OpenButtonTextBlock.Text = TranslationHelper.GetTranslation("Open");
 
         // SaveButton
         SetButtonIconMouseOverAnimations(SaveButton, SaveButtonBrush, SaveButtonIconBrush);
         SaveButton.Click += async (_, _) =>
             await OpenSave.SaveFilesAsync(SettingsHelper.Settings.UIProperties.ShowFileSavingDialog).ConfigureAwait(false);
+        SaveButton.ToolTip = TranslationHelper.GetTranslation("Save");
 
         // CopyButton
         SetButtonIconMouseOverAnimations(CopyButton, CopyButtonBrush, CopyButtonIconBrush);
         CopyButton.Click += (_, _) => CopyPaste.Copy();
+        CopyButton.ToolTip = TranslationHelper.GetTranslation("Copy");
 
         // PasteButton
         SetButtonIconMouseOverAnimations(PasteButton, PasteButtonBrush, PasteButtonIconBrush);
         PasteButton.Click += async (_, _) => await CopyPaste.PasteAsync().ConfigureAwait(false);
         PasteButton.PreviewMouseLeftButtonDown += delegate { UC.Close_UserControls(); };
+        PasteButton.ToolTip = TranslationHelper.GetTranslation("FilePaste");
 
         // FileLocationBorder
         SetButtonIconMouseOverAnimations(FileLocationBorder, FileLocationBrush,
@@ -39,29 +45,39 @@ public partial class FileMenu
         FileLocationBorder.MouseLeftButtonDown +=
             (_, _) => OpenSave.OpenInExplorer(Navigation.Pics?[Navigation.FolderIndex]);
         FileLocationButton.Click += (_, _) => OpenSave.OpenInExplorer(Navigation.Pics?[Navigation.FolderIndex]);
+        FileLocationBorder.ToolTip = TranslationHelper.GetTranslation("ShowInFolder");
+        FileLocationTextBlock.Text = TranslationHelper.GetTranslation("ShowInFolder");
 
         // PrintBorder
         SetButtonIconMouseOverAnimations(PrintBorder, PrintButtonBrush,
             (SolidColorBrush)Resources["PrintBorderFill"]);
         PrintBorder.MouseLeftButtonDown += (_, _) => OpenSave.Print(Navigation.Pics?[Navigation.FolderIndex]);
         PrintButton.Click += (_, _) => OpenSave.Print(Navigation.Pics?[Navigation.FolderIndex]);
+        PrintBorder.ToolTip = TranslationHelper.GetTranslation("Print");
+        PrintButtonTextBlock.Text = TranslationHelper.GetTranslation("Print");
 
         // ReloadButton
         SetButtonIconMouseOverAnimations(ReloadButton, ReloadButtonBrush,
             (SolidColorBrush)Resources["ReloadButtonIconBrush"]);
         ReloadButton.Click += async (_, _) => await ErrorHandling.ReloadAsync().ConfigureAwait(false);
+        ReloadButton.ToolTip = TranslationHelper.GetTranslation("Reload");
+        ReloadText.Text = TranslationHelper.GetTranslation("Reload");
 
         // RecycleButton
         SetButtonIconMouseOverAnimations(RecycleButton, RecycleButtonBrush,
             (SolidColorBrush)Resources["RecycleButtonIconBrush"]);
         RecycleButton.Click += async (_, _) =>
             await DeleteFiles.DeleteCurrentFileAsync(true).ConfigureAwait(false);
+        RecycleBorder.ToolTip = TranslationHelper.GetTranslation("SendCurrentImageToRecycleBin");
+        RecycleButtonTextBlock.Text = TranslationHelper.GetTranslation("DeleteFile");
 
         // OpenWithBorder
         SetButtonIconMouseOverAnimations(OpenWithBorder, OpenWithBorderBrush,
             (SolidColorBrush)Resources["OpenWithBorderFill"]);
         OpenWithBorder.MouseLeftButtonDown += (_, _) => OpenSave.OpenWith();
         OpenWith.Click += (_, _) => OpenSave.OpenWith();
+        OpenWithBorder.ToolTip = TranslationHelper.GetTranslation("OpenWith");
+        OpenWithTextBlock.Text = TranslationHelper.GetTranslation("OpenWith");
 
         // RenameBorder
         SetButtonIconMouseOverAnimations(RenameBorder, RenameButtonBrush,
@@ -76,5 +92,7 @@ public partial class FileMenu
             UC.Close_UserControls();
             EditTitleBar.EditTitleBar_Text();
         };
+        RenameBorder.ToolTip = TranslationHelper.GetTranslation("RenameFile");
+        RenameButtonTextBlock.Text = TranslationHelper.GetTranslation("RenameFile");
     }
 }

+ 7 - 11
src/PicView.WPF/Views/UserControls/Menus/ImageSettings.xaml

@@ -158,8 +158,7 @@
                         Canvas.Top="51"
                         Width="133"
                         Height="37"
-                        Style="{StaticResource ButtonBorder}"
-                        ToolTip="{StaticResource ResizeImage}">
+                        Style="{StaticResource ButtonBorder}">
                         <StackPanel Orientation="Horizontal">
                             <StackPanel.Background>
                                 <SolidColorBrush x:Name="ResizeBorderBrush" Color="Transparent" />
@@ -198,11 +197,11 @@
                             <Button x:Name="ResizeButton" FocusVisualStyle="{x:Null}">
                                 <Button.Content>
                                     <TextBlock
+                                        x:Name="ResizeButtonTextBlock"
                                         Width="85"
                                         Margin="2,0,4,0"
                                         FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
                                         Foreground="{StaticResource ResizeIcon}"
-                                        Text="{StaticResource ResourceKey=Resize}"
                                         TextTrimming="CharacterEllipsis"
                                         TextWrapping="NoWrap" />
                                 </Button.Content>
@@ -237,11 +236,11 @@
                                 </Button.Background>
                                 <Button.Content>
                                     <TextBlock
+                                        x:Name="CropButtonTextBlock"
                                         Width="85"
                                         Margin="5,1,3,0"
                                         FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
                                         Foreground="{StaticResource CropIcon}"
-                                        Text="{StaticResource ResourceKey=Crop}"
                                         TextTrimming="CharacterEllipsis"
                                         TextWrapping="NoWrap" />
                                 </Button.Content>
@@ -255,8 +254,7 @@
                         Canvas.Top="92"
                         Width="133"
                         Height="37"
-                        Style="{StaticResource ButtonBorder}"
-                        ToolTip="{StaticResource ResourceKey=StartSlideshow}">
+                        Style="{StaticResource ButtonBorder}">
                         <StackPanel Orientation="Horizontal">
                             <StackPanel.Background>
                                 <SolidColorBrush x:Name="SlideShowBorderBrush" Color="Transparent" />
@@ -271,11 +269,11 @@
                             <Button x:Name="SlideShowButton" FocusVisualStyle="{x:Null}">
                                 <Button.Content>
                                     <TextBlock
+                                        x:Name="SlideShowButtonTextBlock"
                                         Width="93"
                                         Margin="8,1,0,00"
                                         FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
                                         Foreground="{StaticResource SlideshowIcon}"
-                                        Text="{StaticResource ResourceKey=Slideshow}"
                                         TextTrimming="CharacterEllipsis"
                                         TextWrapping="NoWrap" />
                                 </Button.Content>
@@ -289,8 +287,7 @@
                         Canvas.Top="92"
                         Width="133"
                         Height="37"
-                        Style="{StaticResource ButtonBorder}"
-                        ToolTip="{StaticResource ResourceKey=OptimizeImage}">
+                        Style="{StaticResource ButtonBorder}">
                         <StackPanel Orientation="Horizontal">
                             <StackPanel.Background>
                                 <SolidColorBrush x:Name="BgBorderBrush" Color="Transparent" />
@@ -333,11 +330,11 @@
                             <Button x:Name="OptimizeButton" FocusVisualStyle="{x:Null}">
                                 <Button.Content>
                                     <TextBlock
+                                        x:Name="OptimizeButtonTextBlock"
                                         Width="93"
                                         Margin="7,1,3,0"
                                         FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
                                         Foreground="{StaticResource OptimizeIcon}"
-                                        Text="{StaticResource ResourceKey=OptimizeImage}"
                                         TextTrimming="CharacterEllipsis"
                                         TextWrapping="NoWrap" />
                                 </Button.Content>
@@ -378,7 +375,6 @@
                                     MaxWidth="175"
                                     Margin="10,0,10,0"
                                     Foreground="{StaticResource BottomGalleryIcon}"
-                                    Text="{StaticResource ShowBottomGallery}"
                                     TextWrapping="Wrap" />
                             </StackPanel>
                         </Button>

+ 77 - 73
src/PicView.WPF/Views/UserControls/Menus/ImageSettings.xaml.cs

@@ -1,96 +1,100 @@
-using System.Windows;
-using System.Windows.Media;
+using PicView.Core.Config;
+using PicView.Core.Localization;
 using PicView.WPF.ConfigureSettings;
 using PicView.WPF.Editing.Crop;
 using PicView.WPF.ImageHandling;
 using PicView.WPF.PicGallery;
-using PicView.Core.Config;
 using PicView.WPF.UILogic;
 using PicView.WPF.UILogic.TransformImage;
+using System.Windows.Media;
 using static PicView.WPF.Animations.MouseOverAnimations;
 
-namespace PicView.WPF.Views.UserControls.Menus
+namespace PicView.WPF.Views.UserControls.Menus;
+
+public partial class ImageSettings
 {
-    /// <summary>
-    /// Interaction logic for ImageSettings.xaml
-    /// </summary>
-    public partial class ImageSettings
+    public ImageSettings()
     {
-        public ImageSettings()
-        {
-            InitializeComponent();
+        InitializeComponent();
 
-            // RotateLeftButton
-            RotateLeftButton.Click += async (_, _) =>
-                await Rotation.RotateAndMoveCursor(true, RotateLeftButton).ConfigureAwait(false);
-            SetButtonIconMouseOverAnimations(RotateLeftButton, RotateLeftButtonBrush, RotateLeftIconBrush);
+        // RotateLeftButton
+        RotateLeftButton.Click += async (_, _) =>
+            await Rotation.RotateAndMoveCursor(true, RotateLeftButton).ConfigureAwait(false);
+        SetButtonIconMouseOverAnimations(RotateLeftButton, RotateLeftButtonBrush, RotateLeftIconBrush);
 
-            // RotateRightButton
-            RotateRightButton.Click += async (_, _) =>
-                await Rotation.RotateAndMoveCursor(false, RotateRightButton).ConfigureAwait(false);
-            SetButtonIconMouseOverAnimations(RotateRightButton, RotateRightButtonBrush, RotateRightIconBrush);
+        // RotateRightButton
+        RotateRightButton.Click += async (_, _) =>
+            await Rotation.RotateAndMoveCursor(false, RotateRightButton).ConfigureAwait(false);
+        SetButtonIconMouseOverAnimations(RotateRightButton, RotateRightButtonBrush, RotateRightIconBrush);
 
-            // FlipButton
-            FlipButton.Click += (_, _) => Rotation.Flip();
-            SetButtonIconMouseOverAnimations(FlipButton, FlipButtonBrush, FlipIconBrush);
+        // FlipButton
+        FlipButton.Click += (_, _) => Rotation.Flip();
+        SetButtonIconMouseOverAnimations(FlipButton, FlipButtonBrush, FlipIconBrush);
 
-            // ResizeButton
-            SetButtonIconMouseOverAnimations(ResizeButtonBorder, ResizeBorderBrush,
-                (SolidColorBrush)Resources["ResizeIcon"]);
-            ResizeButton.Click += (_, _) => UpdateUIValues.ToggleQuickResize();
-            ResizeButtonBorder.MouseLeftButtonDown += (_, _) => UpdateUIValues.ToggleQuickResize();
+        // ResizeButton
+        SetButtonIconMouseOverAnimations(ResizeButtonBorder, ResizeBorderBrush,
+            (SolidColorBrush)Resources["ResizeIcon"]);
+        ResizeButton.Click += (_, _) => UpdateUIValues.ToggleQuickResize();
+        ResizeButtonBorder.MouseLeftButtonDown += (_, _) => UpdateUIValues.ToggleQuickResize();
+        ResizeButtonBorder.ToolTip = TranslationHelper.GetTranslation("ResizeImage");
+        ResizeButtonTextBlock.Text = TranslationHelper.GetTranslation("Resize");
 
-            // CropButton
-            SetButtonIconMouseOverAnimations(CropButtonBorder, CropBorderBrush, (SolidColorBrush)Resources["CropIcon"]);
-            CropButton.Click += (_, _) => CropFunctions.StartCrop();
-            CropButtonBorder.MouseLeftButtonDown += (_, _) => CropFunctions.StartCrop();
+        // CropButton
+        SetButtonIconMouseOverAnimations(CropButtonBorder, CropBorderBrush, (SolidColorBrush)Resources["CropIcon"]);
+        CropButton.Click += (_, _) => CropFunctions.StartCrop();
+        CropButtonBorder.MouseLeftButtonDown += (_, _) => CropFunctions.StartCrop();
+        CropButtonTextBlock.Text = TranslationHelper.GetTranslation("Crop");
 
-            // OptimizeButton
-            SetButtonIconMouseOverAnimations(OptimizeBorder, BgBorderBrush, (SolidColorBrush)Resources["OptimizeIcon"]);
-            OptimizeButton.Click += async (_, _) =>
-                await ImageFunctions.OptimizeImageAsyncWithErrorChecking().ConfigureAwait(false);
-            OptimizeBorder.MouseLeftButtonDown += async (_, _) =>
-                await ImageFunctions.OptimizeImageAsyncWithErrorChecking().ConfigureAwait(false);
+        // OptimizeButton
+        SetButtonIconMouseOverAnimations(OptimizeBorder, BgBorderBrush, (SolidColorBrush)Resources["OptimizeIcon"]);
+        OptimizeButton.Click += async (_, _) =>
+            await ImageFunctions.OptimizeImageAsyncWithErrorChecking().ConfigureAwait(false);
+        OptimizeBorder.MouseLeftButtonDown += async (_, _) =>
+            await ImageFunctions.OptimizeImageAsyncWithErrorChecking().ConfigureAwait(false);
+        OptimizeBorder.ToolTip = TranslationHelper.GetTranslation("OptimizeImage");
+        OptimizeButtonTextBlock.Text = TranslationHelper.GetTranslation("OptimizeImage");
+
+        // SlideShowBorder
+        SetButtonIconMouseOverAnimations(SlideShowBorder, SlideShowBorderBrush,
+            (SolidColorBrush)Resources["SlideshowIcon"]);
+        SlideShowButton.Click += delegate
+        {
+            UC.Close_UserControls();
+            Slideshow.StartSlideshow();
+        };
+        SlideShowBorder.MouseLeftButtonDown += delegate
+        {
+            UC.Close_UserControls();
+            Slideshow.StartSlideshow();
+        };
+        SlideShowBorder.ToolTip = TranslationHelper.GetTranslation("StartSlideshow");
+        SlideShowButtonTextBlock.Text = TranslationHelper.GetTranslation("Slideshow");
 
-            // SlideShowBorder
-            SetButtonIconMouseOverAnimations(SlideShowBorder, SlideShowBorderBrush,
-                (SolidColorBrush)Resources["SlideshowIcon"]);
-            SlideShowButton.Click += delegate
-            {
-                UC.Close_UserControls();
-                Slideshow.StartSlideshow();
-            };
-            SlideShowBorder.MouseLeftButtonDown += delegate
-            {
-                UC.Close_UserControls();
-                Slideshow.StartSlideshow();
-            };
-            var s = Application.Current.Resources["StartSlideshow"] as string;
-            s += " [F5]";
-            SlideShowBorder.ToolTip = s;
+        // BottomGalleryBorder
+        SetButtonIconMouseOverAnimations(BottomGalleryButton, BottomGalleryBrush,
+            (SolidColorBrush)Resources["BottomGalleryIcon"]);
+        BottomGalleryBorder.MouseLeftButtonDown +=
+            async (_, _) => await ContainedGalleryClick().ConfigureAwait(false);
+        BottomGalleryButton.Click += async (_, _) => await ContainedGalleryClick().ConfigureAwait(false);
+        var showHideGallery = SettingsHelper.Settings.Gallery.IsBottomGalleryShown
+            ? "ShowBottomGallery"
+            : "HideBottomGallery";
+        ShowBottomGalleryText.Text = TranslationHelper.GetTranslation("ShowBottomGallery");
+    }
 
-            // BottomGalleryBorder
-            SetButtonIconMouseOverAnimations(BottomGalleryButton, BottomGalleryBrush,
-                (SolidColorBrush)Resources["BottomGalleryIcon"]);
-            BottomGalleryBorder.MouseLeftButtonDown +=
-                async (_, _) => await ContainedGalleryClick().ConfigureAwait(false);
-            BottomGalleryButton.Click += async (_, _) => await ContainedGalleryClick().ConfigureAwait(false);
+    private static async Task ContainedGalleryClick()
+    {
+        UC.Close_UserControls();
+        SettingsHelper.Settings.Gallery.IsBottomGalleryShown = !SettingsHelper.Settings.Gallery.IsBottomGalleryShown;
+        if (SettingsHelper.Settings.Gallery.IsBottomGalleryShown)
+        {
+            GalleryNavigation.SetSize(SettingsHelper.Settings.Gallery.BottomGalleryItemSize);
+            GalleryFunctions.ReCalculateItemSizes();
+            await GalleryToggle.OpenHorizontalGalleryAsync().ConfigureAwait(false);
         }
-
-        private static async Task ContainedGalleryClick()
+        else
         {
-            UC.Close_UserControls();
-            SettingsHelper.Settings.Gallery.IsBottomGalleryShown = !SettingsHelper.Settings.Gallery.IsBottomGalleryShown;
-            if (SettingsHelper.Settings.Gallery.IsBottomGalleryShown)
-            {
-                GalleryNavigation.SetSize(SettingsHelper.Settings.Gallery.BottomGalleryItemSize);
-                GalleryFunctions.ReCalculateItemSizes();
-                await GalleryToggle.OpenHorizontalGalleryAsync().ConfigureAwait(false);
-            }
-            else
-            {
-                GalleryToggle.CloseBottomGallery();
-            }
+            GalleryToggle.CloseBottomGallery();
         }
     }
 }

+ 13 - 17
src/PicView.WPF/Views/UserControls/Menus/QuickSettingsMenu.xaml

@@ -43,7 +43,7 @@
                         <SolidColorBrush x:Name="SettingsButtonBrush" Color="Transparent" />
                     </Border.Background>
 
-                    <Button x:Name="SettingsButton" ToolTip="{StaticResource ShowAllSettingsWindow}">
+                    <Button x:Name="SettingsButton">
                         <StackPanel Orientation="Horizontal">
                             <Image Width="18" Margin="3,0,0,0">
                                 <Image.Source>
@@ -76,14 +76,13 @@
                                 </Image.Source>
                             </Image>
                             <TextBlock
+                                x:Name="SettingsButtonTextBlock"
                                 MaxWidth="80"
                                 Margin="3,0,3,0"
                                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
                                 FontSize="13"
                                 Foreground="{StaticResource SettingsIcon}"
-                                Text="{StaticResource Settings}"
-                                TextTrimming="CharacterEllipsis"
-                                ToolTip="{StaticResource Settings}" />
+                                TextTrimming="CharacterEllipsis" />
                         </StackPanel>
                     </Button>
                 </Border>
@@ -96,8 +95,7 @@
                     Height="45"
                     Panel.ZIndex="2"
                     BorderBrush="{StaticResource BorderBrush}"
-                    BorderThickness="1"
-                    ToolTip="{StaticResource ShowInfoWindow}">
+                    BorderThickness="1">
                     <Button.Background>
                         <SolidColorBrush x:Name="InfoButtonBrush" Color="Transparent" />
                     </Button.Background>
@@ -117,22 +115,20 @@
                             </Image.Source>
                         </Image>
                         <TextBlock
+                            x:Name="InfoButtonTextBlock"
                             MaxWidth="70"
                             Margin="3,0,3,0"
                             FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
                             FontSize="13"
                             Foreground="{StaticResource AboutIcon}"
-                            Text="{StaticResource About}"
-                            TextTrimming="CharacterEllipsis"
-                            ToolTip="{StaticResource About}" />
+                            TextTrimming="CharacterEllipsis" />
                     </StackPanel>
                 </Button>
 
                 <buttons:MenuCloseButton
                     x:Name="CloseButton"
                     Canvas.Left="312"
-                    Panel.ZIndex="2"
-                    ToolTip="Close" />
+                    Panel.ZIndex="2" />
 
                 <Border
                     x:Name="StayOnTopBorder"
@@ -154,11 +150,11 @@
                             VerticalAlignment="Center"
                             Orientation="Horizontal">
                             <TextBlock
+                                x:Name="StayOnTopBorderTextBlock"
                                 MaxWidth="135"
                                 HorizontalAlignment="Center"
                                 VerticalAlignment="Center"
                                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
-                                Text="{StaticResource StayTopMost}"
                                 TextAlignment="Center"
                                 TextTrimming="CharacterEllipsis"
                                 TextWrapping="Wrap">
@@ -191,11 +187,11 @@
                             VerticalAlignment="Center"
                             Orientation="Horizontal">
                             <TextBlock
+                                x:Name="SearchSubDirBorderTextBlock"
                                 MaxWidth="135"
                                 HorizontalAlignment="Center"
                                 VerticalAlignment="Center"
                                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
-                                Text="{StaticResource SearchSubdirectory}"
                                 TextAlignment="Center"
                                 TextTrimming="CharacterEllipsis"
                                 TextWrapping="Wrap">
@@ -228,11 +224,11 @@
                             VerticalAlignment="Center"
                             Orientation="Horizontal">
                             <TextBlock
+                                x:Name="SetFitTextBlock"
                                 MaxWidth="135"
                                 HorizontalAlignment="Center"
                                 VerticalAlignment="Center"
                                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
-                                Text="{StaticResource AutoFitWindow}"
                                 TextAlignment="Center"
                                 TextTrimming="CharacterEllipsis"
                                 TextWrapping="Wrap">
@@ -265,11 +261,11 @@
                             VerticalAlignment="Center"
                             Orientation="Horizontal">
                             <TextBlock
+                                x:Name="ToggleFillTextBlock"
                                 MaxWidth="135"
                                 HorizontalAlignment="Center"
                                 VerticalAlignment="Center"
                                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
-                                Text="{StaticResource StretchImage}"
                                 TextAlignment="Center"
                                 TextTrimming="CharacterEllipsis"
                                 TextWrapping="Wrap">
@@ -305,11 +301,11 @@
                             VerticalAlignment="Center"
                             Orientation="Horizontal">
                             <TextBlock
+                                x:Name="ToggleLoopingTextBlock"
                                 MaxWidth="135"
                                 HorizontalAlignment="Center"
                                 VerticalAlignment="Center"
                                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
-                                Text="{StaticResource ToggleLooping}"
                                 TextAlignment="Center"
                                 TextTrimming="CharacterEllipsis"
                                 TextWrapping="Wrap">
@@ -342,11 +338,11 @@
                             VerticalAlignment="Center"
                             Orientation="Horizontal">
                             <TextBlock
+                                x:Name="ToggleScrollTextBlock"
                                 MaxWidth="135"
                                 HorizontalAlignment="Center"
                                 VerticalAlignment="Center"
                                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
-                                Text="{StaticResource ToggleScroll}"
                                 TextAlignment="Center"
                                 TextTrimming="CharacterEllipsis"
                                 TextWrapping="Wrap">

+ 66 - 55
src/PicView.WPF/Views/UserControls/Menus/QuickSettingsMenu.xaml.cs

@@ -2,73 +2,84 @@
 using PicView.WPF.ConfigureSettings;
 using PicView.WPF.UILogic;
 using System.Windows.Media;
+using PicView.Core.Localization;
 using static PicView.WPF.Animations.MouseOverAnimations;
 using static PicView.WPF.UILogic.UC;
 
-namespace PicView.WPF.Views.UserControls.Menus
+namespace PicView.WPF.Views.UserControls.Menus;
+
+public partial class QuickSettingsMenu
 {
-    public partial class QuickSettingsMenu
+    public QuickSettingsMenu()
     {
-        public QuickSettingsMenu()
-        {
-            InitializeComponent();
+        InitializeComponent();
 
-            // SettingsButton
-            SettingsButton.Click += delegate
-            {
-                ConfigureWindows.SettingsWindow();
-                Close_UserControls();
-            };
-            SetButtonIconMouseOverAnimations(
-                SettingsButtonBorder, SettingsButtonBrush, (SolidColorBrush)Resources["SettingsIcon"]);
+        // SettingsButton
+        SettingsButton.Click += delegate
+        {
+            ConfigureWindows.SettingsWindow();
+            Close_UserControls();
+        };
+        SetButtonIconMouseOverAnimations(
+            SettingsButtonBorder, SettingsButtonBrush, (SolidColorBrush)Resources["SettingsIcon"]);
+        SettingsButton.ToolTip = TranslationHelper.GetTranslation("ShowAllSettingsWindow");
+        SettingsButtonTextBlock.ToolTip = TranslationHelper.GetTranslation("ShowAllSettingsWindow");
+        SettingsButtonTextBlock.Text = TranslationHelper.GetTranslation("Settings");
 
-            // InfoButton
-            InfoButton.Click += delegate
-            {
-                ConfigureWindows.AboutWindow();
-                Close_UserControls();
-            };
-            SetButtonIconMouseOverAnimations(
-                InfoButton, InfoButtonBrush, (SolidColorBrush)Resources["AboutIcon"]);
+        // InfoButton
+        InfoButton.Click += delegate
+        {
+            ConfigureWindows.AboutWindow();
+            Close_UserControls();
+        };
+        SetButtonIconMouseOverAnimations(
+            InfoButton, InfoButtonBrush, (SolidColorBrush)Resources["AboutIcon"]);
+        InfoButton.ToolTip = TranslationHelper.GetTranslation("ShowInfoWindow");
+        InfoButtonTextBlock.Text = TranslationHelper.GetTranslation("About");
 
-            // Toggle Scroll
-            ToggleScroll.IsChecked = SettingsHelper.Settings.Zoom.ScrollEnabled;
-            ToggleScroll.Click += (s, x) => UpdateUIValues.SetScrolling(SettingsHelper.Settings.Zoom.ScrollEnabled);
-            ToggleScrollBorder.MouseLeftButtonDown +=
-                (_, _) => UpdateUIValues.SetScrolling(SettingsHelper.Settings.Zoom.ScrollEnabled);
-            SetButtonIconMouseOverAnimations(ToggleScrollBorder, ToggleScrollBrush, ToggleScrollFill);
+        // Toggle Scroll
+        ToggleScroll.IsChecked = SettingsHelper.Settings.Zoom.ScrollEnabled;
+        ToggleScroll.Click += (s, x) => UpdateUIValues.SetScrolling(SettingsHelper.Settings.Zoom.ScrollEnabled);
+        ToggleScrollBorder.MouseLeftButtonDown +=
+            (_, _) => UpdateUIValues.SetScrolling(SettingsHelper.Settings.Zoom.ScrollEnabled);
+        SetButtonIconMouseOverAnimations(ToggleScrollBorder, ToggleScrollBrush, ToggleScrollFill);
+        ToggleScrollTextBlock.Text = TranslationHelper.GetTranslation("ToggleScroll");
 
-            // Toggle Fill
-            ToggleFill.IsChecked = SettingsHelper.Settings.ImageScaling.StretchImage;
-            ToggleFill.Click += UpdateUIValues.SetAutoFill;
-            ToggleFillBorder.MouseLeftButtonDown += UpdateUIValues.SetAutoFill;
-            SetButtonIconMouseOverAnimations(ToggleFillBorder, ToggleFillBrush, ToggleFillFill);
+        // Toggle Fill
+        ToggleFill.IsChecked = SettingsHelper.Settings.ImageScaling.StretchImage;
+        ToggleFill.Click += UpdateUIValues.SetAutoFill;
+        ToggleFillBorder.MouseLeftButtonDown += UpdateUIValues.SetAutoFill;
+        SetButtonIconMouseOverAnimations(ToggleFillBorder, ToggleFillBrush, ToggleFillFill);
+        ToggleFillTextBlock.Text = TranslationHelper.GetTranslation("StretchImage");
 
-            // Toggle Looping
-            ToggleLooping.IsChecked = SettingsHelper.Settings.UIProperties.Looping;
-            ToggleLooping.Click += (_, _) => UpdateUIValues.SetLooping();
-            ToggleLoopingBorder.MouseLeftButtonDown += (_, _) => UpdateUIValues.SetLooping();
-            SetButtonIconMouseOverAnimations(ToggleLoopingBorder, ToggleLoopBrush, ToggleLoopFill);
+        // Toggle Looping
+        ToggleLooping.IsChecked = SettingsHelper.Settings.UIProperties.Looping;
+        ToggleLooping.Click += (_, _) => UpdateUIValues.SetLooping();
+        ToggleLoopingBorder.MouseLeftButtonDown += (_, _) => UpdateUIValues.SetLooping();
+        SetButtonIconMouseOverAnimations(ToggleLoopingBorder, ToggleLoopBrush, ToggleLoopFill);
+        ToggleLoopingTextBlock.Text = TranslationHelper.GetTranslation("ToggleLooping");
 
-            // Set Fit
-            SetFit.IsChecked = SettingsHelper.Settings.WindowProperties.AutoFit;
-            SetFit.Click += UpdateUIValues.SetAutoFit;
-            SetFitBorder.MouseLeftButtonDown += UpdateUIValues.SetAutoFit;
-            SetButtonIconMouseOverAnimations(SetFitBorder, SetFitBrush, SetFitFill);
+        // Set Fit
+        SetFit.IsChecked = SettingsHelper.Settings.WindowProperties.AutoFit;
+        SetFit.Click += UpdateUIValues.SetAutoFit;
+        SetFitBorder.MouseLeftButtonDown += UpdateUIValues.SetAutoFit;
+        SetButtonIconMouseOverAnimations(SetFitBorder, SetFitBrush, SetFitFill);
+        SetFitTextBlock.Text = TranslationHelper.GetTranslation("AutoFitWindow");
 
-            // Stay on top
-            StayOnTop.IsChecked = SettingsHelper.Settings.WindowProperties.TopMost;
-            StayOnTop.Click += (_, _) => UpdateUIValues.SetTopMost();
-            StayOnTopBorder.MouseLeftButtonDown += (_, _) => UpdateUIValues.SetTopMost();
-            SetButtonIconMouseOverAnimations(StayOnTopBorder, StayOnTopBrush, StayOnTopFill);
+        // Stay on top
+        StayOnTop.IsChecked = SettingsHelper.Settings.WindowProperties.TopMost;
+        StayOnTop.Click += (_, _) => UpdateUIValues.SetTopMost();
+        StayOnTopBorder.MouseLeftButtonDown += (_, _) => UpdateUIValues.SetTopMost();
+        SetButtonIconMouseOverAnimations(StayOnTopBorder, StayOnTopBrush, StayOnTopFill);
+        StayOnTopBorderTextBlock.Text = TranslationHelper.GetTranslation("StayTopMost");
 
-            // Search subdirectories
-            SearchSubDir.IsChecked = SettingsHelper.Settings.Sorting.IncludeSubDirectories;
-            SearchSubDir.Click += async (_, _) =>
-                await UpdateUIValues.ToggleIncludeSubdirectoriesAsync().ConfigureAwait(false);
-            SearchSubDirBorder.MouseLeftButtonDown += async (_, _) =>
-                await UpdateUIValues.ToggleIncludeSubdirectoriesAsync().ConfigureAwait(false);
-            SetButtonIconMouseOverAnimations(SearchSubDirBorder, SearchSubDirBrush, SearchSubDirFill);
-        }
+        // Search subdirectories
+        SearchSubDir.IsChecked = SettingsHelper.Settings.Sorting.IncludeSubDirectories;
+        SearchSubDir.Click += async (_, _) =>
+            await UpdateUIValues.ToggleIncludeSubdirectoriesAsync().ConfigureAwait(false);
+        SearchSubDirBorder.MouseLeftButtonDown += async (_, _) =>
+            await UpdateUIValues.ToggleIncludeSubdirectoriesAsync().ConfigureAwait(false);
+        SetButtonIconMouseOverAnimations(SearchSubDirBorder, SearchSubDirBrush, SearchSubDirFill);
+        SearchSubDirBorderTextBlock.Text = TranslationHelper.GetTranslation("SearchSubdirectory");
     }
 }

+ 10 - 18
src/PicView.WPF/Views/UserControls/Menus/ToolsAndEffectsMenu.xaml

@@ -62,11 +62,11 @@
 
                         <StackPanel Width="173" Orientation="Horizontal">
                             <TextBlock
+                                x:Name="ResizeTextBlock"
                                 Width="125"
                                 Margin="2,2,2,2"
                                 VerticalAlignment="Center"
                                 Foreground="{StaticResource ResizeIconBrush}"
-                                Text="{StaticResource BatchResize}"
                                 TextAlignment="Center"
                                 TextTrimming="CharacterEllipsis"
                                 TextWrapping="Wrap" />
@@ -136,18 +136,17 @@
                     Width="139"
                     Height="43"
                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
-                    FontSize="13"
-                    ToolTip="{StaticResource EffectsTooltip}">
+                    FontSize="13">
                     <Button.Background>
                         <SolidColorBrush x:Name="EffectsButtonBrush" Color="Transparent" />
                     </Button.Background>
                     <StackPanel MaxWidth="135" Orientation="Horizontal">
                         <TextBlock
+                            x:Name="EffectsTextBlock"
                             Width="110"
                             MaxWidth="110"
                             Margin="0,2,0,2"
                             Foreground="{StaticResource EffectsIconBrush}"
-                            Text="{StaticResource Effects}"
                             TextAlignment="Center"
                             TextTrimming="CharacterEllipsis"
                             TextWrapping="Wrap" />
@@ -185,18 +184,17 @@
                         x:Name="ImageInfoButton"
                         Canvas.Left="196"
                         Canvas.Top="59"
-                        FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
-                        ToolTip="{StaticResource ShowImageInfo}">
+                        FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium">
                         <Button.Background>
                             <SolidColorBrush x:Name="ImageInfoBrush" Color="Transparent" />
                         </Button.Background>
                         <StackPanel Width="150" Orientation="Horizontal">
                             <TextBlock
+                                x:Name="ImageInfoTextBlock"
                                 Width="126"
                                 MaxWidth="126"
                                 Margin="0,2,2,2"
                                 Foreground="{StaticResource InfoIconBrush}"
-                                Text="{StaticResource ImageInfo}"
                                 TextAlignment="Center"
                                 TextWrapping="Wrap" />
                             <Path
@@ -216,20 +214,17 @@
                     Width="174"
                     Height="49"
                     Style="{StaticResource ButtonBorder}">
-                    <Button
-                        x:Name="ColorPickerButton"
-                        FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
-                        ToolTip="{StaticResource ColorPickerToolTooltip}">
+                    <Button x:Name="ColorPickerButton" FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium">
                         <Button.Background>
                             <SolidColorBrush x:Name="ColorPickerBrush" Color="Transparent" />
                         </Button.Background>
                         <StackPanel Orientation="Horizontal">
                             <TextBlock
+                                x:Name="ColorPickerTextBlock"
                                 Width="136"
                                 MaxWidth="136"
                                 Margin="0,2,2,2"
                                 Foreground="{StaticResource ColorIconBrush}"
-                                Text="{StaticResource ColorPickerTool}"
                                 TextAlignment="Center"
                                 TextWrapping="Wrap" />
                             <Path
@@ -259,11 +254,11 @@
                         </Button.Background>
                         <StackPanel Width="150" Orientation="Horizontal">
                             <TextBlock
+                                x:Name="OptimizeImageTextBlock"
                                 Width="126"
                                 MaxWidth="126"
                                 Margin="0,2,2,2"
                                 Foreground="{StaticResource OptimizeIconBrush}"
-                                Text="{StaticResource OptimizeImage}"
                                 TextAlignment="Center"
                                 TextWrapping="Wrap" />
                             <Image Width="17" Height="17">
@@ -309,21 +304,18 @@
                     Width="174"
                     Height="49"
                     Style="{StaticResource ButtonBorder}">
-                    <Button
-                        x:Name="BgButton"
-                        FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium"
-                        ToolTip="{StaticResource ColorPickerToolTooltip}">
+                    <Button x:Name="BgButton" FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium">
                         <Button.Background>
                             <SolidColorBrush x:Name="BgBrush" Color="Transparent" />
                         </Button.Background>
                         <StackPanel Orientation="Horizontal">
                             <TextBlock
+                                x:Name="BgTextBlock"
                                 Width="136"
                                 MaxWidth="136"
                                 Margin="4,2,2,2"
                                 VerticalAlignment="Center"
                                 Foreground="{StaticResource ChangeIconBrush}"
-                                Text="{StaticResource ChangeBackground}"
                                 TextAlignment="Center"
                                 TextWrapping="Wrap" />
                             <Image Width="20" Height="20">

+ 59 - 66
src/PicView.WPF/Views/UserControls/Menus/ToolsAndEffectsMenu.xaml.cs

@@ -1,85 +1,78 @@
-using PicView.Core.Config;
-using PicView.WPF.ConfigureSettings;
+using PicView.WPF.ConfigureSettings;
 using PicView.WPF.Editing;
 using PicView.WPF.ImageHandling;
 using PicView.WPF.UILogic;
-using System.Windows.Controls;
 using System.Windows.Media;
+using PicView.Core.Localization;
 using static PicView.WPF.Animations.MouseOverAnimations;
 
-namespace PicView.WPF.Views.UserControls.Menus
+namespace PicView.WPF.Views.UserControls.Menus;
+
+public partial class ToolsAndEffectsMenu
 {
-    /// <summary>
-    /// Menu to open functions
-    /// </summary>
-    public partial class ToolsAndEffectsMenu : UserControl
+    public ToolsAndEffectsMenu()
     {
-        public ToolsAndEffectsMenu()
-        {
-            InitializeComponent();
-
-            switch (SettingsHelper.Settings.UIProperties.UserLanguage)
-            {
-                case "ru":
-                case "pl":
-                case "es":
-                    ResizeButton.FontSize = EffectsButton.FontSize =
-                        ImageInfoButton.FontSize = ColorPickerButton.FontSize =
-                            OptimizeImageButton.FontSize = BgButton.FontSize = 12;
-                    break;
-            }
+        InitializeComponent();
 
-            // ResizeButton
-            var resizeIconBrush = (SolidColorBrush)Resources["ResizeIconBrush"];
-            SetButtonIconMouseOverAnimations(ResizeButton, ResizeButtonBrush, resizeIconBrush);
-            ResizeButton.Click += (_, _) => ConfigureWindows.ResizeWindow();
+        // ResizeButton
+        var resizeIconBrush = (SolidColorBrush)Resources["ResizeIconBrush"];
+        SetButtonIconMouseOverAnimations(ResizeButton, ResizeButtonBrush, resizeIconBrush);
+        ResizeButton.Click += (_, _) => ConfigureWindows.ResizeWindow();
+        ResizeTextBlock.Text = TranslationHelper.GetTranslation("BatchResize");
 
-            // EffectsButton
-            var effectsIconBrush = (SolidColorBrush)Resources["EffectsIconBrush"];
-            SetButtonIconMouseOverAnimations(EffectsButton, EffectsButtonBrush, effectsIconBrush);
-            EffectsButton.Click += delegate
-            {
-                UC.Close_UserControls();
-                ConfigureWindows.EffectsWindow();
-            };
+        // EffectsButton
+        var effectsIconBrush = (SolidColorBrush)Resources["EffectsIconBrush"];
+        SetButtonIconMouseOverAnimations(EffectsButton, EffectsButtonBrush, effectsIconBrush);
+        EffectsButton.Click += delegate
+        {
+            UC.Close_UserControls();
+            ConfigureWindows.EffectsWindow();
+        };
+        EffectsButton.ToolTip = TranslationHelper.GetTranslation("EffectsTooltip");
+        EffectsTextBlock.Text = TranslationHelper.GetTranslation("Effects");
 
-            // ColorPickerButton
-            var colorIconBrush = (SolidColorBrush)Resources["ColorIconBrush"];
-            SetButtonIconMouseOverAnimations(ColorPickerButton, ColorPickerBrush, colorIconBrush);
-            ColorPickerButton.Click += delegate
+        // ColorPickerButton
+        var colorIconBrush = (SolidColorBrush)Resources["ColorIconBrush"];
+        SetButtonIconMouseOverAnimations(ColorPickerButton, ColorPickerBrush, colorIconBrush);
+        ColorPickerButton.Click += delegate
+        {
+            if (ConfigureWindows.GetMainWindow.MainImage.Source is null)
             {
-                if (ConfigureWindows.GetMainWindow.MainImage.Source is null)
-                {
-                    return;
-                }
+                return;
+            }
 
-                UC.Close_UserControls();
-                ColorPicking.IsRunning = true;
-                ColorPicking.Start();
-            };
+            UC.Close_UserControls();
+            ColorPicking.IsRunning = true;
+            ColorPicking.Start();
+        };
+        ColorPickerButton.ToolTip = TranslationHelper.GetTranslation("ColorPickerToolTooltip");
+        ColorPickerTextBlock.Text = TranslationHelper.GetTranslation("ColorPickerTool");
 
-            // ImageInfoButton
-            var infoIconBrush = (SolidColorBrush)Resources["InfoIconBrush"];
-            SetButtonIconMouseOverAnimations(ImageInfoButton, ImageInfoBrush, infoIconBrush);
-            ImageInfoButton.Click += delegate
-            {
-                UC.Close_UserControls();
-                ConfigureWindows.ImageInfoWindow();
-            };
+        // ImageInfoButton
+        var infoIconBrush = (SolidColorBrush)Resources["InfoIconBrush"];
+        SetButtonIconMouseOverAnimations(ImageInfoButton, ImageInfoBrush, infoIconBrush);
+        ImageInfoButton.Click += delegate
+        {
+            UC.Close_UserControls();
+            ConfigureWindows.ImageInfoWindow();
+        };
+        ImageInfoButton.ToolTip = TranslationHelper.GetTranslation("ShowImageInfo");
+        ImageInfoTextBlock.Text = TranslationHelper.GetTranslation("ImageInfo");
 
-            // OptimizeImageButton
-            var optimizeIconBrush = (SolidColorBrush)Resources["OptimizeIconBrush"];
-            SetButtonIconMouseOverAnimations(OptimizeImageButton, OptimizeImageBrush, optimizeIconBrush);
-            OptimizeImageButton.Click += async (_, _) =>
-                await ImageFunctions.OptimizeImageAsyncWithErrorChecking().ConfigureAwait(false);
+        // OptimizeImageButton
+        var optimizeIconBrush = (SolidColorBrush)Resources["OptimizeIconBrush"];
+        SetButtonIconMouseOverAnimations(OptimizeImageButton, OptimizeImageBrush, optimizeIconBrush);
+        OptimizeImageButton.Click += async (_, _) =>
+            await ImageFunctions.OptimizeImageAsyncWithErrorChecking().ConfigureAwait(false);
+        OptimizeImageTextBlock.Text = TranslationHelper.GetTranslation("OptimizeImage");
 
-            // Change background
-            var changeIconBrush = (SolidColorBrush)Resources["ChangeIconBrush"];
-            SetButtonIconMouseOverAnimations(BgButton, BgBrush, changeIconBrush);
-            OptimizeImageButton.Click += async (_, _) =>
-                await ImageFunctions.OptimizeImageAsyncWithErrorChecking().ConfigureAwait(false);
+        // Change background
+        var changeIconBrush = (SolidColorBrush)Resources["ChangeIconBrush"];
+        SetButtonIconMouseOverAnimations(BgButton, BgBrush, changeIconBrush);
+        OptimizeImageButton.Click += async (_, _) =>
+            await ImageFunctions.OptimizeImageAsyncWithErrorChecking().ConfigureAwait(false);
+        BgTextBlock.Text = TranslationHelper.GetTranslation("ChangeBackground");
 
-            BgButton.Click += (_, _) => ConfigColors.ChangeBackground();
-        }
+        BgButton.Click += (_, _) => ConfigColors.ChangeBackground();
     }
 }

+ 3 - 2
src/PicView.WPF/Views/UserControls/Misc/Credits.xaml

@@ -5,8 +5,9 @@
     <StackPanel Margin="0,10,0,15">
 
         <Label
+            x:Name="CreditsLabel"
             HorizontalAlignment="Center"
-            Content="{StaticResource ResourceKey=Credits}"
+            Content="Credits"
             FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Black"
             FontSize="16" />
 
@@ -45,9 +46,9 @@
         </TextBlock>
 
         <Label
+            x:Name="IconsUsedLabel"
             Margin="0,0,0,3"
             HorizontalAlignment="Center"
-            Content="{StaticResource ResourceKey=IconsUsed}"
             FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Black" />
 
         <TextBlock

+ 4 - 0
src/PicView.WPF/Views/UserControls/Misc/Credits.xaml.cs

@@ -4,6 +4,7 @@ using System.Windows.Media;
 using System.Windows.Navigation;
 using PicView.WPF.Animations;
 using PicView.Core.Config;
+using PicView.Core.Localization;
 
 namespace PicView.WPF.Views.UserControls.Misc;
 
@@ -14,6 +15,9 @@ public partial class Credits
         InitializeComponent();
         Loaded += delegate
         {
+            CreditsLabel.Content = TranslationHelper.GetTranslation("Credits");
+            IconsUsedLabel.Content = TranslationHelper.GetTranslation("IconsUsed");
+
             var color = SettingsHelper.Settings.Theme.Dark
                 ? Colors.White
                 : (Color)Application.Current.Resources["MainColor"];

+ 1 - 1
src/PicView.WPF/Views/UserControls/Misc/CustomTextBox.xaml

@@ -19,7 +19,7 @@
         OverridesDefaultStyle="True"
         SelectionBrush="{DynamicResource ChosenColorBrush}"
         SelectionTextBrush="{StaticResource MainColorBrush}"
-        Text="{StaticResource Loading}"
+        Text="Loading..."
         TextAlignment="Center"
         UndoLimit="200">
         <TextBox.Style>

+ 6 - 2
src/PicView.WPF/Views/UserControls/Misc/DragDropOverlay.xaml

@@ -1,7 +1,10 @@
 <UserControl
     x:Class="PicView.WPF.Views.UserControls.Misc.DragDropOverlay"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    mc:Ignorable="d">
     <Grid Background="#A5171717">
         <StackPanel
             HorizontalAlignment="Center"
@@ -11,11 +14,12 @@
             <ContentPresenter x:Name="ContentHolder" />
 
             <TextBlock
+                x:Name="TextMsg"
                 Margin="0,10,0,0"
+                d:Text="DragOverString"
                 FontFamily="Roboto Black"
                 FontSize="16"
                 Foreground="#FFf6f4f4"
-                Text="{StaticResource DragOverString}"
                 TextAlignment="Center" />
         </StackPanel>
     </Grid>

+ 3 - 0
src/PicView.WPF/Views/UserControls/Misc/DragDropOverlay.xaml.cs

@@ -1,4 +1,5 @@
 using System.Windows;
+using PicView.Core.Localization;
 
 namespace PicView.WPF.Views.UserControls.Misc
 {
@@ -7,10 +8,12 @@ namespace PicView.WPF.Views.UserControls.Misc
         public DragDropOverlay()
         {
             InitializeComponent();
+            TextMsg.Text = TranslationHelper.GetTranslation("DragOverString");
         }
 
         public void UpdateContent(UIElement element)
         {
+            TextMsg.Text = TranslationHelper.GetTranslation("DragOverString");
             if (element is null)
             {
                 return;

+ 13 - 11
src/PicView.WPF/Views/UserControls/Misc/QuickResize.xaml

@@ -2,9 +2,9 @@
     x:Class="PicView.WPF.Views.UserControls.Misc.QuickResize"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
     d:DesignHeight="300"
     BorderThickness="1"
     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
@@ -27,16 +27,18 @@
             Panel.ZIndex="1" />
 
         <Label
+            x:Name="ResizeImageLabel"
             Margin="0,0,0,115"
             HorizontalAlignment="Center"
             VerticalAlignment="Center"
-            Content="{StaticResource ResizeImage}" />
+            d:Content="ResizeImage" />
 
         <TextBlock
+            x:Name="CropMessageTextBlock"
             Margin="0,0,0,67"
             HorizontalAlignment="Center"
             VerticalAlignment="Center"
-            Text="{StaticResource CropMessage}" />
+            d:Text="CropMessage" />
 
         <Border
             HorizontalAlignment="Center"
@@ -49,34 +51,34 @@
 
                 <StackPanel Orientation="Horizontal">
                     <TextBlock
+                        x:Name="WidthTextBlock"
                         Margin="10,0,10,0"
                         VerticalAlignment="Center"
+                        d:Text="Width"
                         FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                         FontSize="14"
-                        Text="{StaticResource Width}"
                         ToolTip="{Binding Text, RelativeSource={RelativeSource Self}}" />
                     <TextBox
                         x:Name="WidthBox"
                         Width="55"
                         d:Text="1920"
-                        IsReadOnly="False"
-                        ToolTip="{StaticResource SizeTooltip}" />
+                        IsReadOnly="False" />
                 </StackPanel>
 
                 <StackPanel Orientation="Horizontal">
                     <TextBlock
+                        x:Name="HeightTextBlock"
                         Margin="10,0,10,0"
                         VerticalAlignment="Center"
+                        d:Text="Height"
                         FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                         FontSize="14"
-                        Text="{StaticResource Height}"
                         ToolTip="{Binding Text, RelativeSource={RelativeSource Self}}" />
                     <TextBox
                         x:Name="HeightBox"
                         Width="55"
                         d:Text="1080"
-                        IsReadOnly="False"
-                        ToolTip="{StaticResource SizeTooltip}" />
+                        IsReadOnly="False" />
                 </StackPanel>
 
                 <Label
@@ -105,8 +107,8 @@
                     x:Name="ApplyButton"
                     Padding="9,9,9,9"
                     VerticalAlignment="Center"
-                    Background="{DynamicResource BorderBrushAlt}"
-                    Content="{StaticResource Apply}">
+                    d:Content="Apply"
+                    Background="{DynamicResource BorderBrushAlt}">
                     <Label.Foreground>
                         <SolidColorBrush x:Name="ApplyBrush" Color="{StaticResource MainColor}" />
                     </Label.Foreground>

+ 120 - 108
src/PicView.WPF/Views/UserControls/Misc/QuickResize.xaml.cs

@@ -6,140 +6,152 @@ using System.Windows.Media;
 using System.Windows.Media.Animation;
 using PicView.WPF.Animations;
 using PicView.Core.Config;
+using PicView.Core.Localization;
 using PicView.WPF.Shortcuts;
 using PicView.WPF.UILogic;
 using PicView.WPF.UILogic.Sizing;
 using Timer = System.Timers.Timer;
 
-namespace PicView.WPF.Views.UserControls.Misc
+namespace PicView.WPF.Views.UserControls.Misc;
+
+public partial class QuickResize
 {
-    public partial class QuickResize : UserControl
+    public QuickResize()
     {
-        public QuickResize()
-        {
-            InitializeComponent();
+        InitializeComponent();
 
-            Loaded += delegate
+        Loaded += delegate
+        {
+            UpdateLanguage();
+            x2.MouseLeftButtonDown += (_, _) => Hide();
+            WidthBox.GotKeyboardFocus += (_, _) => WidthBox.SelectAll();
+            HeightBox.GotKeyboardFocus += (_, _) => HeightBox.SelectAll();
+
+            // WidhtBox
+            WidthBox.AcceptsReturn = false;
+            WidthBox.PreviewKeyDown += async (_, e) =>
+                await QuickResizeShortcuts.QuickResizePreviewKeys(e, WidthBox.Text, HeightBox.Text)
+                    .ConfigureAwait(false);
+
+            // HeightBox
+            HeightBox.AcceptsReturn = false;
+            HeightBox.PreviewKeyDown += async (_, e) =>
+                await QuickResizeShortcuts.QuickResizePreviewKeys(e, WidthBox.Text, HeightBox.Text)
+                    .ConfigureAwait(false);
+
+            PercentageBox.PreviewKeyDown += async (_, e) =>
             {
-                x2.MouseLeftButtonDown += (_, _) => Hide();
-                WidthBox.GotKeyboardFocus += (_, _) => WidthBox.SelectAll();
-                HeightBox.GotKeyboardFocus += (_, _) => HeightBox.SelectAll();
-
-                // WidhtBox
-                WidthBox.AcceptsReturn = false;
-                WidthBox.PreviewKeyDown += async (_, e) =>
-                    await QuickResizeShortcuts.QuickResizePreviewKeys(e, WidthBox.Text, HeightBox.Text)
-                        .ConfigureAwait(false);
-
-                // HeightBox
-                HeightBox.AcceptsReturn = false;
-                HeightBox.PreviewKeyDown += async (_, e) =>
-                    await QuickResizeShortcuts.QuickResizePreviewKeys(e, WidthBox.Text, HeightBox.Text)
-                        .ConfigureAwait(false);
-
-                PercentageBox.PreviewKeyDown += async (_, e) =>
+                switch (e.Key)
                 {
-                    switch (e.Key)
-                    {
-                        // Prevent alt tab navigation and instead move back to WidthBox
-                        case Key.Tab:
-                            e.Handled = true;
-                            WidthBox.Focus();
-                            break;
-
-                        case Key.Enter:
-                            e.Handled = true;
-                            await QuickResizeShortcuts.Fire(WidthBox.Text, HeightBox.Text).ConfigureAwait(false);
-                            break;
-                    }
-                };
+                    // Prevent alt tab navigation and instead move back to WidthBox
+                    case Key.Tab:
+                        e.Handled = true;
+                        WidthBox.Focus();
+                        break;
+
+                    case Key.Enter:
+                        e.Handled = true;
+                        await QuickResizeShortcuts.Fire(WidthBox.Text, HeightBox.Text).ConfigureAwait(false);
+                        break;
+                }
+            };
 
-                WidthBox.KeyUp += (_, e) => QuickResizeShortcuts.QuickResizeAspectRatio(WidthBox, HeightBox, true, e);
-                HeightBox.KeyUp += (_, e) => QuickResizeShortcuts.QuickResizeAspectRatio(WidthBox, HeightBox, false, e);
+            WidthBox.KeyUp += (_, e) => QuickResizeShortcuts.QuickResizeAspectRatio(WidthBox, HeightBox, true, e);
+            HeightBox.KeyUp += (_, e) => QuickResizeShortcuts.QuickResizeAspectRatio(WidthBox, HeightBox, false, e);
 
-                var colorAnimation = new ColorAnimation { Duration = TimeSpan.FromSeconds(.1) };
+            var colorAnimation = new ColorAnimation { Duration = TimeSpan.FromSeconds(.1) };
 
-                // ApplyButton
-                ApplyButton.MouseEnter += delegate
-                {
-                    colorAnimation.From = (Color)Application.Current.Resources["MainColor"];
-                    colorAnimation.To = AnimationHelper.GetPreferredColor();
-                    ApplyBrush.BeginAnimation(SolidColorBrush.ColorProperty, colorAnimation);
-                    Cursor = Cursors.Hand;
-                };
-                ApplyButton.MouseLeave += delegate
-                {
-                    colorAnimation.From = AnimationHelper.GetPreferredColor();
-                    colorAnimation.To = (Color)Application.Current.Resources["MainColor"];
-                    ApplyBrush.BeginAnimation(SolidColorBrush.ColorProperty, colorAnimation);
-                    Cursor = Cursors.Arrow;
-                };
+            // ApplyButton
+            ApplyButton.MouseEnter += delegate
+            {
+                colorAnimation.From = (Color)Application.Current.Resources["MainColor"];
+                colorAnimation.To = AnimationHelper.GetPreferredColor();
+                ApplyBrush.BeginAnimation(SolidColorBrush.ColorProperty, colorAnimation);
+                Cursor = Cursors.Hand;
+            };
+            ApplyButton.MouseLeave += delegate
+            {
+                colorAnimation.From = AnimationHelper.GetPreferredColor();
+                colorAnimation.To = (Color)Application.Current.Resources["MainColor"];
+                ApplyBrush.BeginAnimation(SolidColorBrush.ColorProperty, colorAnimation);
+                Cursor = Cursors.Arrow;
+            };
 
-                ApplyButton.MouseLeftButtonDown += async (_, _) =>
-                    await QuickResizeShortcuts.Fire(WidthBox.Text, HeightBox.Text).ConfigureAwait(false);
+            ApplyButton.MouseLeftButtonDown += async (_, _) =>
+                await QuickResizeShortcuts.Fire(WidthBox.Text, HeightBox.Text).ConfigureAwait(false);
 
-                foreach (var t in PercentageBox.Items)
+            foreach (var t in PercentageBox.Items)
+            {
+                var item = (ComboBoxItem)t;
+                item.GotFocus += (_, _) =>
                 {
-                    var item = (ComboBoxItem)t;
-                    item.GotFocus += (_, _) =>
+                    if (item.IsMouseOver is false)
                     {
-                        if (item.IsMouseOver is false)
-                        {
-                            item.IsSelected = true;
-                        }
-                    };
-                }
+                        item.IsSelected = true;
+                    }
+                };
+            }
 
-                PercentageBox.SelectionChanged += PercentageBox_SelectionChanged;
-            };
-        }
+            PercentageBox.SelectionChanged += PercentageBox_SelectionChanged;
+        };
+    }
+
+    public void UpdateLanguage()
+    {
+        ApplyButton.Content = TranslationHelper.GetTranslation("Apply");
+        ResizeImageLabel.Content = TranslationHelper.GetTranslation("ResizeImage");
+        CropMessageTextBlock.Text = TranslationHelper.GetTranslation("CropMessage");
+        WidthTextBlock.Text = TranslationHelper.GetTranslation("Width");
+        WidthBox.ToolTip = TranslationHelper.GetTranslation("SizeTooltip");
+        HeightTextBlock.Text = TranslationHelper.GetTranslation("Height");
+        HeightBox.ToolTip = TranslationHelper.GetTranslation("SizeTooltip");
+    }
 
-        private void PercentageBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
+    private void PercentageBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
+    {
+        if (((ComboBoxItem)PercentageBox.SelectedItem).Content is not string content)
         {
-            if (((ComboBoxItem)PercentageBox.SelectedItem).Content is not string content)
-            {
-                return;
-            }
+            return;
+        }
 
-            var value = decimal.Parse(content.TrimEnd('%', ' ')) / 100M; // Convert from percentage to decimal
+        var value = decimal.Parse(content.TrimEnd('%', ' ')) / 100M; // Convert from percentage to decimal
 
-            QuickResizeShortcuts.QuickResizeAspectRatio(WidthBox, HeightBox, true, null, (double)value);
-        }
+        QuickResizeShortcuts.QuickResizeAspectRatio(WidthBox, HeightBox, true, null, (double)value);
+    }
 
-        public void Show()
+    public void Show()
+    {
+        grid.Width = SettingsHelper.Settings.WindowProperties.AutoFit
+            ? ScaleImage.XWidth
+            : ConfigureWindows.GetMainWindow.ActualWidth;
+        grid.Height = SettingsHelper.Settings.WindowProperties.AutoFit
+            ? ScaleImage.XHeight
+            : ConfigureWindows.GetMainWindow.ActualHeight;
+        Visibility = Visibility.Visible;
+        AnimationHelper.Fade(this, TimeSpan.FromSeconds(.4), TimeSpan.Zero, 0, 1);
+        PercentageBox.SelectedIndex = 0;
+        WidthBox.Text = ConfigureWindows.GetMainWindow.MainImage.Source?.Width.ToString(CultureInfo.CurrentCulture);
+        HeightBox.Text =
+            ConfigureWindows.GetMainWindow.MainImage?.Source?.Height.ToString(CultureInfo.CurrentCulture);
+
+        var timer = new Timer(401) { AutoReset = false, Enabled = true };
+        timer.Elapsed += delegate
         {
-            grid.Width = SettingsHelper.Settings.WindowProperties.AutoFit
-                ? ScaleImage.XWidth
-                : ConfigureWindows.GetMainWindow.ActualWidth;
-            grid.Height = SettingsHelper.Settings.WindowProperties.AutoFit
-                ? ScaleImage.XHeight
-                : ConfigureWindows.GetMainWindow.ActualHeight;
-            Visibility = Visibility.Visible;
-            AnimationHelper.Fade(this, TimeSpan.FromSeconds(.4), TimeSpan.Zero, 0, 1);
-            PercentageBox.SelectedIndex = 0;
-            WidthBox.Text = ConfigureWindows.GetMainWindow.MainImage.Source?.Width.ToString(CultureInfo.CurrentCulture);
-            HeightBox.Text =
-                ConfigureWindows.GetMainWindow.MainImage?.Source?.Height.ToString(CultureInfo.CurrentCulture);
-
-            var timer = new Timer(401) { AutoReset = false, Enabled = true };
-            timer.Elapsed += delegate
-            {
-                ConfigureWindows.GetMainWindow.Dispatcher.Invoke(() => { Keyboard.Focus(WidthBox); });
-            };
-        }
+            ConfigureWindows.GetMainWindow.Dispatcher.Invoke(() => { Keyboard.Focus(WidthBox); });
+        };
+    }
 
-        public void Hide()
+    public void Hide()
+    {
+        ConfigureWindows.GetMainWindow.Dispatcher.Invoke(() =>
         {
-            ConfigureWindows.GetMainWindow.Dispatcher.Invoke(() =>
-            {
-                AnimationHelper.Fade(this, TimeSpan.FromSeconds(.6), TimeSpan.Zero, 1, 0);
-            });
+            AnimationHelper.Fade(this, TimeSpan.FromSeconds(.6), TimeSpan.Zero, 1, 0);
+        });
 
-            var timer = new Timer(601) { AutoReset = false, Enabled = true };
-            timer.Elapsed += delegate
-            {
-                ConfigureWindows.GetMainWindow.Dispatcher.Invoke(() => { Visibility = Visibility.Collapsed; });
-            };
-        }
+        var timer = new Timer(601) { AutoReset = false, Enabled = true };
+        timer.Elapsed += delegate
+        {
+            ConfigureWindows.GetMainWindow.Dispatcher.Invoke(() => { Visibility = Visibility.Collapsed; });
+        };
     }
 }

File diff suppressed because it is too large
+ 185 - 117
src/PicView.WPF/Views/UserControls/Misc/ShortcutList.xaml


+ 324 - 21
src/PicView.WPF/Views/UserControls/Misc/ShortcutList.xaml.cs

@@ -5,6 +5,7 @@ using System.Windows.Media;
 using System.Windows.Threading;
 using PicView.WPF.Animations;
 using PicView.Core.Config;
+using PicView.Core.Localization;
 using PicView.WPF.Shortcuts;
 using PicView.WPF.UILogic;
 
@@ -44,6 +45,8 @@ public partial class ShortcutList
             });
         };
 
+        #region Loaded and key events
+
         // NextBox
         NextBox1.Loaded += async (s, _) => await UpdateTextBoxes(s, "Next", false).ConfigureAwait(false);
         NextBox2.Loaded += async (s, _) => await UpdateTextBoxes(s, "Next", true).ConfigureAwait(false);
@@ -108,19 +111,19 @@ public partial class ShortcutList
         ToggleScrlBox2.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "ToggleScroll", true).ConfigureAwait(false);
 
         // Zoom In
-        ZoomInBox.Loaded += async (s, _) => await UpdateTextBoxes(s, "ZoomIn", false).ConfigureAwait(false);
+        ZoomInBox1.Loaded += async (s, _) => await UpdateTextBoxes(s, "ZoomIn", false).ConfigureAwait(false);
 
-        ZoomInBox.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "ZoomIn", false).ConfigureAwait(false);
+        ZoomInBox1.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "ZoomIn", false).ConfigureAwait(false);
 
         // Zoom Out
-        ZoomOutBox.Loaded += async (s, _) => await UpdateTextBoxes(s, "ZoomOut", false).ConfigureAwait(false);
+        ZoomOutBox1.Loaded += async (s, _) => await UpdateTextBoxes(s, "ZoomOut", false).ConfigureAwait(false);
 
-        ZoomOutBox.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "ZoomOut", false).ConfigureAwait(false);
+        ZoomOutBox1.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "ZoomOut", false).ConfigureAwait(false);
 
         // Reset zoom
-        ResetZoomBox.Loaded += async (s, _) => await UpdateTextBoxes(s, "ResetZoom", false).ConfigureAwait(false);
+        ResetZoomBox1.Loaded += async (s, _) => await UpdateTextBoxes(s, "ResetZoom", false).ConfigureAwait(false);
 
-        ResetZoomBox.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "ResetZoom", false).ConfigureAwait(false);
+        ResetZoomBox1.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "ResetZoom", false).ConfigureAwait(false);
 
         // Stretch
         StretchBox1.Loaded += async (s, _) => await UpdateTextBoxes(s, "Stretch", false).ConfigureAwait(false);
@@ -249,9 +252,9 @@ public partial class ShortcutList
         CopyFilePathBox.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "CopyFilePath", false).ConfigureAwait(false);
 
         // Copy image
-        CopyImageBox.Loaded += async (s, _) => await UpdateTextBoxes(s, "CopyImage", false).ConfigureAwait(false);
+        CopyImageBox1.Loaded += async (s, _) => await UpdateTextBoxes(s, "CopyImage", false).ConfigureAwait(false);
 
-        CopyImageBox.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "CopyImage", false).ConfigureAwait(false);
+        CopyImageBox1.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "CopyImage", false).ConfigureAwait(false);
 
         // Copy base64
         CopyBase64Box1.Loaded += async (s, _) => await UpdateTextBoxes(s, "CopyBase64", false).ConfigureAwait(false);
@@ -273,9 +276,8 @@ public partial class ShortcutList
         DuplicateBox2.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "DuplicateFile", true).ConfigureAwait(false);
 
         // Cut file
-        CopyImageBox.Loaded += async (s, _) => await UpdateTextBoxes(s, "CutFile", false).ConfigureAwait(false);
-
-        CopyImageBox.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "CutFile", false).ConfigureAwait(false);
+        CutBox.Loaded += async (s, _) => await UpdateTextBoxes(s, "CutFile", false).ConfigureAwait(false);
+        CutBox.PreviewKeyDown += async (s, e) => await AssociateKey(s, e, "CutFile", false).ConfigureAwait(false);
 
         // About window
         AboutBox1.Loaded += async (s, _) => await UpdateTextBoxes(s, "AboutWindow", false).ConfigureAwait(false);
@@ -410,6 +412,10 @@ public partial class ShortcutList
 
         ResetStarsBox1.Loaded += async (s, _) => await UpdateTextBoxes(s, "Set0Star", false).ConfigureAwait(false);
         ResetStarsBox2.Loaded += async (s, _) => await UpdateTextBoxes(s, "Set0Star", true).ConfigureAwait(false);
+
+        #endregion Loaded and key events
+
+        UpdateLanguage();
     }
 
     /// <summary>
@@ -440,7 +446,7 @@ public partial class ShortcutList
                 try
                 {
                     textBox.Foreground = (SolidColorBrush)Application.Current.Resources["MainColorFadedBrush"];
-                    textBox.Text = Application.Current.Resources["PressKey"].ToString();
+                    textBox.Text = TranslationHelper.GetTranslation("PressKey");
                 }
                 catch (Exception)
                 {
@@ -451,7 +457,7 @@ public partial class ShortcutList
             {
                 try
                 {
-                    if (textBox.Text.Equals(Application.Current.Resources["PressKey"].ToString()))
+                    if (textBox.Text.Equals(TranslationHelper.GetTranslation("PressKey")))
                     {
                         textBox.Text = GetFunctionKey();
                     }
@@ -495,13 +501,13 @@ public partial class ShortcutList
             case "Next":
                 if (!alt)
                 {
-                    LastImageBox1.Text = $"{Application.Current.Resources["Ctrl"]} + {key}";
-                    NextFolderBox1.Text = $"{Application.Current.Resources["Shift"]} + {key}";
+                    LastImageBox1.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + {key}";
+                    NextFolderBox1.Text = $"{TranslationHelper.GetTranslation("Shift")} + {key}";
                 }
                 else
                 {
-                    LastImageBox2.Text = $"{Application.Current.Resources["Ctrl"]} + {key}";
-                    NextFolderBox2.Text = $"{Application.Current.Resources["Shift"]} + {key}";
+                    LastImageBox2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + {key}";
+                    NextFolderBox2.Text = $"{TranslationHelper.GetTranslation("Shift")} + {key}";
                 }
 
                 break;
@@ -509,13 +515,13 @@ public partial class ShortcutList
             case "Prev":
                 if (!alt)
                 {
-                    FirstImageBox1.Text = $"{Application.Current.Resources["Ctrl"]} + {key}";
-                    PrevFolderBox1.Text = $"{Application.Current.Resources["Shift"]} + {key}";
+                    FirstImageBox1.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + {key}";
+                    PrevFolderBox1.Text = $"{TranslationHelper.GetTranslation("Shift")} + {key}";
                 }
                 else
                 {
-                    FirstImageBox2.Text = $"{Application.Current.Resources["Ctrl"]} + {key}";
-                    PrevFolderBox2.Text = $"{Application.Current.Resources["Shift"]} + {key}";
+                    FirstImageBox2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + {key}";
+                    PrevFolderBox2.Text = $"{TranslationHelper.GetTranslation("Shift")} + {key}";
                 }
                 break;
 
@@ -544,6 +550,303 @@ public partial class ShortcutList
         }
     }
 
+    internal void UpdateLanguage()
+    {
+        #region Translations
+
+        ApplicationShortcutsLabel.Content = TranslationHelper.GetTranslation("ApplicationShortcuts");
+        ChangeKeybindingText.Text = TranslationHelper.GetTranslation("ChangeKeybindingText");
+        SetDefaultLabel.Content = TranslationHelper.GetTranslation("ResetButtonText");
+
+        NavigationLabel.Content = TranslationHelper.GetTranslation("Navigation");
+
+        NextImageTextBlock.Text = TranslationHelper.GetTranslation("NextImage");
+        NextBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        NextBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        LastImageTextBlock.Text = TranslationHelper.GetTranslation("LastImage");
+        LastImageBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        LastImageBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        LastImageTextBlock.Text = TranslationHelper.GetTranslation("LastImage");
+        LastImageBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        LastImageBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        NextFolderTextBlock.Text = TranslationHelper.GetTranslation("NextFolder");
+        NextFolderBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        NextFolderBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        PrevImageTextBlock.Text = TranslationHelper.GetTranslation("PrevImage");
+        PrevBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        PrevBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        FirstImageTextBlock.Text = TranslationHelper.GetTranslation("FirstImage");
+        FirstImageBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        FirstImageBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        PrevFolderTextBlock.Text = TranslationHelper.GetTranslation("PrevFolder");
+        PrevFolderBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        PrevFolderBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ToggleLoopingTextBlock.Text = TranslationHelper.GetTranslation("ToggleLooping");
+        ToggleLoopingBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ToggleLoopingBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        SelectGalleryThumbTextBlock.Text = TranslationHelper.GetTranslation("SelectGalleryThumb");
+        GalleryBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        GalleryBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ScrollAndRotateLabel.Content = TranslationHelper.GetTranslation("ScrollAndRotate");
+
+        RotateRightTextBlock.Text = TranslationHelper.GetTranslation("RotateRight");
+        UpBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        UpBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ScrollUpTextBlock.Text = TranslationHelper.GetTranslation("ScrollUp");
+
+        RotateLeftTextBlock.Text = TranslationHelper.GetTranslation("RotateLeft");
+        DownBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        DownBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ScrollDownTextBlock.Text = TranslationHelper.GetTranslation("ScrollDown");
+
+        ScrollToTopBlock.Text = TranslationHelper.GetTranslation("ScrollToTop");
+        ScrollToTopBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ScrollToTopBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ScrollToBottomTextBlock.Text = TranslationHelper.GetTranslation("ScrollToBottom");
+        ScrlBottomBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ScrlBottomBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ToggleScrollBlock.Text = TranslationHelper.GetTranslation("ToggleScroll");
+        ToggleScrlBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ToggleScrlBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ZoomLabel.Content = TranslationHelper.GetTranslation("Zoom");
+
+        ZoomInTextBlock.Text = TranslationHelper.GetTranslation("ZoomIn");
+        ZoomInBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ZoomInBox2.Text = TranslationHelper.GetTranslation("MouseWheel");
+
+        ZoomOutTextBlock.Text = TranslationHelper.GetTranslation("ZoomOut");
+        ZoomOutBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ZoomOutBox2.Text = TranslationHelper.GetTranslation("MouseWheel");
+
+        PanTextBlock.Text = TranslationHelper.GetTranslation("Pan");
+        PanBox1.Text = TranslationHelper.GetTranslation("MouseDrag");
+
+        ResetZoomTextBlock.Text = TranslationHelper.GetTranslation("ResetZoom");
+        ResetZoomBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ResetZoomBox2.Text = TranslationHelper.GetTranslation("DoubleClick");
+
+        ImageControlLabel.Content = TranslationHelper.GetTranslation("ImageControl");
+
+        StretchImageTextBlock.Text = TranslationHelper.GetTranslation("StretchImage");
+        StretchBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        StretchBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        FlipTextBlock.Text = TranslationHelper.GetTranslation("Flip");
+        FlipBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        FlipBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        CropTextBlock.Text = TranslationHelper.GetTranslation("Crop");
+        CropBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        CropBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ChangeBackgroundTextBlock.Text = TranslationHelper.GetTranslation("ChangeBackground");
+        ChangeBgBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ChangeBgBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ResizeImageTextBlock.Text = TranslationHelper.GetTranslation("ResizeImage");
+        QuickResizeBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        QuickResizeBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ColorPickerToolTextBlock.Text = TranslationHelper.GetTranslation("ColorPickerTool");
+        ColorPickBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ColorPickBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        OptimizeImageTextBlock.Text = TranslationHelper.GetTranslation("OptimizeImage");
+        OptimizeBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        OptimizeBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        InterfaceConfigurationLabel.Content = TranslationHelper.GetTranslation("InterfaceConfiguration");
+
+        ShowHideUiTextBlock.Text = TranslationHelper.GetTranslation("ShowHideUI");
+        ToggleUIBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ToggleUIBox2.Text =
+            $"{TranslationHelper.GetTranslation("Alt")} + z";
+
+        ToggleFullscreenTextBlock1.Text = ToggleFullscreenTextBlock2.Text =
+            TranslationHelper.GetTranslation("ToggleFullscreen");
+        ToggleFullscreenTextBlock3.Text =
+            $"{TranslationHelper.GetTranslation("Alt")} + {TranslationHelper.GetTranslation("Enter")}";
+        ToggleFullscreenTextBlock4.Text =
+            $"{TranslationHelper.GetTranslation("Shift")} + {TranslationHelper.GetTranslation("DoubleClick")}";
+
+        ToggleFullscreenBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ToggleFullscreenBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        SlideShowTextBlock.Text = TranslationHelper.GetTranslation("Slideshow");
+        SlideshowBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        SlideshowBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ShowImageGalleryTextBlock.Text = TranslationHelper.GetTranslation("ShowImageGallery");
+        ShowImageGalleryBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ShowImageGalleryBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        FileManagementLabel.Content = TranslationHelper.GetTranslation("FileManagement");
+
+        OpenTextBlock.Text = TranslationHelper.GetTranslation("Open");
+        OpenBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        OpenBox2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + O";
+
+        OpenWithTextBlock.Text = TranslationHelper.GetTranslation("OpenWith");
+        OpenWithBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        OpenWithBox2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + E";
+
+        ReloadTextBlock.Text = TranslationHelper.GetTranslation("Reload");
+        ReloadBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ReloadBox2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + R";
+
+        SaveTextBlock.Text = TranslationHelper.GetTranslation("Save");
+        SaveBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        SaveBox2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + S";
+
+        PrintTextBlock.Text = TranslationHelper.GetTranslation("Print");
+        PrintBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        PrintBox2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + P";
+
+        DeleteFileTextBlock1.Text = DeleteFileTextBlock2.Text =
+            TranslationHelper.GetTranslation("DeleteFile");
+        DeleteBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        DeleteBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        RenameFileTextBlock.Text = TranslationHelper.GetTranslation("RenameFile");
+        RenameBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        RenameBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ShowInFolderTextBlock.Text = TranslationHelper.GetTranslation("ShowInFolder");
+        ShowInFolderBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ShowInFolderBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        FilePropertiesTextBlock.Text = TranslationHelper.GetTranslation("FileProperties");
+        FilePropertiesBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        FilePropertiesBox2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + I";
+
+        CopyLabel.Content = TranslationHelper.GetTranslation("Copy");
+
+        CopyFileTextBlock.Text = TranslationHelper.GetTranslation("CopyFile");
+        CopyFileBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        CopyFileBox2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + C";
+
+        FileCopyPathTextBlock.Text = TranslationHelper.GetTranslation("FileCopyPath");
+        CopyFilePathBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        CopyFilePathBox2.Text =
+            $"{TranslationHelper.GetTranslation("Ctrl")} + {TranslationHelper.GetTranslation("Shift")} C";
+
+        CopyImageTextBlock.Text = TranslationHelper.GetTranslation("CopyImage");
+        CopyImageBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        CopyImageBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        Base64TextBlock.Text = $"{TranslationHelper.GetTranslation("Copy")} + Base64";
+        CopyBase64Box1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        CopyBase64Box2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        FilePasteTextBlock.Text = TranslationHelper.GetTranslation("FilePaste");
+        PasteBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        CopyBase64Box2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + V";
+
+        DuplicateFileTextBlock.Text = TranslationHelper.GetTranslation("DuplicateFile");
+        DuplicateBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        DuplicateBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        FileCutTextBlock.Text = TranslationHelper.GetTranslation("FileCut");
+        CutBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        CutBox2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + X";
+
+        WindowManagementLabel.Content = TranslationHelper.GetTranslation("WindowManagement");
+
+        AboutTextBlock.Text = TranslationHelper.GetTranslation("About");
+        AboutBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        AboutBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        SettingsTextBlock.Text = TranslationHelper.GetTranslation("Settings");
+        SettingsBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        SettingsBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ImageInfoTextBlock.Text = TranslationHelper.GetTranslation("ImageInfo");
+        ImageInfoBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ImageInfoBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        ShowResizeWindowTextBlock.Text = TranslationHelper.GetTranslation("ShowResizeWindow");
+        ResizeWindowBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ResizeWindowBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        CloseTextBlock1.Text = CloseTextBlock2.Text = TranslationHelper.GetTranslation("Close");
+        CloseBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        CloseBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        CloseBox3.Text = TranslationHelper.GetTranslation("Esc");
+        CloseBox4.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + Q";
+
+        NewWindowTextBlock.Text = TranslationHelper.GetTranslation("NewWindow");
+        NewWindowBox.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        NewWindowBox2.Text = $"{TranslationHelper.GetTranslation("Ctrl")} + N";
+
+        CenterWindowTextBlock.Text = TranslationHelper.GetTranslation("CenterWindow");
+        CenterWindowBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        CenterWindowBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        StayTopMostTextBlock.Text = TranslationHelper.GetTranslation("StayTopMost");
+        TopMostBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        TopMostBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        WindowScalingLabel.Content = TranslationHelper.GetTranslation("WindowScaling");
+
+        AutoFitWindowTextBlock.Text = TranslationHelper.GetTranslation("AutoFitWindow");
+        AutoFitWindowBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        AutoFitWindowBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        FillHeightTextBlock.Text = TranslationHelper.GetTranslation("FillHeight");
+        AutoFitFillWindowBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        AutoFitFillWindowBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        NormalWindowTextBlock.Text = TranslationHelper.GetTranslation("NormalWindow");
+        NormalWindowBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        NormalWindowBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        NormalFillTextBlock.Text = TranslationHelper.GetTranslation("FillHeight");
+        NormalWindowFillBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        NormalWindowFillBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        SetStarRatingLabel.Content = TranslationHelper.GetTranslation("SetStarRating");
+
+        SetStar1TextBlock.Text = TranslationHelper.GetTranslation("1Star");
+        SetStar1Box1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        SetStar1Box2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        SetStar2TextBlock.Text = TranslationHelper.GetTranslation("2Star");
+        SetStar2Box1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        SetStar2Box2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        SetStar3TextBlock.Text = TranslationHelper.GetTranslation("3Star");
+        SetStar3Box1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        SetStar3Box2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        SetStar4TextBlock.Text = TranslationHelper.GetTranslation("4Star");
+        SetStar4Box1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        SetStar4Box2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        SetStar5TextBlock.Text = TranslationHelper.GetTranslation("5Star");
+        SetStar5Box1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        SetStar5Box2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        RemoveStarRatingTextBlock.Text = TranslationHelper.GetTranslation("RemoveStarRating");
+        ResetStarsBox1.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+        ResetStarsBox2.ToolTip = TranslationHelper.GetTranslation("ChangeKeybindingTooltip");
+
+        #endregion Translations
+    }
+
     /// <summary>
     /// Associates a key with a function and updates the CustomShortcuts dictionary and keybindings.json file.
     /// </summary>

+ 3 - 3
src/PicView.WPF/Views/UserControls/Misc/StartUpUC.xaml

@@ -67,7 +67,7 @@
                             </DrawingImage>
                         </Image.Source>
                     </Image>
-                    <Label Padding="8,5,15,5" Content="{StaticResource OpenFileDialog}">
+                    <Label x:Name="OpenFileDialogLabel" Padding="8,5,15,5">
                         <Label.Foreground>
                             <SolidColorBrush x:Name="SelectFileBrush" Color="{StaticResource IconColor}" />
                         </Label.Foreground>
@@ -114,7 +114,7 @@
                             </DrawingImage>
                         </Image.Source>
                     </Image>
-                    <Label Padding="8,6,15,2" Content="{StaticResource OpenLastFile}">
+                    <Label x:Name="OpenLastFileLabel" Padding="8,6,15,2">
                         <Label.Foreground>
                             <SolidColorBrush x:Name="OpenLastFileBrush" Color="{StaticResource IconColor}" />
                         </Label.Foreground>
@@ -132,7 +132,7 @@
                             <SolidColorBrush x:Name="PasteIconBrush" Color="{StaticResource IconColor}" />
                         </Path.Fill>
                     </Path>
-                    <Label Padding="8,6,15,0" Content="{StaticResource FilePaste}">
+                    <Label x:Name="FilePasteLabel" Padding="8,6,15,0">
                         <Label.Foreground>
                             <SolidColorBrush x:Name="PasteBrush" Color="{StaticResource IconColor}" />
                         </Label.Foreground>

+ 17 - 3
src/PicView.WPF/Views/UserControls/Misc/StartUpUC.xaml.cs

@@ -1,9 +1,10 @@
-using System.Windows;
-using System.Windows.Media;
+using PicView.Core.Config;
+using PicView.Core.Localization;
 using PicView.WPF.Animations;
 using PicView.WPF.ChangeImage;
 using PicView.WPF.FileHandling;
-using PicView.Core.Config;
+using System.Windows;
+using System.Windows.Media;
 using static PicView.WPF.Animations.MouseOverAnimations;
 
 namespace PicView.WPF.Views.UserControls.Misc
@@ -15,6 +16,11 @@ namespace PicView.WPF.Views.UserControls.Misc
         {
             InitializeComponent();
 
+            Loaded += delegate
+            {
+                UpdateLanguage();
+            };
+
             if (SettingsHelper.Settings.Theme.Dark)
             {
                 SelectFile.MouseEnter += delegate
@@ -157,5 +163,13 @@ namespace PicView.WPF.Views.UserControls.Misc
                     break;
             }
         }
+
+        internal void UpdateLanguage()
+        {
+            OpenLastFileLabel.Content = TranslationHelper.GetTranslation("OpenLastFile");
+            OpenFileDialogLabel.Content = TranslationHelper.GetTranslation("OpenFileDialog");
+            FilePasteLabel.Content = TranslationHelper.GetTranslation("FilePaste");
+            ErrorHandling.ResetTitle();
+        }
     }
 }

+ 3 - 3
src/PicView.WPF/Views/UserControls/Misc/TextBoxInfo.xaml

@@ -2,9 +2,9 @@
     x:Class="PicView.WPF.Views.UserControls.Misc.TextBoxInfo"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
     Margin="10,10,10,0"
     mc:Ignorable="d">
     <StackPanel Orientation="Horizontal">
@@ -13,7 +13,7 @@
             Width="130"
             Margin="0,0,10,0"
             VerticalAlignment="Center"
-            d:Text="{StaticResource FileName}"
+            d:Text="FileName"
             FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
             FontSize="14"
             Foreground="{StaticResource MainColorBrush}"
@@ -31,7 +31,7 @@
             BorderBrush="{StaticResource BorderBrush}"
             BorderThickness="1"
             CornerRadius="2">
-            <buttons:CopyButton x:Name="ValueCopy" ToolTip="{StaticResource Copy}" />
+            <buttons:CopyButton x:Name="ValueCopy" ToolTip="Copy" />
         </Border>
     </StackPanel>
 </UserControl>

+ 21 - 14
src/PicView.WPF/Views/UserControls/Misc/TextboxInfo.xaml.cs

@@ -1,22 +1,29 @@
 using System.Windows;
+using PicView.Core.Localization;
 
-namespace PicView.WPF.Views.UserControls.Misc
+namespace PicView.WPF.Views.UserControls.Misc;
+
+public partial class TextBoxInfo
 {
-    public partial class TextBoxInfo
+    public TextBoxInfo(string valueDesc, string value, bool readOnly)
     {
-        public TextBoxInfo(string valueDesc, string value, bool readOnly)
-        {
-            InitializeComponent();
-            SetValues(valueDesc, value, readOnly);
+        InitializeComponent();
+        SetValues(valueDesc, value, readOnly);
+
+        ValueCopy.TheButton.Click += delegate { Clipboard.SetText(ValueBox.Text); };
+        UpdateLanguage();
+    }
 
-            ValueCopy.TheButton.Click += delegate { Clipboard.SetText(ValueBox.Text); };
-        }
+    public void SetValues(string valueDesc, string value, bool readOnly)
+    {
+        ValueName.Text = string.IsNullOrEmpty(valueDesc) ? "?" : valueDesc;
+        ValueBox.Text = string.IsNullOrEmpty(value) ? "" : value;
+        ValueBox.IsReadOnly = readOnly;
+    }
 
-        public void SetValues(string valueDesc, string value, bool readOnly)
-        {
-            ValueName.Text = string.IsNullOrEmpty(valueDesc) ? "?" : valueDesc;
-            ValueBox.Text = string.IsNullOrEmpty(value) ? "" : value;
-            ValueBox.IsReadOnly = readOnly;
-        }
+    public void UpdateLanguage()
+    {
+        ValueName.Text = TranslationHelper.GetTranslation("Filename");
+        ValueCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
     }
 }

+ 3 - 3
src/PicView.WPF/Views/UserControls/Misc/ThumbnailOutputUC.xaml

@@ -30,13 +30,13 @@
 
         <StackPanel Margin="0,3,0,6" Orientation="Horizontal">
 
-            <TextBlock Text="{StaticResource Resize}" />
+            <TextBlock x:Name="ResizeTextBlock" Text="Resize" />
 
             <StackPanel Orientation="Horizontal">
 
                 <ComboBox Width="130">
-                    <ComboBoxItem x:Name="WidthBox" Content="{StaticResource Width}" />
-                    <ComboBoxItem x:Name="HeightBox" Content="{StaticResource Height}" />
+                    <ComboBoxItem x:Name="WidthBox" Content="Width" />
+                    <ComboBoxItem x:Name="HeightBox" Content="Height" />
                     <ComboBoxItem
                         Name="Percentage"
                         Content="Percentage"

+ 28 - 20
src/PicView.WPF/Views/UserControls/Misc/ThumbnailOutputUC.xaml.cs

@@ -1,32 +1,40 @@
-using PicView.WPF.FileHandling;
+using PicView.Core.Localization;
+using PicView.WPF.FileHandling;
 using PicView.WPF.UILogic;
 using PicView.WPF.Views.Windows;
 
-namespace PicView.WPF.Views.UserControls.Misc
+namespace PicView.WPF.Views.UserControls.Misc;
+
+// ReSharper disable once InconsistentNaming
+public partial class ThumbnailOutputUC
 {
-    // ReSharper disable once InconsistentNaming
-    public partial class ThumbnailOutputUC
+    public ThumbnailOutputUC(int i, string folderPath, string filename, string value)
     {
-        public ThumbnailOutputUC(int i, string folderPath, string filename, string value)
-        {
-            InitializeComponent();
+        InitializeComponent();
 
-            OutPutString.Text = $"Thumb {i}";
-            OutPutStringBox.Text = folderPath + @"\" + filename;
-            ValueBox.Text = value;
+        OutPutString.Text = $"Thumb {i}";
+        OutPutStringBox.Text = folderPath + @"\" + filename;
+        ValueBox.Text = value;
 
-            OutputFolderButton.FileMenuButton.Click += (_, _) =>
+        OutputFolderButton.FileMenuButton.Click += (_, _) =>
+        {
+            var newFolder = OpenSave.SelectAndReturnFolder();
+            if (string.IsNullOrWhiteSpace(newFolder) == false)
             {
-                var newFolder = OpenSave.SelectAndReturnFolder();
-                if (string.IsNullOrWhiteSpace(newFolder) == false)
-                {
-                    OutPutStringBox.Text = newFolder;
-                }
+                OutPutStringBox.Text = newFolder;
+            }
 
-                ConfigureWindows.GetResizeWindow.Focus();
-            };
+            ConfigureWindows.GetResizeWindow.Focus();
+        };
 
-            ResizeWindow.SetTextBoxDragEvent(OutPutStringBox);
-        }
+        ResizeWindow.SetTextBoxDragEvent(OutPutStringBox);
+        UpdateLanguage();
+    }
+
+    public void UpdateLanguage()
+    {
+        ResizeTextBlock.Text = TranslationHelper.GetTranslation("Resize");
+        WidthBox.Content = TranslationHelper.GetTranslation("Width");
+        HeightBox.Content = TranslationHelper.GetTranslation("Height");
     }
 }

+ 6 - 9
src/PicView.WPF/Views/Windows/AboutWindow.xaml

@@ -2,11 +2,10 @@
     x:Class="PicView.WPF.Views.Windows.AboutWindow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:misc="clr-namespace:PicView.WPF.Views.UserControls.Misc"
-    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
-    Title="{StaticResource ResourceKey=InfoWindowTitle}"
     Width="482"
     Height="431"
     MinHeight="431"
@@ -172,7 +171,7 @@
                 VerticalAlignment="Center"
                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                 FontSize="14"
-                Text="{StaticResource InfoWindowTitle}"
+                Text="Loading..."
                 TextAlignment="Center" />
         </DockPanel>
 
@@ -220,7 +219,7 @@
                                 <TextBlock
                                     x:Name="GitHub"
                                     FontSize="14"
-                                    Text="{StaticResource ResourceKey=GithubRepo}"
+                                    Text="GithubRepo"
                                     TextAlignment="Center"
                                     ToolTip="https://github.com/Ruben2776/PicView" />
                             </Hyperlink>
@@ -266,8 +265,7 @@
                             <TextBlock
                                 x:Name="License"
                                 FontSize="12"
-                                Text="GNU GPLv3"
-                                ToolTip="{StaticResource ResourceKey=ViewLicenseFile}" />
+                                Text="GNU GPLv3" />
                         </Hyperlink>
                     </TextBlock>
 
@@ -277,8 +275,7 @@
                         HorizontalAlignment="Center"
                         VerticalAlignment="Bottom"
                         FontSize="14"
-                        FontWeight="Bold"
-                        Text="{StaticResource ResourceKey=Version}" />
+                        FontWeight="Bold" />
 
                     <Border
                         x:Name="UpdateButton"
@@ -292,7 +289,7 @@
                         CornerRadius="2"
                         Effect="{StaticResource MenuShadowButtonBorder}"
                         Focusable="False">
-                        <Label Padding="10" Content="{StaticResource CheckForUpdates}">
+                        <Label x:Name="UpdateButtonLabel" Padding="10">
                             <Label.Background>
                                 <SolidColorBrush x:Name="UpdateBrush" Color="{StaticResource BackgroundColorAlt}" />
                             </Label.Background>

+ 31 - 7
src/PicView.WPF/Views/Windows/AboutWindow.xaml.cs

@@ -7,6 +7,7 @@ using System.Windows.Navigation;
 using PicView.WPF.Animations;
 using PicView.WPF.ConfigureSettings;
 using PicView.Core.Config;
+using PicView.Core.Localization;
 using PicView.WPF.Shortcuts;
 using PicView.WPF.SystemIntegration;
 using PicView.WPF.UILogic;
@@ -19,6 +20,8 @@ namespace PicView.WPF.Views.Windows
         private readonly double startHeight;
         private readonly double extendedHeight;
 
+        internal UserControls.Misc.ShortcutList? ShortcutList;
+
         public AboutWindow()
         {
             InitializeComponent();
@@ -26,11 +29,6 @@ namespace PicView.WPF.Views.Windows
             extendedHeight = 750;
             startHeight = Height;
 
-            // Get version
-            var assembly = Assembly.GetExecutingAssembly();
-            var fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
-            appVersion.Text += " " + fvi.FileVersion;
-
             ContentRendered += Window_ContentRendered;
 
             MaxWidth = MinWidth = 565 * WindowSizing.MonitorInfo.DpiScaling;
@@ -45,11 +43,13 @@ namespace PicView.WPF.Views.Windows
         {
             WindowBlur.EnableBlur(this);
 
-            var shortcuts = new UserControls.Misc.ShortcutList
+            UpdateLanguage(GetFileVersionInfo());
+            Owner = null; // Remove owner, so that minimizing main-window will not minimize this
+            ShortcutList = new UserControls.Misc.ShortcutList
             {
                 HorizontalAlignment = HorizontalAlignment.Center
             };
-            Container.Children.Add(shortcuts);
+            Container.Children.Add(ShortcutList);
 
             var credits = new UserControls.Misc.Credits
             {
@@ -136,6 +136,30 @@ namespace PicView.WPF.Views.Windows
             };
         }
 
+        public void UpdateLanguage()
+        {
+            ShortcutList?.UpdateLanguage();
+            UpdateLanguage(GetFileVersionInfo());
+        }
+
+        private void UpdateLanguage(FileVersionInfo fvi)
+        {
+            Title = TitleText.Text = TranslationHelper.GetTranslation("InfoWindowTitle");
+            appVersion.Text = TranslationHelper.GetTranslation("Version") + " " + fvi.FileVersion;
+
+            GitHub.Text = TranslationHelper.GetTranslation("GithubRepo");
+            GitHub.ToolTip = TranslationHelper.GetTranslation("ViewLicenseFile");
+
+            UpdateButtonLabel.Content = TranslationHelper.GetTranslation("CheckForUpdates");
+        }
+
+        private FileVersionInfo GetFileVersionInfo()
+        {
+            var assembly = Assembly.GetExecutingAssembly();
+            var fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
+            return fvi;
+        }
+
         private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
         {
             var ps = new ProcessStartInfo(e.Uri.AbsoluteUri)

+ 40 - 39
src/PicView.WPF/Views/Windows/EffectsWindows.xaml

@@ -2,10 +2,10 @@
     x:Class="PicView.WPF.Views.Windows.EffectsWindow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:misc="clr-namespace:PicView.WPF.Views.UserControls.Misc"
-    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
     Width="600"
     Height="580"
     AllowsTransparency="True"
@@ -66,9 +66,10 @@
                 Width="Auto"
                 Margin="0,0,0,0"
                 VerticalAlignment="Center"
+                d:Text=" Effects"
                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                 FontSize="14"
-                Text="{StaticResource Effects}"
+                Text="Loading..."
                 TextAlignment="Center" />
         </DockPanel>
 
@@ -90,7 +91,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="NegativeButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource NegativeColors}">
+                        <TextBlock x:Name="NegativeColors" d:Text=" NegativeColors">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="NegativeColorsText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -103,7 +104,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="GrayscaleButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource BlackAndWhite}">
+                        <TextBlock x:Name="BlackAndWhite" d:Text=" BlackAndWhite">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="GrayscaleText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -116,7 +117,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="ColorToneButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource ColorTone}">
+                        <TextBlock x:Name="ColorTone" d:Text=" ColorTone">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="ColorToneText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -129,7 +130,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="OldMovieButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource OldMovie}">
+                        <TextBlock x:Name="OldMovie" d:Text=" OldMovie">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="OldMovieText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -142,7 +143,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="BloomButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource Bloom}">
+                        <TextBlock x:Name="BloomTxt" d:Text=" Bloom">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="BloomText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -155,7 +156,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="GloomButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource Gloom}">
+                        <TextBlock x:Name="GloomTxt" d:Text=" Gloom">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="GloomText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -168,7 +169,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="MonochromeButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource Monochrome}">
+                        <TextBlock x:Name="MonochromeTxt" d:Text=" Monochrome">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="MonochromeText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -181,7 +182,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="WaveWarperButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource WaveWarper}">
+                        <TextBlock x:Name="WaveWarper" d:Text=" WaveWarper">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="WaveWarperText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -194,7 +195,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="UnderwaterButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource Underwater}">
+                        <TextBlock x:Name="Underwater" d:Text=" Underwater">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="UnderwaterText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -207,7 +208,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="BandedSwirlButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource BandedSwirl}">
+                        <TextBlock x:Name="BandedSwirl" d:Text=" BandedSwirl">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="BandedSwirlText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -220,7 +221,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="SwirlButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="Swirl">
+                        <TextBlock x:Name="Swirl" d:Text="Swirl">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="SwirlText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -233,7 +234,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="RippleButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource Ripple}">
+                        <TextBlock x:Name="Ripple" d:Text=" Ripple">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="RippleText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -246,7 +247,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="RippleAltButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource RippleAlt}">
+                        <TextBlock x:Name="RippleAlt" d:Text=" RippleAlt">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="RippleAltText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -259,7 +260,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="BlurButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource Blur}">
+                        <TextBlock x:Name="Blur" d:Text=" Blur">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="BlurText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -272,7 +273,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="DirectionalBlurButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource DirectionalBlur}">
+                        <TextBlock x:Name="DirectionalBlur" d:Text=" DirectionalBlur">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="DirectionalBlurText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -285,7 +286,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="TelescopicBlurButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource TelescopicBlur}">
+                        <TextBlock x:Name="TelescopicBlur" d:Text=" TelescopicBlur">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="TelescopicBlurText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -298,7 +299,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="PixelateButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource Pixelate}">
+                        <TextBlock x:Name="Pixelate" d:Text=" Pixelate">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="PixelateText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -311,7 +312,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="EmbossedButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource Embossed}">
+                        <TextBlock x:Name="EmbossedTxt" d:Text=" Embossed">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="EmbossedText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -324,7 +325,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="SmoothMagnifyButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource SmoothMagnify}">
+                        <TextBlock x:Name="SmoothMagnify" d:Text=" SmoothMagnify">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="SmoothMagnifyText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -337,7 +338,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="PivotButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource Pivot}">
+                        <TextBlock x:Name="Pivot" d:Text=" Pivot">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="PivotText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -350,7 +351,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="PaperfoldButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource PaperFold}">
+                        <TextBlock x:Name="PaperFold" d:Text=" PaperFold">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="PaperFoldText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -363,7 +364,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="PencilSketchButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource PencilSketch}">
+                        <TextBlock x:Name="PencilSketch" d:Text=" PencilSketch">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="PencilSketchText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -376,7 +377,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="SketchButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource Sketch}">
+                        <TextBlock x:Name="SketchTxt" d:Text=" Sketch">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="SketchText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -389,7 +390,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="ToneMappingButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource ToneMapping}">
+                        <TextBlock d:Text=" ToneMapping" x:Name="ToneMappingTxt">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="ToneMappingText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -402,7 +403,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="FrostyOutlineButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource FrostyOutline}">
+                        <TextBlock d:Text=" FrostyOutline" x:Name="FrostyOutline">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="FrostyOutlineText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -415,7 +416,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="BandsButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource Bands}">
+                        <TextBlock d:Text=" Bands" x:Name="BandsTxt">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="BandsText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -428,7 +429,7 @@
                         <CheckBox.Background>
                             <SolidColorBrush x:Name="GlasTileButtonBrush" Color="Transparent" />
                         </CheckBox.Background>
-                        <TextBlock Text="{StaticResource GlassTile}">
+                        <TextBlock d:Text=" GlassTile" x:Name="GlassTile">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="GlassTileText" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>
@@ -464,12 +465,12 @@
                     IsTabStop="False">
                     <ComboBoxItem
                         x:Name="Fill"
-                        Content="{StaticResource Fill}"
+                        d:Content=" Fill"
                         IsSelected="True" />
-                    <ComboBoxItem x:Name="Center" Content="{StaticResource Center}" />
-                    <ComboBoxItem x:Name="Fit" Content="{StaticResource Fit}" />
-                    <ComboBoxItem x:Name="Tile" Content="{StaticResource Tile}" />
-                    <ComboBoxItem x:Name="Stretch" Content="{StaticResource Stretch}" />
+                    <ComboBoxItem x:Name="Center" d:Content=" Center" />
+                    <ComboBoxItem x:Name="Fit" d:Content=" Fit" />
+                    <ComboBoxItem x:Name="Tile" d:Content=" Tile" />
+                    <ComboBoxItem x:Name="Stretch" d:Content=" Stretch" />
                 </ComboBox>
 
                 <Border
@@ -480,7 +481,7 @@
                     Focusable="False">
                     <Button
                         x:Name="SetAsWallpaperButton"
-                        Content="{StaticResource SetAsWallpaper}"
+                        d:Content=" SetAsWallpaper"
                         FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold">
                         <Button.Background>
                             <SolidColorBrush x:Name="SetAsWallpaperButtonBrush" Color="Transparent" />
@@ -501,7 +502,7 @@
                     Focusable="False">
                     <Button
                         x:Name="SetAsLockScreenButton"
-                        Content="{StaticResource SetAsLockScreenImage}"
+                        d:Content=" SetAsLockScreenImage"
                         FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold">
                         <Button.Background>
                             <SolidColorBrush x:Name="SetAsLockscreenButtonBrush" Color="Transparent" />
@@ -530,7 +531,7 @@
                     Focusable="False">
                     <Button
                         x:Name="SaveButton"
-                        Content="{StaticResource Save}"
+                        d:Content=" Save"
                         FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold">
                         <Button.Background>
                             <SolidColorBrush x:Name="SaveBrush" Color="Transparent" />
@@ -551,9 +552,9 @@
                     Focusable="False">
                     <Button
                         x:Name="CopyButton"
-                        Content="{StaticResource Copy}"
+                        d:Content=" Copy}"
                         FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
-                        ToolTip="{StaticResource CopyImageTooltip}">
+                        ToolTip="CopyImageTooltip">
                         <Button.Background>
                             <SolidColorBrush x:Name="CopyBrush" Color="Transparent" />
                         </Button.Background>

+ 571 - 526
src/PicView.WPF/Views/Windows/EffectsWindows.xaml.cs

@@ -5,6 +5,7 @@ using PicView.Editing.HlslEffects;
 using PicView.WPF.ConfigureSettings;
 using PicView.WPF.FileHandling;
 using PicView.Core.Config;
+using PicView.Core.Localization;
 using PicView.WPF.Shortcuts;
 using PicView.WPF.SystemIntegration;
 using PicView.WPF.UILogic;
@@ -12,727 +13,771 @@ using PicView.WPF.UILogic.Sizing;
 using static PicView.WPF.Animations.MouseOverAnimations;
 using static PicView.WPF.SystemIntegration.Wallpaper;
 
-namespace PicView.WPF.Views.Windows
+namespace PicView.WPF.Views.Windows;
+
+public partial class EffectsWindow
 {
-    public partial class EffectsWindow : Window
+    public EffectsWindow()
     {
-        public EffectsWindow()
+        InitializeComponent();
+
+        MaxHeight = WindowSizing.MonitorInfo.WorkArea.Height;
+        Width *= WindowSizing.MonitorInfo.DpiScaling;
+        if (double.IsNaN(Width)) // Fixes if user opens window when loading from startup
         {
-            InitializeComponent();
-            Title = Application.Current.Resources["Effects"] + " - PicView";
+            WindowSizing.MonitorInfo = MonitorSize.GetMonitorSize(this);
             MaxHeight = WindowSizing.MonitorInfo.WorkArea.Height;
             Width *= WindowSizing.MonitorInfo.DpiScaling;
-            if (double.IsNaN(Width)) // Fixes if user opens window when loading from startup
-            {
-                WindowSizing.MonitorInfo = MonitorSize.GetMonitorSize(this);
-                MaxHeight = WindowSizing.MonitorInfo.WorkArea.Height;
-                Width *= WindowSizing.MonitorInfo.DpiScaling;
-            }
-
-            ContentRendered += Window_ContentRendered;
         }
 
-        private void Window_ContentRendered(object? sender, EventArgs? e)
-        {
-            WindowBlur.EnableBlur(this);
-            KeyDown += (_, e) => GenericWindowShortcuts.KeysDown(null, e, this);
+        ContentRendered += Window_ContentRendered;
+    }
 
-            Deactivated += (_, _) => ConfigColors.WindowUnfocusOrFocus(TitleBar, TitleText, null, false);
-            Activated += (_, _) => ConfigColors.WindowUnfocusOrFocus(TitleBar, TitleText, null, true);
+    private void Window_ContentRendered(object? sender, EventArgs? e)
+    {
+        WindowBlur.EnableBlur(this);
 
-            // CloseButton
-            CloseButton.TheButton.Click += delegate
-            {
-                Hide();
-                ConfigureWindows.GetMainWindow.Focus();
-            };
+        UpdateLanguage();
+
+        KeyDown += (_, e) => GenericWindowShortcuts.KeysDown(null, e, this);
+        Deactivated += (_, _) => ConfigColors.WindowUnfocusOrFocus(TitleBar, TitleText, null, false);
+        Activated += (_, _) => ConfigColors.WindowUnfocusOrFocus(TitleBar, TitleText, null, true);
+
+        // CloseButton
+        CloseButton.TheButton.Click += delegate
+        {
+            Hide();
+            ConfigureWindows.GetMainWindow.Focus();
+        };
 
-            // MinButton
-            MinButton.TheButton.Click += delegate { SystemCommands.MinimizeWindow(this); };
+        // MinButton
+        MinButton.TheButton.Click += delegate { SystemCommands.MinimizeWindow(this); };
 
-            IntensitySlider.ValueChanged += (_, _) => IntensitySlider_ValueChanged();
+        IntensitySlider.ValueChanged += (_, _) => IntensitySlider_ValueChanged();
 
-            MouseLeftButtonDown += (_, e) =>
+        MouseLeftButtonDown += (_, e) =>
+        {
+            if (e.LeftButton == MouseButtonState.Pressed)
             {
-                if (e.LeftButton == MouseButtonState.Pressed)
-                {
-                    DragMove();
-                }
-            };
+                DragMove();
+            }
+        };
 
-            #region button events
+        #region button events
 
-            // Button, Brush and Text for Negative effect
-            NegativeButton.Click += (_, _) => Negative();
-            SetButtonIconMouseOverAnimations(NegativeButton, NegativeButtonBrush, NegativeColorsText);
+        // Button, Brush and Text for Negative effect
+        NegativeButton.Click += (_, _) => Negative();
+        SetButtonIconMouseOverAnimations(NegativeButton, NegativeButtonBrush, NegativeColorsText);
 
-            // Button, Brush and Text for Grayscale effect
-            GrayscaleButton.Click += (_, _) => GraySceale();
-            SetButtonIconMouseOverAnimations(GrayscaleButton, GrayscaleButtonBrush, GrayscaleText);
+        // Button, Brush and Text for Grayscale effect
+        GrayscaleButton.Click += (_, _) => GraySceale();
+        SetButtonIconMouseOverAnimations(GrayscaleButton, GrayscaleButtonBrush, GrayscaleText);
 
-            // Button, Brush and Text for Color Tone effect
-            ColorToneButton.Click += (_, _) => ColorToneEffect();
-            SetButtonIconMouseOverAnimations(ColorToneButton, ColorToneButtonBrush, ColorToneText);
+        // Button, Brush and Text for Color Tone effect
+        ColorToneButton.Click += (_, _) => ColorToneEffect();
+        SetButtonIconMouseOverAnimations(ColorToneButton, ColorToneButtonBrush, ColorToneText);
 
-            // Button, Brush and Text for Old Movie effect
-            OldMovieButton.Click += (_, _) => OldMovieEffect();
-            SetButtonIconMouseOverAnimations(OldMovieButton, OldMovieButtonBrush, OldMovieText);
+        // Button, Brush and Text for Old Movie effect
+        OldMovieButton.Click += (_, _) => OldMovieEffect();
+        SetButtonIconMouseOverAnimations(OldMovieButton, OldMovieButtonBrush, OldMovieText);
 
-            // Button, Brush and Text for Bloom effect
-            BloomButton.Click += (_, _) => Bloom();
-            SetButtonIconMouseOverAnimations(BloomButton, BloomButtonBrush, BloomText);
+        // Button, Brush and Text for Bloom effect
+        BloomButton.Click += (_, _) => Bloom();
+        SetButtonIconMouseOverAnimations(BloomButton, BloomButtonBrush, BloomText);
 
-            // Button, Brush and Text for Gloom effect
-            GloomButton.Click += (_, _) => Gloom();
-            SetButtonIconMouseOverAnimations(GloomButton, GloomButtonBrush, GloomText);
+        // Button, Brush and Text for Gloom effect
+        GloomButton.Click += (_, _) => Gloom();
+        SetButtonIconMouseOverAnimations(GloomButton, GloomButtonBrush, GloomText);
 
-            // Button, Brush and Text for Monochrome effect
-            MonochromeButton.Click += (_, _) => Monochrome();
-            SetButtonIconMouseOverAnimations(MonochromeButton, MonochromeButtonBrush, MonochromeText);
+        // Button, Brush and Text for Monochrome effect
+        MonochromeButton.Click += (_, _) => Monochrome();
+        SetButtonIconMouseOverAnimations(MonochromeButton, MonochromeButtonBrush, MonochromeText);
 
-            // Button, Brush and Text for Wave Warper effect
-            WavewarperButton.Click += (_, _) => WaveWarperEffect();
-            SetButtonIconMouseOverAnimations(WavewarperButton, WaveWarperButtonBrush, WaveWarperText);
+        // Button, Brush and Text for Wave Warper effect
+        WavewarperButton.Click += (_, _) => WaveWarperEffect();
+        SetButtonIconMouseOverAnimations(WavewarperButton, WaveWarperButtonBrush, WaveWarperText);
 
-            // Button, Brush and Text for Underwater effect
-            UnderwaterButton.Click += (_, _) => UnderWaterEffect();
-            SetButtonIconMouseOverAnimations(UnderwaterButton, UnderwaterButtonBrush, UnderwaterText);
+        // Button, Brush and Text for Underwater effect
+        UnderwaterButton.Click += (_, _) => UnderWaterEffect();
+        SetButtonIconMouseOverAnimations(UnderwaterButton, UnderwaterButtonBrush, UnderwaterText);
 
-            // Button, Brush and Text for Banded Swirl effect
-            BandedSwirlButton.Click += (_, _) => BandedSwirlEffect();
-            SetButtonIconMouseOverAnimations(BandedSwirlButton, BandedSwirlButtonBrush, BandedSwirlText);
+        // Button, Brush and Text for Banded Swirl effect
+        BandedSwirlButton.Click += (_, _) => BandedSwirlEffect();
+        SetButtonIconMouseOverAnimations(BandedSwirlButton, BandedSwirlButtonBrush, BandedSwirlText);
 
-            // Button, Brush and Text for Swirl effect
-            SwirlButton.Click += (_, _) => SwirlEffect();
-            SetButtonIconMouseOverAnimations(SwirlButton, SwirlButtonBrush, SwirlText);
+        // Button, Brush and Text for Swirl effect
+        SwirlButton.Click += (_, _) => SwirlEffect();
+        SetButtonIconMouseOverAnimations(SwirlButton, SwirlButtonBrush, SwirlText);
 
-            // Button, Brush and Text for Ripple effect
-            RippleButton.Click += (_, _) => RippleEffect1();
-            SetButtonIconMouseOverAnimations(RippleButton, RippleButtonBrush, RippleText);
+        // Button, Brush and Text for Ripple effect
+        RippleButton.Click += (_, _) => RippleEffect1();
+        SetButtonIconMouseOverAnimations(RippleButton, RippleButtonBrush, RippleText);
 
-            // Button, Brush and Text for Ripple Alternate effect
-            RippleAltButton.Click += (_, _) => RippleEffect2();
-            SetButtonIconMouseOverAnimations(RippleAltButton, RippleAltButtonBrush, RippleAltText);
+        // Button, Brush and Text for Ripple Alternate effect
+        RippleAltButton.Click += (_, _) => RippleEffect2();
+        SetButtonIconMouseOverAnimations(RippleAltButton, RippleAltButtonBrush, RippleAltText);
 
-            // Button, Brush and Text for Blur effect
-            BlurButton.Click += (_, _) => BlurEffect();
-            SetButtonIconMouseOverAnimations(BlurButton, BlurButtonBrush, BlurText);
+        // Button, Brush and Text for Blur effect
+        BlurButton.Click += (_, _) => BlurEffect();
+        SetButtonIconMouseOverAnimations(BlurButton, BlurButtonBrush, BlurText);
 
-            // Button, Brush and Text for Directional Blur effect
-            DirectionalBlurButton.Click += (_, _) => Dir_blur();
-            SetButtonIconMouseOverAnimations(DirectionalBlurButton, DirectionalBlurButtonBrush, DirectionalBlurText);
+        // Button, Brush and Text for Directional Blur effect
+        DirectionalBlurButton.Click += (_, _) => Dir_blur();
+        SetButtonIconMouseOverAnimations(DirectionalBlurButton, DirectionalBlurButtonBrush, DirectionalBlurText);
 
-            // Button, Brush and Text for Telescopic Blur effect
-            TelescopicBlurButton.Click += (_, _) => Teleskopisk_blur();
-            SetButtonIconMouseOverAnimations(TelescopicBlurButton, TelescopicBlurButtonBrush, TelescopicBlurText);
+        // Button, Brush and Text for Telescopic Blur effect
+        TelescopicBlurButton.Click += (_, _) => Teleskopisk_blur();
+        SetButtonIconMouseOverAnimations(TelescopicBlurButton, TelescopicBlurButtonBrush, TelescopicBlurText);
 
-            // Button, Brush and Text for Pixelate effect
-            PixelateButton.Click += (_, _) => PixelateEffect();
-            SetButtonIconMouseOverAnimations(PixelateButton, PixelateButtonBrush, PixelateText);
+        // Button, Brush and Text for Pixelate effect
+        PixelateButton.Click += (_, _) => PixelateEffect();
+        SetButtonIconMouseOverAnimations(PixelateButton, PixelateButtonBrush, PixelateText);
 
-            // Button, Brush and Text for Embossed effect
-            EmbossedButton.Click += (_, _) => Embossed();
-            SetButtonIconMouseOverAnimations(EmbossedButton, EmbossedButtonBrush, EmbossedText);
+        // Button, Brush and Text for Embossed effect
+        EmbossedButton.Click += (_, _) => Embossed();
+        SetButtonIconMouseOverAnimations(EmbossedButton, EmbossedButtonBrush, EmbossedText);
 
-            // Button, Brush and Text for Smooth Magnify effect
-            SmoothMagnifyButton.Click += (_, _) => MagnifySmoothEffect();
-            SetButtonIconMouseOverAnimations(SmoothMagnifyButton, SmoothMagnifyButtonBrush, SmoothMagnifyText);
+        // Button, Brush and Text for Smooth Magnify effect
+        SmoothMagnifyButton.Click += (_, _) => MagnifySmoothEffect();
+        SetButtonIconMouseOverAnimations(SmoothMagnifyButton, SmoothMagnifyButtonBrush, SmoothMagnifyText);
 
-            // Button, Brush and Text for Pivot effect
-            PivotButton.Click += (_, _) => PivotEffect();
-            SetButtonIconMouseOverAnimations(PivotButton, PivotButtonBrush, PivotText);
+        // Button, Brush and Text for Pivot effect
+        PivotButton.Click += (_, _) => PivotEffect();
+        SetButtonIconMouseOverAnimations(PivotButton, PivotButtonBrush, PivotText);
 
-            // Button, Brush and Text for Paper Fold effect
-            PaperfoldButton.Click += (_, _) => PaperFoldEffect();
-            SetButtonIconMouseOverAnimations(PaperfoldButton, PaperfoldButtonBrush, PaperFoldText);
+        // Button, Brush and Text for Paper Fold effect
+        PaperfoldButton.Click += (_, _) => PaperFoldEffect();
+        SetButtonIconMouseOverAnimations(PaperfoldButton, PaperfoldButtonBrush, PaperFoldText);
 
-            // Button, Brush and Text for Pencil Sketch Stroke effect
-            PencilSketchButton.Click += (_, _) => SketchPencilStrokeEffect();
-            SetButtonIconMouseOverAnimations(PencilSketchButton, PencilSketchButtonBrush, PencilSketchText);
+        // Button, Brush and Text for Pencil Sketch Stroke effect
+        PencilSketchButton.Click += (_, _) => SketchPencilStrokeEffect();
+        SetButtonIconMouseOverAnimations(PencilSketchButton, PencilSketchButtonBrush, PencilSketchText);
 
-            // Button, Brush and Text for Sketch effect
-            SketchButton.Click += (_, _) => Sketch();
-            SetButtonIconMouseOverAnimations(SketchButton, SketchButtonBrush, SketchText);
+        // Button, Brush and Text for Sketch effect
+        SketchButton.Click += (_, _) => Sketch();
+        SetButtonIconMouseOverAnimations(SketchButton, SketchButtonBrush, SketchText);
 
-            // Button, Brush and Text for Tone Mapping effect
-            ToneMappingButton.Click += (_, _) => ToneMapping();
-            SetButtonIconMouseOverAnimations(ToneMappingButton, ToneMappingButtonBrush, ToneMappingText);
+        // Button, Brush and Text for Tone Mapping effect
+        ToneMappingButton.Click += (_, _) => ToneMapping();
+        SetButtonIconMouseOverAnimations(ToneMappingButton, ToneMappingButtonBrush, ToneMappingText);
 
-            // Button, Brush and Text for Bands effect
-            BandsButton.Click += (_, _) => Bands();
-            SetButtonIconMouseOverAnimations(BandsButton, BandsButtonBrush, BandsText);
+        // Button, Brush and Text for Bands effect
+        BandsButton.Click += (_, _) => Bands();
+        SetButtonIconMouseOverAnimations(BandsButton, BandsButtonBrush, BandsText);
 
-            // Button, Brush and Text for Glass Tile effect
-            GlasTileButton.Click += (_, _) => GlasTileEffect();
-            SetButtonIconMouseOverAnimations(GlasTileButton, GlasTileButtonBrush, GlassTileText);
+        // Button, Brush and Text for Glass Tile effect
+        GlasTileButton.Click += (_, _) => GlasTileEffect();
+        SetButtonIconMouseOverAnimations(GlasTileButton, GlasTileButtonBrush, GlassTileText);
 
-            // Button, Brush and Text for Frosty Outline effect
-            FrostyOutlineButton.Click += (_, _) => FrostyOutlineEffect();
-            SetButtonIconMouseOverAnimations(FrostyOutlineButton, FrostyOutlineButtonBrush, FrostyOutlineText);
+        // Button, Brush and Text for Frosty Outline effect
+        FrostyOutlineButton.Click += (_, _) => FrostyOutlineEffect();
+        SetButtonIconMouseOverAnimations(FrostyOutlineButton, FrostyOutlineButtonBrush, FrostyOutlineText);
 
-            // Button, Brush and Text for SetAsWallpaper function
-            SetButtonIconMouseOverAnimations(SetAsWallpaperButton, SetAsWallpaperButtonBrush, SetAsWallpaperText);
-            SetAsWallpaperButton.Click += async delegate
+        // Button, Brush and Text for SetAsWallpaper function
+        SetButtonIconMouseOverAnimations(SetAsWallpaperButton, SetAsWallpaperButtonBrush, SetAsWallpaperText);
+        SetAsWallpaperButton.Click += async delegate
+        {
+            var x = WallpaperStyle.Fill;
+            if (Fit.IsSelected)
             {
-                var x = WallpaperStyle.Fill;
-                if (Fit.IsSelected)
-                {
-                    x = WallpaperStyle.Fit;
-                }
+                x = WallpaperStyle.Fit;
+            }
 
-                if (Center.IsSelected)
-                {
-                    x = WallpaperStyle.Center;
-                }
+            if (Center.IsSelected)
+            {
+                x = WallpaperStyle.Center;
+            }
 
-                if (Tile.IsSelected)
-                {
-                    x = WallpaperStyle.Tile;
-                }
+            if (Tile.IsSelected)
+            {
+                x = WallpaperStyle.Tile;
+            }
+
+            if (Fit.IsSelected)
+            {
+                x = WallpaperStyle.Fit;
+            }
 
-                if (Fit.IsSelected)
-                {
-                    x = WallpaperStyle.Fit;
-                }
+            await SetWallpaperAsync(x).ConfigureAwait(false);
+        };
 
-                await SetWallpaperAsync(x).ConfigureAwait(false);
-            };
+        // Button, Brush and Text for SetAsLockscreen function
+        SetButtonIconMouseOverAnimations(SetAsLockScreenButton, SetAsLockscreenButtonBrush, SetAsLockscreenText);
+        SetAsLockScreenButton.Click += async (_, _) =>
+            await LockScreenHelper.SetLockScreenImageAsync().ConfigureAwait(false);
 
-            // Button, Brush and Text for SetAsLockscreen function
-            SetButtonIconMouseOverAnimations(SetAsLockScreenButton, SetAsLockscreenButtonBrush, SetAsLockscreenText);
-            SetAsLockScreenButton.Click += async (_, _) =>
-                await LockScreenHelper.SetLockScreenImageAsync().ConfigureAwait(false);
+        // Button, Brush and Text for Copy function
+        SetButtonIconMouseOverAnimations(CopyButton, CopyBrush, CopyText);
+        CopyButton.Click += (_, _) => CopyPaste.CopyBitmap();
 
-            // Button, Brush and Text for Copy function
-            SetButtonIconMouseOverAnimations(CopyButton, CopyBrush, CopyText);
-            CopyButton.Click += (_, _) => CopyPaste.CopyBitmap();
+        // Button, Brush and Text for Save function
+        SetButtonIconMouseOverAnimations(SaveButton, SaveBrush, SaveText);
+        SaveButton.Click += async (_, _) => await OpenSave.SaveFilesAsync(SettingsHelper.Settings.UIProperties.ShowFileSavingDialog);
 
-            // Button, Brush and Text for Save function
-            SetButtonIconMouseOverAnimations(SaveButton, SaveBrush, SaveText);
-            SaveButton.Click += async (_, _) => await OpenSave.SaveFilesAsync(SettingsHelper.Settings.UIProperties.ShowFileSavingDialog);
+        #endregion button events
+    }
 
-            #endregion button events
-        }
+    public void UpdateLanguage()
+    {
+        Title = TranslationHelper.GetTranslation("Effects") + " - PicView";
+        TitleText.Text = TranslationHelper.GetTranslation("Effects");
+        CopyButton.Content = TranslationHelper.GetTranslation("Copy");
+        CopyButton.ToolTip = TranslationHelper.GetTranslation("CopyImageTooltip");
+        SaveButton.Content = TranslationHelper.GetTranslation("Save");
+        Fill.Content = TranslationHelper.GetTranslation("Fill");
+        Center.Content = TranslationHelper.GetTranslation("Center");
+        Fit.Content = TranslationHelper.GetTranslation("Fit");
+        Tile.Content = TranslationHelper.GetTranslation("Tile");
+        Stretch.Content = TranslationHelper.GetTranslation("Stretch");
+        SetAsWallpaperButton.Content = TranslationHelper.GetTranslation("SetAsWallpaper");
+        SetAsLockScreenButton.Content = TranslationHelper.GetTranslation("SetAsLockScreenImage");
+        NegativeColors.Text = TranslationHelper.GetTranslation("NegativeColors");
+        BlackAndWhite.Text = TranslationHelper.GetTranslation("BlackAndWhite");
+        ColorTone.Text = TranslationHelper.GetTranslation("ColorTone");
+        OldMovie.Text = TranslationHelper.GetTranslation("OldMovie");
+        BloomTxt.Text = TranslationHelper.GetTranslation("Bloom");
+        GloomTxt.Text = TranslationHelper.GetTranslation("Gloom");
+        MonochromeTxt.Text = TranslationHelper.GetTranslation("Monochrome");
+        WaveWarper.Text = TranslationHelper.GetTranslation("WaveWarper");
+        Underwater.Text = TranslationHelper.GetTranslation("Underwater");
+        BandedSwirl.Text = TranslationHelper.GetTranslation("BandedSwirl");
+        Swirl.Text = TranslationHelper.GetTranslation("Swirl");
+        Ripple.Text = TranslationHelper.GetTranslation("Ripple");
+        RippleAlt.Text = TranslationHelper.GetTranslation("RippleAlt");
+        Blur.Text = TranslationHelper.GetTranslation("Blur");
+        DirectionalBlur.Text = TranslationHelper.GetTranslation("DirectionalBlur");
+        TelescopicBlur.Text = TranslationHelper.GetTranslation("TelescopicBlur");
+        Pixelate.Text = TranslationHelper.GetTranslation("Pixelate");
+        EmbossedTxt.Text = TranslationHelper.GetTranslation("Embossed");
+        SmoothMagnify.Text = TranslationHelper.GetTranslation("SmoothMagnify");
+        Pivot.Text = TranslationHelper.GetTranslation("Pivot");
+        PaperFold.Text = TranslationHelper.GetTranslation("PaperFold");
+        PencilSketch.Text = TranslationHelper.GetTranslation("PencilSketch");
+        SketchTxt.Text = TranslationHelper.GetTranslation("Sketch");
+        ToneMappingTxt.Text = TranslationHelper.GetTranslation("ToneMapping");
+        FrostyOutline.Text = TranslationHelper.GetTranslation("FrostyOutline");
+        BandsTxt.Text = TranslationHelper.GetTranslation("Bands");
+        GlassTile.Text = TranslationHelper.GetTranslation("GlassTile");
+    }
 
-        private void IntensitySlider_ValueChanged()
+    private void IntensitySlider_ValueChanged()
+    {
+        if (PixelateButton.IsChecked.HasValue && PixelateButton.IsChecked.Value)
         {
-            if (PixelateButton.IsChecked.HasValue && PixelateButton.IsChecked.Value)
-            {
-                PixelateEffect();
-            }
-            else if (ColorToneButton.IsChecked.HasValue && ColorToneButton.IsChecked.Value)
-            {
-                ColorToneEffect();
-            }
-            else if (RippleAltButton.IsChecked.HasValue && RippleAltButton.IsChecked.Value)
-            {
-                RippleEffect2();
-            }
-            else if (BandedSwirlButton.IsChecked.HasValue && BandedSwirlButton.IsChecked.Value)
-            {
-                BandedSwirlEffect();
-            }
-            else if (DirectionalBlurButton.IsChecked.HasValue && DirectionalBlurButton.IsChecked.Value)
-            {
-                Dir_blur();
-            }
-            else if (BandsButton.IsChecked.HasValue && BandsButton.IsChecked.Value)
-            {
-                Bands();
-            }
-            else if (EmbossedButton.IsChecked.HasValue && EmbossedButton.IsChecked.Value)
-            {
-                Embossed();
-            }
-            else if (GlasTileButton.IsChecked.HasValue && GlasTileButton.IsChecked.Value)
-            {
-                GlasTileEffect();
-            }
-            else if (SmoothMagnifyButton.IsChecked.HasValue && SmoothMagnifyButton.IsChecked.Value)
-            {
-                MagnifySmoothEffect();
-            }
-            else if (PaperfoldButton.IsChecked.HasValue && PaperfoldButton.IsChecked.Value)
-            {
-                PaperFoldEffect();
-            }
-            else if (PivotButton.IsChecked.HasValue && PivotButton.IsChecked.Value)
-            {
-                PivotEffect();
-            }
-            else if (UnderwaterButton.IsChecked.HasValue && UnderwaterButton.IsChecked.Value)
-            {
-                UnderWaterEffect();
-            }
-            else if (WavewarperButton.IsChecked.HasValue && WavewarperButton.IsChecked.Value)
-            {
-                WaveWarperEffect();
-            }
-            else if (FrostyOutlineButton.IsChecked.HasValue && FrostyOutlineButton.IsChecked.Value)
-            {
-                FrostyOutlineEffect();
-            }
-            else if (OldMovieButton.IsChecked.HasValue && OldMovieButton.IsChecked.Value)
-            {
-                OldMovieEffect();
-            }
-            else if (SketchButton.IsChecked.HasValue && SketchButton.IsChecked.Value)
-            {
-                Sketch();
-            }
-            else if (SwirlButton.IsChecked.HasValue && SwirlButton.IsChecked.Value)
-            {
-                SwirlEffect();
-            }
-            else if (BloomButton.IsChecked.HasValue && BloomButton.IsChecked.Value)
-            {
-                Bloom();
-            }
-            else if (GloomButton.IsChecked.HasValue && GloomButton.IsChecked.Value)
-            {
-                Gloom();
-            }
-            else if (ToneMappingButton.IsChecked.HasValue && ToneMappingButton.IsChecked.Value)
-            {
-                ToneMapping();
-            }
-            else if (TelescopicBlurButton.IsChecked.HasValue && TelescopicBlurButton.IsChecked.Value)
-            {
-                Teleskopisk_blur();
-            }
-            else if (PencilSketchButton.IsChecked.HasValue && PencilSketchButton.IsChecked.Value)
-            {
-                SketchPencilStrokeEffect();
-            }
+            PixelateEffect();
+        }
+        else if (ColorToneButton.IsChecked.HasValue && ColorToneButton.IsChecked.Value)
+        {
+            ColorToneEffect();
+        }
+        else if (RippleAltButton.IsChecked.HasValue && RippleAltButton.IsChecked.Value)
+        {
+            RippleEffect2();
+        }
+        else if (BandedSwirlButton.IsChecked.HasValue && BandedSwirlButton.IsChecked.Value)
+        {
+            BandedSwirlEffect();
+        }
+        else if (DirectionalBlurButton.IsChecked.HasValue && DirectionalBlurButton.IsChecked.Value)
+        {
+            Dir_blur();
+        }
+        else if (BandsButton.IsChecked.HasValue && BandsButton.IsChecked.Value)
+        {
+            Bands();
+        }
+        else if (EmbossedButton.IsChecked.HasValue && EmbossedButton.IsChecked.Value)
+        {
+            Embossed();
+        }
+        else if (GlasTileButton.IsChecked.HasValue && GlasTileButton.IsChecked.Value)
+        {
+            GlasTileEffect();
+        }
+        else if (SmoothMagnifyButton.IsChecked.HasValue && SmoothMagnifyButton.IsChecked.Value)
+        {
+            MagnifySmoothEffect();
+        }
+        else if (PaperfoldButton.IsChecked.HasValue && PaperfoldButton.IsChecked.Value)
+        {
+            PaperFoldEffect();
+        }
+        else if (PivotButton.IsChecked.HasValue && PivotButton.IsChecked.Value)
+        {
+            PivotEffect();
+        }
+        else if (UnderwaterButton.IsChecked.HasValue && UnderwaterButton.IsChecked.Value)
+        {
+            UnderWaterEffect();
+        }
+        else if (WavewarperButton.IsChecked.HasValue && WavewarperButton.IsChecked.Value)
+        {
+            WaveWarperEffect();
+        }
+        else if (FrostyOutlineButton.IsChecked.HasValue && FrostyOutlineButton.IsChecked.Value)
+        {
+            FrostyOutlineEffect();
+        }
+        else if (OldMovieButton.IsChecked.HasValue && OldMovieButton.IsChecked.Value)
+        {
+            OldMovieEffect();
+        }
+        else if (SketchButton.IsChecked.HasValue && SketchButton.IsChecked.Value)
+        {
+            Sketch();
+        }
+        else if (SwirlButton.IsChecked.HasValue && SwirlButton.IsChecked.Value)
+        {
+            SwirlEffect();
+        }
+        else if (BloomButton.IsChecked.HasValue && BloomButton.IsChecked.Value)
+        {
+            Bloom();
+        }
+        else if (GloomButton.IsChecked.HasValue && GloomButton.IsChecked.Value)
+        {
+            Gloom();
+        }
+        else if (ToneMappingButton.IsChecked.HasValue && ToneMappingButton.IsChecked.Value)
+        {
+            ToneMapping();
+        }
+        else if (TelescopicBlurButton.IsChecked.HasValue && TelescopicBlurButton.IsChecked.Value)
+        {
+            Teleskopisk_blur();
+        }
+        else if (PencilSketchButton.IsChecked.HasValue && PencilSketchButton.IsChecked.Value)
+        {
+            SketchPencilStrokeEffect();
         }
+    }
 
-        #region HLSL Shader Effects
+    #region HLSL Shader Effects
 
-        private bool Remove_Effects()
-        {
-            var value = false;
-            ConfigureWindows.GetMainWindow.MainImage.Effect = null;
-            IntensitySlider.IsEnabled = false;
+    private bool Remove_Effects()
+    {
+        var value = false;
+        ConfigureWindows.GetMainWindow.MainImage.Effect = null;
+        IntensitySlider.IsEnabled = false;
 
-            var list = EffectsContainer.Children.OfType<Border>();
-            foreach (var item in list)
+        var list = EffectsContainer.Children.OfType<Border>();
+        foreach (var item in list)
+        {
+            var checkBox = (CheckBox)item.Child;
+            if (checkBox is not null and { IsChecked: true })
             {
-                var checkBox = (CheckBox)item.Child;
-                if (checkBox is not null and { IsChecked: true })
-                {
-                    checkBox.IsChecked = false;
-                    value = true;
-                }
+                checkBox.IsChecked = false;
+                value = true;
             }
-
-            return value;
         }
 
-        private void Negative()
+        return value;
+    }
+
+    private void Negative()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new InvertColorEffect();
-            NegativeButton.IsChecked = true;
-            IntensitySlider.IsEnabled = false;
         }
 
-        private void GraySceale()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new InvertColorEffect();
+        NegativeButton.IsChecked = true;
+        IntensitySlider.IsEnabled = false;
+    }
+
+    private void GraySceale()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new GrayscaleEffect();
-            GrayscaleButton.IsChecked = true;
-            IntensitySlider.IsEnabled = false;
         }
 
-        private void ColorToneEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new GrayscaleEffect();
+        GrayscaleButton.IsChecked = true;
+        IntensitySlider.IsEnabled = false;
+    }
+
+    private void ColorToneEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new ColorToneEffect(IntensitySlider.Value);
-            ColorToneButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void RippleEffect1()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new ColorToneEffect(IntensitySlider.Value);
+        ColorToneButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void RippleEffect1()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new Transition_RippleEffect();
-            RippleButton.IsChecked = true;
-            IntensitySlider.IsEnabled = false;
         }
 
-        private void RippleEffect2()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new Transition_RippleEffect();
+        RippleButton.IsChecked = true;
+        IntensitySlider.IsEnabled = false;
+    }
+
+    private void RippleEffect2()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new RippleEffect(IntensitySlider.Value);
-            RippleAltButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void BandedSwirlEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new RippleEffect(IntensitySlider.Value);
+        RippleAltButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void BandedSwirlEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new BandedSwirlEffect(IntensitySlider.Value);
-            BandedSwirlButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void Monochrome()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new BandedSwirlEffect(IntensitySlider.Value);
+        BandedSwirlButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void Monochrome()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new MonochromeEffect();
-            MonochromeButton.IsChecked = true;
-            IntensitySlider.IsEnabled = false;
         }
 
-        private void SwirlEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new MonochromeEffect();
+        MonochromeButton.IsChecked = true;
+        IntensitySlider.IsEnabled = false;
+    }
+
+    private void SwirlEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new SwirlEffect(IntensitySlider.Value);
-            SwirlButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void Bloom()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new SwirlEffect(IntensitySlider.Value);
+        SwirlButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void Bloom()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new BloomEffect(IntensitySlider.Value);
-            BloomButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void Gloom()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new BloomEffect(IntensitySlider.Value);
+        BloomButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void Gloom()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new GloomEffect(IntensitySlider.Value);
-            GloomButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void ToneMapping()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new GloomEffect(IntensitySlider.Value);
+        GloomButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void ToneMapping()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new ToneMappingEffect(IntensitySlider.Value);
-            ToneMappingButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void Teleskopisk_blur()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new ToneMappingEffect(IntensitySlider.Value);
+        ToneMappingButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void Teleskopisk_blur()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new TelescopicBlurPS3Effect(IntensitySlider.Value);
-            TelescopicBlurButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void BlurEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new TelescopicBlurPS3Effect(IntensitySlider.Value);
+        TelescopicBlurButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void BlurEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new GrowablePoissonDiskEffect();
-            BlurButton.IsChecked = true;
-            IntensitySlider.IsEnabled = false;
         }
 
-        private void Dir_blur()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new GrowablePoissonDiskEffect();
+        BlurButton.IsChecked = true;
+        IntensitySlider.IsEnabled = false;
+    }
+
+    private void Dir_blur()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new DirectionalBlurEffect(IntensitySlider.Value);
-            DirectionalBlurButton.IsChecked = true;
-            IntensitySlider.IsEnabled = false;
         }
 
-        private void Bands()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new DirectionalBlurEffect(IntensitySlider.Value);
+        DirectionalBlurButton.IsChecked = true;
+        IntensitySlider.IsEnabled = false;
+    }
+
+    private void Bands()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new BandsEffect(IntensitySlider.Value);
-            BandsButton.IsChecked = true;
-            IntensitySlider.IsEnabled = false;
         }
 
-        private void Embossed()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new BandsEffect(IntensitySlider.Value);
+        BandsButton.IsChecked = true;
+        IntensitySlider.IsEnabled = false;
+    }
+
+    private void Embossed()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new EmbossedEffect(IntensitySlider.Value);
-            EmbossedButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void GlasTileEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new EmbossedEffect(IntensitySlider.Value);
+        EmbossedButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void GlasTileEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new GlassTilesEffect(IntensitySlider.Value);
-            GlasTileButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void MagnifySmoothEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new GlassTilesEffect(IntensitySlider.Value);
+        GlasTileButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void MagnifySmoothEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new MagnifySmoothEffect(IntensitySlider.Value);
-            SmoothMagnifyButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void PaperFoldEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new MagnifySmoothEffect(IntensitySlider.Value);
+        SmoothMagnifyButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void PaperFoldEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new PaperFoldEffect(IntensitySlider.Value);
-            PaperfoldButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void PivotEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new PaperFoldEffect(IntensitySlider.Value);
+        PaperfoldButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void PivotEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new PivotEffect(IntensitySlider.Value);
-            PivotButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void UnderWaterEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new PivotEffect(IntensitySlider.Value);
+        PivotButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void UnderWaterEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new UnderwaterEffect(IntensitySlider.Value);
-            UnderwaterButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void WaveWarperEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new UnderwaterEffect(IntensitySlider.Value);
+        UnderwaterButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void WaveWarperEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new WaveWarperEffect(IntensitySlider.Value);
-            WavewarperButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void FrostyOutlineEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new WaveWarperEffect(IntensitySlider.Value);
+        WavewarperButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void FrostyOutlineEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new FrostyOutlineEffect(IntensitySlider.Value);
-            FrostyOutlineButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void OldMovieEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new FrostyOutlineEffect(IntensitySlider.Value);
+        FrostyOutlineButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void OldMovieEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new OldMovieEffect(IntensitySlider.Value);
-            OldMovieButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void PixelateEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new OldMovieEffect(IntensitySlider.Value);
+        OldMovieButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void PixelateEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new PixelateEffect(IntensitySlider.Value);
-            PixelateButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void Sketch()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new PixelateEffect(IntensitySlider.Value);
+        PixelateButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void Sketch()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new SketchGraniteEffect(IntensitySlider.Value);
-            SketchButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        private void SketchPencilStrokeEffect()
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new SketchGraniteEffect(IntensitySlider.Value);
+        SketchButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
+    }
+
+    private void SketchPencilStrokeEffect()
+    {
+        if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
         {
-            if (ConfigureWindows.GetMainWindow.MainImage.Effect != null)
+            if (!Remove_Effects())
             {
-                if (!Remove_Effects())
-                {
-                    return;
-                }
+                return;
             }
-
-            ConfigureWindows.GetMainWindow.MainImage.Effect = new SketchPencilStrokeEffect(IntensitySlider.Value);
-            PencilSketchButton.IsChecked = true;
-            IntensitySlider.IsEnabled = true;
         }
 
-        #endregion HLSL Shader Effects
+        ConfigureWindows.GetMainWindow.MainImage.Effect = new SketchPencilStrokeEffect(IntensitySlider.Value);
+        PencilSketchButton.IsChecked = true;
+        IntensitySlider.IsEnabled = true;
     }
+
+    #endregion HLSL Shader Effects
 }

+ 72 - 50
src/PicView.WPF/Views/Windows/ImageInfoWindow.xaml

@@ -2,12 +2,12 @@
     x:Class="PicView.WPF.Views.Windows.ImageInfoWindow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:misc="clr-namespace:PicView.WPF.Views.UserControls.Misc"
-    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
-    Title="{StaticResource ImageInfo}"
-    Width="825"
+    Title="Loading..."
+    Width="835"
     Height="385"
     d:Height="700"
     AllowsTransparency="True"
@@ -164,9 +164,11 @@
                 Width="126"
                 Height="30"
                 Padding="0"
-                Style="{StaticResource MetroFlatButton}"
-                ToolTip="{StaticResource FileProperties}">
-                <TextBlock Text="{StaticResource FileProperties}" TextTrimming="CharacterEllipsis" />
+                Style="{StaticResource MetroFlatButton}">
+                <TextBlock
+                    x:Name="FilePropertiesTxt"
+                    d:Text="FileProperties"
+                    TextTrimming="CharacterEllipsis" />
                 <Button.Foreground>
                     <SolidColorBrush x:Name="FilePropertiesFill" Color="{StaticResource MainColor}" />
                 </Button.Foreground>
@@ -185,9 +187,11 @@
                 Width="92"
                 Height="30"
                 Padding="0"
-                Style="{StaticResource MetroFlatButton}"
-                ToolTip="{StaticResource SendCurrentImageToRecycleBin}">
-                <TextBlock Text="{StaticResource DeleteFile}" TextTrimming="CharacterEllipsis" />
+                Style="{StaticResource MetroFlatButton}">
+                <TextBlock
+                    x:Name="DeleteFile"
+                    d:Text="DeleteFile"
+                    TextTrimming="CharacterEllipsis" />
                 <Button.Foreground>
                     <SolidColorBrush x:Name="DeleteFill" Color="{StaticResource MainColor}" />
                 </Button.Foreground>
@@ -206,9 +210,11 @@
                 Width="123"
                 Height="30"
                 Padding="0"
-                Style="{StaticResource MetroFlatButton}"
-                ToolTip="{StaticResource OptimizeImage}">
-                <TextBlock Text="{StaticResource OptimizeImage}" TextTrimming="CharacterEllipsis" />
+                Style="{StaticResource MetroFlatButton}">
+                <TextBlock
+                    x:Name="OptimizeImage"
+                    d:Text="OptimizeImage"
+                    TextTrimming="CharacterEllipsis" />
                 <Button.Foreground>
                     <SolidColorBrush x:Name="OptimizeImageFill" Color="{StaticResource MainColor}" />
                 </Button.Foreground>
@@ -227,9 +233,11 @@
                 Width="116"
                 Height="30"
                 Padding="0"
-                Style="{StaticResource MetroFlatButton}"
-                ToolTip="{StaticResource OpenWith}">
-                <TextBlock Text="{StaticResource OpenWith}" TextTrimming="CharacterEllipsis" />
+                Style="{StaticResource MetroFlatButton}">
+                <TextBlock
+                    x:Name="OpenWithTxt"
+                    d:Text="OpenWith"
+                    TextTrimming="CharacterEllipsis" />
                 <Button.Foreground>
                     <SolidColorBrush x:Name="OpenWithFill" Color="{StaticResource MainColor}" />
                 </Button.Foreground>
@@ -248,9 +256,11 @@
                 Width="130"
                 Height="30"
                 Padding="0"
-                Style="{StaticResource MetroFlatButton}"
-                ToolTip="{StaticResource ShowInFolder}">
-                <TextBlock Text="{StaticResource ShowInFolder}" TextTrimming="CharacterEllipsis" />
+                Style="{StaticResource MetroFlatButton}">
+                <TextBlock
+                    x:Name="ShowInFolderTxt"
+                    d:Text="ShowInFolder"
+                    TextTrimming="CharacterEllipsis" />
                 <Button.Foreground>
                     <SolidColorBrush x:Name="ShowInFolderFill" Color="{StaticResource MainColor}" />
                 </Button.Foreground>
@@ -313,12 +323,13 @@
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="FileName"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="FileName"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource FileName}"
                                     TextTrimming="CharacterEllipsis"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
@@ -327,18 +338,19 @@
                                     d:Text="404.jpg"
                                     IsReadOnly="False" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="FilenameCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="FilenameCopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="Folder"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="Folder"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource Folder}"
                                     TextTrimming="CharacterEllipsis"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
@@ -347,18 +359,19 @@
                                     d:Text="D:\Pictures"
                                     IsReadOnly="False" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="FolderCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="FolderCopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="FullPath"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="FullPath"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource FullPath}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="FullPathBox"
@@ -366,79 +379,83 @@
                                     d:Text="D:\Pictures\404.jpg"
                                     IsReadOnly="False" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="FullpathCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="FullpathCopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="Created"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="Created"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource Created}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="CreatedBox"
                                     Width="180"
                                     d:Text="8/9/2019 - 10:37:42 PM" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="CreatedCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="CreatedCopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="Modified"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="Modified"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource Modified}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="ModifiedBox"
                                     Width="180"
                                     d:Text="12/10/2018 - 7:41:14 PM" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="ModifiedCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="ModifiedCopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="LastAccessTime"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="LastAccessTime"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource LastAccessTime}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="AccessedBox"
                                     Width="180"
                                     d:Text="Today, ‎October ‎25, ‎2021, ‏‎11:29 AM" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="Accessedopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="Accessedopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="BitDepth"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="BitDepth"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource BitDepth}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="BitDepthBox"
                                     Width="180"
                                     d:Text="24" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="BitDepthCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="BitDepthCopy" />
                                 </Border>
                             </StackPanel>
                         </StackPanel>
@@ -447,131 +464,136 @@
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="WidthTxt"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="Width"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource Width}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="WidthBox"
                                     Width="180"
                                     d:Text="1920"
-                                    IsReadOnly="False"
-                                    ToolTip="{StaticResource SizeTooltip}" />
+                                    IsReadOnly="False" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="WidthCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="WidthCopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="HeightTxt"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="Height"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource Height}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="HeightBox"
                                     Width="180"
                                     d:Text="1080"
-                                    IsReadOnly="False"
-                                    ToolTip="{StaticResource SizeTooltip}" />
+                                    IsReadOnly="False" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="HeightCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="HeightCopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="SizeMp"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="SizeMp"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource SizeMp}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="SizeMpBox"
                                     Width="180"
                                     d:Text="2.1 Megapixels" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="SizeMpCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="SizeMpCopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="Resolution"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="Resolution"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource Resolution}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="ResolutionBox"
                                     Width="180"
                                     d:Text="96 x 96 DPI" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="DpiCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="DpiCopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="PrintSizeCm"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="PrintSizeCm"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource PrintSizeCm}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="PrintSizeCmBox"
                                     Width="180"
                                     d:Text="50.8 x 28.58 centimeters" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="PrintSizeCmCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="PrintSizeCmCopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="PrintSizeIn"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="PrintSizeIn"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource PrintSizeIn}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="PrintSizeInBox"
                                     Width="180"
                                     d:Text="20 x 11.25 inches" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="PrintSizeInCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="PrintSizeInCopy" />
                                 </Border>
                             </StackPanel>
 
                             <StackPanel Margin="10,10,0,0" Orientation="Horizontal">
                                 <TextBlock
+                                    x:Name="AspectRatio"
                                     Width="130"
                                     Margin="0,0,10,0"
                                     VerticalAlignment="Center"
+                                    d:Text="AspectRatio"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                                     FontSize="14"
-                                    Text="{StaticResource AspectRatio}"
                                     ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}" />
                                 <TextBox
                                     x:Name="AspectRatioBox"
                                     Width="180"
                                     d:Text="16:9 (Landscape)" />
                                 <Border Style="{StaticResource bgRoundedConer}">
-                                    <buttons:CopyButton x:Name="AspectRatioCopy" ToolTip="{StaticResource Copy}" />
+                                    <buttons:CopyButton x:Name="AspectRatioCopy" />
                                 </Border>
                             </StackPanel>
                         </StackPanel>

+ 52 - 1
src/PicView.WPF/Views/Windows/ImageInfoWindow.xaml.cs

@@ -1,6 +1,7 @@
 using System.IO;
 using System.Windows;
 using System.Windows.Input;
+using PicView.Core.Localization;
 using PicView.WPF.Animations;
 using PicView.WPF.ChangeImage;
 using PicView.WPF.ConfigureSettings;
@@ -28,6 +29,7 @@ namespace PicView.WPF.Views.Windows
             ContentRendered += async (_, _) =>
             {
                 WindowBlur.EnableBlur(this);
+                UpdateLanguage();
                 Window_ContentRendered();
                 if (Pics.Count > FolderIndex)
                 {
@@ -40,6 +42,55 @@ namespace PicView.WPF.Views.Windows
             };
         }
 
+        public void UpdateLanguage()
+        {
+            Title = TranslationHelper.GetTranslation("ImageInfo") + " - PicView";
+
+            FilePropertiesTxt.Text = TranslationHelper.GetTranslation("FileProperties");
+            FileProperties.ToolTip = TranslationHelper.GetTranslation("FileProperties");
+            DeleteFile.Text = TranslationHelper.GetTranslation("DeleteFile");
+            Delete.ToolTip = TranslationHelper.GetTranslation("SendCurrentImageToRecycleBin");
+            OptimizeImage.Text = TranslationHelper.GetTranslation("OptimizeImage");
+            OptimizeImageButton.ToolTip = TranslationHelper.GetTranslation("OptimizeImage");
+            OpenWithTxt.Text = TranslationHelper.GetTranslation("OpenWith");
+            OpenWith.ToolTip = TranslationHelper.GetTranslation("OpenWith");
+            ShowInFolderTxt.Text = TranslationHelper.GetTranslation("ShowInFolder");
+            ShowInFolder.ToolTip = TranslationHelper.GetTranslation("ShowInFolder");
+
+            FileName.Text = TranslationHelper.GetTranslation("FileName");
+            Folder.Text = TranslationHelper.GetTranslation("Folder");
+            FullPath.Text = TranslationHelper.GetTranslation("FullPath");
+            Created.Text = TranslationHelper.GetTranslation("Created");
+            Modified.Text = TranslationHelper.GetTranslation("Modified");
+            LastAccessTime.Text = TranslationHelper.GetTranslation("LastAccessTime");
+            BitDepth.Text = TranslationHelper.GetTranslation("BitDepth");
+            WidthTxt.Text = TranslationHelper.GetTranslation("Width");
+            HeightTxt.Text = TranslationHelper.GetTranslation("Height");
+            SizeMp.Text = TranslationHelper.GetTranslation("SizeMp");
+            Resolution.Text = TranslationHelper.GetTranslation("Resolution");
+            PrintSizeCm.Text = TranslationHelper.GetTranslation("PrintSizeCm");
+            PrintSizeIn.Text = TranslationHelper.GetTranslation("PrintSizeIn");
+            AspectRatio.Text = TranslationHelper.GetTranslation("AspectRatio");
+
+            FilenameCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            FolderCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            FullpathCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            CreatedCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            ModifiedCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            Accessedopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            BitDepthCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            WidthCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            HeightCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            SizeMpCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            DpiCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            PrintSizeCmCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            PrintSizeInCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+            AspectRatioCopy.ToolTip = TranslationHelper.GetTranslation("Copy");
+
+            WidthBox.ToolTip = TranslationHelper.GetTranslation("SizeTooltip");
+            HeightBox.ToolTip = TranslationHelper.GetTranslation("SizeTooltip");
+        }
+
         private void Window_ContentRendered()
         {
             Activated += async (_, _) =>
@@ -125,7 +176,7 @@ namespace PicView.WPF.Views.Windows
 
             PreviewMouseWheel += (_, e) => // Collapse when scrolling down
             {
-                if (e.Delta < 0 && Height == _startHeight)
+                if (e.Delta < 0 && Math.Abs(Height - _startHeight) < .4)
                 {
                     UIHelper.ExtendOrCollapse(Height, _startHeight, _extendedHeight, this, Scroller, xGeo);
                 }

+ 2 - 2
src/PicView.WPF/Views/Windows/MainWindow.xaml

@@ -2,9 +2,9 @@
     x:Class="PicView.WPF.Views.Windows.MainWindow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:misc="clr-namespace:PicView.WPF.Views.UserControls.Misc"
     xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
-    Title="{StaticResource Loading}"
+    xmlns:misc="clr-namespace:PicView.WPF.Views.UserControls.Misc"
+    Title="Loading..."
     Width="462"
     Height="400"
     MinWidth="462"

+ 0 - 1
src/PicView.WPF/Views/Windows/MainWindow.xaml.cs

@@ -55,7 +55,6 @@ namespace PicView.WPF.Views.Windows
             {
                 WindowBlur.EnableBlur(this);
 
-                StartLoading.AddDictionaries();
                 StartLoading.AddUiElementsAndUpdateValues();
 
                 // keyboard and Mouse_Keys Keys

+ 26 - 22
src/PicView.WPF/Views/Windows/ResizeWindow.xaml

@@ -2,10 +2,10 @@
     x:Class="PicView.WPF.Views.Windows.ResizeWindow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:misc="clr-namespace:PicView.WPF.Views.UserControls.Misc"
-    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
     Width="500"
     AllowDrop="False"
     AllowsTransparency="True"
@@ -77,9 +77,9 @@
                 Width="Auto"
                 Margin="0,0,0,0"
                 VerticalAlignment="Center"
+                d:Text=" BatchResize"
                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                 FontSize="13"
-                Text="{StaticResource BatchResize}"
                 TextAlignment="Center" />
         </DockPanel>
 
@@ -92,7 +92,7 @@
             <StackPanel Margin="0,0,0,15">
 
                 <StackPanel Margin="0,10,0,5" Orientation="Horizontal">
-                    <TextBlock Text="{StaticResource SourceFolder}" />
+                    <TextBlock x:Name="SourceFolderTextBlock" d:Text="SourceFolder" />
                     <TextBox
                         x:Name="SourceFolderInput"
                         Width="298"
@@ -107,7 +107,7 @@
                     Margin="0,0,0,10"
                     AllowDrop="True"
                     Orientation="Horizontal">
-                    <TextBlock Text="{StaticResource OutputFolder}" />
+                    <TextBlock x:Name="OutputFolderTextBlock" d:Text="OutputFolder" />
                     <TextBox
                         x:Name="OutputFolderInput"
                         Width="298"
@@ -119,9 +119,12 @@
                 </StackPanel>
 
                 <StackPanel Margin="0,0,0,10" Orientation="Horizontal">
-                    <TextBlock Text="{StaticResource ConvertTo}" />
+                    <TextBlock x:Name="ConvertToTextBlock" d:Text=" ConvertTo" />
                     <ComboBox MinWidth="130">
-                        <ComboBoxItem Content="{StaticResource NoConversion}" IsSelected="True" />
+                        <ComboBoxItem
+                            x:Name="NoConversion"
+                            d:Content="NoConversion"
+                            IsSelected="True" />
                         <ComboBoxItem Name="webp" Content=".webp" />
                         <ComboBoxItem Name="jpg" Content=".jpg" />
                         <ComboBoxItem Name="png" Content=".png" />
@@ -139,19 +142,19 @@
                             </Style.Triggers>
                         </Style>
                     </StackPanel.Style>
-                    <TextBlock Text="{StaticResource Compression}" />
+                    <TextBlock x:Name="CompressionTextBlock" d:Text=" Compression" />
                     <ComboBox MinWidth="130">
                         <ComboBoxItem
                             x:Name="LosslessCompressionChoice"
-                            Content="{StaticResource Lossless}"
+                            d:Content=" Lossless"
                             IsSelected="True" />
-                        <ComboBoxItem x:Name="LossyCompressionChoice" Content="{StaticResource Lossy}" />
-                        <ComboBoxItem Content="{StaticResource None}" />
+                        <ComboBoxItem x:Name="LossyCompressionChoice" d:Content=" Lossy" />
+                        <ComboBoxItem x:Name="NoneChoice" d:Content=" None}" />
                     </ComboBox>
                 </StackPanel>
 
                 <StackPanel Orientation="Horizontal">
-                    <TextBlock Text="Quality" />
+                    <TextBlock x:Name="QualityTextBlock" d:Text="Quality" />
                     <ComboBox
                         x:Name="QualityPercentage"
                         MinWidth="130"
@@ -175,15 +178,15 @@
                 </StackPanel>
 
                 <StackPanel Margin="0,10,0,0" Orientation="Horizontal">
-                    <TextBlock Text="{StaticResource Resize}" />
+                    <TextBlock x:Name="ResizeTextBlock" d:Text=" Resize" />
                     <ComboBox x:Name="ResizeComboBox" Width="130">
                         <ComboBoxItem
                             x:Name="NoResize"
-                            Content="{StaticResource NoResize}"
+                            Content=" NoResize"
                             IsSelected="True" />
-                        <ComboBoxItem x:Name="WidthResize" Content="{StaticResource Width}" />
-                        <ComboBoxItem x:Name="HeightResize" Content="{StaticResource Height}" />
-                        <ComboBoxItem x:Name="PercentageResize" Content="{StaticResource Percentage}" />
+                        <ComboBoxItem x:Name="WidthResize" Content=" Width" />
+                        <ComboBoxItem x:Name="HeightResize" Content=" Height" />
+                        <ComboBoxItem x:Name="PercentageResize" Content=" Percentag}" />
                     </ComboBox>
                 </StackPanel>
 
@@ -202,7 +205,7 @@
                         </Style>
                     </StackPanel.Style>
 
-                    <TextBlock Text="{StaticResource Width}" />
+                    <TextBlock x:Name="WidthTextBlock" d:Text=" Width" />
 
                     <TextBox
                         x:Name="WidthValue"
@@ -226,7 +229,7 @@
                         </Style>
                     </StackPanel.Style>
 
-                    <TextBlock Text="{StaticResource Height}" />
+                    <TextBlock x:Name="HeightTextBlock" d:Text=" Height" />
 
                     <TextBox
                         x:Name="HeightValue"
@@ -250,7 +253,7 @@
                         </Style>
                     </StackPanel.Style>
 
-                    <TextBlock Text="{StaticResource Percentage}" />
+                    <TextBlock x:Name="PercentageTextBlock" d:Text=" Percentage" />
 
                     <TextBox
                         x:Name="PercentageBox"
@@ -265,7 +268,7 @@
 
                 <StackPanel Margin="0,10,0,5" Orientation="Horizontal">
 
-                    <TextBlock Text="{StaticResource GenerateThumbnails}" />
+                    <TextBlock x:Name="GenerateThumbnailsTextBlock" d:Text="GenerateThumbnails" />
                     <ComboBox
                         x:Name="ThumbnailsComboBox"
                         Width="65"
@@ -301,6 +304,7 @@
                                             <ScrollContentPresenter Grid.RowSpan="2" Grid.ColumnSpan="2" />
                                             <ScrollBar
                                                 Name="PART_VerticalScrollBar"
+                                                Grid.Row="0"
                                                 Grid.Column="1"
                                                 Maximum="{TemplateBinding ScrollableHeight}"
                                                 ViewportSize="{TemplateBinding ViewportHeight}"
@@ -358,7 +362,7 @@
                         <Label
                             x:Name="StartButton"
                             Padding="20,7,20,7"
-                            Content="{StaticResource Start}"
+                            d:Content=" Start"
                             FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium">
                             <Label.Background>
                                 <SolidColorBrush x:Name="StartBrush" Color="{StaticResource BackgroundColorAlt}" />
@@ -382,7 +386,7 @@
                         <Label
                             x:Name="CancelButton"
                             Padding="10,7,10,7"
-                            Content="{StaticResource Cancel}"
+                            d:Content=" Cancel"
                             FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Medium">
                             <Label.Background>
                                 <SolidColorBrush x:Name="CancelBrush" Color="{StaticResource BackgroundColorAlt}" />

+ 26 - 2
src/PicView.WPF/Views/Windows/ResizeWindow.xaml.cs

@@ -6,6 +6,7 @@ using System.Windows.Input;
 using System.Windows.Media;
 using System.Windows.Threading;
 using ImageMagick;
+using PicView.Core.Localization;
 using PicView.WPF.Animations;
 using PicView.WPF.ChangeImage;
 using PicView.WPF.ConfigureSettings;
@@ -25,7 +26,6 @@ namespace PicView.WPF.Views.Windows
 
         public ResizeWindow()
         {
-            Title = Application.Current.Resources["BatchResize"] + " - PicView";
             MaxHeight = MonitorInfo.WorkArea.Height;
             Width *= MonitorInfo.DpiScaling;
             if (double.IsNaN(Width)) // Fixes if user opens window when loading from startup
@@ -41,7 +41,7 @@ namespace PicView.WPF.Views.Windows
             {
                 WindowBlur.EnableBlur(this);
                 Owner = null; // Remove owner, so that minimizing main-window will not minimize this
-
+                UpdateLanguage();
                 Deactivated += (_, _) => ConfigColors.WindowUnfocusOrFocus(TitleBar, TitleText, null, false);
                 Activated += (_, _) => ConfigColors.WindowUnfocusOrFocus(TitleBar, TitleText, null, true);
                 IsVisibleChanged += (_, _) =>
@@ -109,6 +109,29 @@ namespace PicView.WPF.Views.Windows
             };
         }
 
+        internal void UpdateLanguage()
+        {
+            TitleText.Text = TranslationHelper.GetTranslation("BatchResize");
+            Title = TranslationHelper.GetTranslation("BatchResize") + " - PicView";
+            OutputFolderTextBlock.Text = TranslationHelper.GetTranslation("OutputFolder");
+            ConvertToTextBlock.Text = TranslationHelper.GetTranslation("ConvertTo");
+            SourceFolderTextBlock.Text = TranslationHelper.GetTranslation("SourceFolder");
+            NoConversion.Content = TranslationHelper.GetTranslation("NoConversion");
+            CompressionTextBlock.Text = TranslationHelper.GetTranslation("Compression");
+            LosslessCompressionChoice.Content = TranslationHelper.GetTranslation("Lossless");
+            LossyCompressionChoice.Content = TranslationHelper.GetTranslation("Lossy");
+            QualityTextBlock.Text = TranslationHelper.GetTranslation("Quality");
+            NoneChoice.Content = TranslationHelper.GetTranslation("None");
+            ResizeTextBlock.Text = TranslationHelper.GetTranslation("Resize");
+            NoResize.Content = TranslationHelper.GetTranslation("NoResize");
+            WidthResize.Content = WidthTextBlock.Text = TranslationHelper.GetTranslation("Width");
+            HeightResize.Content = HeightTextBlock.Text = TranslationHelper.GetTranslation("Height");
+            PercentageResize.Content = PercentageTextBlock.Text = TranslationHelper.GetTranslation("Percentage");
+            GenerateThumbnailsTextBlock.Text = TranslationHelper.GetTranslation("GenerateThumbnails");
+            StartButton.Content = TranslationHelper.GetTranslation("Start");
+            CancelButton.Content = TranslationHelper.GetTranslation("Cancel");
+        }
+
         private void Update()
         {
             if (ErrorHandling.CheckOutOfRange() == false)
@@ -123,6 +146,7 @@ namespace PicView.WPF.Views.Windows
 
         private void UpdateThumbnails()
         {
+            // TODO refactor and improve thumbnails output
             var selected = (ComboBoxItem)ThumbnailsComboBox.SelectedItem;
             if (!int.TryParse(selected?.Content.ToString(), out var count)) return;
             GeneratedThumbnailsContainer.Children.Clear();

+ 87 - 126
src/PicView.WPF/Views/Windows/SettingsWindow.xaml

@@ -2,11 +2,11 @@
     x:Class="PicView.WPF.Views.Windows.SettingsWindow"
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
     xmlns:misc="clr-namespace:PicView.WPF.Views.UserControls.Misc"
-    xmlns:buttons="clr-namespace:PicView.WPF.Views.UserControls.Buttons"
-    MinWidth="325"
+    MinWidth="370"
     MaxWidth="335"
     AllowsTransparency="True"
     BorderBrush="{StaticResource BorderBrush}"
@@ -53,7 +53,7 @@
                     VerticalAlignment="Center"
                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Bold"
                     FontSize="14"
-                    Text="{StaticResource Settings}"
+                    Text="Loading..."
                     TextAlignment="Center" />
             </DockPanel>
         </Border>
@@ -147,10 +147,11 @@
             <TabItem>
                 <TabItem.Header>
                     <TextBlock
-                        MaxWidth="155"
+                        x:Name="GeneralSettingsTextBlock"
+                        MaxWidth="165"
                         FocusVisualStyle="{x:Null}"
                         FontSize="13"
-                        Text="{StaticResource GeneralSettings}"
+                        Text="Loading..."
                         TextTrimming="CharacterEllipsis"
                         TextWrapping="Wrap" />
                 </TabItem.Header>
@@ -159,9 +160,10 @@
                     <StackPanel Margin="10,10,10,10">
 
                         <Label
+                            x:Name="MiscSettingsLabel"
                             Margin="0,0,0,5"
                             VerticalAlignment="Center"
-                            Content="{StaticResource MiscSettings}"
+                            Content=""
                             Foreground="{StaticResource MainColorBrush}" />
 
                         <CheckBox
@@ -173,11 +175,12 @@
                             </CheckBox.Foreground>
                             <CheckBox.Content>
                                 <TextBlock
-                                    Width="279"
+                                    x:Name="SearchSubdirectoryTextBlock"
+                                    Width="310"
                                     Focusable="False"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
                                     FontSize="13"
-                                    Text="{StaticResource SearchSubdirectory}"
+                                    Text=""
                                     TextWrapping="Wrap" />
                             </CheckBox.Content>
                         </CheckBox>
@@ -191,11 +194,12 @@
                             </CheckBox.Foreground>
                             <CheckBox.Content>
                                 <TextBlock
-                                    Width="279"
+                                    x:Name="StayTopMostTextBlock"
+                                    Width="310"
                                     Focusable="False"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
                                     FontSize="13"
-                                    Text="{StaticResource StayTopMost}"
+                                    Text=""
                                     TextWrapping="Wrap" />
                             </CheckBox.Content>
                         </CheckBox>
@@ -210,11 +214,12 @@
                             </CheckBox.Foreground>
                             <CheckBox.Content>
                                 <TextBlock
-                                    Width="279"
+                                    x:Name="StayCenteredTextBlock"
+                                    Width="310"
                                     Focusable="False"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
                                     FontSize="13"
-                                    Text="{StaticResource StayCentered}" />
+                                    Text="" />
                             </CheckBox.Content>
                         </CheckBox>
 
@@ -228,11 +233,12 @@
                             </CheckBox.Foreground>
                             <CheckBox.Content>
                                 <TextBlock
-                                    Width="279"
+                                    x:Name="AllowZoomOutTextBlock"
+                                    Width="310"
                                     Focusable="False"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
                                     FontSize="13"
-                                    Text="{StaticResource AllowZoomOut}"
+                                    Text=""
                                     TextWrapping="Wrap" />
                             </CheckBox.Content>
                         </CheckBox>
@@ -248,11 +254,12 @@
                             </CheckBox.Foreground>
                             <CheckBox.Content>
                                 <TextBlock
-                                    Width="279"
+                                    x:Name="ShowFileSavingDialogTextBlock"
+                                    Width="310"
                                     Focusable="False"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
                                     FontSize="13"
-                                    Text="{StaticResource ShowFileSavingDialog}"
+                                    Text=""
                                     TextWrapping="Wrap" />
                             </CheckBox.Content>
                         </CheckBox>
@@ -262,7 +269,7 @@
                             Margin="0,15,0,0"
                             HorizontalAlignment="Left"
                             VerticalAlignment="Center"
-                            Content="{StaticResource Language}" />
+                            Content="" />
 
                         <ComboBox
                             x:Name="LanguageBox"
@@ -270,30 +277,16 @@
                             HorizontalAlignment="Left"
                             IsTabStop="False" />
 
-                        <TextBlock
-                            x:Name="LanguageRestart"
-                            Margin="7,7,0,15"
-                            HorizontalAlignment="Left"
-                            FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Light Italic"
-                            FontSize="12"
-                            Text="{StaticResource ChangingLanguageRequiresRestart}"
-                            TextWrapping="Wrap"
-                            ToolTip="{StaticResource RestartApp}">
-                            <TextBlock.Foreground>
-                                <SolidColorBrush x:Name="LanguageRestartTxt" Color="{StaticResource MainColor}" />
-                            </TextBlock.Foreground>
-                        </TextBlock>
-
                         <Label
+                            x:Name="MouseWheelLabel"
                             Margin="0,3,0,4"
                             HorizontalAlignment="Left"
                             VerticalAlignment="Center"
-                            Content="{StaticResource MouseWheel}" />
+                            Content="" />
 
                         <RadioButton
                             x:Name="CtrlZoom"
-                            Width="279"
-                            Margin="0,0,15,0"
+                            Margin="10,0,15,0"
                             d:IsChecked="True"
                             BorderThickness="0"
                             Focusable="False"
@@ -302,35 +295,36 @@
                                 <SolidColorBrush x:Name="CtrlZoomText" Color="{StaticResource MainColor}" />
                             </RadioButton.Foreground>
                             <TextBlock
+                                x:Name="CtrlToZoomTextBlock"
                                 Width="279"
                                 Focusable="False"
                                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
-                                Text="{StaticResource CtrlToZoom}"
+                                Text=""
                                 TextWrapping="Wrap" />
                         </RadioButton>
 
                         <RadioButton
                             x:Name="ScrollZoom"
-                            Width="279"
-                            Margin="0,3,15,0"
+                            Margin="10,3,15,0"
                             Focusable="False"
                             FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto">
                             <RadioButton.Foreground>
                                 <SolidColorBrush x:Name="ScrollZoomText" Color="{StaticResource MainColor}" />
                             </RadioButton.Foreground>
                             <TextBlock
+                                x:Name="ScrollToZoomTextBlock"
                                 Width="279"
                                 Focusable="False"
                                 FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
-                                Text="{StaticResource ScrollToZoom}"
                                 TextWrapping="Wrap" />
                         </RadioButton>
 
                         <Label
+                            x:Name="HorizontalScrollLabel"
                             Margin="0,4,0,0"
                             HorizontalAlignment="Left"
                             VerticalAlignment="Center"
-                            Content="{StaticResource HorizontalScroll}" />
+                            Content="" />
 
                         <ComboBox
                             x:Name="ScrollDirection"
@@ -339,16 +333,17 @@
                             IsTabStop="False">
                             <ComboBoxItem
                                 x:Name="Reverse"
-                                Content="{StaticResource Reverse}"
+                                Content=""
                                 IsSelected="True" />
-                            <ComboBoxItem Name="Forward" Content="{StaticResource Forward}" />
+                            <ComboBoxItem Name="Forward" Content="" />
                         </ComboBox>
 
                         <Label
+                            x:Name="AdjustTimingForSlideshowLabel"
                             Margin="0,20,0,4"
                             HorizontalAlignment="Left"
                             VerticalAlignment="Center"
-                            Content="{StaticResource AdjustTimingForSlideshow}" />
+                            Content="" />
 
                         <StackPanel
                             Margin="5,3,0,10"
@@ -358,8 +353,9 @@
 
                             <Slider
                                 x:Name="SlideshowSlider"
-                                Width="229"
+                                Width="250"
                                 Height="30"
+                                HorizontalAlignment="Center"
                                 IsMoveToPointEnabled="True"
                                 IsSnapToTickEnabled="True"
                                 Maximum="15"
@@ -382,17 +378,19 @@
                                 TextAlignment="Center" />
 
                             <TextBlock
+                                x:Name="SecAbbreviationTextBlock"
                                 Margin="2,2,0,0"
                                 VerticalAlignment="Center"
                                 Foreground="{StaticResource MainColorFadedBrush}"
-                                Text="{StaticResource SecAbbreviation}" />
+                                Text="" />
                         </StackPanel>
 
                         <Label
+                            x:Name="AdjustTimingForZoomLabel"
                             Margin="0,10,0,4"
                             HorizontalAlignment="Left"
                             VerticalAlignment="Center"
-                            Content="{StaticResource AdjustTimingForZoom}" />
+                            Content="" />
 
                         <StackPanel
                             Margin="5,3,0,5"
@@ -402,7 +400,7 @@
 
                             <Slider
                                 x:Name="ZoomSlider"
-                                Width="229"
+                                Width="250"
                                 Height="30"
                                 d:Value=".2"
                                 IsMoveToPointEnabled="True"
@@ -427,10 +425,11 @@
                         </StackPanel>
 
                         <Label
+                            x:Name="AdjustNavSpeedLabel"
                             Margin="0,10,0,4"
                             HorizontalAlignment="Left"
                             VerticalAlignment="Center"
-                            Content="{StaticResource AdjustNavSpeed}" />
+                            Content="" />
 
                         <StackPanel
                             Margin="5,3,0,25"
@@ -440,7 +439,7 @@
 
                             <Slider
                                 x:Name="NavSlider"
-                                Width="229"
+                                Width="250"
                                 Height="30"
                                 d:Value=".2"
                                 IsMoveToPointEnabled="True"
@@ -464,10 +463,11 @@
                                 TextAlignment="Center" />
 
                             <TextBlock
+                                x:Name="SecAbbreviationTextBlock2"
                                 Margin="2,2,0,0"
                                 VerticalAlignment="Center"
                                 Foreground="{StaticResource MainColorFadedBrush}"
-                                Text="{StaticResource SecAbbreviation}" />
+                                Text="" />
                         </StackPanel>
                     </StackPanel>
                 </ScrollViewer>
@@ -475,10 +475,11 @@
             <TabItem>
                 <TabItem.Header>
                     <TextBlock
+                        x:Name="UiSettingsTextBlock"
                         MaxWidth="155"
                         FocusVisualStyle="{x:Null}"
                         FontSize="13"
-                        Text="{StaticResource UISettings}"
+                        Text="Loading..."
                         TextTrimming="CharacterEllipsis"
                         TextWrapping="Wrap" />
                 </TabItem.Header>
@@ -487,9 +488,10 @@
                     <StackPanel Margin="10">
 
                         <Label
+                            x:Name="MiscSettingsLabel2"
                             Margin="0,5,0,5"
                             VerticalAlignment="Center"
-                            Content="{StaticResource MiscSettings}"
+                            Content="StaticResourceMiscSettings}"
                             Foreground="{StaticResource MainColorBrush}" />
 
                         <CheckBox
@@ -502,11 +504,11 @@
                             </CheckBox.Foreground>
                             <CheckBox.Content>
                                 <TextBlock
-                                    Width="279"
+                                    x:Name="ShowButtonsInHiddenUiTextBlock"
+                                    Width="310"
                                     Focusable="False"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
                                     FontSize="13"
-                                    Text="{StaticResource ShowButtonsInHiddenUI}"
                                     TextWrapping="Wrap" />
                             </CheckBox.Content>
                         </CheckBox>
@@ -522,11 +524,11 @@
                             </CheckBox.Foreground>
                             <CheckBox.Content>
                                 <TextBlock
-                                    Width="279"
+                                    x:Name="ToggleTaskbarProgressTextBlock"
+                                    Width="310"
                                     Focusable="False"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
                                     FontSize="13"
-                                    Text="{StaticResource ToggleTaskbarProgress}"
                                     TextWrapping="Wrap" />
                             </CheckBox.Content>
                         </CheckBox>
@@ -542,11 +544,11 @@
                             </CheckBox.Foreground>
                             <CheckBox.Content>
                                 <TextBlock
-                                    Width="279"
+                                    x:Name="ShowBottomToolbarTextBlock"
+                                    Width="310"
                                     Focusable="False"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
                                     FontSize="13"
-                                    Text="{StaticResource ShowBottomToolbar}"
                                     TextWrapping="Wrap" />
                             </CheckBox.Content>
                         </CheckBox>
@@ -562,20 +564,20 @@
                             </CheckBox.Foreground>
                             <CheckBox.Content>
                                 <TextBlock
-                                    Width="279"
+                                    x:Name="ShowBottomGalleryWhenUiIsHiddenTextBlock"
+                                    Width="310"
                                     Focusable="False"
                                     FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto"
                                     FontSize="13"
-                                    Text="{StaticResource ShowBottomGalleryWhenUiIsHidden}"
                                     TextWrapping="Wrap" />
                             </CheckBox.Content>
                         </CheckBox>
 
                         <Label
+                            x:Name="HighlightColorLabel"
                             Margin="0,20,0,5"
                             HorizontalAlignment="Center"
-                            VerticalAlignment="Center"
-                            Content="{StaticResource HighlightColor}" />
+                            VerticalAlignment="Center" />
 
                         <WrapPanel
                             MaxWidth="325"
@@ -585,10 +587,7 @@
                             ItemWidth="151"
                             Orientation="Horizontal">
 
-                            <RadioButton
-                                x:Name="BlueRadio"
-                                Content="{StaticResource Blue}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="BlueRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="BlueBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -597,10 +596,7 @@
                                 </RadioButton.Foreground>
                             </RadioButton>
 
-                            <RadioButton
-                                x:Name="CyanRadio"
-                                Content="{StaticResource Cyan}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="CyanRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="CyanBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -609,10 +605,7 @@
                                 </RadioButton.Foreground>
                             </RadioButton>
 
-                            <RadioButton
-                                x:Name="AquaRadio"
-                                Content="{StaticResource Aqua}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="AquaRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="AquaBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -621,10 +614,7 @@
                                 </RadioButton.Foreground>
                             </RadioButton>
 
-                            <RadioButton
-                                x:Name="TealRadio"
-                                Content="{StaticResource Teal}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="TealRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="TealBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -633,10 +623,7 @@
                                 </RadioButton.Foreground>
                             </RadioButton>
 
-                            <RadioButton
-                                x:Name="LimeRadio"
-                                Content="{StaticResource Lime}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="LimeRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="LimeBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -645,10 +632,7 @@
                                 </RadioButton.Foreground>
                             </RadioButton>
 
-                            <RadioButton
-                                x:Name="GreenRadio"
-                                Content="{StaticResource Green}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="GreenRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="GreenBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -657,10 +641,7 @@
                                 </RadioButton.Foreground>
                             </RadioButton>
 
-                            <RadioButton
-                                x:Name="GoldenRadio"
-                                Content="{StaticResource Golden}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="GoldenRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="GoldenBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -669,10 +650,7 @@
                                 </RadioButton.Foreground>
                             </RadioButton>
 
-                            <RadioButton
-                                x:Name="OrangeRadio"
-                                Content="{StaticResource Orange}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="OrangeRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="OrangeBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -681,10 +659,7 @@
                                 </RadioButton.Foreground>
                             </RadioButton>
 
-                            <RadioButton
-                                x:Name="RedRadio"
-                                Content="{StaticResource Red}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="RedRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="RedBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -693,10 +668,7 @@
                                 </RadioButton.Foreground>
                             </RadioButton>
 
-                            <RadioButton
-                                x:Name="PinkRadio"
-                                Content="{StaticResource Pink}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="PinkRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="PinkBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -705,10 +677,7 @@
                                 </RadioButton.Foreground>
                             </RadioButton>
 
-                            <RadioButton
-                                x:Name="MagentaRadio"
-                                Content="{StaticResource Magenta}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="MagentaRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="MagentaBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -717,10 +686,7 @@
                                 </RadioButton.Foreground>
                             </RadioButton>
 
-                            <RadioButton
-                                x:Name="PurpleRadio"
-                                Content="{StaticResource Purple}"
-                                Style="{StaticResource MetroFlatRadioButton}">
+                            <RadioButton x:Name="PurpleRadio" Style="{StaticResource MetroFlatRadioButton}">
                                 <RadioButton.Background>
                                     <SolidColorBrush x:Name="PurpleBrush" Color="{StaticResource BackgroundColorAlt}" />
                                 </RadioButton.Background>
@@ -731,28 +697,25 @@
                         </WrapPanel>
 
                         <Label
+                            x:Name="ImageAliasingLabel"
                             Margin="0,5,0,5"
                             HorizontalAlignment="Left"
-                            VerticalAlignment="Center"
-                            Content="{StaticResource ImageAliasing}" />
+                            VerticalAlignment="Center" />
 
                         <ComboBox
                             x:Name="AliasingBox"
                             Margin="10,0,0,0"
                             HorizontalAlignment="Left"
                             IsTabStop="False">
-                            <ComboBoxItem
-                                x:Name="AliasingBoxHighQuality"
-                                Content="{StaticResource HighQuality}"
-                                IsSelected="True" />
-                            <ComboBoxItem x:Name="AliasingNearestNeighbor" Content="{StaticResource NearestNeighbor}" />
+                            <ComboBoxItem x:Name="AliasingBoxHighQuality" IsSelected="True" />
+                            <ComboBoxItem x:Name="AliasingNearestNeighbor" />
                         </ComboBox>
 
                         <Label
+                            x:Name="ExpandedGalleryItemSizeLabel"
                             Margin="0,15,0,5"
                             HorizontalAlignment="Left"
-                            VerticalAlignment="Center"
-                            Content="{StaticResource ExpandedGalleryItems}" />
+                            VerticalAlignment="Center" />
 
                         <StackPanel
                             Margin="5,3,0,5"
@@ -788,10 +751,10 @@
                         </StackPanel>
 
                         <Label
+                            x:Name="BottomGalleryItemSizeLabel"
                             Margin="0,10,0,4"
                             HorizontalAlignment="Left"
-                            VerticalAlignment="Center"
-                            Content="{StaticResource BottomGalleryItems}" />
+                            VerticalAlignment="Center" />
 
                         <StackPanel
                             Margin="5,3,0,5"
@@ -827,10 +790,10 @@
                         </StackPanel>
 
                         <Label
+                            x:Name="ThemeLabel"
                             Margin="0,10,0,0"
                             HorizontalAlignment="Center"
                             VerticalAlignment="Center"
-                            Content="{StaticResource Theme}"
                             Foreground="{StaticResource MainColorBrush}" />
 
                         <Border
@@ -847,7 +810,6 @@
                                 x:Name="DarkThemeRadio"
                                 HorizontalContentAlignment="Center"
                                 d:IsChecked="True"
-                                Content="{StaticResource DarkTheme}"
                                 Style="{StaticResource Checkstyle}">
                                 <CheckBox.Background>
                                     <SolidColorBrush x:Name="DarkThemeBrush" Color="{StaticResource BackgroundColorAlt}" />
@@ -870,7 +832,7 @@
                             <CheckBox
                                 x:Name="LightThemeRadio"
                                 HorizontalContentAlignment="Center"
-                                Content="{StaticResource LightTheme}"
+                                d:Content="Light Theme"
                                 Style="{StaticResource Checkstyle}">
                                 <CheckBox.Background>
                                     <SolidColorBrush x:Name="LightThemeBrush" Color="Transparent" />
@@ -885,11 +847,10 @@
                             x:Name="ThemeRestart"
                             Margin="7,11,6,25"
                             HorizontalAlignment="Center"
+                            d:Text="ChangingThemeRequiresRestart"
                             FontFamily="/PicView;component/Themes/Resources/fonts/#Roboto Light Italic"
                             FontSize="12"
-                            Text="{StaticResource ChangingThemeRequiresRestart}"
-                            TextWrapping="Wrap"
-                            ToolTip="{StaticResource RestartApp}">
+                            TextWrapping="Wrap">
                             <TextBlock.Foreground>
                                 <SolidColorBrush x:Name="ThemeRestartTxt" Color="{StaticResource MainColor}" />
                             </TextBlock.Foreground>

+ 115 - 23
src/PicView.WPF/Views/Windows/SettingsWindow.xaml.cs

@@ -1,4 +1,5 @@
 using PicView.Core.Config;
+using PicView.Core.Localization;
 using PicView.WPF.Animations;
 using PicView.WPF.ChangeImage;
 using PicView.WPF.ConfigureSettings;
@@ -6,7 +7,6 @@ using PicView.WPF.PicGallery;
 using PicView.WPF.ProcessHandling;
 using PicView.WPF.Shortcuts;
 using PicView.WPF.SystemIntegration;
-using PicView.WPF.Translations;
 using PicView.WPF.UILogic;
 using PicView.WPF.UILogic.Sizing;
 using PicView.WPF.UILogic.TransformImage;
@@ -26,7 +26,6 @@ public partial class SettingsWindow
 {
     public SettingsWindow()
     {
-        Title = Application.Current.Resources["SettingsWindow"] + " - PicView";
         MaxHeight = WindowSizing.MonitorInfo.WorkArea.Height;
         Width *= WindowSizing.MonitorInfo.DpiScaling;
         if (double.IsNaN(Width)) // Fixes if user opens window when loading from startup
@@ -41,6 +40,8 @@ public partial class SettingsWindow
         ContentRendered += delegate
         {
             WindowBlur.EnableBlur(this);
+            UpdateLanguage();
+            Owner = null; // Remove owner, so that minimizing main-window will not minimize this
 
             foreach (var language in Enum.GetValues(typeof(Languages)))
             {
@@ -113,7 +114,8 @@ public partial class SettingsWindow
 
             // SetExpandedGallerySlider
             SetExpandedGallerySlider.Value = SettingsHelper.Settings.Gallery.ExpandedGalleryItemSize;
-            SetExpandedGalleryText.Text = GalleryNavigation.ItemsPerPage.ToString();
+            SetExpandedGalleryText.Text =
+                SettingsHelper.Settings.Gallery.ExpandedGalleryItemSize.ToString(CultureInfo.CurrentCulture);
             SetExpandedGallerySlider.ValueChanged += async (_, e) =>
             {
                 SettingsHelper.Settings.Gallery.ExpandedGalleryItemSize = (int)e.NewValue;
@@ -127,13 +129,13 @@ public partial class SettingsWindow
                     GalleryNavigation.SetSize(SettingsHelper.Settings.Gallery.ExpandedGalleryItemSize);
                 }
 
-                SetExpandedGalleryText.Text = GalleryNavigation.ItemsPerPage.ToString();
+                SetExpandedGalleryText.Text = SettingsHelper.Settings.Gallery.ExpandedGalleryItemSize.ToString(CultureInfo.CurrentCulture);
                 await SettingsHelper.SaveSettingsAsync().ConfigureAwait(false);
             };
 
             // SetBottomGallerySlider
             SetBottomGallerySlider.Value = SettingsHelper.Settings.Gallery.BottomGalleryItemSize;
-            SetBottomGalleryText.Text = GalleryNavigation.HorizontalItems.ToString();
+            SetBottomGalleryText.Text = SettingsHelper.Settings.Gallery.BottomGalleryItemSize.ToString(CultureInfo.CurrentCulture);
             SetBottomGallerySlider.ValueChanged += async (_, e) =>
             {
                 SettingsHelper.Settings.Gallery.BottomGalleryItemSize = e.NewValue;
@@ -182,7 +184,59 @@ public partial class SettingsWindow
                 await SettingsHelper.SaveSettingsAsync().ConfigureAwait(false);
             };
 
-            LanguageBox.SelectionChanged += delegate { LoadLanguage.ChangeLanguage(LanguageBox.SelectedIndex); };
+            LanguageBox.SelectionChanged += async delegate
+            {
+                await TranslationHelper.ChangeLanguage(LanguageBox.SelectedIndex).ConfigureAwait(false);
+
+                await Dispatcher?.InvokeAsync(UpdateLanguage);
+                if (ConfigureWindows.GetAboutWindow is not null)
+                {
+                    await ConfigureWindows.GetAboutWindow?.Dispatcher?.InvokeAsync(() =>
+                    {
+                        ConfigureWindows.GetAboutWindow?.UpdateLanguage();
+                    });
+                }
+
+                if (UC.GetStartUpUC is not null)
+                {
+                    await ConfigureWindows.GetMainWindow?.Dispatcher?.InvokeAsync(() =>
+                    {
+                        UC.GetStartUpUC.UpdateLanguage();
+                    });
+                }
+
+                if (UC.GetQuickResize is not null)
+                {
+                    await ConfigureWindows.GetMainWindow?.Dispatcher?.InvokeAsync(() =>
+                    {
+                        UC.GetQuickResize.UpdateLanguage();
+                    });
+                }
+
+                if (ConfigureWindows.GetResizeWindow is not null)
+                {
+                    await ConfigureWindows.GetResizeWindow?.Dispatcher?.InvokeAsync(() =>
+                    {
+                        ConfigureWindows.GetResizeWindow?.UpdateLanguage();
+                    });
+                }
+
+                if (ConfigureWindows.GetEffectsWindow is not null)
+                {
+                    await ConfigureWindows.GetEffectsWindow?.Dispatcher?.InvokeAsync(() =>
+                    {
+                        ConfigureWindows.GetEffectsWindow?.UpdateLanguage();
+                    });
+                }
+
+                if (ConfigureWindows.GetImageInfoWindow is not null)
+                {
+                    await ConfigureWindows.GetImageInfoWindow?.Dispatcher?.InvokeAsync(() =>
+                    {
+                        ConfigureWindows.GetImageInfoWindow?.UpdateLanguage();
+                    });
+                }
+            };
 
             // ScrollDirection
             Reverse.IsSelected = SettingsHelper.Settings.Zoom.HorizontalReverseScroll;
@@ -260,7 +314,6 @@ public partial class SettingsWindow
             ScrollZoom.Checked += (_, _) => UpdateUIValues.SetCtrlToZoom(false);
 
             ThemeRestart.MouseLeftButtonDown += (_, _) => ProcessLogic.RestartApp();
-            LanguageRestart.MouseLeftButtonDown += (_, _) => ProcessLogic.RestartApp();
 
             TopmostRadio.Checked += (_, _) => ConfigureWindows.IsMainWindowTopMost = !SettingsHelper.Settings.WindowProperties.TopMost;
             TopmostRadio.Unchecked += (_, _) => ConfigureWindows.IsMainWindowTopMost = false;
@@ -294,7 +347,7 @@ public partial class SettingsWindow
                     PinkRadio.IsChecked = true;
                     break;
 
-                case 3:
+                default:
                     OrangeRadio.IsChecked = true;
                     break;
 
@@ -322,7 +375,6 @@ public partial class SettingsWindow
                     PurpleRadio.IsChecked = true;
                     break;
 
-                default:
                 case 10:
                     CyanRadio.IsChecked = true;
                     break;
@@ -338,6 +390,60 @@ public partial class SettingsWindow
         };
     }
 
+    internal void UpdateLanguage()
+    {
+        Title = TitleText.Text = TranslationHelper.GetTranslation("Settings");
+        GeneralSettingsTextBlock.Text = TranslationHelper.GetTranslation("GeneralSettings");
+        MiscSettingsLabel.Content = MiscSettingsLabel2.Content =
+            TranslationHelper.GetTranslation("MiscSettings");
+        SearchSubdirectoryTextBlock.Text = TranslationHelper.GetTranslation("SearchSubdirectory");
+        StayTopMostTextBlock.Text = TranslationHelper.GetTranslation("StayTopMost");
+        StayCenteredTextBlock.Text = TranslationHelper.GetTranslation("StayCentered");
+        AllowZoomOutTextBlock.Text = TranslationHelper.GetTranslation("AllowZoomOut");
+        ShowFileSavingDialogTextBlock.Text = TranslationHelper.GetTranslation("ShowFileSavingDialog");
+        LanguageLabel.Content = TranslationHelper.GetTranslation("Language");
+        MouseWheelLabel.Content = TranslationHelper.GetTranslation("MouseWheel");
+        CtrlToZoomTextBlock.Text = TranslationHelper.GetTranslation("CtrlToZoom");
+        ScrollToZoomTextBlock.Text = TranslationHelper.GetTranslation("ScrollToZoom");
+        HorizontalScrollLabel.Content = TranslationHelper.GetTranslation("HorizontalScroll");
+        Reverse.Content = TranslationHelper.GetTranslation("Reverse");
+        Forward.Content = TranslationHelper.GetTranslation("Forward");
+        AdjustTimingForSlideshowLabel.Content = TranslationHelper.GetTranslation("AdjustTimingForSlideshow");
+        SecAbbreviationTextBlock.Text = SecAbbreviationTextBlock2.Text =
+            TranslationHelper.GetTranslation("SecAbbreviation");
+        AdjustTimingForZoomLabel.Content = TranslationHelper.GetTranslation("AdjustTimingForZoom");
+        AdjustNavSpeedLabel.Content = TranslationHelper.GetTranslation("AdjustNavSpeed");
+        UiSettingsTextBlock.Text = TranslationHelper.GetTranslation("UISettings");
+        ShowButtonsInHiddenUiTextBlock.Text = TranslationHelper.GetTranslation("ShowButtonsInHiddenUI");
+        ToggleTaskbarProgressTextBlock.Text = TranslationHelper.GetTranslation("ToggleTaskbarProgress");
+        ShowBottomToolbarTextBlock.Text = TranslationHelper.GetTranslation("ShowBottomToolbar");
+        ShowBottomToolbarTextBlock.Text = TranslationHelper.GetTranslation("ShowBottomToolbar");
+        ShowBottomGalleryWhenUiIsHiddenTextBlock.Text = TranslationHelper.GetTranslation("ShowBottomGalleryWhenUiIsHidden");
+        HighlightColorLabel.Content = TranslationHelper.GetTranslation("HighlightColor");
+        BlueRadio.Content = TranslationHelper.GetTranslation("Blue");
+        CyanRadio.Content = TranslationHelper.GetTranslation("Cyan");
+        AquaRadio.Content = TranslationHelper.GetTranslation("Aqua");
+        TealRadio.Content = TranslationHelper.GetTranslation("Teal");
+        LimeRadio.Content = TranslationHelper.GetTranslation("Lime");
+        GreenRadio.Content = TranslationHelper.GetTranslation("Green");
+        GoldenRadio.Content = TranslationHelper.GetTranslation("Golden");
+        OrangeRadio.Content = TranslationHelper.GetTranslation("Orange");
+        RedRadio.Content = TranslationHelper.GetTranslation("Red");
+        PinkRadio.Content = TranslationHelper.GetTranslation("Pink");
+        MagentaRadio.Content = TranslationHelper.GetTranslation("Magenta");
+        PurpleRadio.Content = TranslationHelper.GetTranslation("Purple");
+        ImageAliasingLabel.Content = TranslationHelper.GetTranslation("ImageAliasing");
+        AliasingNearestNeighbor.Content = TranslationHelper.GetTranslation("NearestNeighbor");
+        AliasingBoxHighQuality.Content = TranslationHelper.GetTranslation("HighQuality");
+        ExpandedGalleryItemSizeLabel.Content = TranslationHelper.GetTranslation("ExpandedGalleryItemSize");
+        BottomGalleryItemSizeLabel.Content = TranslationHelper.GetTranslation("BottomGalleryItemSize");
+        ThemeLabel.Content = TranslationHelper.GetTranslation("Theme");
+        DarkThemeRadio.Content = TranslationHelper.GetTranslation("DarkTheme");
+        LightThemeRadio.Content = TranslationHelper.GetTranslation("LightTheme");
+        ThemeRestart.Text = TranslationHelper.GetTranslation("ChangingThemeRequiresRestart");
+        ThemeRestart.ToolTip = TranslationHelper.GetTranslation("RestartApp");
+    }
+
     #region EventHandlers
 
     private void AddGenericEvents(ColorAnimation colorAnimation)
@@ -426,20 +532,6 @@ public partial class SettingsWindow
             ThemeRestartTxt.BeginAnimation(SolidColorBrush.ColorProperty, colorAnimation);
         };
 
-        // LanguageRestart
-        LanguageRestart.MouseEnter += delegate
-        {
-            colorAnimation.From = MainColor;
-            colorAnimation.To = AnimationHelper.GetPreferredColor();
-            LanguageRestartTxt.BeginAnimation(SolidColorBrush.ColorProperty, colorAnimation);
-        };
-        LanguageRestart.MouseLeave += delegate
-        {
-            colorAnimation.From = AnimationHelper.GetPreferredColor();
-            colorAnimation.To = MainColor;
-            LanguageRestartTxt.BeginAnimation(SolidColorBrush.ColorProperty, colorAnimation);
-        };
-
         // DarkThemeRadio
         DarkThemeRadio.MouseEnter += delegate { ButtonMouseOverAnim(DarkThemeText); };
         DarkThemeRadio.MouseEnter += delegate { AnimationHelper.MouseEnterBgTexColor(DarkThemeBrush); };

+ 1 - 0
src/PicView.WPF/Views/Windows/Startup-Window.xaml

@@ -7,6 +7,7 @@
     Height="450"
     AllowsTransparency="True"
     Background="Transparent"
+    ShowInTaskbar="False"
     WindowStartupLocation="CenterScreen"
     WindowStyle="None">
     <Grid x:Name="TheGrid" />

Some files were not shown because too many files changed in this diff