From 17e7d924636dc40dd3ab2dfe5063d07915b9e72e Mon Sep 17 00:00:00 2001 From: "Ben V. Brown" Date: Tue, 12 Dec 2017 11:31:22 +1100 Subject: [PATCH] Fix Menu not handling some languages Should close #125 --- workspace/TS100/inc/Translation.h | 4 +- workspace/TS100/src/Translation.c | 246 +++++++++++++++--------------- workspace/TS100/src/main.cpp | 3 +- 3 files changed, 127 insertions(+), 126 deletions(-) diff --git a/workspace/TS100/inc/Translation.h b/workspace/TS100/inc/Translation.h index f03c0e84..376b9c90 100644 --- a/workspace/TS100/inc/Translation.h +++ b/workspace/TS100/inc/Translation.h @@ -23,12 +23,12 @@ extern const char SettingRightChar; extern const char SettingLeftChar; extern const char SettingAutoChar; -#define LANG_EN +//#define LANG_EN //#define LANG_RU //#define LANG_ES //#define LANG_SE //#define LANG_IT -//#define LANG_FR +#define LANG_FR //#define LANG_DE //#define LANG_CS_CZ diff --git a/workspace/TS100/src/Translation.c b/workspace/TS100/src/Translation.c index 2b4b98e3..63d1bd69 100644 --- a/workspace/TS100/src/Translation.c +++ b/workspace/TS100/src/Translation.c @@ -7,28 +7,30 @@ #include "Translation.h" #ifdef LANG_EN -const char* SettingsLongNames[16] = { -/*These are all the help text for all the settings.*/ -/*No requirements on spacing or length*/ -"Power source. Sets cutoff voltage. ", //Power Source - "Sleep Temperature ", //Sleep Temp - "Sleep Timeout ", //Sleep Timeout - "Shutdown Timeout ", //Shutdown Time - "Motion Sensitivity <0.Off 1.least sensitive 9.most sensitive>", //Motion Sensitivity - "Temperature Unit ", //Temp Unit - "Display detailed information in a smaller font on the idle screen.", //Detailed Information - "Display Orientation ", //Orientation - "Enable front key enters boost mode 450C mode when soldering", //Boost enable - "Temperature when in \"boost\" mode", //Boost Temp - "Automatically starts the iron into soldering on power up. T=Soldering, S= Sleep mode,F=Off", //Auto start - "Blink the temperature on the cooling screen while the tip is still hot.", //Cooling Blink - "Calibrate tip offset.", //Calibrate Tip - "Reset all settings", //Reset Settings - "VIN Calibration. Buttons adjust, long press to exit", //VIN Cal - "Display detailed information while soldering", //ADV SLD +const char* SettingsLongNames[16] = + { + /*These are all the help text for all the settings.*/ + /*No requirements on spacing or length*/ + "Power source. Sets cutoff voltage. ", //Power Source + "Sleep Temperature ", //Sleep Temp + "Sleep Timeout ", //Sleep Timeout + "Shutdown Timeout ", //Shutdown Time + "Motion Sensitivity <0.Off 1.least sensitive 9.most sensitive>", //Motion Sensitivity + "Temperature Unit ", //Temp Unit + "Display detailed information in a smaller font on the idle screen.", //Detailed Information + "Display Orientation ", //Orientation + "Enable front key enters boost mode 450C mode when soldering", //Boost enable + "Temperature when in \"boost\" mode", //Boost Temp + "Automatically starts the iron into soldering on power up. T=Soldering, S= Sleep mode,F=Off", //Auto start + "Blink the temperature on the cooling screen while the tip is still hot.", //Cooling Blink + "Calibrate tip offset.", //Calibrate Tip + "Reset all settings", //Reset Settings + "VIN Calibration. Buttons adjust, long press to exit", //VIN Cal + "Display detailed information while soldering", //ADV SLD }; -const char* SettingsCalibrationWarning = "Please ensure the tip is at room temperature before continuing!"; +const char* SettingsCalibrationWarning = + "Please ensure the tip is at room temperature before continuing!"; const char* UVLOWarningString = "LOW VOLT"; //Fixed width 8 chars const char* SleepingSimpleString = "Zzzz"; // Must be <= 4 chars const char* SleepingAdvancedString = "Sleeping..."; // <=17 chars @@ -45,7 +47,7 @@ const char SettingAutoChar = 'A'; const char* SettingsLongNames[16] = { /*These are all the help text for all the settings.*/ /*No requirements on spacing or length*/ - "Источник питания. Установка напряжения отключения. ", //Cell count + "Источник питания. Установка напряжения отключения. ", //Cell count "Температура Сна <С>",//Sleep Temp "Переход в режим Сна <Минуты>",//Sleep timeout "Переходит в режим ожидания <Минуты>",//Shutdown timeout @@ -103,19 +105,19 @@ const char* UVLOWarningString = "LOW VOLT"; //Fixed width 8 chars const char* SleepingSimpleString = "Zzzz";// Must be <= 4 chars const char* SleepingAdvancedString = "Sleeping...";// <=17 chars const char* WarningSimpleString = "HOT!";//Must be <= 4 chars -const char* WarningAdvancedString = "WARNING! TIP HOT!"; +const char* WarningAdvancedString = "WARNING! TIP HOT!"; -const char SettingTrueChar = 'V'; // True in Spanish is "Verdadero" -const char SettingFalseChar = 'F'; -const char SettingRightChar = 'D'; // Right is "Derecha" -const char SettingLeftChar = 'I'; // Left is "Izquierda" +const char SettingTrueChar = 'V';// True in Spanish is "Verdadero" +const char SettingFalseChar = 'F'; +const char SettingRightChar = 'D';// Right is "Derecha" +const char SettingLeftChar = 'I';// Left is "Izquierda" const char SettingAutoChar = 'A'; #endif #ifdef LANG_SE const char* SettingsLongNames[16] = { /*These are all the help text for all the settings.*/ /*No requirements on spacing or length*/ - "Источник питания. Установка напряжения отключения. ", //Cell count + "Источник питания. Установка напряжения отключения. ", //Cell count "Температура Сна <С>",//Sleep Temp "Переход в режим Сна <Минуты>",//Sleep timeout "Переходит в режим ожидания <Минуты>",//Shutdown timeout @@ -162,7 +164,7 @@ const char* SettingsLongNames[16] = { "Temperatura in modalità \"boost\"", "Attiva automaticamente il saldatore quando viene alimentato ", "Durante il raffreddamento mostra la temperatura sul display se la punta è ancora calda" - "Calibra l'offset della punta",//Calibrate Tip + "Calibra l'offset della punta", //Calibrate Tip "Ripristina tutte le impostazioni",//Reset Settings "Calibra la tensione in entrata; regola con i bottoni, tieni permuto per uscire",//VIN Cal "Mostra informazioni dettagliate mentre stai saldando",//ADV SLD @@ -191,7 +193,7 @@ const char* SettingsLongNames[16] = { "Temps avant extinction. ", "Sensibilitee du capteur de mouvement. <0=Inactif 1=Peu sensible 9=Tres sensible>", "Unitee de temperature.", - "Afficher des informations detaillees en petit lors de la veille", //Detailed Information + "Afficher des informations detaillees en petit lors de la veille", //Detailed Information "Orientation de l\'affichage. ", "Active le mode \"Boost\" 450C sur le bouton de devant pendant la soudure.", "Temperature du mode \"Boost\". ", @@ -239,7 +241,7 @@ const char* SettingsLongNames[16] = { }; const char* SettingsCalibrationWarning = "Vor dem Fortfahren muss die Lötspitze vollständig abgekühlt sein!"; -const char* UVLOWarningString = "LOW VOLT";//Fixed width 8 chars +const char* UVLOWarningString = "LOW VOLT"; //Fixed width 8 chars const char* SleepingSimpleString = "Zzz ";// Must be <= 4 chars const char* SleepingAdvancedString = "Ruhemodus...";// <=17 chars const char* WarningSimpleString = "HEIß";//Must be <= 4 chars @@ -261,7 +263,7 @@ const char* SettingsLongNames[16] = { "Cas na vypnutie ", "Citlivost detekcie pohybu <0=Vyp, 1=Min ... 9=Max>", "Jednotky merania teploty ", - "Zobrazit detailne informacie v kludovom rezime ", //Detailed Information + "Zobrazit detailne informacie v kludovom rezime ", //Detailed Information "Orientacia displeja ", "Povolit tlacidlo pre prudky nahrev ", "Cielova teplota pre prudky nahrev (v nastavenych jednotkach)", @@ -274,7 +276,7 @@ const char* SettingsLongNames[16] = { }; const char* SettingsCalibrationWarning = "Najprv sa prosim uistite, ze hrot ma izbovu teplotu!"; -const char* UVLOWarningString = "LOW VOLT";//Fixed width 8 chars +const char* UVLOWarningString = "LOW VOLT"; //Fixed width 8 chars const char* SleepingSimpleString = "Chrr";// Must be <= 4 chars const char* SleepingAdvancedString = "Kludovy rezim...";// <=17 chars const char* WarningSimpleString = "HOT!";//Must be <= 4 chars @@ -288,31 +290,31 @@ const char SettingAutoChar = 'A'; #endif #ifdef LANG_TR const char* SettingsLongNames[16] = { -/*These are all the help text for all the settings.*/ -/*No requirements on spacing or length*/ -"Güç Kaynağı. kesim geriliminı ayarlar. ", //Power Source - "Uyku Sıcaklığı ", //Sleep Temp - "Uyku Zaman Aşımı ", //Sleep Timeout - "Kapatma Zaman Aşımı ", //Shutdown Time - "Hareket Hassasiyeti <0.Kapalı 1.En az duyarlı 9.En duyarlı>", //Motion Sensitivity - "Sıcaklık Ünitesi ", //Temp Unit - "Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster.", //Detailed Information - "Görüntü Yönlendirme ", //Orientation - "Lehimleme yaparken ön tuşa basmak Boost moduna sokar(450C)", //Boost enable - "\"boost\" Modu Derecesi", //Boost Temp - "Güç verildiğinde otomatik olarak lehimleme modunda başlat. T=Lehimleme Modu, S= Uyku Modu,F=Kapalı", //Auto start - "Soğutma ekranında uç hala sıcakken derece yanıp sönsün.", //Cooling Blink - "Ucu kalibre et.", //Calibrate Tip - "Bütün ayarları sıfırla", //Reset Settings - "VIN Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas.", //VIN Cal - "Lehimleme yaparken detaylı bilgi göster", //ADV SLD - }; + /*These are all the help text for all the settings.*/ + /*No requirements on spacing or length*/ + "Güç Kaynağı. kesim geriliminı ayarlar. ", //Power Source + "Uyku Sıcaklığı ",//Sleep Temp + "Uyku Zaman Aşımı ",//Sleep Timeout + "Kapatma Zaman Aşımı ",//Shutdown Time + "Hareket Hassasiyeti <0.Kapalı 1.En az duyarlı 9.En duyarlı>",//Motion Sensitivity + "Sıcaklık Ünitesi ",//Temp Unit + "Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster.",//Detailed Information + "Görüntü Yönlendirme ",//Orientation + "Lehimleme yaparken ön tuşa basmak Boost moduna sokar(450C)",//Boost enable + "\"boost\" Modu Derecesi",//Boost Temp + "Güç verildiğinde otomatik olarak lehimleme modunda başlat. T=Lehimleme Modu, S= Uyku Modu,F=Kapalı",//Auto start + "Soğutma ekranında uç hala sıcakken derece yanıp sönsün.",//Cooling Blink + "Ucu kalibre et.",//Calibrate Tip + "Bütün ayarları sıfırla",//Reset Settings + "VIN Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas.",//VIN Cal + "Lehimleme yaparken detaylı bilgi göster",//ADV SLD +}; const char* SettingsCalibrationWarning = "Lütfen devam etmeden önce ucun oda sıcaklığında olduğunu garantiye alın!"; const char* UVLOWarningString = "LOW VOLT"; //Fixed width 8 chars -const char* SleepingSimpleString = "Zzzz"; // Must be <= 4 chars -const char* SleepingAdvancedString = "Uyuyor..."; // <=17 chars -const char* WarningSimpleString = "HOT!"; //Must be <= 4 chars +const char* SleepingSimpleString = "Zzzz";// Must be <= 4 chars +const char* SleepingAdvancedString = "Uyuyor...";// <=17 chars +const char* WarningSimpleString = "HOT!";//Must be <= 4 chars const char* WarningAdvancedString = "UYARI! UÇ SICAK!"; const char SettingTrueChar = 'T'; @@ -323,31 +325,31 @@ const char SettingAutoChar = 'A'; #endif #ifdef LANG_HR const char* SettingsLongNames[16] = { -/*These are all the help text for all the settings.*/ -/*No requirements on spacing or length*/ -"Izvor napajanja. Postavlja napon iskljucivanja. ", //Power Source - "Temperatura spavanja. ", //Sleep Temp - "Vrijeme spavanja. ", //Sleep Timeout - "Vrijeme gasenja. ", //Shutdown Time - "Osjetljivost prepoznavanja pokreta. <0=Ugaseno, 1=Najmanje osjetljivo, 9=Najosjetljivije>", //Motion Sensitivity - "Jedinica temperature. ", //Temp Unit - "Prikazivanje detaljnih informacija manjim fontom tijekom cekanja.", //Detailed Information - "Orijentacija ekrana. ", //Orientation - "Prednji gumb prilikom lemljenja aktivira pojacani (Boost) nacin.", //Boost enable - "Temperatura u pojacanom (Boost) nacinu.", //Boost Temp - "Nacin u kojemu se lemilica pokrece po ukljucivanju napajanja. <+=Lemljenje, S=Spavanje, -=Ugaseno>", //Auto start - "Bljeskanje temperature prilikom hladjenja, ako je lemilica vruca.", //Cooling Blink - "Kalibriranje temperature vrha.", //Calibrate Tip - "Vracanje svih postavki.", //Reset Settings - "Kalibracija ulaznog napona. Podesavanje gumbima, dugacki pritisak za kraj.", //VIN Cal - "Prikazivanje detaljnih informacija tijekom lemljenja.", //ADV SLD - }; + /*These are all the help text for all the settings.*/ + /*No requirements on spacing or length*/ + "Izvor napajanja. Postavlja napon iskljucivanja. ", //Power Source + "Temperatura spavanja. ",//Sleep Temp + "Vrijeme spavanja. ",//Sleep Timeout + "Vrijeme gasenja. ",//Shutdown Time + "Osjetljivost prepoznavanja pokreta. <0=Ugaseno, 1=Najmanje osjetljivo, 9=Najosjetljivije>",//Motion Sensitivity + "Jedinica temperature. ",//Temp Unit + "Prikazivanje detaljnih informacija manjim fontom tijekom cekanja.",//Detailed Information + "Orijentacija ekrana. ",//Orientation + "Prednji gumb prilikom lemljenja aktivira pojacani (Boost) nacin.",//Boost enable + "Temperatura u pojacanom (Boost) nacinu.",//Boost Temp + "Nacin u kojemu se lemilica pokrece po ukljucivanju napajanja. <+=Lemljenje, S=Spavanje, -=Ugaseno>",//Auto start + "Bljeskanje temperature prilikom hladjenja, ako je lemilica vruca.",//Cooling Blink + "Kalibriranje temperature vrha.",//Calibrate Tip + "Vracanje svih postavki.",//Reset Settings + "Kalibracija ulaznog napona. Podesavanje gumbima, dugacki pritisak za kraj.",//VIN Cal + "Prikazivanje detaljnih informacija tijekom lemljenja.",//ADV SLD +}; const char* SettingsCalibrationWarning = "Provjerite da je vrh ohladjen na sobnu temperaturu prije nego sto nastavite!"; const char* UVLOWarningString = "NAPON!!!"; //Fixed width 8 chars -const char* SleepingSimpleString = "Zzzz"; // Must be <= 4 chars -const char* SleepingAdvancedString = "Spavanje..."; // <=17 chars -const char* WarningSimpleString = "VRUC"; //Must be <= 4 chars +const char* SleepingSimpleString = "Zzzz";// Must be <= 4 chars +const char* SleepingAdvancedString = "Spavanje...";// <=17 chars +const char* WarningSimpleString = "VRUC";//Must be <= 4 chars const char* WarningAdvancedString = "OPREZ! Vrsak je vruc!"; const char SettingTrueChar = '+'; @@ -359,32 +361,32 @@ const char SettingAutoChar = 'A'; #ifdef LANG_CS_CZ const char* SettingsLongNames[16] = { - /*These are all the help text for all the settings.*/ - /*No requirements on spacing or length*/ - "Zdroj napajeni. Pri nizsim napeti se odpoji ", //Power Source - "Teplota v rezimu spanku", //Sleep Temp - "Cas do rezimu spanku ", //Sleep Timeout - "Cas do automatickeho vypnuti ", //Shutdown Time - "Citlivost detekce pohybu <0=Vyp, 1=Min, ... 9=Max>", //Motion Sensitivity - "Jednotky mereni teploty ", //Temp Unit - "Zobrazit podrobnosti na vychozi obrazovce ", //Detailed Information - "Otoceni displaye ", //Orientation - "Povolit boost drzenim leveho tlacitka pri pajeni ", //Boost enable - "Teplota pri boostu", //Boost Temp - "Pri startu ihned nahrivat hrot ", //Auto start - "Blikani teploty pri chladnuti, dokud je hrot horky ", //Cooling Blink - "Kalibrovat mereni teploty", //Calibrate Tip - "Obnovit tovarni nastaveni", //Reset Settings - "Kalibrovat vstupni napeti. Tlacitky upravte, podrzenim potvrdte.", //VIN Cal - "Zobrazit podrobnosti pri pajeni ", //ADV SLD - }; + /*These are all the help text for all the settings.*/ + /*No requirements on spacing or length*/ + "Zdroj napajeni. Pri nizsim napeti se odpoji ", //Power Source + "Teplota v rezimu spanku",//Sleep Temp + "Cas do rezimu spanku ",//Sleep Timeout + "Cas do automatickeho vypnuti ",//Shutdown Time + "Citlivost detekce pohybu <0=Vyp, 1=Min, ... 9=Max>",//Motion Sensitivity + "Jednotky mereni teploty ",//Temp Unit + "Zobrazit podrobnosti na vychozi obrazovce ",//Detailed Information + "Otoceni displaye ",//Orientation + "Povolit boost drzenim leveho tlacitka pri pajeni ",//Boost enable + "Teplota pri boostu",//Boost Temp + "Pri startu ihned nahrivat hrot ",//Auto start + "Blikani teploty pri chladnuti, dokud je hrot horky ",//Cooling Blink + "Kalibrovat mereni teploty",//Calibrate Tip + "Obnovit tovarni nastaveni",//Reset Settings + "Kalibrovat vstupni napeti. Tlacitky upravte, podrzenim potvrdte.",//VIN Cal + "Zobrazit podrobnosti pri pajeni ",//ADV SLD +}; const char* SettingsCalibrationWarning = "Ujistete se, ze hrot ma pokojovou teplotu! "; //ending space needed -const char* UVLOWarningString = "LOW VOLT"; //Fixed width 8 chars -const char* SleepingSimpleString = "Zzz "; // Must be <= 4 chars -const char* SleepingAdvancedString = "Rezim spanku..."; // <=17 chars -const char* WarningSimpleString = "HOT!"; //Must be <= 4 chars -const char* WarningAdvancedString = "!! HORKY HROT !!"; // <= 16 chars +const char* UVLOWarningString = "LOW VOLT";//Fixed width 8 chars +const char* SleepingSimpleString = "Zzz ";// Must be <= 4 chars +const char* SleepingAdvancedString = "Rezim spanku...";// <=17 chars +const char* WarningSimpleString = "HOT!";//Must be <= 4 chars +const char* WarningAdvancedString = "!! HORKY HROT !!";// <= 16 chars const char SettingTrueChar = 'Z'; const char SettingFalseChar = 'V'; @@ -394,31 +396,31 @@ const char SettingAutoChar = 'A'; #endif #ifdef LANG_HUN const char* SettingsLongNames[16] = { -/*These are all the help text for all the settings.*/ -/*No requirements on spacing or length*/ -"Áramforrás. Beállítja a lekapcsolási feszültséget. ", //Power Source - "Alvási hőmérséklet ", //Sleep Temp - "Elalvási időzítő ", //Sleep Timeout - "Kikapcsolási időzítő ", //Shutdown Time - "Mozgás érzékenység beállítása. <0.Ki 1.kevésbé érzékeny 9.legérzékenyebb>", //Motion Sensitivity - "Hőmérsékleti egység ", //Temp Unit - "Részletes információ megjelenítése kisebb betűméretben a készenléti képernyőn.", //Detailed Information - "Megjelenítési tájolás ", //Orientation - "Elülső gombbal lépjen boost módba, 450C forrasztás közben", //Boost enable - "Hőmérséklet \"boost\" módban", //Boost Temp - "Bekapcsolás után automatikusan lépjen forrasztás módba. T=Forrasztás, S=Alvó mód,F=Ki", //Auto start - "Villogjon a hőmérséklet hűlés közben, amíg a hegy forró.", //Cooling Blink - "Hegy hőmérsékletének kalibrálása", //Calibrate Tip - "Beállítások alaphelyzetbe állítása", //Reset Settings - "A bemeneti feszültség kalibrálása. Röviden megnyomva állítsa be, hosszan nyomja meg a kilépéshez.", //VIN Cal - "Részletes információk megjelenítése forrasztás közben", //ADV SLD - }; + /*These are all the help text for all the settings.*/ + /*No requirements on spacing or length*/ + "Áramforrás. Beállítja a lekapcsolási feszültséget. ", //Power Source + "Alvási hőmérséklet ",//Sleep Temp + "Elalvási időzítő ",//Sleep Timeout + "Kikapcsolási időzítő ",//Shutdown Time + "Mozgás érzékenység beállítása. <0.Ki 1.kevésbé érzékeny 9.legérzékenyebb>",//Motion Sensitivity + "Hőmérsékleti egység ",//Temp Unit + "Részletes információ megjelenítése kisebb betűméretben a készenléti képernyőn.",//Detailed Information + "Megjelenítési tájolás ",//Orientation + "Elülső gombbal lépjen boost módba, 450C forrasztás közben",//Boost enable + "Hőmérséklet \"boost\" módban",//Boost Temp + "Bekapcsolás után automatikusan lépjen forrasztás módba. T=Forrasztás, S=Alvó mód,F=Ki",//Auto start + "Villogjon a hőmérséklet hűlés közben, amíg a hegy forró.",//Cooling Blink + "Hegy hőmérsékletének kalibrálása",//Calibrate Tip + "Beállítások alaphelyzetbe állítása",//Reset Settings + "A bemeneti feszültség kalibrálása. Röviden megnyomva állítsa be, hosszan nyomja meg a kilépéshez.",//VIN Cal + "Részletes információk megjelenítése forrasztás közben",//ADV SLD +}; const char* SettingsCalibrationWarning = "Folytatás előtt győződj meg róla, hogy a hegy szobahőmérsékletű!"; const char* UVLOWarningString = "LOW VOLT"; //Fixed width 8 chars -const char* SleepingSimpleString = "Zzzz"; // Must be <= 4 chars -const char* SleepingAdvancedString = "Alvás..."; // <=17 chars -const char* WarningSimpleString = "HOT!"; //Must be <= 4 chars +const char* SleepingSimpleString = "Zzzz";// Must be <= 4 chars +const char* SleepingAdvancedString = "Alvás...";// <=17 chars +const char* WarningSimpleString = "HOT!";//Must be <= 4 chars const char* WarningAdvancedString = "FIGYELEM! FORRÓ HEGY!"; const char SettingTrueChar = 'T'; diff --git a/workspace/TS100/src/main.cpp b/workspace/TS100/src/main.cpp index 651640ce..1392922c 100644 --- a/workspace/TS100/src/main.cpp +++ b/workspace/TS100/src/main.cpp @@ -314,8 +314,7 @@ static void gui_settingsMenu() { settingsResetRequest = false; bool earlyExit = false; uint32_t descriptionStart = 0; - while ((settingsMenu[currentScreen].description != NULL) - && earlyExit == false) { + while ((settingsMenu[currentScreen].incrementHandler.func != NULL) && earlyExit == false) { lcd.setFont(0); lcd.clearScreen(); lcd.setCursor(0, 0);