Skip to content

Add Multi-Language Support for Practice Tests #344

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
17 tasks
FidelusAleksander opened this issue May 29, 2025 · 0 comments · May be fixed by #345
Open
17 tasks

Add Multi-Language Support for Practice Tests #344

FidelusAleksander opened this issue May 29, 2025 · 0 comments · May be fixed by #345
Assignees
Labels

Comments

@FidelusAleksander
Copy link
Owner

Feature Request: Multi-Language Support

Overview

Implement multi-language support for the GitHub Certified practice tests to serve users worldwide in their native languages.

Current State

  • 498+ practice test questions across 5 GitHub certification areas
  • Currently English-only (isMultilingual = false)
  • Questions stored in content/questions/{exam-type}/question-*.md format
  • Uses Hugo static site generator with Relearn theme

Proposed Implementation

Technical Approach

  • Use Hugo's "Translation by Content Directory" approach
  • Restructure content into language-specific directories
  • Update Hugo configuration for multilingual support
  • Modify templates to handle language switching

Content Structure Changes

content/
├── en/           # English (existing content)
│   ├── practice_tests/
│   └── questions/
├── es/           # Spanish 
│   ├── practice_tests/
│   └── questions/
└── [other-lang]/ # Additional languages

Configuration Updates Required

  • Enable isMultilingual = true in Hugo config
  • Add language definitions in hugo.toml
  • Update content directory paths
  • Configure language-specific URLs

Template Modifications

  • Update layouts/shortcodes/practice_test.html for language-aware filtering
  • Add language switcher to navigation
  • Ensure Quizdown.js uses correct locale

Implementation Plan

  1. Phase 1: Infrastructure Setup

    • Update Hugo multilingual configuration
    • Restructure content directories (move existing to /en/)
    • Update templates for language support
    • Test basic multilingual functionality
  2. Phase 2: Template Updates

    • Modify practice test shortcodes
    • Add language switcher to layouts
    • Update navigation and menus
    • Configure Quizdown.js localization
  3. Phase 3: Content Migration

    • Move existing English content to content/en/
    • Verify all links and references work
    • Test practice tests functionality
    • Validate URL structure

Success Criteria

  • Website works in multiple languages
  • Practice tests function correctly in all languages
  • URL structure follows best practices (/en/, /es/, etc.)
  • Language switching works seamlessly
  • All existing functionality is preserved

Future Considerations

  • Translation workflow for adding new languages
  • Community contribution system for translations
  • Content validation and consistency checks
  • SEO optimization for multilingual content

Technical Notes

  • Maintain backward compatibility during migration
  • Ensure question IDs remain consistent across languages
  • Keep exam parameter structure intact for filtering
  • Test with existing 498+ questions to ensure no data loss
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant