Skip to content

test: i18n (en/es) & Mobile Responsiveness across all major routes #301

Description

@guillermoscript

Scope

Verify that all major routes work correctly in both en and es locales, and that the UI is usable on mobile viewports (375px, 768px).

Personas

All personas — each test should be done in both locales.

i18n Test Cases

Locale Switching

  • /en/ prefix routes work: all dashboard pages, public pages, auth pages
  • /es/ prefix routes work: all dashboard pages, public pages, auth pages
  • Locale cookie/header persists across navigation
  • Date formatting respects locale (Spanish: "ene./feb./mar."; English: "Jan/Feb/Mar")
  • Number formatting correct (scores, prices)

Missing Translation Keys (regression check)

  • No [key] or raw key strings visible in UI on any page
  • Transaction status badges: pending, successful, failed, archived, canceled, refunded — all have Spanish translations
  • Gamification: components.gamification namespace used (not gamification)
  • Lesson navigation: components.lessonNavigation namespace used

Critical Pages — Spanish Spot-Check

Run through these in /es/ and confirm no untranslated strings:

  • /es/dashboard/student — student dashboard
  • /es/dashboard/student/courses/[id] — course view
  • /es/dashboard/student/progress — progress page
  • /es/dashboard/admin — admin dashboard
  • /es/dashboard/admin/billing — billing page
  • /es/dashboard/teacher/courses/[id] — course editor
  • /es/ (school subdomain) — school landing page
  • /es/platform-pricing — platform pricing

RTL / Special Character Safety

  • Spanish text with accented characters (é, á, ñ, ü) renders correctly
  • No text truncation breaking Spanish long strings in nav items or badges

Mobile Responsiveness Test Cases

Test at 375px (iPhone SE), 390px (iPhone 14), 768px (iPad).

Navigation

  • Mobile sidebar/hamburger menu opens and closes
  • All nav items accessible on mobile
  • No overflow-x on any page

Student Dashboard (375px)

  • Enrolled course cards stack vertically
  • Progress bars visible and correct width
  • Lesson list scrolls without cutting off content

Course View (375px)

  • Video player fills width, no overflow
  • Lesson navigation (prev/next) usable with thumbs
  • Exercise input area (textarea/microphone) accessible

Admin Dashboard (768px)

  • Tables have horizontal scroll, not cut off
  • Cards reflow to 1-column on narrow viewport
  • Modal/sheet dialogs don't overflow viewport

Landing Pages (375px)

  • Hero block text readable (no overflow)
  • Course grid → single column
  • CTA buttons full-width

Forms (375px)

  • Login, sign-up, create-school forms usable on mobile
  • Input fields at least 16px font-size (prevent iOS zoom)
  • Submit buttons reachable

Definition of Done

  • Zero untranslated key strings visible in either locale on tested pages
  • All tested pages scroll and interact without horizontal overflow on 375px
  • No layout breakage at 768px
  • Date/number formatting correct per locale

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions