Skip to content

feat(i18n): Portuguese localization for app chrome, cards, dialogs and pages - #194

Merged
snekxs merged 4 commits into
control-panelfrom
pr185-fix
Sep 6, 2026
Merged

feat(i18n): Portuguese localization for app chrome, cards, dialogs and pages#194
snekxs merged 4 commits into
control-panelfrom
pr185-fix

Conversation

@snekxs

Copy link
Copy Markdown
Member

Merge of #185 onto current control-panel, resolving conflicts against #182/#183's motion/toggle work and #159's ATK bundle-budget raise (build/check-bundle-size.ts got two independent raises stacked cumulatively: 800 kB for ATK ZERO, then 895 kB on top for the pt dictionary). Kept the translated strings on the animations SwitchCard over the plain-English version another PR had reintroduced there. Closes#185.

yanhenrique-devand others added 4 commits September 6, 2026 12:45
…d pages
Adds a locale preference (en/pt, persisted, browser-detected on first
run) with a shared dictionary and English fallback, a globe dropdown in
the sidebar plus a Language card in Settings, and EN|PT toggles on the
standalone pages.
Covers sidebar, settings, tabs, overview, pending bar, toasts, device
cards, Logitech/Keychron editors, support/capture/share dialogs, landing,
FAQ, device check, supported list, donate, admin console and controller
status/error messages. Device-provided values, hardware-written option
values and server-bound fields stay untouched.
The full en+pt dictionary pushed the JS aggregate ~82 kB over budget
(873 kB vs 790 kB). Split pt into its own chunk (i18n-pt-*.js) loaded on
demand: t() falls back to English until ensureLocale() resolves, locale
switches await the table before committing (no fallback flash), and a
stored non-English locale re-renders once after first paint. Raise the
JS budget to 885 kB with headroom for the remaining dictionary weight.
# Conflicts:
#	build/check-bundle-size.ts
#	src/app/InterfaceSettings.tsx
#	src/interface-preferences.ts
@snekxs
snekxs merged commit ec6ed77 into control-panelSep 6, 2026
4 of 5 checks passed
@snekxs
snekxs deleted the pr185-fix branch September 6, 2026 21:57
Sign up for freeto 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.

2 participants

@snekxs@yanhenrique-dev