diff --git a/src/Ryujinx/Assets/locales.json b/src/Ryujinx/Assets/locales.json index be24e08f3..c3044f639 100644 --- a/src/Ryujinx/Assets/locales.json +++ b/src/Ryujinx/Assets/locales.json @@ -23648,4 +23648,4 @@ } } ] -} +} \ No newline at end of file diff --git a/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs b/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs index c3fcf99ca..46da12e9f 100644 --- a/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs +++ b/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs @@ -100,12 +100,25 @@ namespace Ryujinx.Ava.Utilities.Compat public Optional TitleId { get; } public string[] Labels { get; } public LocaleKeys? Status { get; } + + public LocaleKeys? StatusDescription + => Status switch + { + LocaleKeys.CompatibilityListPlayable => LocaleKeys.CompatibilityListPlayableTooltip, + LocaleKeys.CompatibilityListIngame => LocaleKeys.CompatibilityListIngameTooltip, + LocaleKeys.CompatibilityListMenus => LocaleKeys.CompatibilityListMenusTooltip, + LocaleKeys.CompatibilityListBoots => LocaleKeys.CompatibilityListBootsTooltip, + LocaleKeys.CompatibilityListNothing => LocaleKeys.CompatibilityListNothingTooltip, + _ => null + }; + public DateTime LastUpdated { get; } public string LocalizedLastUpdated => LocaleManager.FormatDynamicValue(LocaleKeys.CompatibilityListLastUpdated, LastUpdated.Humanize()); - + public string LocalizedStatus => LocaleManager.Instance[Status!.Value]; + public string LocalizedStatusDescription => LocaleManager.Instance[StatusDescription!.Value]; public string FormattedTitleId => TitleId .OrElse(new string(' ', 16)); diff --git a/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml b/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml index 132b10e26..ef70a23d1 100644 --- a/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml +++ b/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml @@ -64,6 +64,8 @@ VerticalAlignment="Center" Text="{Binding LocalizedStatus}" Width="85" + Background="Transparent" + ToolTip.Tip="{Binding LocalizedStatusDescription}" Foreground="{Binding Status, Converter={x:Static helpers:PlayabilityStatusConverter.Shared}}" TextWrapping="NoWrap" />