Contribute

Help improve the project or build decks in your language

❀ ❀ ❀

🤝 How to Contribute

There are several ways you can help improve this project:

🐛 Reporting Issues

If you find a bug or have a suggestion:

  1. Check if the issue already exists on the Issues page
  2. If not, create a new issue with:
    • Clear description of the problem
    • Steps to reproduce (if applicable)
    • Expected vs actual behavior
    • Any relevant error messages
Create Issue View Issues

💻 Contributing Code

Want to improve the generator? Here's how:

Prerequisites

Setup

# Clone the repository
git clone https://github.com/vitalii-bekshnev/jlpt-anki-decks.git
cd jlpt_anki

# Install dependencies (if any)
pip install -r requirements.txt  # if available

Making Changes

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Make your changes
  4. Test by generating decks locally
  5. Submit a pull request

Project Structure

jlpt_anki/
├── scripts/
│   ├── create_kanji_decks.py      # Kanji deck generator
│   ├── create_vocab_decks.py      # Vocabulary deck generator
│   ├── create_tiered_decks.py     # Tiered/frequency-based decks
│   └── jmdict_utils.py            # Shared utilities
├── .github/workflows/
│   └── build-and-release.yml      # Automated release workflow
└── decks/                         # Generated decks (output)
Fork Repository View Pull Requests

🌍 Generate Decks in Other Languages

The generator supports multiple languages! Here's how to build decks in your language:

Step 1: Download Dictionary Files

Get the JSON files for your language from jmdict-simplified releases:

Step 2: Generate Kanji Decks

python scripts/create_kanji_decks.py \
  -i path/to/kanjidic2-[lang].json \
  -o output_directory/

Step 3: Generate Vocabulary Decks

python scripts/create_vocab_decks.py \
  --jmdict path/to/jmdict-[lang].json \
  --jmdict-examples path/to/jmdict-examples-[lang].json \
  --kanjidic path/to/kanjidic2-[lang].json \
  -o output_directory/ \
  --examples

Step 4: Generate Tiered Decks

python scripts/create_tiered_decks.py \
  --jmdict path/to/jmdict-[lang].json \
  --jmdict-examples path/to/jmdict-examples-[lang].json \
  --kanjidic path/to/kanjidic2-[lang].json \
  -o tiered_output/

Available Languages

Supported language codes (check jmdict-simplified for availability):

Get Dictionary Files

📋 Code Guidelines

🙏 Thank You!

Every contribution helps make this project better for Japanese learners around the world. Whether you're reporting a bug, suggesting a feature, or contributing code, your help is greatly appreciated!

❀ ❀ ❀