Skip to content

feat: add multilingual (English/Hindi) support with real language swi… - #146

Open
Ritwij07 wants to merge 1 commit into
vicharanashala:mainfrom
Ritwij07:feat/multilingual-i18n-hindi
Open

feat: add multilingual (English/Hindi) support with real language swi…#146
Ritwij07 wants to merge 1 commit into
vicharanashala:mainfrom
Ritwij07:feat/multilingual-i18n-hindi

Conversation

@Ritwij07

@Ritwij07 Ritwij07 commented Aug 1, 2026

Copy link
Copy Markdown

…tcher

  • Add i18n scaffolding: LanguageContext (React context + t() hook, persists choice to localStorage) and a typed translations dictionary (translations.ts) covering portal branding, landing page hero/stats/vision copy, and the full login form.
  • Add LanguageSwitcher component: a real dropdown that actually switches language, replacing the decorative English/Hindi on the landing page's top strip that previously just called alert('हिन्दी भाषा में बदलें') and changed nothing. Wire the switcher into LandingView, LoginView, and the dashboard Layout topbar (visible on every authenticated page too). Fully compatible with the current dark-mode theming — all new UI respects dark: variants already used across the app. Adding a new language going forward only requires one entry in SUPPORTED_LANGUAGES plus one dictionary block in translations.ts. Scope note: dashboard sidebar navigation items (Students, Worksheets, Reports, etc.) are intentionally left in English for this PR to keep the diff reviewable — the i18n plumbing is fully reusable for a follow-up PR to extend coverage there.

…tcher

- Add i18n scaffolding: LanguageContext (React context + t() hook,
  persists choice to localStorage) and a typed translations
  dictionary (translations.ts) covering portal branding, landing
  page hero/stats/vision copy, and the full login form.
- Add LanguageSwitcher component: a real dropdown that actually
  switches language, replacing the decorative English/Hindi <select>
  on the landing page's top strip that previously just called
  alert('हिन्दी भाषा में बदलें') and changed nothing.
- Wire the switcher into LandingView, LoginView, and the dashboard
  Layout topbar (visible on every authenticated page too).
- Fully compatible with the current dark-mode theming — all new
  UI respects dark: variants already used across the app.
- Adding a new language going forward only requires one entry in
  SUPPORTED_LANGUAGES plus one dictionary block in translations.ts.

Scope note: dashboard sidebar navigation items (Students, Worksheets,
Reports, etc.) are intentionally left in English for this PR to keep
the diff reviewable — the i18n plumbing is fully reusable for a
follow-up PR to extend coverage there.
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