feat(i18n): add internationalization with DE, FR, ES, PT translations #12

Merged
sharang merged 5 commits from feat/i18n into main 2026-02-22 16:48:52 +00:00
Owner

Add a compile-time i18n system with 270 translation keys across 5 locales
(EN, DE, FR, ES, PT). Translations are embedded via include_str! and parsed
lazily into flat HashMaps with English fallback for missing keys.

  • Add src/i18n module with Locale enum, t()/tw() lookup functions, and tests
  • Add JSON translation files for all 5 locales under assets/i18n/
  • Provide locale Signal via Dioxus context in App, persisted to localStorage
  • Replace all hardcoded UI strings across 33 component/page files
  • Add compact locale picker (globe icon + ISO alpha-2 code) in sidebar header
  • Add click-outside backdrop dismissal for locale dropdown

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

Add a compile-time i18n system with 270 translation keys across 5 locales (EN, DE, FR, ES, PT). Translations are embedded via include_str! and parsed lazily into flat HashMaps with English fallback for missing keys. - Add src/i18n module with Locale enum, t()/tw() lookup functions, and tests - Add JSON translation files for all 5 locales under assets/i18n/ - Provide locale Signal via Dioxus context in App, persisted to localStorage - Replace all hardcoded UI strings across 33 component/page files - Add compact locale picker (globe icon + ISO alpha-2 code) in sidebar header - Add click-outside backdrop dismissal for locale dropdown Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
sharang added 1 commit 2026-02-22 11:39:56 +00:00
feat(i18n): add internationalization with DE, FR, ES, PT translations
All checks were successful
CI / Format (push) Successful in 30s
CI / Clippy (push) Successful in 2m36s
CI / Security Audit (push) Has been skipped
CI / Tests (push) Has been skipped
CI / Format (pull_request) Successful in 3s
CI / Clippy (pull_request) Successful in 2m15s
CI / Security Audit (pull_request) Has been skipped
CI / Tests (pull_request) Has been skipped
CI / Deploy (push) Has been skipped
CI / Deploy (pull_request) Has been skipped
007c7e2686
Add a compile-time i18n system with 270 translation keys across 5 locales
(EN, DE, FR, ES, PT). Translations are embedded via include_str! and parsed
lazily into flat HashMaps with English fallback for missing keys.

- Add src/i18n module with Locale enum, t()/tw() lookup functions, and tests
- Add JSON translation files for all 5 locales under assets/i18n/
- Provide locale Signal via Dioxus context in App, persisted to localStorage
- Replace all hardcoded UI strings across 33 component/page files
- Add compact locale picker (globe icon + ISO alpha-2 code) in sidebar header
- Add click-outside backdrop dismissal for locale dropdown

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
sharang added 1 commit 2026-02-22 16:17:36 +00:00
build: add sccache for faster local and CI builds
Some checks failed
CI / Format (push) Successful in 4s
CI / Clippy (push) Failing after 40s
CI / Security Audit (push) Has been skipped
CI / Tests (push) Has been skipped
CI / Format (pull_request) Successful in 3s
CI / Clippy (pull_request) Failing after 4s
CI / Security Audit (pull_request) Has been skipped
CI / Tests (pull_request) Has been skipped
CI / Deploy (push) Has been skipped
CI / Deploy (pull_request) Has been skipped
456976c494
- Add .cargo/config.toml with rustc-wrapper = sccache for local caching
- Install sccache in CI clippy/test jobs via prebuilt musl binary
- Add actions/cache to persist sccache dir across CI runs (keyed by Cargo.lock)
- Add BuildKit cache mounts in Dockerfile for sccache across Docker builds
- Disable sccache for fmt/audit jobs where it adds no value

Local clean-rebuild speedup: 1m58s -> 34s (3.4x) with warm cache.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
sharang added 1 commit 2026-02-22 16:25:33 +00:00
feat(ui): add responsive mobile layout with hamburger menu
Some checks failed
CI / Format (push) Failing after 3s
CI / Clippy (push) Failing after 4s
CI / Security Audit (push) Has been skipped
CI / Tests (push) Has been skipped
CI / Format (pull_request) Failing after 3s
CI / Clippy (pull_request) Failing after 4s
CI / Security Audit (pull_request) Has been skipped
CI / Tests (pull_request) Has been skipped
CI / Deploy (push) Has been skipped
CI / Deploy (pull_request) Has been skipped
c12ca950e1
Add three responsive breakpoints (1024px, 768px, 480px) to make the
dashboard fully usable on tablets and phones. The sidebar now slides
in as an overlay on mobile with a hamburger toggle in a fixed header bar.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
sharang added 1 commit 2026-02-22 16:29:53 +00:00
style: apply cargo fmt to sidebar component
Some checks failed
CI / Format (push) Successful in 3s
CI / Clippy (push) Failing after 4s
CI / Security Audit (push) Has been skipped
CI / Tests (push) Has been skipped
CI / Format (pull_request) Successful in 3s
CI / Clippy (pull_request) Failing after 4s
CI / Security Audit (pull_request) Has been skipped
CI / Tests (pull_request) Has been skipped
CI / Deploy (push) Has been skipped
CI / Deploy (pull_request) Has been skipped
3d0fd3469b
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
sharang added 1 commit 2026-02-22 16:39:32 +00:00
fix(ci): remove actions/cache steps that require Node.js
All checks were successful
CI / Format (push) Successful in 3s
CI / Clippy (pull_request) Successful in 3m7s
CI / Clippy (push) Successful in 3m12s
CI / Security Audit (push) Has been skipped
CI / Tests (push) Has been skipped
CI / Format (pull_request) Successful in 2s
CI / Security Audit (pull_request) Has been skipped
CI / Tests (pull_request) Has been skipped
CI / Deploy (push) Has been skipped
CI / Deploy (pull_request) Has been skipped
59bcb1204b
The rust:1.89-bookworm container does not include Node.js, causing
actions/cache@v4 to fail with "exec: node: not found". Removed all
cache action steps. sccache still provides intra-job deduplication
when compiling both --features server and --features web.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
sharang merged commit d814e22f9d into main 2026-02-22 16:48:52 +00:00
sharang deleted branch feat/i18n 2026-02-22 16:48:52 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sharang/certifai#12