mirror of
https://github.com/tbnobody/OpenDTU.git
synced 2026-04-05 16:53:41 +02:00
Rewrite display language handling to work with locale strings instead of magic numbers.
This is required to implement further i18n functions using the language packs
This commit is contained in:
@@ -107,7 +107,7 @@ bool ConfigurationClass::write()
|
||||
display["screensaver"] = config.Display.ScreenSaver;
|
||||
display["rotation"] = config.Display.Rotation;
|
||||
display["contrast"] = config.Display.Contrast;
|
||||
display["language"] = config.Display.Language;
|
||||
display["locale"] = config.Display.Locale;
|
||||
display["diagram_duration"] = config.Display.Diagram.Duration;
|
||||
display["diagram_mode"] = config.Display.Diagram.Mode;
|
||||
|
||||
@@ -282,7 +282,7 @@ bool ConfigurationClass::read()
|
||||
config.Display.ScreenSaver = display["screensaver"] | DISPLAY_SCREENSAVER;
|
||||
config.Display.Rotation = display["rotation"] | DISPLAY_ROTATION;
|
||||
config.Display.Contrast = display["contrast"] | DISPLAY_CONTRAST;
|
||||
config.Display.Language = display["language"] | DISPLAY_LANGUAGE;
|
||||
strlcpy(config.Display.Locale, display["locale"] | DISPLAY_LOCALE, sizeof(config.Display.Locale));
|
||||
config.Display.Diagram.Duration = display["diagram_duration"] | DISPLAY_DIAGRAM_DURATION;
|
||||
config.Display.Diagram.Mode = display["diagram_mode"] | DISPLAY_DIAGRAM_MODE;
|
||||
|
||||
@@ -383,6 +383,22 @@ void ConfigurationClass::migrate()
|
||||
}
|
||||
}
|
||||
|
||||
if (config.Cfg.Version < 0x00011d00) {
|
||||
JsonObject device = doc["device"];
|
||||
JsonObject display = device["display"];
|
||||
switch (display["language"] | 0U) {
|
||||
case 0U:
|
||||
strlcpy(config.Display.Locale, "en", sizeof(config.Display.Locale));
|
||||
break;
|
||||
case 1U:
|
||||
strlcpy(config.Display.Locale, "de", sizeof(config.Display.Locale));
|
||||
break;
|
||||
case 2U:
|
||||
strlcpy(config.Display.Locale, "fr", sizeof(config.Display.Locale));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
f.close();
|
||||
|
||||
config.Cfg.Version = CONFIG_VERSION;
|
||||
|
||||
Reference in New Issue
Block a user