mirror of
https://github.com/Ryuzaki-MrL/savemii.git
synced 2026-04-19 17:07:23 -05:00
Try to fix lang selection
This commit is contained in:
parent
99ac80af25
commit
5a67dc4e0e
|
|
@ -27,7 +27,7 @@ typedef enum {
|
|||
} Swkbd_LanguageType;
|
||||
|
||||
void loadLanguage(Swkbd_LanguageType language) __attribute__((cold));
|
||||
void getLoadedLanguage(char *out);
|
||||
std::string getLoadedLanguage();
|
||||
Swkbd_LanguageType getSystemLanguage() __attribute__((cold));
|
||||
bool gettextLoadLanguage(const char *langFile);
|
||||
void gettextCleanUp() __attribute__((__cold__));
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
#include "draw.h"
|
||||
#include <draw.h>
|
||||
#include <configMenu.h>
|
||||
#include <cstring>
|
||||
#include <input.h>
|
||||
|
|
@ -11,13 +11,14 @@
|
|||
static int cursorPos = 0;
|
||||
bool redraw = true;
|
||||
|
||||
static char *language = (char *) "";
|
||||
static std::string language = "";
|
||||
|
||||
static void drawConfigMenuFrame() {
|
||||
clearBuffersEx();
|
||||
OSScreenClearBufferEx(SCREEN_DRC, 0x00006F00);
|
||||
OSScreenClearBufferEx(SCREEN_TV, 0x00006F00);
|
||||
consolePrintPos(0, 0, "SaveMii v%u.%u.%u", VERSION_MAJOR, VERSION_MINOR, VERSION_MICRO);
|
||||
consolePrintPos(0, 1, "----------------------------------------------------------------------------");
|
||||
consolePrintPos(M_OFF, 2, gettext(" Language: %s"), language);
|
||||
consolePrintPos(M_OFF, 2, gettext(" Language: %s"), language.c_str());
|
||||
consolePrintPos(M_OFF, 2 + cursorPos, "\u2192");
|
||||
consolePrintPos(0, 16, "----------------------------------------------------------------------------");
|
||||
consolePrintPos(0, 17, gettext("Press \ue044 to exit."));
|
||||
|
|
@ -27,33 +28,33 @@ static void drawConfigMenuFrame() {
|
|||
|
||||
void configMenu() {
|
||||
Input input;
|
||||
getLoadedLanguage(language);
|
||||
language = getLoadedLanguage();
|
||||
while (AppRunning()) {
|
||||
input.read();
|
||||
if (input.get(TRIGGER, PAD_BUTTON_ANY))
|
||||
redraw = true;
|
||||
if (input.get(TRIGGER, PAD_BUTTON_B))
|
||||
break;
|
||||
if (input.get(TRIGGER, PAD_BUTTON_A) || input.get(TRIGGER, PAD_BUTTON_RIGHT)) {
|
||||
if (strcmp(language, "Japanese") == 0)
|
||||
if (input.get(TRIGGER, PAD_BUTTON_RIGHT)) {
|
||||
if (language == "Japanese")
|
||||
loadLanguage(Swkbd_LanguageType__Italian);
|
||||
else if (strcmp(language, "Italian") == 0)
|
||||
else if (language == "Italian")
|
||||
loadLanguage(Swkbd_LanguageType__Spanish);
|
||||
else if (strcmp(language, "Spanish") == 0)
|
||||
else if (language == "Spanish")
|
||||
loadLanguage(Swkbd_LanguageType__Chinese1);
|
||||
else if (strcmp(language, "Traditional Chinese") == 0)
|
||||
else if (language == "Traditional Chinese")
|
||||
loadLanguage(Swkbd_LanguageType__Korean);
|
||||
else if (strcmp(language, "Korean") == 0)
|
||||
else if (language == "Korean")
|
||||
loadLanguage(Swkbd_LanguageType__Russian);
|
||||
else if (strcmp(language, "Russian") == 0)
|
||||
else if (language == "Russian")
|
||||
loadLanguage(Swkbd_LanguageType__Chinese2);
|
||||
else if (strcmp(language, "Simplified Chinese") == 0)
|
||||
else if (language == "Simplified Chinese")
|
||||
loadLanguage(Swkbd_LanguageType__English);
|
||||
else if (strcmp(language, "English") == 0)
|
||||
else if (language == "English")
|
||||
loadLanguage(Swkbd_LanguageType__Japanese);
|
||||
}
|
||||
if (redraw) {
|
||||
getLoadedLanguage(language);
|
||||
language = getLoadedLanguage();
|
||||
drawConfigMenuFrame();
|
||||
redraw = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,10 +69,12 @@ void loadLanguage(Swkbd_LanguageType language) {
|
|||
}
|
||||
}
|
||||
|
||||
void getLoadedLanguage(char *out) {
|
||||
std::string getLoadedLanguage() {
|
||||
char out[255];
|
||||
switch (loadedLang) {
|
||||
case Swkbd_LanguageType__Japanese:
|
||||
sprintf(out, "%s", gettext("Japanese"));
|
||||
return std::string(out);
|
||||
break;
|
||||
/*case Swkbd_LanguageType__English:
|
||||
gettextLoadLanguage("romfs:/english.json");
|
||||
|
|
@ -85,15 +87,19 @@ void getLoadedLanguage(char *out) {
|
|||
break;*/
|
||||
case Swkbd_LanguageType__Italian:
|
||||
sprintf(out, "%s", gettext("Italian"));
|
||||
return std::string(out);
|
||||
break;
|
||||
case Swkbd_LanguageType__Spanish:
|
||||
sprintf(out, "%s", gettext("Spanish"));
|
||||
return std::string(out);
|
||||
break;
|
||||
case Swkbd_LanguageType__Chinese1:
|
||||
sprintf(out, "%s", gettext("Traditional Chinese"));
|
||||
return std::string(out);
|
||||
break;
|
||||
case Swkbd_LanguageType__Korean:
|
||||
sprintf(out, "%s", gettext("Korean"));
|
||||
return std::string(out);
|
||||
break;
|
||||
/*
|
||||
case Swkbd_LanguageType__Dutch:
|
||||
|
|
@ -104,12 +110,15 @@ void getLoadedLanguage(char *out) {
|
|||
break;*/
|
||||
case Swkbd_LanguageType__Russian:
|
||||
sprintf(out, "%s", gettext("Russian"));
|
||||
return std::string(out);
|
||||
break;
|
||||
case Swkbd_LanguageType__Chinese2:
|
||||
sprintf(out, "%s", gettext("Simplified Chinese"));
|
||||
return std::string(out);
|
||||
break;
|
||||
default:
|
||||
sprintf(out, "%s", gettext("English"));
|
||||
return std::string(out);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user