Files
Max Gramser 378d0b3e61 Build each screen in one language: the screen texts from the translations, European letters in the fonts, and Language & region in the app
The firmware takes its texts from screen_manager/translations/<code>.json at build time (components/smart_display:
one table in main.cpp, keys in screen_text_keys.h), and the fonts carry every letter European languages write with.
The app keeps Settings -> Language & region (language, clock, numbers) for every screen, writes LANGUAGE into the
screens' YAML and sends the clock and the number format in the layout message; the per-screen 24-hour clock goes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 14:24:19 +02:00

14 lines
601 B
C++

#include "screen_text_en.h"
#include "components/smart_display/tile_icon.h"
#include <cassert>
int main() {
assert(tile_icon::codepoint("F06B5")==0xF06B5);
assert(tile_icon::codepoint("f1d17")==0xF1D17);
// Names, short or long hex, non-MDI ranges and junk keep the domain icon.
for (const char *bad : {"", "lamp", "auto", "F06B", "F06B50", "006B5", "F06G5", " F06B", "-F06B"})
assert(tile_icon::codepoint(bad)==0);
assert(tile_icon::utf8(0xF06B5)=="\U000F06B5");
assert(tile_icon::utf8(0xF0335)=="\U000F0335");
assert(tile_icon::utf8(0).empty() && tile_icon::utf8(0x41).empty());
}