Added localization to Android

This commit is contained in:
Vladislav Khorev 2026-07-19 13:58:26 +03:00
parent 02ba86331b
commit 5b21ba615e

View File

@ -9,6 +9,8 @@
#include <windows.h> #include <windows.h>
#elif defined(__EMSCRIPTEN__) #elif defined(__EMSCRIPTEN__)
#include <emscripten.h> #include <emscripten.h>
#elif defined(__ANDROID__)
#include <SDL.h>
#endif #endif
namespace FRG { namespace FRG {
@ -100,6 +102,25 @@ Language detectSystemLanguage() {
if (primaryLang == LANG_RUSSIAN) return Language::Russian; if (primaryLang == LANG_RUSSIAN) return Language::Russian;
if (primaryLang == LANG_ENGLISH) return Language::English; if (primaryLang == LANG_ENGLISH) return Language::English;
#elif defined(__ANDROID__)
SDL_Locale* locales = SDL_GetPreferredLocales();
if (locales) {
Language detected = Language::English;
for (SDL_Locale* l = locales; l->language; ++l) {
std::string langCode = l->language;
if (langCode == "ru") {
detected = Language::Russian;
break;
}
if (langCode == "en") {
detected = Language::English;
break;
}
}
SDL_free(locales);
return detected;
}
#else #else
// Linux / SteamOS // Linux / SteamOS
const char* langEnv = std::getenv("LC_ALL"); const char* langEnv = std::getenv("LC_ALL");