From edb78693a92516bdb061ad7e1ab1f19f1dfd4787 Mon Sep 17 00:00:00 2001
From: NogFar <52389872+NogFar@users.noreply.github.com>
Date: Sun, 15 Mar 2026 15:25:30 -0300
Subject: [PATCH 1/3] feat: add customizable spinner, safe-area padding, image
background opacity and localization updates
Consolidates SplashScreen improvements I had already implemented locally and am now contributing to the repository.
add loading spinner settings and preview
add safe-area padding and background image opacity controls
---
.../Helpers/SpinnerGeometryBuilder.cs | 77 ++++++
.../Helpers/SplashSettingsSyncHelper.cs | 25 ++
.../SplashScreen/Localization/af_ZA.xaml | 133 +++++-----
.../SplashScreen/Localization/ar_SA.xaml | 133 +++++-----
.../SplashScreen/Localization/ca_ES.xaml | 133 +++++-----
.../SplashScreen/Localization/cs_CZ.xaml | 133 +++++-----
.../SplashScreen/Localization/da_DK.xaml | 133 +++++-----
.../SplashScreen/Localization/de_DE.xaml | 133 +++++-----
.../SplashScreen/Localization/en_US.xaml | 18 +-
.../SplashScreen/Localization/eo_UY.xaml | 133 +++++-----
.../SplashScreen/Localization/es_ES.xaml | 133 +++++-----
.../SplashScreen/Localization/fa_IR.xaml | 133 +++++-----
.../SplashScreen/Localization/fi_FI.xaml | 133 +++++-----
.../SplashScreen/Localization/fr_FR.xaml | 133 +++++-----
.../SplashScreen/Localization/gl_ES.xaml | 133 +++++-----
.../SplashScreen/Localization/hr_HR.xaml | 133 +++++-----
.../SplashScreen/Localization/hu_HU.xaml | 133 +++++-----
.../SplashScreen/Localization/it_IT.xaml | 133 +++++-----
.../SplashScreen/Localization/ja_JP.xaml | 133 +++++-----
.../SplashScreen/Localization/ko_KR.xaml | 133 +++++-----
.../SplashScreen/Localization/nl_NL.xaml | 133 +++++-----
.../SplashScreen/Localization/no_NO.xaml | 133 +++++-----
.../SplashScreen/Localization/pl_PL.xaml | 133 +++++-----
.../SplashScreen/Localization/pt_BR.xaml | 133 +++++-----
.../SplashScreen/Localization/pt_PT.xaml | 133 +++++-----
.../SplashScreen/Localization/ru_RU.xaml | 133 +++++-----
.../SplashScreen/Localization/sr_SP.xaml | 133 +++++-----
.../SplashScreen/Localization/tr_TR.xaml | 133 +++++-----
.../SplashScreen/Localization/uk_UA.xaml | 133 +++++-----
.../SplashScreen/Localization/vi_VN.xaml | 133 +++++-----
.../SplashScreen/Localization/zh_CN.xaml | 133 +++++-----
.../SplashScreen/Localization/zh_TW.xaml | 133 +++++-----
.../Models/GeneralSplashSettings.cs | 66 +++++
source/Generic/SplashScreen/SplashScreen.cs | 4 +-
.../Generic/SplashScreen/SplashScreen.csproj | 9 +
.../SplashScreenSettingsView.xaml | 87 +++++++
.../ViewModels/GameSettingsWindowViewModel.cs | 9 +-
.../Views/GameSettingsWindow.xaml | 16 ++
.../Views/SpinnerPreviewControl.xaml | 28 ++
.../Views/SpinnerPreviewControl.xaml.cs | 246 ++++++++++++++++++
.../SplashScreen/Views/SplashScreenImage.xaml | 138 ++++++----
.../Views/SplashScreenImage.xaml.cs | 114 ++++++++
42 files changed, 2923 insertions(+), 1771 deletions(-)
create mode 100644 source/Generic/SplashScreen/Helpers/SpinnerGeometryBuilder.cs
create mode 100644 source/Generic/SplashScreen/Helpers/SplashSettingsSyncHelper.cs
create mode 100644 source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml
create mode 100644 source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs
diff --git a/source/Generic/SplashScreen/Helpers/SpinnerGeometryBuilder.cs b/source/Generic/SplashScreen/Helpers/SpinnerGeometryBuilder.cs
new file mode 100644
index 0000000000..e86f7cf91f
--- /dev/null
+++ b/source/Generic/SplashScreen/Helpers/SpinnerGeometryBuilder.cs
@@ -0,0 +1,77 @@
+using System;
+using System.Windows;
+using System.Windows.Media;
+
+namespace SplashScreen.Helpers
+{
+ internal static class SpinnerGeometryBuilder
+ {
+ internal static Geometry BuildDashGeometry(double spinnerSize, double thickness, double dashLengthPx, int dashCount, bool roundedDashes)
+ {
+ var clampedDashCount = Math.Max(2, Math.Min(360, dashCount));
+ var innerSize = Math.Max(2.0, spinnerSize - thickness);
+ var radius = innerSize / 2.0;
+ var circumference = 2.0 * Math.PI * radius;
+ var slotPx = circumference / clampedDashCount;
+ var slotAngle = (2.0 * Math.PI) / clampedDashCount;
+
+ var centerlineDashPx = Math.Max(0.25, dashLengthPx);
+ if (roundedDashes)
+ {
+ centerlineDashPx = Math.Max(0.25, centerlineDashPx - thickness);
+ }
+
+ if (centerlineDashPx >= slotPx)
+ {
+ centerlineDashPx = slotPx * 0.9;
+ }
+
+ var dashAngle = centerlineDashPx / radius;
+ var maxDashAngle = slotAngle * 0.9;
+ if (dashAngle > maxDashAngle)
+ {
+ dashAngle = maxDashAngle;
+ }
+
+ var center = spinnerSize / 2.0;
+ var geometry = new PathGeometry();
+
+ for (var i = 0; i < clampedDashCount; i++)
+ {
+ var centerAngle = (-Math.PI / 2.0) + (i * slotAngle);
+ var startAngle = centerAngle - (dashAngle / 2.0);
+ var endAngle = centerAngle + (dashAngle / 2.0);
+
+ var startPoint = PointOnCircle(center, radius, startAngle);
+ var endPoint = PointOnCircle(center, radius, endAngle);
+
+ var figure = new PathFigure
+ {
+ StartPoint = startPoint,
+ IsClosed = false,
+ IsFilled = false
+ };
+
+ figure.Segments.Add(new ArcSegment
+ {
+ Point = endPoint,
+ Size = new Size(radius, radius),
+ IsLargeArc = false,
+ SweepDirection = SweepDirection.Clockwise
+ });
+
+ geometry.Figures.Add(figure);
+ }
+
+ return geometry;
+ }
+
+ private static Point PointOnCircle(double center, double radius, double angle)
+ {
+ return new Point(
+ center + (radius * Math.Cos(angle)),
+ center + (radius * Math.Sin(angle))
+ );
+ }
+ }
+}
diff --git a/source/Generic/SplashScreen/Helpers/SplashSettingsSyncHelper.cs b/source/Generic/SplashScreen/Helpers/SplashSettingsSyncHelper.cs
new file mode 100644
index 0000000000..f103fde6f7
--- /dev/null
+++ b/source/Generic/SplashScreen/Helpers/SplashSettingsSyncHelper.cs
@@ -0,0 +1,25 @@
+using SplashScreen.Models;
+
+namespace SplashScreen.Helpers
+{
+ internal static class SplashSettingsSyncHelper
+ {
+ internal static void ApplyGlobalIndicatorSettings(GeneralSplashSettings target, GeneralSplashSettings global)
+ {
+ if (target == null || global == null)
+ {
+ return;
+ }
+
+ target.EnableLoadingSpinner = global.EnableLoadingSpinner;
+ target.LoadingSpinnerSize = global.LoadingSpinnerSize;
+ target.LoadingSpinnerOpacity = global.LoadingSpinnerOpacity;
+ target.LoadingSpinnerThickness = global.LoadingSpinnerThickness;
+ target.LoadingSpinnerDashLength = global.LoadingSpinnerDashLength;
+ target.LoadingSpinnerDashCount = global.LoadingSpinnerDashCount;
+ target.LoadingSpinnerRoundedDashes = global.LoadingSpinnerRoundedDashes;
+ target.LoadingSpinnerRotationSeconds = global.LoadingSpinnerRotationSeconds;
+ target.EnableLoadingSpinnerAutoSpeed = global.EnableLoadingSpinnerAutoSpeed;
+ }
+ }
+}
\ No newline at end of file
diff --git a/source/Generic/SplashScreen/Localization/af_ZA.xaml b/source/Generic/SplashScreen/Localization/af_ZA.xaml
index 8df48f6855..4d415b18b6 100644
--- a/source/Generic/SplashScreen/Localization/af_ZA.xaml
+++ b/source/Generic/SplashScreen/Localization/af_ZA.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Wys laaispinner
+ Spinnergrootte (pixels):
+ Spinner-deursigtigheid:
+ Spinner-spoed (sekondes per omwenteling):
+ Voorskou:
+ Voorskou-agtergrond:
+ Dikte van laaispinner (pixels):
+ Aantal strepies van laaispinner:
+ Lengte van spinnerstrepie (pixels):
+ Gebruik afgeronde strepie-eindes
+ Pas spinner-spoed outomaties aan volgens spinnergrootte
+
+ Veilige area-opvulling (pixels):
+ Ondeursigtigheid van agtergrondbeeld:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/ar_SA.xaml b/source/Generic/SplashScreen/Localization/ar_SA.xaml
index 2b99015ab9..781726fc0c 100644
--- a/source/Generic/SplashScreen/Localization/ar_SA.xaml
+++ b/source/Generic/SplashScreen/Localization/ar_SA.xaml
@@ -1,59 +1,74 @@
-
-
- مساعدة
- فتح إدارة الفيديو
- تعطيل الإضافة للألعاب المختارة
- أعد تفعيل الإضافة للألعاب المختارة
- إضافة خاصية تخطي شاشة عرض الصور إلى الألعاب المحددة
- إزالة خاصية تخطي شاشة عرض الصور من الألعاب المحددة
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- تم إضافة فيديو مقدمة
- تم حذف فيديو المقدمة
- تم اضافة "{0}" ميزة استبعاد "{1}" لعبة
- تم إزالة "{0}" ميزة استبعاد "{1}" لعبة
-
- تفعيل الإضافة في وضع سطح المكتب
- عرض صور شاشة العرض في وضع سطح المكتب
- عرض فيديو المقدمة في وضع Desktop
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- تفعيل الإضافة في وضع ملء الشاشة
- عرض صور شاشة العرض في وضع ملء الشاشة
- عرض فيديو المقدمة في وضع Fullscreen
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- استخدام أيقونة اللعبة من بيانات التعريف كشعار
- استخدام الشاشة السوداء بدلاً من صورة شاشة البداية
- الموقع الأفقي للشعار:
- الموقع العمودي للشعار:
- اليسار
- الوسط
- اليمين
- الأعلى
- الوسط
- الأسفل
- استخدام تلاشي الرسوم المتحركة لصورة الشاشة
- استخدام تلاشي الرسوم المتحركة لشعار الشاشة
-
- استخدام صورة بداية عامة لجميع الألعاب
- استخدم شعار اللعبة في صورة البداية العالمية إذا كان متاحًا
- تصفح...
- إزالة
-
- إدارة الفيديو
- الألعاب المختارة
- المصادر
- المِنصات
- وضع Playnite
- المجموعات:
- بحث:
- الفيديو غير متوفر
- إضافة فيديو
- إزالة الفيديو
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ مساعدة
+ فتح إدارة الفيديو
+ تعطيل الإضافة للألعاب المختارة
+ أعد تفعيل الإضافة للألعاب المختارة
+ إضافة خاصية تخطي شاشة عرض الصور إلى الألعاب المحددة
+ إزالة خاصية تخطي شاشة عرض الصور من الألعاب المحددة
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ تم إضافة فيديو مقدمة
+ تم حذف فيديو المقدمة
+ تم اضافة "{0}" ميزة استبعاد "{1}" لعبة
+ تم إزالة "{0}" ميزة استبعاد "{1}" لعبة
+
+ تفعيل الإضافة في وضع سطح المكتب
+ عرض صور شاشة العرض في وضع سطح المكتب
+ عرض فيديو المقدمة في وضع Desktop
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ تفعيل الإضافة في وضع ملء الشاشة
+ عرض صور شاشة العرض في وضع ملء الشاشة
+ عرض فيديو المقدمة في وضع Fullscreen
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ استخدام أيقونة اللعبة من بيانات التعريف كشعار
+ استخدام الشاشة السوداء بدلاً من صورة شاشة البداية
+ الموقع الأفقي للشعار:
+ الموقع العمودي للشعار:
+ اليسار
+ الوسط
+ اليمين
+ الأعلى
+ الوسط
+ الأسفل
+ استخدام تلاشي الرسوم المتحركة لصورة الشاشة
+ استخدام تلاشي الرسوم المتحركة لشعار الشاشة
+ إظهار مؤشر التحميل الدوار
+ حجم المؤشر الدوار (بالبكسل):
+ شفافية المؤشر الدوار:
+ سرعة المؤشر الدوار (ثوانٍ لكل دورة):
+ معاينة:
+ خلفية المعاينة:
+ سُمك المؤشر الدوار (بالبكسل):
+ عدد شرطات المؤشر الدوار:
+ طول شرطة المؤشر الدوار (بالبكسل):
+ استخدام نهايات مستديرة للشرطات
+ ضبط سرعة المؤشر الدوار تلقائيا حسب الحجم
+
+ حشوة المنطقة الآمنة (بالبكسل):
+ شفافية صورة الخلفية:
+
+ استخدام صورة بداية عامة لجميع الألعاب
+ استخدم شعار اللعبة في صورة البداية العالمية إذا كان متاحًا
+ تصفح...
+ إزالة
+
+ إدارة الفيديو
+ الألعاب المختارة
+ المصادر
+ المِنصات
+ وضع Playnite
+ المجموعات:
+ بحث:
+ الفيديو غير متوفر
+ إضافة فيديو
+ إزالة الفيديو
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/ca_ES.xaml b/source/Generic/SplashScreen/Localization/ca_ES.xaml
index 8df48f6855..1fa2cee706 100644
--- a/source/Generic/SplashScreen/Localization/ca_ES.xaml
+++ b/source/Generic/SplashScreen/Localization/ca_ES.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Mostra l'indicador de càrrega
+ Mida de l'indicador (píxels):
+ Opacitat de l'indicador:
+ Velocitat de l'indicador (segons per volta):
+ Vista prèvia:
+ Fons de la previsualització:
+ Gruix de l'indicador (píxels):
+ Nombre de traços de l'indicador:
+ Longitud del traç de l'indicador (píxels):
+ Utilitza extrems arrodonits als traços
+ Ajusta automàticament la velocitat segons la mida de l'indicador
+
+ Padding de l'àrea segura (píxels):
+ Opacitat de la imatge de fons:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/cs_CZ.xaml b/source/Generic/SplashScreen/Localization/cs_CZ.xaml
index 8df48f6855..0b5f234cad 100644
--- a/source/Generic/SplashScreen/Localization/cs_CZ.xaml
+++ b/source/Generic/SplashScreen/Localization/cs_CZ.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Zobrazit indikátor načítání
+ Velikost indikátoru (pixely):
+ Průhlednost indikátoru:
+ Rychlost indikátoru (sekundy na otáčku):
+ Náhled:
+ Pozadí náhledu:
+ Tloušťka indikátoru (pixely):
+ Počet čárek indikátoru:
+ Délka čárky indikátoru (pixely):
+ Použít zaoblené konce čárek
+ Automaticky upravit rychlost indikátoru podle jeho velikosti
+
+ Odsazení bezpečné oblasti (pixely):
+ Průhlednost obrázku pozadí:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/da_DK.xaml b/source/Generic/SplashScreen/Localization/da_DK.xaml
index 8df48f6855..ef9af47e8b 100644
--- a/source/Generic/SplashScreen/Localization/da_DK.xaml
+++ b/source/Generic/SplashScreen/Localization/da_DK.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Vis indlæsningsspinner
+ Spinnerstørrelse (pixels):
+ Spinneropacitet:
+ Spinnerhastighed (sekunder pr. omdrejning):
+ Forhåndsvisning:
+ Forhåndsvisningsbaggrund:
+ Tykkelse på spinner (pixels):
+ Antal streger i spinner:
+ Længde på spinnerstreg (pixels):
+ Brug afrundede stregeender
+ Juster automatisk spinnerhastighed efter spinnerstørrelse
+
+ Sikkerhedsafstand (pixels):
+ Opacitet for baggrundsbillede:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/de_DE.xaml b/source/Generic/SplashScreen/Localization/de_DE.xaml
index c03487be11..2b79bef608 100644
--- a/source/Generic/SplashScreen/Localization/de_DE.xaml
+++ b/source/Generic/SplashScreen/Localization/de_DE.xaml
@@ -1,59 +1,74 @@
-
-
- Hilfe
- Video-Manager öffnen
- Erweiterung für ausgewählte Spiele deaktivieren
- Erweiterung für die ausgewählten Spiele wieder aktivieren
- Füge Bild-Splashscreen-Überspringen-Funktion ausgewählten Spielen hinzu
- Entferne Bild-Splashscreen-Überspringen-Funktion von ausgewählten Spielen
- Öffne "{0}" Einstellungsfenster
- Splash Screen Konfiguration löschen
-
- Intro-Video wurde hinzugefügt
- Intro-Video wurde entfernt
- "{0}"-Ausschluss-Funktion zu {1} Spiel(en) hinzugefügt
- "{0}"-Ausschluss-Funktion von {1} Spiel(en) entfernt
-
- Erweiterung im Desktop-Modus ausführen
- Splashscreen-Bilder im Desktop-Modus anzeigen
- Intro-Videos im Desktop-Modus anzeigen
- MicroTrailer verwenden
- Schließe Splashscreen automatisch im Desktop-Modus (Deaktivieren versteckt Desktop, wenn das Spiel geschlossen wird, kann aber Probleme verursachen)
- Erweiterung im Vollbild-Modus ausführen
- Splashscreen-Bilder im Vollbild-Modus anzeigen
- Intro-Videos im Vollbild-Modus anzeigen
- Schließe Splashscreen automatisch im Vollbild-Modus (Deaktivieren versteckt Desktop, wenn das Spiel geschlossen wird, kann aber Probleme verursachen)
- Spiele-Logo zum Splashscreen-Bild hinzufügen, falls verfügbar
- Benutze Spielsymbol aus Metadaten als Logo
- Schwarzen Splashscreen anstelle des Splashscreen-Bildes verwenden
- Logo horizontale Position:
- Logo vertikale Position:
- Links
- Mitte
- Rechts
- Oben
- Mitte
- Unten
- Einblendungsanimation für den Startbildschirm verwenden
- Einblendungsanimation für das Logo auf dem Startbildschirm verwenden
-
- Ein globales Splash Bild für alle Spiele verwenden
- Verwende das Spiellogo im globalen Splash Bild, falls verfügbar
- Durchsuchen...
- Entfernen
-
- Videoverwaltung
- Ausgewählte Spiele
- Quellen
- Plattformen
- Playnite-Modus
- Sammlung:
- Suchen:
- Video nicht verfügbar
- Video hinzufügen
- Video entfernen
- Benutzerdefiniertes Hintergrundbild verwenden
- Spielspezifische Einstellungen aktivieren
- Einstellungen speichern
- Einstellungen gespeichert
-
+
+
+ Hilfe
+ Video-Manager öffnen
+ Erweiterung für ausgewählte Spiele deaktivieren
+ Erweiterung für die ausgewählten Spiele wieder aktivieren
+ Füge Bild-Splashscreen-Überspringen-Funktion ausgewählten Spielen hinzu
+ Entferne Bild-Splashscreen-Überspringen-Funktion von ausgewählten Spielen
+ Öffne "{0}" Einstellungsfenster
+ Splash Screen Konfiguration löschen
+
+ Intro-Video wurde hinzugefügt
+ Intro-Video wurde entfernt
+ "{0}"-Ausschluss-Funktion zu {1} Spiel(en) hinzugefügt
+ "{0}"-Ausschluss-Funktion von {1} Spiel(en) entfernt
+
+ Erweiterung im Desktop-Modus ausführen
+ Splashscreen-Bilder im Desktop-Modus anzeigen
+ Intro-Videos im Desktop-Modus anzeigen
+ MicroTrailer verwenden
+ Schließe Splashscreen automatisch im Desktop-Modus (Deaktivieren versteckt Desktop, wenn das Spiel geschlossen wird, kann aber Probleme verursachen)
+ Erweiterung im Vollbild-Modus ausführen
+ Splashscreen-Bilder im Vollbild-Modus anzeigen
+ Intro-Videos im Vollbild-Modus anzeigen
+ Schließe Splashscreen automatisch im Vollbild-Modus (Deaktivieren versteckt Desktop, wenn das Spiel geschlossen wird, kann aber Probleme verursachen)
+ Spiele-Logo zum Splashscreen-Bild hinzufügen, falls verfügbar
+ Benutze Spielsymbol aus Metadaten als Logo
+ Schwarzen Splashscreen anstelle des Splashscreen-Bildes verwenden
+ Logo horizontale Position:
+ Logo vertikale Position:
+ Links
+ Mitte
+ Rechts
+ Oben
+ Mitte
+ Unten
+ Einblendungsanimation für den Startbildschirm verwenden
+ Einblendungsanimation für das Logo auf dem Startbildschirm verwenden
+ Ladespinner anzeigen
+ Spinnergröße (Pixel):
+ Spinner-Deckkraft:
+ Spinner-Geschwindigkeit (Sekunden pro Umdrehung):
+ Vorschau:
+ Vorschauhintergrund:
+ Dicke des Spinners (Pixel):
+ Anzahl der Spinner-Striche:
+ Länge der Spinner-Striche (Pixel):
+ Abgerundete Strichenden verwenden
+ Spinner-Geschwindigkeit automatisch an die Spinnergröße anpassen
+
+ Sicherheitsabstand (Pixel):
+ Deckkraft des Hintergrundbilds:
+
+ Ein globales Splash Bild für alle Spiele verwenden
+ Verwende das Spiellogo im globalen Splash Bild, falls verfügbar
+ Durchsuchen...
+ Entfernen
+
+ Videoverwaltung
+ Ausgewählte Spiele
+ Quellen
+ Plattformen
+ Playnite-Modus
+ Sammlung:
+ Suchen:
+ Video nicht verfügbar
+ Video hinzufügen
+ Video entfernen
+ Benutzerdefiniertes Hintergrundbild verwenden
+ Spielspezifische Einstellungen aktivieren
+ Einstellungen speichern
+ Einstellungen gespeichert
+
+
diff --git a/source/Generic/SplashScreen/Localization/en_US.xaml b/source/Generic/SplashScreen/Localization/en_US.xaml
index bfd8bdcafd..fbc07d4773 100644
--- a/source/Generic/SplashScreen/Localization/en_US.xaml
+++ b/source/Generic/SplashScreen/Localization/en_US.xaml
@@ -1,4 +1,4 @@
-
+
Help
Open video manager
Disable extension for the selected games
@@ -35,6 +35,20 @@
Bottom
Use fade-in animation for the splash screen image
Use fade-in animation for the splash screen logo
+ Show loading spinner
+ Spinner size (pixels):
+ Spinner opacity:
+ Spinner speed (seconds per turn):
+ Preview:
+ Preview background:
+ Spinner thickness (pixels):
+ Spinner dash count:
+ Spinner dash length (pixels):
+ Use rounded dash caps
+ Adjust spinner speed automatically based on spinner size
+
+ Safe area padding (pixels):
+ Background image opacity:
Use a global splash image for all games
Use game logo in global splash image if it's available
@@ -55,4 +69,4 @@
Enable game specific settings
Save settings
Settings saved
-
\ No newline at end of file
+
diff --git a/source/Generic/SplashScreen/Localization/eo_UY.xaml b/source/Generic/SplashScreen/Localization/eo_UY.xaml
index 8df48f6855..2c768619fe 100644
--- a/source/Generic/SplashScreen/Localization/eo_UY.xaml
+++ b/source/Generic/SplashScreen/Localization/eo_UY.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Montri ŝargan turnilon
+ Grandeco de turnilo (rastrumeroj):
+ Opakeco de turnilo:
+ Rapido de turnilo (sekundoj por turno):
+ Antaŭvido:
+ Fono de antaŭvido:
+ Dikeco de turnilo (rastrumeroj):
+ Nombro de streketoj de turnilo:
+ Longeco de streketo de turnilo (rastrumeroj):
+ Uzi rondigitajn finojn de streketoj
+ Aŭtomate adapti la rapidon de turnilo laŭ la grandeco
+
+ Sekura marĝeno (rastrumeroj):
+ Opakeco de fona bildo:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/es_ES.xaml b/source/Generic/SplashScreen/Localization/es_ES.xaml
index b939d61812..84fe8d7ccf 100644
--- a/source/Generic/SplashScreen/Localization/es_ES.xaml
+++ b/source/Generic/SplashScreen/Localization/es_ES.xaml
@@ -1,59 +1,74 @@
-
-
- Ayuda
- Abrir gestor de vídeo
- Desactivar extensión para los juegos seleccionados
- Volver a habilitar la extensión para los juegos seleccionados
- Añadir la característica para saltar la imágen splashscreen a los juegos seleccionados
- Quitar característica de exclusión para utilizar la imágen splashscreen de los juegos seleccionados
- Abrir la ventana de configuración de "{0}"
- Borrar la configuración de Splash Screen
-
- Se ha añadido el vídeo de introducción
- Se ha eliminado el vídeo de introducción
- Se añadió la característica "{0}" para excluir a {1} juego(s)
- Se removio la característica de exclusión "{0}" de {1} juego(s)
-
- Ejecutar extensión en modo de escritorio
- Ver imágen splashscreen en modo escritorio
- Ver videos de introducción en modo de escritorio
- Usar MicroTrailers
- Cerrar automáticamente la imágen splashscreen en el modo de escritorio (Desactivar oculta el escritorio cuando se cierra el juego, pero puede causar problemas)
- Ejecutar extensión en modo pantalla completa
- Ver imagen splashscreen en modo pantalla completa
- Ver videos de introducción en modo pantalla completa
- Cerrar automáticamente la imagen splashscreen en el modo pantalla completa (Desactivar esconde el escritorio cuando el juego se cierra pero puede causar problemas)
- Añadir logo del juego en la imagen splashscreen si está disponible
- Usar icono del juego de Metadatos como logo
- Usar pantalla negra en lugar de la imagen splashscreen
- Posición horizontal del logo:
- Posición vertical del logo:
- Izquierda
- Centro
- Derecha
- Arriba
- Centro
- Abajo
- Usar animación de desvanecimiento para la imagen de la ventana de SplashScreen
- Usar animación de desvanecimiento para el logo de la ventana de SplashScreen
-
- Usar una imagen global para todos los juegos
- Usa el logo del juego en la imagen global si está disponible
- Examinar...
- Quitar
-
- Gestor de vídeo
- Juegos seleccionados
- Fuentes
- Platafomas
- Modo de Playnite
- Colección:
- Buscar:
- Video no disponible
- Añadir video
- Eliminar vídeo
- Usar imagen de fondo personalizada
- Habilitar configuración específica del juego
- Guardar configuración
- Configuración guardada
-
+
+
+ Ayuda
+ Abrir gestor de vídeo
+ Desactivar extensión para los juegos seleccionados
+ Volver a habilitar la extensión para los juegos seleccionados
+ Añadir la característica para saltar la imágen splashscreen a los juegos seleccionados
+ Quitar característica de exclusión para utilizar la imágen splashscreen de los juegos seleccionados
+ Abrir la ventana de configuración de "{0}"
+ Borrar la configuración de Splash Screen
+
+ Se ha añadido el vídeo de introducción
+ Se ha eliminado el vídeo de introducción
+ Se añadió la característica "{0}" para excluir a {1} juego(s)
+ Se removio la característica de exclusión "{0}" de {1} juego(s)
+
+ Ejecutar extensión en modo de escritorio
+ Ver imágen splashscreen en modo escritorio
+ Ver videos de introducción en modo de escritorio
+ Usar MicroTrailers
+ Cerrar automáticamente la imágen splashscreen en el modo de escritorio (Desactivar oculta el escritorio cuando se cierra el juego, pero puede causar problemas)
+ Ejecutar extensión en modo pantalla completa
+ Ver imagen splashscreen en modo pantalla completa
+ Ver videos de introducción en modo pantalla completa
+ Cerrar automáticamente la imagen splashscreen en el modo pantalla completa (Desactivar esconde el escritorio cuando el juego se cierra pero puede causar problemas)
+ Añadir logo del juego en la imagen splashscreen si está disponible
+ Usar icono del juego de Metadatos como logo
+ Usar pantalla negra en lugar de la imagen splashscreen
+ Posición horizontal del logo:
+ Posición vertical del logo:
+ Izquierda
+ Centro
+ Derecha
+ Arriba
+ Centro
+ Abajo
+ Usar animación de desvanecimiento para la imagen de la ventana de SplashScreen
+ Usar animación de desvanecimiento para el logo de la ventana de SplashScreen
+ Mostrar indicador de carga
+ Tamaño del indicador (píxeles):
+ Opacidad del indicador:
+ Velocidad del indicador (segundos por vuelta):
+ Vista previa:
+ Fondo de la vista previa:
+ Grosor del indicador (píxeles):
+ Cantidad de trazos del indicador:
+ Longitud del trazo del indicador (píxeles):
+ Usar extremos redondeados en los trazos
+ Ajustar automáticamente la velocidad según el tamaño del indicador
+
+ Relleno del área segura (píxeles):
+ Opacidad de la imagen de fondo:
+
+ Usar una imagen global para todos los juegos
+ Usa el logo del juego en la imagen global si está disponible
+ Examinar...
+ Quitar
+
+ Gestor de vídeo
+ Juegos seleccionados
+ Fuentes
+ Platafomas
+ Modo de Playnite
+ Colección:
+ Buscar:
+ Video no disponible
+ Añadir video
+ Eliminar vídeo
+ Usar imagen de fondo personalizada
+ Habilitar configuración específica del juego
+ Guardar configuración
+ Configuración guardada
+
+
diff --git a/source/Generic/SplashScreen/Localization/fa_IR.xaml b/source/Generic/SplashScreen/Localization/fa_IR.xaml
index 8df48f6855..b47997f1a7 100644
--- a/source/Generic/SplashScreen/Localization/fa_IR.xaml
+++ b/source/Generic/SplashScreen/Localization/fa_IR.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ نمایش نشانگر بارگذاری
+ اندازهٔ نشانگر (پیکسل):
+ شفافیت نشانگر:
+ سرعت نشانگر (ثانیه در هر دور):
+ پیشنمایش:
+ پسزمینه پیشنمایش:
+ ضخامت نشانگر (پیکسل):
+ تعداد خطچینهای نشانگر:
+ طول خطچین نشانگر (پیکسل):
+ استفاده از سرخطهای گرد
+ تنظیم خودکار سرعت نشانگر بر اساس اندازهٔ آن
+
+ فاصلهٔ ناحیهٔ امن (پیکسل):
+ شفافیت تصویر پسزمینه:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/fi_FI.xaml b/source/Generic/SplashScreen/Localization/fi_FI.xaml
index 8df48f6855..3dbbbd227c 100644
--- a/source/Generic/SplashScreen/Localization/fi_FI.xaml
+++ b/source/Generic/SplashScreen/Localization/fi_FI.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Näytä latausikoni
+ Pyörivän ilmaisimen koko (pikseleinä):
+ Pyörivän ilmaisimen peittävyys:
+ Pyörivän ilmaisimen nopeus (sekuntia/kierros):
+ Esikatselu:
+ Esikatselun tausta:
+ Pyörivän ilmaisimen paksuus (pikseleinä):
+ Pyörivän ilmaisimen viivojen määrä:
+ Pyörivän ilmaisimen viivan pituus (pikseleinä):
+ Käytä pyöristettyjä viivanpäitä
+ Säädä pyörivän ilmaisimen nopeutta automaattisesti koon mukaan
+
+ Turva-alueen reunus (pikseleinä):
+ Taustakuvan peittävyys:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/fr_FR.xaml b/source/Generic/SplashScreen/Localization/fr_FR.xaml
index 4967ff7d4b..5db6589235 100644
--- a/source/Generic/SplashScreen/Localization/fr_FR.xaml
+++ b/source/Generic/SplashScreen/Localization/fr_FR.xaml
@@ -1,59 +1,74 @@
-
-
- Aide
- Ouvrir le gestionnaire de vidéos
- Désactiver l'extension pour les jeux sélectionnés
- Ré-activer l'extension pour les jeux sélectionnés
- Ajouter la fonction ignorer l'écran de démarrage aux jeux sélectionnés
- Retirer la fonction ignorer l'écran de démarrage aux jeux sélectionnés
- Ouvrir la fenêtre de configuration pour "{0}"
- Supprimer la configuration personnalisée
-
- La vidéo de démarrage a été ajoutée
- La vidéo de démarrage a été supprimée
- Ajout de la fonction d'exclusion "{0}" à {1} jeu(x)
- Suppression de la fonction d'exclusion "{0}" à {1} jeu(x)
-
- Exécuter l'extension en mode bureau
- Afficher les images de démarrage en mode bureau
- Voir les vidéos de démarrage en mode bureau
- Utiliser des micro bandes-annonces
- Fermer automatiquement l'image de démarrage en mode bureau (désactiver ceci masque le bureau lorsque le jeu s’arrête mais peut causer des problèmes)
- Exécuter l'extension en mode plein écran
- Afficher les images de démarrage en mode plein écran
- Voir les vidéos de démarrage en mode plein écran
- Fermer automatiquement l'image de démarrage en mode plein écran (désactiver ceci masque le bureau lorsque le jeu s’arrête mais peut causer des problèmes)
- Ajouter le logo du jeu dans l'image de démarrage si disponible
- Utiliser l'icône du jeu des médias comme logo
- Utiliser un écran noir de démarrage au lieu de l'image de démarrage
- Position horizontale du logo:
- Position verticale du logo:
- Gauche
- Centre
- Droite
- Haut
- Centre
- Bas
- Utiliser un fondu pour l'image de démarrage
- Utiliser un fondu pour le logo de démarrage
-
- Utiliser une image de démarrage globale pour tous les jeux
- Utiliser le logo du jeu dans l'image de démarrage globale s'il est disponible
- Parcourir...
- Retirer
-
- Gestionnaire de vidéos
- Jeux sélectionnés
- Sources
- Platformes
- Mode Playnite
- Collection :
- Rechercher :
- Vidéo non disponible
- Ajouter une vidéo
- Supprimer la vidéo
- Utiliser une image de fond personnalisée
- Activer la configuration personnalisée
- Enregistrer les paramètres
- Paramètres enregistrés
-
+
+
+ Aide
+ Ouvrir le gestionnaire de vidéos
+ Désactiver l'extension pour les jeux sélectionnés
+ Ré-activer l'extension pour les jeux sélectionnés
+ Ajouter la fonction ignorer l'écran de démarrage aux jeux sélectionnés
+ Retirer la fonction ignorer l'écran de démarrage aux jeux sélectionnés
+ Ouvrir la fenêtre de configuration pour "{0}"
+ Supprimer la configuration personnalisée
+
+ La vidéo de démarrage a été ajoutée
+ La vidéo de démarrage a été supprimée
+ Ajout de la fonction d'exclusion "{0}" à {1} jeu(x)
+ Suppression de la fonction d'exclusion "{0}" à {1} jeu(x)
+
+ Exécuter l'extension en mode bureau
+ Afficher les images de démarrage en mode bureau
+ Voir les vidéos de démarrage en mode bureau
+ Utiliser des micro bandes-annonces
+ Fermer automatiquement l'image de démarrage en mode bureau (désactiver ceci masque le bureau lorsque le jeu s’arrête mais peut causer des problèmes)
+ Exécuter l'extension en mode plein écran
+ Afficher les images de démarrage en mode plein écran
+ Voir les vidéos de démarrage en mode plein écran
+ Fermer automatiquement l'image de démarrage en mode plein écran (désactiver ceci masque le bureau lorsque le jeu s’arrête mais peut causer des problèmes)
+ Ajouter le logo du jeu dans l'image de démarrage si disponible
+ Utiliser l'icône du jeu des médias comme logo
+ Utiliser un écran noir de démarrage au lieu de l'image de démarrage
+ Position horizontale du logo:
+ Position verticale du logo:
+ Gauche
+ Centre
+ Droite
+ Haut
+ Centre
+ Bas
+ Utiliser un fondu pour l'image de démarrage
+ Utiliser un fondu pour le logo de démarrage
+ Afficher l'indicateur de chargement
+ Taille de l'indicateur (pixels) :
+ Opacité de l'indicateur :
+ Vitesse de l'indicateur (secondes par tour) :
+ Aperçu :
+ Arriere-plan de l'aperçu :
+ Épaisseur de l'indicateur (pixels) :
+ Nombre de segments de l'indicateur :
+ Longueur des segments de l'indicateur (pixels) :
+ Utiliser des extrémités de segments arrondies
+ Ajuster automatiquement la vitesse selon la taille de l'indicateur
+
+ Marge de zone sûre (pixels) :
+ Opacité de l'image d'arrière-plan :
+
+ Utiliser une image de démarrage globale pour tous les jeux
+ Utiliser le logo du jeu dans l'image de démarrage globale s'il est disponible
+ Parcourir...
+ Retirer
+
+ Gestionnaire de vidéos
+ Jeux sélectionnés
+ Sources
+ Platformes
+ Mode Playnite
+ Collection :
+ Rechercher :
+ Vidéo non disponible
+ Ajouter une vidéo
+ Supprimer la vidéo
+ Utiliser une image de fond personnalisée
+ Activer la configuration personnalisée
+ Enregistrer les paramètres
+ Paramètres enregistrés
+
+
diff --git a/source/Generic/SplashScreen/Localization/gl_ES.xaml b/source/Generic/SplashScreen/Localization/gl_ES.xaml
index 8df48f6855..9c1fbb891c 100644
--- a/source/Generic/SplashScreen/Localization/gl_ES.xaml
+++ b/source/Generic/SplashScreen/Localization/gl_ES.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Mostrar indicador de carga
+ Tamaño do indicador (píxeles):
+ Opacidade do indicador:
+ Velocidade do indicador (segundos por volta):
+ Vista previa:
+ Fondo da vista previa:
+ Espesor do indicador (píxeles):
+ Cantidade de trazos do indicador:
+ Lonxitude do trazo do indicador (píxeles):
+ Usar extremos redondeados no trazado
+ Axustar automaticamente a velocidade segundo o tamaño do indicador
+
+ Marxe da área segura (píxeles):
+ Opacidade da imaxe de fondo:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/hr_HR.xaml b/source/Generic/SplashScreen/Localization/hr_HR.xaml
index 8df48f6855..101574ade9 100644
--- a/source/Generic/SplashScreen/Localization/hr_HR.xaml
+++ b/source/Generic/SplashScreen/Localization/hr_HR.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Prikaži indikator učitavanja
+ Veličina indikatora (pikseli):
+ Neprozirnost indikatora:
+ Brzina indikatora (sekunde po okretu):
+ Pregled:
+ Pozadina pregleda:
+ Debljina indikatora (pikseli):
+ Broj crtica indikatora:
+ Duljina crtice indikatora (pikseli):
+ Koristi zaobljene završetke crtica
+ Automatski prilagodi brzinu indikatora prema veličini
+
+ Razmak sigurnog područja (pikseli):
+ Neprozirnost pozadinske slike:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/hu_HU.xaml b/source/Generic/SplashScreen/Localization/hu_HU.xaml
index 8df48f6855..c1a904cc55 100644
--- a/source/Generic/SplashScreen/Localization/hu_HU.xaml
+++ b/source/Generic/SplashScreen/Localization/hu_HU.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Töltési jelző megjelenítése
+ Jelző mérete (képpont):
+ Jelző átlátszósága:
+ Jelző sebessége (másodperc/fordulat):
+ Előnézet:
+ Előnézet háttere:
+ Jelző vastagsága (képpont):
+ Jelző vonásainak száma:
+ Jelző vonásának hossza (képpont):
+ Lekerekített vonásvégek használata
+ A jelző sebességének automatikus igazítása a méretéhez
+
+ Biztonsági terület margója (képpont):
+ Háttérkép átlátszósága:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/it_IT.xaml b/source/Generic/SplashScreen/Localization/it_IT.xaml
index 7cc3141e03..b6a65f7351 100644
--- a/source/Generic/SplashScreen/Localization/it_IT.xaml
+++ b/source/Generic/SplashScreen/Localization/it_IT.xaml
@@ -1,59 +1,74 @@
-
-
- Aiuto
- Apri gestore video
- Disabilita l'estensione per i giochi selezionati
- Riattiva l'estensione per i giochi selezionati
- Aggiungi la funzionalità della schermata di avvio dell'immagine ai giochi selezionati
- Rimuovi la funzionalità della schermata di avvio dell'immagine dai giochi selezionati
- Apri la finestra delle impostazioni "{0}"
- Elimina configurazione schermata di avvio
-
- Il video introduttivo è stato aggiunto
- Il video introduttivo è stato rimosso
- Aggiunto la funzione di esclusione "{0}" a {1} gioco(i)
- Rimossa la funzione di esclusione "{0}" da {1} gioco(i)
-
- Esegui l'estensione in modalità desktop
- Visualizza le immagini della schermata iniziale in modalità desktop
- Visualizza video introduttivi in modalità desktop
- Usa MicroTrailers
- Chiudi automaticamente la schermata iniziale in modalità desktop (Disabilita nasconde il desktop quando il gioco si chiude ma può causare problemi)
- Esegui estensione in modalità schermo intero
- Visualizza le immagini della schermata iniziale in modalità schermo intero
- Visualizza video introduttivi in modalità schermo intero
- Chiudi automaticamente la schermata iniziale in modalità schermo intero (Disabilita nasconde il desktop quando il gioco si chiude ma può causare problemi)
- Aggiungi logo di gioco nell'immagine della schermata iniziale se disponibile
- Usa l'icona del gioco dai metadati come logo
- Usa la schermata iniziale nera invece che l'immagine della schermata iniziale
- Posizione orizzontale del logo:
- Posizione verticale del logo:
- Sinistra
- Al centro
- Destra
- In alto
- Al centro
- In basso
- Usa l'animazione di dissolvenza per l'immagine della schermata iniziale
- Usa l'animazione di dissolvenza per il logo della schermata iniziale
-
- Usa un'immagine splash globale per tutti i giochi
- Usa il logo del gioco nell'immagine splash globale se è disponibile
- Sfoglia...
- Rimuovi
-
- Gestore video
- Giochi selezionati
- Fonti
- Piattaforme
- Modalità Playnite
- Collezione:
- Cerca:
- Video non disponibile
- Aggiungi video
- Rimuovi video
- Usa un'immagine di sfondo personalizzata
- Abilita impostazioni specifiche per il gioco
- Salva impostazioni
- Impostazioni salvate
-
+
+
+ Aiuto
+ Apri gestore video
+ Disabilita l'estensione per i giochi selezionati
+ Riattiva l'estensione per i giochi selezionati
+ Aggiungi la funzionalità della schermata di avvio dell'immagine ai giochi selezionati
+ Rimuovi la funzionalità della schermata di avvio dell'immagine dai giochi selezionati
+ Apri la finestra delle impostazioni "{0}"
+ Elimina configurazione schermata di avvio
+
+ Il video introduttivo è stato aggiunto
+ Il video introduttivo è stato rimosso
+ Aggiunto la funzione di esclusione "{0}" a {1} gioco(i)
+ Rimossa la funzione di esclusione "{0}" da {1} gioco(i)
+
+ Esegui l'estensione in modalità desktop
+ Visualizza le immagini della schermata iniziale in modalità desktop
+ Visualizza video introduttivi in modalità desktop
+ Usa MicroTrailers
+ Chiudi automaticamente la schermata iniziale in modalità desktop (Disabilita nasconde il desktop quando il gioco si chiude ma può causare problemi)
+ Esegui estensione in modalità schermo intero
+ Visualizza le immagini della schermata iniziale in modalità schermo intero
+ Visualizza video introduttivi in modalità schermo intero
+ Chiudi automaticamente la schermata iniziale in modalità schermo intero (Disabilita nasconde il desktop quando il gioco si chiude ma può causare problemi)
+ Aggiungi logo di gioco nell'immagine della schermata iniziale se disponibile
+ Usa l'icona del gioco dai metadati come logo
+ Usa la schermata iniziale nera invece che l'immagine della schermata iniziale
+ Posizione orizzontale del logo:
+ Posizione verticale del logo:
+ Sinistra
+ Al centro
+ Destra
+ In alto
+ Al centro
+ In basso
+ Usa l'animazione di dissolvenza per l'immagine della schermata iniziale
+ Usa l'animazione di dissolvenza per il logo della schermata iniziale
+ Mostra indicatore di caricamento
+ Dimensione indicatore (pixel):
+ Opacità indicatore:
+ Velocità indicatore (secondi per giro):
+ Anteprima:
+ Sfondo anteprima:
+ Spessore indicatore (pixel):
+ Numero trattini indicatore:
+ Lunghezza trattino indicatore (pixel):
+ Usa estremità arrotondate per i trattini
+ Regola automaticamente la velocità in base alla dimensione dell'indicatore
+
+ Margine area sicura (pixel):
+ Opacità immagine di sfondo:
+
+ Usa un'immagine splash globale per tutti i giochi
+ Usa il logo del gioco nell'immagine splash globale se è disponibile
+ Sfoglia...
+ Rimuovi
+
+ Gestore video
+ Giochi selezionati
+ Fonti
+ Piattaforme
+ Modalità Playnite
+ Collezione:
+ Cerca:
+ Video non disponibile
+ Aggiungi video
+ Rimuovi video
+ Usa un'immagine di sfondo personalizzata
+ Abilita impostazioni specifiche per il gioco
+ Salva impostazioni
+ Impostazioni salvate
+
+
diff --git a/source/Generic/SplashScreen/Localization/ja_JP.xaml b/source/Generic/SplashScreen/Localization/ja_JP.xaml
index 1c594a91aa..27fad4a64f 100644
--- a/source/Generic/SplashScreen/Localization/ja_JP.xaml
+++ b/source/Generic/SplashScreen/Localization/ja_JP.xaml
@@ -1,59 +1,74 @@
-
-
- ヘルプ
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- イントロ動画を追加しました
- イントロ動画を削除しました
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- 左
- 中央
- 右
- 上
- 中央
- 下
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- 参照…
- 削除
-
- Video manager
- Selected games
- ソース
- プラットフォーム
- Playnite Mode
- コレクション:
- 検索:
- 動画は利用できません
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ ヘルプ
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ イントロ動画を追加しました
+ イントロ動画を削除しました
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ 左
+ 中央
+ 右
+ 上
+ 中央
+ 下
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ 読み込みスピナーを表示
+ スピナーサイズ (ピクセル):
+ スピナーの不透明度:
+ スピナー速度 (1回転あたりの秒数):
+ プレビュー:
+ プレビュー背景:
+ スピナーの太さ (ピクセル):
+ スピナーのダッシュ数:
+ スピナーのダッシュ長 (ピクセル):
+ ダッシュ端を丸くする
+ スピナーサイズに応じて速度を自動調整する
+
+ セーフエリアの余白 (ピクセル):
+ 背景画像の不透明度:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ 参照…
+ 削除
+
+ Video manager
+ Selected games
+ ソース
+ プラットフォーム
+ Playnite Mode
+ コレクション:
+ 検索:
+ 動画は利用できません
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/ko_KR.xaml b/source/Generic/SplashScreen/Localization/ko_KR.xaml
index 8df48f6855..44073630c3 100644
--- a/source/Generic/SplashScreen/Localization/ko_KR.xaml
+++ b/source/Generic/SplashScreen/Localization/ko_KR.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ 로딩 스피너 표시
+ 스피너 크기(픽셀):
+ 스피너 불투명도:
+ 스피너 속도(회전당 초):
+ 미리 보기:
+ 미리 보기 배경:
+ 스피너 두께(픽셀):
+ 스피너 대시 개수:
+ 스피너 대시 길이(픽셀):
+ 둥근 대시 끝 사용
+ 스피너 크기에 따라 속도를 자동으로 조정
+
+ 안전 영역 여백(픽셀):
+ 배경 이미지 불투명도:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/nl_NL.xaml b/source/Generic/SplashScreen/Localization/nl_NL.xaml
index 8df48f6855..aee24d0534 100644
--- a/source/Generic/SplashScreen/Localization/nl_NL.xaml
+++ b/source/Generic/SplashScreen/Localization/nl_NL.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Laadspinner weergeven
+ Spinnergrootte (pixels):
+ Spinnerdekking:
+ Spinnersnelheid (seconden per omwenteling):
+ Voorbeeld:
+ Voorbeeldachtergrond:
+ Dikte van de spinner (pixels):
+ Aantal streepjes van de spinner:
+ Lengte van spinnerstreepjes (pixels):
+ Afgeronde uiteinden voor streepjes gebruiken
+ Spinnersnelheid automatisch aanpassen op basis van de spinnergrootte
+
+ Veilige-gebied opvulling (pixels):
+ Dekking van achtergrondafbeelding:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/no_NO.xaml b/source/Generic/SplashScreen/Localization/no_NO.xaml
index a3f11bff97..f744c4750b 100644
--- a/source/Generic/SplashScreen/Localization/no_NO.xaml
+++ b/source/Generic/SplashScreen/Localization/no_NO.xaml
@@ -1,59 +1,74 @@
-
-
- Hjelp
- Åpne video-behandler
- Deaktiver utvidelse for valgte spill
- Reaktiver utvidelse for valgte spill
- Legg til funksjon for å hoppe over splash screen i valgte spill
- Fjern funksjon for å hoppe over splash screen i valgte spill
- Åpne instillinger for "{0}"
- Slett konfigurasjon for oppstartsbilde
-
- Intro-video ble lagt til
- Intro-video er fjernet
- La til "{0}" ekskluder-funksjon til {1} spill
- Fjernet "{0}" ekskluder-funksjon fra {1} spill
-
- Kjør utvidelsen i skrivebordsmodus
- Vis splashscreen-bilder i skrivebordsmodus
- Vis intro-videoer i skrivebordsmodus
- Bruk mikrotrailere
- Lukk splashscreen automatisk i skrivebordsmodus (deaktivering skjuler skrivebordet når spillet lukkes, men kan forårsake problemer)
- Kjør utvidelse i fullskjermmodus
- Vis splashscreen-bilder i fullskjermmodus
- Vis intro-videoer i fullskjermmodus
- Lukk splashscreen automatisk i fullskjermmodus (deaktivering skjuler skrivebordet når spillet lukkes, men kan forårsake problemer)
- Legg til spilllogo i splashscreen-bilde hvis tilgjengelig
- Bruk spillikon fra metadata som logo
- Bruk svart splashscreen i stedet for splashscreen-bildet
- Logoens horisontale posisjon:
- Logoens vertikale posisjon:
- Venstre
- Midtstilt
- Høyre
- Øverst
- Midtstilt
- Nederst
- Bruk inntoningsanimasjon for splash screen-bilde
- Bruk inntoningsanimasjon for splash screen-logo
-
- Bruk et globalt bilde for alle spill
- Bruk spilllogo i globalt splashscreen-bilde hvis tilgjengelig
- Bla gjennom…
- Fjern
-
- Videobehandler
- Valgte spill
- Kilder
- Plattformer
- Playnite-modus
- Samling:
- Søk:
- Video ikke tilgjengelig
- Legg til video
- Fjern video
- Bruk egendefinert bakgrunnsbilde
- Aktiver spill-spesifikke innstillinger
- Lagre innstillinger
- Innstillingene er lagret
-
+
+
+ Hjelp
+ Åpne video-behandler
+ Deaktiver utvidelse for valgte spill
+ Reaktiver utvidelse for valgte spill
+ Legg til funksjon for å hoppe over splash screen i valgte spill
+ Fjern funksjon for å hoppe over splash screen i valgte spill
+ Åpne instillinger for "{0}"
+ Slett konfigurasjon for oppstartsbilde
+
+ Intro-video ble lagt til
+ Intro-video er fjernet
+ La til "{0}" ekskluder-funksjon til {1} spill
+ Fjernet "{0}" ekskluder-funksjon fra {1} spill
+
+ Kjør utvidelsen i skrivebordsmodus
+ Vis splashscreen-bilder i skrivebordsmodus
+ Vis intro-videoer i skrivebordsmodus
+ Bruk mikrotrailere
+ Lukk splashscreen automatisk i skrivebordsmodus (deaktivering skjuler skrivebordet når spillet lukkes, men kan forårsake problemer)
+ Kjør utvidelse i fullskjermmodus
+ Vis splashscreen-bilder i fullskjermmodus
+ Vis intro-videoer i fullskjermmodus
+ Lukk splashscreen automatisk i fullskjermmodus (deaktivering skjuler skrivebordet når spillet lukkes, men kan forårsake problemer)
+ Legg til spilllogo i splashscreen-bilde hvis tilgjengelig
+ Bruk spillikon fra metadata som logo
+ Bruk svart splashscreen i stedet for splashscreen-bildet
+ Logoens horisontale posisjon:
+ Logoens vertikale posisjon:
+ Venstre
+ Midtstilt
+ Høyre
+ Øverst
+ Midtstilt
+ Nederst
+ Bruk inntoningsanimasjon for splash screen-bilde
+ Bruk inntoningsanimasjon for splash screen-logo
+ Vis lastespinner
+ Spinnerstørrelse (piksler):
+ Spinneropasitet:
+ Spinnerhastighet (sekunder per omdreining):
+ Forhåndsvisning:
+ Forhåndsvisningsbakgrunn:
+ Tykkelse på spinner (piksler):
+ Antall streker i spinner:
+ Lengde på spinnerstrek (piksler):
+ Bruk avrundede strekender
+ Juster spinnerhastigheten automatisk basert på spinnerstørrelse
+
+ Sikkerhetsmarg (piksler):
+ Opasitet for bakgrunnsbilde:
+
+ Bruk et globalt bilde for alle spill
+ Bruk spilllogo i globalt splashscreen-bilde hvis tilgjengelig
+ Bla gjennom…
+ Fjern
+
+ Videobehandler
+ Valgte spill
+ Kilder
+ Plattformer
+ Playnite-modus
+ Samling:
+ Søk:
+ Video ikke tilgjengelig
+ Legg til video
+ Fjern video
+ Bruk egendefinert bakgrunnsbilde
+ Aktiver spill-spesifikke innstillinger
+ Lagre innstillinger
+ Innstillingene er lagret
+
+
diff --git a/source/Generic/SplashScreen/Localization/pl_PL.xaml b/source/Generic/SplashScreen/Localization/pl_PL.xaml
index 8df48f6855..f796b3f934 100644
--- a/source/Generic/SplashScreen/Localization/pl_PL.xaml
+++ b/source/Generic/SplashScreen/Localization/pl_PL.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Pokaż wskaźnik ładowania
+ Rozmiar wskaźnika (piksele):
+ Przezroczystość wskaźnika:
+ Szybkość wskaźnika (sekundy na obrót):
+ Podgląd:
+ Tło podglądu:
+ Grubość wskaźnika (piksele):
+ Liczba kresek wskaźnika:
+ Długość kreski wskaźnika (piksele):
+ Użyj zaokrąglonych zakończeń kresek
+ Automatycznie dostosuj szybkość wskaźnika do jego rozmiaru
+
+ Margines bezpiecznego obszaru (piksele):
+ Przezroczystość obrazu tła:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/pt_BR.xaml b/source/Generic/SplashScreen/Localization/pt_BR.xaml
index 958d301078..9f5cffaf9a 100644
--- a/source/Generic/SplashScreen/Localization/pt_BR.xaml
+++ b/source/Generic/SplashScreen/Localization/pt_BR.xaml
@@ -1,59 +1,74 @@
-
-
- Ajuda
- Abrir gerenciador de vídeo
- Desativar extensão para os jogos selecionados
- Reativar extensão para os jogos selecionados
- Adicionar recurso de pular imagem da tela de abertura aos jogos selecionados
- Remover recurso de pular imagem de tela inicial dos jogos selecionados
- Abrir configurações de "{0}"
- Excluir configuração da tela de abertura
-
- O vídeo de introdução foi adicionado
- O vídeo de introdução foi removido
- Adicionar "{0}" e excluir recurso {1} do(s) jogo(s)
- Remover "{0}" e excluir recurso {1} do(s) jogo(s)
-
- Executar extensão no Modo Desktop
- Ver telas de abertura no Modo Desktop
- Ver vídeos de introdução no Modo Desktop
- Usar MicroTrailers
- Fechar automaticamente a tela de abertura no modo Desktop (desativar oculta a área de trabalho quando o jogo fecha, mas pode causar problemas)
- Executar extensão no Modo Tela Cheia
- Ver tela de abertura no modo Tela Cheia
- Ver vídeos de introdução no Modo Tela Cheia
- Fechar automaticamente a tela de abertura no Modo Tela Cheia (desativar oculta a área de trabalho quando o jogo fecha, mas pode causar problemas)
- Adicionar o logotipo do jogo na tela de abertura, se disponível
- Usar o ícone do jogo dos Metadados como logotipo
- Usar uma tela de abertura preta em vez de uma imagem
- Posição horizontal do logotipo:
- Posição vertical do logotipo:
- Esquerda
- Centro
- Direita
- Acima
- Centro
- Embaixo
- Usar animação esmaecer para a tela de abertura
- Usar a animação esmaecer para o logotipo da tela de abertura
-
- Usar uma tela inicial de abertura padrão para todos os jogos
- Usa o logotipo do jogo na tela inicial padrão, se estiver disponível
- Procurar...
- Remover
-
- Gerenciador de vídeos
- Jogos selecionados
- Fontes
- Plataformas
- Modo do Playnite
- Coleção:
- Procurar:
- Vídeo indisponível
- Adicionar vídeo
- Remover vídeo
- Usar imagem de fundo personalizada
- Ativar configurações específicas de jogos
- Salvar Configurações
- Configurações salvas
-
+
+
+ Ajuda
+ Abrir gerenciador de vídeo
+ Desativar extensão para os jogos selecionados
+ Reativar extensão para os jogos selecionados
+ Adicionar recurso de pular imagem da tela de abertura aos jogos selecionados
+ Remover recurso de pular imagem de tela inicial dos jogos selecionados
+ Abrir configurações de "{0}"
+ Excluir configuração da tela de abertura
+
+ O vídeo de introdução foi adicionado
+ O vídeo de introdução foi removido
+ Adicionar "{0}" e excluir recurso {1} do(s) jogo(s)
+ Remover "{0}" e excluir recurso {1} do(s) jogo(s)
+
+ Executar extensão no Modo Desktop
+ Ver telas de abertura no Modo Desktop
+ Ver vídeos de introdução no Modo Desktop
+ Usar MicroTrailers
+ Fechar automaticamente a tela de abertura no modo Desktop (desativar oculta a área de trabalho quando o jogo fecha, mas pode causar problemas)
+ Executar extensão no Modo Tela Cheia
+ Ver tela de abertura no modo Tela Cheia
+ Ver vídeos de introdução no Modo Tela Cheia
+ Fechar automaticamente a tela de abertura no Modo Tela Cheia (desativar oculta a área de trabalho quando o jogo fecha, mas pode causar problemas)
+ Adicionar o logotipo do jogo na tela de abertura, se disponível
+ Usar o ícone do jogo dos Metadados como logotipo
+ Usar uma tela de abertura preta em vez de uma imagem
+ Posição horizontal do logotipo:
+ Posição vertical do logotipo:
+ Esquerda
+ Centro
+ Direita
+ Acima
+ Centro
+ Embaixo
+ Usar animação esmaecer para a tela de abertura
+ Usar a animação esmaecer para o logotipo da tela de abertura
+ Mostrar indicador de carregamento
+ Tamanho do indicador (pixels):
+ Opacidade do indicador:
+ Velocidade do indicador (segundos por volta):
+ Pré-visualização:
+ Fundo da pré-visualização:
+ Espessura do indicador (pixels):
+ Quantidade de traços do indicador:
+ Comprimento do tracejado do indicador (pixels):
+ Usar extremidades arredondadas no tracejado
+ Ajustar automaticamente a velocidade do indicador de acordo com o tamanho
+
+ Margem da área segura (pixels):
+ Opacidade da imagem de fundo:
+
+ Usar uma tela inicial de abertura padrão para todos os jogos
+ Usa o logotipo do jogo na tela inicial padrão, se estiver disponível
+ Procurar...
+ Remover
+
+ Gerenciador de vídeos
+ Jogos selecionados
+ Fontes
+ Plataformas
+ Modo do Playnite
+ Coleção:
+ Procurar:
+ Vídeo indisponível
+ Adicionar vídeo
+ Remover vídeo
+ Usar imagem de fundo personalizada
+ Ativar configurações específicas de jogos
+ Salvar Configurações
+ Configurações salvas
+
+
diff --git a/source/Generic/SplashScreen/Localization/pt_PT.xaml b/source/Generic/SplashScreen/Localization/pt_PT.xaml
index 8df48f6855..c5b63d8ed0 100644
--- a/source/Generic/SplashScreen/Localization/pt_PT.xaml
+++ b/source/Generic/SplashScreen/Localization/pt_PT.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Mostrar indicador de carregamento
+ Tamanho do indicador (píxeis):
+ Opacidade do indicador:
+ Velocidade do indicador (segundos por volta):
+ Pré-visualização:
+ Fundo da pré-visualização:
+ Espessura do indicador (píxeis):
+ Quantidade de traços do indicador:
+ Comprimento do tracejado do indicador (píxeis):
+ Utilizar extremidades arredondadas no tracejado
+ Ajustar automaticamente a velocidade do indicador com base no tamanho
+
+ Margem da área segura (píxeis):
+ Opacidade da imagem de fundo:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/ru_RU.xaml b/source/Generic/SplashScreen/Localization/ru_RU.xaml
index a11f486dd3..bcc1ffa005 100644
--- a/source/Generic/SplashScreen/Localization/ru_RU.xaml
+++ b/source/Generic/SplashScreen/Localization/ru_RU.xaml
@@ -1,59 +1,74 @@
-
-
- Справка
- Открыть менеджер видео
- Отключить расширение для выбранных игр
- Включить расширение для выбранных игр
- Отключить вывод изображения для выбранных игр
- Включить вывод изображения для выбранных игр
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Вступительное видео добавлено
- Вступительное видео удалено
- Функция "{0}" выключена для {1} игр(ы)
- Функция "{0}" включена для {1} игр(ы)
-
- Включить расширение для обычного режима
- Показывать изображения заставки в обычном режиме
- Показывать вступительное видео в обычном режиме
- Use MicroTrailers
- Автоматически закрывать заставку в обычном режиме (отключение скрывает рабочий стол при закрытии игры, но может вызвать проблемы)
- Включить расширение для полноэкранного режима
- Показывать изображения заставки в полноэкранном режиме
- Показывать вступительное видео в полноэкранном режиме
- Автоматически закрывать заставку в полноэкранном режиме (отключение скрывает рабочий стол при закрытии игры, но может вызвать проблемы)
- Добавить логотип игры на изображение заставки, если доступно
- Использовать иконку игры из метаданных вместо логотипа
- Использовать черный экран-заставку вместо изображения
- Горизонтальное положение логотипа:
- Вертикальное положение логотипа:
- Слева
- По центру
- Справа
- Сверху
- По сцентру
- Снизу
- Использовать анимацию затухания для изображения заставки
- Использовать анимацию затухания для изображения логотипа
-
- Использовать общее изображение заставки для всех игр
- Использовать логотип на общем изображении заставки, если доступен
- Обзор...
- Убрать
-
- Менеджер видео
- Выбранные игры
- Источники
- Платформы
- Режим Playnite
- Коллекция:
- Поиск:
- Видео недоступно
- Добавить видео
- Удалить видео
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Справка
+ Открыть менеджер видео
+ Отключить расширение для выбранных игр
+ Включить расширение для выбранных игр
+ Отключить вывод изображения для выбранных игр
+ Включить вывод изображения для выбранных игр
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Вступительное видео добавлено
+ Вступительное видео удалено
+ Функция "{0}" выключена для {1} игр(ы)
+ Функция "{0}" включена для {1} игр(ы)
+
+ Включить расширение для обычного режима
+ Показывать изображения заставки в обычном режиме
+ Показывать вступительное видео в обычном режиме
+ Use MicroTrailers
+ Автоматически закрывать заставку в обычном режиме (отключение скрывает рабочий стол при закрытии игры, но может вызвать проблемы)
+ Включить расширение для полноэкранного режима
+ Показывать изображения заставки в полноэкранном режиме
+ Показывать вступительное видео в полноэкранном режиме
+ Автоматически закрывать заставку в полноэкранном режиме (отключение скрывает рабочий стол при закрытии игры, но может вызвать проблемы)
+ Добавить логотип игры на изображение заставки, если доступно
+ Использовать иконку игры из метаданных вместо логотипа
+ Использовать черный экран-заставку вместо изображения
+ Горизонтальное положение логотипа:
+ Вертикальное положение логотипа:
+ Слева
+ По центру
+ Справа
+ Сверху
+ По сцентру
+ Снизу
+ Использовать анимацию затухания для изображения заставки
+ Использовать анимацию затухания для изображения логотипа
+ Показывать индикатор загрузки
+ Размер индикатора (пиксели):
+ Непрозрачность индикатора:
+ Скорость индикатора (секунд за оборот):
+ Предпросмотр:
+ Фон предпросмотра:
+ Толщина индикатора (пиксели):
+ Количество штрихов индикатора:
+ Длина штриха индикатора (пиксели):
+ Использовать закругленные концы штрихов
+ Автоматически подстраивать скорость индикатора под его размер
+
+ Отступ безопасной зоны (пиксели):
+ Непрозрачность фонового изображения:
+
+ Использовать общее изображение заставки для всех игр
+ Использовать логотип на общем изображении заставки, если доступен
+ Обзор...
+ Убрать
+
+ Менеджер видео
+ Выбранные игры
+ Источники
+ Платформы
+ Режим Playnite
+ Коллекция:
+ Поиск:
+ Видео недоступно
+ Добавить видео
+ Удалить видео
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/sr_SP.xaml b/source/Generic/SplashScreen/Localization/sr_SP.xaml
index 8df48f6855..1ce7ae370b 100644
--- a/source/Generic/SplashScreen/Localization/sr_SP.xaml
+++ b/source/Generic/SplashScreen/Localization/sr_SP.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Prikaži indikator učitavanja
+ Veličina indikatora (pikseli):
+ Providnost indikatora:
+ Brzina indikatora (sekundi po obrtaju):
+ Преглед:
+ Позадина прегледа:
+ Дебљина индикатора (пиксели):
+ Број цртица индикатора:
+ Дужина цртице индикатора (пиксели):
+ Користи заобљене крајеве цртица
+ Automatski prilagodi brzinu indikatora prema veličini
+
+ Razmak bezbedne zone (pikseli):
+ Непрозирност позадинске слике:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/tr_TR.xaml b/source/Generic/SplashScreen/Localization/tr_TR.xaml
index 28b9ed353c..ce481264f1 100644
--- a/source/Generic/SplashScreen/Localization/tr_TR.xaml
+++ b/source/Generic/SplashScreen/Localization/tr_TR.xaml
@@ -1,59 +1,74 @@
-
-
- Yardım
- Video yöneticisini aç
- Seçilen oyunlar için uzantıyı devre dışı bırak
- Seçilen oyunlar için uzantıyı yeniden etkinleştirin
- Seçilen oyunlara görsel açılış ekranı atlama özelliği eklendi
- Seçilen oyunlardan görsel açılış ekranı atlama özelliğini kaldır
- "{0}" ayarlar penceresini aç
- Açılış ekranı yapılandırmasını sil
-
- Tanıtım videosu eklendi
- Tanıtım videosu kaldırıldı
- {1} oyuna "{0}" hariç tutma özelliği eklendi
- "{0}" hariç tutma özelliği {1} oyundan kaldırıldı
-
- Uzantıyı Masaüstü Modunda yürütün
- Açılış ekranı görüntülerini Masaüstü Modunda görüntüleyin
- Giriş videolarını Masaüstü Modunda görüntüleyin
- MicroTrailers'ı kullanın
- Masaüstü Modunda açılış ekranını otomatik olarak kapat (Devre dışı bırakmak, oyun kapatıldığında masaüstünü gizler ancak sorunlara neden olabilir)
- Uzantıyı Tam Ekran Modunda yürütün
- Açılış ekranı görüntülerini Tam Ekran Modunda görüntüleyin
- Giriş videolarını Tam Ekran Modunda görüntüleyin
- Tam Ekran Modunda açılış ekranını otomatik olarak kapat (Devre dışı bırakmak, oyun kapatıldığında masaüstünü gizler ancak sorunlara neden olabilir)
- Varsa açılış ekranı görüntüsüne oyun logosu ekleyin
- Meta verilerdeki oyun simgesini logo olarak kullanın
- Açılış ekranı görüntüsü yerine siyah açılış ekranı kullanın
- Logonun yatay konumu:
- Logonun dikey konumu:
- Sol
- Orta
- Sağ
- Üst
- Orta
- Alt
- Açılış ekranı görüntüsü için yavaş yavaş beliren animasyonu kullanın
- Açılış ekranı logosu için yavaş yavaş beliren animasyonu kullanın
-
- Tüm oyunlar için genel açılış görüntüsünü kullanın
- Varsa genel açılış görselinde oyun logosunu kullanın
- Göz at...
- Kaldır
-
- Video yöneticisi
- Seçilen oyunlar
- Kaynaklar
- Platformlar
- Playnite Modu
- Koleksiyon:
- Arama:
- Video kullanılamıyor
- Video ekle
- Videoyu kaldır
- Özel arka plan resmini kullan
- Oyuna özel ayarları etkinleştir
- Ayarları kaydet
- Ayarlar kaydedildi
-
+
+
+ Yardım
+ Video yöneticisini aç
+ Seçilen oyunlar için uzantıyı devre dışı bırak
+ Seçilen oyunlar için uzantıyı yeniden etkinleştirin
+ Seçilen oyunlara görsel açılış ekranı atlama özelliği eklendi
+ Seçilen oyunlardan görsel açılış ekranı atlama özelliğini kaldır
+ "{0}" ayarlar penceresini aç
+ Açılış ekranı yapılandırmasını sil
+
+ Tanıtım videosu eklendi
+ Tanıtım videosu kaldırıldı
+ {1} oyuna "{0}" hariç tutma özelliği eklendi
+ "{0}" hariç tutma özelliği {1} oyundan kaldırıldı
+
+ Uzantıyı Masaüstü Modunda yürütün
+ Açılış ekranı görüntülerini Masaüstü Modunda görüntüleyin
+ Giriş videolarını Masaüstü Modunda görüntüleyin
+ MicroTrailers'ı kullanın
+ Masaüstü Modunda açılış ekranını otomatik olarak kapat (Devre dışı bırakmak, oyun kapatıldığında masaüstünü gizler ancak sorunlara neden olabilir)
+ Uzantıyı Tam Ekran Modunda yürütün
+ Açılış ekranı görüntülerini Tam Ekran Modunda görüntüleyin
+ Giriş videolarını Tam Ekran Modunda görüntüleyin
+ Tam Ekran Modunda açılış ekranını otomatik olarak kapat (Devre dışı bırakmak, oyun kapatıldığında masaüstünü gizler ancak sorunlara neden olabilir)
+ Varsa açılış ekranı görüntüsüne oyun logosu ekleyin
+ Meta verilerdeki oyun simgesini logo olarak kullanın
+ Açılış ekranı görüntüsü yerine siyah açılış ekranı kullanın
+ Logonun yatay konumu:
+ Logonun dikey konumu:
+ Sol
+ Orta
+ Sağ
+ Üst
+ Orta
+ Alt
+ Açılış ekranı görüntüsü için yavaş yavaş beliren animasyonu kullanın
+ Açılış ekranı logosu için yavaş yavaş beliren animasyonu kullanın
+ Yükleme göstergesini göster
+ Gösterge boyutu (piksel):
+ Gösterge opaklığı:
+ Gösterge hızı (tur başına saniye):
+ Önizleme:
+ Önizleme arka planı:
+ Gösterge kalınlığı (piksel):
+ Gösterge çizgi sayısı:
+ Gösterge çizgi uzunluğu (piksel):
+ Yuvarlatılmış çizgi uçlarını kullan
+ Gösterge hızını boyuta göre otomatik ayarla
+
+ Güvenli alan boşluğu (piksel):
+ Arka plan görseli opaklığı:
+
+ Tüm oyunlar için genel açılış görüntüsünü kullanın
+ Varsa genel açılış görselinde oyun logosunu kullanın
+ Göz at...
+ Kaldır
+
+ Video yöneticisi
+ Seçilen oyunlar
+ Kaynaklar
+ Platformlar
+ Playnite Modu
+ Koleksiyon:
+ Arama:
+ Video kullanılamıyor
+ Video ekle
+ Videoyu kaldır
+ Özel arka plan resmini kullan
+ Oyuna özel ayarları etkinleştir
+ Ayarları kaydet
+ Ayarlar kaydedildi
+
+
diff --git a/source/Generic/SplashScreen/Localization/uk_UA.xaml b/source/Generic/SplashScreen/Localization/uk_UA.xaml
index f860c8cb74..433cf38ce7 100644
--- a/source/Generic/SplashScreen/Localization/uk_UA.xaml
+++ b/source/Generic/SplashScreen/Localization/uk_UA.xaml
@@ -1,59 +1,74 @@
-
-
- Довідка
- Відкрити менеджер відео
- Вимкнути розширення для вибраних ігор
- Повторно увімкнути розширення для вибраних ігор
- Додати особливість для пропуску екрана-заставки до вибраних ігор
- Прибрати особливіть для пропуску екрана-заставки з вибраних ігор
- Відкрити вікно налаштувань "{0}"
- Видалити конфігурацію Splash Screen
-
- Вступне відео додано
- Вступне відео прибрано
- Додано особливіть "{0}" до {1} гри/ігор
- Прибрано особливіть "{0}" до {1} гри/ігор
-
- Запускати розширення в режимі робочого столу
- Показувати зображення екрана-заставки в режимі робочого столу
- Показувати вступне відео в режимі робочого столу
- Використовувати мікротрейлери
- Автоматично закривати екран-заставку в режимі робочого столу (вимкнення приховає робочий стіл, коли гра закриється, але це може викликати проблеми)
- Запускати розширення в повноекранному режимі
- Показувати зображення екрана-заставки в повноекранному режимі
- Показувати вступне відео в повноекранному режимі
- Автоматично закривати екран-заставку в повноекранному режимі (вимкнення приховає робочий стіл, коли гра закриється, але це може викликати проблеми)
- Додати логотип гри до екрана-заставки, якщо він наявний
- Використовувати значок з метаданих як логотип
- Використовувати чорний екран-заставку замість зображення екрана-заставки
- Горизонтальна позиція логотипу:
- Вертикальна позиція логотипу:
- Зліва
- По центру
- Справа
- Вгорі
- По центру
- Внизу
- Використовувати анімацію появи для зображення екрана-заставки
- Використовувати анімацію появи для логотипа екрана-заставки
-
- Використовувати глобальну екран-заставку для всіх ігор
- Використовувати логотип гри на глобальному екрані-заставці при наявності
- Огляд...
- Вилучити
-
- Менеджер відео
- Обрані ігри
- Джерела
- Платформи
- Режим Playnite
- Колекція:
- Пошук:
- Відео недоступне
- Додати відео
- Прибрати відео
- Використовувати нетипове фонове зображення
- Увімкнути налаштування для окремої гри
- Зберегти налаштування
- Налаштування збережено
-
+
+
+ Довідка
+ Відкрити менеджер відео
+ Вимкнути розширення для вибраних ігор
+ Повторно увімкнути розширення для вибраних ігор
+ Додати особливість для пропуску екрана-заставки до вибраних ігор
+ Прибрати особливіть для пропуску екрана-заставки з вибраних ігор
+ Відкрити вікно налаштувань "{0}"
+ Видалити конфігурацію Splash Screen
+
+ Вступне відео додано
+ Вступне відео прибрано
+ Додано особливіть "{0}" до {1} гри/ігор
+ Прибрано особливіть "{0}" до {1} гри/ігор
+
+ Запускати розширення в режимі робочого столу
+ Показувати зображення екрана-заставки в режимі робочого столу
+ Показувати вступне відео в режимі робочого столу
+ Використовувати мікротрейлери
+ Автоматично закривати екран-заставку в режимі робочого столу (вимкнення приховає робочий стіл, коли гра закриється, але це може викликати проблеми)
+ Запускати розширення в повноекранному режимі
+ Показувати зображення екрана-заставки в повноекранному режимі
+ Показувати вступне відео в повноекранному режимі
+ Автоматично закривати екран-заставку в повноекранному режимі (вимкнення приховає робочий стіл, коли гра закриється, але це може викликати проблеми)
+ Додати логотип гри до екрана-заставки, якщо він наявний
+ Використовувати значок з метаданих як логотип
+ Використовувати чорний екран-заставку замість зображення екрана-заставки
+ Горизонтальна позиція логотипу:
+ Вертикальна позиція логотипу:
+ Зліва
+ По центру
+ Справа
+ Вгорі
+ По центру
+ Внизу
+ Використовувати анімацію появи для зображення екрана-заставки
+ Використовувати анімацію появи для логотипа екрана-заставки
+ Показувати індикатор завантаження
+ Розмір індикатора (пікселі):
+ Непрозорість індикатора:
+ Швидкість індикатора (секунди за оберт):
+ Попередній перегляд:
+ Тло попереднього перегляду:
+ Товщина індикатора (пікселі):
+ Кількість штрихів індикатора:
+ Довжина штриха індикатора (пікселі):
+ Використовувати заокруглені кінці штрихів
+ Автоматично підлаштовувати швидкість індикатора під його розмір
+
+ Відступ безпечної зони (пікселі):
+ Непрозорість фонового зображення:
+
+ Використовувати глобальну екран-заставку для всіх ігор
+ Використовувати логотип гри на глобальному екрані-заставці при наявності
+ Огляд...
+ Вилучити
+
+ Менеджер відео
+ Обрані ігри
+ Джерела
+ Платформи
+ Режим Playnite
+ Колекція:
+ Пошук:
+ Відео недоступне
+ Додати відео
+ Прибрати відео
+ Використовувати нетипове фонове зображення
+ Увімкнути налаштування для окремої гри
+ Зберегти налаштування
+ Налаштування збережено
+
+
diff --git a/source/Generic/SplashScreen/Localization/vi_VN.xaml b/source/Generic/SplashScreen/Localization/vi_VN.xaml
index 8df48f6855..22bc0cdb98 100644
--- a/source/Generic/SplashScreen/Localization/vi_VN.xaml
+++ b/source/Generic/SplashScreen/Localization/vi_VN.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ Hiển thị vòng xoay tải
+ Kích thước vòng xoay (pixel):
+ Độ mờ vòng xoay:
+ Tốc độ vòng xoay (giây mỗi vòng):
+ Xem trước:
+ Nền xem trước:
+ Độ dày vòng xoay (pixel):
+ Số lượng nét đứt của vòng xoay:
+ Độ dài nét đứt của vòng xoay (pixel):
+ Sử dụng đầu nét bo tròn
+ Tự động điều chỉnh tốc độ theo kích thước vòng xoay
+
+ Lề vùng an toàn (pixel):
+ Độ mờ ảnh nền:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/zh_CN.xaml b/source/Generic/SplashScreen/Localization/zh_CN.xaml
index df0572fd9d..7685426c2a 100644
--- a/source/Generic/SplashScreen/Localization/zh_CN.xaml
+++ b/source/Generic/SplashScreen/Localization/zh_CN.xaml
@@ -1,59 +1,74 @@
-
-
- 帮助
- 打开视频管理器
- 为所选游戏禁用扩展
- 为所选游戏重新启用扩展
- 为所选游戏添加图像序幕屏跳过功能
- 从所选游戏中删除图像序幕屏的跳过功能
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- 导览视频已添加
- 导览视频已移除
- 为 {1} 个游戏添加了排除的功能特色“{0}”
- 为 {1} 个游戏移除了排除的功能特色“{0}”
-
- 在桌面模式下执行扩展
- 在桌面模式下查看序幕屏图像
- 在桌面模式下查看导览视频
- Use MicroTrailers
- 桌面模式下自动关闭序幕屏(禁用则会在游戏结束时隐藏桌面,但可能导致问题)
- 在全屏模式下执行扩展
- 在全屏模式下查看序幕屏图像
- 在全屏模式下查看导览视频
- 全屏模式下自动关闭序幕屏(禁用则会在游戏结束时隐藏桌面,但可能导致问题)
- 如果可用,在序幕屏图像中添加游戏徽标
- 使用元数据的游戏图标作为徽标
- 使用黑色序幕屏而不是序幕屏图像
- 徽标水平位置:
- 徽标竖直位置:
- 左
- 中
- 右
- 顶
- 中
- 底
- 对序幕屏图像使用淡入动画
- 对序幕屏徽标使用淡入动画
-
- 为所有游戏使用一个全局的序幕图像
- 如果可用,在全局序幕图像中使用游戏徽标
- 浏览...
- 移除
-
- 视频管理器
- 所选游戏
- 来源
- 平台
- Playnite 模式
- 收集:
- 搜索:
- 视频不可用
- 添加视频
- 移除视频
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ 帮助
+ 打开视频管理器
+ 为所选游戏禁用扩展
+ 为所选游戏重新启用扩展
+ 为所选游戏添加图像序幕屏跳过功能
+ 从所选游戏中删除图像序幕屏的跳过功能
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ 导览视频已添加
+ 导览视频已移除
+ 为 {1} 个游戏添加了排除的功能特色“{0}”
+ 为 {1} 个游戏移除了排除的功能特色“{0}”
+
+ 在桌面模式下执行扩展
+ 在桌面模式下查看序幕屏图像
+ 在桌面模式下查看导览视频
+ Use MicroTrailers
+ 桌面模式下自动关闭序幕屏(禁用则会在游戏结束时隐藏桌面,但可能导致问题)
+ 在全屏模式下执行扩展
+ 在全屏模式下查看序幕屏图像
+ 在全屏模式下查看导览视频
+ 全屏模式下自动关闭序幕屏(禁用则会在游戏结束时隐藏桌面,但可能导致问题)
+ 如果可用,在序幕屏图像中添加游戏徽标
+ 使用元数据的游戏图标作为徽标
+ 使用黑色序幕屏而不是序幕屏图像
+ 徽标水平位置:
+ 徽标竖直位置:
+ 左
+ 中
+ 右
+ 顶
+ 中
+ 底
+ 对序幕屏图像使用淡入动画
+ 对序幕屏徽标使用淡入动画
+ 显示加载指示器
+ 指示器大小(像素):
+ 指示器不透明度:
+ 指示器速度(每圈秒数):
+ 预览:
+ 预览背景:
+ 指示器粗细(像素):
+ 指示器短划线数量:
+ 指示器短划线长度(像素):
+ 使用圆角短划线端帽
+ 根据指示器大小自动调整速度
+
+ 安全区域边距(像素):
+ 背景图片不透明度:
+
+ 为所有游戏使用一个全局的序幕图像
+ 如果可用,在全局序幕图像中使用游戏徽标
+ 浏览...
+ 移除
+
+ 视频管理器
+ 所选游戏
+ 来源
+ 平台
+ Playnite 模式
+ 收集:
+ 搜索:
+ 视频不可用
+ 添加视频
+ 移除视频
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Localization/zh_TW.xaml b/source/Generic/SplashScreen/Localization/zh_TW.xaml
index 8df48f6855..9ec486dc66 100644
--- a/source/Generic/SplashScreen/Localization/zh_TW.xaml
+++ b/source/Generic/SplashScreen/Localization/zh_TW.xaml
@@ -1,59 +1,74 @@
-
-
- Help
- Open video manager
- Disable extension for the selected games
- Re-Enable extension for the selected games
- Add image splash screen skip feature to selected games
- Remove image splash screen skip feature from selected games
- Open "{0}" settings window
- Delete Splash Screen configuration
-
- Intro video has been added
- Intro video has been removed
- Added "{0}" exclude feature to {1} game(s)
- Removed "{0}" exclude feature from {1} game(s)
-
- Execute extension in Desktop Mode
- View splashscreen images in Desktop Mode
- View intro videos in Desktop Mode
- Use MicroTrailers
- Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
- Execute extension in Fullscreen Mode
- View splashscreen images in Fullscreen Mode
- View intro videos in Fullscreen Mode
- Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
- Add game logo in splashscreen image if available
- Use game icon from Metadata as logo
- Use black splashscreen instead of the splashscreen image
- Logo horizontal position:
- Logo vertical position:
- Left
- Center
- Right
- Top
- Center
- Bottom
- Use fade-in animation for the splash screen image
- Use fade-in animation for the splash screen logo
-
- Use a global splash image for all games
- Use game logo in global splash image if it's available
- Browse...
- Remove
-
- Video manager
- Selected games
- Sources
- Platforms
- Playnite Mode
- Collection:
- Search:
- Video not available
- Add video
- Remove video
- Use custom background image
- Enable game specific settings
- Save settings
- Settings saved
-
+
+
+ Help
+ Open video manager
+ Disable extension for the selected games
+ Re-Enable extension for the selected games
+ Add image splash screen skip feature to selected games
+ Remove image splash screen skip feature from selected games
+ Open "{0}" settings window
+ Delete Splash Screen configuration
+
+ Intro video has been added
+ Intro video has been removed
+ Added "{0}" exclude feature to {1} game(s)
+ Removed "{0}" exclude feature from {1} game(s)
+
+ Execute extension in Desktop Mode
+ View splashscreen images in Desktop Mode
+ View intro videos in Desktop Mode
+ Use MicroTrailers
+ Automatically close splashscreen in Desktop Mode (Disabling hides desktop when game closes but can cause issues)
+ Execute extension in Fullscreen Mode
+ View splashscreen images in Fullscreen Mode
+ View intro videos in Fullscreen Mode
+ Automatically close splashscreen in Fullscreen Mode (Disabling hides desktop when game closes but can cause issues)
+ Add game logo in splashscreen image if available
+ Use game icon from Metadata as logo
+ Use black splashscreen instead of the splashscreen image
+ Logo horizontal position:
+ Logo vertical position:
+ Left
+ Center
+ Right
+ Top
+ Center
+ Bottom
+ Use fade-in animation for the splash screen image
+ Use fade-in animation for the splash screen logo
+ 顯示載入指示器
+ 指示器大小(像素):
+ 指示器不透明度:
+ 指示器速度(每圈秒數):
+ 預覽:
+ 預覽背景:
+ 指示器粗細(像素):
+ 指示器虛線數量:
+ 指示器虛線長度(像素):
+ 使用圓角虛線端點
+ 根據指示器大小自動調整速度
+
+ 安全區域邊距(像素):
+ 背景圖片不透明度:
+
+ Use a global splash image for all games
+ Use game logo in global splash image if it's available
+ Browse...
+ Remove
+
+ Video manager
+ Selected games
+ Sources
+ Platforms
+ Playnite Mode
+ Collection:
+ Search:
+ Video not available
+ Add video
+ Remove video
+ Use custom background image
+ Enable game specific settings
+ Save settings
+ Settings saved
+
+
diff --git a/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs b/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs
index f8346c98ab..10a7420b03 100644
--- a/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs
+++ b/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs
@@ -68,6 +68,61 @@ public interface IGeneralSplashSettings
/// Gets or sets Fullscreen Mode specific settings.
///
ModeSplashSettings FullscreenModeSettings { get; set; }
+
+ ///
+ /// Gets or sets whether loading spinner should be displayed.
+ ///
+ bool EnableLoadingSpinner { get; set; }
+
+ ///
+ /// Gets or sets loading spinner size in pixels.
+ ///
+ int LoadingSpinnerSize { get; set; }
+
+ ///
+ /// Gets or sets loading spinner opacity.
+ ///
+ double LoadingSpinnerOpacity { get; set; }
+
+ ///
+ /// Gets or sets loading spinner stroke thickness in pixels.
+ ///
+ double LoadingSpinnerThickness { get; set; }
+
+ ///
+ /// Gets or sets loading spinner dash length in pixels.
+ ///
+ double LoadingSpinnerDashLength { get; set; }
+
+ ///
+ /// Gets or sets loading spinner dash count.
+ ///
+ int LoadingSpinnerDashCount { get; set; }
+
+ ///
+ /// Gets or sets whether spinner dashes should have rounded caps.
+ ///
+ bool LoadingSpinnerRoundedDashes { get; set; }
+
+ ///
+ /// Gets or sets the base spinner rotation duration in seconds.
+ ///
+ double LoadingSpinnerRotationSeconds { get; set; }
+
+ ///
+ /// Gets or sets whether spinner speed should be adjusted by spinner size.
+ ///
+ bool EnableLoadingSpinnerAutoSpeed { get; set; }
+
+ ///
+ /// Gets or sets the safe area padding in pixels used by logo and loading spinner.
+ ///
+ int SafeAreaPadding { get; set; }
+
+ ///
+ /// Gets or sets background image opacity.
+ ///
+ double BackgroundImageOpacity { get; set; }
}
public class GeneralSplashSettings : IGeneralSplashSettings
@@ -84,5 +139,16 @@ public class GeneralSplashSettings : IGeneralSplashSettings
public VerticalAlignment LogoVerticalAlignment { get; set; } = VerticalAlignment.Bottom;
public ModeSplashSettings DesktopModeSettings { get; set; } = new ModeSplashSettings();
public ModeSplashSettings FullscreenModeSettings { get; set; } = new ModeSplashSettings();
+ public bool EnableLoadingSpinner { get; set; } = true;
+ public int LoadingSpinnerSize { get; set; } = 50;
+ public double LoadingSpinnerOpacity { get; set; } = 0.85;
+ public double LoadingSpinnerThickness { get; set; } = 2.0;
+ public double LoadingSpinnerDashLength { get; set; } = 4.0;
+ public int LoadingSpinnerDashCount { get; set; } = 16;
+ public bool LoadingSpinnerRoundedDashes { get; set; } = false;
+ public double LoadingSpinnerRotationSeconds { get; set; } = 3.0;
+ public bool EnableLoadingSpinnerAutoSpeed { get; set; } = true;
+ public int SafeAreaPadding { get; set; } = 60;
+ public double BackgroundImageOpacity { get; set; } = 0.60;
}
}
\ No newline at end of file
diff --git a/source/Generic/SplashScreen/SplashScreen.cs b/source/Generic/SplashScreen/SplashScreen.cs
index 289773d8d9..64a341102a 100644
--- a/source/Generic/SplashScreen/SplashScreen.cs
+++ b/source/Generic/SplashScreen/SplashScreen.cs
@@ -5,6 +5,7 @@
using Playnite.SDK.Plugins;
using PlayniteUtilitiesCommon;
using PluginsCommon;
+using SplashScreen.Helpers;
using SplashScreen.Models;
using SplashScreen.ViewModels;
using SplashScreen.Views;
@@ -196,6 +197,7 @@ private GeneralSplashSettings GetGeneralSplashScreenSettings(Game game)
var gameSplashSettings = Serialization.FromJsonFile(gameSettingsPath);
if (gameSplashSettings.EnableGameSpecificSettings)
{
+ SplashSettingsSyncHelper.ApplyGlobalIndicatorSettings(gameSplashSettings.GeneralSplashSettings, settings.Settings.GeneralSplashSettings);
return gameSplashSettings.GeneralSplashSettings;
}
}
@@ -580,7 +582,7 @@ private void OpenSplashScreenGameConfigWindow(Game game)
window.Title = "Splash Screen";
window.Content = new GameSettingsWindow();
- window.DataContext = new GameSettingsWindowViewModel(PlayniteApi, GetPluginUserDataPath(), game);
+ window.DataContext = new GameSettingsWindowViewModel(PlayniteApi, GetPluginUserDataPath(), game, settings.Settings.GeneralSplashSettings);
window.Owner = PlayniteApi.Dialogs.GetCurrentAppWindow();
window.WindowStartupLocation = WindowStartupLocation.CenterScreen;
diff --git a/source/Generic/SplashScreen/SplashScreen.csproj b/source/Generic/SplashScreen/SplashScreen.csproj
index 7c8e874b10..1671be3852 100644
--- a/source/Generic/SplashScreen/SplashScreen.csproj
+++ b/source/Generic/SplashScreen/SplashScreen.csproj
@@ -97,6 +97,8 @@
+
+
@@ -111,6 +113,9 @@
GameSettingsWindow.xaml
+
+ SpinnerPreviewControl.xaml
+
SplashScreenImage.xaml
@@ -140,6 +145,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
diff --git a/source/Generic/SplashScreen/SplashScreenSettingsView.xaml b/source/Generic/SplashScreen/SplashScreenSettingsView.xaml
index a38137a523..1739ff6e08 100644
--- a/source/Generic/SplashScreen/SplashScreenSettingsView.xaml
+++ b/source/Generic/SplashScreen/SplashScreenSettingsView.xaml
@@ -3,6 +3,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pcmd="clr-namespace:PluginsCommon.Commands"
+ xmlns:splashviews="clr-namespace:SplashScreen.Views"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="700" d:DesignWidth="600">
@@ -81,6 +82,92 @@
SelectedValuePath="Key" Margin="10,0,0,0" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml b/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml
new file mode 100644
index 0000000000..02ccce5cb4
--- /dev/null
+++ b/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs b/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs
new file mode 100644
index 0000000000..147def685e
--- /dev/null
+++ b/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs
@@ -0,0 +1,246 @@
+using System;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Shapes;
+using SplashScreen.Helpers;
+
+namespace SplashScreen.Views
+{
+ public partial class SpinnerPreviewControl : UserControl
+ {
+ public static readonly DependencyProperty SpinnerSizeProperty =
+ DependencyProperty.Register(nameof(SpinnerSize), typeof(double), typeof(SpinnerPreviewControl),
+ new PropertyMetadata(50.0, OnAnimationPropertyChanged));
+
+ public static readonly DependencyProperty SpinnerOpacityProperty =
+ DependencyProperty.Register(nameof(SpinnerOpacity), typeof(double), typeof(SpinnerPreviewControl),
+ new PropertyMetadata(0.85));
+
+ public static readonly DependencyProperty PreviewBackgroundLevelProperty =
+ DependencyProperty.Register(nameof(PreviewBackgroundLevel), typeof(double), typeof(SpinnerPreviewControl),
+ new PropertyMetadata(0.5, OnAppearancePropertyChanged));
+
+ public static readonly DependencyProperty SpinnerThicknessProperty =
+ DependencyProperty.Register(nameof(SpinnerThickness), typeof(double), typeof(SpinnerPreviewControl),
+ new PropertyMetadata(2.0, OnAppearancePropertyChanged));
+
+ public static readonly DependencyProperty SpinnerDashLengthProperty =
+ DependencyProperty.Register(nameof(SpinnerDashLength), typeof(double), typeof(SpinnerPreviewControl),
+ new PropertyMetadata(4.0, OnAppearancePropertyChanged));
+
+ public static readonly DependencyProperty SpinnerDashCountProperty =
+ DependencyProperty.Register(nameof(SpinnerDashCount), typeof(int), typeof(SpinnerPreviewControl),
+ new PropertyMetadata(16, OnAppearancePropertyChanged));
+
+ public static readonly DependencyProperty RoundedDashesProperty =
+ DependencyProperty.Register(nameof(RoundedDashes), typeof(bool), typeof(SpinnerPreviewControl),
+ new PropertyMetadata(false, OnAppearancePropertyChanged));
+
+ public static readonly DependencyProperty RotationSecondsProperty =
+ DependencyProperty.Register(nameof(RotationSeconds), typeof(double), typeof(SpinnerPreviewControl),
+ new PropertyMetadata(3.0, OnAnimationPropertyChanged));
+
+ public static readonly DependencyProperty AutoSpeedProperty =
+ DependencyProperty.Register(nameof(AutoSpeed), typeof(bool), typeof(SpinnerPreviewControl),
+ new PropertyMetadata(true, OnAnimationPropertyChanged));
+
+ public double SpinnerSize
+ {
+ get => (double)GetValue(SpinnerSizeProperty);
+ set => SetValue(SpinnerSizeProperty, value);
+ }
+
+ public double SpinnerOpacity
+ {
+ get => (double)GetValue(SpinnerOpacityProperty);
+ set => SetValue(SpinnerOpacityProperty, value);
+ }
+
+ public double PreviewBackgroundLevel
+ {
+ get => (double)GetValue(PreviewBackgroundLevelProperty);
+ set => SetValue(PreviewBackgroundLevelProperty, value);
+ }
+
+ public double SpinnerThickness
+ {
+ get => (double)GetValue(SpinnerThicknessProperty);
+ set => SetValue(SpinnerThicknessProperty, value);
+ }
+
+ public double SpinnerDashLength
+ {
+ get => (double)GetValue(SpinnerDashLengthProperty);
+ set => SetValue(SpinnerDashLengthProperty, value);
+ }
+
+ public int SpinnerDashCount
+ {
+ get => (int)GetValue(SpinnerDashCountProperty);
+ set => SetValue(SpinnerDashCountProperty, value);
+ }
+
+ public bool RoundedDashes
+ {
+ get => (bool)GetValue(RoundedDashesProperty);
+ set => SetValue(RoundedDashesProperty, value);
+ }
+
+ public double RotationSeconds
+ {
+ get => (double)GetValue(RotationSecondsProperty);
+ set => SetValue(RotationSecondsProperty, value);
+ }
+
+ public bool AutoSpeed
+ {
+ get => (bool)GetValue(AutoSpeedProperty);
+ set => SetValue(AutoSpeedProperty, value);
+ }
+
+ private bool _isLoaded;
+
+ public SpinnerPreviewControl()
+ {
+ InitializeComponent();
+ Loaded += (s, e) =>
+ {
+ _isLoaded = true;
+ ApplyAppearance();
+ ApplyAnimation();
+ };
+ }
+
+ private static void OnAnimationPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
+ {
+ if (d is SpinnerPreviewControl control && control._isLoaded)
+ {
+ control.ApplyAnimation();
+ }
+ }
+
+ private static void OnAppearancePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
+ {
+ if (d is SpinnerPreviewControl control && control._isLoaded)
+ {
+ control.ApplyAppearance();
+ }
+ }
+
+ private void ApplyAppearance()
+ {
+ if (PreviewPath == null)
+ {
+ return;
+ }
+
+ var previewLevel = PreviewBackgroundLevel;
+ if (previewLevel < 0.0)
+ {
+ previewLevel = 0.0;
+ }
+ else if (previewLevel > 1.0)
+ {
+ previewLevel = 1.0;
+ }
+
+ var channel = (byte)(previewLevel * 255.0);
+ if (PreviewContainer != null)
+ {
+ PreviewContainer.Background = new SolidColorBrush(Color.FromRgb(channel, channel, channel));
+ }
+
+ var thickness = SpinnerThickness;
+ if (thickness < 0.5)
+ {
+ thickness = 0.5;
+ }
+
+ var dashLengthPx = SpinnerDashLength;
+ if (dashLengthPx < 0.5)
+ {
+ dashLengthPx = 0.5;
+ }
+
+ var dashCount = SpinnerDashCount;
+ if (dashCount < 2)
+ {
+ dashCount = 2;
+ }
+
+ var spinnerSize = SpinnerSize;
+ if (spinnerSize < 4)
+ {
+ spinnerSize = 4;
+ }
+
+ var roundedDashes = RoundedDashes;
+ PreviewPath.StrokeThickness = thickness;
+ PreviewPath.StrokeDashArray = null;
+ PreviewPath.StrokeDashOffset = 0;
+ PreviewPath.StrokeDashCap = PenLineCap.Flat;
+ PreviewPath.StrokeStartLineCap = roundedDashes ? PenLineCap.Round : PenLineCap.Flat;
+ PreviewPath.StrokeEndLineCap = roundedDashes ? PenLineCap.Round : PenLineCap.Flat;
+ PreviewPath.Data = SpinnerGeometryBuilder.BuildDashGeometry(spinnerSize, thickness, dashLengthPx, dashCount, roundedDashes);
+ }
+
+ private void ApplyAnimation()
+ {
+ if (PreviewPath == null)
+ {
+ return;
+ }
+
+ ApplyAppearance();
+
+ if (!(PreviewPath.RenderTransform is RotateTransform rotateTransform))
+ {
+ rotateTransform = new RotateTransform();
+ PreviewPath.RenderTransform = rotateTransform;
+ }
+
+ rotateTransform.BeginAnimation(RotateTransform.AngleProperty, null);
+
+ var baseSeconds = RotationSeconds;
+ if (baseSeconds <= 0)
+ {
+ baseSeconds = 3.0;
+ }
+
+ var durationSeconds = baseSeconds;
+ if (AutoSpeed)
+ {
+ var normalizedSize = SpinnerSize / 50.0;
+ if (normalizedSize < 0.4)
+ {
+ normalizedSize = 0.4;
+ }
+
+ durationSeconds = baseSeconds * normalizedSize;
+ }
+
+ if (durationSeconds < 0.25)
+ {
+ durationSeconds = 0.25;
+ }
+
+ if (durationSeconds > 20.0)
+ {
+ durationSeconds = 20.0;
+ }
+
+ var animation = new DoubleAnimation
+ {
+ From = 0,
+ To = 360,
+ Duration = TimeSpan.FromSeconds(durationSeconds),
+ RepeatBehavior = RepeatBehavior.Forever
+ };
+
+ rotateTransform.BeginAnimation(RotateTransform.AngleProperty, animation);
+ }
+
+ }
+}
diff --git a/source/Generic/SplashScreen/Views/SplashScreenImage.xaml b/source/Generic/SplashScreen/Views/SplashScreenImage.xaml
index fc77d1812f..2101eceea3 100644
--- a/source/Generic/SplashScreen/Views/SplashScreenImage.xaml
+++ b/source/Generic/SplashScreen/Views/SplashScreenImage.xaml
@@ -7,13 +7,9 @@
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs b/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs
index c8728ec4a2..0e8416f07a 100644
--- a/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs
+++ b/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs
@@ -11,9 +11,12 @@
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
+using System.Windows.Media.Animation;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;
+using SplashScreen.Helpers;
+using SplashScreen.ViewModels;
namespace SplashScreen.Views
{
@@ -25,6 +28,117 @@ public partial class SplashScreenImage : UserControl
public SplashScreenImage()
{
InitializeComponent();
+ Loaded += SplashScreenImage_Loaded;
+ DataContextChanged += SplashScreenImage_DataContextChanged;
+ }
+
+ private void SplashScreenImage_Loaded(object sender, RoutedEventArgs e)
+ {
+ ConfigureSpinnerAnimation();
+ }
+
+ private void SplashScreenImage_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
+ {
+ ConfigureSpinnerAnimation();
+ }
+
+ private void ConfigureSpinnerAnimation()
+ {
+ if (!(DataContext is SplashScreenImageViewModel vm) || vm.Settings == null)
+ {
+ return;
+ }
+
+ ConfigureSpinnerAppearance(vm.Settings);
+
+ SpinnerPath?.BeginAnimation(UIElement.OpacityProperty, null);
+
+ if (!(SpinnerPath.RenderTransform is RotateTransform rotateTransform))
+ {
+ rotateTransform = new RotateTransform();
+ SpinnerPath.RenderTransform = rotateTransform;
+ }
+
+ rotateTransform.BeginAnimation(RotateTransform.AngleProperty, null);
+
+ var baseSeconds = vm.Settings.LoadingSpinnerRotationSeconds;
+ if (baseSeconds <= 0)
+ {
+ baseSeconds = 3.0;
+ }
+
+ var durationSeconds = baseSeconds;
+ if (vm.Settings.EnableLoadingSpinnerAutoSpeed)
+ {
+ var normalizedSize = vm.Settings.LoadingSpinnerSize / 50.0;
+ if (normalizedSize < 0.4)
+ {
+ normalizedSize = 0.4;
+ }
+
+ durationSeconds = baseSeconds * normalizedSize;
+ }
+
+ if (durationSeconds < 0.25)
+ {
+ durationSeconds = 0.25;
+ }
+
+ if (durationSeconds > 20.0)
+ {
+ durationSeconds = 20.0;
+ }
+
+ var animation = new DoubleAnimation
+ {
+ From = 0,
+ To = 360,
+ Duration = TimeSpan.FromSeconds(durationSeconds),
+ RepeatBehavior = RepeatBehavior.Forever
+ };
+
+ rotateTransform.BeginAnimation(RotateTransform.AngleProperty, animation);
+ }
+
+ private void ConfigureSpinnerAppearance(Models.GeneralSplashSettings settings)
+ {
+ if (SpinnerPath == null)
+ {
+ return;
+ }
+
+ var thickness = settings.LoadingSpinnerThickness;
+ if (thickness < 0.5)
+ {
+ thickness = 0.5;
+ }
+
+ var dashLengthPx = settings.LoadingSpinnerDashLength;
+ if (dashLengthPx < 0.5)
+ {
+ dashLengthPx = 0.5;
+ }
+
+ var dashCount = settings.LoadingSpinnerDashCount;
+ if (dashCount < 2)
+ {
+ dashCount = 2;
+ }
+
+ var spinnerSize = settings.LoadingSpinnerSize;
+ if (spinnerSize < 4)
+ {
+ spinnerSize = 4;
+ }
+
+ var roundedDashes = settings.LoadingSpinnerRoundedDashes;
+ SpinnerPath.StrokeThickness = thickness;
+ SpinnerPath.StrokeDashArray = null;
+ SpinnerPath.StrokeDashOffset = 0;
+ SpinnerPath.StrokeDashCap = PenLineCap.Flat;
+ SpinnerPath.StrokeStartLineCap = roundedDashes ? PenLineCap.Round : PenLineCap.Flat;
+ SpinnerPath.StrokeEndLineCap = roundedDashes ? PenLineCap.Round : PenLineCap.Flat;
+ SpinnerPath.Data = SpinnerGeometryBuilder.BuildDashGeometry(spinnerSize, thickness, dashLengthPx, dashCount, roundedDashes);
}
}
}
\ No newline at end of file
From 075561f3c2950d21e02d1713a1889308f9975a7b Mon Sep 17 00:00:00 2001
From: NogFar <52389872+NogFar@users.noreply.github.com>
Date: Sun, 15 Mar 2026 16:24:54 -0300
Subject: [PATCH 2/3] feat: spinner dash length percentage-based, support
single-dash mode, and unify spinner rendering logic
Changes spinner dash length semantics from pixels to percentage of each dash segment (1-100), giving consistent behavior regardless of dash count.
Adds proper support for a single-dash spinner, including full-circle rendering when set to 100%.
Refactors spinner appearance and animation calculations into shared helper logic to keep preview and runtime behavior consistent and reduce duplication.
---
.../Helpers/SpinnerGeometryBuilder.cs | 77 +++++++++--------
.../Helpers/SpinnerRenderHelper.cs | 83 +++++++++++++++++++
.../SplashScreen/Localization/af_ZA.xaml | 2 +-
.../SplashScreen/Localization/ar_SA.xaml | 2 +-
.../SplashScreen/Localization/ca_ES.xaml | 2 +-
.../SplashScreen/Localization/cs_CZ.xaml | 2 +-
.../SplashScreen/Localization/da_DK.xaml | 2 +-
.../SplashScreen/Localization/de_DE.xaml | 2 +-
.../SplashScreen/Localization/en_US.xaml | 2 +-
.../SplashScreen/Localization/eo_UY.xaml | 2 +-
.../SplashScreen/Localization/es_ES.xaml | 2 +-
.../SplashScreen/Localization/fa_IR.xaml | 2 +-
.../SplashScreen/Localization/fi_FI.xaml | 2 +-
.../SplashScreen/Localization/fr_FR.xaml | 2 +-
.../SplashScreen/Localization/gl_ES.xaml | 2 +-
.../SplashScreen/Localization/hr_HR.xaml | 2 +-
.../SplashScreen/Localization/hu_HU.xaml | 2 +-
.../SplashScreen/Localization/it_IT.xaml | 2 +-
.../SplashScreen/Localization/ja_JP.xaml | 2 +-
.../SplashScreen/Localization/ko_KR.xaml | 2 +-
.../SplashScreen/Localization/nl_NL.xaml | 2 +-
.../SplashScreen/Localization/no_NO.xaml | 2 +-
.../SplashScreen/Localization/pl_PL.xaml | 2 +-
.../SplashScreen/Localization/pt_BR.xaml | 2 +-
.../SplashScreen/Localization/pt_PT.xaml | 2 +-
.../SplashScreen/Localization/ru_RU.xaml | 2 +-
.../SplashScreen/Localization/sr_SP.xaml | 2 +-
.../SplashScreen/Localization/tr_TR.xaml | 2 +-
.../SplashScreen/Localization/uk_UA.xaml | 2 +-
.../SplashScreen/Localization/vi_VN.xaml | 2 +-
.../SplashScreen/Localization/zh_CN.xaml | 2 +-
.../SplashScreen/Localization/zh_TW.xaml | 2 +-
.../Models/GeneralSplashSettings.cs | 4 +-
.../Generic/SplashScreen/SplashScreen.csproj | 1 +
.../SplashScreenSettingsView.xaml | 6 +-
.../Views/SpinnerPreviewControl.xaml.cs | 70 ++--------------
.../Views/SplashScreenImage.xaml.cs | 78 +++--------------
37 files changed, 184 insertions(+), 195 deletions(-)
create mode 100644 source/Generic/SplashScreen/Helpers/SpinnerRenderHelper.cs
diff --git a/source/Generic/SplashScreen/Helpers/SpinnerGeometryBuilder.cs b/source/Generic/SplashScreen/Helpers/SpinnerGeometryBuilder.cs
index e86f7cf91f..6fce017eee 100644
--- a/source/Generic/SplashScreen/Helpers/SpinnerGeometryBuilder.cs
+++ b/source/Generic/SplashScreen/Helpers/SpinnerGeometryBuilder.cs
@@ -6,32 +6,14 @@ namespace SplashScreen.Helpers
{
internal static class SpinnerGeometryBuilder
{
- internal static Geometry BuildDashGeometry(double spinnerSize, double thickness, double dashLengthPx, int dashCount, bool roundedDashes)
+ internal static Geometry BuildDashGeometry(double spinnerSize, double thickness, double dashLengthPercent, int dashCount, bool roundedDashes)
{
- var clampedDashCount = Math.Max(2, Math.Min(360, dashCount));
+ var clampedDashCount = Math.Max(1, Math.Min(360, dashCount));
var innerSize = Math.Max(2.0, spinnerSize - thickness);
var radius = innerSize / 2.0;
- var circumference = 2.0 * Math.PI * radius;
- var slotPx = circumference / clampedDashCount;
var slotAngle = (2.0 * Math.PI) / clampedDashCount;
-
- var centerlineDashPx = Math.Max(0.25, dashLengthPx);
- if (roundedDashes)
- {
- centerlineDashPx = Math.Max(0.25, centerlineDashPx - thickness);
- }
-
- if (centerlineDashPx >= slotPx)
- {
- centerlineDashPx = slotPx * 0.9;
- }
-
- var dashAngle = centerlineDashPx / radius;
- var maxDashAngle = slotAngle * 0.9;
- if (dashAngle > maxDashAngle)
- {
- dashAngle = maxDashAngle;
- }
+ var clampedDashLengthPercent = Math.Max(1.0, Math.Min(100.0, dashLengthPercent));
+ var dashAngle = slotAngle * (clampedDashLengthPercent / 100.0);
var center = spinnerSize / 2.0;
var geometry = new PathGeometry();
@@ -41,29 +23,58 @@ internal static Geometry BuildDashGeometry(double spinnerSize, double thickness,
var centerAngle = (-Math.PI / 2.0) + (i * slotAngle);
var startAngle = centerAngle - (dashAngle / 2.0);
var endAngle = centerAngle + (dashAngle / 2.0);
+ AddDashFigure(geometry, center, radius, startAngle, endAngle, dashAngle);
+ }
- var startPoint = PointOnCircle(center, radius, startAngle);
- var endPoint = PointOnCircle(center, radius, endAngle);
+ return geometry;
+ }
- var figure = new PathFigure
- {
- StartPoint = startPoint,
- IsClosed = false,
- IsFilled = false
- };
+ private static void AddDashFigure(PathGeometry geometry, double center, double radius, double startAngle, double endAngle, double dashAngle)
+ {
+ var normalizedDashAngle = Math.Max(0.0, dashAngle);
+ var fullCircleThreshold = (2.0 * Math.PI) - 0.0001;
+ var startPoint = PointOnCircle(center, radius, startAngle);
+
+ var figure = new PathFigure
+ {
+ StartPoint = startPoint,
+ IsClosed = false,
+ IsFilled = false
+ };
+
+ if (normalizedDashAngle >= fullCircleThreshold)
+ {
+ var middlePoint = PointOnCircle(center, radius, startAngle + Math.PI);
figure.Segments.Add(new ArcSegment
{
- Point = endPoint,
+ Point = middlePoint,
Size = new Size(radius, radius),
IsLargeArc = false,
SweepDirection = SweepDirection.Clockwise
});
- geometry.Figures.Add(figure);
+ figure.Segments.Add(new ArcSegment
+ {
+ Point = startPoint,
+ Size = new Size(radius, radius),
+ IsLargeArc = false,
+ SweepDirection = SweepDirection.Clockwise
+ });
+ }
+ else
+ {
+ var endPoint = PointOnCircle(center, radius, endAngle);
+ figure.Segments.Add(new ArcSegment
+ {
+ Point = endPoint,
+ Size = new Size(radius, radius),
+ IsLargeArc = normalizedDashAngle > Math.PI,
+ SweepDirection = SweepDirection.Clockwise
+ });
}
- return geometry;
+ geometry.Figures.Add(figure);
}
private static Point PointOnCircle(double center, double radius, double angle)
diff --git a/source/Generic/SplashScreen/Helpers/SpinnerRenderHelper.cs b/source/Generic/SplashScreen/Helpers/SpinnerRenderHelper.cs
new file mode 100644
index 0000000000..d6e7de156b
--- /dev/null
+++ b/source/Generic/SplashScreen/Helpers/SpinnerRenderHelper.cs
@@ -0,0 +1,83 @@
+using System;
+using System.Windows.Media;
+using System.Windows.Shapes;
+
+namespace SplashScreen.Helpers
+{
+ internal static class SpinnerRenderHelper
+ {
+ internal static double ClampThickness(double thickness)
+ {
+ return Math.Max(0.5, thickness);
+ }
+
+ internal static double ClampDashLengthPercent(double dashLengthPercent)
+ {
+ return Math.Max(1.0, Math.Min(100.0, dashLengthPercent));
+ }
+
+ internal static int ClampDashCount(int dashCount)
+ {
+ return Math.Max(1, Math.Min(360, dashCount));
+ }
+
+ internal static double ClampSpinnerSize(double spinnerSize)
+ {
+ return Math.Max(4.0, spinnerSize);
+ }
+
+ internal static double CalculateRotationDurationSeconds(double baseSeconds, bool autoSpeed, double spinnerSize)
+ {
+ var normalizedBaseSeconds = baseSeconds;
+ if (normalizedBaseSeconds <= 0)
+ {
+ normalizedBaseSeconds = 3.0;
+ }
+
+ var durationSeconds = normalizedBaseSeconds;
+ if (autoSpeed)
+ {
+ var normalizedSize = spinnerSize / 50.0;
+ if (normalizedSize < 0.4)
+ {
+ normalizedSize = 0.4;
+ }
+
+ durationSeconds = normalizedBaseSeconds * normalizedSize;
+ }
+
+ if (durationSeconds < 0.25)
+ {
+ durationSeconds = 0.25;
+ }
+
+ if (durationSeconds > 20.0)
+ {
+ durationSeconds = 20.0;
+ }
+
+ return durationSeconds;
+ }
+
+ internal static void ApplySpinnerAppearance(Path spinnerPath, double spinnerSize, double thickness, double dashLengthPercent, int dashCount, bool roundedDashes)
+ {
+ if (spinnerPath == null)
+ {
+ return;
+ }
+
+ var normalizedThickness = ClampThickness(thickness);
+ var normalizedDashLengthPercent = ClampDashLengthPercent(dashLengthPercent);
+ var normalizedDashCount = ClampDashCount(dashCount);
+ var normalizedSpinnerSize = ClampSpinnerSize(spinnerSize);
+
+ spinnerPath.StrokeThickness = normalizedThickness;
+ spinnerPath.StrokeDashArray = null;
+ spinnerPath.StrokeDashOffset = 0;
+ spinnerPath.StrokeDashCap = PenLineCap.Flat;
+ spinnerPath.StrokeStartLineCap = roundedDashes ? PenLineCap.Round : PenLineCap.Flat;
+ spinnerPath.StrokeEndLineCap = roundedDashes ? PenLineCap.Round : PenLineCap.Flat;
+ spinnerPath.Data = SpinnerGeometryBuilder.BuildDashGeometry(normalizedSpinnerSize, normalizedThickness, normalizedDashLengthPercent, normalizedDashCount, roundedDashes);
+ }
+ }
+}
\ No newline at end of file
diff --git a/source/Generic/SplashScreen/Localization/af_ZA.xaml b/source/Generic/SplashScreen/Localization/af_ZA.xaml
index 4d415b18b6..53b3de6ef1 100644
--- a/source/Generic/SplashScreen/Localization/af_ZA.xaml
+++ b/source/Generic/SplashScreen/Localization/af_ZA.xaml
@@ -44,7 +44,7 @@
Voorskou-agtergrond:
Dikte van laaispinner (pixels):
Aantal strepies van laaispinner:
- Lengte van spinnerstrepie (pixels):
+ Lengte van spinnerstrepie (1-100%):
Gebruik afgeronde strepie-eindes
Pas spinner-spoed outomaties aan volgens spinnergrootte
diff --git a/source/Generic/SplashScreen/Localization/ar_SA.xaml b/source/Generic/SplashScreen/Localization/ar_SA.xaml
index 781726fc0c..681e422bbf 100644
--- a/source/Generic/SplashScreen/Localization/ar_SA.xaml
+++ b/source/Generic/SplashScreen/Localization/ar_SA.xaml
@@ -44,7 +44,7 @@
خلفية المعاينة:
سُمك المؤشر الدوار (بالبكسل):
عدد شرطات المؤشر الدوار:
- طول شرطة المؤشر الدوار (بالبكسل):
+ طول شرطة المؤشر الدوار (1-100%):
استخدام نهايات مستديرة للشرطات
ضبط سرعة المؤشر الدوار تلقائيا حسب الحجم
diff --git a/source/Generic/SplashScreen/Localization/ca_ES.xaml b/source/Generic/SplashScreen/Localization/ca_ES.xaml
index 1fa2cee706..7aad0f31a7 100644
--- a/source/Generic/SplashScreen/Localization/ca_ES.xaml
+++ b/source/Generic/SplashScreen/Localization/ca_ES.xaml
@@ -44,7 +44,7 @@
Fons de la previsualització:
Gruix de l'indicador (píxels):
Nombre de traços de l'indicador:
- Longitud del traç de l'indicador (píxels):
+ Longitud del traç de l'indicador (1-100%):
Utilitza extrems arrodonits als traços
Ajusta automàticament la velocitat segons la mida de l'indicador
diff --git a/source/Generic/SplashScreen/Localization/cs_CZ.xaml b/source/Generic/SplashScreen/Localization/cs_CZ.xaml
index 0b5f234cad..59a5c1c802 100644
--- a/source/Generic/SplashScreen/Localization/cs_CZ.xaml
+++ b/source/Generic/SplashScreen/Localization/cs_CZ.xaml
@@ -44,7 +44,7 @@
Pozadí náhledu:
Tloušťka indikátoru (pixely):
Počet čárek indikátoru:
- Délka čárky indikátoru (pixely):
+ Délka čárky indikátoru (1-100%):
Použít zaoblené konce čárek
Automaticky upravit rychlost indikátoru podle jeho velikosti
diff --git a/source/Generic/SplashScreen/Localization/da_DK.xaml b/source/Generic/SplashScreen/Localization/da_DK.xaml
index ef9af47e8b..ef736869a3 100644
--- a/source/Generic/SplashScreen/Localization/da_DK.xaml
+++ b/source/Generic/SplashScreen/Localization/da_DK.xaml
@@ -44,7 +44,7 @@
Forhåndsvisningsbaggrund:
Tykkelse på spinner (pixels):
Antal streger i spinner:
- Længde på spinnerstreg (pixels):
+ Længde på spinnerstreg (1-100%):
Brug afrundede stregeender
Juster automatisk spinnerhastighed efter spinnerstørrelse
diff --git a/source/Generic/SplashScreen/Localization/de_DE.xaml b/source/Generic/SplashScreen/Localization/de_DE.xaml
index 2b79bef608..0ff128e8d2 100644
--- a/source/Generic/SplashScreen/Localization/de_DE.xaml
+++ b/source/Generic/SplashScreen/Localization/de_DE.xaml
@@ -44,7 +44,7 @@
Vorschauhintergrund:
Dicke des Spinners (Pixel):
Anzahl der Spinner-Striche:
- Länge der Spinner-Striche (Pixel):
+ Länge der Spinner-Striche (1-100%):
Abgerundete Strichenden verwenden
Spinner-Geschwindigkeit automatisch an die Spinnergröße anpassen
diff --git a/source/Generic/SplashScreen/Localization/en_US.xaml b/source/Generic/SplashScreen/Localization/en_US.xaml
index fbc07d4773..844d93c71c 100644
--- a/source/Generic/SplashScreen/Localization/en_US.xaml
+++ b/source/Generic/SplashScreen/Localization/en_US.xaml
@@ -43,7 +43,7 @@
Preview background:
Spinner thickness (pixels):
Spinner dash count:
- Spinner dash length (pixels):
+ Spinner dash length (1-100% of segment):
Use rounded dash caps
Adjust spinner speed automatically based on spinner size
diff --git a/source/Generic/SplashScreen/Localization/eo_UY.xaml b/source/Generic/SplashScreen/Localization/eo_UY.xaml
index 2c768619fe..6054b03238 100644
--- a/source/Generic/SplashScreen/Localization/eo_UY.xaml
+++ b/source/Generic/SplashScreen/Localization/eo_UY.xaml
@@ -44,7 +44,7 @@
Fono de antaŭvido:
Dikeco de turnilo (rastrumeroj):
Nombro de streketoj de turnilo:
- Longeco de streketo de turnilo (rastrumeroj):
+ Longeco de streketo de turnilo (1-100%):
Uzi rondigitajn finojn de streketoj
Aŭtomate adapti la rapidon de turnilo laŭ la grandeco
diff --git a/source/Generic/SplashScreen/Localization/es_ES.xaml b/source/Generic/SplashScreen/Localization/es_ES.xaml
index 84fe8d7ccf..f3dbc38862 100644
--- a/source/Generic/SplashScreen/Localization/es_ES.xaml
+++ b/source/Generic/SplashScreen/Localization/es_ES.xaml
@@ -44,7 +44,7 @@
Fondo de la vista previa:
Grosor del indicador (píxeles):
Cantidad de trazos del indicador:
- Longitud del trazo del indicador (píxeles):
+ Longitud del trazo del indicador (1-100%):
Usar extremos redondeados en los trazos
Ajustar automáticamente la velocidad según el tamaño del indicador
diff --git a/source/Generic/SplashScreen/Localization/fa_IR.xaml b/source/Generic/SplashScreen/Localization/fa_IR.xaml
index b47997f1a7..2ece37a5ec 100644
--- a/source/Generic/SplashScreen/Localization/fa_IR.xaml
+++ b/source/Generic/SplashScreen/Localization/fa_IR.xaml
@@ -44,7 +44,7 @@
پسزمینه پیشنمایش:
ضخامت نشانگر (پیکسل):
تعداد خطچینهای نشانگر:
- طول خطچین نشانگر (پیکسل):
+ طول خطچین نشانگر (1-100%):
استفاده از سرخطهای گرد
تنظیم خودکار سرعت نشانگر بر اساس اندازهٔ آن
diff --git a/source/Generic/SplashScreen/Localization/fi_FI.xaml b/source/Generic/SplashScreen/Localization/fi_FI.xaml
index 3dbbbd227c..52525ffd8d 100644
--- a/source/Generic/SplashScreen/Localization/fi_FI.xaml
+++ b/source/Generic/SplashScreen/Localization/fi_FI.xaml
@@ -44,7 +44,7 @@
Esikatselun tausta:
Pyörivän ilmaisimen paksuus (pikseleinä):
Pyörivän ilmaisimen viivojen määrä:
- Pyörivän ilmaisimen viivan pituus (pikseleinä):
+ Pyörivän ilmaisimen viivan pituus (1-100%):
Käytä pyöristettyjä viivanpäitä
Säädä pyörivän ilmaisimen nopeutta automaattisesti koon mukaan
diff --git a/source/Generic/SplashScreen/Localization/fr_FR.xaml b/source/Generic/SplashScreen/Localization/fr_FR.xaml
index 5db6589235..0ba4deb3e8 100644
--- a/source/Generic/SplashScreen/Localization/fr_FR.xaml
+++ b/source/Generic/SplashScreen/Localization/fr_FR.xaml
@@ -44,7 +44,7 @@
Arriere-plan de l'aperçu :
Épaisseur de l'indicateur (pixels) :
Nombre de segments de l'indicateur :
- Longueur des segments de l'indicateur (pixels) :
+ Longueur des segments de l'indicateur (1-100%):
Utiliser des extrémités de segments arrondies
Ajuster automatiquement la vitesse selon la taille de l'indicateur
diff --git a/source/Generic/SplashScreen/Localization/gl_ES.xaml b/source/Generic/SplashScreen/Localization/gl_ES.xaml
index 9c1fbb891c..0cc04c17b9 100644
--- a/source/Generic/SplashScreen/Localization/gl_ES.xaml
+++ b/source/Generic/SplashScreen/Localization/gl_ES.xaml
@@ -44,7 +44,7 @@
Fondo da vista previa:
Espesor do indicador (píxeles):
Cantidade de trazos do indicador:
- Lonxitude do trazo do indicador (píxeles):
+ Lonxitude do trazo do indicador (1-100%):
Usar extremos redondeados no trazado
Axustar automaticamente a velocidade segundo o tamaño do indicador
diff --git a/source/Generic/SplashScreen/Localization/hr_HR.xaml b/source/Generic/SplashScreen/Localization/hr_HR.xaml
index 101574ade9..4a69c799b6 100644
--- a/source/Generic/SplashScreen/Localization/hr_HR.xaml
+++ b/source/Generic/SplashScreen/Localization/hr_HR.xaml
@@ -44,7 +44,7 @@
Pozadina pregleda:
Debljina indikatora (pikseli):
Broj crtica indikatora:
- Duljina crtice indikatora (pikseli):
+ Duljina crtice indikatora (1-100%):
Koristi zaobljene završetke crtica
Automatski prilagodi brzinu indikatora prema veličini
diff --git a/source/Generic/SplashScreen/Localization/hu_HU.xaml b/source/Generic/SplashScreen/Localization/hu_HU.xaml
index c1a904cc55..081c1355c8 100644
--- a/source/Generic/SplashScreen/Localization/hu_HU.xaml
+++ b/source/Generic/SplashScreen/Localization/hu_HU.xaml
@@ -44,7 +44,7 @@
Előnézet háttere:
Jelző vastagsága (képpont):
Jelző vonásainak száma:
- Jelző vonásának hossza (képpont):
+ Jelző vonásának hossza (1-100%):
Lekerekített vonásvégek használata
A jelző sebességének automatikus igazítása a méretéhez
diff --git a/source/Generic/SplashScreen/Localization/it_IT.xaml b/source/Generic/SplashScreen/Localization/it_IT.xaml
index b6a65f7351..3b99e9335b 100644
--- a/source/Generic/SplashScreen/Localization/it_IT.xaml
+++ b/source/Generic/SplashScreen/Localization/it_IT.xaml
@@ -44,7 +44,7 @@
Sfondo anteprima:
Spessore indicatore (pixel):
Numero trattini indicatore:
- Lunghezza trattino indicatore (pixel):
+ Lunghezza trattino indicatore (1-100%):
Usa estremità arrotondate per i trattini
Regola automaticamente la velocità in base alla dimensione dell'indicatore
diff --git a/source/Generic/SplashScreen/Localization/ja_JP.xaml b/source/Generic/SplashScreen/Localization/ja_JP.xaml
index 27fad4a64f..4eba4ddfda 100644
--- a/source/Generic/SplashScreen/Localization/ja_JP.xaml
+++ b/source/Generic/SplashScreen/Localization/ja_JP.xaml
@@ -44,7 +44,7 @@
プレビュー背景:
スピナーの太さ (ピクセル):
スピナーのダッシュ数:
- スピナーのダッシュ長 (ピクセル):
+ スピナーのダッシュ長 (1-100%):
ダッシュ端を丸くする
スピナーサイズに応じて速度を自動調整する
diff --git a/source/Generic/SplashScreen/Localization/ko_KR.xaml b/source/Generic/SplashScreen/Localization/ko_KR.xaml
index 44073630c3..f10951e42e 100644
--- a/source/Generic/SplashScreen/Localization/ko_KR.xaml
+++ b/source/Generic/SplashScreen/Localization/ko_KR.xaml
@@ -44,7 +44,7 @@
미리 보기 배경:
스피너 두께(픽셀):
스피너 대시 개수:
- 스피너 대시 길이(픽셀):
+ 스피너 대시 길이 (1-100%):
둥근 대시 끝 사용
스피너 크기에 따라 속도를 자동으로 조정
diff --git a/source/Generic/SplashScreen/Localization/nl_NL.xaml b/source/Generic/SplashScreen/Localization/nl_NL.xaml
index aee24d0534..67da0070c4 100644
--- a/source/Generic/SplashScreen/Localization/nl_NL.xaml
+++ b/source/Generic/SplashScreen/Localization/nl_NL.xaml
@@ -44,7 +44,7 @@
Voorbeeldachtergrond:
Dikte van de spinner (pixels):
Aantal streepjes van de spinner:
- Lengte van spinnerstreepjes (pixels):
+ Lengte van spinnerstreepjes (1-100%):
Afgeronde uiteinden voor streepjes gebruiken
Spinnersnelheid automatisch aanpassen op basis van de spinnergrootte
diff --git a/source/Generic/SplashScreen/Localization/no_NO.xaml b/source/Generic/SplashScreen/Localization/no_NO.xaml
index f744c4750b..b43781d022 100644
--- a/source/Generic/SplashScreen/Localization/no_NO.xaml
+++ b/source/Generic/SplashScreen/Localization/no_NO.xaml
@@ -44,7 +44,7 @@
Forhåndsvisningsbakgrunn:
Tykkelse på spinner (piksler):
Antall streker i spinner:
- Lengde på spinnerstrek (piksler):
+ Lengde på spinnerstrek (1-100%):
Bruk avrundede strekender
Juster spinnerhastigheten automatisk basert på spinnerstørrelse
diff --git a/source/Generic/SplashScreen/Localization/pl_PL.xaml b/source/Generic/SplashScreen/Localization/pl_PL.xaml
index f796b3f934..374048bfd4 100644
--- a/source/Generic/SplashScreen/Localization/pl_PL.xaml
+++ b/source/Generic/SplashScreen/Localization/pl_PL.xaml
@@ -44,7 +44,7 @@
Tło podglądu:
Grubość wskaźnika (piksele):
Liczba kresek wskaźnika:
- Długość kreski wskaźnika (piksele):
+ Długość kreski wskaźnika (1-100%):
Użyj zaokrąglonych zakończeń kresek
Automatycznie dostosuj szybkość wskaźnika do jego rozmiaru
diff --git a/source/Generic/SplashScreen/Localization/pt_BR.xaml b/source/Generic/SplashScreen/Localization/pt_BR.xaml
index 9f5cffaf9a..5cf9a2fdf9 100644
--- a/source/Generic/SplashScreen/Localization/pt_BR.xaml
+++ b/source/Generic/SplashScreen/Localization/pt_BR.xaml
@@ -44,7 +44,7 @@
Fundo da pré-visualização:
Espessura do indicador (pixels):
Quantidade de traços do indicador:
- Comprimento do tracejado do indicador (pixels):
+ Comprimento do traço do indicador (1-100% do segmento):
Usar extremidades arredondadas no tracejado
Ajustar automaticamente a velocidade do indicador de acordo com o tamanho
diff --git a/source/Generic/SplashScreen/Localization/pt_PT.xaml b/source/Generic/SplashScreen/Localization/pt_PT.xaml
index c5b63d8ed0..b0d68ff3ad 100644
--- a/source/Generic/SplashScreen/Localization/pt_PT.xaml
+++ b/source/Generic/SplashScreen/Localization/pt_PT.xaml
@@ -44,7 +44,7 @@
Fundo da pré-visualização:
Espessura do indicador (píxeis):
Quantidade de traços do indicador:
- Comprimento do tracejado do indicador (píxeis):
+ Comprimento do traço do indicador (1-100% do segmento):
Utilizar extremidades arredondadas no tracejado
Ajustar automaticamente a velocidade do indicador com base no tamanho
diff --git a/source/Generic/SplashScreen/Localization/ru_RU.xaml b/source/Generic/SplashScreen/Localization/ru_RU.xaml
index bcc1ffa005..ee3635468c 100644
--- a/source/Generic/SplashScreen/Localization/ru_RU.xaml
+++ b/source/Generic/SplashScreen/Localization/ru_RU.xaml
@@ -44,7 +44,7 @@
Фон предпросмотра:
Толщина индикатора (пиксели):
Количество штрихов индикатора:
- Длина штриха индикатора (пиксели):
+ Длина штриха индикатора (1-100%):
Использовать закругленные концы штрихов
Автоматически подстраивать скорость индикатора под его размер
diff --git a/source/Generic/SplashScreen/Localization/sr_SP.xaml b/source/Generic/SplashScreen/Localization/sr_SP.xaml
index 1ce7ae370b..2e7e98058a 100644
--- a/source/Generic/SplashScreen/Localization/sr_SP.xaml
+++ b/source/Generic/SplashScreen/Localization/sr_SP.xaml
@@ -44,7 +44,7 @@
Позадина прегледа:
Дебљина индикатора (пиксели):
Број цртица индикатора:
- Дужина цртице индикатора (пиксели):
+ Дужина цртице индикатора (1-100%):
Користи заобљене крајеве цртица
Automatski prilagodi brzinu indikatora prema veličini
diff --git a/source/Generic/SplashScreen/Localization/tr_TR.xaml b/source/Generic/SplashScreen/Localization/tr_TR.xaml
index ce481264f1..eb3932383e 100644
--- a/source/Generic/SplashScreen/Localization/tr_TR.xaml
+++ b/source/Generic/SplashScreen/Localization/tr_TR.xaml
@@ -44,7 +44,7 @@
Önizleme arka planı:
Gösterge kalınlığı (piksel):
Gösterge çizgi sayısı:
- Gösterge çizgi uzunluğu (piksel):
+ Gösterge çizgi uzunluğu (1-100%):
Yuvarlatılmış çizgi uçlarını kullan
Gösterge hızını boyuta göre otomatik ayarla
diff --git a/source/Generic/SplashScreen/Localization/uk_UA.xaml b/source/Generic/SplashScreen/Localization/uk_UA.xaml
index 433cf38ce7..0f7d313164 100644
--- a/source/Generic/SplashScreen/Localization/uk_UA.xaml
+++ b/source/Generic/SplashScreen/Localization/uk_UA.xaml
@@ -44,7 +44,7 @@
Тло попереднього перегляду:
Товщина індикатора (пікселі):
Кількість штрихів індикатора:
- Довжина штриха індикатора (пікселі):
+ Довжина штриха індикатора (1-100%):
Використовувати заокруглені кінці штрихів
Автоматично підлаштовувати швидкість індикатора під його розмір
diff --git a/source/Generic/SplashScreen/Localization/vi_VN.xaml b/source/Generic/SplashScreen/Localization/vi_VN.xaml
index 22bc0cdb98..e1b8e136a2 100644
--- a/source/Generic/SplashScreen/Localization/vi_VN.xaml
+++ b/source/Generic/SplashScreen/Localization/vi_VN.xaml
@@ -44,7 +44,7 @@
Nền xem trước:
Độ dày vòng xoay (pixel):
Số lượng nét đứt của vòng xoay:
- Độ dài nét đứt của vòng xoay (pixel):
+ Độ dài nét đứt của vòng xoay (1-100%):
Sử dụng đầu nét bo tròn
Tự động điều chỉnh tốc độ theo kích thước vòng xoay
diff --git a/source/Generic/SplashScreen/Localization/zh_CN.xaml b/source/Generic/SplashScreen/Localization/zh_CN.xaml
index 7685426c2a..c3698e300b 100644
--- a/source/Generic/SplashScreen/Localization/zh_CN.xaml
+++ b/source/Generic/SplashScreen/Localization/zh_CN.xaml
@@ -44,7 +44,7 @@
预览背景:
指示器粗细(像素):
指示器短划线数量:
- 指示器短划线长度(像素):
+ 指示器短划线长度 (1-100%):
使用圆角短划线端帽
根据指示器大小自动调整速度
diff --git a/source/Generic/SplashScreen/Localization/zh_TW.xaml b/source/Generic/SplashScreen/Localization/zh_TW.xaml
index 9ec486dc66..aa63744344 100644
--- a/source/Generic/SplashScreen/Localization/zh_TW.xaml
+++ b/source/Generic/SplashScreen/Localization/zh_TW.xaml
@@ -44,7 +44,7 @@
預覽背景:
指示器粗細(像素):
指示器虛線數量:
- 指示器虛線長度(像素):
+ 指示器虛線長度 (1-100%):
使用圓角虛線端點
根據指示器大小自動調整速度
diff --git a/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs b/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs
index 10a7420b03..424505d076 100644
--- a/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs
+++ b/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs
@@ -90,7 +90,7 @@ public interface IGeneralSplashSettings
double LoadingSpinnerThickness { get; set; }
///
- /// Gets or sets loading spinner dash length in pixels.
+ /// Gets or sets loading spinner dash length as a percentage of each dash slot.
///
double LoadingSpinnerDashLength { get; set; }
@@ -143,7 +143,7 @@ public class GeneralSplashSettings : IGeneralSplashSettings
public int LoadingSpinnerSize { get; set; } = 50;
public double LoadingSpinnerOpacity { get; set; } = 0.85;
public double LoadingSpinnerThickness { get; set; } = 2.0;
- public double LoadingSpinnerDashLength { get; set; } = 4.0;
+ public double LoadingSpinnerDashLength { get; set; } = 70.0;
public int LoadingSpinnerDashCount { get; set; } = 16;
public bool LoadingSpinnerRoundedDashes { get; set; } = false;
public double LoadingSpinnerRotationSeconds { get; set; } = 3.0;
diff --git a/source/Generic/SplashScreen/SplashScreen.csproj b/source/Generic/SplashScreen/SplashScreen.csproj
index 1671be3852..e4820fcc13 100644
--- a/source/Generic/SplashScreen/SplashScreen.csproj
+++ b/source/Generic/SplashScreen/SplashScreen.csproj
@@ -99,6 +99,7 @@
+
diff --git a/source/Generic/SplashScreen/SplashScreenSettingsView.xaml b/source/Generic/SplashScreen/SplashScreenSettingsView.xaml
index 1739ff6e08..a3ce0b7ca8 100644
--- a/source/Generic/SplashScreen/SplashScreenSettingsView.xaml
+++ b/source/Generic/SplashScreen/SplashScreenSettingsView.xaml
@@ -136,14 +136,14 @@
-
-
+
-
diff --git a/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs b/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs
index 147def685e..b77e5d3b46 100644
--- a/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs
+++ b/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs
@@ -28,7 +28,7 @@ public partial class SpinnerPreviewControl : UserControl
public static readonly DependencyProperty SpinnerDashLengthProperty =
DependencyProperty.Register(nameof(SpinnerDashLength), typeof(double), typeof(SpinnerPreviewControl),
- new PropertyMetadata(4.0, OnAppearancePropertyChanged));
+ new PropertyMetadata(70.0, OnAppearancePropertyChanged));
public static readonly DependencyProperty SpinnerDashCountProperty =
DependencyProperty.Register(nameof(SpinnerDashCount), typeof(int), typeof(SpinnerPreviewControl),
@@ -152,38 +152,13 @@ private void ApplyAppearance()
PreviewContainer.Background = new SolidColorBrush(Color.FromRgb(channel, channel, channel));
}
- var thickness = SpinnerThickness;
- if (thickness < 0.5)
- {
- thickness = 0.5;
- }
-
- var dashLengthPx = SpinnerDashLength;
- if (dashLengthPx < 0.5)
- {
- dashLengthPx = 0.5;
- }
-
- var dashCount = SpinnerDashCount;
- if (dashCount < 2)
- {
- dashCount = 2;
- }
-
- var spinnerSize = SpinnerSize;
- if (spinnerSize < 4)
- {
- spinnerSize = 4;
- }
-
- var roundedDashes = RoundedDashes;
- PreviewPath.StrokeThickness = thickness;
- PreviewPath.StrokeDashArray = null;
- PreviewPath.StrokeDashOffset = 0;
- PreviewPath.StrokeDashCap = PenLineCap.Flat;
- PreviewPath.StrokeStartLineCap = roundedDashes ? PenLineCap.Round : PenLineCap.Flat;
- PreviewPath.StrokeEndLineCap = roundedDashes ? PenLineCap.Round : PenLineCap.Flat;
- PreviewPath.Data = SpinnerGeometryBuilder.BuildDashGeometry(spinnerSize, thickness, dashLengthPx, dashCount, roundedDashes);
+ SpinnerRenderHelper.ApplySpinnerAppearance(
+ PreviewPath,
+ SpinnerSize,
+ SpinnerThickness,
+ SpinnerDashLength,
+ SpinnerDashCount,
+ RoundedDashes);
}
private void ApplyAnimation()
@@ -202,34 +177,7 @@ private void ApplyAnimation()
}
rotateTransform.BeginAnimation(RotateTransform.AngleProperty, null);
-
- var baseSeconds = RotationSeconds;
- if (baseSeconds <= 0)
- {
- baseSeconds = 3.0;
- }
-
- var durationSeconds = baseSeconds;
- if (AutoSpeed)
- {
- var normalizedSize = SpinnerSize / 50.0;
- if (normalizedSize < 0.4)
- {
- normalizedSize = 0.4;
- }
-
- durationSeconds = baseSeconds * normalizedSize;
- }
-
- if (durationSeconds < 0.25)
- {
- durationSeconds = 0.25;
- }
-
- if (durationSeconds > 20.0)
- {
- durationSeconds = 20.0;
- }
+ var durationSeconds = SpinnerRenderHelper.CalculateRotationDurationSeconds(RotationSeconds, AutoSpeed, SpinnerSize);
var animation = new DoubleAnimation
{
diff --git a/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs b/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs
index 0e8416f07a..5cc167cc38 100644
--- a/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs
+++ b/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs
@@ -60,34 +60,10 @@ private void ConfigureSpinnerAnimation()
}
rotateTransform.BeginAnimation(RotateTransform.AngleProperty, null);
-
- var baseSeconds = vm.Settings.LoadingSpinnerRotationSeconds;
- if (baseSeconds <= 0)
- {
- baseSeconds = 3.0;
- }
-
- var durationSeconds = baseSeconds;
- if (vm.Settings.EnableLoadingSpinnerAutoSpeed)
- {
- var normalizedSize = vm.Settings.LoadingSpinnerSize / 50.0;
- if (normalizedSize < 0.4)
- {
- normalizedSize = 0.4;
- }
-
- durationSeconds = baseSeconds * normalizedSize;
- }
-
- if (durationSeconds < 0.25)
- {
- durationSeconds = 0.25;
- }
-
- if (durationSeconds > 20.0)
- {
- durationSeconds = 20.0;
- }
+ var durationSeconds = SpinnerRenderHelper.CalculateRotationDurationSeconds(
+ vm.Settings.LoadingSpinnerRotationSeconds,
+ vm.Settings.EnableLoadingSpinnerAutoSpeed,
+ vm.Settings.LoadingSpinnerSize);
var animation = new DoubleAnimation
{
@@ -102,43 +78,13 @@ private void ConfigureSpinnerAnimation()
private void ConfigureSpinnerAppearance(Models.GeneralSplashSettings settings)
{
- if (SpinnerPath == null)
- {
- return;
- }
-
- var thickness = settings.LoadingSpinnerThickness;
- if (thickness < 0.5)
- {
- thickness = 0.5;
- }
-
- var dashLengthPx = settings.LoadingSpinnerDashLength;
- if (dashLengthPx < 0.5)
- {
- dashLengthPx = 0.5;
- }
-
- var dashCount = settings.LoadingSpinnerDashCount;
- if (dashCount < 2)
- {
- dashCount = 2;
- }
-
- var spinnerSize = settings.LoadingSpinnerSize;
- if (spinnerSize < 4)
- {
- spinnerSize = 4;
- }
-
- var roundedDashes = settings.LoadingSpinnerRoundedDashes;
- SpinnerPath.StrokeThickness = thickness;
- SpinnerPath.StrokeDashArray = null;
- SpinnerPath.StrokeDashOffset = 0;
- SpinnerPath.StrokeDashCap = PenLineCap.Flat;
- SpinnerPath.StrokeStartLineCap = roundedDashes ? PenLineCap.Round : PenLineCap.Flat;
- SpinnerPath.StrokeEndLineCap = roundedDashes ? PenLineCap.Round : PenLineCap.Flat;
- SpinnerPath.Data = SpinnerGeometryBuilder.BuildDashGeometry(spinnerSize, thickness, dashLengthPx, dashCount, roundedDashes);
+ SpinnerRenderHelper.ApplySpinnerAppearance(
+ SpinnerPath,
+ settings.LoadingSpinnerSize,
+ settings.LoadingSpinnerThickness,
+ settings.LoadingSpinnerDashLength,
+ settings.LoadingSpinnerDashCount,
+ settings.LoadingSpinnerRoundedDashes);
}
}
-}
\ No newline at end of file
+}
From 920d8e6de9f3b56f81864a5456ccd04a8819fb13 Mon Sep 17 00:00:00 2001
From: NogFar <52389872+NogFar@users.noreply.github.com>
Date: Sun, 15 Mar 2026 17:06:37 -0300
Subject: [PATCH 3/3] chore: complying with repository rules
---
.../Models/GeneralSplashSettings.cs | 4 -
source/Generic/SplashScreen/SplashScreen.cs | 174 +++++++++---------
.../SplashScreen/SplashScreenSettings.cs | 37 ++--
.../ViewModels/GameSettingsWindowViewModel.cs | 73 ++++----
.../ViewModels/SplashScreenImageViewModel.cs | 40 ++--
.../ViewModels/VideoManagerViewModel.cs | 69 ++++---
.../Views/SpinnerPreviewControl.xaml.cs | 1 -
.../Views/SplashScreenImage.xaml.cs | 12 --
8 files changed, 193 insertions(+), 217 deletions(-)
diff --git a/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs b/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs
index 424505d076..3e63d9b7b7 100644
--- a/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs
+++ b/source/Generic/SplashScreen/Models/GeneralSplashSettings.cs
@@ -1,8 +1,4 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using System.Windows;
namespace SplashScreen.Models
diff --git a/source/Generic/SplashScreen/SplashScreen.cs b/source/Generic/SplashScreen/SplashScreen.cs
index 64a341102a..c2c8affac5 100644
--- a/source/Generic/SplashScreen/SplashScreen.cs
+++ b/source/Generic/SplashScreen/SplashScreen.cs
@@ -26,13 +26,13 @@ namespace SplashScreen
{
public class SplashScreen : GenericPlugin
{
- private static readonly ILogger logger = LogManager.GetLogger();
- private readonly DispatcherTimer timerCloseWindow;
- private string pluginInstallPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
- private Window currentSplashWindow;
- private bool? isMusicMutedBackup;
- private EventWaitHandle videoWaitHandle;
- private readonly DispatcherTimer timerWindowRemoveTopMost;
+ private static readonly ILogger _logger = LogManager.GetLogger();
+ private readonly DispatcherTimer _timerCloseWindow;
+ private string _pluginInstallPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
+ private Window _currentSplashWindow;
+ private bool? _isMusicMutedBackup;
+ private EventWaitHandle _videoWaitHandle;
+ private readonly DispatcherTimer _timerWindowRemoveTopMost;
private const string featureNameSplashScreenDisable = "[Splash Screen] Disable";
private const string featureNameSkipSplashImage = "[Splash Screen] Skip splash image";
private const string videoIntroName = "VideoIntro.mp4";
@@ -50,23 +50,23 @@ public SplashScreen(IPlayniteAPI api) : base(api)
HasSettings = true
};
- videoWaitHandle = new EventWaitHandle(false, EventResetMode.ManualReset);
- timerCloseWindow = new DispatcherTimer();
- timerCloseWindow.Interval = TimeSpan.FromMilliseconds(60000);
- timerCloseWindow.Tick += (_, __) =>
+ _videoWaitHandle = new EventWaitHandle(false, EventResetMode.ManualReset);
+ _timerCloseWindow = new DispatcherTimer();
+ _timerCloseWindow.Interval = TimeSpan.FromMilliseconds(60000);
+ _timerCloseWindow.Tick += (_, __) =>
{
- timerCloseWindow.Stop();
- currentSplashWindow?.Close();
+ _timerCloseWindow.Stop();
+ _currentSplashWindow?.Close();
};
- timerWindowRemoveTopMost = new DispatcherTimer();
- timerWindowRemoveTopMost.Interval = TimeSpan.FromMilliseconds(800);
- timerWindowRemoveTopMost.Tick += (_, __) =>
+ _timerWindowRemoveTopMost = new DispatcherTimer();
+ _timerWindowRemoveTopMost.Interval = TimeSpan.FromMilliseconds(800);
+ _timerWindowRemoveTopMost.Tick += (_, __) =>
{
- timerWindowRemoveTopMost.Stop();
- if (currentSplashWindow != null)
+ _timerWindowRemoveTopMost.Stop();
+ if (_currentSplashWindow != null)
{
- currentSplashWindow.Topmost = false;
+ _currentSplashWindow.Topmost = false;
}
};
}
@@ -81,7 +81,7 @@ private void MuteBackgroundMusic()
if (PlayniteApi.ApplicationSettings.Fullscreen.IsMusicMuted == false)
{
PlayniteApi.ApplicationSettings.Fullscreen.IsMusicMuted = true;
- isMusicMutedBackup = false;
+ _isMusicMutedBackup = false;
}
}
@@ -92,18 +92,18 @@ private void RestoreBackgroundMusic()
return;
}
- if (isMusicMutedBackup != null && isMusicMutedBackup == false)
+ if (_isMusicMutedBackup != null && _isMusicMutedBackup == false)
{
PlayniteApi.ApplicationSettings.Fullscreen.IsMusicMuted = false;
- isMusicMutedBackup = null;
+ _isMusicMutedBackup = null;
}
}
public override void OnGameStarted(OnGameStartedEventArgs args)
{
- if (currentSplashWindow != null)
+ if (_currentSplashWindow != null)
{
- currentSplashWindow.Topmost = false;
+ _currentSplashWindow.Topmost = false;
}
}
@@ -115,22 +115,22 @@ public override void OnGameStarting(OnGameStartingEventArgs args)
? generalSplashSettings.DesktopModeSettings : generalSplashSettings.FullscreenModeSettings;
if (!modeSplashSettings.IsEnabled)
{
- logger.Info($"Execution disabled for {PlayniteApi.ApplicationInfo.Mode} mode in settings");
+ _logger.Info($"Execution disabled for {PlayniteApi.ApplicationInfo.Mode} mode in settings");
return;
}
// In case somebody starts another game or if splash screen was not closed before for some reason
- if (currentSplashWindow != null)
+ if (_currentSplashWindow != null)
{
- currentSplashWindow.Close();
- currentSplashWindow = null;
+ _currentSplashWindow.Close();
+ _currentSplashWindow = null;
RestoreBackgroundMusic();
}
- currentSplashWindow = null;
+ _currentSplashWindow = null;
if (PlayniteUtilities.GetGameHasFeature(game, featureNameSplashScreenDisable, true))
{
- logger.Info($"{game.Name} has splashscreen disable feature");
+ _logger.Info($"{game.Name} has splashscreen disable feature");
return;
}
@@ -159,7 +159,7 @@ public override void OnGameStarting(OnGameStartingEventArgs args)
{
if (generalSplashSettings.UseBlackSplashscreen)
{
- splashImagePath = Path.Combine(pluginInstallPath, "Images", "SplashScreenBlack.png");
+ splashImagePath = Path.Combine(_pluginInstallPath, "Images", "SplashScreenBlack.png");
}
else
{
@@ -229,13 +229,13 @@ private void ActivateSplashWindow(Window currentSplashWindow)
private void SkipSplash(object sender, EventArgs e)
{
- if (currentSplashWindow.Content is SplashScreenVideo)
+ if (_currentSplashWindow.Content is SplashScreenVideo)
{
- videoWaitHandle.Set();
+ _videoWaitHandle.Set();
}
else
{
- currentSplashWindow.Close();
+ _currentSplashWindow.Close();
}
}
@@ -244,11 +244,11 @@ private void CreateSplashVideoWindow(bool showSplashImage, string videoPath, str
// Mutes Playnite Background music to make sure its not playing when video or splash screen image
// is active and prevents music not stopping when game is already running
MuteBackgroundMusic();
- timerCloseWindow.Stop();
- currentSplashWindow?.Close();
+ _timerCloseWindow.Stop();
+ _currentSplashWindow?.Close();
var content = new SplashScreenVideo(videoPath);
- currentSplashWindow = new Window
+ _currentSplashWindow = new Window
{
WindowStyle = WindowStyle.None,
ResizeMode = ResizeMode.NoResize,
@@ -259,70 +259,70 @@ private void CreateSplashVideoWindow(bool showSplashImage, string videoPath, str
Topmost = true
};
- currentSplashWindow.Closed += SplashWindowClosed;
+ _currentSplashWindow.Closed += SplashWindowClosed;
content.VideoPlayer.MediaEnded += VideoPlayer_MediaEnded;
content.VideoPlayer.MediaFailed += VideoPlayer_MediaFailed;
- currentSplashWindow.KeyDown += SkipSplash;
- currentSplashWindow.MouseDown += SkipSplash;
+ _currentSplashWindow.KeyDown += SkipSplash;
+ _currentSplashWindow.MouseDown += SkipSplash;
- currentSplashWindow.Show();
+ _currentSplashWindow.Show();
// To wait until the video stops playing, a progress dialog is used
// to make Playnite wait in a non locking way and without sleeping the whole
// application
- videoWaitHandle.Reset();
+ _videoWaitHandle.Reset();
PlayniteApi.Dialogs.ActivateGlobalProgress((_) =>
{
- ActivateSplashWindow(currentSplashWindow);
- videoWaitHandle.WaitOne();
+ ActivateSplashWindow(_currentSplashWindow);
+ _videoWaitHandle.WaitOne();
content.VideoPlayer.MediaEnded -= VideoPlayer_MediaEnded;
content.VideoPlayer.MediaFailed -= VideoPlayer_MediaFailed;
- logger.Debug("videoWaitHandle.WaitOne() passed");
+ _logger.Debug("videoWaitHandle.WaitOne() passed");
}, new GlobalProgressOptions(string.Empty) { IsIndeterminate = false });
if (showSplashImage)
{
- currentSplashWindow.Content = new SplashScreenImage { DataContext = new SplashScreenImageViewModel(generalSplashSettings, splashImagePath, logoPath) };
+ _currentSplashWindow.Content = new SplashScreenImage { DataContext = new SplashScreenImageViewModel(generalSplashSettings, splashImagePath, logoPath) };
PlayniteApi.Dialogs.ActivateGlobalProgress((a) =>
{
- ActivateSplashWindow(currentSplashWindow);
+ ActivateSplashWindow(_currentSplashWindow);
Thread.Sleep(3000);
}, new GlobalProgressOptions(string.Empty) { IsIndeterminate = false });
if (modeSplashSettings.CloseSplashscreenAutomatic)
{
- timerCloseWindow.Stop();
- timerCloseWindow.Start();
+ _timerCloseWindow.Stop();
+ _timerCloseWindow.Start();
}
}
else
{
- currentSplashWindow?.Close();
+ _currentSplashWindow?.Close();
}
- timerWindowRemoveTopMost.Stop();
- timerWindowRemoveTopMost.Start();
+ _timerWindowRemoveTopMost.Stop();
+ _timerWindowRemoveTopMost.Start();
}
private void VideoPlayer_MediaEnded(object sender, RoutedEventArgs e)
{
- videoWaitHandle.Set();
+ _videoWaitHandle.Set();
}
private void VideoPlayer_MediaFailed(object sender, ExceptionRoutedEventArgs e)
{
- videoWaitHandle.Set();
+ _videoWaitHandle.Set();
}
private void CreateSplashImageWindow(string splashImagePath, string logoPath, GeneralSplashSettings generalSplashSettings, ModeSplashSettings modeSplashSettings)
{
// Mutes Playnite Background music to make sure its not playing when video or splash screen image
// is active and prevents music not stopping when game is already running
- timerCloseWindow.Stop();
+ _timerCloseWindow.Stop();
- currentSplashWindow?.Close();
+ _currentSplashWindow?.Close();
MuteBackgroundMusic();
- currentSplashWindow = new Window
+ _currentSplashWindow = new Window
{
WindowStyle = WindowStyle.None,
ResizeMode = ResizeMode.NoResize,
@@ -333,39 +333,39 @@ private void CreateSplashImageWindow(string splashImagePath, string logoPath, Ge
Topmost = true
};
- currentSplashWindow.Closed += SplashWindowClosed;
- currentSplashWindow.KeyDown += SkipSplash;
- currentSplashWindow.MouseDown += SkipSplash;
+ _currentSplashWindow.Closed += SplashWindowClosed;
+ _currentSplashWindow.KeyDown += SkipSplash;
+ _currentSplashWindow.MouseDown += SkipSplash;
- currentSplashWindow.Show();
+ _currentSplashWindow.Show();
PlayniteApi.Dialogs.ActivateGlobalProgress((a) =>
{
- ActivateSplashWindow(currentSplashWindow);
+ ActivateSplashWindow(_currentSplashWindow);
Thread.Sleep(3000);
}, new GlobalProgressOptions(string.Empty) { IsIndeterminate = false});
if (modeSplashSettings.CloseSplashscreenAutomatic)
{
- timerCloseWindow.Stop();
- timerCloseWindow.Start();
+ _timerCloseWindow.Stop();
+ _timerCloseWindow.Start();
}
// The window topmost property is set to false after a small time to make sure
// Playnite does not restore itself over the created window after the method ends
// and it starts launching the game
- timerWindowRemoveTopMost.Stop();
- timerWindowRemoveTopMost.Start();
+ _timerWindowRemoveTopMost.Stop();
+ _timerWindowRemoveTopMost.Start();
}
private void SplashWindowClosed(object sender, EventArgs e)
{
- timerCloseWindow.Stop();
- videoWaitHandle.Set();
- currentSplashWindow.Closed -= SplashWindowClosed;
- currentSplashWindow.KeyDown -= SkipSplash;
- currentSplashWindow.MouseDown -= SkipSplash;
- currentSplashWindow = null;
+ _timerCloseWindow.Stop();
+ _videoWaitHandle.Set();
+ _currentSplashWindow.Closed -= SplashWindowClosed;
+ _currentSplashWindow.KeyDown -= SkipSplash;
+ _currentSplashWindow.MouseDown -= SkipSplash;
+ _currentSplashWindow = null;
}
private string GetSplashVideoPath(Game game, ModeSplashSettings modeSplashSettings)
@@ -376,7 +376,7 @@ private string GetSplashVideoPath(Game game, ModeSplashSettings modeSplashSettin
var splashVideo = Path.Combine(baseSplashVideo, videoIntroName);
if (FileSystem.FileExists(splashVideo))
{
- logger.Info(string.Format("Specific game video found in {0}", splashVideo));
+ _logger.Info(string.Format("Specific game video found in {0}", splashVideo));
return LogAcquiredVideo("Game-specific", splashVideo);
}
@@ -418,14 +418,14 @@ private string GetSplashVideoPath(Game game, ModeSplashSettings modeSplashSettin
}
else
{
- logger.Info("Video not found");
+ _logger.Info("Video not found");
return string.Empty;
}
}
private static string LogAcquiredVideo(string source, string videoPath)
{
- logger.Info($"{source} video found in {videoPath}");
+ _logger.Info($"{source} video found in {videoPath}");
return videoPath;
}
@@ -433,7 +433,7 @@ private string GetSplashLogoPath(Game game, GeneralSplashSettings generalSplashS
{
if (generalSplashSettings.LogoUseIconAsLogo && game.Icon != null && !game.Icon.StartsWith("http"))
{
- logger.Info("Found game icon");
+ _logger.Info("Found game icon");
return PlayniteApi.Database.GetFullFilePath(game.Icon);
}
else
@@ -441,12 +441,12 @@ private string GetSplashLogoPath(Game game, GeneralSplashSettings generalSplashS
var logoPathSearch = Path.Combine(PlayniteApi.Paths.ConfigurationPath, "ExtraMetadata", "games", game.Id.ToString(), "Logo.png");
if (FileSystem.FileExists(logoPathSearch))
{
- logger.Info(string.Format("Specific game logo found in {0}", logoPathSearch));
+ _logger.Info(string.Format("Specific game logo found in {0}", logoPathSearch));
return logoPathSearch;
}
}
- logger.Info("Logo not found");
+ _logger.Info("Logo not found");
return string.Empty;
}
@@ -454,25 +454,25 @@ private string GetSplashImagePath(Game game)
{
if (game.BackgroundImage != null && !game.BackgroundImage.StartsWith("http"))
{
- logger.Info("Found game background image");
+ _logger.Info("Found game background image");
return PlayniteApi.Database.GetFullFilePath(game.BackgroundImage);
}
if (game.Platforms.HasItems() && game.Platforms[0].Background != null)
{
- logger.Info("Found platform background image");
+ _logger.Info("Found platform background image");
return PlayniteApi.Database.GetFullFilePath(game.Platforms[0].Background);
}
if (PlayniteApi.ApplicationInfo.Mode == ApplicationMode.Desktop)
{
- logger.Info("Using generic Desktop mode background image");
- return Path.Combine(pluginInstallPath, "Images", "SplashScreenDesktopMode.png");
+ _logger.Info("Using generic Desktop mode background image");
+ return Path.Combine(_pluginInstallPath, "Images", "SplashScreenDesktopMode.png");
}
else
{
- logger.Info("Using generic Fullscreen mode background image");
- return Path.Combine(pluginInstallPath, "Images", "SplashScreenFullscreenMode.png");
+ _logger.Info("Using generic Fullscreen mode background image");
+ return Path.Combine(_pluginInstallPath, "Images", "SplashScreenFullscreenMode.png");
}
}
@@ -480,10 +480,10 @@ public override void OnGameStopped(OnGameStoppedEventArgs args)
{
RestoreBackgroundMusic();
// Close splash screen manually it was not closed automatically
- if (currentSplashWindow != null)
+ if (_currentSplashWindow != null)
{
- currentSplashWindow.Close();
- currentSplashWindow = null;
+ _currentSplashWindow.Close();
+ _currentSplashWindow = null;
}
}
diff --git a/source/Generic/SplashScreen/SplashScreenSettings.cs b/source/Generic/SplashScreen/SplashScreenSettings.cs
index fad3c676d0..8922cce31f 100644
--- a/source/Generic/SplashScreen/SplashScreenSettings.cs
+++ b/source/Generic/SplashScreen/SplashScreenSettings.cs
@@ -5,9 +5,6 @@
using System;
using System.Collections.Generic;
using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using System.Windows;
namespace SplashScreen
@@ -48,20 +45,20 @@ public string GlobalSplashImagePath
public class SplashScreenSettingsViewModel : ObservableObject, ISettings
{
- private readonly SplashScreen plugin;
- private readonly string pluginUserDataPath;
- private readonly IPlayniteAPI playniteApi;
- private static readonly ILogger logger = LogManager.GetLogger();
+ private readonly SplashScreen _plugin;
+ private readonly string _pluginUserDataPath;
+ private readonly IPlayniteAPI _playniteApi;
+ private static readonly ILogger _logger = LogManager.GetLogger();
private SplashScreenSettings editingClone { get; set; }
- private SplashScreenSettings settings;
+ private SplashScreenSettings _settings;
public SplashScreenSettings Settings
{
- get => settings;
+ get => _settings;
set
{
- settings = value;
+ _settings = value;
OnPropertyChanged();
}
}
@@ -69,10 +66,10 @@ public SplashScreenSettings Settings
public SplashScreenSettingsViewModel(SplashScreen plugin, IPlayniteAPI playniteApi, string pluginUserDataPath)
{
// Injecting your plugin instance is required for Save/Load method because Playnite saves data to a location based on what plugin requested the operation.
- this.plugin = plugin;
+ this._plugin = plugin;
// Load saved settings.
- var savedSettings = plugin.LoadPluginSettings();
+ var savedSettings = _plugin.LoadPluginSettings();
// LoadPluginSettings returns null if not saved data is available.
if (savedSettings != null)
@@ -84,8 +81,8 @@ public SplashScreenSettingsViewModel(SplashScreen plugin, IPlayniteAPI playniteA
Settings = new SplashScreenSettings();
}
- this.pluginUserDataPath = pluginUserDataPath;
- this.playniteApi = playniteApi;
+ this._pluginUserDataPath = pluginUserDataPath;
+ this._playniteApi = playniteApi;
SetGlobalSplashImagePath();
}
@@ -97,7 +94,7 @@ private void SetGlobalSplashImagePath()
return;
}
- var globalSplashImagePath = Path.Combine(pluginUserDataPath, "CustomBackgrounds", Settings.GeneralSplashSettings.CustomBackgroundImage);
+ var globalSplashImagePath = Path.Combine(_pluginUserDataPath, "CustomBackgrounds", Settings.GeneralSplashSettings.CustomBackgroundImage);
if (FileSystem.FileExists(globalSplashImagePath))
{
Settings.GlobalSplashImagePath = globalSplashImagePath;
@@ -125,7 +122,7 @@ public void EndEdit()
{
// Code executed when user decides to confirm changes made since BeginEdit was called.
// This method should save settings made to Option1 and Option2.
- plugin.SavePluginSettings(Settings);
+ _plugin.SavePluginSettings(Settings);
}
public bool VerifySettings(out List errors)
@@ -141,11 +138,11 @@ public RelayCommand BrowseSelectGlobalImageCommand
{
get => new RelayCommand(() =>
{
- var filePath = playniteApi.Dialogs.SelectImagefile();
+ var filePath = _playniteApi.Dialogs.SelectImagefile();
if (!filePath.IsNullOrEmpty() && RemoveGlobalImage())
{
var fileName = Guid.NewGuid() + Path.GetExtension(filePath);
- var globalSplashImagePath = Path.Combine(pluginUserDataPath, "CustomBackgrounds", fileName);
+ var globalSplashImagePath = Path.Combine(_pluginUserDataPath, "CustomBackgrounds", fileName);
try
{
FileSystem.CopyFile(filePath, globalSplashImagePath);
@@ -154,7 +151,7 @@ public RelayCommand BrowseSelectGlobalImageCommand
}
catch (Exception e)
{
- logger.Error(e, $"Error copying global splash image from {filePath} to {globalSplashImagePath}");
+ _logger.Error(e, $"Error copying global splash image from {filePath} to {globalSplashImagePath}");
}
}
});
@@ -175,7 +172,7 @@ private bool RemoveGlobalImage()
return true;
}
- var globalSplashImagePath = Path.Combine(pluginUserDataPath, "CustomBackgrounds", Settings.GeneralSplashSettings.CustomBackgroundImage);
+ var globalSplashImagePath = Path.Combine(_pluginUserDataPath, "CustomBackgrounds", Settings.GeneralSplashSettings.CustomBackgroundImage);
FileSystem.DeleteFileSafe(globalSplashImagePath);
Settings.GeneralSplashSettings.CustomBackgroundImage = null;
diff --git a/source/Generic/SplashScreen/ViewModels/GameSettingsWindowViewModel.cs b/source/Generic/SplashScreen/ViewModels/GameSettingsWindowViewModel.cs
index cc7ee2e968..b19ddfc07f 100644
--- a/source/Generic/SplashScreen/ViewModels/GameSettingsWindowViewModel.cs
+++ b/source/Generic/SplashScreen/ViewModels/GameSettingsWindowViewModel.cs
@@ -7,32 +7,29 @@
using System;
using System.Collections.Generic;
using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using System.Windows;
namespace SplashScreen.ViewModels
{
public class GameSettingsWindowViewModel : ObservableObject
{
- private static readonly ILogger logger = LogManager.GetLogger();
- private readonly IPlayniteAPI playniteApi;
- private readonly string pluginUserDataPath;
- private readonly string customBackgroundsDirectory;
- private readonly string gameSettingsPath;
- private readonly GeneralSplashSettings globalSettings;
- private bool saveCustomBackground = false;
- private bool removeCustomBackground = false;
+ private static readonly ILogger _logger = LogManager.GetLogger();
+ private readonly IPlayniteAPI _playniteApi;
+ private readonly string _pluginUserDataPath;
+ private readonly string _customBackgroundsDirectory;
+ private readonly string _gameSettingsPath;
+ private readonly GeneralSplashSettings _globalSettings;
+ private bool _saveCustomBackground = false;
+ private bool _removeCustomBackground = false;
- private Game game;
- public Game Game { get => game; set => SetValue(ref game, value); }
+ private Game _game;
+ public Game Game { get => _game; set => SetValue(ref _game, value); }
- private string customBackgroundPath = null;
- public string CustomBackgroundPath { get => customBackgroundPath; set => SetValue(ref customBackgroundPath, value); }
+ private string _customBackgroundPath = null;
+ public string CustomBackgroundPath { get => _customBackgroundPath; set => SetValue(ref _customBackgroundPath, value); }
- private GameSplashSettings settings = new GameSplashSettings();
- public GameSplashSettings Settings { get => settings; set => SetValue(ref settings, value); }
+ private GameSplashSettings _settings = new GameSplashSettings();
+ public GameSplashSettings Settings { get => _settings; set => SetValue(ref _settings, value); }
public Dictionary LogoHorizontalSource { get; set; } = new Dictionary
{
@@ -50,19 +47,19 @@ public class GameSettingsWindowViewModel : ObservableObject
public GameSettingsWindowViewModel(IPlayniteAPI playniteApi, string pluginUserDataPath, Game game, GeneralSplashSettings globalSettings)
{
- this.playniteApi = playniteApi;
- this.pluginUserDataPath = pluginUserDataPath;
- this.globalSettings = Serialization.GetClone(globalSettings);
- customBackgroundsDirectory = Path.Combine(pluginUserDataPath, "CustomBackgrounds");
+ this._playniteApi = playniteApi;
+ this._pluginUserDataPath = pluginUserDataPath;
+ this._globalSettings = Serialization.GetClone(globalSettings);
+ _customBackgroundsDirectory = Path.Combine(pluginUserDataPath, "CustomBackgrounds");
Game = game;
- gameSettingsPath = Path.Combine(pluginUserDataPath, $"{game.Id}.json");
- if (FileSystem.FileExists(gameSettingsPath))
+ _gameSettingsPath = Path.Combine(pluginUserDataPath, $"{game.Id}.json");
+ if (FileSystem.FileExists(_gameSettingsPath))
{
- Settings = Serialization.FromJsonFile(gameSettingsPath);
+ Settings = Serialization.FromJsonFile(_gameSettingsPath);
if (!Settings.GeneralSplashSettings.CustomBackgroundImage.IsNullOrEmpty())
{
- CustomBackgroundPath = Path.Combine(customBackgroundsDirectory, Settings.GeneralSplashSettings.CustomBackgroundImage);
+ CustomBackgroundPath = Path.Combine(_customBackgroundsDirectory, Settings.GeneralSplashSettings.CustomBackgroundImage);
}
}
@@ -76,7 +73,7 @@ private void DeleteCurrentGameBackground()
return;
}
- var backgroundPath = Path.Combine(customBackgroundsDirectory, Settings.GeneralSplashSettings.CustomBackgroundImage);
+ var backgroundPath = Path.Combine(_customBackgroundsDirectory, Settings.GeneralSplashSettings.CustomBackgroundImage);
if (FileSystem.FileExists(backgroundPath))
{
FileSystem.DeleteFileSafe(backgroundPath);
@@ -87,17 +84,17 @@ private void DeleteCurrentGameBackground()
private void SaveGameSettings()
{
- SplashSettingsSyncHelper.ApplyGlobalIndicatorSettings(Settings.GeneralSplashSettings, globalSettings);
+ SplashSettingsSyncHelper.ApplyGlobalIndicatorSettings(Settings.GeneralSplashSettings, _globalSettings);
- if (removeCustomBackground)
+ if (_removeCustomBackground)
{
DeleteCurrentGameBackground();
}
- else if (saveCustomBackground && !CustomBackgroundPath.IsNullOrEmpty() && FileSystem.FileExists(CustomBackgroundPath))
+ else if (_saveCustomBackground && !CustomBackgroundPath.IsNullOrEmpty() && FileSystem.FileExists(CustomBackgroundPath))
{
DeleteCurrentGameBackground();
var fileName = Guid.NewGuid() + Path.GetExtension(CustomBackgroundPath);
- var customBackgroundImagePathTarget = Path.Combine(customBackgroundsDirectory, fileName);
+ var customBackgroundImagePathTarget = Path.Combine(_customBackgroundsDirectory, fileName);
try
{
FileSystem.CopyFile(CustomBackgroundPath, customBackgroundImagePathTarget);
@@ -105,20 +102,20 @@ private void SaveGameSettings()
}
catch (Exception e)
{
- logger.Error(e, $"Error copying game custom background image from {CustomBackgroundPath} to {customBackgroundImagePathTarget}");
+ _logger.Error(e, $"Error copying game custom background image from {CustomBackgroundPath} to {customBackgroundImagePathTarget}");
}
}
- FileSystem.WriteStringToFile(gameSettingsPath, Serialization.ToJson(Settings));
- playniteApi.Dialogs.ShowMessage(ResourceProvider.GetString("LOCSplashScreen_GameSettingsWindowSettingsSavedLabel"), "Splash Screen");
+ FileSystem.WriteStringToFile(_gameSettingsPath, Serialization.ToJson(Settings));
+ _playniteApi.Dialogs.ShowMessage(ResourceProvider.GetString("LOCSplashScreen_GameSettingsWindowSettingsSavedLabel"), "Splash Screen");
}
public RelayCommand RemoveCustomBackgroundCommand
{
get => new RelayCommand(() =>
{
- removeCustomBackground = true;
- saveCustomBackground = false;
+ _removeCustomBackground = true;
+ _saveCustomBackground = false;
CustomBackgroundPath = null;
}, () => CustomBackgroundPath != null);
}
@@ -135,14 +132,14 @@ public RelayCommand BrowseSelectCustomBackgroundCommand
{
get => new RelayCommand(() =>
{
- var filePath = playniteApi.Dialogs.SelectImagefile();
+ var filePath = _playniteApi.Dialogs.SelectImagefile();
if (filePath.IsNullOrEmpty() || !FileSystem.FileExists(filePath))
{
return;
}
- removeCustomBackground = false;
- saveCustomBackground = true;
+ _removeCustomBackground = false;
+ _saveCustomBackground = true;
CustomBackgroundPath = filePath;
});
}
diff --git a/source/Generic/SplashScreen/ViewModels/SplashScreenImageViewModel.cs b/source/Generic/SplashScreen/ViewModels/SplashScreenImageViewModel.cs
index 7d4f1531ea..f9dbd0a0b9 100644
--- a/source/Generic/SplashScreen/ViewModels/SplashScreenImageViewModel.cs
+++ b/source/Generic/SplashScreen/ViewModels/SplashScreenImageViewModel.cs
@@ -1,46 +1,48 @@
using PluginsCommon;
using SplashScreen.Models;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Media.Imaging;
+using System.ComponentModel;
+using System.Runtime.CompilerServices;
namespace SplashScreen.ViewModels
{
- public class SplashScreenImageViewModel : ObservableObject
+ public class SplashScreenImageViewModel : INotifyPropertyChanged
{
- private string splashImagePath = null;
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ private void OnPropertyChanged([CallerMemberName] string propertyName = null)
+ {
+ PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+ }
+
+ private string _splashImagePath = null;
public string SplashImagePath
{
- get => splashImagePath;
+ get => _splashImagePath;
set
{
- splashImagePath = value;
+ _splashImagePath = value;
OnPropertyChanged();
}
}
- private string logoPath = null;
+ private string _logoPath = null;
public string LogoPath
{
- get => logoPath;
+ get => _logoPath;
set
{
- logoPath = value;
+ _logoPath = value;
OnPropertyChanged();
}
}
- private GeneralSplashSettings settings;
+ private GeneralSplashSettings _settings;
public GeneralSplashSettings Settings
{
- get => settings;
+ get => _settings;
set
{
- settings = value;
+ _settings = value;
OnPropertyChanged();
}
}
@@ -48,12 +50,12 @@ public GeneralSplashSettings Settings
public SplashScreenImageViewModel(GeneralSplashSettings settings, string splashImagePath, string logoPath)
{
Settings = settings;
- if (!splashImagePath.IsNullOrEmpty() && FileSystem.FileExists(splashImagePath))
+ if (!string.IsNullOrEmpty(splashImagePath) && FileSystem.FileExists(splashImagePath))
{
SplashImagePath = splashImagePath;
}
- if (!logoPath.IsNullOrEmpty() && FileSystem.FileExists(logoPath))
+ if (!string.IsNullOrEmpty(logoPath) && FileSystem.FileExists(logoPath))
{
LogoPath = logoPath;
}
diff --git a/source/Generic/SplashScreen/ViewModels/VideoManagerViewModel.cs b/source/Generic/SplashScreen/ViewModels/VideoManagerViewModel.cs
index 125bdc7c96..8cf68c2fde 100644
--- a/source/Generic/SplashScreen/ViewModels/VideoManagerViewModel.cs
+++ b/source/Generic/SplashScreen/ViewModels/VideoManagerViewModel.cs
@@ -6,10 +6,7 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
-using System.Linq;
using System.Runtime.CompilerServices;
-using System.Text;
-using System.Threading.Tasks;
using System.Windows.Data;
namespace SplashScreen.ViewModels
@@ -25,14 +22,14 @@ protected void OnPropertyChanged([CallerMemberName] string name = null)
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
}
- private IPlayniteAPI PlayniteApi;
- private ICollectionView videoItemsCollection;
+ private IPlayniteAPI _playniteApi;
+ private ICollectionView _videoItemsCollection;
public ICollectionView VideoItemsCollection
{
- get => videoItemsCollection;
+ get => _videoItemsCollection;
set
{
- videoItemsCollection = value;
+ _videoItemsCollection = value;
OnPropertyChanged();
}
}
@@ -46,13 +43,13 @@ public Dictionary CollectionsSourceDict
}
}
- private string searchString = string.Empty;
+ private string _searchString = string.Empty;
public string SearchString
{
- get { return searchString; }
+ get { return _searchString; }
set
{
- searchString = value;
+ _searchString = value;
OnPropertyChanged();
VideoItemsCollection.Refresh();
}
@@ -70,25 +67,25 @@ public Uri VideoSource
}
}
- private SourceCollection selectedSourceItem;
+ private SourceCollection _selectedSourceItem;
public SourceCollection SelectedSourceItem
{
- get { return selectedSourceItem; }
+ get { return _selectedSourceItem; }
set
{
- selectedSourceItem = value;
+ _selectedSourceItem = value;
VideoItemsCollection.Refresh();
}
}
- private VideoManagerItem selectedItem;
+ private VideoManagerItem _selectedItem;
public VideoManagerItem SelectedItem
{
- get { return selectedItem; }
+ get { return _selectedItem; }
set
{
- selectedItem = value;
- if (selectedItem != null)
+ _selectedItem = value;
+ if (_selectedItem != null)
{
VideoSource = new Uri(SelectedItem.VideoPath);
}
@@ -96,27 +93,27 @@ public VideoManagerItem SelectedItem
}
}
- private bool AddButtonIsEnabled = false;
- private bool RemoveButtonIsEnabled = false;
+ private bool _addButtonIsEnabled = false;
+ private bool _removeButtonIsEnabled = false;
private void SetButtonsStatuses()
{
if (SelectedItem == null)
{
- AddButtonIsEnabled = false;
- RemoveButtonIsEnabled = false;
+ _addButtonIsEnabled = false;
+ _removeButtonIsEnabled = false;
return;
}
if (FileSystem.FileExists(SelectedItem.VideoPath))
{
- RemoveButtonIsEnabled = true;
+ _removeButtonIsEnabled = true;
}
else
{
- RemoveButtonIsEnabled = false;
+ _removeButtonIsEnabled = false;
}
- AddButtonIsEnabled = true;
+ _addButtonIsEnabled = true;
}
public RelayCommand AddVideoCommand
@@ -124,14 +121,14 @@ public RelayCommand AddVideoCommand
get => new RelayCommand((item) =>
{
AddVideo(item);
- }, (item) => AddButtonIsEnabled);
+ }, (item) => _addButtonIsEnabled);
}
private bool AddVideo(VideoManagerItem videoManagerItem)
{
VideoSource = null;
var videoDestinationPath = videoManagerItem.VideoPath;
- var videoSourcePath = PlayniteApi.Dialogs.SelectFile("mp4|*.mp4");
+ var videoSourcePath = _playniteApi.Dialogs.SelectFile("mp4|*.mp4");
if (string.IsNullOrEmpty(videoSourcePath))
{
return false;
@@ -151,7 +148,7 @@ private bool AddVideo(VideoManagerItem videoManagerItem)
FileSystem.CopyFile(videoSourcePath, videoDestinationPath, true);
VideoSource = new Uri(videoDestinationPath);
- PlayniteApi.Dialogs.ShowMessage(ResourceProvider.GetString("LOCSplashScreen_IntroVideoAddedMessage"), "Splash Screen");
+ _playniteApi.Dialogs.ShowMessage(ResourceProvider.GetString("LOCSplashScreen_IntroVideoAddedMessage"), "Splash Screen");
return true;
}
@@ -160,25 +157,25 @@ public RelayCommand RemoveVideoCommand
get => new RelayCommand((item) =>
{
RemoveVideo(item);
- }, (item) => RemoveButtonIsEnabled);
+ }, (item) => _removeButtonIsEnabled);
}
private void RemoveVideo(VideoManagerItem videoManagerItem)
{
VideoSource = null;
FileSystem.DeleteFileSafe(videoManagerItem.VideoPath);
- PlayniteApi.Dialogs.ShowMessage(ResourceProvider.GetString("LOCSplashScreen_IntroVideoRemovedMessage"), "Splash Screen");
+ _playniteApi.Dialogs.ShowMessage(ResourceProvider.GetString("LOCSplashScreen_IntroVideoRemovedMessage"), "Splash Screen");
}
public VideoManagerViewModel(IPlayniteAPI api)
{
- PlayniteApi = api;
+ _playniteApi = api;
- string videoPathTemplate = Path.Combine(PlayniteApi.Paths.ConfigurationPath, "ExtraMetadata", "{0}", "{1}", "VideoIntro.mp4");
- List videoItemsCollection = new List();
+ var videoPathTemplate = Path.Combine(_playniteApi.Paths.ConfigurationPath, "ExtraMetadata", "{0}", "{1}", "VideoIntro.mp4");
+ var videoItemsCollection = new List();
// Games
- foreach (Game game in PlayniteApi.MainView.SelectedGames)
+ foreach (var game in _playniteApi.MainView.SelectedGames)
{
var item = new VideoManagerItem
{
@@ -190,7 +187,7 @@ public VideoManagerViewModel(IPlayniteAPI api)
}
// Sources
- foreach (GameSource source in PlayniteApi.Database.Sources)
+ foreach (var source in _playniteApi.Database.Sources)
{
var item = new VideoManagerItem
{
@@ -202,7 +199,7 @@ public VideoManagerViewModel(IPlayniteAPI api)
}
// Sources
- foreach (Platform platform in PlayniteApi.Database.Platforms)
+ foreach (var platform in _playniteApi.Database.Platforms)
{
var item = new VideoManagerItem
{
@@ -243,7 +240,7 @@ public VideoManagerViewModel(IPlayniteAPI api)
private bool CollectionFilter(object item)
{
- VideoManagerItem videoManagerItem = item as VideoManagerItem;
+ var videoManagerItem = item as VideoManagerItem;
if (videoManagerItem.SourceCollection != SelectedSourceItem)
{
return false;
diff --git a/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs b/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs
index b77e5d3b46..ec80a8f7d0 100644
--- a/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs
+++ b/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs
@@ -3,7 +3,6 @@
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Animation;
-using System.Windows.Shapes;
using SplashScreen.Helpers;
namespace SplashScreen.Views
diff --git a/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs b/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs
index 5cc167cc38..25991e12aa 100644
--- a/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs
+++ b/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs
@@ -1,20 +1,8 @@
using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
using System.Windows.Media;
-using System.Windows.Media.Imaging;
using System.Windows.Media.Animation;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-using System.Windows.Threading;
using SplashScreen.Helpers;
using SplashScreen.ViewModels;