From f500ef15ffc04b4d4093d982b51bda92a5ddf385 Mon Sep 17 00:00:00 2001 From: twinaphex <libretro@gmail.com> Date: Fri, 26 Jun 2015 11:43:11 +0200 Subject: [PATCH] (Menu) Make language labels translatable too --- menu/intl/menu_hash_us.c | 26 ++++++++++++++++++++++++++ menu/menu_hash.h | 14 ++++++++++++++ menu/menu_setting.c | 30 +++++++++++++++--------------- 3 files changed, 55 insertions(+), 15 deletions(-) diff --git a/menu/intl/menu_hash_us.c b/menu/intl/menu_hash_us.c index 1ef3ea33fa..164b92760d 100644 --- a/menu/intl/menu_hash_us.c +++ b/menu/intl/menu_hash_us.c @@ -1368,6 +1368,32 @@ const char *menu_hash_to_str_us(uint32_t hash) return "No information is available."; case MENU_LABEL_VALUE_INPUT_USER_BINDS: return "Input User %u Binds"; + case MENU_VALUE_LANG_ENGLISH: + return "English"; + case MENU_VALUE_LANG_JAPANESE: + return "Japanese"; + case MENU_VALUE_LANG_FRENCH: + return "French"; + case MENU_VALUE_LANG_SPANISH: + return "Spanish"; + case MENU_VALUE_LANG_GERMAN: + return "German"; + case MENU_VALUE_LANG_ITALIAN: + return "Italian"; + case MENU_VALUE_LANG_DUTCH: + return "Dutch"; + case MENU_VALUE_LANG_PORTUGUESE: + return "Portuguese"; + case MENU_VALUE_LANG_RUSSIAN: + return "Russian"; + case MENU_VALUE_LANG_KOREAN: + return "Korean"; + case MENU_VALUE_LANG_CHINESE_TRADITIONAL: + return "Chinese (Traditional)"; + case MENU_VALUE_LANG_CHINESE_SIMPLIFIED: + return "Chinese (Simplified)"; + case MENU_VALUE_LANG_ESPERANTO: + return "Esperanto"; default: break; } diff --git a/menu/menu_hash.h b/menu/menu_hash.h index a786056ddd..bdd6e4bc7f 100644 --- a/menu/menu_hash.h +++ b/menu/menu_hash.h @@ -928,6 +928,20 @@ extern "C" { #define MENU_VALUE_DISABLED 0xe326e01dU #define MENU_VALUE_PORT 0x7c8ad52aU +#define MENU_VALUE_LANG_ENGLISH 0xcb4e554fU +#define MENU_VALUE_LANG_JAPANESE 0xfde6f60cU +#define MENU_VALUE_LANG_FRENCH 0xb3704d9bU +#define MENU_VALUE_LANG_SPANISH 0x053c7edbU +#define MENU_VALUE_LANG_GERMAN 0xb4e1541fU +#define MENU_VALUE_LANG_ITALIAN 0x0cc9a6c7U +#define MENU_VALUE_LANG_DUTCH 0x0d0fa55dU +#define MENU_VALUE_LANG_PORTUGUESE 0x2a19df58U +#define MENU_VALUE_LANG_RUSSIAN 0xc53481eaU +#define MENU_VALUE_LANG_KOREAN 0xbeeac9a5U +#define MENU_VALUE_LANG_CHINESE_TRADITIONAL 0x43f172d0U +#define MENU_VALUE_LANG_CHINESE_SIMPLIFIED 0x1ae5ee5bU +#define MENU_VALUE_LANG_ESPERANTO 0x1a933a76U + #define MENU_VALUE_NONE 0x7c89bbd5U #define MENU_LABEL_VALUE_NO_INFORMATION_AVAILABLE 0xbae2c7f6U diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 02de3ebd0f..4b5339adca 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -1488,23 +1488,23 @@ static void setting_get_string_representation_uint_autosave_interval(void *data, static void setting_get_string_representation_uint_user_language(void *data, char *s, size_t len) { - static const char *modes[] = { - "English", - "Japanese", - "French", - "Spanish", - "German", - "Italian", - "Dutch", - "Portuguese", - "Russian", - "Korean", - "Chinese (Traditional)", - "Chinese (Simplified)", - "Esperanto" - }; + const char *modes[RETRO_LANGUAGE_LAST]; settings_t *settings = config_get_ptr(); + modes[RETRO_LANGUAGE_ENGLISH] = menu_hash_to_str(MENU_VALUE_LANG_ENGLISH); + modes[RETRO_LANGUAGE_JAPANESE] = menu_hash_to_str(MENU_VALUE_LANG_JAPANESE); + modes[RETRO_LANGUAGE_FRENCH] = menu_hash_to_str(MENU_VALUE_LANG_FRENCH); + modes[RETRO_LANGUAGE_SPANISH] = menu_hash_to_str(MENU_VALUE_LANG_SPANISH); + modes[RETRO_LANGUAGE_GERMAN] = menu_hash_to_str(MENU_VALUE_LANG_GERMAN); + modes[RETRO_LANGUAGE_ITALIAN] = menu_hash_to_str(MENU_VALUE_LANG_ITALIAN); + modes[RETRO_LANGUAGE_DUTCH] = menu_hash_to_str(MENU_VALUE_LANG_DUTCH); + modes[RETRO_LANGUAGE_PORTUGUESE] = menu_hash_to_str(MENU_VALUE_LANG_PORTUGUESE); + modes[RETRO_LANGUAGE_RUSSIAN] = menu_hash_to_str(MENU_VALUE_LANG_RUSSIAN); + modes[RETRO_LANGUAGE_KOREAN] = menu_hash_to_str(MENU_VALUE_LANG_KOREAN); + modes[RETRO_LANGUAGE_CHINESE_TRADITIONAL] = menu_hash_to_str(MENU_VALUE_LANG_CHINESE_TRADITIONAL); + modes[RETRO_LANGUAGE_CHINESE_SIMPLIFIED] = menu_hash_to_str(MENU_VALUE_LANG_CHINESE_SIMPLIFIED); + modes[RETRO_LANGUAGE_ESPERANTO] = menu_hash_to_str(MENU_VALUE_LANG_ESPERANTO); + if (settings) strlcpy(s, modes[settings->user_language], len); }