feat: enable Companion simulator to switch UI language at runtime #6510
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Testing language translations is slow and tedious requiring rebuilding the simulator libraries multiple times.
This PR enables the simulator to load all language translations and fonts at startup allowing the UI language to be switched at will, while running the simulator.
Primary goals:
The UI language is changed in the simulator using the existing 'Voice Language' setting.
In addition this can be compiled and run on some current radios:
When used on compatible B&W radios the flash size is increased by ~300K, leaving ~200K free. RAM usage is increased by a few hundred bytes.
On compatible color radios the flash size increases by ~1.9MB. RAM usage increases with ~2.3MB free at startup (down from ~3.9MB).
To build for a radio add -DALL_LANGUAGES=YES to the cmake configuration.
TODO: