[UI] Listed extended languages

This commit is contained in:
Gliniak
2026-05-19 22:03:54 +02:00
parent 99ea6da18a
commit 9ce91e55fe
3 changed files with 17 additions and 9 deletions

View File

@@ -26,8 +26,10 @@ static const std::map<uint32_t, std::string> kLanguageMap = {
{3, "German"}, {4, "French"},
{5, "Spanish"}, {6, "Italian"},
{7, "Korean"}, {8, "Traditional Chinese"},
{9, "Portuguese"}, {10, "Simplified Chinese"},
{11, "Polish"}, {12, "Russian"}};
{9, "Portuguese"}, {11, "Polish"},
{12, "Russian"}, {13, "Swedish"},
{14, "Turkish"}, {15, "Norwegian"},
{16, "Dutch"}, {17, "Simplified Chinese"}};
static const std::map<uint8_t, std::string> kCountryMap = {
{1, "AE"}, {2, "AL"}, {3, "AM"}, {4, "AR"}, {5, "AT"},

View File

@@ -540,8 +540,9 @@ XLanguage xeGetLanguage(bool extended_languages_support) {
XCONFIG_USER_CATEGORY_ENTRIES::XCONFIG_USER_LANGUAGE));
uint32_t region = xeXGetGameRegion();
auto max_languages = extended_languages_support ? XLanguage::kMaxLanguages
: XLanguage::kSChinese;
auto max_languages = extended_languages_support
? XLanguage::kMaxLanguages
: XLanguage::kMaxBaseLanguages;
if (desired_language < max_languages) {
return desired_language;
}
@@ -570,7 +571,7 @@ dword_result_t XamGetLanguage_entry() {
DECLARE_XAM_EXPORT1(XamGetLanguage, kNone, kImplemented);
pointer_result_t XamGetLanguageLocaleFallbackString_entry(dword_t language) {
assert_false(language > 17);
assert_false(language >= static_cast<uint32_t>(XLanguage::kMaxLanguages));
return kernel_state()->xam_state()->GetLanguageFallbackAddress(language);
}
DECLARE_XAM_EXPORT1(XamGetLanguageLocaleFallbackString, kNone, kImplemented);
@@ -580,9 +581,9 @@ dword_result_t XamGetLanguageTypeface_entry(dword_t language,
dword_t buffer) {
std::u16string path{};
if (language == 0x11) {
if (language == static_cast<uint32_t>(XLanguage::kSChinese)) {
path = u"file://media:/XenonSCLatin.xtt";
} else if (language == 8) {
} else if (language == static_cast<uint32_t>(XLanguage::kTChinese)) {
path = u"file://media:/XenonCLatin.xtt";
} else {
path = u"file://media:/XenonJKLatin.xtt";

View File

@@ -311,11 +311,16 @@ enum class XLanguage : uint32_t {
kKorean = 7,
kTChinese = 8,
kPortuguese = 9,
kSChinese = 10,
kMaxBaseLanguages = 10,
kPolish = 11,
kRussian = 12,
kSwedish = 13,
kTurkish = 14,
kNorwegian = 15,
kDutch = 16,
kSChinese = 17,
// STFS headers can't support any more languages than these
kMaxLanguages = 13
kMaxLanguages = 18
};
enum class XOnlineCountry : uint32_t {