[UI] Listed extended languages
This commit is contained in:
@@ -26,8 +26,10 @@ static const std::map<uint32_t, std::string> kLanguageMap = {
|
|||||||
{3, "German"}, {4, "French"},
|
{3, "German"}, {4, "French"},
|
||||||
{5, "Spanish"}, {6, "Italian"},
|
{5, "Spanish"}, {6, "Italian"},
|
||||||
{7, "Korean"}, {8, "Traditional Chinese"},
|
{7, "Korean"}, {8, "Traditional Chinese"},
|
||||||
{9, "Portuguese"}, {10, "Simplified Chinese"},
|
{9, "Portuguese"}, {11, "Polish"},
|
||||||
{11, "Polish"}, {12, "Russian"}};
|
{12, "Russian"}, {13, "Swedish"},
|
||||||
|
{14, "Turkish"}, {15, "Norwegian"},
|
||||||
|
{16, "Dutch"}, {17, "Simplified Chinese"}};
|
||||||
|
|
||||||
static const std::map<uint8_t, std::string> kCountryMap = {
|
static const std::map<uint8_t, std::string> kCountryMap = {
|
||||||
{1, "AE"}, {2, "AL"}, {3, "AM"}, {4, "AR"}, {5, "AT"},
|
{1, "AE"}, {2, "AL"}, {3, "AM"}, {4, "AR"}, {5, "AT"},
|
||||||
|
|||||||
@@ -540,8 +540,9 @@ XLanguage xeGetLanguage(bool extended_languages_support) {
|
|||||||
XCONFIG_USER_CATEGORY_ENTRIES::XCONFIG_USER_LANGUAGE));
|
XCONFIG_USER_CATEGORY_ENTRIES::XCONFIG_USER_LANGUAGE));
|
||||||
|
|
||||||
uint32_t region = xeXGetGameRegion();
|
uint32_t region = xeXGetGameRegion();
|
||||||
auto max_languages = extended_languages_support ? XLanguage::kMaxLanguages
|
auto max_languages = extended_languages_support
|
||||||
: XLanguage::kSChinese;
|
? XLanguage::kMaxLanguages
|
||||||
|
: XLanguage::kMaxBaseLanguages;
|
||||||
if (desired_language < max_languages) {
|
if (desired_language < max_languages) {
|
||||||
return desired_language;
|
return desired_language;
|
||||||
}
|
}
|
||||||
@@ -570,7 +571,7 @@ dword_result_t XamGetLanguage_entry() {
|
|||||||
DECLARE_XAM_EXPORT1(XamGetLanguage, kNone, kImplemented);
|
DECLARE_XAM_EXPORT1(XamGetLanguage, kNone, kImplemented);
|
||||||
|
|
||||||
pointer_result_t XamGetLanguageLocaleFallbackString_entry(dword_t language) {
|
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);
|
return kernel_state()->xam_state()->GetLanguageFallbackAddress(language);
|
||||||
}
|
}
|
||||||
DECLARE_XAM_EXPORT1(XamGetLanguageLocaleFallbackString, kNone, kImplemented);
|
DECLARE_XAM_EXPORT1(XamGetLanguageLocaleFallbackString, kNone, kImplemented);
|
||||||
@@ -580,9 +581,9 @@ dword_result_t XamGetLanguageTypeface_entry(dword_t language,
|
|||||||
dword_t buffer) {
|
dword_t buffer) {
|
||||||
std::u16string path{};
|
std::u16string path{};
|
||||||
|
|
||||||
if (language == 0x11) {
|
if (language == static_cast<uint32_t>(XLanguage::kSChinese)) {
|
||||||
path = u"file://media:/XenonSCLatin.xtt";
|
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";
|
path = u"file://media:/XenonCLatin.xtt";
|
||||||
} else {
|
} else {
|
||||||
path = u"file://media:/XenonJKLatin.xtt";
|
path = u"file://media:/XenonJKLatin.xtt";
|
||||||
|
|||||||
@@ -311,11 +311,16 @@ enum class XLanguage : uint32_t {
|
|||||||
kKorean = 7,
|
kKorean = 7,
|
||||||
kTChinese = 8,
|
kTChinese = 8,
|
||||||
kPortuguese = 9,
|
kPortuguese = 9,
|
||||||
kSChinese = 10,
|
kMaxBaseLanguages = 10,
|
||||||
kPolish = 11,
|
kPolish = 11,
|
||||||
kRussian = 12,
|
kRussian = 12,
|
||||||
|
kSwedish = 13,
|
||||||
|
kTurkish = 14,
|
||||||
|
kNorwegian = 15,
|
||||||
|
kDutch = 16,
|
||||||
|
kSChinese = 17,
|
||||||
// STFS headers can't support any more languages than these
|
// STFS headers can't support any more languages than these
|
||||||
kMaxLanguages = 13
|
kMaxLanguages = 18
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class XOnlineCountry : uint32_t {
|
enum class XOnlineCountry : uint32_t {
|
||||||
|
|||||||
Reference in New Issue
Block a user