diff --git a/Marlin/src/lcd/language/language_ca.h b/Marlin/src/lcd/language/language_ca.h
index d3a1c2eac1b..13b5d70837a 100644
--- a/Marlin/src/lcd/language/language_ca.h
+++ b/Marlin/src/lcd/language/language_ca.h
@@ -151,7 +151,7 @@ namespace Language_ca {
   LSTR MSG_CHANGE_MEDIA                   = _UxGT("Canvia SD");
   LSTR MSG_ZPROBE_OUT                     = _UxGT("Sonda Z fora");
   LSTR MSG_BLTOUCH_RESET                  = _UxGT("Reinicia BLTouch");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s%s%s primer");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s primer");
   LSTR MSG_ZPROBE_ZOFFSET                 = _UxGT("Decalatge Z");
   LSTR MSG_BABYSTEP_X                     = _UxGT("Micropas X");
   LSTR MSG_BABYSTEP_Y                     = _UxGT("Micropas Y");
diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h
index 50d490a6c2e..0bef3cc8e35 100644
--- a/Marlin/src/lcd/language/language_cz.h
+++ b/Marlin/src/lcd/language/language_cz.h
@@ -396,7 +396,7 @@ namespace Language_cz {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("vysunout TouchMI");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Vysunout Z-sondu");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Zasunout Z-sondu");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Domů %s%s%s první");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Domů %s první");
   LSTR MSG_ZPROBE_ZOFFSET                 = _UxGT("Z ofset");
   LSTR MSG_BABYSTEP_X                     = _UxGT("Babystep X");
   LSTR MSG_BABYSTEP_Y                     = _UxGT("Babystep Y");
diff --git a/Marlin/src/lcd/language/language_da.h b/Marlin/src/lcd/language/language_da.h
index 4078c413d11..acb125589dd 100644
--- a/Marlin/src/lcd/language/language_da.h
+++ b/Marlin/src/lcd/language/language_da.h
@@ -139,7 +139,7 @@ namespace Language_da {
   LSTR MSG_CHANGE_MEDIA                   = _UxGT("Skift SD kort");
   LSTR MSG_ZPROBE_OUT                     = _UxGT("Probe udenfor plade");
   LSTR MSG_BLTOUCH_SELFTEST               = _UxGT("BLTouch Selv-Test");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s%s%s først");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s først");
   LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Opvarmning fejlet");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Fejl: reserve temp");
   LSTR MSG_THERMAL_RUNAWAY                = _UxGT("Temp løber løbsk");
diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h
index c2af37fc777..129f0dac41f 100644
--- a/Marlin/src/lcd/language/language_de.h
+++ b/Marlin/src/lcd/language/language_de.h
@@ -540,7 +540,7 @@ namespace Language_de {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("TouchMI ausfahren");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Z-Sonde ausfahren");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Z-Sonde einfahren");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Vorher %s%s%s homen");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Vorher %s homen");
   LSTR MSG_ZPROBE_SETTINGS                = _UxGT("Sondeneinstellungen");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Sondenversatz");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("Sondenversatz X");
diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h
index 3ce7a5aa2b3..898aa331855 100644
--- a/Marlin/src/lcd/language/language_en.h
+++ b/Marlin/src/lcd/language/language_en.h
@@ -590,7 +590,7 @@ namespace Language_en {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("Deploy TouchMI");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Deploy Z-Probe");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Stow Z-Probe");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s%s%s First");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s First");
   LSTR MSG_ZPROBE_SETTINGS                = _UxGT("Probe Settings");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Probe Offsets");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("Probe X Offset");
diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h
index 5422a8117ba..e2d120b3dcc 100644
--- a/Marlin/src/lcd/language/language_es.h
+++ b/Marlin/src/lcd/language/language_es.h
@@ -399,7 +399,7 @@ namespace Language_es {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("Subir TouchMI");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Subir Sonda Z");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Bajar Sonda Z");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Origen %s%s%s Prim.");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Origen %s Prim.");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Desf. Sonda");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("Desf. Sonda X");
   LSTR MSG_ZPROBE_YOFFSET                 = _UxGT("Desf. Sonda Y");
diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h
index 77c8dbe2d87..f5a365e002b 100644
--- a/Marlin/src/lcd/language/language_eu.h
+++ b/Marlin/src/lcd/language/language_eu.h
@@ -236,7 +236,7 @@ namespace Language_eu {
   LSTR MSG_BLTOUCH_RESET                  = _UxGT("BLTouch berrabia.");
   LSTR MSG_BLTOUCH_DEPLOY                 = _UxGT("BLTouch jaitsi/luzatu");
   LSTR MSG_BLTOUCH_STOW                   = _UxGT("BLTouch igo/jaso");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Etxera %s%s%s lehenengo");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Etxera %s lehenengo");
   LSTR MSG_ZPROBE_ZOFFSET                 = _UxGT("Z Konpentsatu");
   LSTR MSG_BABYSTEP_X                     = _UxGT("Mikro-urratsa X");
   LSTR MSG_BABYSTEP_Y                     = _UxGT("Mikro-urratsa Y");
diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h
index ed4c7ca9af5..5bea244e320 100644
--- a/Marlin/src/lcd/language/language_fr.h
+++ b/Marlin/src/lcd/language/language_fr.h
@@ -425,7 +425,7 @@ namespace Language_fr {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("Déployer TouchMI");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Déployer Sonde Z");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Ranger Sonde Z");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Origine %s%s%s Premier");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Origine %s Premier");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Position sonde Z");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("Décalage X");
   LSTR MSG_ZPROBE_YOFFSET                 = _UxGT("Décalage Y");
diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h
index 005c6cc5d02..2731d864e87 100644
--- a/Marlin/src/lcd/language/language_gl.h
+++ b/Marlin/src/lcd/language/language_gl.h
@@ -414,7 +414,7 @@ namespace Language_gl {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("Estender TouchMI");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Estender Sonda Z");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Recoller Sonda Z");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Orixe %s%s%s Primeiro");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Orixe %s Primeiro");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Desfases Sonda");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("Desfase Sonda X");
   LSTR MSG_ZPROBE_YOFFSET                 = _UxGT("Desfase Sonda Y");
diff --git a/Marlin/src/lcd/language/language_hu.h b/Marlin/src/lcd/language/language_hu.h
index 09fb71876f3..68b489e522f 100644
--- a/Marlin/src/lcd/language/language_hu.h
+++ b/Marlin/src/lcd/language/language_hu.h
@@ -468,7 +468,7 @@ namespace Language_hu {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("TouchMI használ");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Z-Szonda telepítés");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Z-Szonda elhelyezés");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Elöször %s%s%s kell");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Elöször %s kell");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Szonda eltolások");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("X szonda eltolás");
   LSTR MSG_ZPROBE_YOFFSET                 = _UxGT("Y szonda eltolás");
diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h
index def1b983431..7f0496cd188 100644
--- a/Marlin/src/lcd/language/language_it.h
+++ b/Marlin/src/lcd/language/language_it.h
@@ -565,7 +565,7 @@ namespace Language_it {
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Estendi Sonda-Z");
   LSTR MSG_BLTOUCH_STOW                   = _UxGT("Ritrai BLTouch");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Ritrai Sonda-Z");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s%s%s prima");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s prima");
   LSTR MSG_ZPROBE_SETTINGS                = _UxGT("Impostazioni sonda");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Offsets sonda");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("Offset X sonda");
diff --git a/Marlin/src/lcd/language/language_jp_kana.h b/Marlin/src/lcd/language/language_jp_kana.h
index 2f75b887590..5f82b0cc906 100644
--- a/Marlin/src/lcd/language/language_jp_kana.h
+++ b/Marlin/src/lcd/language/language_jp_kana.h
@@ -176,7 +176,7 @@ namespace Language_jp_kana {
   LSTR MSG_ZPROBE_OUT                     = _UxGT("Zプローブ ベッドガイ");            // "Z probe out. bed"
   LSTR MSG_BLTOUCH_SELFTEST               = _UxGT("BLTouch ジコシンダン");          // "BLTouch Self-Test"
   LSTR MSG_BLTOUCH_RESET                  = _UxGT("BLTouch リセット");             // "Reset BLTouch"
-  LSTR MSG_HOME_FIRST                     = _UxGT("サキニ %s%s%s ヲフッキサセテクダサイ"); // "Home ... first"
+  LSTR MSG_HOME_FIRST                     = _UxGT("サキニ %s ヲフッキサセテクダサイ"); // "Home ... first"
   LSTR MSG_ZPROBE_ZOFFSET                 = _UxGT("Zオフセット");                   // "Z Offset"
   LSTR MSG_BABYSTEP_X                     = _UxGT("Xジク ビドウ");                  // "Babystep X"
   LSTR MSG_BABYSTEP_Y                     = _UxGT("Yジク ビドウ");                  // "Babystep Y"
diff --git a/Marlin/src/lcd/language/language_nl.h b/Marlin/src/lcd/language/language_nl.h
index 8aa74d7e9fd..25e34915971 100644
--- a/Marlin/src/lcd/language/language_nl.h
+++ b/Marlin/src/lcd/language/language_nl.h
@@ -153,7 +153,7 @@ namespace Language_nl {
   LSTR MSG_ZPROBE_OUT                     = _UxGT("Z probe uit. bed");
   LSTR MSG_BLTOUCH_SELFTEST               = _UxGT("BLTouch Zelf-Test");
   LSTR MSG_BLTOUCH_RESET                  = _UxGT("Reset BLTouch");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s%s%s Eerst");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s Eerst");
   LSTR MSG_ZPROBE_ZOFFSET                 = _UxGT("Z Offset");  // accepted English term in Dutch
   LSTR MSG_BABYSTEP_X                     = _UxGT("Babystap X");
   LSTR MSG_BABYSTEP_Y                     = _UxGT("Babystap Y");
diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h
index 635866baf10..823524c4e2d 100644
--- a/Marlin/src/lcd/language/language_pl.h
+++ b/Marlin/src/lcd/language/language_pl.h
@@ -373,7 +373,7 @@ namespace Language_pl {
   LSTR MSG_BLTOUCH_SELFTEST               = _UxGT("BLTouch Self-Test");
   LSTR MSG_BLTOUCH_RESET                  = _UxGT("Reset BLTouch");
   LSTR MSG_BLTOUCH_MODE_CHANGE            = _UxGT("UWAGA: Złe ustawienia mogą uszkodzić drukarkę. Kontynuować?");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Najpierw Home %s%s%s");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Najpierw Home %s");
   LSTR MSG_ZPROBE_ZOFFSET                 = _UxGT("Offset Z");
   LSTR MSG_MOVE_NOZZLE_TO_BED             = _UxGT("Przesuń dyszę do stołu");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Łącznie");
diff --git a/Marlin/src/lcd/language/language_pt_br.h b/Marlin/src/lcd/language/language_pt_br.h
index 1d07b2b94f2..2f8536218cc 100644
--- a/Marlin/src/lcd/language/language_pt_br.h
+++ b/Marlin/src/lcd/language/language_pt_br.h
@@ -341,7 +341,7 @@ namespace Language_pt_br {
   LSTR MSG_BLTOUCH_DEPLOY                 = _UxGT("Estender BLTouch");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Estender Sonda-Z");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Recolher Sonda-Z");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s%s%s Primeiro");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s Primeiro");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Compensar Sonda");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("Compensar Sonda em X");
   LSTR MSG_ZPROBE_YOFFSET                 = _UxGT("Compensar Sonda em Y");
diff --git a/Marlin/src/lcd/language/language_ro.h b/Marlin/src/lcd/language/language_ro.h
index 2cf6fff263c..a927a77e1d8 100644
--- a/Marlin/src/lcd/language/language_ro.h
+++ b/Marlin/src/lcd/language/language_ro.h
@@ -420,7 +420,7 @@ namespace Language_ro {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("Deploy TouchMI");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Deploy Z-Probe");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Stow Z-Probe");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s%s%s First");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Home %s First");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Probe Offsets");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("Probe X Offset");
   LSTR MSG_ZPROBE_YOFFSET                 = _UxGT("Probe Y Offset");
diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h
index ec9ddfa7f63..54492e8c8e8 100644
--- a/Marlin/src/lcd/language/language_ru.h
+++ b/Marlin/src/lcd/language/language_ru.h
@@ -582,7 +582,7 @@ namespace Language_ru {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI            = _UxGT("Установить TouchMI");
   LSTR MSG_MANUAL_DEPLOY                    = _UxGT("Установить зонд");
   LSTR MSG_MANUAL_STOW                      = _UxGT("Загрузить зонд");
-  LSTR MSG_HOME_FIRST                       = _UxGT("Сначала паркуй %s%s%s");
+  LSTR MSG_HOME_FIRST                       = _UxGT("Сначала паркуй %s");
   LSTR MSG_ZPROBE_OFFSETS                   = _UxGT("Смещения Z-зонда");
   LSTR MSG_ZPROBE_XOFFSET                   = _UxGT("Смещение X");
   LSTR MSG_ZPROBE_YOFFSET                   = _UxGT("Смещение Y");
diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h
index bb332f4b1ff..8559594bde0 100644
--- a/Marlin/src/lcd/language/language_sk.h
+++ b/Marlin/src/lcd/language/language_sk.h
@@ -551,7 +551,7 @@ namespace Language_sk {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("Zasunúť TouchMI");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Zasunúť sondu Z");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Vysunúť sondu Z");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Najskôr os %s%s%s domov");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Najskôr os %s domov");
   LSTR MSG_ZPROBE_SETTINGS                = _UxGT("Nastav. sondy");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Ofsety sondy Z");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("X ofset");
diff --git a/Marlin/src/lcd/language/language_sv.h b/Marlin/src/lcd/language/language_sv.h
index 1342ccaad76..3803a382f83 100644
--- a/Marlin/src/lcd/language/language_sv.h
+++ b/Marlin/src/lcd/language/language_sv.h
@@ -453,7 +453,7 @@ namespace Language_sv {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("Fällut TouchMI");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Fällut Z-Sond");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Stuva undan Z-Sond");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Hem %s%s%s Först");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Hem %s Först");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Sond Offsets");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("Sond X Offset");
   LSTR MSG_ZPROBE_YOFFSET                 = _UxGT("Sond Y Offset");
diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h
index cb2766306c8..9a3be3a5040 100644
--- a/Marlin/src/lcd/language/language_tr.h
+++ b/Marlin/src/lcd/language/language_tr.h
@@ -391,7 +391,7 @@ namespace Language_tr {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("TouchMI Aç");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Z-Probe Aç");
   LSTR MSG_MANUAL_STOW                    = _UxGT("Z-Probe Kapat");
-  LSTR MSG_HOME_FIRST                     = _UxGT("Önce %s%s%s Sıfırla");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Önce %s Sıfırla");
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("Prob Ofsetleri");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("X Prob Ofset");
   LSTR MSG_ZPROBE_YOFFSET                 = _UxGT("Y Prob Ofset");
diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h
index 6b4ebc79cd1..801f825fde8 100644
--- a/Marlin/src/lcd/language/language_uk.h
+++ b/Marlin/src/lcd/language/language_uk.h
@@ -599,7 +599,7 @@ namespace Language_uk {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI            = _UxGT("Установити TouchMI");
   LSTR MSG_MANUAL_DEPLOY                    = _UxGT("Установити Z-зонд");
   LSTR MSG_MANUAL_STOW                      = _UxGT("Завантажити Z-зонд");
-  LSTR MSG_HOME_FIRST                       = _UxGT("Спочатку дім %s%s%s");
+  LSTR MSG_HOME_FIRST                       = _UxGT("Спочатку дім %s");
   LSTR MSG_ZPROBE_OFFSETS                   = _UxGT("Зміщення зонду");
   LSTR MSG_ZPROBE_XOFFSET                   = _UxGT("Зміщення по X");
   LSTR MSG_ZPROBE_YOFFSET                   = _UxGT("Зміщення по Y");
diff --git a/Marlin/src/lcd/language/language_vi.h b/Marlin/src/lcd/language/language_vi.h
index 27c6ee11812..64ea8f40f64 100644
--- a/Marlin/src/lcd/language/language_vi.h
+++ b/Marlin/src/lcd/language/language_vi.h
@@ -327,7 +327,7 @@ namespace Language_vi {
   LSTR MSG_BLTOUCH_STOW                   = _UxGT("Cất BLTouch");                          // Stow BLTouch
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("Đem Đầu Dò-Z");                         // Deploy Z-Probe
   LSTR MSG_MANUAL_STOW                    = _UxGT("Cất Đầu Dò-Z");                         // Stow Z-Probe
-  LSTR MSG_HOME_FIRST                     = _UxGT("Về nhà %s%s%s Trước");
+  LSTR MSG_HOME_FIRST                     = _UxGT("Về nhà %s Trước");
   LSTR MSG_ZPROBE_ZOFFSET                 = _UxGT("Đầu Dò Bù Đắp Z");                      // Probe Z Offset
   LSTR MSG_BABYSTEP_X                     = _UxGT("Nhít X");                               // Babystep X
   LSTR MSG_BABYSTEP_Y                     = _UxGT("Nhít Y");
diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h
index 4c5a94edcdc..9ad6f881b3b 100644
--- a/Marlin/src/lcd/language/language_zh_CN.h
+++ b/Marlin/src/lcd/language/language_zh_CN.h
@@ -420,7 +420,7 @@ namespace Language_zh_CN {
   LSTR MSG_MANUAL_DEPLOY_TOUCHMI          = _UxGT("部署TouchMI");
   LSTR MSG_MANUAL_DEPLOY                  = _UxGT("部署Z探针");
   LSTR MSG_MANUAL_STOW                    = _UxGT("收好Z探针");
-  LSTR MSG_HOME_FIRST                     = _UxGT("归位 %s%s%s 先");     // "Home ... first"
+  LSTR MSG_HOME_FIRST                     = _UxGT("归位 %s 先");     // "Home ... first"
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("探针偏移量");
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("探针X偏移");
   LSTR MSG_ZPROBE_YOFFSET                 = _UxGT("探针Y偏移");
diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h
index 2aa3554fe80..0b9a3cbd8f7 100644
--- a/Marlin/src/lcd/language/language_zh_TW.h
+++ b/Marlin/src/lcd/language/language_zh_TW.h
@@ -370,7 +370,7 @@ namespace Language_zh_TW {
   LSTR MSG_BLTOUCH_STOW                   = _UxGT("裝載BLTouch");     // "Stow BLTouch"
   LSTR MSG_BLTOUCH_DEPLOY                 = _UxGT("部署BLTouch");     // "Deploy BLTouch"
 
-  LSTR MSG_HOME_FIRST                     = _UxGT("歸位 %s%s%s 先");     // "Home ... first"
+  LSTR MSG_HOME_FIRST                     = _UxGT("歸位 %s 先");     // "Home ... first"
   LSTR MSG_ZPROBE_OFFSETS                 = _UxGT("探針偏移");   //Probe Offsets
   LSTR MSG_ZPROBE_XOFFSET                 = _UxGT("探針X偏移量");   //Probe X Offset
   LSTR MSG_ZPROBE_YOFFSET                 = _UxGT("探針Y偏移量");   //Probe Y Offset
diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp
index dadbfab2972..8df39dae4b6 100644
--- a/Marlin/src/module/motion.cpp
+++ b/Marlin/src/module/motion.cpp
@@ -1471,13 +1471,18 @@ void prepare_line_to_destination() {
   }
 
   bool homing_needed_error(main_axes_bits_t axis_bits/*=main_axes_mask*/) {
-    if ((axis_bits = axes_should_home(axis_bits))) {
-      PGM_P home_first = GET_TEXT(MSG_HOME_FIRST);
+    if ((axis_bits &= axes_should_home(axis_bits))) {
+      char all_axes[] = STR_AXES_MAIN, need[NUM_AXES + 1];
+      uint8_t n = 0;
+      LOOP_NUM_AXES(i) if (TEST(axis_bits, i)) need[n++] = all_axes[i];
+      need[n] = '\0';
+
       char msg[30];
-      #define _AXIS_CHAR(N) TEST(axis_bits, _AXIS(N)) ? STR_##N : ""
-      sprintf_P(msg, home_first, MAPLIST(_AXIS_CHAR, MAIN_AXIS_NAMES));
+      sprintf_P(msg, GET_EN_TEXT(MSG_HOME_FIRST), need);
       SERIAL_ECHO_START();
       SERIAL_ECHOLN(msg);
+
+      sprintf_P(msg, GET_TEXT(MSG_HOME_FIRST), need);
       ui.set_status(msg);
       return true;
     }