language_all.h 45 KB

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