Skip to content

Implement i18n - #65

Merged
natebass merged 7 commits into
opensacorg:masterfrom
natebass:implement-i18n
Sep 3, 2026
Merged

Implement i18n#65
natebass merged 7 commits into
opensacorg:masterfrom
natebass:implement-i18n

Conversation

@natebass

@natebass natebass commented Sep 3, 2026

Copy link
Copy Markdown
Member

No description provided.

natebass and others added 7 commits August 30, 2026 03:00
* Downgrade Leaflet from version 2.0 alpha to 1.9.
* Refactor the escape HTML function.
Message catalogs are flat JSON files loaded on demand and code-split per
language. Lookups fall back to English key by key, so a catalog that is
empty, partial, or mid-review still renders.

The language list tracks the languages most spoken at home in California
intersected with the threshold languages the state requires for
public-benefit language access, since WIC applicants are the audience.
English is the source catalog; the other twelve are stubs, so the
plumbing is complete but the strings are not.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The views and components now read their copy from the message catalog
rather than embedding it, and main.js waits on the active catalog before
the first render since t() is synchronous.

Numbers the copy quotes -- the FMNP seasonal benefit, the Federal
Poverty Level, the search result count -- go through Intl so they group
and mark currency the way the reader's language does. The cited poverty
level and its year move into named constants so the sentence can carry
placeholders instead of a hard-coded "$23,850".

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Languages are listed under their own names, since someone looking for
their language will not recognize its English name, and each option
carries its own lang so the browser picks a font that can render the
script. The change listener is delegated from the document because
switching languages re-renders the header.

Arabic and Persian are right-to-left, so the layout's one-sided margins
become logical properties and the pieces that stay one-sided are
mirrored under [dir="rtl"], which the runtime sets from the active
locale.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@natebass
natebass merged commit 2947394 into opensacorg:master Sep 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant