diff --git a/Directory.Packages.props b/Directory.Packages.props index 203f40588..a480d3d29 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -42,7 +42,7 @@ - + diff --git a/src/Ryujinx/Assets/locales.json b/src/Ryujinx/Assets/locales.json index 0951ad632..b90e16855 100644 --- a/src/Ryujinx/Assets/locales.json +++ b/src/Ryujinx/Assets/locales.json @@ -22597,6 +22597,31 @@ "zh_TW": "" } }, + { + "ID": "CompatibilityListLastUpdated", + "Translations": { + "ar_SA": "", + "de_DE": "", + "el_GR": "", + "en_US": "Last updated: {0}", + "es_ES": "", + "fr_FR": "", + "he_IL": "", + "it_IT": "", + "ja_JP": "", + "ko_KR": "", + "no_NO": "", + "pl_PL": "", + "pt_BR": "", + "ru_RU": "", + "sv_SE": "", + "th_TH": "", + "tr_TR": "", + "uk_UA": "", + "zh_CN": "", + "zh_TW": "" + } + }, { "ID": "CompatibilityListWarning", "Translations": { diff --git a/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs b/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs index e3d630b60..676cf1a52 100644 --- a/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs +++ b/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs @@ -1,4 +1,5 @@ using Gommon; +using Humanizer; using nietras.SeparatedValues; using Ryujinx.Ava.Common.Locale; using Ryujinx.Common.Logging; @@ -83,6 +84,9 @@ namespace Ryujinx.Ava.Utilities.Compat public LocaleKeys? Status { get; } public DateTime LastUpdated { get; } + public string LocalizedLastUpdated => + LocaleManager.FormatDynamicValue(LocaleKeys.CompatibilityListLastUpdated, LastUpdated.Humanize()); + public string LocalizedStatus => LocaleManager.Instance[Status!.Value]; public string FormattedTitleId => TitleId .OrElse(new string(' ', 16)); @@ -97,7 +101,9 @@ namespace Ryujinx.Ava.Utilities.Compat StringBuilder sb = new("CompatibilityEntry: {"); sb.Append($"{nameof(GameName)}=\"{GameName}\", "); sb.Append($"{nameof(TitleId)}={TitleId}, "); - sb.Append($"{nameof(Labels)}=\"{Labels}\", "); + sb.Append($"{nameof(Labels)}={ + Labels.FormatCollection(it => $"\"{it}\"", separator: ", ", prefix: "[", suffix: "]") + }, "); sb.Append($"{nameof(Status)}=\"{Status}\", "); sb.Append($"{nameof(LastUpdated)}=\"{LastUpdated}\""); sb.Append('}'); diff --git a/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml b/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml index 8e14c3904..73ec84c53 100644 --- a/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml +++ b/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml @@ -44,8 +44,11 @@ ItemsSource="{Binding CurrentEntries}"> - +