378d0b3e61
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>
14 lines
601 B
C++
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());
|
|
}
|