diff --git a/Makefile.common b/Makefile.common index 44df7df399..d7d3b0906d 100644 --- a/Makefile.common +++ b/Makefile.common @@ -474,7 +474,8 @@ ifeq ($(HAVE_LANGEXTRA), 1) intl/msg_hash_id.o \ intl/msg_hash_sv.o \ intl/msg_hash_uk.o \ - intl/msg_hash_cs.o + intl/msg_hash_cs.o \ + intl/msg_hash_val.o endif ifneq ($(HAVE_GETOPT_LONG), 1) diff --git a/griffin/griffin.c b/griffin/griffin.c index a5f531f04c..65739fd383 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -1270,6 +1270,7 @@ RETROARCH #include "../intl/msg_hash_sv.c" #include "../intl/msg_hash_uk.c" #include "../intl/msg_hash_cs.c" +#include "../intl/msg_hash_val.c" #endif #include "../intl/msg_hash_us.c" diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 293f2524b3..9081518c1a 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -8164,6 +8164,10 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_LANG_URDU, "Urdu - اُردُو (Restart Required)" ) +MSG_HASH( + MENU_ENUM_LABEL_VALUE_LANG_VALENCIAN, + "Valencian - Valencià" + ) MSG_HASH( MENU_ENUM_LABEL_VALUE_LANG_VIETNAMESE, "Vietnamese - Tiếng Việt" diff --git a/intl/msg_hash_val.c b/intl/msg_hash_val.c new file mode 100644 index 0000000000..9ef6d90285 --- /dev/null +++ b/intl/msg_hash_val.c @@ -0,0 +1,97 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2011-2017 - Daniel De Matteis + * Copyright (C) 2016-2019 - Brad Parker + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#include +#include +#include + +#include +#include + +#include "../msg_hash.h" +#include "../verbosity.h" + +#ifdef RARCH_INTERNAL +#include "../configuration.h" +#include "../config.def.h" + +int msg_hash_get_help_val_enum(enum msg_hash_enums msg, char *s, size_t len) +{ + int ret = 0; + + switch (msg) + { + case MSG_UNKNOWN: + default: + ret = -1; + break; + } + + return ret; +} + +#endif + +#ifdef HAVE_MENU +static const char *menu_hash_to_str_val_label_enum(enum msg_hash_enums msg) +{ + if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END && + msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN) + { + static char hotkey_lbl[128] = {0}; + unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN; + snprintf(hotkey_lbl, sizeof(hotkey_lbl), "input_hotkey_binds_%d", idx); + return hotkey_lbl; + } + + switch (msg) + { +#include "msg_hash_lbl.h" + default: +#if 0 + RARCH_LOG("Unimplemented: [%d]\n", msg); +#endif + break; + } + + return "null"; +} +#endif + +const char *msg_hash_to_str_val(enum msg_hash_enums msg) +{ +#ifdef HAVE_MENU + const char *ret = menu_hash_to_str_val_label_enum(msg); + + if (ret && !string_is_equal(ret, "null")) + return ret; +#endif + + switch (msg) + { +#include "msg_hash_val.h" + default: +#if 0 + RARCH_LOG("Unimplemented: [%d]\n", msg); + { + RARCH_LOG("[%d] : %s\n", msg - 1, msg_hash_to_str(((enum msg_hash_enums)(msg - 1)))); + } +#endif + break; + } + + return "null"; +} diff --git a/libretro-common/include/libretro.h b/libretro-common/include/libretro.h index ad6d0ea8fd..e8a03e519d 100644 --- a/libretro-common/include/libretro.h +++ b/libretro-common/include/libretro.h @@ -287,6 +287,7 @@ enum retro_language RETRO_LANGUAGE_SWEDISH = 25, RETRO_LANGUAGE_UKRAINIAN = 26, RETRO_LANGUAGE_CZECH = 27, + RETRO_LANGUAGE_VALENCIAN = 28, RETRO_LANGUAGE_LAST, /* Ensure sizeof(enum) == sizeof(int) */ diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index 76d08996c2..984c5cd69a 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -1696,6 +1696,7 @@ static bool rgui_fonts_init(rgui_t *rgui) case RETRO_LANGUAGE_FINNISH: case RETRO_LANGUAGE_INDONESIAN: case RETRO_LANGUAGE_SWEDISH: + case RETRO_LANGUAGE_VALENCIAN: /* 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 47d2db0616..323c9e8ecf 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -6743,6 +6743,7 @@ static void setting_get_string_representation_uint_user_language( modes[RETRO_LANGUAGE_SWEDISH] = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LANG_SWEDISH); modes[RETRO_LANGUAGE_UKRAINIAN] = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LANG_UKRAINIAN); modes[RETRO_LANGUAGE_CZECH] = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LANG_CZECH); + modes[RETRO_LANGUAGE_VALENCIAN] = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LANG_VALENCIAN); strlcpy(s, modes[*msg_hash_get_uint(MSG_HASH_USER_LANGUAGE)], len); } #endif diff --git a/msg_hash.c b/msg_hash.c index 5cb5f59fd3..3e11ffd7f3 100644 --- a/msg_hash.c +++ b/msg_hash.c @@ -115,6 +115,9 @@ int msg_hash_get_help_enum(enum msg_hash_enums msg, char *s, size_t len) case RETRO_LANGUAGE_CZECH: ret = msg_hash_get_help_cs_enum(msg, s, len); break; + case RETRO_LANGUAGE_VALENCIAN: + ret = msg_hash_get_help_val_enum(msg, s, len); + break; default: break; } @@ -192,6 +195,8 @@ const char *get_user_language_iso639_1(bool limit) return "uk"; case RETRO_LANGUAGE_CZECH: return "cs"; + case RETRO_LANGUAGE_VALENCIAN: + return "val"; } return "en"; } @@ -284,6 +289,9 @@ const char *msg_hash_to_str(enum msg_hash_enums msg) case RETRO_LANGUAGE_CZECH: ret = msg_hash_to_str_cs(msg); break; + case RETRO_LANGUAGE_VALENCIAN: + ret = msg_hash_to_str_val(msg); + break; default: break; } diff --git a/msg_hash.h b/msg_hash.h index a23f101bdc..4bca5aee7a 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -2863,6 +2863,7 @@ enum msg_hash_enums MENU_ENUM_LABEL_VALUE_LANG_THAI, MENU_ENUM_LABEL_VALUE_LANG_UKRAINIAN, MENU_ENUM_LABEL_VALUE_LANG_URDU, + MENU_ENUM_LABEL_VALUE_LANG_VALENCIAN, MENU_ENUM_LABEL_VALUE_LANG_WELSH, MENU_ENUM_LABEL_VALUE_LANG_YIDDISH, MENU_ENUM_LABEL_VALUE_AI_SERVICE_IMAGE_MODE, @@ -3504,6 +3505,9 @@ int msg_hash_get_help_uk_enum(enum msg_hash_enums msg, char *s, size_t len); const char *msg_hash_to_str_cs(enum msg_hash_enums msg); int msg_hash_get_help_cs_enum(enum msg_hash_enums msg, char *s, size_t len); +const char *msg_hash_to_str_val(enum msg_hash_enums msg); +int msg_hash_get_help_val_enum(enum msg_hash_enums msg, char *s, size_t len); + int msg_hash_get_help_enum(enum msg_hash_enums msg, char *s, size_t len); enum msg_file_type msg_hash_to_file_type(uint32_t hash); diff --git a/retroarch.c b/retroarch.c index 2fc3c89ad6..9ebc2f7c7a 100644 --- a/retroarch.c +++ b/retroarch.c @@ -6127,6 +6127,7 @@ enum retro_language rarch_get_language_from_iso(const char *iso639) {"sv", RETRO_LANGUAGE_SWEDISH}, {"uk", RETRO_LANGUAGE_UKRAINIAN}, {"cs", RETRO_LANGUAGE_CZECH}, + {"val", RETRO_LANGUAGE_VALENCIAN}, }; if (string_is_empty(iso639))