Skip to content

MeghanBao/Kaeru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

512 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐸 Kaeru — 日本語イマーシブリーダー

かえる · Read Japanese anywhere on the web.
Furigana · AI explanations · Sentence mining · Immersive translation

License: MIT Built with WXT


What is Kaeru?

Kaeru is a browser extension that turns any Japanese webpage into an interactive reading experience. Whether you're at N5 or pushing toward N1, Kaeru layers learning tools directly onto the page — so you can read real Japanese content from day one.

The name かえる (kaeru) means frog, but also to change (変える) and to return home (帰る). The idea: change how you read, and Japanese starts to feel like home.

Built on top of Read Frog, extended specifically for Japanese learners.


Features

🔤 Furigana Injection

Automatically adds reading aids (振り仮名) above kanji across the entire page. Three display modes:

  • All — show furigana on every kanji word
  • Unknown only — show furigana only on words not in your vocab list (coming soon)
  • Off — clean reading mode

🃏 Word Cards

Click or hover any word to see:

  • Reading (平仮名)
  • Base form (辞書形)
  • Part of speech
  • JLPT level (N5–N1)
  • AI-generated explanation in context
  • Example sentences

📖 Immersive Translation

Full-page bilingual view with Japanese original and your target language side by side. Powered by 20+ AI providers — bring your own API key or use free translation services.

⛏️ Sentence Mining

Save any sentence to your personal library with one click. Each entry stores:

  • Original Japanese sentence
  • Translation
  • Source URL
  • Timestamp

Export to CSV (Anki-compatible format) anytime.


Getting Started

Install from Source

git clone https://github.com/MeghanBao/Kaeru.git
cd kaeru
pnpm install
pnpm dev

Then in Chrome:

  1. Go to chrome://extensions
  2. Enable Developer mode
  3. Click Load unpacked
  4. Select .output/chrome-mv3-dev

Build for Production

pnpm build

Output is in .output/chrome-mv3/.


Supported AI Providers

Kaeru inherits Read Frog's provider system. Bring your own key for any of these:

OpenAI · Anthropic · DeepSeek · Google Gemini · Ollama · Mistral · and more

Free options (no key required): Google Translate · Microsoft Translate


Project Structure

kaeru/
├── src/
│   ├── components/            # React UI components
│   │   ├── JapaneseWordCard.tsx    # Word card popup
│   │   └── SentenceLibrary.tsx     # Mined sentences viewer
│   ├── entrypoints/           # WXT entry points
│   │   ├── background/        # Service worker
│   │   │   └── kaeru-handler.ts    # Tokenization & lookup handler
│   │   ├── furigana.content/  # Furigana injection content script
│   │   ├── popup/             # Extension popup
│   │   └── options/           # Settings page
│   ├── services/              # Core services
│   │   ├── japanese-analyzer.ts    # kuromoji.js wrapper
│   │   ├── jmdict-service.ts      # Dictionary lookups + JLPT
│   │   └── sentence-mining-service.ts  # Sentence saving + CSV export
│   ├── types/                 # TypeScript definitions
│   │   └── japanese.ts        # Japanese-specific types
│   ├── locales/               # i18n translations
│   └── utils/                 # Shared utilities
├── public/
│   └── kuromoji-dict/         # kuromoji dictionary files
├── docs/                      # Documentation
│   ├── architecture.md
│   └── setup-guide.md
├── wxt.config.ts              # WXT extension config
└── package.json

Roadmap

  • Fork Read Frog, project setup
  • kuromoji.js integration (morphological analysis)
  • Furigana injection (all kanji mode)
  • Japanese-specific word card UI
  • JLPT level tagging via JMdict
  • Sentence mining + CSV export
  • Unknown-word-only furigana mode
  • Pitch accent display
  • Chrome Web Store release

Tech Stack

Layer Technology
Extension framework WXT (Manifest V3)
UI React + Shadow DOM
AI providers Vercel AI SDK
Morphological analysis kuromoji.js
Dictionary JMdict (EDRDG)
Local storage Dexie (IndexedDB)
Language TypeScript

Contributing

This project is in early development. Issues and PRs are welcome.

# Run in dev mode
pnpm dev

# Type check
pnpm type-check

# Lint
pnpm lint

Credits

  • Read Frog — the foundation this project is built on
  • kuromoji.js — Japanese morphological analyzer
  • JMdict — Japanese dictionary data (EDRDG)
  • WXT — browser extension framework

License

MIT © 2025 · Based on Read Frog (GPL-3.0)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages