The Lua Store is now a segmented three-tab page. Apps keeps the catalog and sideloaded scripts; Built-in holds the show/hide switches; Languages is new. Opening is instant: the card re-listing that ran synchronously on open now runs on the net worker (request/done flags like the catalog), and the app cache pre-warms at boot. Card text no longer runs under the action button — title and description both stop at the button column. Languages as files: every translation column of the i18n table exports to a .lang file (scripts/build/gen-lang-files.py -> apps/lang/<code>.lang on the firmware host + langs.json catalog). The device downloads them from the Languages tab into <data>/lang/, and at boot the active file loads into PSRAM and overlays TR() lookups via binary search — the file wins, then the built-in ui_lang column, then English, so a partial or hand-edited file degrades gracefully. The file's '# base:' header names that fallback column. Users can drop their own .lang files on the card (or edit a downloaded one) for languages the firmware never shipped; switching reboots to apply, same as the Settings picker (which now also clears the file overlay). Prefs v48 appends the active file code, trailing per the schema law. This is stage one of un-baking translations from the image: the mechanism, catalog and files ship now while the built-in table stays as the fallback; the flash win lands when the table columns are dropped after field proof. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 lines
518 B
JSON
16 lines
518 B
JSON
{"langs":[
|
|
{"code":"hu","name":"Magyar"},
|
|
{"code":"nl","name":"Nederlands"},
|
|
{"code":"de","name":"Deutsch"},
|
|
{"code":"fr","name":"Français"},
|
|
{"code":"es","name":"Español"},
|
|
{"code":"it","name":"Italiano"},
|
|
{"code":"ru","name":"Русский"},
|
|
{"code":"uk","name":"Українська"},
|
|
{"code":"bg","name":"Български"},
|
|
{"code":"sr","name":"Српски"},
|
|
{"code":"el","name":"Ελληνικά"},
|
|
{"code":"pt-br","name":"Português (BR)"},
|
|
{"code":"ro","name":"Română"}
|
|
]}
|