diff --git a/source/Generic/SplashScreen/Helpers/SpinnerGeometryBuilder.cs b/source/Generic/SplashScreen/Helpers/SpinnerGeometryBuilder.cs new file mode 100644 index 0000000000..6fce017eee --- /dev/null +++ b/source/Generic/SplashScreen/Helpers/SpinnerGeometryBuilder.cs @@ -0,0 +1,88 @@ +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 dashLengthPercent, int dashCount, bool roundedDashes) + { + var clampedDashCount = Math.Max(1, Math.Min(360, dashCount)); + var innerSize = Math.Max(2.0, spinnerSize - thickness); + var radius = innerSize / 2.0; + var slotAngle = (2.0 * Math.PI) / clampedDashCount; + 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(); + + 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); + AddDashFigure(geometry, center, radius, startAngle, endAngle, dashAngle); + } + + return geometry; + } + + 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 = middlePoint, + Size = new Size(radius, radius), + IsLargeArc = false, + SweepDirection = SweepDirection.Clockwise + }); + + 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 + }); + } + + geometry.Figures.Add(figure); + } + + 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/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/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..53b3de6ef1 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 (1-100%): + 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..681e422bbf 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 + استخدام أيقونة اللعبة من بيانات التعريف كشعار + استخدام الشاشة السوداء بدلاً من صورة شاشة البداية + الموقع الأفقي للشعار: + الموقع العمودي للشعار: + اليسار + الوسط + اليمين + الأعلى + الوسط + الأسفل + استخدام تلاشي الرسوم المتحركة لصورة الشاشة + استخدام تلاشي الرسوم المتحركة لشعار الشاشة + إظهار مؤشر التحميل الدوار + حجم المؤشر الدوار (بالبكسل): + شفافية المؤشر الدوار: + سرعة المؤشر الدوار (ثوانٍ لكل دورة): + معاينة: + خلفية المعاينة: + سُمك المؤشر الدوار (بالبكسل): + عدد شرطات المؤشر الدوار: + طول شرطة المؤشر الدوار (1-100%): + استخدام نهايات مستديرة للشرطات + ضبط سرعة المؤشر الدوار تلقائيا حسب الحجم + + حشوة المنطقة الآمنة (بالبكسل): + شفافية صورة الخلفية: + + استخدام صورة بداية عامة لجميع الألعاب + استخدم شعار اللعبة في صورة البداية العالمية إذا كان متاحًا + تصفح... + إزالة + + إدارة الفيديو + الألعاب المختارة + المصادر + المِنصات + وضع 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..7aad0f31a7 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 (1-100%): + 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..59a5c1c802 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 (1-100%): + 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..ef736869a3 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 (1-100%): + 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..0ff128e8d2 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 (1-100%): + 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..844d93c71c 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 (1-100% of segment): + 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..6054b03238 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 (1-100%): + 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..f3dbc38862 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 (1-100%): + 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..2ece37a5ec 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 + نمایش نشانگر بارگذاری + اندازهٔ نشانگر (پیکسل): + شفافیت نشانگر: + سرعت نشانگر (ثانیه در هر دور): + پیش‌نمایش: + پس‌زمینه پیش‌نمایش: + ضخامت نشانگر (پیکسل): + تعداد خط‌چین‌های نشانگر: + طول خط‌چین نشانگر (1-100%): + استفاده از سرخط‌های گرد + تنظیم خودکار سرعت نشانگر بر اساس اندازهٔ آن + + فاصلهٔ ناحیهٔ امن (پیکسل): + شفافیت تصویر پس‌زمینه: + + 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..52525ffd8d 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 (1-100%): + 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..0ba4deb3e8 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 (1-100%): + 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..0cc04c17b9 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 (1-100%): + 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..4a69c799b6 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 (1-100%): + 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..081c1355c8 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 (1-100%): + 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..3b99e9335b 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 (1-100%): + 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..4eba4ddfda 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回転あたりの秒数): + プレビュー: + プレビュー背景: + スピナーの太さ (ピクセル): + スピナーのダッシュ数: + スピナーのダッシュ長 (1-100%): + ダッシュ端を丸くする + スピナーサイズに応じて速度を自動調整する + + セーフエリアの余白 (ピクセル): + 背景画像の不透明度: + + 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..f10951e42e 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 + 로딩 스피너 표시 + 스피너 크기(픽셀): + 스피너 불투명도: + 스피너 속도(회전당 초): + 미리 보기: + 미리 보기 배경: + 스피너 두께(픽셀): + 스피너 대시 개수: + 스피너 대시 길이 (1-100%): + 둥근 대시 끝 사용 + 스피너 크기에 따라 속도를 자동으로 조정 + + 안전 영역 여백(픽셀): + 배경 이미지 불투명도: + + 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..67da0070c4 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 (1-100%): + 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..b43781d022 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 (1-100%): + 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..374048bfd4 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 (1-100%): + 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..5cf9a2fdf9 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 traço do indicador (1-100% do segmento): + 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..b0d68ff3ad 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 traço do indicador (1-100% do segmento): + 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..ee3635468c 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 + Автоматически закрывать заставку в обычном режиме (отключение скрывает рабочий стол при закрытии игры, но может вызвать проблемы) + Включить расширение для полноэкранного режима + Показывать изображения заставки в полноэкранном режиме + Показывать вступительное видео в полноэкранном режиме + Автоматически закрывать заставку в полноэкранном режиме (отключение скрывает рабочий стол при закрытии игры, но может вызвать проблемы) + Добавить логотип игры на изображение заставки, если доступно + Использовать иконку игры из метаданных вместо логотипа + Использовать черный экран-заставку вместо изображения + Горизонтальное положение логотипа: + Вертикальное положение логотипа: + Слева + По центру + Справа + Сверху + По сцентру + Снизу + Использовать анимацию затухания для изображения заставки + Использовать анимацию затухания для изображения логотипа + Показывать индикатор загрузки + Размер индикатора (пиксели): + Непрозрачность индикатора: + Скорость индикатора (секунд за оборот): + Предпросмотр: + Фон предпросмотра: + Толщина индикатора (пиксели): + Количество штрихов индикатора: + Длина штриха индикатора (1-100%): + Использовать закругленные концы штрихов + Автоматически подстраивать скорость индикатора под его размер + + Отступ безопасной зоны (пиксели): + Непрозрачность фонового изображения: + + Использовать общее изображение заставки для всех игр + Использовать логотип на общем изображении заставки, если доступен + Обзор... + Убрать + + Менеджер видео + Выбранные игры + Источники + Платформы + Режим 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..2e7e98058a 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): + Преглед: + Позадина прегледа: + Дебљина индикатора (пиксели): + Број цртица индикатора: + Дужина цртице индикатора (1-100%): + Користи заобљене крајеве цртица + 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..eb3932383e 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 (1-100%): + 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..0f7d313164 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} гри/ігор + + Запускати розширення в режимі робочого столу + Показувати зображення екрана-заставки в режимі робочого столу + Показувати вступне відео в режимі робочого столу + Використовувати мікротрейлери + Автоматично закривати екран-заставку в режимі робочого столу (вимкнення приховає робочий стіл, коли гра закриється, але це може викликати проблеми) + Запускати розширення в повноекранному режимі + Показувати зображення екрана-заставки в повноекранному режимі + Показувати вступне відео в повноекранному режимі + Автоматично закривати екран-заставку в повноекранному режимі (вимкнення приховає робочий стіл, коли гра закриється, але це може викликати проблеми) + Додати логотип гри до екрана-заставки, якщо він наявний + Використовувати значок з метаданих як логотип + Використовувати чорний екран-заставку замість зображення екрана-заставки + Горизонтальна позиція логотипу: + Вертикальна позиція логотипу: + Зліва + По центру + Справа + Вгорі + По центру + Внизу + Використовувати анімацію появи для зображення екрана-заставки + Використовувати анімацію появи для логотипа екрана-заставки + Показувати індикатор завантаження + Розмір індикатора (пікселі): + Непрозорість індикатора: + Швидкість індикатора (секунди за оберт): + Попередній перегляд: + Тло попереднього перегляду: + Товщина індикатора (пікселі): + Кількість штрихів індикатора: + Довжина штриха індикатора (1-100%): + Використовувати заокруглені кінці штрихів + Автоматично підлаштовувати швидкість індикатора під його розмір + + Відступ безпечної зони (пікселі): + Непрозорість фонового зображення: + + Використовувати глобальну екран-заставку для всіх ігор + Використовувати логотип гри на глобальному екрані-заставці при наявності + Огляд... + Вилучити + + Менеджер відео + Обрані ігри + Джерела + Платформи + Режим Playnite + Колекція: + Пошук: + Відео недоступне + Додати відео + Прибрати відео + Використовувати нетипове фонове зображення + Увімкнути налаштування для окремої гри + Зберегти налаштування + Налаштування збережено + + diff --git a/source/Generic/SplashScreen/Localization/vi_VN.xaml b/source/Generic/SplashScreen/Localization/vi_VN.xaml index 8df48f6855..e1b8e136a2 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 (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 + + 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..c3698e300b 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 + 桌面模式下自动关闭序幕屏(禁用则会在游戏结束时隐藏桌面,但可能导致问题) + 在全屏模式下执行扩展 + 在全屏模式下查看序幕屏图像 + 在全屏模式下查看导览视频 + 全屏模式下自动关闭序幕屏(禁用则会在游戏结束时隐藏桌面,但可能导致问题) + 如果可用,在序幕屏图像中添加游戏徽标 + 使用元数据的游戏图标作为徽标 + 使用黑色序幕屏而不是序幕屏图像 + 徽标水平位置: + 徽标竖直位置: + + + + + + + 对序幕屏图像使用淡入动画 + 对序幕屏徽标使用淡入动画 + 显示加载指示器 + 指示器大小(像素): + 指示器不透明度: + 指示器速度(每圈秒数): + 预览: + 预览背景: + 指示器粗细(像素): + 指示器短划线数量: + 指示器短划线长度 (1-100%): + 使用圆角短划线端帽 + 根据指示器大小自动调整速度 + + 安全区域边距(像素): + 背景图片不透明度: + + 为所有游戏使用一个全局的序幕图像 + 如果可用,在全局序幕图像中使用游戏徽标 + 浏览... + 移除 + + 视频管理器 + 所选游戏 + 来源 + 平台 + 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..aa63744344 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 + 顯示載入指示器 + 指示器大小(像素): + 指示器不透明度: + 指示器速度(每圈秒數): + 預覽: + 預覽背景: + 指示器粗細(像素): + 指示器虛線數量: + 指示器虛線長度 (1-100%): + 使用圓角虛線端點 + 根據指示器大小自動調整速度 + + 安全區域邊距(像素): + 背景圖片不透明度: + + 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..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 @@ -68,6 +64,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 as a percentage of each dash slot. + /// + 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 +135,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; } = 70.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..c2c8affac5 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; @@ -25,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"; @@ -49,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; } }; } @@ -80,7 +81,7 @@ private void MuteBackgroundMusic() if (PlayniteApi.ApplicationSettings.Fullscreen.IsMusicMuted == false) { PlayniteApi.ApplicationSettings.Fullscreen.IsMusicMuted = true; - isMusicMutedBackup = false; + _isMusicMutedBackup = false; } } @@ -91,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; } } @@ -114,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; } @@ -158,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 { @@ -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; } } @@ -227,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(); } } @@ -242,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, @@ -257,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, @@ -331,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) @@ -374,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); } @@ -416,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; } @@ -431,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 @@ -439,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; } @@ -452,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"); } } @@ -478,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; } } @@ -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..e4820fcc13 100644 --- a/source/Generic/SplashScreen/SplashScreen.csproj +++ b/source/Generic/SplashScreen/SplashScreen.csproj @@ -97,6 +97,9 @@ + + + @@ -111,6 +114,9 @@ GameSettingsWindow.xaml + + SpinnerPreviewControl.xaml + SplashScreenImage.xaml @@ -140,6 +146,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile 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/SplashScreenSettingsView.xaml b/source/Generic/SplashScreen/SplashScreenSettingsView.xaml index a38137a523..a3ce0b7ca8 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" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 { @@ -46,22 +45,25 @@ public class GameSettingsWindowViewModel : ObservableObject { VerticalAlignment.Bottom, ResourceProvider.GetString("LOCSplashScreen_SettingVerticalAlignmentBottomLabel") }, }; - public GameSettingsWindowViewModel(IPlayniteAPI playniteApi, string pluginUserDataPath, Game game) + public GameSettingsWindowViewModel(IPlayniteAPI playniteApi, string pluginUserDataPath, Game game, GeneralSplashSettings globalSettings) { - this.playniteApi = playniteApi; - this.pluginUserDataPath = pluginUserDataPath; - 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); } } + + SplashSettingsSyncHelper.ApplyGlobalIndicatorSettings(Settings.GeneralSplashSettings, globalSettings); } private void DeleteCurrentGameBackground() @@ -71,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); @@ -82,15 +84,17 @@ private void DeleteCurrentGameBackground() private void SaveGameSettings() { - if (removeCustomBackground) + SplashSettingsSyncHelper.ApplyGlobalIndicatorSettings(Settings.GeneralSplashSettings, _globalSettings); + + 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); @@ -98,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); } @@ -128,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/GameSettingsWindow.xaml b/source/Generic/SplashScreen/Views/GameSettingsWindow.xaml index 08c6ee56f2..8206b5aff0 100644 --- a/source/Generic/SplashScreen/Views/GameSettingsWindow.xaml +++ b/source/Generic/SplashScreen/Views/GameSettingsWindow.xaml @@ -90,6 +90,22 @@ + + + + + + + + + + + + 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..ec80a8f7d0 --- /dev/null +++ b/source/Generic/SplashScreen/Views/SpinnerPreviewControl.xaml.cs @@ -0,0 +1,193 @@ +using System; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Media; +using System.Windows.Media.Animation; +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(70.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)); + } + + SpinnerRenderHelper.ApplySpinnerAppearance( + PreviewPath, + SpinnerSize, + SpinnerThickness, + SpinnerDashLength, + SpinnerDashCount, + 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 durationSeconds = SpinnerRenderHelper.CalculateRotationDurationSeconds(RotationSeconds, AutoSpeed, SpinnerSize); + + 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..25991e12aa 100644 --- a/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs +++ b/source/Generic/SplashScreen/Views/SplashScreenImage.xaml.cs @@ -1,19 +1,10 @@ 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.Navigation; -using System.Windows.Shapes; -using System.Windows.Threading; +using System.Windows.Media.Animation; +using SplashScreen.Helpers; +using SplashScreen.ViewModels; namespace SplashScreen.Views { @@ -25,6 +16,63 @@ 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 durationSeconds = SpinnerRenderHelper.CalculateRotationDurationSeconds( + vm.Settings.LoadingSpinnerRotationSeconds, + vm.Settings.EnableLoadingSpinnerAutoSpeed, + vm.Settings.LoadingSpinnerSize); + + 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) + { + SpinnerRenderHelper.ApplySpinnerAppearance( + SpinnerPath, + settings.LoadingSpinnerSize, + settings.LoadingSpinnerThickness, + settings.LoadingSpinnerDashLength, + settings.LoadingSpinnerDashCount, + settings.LoadingSpinnerRoundedDashes); } } -} \ No newline at end of file +}