diff --git a/desktop_version/lang/ca/strings.xml b/desktop_version/lang/ca/strings.xml
index 846b46d9..66ff4650 100644
--- a/desktop_version/lang/ca/strings.xml
+++ b/desktop_version/lang/ca/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/cy/strings.xml b/desktop_version/lang/cy/strings.xml
index 1b107175..cef06f3e 100644
--- a/desktop_version/lang/cy/strings.xml
+++ b/desktop_version/lang/cy/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/de/strings.xml b/desktop_version/lang/de/strings.xml
index 39e34305..7f3e0560 100644
--- a/desktop_version/lang/de/strings.xml
+++ b/desktop_version/lang/de/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/en/strings.xml b/desktop_version/lang/en/strings.xml
index bdc85c53..de128e28 100644
--- a/desktop_version/lang/en/strings.xml
+++ b/desktop_version/lang/en/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/eo/strings.xml b/desktop_version/lang/eo/strings.xml
index 15e4744c..47681b4c 100644
--- a/desktop_version/lang/eo/strings.xml
+++ b/desktop_version/lang/eo/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/es/strings.xml b/desktop_version/lang/es/strings.xml
index 28929b52..b32ec9a8 100644
--- a/desktop_version/lang/es/strings.xml
+++ b/desktop_version/lang/es/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/fr/strings.xml b/desktop_version/lang/fr/strings.xml
index 7d87cd3f..43179f29 100644
--- a/desktop_version/lang/fr/strings.xml
+++ b/desktop_version/lang/fr/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/ga/strings.xml b/desktop_version/lang/ga/strings.xml
index 23631211..cc28a542 100644
--- a/desktop_version/lang/ga/strings.xml
+++ b/desktop_version/lang/ga/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/it/strings.xml b/desktop_version/lang/it/strings.xml
index fd55c2fa..7f1dda49 100644
--- a/desktop_version/lang/it/strings.xml
+++ b/desktop_version/lang/it/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/nl/strings.xml b/desktop_version/lang/nl/strings.xml
index b4c46a17..17f3f301 100644
--- a/desktop_version/lang/nl/strings.xml
+++ b/desktop_version/lang/nl/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/pt_BR/strings.xml b/desktop_version/lang/pt_BR/strings.xml
index f6c4a1b3..659f072c 100644
--- a/desktop_version/lang/pt_BR/strings.xml
+++ b/desktop_version/lang/pt_BR/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/pt_PT/strings.xml b/desktop_version/lang/pt_PT/strings.xml
index c30b2817..57981f03 100644
--- a/desktop_version/lang/pt_PT/strings.xml
+++ b/desktop_version/lang/pt_PT/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/ru/strings.xml b/desktop_version/lang/ru/strings.xml
index e892950a..37ab8c64 100644
--- a/desktop_version/lang/ru/strings.xml
+++ b/desktop_version/lang/ru/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/tr/strings.xml b/desktop_version/lang/tr/strings.xml
index aa74df6d..3b4f05dc 100644
--- a/desktop_version/lang/tr/strings.xml
+++ b/desktop_version/lang/tr/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/uk/strings.xml b/desktop_version/lang/uk/strings.xml
index 506e57a3..134ff8aa 100644
--- a/desktop_version/lang/uk/strings.xml
+++ b/desktop_version/lang/uk/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/lang/zh/strings.xml b/desktop_version/lang/zh/strings.xml
index 86c3044c..e196dae2 100644
--- a/desktop_version/lang/zh/strings.xml
+++ b/desktop_version/lang/zh/strings.xml
@@ -51,7 +51,8 @@
-
+
+
diff --git a/desktop_version/src/Game.cpp b/desktop_version/src/Game.cpp
index 9a0f1e2b..c10fd107 100644
--- a/desktop_version/src/Game.cpp
+++ b/desktop_version/src/Game.cpp
@@ -6503,7 +6503,7 @@ void Game::createmenu( enum Menu::MenuName t, bool samemenu/*= false*/ )
option(loc::gettext("audio"));
option(loc::gettext("game pad"));
option(loc::gettext("accessibility"));
- option(loc::gettext("language"));
+ option(loc::gettext("language"), graphics.textboxes.empty());
option(loc::gettext("return"));
menuyoff = 0;
maxspacing = 15;
diff --git a/desktop_version/src/Input.cpp b/desktop_version/src/Input.cpp
index 3614e458..103d6794 100644
--- a/desktop_version/src/Input.cpp
+++ b/desktop_version/src/Input.cpp
@@ -1033,11 +1033,18 @@ static void menuactionpress(void)
break;
case 5:
//language options
- music.playef(Sound_VIRIDIAN);
- loc::loadlanguagelist();
- game.createmenu(Menu::language);
- game.currentmenuoption = loc::languagelist_curlang;
- map.nexttowercolour();
+ if (graphics.textboxes.empty())
+ {
+ music.playef(Sound_VIRIDIAN);
+ loc::loadlanguagelist();
+ game.createmenu(Menu::language);
+ game.currentmenuoption = loc::languagelist_curlang;
+ map.nexttowercolour();
+ }
+ else
+ {
+ music.playef(Sound_CRY);
+ }
break;
default:
/* Return */
diff --git a/desktop_version/src/Render.cpp b/desktop_version/src/Render.cpp
index 08effa1f..31c2a24b 100644
--- a/desktop_version/src/Render.cpp
+++ b/desktop_version/src/Render.cpp
@@ -381,8 +381,15 @@ static void menurender(void)
font::print_wrap(PR_CEN, -1, 65, loc::gettext("Disable screen effects, enable slowdown modes or invincibility."), tr, tg, tb);
break;
case 5:
+ {
font::print(PR_2X | PR_CEN, -1, 30, loc::gettext("Language"), tr, tg, tb);
- font::print_wrap(PR_CEN, -1, 65, loc::gettext("Change the language."), tr, tg, tb);
+ int next_y = font::print_wrap(PR_CEN, -1, 65, loc::gettext("Change the language."), tr, tg, tb);
+
+ if (!graphics.textboxes.empty())
+ {
+ font::print_wrap(PR_CEN, -1, next_y, loc::gettext("Can not change the language while a textbox is displayed in-game."), tr, tg, tb);
+ }
+ }
}
break;
case Menu::graphicoptions: