language_all.h 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740
  1. #ifndef LANGUAGE_ALL_H
  2. #define LANGUAGE_ALL_H
  3. #include <avr/pgmspace.h>
  4. // Language indices into their particular symbol tables.
  5. #define LANG_ID_EN 0
  6. #define LANG_ID_CZ 1
  7. #define LANG_ID_IT 2
  8. #define LANG_ID_ES 3
  9. #define LANG_ID_DE 4
  10. // Language is not defined and it shall be selected from the menu.
  11. #define LANG_ID_FORCE_SELECTION 254
  12. // Language is not defined on a virgin RAMBo board.
  13. #define LANG_ID_UNDEFINED 255
  14. // Default language ID, if no language is selected.
  15. #define LANG_ID_DEFAULT LANG_ID_CZ
  16. // Number of languages available in the language table.
  17. #define LANG_NUM 5
  18. // Currectly active language selection.
  19. extern unsigned char lang_selected;
  20. #define LANG_TABLE_SELECT_EXPLICIT(TABLE, LANG) ((const char*)(pgm_read_ptr(TABLE + (LANG))))
  21. #define LANG_TABLE_SELECT(TABLE) LANG_TABLE_SELECT_EXPLICIT(TABLE, lang_selected)
  22. extern const char* const MSG_ACTIVE_EXTRUDER_LANG_TABLE[1];
  23. #define MSG_ACTIVE_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_ACTIVE_EXTRUDER_LANG_TABLE, 0)
  24. extern const char* const MSG_ADJUSTZ_LANG_TABLE[LANG_NUM];
  25. #define MSG_ADJUSTZ LANG_TABLE_SELECT(MSG_ADJUSTZ_LANG_TABLE)
  26. extern const char* const MSG_ALL_LANG_TABLE[LANG_NUM];
  27. #define MSG_ALL LANG_TABLE_SELECT(MSG_ALL_LANG_TABLE)
  28. extern const char* const MSG_AMAX_LANG_TABLE[1];
  29. #define MSG_AMAX LANG_TABLE_SELECT_EXPLICIT(MSG_AMAX_LANG_TABLE, 0)
  30. extern const char* const MSG_AUTHOR_LANG_TABLE[1];
  31. #define MSG_AUTHOR LANG_TABLE_SELECT_EXPLICIT(MSG_AUTHOR_LANG_TABLE, 0)
  32. extern const char* const MSG_AUTO_HOME_LANG_TABLE[LANG_NUM];
  33. #define MSG_AUTO_HOME LANG_TABLE_SELECT(MSG_AUTO_HOME_LANG_TABLE)
  34. extern const char* const MSG_A_RETRACT_LANG_TABLE[1];
  35. #define MSG_A_RETRACT LANG_TABLE_SELECT_EXPLICIT(MSG_A_RETRACT_LANG_TABLE, 0)
  36. extern const char* const MSG_BABYSTEPPING_X_LANG_TABLE[1];
  37. #define MSG_BABYSTEPPING_X LANG_TABLE_SELECT_EXPLICIT(MSG_BABYSTEPPING_X_LANG_TABLE, 0)
  38. extern const char* const MSG_BABYSTEPPING_Y_LANG_TABLE[1];
  39. #define MSG_BABYSTEPPING_Y LANG_TABLE_SELECT_EXPLICIT(MSG_BABYSTEPPING_Y_LANG_TABLE, 0)
  40. extern const char* const MSG_BABYSTEPPING_Z_LANG_TABLE[1];
  41. #define MSG_BABYSTEPPING_Z LANG_TABLE_SELECT_EXPLICIT(MSG_BABYSTEPPING_Z_LANG_TABLE, 0)
  42. extern const char* const MSG_BABYSTEP_X_LANG_TABLE[1];
  43. #define MSG_BABYSTEP_X LANG_TABLE_SELECT_EXPLICIT(MSG_BABYSTEP_X_LANG_TABLE, 0)
  44. extern const char* const MSG_BABYSTEP_Y_LANG_TABLE[1];
  45. #define MSG_BABYSTEP_Y LANG_TABLE_SELECT_EXPLICIT(MSG_BABYSTEP_Y_LANG_TABLE, 0)
  46. extern const char* const MSG_BABYSTEP_Z_LANG_TABLE[LANG_NUM];
  47. #define MSG_BABYSTEP_Z LANG_TABLE_SELECT(MSG_BABYSTEP_Z_LANG_TABLE)
  48. extern const char* const MSG_BABYSTEP_Z_NOT_SET_LANG_TABLE[LANG_NUM];
  49. #define MSG_BABYSTEP_Z_NOT_SET LANG_TABLE_SELECT(MSG_BABYSTEP_Z_NOT_SET_LANG_TABLE)
  50. extern const char* const MSG_BED_LANG_TABLE[LANG_NUM];
  51. #define MSG_BED LANG_TABLE_SELECT(MSG_BED_LANG_TABLE)
  52. extern const char* const MSG_BED_CORRECTION_FRONT_LANG_TABLE[LANG_NUM];
  53. #define MSG_BED_CORRECTION_FRONT LANG_TABLE_SELECT(MSG_BED_CORRECTION_FRONT_LANG_TABLE)
  54. extern const char* const MSG_BED_CORRECTION_LEFT_LANG_TABLE[LANG_NUM];
  55. #define MSG_BED_CORRECTION_LEFT LANG_TABLE_SELECT(MSG_BED_CORRECTION_LEFT_LANG_TABLE)
  56. extern const char* const MSG_BED_CORRECTION_MENU_LANG_TABLE[LANG_NUM];
  57. #define MSG_BED_CORRECTION_MENU LANG_TABLE_SELECT(MSG_BED_CORRECTION_MENU_LANG_TABLE)
  58. extern const char* const MSG_BED_CORRECTION_REAR_LANG_TABLE[LANG_NUM];
  59. #define MSG_BED_CORRECTION_REAR LANG_TABLE_SELECT(MSG_BED_CORRECTION_REAR_LANG_TABLE)
  60. extern const char* const MSG_BED_CORRECTION_RESET_LANG_TABLE[LANG_NUM];
  61. #define MSG_BED_CORRECTION_RESET LANG_TABLE_SELECT(MSG_BED_CORRECTION_RESET_LANG_TABLE)
  62. extern const char* const MSG_BED_CORRECTION_RIGHT_LANG_TABLE[LANG_NUM];
  63. #define MSG_BED_CORRECTION_RIGHT LANG_TABLE_SELECT(MSG_BED_CORRECTION_RIGHT_LANG_TABLE)
  64. extern const char* const MSG_BED_DONE_LANG_TABLE[LANG_NUM];
  65. #define MSG_BED_DONE LANG_TABLE_SELECT(MSG_BED_DONE_LANG_TABLE)
  66. extern const char* const MSG_BED_HEATING_LANG_TABLE[LANG_NUM];
  67. #define MSG_BED_HEATING LANG_TABLE_SELECT(MSG_BED_HEATING_LANG_TABLE)
  68. extern const char* const MSG_BED_LEVELING_FAILED_POINT_HIGH_LANG_TABLE[LANG_NUM];
  69. #define MSG_BED_LEVELING_FAILED_POINT_HIGH LANG_TABLE_SELECT(MSG_BED_LEVELING_FAILED_POINT_HIGH_LANG_TABLE)
  70. extern const char* const MSG_BED_LEVELING_FAILED_POINT_LOW_LANG_TABLE[LANG_NUM];
  71. #define MSG_BED_LEVELING_FAILED_POINT_LOW LANG_TABLE_SELECT(MSG_BED_LEVELING_FAILED_POINT_LOW_LANG_TABLE)
  72. extern const char* const MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_LANG_TABLE[LANG_NUM];
  73. #define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED LANG_TABLE_SELECT(MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_LANG_TABLE)
  74. extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_LANG_TABLE[LANG_NUM];
  75. #define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_LANG_TABLE)
  76. extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_LANG_TABLE[LANG_NUM];
  77. #define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_LANG_TABLE)
  78. extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_LANG_TABLE[LANG_NUM];
  79. #define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_LANG_TABLE)
  80. extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_LANG_TABLE[LANG_NUM];
  81. #define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_LANG_TABLE)
  82. extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE[LANG_NUM];
  83. #define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE)
  84. extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE[LANG_NUM];
  85. #define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE)
  86. extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_LANG_TABLE[LANG_NUM];
  87. #define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_LANG_TABLE)
  88. extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_LANG_TABLE[LANG_NUM];
  89. #define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_LANG_TABLE)
  90. extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_LANG_TABLE[LANG_NUM];
  91. #define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_LANG_TABLE)
  92. extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_LANG_TABLE[LANG_NUM];
  93. #define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_LANG_TABLE)
  94. extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_LANG_TABLE[LANG_NUM];
  95. #define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_LANG_TABLE)
  96. extern const char* const MSG_BEGIN_FILE_LIST_LANG_TABLE[1];
  97. #define MSG_BEGIN_FILE_LIST LANG_TABLE_SELECT_EXPLICIT(MSG_BEGIN_FILE_LIST_LANG_TABLE, 0)
  98. extern const char* const MSG_BROWNOUT_RESET_LANG_TABLE[1];
  99. #define MSG_BROWNOUT_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_BROWNOUT_RESET_LANG_TABLE, 0)
  100. extern const char* const MSG_CALIBRATE_BED_LANG_TABLE[LANG_NUM];
  101. #define MSG_CALIBRATE_BED LANG_TABLE_SELECT(MSG_CALIBRATE_BED_LANG_TABLE)
  102. extern const char* const MSG_CALIBRATE_BED_RESET_LANG_TABLE[LANG_NUM];
  103. #define MSG_CALIBRATE_BED_RESET LANG_TABLE_SELECT(MSG_CALIBRATE_BED_RESET_LANG_TABLE)
  104. extern const char* const MSG_CALIBRATE_E_LANG_TABLE[LANG_NUM];
  105. #define MSG_CALIBRATE_E LANG_TABLE_SELECT(MSG_CALIBRATE_E_LANG_TABLE)
  106. extern const char* const MSG_CALIBRATE_PINDA_LANG_TABLE[LANG_NUM];
  107. #define MSG_CALIBRATE_PINDA LANG_TABLE_SELECT(MSG_CALIBRATE_PINDA_LANG_TABLE)
  108. extern const char* const MSG_CALIBRATE_Z_AUTO_LANG_TABLE[1];
  109. #define MSG_CALIBRATE_Z_AUTO LANG_TABLE_SELECT_EXPLICIT(MSG_CALIBRATE_Z_AUTO_LANG_TABLE, 0)
  110. extern const char* const MSG_CALIBRATION_PINDA_MENU_LANG_TABLE[LANG_NUM];
  111. #define MSG_CALIBRATION_PINDA_MENU LANG_TABLE_SELECT(MSG_CALIBRATION_PINDA_MENU_LANG_TABLE)
  112. extern const char* const MSG_CARD_MENU_LANG_TABLE[LANG_NUM];
  113. #define MSG_CARD_MENU LANG_TABLE_SELECT(MSG_CARD_MENU_LANG_TABLE)
  114. extern const char* const MSG_CHANGE_EXTR_LANG_TABLE[LANG_NUM];
  115. #define MSG_CHANGE_EXTR LANG_TABLE_SELECT(MSG_CHANGE_EXTR_LANG_TABLE)
  116. extern const char* const MSG_CHANGE_SUCCESS_LANG_TABLE[LANG_NUM];
  117. #define MSG_CHANGE_SUCCESS LANG_TABLE_SELECT(MSG_CHANGE_SUCCESS_LANG_TABLE)
  118. extern const char* const MSG_CHANGING_FILAMENT_LANG_TABLE[LANG_NUM];
  119. #define MSG_CHANGING_FILAMENT LANG_TABLE_SELECT(MSG_CHANGING_FILAMENT_LANG_TABLE)
  120. extern const char* const MSG_CHOOSE_EXTRUDER_LANG_TABLE[LANG_NUM];
  121. #define MSG_CHOOSE_EXTRUDER LANG_TABLE_SELECT(MSG_CHOOSE_EXTRUDER_LANG_TABLE)
  122. extern const char* const MSG_CLEAN_NOZZLE_E_LANG_TABLE[LANG_NUM];
  123. #define MSG_CLEAN_NOZZLE_E LANG_TABLE_SELECT(MSG_CLEAN_NOZZLE_E_LANG_TABLE)
  124. extern const char* const MSG_CNG_SDCARD_LANG_TABLE[1];
  125. #define MSG_CNG_SDCARD LANG_TABLE_SELECT_EXPLICIT(MSG_CNG_SDCARD_LANG_TABLE, 0)
  126. extern const char* const MSG_CONFIGURATION_VER_LANG_TABLE[1];
  127. #define MSG_CONFIGURATION_VER LANG_TABLE_SELECT_EXPLICIT(MSG_CONFIGURATION_VER_LANG_TABLE, 0)
  128. extern const char* const MSG_CONFIRM_CARRIAGE_AT_THE_TOP_LANG_TABLE[LANG_NUM];
  129. #define MSG_CONFIRM_CARRIAGE_AT_THE_TOP LANG_TABLE_SELECT(MSG_CONFIRM_CARRIAGE_AT_THE_TOP_LANG_TABLE)
  130. extern const char* const MSG_CONFIRM_NOZZLE_CLEAN_LANG_TABLE[LANG_NUM];
  131. #define MSG_CONFIRM_NOZZLE_CLEAN LANG_TABLE_SELECT(MSG_CONFIRM_NOZZLE_CLEAN_LANG_TABLE)
  132. extern const char* const MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_LANG_TABLE[LANG_NUM];
  133. #define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ LANG_TABLE_SELECT(MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_LANG_TABLE)
  134. extern const char* const MSG_CONTROL_LANG_TABLE[1];
  135. #define MSG_CONTROL LANG_TABLE_SELECT_EXPLICIT(MSG_CONTROL_LANG_TABLE, 0)
  136. extern const char* const MSG_COOLDOWN_LANG_TABLE[LANG_NUM];
  137. #define MSG_COOLDOWN LANG_TABLE_SELECT(MSG_COOLDOWN_LANG_TABLE)
  138. extern const char* const MSG_CORRECTLY_LANG_TABLE[LANG_NUM];
  139. #define MSG_CORRECTLY LANG_TABLE_SELECT(MSG_CORRECTLY_LANG_TABLE)
  140. extern const char* const MSG_COUNT_X_LANG_TABLE[1];
  141. #define MSG_COUNT_X LANG_TABLE_SELECT_EXPLICIT(MSG_COUNT_X_LANG_TABLE, 0)
  142. extern const char* const MSG_CRASHDETECT_OFF_LANG_TABLE[1];
  143. #define MSG_CRASHDETECT_OFF LANG_TABLE_SELECT_EXPLICIT(MSG_CRASHDETECT_OFF_LANG_TABLE, 0)
  144. extern const char* const MSG_CRASHDETECT_ON_LANG_TABLE[1];
  145. #define MSG_CRASHDETECT_ON LANG_TABLE_SELECT_EXPLICIT(MSG_CRASHDETECT_ON_LANG_TABLE, 0)
  146. extern const char* const MSG_CRASH_DETECTED_LANG_TABLE[1];
  147. #define MSG_CRASH_DETECTED LANG_TABLE_SELECT_EXPLICIT(MSG_CRASH_DETECTED_LANG_TABLE, 0)
  148. extern const char* const MSG_CURRENT_LANG_TABLE[LANG_NUM];
  149. #define MSG_CURRENT LANG_TABLE_SELECT(MSG_CURRENT_LANG_TABLE)
  150. extern const char* const MSG_DATE_LANG_TABLE[LANG_NUM];
  151. #define MSG_DATE LANG_TABLE_SELECT(MSG_DATE_LANG_TABLE)
  152. extern const char* const MSG_DISABLE_STEPPERS_LANG_TABLE[LANG_NUM];
  153. #define MSG_DISABLE_STEPPERS LANG_TABLE_SELECT(MSG_DISABLE_STEPPERS_LANG_TABLE)
  154. extern const char* const MSG_DWELL_LANG_TABLE[LANG_NUM];
  155. #define MSG_DWELL LANG_TABLE_SELECT(MSG_DWELL_LANG_TABLE)
  156. extern const char* const MSG_ENDSTOPS_HIT_LANG_TABLE[1];
  157. #define MSG_ENDSTOPS_HIT LANG_TABLE_SELECT_EXPLICIT(MSG_ENDSTOPS_HIT_LANG_TABLE, 0)
  158. extern const char* const MSG_ENDSTOP_HIT_LANG_TABLE[1];
  159. #define MSG_ENDSTOP_HIT LANG_TABLE_SELECT_EXPLICIT(MSG_ENDSTOP_HIT_LANG_TABLE, 0)
  160. extern const char* const MSG_ENDSTOP_OPEN_LANG_TABLE[1];
  161. #define MSG_ENDSTOP_OPEN LANG_TABLE_SELECT_EXPLICIT(MSG_ENDSTOP_OPEN_LANG_TABLE, 0)
  162. extern const char* const MSG_END_FILE_LIST_LANG_TABLE[1];
  163. #define MSG_END_FILE_LIST LANG_TABLE_SELECT_EXPLICIT(MSG_END_FILE_LIST_LANG_TABLE, 0)
  164. extern const char* const MSG_ERROR_LANG_TABLE[LANG_NUM];
  165. #define MSG_ERROR LANG_TABLE_SELECT(MSG_ERROR_LANG_TABLE)
  166. extern const char* const MSG_ERR_CHECKSUM_MISMATCH_LANG_TABLE[1];
  167. #define MSG_ERR_CHECKSUM_MISMATCH LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_CHECKSUM_MISMATCH_LANG_TABLE, 0)
  168. extern const char* const MSG_ERR_COLD_EXTRUDE_STOP_LANG_TABLE[1];
  169. #define MSG_ERR_COLD_EXTRUDE_STOP LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_COLD_EXTRUDE_STOP_LANG_TABLE, 0)
  170. extern const char* const MSG_ERR_KILLED_LANG_TABLE[1];
  171. #define MSG_ERR_KILLED LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_KILLED_LANG_TABLE, 0)
  172. extern const char* const MSG_ERR_LINE_NO_LANG_TABLE[1];
  173. #define MSG_ERR_LINE_NO LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_LINE_NO_LANG_TABLE, 0)
  174. extern const char* const MSG_ERR_LONG_EXTRUDE_STOP_LANG_TABLE[1];
  175. #define MSG_ERR_LONG_EXTRUDE_STOP LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_LONG_EXTRUDE_STOP_LANG_TABLE, 0)
  176. extern const char* const MSG_ERR_NO_CHECKSUM_LANG_TABLE[1];
  177. #define MSG_ERR_NO_CHECKSUM LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_NO_CHECKSUM_LANG_TABLE, 0)
  178. extern const char* const MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM_LANG_TABLE[1];
  179. #define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM_LANG_TABLE, 0)
  180. extern const char* const MSG_ERR_NO_THERMISTORS_LANG_TABLE[1];
  181. #define MSG_ERR_NO_THERMISTORS LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_NO_THERMISTORS_LANG_TABLE, 0)
  182. extern const char* const MSG_ERR_STOPPED_LANG_TABLE[1];
  183. #define MSG_ERR_STOPPED LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_STOPPED_LANG_TABLE, 0)
  184. extern const char* const MSG_EXTERNAL_RESET_LANG_TABLE[1];
  185. #define MSG_EXTERNAL_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_EXTERNAL_RESET_LANG_TABLE, 0)
  186. extern const char* const MSG_EXTRUDER_LANG_TABLE[LANG_NUM];
  187. #define MSG_EXTRUDER LANG_TABLE_SELECT(MSG_EXTRUDER_LANG_TABLE)
  188. extern const char* const MSG_EXTRUDER_1_LANG_TABLE[LANG_NUM];
  189. #define MSG_EXTRUDER_1 LANG_TABLE_SELECT(MSG_EXTRUDER_1_LANG_TABLE)
  190. extern const char* const MSG_EXTRUDER_2_LANG_TABLE[LANG_NUM];
  191. #define MSG_EXTRUDER_2 LANG_TABLE_SELECT(MSG_EXTRUDER_2_LANG_TABLE)
  192. extern const char* const MSG_EXTRUDER_3_LANG_TABLE[LANG_NUM];
  193. #define MSG_EXTRUDER_3 LANG_TABLE_SELECT(MSG_EXTRUDER_3_LANG_TABLE)
  194. extern const char* const MSG_EXTRUDER_4_LANG_TABLE[LANG_NUM];
  195. #define MSG_EXTRUDER_4 LANG_TABLE_SELECT(MSG_EXTRUDER_4_LANG_TABLE)
  196. extern const char* const MSG_E_CAL_KNOB_LANG_TABLE[LANG_NUM];
  197. #define MSG_E_CAL_KNOB LANG_TABLE_SELECT(MSG_E_CAL_KNOB_LANG_TABLE)
  198. extern const char* const MSG_Enqueing_LANG_TABLE[1];
  199. #define MSG_Enqueing LANG_TABLE_SELECT_EXPLICIT(MSG_Enqueing_LANG_TABLE, 0)
  200. extern const char* const MSG_FACTOR_LANG_TABLE[1];
  201. #define MSG_FACTOR LANG_TABLE_SELECT_EXPLICIT(MSG_FACTOR_LANG_TABLE, 0)
  202. extern const char* const MSG_FAN_SPEED_LANG_TABLE[LANG_NUM];
  203. #define MSG_FAN_SPEED LANG_TABLE_SELECT(MSG_FAN_SPEED_LANG_TABLE)
  204. extern const char* const MSG_FARM_CARD_MENU_LANG_TABLE[1];
  205. #define MSG_FARM_CARD_MENU LANG_TABLE_SELECT_EXPLICIT(MSG_FARM_CARD_MENU_LANG_TABLE, 0)
  206. extern const char* const MSG_FILAMENTCHANGE_LANG_TABLE[LANG_NUM];
  207. #define MSG_FILAMENTCHANGE LANG_TABLE_SELECT(MSG_FILAMENTCHANGE_LANG_TABLE)
  208. extern const char* const MSG_FILAMENT_CLEAN_LANG_TABLE[LANG_NUM];
  209. #define MSG_FILAMENT_CLEAN LANG_TABLE_SELECT(MSG_FILAMENT_CLEAN_LANG_TABLE)
  210. extern const char* const MSG_FILAMENT_LOADING_T0_LANG_TABLE[LANG_NUM];
  211. #define MSG_FILAMENT_LOADING_T0 LANG_TABLE_SELECT(MSG_FILAMENT_LOADING_T0_LANG_TABLE)
  212. extern const char* const MSG_FILAMENT_LOADING_T1_LANG_TABLE[LANG_NUM];
  213. #define MSG_FILAMENT_LOADING_T1 LANG_TABLE_SELECT(MSG_FILAMENT_LOADING_T1_LANG_TABLE)
  214. extern const char* const MSG_FILAMENT_LOADING_T2_LANG_TABLE[LANG_NUM];
  215. #define MSG_FILAMENT_LOADING_T2 LANG_TABLE_SELECT(MSG_FILAMENT_LOADING_T2_LANG_TABLE)
  216. extern const char* const MSG_FILAMENT_LOADING_T3_LANG_TABLE[LANG_NUM];
  217. #define MSG_FILAMENT_LOADING_T3 LANG_TABLE_SELECT(MSG_FILAMENT_LOADING_T3_LANG_TABLE)
  218. extern const char* const MSG_FILE_PRINTED_LANG_TABLE[1];
  219. #define MSG_FILE_PRINTED LANG_TABLE_SELECT_EXPLICIT(MSG_FILE_PRINTED_LANG_TABLE, 0)
  220. extern const char* const MSG_FILE_SAVED_LANG_TABLE[1];
  221. #define MSG_FILE_SAVED LANG_TABLE_SELECT_EXPLICIT(MSG_FILE_SAVED_LANG_TABLE, 0)
  222. extern const char* const MSG_FIL_ADJUSTING_LANG_TABLE[LANG_NUM];
  223. #define MSG_FIL_ADJUSTING LANG_TABLE_SELECT(MSG_FIL_ADJUSTING_LANG_TABLE)
  224. extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE[LANG_NUM];
  225. #define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION LANG_TABLE_SELECT(MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE)
  226. extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM];
  227. #define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 LANG_TABLE_SELECT(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE)
  228. extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM];
  229. #define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 LANG_TABLE_SELECT(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE)
  230. extern const char* const MSG_FINISHING_MOVEMENTS_LANG_TABLE[LANG_NUM];
  231. #define MSG_FINISHING_MOVEMENTS LANG_TABLE_SELECT(MSG_FINISHING_MOVEMENTS_LANG_TABLE)
  232. extern const char* const MSG_FLOW_LANG_TABLE[LANG_NUM];
  233. #define MSG_FLOW LANG_TABLE_SELECT(MSG_FLOW_LANG_TABLE)
  234. extern const char* const MSG_FLOW0_LANG_TABLE[1];
  235. #define MSG_FLOW0 LANG_TABLE_SELECT_EXPLICIT(MSG_FLOW0_LANG_TABLE, 0)
  236. extern const char* const MSG_FLOW1_LANG_TABLE[1];
  237. #define MSG_FLOW1 LANG_TABLE_SELECT_EXPLICIT(MSG_FLOW1_LANG_TABLE, 0)
  238. extern const char* const MSG_FLOW2_LANG_TABLE[1];
  239. #define MSG_FLOW2 LANG_TABLE_SELECT_EXPLICIT(MSG_FLOW2_LANG_TABLE, 0)
  240. extern const char* const MSG_FOLLOW_CALIBRATION_FLOW_LANG_TABLE[LANG_NUM];
  241. #define MSG_FOLLOW_CALIBRATION_FLOW LANG_TABLE_SELECT(MSG_FOLLOW_CALIBRATION_FLOW_LANG_TABLE)
  242. extern const char* const MSG_FREE_MEMORY_LANG_TABLE[1];
  243. #define MSG_FREE_MEMORY LANG_TABLE_SELECT_EXPLICIT(MSG_FREE_MEMORY_LANG_TABLE, 0)
  244. extern const char* const MSG_FSENSOR_OFF_LANG_TABLE[1];
  245. #define MSG_FSENSOR_OFF LANG_TABLE_SELECT_EXPLICIT(MSG_FSENSOR_OFF_LANG_TABLE, 0)
  246. extern const char* const MSG_FSENSOR_ON_LANG_TABLE[1];
  247. #define MSG_FSENSOR_ON LANG_TABLE_SELECT_EXPLICIT(MSG_FSENSOR_ON_LANG_TABLE, 0)
  248. extern const char* const MSG_HEATING_LANG_TABLE[LANG_NUM];
  249. #define MSG_HEATING LANG_TABLE_SELECT(MSG_HEATING_LANG_TABLE)
  250. extern const char* const MSG_HEATING_COMPLETE_LANG_TABLE[LANG_NUM];
  251. #define MSG_HEATING_COMPLETE LANG_TABLE_SELECT(MSG_HEATING_COMPLETE_LANG_TABLE)
  252. extern const char* const MSG_HOMEYZ_LANG_TABLE[LANG_NUM];
  253. #define MSG_HOMEYZ LANG_TABLE_SELECT(MSG_HOMEYZ_LANG_TABLE)
  254. extern const char* const MSG_HOMEYZ_DONE_LANG_TABLE[LANG_NUM];
  255. #define MSG_HOMEYZ_DONE LANG_TABLE_SELECT(MSG_HOMEYZ_DONE_LANG_TABLE)
  256. extern const char* const MSG_HOMEYZ_PROGRESS_LANG_TABLE[LANG_NUM];
  257. #define MSG_HOMEYZ_PROGRESS LANG_TABLE_SELECT(MSG_HOMEYZ_PROGRESS_LANG_TABLE)
  258. extern const char* const MSG_HOTEND_OFFSET_LANG_TABLE[1];
  259. #define MSG_HOTEND_OFFSET LANG_TABLE_SELECT_EXPLICIT(MSG_HOTEND_OFFSET_LANG_TABLE, 0)
  260. extern const char* const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM];
  261. #define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 LANG_TABLE_SELECT(MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE)
  262. extern const char* const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM];
  263. #define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 LANG_TABLE_SELECT(MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE)
  264. extern const char* const MSG_INFO_EXTRUDER_LANG_TABLE[1];
  265. #define MSG_INFO_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_INFO_EXTRUDER_LANG_TABLE, 0)
  266. extern const char* const MSG_INFO_FILAMENT_XDIFF_LANG_TABLE[1];
  267. #define MSG_INFO_FILAMENT_XDIFF LANG_TABLE_SELECT_EXPLICIT(MSG_INFO_FILAMENT_XDIFF_LANG_TABLE, 0)
  268. extern const char* const MSG_INFO_FILAMENT_YDIFF_LANG_TABLE[1];
  269. #define MSG_INFO_FILAMENT_YDIFF LANG_TABLE_SELECT_EXPLICIT(MSG_INFO_FILAMENT_YDIFF_LANG_TABLE, 0)
  270. extern const char* const MSG_INFO_NOZZLE_FAN_LANG_TABLE[1];
  271. #define MSG_INFO_NOZZLE_FAN LANG_TABLE_SELECT_EXPLICIT(MSG_INFO_NOZZLE_FAN_LANG_TABLE, 0)
  272. extern const char* const MSG_INFO_PRINT_FAN_LANG_TABLE[1];
  273. #define MSG_INFO_PRINT_FAN LANG_TABLE_SELECT_EXPLICIT(MSG_INFO_PRINT_FAN_LANG_TABLE, 0)
  274. extern const char* const MSG_INIT_SDCARD_LANG_TABLE[1];
  275. #define MSG_INIT_SDCARD LANG_TABLE_SELECT_EXPLICIT(MSG_INIT_SDCARD_LANG_TABLE, 0)
  276. extern const char* const MSG_INSERT_FILAMENT_LANG_TABLE[LANG_NUM];
  277. #define MSG_INSERT_FILAMENT LANG_TABLE_SELECT(MSG_INSERT_FILAMENT_LANG_TABLE)
  278. extern const char* const MSG_INVALID_EXTRUDER_LANG_TABLE[1];
  279. #define MSG_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_INVALID_EXTRUDER_LANG_TABLE, 0)
  280. extern const char* const MSG_KILLED_LANG_TABLE[LANG_NUM];
  281. #define MSG_KILLED LANG_TABLE_SELECT(MSG_KILLED_LANG_TABLE)
  282. extern const char* const MSG_LANGUAGE_NAME_LANG_TABLE[LANG_NUM];
  283. #define MSG_LANGUAGE_NAME LANG_TABLE_SELECT(MSG_LANGUAGE_NAME_LANG_TABLE)
  284. #define MSG_LANGUAGE_NAME_EXPLICIT(LANG) LANG_TABLE_SELECT_EXPLICIT(MSG_LANGUAGE_NAME_LANG_TABLE, LANG)
  285. extern const char* const MSG_LANGUAGE_SELECT_LANG_TABLE[LANG_NUM];
  286. #define MSG_LANGUAGE_SELECT LANG_TABLE_SELECT(MSG_LANGUAGE_SELECT_LANG_TABLE)
  287. #define MSG_LANGUAGE_SELECT_EXPLICIT(LANG) LANG_TABLE_SELECT_EXPLICIT(MSG_LANGUAGE_SELECT_LANG_TABLE, LANG)
  288. extern const char* const MSG_LEFT_LANG_TABLE[LANG_NUM];
  289. #define MSG_LEFT LANG_TABLE_SELECT(MSG_LEFT_LANG_TABLE)
  290. extern const char* const MSG_LOADING_COLOR_LANG_TABLE[LANG_NUM];
  291. #define MSG_LOADING_COLOR LANG_TABLE_SELECT(MSG_LOADING_COLOR_LANG_TABLE)
  292. extern const char* const MSG_LOADING_FILAMENT_LANG_TABLE[LANG_NUM];
  293. #define MSG_LOADING_FILAMENT LANG_TABLE_SELECT(MSG_LOADING_FILAMENT_LANG_TABLE)
  294. extern const char* const MSG_LOAD_ALL_LANG_TABLE[LANG_NUM];
  295. #define MSG_LOAD_ALL LANG_TABLE_SELECT(MSG_LOAD_ALL_LANG_TABLE)
  296. extern const char* const MSG_LOAD_EPROM_LANG_TABLE[1];
  297. #define MSG_LOAD_EPROM LANG_TABLE_SELECT_EXPLICIT(MSG_LOAD_EPROM_LANG_TABLE, 0)
  298. extern const char* const MSG_LOAD_FILAMENT_LANG_TABLE[LANG_NUM];
  299. #define MSG_LOAD_FILAMENT LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_LANG_TABLE)
  300. extern const char* const MSG_LOAD_FILAMENT_1_LANG_TABLE[LANG_NUM];
  301. #define MSG_LOAD_FILAMENT_1 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_1_LANG_TABLE)
  302. extern const char* const MSG_LOAD_FILAMENT_2_LANG_TABLE[LANG_NUM];
  303. #define MSG_LOAD_FILAMENT_2 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_2_LANG_TABLE)
  304. extern const char* const MSG_LOAD_FILAMENT_3_LANG_TABLE[LANG_NUM];
  305. #define MSG_LOAD_FILAMENT_3 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_3_LANG_TABLE)
  306. extern const char* const MSG_LOAD_FILAMENT_4_LANG_TABLE[LANG_NUM];
  307. #define MSG_LOAD_FILAMENT_4 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_4_LANG_TABLE)
  308. extern const char* const MSG_LOOSE_PULLEY_LANG_TABLE[LANG_NUM];
  309. #define MSG_LOOSE_PULLEY LANG_TABLE_SELECT(MSG_LOOSE_PULLEY_LANG_TABLE)
  310. extern const char* const MSG_M104_INVALID_EXTRUDER_LANG_TABLE[1];
  311. #define MSG_M104_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M104_INVALID_EXTRUDER_LANG_TABLE, 0)
  312. extern const char* const MSG_M105_INVALID_EXTRUDER_LANG_TABLE[1];
  313. #define MSG_M105_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M105_INVALID_EXTRUDER_LANG_TABLE, 0)
  314. extern const char* const MSG_M109_INVALID_EXTRUDER_LANG_TABLE[1];
  315. #define MSG_M109_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M109_INVALID_EXTRUDER_LANG_TABLE, 0)
  316. extern const char* const MSG_M115_REPORT_LANG_TABLE[1];
  317. #define MSG_M115_REPORT LANG_TABLE_SELECT_EXPLICIT(MSG_M115_REPORT_LANG_TABLE, 0)
  318. extern const char* const MSG_M117_V2_CALIBRATION_LANG_TABLE[LANG_NUM];
  319. #define MSG_M117_V2_CALIBRATION LANG_TABLE_SELECT(MSG_M117_V2_CALIBRATION_LANG_TABLE)
  320. extern const char* const MSG_M119_REPORT_LANG_TABLE[1];
  321. #define MSG_M119_REPORT LANG_TABLE_SELECT_EXPLICIT(MSG_M119_REPORT_LANG_TABLE, 0)
  322. extern const char* const MSG_M200_INVALID_EXTRUDER_LANG_TABLE[1];
  323. #define MSG_M200_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M200_INVALID_EXTRUDER_LANG_TABLE, 0)
  324. extern const char* const MSG_M218_INVALID_EXTRUDER_LANG_TABLE[1];
  325. #define MSG_M218_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M218_INVALID_EXTRUDER_LANG_TABLE, 0)
  326. extern const char* const MSG_M221_INVALID_EXTRUDER_LANG_TABLE[1];
  327. #define MSG_M221_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M221_INVALID_EXTRUDER_LANG_TABLE, 0)
  328. extern const char* const MSG_MAIN_LANG_TABLE[LANG_NUM];
  329. #define MSG_MAIN LANG_TABLE_SELECT(MSG_MAIN_LANG_TABLE)
  330. extern const char* const MSG_MARK_FIL_LANG_TABLE[LANG_NUM];
  331. #define MSG_MARK_FIL LANG_TABLE_SELECT(MSG_MARK_FIL_LANG_TABLE)
  332. extern const char* const MSG_MAX_LANG_TABLE[1];
  333. #define MSG_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_MAX_LANG_TABLE, 0)
  334. extern const char* const MSG_MEASURED_SKEW_LANG_TABLE[LANG_NUM];
  335. #define MSG_MEASURED_SKEW LANG_TABLE_SELECT(MSG_MEASURED_SKEW_LANG_TABLE)
  336. extern const char* const MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_LANG_TABLE[LANG_NUM];
  337. #define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 LANG_TABLE_SELECT(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_LANG_TABLE)
  338. extern const char* const MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2_LANG_TABLE[LANG_NUM];
  339. #define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 LANG_TABLE_SELECT(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2_LANG_TABLE)
  340. extern const char* const MSG_MENU_CALIBRATION_LANG_TABLE[LANG_NUM];
  341. #define MSG_MENU_CALIBRATION LANG_TABLE_SELECT(MSG_MENU_CALIBRATION_LANG_TABLE)
  342. extern const char* const MSG_MESH_BED_LEVELING_LANG_TABLE[LANG_NUM];
  343. #define MSG_MESH_BED_LEVELING LANG_TABLE_SELECT(MSG_MESH_BED_LEVELING_LANG_TABLE)
  344. extern const char* const MSG_MIN_LANG_TABLE[1];
  345. #define MSG_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_MIN_LANG_TABLE, 0)
  346. extern const char* const MSG_MOTION_LANG_TABLE[1];
  347. #define MSG_MOTION LANG_TABLE_SELECT_EXPLICIT(MSG_MOTION_LANG_TABLE, 0)
  348. extern const char* const MSG_MOVE_01MM_LANG_TABLE[1];
  349. #define MSG_MOVE_01MM LANG_TABLE_SELECT_EXPLICIT(MSG_MOVE_01MM_LANG_TABLE, 0)
  350. extern const char* const MSG_MOVE_10MM_LANG_TABLE[1];
  351. #define MSG_MOVE_10MM LANG_TABLE_SELECT_EXPLICIT(MSG_MOVE_10MM_LANG_TABLE, 0)
  352. extern const char* const MSG_MOVE_1MM_LANG_TABLE[1];
  353. #define MSG_MOVE_1MM LANG_TABLE_SELECT_EXPLICIT(MSG_MOVE_1MM_LANG_TABLE, 0)
  354. extern const char* const MSG_MOVE_AXIS_LANG_TABLE[LANG_NUM];
  355. #define MSG_MOVE_AXIS LANG_TABLE_SELECT(MSG_MOVE_AXIS_LANG_TABLE)
  356. extern const char* const MSG_MOVE_CARRIAGE_TO_THE_TOP_LANG_TABLE[LANG_NUM];
  357. #define MSG_MOVE_CARRIAGE_TO_THE_TOP LANG_TABLE_SELECT(MSG_MOVE_CARRIAGE_TO_THE_TOP_LANG_TABLE)
  358. extern const char* const MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_LANG_TABLE[LANG_NUM];
  359. #define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z LANG_TABLE_SELECT(MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_LANG_TABLE)
  360. extern const char* const MSG_MOVE_E_LANG_TABLE[LANG_NUM];
  361. #define MSG_MOVE_E LANG_TABLE_SELECT(MSG_MOVE_E_LANG_TABLE)
  362. extern const char* const MSG_MOVE_X_LANG_TABLE[LANG_NUM];
  363. #define MSG_MOVE_X LANG_TABLE_SELECT(MSG_MOVE_X_LANG_TABLE)
  364. extern const char* const MSG_MOVE_Y_LANG_TABLE[LANG_NUM];
  365. #define MSG_MOVE_Y LANG_TABLE_SELECT(MSG_MOVE_Y_LANG_TABLE)
  366. extern const char* const MSG_MOVE_Z_LANG_TABLE[LANG_NUM];
  367. #define MSG_MOVE_Z LANG_TABLE_SELECT(MSG_MOVE_Z_LANG_TABLE)
  368. extern const char* const MSG_NEW_FIRMWARE_AVAILABLE_LANG_TABLE[LANG_NUM];
  369. #define MSG_NEW_FIRMWARE_AVAILABLE LANG_TABLE_SELECT(MSG_NEW_FIRMWARE_AVAILABLE_LANG_TABLE)
  370. extern const char* const MSG_NEW_FIRMWARE_PLEASE_UPGRADE_LANG_TABLE[LANG_NUM];
  371. #define MSG_NEW_FIRMWARE_PLEASE_UPGRADE LANG_TABLE_SELECT(MSG_NEW_FIRMWARE_PLEASE_UPGRADE_LANG_TABLE)
  372. extern const char* const MSG_NO_LANG_TABLE[LANG_NUM];
  373. #define MSG_NO LANG_TABLE_SELECT(MSG_NO_LANG_TABLE)
  374. extern const char* const MSG_NOT_COLOR_LANG_TABLE[LANG_NUM];
  375. #define MSG_NOT_COLOR LANG_TABLE_SELECT(MSG_NOT_COLOR_LANG_TABLE)
  376. extern const char* const MSG_NOT_LOADED_LANG_TABLE[LANG_NUM];
  377. #define MSG_NOT_LOADED LANG_TABLE_SELECT(MSG_NOT_LOADED_LANG_TABLE)
  378. extern const char* const MSG_NOZZLE_LANG_TABLE[LANG_NUM];
  379. #define MSG_NOZZLE LANG_TABLE_SELECT(MSG_NOZZLE_LANG_TABLE)
  380. extern const char* const MSG_NOZZLE1_LANG_TABLE[1];
  381. #define MSG_NOZZLE1 LANG_TABLE_SELECT_EXPLICIT(MSG_NOZZLE1_LANG_TABLE, 0)
  382. extern const char* const MSG_NOZZLE2_LANG_TABLE[1];
  383. #define MSG_NOZZLE2 LANG_TABLE_SELECT_EXPLICIT(MSG_NOZZLE2_LANG_TABLE, 0)
  384. extern const char* const MSG_NO_CARD_LANG_TABLE[LANG_NUM];
  385. #define MSG_NO_CARD LANG_TABLE_SELECT(MSG_NO_CARD_LANG_TABLE)
  386. extern const char* const MSG_NO_MOVE_LANG_TABLE[LANG_NUM];
  387. #define MSG_NO_MOVE LANG_TABLE_SELECT(MSG_NO_MOVE_LANG_TABLE)
  388. extern const char* const MSG_OFF_LANG_TABLE[1];
  389. #define MSG_OFF LANG_TABLE_SELECT_EXPLICIT(MSG_OFF_LANG_TABLE, 0)
  390. extern const char* const MSG_OK_LANG_TABLE[1];
  391. #define MSG_OK LANG_TABLE_SELECT_EXPLICIT(MSG_OK_LANG_TABLE, 0)
  392. extern const char* const MSG_ON_LANG_TABLE[1];
  393. #define MSG_ON LANG_TABLE_SELECT_EXPLICIT(MSG_ON_LANG_TABLE, 0)
  394. extern const char* const MSG_PAPER_LANG_TABLE[LANG_NUM];
  395. #define MSG_PAPER LANG_TABLE_SELECT(MSG_PAPER_LANG_TABLE)
  396. extern const char* const MSG_PAUSE_PRINT_LANG_TABLE[LANG_NUM];
  397. #define MSG_PAUSE_PRINT LANG_TABLE_SELECT(MSG_PAUSE_PRINT_LANG_TABLE)
  398. extern const char* const MSG_PICK_Z_LANG_TABLE[LANG_NUM];
  399. #define MSG_PICK_Z LANG_TABLE_SELECT(MSG_PICK_Z_LANG_TABLE)
  400. extern const char* const MSG_PID_EXTRUDER_LANG_TABLE[LANG_NUM];
  401. #define MSG_PID_EXTRUDER LANG_TABLE_SELECT(MSG_PID_EXTRUDER_LANG_TABLE)
  402. extern const char* const MSG_PID_FINISHED_LANG_TABLE[LANG_NUM];
  403. #define MSG_PID_FINISHED LANG_TABLE_SELECT(MSG_PID_FINISHED_LANG_TABLE)
  404. extern const char* const MSG_PID_RUNNING_LANG_TABLE[LANG_NUM];
  405. #define MSG_PID_RUNNING LANG_TABLE_SELECT(MSG_PID_RUNNING_LANG_TABLE)
  406. extern const char* const MSG_PINDA_NOT_CALIBRATED_LANG_TABLE[LANG_NUM];
  407. #define MSG_PINDA_NOT_CALIBRATED LANG_TABLE_SELECT(MSG_PINDA_NOT_CALIBRATED_LANG_TABLE)
  408. extern const char* const MSG_PINDA_PREHEAT_LANG_TABLE[LANG_NUM];
  409. #define MSG_PINDA_PREHEAT LANG_TABLE_SELECT(MSG_PINDA_PREHEAT_LANG_TABLE)
  410. extern const char* const MSG_PLACE_STEEL_SHEET_LANG_TABLE[1];
  411. #define MSG_PLACE_STEEL_SHEET LANG_TABLE_SELECT_EXPLICIT(MSG_PLACE_STEEL_SHEET_LANG_TABLE, 0)
  412. extern const char* const MSG_PLANNER_BUFFER_BYTES_LANG_TABLE[1];
  413. #define MSG_PLANNER_BUFFER_BYTES LANG_TABLE_SELECT_EXPLICIT(MSG_PLANNER_BUFFER_BYTES_LANG_TABLE, 0)
  414. extern const char* const MSG_PLA_FILAMENT_LOADED_LANG_TABLE[LANG_NUM];
  415. #define MSG_PLA_FILAMENT_LOADED LANG_TABLE_SELECT(MSG_PLA_FILAMENT_LOADED_LANG_TABLE)
  416. extern const char* const MSG_PLEASE_LOAD_PLA_LANG_TABLE[LANG_NUM];
  417. #define MSG_PLEASE_LOAD_PLA LANG_TABLE_SELECT(MSG_PLEASE_LOAD_PLA_LANG_TABLE)
  418. extern const char* const MSG_PLEASE_WAIT_LANG_TABLE[LANG_NUM];
  419. #define MSG_PLEASE_WAIT LANG_TABLE_SELECT(MSG_PLEASE_WAIT_LANG_TABLE)
  420. extern const char* const MSG_POSITION_UNKNOWN_LANG_TABLE[1];
  421. #define MSG_POSITION_UNKNOWN LANG_TABLE_SELECT_EXPLICIT(MSG_POSITION_UNKNOWN_LANG_TABLE, 0)
  422. extern const char* const MSG_POWERUP_LANG_TABLE[1];
  423. #define MSG_POWERUP LANG_TABLE_SELECT_EXPLICIT(MSG_POWERUP_LANG_TABLE, 0)
  424. extern const char* const MSG_PREHEAT_LANG_TABLE[LANG_NUM];
  425. #define MSG_PREHEAT LANG_TABLE_SELECT(MSG_PREHEAT_LANG_TABLE)
  426. extern const char* const MSG_PREHEAT_NOZZLE_LANG_TABLE[LANG_NUM];
  427. #define MSG_PREHEAT_NOZZLE LANG_TABLE_SELECT(MSG_PREHEAT_NOZZLE_LANG_TABLE)
  428. extern const char* const MSG_PREPARE_FILAMENT_LANG_TABLE[LANG_NUM];
  429. #define MSG_PREPARE_FILAMENT LANG_TABLE_SELECT(MSG_PREPARE_FILAMENT_LANG_TABLE)
  430. extern const char* const MSG_PRESS_LANG_TABLE[LANG_NUM];
  431. #define MSG_PRESS LANG_TABLE_SELECT(MSG_PRESS_LANG_TABLE)
  432. extern const char* const MSG_PRINTER_DISCONNECTED_LANG_TABLE[1];
  433. #define MSG_PRINTER_DISCONNECTED LANG_TABLE_SELECT_EXPLICIT(MSG_PRINTER_DISCONNECTED_LANG_TABLE, 0)
  434. extern const char* const MSG_PRINT_ABORTED_LANG_TABLE[LANG_NUM];
  435. #define MSG_PRINT_ABORTED LANG_TABLE_SELECT(MSG_PRINT_ABORTED_LANG_TABLE)
  436. extern const char* const MSG_PRINT_PAUSED_LANG_TABLE[LANG_NUM];
  437. #define MSG_PRINT_PAUSED LANG_TABLE_SELECT(MSG_PRINT_PAUSED_LANG_TABLE)
  438. extern const char* const MSG_PRUSA3D_LANG_TABLE[LANG_NUM];
  439. #define MSG_PRUSA3D LANG_TABLE_SELECT(MSG_PRUSA3D_LANG_TABLE)
  440. extern const char* const MSG_PRUSA3D_FORUM_LANG_TABLE[LANG_NUM];
  441. #define MSG_PRUSA3D_FORUM LANG_TABLE_SELECT(MSG_PRUSA3D_FORUM_LANG_TABLE)
  442. extern const char* const MSG_PRUSA3D_HOWTO_LANG_TABLE[LANG_NUM];
  443. #define MSG_PRUSA3D_HOWTO LANG_TABLE_SELECT(MSG_PRUSA3D_HOWTO_LANG_TABLE)
  444. extern const char* const MSG_REBOOT_LANG_TABLE[LANG_NUM];
  445. #define MSG_REBOOT LANG_TABLE_SELECT(MSG_REBOOT_LANG_TABLE)
  446. extern const char* const MSG_RECOVERING_PRINT_LANG_TABLE[1];
  447. #define MSG_RECOVERING_PRINT LANG_TABLE_SELECT_EXPLICIT(MSG_RECOVERING_PRINT_LANG_TABLE, 0)
  448. extern const char* const MSG_RECOVER_PRINT_LANG_TABLE[1];
  449. #define MSG_RECOVER_PRINT LANG_TABLE_SELECT_EXPLICIT(MSG_RECOVER_PRINT_LANG_TABLE, 0)
  450. extern const char* const MSG_RECTRACT_LANG_TABLE[1];
  451. #define MSG_RECTRACT LANG_TABLE_SELECT_EXPLICIT(MSG_RECTRACT_LANG_TABLE, 0)
  452. extern const char* const MSG_REFRESH_LANG_TABLE[1];
  453. #define MSG_REFRESH LANG_TABLE_SELECT_EXPLICIT(MSG_REFRESH_LANG_TABLE, 0)
  454. extern const char* const MSG_REMOVE_STEEL_SHEET_LANG_TABLE[1];
  455. #define MSG_REMOVE_STEEL_SHEET LANG_TABLE_SELECT_EXPLICIT(MSG_REMOVE_STEEL_SHEET_LANG_TABLE, 0)
  456. extern const char* const MSG_RESEND_LANG_TABLE[1];
  457. #define MSG_RESEND LANG_TABLE_SELECT_EXPLICIT(MSG_RESEND_LANG_TABLE, 0)
  458. extern const char* const MSG_RESET_CALIBRATE_E_LANG_TABLE[1];
  459. #define MSG_RESET_CALIBRATE_E LANG_TABLE_SELECT_EXPLICIT(MSG_RESET_CALIBRATE_E_LANG_TABLE, 0)
  460. extern const char* const MSG_RESTORE_FAILSAFE_LANG_TABLE[1];
  461. #define MSG_RESTORE_FAILSAFE LANG_TABLE_SELECT_EXPLICIT(MSG_RESTORE_FAILSAFE_LANG_TABLE, 0)
  462. extern const char* const MSG_RESUME_PRINT_LANG_TABLE[LANG_NUM];
  463. #define MSG_RESUME_PRINT LANG_TABLE_SELECT(MSG_RESUME_PRINT_LANG_TABLE)
  464. extern const char* const MSG_RESUMING_LANG_TABLE[LANG_NUM];
  465. #define MSG_RESUMING LANG_TABLE_SELECT(MSG_RESUMING_LANG_TABLE)
  466. extern const char* const MSG_RESUMING_PRINT_LANG_TABLE[LANG_NUM];
  467. #define MSG_RESUMING_PRINT LANG_TABLE_SELECT(MSG_RESUMING_PRINT_LANG_TABLE)
  468. extern const char* const MSG_RIGHT_LANG_TABLE[LANG_NUM];
  469. #define MSG_RIGHT LANG_TABLE_SELECT(MSG_RIGHT_LANG_TABLE)
  470. extern const char* const MSG_SD_CANT_ENTER_SUBDIR_LANG_TABLE[1];
  471. #define MSG_SD_CANT_ENTER_SUBDIR LANG_TABLE_SELECT_EXPLICIT(MSG_SD_CANT_ENTER_SUBDIR_LANG_TABLE, 0)
  472. extern const char* const MSG_SD_CANT_OPEN_SUBDIR_LANG_TABLE[1];
  473. #define MSG_SD_CANT_OPEN_SUBDIR LANG_TABLE_SELECT_EXPLICIT(MSG_SD_CANT_OPEN_SUBDIR_LANG_TABLE, 0)
  474. extern const char* const MSG_SD_CARD_OK_LANG_TABLE[1];
  475. #define MSG_SD_CARD_OK LANG_TABLE_SELECT_EXPLICIT(MSG_SD_CARD_OK_LANG_TABLE, 0)
  476. extern const char* const MSG_SD_ERR_WRITE_TO_FILE_LANG_TABLE[1];
  477. #define MSG_SD_ERR_WRITE_TO_FILE LANG_TABLE_SELECT_EXPLICIT(MSG_SD_ERR_WRITE_TO_FILE_LANG_TABLE, 0)
  478. extern const char* const MSG_SD_FILE_OPENED_LANG_TABLE[1];
  479. #define MSG_SD_FILE_OPENED LANG_TABLE_SELECT_EXPLICIT(MSG_SD_FILE_OPENED_LANG_TABLE, 0)
  480. extern const char* const MSG_SD_FILE_SELECTED_LANG_TABLE[1];
  481. #define MSG_SD_FILE_SELECTED LANG_TABLE_SELECT_EXPLICIT(MSG_SD_FILE_SELECTED_LANG_TABLE, 0)
  482. extern const char* const MSG_SD_INIT_FAIL_LANG_TABLE[1];
  483. #define MSG_SD_INIT_FAIL LANG_TABLE_SELECT_EXPLICIT(MSG_SD_INIT_FAIL_LANG_TABLE, 0)
  484. extern const char* const MSG_SD_INSERTED_LANG_TABLE[LANG_NUM];
  485. #define MSG_SD_INSERTED LANG_TABLE_SELECT(MSG_SD_INSERTED_LANG_TABLE)
  486. extern const char* const MSG_SD_NOT_PRINTING_LANG_TABLE[1];
  487. #define MSG_SD_NOT_PRINTING LANG_TABLE_SELECT_EXPLICIT(MSG_SD_NOT_PRINTING_LANG_TABLE, 0)
  488. extern const char* const MSG_SD_OPENROOT_FAIL_LANG_TABLE[1];
  489. #define MSG_SD_OPENROOT_FAIL LANG_TABLE_SELECT_EXPLICIT(MSG_SD_OPENROOT_FAIL_LANG_TABLE, 0)
  490. extern const char* const MSG_SD_OPEN_FILE_FAIL_LANG_TABLE[1];
  491. #define MSG_SD_OPEN_FILE_FAIL LANG_TABLE_SELECT_EXPLICIT(MSG_SD_OPEN_FILE_FAIL_LANG_TABLE, 0)
  492. extern const char* const MSG_SD_PRINTING_BYTE_LANG_TABLE[1];
  493. #define MSG_SD_PRINTING_BYTE LANG_TABLE_SELECT_EXPLICIT(MSG_SD_PRINTING_BYTE_LANG_TABLE, 0)
  494. extern const char* const MSG_SD_REMOVED_LANG_TABLE[LANG_NUM];
  495. #define MSG_SD_REMOVED LANG_TABLE_SELECT(MSG_SD_REMOVED_LANG_TABLE)
  496. extern const char* const MSG_SD_SIZE_LANG_TABLE[1];
  497. #define MSG_SD_SIZE LANG_TABLE_SELECT_EXPLICIT(MSG_SD_SIZE_LANG_TABLE, 0)
  498. extern const char* const MSG_SD_VOL_INIT_FAIL_LANG_TABLE[1];
  499. #define MSG_SD_VOL_INIT_FAIL LANG_TABLE_SELECT_EXPLICIT(MSG_SD_VOL_INIT_FAIL_LANG_TABLE, 0)
  500. extern const char* const MSG_SD_WORKDIR_FAIL_LANG_TABLE[1];
  501. #define MSG_SD_WORKDIR_FAIL LANG_TABLE_SELECT_EXPLICIT(MSG_SD_WORKDIR_FAIL_LANG_TABLE, 0)
  502. extern const char* const MSG_SD_WRITE_TO_FILE_LANG_TABLE[1];
  503. #define MSG_SD_WRITE_TO_FILE LANG_TABLE_SELECT_EXPLICIT(MSG_SD_WRITE_TO_FILE_LANG_TABLE, 0)
  504. extern const char* const MSG_SELFTEST_LANG_TABLE[LANG_NUM];
  505. #define MSG_SELFTEST LANG_TABLE_SELECT(MSG_SELFTEST_LANG_TABLE)
  506. extern const char* const MSG_SELFTEST_AXIS_LANG_TABLE[1];
  507. #define MSG_SELFTEST_AXIS LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_AXIS_LANG_TABLE, 0)
  508. extern const char* const MSG_SELFTEST_AXIS_LENGTH_LANG_TABLE[1];
  509. #define MSG_SELFTEST_AXIS_LENGTH LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_AXIS_LENGTH_LANG_TABLE, 0)
  510. extern const char* const MSG_SELFTEST_BEDHEATER_LANG_TABLE[LANG_NUM];
  511. #define MSG_SELFTEST_BEDHEATER LANG_TABLE_SELECT(MSG_SELFTEST_BEDHEATER_LANG_TABLE)
  512. extern const char* const MSG_SELFTEST_CHECK_ALLCORRECT_LANG_TABLE[LANG_NUM];
  513. #define MSG_SELFTEST_CHECK_ALLCORRECT LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_ALLCORRECT_LANG_TABLE)
  514. extern const char* const MSG_SELFTEST_CHECK_BED_LANG_TABLE[LANG_NUM];
  515. #define MSG_SELFTEST_CHECK_BED LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_BED_LANG_TABLE)
  516. extern const char* const MSG_SELFTEST_CHECK_ENDSTOPS_LANG_TABLE[LANG_NUM];
  517. #define MSG_SELFTEST_CHECK_ENDSTOPS LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_ENDSTOPS_LANG_TABLE)
  518. extern const char* const MSG_SELFTEST_CHECK_HOTEND_LANG_TABLE[LANG_NUM];
  519. #define MSG_SELFTEST_CHECK_HOTEND LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_HOTEND_LANG_TABLE)
  520. extern const char* const MSG_SELFTEST_CHECK_X_LANG_TABLE[LANG_NUM];
  521. #define MSG_SELFTEST_CHECK_X LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_X_LANG_TABLE)
  522. extern const char* const MSG_SELFTEST_CHECK_Y_LANG_TABLE[LANG_NUM];
  523. #define MSG_SELFTEST_CHECK_Y LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_Y_LANG_TABLE)
  524. extern const char* const MSG_SELFTEST_CHECK_Z_LANG_TABLE[LANG_NUM];
  525. #define MSG_SELFTEST_CHECK_Z LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_Z_LANG_TABLE)
  526. extern const char* const MSG_SELFTEST_COOLING_FAN_LANG_TABLE[LANG_NUM];
  527. #define MSG_SELFTEST_COOLING_FAN LANG_TABLE_SELECT(MSG_SELFTEST_COOLING_FAN_LANG_TABLE)
  528. extern const char* const MSG_SELFTEST_ENDSTOP_LANG_TABLE[LANG_NUM];
  529. #define MSG_SELFTEST_ENDSTOP LANG_TABLE_SELECT(MSG_SELFTEST_ENDSTOP_LANG_TABLE)
  530. extern const char* const MSG_SELFTEST_ENDSTOPS_LANG_TABLE[LANG_NUM];
  531. #define MSG_SELFTEST_ENDSTOPS LANG_TABLE_SELECT(MSG_SELFTEST_ENDSTOPS_LANG_TABLE)
  532. extern const char* const MSG_SELFTEST_ENDSTOP_NOTHIT_LANG_TABLE[LANG_NUM];
  533. #define MSG_SELFTEST_ENDSTOP_NOTHIT LANG_TABLE_SELECT(MSG_SELFTEST_ENDSTOP_NOTHIT_LANG_TABLE)
  534. extern const char* const MSG_SELFTEST_ERROR_LANG_TABLE[LANG_NUM];
  535. #define MSG_SELFTEST_ERROR LANG_TABLE_SELECT(MSG_SELFTEST_ERROR_LANG_TABLE)
  536. extern const char* const MSG_SELFTEST_EXTRUDER_FAN_LANG_TABLE[LANG_NUM];
  537. #define MSG_SELFTEST_EXTRUDER_FAN LANG_TABLE_SELECT(MSG_SELFTEST_EXTRUDER_FAN_LANG_TABLE)
  538. extern const char* const MSG_SELFTEST_FAILED_LANG_TABLE[LANG_NUM];
  539. #define MSG_SELFTEST_FAILED LANG_TABLE_SELECT(MSG_SELFTEST_FAILED_LANG_TABLE)
  540. extern const char* const MSG_SELFTEST_FAN_LANG_TABLE[LANG_NUM];
  541. #define MSG_SELFTEST_FAN LANG_TABLE_SELECT(MSG_SELFTEST_FAN_LANG_TABLE)
  542. extern const char* const MSG_SELFTEST_FAN_NO_LANG_TABLE[LANG_NUM];
  543. #define MSG_SELFTEST_FAN_NO LANG_TABLE_SELECT(MSG_SELFTEST_FAN_NO_LANG_TABLE)
  544. extern const char* const MSG_SELFTEST_FAN_YES_LANG_TABLE[LANG_NUM];
  545. #define MSG_SELFTEST_FAN_YES LANG_TABLE_SELECT(MSG_SELFTEST_FAN_YES_LANG_TABLE)
  546. extern const char* const MSG_SELFTEST_HEATERTHERMISTOR_LANG_TABLE[LANG_NUM];
  547. #define MSG_SELFTEST_HEATERTHERMISTOR LANG_TABLE_SELECT(MSG_SELFTEST_HEATERTHERMISTOR_LANG_TABLE)
  548. extern const char* const MSG_SELFTEST_MOTOR_LANG_TABLE[LANG_NUM];
  549. #define MSG_SELFTEST_MOTOR LANG_TABLE_SELECT(MSG_SELFTEST_MOTOR_LANG_TABLE)
  550. extern const char* const MSG_SELFTEST_NOTCONNECTED_LANG_TABLE[LANG_NUM];
  551. #define MSG_SELFTEST_NOTCONNECTED LANG_TABLE_SELECT(MSG_SELFTEST_NOTCONNECTED_LANG_TABLE)
  552. extern const char* const MSG_SELFTEST_OK_LANG_TABLE[LANG_NUM];
  553. #define MSG_SELFTEST_OK LANG_TABLE_SELECT(MSG_SELFTEST_OK_LANG_TABLE)
  554. extern const char* const MSG_SELFTEST_PLEASECHECK_LANG_TABLE[LANG_NUM];
  555. #define MSG_SELFTEST_PLEASECHECK LANG_TABLE_SELECT(MSG_SELFTEST_PLEASECHECK_LANG_TABLE)
  556. extern const char* const MSG_SELFTEST_START_LANG_TABLE[LANG_NUM];
  557. #define MSG_SELFTEST_START LANG_TABLE_SELECT(MSG_SELFTEST_START_LANG_TABLE)
  558. extern const char* const MSG_SELFTEST_WIRINGERROR_LANG_TABLE[LANG_NUM];
  559. #define MSG_SELFTEST_WIRINGERROR LANG_TABLE_SELECT(MSG_SELFTEST_WIRINGERROR_LANG_TABLE)
  560. extern const char* const MSG_SERIAL_ERROR_MENU_STRUCTURE_LANG_TABLE[1];
  561. #define MSG_SERIAL_ERROR_MENU_STRUCTURE LANG_TABLE_SELECT_EXPLICIT(MSG_SERIAL_ERROR_MENU_STRUCTURE_LANG_TABLE, 0)
  562. extern const char* const MSG_SETTINGS_LANG_TABLE[LANG_NUM];
  563. #define MSG_SETTINGS LANG_TABLE_SELECT(MSG_SETTINGS_LANG_TABLE)
  564. extern const char* const MSG_SET_HOME_OFFSETS_LANG_TABLE[1];
  565. #define MSG_SET_HOME_OFFSETS LANG_TABLE_SELECT_EXPLICIT(MSG_SET_HOME_OFFSETS_LANG_TABLE, 0)
  566. extern const char* const MSG_SET_ORIGIN_LANG_TABLE[1];
  567. #define MSG_SET_ORIGIN LANG_TABLE_SELECT_EXPLICIT(MSG_SET_ORIGIN_LANG_TABLE, 0)
  568. extern const char* const MSG_SET_TEMPERATURE_LANG_TABLE[LANG_NUM];
  569. #define MSG_SET_TEMPERATURE LANG_TABLE_SELECT(MSG_SET_TEMPERATURE_LANG_TABLE)
  570. extern const char* const MSG_SEVERE_SKEW_LANG_TABLE[LANG_NUM];
  571. #define MSG_SEVERE_SKEW LANG_TABLE_SELECT(MSG_SEVERE_SKEW_LANG_TABLE)
  572. extern const char* const MSG_SHOW_END_STOPS_LANG_TABLE[LANG_NUM];
  573. #define MSG_SHOW_END_STOPS LANG_TABLE_SELECT(MSG_SHOW_END_STOPS_LANG_TABLE)
  574. extern const char* const MSG_SILENT_MODE_OFF_LANG_TABLE[LANG_NUM];
  575. #define MSG_SILENT_MODE_OFF LANG_TABLE_SELECT(MSG_SILENT_MODE_OFF_LANG_TABLE)
  576. extern const char* const MSG_SILENT_MODE_ON_LANG_TABLE[LANG_NUM];
  577. #define MSG_SILENT_MODE_ON LANG_TABLE_SELECT(MSG_SILENT_MODE_ON_LANG_TABLE)
  578. extern const char* const MSG_SLIGHT_SKEW_LANG_TABLE[LANG_NUM];
  579. #define MSG_SLIGHT_SKEW LANG_TABLE_SELECT(MSG_SLIGHT_SKEW_LANG_TABLE)
  580. extern const char* const MSG_SOFTWARE_RESET_LANG_TABLE[1];
  581. #define MSG_SOFTWARE_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_SOFTWARE_RESET_LANG_TABLE, 0)
  582. extern const char* const MSG_SPEED_LANG_TABLE[LANG_NUM];
  583. #define MSG_SPEED LANG_TABLE_SELECT(MSG_SPEED_LANG_TABLE)
  584. extern const char* const MSG_STACK_ERROR_LANG_TABLE[1];
  585. #define MSG_STACK_ERROR LANG_TABLE_SELECT_EXPLICIT(MSG_STACK_ERROR_LANG_TABLE, 0)
  586. extern const char* const MSG_STATISTICS_LANG_TABLE[LANG_NUM];
  587. #define MSG_STATISTICS LANG_TABLE_SELECT(MSG_STATISTICS_LANG_TABLE)
  588. extern const char* const MSG_STATS_FILAMENTUSED_LANG_TABLE[LANG_NUM];
  589. #define MSG_STATS_FILAMENTUSED LANG_TABLE_SELECT(MSG_STATS_FILAMENTUSED_LANG_TABLE)
  590. extern const char* const MSG_STATS_PRINTTIME_LANG_TABLE[LANG_NUM];
  591. #define MSG_STATS_PRINTTIME LANG_TABLE_SELECT(MSG_STATS_PRINTTIME_LANG_TABLE)
  592. extern const char* const MSG_STATS_TOTALFILAMENT_LANG_TABLE[LANG_NUM];
  593. #define MSG_STATS_TOTALFILAMENT LANG_TABLE_SELECT(MSG_STATS_TOTALFILAMENT_LANG_TABLE)
  594. extern const char* const MSG_STATS_TOTALPRINTTIME_LANG_TABLE[LANG_NUM];
  595. #define MSG_STATS_TOTALPRINTTIME LANG_TABLE_SELECT(MSG_STATS_TOTALPRINTTIME_LANG_TABLE)
  596. extern const char* const MSG_STEEL_SHEET_CHECK_LANG_TABLE[1];
  597. #define MSG_STEEL_SHEET_CHECK LANG_TABLE_SELECT_EXPLICIT(MSG_STEEL_SHEET_CHECK_LANG_TABLE, 0)
  598. extern const char* const MSG_STEPPER_TOO_HIGH_LANG_TABLE[1];
  599. #define MSG_STEPPER_TOO_HIGH LANG_TABLE_SELECT_EXPLICIT(MSG_STEPPER_TOO_HIGH_LANG_TABLE, 0)
  600. extern const char* const MSG_STOPPED_LANG_TABLE[LANG_NUM];
  601. #define MSG_STOPPED LANG_TABLE_SELECT(MSG_STOPPED_LANG_TABLE)
  602. extern const char* const MSG_STOP_PRINT_LANG_TABLE[LANG_NUM];
  603. #define MSG_STOP_PRINT LANG_TABLE_SELECT(MSG_STOP_PRINT_LANG_TABLE)
  604. extern const char* const MSG_STORE_EPROM_LANG_TABLE[1];
  605. #define MSG_STORE_EPROM LANG_TABLE_SELECT_EXPLICIT(MSG_STORE_EPROM_LANG_TABLE, 0)
  606. extern const char* const MSG_SUPPORT_LANG_TABLE[LANG_NUM];
  607. #define MSG_SUPPORT LANG_TABLE_SELECT(MSG_SUPPORT_LANG_TABLE)
  608. extern const char* const MSG_SWITCH_PS_OFF_LANG_TABLE[LANG_NUM];
  609. #define MSG_SWITCH_PS_OFF LANG_TABLE_SELECT(MSG_SWITCH_PS_OFF_LANG_TABLE)
  610. extern const char* const MSG_SWITCH_PS_ON_LANG_TABLE[LANG_NUM];
  611. #define MSG_SWITCH_PS_ON LANG_TABLE_SELECT(MSG_SWITCH_PS_ON_LANG_TABLE)
  612. extern const char* const MSG_TAKE_EFFECT_LANG_TABLE[LANG_NUM];
  613. #define MSG_TAKE_EFFECT LANG_TABLE_SELECT(MSG_TAKE_EFFECT_LANG_TABLE)
  614. extern const char* const MSG_TEMPERATURE_LANG_TABLE[LANG_NUM];
  615. #define MSG_TEMPERATURE LANG_TABLE_SELECT(MSG_TEMPERATURE_LANG_TABLE)
  616. extern const char* const MSG_TEMP_CALIBRATION_LANG_TABLE[LANG_NUM];
  617. #define MSG_TEMP_CALIBRATION LANG_TABLE_SELECT(MSG_TEMP_CALIBRATION_LANG_TABLE)
  618. extern const char* const MSG_TEMP_CALIBRATION_DONE_LANG_TABLE[LANG_NUM];
  619. #define MSG_TEMP_CALIBRATION_DONE LANG_TABLE_SELECT(MSG_TEMP_CALIBRATION_DONE_LANG_TABLE)
  620. extern const char* const MSG_TEMP_CALIBRATION_OFF_LANG_TABLE[LANG_NUM];
  621. #define MSG_TEMP_CALIBRATION_OFF LANG_TABLE_SELECT(MSG_TEMP_CALIBRATION_OFF_LANG_TABLE)
  622. extern const char* const MSG_TEMP_CALIBRATION_ON_LANG_TABLE[LANG_NUM];
  623. #define MSG_TEMP_CALIBRATION_ON LANG_TABLE_SELECT(MSG_TEMP_CALIBRATION_ON_LANG_TABLE)
  624. extern const char* const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE[LANG_NUM];
  625. #define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF LANG_TABLE_SELECT(MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE)
  626. extern const char* const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_LANG_TABLE[LANG_NUM];
  627. #define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON LANG_TABLE_SELECT(MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_LANG_TABLE)
  628. extern const char* const MSG_TUNE_LANG_TABLE[LANG_NUM];
  629. #define MSG_TUNE LANG_TABLE_SELECT(MSG_TUNE_LANG_TABLE)
  630. extern const char* const MSG_UNKNOWN_COMMAND_LANG_TABLE[1];
  631. #define MSG_UNKNOWN_COMMAND LANG_TABLE_SELECT_EXPLICIT(MSG_UNKNOWN_COMMAND_LANG_TABLE, 0)
  632. extern const char* const MSG_UNLOADING_FILAMENT_LANG_TABLE[LANG_NUM];
  633. #define MSG_UNLOADING_FILAMENT LANG_TABLE_SELECT(MSG_UNLOADING_FILAMENT_LANG_TABLE)
  634. extern const char* const MSG_UNLOAD_ALL_LANG_TABLE[LANG_NUM];
  635. #define MSG_UNLOAD_ALL LANG_TABLE_SELECT(MSG_UNLOAD_ALL_LANG_TABLE)
  636. extern const char* const MSG_UNLOAD_FILAMENT_LANG_TABLE[LANG_NUM];
  637. #define MSG_UNLOAD_FILAMENT LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_LANG_TABLE)
  638. extern const char* const MSG_UNLOAD_FILAMENT_1_LANG_TABLE[LANG_NUM];
  639. #define MSG_UNLOAD_FILAMENT_1 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_1_LANG_TABLE)
  640. extern const char* const MSG_UNLOAD_FILAMENT_2_LANG_TABLE[LANG_NUM];
  641. #define MSG_UNLOAD_FILAMENT_2 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_2_LANG_TABLE)
  642. extern const char* const MSG_UNLOAD_FILAMENT_3_LANG_TABLE[LANG_NUM];
  643. #define MSG_UNLOAD_FILAMENT_3 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_3_LANG_TABLE)
  644. extern const char* const MSG_UNLOAD_FILAMENT_4_LANG_TABLE[LANG_NUM];
  645. #define MSG_UNLOAD_FILAMENT_4 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_4_LANG_TABLE)
  646. extern const char* const MSG_USB_PRINTING_LANG_TABLE[LANG_NUM];
  647. #define MSG_USB_PRINTING LANG_TABLE_SELECT(MSG_USB_PRINTING_LANG_TABLE)
  648. extern const char* const MSG_USED_LANG_TABLE[LANG_NUM];
  649. #define MSG_USED LANG_TABLE_SELECT(MSG_USED_LANG_TABLE)
  650. extern const char* const MSG_USERWAIT_LANG_TABLE[LANG_NUM];
  651. #define MSG_USERWAIT LANG_TABLE_SELECT(MSG_USERWAIT_LANG_TABLE)
  652. extern const char* const MSG_V2_CALIBRATION_LANG_TABLE[LANG_NUM];
  653. #define MSG_V2_CALIBRATION LANG_TABLE_SELECT(MSG_V2_CALIBRATION_LANG_TABLE)
  654. extern const char* const MSG_VMIN_LANG_TABLE[1];
  655. #define MSG_VMIN LANG_TABLE_SELECT_EXPLICIT(MSG_VMIN_LANG_TABLE, 0)
  656. extern const char* const MSG_VOLUMETRIC_LANG_TABLE[1];
  657. #define MSG_VOLUMETRIC LANG_TABLE_SELECT_EXPLICIT(MSG_VOLUMETRIC_LANG_TABLE, 0)
  658. extern const char* const MSG_VOLUMETRIC_ENABLED_LANG_TABLE[1];
  659. #define MSG_VOLUMETRIC_ENABLED LANG_TABLE_SELECT_EXPLICIT(MSG_VOLUMETRIC_ENABLED_LANG_TABLE, 0)
  660. extern const char* const MSG_VTRAV_MIN_LANG_TABLE[1];
  661. #define MSG_VTRAV_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_VTRAV_MIN_LANG_TABLE, 0)
  662. extern const char* const MSG_WAITING_TEMP_LANG_TABLE[LANG_NUM];
  663. #define MSG_WAITING_TEMP LANG_TABLE_SELECT(MSG_WAITING_TEMP_LANG_TABLE)
  664. extern const char* const MSG_WATCH_LANG_TABLE[LANG_NUM];
  665. #define MSG_WATCH LANG_TABLE_SELECT(MSG_WATCH_LANG_TABLE)
  666. extern const char* const MSG_WATCHDOG_RESET_LANG_TABLE[1];
  667. #define MSG_WATCHDOG_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_WATCHDOG_RESET_LANG_TABLE, 0)
  668. extern const char* const MSG_WIZARD_LANG_TABLE[1];
  669. #define MSG_WIZARD LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_LANG_TABLE, 0)
  670. extern const char* const MSG_WIZARD_CALIBRATION_FAILED_LANG_TABLE[LANG_NUM];
  671. #define MSG_WIZARD_CALIBRATION_FAILED LANG_TABLE_SELECT(MSG_WIZARD_CALIBRATION_FAILED_LANG_TABLE)
  672. extern const char* const MSG_WIZARD_CLEAN_HEATBED_LANG_TABLE[LANG_NUM];
  673. #define MSG_WIZARD_CLEAN_HEATBED LANG_TABLE_SELECT(MSG_WIZARD_CLEAN_HEATBED_LANG_TABLE)
  674. extern const char* const MSG_WIZARD_DONE_LANG_TABLE[LANG_NUM];
  675. #define MSG_WIZARD_DONE LANG_TABLE_SELECT(MSG_WIZARD_DONE_LANG_TABLE)
  676. extern const char* const MSG_WIZARD_FILAMENT_LOADED_LANG_TABLE[LANG_NUM];
  677. #define MSG_WIZARD_FILAMENT_LOADED LANG_TABLE_SELECT(MSG_WIZARD_FILAMENT_LOADED_LANG_TABLE)
  678. extern const char* const MSG_WIZARD_HEATING_LANG_TABLE[LANG_NUM];
  679. #define MSG_WIZARD_HEATING LANG_TABLE_SELECT(MSG_WIZARD_HEATING_LANG_TABLE)
  680. extern const char* const MSG_WIZARD_INSERT_CORRECT_FILAMENT_LANG_TABLE[LANG_NUM];
  681. #define MSG_WIZARD_INSERT_CORRECT_FILAMENT LANG_TABLE_SELECT(MSG_WIZARD_INSERT_CORRECT_FILAMENT_LANG_TABLE)
  682. extern const char* const MSG_WIZARD_LOAD_FILAMENT_LANG_TABLE[LANG_NUM];
  683. #define MSG_WIZARD_LOAD_FILAMENT LANG_TABLE_SELECT(MSG_WIZARD_LOAD_FILAMENT_LANG_TABLE)
  684. extern const char* const MSG_WIZARD_PLA_FILAMENT_LANG_TABLE[LANG_NUM];
  685. #define MSG_WIZARD_PLA_FILAMENT LANG_TABLE_SELECT(MSG_WIZARD_PLA_FILAMENT_LANG_TABLE)
  686. extern const char* const MSG_WIZARD_QUIT_LANG_TABLE[LANG_NUM];
  687. #define MSG_WIZARD_QUIT LANG_TABLE_SELECT(MSG_WIZARD_QUIT_LANG_TABLE)
  688. extern const char* const MSG_WIZARD_REPEAT_V2_CAL_LANG_TABLE[LANG_NUM];
  689. #define MSG_WIZARD_REPEAT_V2_CAL LANG_TABLE_SELECT(MSG_WIZARD_REPEAT_V2_CAL_LANG_TABLE)
  690. extern const char* const MSG_WIZARD_RERUN_LANG_TABLE[LANG_NUM];
  691. #define MSG_WIZARD_RERUN LANG_TABLE_SELECT(MSG_WIZARD_RERUN_LANG_TABLE)
  692. extern const char* const MSG_WIZARD_SELFTEST_LANG_TABLE[LANG_NUM];
  693. #define MSG_WIZARD_SELFTEST LANG_TABLE_SELECT(MSG_WIZARD_SELFTEST_LANG_TABLE)
  694. extern const char* const MSG_WIZARD_V2_CAL_LANG_TABLE[LANG_NUM];
  695. #define MSG_WIZARD_V2_CAL LANG_TABLE_SELECT(MSG_WIZARD_V2_CAL_LANG_TABLE)
  696. extern const char* const MSG_WIZARD_V2_CAL_2_LANG_TABLE[LANG_NUM];
  697. #define MSG_WIZARD_V2_CAL_2 LANG_TABLE_SELECT(MSG_WIZARD_V2_CAL_2_LANG_TABLE)
  698. extern const char* const MSG_WIZARD_WELCOME_LANG_TABLE[LANG_NUM];
  699. #define MSG_WIZARD_WELCOME LANG_TABLE_SELECT(MSG_WIZARD_WELCOME_LANG_TABLE)
  700. extern const char* const MSG_WIZARD_WILL_PREHEAT_LANG_TABLE[LANG_NUM];
  701. #define MSG_WIZARD_WILL_PREHEAT LANG_TABLE_SELECT(MSG_WIZARD_WILL_PREHEAT_LANG_TABLE)
  702. extern const char* const MSG_WIZARD_XYZ_CAL_LANG_TABLE[LANG_NUM];
  703. #define MSG_WIZARD_XYZ_CAL LANG_TABLE_SELECT(MSG_WIZARD_XYZ_CAL_LANG_TABLE)
  704. extern const char* const MSG_WIZARD_Z_CAL_LANG_TABLE[LANG_NUM];
  705. #define MSG_WIZARD_Z_CAL LANG_TABLE_SELECT(MSG_WIZARD_Z_CAL_LANG_TABLE)
  706. extern const char* const MSG_XYZ_DETAILS_LANG_TABLE[LANG_NUM];
  707. #define MSG_XYZ_DETAILS LANG_TABLE_SELECT(MSG_XYZ_DETAILS_LANG_TABLE)
  708. extern const char* const MSG_X_MAX_LANG_TABLE[1];
  709. #define MSG_X_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_X_MAX_LANG_TABLE, 0)
  710. extern const char* const MSG_X_MIN_LANG_TABLE[1];
  711. #define MSG_X_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_X_MIN_LANG_TABLE, 0)
  712. extern const char* const MSG_YES_LANG_TABLE[LANG_NUM];
  713. #define MSG_YES LANG_TABLE_SELECT(MSG_YES_LANG_TABLE)
  714. extern const char* const MSG_Y_DISTANCE_FROM_MIN_LANG_TABLE[LANG_NUM];
  715. #define MSG_Y_DISTANCE_FROM_MIN LANG_TABLE_SELECT(MSG_Y_DISTANCE_FROM_MIN_LANG_TABLE)
  716. extern const char* const MSG_Y_MAX_LANG_TABLE[1];
  717. #define MSG_Y_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_Y_MAX_LANG_TABLE, 0)
  718. extern const char* const MSG_Y_MIN_LANG_TABLE[1];
  719. #define MSG_Y_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_Y_MIN_LANG_TABLE, 0)
  720. extern const char* const MSG_ZPROBE_OUT_LANG_TABLE[1];
  721. #define MSG_ZPROBE_OUT LANG_TABLE_SELECT_EXPLICIT(MSG_ZPROBE_OUT_LANG_TABLE, 0)
  722. extern const char* const MSG_ZPROBE_ZOFFSET_LANG_TABLE[1];
  723. #define MSG_ZPROBE_ZOFFSET LANG_TABLE_SELECT_EXPLICIT(MSG_ZPROBE_ZOFFSET_LANG_TABLE, 0)
  724. extern const char* const MSG_Z_MAX_LANG_TABLE[1];
  725. #define MSG_Z_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_Z_MAX_LANG_TABLE, 0)
  726. extern const char* const MSG_Z_MIN_LANG_TABLE[1];
  727. #define MSG_Z_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_Z_MIN_LANG_TABLE, 0)
  728. extern const char* const WELCOME_MSG_LANG_TABLE[LANG_NUM];
  729. #define WELCOME_MSG LANG_TABLE_SELECT(WELCOME_MSG_LANG_TABLE)
  730. extern char* CAT2(const char *s1,const char *s2);
  731. extern char* CAT4(const char *s1,const char *s2,const char *s3,const char *s4);
  732. #endif //LANGUAGE_ALL.H