diff --git a/libretro-common/include/libretro.h b/libretro-common/include/libretro.h index d9e7658b48..8d9c379186 100644 --- a/libretro-common/include/libretro.h +++ b/libretro-common/include/libretro.h @@ -477,6 +477,8 @@ enum retro_language RETRO_LANGUAGE_BRITISH_ENGLISH = 30, RETRO_LANGUAGE_HUNGARIAN = 31, RETRO_LANGUAGE_BELARUSIAN = 32, + RETRO_LANGUAGE_GALICIAN = 33, + RETRO_LANGUAGE_NORWEGIAN = 34, RETRO_LANGUAGE_LAST, /** Defined to ensure that sizeof(retro_language) == sizeof(int). Do not use. */ diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index 4d703e0fa7..156bff74db 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -1478,6 +1478,8 @@ static bool rgui_fonts_init(rgui_t *rgui) case RETRO_LANGUAGE_SWEDISH: case RETRO_LANGUAGE_CATALAN_VALENCIA: case RETRO_LANGUAGE_CATALAN: + case RETRO_LANGUAGE_GALICIAN: + case RETRO_LANGUAGE_NORWEGIAN: /* We have at least partial support for * these languages, but extended ASCII * is required */ diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 548a66c86a..e2fac7b8f1 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -9260,6 +9260,7 @@ unsigned menu_displaylist_build_list( {MENU_ENUM_LABEL_VIDEO_3DS_DISPLAY_MODE, PARSE_ONLY_UINT, true}, {MENU_ENUM_LABEL_MENU_BOTTOM_SETTINGS, PARSE_ACTION, true}, #endif + {MENU_ENUM_LABEL_USER_LANGUAGE, PARSE_ONLY_UINT, true}, {MENU_ENUM_LABEL_MENU_DRIVER, PARSE_ONLY_STRING_OPTIONS, true}, }; @@ -10837,7 +10838,6 @@ unsigned menu_displaylist_build_list( {MENU_ENUM_LABEL_PRIVACY_SETTINGS, PARSE_ACTION}, {MENU_ENUM_LABEL_ACCOUNTS_LIST, PARSE_ACTION}, {MENU_ENUM_LABEL_NETPLAY_NICKNAME, PARSE_ONLY_STRING}, - {MENU_ENUM_LABEL_USER_LANGUAGE, PARSE_ONLY_UINT}, }; for (i = 0; i < ARRAY_SIZE(build_list); i++) diff --git a/menu/menu_setting.c b/menu/menu_setting.c index a46d8b73a1..33bd9a7733 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -7132,6 +7132,8 @@ static void setting_get_string_representation_uint_user_language( LANG_DATA(HUNGARIAN) LANG_DATA(BELARUSIAN) + LANG_DATA(GALICIAN) + LANG_DATA(NORWEGIAN) if (*msg_hash_get_uint(MSG_HASH_USER_LANGUAGE) == RETRO_LANGUAGE_ENGLISH) strlcpy(s, modes[*msg_hash_get_uint(MSG_HASH_USER_LANGUAGE)], len); diff --git a/msg_hash.c b/msg_hash.c index a86b823897..b3eb835be6 100644 --- a/msg_hash.c +++ b/msg_hash.c @@ -130,6 +130,10 @@ const char *get_user_language_iso639_1(bool limit) return "hu"; case RETRO_LANGUAGE_BELARUSIAN: return "be"; + case RETRO_LANGUAGE_GALICIAN: + return "gl"; + case RETRO_LANGUAGE_NORWEGIAN: + return "no"; } return "en"; } @@ -519,6 +523,30 @@ static const char *msg_hash_to_str_pt_br(enum msg_hash_enums msg) return "null"; } +static const char *msg_hash_to_str_gl(enum msg_hash_enums msg) +{ + switch (msg) + { +#include "intl/msg_hash_gl.h" + default: + break; + } + + return "null"; +} + +static const char *msg_hash_to_str_no(enum msg_hash_enums msg) +{ + switch (msg) + { +#include "intl/msg_hash_no.h" + default: + break; + } + + return "null"; +} + #endif const char *msg_hash_to_str(enum msg_hash_enums msg) @@ -624,6 +652,12 @@ const char *msg_hash_to_str(enum msg_hash_enums msg) case RETRO_LANGUAGE_BELARUSIAN: ret = msg_hash_to_str_be(msg); break; + case RETRO_LANGUAGE_GALICIAN: + ret = msg_hash_to_str_gl(msg); + break; + case RETRO_LANGUAGE_NORWEGIAN: + ret = msg_hash_to_str_no(msg); + break; default: break; } diff --git a/retroarch.c b/retroarch.c index 60f16a4801..96e8e9eb65 100644 --- a/retroarch.c +++ b/retroarch.c @@ -8362,6 +8362,8 @@ enum retro_language retroarch_get_language_from_iso(const char *iso639) {"en", RETRO_LANGUAGE_ENGLISH}, {"hu", RETRO_LANGUAGE_HUNGARIAN}, {"be", RETRO_LANGUAGE_BELARUSIAN}, + {"gl", RETRO_LANGUAGE_GALICIAN}, + {"no", RETRO_LANGUAGE_NORWEGIAN}, }; if (string_is_empty(iso639))