From 43105ab5c77bae14e80288516cc083d9b0699637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Via=C4=8Das=C5=82a=C5=AD=20Chalikin?= Date: Tue, 31 Oct 2023 15:51:57 +0300 Subject: [PATCH] Add Belarusian language option (#15780) --- intl/msg_hash_us.h | 4 ++++ libretro-common/include/libretro.h | 1 + menu/drivers/rgui.c | 3 +++ menu/menu_setting.c | 4 ++++ msg_hash.c | 17 +++++++++++++++++ msg_hash.h | 1 + retroarch.c | 1 + tasks/task_translation.c | 2 ++ translation_defines.h | 1 + 9 files changed, 34 insertions(+) diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index b781135e47..13d7d432a6 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -9880,6 +9880,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_LANG_BASQUE, "Basque - Euskara" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_LANG_BELARUSIAN, + "Belarusian - Беларуская мова" + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_LANG_BENGALI, "Bengali - বাংলা (Restart Required)" diff --git a/libretro-common/include/libretro.h b/libretro-common/include/libretro.h index 54c05ca62c..cb1c2d25ef 100644 --- a/libretro-common/include/libretro.h +++ b/libretro-common/include/libretro.h @@ -291,6 +291,7 @@ enum retro_language RETRO_LANGUAGE_CATALAN = 29, RETRO_LANGUAGE_BRITISH_ENGLISH = 30, RETRO_LANGUAGE_HUNGARIAN = 31, + RETRO_LANGUAGE_BELARUSIAN = 32, RETRO_LANGUAGE_LAST, /* Ensure sizeof(enum) == sizeof(int) */ diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index d1c2ef9736..54827ff77d 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -1522,6 +1522,7 @@ static bool rgui_fonts_init(rgui_t *rgui) } case RETRO_LANGUAGE_RUSSIAN: + case RETRO_LANGUAGE_BELARUSIAN: { rgui->fonts.eng_10x10 = bitmapfont_10x10_load(RETRO_LANGUAGE_ENGLISH); rgui->fonts.rus_10x10 = bitmapfont_10x10_load(RETRO_LANGUAGE_RUSSIAN); @@ -4343,6 +4344,7 @@ static void rgui_set_blit_functions( rgui_blit_line = rgui_blit_line_cjk_shadow; break; case RETRO_LANGUAGE_RUSSIAN: + case RETRO_LANGUAGE_BELARUSIAN: rgui_blit_line = rgui_blit_line_rus_shadow; break; case RETRO_LANGUAGE_ESPERANTO: @@ -4381,6 +4383,7 @@ static void rgui_set_blit_functions( rgui_blit_line = rgui_blit_line_cjk; break; case RETRO_LANGUAGE_RUSSIAN: + case RETRO_LANGUAGE_BELARUSIAN: rgui_blit_line = rgui_blit_line_rus; break; case RETRO_LANGUAGE_ESPERANTO: diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 6175c2f068..0313d71ddc 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -3219,6 +3219,9 @@ static void setting_get_string_representation_uint_ai_service_lang( case TRANSLATION_LANG_UK: enum_idx = MENU_ENUM_LABEL_VALUE_LANG_UKRAINIAN; break; + case TRANSLATION_LANG_BE: + enum_idx = MENU_ENUM_LABEL_VALUE_LANG_BELARUSIAN; + break; case TRANSLATION_LANG_UR: enum_idx = MENU_ENUM_LABEL_VALUE_LANG_URDU; break; @@ -6924,6 +6927,7 @@ static void setting_get_string_representation_uint_user_language( translated[RETRO_LANGUAGE_BRITISH_ENGLISH] = LANGUAGE_PROGRESS_ENGLISH_UNITED_KINGDOM_TRANSLATED; LANG_DATA(HUNGARIAN) + LANG_DATA(BELARUSIAN) 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 8c278068e8..67496f6e26 100644 --- a/msg_hash.c +++ b/msg_hash.c @@ -128,6 +128,8 @@ const char *get_user_language_iso639_1(bool limit) return "en_gb"; case RETRO_LANGUAGE_HUNGARIAN: return "hu"; + case RETRO_LANGUAGE_BELARUSIAN: + return "be"; } return "en"; } @@ -217,6 +219,18 @@ static const char *msg_hash_to_str_hu(enum msg_hash_enums msg) return "null"; } +static const char *msg_hash_to_str_be(enum msg_hash_enums msg) +{ + switch (msg) + { +#include "intl/msg_hash_be.h" + default: + break; + } + + return "null"; +} + static const char *msg_hash_to_str_en(enum msg_hash_enums msg) { switch (msg) @@ -607,6 +621,9 @@ const char *msg_hash_to_str(enum msg_hash_enums msg) case RETRO_LANGUAGE_HUNGARIAN: ret = msg_hash_to_str_hu(msg); break; + case RETRO_LANGUAGE_BELARUSIAN: + ret = msg_hash_to_str_be(msg); + break; default: break; } diff --git a/msg_hash.h b/msg_hash.h index 314cf16835..fc81cb35b7 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -3471,6 +3471,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_LANG_TELUGU, MENU_ENUM_LABEL_VALUE_LANG_THAI, MENU_ENUM_LABEL_VALUE_LANG_UKRAINIAN, + MENU_ENUM_LABEL_VALUE_LANG_BELARUSIAN, MENU_ENUM_LABEL_VALUE_LANG_URDU, MENU_ENUM_LABEL_VALUE_LANG_CATALAN_VALENCIA, MENU_ENUM_LABEL_VALUE_LANG_WELSH, diff --git a/retroarch.c b/retroarch.c index f4193e1fa7..729b5a3ac9 100644 --- a/retroarch.c +++ b/retroarch.c @@ -7342,6 +7342,7 @@ enum retro_language retroarch_get_language_from_iso(const char *iso639) {"en_GB", RETRO_LANGUAGE_BRITISH_ENGLISH}, {"en", RETRO_LANGUAGE_ENGLISH}, {"hu", RETRO_LANGUAGE_HUNGARIAN}, + {"be", RETRO_LANGUAGE_BELARUSIAN}, }; if (string_is_empty(iso639)) diff --git a/tasks/task_translation.c b/tasks/task_translation.c index f989ce595d..fafe3c29c5 100644 --- a/tasks/task_translation.c +++ b/tasks/task_translation.c @@ -456,6 +456,8 @@ static const char* ai_service_get_str(enum translation_lang id) return "tr"; case TRANSLATION_LANG_UK: return "uk"; + case TRANSLATION_LANG_BE: + return "be"; case TRANSLATION_LANG_UR: return "ur"; case TRANSLATION_LANG_VI: diff --git a/translation_defines.h b/translation_defines.h index 353825eb24..09c4565407 100644 --- a/translation_defines.h +++ b/translation_defines.h @@ -64,6 +64,7 @@ enum translation_lang TRANSLATION_LANG_TH, /* Thai */ TRANSLATION_LANG_TR, /* Turkish */ TRANSLATION_LANG_UK, /* Ukrainian */ + TRANSLATION_LANG_BE, /* Belarusian */ TRANSLATION_LANG_UR, /* Urdu */ TRANSLATION_LANG_VI, /* Vietnamese */ TRANSLATION_LANG_CY, /* Welsh */