Change translation strs to be stored in one block
This commit is contained in:
3
source/Core/Src/Translation.cpp
Normal file
3
source/Core/Src/Translation.cpp
Normal file
@@ -0,0 +1,3 @@
|
||||
#include "Translation.h"
|
||||
|
||||
const char *translatedString(uint16_t offset) { return TranslationStrings + offset; }
|
||||
@@ -247,7 +247,7 @@ const menuitem advancedMenu[] = {
|
||||
static void printShortDescription(SettingsItemIndex settingsItemIndex, uint16_t cursorCharPosition) {
|
||||
// print short description (default single line, explicit double line)
|
||||
uint8_t shortDescIndex = static_cast<uint8_t>(settingsItemIndex);
|
||||
OLED::printWholeScreen(SettingsShortNames[shortDescIndex]);
|
||||
OLED::printWholeScreen(translatedString(SettingsShortNames[shortDescIndex]));
|
||||
|
||||
// prepare cursor for value
|
||||
// make room for scroll indicator
|
||||
@@ -362,7 +362,7 @@ static bool settings_displayInputMinVRange(void) {
|
||||
OLED::printNumber(systemSettings.minVoltageCells % 10, 1, FontStyle::LARGE);
|
||||
} else {
|
||||
printShortDescription(SettingsItemIndex::MinVolCell, 5);
|
||||
OLED::print(SettingNAChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingNAChar), FontStyle::LARGE);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -437,7 +437,7 @@ static bool settings_setSleepTime(void) {
|
||||
static bool settings_displaySleepTime(void) {
|
||||
printShortDescription(SettingsItemIndex::SleepTimeout, 5);
|
||||
if (systemSettings.SleepTime == 0) {
|
||||
OLED::print(OffString, FontStyle::LARGE);
|
||||
OLED::print(translatedString(OffString), FontStyle::LARGE);
|
||||
} else if (systemSettings.SleepTime < 6) {
|
||||
OLED::printNumber(systemSettings.SleepTime * 10, 2, FontStyle::LARGE);
|
||||
OLED::print(SymbolSeconds, FontStyle::LARGE);
|
||||
@@ -461,7 +461,7 @@ static bool settings_setShutdownTime(void) {
|
||||
static bool settings_displayShutdownTime(void) {
|
||||
printShortDescription(SettingsItemIndex::ShutdownTimeout, 5);
|
||||
if (systemSettings.ShutdownTime == 0) {
|
||||
OLED::print(OffString, FontStyle::LARGE);
|
||||
OLED::print(translatedString(OffString), FontStyle::LARGE);
|
||||
} else {
|
||||
OLED::printNumber(systemSettings.ShutdownTime, 2, FontStyle::LARGE);
|
||||
OLED::print(SymbolMinutes, FontStyle::LARGE);
|
||||
@@ -546,7 +546,7 @@ static bool settings_setPowerLimit(void) {
|
||||
static bool settings_displayPowerLimit(void) {
|
||||
printShortDescription(SettingsItemIndex::PowerLimit, 5);
|
||||
if (systemSettings.powerLimit == 0) {
|
||||
OLED::print(OffString, FontStyle::LARGE);
|
||||
OLED::print(translatedString(OffString), FontStyle::LARGE);
|
||||
} else {
|
||||
OLED::printNumber(systemSettings.powerLimit, 2, FontStyle::LARGE);
|
||||
OLED::print(SymbolWatts, FontStyle::LARGE);
|
||||
@@ -564,7 +564,7 @@ static bool settings_setScrollSpeed(void) {
|
||||
|
||||
static bool settings_displayScrollSpeed(void) {
|
||||
printShortDescription(SettingsItemIndex::ScrollingSpeed, 7);
|
||||
OLED::print((systemSettings.descriptionScrollSpeed) ? SettingFastChar : SettingSlowChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString((systemSettings.descriptionScrollSpeed) ? SettingFastChar : SettingSlowChar), FontStyle::LARGE);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -592,16 +592,16 @@ static bool settings_displayDisplayRotation(void) {
|
||||
|
||||
switch (systemSettings.OrientationMode) {
|
||||
case 0:
|
||||
OLED::print(SettingRightChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingRightChar), FontStyle::LARGE);
|
||||
break;
|
||||
case 1:
|
||||
OLED::print(SettingLeftChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingLeftChar), FontStyle::LARGE);
|
||||
break;
|
||||
case 2:
|
||||
OLED::print(SettingAutoChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingAutoChar), FontStyle::LARGE);
|
||||
break;
|
||||
default:
|
||||
OLED::print(SettingRightChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingRightChar), FontStyle::LARGE);
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
@@ -637,7 +637,7 @@ static bool settings_displayBoostTemp(void) {
|
||||
if (systemSettings.BoostTemp) {
|
||||
OLED::printNumber(systemSettings.BoostTemp, 3, FontStyle::LARGE);
|
||||
} else {
|
||||
OLED::print(OffString, FontStyle::LARGE);
|
||||
OLED::print(translatedString(OffString), FontStyle::LARGE);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -653,19 +653,19 @@ static bool settings_displayAutomaticStartMode(void) {
|
||||
|
||||
switch (systemSettings.autoStartMode) {
|
||||
case 0:
|
||||
OLED::print(SettingStartNoneChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingStartNoneChar), FontStyle::LARGE);
|
||||
break;
|
||||
case 1:
|
||||
OLED::print(SettingStartSolderingChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingStartSolderingChar), FontStyle::LARGE);
|
||||
break;
|
||||
case 2:
|
||||
OLED::print(SettingStartSleepChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingStartSleepChar), FontStyle::LARGE);
|
||||
break;
|
||||
case 3:
|
||||
OLED::print(SettingStartSleepOffChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingStartSleepOffChar), FontStyle::LARGE);
|
||||
break;
|
||||
default:
|
||||
OLED::print(SettingStartNoneChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingStartNoneChar), FontStyle::LARGE);
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
@@ -682,16 +682,16 @@ static bool settings_displayLockingMode(void) {
|
||||
|
||||
switch (systemSettings.lockingMode) {
|
||||
case 0:
|
||||
OLED::print(SettingLockDisableChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingLockDisableChar), FontStyle::LARGE);
|
||||
break;
|
||||
case 1:
|
||||
OLED::print(SettingLockBoostChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingLockBoostChar), FontStyle::LARGE);
|
||||
break;
|
||||
case 2:
|
||||
OLED::print(SettingLockFullChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingLockFullChar), FontStyle::LARGE);
|
||||
break;
|
||||
default:
|
||||
OLED::print(SettingLockDisableChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingLockDisableChar), FontStyle::LARGE);
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
@@ -709,9 +709,9 @@ static bool settings_displayCoolingBlinkEnabled(void) {
|
||||
}
|
||||
|
||||
static bool settings_setResetSettings(void) {
|
||||
if (userConfirmation(SettingsResetWarning)) {
|
||||
if (userConfirmation(translatedString(SettingsResetWarning))) {
|
||||
resetSettings();
|
||||
warnUser(ResetOKMessage, 2 * TICKS_SECOND);
|
||||
warnUser(translatedString(ResetOKMessage), 2 * TICKS_SECOND);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -754,7 +754,7 @@ static void setTipOffset() {
|
||||
// If not only do single point tuning as per usual
|
||||
static bool settings_setCalibrate(void) {
|
||||
|
||||
if (userConfirmation(SettingsCalibrationWarning)) {
|
||||
if (userConfirmation(translatedString(SettingsCalibrationWarning))) {
|
||||
// User confirmed
|
||||
// So we now perform the actual calculation
|
||||
setTipOffset();
|
||||
@@ -881,7 +881,7 @@ static bool settings_displayPowerPulse(void) {
|
||||
OLED::print(SymbolDot, FontStyle::LARGE);
|
||||
OLED::printNumber(systemSettings.KeepAwakePulse % 10, 1, FontStyle::LARGE);
|
||||
} else {
|
||||
OLED::print(OffString, FontStyle::LARGE);
|
||||
OLED::print(translatedString(OffString), FontStyle::LARGE);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -907,16 +907,16 @@ static bool settings_displayAnimationSpeed(void) {
|
||||
printShortDescription(SettingsItemIndex::AnimSpeed, 7);
|
||||
switch (systemSettings.animationSpeed) {
|
||||
case settingOffSpeed_t::SLOW:
|
||||
OLED::print(SettingSlowChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingSlowChar), FontStyle::LARGE);
|
||||
break;
|
||||
case settingOffSpeed_t::MEDIUM:
|
||||
OLED::print(SettingMediumChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingMediumChar), FontStyle::LARGE);
|
||||
break;
|
||||
case settingOffSpeed_t::FAST:
|
||||
OLED::print(SettingFastChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingFastChar), FontStyle::LARGE);
|
||||
break;
|
||||
default:
|
||||
OLED::print(SettingOffChar, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingOffChar), FontStyle::LARGE);
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
@@ -967,17 +967,17 @@ static bool settings_displayHallEffect(void) {
|
||||
printShortDescription(SettingsItemIndex::HallEffSensitivity, 7);
|
||||
switch (systemSettings.hallEffectSensitivity) {
|
||||
case 1:
|
||||
OLED::print(SettingSensitivityLow, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingSensitivityLow), FontStyle::LARGE);
|
||||
break;
|
||||
case 2:
|
||||
OLED::print(SettingSensitivityMedium, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingSensitivityMedium), FontStyle::LARGE);
|
||||
break;
|
||||
case 3:
|
||||
OLED::print(SettingSensitivityHigh, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingSensitivityHigh), FontStyle::LARGE);
|
||||
break;
|
||||
case 0:
|
||||
default:
|
||||
OLED::print(SettingSensitivityOff, FontStyle::LARGE);
|
||||
OLED::print(translatedString(SettingSensitivityOff), FontStyle::LARGE);
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
@@ -996,7 +996,7 @@ static bool animOpenState = false;
|
||||
static void displayMenu(size_t index) {
|
||||
// Call into the menu
|
||||
// Draw title
|
||||
OLED::printWholeScreen(SettingsMenuEntries[index]);
|
||||
OLED::printWholeScreen(translatedString(SettingsMenuEntries[index]));
|
||||
// Draw symbol
|
||||
// 16 pixel wide image
|
||||
// 2 pixel wide scrolling indicator
|
||||
@@ -1128,7 +1128,7 @@ void gui_Menu(const menuitem *menu) {
|
||||
// Draw description
|
||||
if (descriptionStart == 0)
|
||||
descriptionStart = xTaskGetTickCount();
|
||||
const char *description = SettingsDescriptions[menu[currentScreen].description - 1];
|
||||
const char *description = translatedString(SettingsDescriptions[menu[currentScreen].description - 1]);
|
||||
// lower the value - higher the speed
|
||||
int16_t descriptionWidth = FONT_12_WIDTH * (str_display_len(description) + 7);
|
||||
int16_t descriptionOffset = ((xTaskGetTickCount() - descriptionStart) / (systemSettings.descriptionScrollSpeed == 1 ? (TICKS_100MS / 10) : (TICKS_100MS / 5)));
|
||||
|
||||
Reference in New Issue
Block a user