LanguageForge

AnkiWeb addon 1724345320

Tracks language practice across reading, listening, speaking, and writing with daily logs, monthly goals, resources, radar charts, and multi-language profiles, storing all data locally.
AI-generated summary; may contain mistakes.

statisticsprogress-trackingappearance

Open on AnkiWeb GitHub Ask about alternatives

AnkiWeb

Rating
1 (πŸ‘ 1 Β· πŸ‘Ž 0)
Updated
2025-11-20
Anki versions
23.10~
Description language
en

Maintenance

stale

  • Last update or commit was 314 days before the snapshot (2025-11-21).

Will it work on my Anki?

Version branches
Min AnkiMax AnkiUpdated
23.10+2025-11-20
History across monthly snapshots

Loading…

Similar addons

Level System

Adds XP, levels, streaks, combos, badges, achievements, HUD stats, and activity charts to Anki, with configurable goals, notifications, and display options.

statisticsprogress-trackinggamification

Rating 0 πŸ‘ 0 Β· πŸ‘Ž 0 ⭐ 0 Anki 26.08.1~ Updated 2026-09-08
LangU

Scrapes NHK news from a WeChat account to auto-create language-learning flashcards, aiming to train listening, speaking, reading, and writing, with planned dictionary and dictation features.

card-creationimportdictionarybeta

Rating 0 πŸ‘ 0 Β· πŸ‘Ž 0 ⭐ 0 Anki 2.1.53~ Updated 2022-07-01
Anki Accountability 2

Tracks and reports daily deck completion for instructors by adding a user-configured log to the stats image, including name and email, saveable and emailable.

exportstatisticsprogress-tracking

Rating 3 πŸ‘ 2 Β· πŸ‘Ž 1 Updated 2019-11-13

README

LanguageForge

Version 1.0.0 | A comprehensive language learning management system for Anki

License: MIT (Modified)


πŸ“₯ Install from AnkiWeb

Add-on code: [Will be added after AnkiWeb approval]
AnkiWeb URL: [Will be added after AnkiWeb approval]

Or install manually from source (see Installation below).


🎯 What is LanguageForge?

LanguageForge is a complete language learning management system integrated into Anki. It helps you:

  • πŸ“Š Track daily practice across four core skills (Reading, Listening, Speaking, Writing)
  • 🎯 Set and achieve monthly goals with detailed subtasks and reflections
  • πŸ“š Organize learning resources (books, videos, podcasts, courses)
  • 🎭 Visualize skill balance with interactive radar charts
  • 🌍 Manage multiple languages with separate profiles for complete data isolation
  • 🎨 Customize appearance with themes that match Anki's light/dark modes

Perfect for serious language learners who want a centralized system to track their progress beyond just flashcard reviews.


✨ Key Features

πŸ“Š Dashboard – Command Center

Your overview hub showing:

  • Fluency Snapshot: Interactive radar chart (1-5 scale) with balance index and trend arrows
  • This Week's Activity: 4Γ—7 grid for quick daily skill tracking
  • Daily Plan Tasks: 4 inline editable tasks for daily planning
  • Monthly Goals Preview: Quick view of 3 current goals with completion toggles
  • Learning Resources: Preview of 5 recent resources with quick "Open" buttons

πŸ“ˆ Daily Tracker

  • Monthly calendar view with all four skills displayed per day
  • Visual completion circles (click to toggle)
  • Statistics: Active days, longest streak, per-skill percentages
  • Month/year navigation for historical data
  • Real-time consistency tracking

🎯 Monthly Goals

  • 3 goal slots per month for focused objective setting
  • Rich goal structure: Title, category, unlimited subtasks, reflections, timestamps
  • Visual completion tracking with auto-save
  • Archive system for past months (view-only)
  • Categories: General, Vocabulary, Grammar, Reading, Listening, Speaking, Writing

πŸ“š Learning Resources Library

  • Centralized database for all learning materials
  • Fields: Title, Type, URL, Status, Notes
  • Types: Book, Video, Podcast, Course, Website, App, Other
  • Statuses: Not Started, In Progress, Completed, Reference
  • Real-time search and filtering
  • One-click URL opening for online resources

🎭 Fluency Snapshot (Radar Chart)

  • Self-assessment tool for overall language proficiency (1-5 scale per skill)
  • Interactive: Drag axes to adjust values
  • Ghost polygon shows previous month for comparison
  • Trend arrows: ↑ improved, ↓ declined, = stable
  • Balance Index (0-100%): Measures skill distribution evenness
  • Monthly snapshots with full history

🌍 Multi-Profile System

  • Create unlimited profiles (capped at 50 for safety) for different languages
  • Complete data isolation: Each profile has separate goals, tracker, resources, radar, daily plans
  • Global settings: Theme and font size shared across profiles
  • Easy switching: Dropdown selector in main window
  • Profile management: Create, rename, delete profiles with safety checks
  • Automatic: Remembers last active profile on startup

βš™οΈ Settings & Customization

  • Themes: Anki Auto (recommended), Light, Dark, Fluency Light/Dark
  • Font Size: Adjustable from 8pt to 24pt (default: 11pt)
  • Startup Behavior: Option to open LanguageForge automatically
  • Profile Management: Full UI for managing language profiles

πŸ“¦ Installation

From AnkiWeb (Recommended)

  1. Open Anki
  2. Go to Tools β†’ Add-ons β†’ Get Add-ons...
  3. Enter add-on code: [TBD]
  4. Click OK and restart Anki

From Source (Manual)

  1. Download or clone this repository
  2. Copy the languageforge folder to your Anki add-ons directory:
    • Windows: %APPDATA%\Anki2\addons21\languageforge
    • macOS: ~/Library/Application Support/Anki2/addons21/languageforge
    • Linux: ~/.local/share/Anki2/addons21/languageforge
  3. Restart Anki
  4. Open via Tools β†’ LanguageForge – Language System

πŸš€ Quick Start

  1. First Launch: LanguageForge opens with a "Default" profile automatically created
  2. Dashboard: Get an overview of all features
  3. Set Goals: Go to Goals tab and create your first monthly goal
  4. Track Daily: Use Dashboard or Tracker tab to mark daily practice
  5. Add Resources: Build your learning materials library in Resources tab
  6. Assess Skills: Update your radar chart monthly to track progress
  7. Multiple Languages? Create new profiles in Settings β†’ Profile Management

πŸ“– For detailed instructions, see USER_MANUAL.md


πŸ’Ύ Data Storage & Privacy

LanguageForge stores all data locally on your machine in JSON files:

languageforge/
  user_data/
    profiles.json          # Profile registry + active profile
    settings.json          # Global settings (theme, font size)
    profiles/
      default/
        goals_v2.json      # Monthly goals
        tracker.json       # Daily activity data
        resources.json     # Learning resources
        radar.json         # Skill snapshots
        dailyplan.json     # Daily plan tasks
      spanish/             # Example profile
        [same structure]

Privacy Notes

  • βœ… 100% Local: No data is sent to external servers
  • βœ… Machine-specific: Data stays on your device
  • βœ… Git-safe: user_data/ is in .gitignore
  • βœ… Backup-friendly: Simply copy the user_data/ folder

Backup Recommendations

  1. Close Anki
  2. Copy entire user_data/ folder to safe location
  3. Restore by replacing the folder when needed

πŸ› οΈ Development

Requirements

  • Anki 23.10+ (Qt6-based versions)
  • Python 3.9+ (bundled with Anki)
  • PyQt6 (bundled with Anki)

Project Structure

languageforge/
  β”œβ”€β”€ __init__.py              # Add-on entry point
  β”œβ”€β”€ main.py                  # Initialization and Anki integration
  β”œβ”€β”€ manifest.json            # Add-on metadata
  β”œβ”€β”€ gui/
  β”‚   β”œβ”€β”€ main_window.py       # Main dockable window and tab management
  β”‚   β”œβ”€β”€ dashboard_view.py    # Dashboard with all feature previews
  β”‚   β”œβ”€β”€ tracker_view.py      # Monthly calendar tracker
  β”‚   β”œβ”€β”€ goals_view.py        # Monthly goals with subtasks
  β”‚   β”œβ”€β”€ resources_view.py    # Learning resources library
  β”‚   β”œβ”€β”€ radar_view.py        # Radar chart and balance index
  β”‚   β”œβ”€β”€ settings_view.py     # Settings and profile management
  β”‚   └── widgets.py           # Shared UI components (CircleIndicator, etc.)
  β”œβ”€β”€ core/
  β”‚   β”œβ”€β”€ storage.py           # JSON file I/O and data directory management
  β”‚   β”œβ”€β”€ logic_profiles.py    # Multi-profile system logic
  β”‚   β”œβ”€β”€ logic_goals.py       # Goals data logic
  β”‚   β”œβ”€β”€ logic_tracker.py     # Tracker data logic
  β”‚   β”œβ”€β”€ logic_resources.py   # Resources data logic
  β”‚   β”œβ”€β”€ logic_radar.py       # Radar snapshot logic
  β”‚   β”œβ”€β”€ logic_dailyplan.py   # Daily plan logic
  β”‚   β”œβ”€β”€ logic_settings.py    # Settings logic
  β”‚   β”œβ”€β”€ themes.py            # Theme colors and styling
  β”‚   └── models.py            # Data models (dataclasses)
  └── user_data/               # User data (gitignored)
      β”œβ”€β”€ profiles.json
      β”œβ”€β”€ settings.json
      └── profiles/
          └── [profile_id]/

Running From Source

  1. Clone this repository
  2. Copy or symlink the languageforge folder to your Anki addons21 directory:
    • Windows: %APPDATA%\Anki2\addons21\
    • macOS: ~/Library/Application Support/Anki2/addons21/
    • Linux: ~/.local/share/Anki2/addons21/
  3. Restart Anki
  4. Access via Tools β†’ LanguageForge – Language System
  5. Check logs: Tools β†’ Add-ons β†’ View Files (see console output)

Contributing

Contributions are welcome! Please:

  • Follow existing code style (type hints, docstrings)
  • Keep UI consistent with current design language
  • Test with multiple profiles to ensure data isolation
  • Update documentation if adding new features

Areas for Contribution:

  • Translations/localization
  • Additional theme options
  • Export/import functionality
  • Statistics visualizations
  • Bug fixes and performance improvements

πŸ“š Documentation


πŸ› Troubleshooting

Common Issues

Add-on won't load:

  • Check Anki version (23.10+ required)
  • Ensure folder name is exactly languageforge
  • Check Anki console for error messages

Data not saving:

  • Verify user_data/ folder has write permissions
  • Check available disk space
  • Ensure no other process is locking files

Profile switching not working:

  • Restart Anki to refresh profile system
  • Verify profiles.json exists in user_data/
  • Check that profile folders exist under user_data/profiles/

For more help, see the Troubleshooting section in USER_MANUAL.md


πŸ“ License

MIT License (Modified for Non-Commercial Use)

You may use, modify, and distribute this software freely for non-commercial purposes.
Commercial use requires obtaining a separate commercial license.

See the full LICENSE file for details.


πŸ™ Acknowledgments

Built with:

  • Anki - The powerful spaced repetition system
  • Qt6/PyQt6 - Cross-platform UI framework
  • Python - The language that powers it all

Special thanks to the Anki community and all language learners using this add-on!


πŸ“¬ Contact & Support


Happy language learning! πŸŒπŸ“š


Version 1.0.0 | November 2025 | Made with ❀️ for language learners