diff --git a/desktop_version/lang/ca/meta.xml b/desktop_version/lang/ca/meta.xml
index 3423ffd0..c63e35d4 100644
--- a/desktop_version/lang/ca/meta.xml
+++ b/desktop_version/lang/ca/meta.xml
@@ -11,6 +11,9 @@
Prem Espai, Z o V per a seleccionar
+
+ Press {button} to select
+
1
diff --git a/desktop_version/lang/de/meta.xml b/desktop_version/lang/de/meta.xml
index 242f7e29..85e53b92 100644
--- a/desktop_version/lang/de/meta.xml
+++ b/desktop_version/lang/de/meta.xml
@@ -11,6 +11,9 @@
Drücke die Leertaste, Z oder V zur Auswahl
+
+ Press {button} to select
+
1
diff --git a/desktop_version/lang/en/meta.xml b/desktop_version/lang/en/meta.xml
index 32bb5bae..9713da03 100644
--- a/desktop_version/lang/en/meta.xml
+++ b/desktop_version/lang/en/meta.xml
@@ -11,6 +11,9 @@
Press Space, Z, or V to select
+
+ Press {button} to select
+
1
diff --git a/desktop_version/lang/eo/meta.xml b/desktop_version/lang/eo/meta.xml
index b1641aed..ad48e568 100644
--- a/desktop_version/lang/eo/meta.xml
+++ b/desktop_version/lang/eo/meta.xml
@@ -11,6 +11,9 @@
Premu spaceton, Z aŭ V por elekti
+
+ Press {button} to select
+
1
diff --git a/desktop_version/lang/es/meta.xml b/desktop_version/lang/es/meta.xml
index f8cd8bca..1f707f3b 100644
--- a/desktop_version/lang/es/meta.xml
+++ b/desktop_version/lang/es/meta.xml
@@ -11,6 +11,9 @@
Pulsa Espacio, Z, o V para seleccionar
+
+ Press {button} to select
+
1
diff --git a/desktop_version/lang/fr/meta.xml b/desktop_version/lang/fr/meta.xml
index 2048b974..a1cea398 100644
--- a/desktop_version/lang/fr/meta.xml
+++ b/desktop_version/lang/fr/meta.xml
@@ -11,6 +11,9 @@
Espace, Z ou V pour sélectionner
+
+ Press {button} to select
+
1
diff --git a/desktop_version/lang/it/meta.xml b/desktop_version/lang/it/meta.xml
index 269f8466..c4a1b66e 100644
--- a/desktop_version/lang/it/meta.xml
+++ b/desktop_version/lang/it/meta.xml
@@ -11,6 +11,9 @@
Premi spazio, Z, or V per selezionare
+
+ Press {button} to select
+
1
diff --git a/desktop_version/lang/nl/meta.xml b/desktop_version/lang/nl/meta.xml
index 1511919e..9891880b 100644
--- a/desktop_version/lang/nl/meta.xml
+++ b/desktop_version/lang/nl/meta.xml
@@ -11,6 +11,9 @@
Druk op spatie, Z, of V om te kiezen
+
+ Druk op {button} om te kiezen
+
1
diff --git a/desktop_version/lang/pt_BR/meta.xml b/desktop_version/lang/pt_BR/meta.xml
index 9aa9e7be..f29031ab 100644
--- a/desktop_version/lang/pt_BR/meta.xml
+++ b/desktop_version/lang/pt_BR/meta.xml
@@ -11,6 +11,9 @@
+
+ Press {button} to select
+
1
diff --git a/desktop_version/lang/pt_PT/meta.xml b/desktop_version/lang/pt_PT/meta.xml
index 68af570a..a395a1af 100644
--- a/desktop_version/lang/pt_PT/meta.xml
+++ b/desktop_version/lang/pt_PT/meta.xml
@@ -11,6 +11,9 @@
Seleciona com Barra de Espaços, Z ou V
+
+ Press {button} to select
+
1
diff --git a/desktop_version/lang/ru/meta.xml b/desktop_version/lang/ru/meta.xml
index f6ae0fea..9fd72570 100644
--- a/desktop_version/lang/ru/meta.xml
+++ b/desktop_version/lang/ru/meta.xml
@@ -11,6 +11,9 @@
Нажмите Пробел, Z или V, чтобы выбрать
+
+ Press {button} to select
+
1
diff --git a/desktop_version/lang/tr/meta.xml b/desktop_version/lang/tr/meta.xml
index f8f26707..74c69900 100644
--- a/desktop_version/lang/tr/meta.xml
+++ b/desktop_version/lang/tr/meta.xml
@@ -11,6 +11,9 @@
Boşluk, Z veya V tuşu ile seç
+
+ Press {button} to select
+
1
diff --git a/desktop_version/src/Localization.h b/desktop_version/src/Localization.h
index 1080c90c..71e615ce 100644
--- a/desktop_version/src/Localization.h
+++ b/desktop_version/src/Localization.h
@@ -22,6 +22,7 @@ struct LangMeta
std::string nativename;
std::string credit;
std::string action_hint;
+ std::string gamepad_hint;
bool autowordwrap; // = true; enable automatic wordwrapping
bool toupper; // = true; enable automatic full-caps for menu options
bool toupper_i_dot; // = false; enable Turkish i mapping when uppercasing
diff --git a/desktop_version/src/LocalizationMaint.cpp b/desktop_version/src/LocalizationMaint.cpp
index 716bd043..6ce4f34d 100644
--- a/desktop_version/src/LocalizationMaint.cpp
+++ b/desktop_version/src/LocalizationMaint.cpp
@@ -86,6 +86,8 @@ static void sync_lang_file(const std::string& langcode)
pElem->SetText(langmeta.credit.c_str());
else if (SDL_strcmp(pKey, "action_hint") == 0)
pElem->SetText(langmeta.action_hint.c_str());
+ else if (SDL_strcmp(pKey, "gamepad_hint") == 0)
+ pElem->SetText(langmeta.gamepad_hint.c_str());
else if (SDL_strcmp(pKey, "autowordwrap") == 0)
pElem->SetText((int) langmeta.autowordwrap);
else if (SDL_strcmp(pKey, "toupper") == 0)
diff --git a/desktop_version/src/LocalizationStorage.cpp b/desktop_version/src/LocalizationStorage.cpp
index 430b6e4a..06932725 100644
--- a/desktop_version/src/LocalizationStorage.cpp
+++ b/desktop_version/src/LocalizationStorage.cpp
@@ -93,6 +93,8 @@ static void loadmeta(LangMeta& meta, const std::string& langcode = lang)
meta.credit = std::string(pText);
else if (SDL_strcmp(pKey, "action_hint") == 0)
meta.action_hint = std::string(pText);
+ else if (SDL_strcmp(pKey, "gamepad_hint") == 0)
+ meta.gamepad_hint = std::string(pText);
else if (SDL_strcmp(pKey, "autowordwrap") == 0)
meta.autowordwrap = help.Int(pText);
else if (SDL_strcmp(pKey, "toupper") == 0)
diff --git a/desktop_version/src/Render.cpp b/desktop_version/src/Render.cpp
index f671a96b..6a5e1086 100644
--- a/desktop_version/src/Render.cpp
+++ b/desktop_version/src/Render.cpp
@@ -646,7 +646,22 @@ static void menurender(void)
else if ((unsigned)game.currentmenuoption < loc::languagelist.size())
{
font::print_wrap(PR_CEN, -1, 8, loc::languagelist[game.currentmenuoption].credit.c_str(), tr/2, tg/2, tb/2);
- font::print(PR_CEN, -1, 230, loc::languagelist[game.currentmenuoption].action_hint, tr/2, tg/2, tb/2);
+ const char* select_hint;
+ char buffer[SCREEN_WIDTH_CHARS + 1];
+ if (BUTTONGLYPHS_keyboard_is_active())
+ {
+ select_hint = loc::languagelist[game.currentmenuoption].action_hint.c_str();
+ }
+ else
+ {
+ vformat_buf(buffer, sizeof(buffer),
+ loc::languagelist[game.currentmenuoption].gamepad_hint.c_str(),
+ "button:but",
+ vformat_button(ActionSet_Menu, Action_Menu_Accept)
+ );
+ select_hint = buffer;
+ }
+ font::print(PR_CEN, -1, 230, select_hint, tr/2, tg/2, tb/2);
}
break;
case Menu::translator_main: