Skip to content

Repository files navigation

Anki JPDB Reader

Contents

  1. Downloads
  2. Automatic parsing
  3. Installation
  4. Setup
  5. Usage
  6. Customize parsing
  7. Customize text colors and furigana
  8. Building
  9. Contributing
  10. License

Downloads

A browser extension that aims to parse most Japanese text in the browser using JPDB. Support for mining into Anki decks is in preparation and will be added in the future.

This is a fork of the JPDB Web Reader extension

Thanks to Max and the JPDB Discord for making the original extension and fixing some issues along the way!
Sadly, Manifest V3 came along and the original is no longer working.

Please note:

  • Currently, only Chromium-based browsers and Firefox (including Android) are supported.
  • Mobile support for Kiwi, Edge Canary, and comparable browsers, as well as Firefox Android, is experimental.
  • Support for Bunpro is currently considered experimental.
  • Support for YouTube subtitles has been removed - please use this extension together with asbplayer.
  • Extension updates in browser app stores are sometimes delayed compared to releases on GitHub - this should usually make no difference.

Automatic parsing

Some web apps and sites require special attention to work properly; therefore, they parse automatically on certain triggers. These can be disabled or extended in the settings.

App URLs
ッツ Reader reader.ttsu.app, ttu-ebook.web.app
Texthooker pages anacreondjt texthooker, learnjapanese.moe texthooker, exSTATic tracker, renji-xd texthooker
Mokuro reader.mokuro.app
Mokuro (Legacy) Mokuro: IMPORTANT: File path must contain mokuro, and file name must end in .html
Readwok app.readwok.com
Satori Reader satorireader.com
NHK News nhk.or.jp
Wikipedia ja.wikipedia.org
Bunpro bunpro.jp — graded reader and quiz/review sessions (Experimental)
JPDB Reviews jpdb.io/review — auto-parses the example sentence shown during a review
asbplayer github.com/killergerbah/asbplayer
YouTube comments youtube.com
Custom Dictionaries CDM by Nakura Nakamoto — integrates with this separate third-party extension's UI on jpdb.io pages
LunaTranslator Luna Translator with WebView2 enabled

Installation

Chrome

Chrome Browser Extension or

  1. Download the latest *-chromium.zip file from the releases page.
  2. Unpack the zip file in a location of your choosing.
  3. Open your browser and navigate to chrome://extensions/.
  4. Enable Developer mode (top right).
  5. Click the Load unpacked button (top left).
  6. In the file picker dialog, navigate to the folder you unpacked earlier. You should see a file called manifest.json inside the folder.
  7. Click select/open/choose to exit the dialog and load the extension.
  8. Continue with the Setup section.

Firefox

Firefox Browser Extension, or install it via Firefox for Android or

  1. Download the signed anki_jpdb_reader-0.8.1.xpi directly. This link may take a few minutes to a few hours to update after a new release while Mozilla reviews it — it always resolves to the latest reviewed version in the meantime.
  2. Open your browser and navigate to about:addons.
  3. Click the gear icon and choose Install Add-on From File....
  4. In the file picker dialog, select the downloaded .xpi file.
  5. Click Add when prompted to confirm the installation.
  6. Continue with the Setup section.

To test an unreviewed pre-release build instead, download the *-firefox.xpi file from the releases page and load it temporarily via about:debugging → This Firefox → Load Temporary Add-on — this build is unsigned, so it's unloaded again the next time Firefox restarts.

Edge Canary

I am currently not able to test or verify the Edge version of the extension, but you can follow the instructions on the Kiwi browser repository as a starting point.

The extension ID is gpomfklkdbhmpagecjpnlhlffdlhcbnb.

Setup

Upon installation, the settings page will open. You can also find it by clicking on the reader icon (読) in the browser menu bar. It might be hidden behind the extension overflow menu, which looks like a little puzzle piece (🧩).

Here you will need to enter your JPDB API key. It can be found at the very bottom of the JPDB settings page.
You can also change various hotkeys.

Usage

You can use the reader on any website. Just select some text, right-click, and choose the "Parse ... with JPDB" option. Alternatively, use the shortcut (Alt+P) or the extension menu at the top right corner.

Words will be colored according to their state (known, new, etc.). Hover over words while holding Shift to see their meaning, and to mine or review them.

Customize parsing

Parsing can be enabled or disabled per integration. You can also add custom URLs to automatically parse in the settings.

Additionally, you can add complete meta definitions in JSON format - refer to the typings or see the docs

Customize text colors and furigana

Customization can be done through a combination of Style Presets and custom CSS — see the docs on it here.

Building

Node version 24.x is used!

You can run the following commands to build the extension locally:

npm install
npm run build

The resulting files will be located in the anki-jpdb.reader/ folder.

For development, you can also run the build in watch mode:

npm install
npm run watch

This will continuously rebuild the source code as it changes, and place the output in the anki-jpdb.reader/ folder. It can be loaded as an unpacked extension from there. Please remember to wait until building is done, and reload the extension on the "Manage Extensions" page before testing your changes.

Reloading is not required for the browser popup (top right) or the settings page.

Also, please look at the Contributing section if you plan on contributing your changes.

Contributing

Issues with feedback or ideas for new features are very welcome. You can also message me on the JPDB and Refold Japanese Discord servers (@chinokusari).

The following commands may be of interest to you:

  • npm run lint: Checks your code for formatting issues, linter warnings, and type errors. The CI also runs this, so your pull request will only be accepted if it passes. You can use eslint ignore comments if you get false positives, but leave a comment explaining why you think the error is false and safe to ignore.
  • npm run lint:fix: Reformats your code, as well as fixing any fixable lint issues. Note: if your editor has a prettier plugin, installing that and turning on "format on save" will be more convenient.
  • npm run build: Compiles the code for Chrome, putting the compiled code into anki-jpdb.reader/.
  • npm run build [target]: Builds for a specific target.
  • npm run watch: Automatically recompiles the code for Chrome when it changes, putting the output into anki-jpdb.reader/. Using this is recommended during development.
  • npm run watch [target]: Recompiles for the specified target.
  • npm run pack: Builds, then packs the extension for all targets. The archives are placed inside packages/.
  • npm run pack [target, [target...]]: Builds for specified targets.

Currently, chrome|chromium and firefox are supported.

License

MIT

This project uses Font Awesome 4, which is licensed under the MIT License. Please ensure compliance with its license when using or distributing this project.

About

Extension for Japanese text parsing + sentence mining with JPDB. Works with subtitles from asbplayer and apps like readwok or ttsu reader.

Resources

Stars

65 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages