feat: base UI strings on carrier's shared Fluent source

Vendors carrier's locales/en-US/main.ftl (extended to cover gsmol's
remaining strings) as the single source both clients draw wording
from, adds a dependency-free .ftl-to-JSON build step (devbox run
locale) since the file only ever uses Fluent's flat subset, and
replaces every hardcoded string in index.html/app.js with a lookup
into the generated dictionary.

Along the way: removes connect()'s requirePin check, which turned out
to be unreachable under the app's own invariants (every call site
already guarantees its target host is pinned before calling it), and
fixes a leftover call to store.setMasterSaved — removed in the earlier
settings redesign — that was silently breaking onboarding's "I saved
it" button.
This commit is contained in:
randogoth 2026-10-08 23:43:59 +03:00
parent 80aca8a29f
commit 70087fa470
7 changed files with 1080 additions and 258 deletions

View file

@ -13,6 +13,9 @@
"serve": [
"uv run bridge.py"
],
"locale": [
"node scripts/build-locale.mjs"
],
"test": [
"uv run test/gen_vectors.py",
"node test/vectors.test.mjs",