re-add system language

This commit is contained in:
mrdude2478 2023-09-18 07:21:41 +01:00
parent 6f3cf860f6
commit 8c6a8eaf69
2 changed files with 48 additions and 11 deletions

View File

@ -20,7 +20,7 @@ namespace inst::ui {
s32 prev_touchcount = 0;
std::string flag = "romfs:/images/flags/en.png";
std::vector<std::string> languageStrings = { "En", "Jpn", "Fr", "De", "It", "Ru", "Es", "Tw" };
std::vector<std::string> languageStrings = { "En", "Jpn", "Fr", "De", "It", "Ru", "Es", "Tw", "Sys" };
optionsPage::optionsPage() : Layout::Layout() {
this->infoRect = Rectangle::New(0, 95, 1280, 60, COLOR("#00000080"));
@ -100,6 +100,7 @@ namespace inst::ui {
else if (ourLangCode == 5) flag = "romfs:/images/flags/ru.png";
else if (ourLangCode == 6) flag = "romfs:/images/flags/es.png";
else if (ourLangCode == 7) flag = "romfs:/images/flags/tw.png";
else if (ourLangCode == 8) flag = "romfs:/images/flags/sys.png";
return languageStrings[ourLangCode];
}
else {
@ -384,6 +385,9 @@ namespace inst::ui {
case 7:
inst::config::languageSetting = 7;
break;
case 8:
inst::config::languageSetting = 8;
break;
default:
inst::config::languageSetting = 0;
}

View File

@ -11,15 +11,14 @@ namespace Language {
void Load() {
//https://switchbrew.org/wiki/Settings_services#LanguageCode
//
//Get language from the switch system settings.
SetLanguage ourLang;
u64 lcode = 0;
setInitialize();
setGetSystemLanguage(&lcode);
setMakeLanguage(lcode, &ourLang);
setExit();
//int lang = (int)ourLang;
//
int syslang = (int)ourLang;
/*
0 Japanese
1 AmericanEnglish
@ -40,13 +39,7 @@ namespace Language {
16 [4.0.0+] TraditionalChinese
17 [10.1.0+] BrazilianPortuguese
*/
/*
FILE * fp;
fp = fopen ("lang.txt", "a+");
fprintf(fp, "%i\n", (int)ourLang);
fclose(fp);
*/
//
//Get language int from config file
std::ifstream ifs;
std::string languagePath;
int langInt = inst::config::languageSetting;
@ -79,6 +72,46 @@ namespace Language {
case 7:
languagePath = "romfs:/lang/tw.json";
break;
case 8:
switch (syslang) {
case 0:
languagePath = "romfs:/lang/jp.json";
break;
case 1:
languagePath = "romfs:/lang/en.json";
break;
case 2:
languagePath = "romfs:/lang/fr.json";
break;
case 3:
languagePath = "romfs:/lang/de.json";
break;
case 4:
languagePath = "romfs:/lang/it.json";
break;
case 5:
languagePath = "romfs:/lang/es.json";
break;
case 6:
languagePath = "romfs:/lang/tw.json";
break;
case 10:
languagePath = "romfs:/lang/ru.json";
break;
case 11:
languagePath = "romfs:/lang/tw.json";
break;
case 12:
languagePath = "romfs:/lang/en.json";
break;
case 16:
languagePath = "romfs:/lang/tw.json";
break;
default:
languagePath = "romfs:/lang/en.json";
break;
}
break;
default:
languagePath = "romfs:/lang/en.json";
break;