/jidoujisho

A full-featured immersion language learning suite for mobile.

Primary LanguageDartGNU General Public License v3.0GPL-3.0

jidoujisho

A full-featured immersion language learning suite for mobile.

latest release latest commit actions stars downloads license translate donate


โ€๐Ÿงช Preview Release: 2.9.0-preview2

โœจ Latest Release: 2.8.9

๐Ÿ“š Resources:
๐Ÿ  Wiki ยท โ“ FAQ ยท ๐Ÿฉบ Troubleshooting ยท ๐Ÿš€ Getting Started ยท ๐Ÿƒ Flashcard Creation ยท ๐Ÿ—ƒ๏ธ Workflow Setup ยท ๐ŸŽฅ Viewing Media ยท ๐Ÿ’ก Tips and Tricks ยท ๐Ÿง‘โ€๐Ÿ’ป Development ยท ๐Ÿ‘ฅ Contribution ยท ๐Ÿ“‘ API Documentation

๐Ÿ—’๏ธ Release Notes:
(Legacy) 0.3 ยท 0.4 ยท 0.5 ยท 0.6 ยท 0.7 ยท 0.8 ยท 0.9 ยท 0.10 ยท 0.11 ยท 0.12 ยท 0.13 ยท 0.14 ยท 0.15 ยท 0.16 ยท 0.17 ยท 0.18 ยท 0.19 ยท 0.20 ยท 0.21 ยท 0.22 ยท 0.23 ยท 0.24 ยท 0.25 ยท 0.26
(Chisa) 1.0 ยท 1.1
(Yuuna) 2.0 ยท 2.1 ยท 2.2 ยท 2.3 ยท 2.4 ยท 2.5 ยท 2.6 ยท 2.7 ยท 2.8

๐Ÿ“ฑ Language learning in the palm of your hand

jidoujisho is a video player, reading aid, dictionary and card creation toolkit with features specifically helpful for language learners.

  • ๐Ÿ“– Tap and drag selection of subtitles and paragraphs allows for instant dictionary lookups
  • ๐Ÿƒ Export flashcards to AnkiDroid, complete with image and audio of the current context
  • ๐Ÿ“บ Watch videos or listen to audio with subtitles from local device storage, YouTube or stream from a Jellyfin library or a direct URL
  • ๐Ÿ“š Read books anywhere and offline, via an embedded, self-hosted ใƒƒใƒ„ Ebook Reader
  • ๐Ÿ–ผ๏ธ Read and mine manga pre-processed with Mokuro, and export or crop the current image
  • ๐Ÿ•ธ๏ธ WebSocket support allows convenient use alongside texthookers for visual novels, games and more
  • ๐ŸŽถ Get lyrics and easily make dictionary lookups for the current playing song in your music app
  • ๐Ÿค– Interact with ChatGPT in your target language to get grammar information, example sentences and more
  • ๐Ÿ“˜ Use Yomichan dictionaries with pitch and frequency information, and selectively collapse and expand dictionaries by default
  • โ› Frictionless sentence mining and flashcard creation workflow with support for modular enhancements and automations

๐ŸŽž๏ธ A glimpse of jidoujisho in action

โš•๏ธ Current state of the project

jidoujisho is eagerly looking for contributors. If you are interested in maintaining a dictionary format, media source, an enhancement or quick action or even a new language for the application, user and developer documentation is coming soon.

Originally built for the Japanese language learning community, jidoujisho is free and open source software, and is available to download here on GitHub.

Please note that the development of the app switches between changes being implemented and being left alone for daily use. Update frequency may depend on the gravity of any issues that arise. Hiatuses provide practical insight on usage and where development should go next.

๐Ÿ“– Using the application

๐Ÿšจ Supported Formats

  • jidoujisho will take video and audio formats as supported by VLC. SDR video is recommended over HDR. Subtitles may be embedded within the video being played and selected during playback.
  • If you have trouble with storage space on your device, you may use the app as an external player for Jellyfin and stream from your PC media library, complete with progress tracking and external subtitles support.
  • If you wish to use external subtitles, they may be in SRT, ASS or SSA format and you may import them during playback through the menu. You may switch between different audio and subtitle tracks. Image-based subtitles such as PGS are not currently supported.
  • Closed captions and auto-generated captions are available when watching YouTube videos. Here is a fair sample of YouTube videos with such subtitles showcasing some very practical application use cases. Users are strongly advised not to use automatic captions if they cannot reliably discern their correctness.
  • ใƒƒใƒ„ Ebook Reader allows reading of books in EPUB or HTMLZ format.
  • Mokuro volumes must be in HTML format, and have images in the relative directory.
  • Make sure your Android WebView is updated before use. This will resolve common issues that may occur with ใƒƒใƒ„ Ebook Reader or Mokuro.
  • Users may import Yomichan dictionaries for Japanese, some can be found here. Note that Yomichan dictionaries using structured-content are currently unsupported.
  • Other supported formats include Migaku and DSL dictionaries.

๐Ÿš€ Getting Started

A primer on the basics of the application is as follows.

  • ๐Ÿ“ฒ Download and install the latest release onto your Android device
  • โฏ๏ธ Watch a video with the Player selecting from your local media library or picking a YouTube video
  • ๐Ÿ“š Start a novel with the Reader to launch ใƒƒใƒ„ Ebook Reader to read an EPUB or HTMLZ file
  • ๐Ÿ–ผ๏ธ Read pre-processed manga in HTML with the Mokuro media source
  • ๐Ÿ“‹ Tap a word for instant dictionary lookups, and open the Card Creator or use Instant Export
  • โŽ You can dismiss dictionary popups by swiping horizontally, using a volume button or tapping on the current selection
  • โ†•๏ธ You may swipe vertically in the player to open the transcript in the player, and pick a time or read subtitles
  • โ†”๏ธ Swipe horizontally in the player to repeat the current subtitle audio

๐Ÿ“ฒ Exporting to AnkiDroid

  • ๐Ÿ“ค You may also export the current context to an AnkiDroid card, including the current image and audio
  • โš ๏ธ If AnkiDroid is not running in the background, you will be prompted to install or launch it
  • ๐Ÿ—ƒ The AnkiDroid deck you last export to will be remembered for your next export
  • ๐Ÿ“ You may edit the card fields before exporting to AnkiDroid
  • โš›๏ธ Customisation of the Anki export is possible by creating your own export profile

๐Ÿ™Œ User Tips

  • ๐Ÿ‡ฏ๐Ÿ‡ต Can't find Japanese subtitles for your media? Try finding what you need at kitsunekko or Nekomoekisatten
  • ๐Ÿ”ฎ Customise your workflow by trying out different enhancements and quick actions
  • ๐Ÿˆฒ Monolingually transitioning? Collapse your bilingual dictionaries by default, and split your export fields between expanded and collapsed meanings.
  • ๐Ÿ“ก You can use Jellyfin to stream media from your PC, complete with progress tracking and external subtitle support
  • ๐Ÿ–๏ธ Double tap on a character when reading a meaning to quickly select it as a word and recursively search
  • ๐Ÿ“‘ External subtitles with the same name as the selected video file will be loaded by default
  • ๐Ÿ“ฐ You can get example sentences from Massif, Tatoeba or ImmersionKit if a sentence you find is too hard
  • โฒ๏ธ If your subtitles are off, you can set the delay or pad the exported audio time with an allowance
  • โœŠ Export a range of multiple subtitles by holding onto a subtitle aside from the current one in the transcript
  • ๐Ÿ“น The quality closest to the last selected quality will be selected by default for YouTube videos
  • ๐Ÿ’ฌ If your video has burned-in subtitles, you may use the blur widget under player options to hide them
  • โœ‚๏ธ Reading manga? You can crop an image before exporting a card
  • ๐ŸŽง Listening to an audiobook? You can read with subtitles during playback by opening the transcript and clicking on the upper-right icon
  • ๐Ÿ”” You can listen in the background by turning on background play with live subtitle previews in media notifications with controls
  • ๐Ÿชก Limit export to a single dictionary by selecting the button on the rightmost tag of a dictionary entry
  • ๐Ÿ“œ Tap on a field's icon in the Card Creator to lock the field, which can be useful if exporting the same sentence multiple times
  • ๐Ÿค– Users may chat in various languages supported by ChatGPT. Users are advised not to heavily rely on an AI language model if they cannot accurately distinguish its correctness and accuracy.

๐Ÿ‘ฅ Contribution and attribution

lrorpilla
lrorpilla
m-edlund
m-edlund
Aegyo
Aegyo
Aquafina-water-bottle
Aquafina-water-bottle
Natsume-197
Natsume-197
MarvNC
MarvNC

jidoujisho is written in Dart and powered by Flutter, and is made available under the GNU General Public License 3.0.

Database enabled by Isar and Hive. Reader via a self-hosted ใƒƒใƒ„ Ebook Reader. Mokuro for manga reading. Video streaming via YouTube. Chat service via ChatGPT.

Image search via Bing. Audio search via Forvo and JapanesePod101. Example sentences from Massif, Tatoeba and ImmersionKit. Lyrics from Google and Uta-Net.

Natural language processing tools include Ve and MeCab for Japanese. Special thanks to the Yomichan project.

If you like what I've done so far, you can help me out by testing the application on various devices so that I can gauge the compatibility of the application with different versions of Android, making a donation or collaborating with me on further improvements.

The logo of the application is both by suzy and Aaron Marbella, support their awesome work if you can!