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