From 883d93f04cd9a743fcbbf56e4db1322ec0262339 Mon Sep 17 00:00:00 2001 From: DisasterMo Date: Fri, 20 Jun 2025 22:37:46 +0200 Subject: [PATCH] Add Irish Gaelic as a language option --- gfx/drivers_font_renderer/bitmapfont_6x10.c | 1 + libretro-common/include/libretro.h | 1 + menu/drivers/rgui.c | 1 + menu/menu_setting.c | 1 + msg_hash.c | 22 ++++++++++++++++++--- retroarch.c | 1 + 6 files changed, 24 insertions(+), 3 deletions(-) diff --git a/gfx/drivers_font_renderer/bitmapfont_6x10.c b/gfx/drivers_font_renderer/bitmapfont_6x10.c index 4bd2a06d63..c9b4cf2a85 100644 --- a/gfx/drivers_font_renderer/bitmapfont_6x10.c +++ b/gfx/drivers_font_renderer/bitmapfont_6x10.c @@ -94,6 +94,7 @@ bitmapfont_lut_t *bitmapfont_6x10_load(unsigned language) case RETRO_LANGUAGE_SWEDISH: case RETRO_LANGUAGE_CZECH: case RETRO_LANGUAGE_HUNGARIAN: + case RETRO_LANGUAGE_IRISH: #if 0 /* These languages are not yet added */ case RETRO_LANGUAGE_ROMANIAN: diff --git a/libretro-common/include/libretro.h b/libretro-common/include/libretro.h index 099b681b92..e56b2ddbc7 100644 --- a/libretro-common/include/libretro.h +++ b/libretro-common/include/libretro.h @@ -484,6 +484,7 @@ enum retro_language RETRO_LANGUAGE_BELARUSIAN = 32, RETRO_LANGUAGE_GALICIAN = 33, RETRO_LANGUAGE_NORWEGIAN = 34, + RETRO_LANGUAGE_IRISH = 35, 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 6baed8e21f..429212493b 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -1478,6 +1478,7 @@ static bool rgui_fonts_init(rgui_t *rgui) case RETRO_LANGUAGE_CATALAN: case RETRO_LANGUAGE_GALICIAN: case RETRO_LANGUAGE_NORWEGIAN: + case RETRO_LANGUAGE_IRISH: /* We have at least partial support for * these languages, but extended ASCII * is required */ diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 2be2bf69d2..f8987ddb41 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -7012,6 +7012,7 @@ static size_t setting_get_string_representation_uint_user_language( LANG_DATA(BELARUSIAN) LANG_DATA(GALICIAN) LANG_DATA(NORWEGIAN) + LANG_DATA(IRISH) if (*msg_hash_get_uint(MSG_HASH_USER_LANGUAGE) == RETRO_LANGUAGE_ENGLISH) return strlcpy(s, modes[*msg_hash_get_uint(MSG_HASH_USER_LANGUAGE)], len); diff --git a/msg_hash.c b/msg_hash.c index 79726bd7f2..76cb7cdbdd 100644 --- a/msg_hash.c +++ b/msg_hash.c @@ -138,6 +138,8 @@ const char *get_user_language_iso639_1(bool limit) return "gl"; case RETRO_LANGUAGE_NORWEGIAN: return "no"; + case RETRO_LANGUAGE_IRISH: + return "ga"; } return "en"; } @@ -183,7 +185,7 @@ static const char *msg_hash_to_str_eo(enum msg_hash_enums msg) { switch (msg) { - #include "intl/msg_hash_eo.h" +#include "intl/msg_hash_eo.h" default: break; } @@ -291,7 +293,7 @@ static const char *msg_hash_to_str_nl(enum msg_hash_enums msg) { switch (msg) { - #include "intl/msg_hash_nl.h" +#include "intl/msg_hash_nl.h" default: break; } @@ -375,7 +377,7 @@ static const char *msg_hash_to_str_de(enum msg_hash_enums msg) { switch (msg) { - #include "intl/msg_hash_de.h" +#include "intl/msg_hash_de.h" default: break; } @@ -551,6 +553,17 @@ static const char *msg_hash_to_str_no(enum msg_hash_enums msg) return "null"; } +static const char *msg_hash_to_str_ga(enum msg_hash_enums msg) +{ + switch (msg) + { +#include "intl/msg_hash_ga.h" + default: + break; + } + + return "null"; +} #endif const char *msg_hash_to_str(enum msg_hash_enums msg) @@ -662,6 +675,9 @@ const char *msg_hash_to_str(enum msg_hash_enums msg) case RETRO_LANGUAGE_NORWEGIAN: ret = msg_hash_to_str_no(msg); break; + case RETRO_LANGUAGE_IRISH: + ret = msg_hash_to_str_ga(msg); + break; default: break; } diff --git a/retroarch.c b/retroarch.c index 048646773a..a930b50e49 100644 --- a/retroarch.c +++ b/retroarch.c @@ -8715,6 +8715,7 @@ enum retro_language retroarch_get_language_from_iso(const char *iso639) {"be", RETRO_LANGUAGE_BELARUSIAN}, {"gl", RETRO_LANGUAGE_GALICIAN}, {"no", RETRO_LANGUAGE_NORWEGIAN}, + {"ga", RETRO_LANGUAGE_IRISH}, }; if (string_is_empty(iso639))