nx-hbmenu/common/text.c

47 lines
1.1 KiB
C

#include "text.h"
static u64 s_textLanguageCode = 0;
#ifdef __SWITCH__
static int s_textLang = SetLanguage_ENUS;
#else
static int s_textLang = 1;
#endif
Result textInit(void) {
#ifdef __SWITCH__
SetLanguage Language=SetLanguage_ENUS;
s_textLang = Language;
Result rc = setInitialize();
if (R_SUCCEEDED(rc)) rc = setGetSystemLanguage(&s_textLanguageCode);
if (R_SUCCEEDED(rc)) rc = setMakeLanguage(s_textLanguageCode, &Language);
//if (R_SUCCEEDED(rc) && Language < 17) s_textLang = Language;//TODO: Re-enable this once language.c supports all used languages.
setExit();
if (R_FAILED(rc)) return rc;
#else
s_textLang = 1;
#endif
return 0;
}
int textGetLang(void) {
return s_textLang;
}
const char* textGetString(StrId id) {
const char* str = g_strings[id][s_textLang];
#ifdef __SWITCH__
if (!str) str = g_strings[id][SetLanguage_ENUS];
#else
if (!str) str = g_strings[id][1];
#endif
return str;
}
u64 textGetLanguageCode(void) {
return s_textLanguageCode;
}