2016-03-25 06:19:46 +00:00
|
|
|
/**
|
2016-03-24 18:01:20 +00:00
|
|
|
* Marlin 3D Printer Firmware
|
|
|
|
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|
|
|
*
|
|
|
|
* Based on Sprinter and grbl.
|
|
|
|
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
|
|
|
|
*
|
|
|
|
* This program is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2013-07-23 19:49:37 +00:00
|
|
|
#ifndef LANGUAGE_H
|
|
|
|
#define LANGUAGE_H
|
|
|
|
|
2015-01-30 09:31:58 +00:00
|
|
|
#include "Configuration.h"
|
|
|
|
|
2016-03-14 06:15:17 +00:00
|
|
|
#define GENERATE_LANGUAGE_INCLUDE(M) STRINGIFY_(language_##M.h)
|
2014-12-29 17:43:19 +00:00
|
|
|
|
|
|
|
|
2014-12-18 17:31:19 +00:00
|
|
|
// NOTE: IF YOU CHANGE LANGUAGE FILES OR MERGE A FILE WITH CHANGES
|
2013-07-23 19:49:37 +00:00
|
|
|
//
|
2014-12-29 17:43:19 +00:00
|
|
|
// ==> ALWAYS TRY TO COMPILE MARLIN WITH/WITHOUT "ULTIPANEL" / "ULTRALCD" / "SDSUPPORT" #define IN "Configuration.h"
|
|
|
|
// ==> ALSO TRY ALL AVAILABLE LANGUAGE OPTIONS
|
2016-03-22 10:58:41 +00:00
|
|
|
// See also https://github.com/MarlinFirmware/Marlin/wiki/LCD-Language
|
2013-07-23 19:49:37 +00:00
|
|
|
|
|
|
|
// Languages
|
2016-03-20 23:14:24 +00:00
|
|
|
// en English
|
|
|
|
// pl Polish
|
|
|
|
// fr French
|
|
|
|
// de German
|
|
|
|
// es Spanish
|
|
|
|
// ru Russian
|
|
|
|
// bg Bulgarian
|
|
|
|
// it Italian
|
|
|
|
// pt Portuguese
|
|
|
|
// pt_utf8 Portuguese (UTF8)
|
|
|
|
// pt-br Portuguese (Brazilian)
|
|
|
|
// pt-br_utf8 Portuguese (Brazilian UTF8)
|
|
|
|
// fi Finnish
|
|
|
|
// an Aragonese
|
|
|
|
// nl Dutch
|
|
|
|
// gl Galician
|
|
|
|
// ca Catalan
|
|
|
|
// eu Basque-Euskera
|
|
|
|
// kana Japanese
|
|
|
|
// kana_utf8 Japanese (UTF8)
|
|
|
|
// cn Chinese
|
|
|
|
// cz Czech
|
2013-07-23 19:49:37 +00:00
|
|
|
|
2015-05-18 21:11:26 +00:00
|
|
|
// fallback if no language is set, don't change
|
2014-12-29 17:43:19 +00:00
|
|
|
#ifndef LANGUAGE_INCLUDE
|
|
|
|
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
|
2013-07-23 19:49:37 +00:00
|
|
|
#endif
|
|
|
|
|
2015-08-01 14:57:59 +00:00
|
|
|
#if ENABLED(USE_AUTOMATIC_VERSIONING)
|
2015-02-06 16:30:43 +00:00
|
|
|
#include "_Version.h"
|
2015-08-01 15:08:17 +00:00
|
|
|
#else
|
|
|
|
#include "Default_Version.h"
|
2015-02-06 16:30:43 +00:00
|
|
|
#endif
|
|
|
|
|
2013-07-23 19:49:37 +00:00
|
|
|
#define PROTOCOL_VERSION "1.0"
|
|
|
|
|
2016-04-03 01:53:05 +00:00
|
|
|
#ifndef DEFAULT_MACHINE_NAME
|
2016-02-22 22:05:23 +00:00
|
|
|
#define DEFAULT_MACHINE_NAME "3D Printer"
|
2016-04-03 01:41:01 +00:00
|
|
|
#endif
|
|
|
|
|
2015-02-06 16:17:17 +00:00
|
|
|
#ifdef CUSTOM_MACHINE_NAME
|
|
|
|
#define MACHINE_NAME CUSTOM_MACHINE_NAME
|
2016-02-22 22:05:23 +00:00
|
|
|
#else
|
|
|
|
#define MACHINE_NAME DEFAULT_MACHINE_NAME
|
2015-02-06 16:17:17 +00:00
|
|
|
#endif
|
|
|
|
|
2016-04-03 01:53:05 +00:00
|
|
|
#ifndef DEFAULT_SOURCE_URL
|
2016-04-05 01:21:23 +00:00
|
|
|
/**
|
|
|
|
* The SOURCE_CODE_URL is the location where users will find the Marlin Source
|
|
|
|
* Code which is installed on the device. In most cases —unless the manufacturer
|
|
|
|
* has a distinct Github fork— the Source Code URL should just be the main
|
|
|
|
* Marlin repository.
|
|
|
|
*/
|
2016-04-03 01:53:05 +00:00
|
|
|
#define DEFAULT_SOURCE_URL "https://github.com/MarlinFirmware/Marlin"
|
|
|
|
#endif
|
|
|
|
|
2015-05-23 01:27:26 +00:00
|
|
|
#ifndef SOURCE_CODE_URL
|
2016-02-22 22:05:23 +00:00
|
|
|
#define SOURCE_CODE_URL DEFAULT_SOURCE_URL
|
2015-02-06 16:17:17 +00:00
|
|
|
#endif
|
|
|
|
|
2015-08-01 15:03:46 +00:00
|
|
|
#ifndef DETAILED_BUILD_VERSION
|
|
|
|
#error BUILD_VERSION Information must be specified
|
2015-02-01 05:42:53 +00:00
|
|
|
#endif
|
2014-02-11 22:38:01 +00:00
|
|
|
|
2016-03-11 13:34:48 +00:00
|
|
|
#ifndef MACHINE_UUID
|
|
|
|
#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
|
2013-11-10 15:36:37 +00:00
|
|
|
#endif
|
|
|
|
|
2014-02-11 22:38:01 +00:00
|
|
|
|
2014-02-12 13:21:26 +00:00
|
|
|
// Common LCD messages
|
2014-12-18 17:31:19 +00:00
|
|
|
|
|
|
|
/* nothing here yet */
|
2014-02-12 13:21:26 +00:00
|
|
|
|
|
|
|
// Common serial messages
|
|
|
|
#define MSG_MARLIN "Marlin"
|
|
|
|
|
2014-08-29 16:02:59 +00:00
|
|
|
// Serial Console Messages (do not translate those!)
|
|
|
|
|
2015-04-14 00:17:36 +00:00
|
|
|
#define MSG_Enqueueing "enqueueing \""
|
2014-12-18 18:33:00 +00:00
|
|
|
#define MSG_POWERUP "PowerUp"
|
|
|
|
#define MSG_EXTERNAL_RESET " External Reset"
|
|
|
|
#define MSG_BROWNOUT_RESET " Brown out Reset"
|
|
|
|
#define MSG_WATCHDOG_RESET " Watchdog Reset"
|
|
|
|
#define MSG_SOFTWARE_RESET " Software Reset"
|
|
|
|
#define MSG_AUTHOR " | Author: "
|
|
|
|
#define MSG_CONFIGURATION_VER " Last Updated: "
|
|
|
|
#define MSG_FREE_MEMORY " Free Memory: "
|
|
|
|
#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: "
|
|
|
|
#define MSG_OK "ok"
|
2015-04-16 11:07:20 +00:00
|
|
|
#define MSG_WAIT "wait"
|
2014-12-18 18:33:00 +00:00
|
|
|
#define MSG_FILE_SAVED "Done saving file."
|
|
|
|
#define MSG_ERR_LINE_NO "Line Number is not Last Line Number+1, Last Line: "
|
|
|
|
#define MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
|
|
|
|
#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
|
2014-08-29 16:02:59 +00:00
|
|
|
#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "No Line Number with checksum, Last Line: "
|
2014-12-18 18:33:00 +00:00
|
|
|
#define MSG_FILE_PRINTED "Done printing file"
|
|
|
|
#define MSG_BEGIN_FILE_LIST "Begin file list"
|
|
|
|
#define MSG_END_FILE_LIST "End file list"
|
2015-05-02 04:38:32 +00:00
|
|
|
#define MSG_INVALID_EXTRUDER "Invalid extruder"
|
|
|
|
#define MSG_INVALID_SOLENOID "Invalid solenoid"
|
2014-12-18 18:33:00 +00:00
|
|
|
#define MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
|
2016-03-11 13:34:48 +00:00
|
|
|
#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 "\n"
|
2014-12-18 18:33:00 +00:00
|
|
|
#define MSG_COUNT_X " Count X: "
|
2016-02-12 02:18:22 +00:00
|
|
|
#define MSG_COUNT_A " Count A: "
|
2014-12-18 18:33:00 +00:00
|
|
|
#define MSG_ERR_KILLED "Printer halted. kill() called!"
|
|
|
|
#define MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
|
2016-03-07 11:48:14 +00:00
|
|
|
#define MSG_BUSY_PROCESSING "busy: processing"
|
|
|
|
#define MSG_BUSY_PAUSED_FOR_USER "busy: paused for user"
|
|
|
|
#define MSG_BUSY_PAUSED_FOR_INPUT "busy: paused for input"
|
2014-12-18 18:33:00 +00:00
|
|
|
#define MSG_RESEND "Resend: "
|
|
|
|
#define MSG_UNKNOWN_COMMAND "Unknown command: \""
|
|
|
|
#define MSG_ACTIVE_EXTRUDER "Active Extruder: "
|
|
|
|
#define MSG_X_MIN "x_min: "
|
|
|
|
#define MSG_X_MAX "x_max: "
|
|
|
|
#define MSG_Y_MIN "y_min: "
|
|
|
|
#define MSG_Y_MAX "y_max: "
|
|
|
|
#define MSG_Z_MIN "z_min: "
|
|
|
|
#define MSG_Z_MAX "z_max: "
|
2015-03-24 17:06:44 +00:00
|
|
|
#define MSG_Z2_MAX "z2_max: "
|
2015-04-02 00:22:05 +00:00
|
|
|
#define MSG_Z_PROBE "z_probe: "
|
2015-04-27 01:44:01 +00:00
|
|
|
#define MSG_ERR_MATERIAL_INDEX "M145 S<index> out of range (0-1)"
|
2015-04-28 02:48:34 +00:00
|
|
|
#define MSG_ERR_M421_REQUIRES_XYZ "M421 requires XYZ parameters"
|
2015-04-27 01:44:01 +00:00
|
|
|
#define MSG_ERR_MESH_INDEX_OOB "Mesh XY index is out of bounds"
|
2015-04-30 02:05:48 +00:00
|
|
|
#define MSG_ERR_M428_TOO_FAR "Too far from reference point"
|
2016-04-19 02:01:49 +00:00
|
|
|
#define MSG_ERR_M303_DISABLED "PIDTEMP disabled"
|
2014-12-18 18:33:00 +00:00
|
|
|
#define MSG_M119_REPORT "Reporting endstop status"
|
|
|
|
#define MSG_ENDSTOP_HIT "TRIGGERED"
|
|
|
|
#define MSG_ENDSTOP_OPEN "open"
|
|
|
|
#define MSG_HOTEND_OFFSET "Hotend offsets:"
|
|
|
|
|
|
|
|
#define MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
|
|
|
|
#define MSG_SD_INIT_FAIL "SD init fail"
|
|
|
|
#define MSG_SD_VOL_INIT_FAIL "volume.init failed"
|
|
|
|
#define MSG_SD_OPENROOT_FAIL "openRoot failed"
|
|
|
|
#define MSG_SD_CARD_OK "SD card ok"
|
|
|
|
#define MSG_SD_WORKDIR_FAIL "workDir open failed"
|
|
|
|
#define MSG_SD_OPEN_FILE_FAIL "open failed, File: "
|
|
|
|
#define MSG_SD_FILE_OPENED "File opened: "
|
|
|
|
#define MSG_SD_SIZE " Size: "
|
|
|
|
#define MSG_SD_FILE_SELECTED "File selected"
|
|
|
|
#define MSG_SD_WRITE_TO_FILE "Writing to file: "
|
|
|
|
#define MSG_SD_PRINTING_BYTE "SD printing byte "
|
|
|
|
#define MSG_SD_NOT_PRINTING "Not SD printing"
|
|
|
|
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
|
2014-12-22 02:57:41 +00:00
|
|
|
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
|
2014-12-18 18:33:00 +00:00
|
|
|
|
|
|
|
#define MSG_STEPPER_TOO_HIGH "Steprate too high: "
|
|
|
|
#define MSG_ENDSTOPS_HIT "endstops hit: "
|
|
|
|
#define MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
|
|
|
|
#define MSG_ERR_LONG_EXTRUDE_STOP " too long extrusion prevented"
|
2015-06-16 00:50:26 +00:00
|
|
|
#define MSG_TOO_COLD_FOR_M600 "M600 Hotend too cold to change filament"
|
2014-12-18 18:33:00 +00:00
|
|
|
#define MSG_BABYSTEPPING_X "Babystepping X"
|
|
|
|
#define MSG_BABYSTEPPING_Y "Babystepping Y"
|
|
|
|
#define MSG_BABYSTEPPING_Z "Babystepping Z"
|
2014-12-22 02:57:41 +00:00
|
|
|
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
|
2014-12-18 18:33:00 +00:00
|
|
|
|
2015-01-29 05:19:51 +00:00
|
|
|
#define MSG_ERR_EEPROM_WRITE "Error writing to EEPROM!"
|
|
|
|
|
2015-02-25 07:03:08 +00:00
|
|
|
// temperature.cpp strings
|
|
|
|
#define MSG_PID_AUTOTUNE "PID Autotune"
|
|
|
|
#define MSG_PID_AUTOTUNE_START MSG_PID_AUTOTUNE " start"
|
|
|
|
#define MSG_PID_AUTOTUNE_FAILED MSG_PID_AUTOTUNE " failed!"
|
|
|
|
#define MSG_PID_BAD_EXTRUDER_NUM MSG_PID_AUTOTUNE_FAILED " Bad extruder number"
|
|
|
|
#define MSG_PID_TEMP_TOO_HIGH MSG_PID_AUTOTUNE_FAILED " Temperature too high"
|
|
|
|
#define MSG_PID_TIMEOUT MSG_PID_AUTOTUNE_FAILED " timeout"
|
|
|
|
#define MSG_BIAS " bias: "
|
|
|
|
#define MSG_D " d: "
|
2015-03-05 23:25:44 +00:00
|
|
|
#define MSG_T_MIN " min: "
|
|
|
|
#define MSG_T_MAX " max: "
|
2015-02-25 07:03:08 +00:00
|
|
|
#define MSG_KU " Ku: "
|
|
|
|
#define MSG_TU " Tu: "
|
|
|
|
#define MSG_CLASSIC_PID " Classic PID "
|
|
|
|
#define MSG_KP " Kp: "
|
|
|
|
#define MSG_KI " Ki: "
|
|
|
|
#define MSG_KD " Kd: "
|
2015-06-10 06:27:56 +00:00
|
|
|
#define MSG_B "B:"
|
|
|
|
#define MSG_T "T:"
|
2015-02-25 07:03:08 +00:00
|
|
|
#define MSG_AT " @:"
|
2015-04-17 09:15:09 +00:00
|
|
|
#define MSG_PID_AUTOTUNE_FINISHED MSG_PID_AUTOTUNE " finished! Put the last Kp, Ki and Kd constants from below into Configuration.h"
|
2015-02-25 07:03:08 +00:00
|
|
|
#define MSG_PID_DEBUG " PID_DEBUG "
|
|
|
|
#define MSG_PID_DEBUG_INPUT ": Input "
|
|
|
|
#define MSG_PID_DEBUG_OUTPUT " Output "
|
|
|
|
#define MSG_PID_DEBUG_PTERM " pTerm "
|
|
|
|
#define MSG_PID_DEBUG_ITERM " iTerm "
|
|
|
|
#define MSG_PID_DEBUG_DTERM " dTerm "
|
2015-08-31 02:04:30 +00:00
|
|
|
#define MSG_PID_DEBUG_CTERM " cTerm "
|
2015-02-25 07:03:08 +00:00
|
|
|
#define MSG_INVALID_EXTRUDER_NUM " - Invalid extruder number !"
|
2015-05-18 18:26:25 +00:00
|
|
|
|
|
|
|
#define MSG_HEATER_BED "bed"
|
|
|
|
#define MSG_STOPPED_HEATER ", system stopped! Heater_ID: "
|
|
|
|
#define MSG_REDUNDANCY "Heater switched off. Temperature difference between temp sensors is too high !"
|
|
|
|
#define MSG_T_HEATING_FAILED "Heating failed"
|
|
|
|
#define MSG_T_THERMAL_RUNAWAY "Thermal Runaway"
|
|
|
|
#define MSG_T_MAXTEMP "MAXTEMP triggered"
|
|
|
|
#define MSG_T_MINTEMP "MINTEMP triggered"
|
|
|
|
|
2015-06-03 06:18:27 +00:00
|
|
|
// Debug
|
2016-04-04 22:36:07 +00:00
|
|
|
#define MSG_DEBUG_PREFIX "DEBUG:"
|
2016-03-30 02:18:45 +00:00
|
|
|
#define MSG_DEBUG_OFF "off"
|
|
|
|
#define MSG_DEBUG_ECHO "ECHO"
|
|
|
|
#define MSG_DEBUG_INFO "INFO"
|
|
|
|
#define MSG_DEBUG_ERRORS "ERRORS"
|
|
|
|
#define MSG_DEBUG_DRYRUN "DRYRUN"
|
|
|
|
#define MSG_DEBUG_COMMUNICATION "COMMUNICATION"
|
|
|
|
#define MSG_DEBUG_LEVELING "LEVELING"
|
2015-02-25 07:03:08 +00:00
|
|
|
|
2014-12-18 18:33:00 +00:00
|
|
|
// LCD Menu Messages
|
2014-02-12 13:21:26 +00:00
|
|
|
|
2015-07-31 05:03:15 +00:00
|
|
|
#if DISABLED(DISPLAY_CHARSET_HD44780_JAPAN) && DISABLED(DISPLAY_CHARSET_HD44780_WESTERN) && DISABLED(DISPLAY_CHARSET_HD44780_CYRILLIC)
|
2015-03-13 13:26:58 +00:00
|
|
|
#define DISPLAY_CHARSET_HD44780_JAPAN
|
2015-01-30 09:31:58 +00:00
|
|
|
#endif
|
|
|
|
|
2014-12-29 17:43:19 +00:00
|
|
|
#include LANGUAGE_INCLUDE
|
2015-02-08 19:41:20 +00:00
|
|
|
#include "language_en.h"
|
2014-03-23 09:30:08 +00:00
|
|
|
|
2014-12-18 18:33:00 +00:00
|
|
|
#endif //__LANGUAGE_H
|