Skip to content

Open-source OCR and dictionary tool.

License

Notifications You must be signed in to change notification settings

dmitsuki/YomiNinja

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YomiNinja

YomiNinja is an application for extracting text from any type of visual content and is designed with language learners in mind.

Demonstration with 10ten

v0.3.x.demo.av1.mp4

Demonstration with Yomichan

merged_github.mp4

The extracted text overlays the original content, allowing for quick look-ups with pop-up dictionaries like 10ten, Yomichan and Inkah.
It minimizes distractions and simplifies the process of looking up unfamiliar words.
This is especially beneficial for language learners who study through videos or games.

YomiNinja is perfect for:

  • Language learners who study through games, videos, or any other visual content.
  • Anyone who values a distraction-free, efficient way to look up unfamiliar words.
  • Users looking for seamless text extraction and workflow improvement.

Dictionary Extensions

YomiNinja supports web browser dictionary extensions, enabling convenient word lookup without external applications.
While not all extensions are currently installable, 10Ten (aka Rikaichamp) has been successfully tested and will be included as a pre-installed option for simplified installation.
Please note that, at present, Yomichan is not installable and requires web browsers to function.

Installation

Windows

You need Windows 10 or 11 and VCRedist installed.
If you are using the N or KN edition of Windows 10 or 11, please be aware that you will also need to install the Media Feature Pack. This is necessary to ensure that all the required DLLs are installed.

Download and install the latest YomiNinja release.

Linux

YomiNinja currently offers support for distros using the X11 window system. Wayland is not supported due to its limitations with global shortcuts and window positioning.

  1. Install xdotool.

  2. Download the YomiNinja package corresponding to your distribution.

  3. Install the package. For example, on Debian-based distributions:

     sudo dpkg -i yomininja-e_x.x.x_amd64.deb
    

Install Yomichan or Yomitan (optional):

  1. Install Yomichan/Yomitan on your browser of preference.

  2. Go to the Yomichan/Yomitan settings.

  3. Find and enable the clipboard monitoring option.

    • Chromium: Enable background clipboard text monitoring
    • Firefox: Enable native popups when copying Japanese text
  4. Go to the YomiNinja settings and enable Show window on text copy

  5. Set the Window title to "Yomichan Search" or "Yomitan Search".

Current features

  • Text extraction from the entire screen or specific window.
  • Built-in pop-up dictionaries.
  • Chrome Extensions (partial support).
  • OCR Templates (predefined text areas, optimizing OCR efficiency).
  • WebSocket for Texthookers.

Planned Features

  • Auto OCR.
  • Text extraction from snip.
  • Anki integration.
  • History.
  • Text translation.
  • Support for more OCR engines.

Supported Languages

YomiNinja currently supports text extraction in:

  • English
  • Japanese
  • Chinese
  • Korean

Currently, PaddleOCR is used for text extraction, which generally produces very good results in languages such as Chinese or Japanese. It supports dozens of languages, that will be integrated into this application in the future.

Building

  1. Clone the git repository

    git clone https://github.com/matt-m-o/YomiNinja.git && cd YomiNinja
    
  2. Based on your platform, download and extract the latest build of PPOCR-Inference-Service into the appropriate directory:

    • Windows: ./bin/win32/ppocr
    • Linux: ./bin/linux/ppocr
  3. (optional) Download 10ten v1.15.1 for Chrome, extract the contents, and place them into the following directory:

    ./yomininja-e/extensions/10ten
    
  4. Install node modules. Note: --force is used due to outdated react-furi peerDependencies, but it should function normally.

    cd yomininja-e && npm install --force
    
  5. Generate gRPC Protobuf types

    npm run grpc-types
    
  6. Build the distribution

    npm run dist
    

OCR Engines

Inspired by:

About

Open-source OCR and dictionary tool.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.8%
  • Other 1.2%