language_all.h 40 KB

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