language.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. /**
  2. * Marlin 3D Printer Firmware
  3. * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
  4. *
  5. * Based on Sprinter and grbl.
  6. * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
  7. *
  8. * This program is free software: you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License as published by
  10. * the Free Software Foundation, either version 3 of the License, or
  11. * (at your option) any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  20. *
  21. */
  22. #ifndef LANGUAGE_H
  23. #define LANGUAGE_H
  24. #include "MarlinConfig.h"
  25. #define _UxGT(a) a
  26. // Define SIMULATE_ROMFONT to see what is seen on the character based display defined in Configuration.h
  27. //#define SIMULATE_ROMFONT
  28. // Fallback if no language is set. DON'T CHANGE
  29. #ifndef LCD_LANGUAGE
  30. #define LCD_LANGUAGE en
  31. #endif
  32. // For character-based LCD controllers (DISPLAY_CHARSET_HD44780)
  33. #define JAPANESE 1
  34. #define WESTERN 2
  35. #define CYRILLIC 3
  36. // NOTE: IF YOU CHANGE LANGUAGE FILES OR MERGE A FILE WITH CHANGES
  37. //
  38. // ==> ALWAYS TRY TO COMPILE MARLIN WITH/WITHOUT "ULTIPANEL" / "ULTRALCD" / "SDSUPPORT" #define IN "Configuration.h"
  39. // ==> ALSO TRY ALL AVAILABLE LANGUAGE OPTIONS
  40. // See also http://marlinfw.org/docs/development/lcd_language.html
  41. // Languages
  42. // an Aragonese
  43. // bg Bulgarian
  44. // ca Catalan
  45. // cn Chinese
  46. // cz Czech
  47. // cz_utf8 Czech (UTF8)
  48. // de German
  49. // el Greek
  50. // el-gr Greek (Greece)
  51. // en English
  52. // es Spanish
  53. // es_utf8 Spanish (UTF8)
  54. // eu Basque-Euskera
  55. // fi Finnish
  56. // fr French
  57. // fr_utf8 French (UTF8)
  58. // gl Galician
  59. // hr Croatian
  60. // it Italian
  61. // kana Japanese
  62. // kana_utf8 Japanese (UTF8)
  63. // ko_kr Korean
  64. // nl Dutch
  65. // pl Polish
  66. // pl_utf8 Polish (UTF8)
  67. // pt Portuguese
  68. // pt-br Portuguese (Brazilian)
  69. // pt-br_utf8 Portuguese (Brazilian) (UTF8)
  70. // pt_utf8 Portuguese (UTF8)
  71. // ru Russian
  72. // sk Slovak (UTF8)
  73. // tr Turkish
  74. // uk Ukrainian
  75. // zh_CN Chinese (Simplified)
  76. // zh_TW Chinese (Taiwan)
  77. #ifdef DEFAULT_SOURCE_CODE_URL
  78. #undef SOURCE_CODE_URL
  79. #define SOURCE_CODE_URL DEFAULT_SOURCE_CODE_URL
  80. #endif
  81. #ifdef CUSTOM_MACHINE_NAME
  82. #undef MACHINE_NAME
  83. #define MACHINE_NAME CUSTOM_MACHINE_NAME
  84. #else
  85. #ifdef DEFAULT_MACHINE_NAME
  86. #undef MACHINE_NAME
  87. #define MACHINE_NAME DEFAULT_MACHINE_NAME
  88. #endif
  89. #endif
  90. #ifndef MACHINE_UUID
  91. #define MACHINE_UUID DEFAULT_MACHINE_UUID
  92. #endif
  93. #ifdef DEFAULT_WEBSITE_URL
  94. #undef WEBSITE_URL
  95. #define WEBSITE_URL DEFAULT_WEBSITE_URL
  96. #endif
  97. // Common LCD messages
  98. /* nothing here yet */
  99. // Common serial messages
  100. #define MSG_MARLIN "Marlin"
  101. // Serial Console Messages (do not translate those!)
  102. #define MSG_ENQUEUEING "enqueueing \""
  103. #define MSG_POWERUP "PowerUp"
  104. #define MSG_EXTERNAL_RESET " External Reset"
  105. #define MSG_BROWNOUT_RESET " Brown out Reset"
  106. #define MSG_WATCHDOG_RESET " Watchdog Reset"
  107. #define MSG_SOFTWARE_RESET " Software Reset"
  108. #define MSG_AUTHOR " | Author: "
  109. #define MSG_CONFIGURATION_VER " Last Updated: "
  110. #define MSG_FREE_MEMORY " Free Memory: "
  111. #define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
  112. #define MSG_OK "ok"
  113. #define MSG_WAIT "wait"
  114. #define MSG_STATS "Stats: "
  115. #define MSG_FILE_SAVED "Done saving file."
  116. #define MSG_ERR_LINE_NO "Line Number is not Last Line Number+1, Last Line: "
  117. #define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
  118. #define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
  119. #define MSG_FILE_PRINTED "Done printing file"
  120. #define MSG_BEGIN_FILE_LIST "Begin file list"
  121. #define MSG_END_FILE_LIST "End file list"
  122. #define MSG_INVALID_EXTRUDER "Invalid extruder"
  123. #define MSG_INVALID_SOLENOID "Invalid solenoid"
  124. #define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
  125. #define MSG_M115_REPORT "FIRMWARE_NAME:Marlin " DETAILED_BUILD_VERSION " SOURCE_CODE_URL:" SOURCE_CODE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID
  126. #define MSG_COUNT_X " Count X:"
  127. #define MSG_COUNT_A " Count A:"
  128. #define MSG_ERR_KILLED "Printer halted. kill() called!"
  129. #define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
  130. #define MSG_BUSY_PROCESSING "busy: processing"
  131. #define MSG_BUSY_PAUSED_FOR_USER "busy: paused for user"
  132. #define MSG_BUSY_PAUSED_FOR_INPUT "busy: paused for input"
  133. #define MSG_Z_MOVE_COMP "Z_move_comp"
  134. #define MSG_RESEND "Resend: "
  135. #define MSG_UNKNOWN_COMMAND "Unknown command: \""
  136. #define MSG_ACTIVE_EXTRUDER "Active Extruder: "
  137. #define MSG_X_MIN "x_min"
  138. #define MSG_X_MAX "x_max"
  139. #define MSG_X2_MIN "x2_min"
  140. #define MSG_X2_MAX "x2_max"
  141. #define MSG_Y_MIN "y_min"
  142. #define MSG_Y_MAX "y_max"
  143. #define MSG_Y2_MIN "y2_min"
  144. #define MSG_Y2_MAX "y2_max"
  145. #define MSG_Z_MIN "z_min"
  146. #define MSG_Z_MAX "z_max"
  147. #define MSG_Z2_MIN "z2_min"
  148. #define MSG_Z2_MAX "z2_max"
  149. #define MSG_Z_PROBE "z_probe"
  150. #define MSG_FILAMENT_RUNOUT_SENSOR "filament"
  151. #define MSG_PROBE_Z_OFFSET "Probe Z Offset"
  152. #define MSG_SKEW_MIN "min_skew_factor: "
  153. #define MSG_SKEW_MAX "max_skew_factor: "
  154. #define MSG_ERR_MATERIAL_INDEX "M145 S<index> out of range (0-1)"
  155. #define MSG_ERR_M355_NONE "No case light"
  156. #define MSG_ERR_M421_PARAMETERS "M421 incorrect parameter usage"
  157. #define MSG_ERR_BAD_PLANE_MODE "G5 requires XY plane mode"
  158. #define MSG_ERR_MESH_XY "Mesh point cannot be resolved"
  159. #define MSG_ERR_ARC_ARGS "G2/G3 bad parameters"
  160. #define MSG_ERR_PROTECTED_PIN "Protected Pin"
  161. #define MSG_ERR_M420_FAILED "Failed to enable Bed Leveling"
  162. #define MSG_ERR_M428_TOO_FAR "Too far from reference point"
  163. #define MSG_ERR_M303_DISABLED "PIDTEMP disabled"
  164. #define MSG_M119_REPORT "Reporting endstop status"
  165. #define MSG_ENDSTOP_HIT "TRIGGERED"
  166. #define MSG_ENDSTOP_OPEN "open"
  167. #define MSG_HOTEND_OFFSET "Hotend offsets:"
  168. #define MSG_DUPLICATION_MODE "Duplication mode: "
  169. #define MSG_SOFT_ENDSTOPS "Soft endstops: "
  170. #define MSG_SOFT_MIN " Min: "
  171. #define MSG_SOFT_MAX " Max: "
  172. #define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir "
  173. #define MSG_SD_INIT_FAIL "SD init fail"
  174. #define MSG_SD_VOL_INIT_FAIL "volume.init failed"
  175. #define MSG_SD_OPENROOT_FAIL "openRoot failed"
  176. #define MSG_SD_CARD_OK "SD card ok"
  177. #define MSG_SD_WORKDIR_FAIL "workDir open failed"
  178. #define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
  179. #define MSG_SD_FILE_OPENED "File opened: "
  180. #define MSG_SD_SIZE " Size: "
  181. #define MSG_SD_FILE_SELECTED "File selected"
  182. #define MSG_SD_WRITE_TO_FILE "Writing to file: "
  183. #define MSG_SD_PRINTING_BYTE "SD printing byte "
  184. #define MSG_SD_NOT_PRINTING "Not SD printing"
  185. #define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
  186. #define MSG_SD_ERR_READ "SD read error"
  187. #define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
  188. #define MSG_STEPPER_TOO_HIGH "Steprate too high: "
  189. #define MSG_ENDSTOPS_HIT "endstops hit: "
  190. #define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
  191. #define MSG_ERR_LONG_EXTRUDE_STOP " too long extrusion prevented"
  192. #define MSG_HOTEND_TOO_COLD "Hotend too cold"
  193. #define MSG_FILAMENT_CHANGE_HEAT "Press button (or M108) to heat nozzle"
  194. #define MSG_FILAMENT_CHANGE_INSERT "Insert filament and press button (or M108)"
  195. #define MSG_FILAMENT_CHANGE_HEAT_LCD "Press button to heat nozzle"
  196. #define MSG_FILAMENT_CHANGE_INSERT_LCD "Insert filament and press button"
  197. #define MSG_FILAMENT_CHANGE_HEAT_M108 "Send M108 to heat nozzle"
  198. #define MSG_FILAMENT_CHANGE_INSERT_M108 "Insert filament and send M108"
  199. #define MSG_ERR_EEPROM_WRITE "Error writing to EEPROM!"
  200. #define MSG_STOP_BLTOUCH "STOP called because of BLTouch error - restart with M999"
  201. #define MSG_STOP_UNHOMED "STOP called because of unhomed error - restart with M999"
  202. #define MSG_KILL_INACTIVE_TIME "KILL caused by too much inactive time - current command: "
  203. #define MSG_KILL_BUTTON "KILL caused by KILL button/pin"
  204. // temperature.cpp strings
  205. #define MSG_PID_AUTOTUNE "PID Autotune"
  206. #define MSG_PID_AUTOTUNE_START MSG_PID_AUTOTUNE " start"
  207. #define MSG_PID_AUTOTUNE_FAILED MSG_PID_AUTOTUNE " failed!"
  208. #define MSG_PID_BAD_EXTRUDER_NUM MSG_PID_AUTOTUNE_FAILED " Bad extruder number"
  209. #define MSG_PID_TEMP_TOO_HIGH MSG_PID_AUTOTUNE_FAILED " Temperature too high"
  210. #define MSG_PID_TIMEOUT MSG_PID_AUTOTUNE_FAILED " timeout"
  211. #define MSG_BIAS " bias: "
  212. #define MSG_D " d: "
  213. #define MSG_T_MIN " min: "
  214. #define MSG_T_MAX " max: "
  215. #define MSG_KU " Ku: "
  216. #define MSG_TU " Tu: "
  217. #define MSG_CLASSIC_PID " Classic PID "
  218. #define MSG_KP " Kp: "
  219. #define MSG_KI " Ki: "
  220. #define MSG_KD " Kd: "
  221. #define MSG_AT " @:"
  222. #define MSG_PID_AUTOTUNE_FINISHED MSG_PID_AUTOTUNE " finished! Put the last Kp, Ki and Kd constants from below into Configuration.h"
  223. #define MSG_PID_DEBUG " PID_DEBUG "
  224. #define MSG_PID_DEBUG_INPUT ": Input "
  225. #define MSG_PID_DEBUG_OUTPUT " Output "
  226. #define MSG_PID_DEBUG_PTERM " pTerm "
  227. #define MSG_PID_DEBUG_ITERM " iTerm "
  228. #define MSG_PID_DEBUG_DTERM " dTerm "
  229. #define MSG_PID_DEBUG_CTERM " cTerm "
  230. #define MSG_INVALID_EXTRUDER_NUM " - Invalid extruder number !"
  231. #define MSG_HEATER_BED "bed"
  232. #define MSG_STOPPED_HEATER ", system stopped! Heater_ID: "
  233. #define MSG_REDUNDANCY "Heater switched off. Temperature difference between temp sensors is too high !"
  234. #define MSG_T_HEATING_FAILED "Heating failed"
  235. #define MSG_T_THERMAL_RUNAWAY "Thermal Runaway"
  236. #define MSG_T_MAXTEMP "MAXTEMP triggered"
  237. #define MSG_T_MINTEMP "MINTEMP triggered"
  238. // Debug
  239. #define MSG_DEBUG_PREFIX "DEBUG:"
  240. #define MSG_DEBUG_OFF "off"
  241. #define MSG_DEBUG_ECHO "ECHO"
  242. #define MSG_DEBUG_INFO "INFO"
  243. #define MSG_DEBUG_ERRORS "ERRORS"
  244. #define MSG_DEBUG_DRYRUN "DRYRUN"
  245. #define MSG_DEBUG_COMMUNICATION "COMMUNICATION"
  246. #define MSG_DEBUG_LEVELING "LEVELING"
  247. // LCD Menu Messages
  248. #define LANGUAGE_INCL_(M) STRINGIFY_(language_##M.h)
  249. #define LANGUAGE_INCL(M) LANGUAGE_INCL_(M)
  250. #define INCLUDE_LANGUAGE LANGUAGE_INCL(LCD_LANGUAGE)
  251. // Never translate these strings
  252. #define MSG_X "X"
  253. #define MSG_Y "Y"
  254. #define MSG_Z "Z"
  255. #define MSG_E "E"
  256. #if IS_KINEMATIC
  257. #define MSG_A "A"
  258. #define MSG_B "B"
  259. #define MSG_C "C"
  260. #else
  261. #define MSG_A "X"
  262. #define MSG_B "Y"
  263. #define MSG_C "Z"
  264. #endif
  265. #define MSG_H1 "1"
  266. #define MSG_H2 "2"
  267. #define MSG_H3 "3"
  268. #define MSG_H4 "4"
  269. #define MSG_H5 "5"
  270. #define MSG_N1 " 1"
  271. #define MSG_N2 " 2"
  272. #define MSG_N3 " 3"
  273. #define MSG_N4 " 4"
  274. #define MSG_N5 " 5"
  275. #define MSG_E1 "E1"
  276. #define MSG_E2 "E2"
  277. #define MSG_E3 "E3"
  278. #define MSG_E4 "E4"
  279. #define MSG_E5 "E5"
  280. #define MSG_MOVE_E1 "1"
  281. #define MSG_MOVE_E2 "2"
  282. #define MSG_MOVE_E3 "3"
  283. #define MSG_MOVE_E4 "4"
  284. #define MSG_MOVE_E5 "5"
  285. #define MSG_DIAM_E1 " 1"
  286. #define MSG_DIAM_E2 " 2"
  287. #define MSG_DIAM_E3 " 3"
  288. #define MSG_DIAM_E4 " 4"
  289. #define MSG_DIAM_E5 " 5"
  290. #include INCLUDE_LANGUAGE
  291. #if DISABLED(SIMULATE_ROMFONT) \
  292. && DISABLED(DISPLAY_CHARSET_ISO10646_1) \
  293. && DISABLED(DISPLAY_CHARSET_ISO10646_5) \
  294. && DISABLED(DISPLAY_CHARSET_ISO10646_KANA) \
  295. && DISABLED(DISPLAY_CHARSET_ISO10646_KO_KR) \
  296. && DISABLED(DISPLAY_CHARSET_ISO10646_GREEK) \
  297. && DISABLED(DISPLAY_CHARSET_ISO10646_CN) \
  298. && DISABLED(DISPLAY_CHARSET_ISO10646_TR) \
  299. && DISABLED(DISPLAY_CHARSET_ISO10646_PL) \
  300. && DISABLED(DISPLAY_CHARSET_ISO10646_CZ) \
  301. && DISABLED(DISPLAY_CHARSET_ISO10646_SK)
  302. #define DISPLAY_CHARSET_ISO10646_1 // use the better font on full graphic displays.
  303. #endif
  304. #include "language_en.h"
  305. #endif // __LANGUAGE_H