Skip to content

Latest commit

 

History

564 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Canto Toolbox

Read Chinese on the web without leaving the page. Hover any word for Mandarin and Cantonese definitions, then review what you looked up with spaced repetition — so reading doubles as study.

Note: This project is an experiment in using Claude Code as an AI-assisted development environment.

Features

Hover popup showing word definition
Hover to look up: Mandarin and Cantonese side by side, with audio, frequency and a breakdown of each character
Statistics page
Track what you read: every word you've met, with its sentences, what's due and your progress
Flashcard review page
Review with flashcards: words you keep meeting come back on a spaced-repetition schedule
Dark mode
Dark mode: follows your system theme

Also:

  • Read images and video: turn the Chinese in a picture or paused frame into hoverable text
  • Spot unknown words: optionally underline what you haven't learned, with a page score like "82% known"
  • Offline and private: no accounts or API calls; progress syncs across Chrome and exports to Anki or Pleco

Installation

Install from the Chrome Web Store.

To install a specific release instead, download its zip from Releases, unzip it, then load the dist/ folder with Load unpacked at chrome://extensions/ (with Developer mode on).

Usage

  1. Read: hover a word, or drag-select a phrase. Hold Shift to keep the popup while you move onto it. For images and paused video, click the badge in the corner.
  2. Track: press + Study to add a word to your deck, or Known to skip it. The extension icon opens your word list.
  3. Review: rate each flashcard Again, Hard, Good or Easy; FSRS schedules the next review.
  4. Adjust: the gear on the word list opens settings for scripts, readings, session size and unknown-word marks.

Building from Source

Prerequisites

  • Node.js >= 22 and pnpm >= 8 — or, with Nix and direnv, run direnv allow in the repo for the pinned versions
  • Git, for the dictionary submodules

Build Steps

git clone --recurse-submodules https://github.com/VWongDev/canto-toolbox.git
cd canto-toolbox
pnpm install
pnpm build

If you cloned without submodules, run git submodule update --init --recursive first.

pnpm build processes the dictionaries, downloads the OCR model (network access needed the first time) and writes the unpacked extension (~80 MB) to dist/. Load it as in Installation. pnpm clean removes the build output.

Data and Licences

Data Source Licence
Mandarin dictionary CC-CEDICT, via edvardsr/cc-cedict MIT
Cantonese dictionary CC-Canto, via amadeusine/cc-canto-data — CC-Canto and CC-CEDICT Cantonese readings are copyright (c) 2015-16 Pleco Software Incorporated CC BY-SA 3.0
Character etymology Make Me a Hanzi LGPL-3.0 (COPYING)
Stroke order Make Me a Hanzi graphics.txt, derived from the Arphic PL KaitiM GB and UKai fonts; drawn by hanzi-writer (MIT) Arphic Public License, packaged at strokes/ARPHICPL.TXT
Word frequency SUBTLEX-CH — Cai, Q., & Brysbaert, M. (2010). PLoS ONE, 5(6), e10729, via chinese-lexicon ISC
Image text recognition PaddleOCR PP-OCRv6 tiny, via snowfluke/ppu-paddle-ocr-models; run by ppu-paddle-ocr and onnxruntime-web (both MIT) Apache 2.0

Inspiration

The hover detection is inspired by Zhongwen, a Chinese-English popup dictionary extension, extended here to Mandarin and Cantonese.

License

This project is licensed under the MIT License.

Contributing

Contributions are welcome — please open an issue or pull request.

About

Chrome extension providing Cantonese and Mandarin pronunication lookups with integrated radical decomposition.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages