Polyglot Pathways is an innovative, interactive web application designed to facilitate comprehensive language learning across five languages: English, Spanish, Portuguese, French, and German. The platform offers a structured 50-day program that combines cutting-edge web technologies with sophisticated internationalization techniques.
graph TD
subgraph User Interface
A[index.html] -->|Navigate| B[day.html]
B -->|Initialize| C[script.js]
end
subgraph Core Logic
C -->|Load i18n| D[day-i18n.js]
D -->|Configure| E[i18n.js]
C -->|Manage State| F[localStorage]
end
subgraph Resources
E -->|Load| G[translations/]
C -->|Stream| H[audio_files/]
F -->|Cache| G
F -->|Cache| H
end
subgraph User Interactions
U[User] -->|Select Day| A
U -->|Choose Language| D
U -->|Play Audio| C
U -->|Track Progress| F
end
style A fill:#f9f,stroke:#333,stroke-width:2px
style B fill:#f9f,stroke:#333,stroke-width:2px
style C fill:#bbf,stroke:#333,stroke-width:2px
style D fill:#bbf,stroke:#333,stroke-width:2px
style E fill:#bbf,stroke:#333,stroke-width:2px
style F fill:#bfb,stroke:#333,stroke-width:2px
style G fill:#fbb,stroke:#333,stroke-width:2px
style H fill:#fbb,stroke:#333,stroke-width:2px
classDef userNode fill:#fcf,stroke:#333,stroke-width:2px
class U userNode
polyglot-pathways/
│
├── index.html # Main dashboard with language progress tracking
├── day.html # Daily lesson interface
│
├── js/ # JavaScript modules
│ ├── i18n.js # Internationalization core
│ ├── day-i18n.js # Day-specific internationalization
│ ├── language-selector.js # Dynamic language switching
│ └── script.js # Core application logic
│
├── css/ # Stylesheets
│
├── audio_files/ # Multilingual audio content
│ └── day*_*.mp3 # Audio files for each day and language
│
├── text_files/ # Text transcripts
│
├── translations/ # Language resource files
│
└── language_phrases_days_*.py # Content generation scripts
- Modern HTML5 and CSS
- Vanilla JavaScript with modular architecture
- Responsive, mobile-friendly design
- Client-side rendering
- localStorage for state management
- Dynamic multilingual support
- Seamless language switching
- Comprehensive translation management
- Support for 5 languages:
- 🇬🇧 English
- 🇪🇸 Spanish
- 🇧🇷 Portuguese
- 🇫🇷 French
- 🇩🇪 German
stateDiagram-v2
[*] --> English
English --> ContentLoading
Spanish --> ContentLoading
Portuguese --> ContentLoading
French --> ContentLoading
German --> ContentLoading
ContentLoading --> UpdateUI
UpdateUI --> SaveState
SaveState --> [*]
state ContentLoading {
[*] --> LoadTranslations
LoadTranslations --> LoadAudio
LoadAudio --> [*]
}
- Structured 50-day learning curriculum
- Progressive learning path
- Interactive lesson interfaces
- Multimedia learning approach (text + audio)
- Python-based content generation scripts
- Systematic content organization
- Scalable content management
- Multilingual audio file management
- Text-to-speech integration
- Cross-language audio content
flowchart TD
A[Start Learning Journey] --> B[Days 1-7]
B --> C[Days 8-15]
C --> D[Days 16-26]
D --> E[Days 27-31]
E --> F[Days 32-50]
B --- B1[Basic Vocabulary]
B --- B2[30min/day]
B --- B3[Core Grammar]
C --- C1[Advanced Communication]
C --- C2[45min/day]
C --- C3[Cultural Context]
D --- D1[Global Living]
D --- D2[60min/day]
D --- D3[Professional Skills]
E --- E1[Tech Professional]
E --- E2[60min/day]
E --- E3[Industry Terms]
F --- F1[Advanced Professional]
F --- F2[90min/day]
F --- F3[Business Fluency]
style B fill:#e6f3ff
style C fill:#e6f3ff
style D fill:#e6f3ff
style E fill:#e6f3ff
style F fill:#e6f3ff
classDef timeNode fill:#f9f,stroke:#333
class B2,C2,D2,E2,F2 timeNode
-
Basic Vocabulary (Days 1-7)
- Fundamental communication skills
- Core grammar and phrases
-
Advanced Communication (Days 8-15)
- Professional and cultural expressions
- Complex conversation techniques
-
Global Living (Days 16-26)
- Professional and daily life vocabulary
- Cross-cultural communication skills
-
Tech Professional Content (Days 27-31)
- Industry-specific terminology
- Digital communication skills
-
Advanced Professional Skills (Days 32-50)
- Academic and business communication
- Complex negotiation techniques
- Modern web browser
- JavaScript enabled
- No additional server setup required
# No installation required
# Simply open index.html in a web browsersequenceDiagram
participant U as User
participant P as Page
participant A as Audio
participant S as Storage
participant C as Cache
rect rgb(240, 240, 255)
Note over U,C: Initial Load Phase
U->>P: Select Day
P->>S: Check Connection
alt Online Mode
S-->>P: Load Progress
else Offline Mode
S->>C: Fetch Cached Data
C-->>P: Return Cached Progress
end
end
rect rgb(255, 240, 240)
Note over P,A: Resource Loading Phase
par Translations and Audio
P->>P: Load Translations
alt Translation Error
P-->>U: Use Default Language
Note over P,U: Fallback to English
end
P->>A: Load Audio Files
alt Audio Load Failed
A-->>P: Error Loading Audio
P-->>U: Enable Text-Only Mode
end
end
end
rect rgb(240, 255, 240)
Note over U,P: Interaction Phase
U->>P: Select Language
P->>P: Update Interface
U->>A: Play Audio
alt Playback Error
A-->>U: Show Retry Button
U->>A: Retry Playback
end
end
rect rgb(255, 255, 240)
Note over P,S: Progress Saving Phase
U->>P: Complete Lesson
P->>S: Save Progress
alt Save Failed
S->>C: Save to Cache
Note over S,C: Sync when online
end
P->>A: Preload Next Lesson
end
Note over U,C: Progress persists across sessions
Note over U,C: Offline-first architecture
- Interactive web interface
- Progress tracking
- Multilingual content
- Audio playback
- Copy-to-clipboard functionality
- Responsive design
- localStorage-based session persistence
- Communicate with ~2 billion people
- Access to international job markets
- Enhanced cross-cultural communication skills
This project is licensed under the MIT License - see the LICENSE file for details.
We welcome contributions! Please see our Contributing Guidelines for details on:
- Reporting bugs
- Suggesting enhancements
- Code contributions
- Documentation improvements
- Translation contributions
- Pull request process
All contributors must adhere to our Code of Conduct.
This repository is maintained by Donnivis Baker. For questions or feedback, please open an issue or reach out directly.