Language change implementation revamped. Didn't work as intended with Arduino IDE.

This commit is contained in:
Caleb Anderson 2014-12-21 14:45:34 -07:00
parent fe8d8beb7a
commit 7db943b147
4 changed files with 30 additions and 53 deletions

View file

@ -41,7 +41,7 @@
/* Russian language not supported yet, needs custom font /* Russian language not supported yet, needs custom font
#if LANGUAGE_CHOICE == ru #ifdef LANGUAGE_RU
#include "LiquidCrystalRus.h" #include "LiquidCrystalRus.h"
#define LCD_CLASS LiquidCrystalRus #define LCD_CLASS LiquidCrystalRus
#else #else

View file

@ -1,10 +1,14 @@
#ifndef LANGUAGE_H #ifndef LANGUAGE_H
#define LANGUAGE_H #define LANGUAGE_H
#define LANGUAGE_CONCAT(M) #M
#define GENERATE_LANGUAGE_INCLUDE(M) LANGUAGE_CONCAT(language_##M.h)
// NOTE: IF YOU CHANGE LANGUAGE FILES OR MERGE A FILE WITH CHANGES // NOTE: IF YOU CHANGE LANGUAGE FILES OR MERGE A FILE WITH CHANGES
// //
// ==> ALWAYS TRY TO COMPILE MARLIN WITH/WITHOUT "ULTIPANEL" / "ULTRALCD" / "SDSUPPORT" #define IN "Configuration.h" // ==> ALWAYS TRY TO COMPILE MARLIN WITH/WITHOUT "ULTIPANEL" / "ULTRALCD" / "SDSUPPORT" #define IN "Configuration.h"
// ==> ALSO TRY ALL AVAILABLE "LANGUAGE_CHOICE" OPTIONS // ==> ALSO TRY ALL AVAILABLE LANGUAGE OPTIONS
// Languages // Languages
// en English // en English
@ -21,37 +25,34 @@
// ca Catalan // ca Catalan
// eu Basque-Euskera // eu Basque-Euskera
#ifndef LANGUAGE_CHOICE #ifndef LANGUAGE_INCLUDE
#define LANGUAGE_CHOICE en // Pick your language from the list above // pick your language from the list above
#endif #define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en)
#if LANGUAGE_CHOICE >= 1
#error "Languages now uses ISO language codes instead of numbers."
#endif #endif
#define PROTOCOL_VERSION "1.0" #define PROTOCOL_VERSION "1.0"
#if MB(ULTIMAKER)|| MB(ULTIMAKER_OLD)|| MB(ULTIMAIN_2) #if MB(ULTIMAKER)|| MB(ULTIMAKER_OLD)|| MB(ULTIMAIN_2)
#define MACHINE_NAME "Ultimaker" #define MACHINE_NAME "Ultimaker"
#define FIRMWARE_URL "http://firmware.ultimaker.com" #define FIRMWARE_URL "http://firmware.ultimaker.com"
#elif MB(RUMBA) #elif MB(RUMBA)
#define MACHINE_NAME "Rumba" #define MACHINE_NAME "Rumba"
#define FIRMWARE_URL "https://github.com/ErikZalm/Marlin/" #define FIRMWARE_URL "https://github.com/ErikZalm/Marlin/"
#elif MB(3DRAG) #elif MB(3DRAG)
#define MACHINE_NAME "3Drag" #define MACHINE_NAME "3Drag"
#define FIRMWARE_URL "http://3dprint.elettronicain.it/" #define FIRMWARE_URL "http://3dprint.elettronicain.it/"
#elif MB(5DPRINT) #elif MB(5DPRINT)
#define MACHINE_NAME "Makibox" #define MACHINE_NAME "Makibox"
#define FIRMWARE_URL "https://github.com/ErikZalm/Marlin/" #define FIRMWARE_URL "https://github.com/ErikZalm/Marlin/"
#else #else
#ifdef CUSTOM_MENDEL_NAME #ifdef CUSTOM_MENDEL_NAME
#define MACHINE_NAME CUSTOM_MENDEL_NAME #define MACHINE_NAME CUSTOM_MENDEL_NAME
#else #else
#define MACHINE_NAME "Mendel" #define MACHINE_NAME "Mendel"
#endif #endif
// Default firmware set to Mendel // Default firmware set to Mendel
#define FIRMWARE_URL "https://github.com/ErikZalm/Marlin/" #define FIRMWARE_URL "https://github.com/ErikZalm/Marlin/"
#endif #endif
@ -136,7 +137,7 @@
#define MSG_SD_PRINTING_BYTE "SD printing byte " #define MSG_SD_PRINTING_BYTE "SD printing byte "
#define MSG_SD_NOT_PRINTING "Not SD printing" #define MSG_SD_NOT_PRINTING "Not SD printing"
#define MSG_SD_ERR_WRITE_TO_FILE "error writing to file" #define MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
#define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: " #define MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
#define MSG_STEPPER_TOO_HIGH "Steprate too high: " #define MSG_STEPPER_TOO_HIGH "Steprate too high: "
#define MSG_ENDSTOPS_HIT "endstops hit: " #define MSG_ENDSTOPS_HIT "endstops hit: "
@ -145,36 +146,10 @@
#define MSG_BABYSTEPPING_X "Babystepping X" #define MSG_BABYSTEPPING_X "Babystepping X"
#define MSG_BABYSTEPPING_Y "Babystepping Y" #define MSG_BABYSTEPPING_Y "Babystepping Y"
#define MSG_BABYSTEPPING_Z "Babystepping Z" #define MSG_BABYSTEPPING_Z "Babystepping Z"
#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure" #define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
// LCD Menu Messages // LCD Menu Messages
#if LANGUAGE_CHOICE == en // English #include LANGUAGE_INCLUDE
#include "language_en.h"
#elif LANGUAGE_CHOICE == pl // Polish
#include "language_pl.h"
#elif LANGUAGE_CHOICE == fr // French
#include "language_fr.h"
#elif LANGUAGE_CHOICE == de // German
#include "language_de.h"
#elif LANGUAGE_CHOICE == es // Spanish
#include "language_es.h"
#elif LANGUAGE_CHOICE == ru // Russian
#include "language_ru.h"
#elif LANGUAGE_CHOICE == it // Italian
#include "language_it.h"
#elif LANGUAGE_CHOICE == pt // Portuguese
#include "language_pt.h"
#elif LANGUAGE_CHOICE == fi // Finnish
#include "language_fi.h"
#elif LANGUAGE_CHOICE == an // Aragonese
#include "language_an.h"
#elif LANGUAGE_CHOICE == nl // Dutch
#include "language_nl.h"
#elif LANGUAGE_CHOICE == ca // Catalan
#include "language_ca.h"
#elif LANGUAGE_CHOICE == eu // Basque-Euskera
#include "language_eu.h"
#endif
#endif //__LANGUAGE_H #endif //__LANGUAGE_H

View file

@ -8,6 +8,8 @@
#ifndef LANGUAGE_RU_H #ifndef LANGUAGE_RU_H
#define LANGUAGE_RU_H #define LANGUAGE_RU_H
#define LANGUAGE_RU
#define WELCOME_MSG MACHINE_NAME "Готов." #define WELCOME_MSG MACHINE_NAME "Готов."
#define MSG_SD_INSERTED "Карта вставлена" #define MSG_SD_INSERTED "Карта вставлена"
#define MSG_SD_REMOVED "Карта извлечена" #define MSG_SD_REMOVED "Карта извлечена"

View file

@ -198,7 +198,7 @@ extern volatile uint16_t buttons; //an extended version of the last checked but
#else #else
// Standard directly connected LCD implementations // Standard directly connected LCD implementations
#if LANGUAGE_CHOICE == ru #ifdef LANGUAGE_RU
#include "LiquidCrystalRus.h" #include "LiquidCrystalRus.h"
#define LCD_CLASS LiquidCrystalRus #define LCD_CLASS LiquidCrystalRus
#else #else