diff --git a/Makefile.common b/Makefile.common index f3075bf4e6..7b495ee01d 100644 --- a/Makefile.common +++ b/Makefile.common @@ -475,7 +475,8 @@ ifeq ($(HAVE_LANGEXTRA), 1) intl/msg_hash_sv.o \ intl/msg_hash_uk.o \ intl/msg_hash_cs.o \ - intl/msg_hash_val.o + intl/msg_hash_val.o \ + intl/msg_hash_ca.o endif ifneq ($(HAVE_GETOPT_LONG), 1) diff --git a/griffin/griffin.c b/griffin/griffin.c index e22809dded..3a8c36fa2a 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -1271,6 +1271,7 @@ RETROARCH #include "../intl/msg_hash_uk.c" #include "../intl/msg_hash_cs.c" #include "../intl/msg_hash_val.c" +#include "../intl/msg_hash_ca.c" #endif #include "../intl/msg_hash_us.c" diff --git a/intl/msg_hash_ca.c b/intl/msg_hash_ca.c new file mode 100644 index 0000000000..f58b607fff --- /dev/null +++ b/intl/msg_hash_ca.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_ca_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_ca_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_ca(enum msg_hash_enums msg) +{ +#ifdef HAVE_MENU + const char *ret = menu_hash_to_str_ca_label_enum(msg); + + if (ret && !string_is_equal(ret, "null")) + return ret; +#endif + + switch (msg) + { +#include "msg_hash_ca.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 9bdbe816bf..2492df7efe 100644 --- a/libretro-common/include/libretro.h +++ b/libretro-common/include/libretro.h @@ -288,6 +288,7 @@ enum retro_language RETRO_LANGUAGE_UKRAINIAN = 26, RETRO_LANGUAGE_CZECH = 27, RETRO_LANGUAGE_CATALAN_VALENCIA = 28, + RETRO_LANGUAGE_CATALAN = 29, RETRO_LANGUAGE_LAST, /* Ensure sizeof(enum) == sizeof(int) */ diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index 224caac517..12443ed441 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -1697,6 +1697,7 @@ static bool rgui_fonts_init(rgui_t *rgui) case RETRO_LANGUAGE_INDONESIAN: case RETRO_LANGUAGE_SWEDISH: case RETRO_LANGUAGE_CATALAN_VALENCIA: + case RETRO_LANGUAGE_CATALAN: /* 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 7960f446ba..82832b6b22 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -6747,6 +6747,7 @@ static void setting_get_string_representation_uint_user_language( 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_CATALAN_VALENCIA] = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LANG_CATALAN_VALENCIA); + modes[RETRO_LANGUAGE_CATALAN] = msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LANG_CATALAN); strlcpy(s, modes[*msg_hash_get_uint(MSG_HASH_USER_LANGUAGE)], len); } #endif diff --git a/msg_hash.c b/msg_hash.c index 7810ee2ae7..b0d2c35526 100644 --- a/msg_hash.c +++ b/msg_hash.c @@ -118,6 +118,9 @@ int msg_hash_get_help_enum(enum msg_hash_enums msg, char *s, size_t len) case RETRO_LANGUAGE_CATALAN_VALENCIA: ret = msg_hash_get_help_val_enum(msg, s, len); break; + case RETRO_LANGUAGE_CATALAN: + ret = msg_hash_get_help_ca_enum(msg, s, len); + break; default: break; } @@ -197,6 +200,8 @@ const char *get_user_language_iso639_1(bool limit) return "cs"; case RETRO_LANGUAGE_CATALAN_VALENCIA: return "val"; + case RETRO_LANGUAGE_CATALAN: + return "ca"; } return "en"; } @@ -292,6 +297,9 @@ const char *msg_hash_to_str(enum msg_hash_enums msg) case RETRO_LANGUAGE_CATALAN_VALENCIA: ret = msg_hash_to_str_val(msg); break; + case RETRO_LANGUAGE_CATALAN: + ret = msg_hash_to_str_ca(msg); + break; default: break; } diff --git a/msg_hash.h b/msg_hash.h index 0940b84180..cec3567916 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -3523,6 +3523,9 @@ 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); +const char *msg_hash_to_str_ca(enum msg_hash_enums msg); +int msg_hash_get_help_ca_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 6af58e539e..f88d2e8dbd 100644 --- a/retroarch.c +++ b/retroarch.c @@ -6126,6 +6126,7 @@ enum retro_language rarch_get_language_from_iso(const char *iso639) {"uk", RETRO_LANGUAGE_UKRAINIAN}, {"cs", RETRO_LANGUAGE_CZECH}, {"val", RETRO_LANGUAGE_CATALAN_VALENCIA}, + {"ca", RETRO_LANGUAGE_CATALAN}, }; if (string_is_empty(iso639))