diff --git a/src/Ryujinx/Assets/locales.json b/src/Ryujinx/Assets/locales.json
index 3db41b963..7b35cd6e1 100644
--- a/src/Ryujinx/Assets/locales.json
+++ b/src/Ryujinx/Assets/locales.json
@@ -23069,7 +23069,7 @@
"tr_TR": "",
"uk_UA": "",
"zh_CN": "可游玩",
- "zh_TW": "可暢順遊玩 (Playable)"
+ "zh_TW": "可暢順遊玩"
}
},
{
@@ -23094,7 +23094,7 @@
"tr_TR": "",
"uk_UA": "",
"zh_CN": "进入游戏",
- "zh_TW": "大致可遊玩 (Ingame)"
+ "zh_TW": "大致可遊玩"
}
},
{
@@ -23119,7 +23119,7 @@
"tr_TR": "",
"uk_UA": "",
"zh_CN": "菜单",
- "zh_TW": "只開啟至遊戲開始功能表 (Menus)"
+ "zh_TW": "只開啟至遊戲開始功能表"
}
},
{
@@ -23144,7 +23144,7 @@
"tr_TR": "",
"uk_UA": "",
"zh_CN": "启动",
- "zh_TW": "只能啟動 (Boots)"
+ "zh_TW": "只能啟動"
}
},
{
@@ -23169,7 +23169,7 @@
"tr_TR": "",
"uk_UA": "",
"zh_CN": "什么都没有",
- "zh_TW": "無法啟動 (Nothing)"
+ "zh_TW": "無法啟動"
}
},
{
@@ -23198,4 +23198,4 @@
}
}
]
-}
\ No newline at end of file
+}
diff --git a/src/Ryujinx/UI/Controls/ApplicationListView.axaml b/src/Ryujinx/UI/Controls/ApplicationListView.axaml
index 9b87805e4..af7b5ccd0 100644
--- a/src/Ryujinx/UI/Controls/ApplicationListView.axaml
+++ b/src/Ryujinx/UI/Controls/ApplicationListView.axaml
@@ -86,6 +86,13 @@
Text="{Binding Version}"
TextAlignment="Start"
TextWrapping="Wrap" />
+
_id;
+ set
+ {
+ _id = value;
+ PlayabilityStatus = CompatibilityCsv.GetStatus(Id);
+ }
+ }
public string Developer { get; set; } = "Unknown";
public string Version { get; set; } = "0";
+
+ public bool HasPlayabilityInfo => PlayabilityStatus != null;
+
+ public string LocalizedStatus =>
+ PlayabilityStatus.HasValue
+ ? LocaleManager.Instance[PlayabilityStatus!.Value]
+ : string.Empty;
+
+ public LocaleKeys? PlayabilityStatus { get; set; }
+
public int PlayerCount { get; set; }
public int GameCount { get; set; }
public TimeSpan TimePlayed { get; set; }
diff --git a/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs b/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs
index af80c5a28..d0e251fe0 100644
--- a/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs
+++ b/src/Ryujinx/Utilities/Compat/CompatibilityCsv.cs
@@ -47,11 +47,6 @@ namespace Ryujinx.Ava.Utilities.Compat
Logger.Debug?.Print(LogClass.UI, "Compatibility CSV loaded.", "LoadCompatibility");
}
- public static void Unload()
- {
- _entries = null;
- }
-
private static CompatibilityEntry[] _entries;
public static CompatibilityEntry[] Entries
@@ -64,6 +59,11 @@ namespace Ryujinx.Ava.Utilities.Compat
return _entries;
}
}
+
+ public static LocaleKeys? GetStatus(string titleId)
+ => Entries.FirstOrDefault(x => x.TitleId.HasValue && x.TitleId.Value.EqualsIgnoreCase(titleId))?.Status;
+
+ public static LocaleKeys? GetStatus(ulong titleId) => GetStatus(titleId.ToString("X16"));
}
public class CompatibilityEntry
diff --git a/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml.cs b/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml.cs
index 7fc48b187..e0d3b0c56 100644
--- a/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml.cs
+++ b/src/Ryujinx/Utilities/Compat/CompatibilityList.axaml.cs
@@ -32,8 +32,6 @@ namespace Ryujinx.Ava.Utilities.Compat
contentDialog.Styles.Add(closeButtonParent);
await ContentDialogHelper.ShowAsync(contentDialog);
-
- CompatibilityCsv.Unload();
}
public CompatibilityList()