A mobile video player, reader assistant, image mining workflow and card creation toolkit tailored for language learners. Allows text selection of subtitles for quick lookups and export to Anki with snapshot and audio for uninterrupted language immersion.

Overview

jidoujisho

A mobile video player, reader assistant, image mining workflow and card creation toolkit tailored for language learners.

Latest GitHub Release:
0.26.3-beta 🇯🇵 🇬🇧

Release Archive:
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

📚 Uninterrupted language immersion at your fingertips

jidoujisho is an Android video player, reader assistant, image mining workflow and card creation toolkit with features specifically helpful for language learners.

  • Text selection of subtitles allows for quick dictionary lookups within the application
  • Export cards to AnkiDroid, complete with a snapshot and audio of the current context
  • Selecting a word allows export to AnkiDroid with the sentence, answer, meaning and reading
  • Morphological analysis of subtitles allows either tap selection or drag selection of subtitles
  • Repeat the current subtitle from the beginning by flicking horizontally
  • Swipe vertically to open the transcript to jump to time and review subtitles
  • Open the app to trending videos in Japan, import and export a channel list and search with suggestions
  • YouTube playback support for videos with Japanese closed captions and automatically generated subtitles
  • Use card creator mode to quickly search images and definitions with imported photos and text
  • Dictionary tab remembers words queried for review between sessions and allows resuming back to context
  • Import Yomichan archive dictionaries and export cards with pitch accent information from Kanjium
  • Frictionless sentence mining workflow for readers via ッツ Ebook Reader
  • Mine manga with an image mining workflow designed for symbiosis with Tachiyomi and Kaku
  • Playback support for network streams including Chromecast and Plex external player support

⚕️ Current state of the project

jidoujisho is still in development, and is currently in hiatus. The project will receive fixes to critical bugs and issues. Rollout of new features will resume in time.

Built for the Japanese language learning community, the application is free and open source software, and is available to download here on GitHub. Current features planned on the roadmap are listed below, but as of now there is no estimate on any updates.

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.

🚅 Next Up

  • Fixes for slow video loading due to scoped storage and H.265 video playback
  • Use of the AnkiDroid API instead of share intent to streamline card export and Anki output customisation
  • Morphological analysis of subtitles for better text selection
  • Improved monolingual dictionary support
  • Various immersion modes for oral practice
  • Include pitch accent information in dictionary and exported cards
  • Reader enhancements for manga and novel sentence mining
  • Instant queries and offline use via support of Yomichan archive format dictionaries
  • Improve text segmentation and custom dictionaries query results
  • Dedicated Android TV experience with a remote control
  • HTML summary tags for dual query mode

🛣️ Stretch Goals

  • Extensive language support with text segmentation for other languages
  • Tinker around with releasing the app on other platforms if possible

🎞️ A glimpse of jidoujisho in action

📖 Using the application

🚨 Supported Formats

jidoujisho will take video and audio formats as supported by VLC. Subtitles may be embedded within the video being played and selected during playback.

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.

YouTube closed captions are taken from TimedText XML, which is only publicly exposed to videos that have user-generated Japanese subtitles. Here is a fair sample of YouTube videos with such subtitles showcasing some very practical application use cases. If unavailable, Japanese automatic captions can be queried from videos. Please be aware that critical inaccuracies are to be expected in such cases.

☝️ Important Links

Below are some links that some users might find useful.

🚀 Getting Started

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

  • 📲 Download and install the latest beta 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 manga from your Tachiyomi library with the Viewer and launch Kaku to pass text to the app
  • 📋 Select text with tap to select or drag to select
  • 📔 When the dictionary definition for the text shows up, the text is the current context
  • 🗑️ Closing the dictionary prompt will clear the clipboard
  • 🌐 Switch between dictionaries by holding on the headword or swiping vertically in the pop-up dictionary
  • ↕️ You may swipe vertically 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
  • Swipe left or right on dictionary results to scroll through multiple definitions
  • 📨 In the Viewer, users can pass text to the app by holding onto Kaku's results box

📲 Exporting to AnkiDroid

  • 📤 You may also export the current context to an AnkiDroid card, including the current frame and audio
  • 🔤 Having a word in the clipboard will include the sentence, word, meaning and reading in the export
  • 📝 You may edit the sentence, word, meaning and reading text fields before exporting to AnkiDroid
  • 🃏 The front of the card will include only the sentence
  • 🎴 The back of the card will include the audio, image, reading, word and meaning
  • 📑 You may apply text formatting to the card with the AnkiDroid editor once exported
  • ⚛️ Customisation of the Anki export is possible by changing the default template in AnkiDroid

🙌 Advanced User Tips

  • 🇯🇵 Can't find Japanese subtitles for your media? Try finding what you need at kitsunekko
  • 📚 Users may import their own Yomichan custom dictionaries for offline use and instant lookups, some can be found here
  • 🤚 Hold onto the headword or swipe vertically in the pop-up dictionary to quickly switch between dictionaries
  • 📑 External subtitles with the same name as the selected video file will be loaded by default
  • ⏲️ If your subtitles are off, you can set the delay or pad the exported audio time with an allowance
  • ▶️ A resume button is at the top of the main menu, and returns to last video or book
  • Users may select Context from a dictionary result to go back to the exact duration in video or scroll position in book
  • ⛓️ Channels may also be added by pasting a link of any video by the channel in List new channel
  • 🏢 You may also watch videos from your Plex server and cast the current video to a Chromecast
  • 📡 Users that prefer to stream rather than download can open the app with a direct link to video
  • Export a range of multiple subtitles by holding onto a subtitle aside from the current one in the transcript
  • ⚠️ If AnkiDroid is not running in the background, tap on the export message to open it
  • 🗃 The AnkiDroid deck you last export to will be remembered for your next export
  • 📹 The quality closest to the last selected quality will be selected by default for YouTube videos
  • 📢 Automatic captions are more excellent in podcasts and news programs with clear speakers
  • ✂️ Crop manga panels before exporting them within the Creator to have better context for your cards

👥 Contribution and attribution

jidoujisho is written in Dart and powered by Flutter. Bilingual online dictionary definitions are queried from Jisho.org and monolingual online dictionary definitions are from Sora. Pitch accent patterns are sourced from Kanjium. Reader WebView linked to ッツ Ebook Reader. Video streaming via YouTube. Image search via Bing.

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 by Aaron Marbella, support his awesome work if you can!

⚖️ Licensing

Kanjium: The pitch accent notation, verb particle data, phonetics, homonyms and other additions or modifications to EDICT, KANJIDIC or KRADFILE were provided by Uros O. through his free database.

Comments
  • Local videos don't load anymore (only on my phone?)

    Local videos don't load anymore (only on my phone?)

    I've recently flashed LineageOS on phone — a Xiaomi Redmi Note 5. Local videos stopped working since version 0.25.8 — 0.25.7 is working well. I've tried scopedstorage versions, it didn't work as well. Since no one has reported this problem, it might have something to do with LineageOS?

    opened by Feripe-a 16
  • Can't Access Local Storage

    Can't Access Local Storage

    My phone is Techno IN1 pro. Android 8.1.0 . When I try to import dictionary using yomichan term bank after tapping import nothing happens and if I tap the local storage bar for the player keyboard pops up but nothing happens. For the button beside the bar same thing happens as the import button. I've already tried removing permission and giving it again from settings and re installing the app as well

    bug 
    opened by T1CkShot 11
  • Jidoujisho not opening

    Jidoujisho not opening

    I've uninstalled the 1.1 version then installed 2.0. But after opening the app it's stuck in the splash screen. If I minimize the app and then open again it shows a black screen.

    opened by T1CkShot 10
  • 2 Bugs/Improvements - Subtitle won't refresh when changing tracks / Load External Subtitle By Default?

    2 Bugs/Improvements - Subtitle won't refresh when changing tracks / Load External Subtitle By Default?

    Hello,

    One issue I'm having is on a show with multiple subtitle tracks, it won't actually change to the selected subtitle track. It loads the first subtitle in alphabetical order that's embedded on a .mkv, so Arabic in my example. I try to change it to Chinese Simplified, and after I select the new subtitle, it won't reload the subtitles for the video, so it's stuck just displaying Arabic.

    My second thing is a suggestion: Use a fuzzysearch to open related subtitle files and add them into the subtitle list - this would help dealing with lots of shows with external subtitles. example: Are You OK Episode 01 iQiyi 1920x1080.mp4 Are You OK Episode 01 iQiyi 1920x1080.en.srt Are You OK Episode 01 iQiyi 1920x1080.zh-CN.srt

    This is the common naming convention, where all subtitles include the full filename, and append a language code after a period (.) I think this is related to the File Picker, but I'm not sure how to override that on Android...

    I hope to see these fixes or a clarification with this app, if no one else is experiencing the issue.

    Vlad

    bug 
    opened by EliCodesForFun 9
  • Forvo does not export to Anki

    Forvo does not export to Anki

    Android Version: 12 Phone: Galaxy S22 Ultra (latest Samsung update) App version: Yuuna (jidoujisho_yuuna_2_0_0-arm64.apk)

    Using the forvo field enhancement, upon trying to export cards to anki using forvo audio, nothing occurs. Upon switching over to Japanesepod (or the primary audio source), it exports immediately. No other fields were edited, this is directly from the reader. The screen capture exhibits this behavior below.

    https://user-images.githubusercontent.com/80096108/190209427-e30f0ed5-69ae-4f43-8f0f-472c63c6caba.mp4

    bug 
    opened by Jarods-language-journey 7
  • Feature requests based on my daily experience

    Feature requests based on my daily experience

    First all, sorry: this is a big text!

    1. Creating cards from "Dictionary tab". Thanks to your integration of Massif, I've been watching anime and looking up a bunch of words to later add them to Anki along with a sentence from Massif. My current workflow, as always I have a video, is good; but I think the card creating screen should automatically close, going back to "word history" screen. This would increase one's workflow.
    2. User's note type. It would be good if we could select our own note type and which fields we want things to be exported. Why? To give more customizations to users. I myself manually change some cards to a note type that only has word on the front, which makes me sync my whole collection.
    3. Profiles That's something that I think would be extremely helpful. One could create a profile for sentences, word only and audio-based cards, then quickly switching between them on the export menu.

    I hope I gave you food for thought. Have a good one.

    enhancement 
    opened by Feripe-a 7
  • Sub not displaying properly

    Sub not displaying properly

    I was watching 史上最強の弟子ケンイチ and noticed that some lines were cut due to the way the sub file is formatted. Here's an example of the error: https://streamable.com/l8epm5 Here's the lines: Dialogue: 0,0:02:07.12,0:02:09.37,a,,0,0,0,,(田中(たなか))\N前から\N気になってたんだけど Dialogue: 0,0:02:09.58,0:02:10.38,a,,0,0,0,,(島山(しまやま))\Nん?

    Dialogue: 0,0:02:25.60,0:02:29.52,a,,0,0,0,,(田中)\Nでも 風林寺ってさ\Nどっか近寄りがたいよな Dialogue: 0,0:02:29.64,0:02:32.19,a,,0,0,0,,住んでる世界が違うっていうか…

    bug 
    opened by Feripe-a 7
  • Regarding subtitle in .mkv

    Regarding subtitle in .mkv

    No subtitle will appear if you select a subtitle that is within the .mkv file and not the external ones. And also external subtitles are floating above abnormally, it is not in its natural position below.

    bug 
    opened by Renzodasu 6
  • [Feature Request] Portrait orientation in Player mode

    [Feature Request] Portrait orientation in Player mode

    As the title says, currently the app switches to landscape orientation when playing a video and it's not possible to change orientation. It would be useful to use it in portrait so that when exporting cards to Anki there is enough vertical space to se all the fields.

    opened by putix 6
  • Can't select Japanese audio in dual-audio files

    Can't select Japanese audio in dual-audio files

    Just as the title says, I have a local dual-audio file that plays in English only although it has Japanese. I can't select the option for Japanese although it's already there. This how it looks Screenshot_20210724_215637_com lrorpilla jidoujisho

    opened by DanTan3Machi 6
  • Crash when selecting a subtitle file

    Crash when selecting a subtitle file

    I have an anime episode and subtitles for that episode as an .ass file. When I select "Load External Subtitles" from the player menu and select that .ass file, the player crashes every time.

    I seem to be able to work around this crash if I first select "no subtitles" and then select the .ass file.

    I suspect this may have something to do with the fact that the video file has an embedded English subtitle that is selected by default.

    I'm using the latest version, 0.13.1 beta.

    I realize this is not a lot to go by, so let me know what I could provide to help investigating this.

    bug question 
    opened by sp3ctum 6
  • Cards NOT created in Samsung Galaxy Tab 7

    Cards NOT created in Samsung Galaxy Tab 7

    when trying to "create a card from context" playing an MKV file, loaded with external subtitles in SRT format

    the card generator panel has the audio, the screenshot, the sentence and everything.

    still, when pressing "create card" and receiving the message "card added to X-deck", such card simply does not get exported to the respective Anki deck.

    device: CPU architecture : ARMv8-A Instruction Sets : arm64-v8a OS version : Tiramisu (13) SDK : 33 Java VM : ART 2.1.0

    Could it be something with the permissions of something Samsung-related? (all possible permissions have been granted for both Anki and Jidoujisho in the "Apps" section of the device settings)

    is there any way to fix it myself?

    This project is amazing, probably the the best tool for self-learning out there. It really makes being alive in this era worth it.

    Cheers, lrorpilla. You're awesome.

    opened by r-ichi 2
  • Option for adding yt channel name/tv show series as a tag

    Option for adding yt channel name/tv show series as a tag

    Immersive for mpv has a similar feature that auto assigns a series name based on the video title and exports it as an Anki tag. This is quite useful for filtering cards based on series name. Additionally, tags could be assigned for YouTube channels.

    opened by sbstratos79 0
  • Custom formatting for Anki fields

    Custom formatting for Anki fields

    Currently, we can only select field values from a pre-defined list. It'd be nice to have custom formatting like Yomichan. Something like: {reading} : {meaning}

    opened by sbstratos79 0
  • Touch area for making controls reappear in E-reader is too narrow

    Touch area for making controls reappear in E-reader is too narrow

    Once a book is opened the controls vanish (probably by design), but nothing I do seems to bring them back. I hve tried single tap, swipe from edge, double tap, triple tap, long press.

    opened by VegasVed 4
  • Dictionaries not loading

    Dictionaries not loading

    I have tried loading two dictionaries (Yomichan zip formats), but nothing happens when I select them from the file picker. The file picker closes and the Import dialog remains open as if I never clicked on Import to select a file.

    Running Android 13 on an Oppo Find X5.

    opened by VegasVed 1
Releases(2.0.0)
  • 2.0.0(Sep 6, 2022)

    This release debuts jidoujisho Yuuna, another rewrite of the project with the aim to address many underlying issues and feature requests that were structurally difficult to implement in previous iterations of the application.

    jidoujisho Yuuna features a complete dictionary overhaul, complete with one-click export and quick actions, a card export customisation system through fields and profiles, the new Lyrics source and many quality of life improvements.

    Existing Users: This new version includes and adds a new card model to Anki to provide an approachable reasonable default, but users may now choose to use and export with any model they so wish with the new profile system. Note that some features, the Viewer in particular, are not present in this version. These features have been cut from this release to be refreshed and redeveloped at a later time. You cannot update or carry over your existing application data to this release. Support for Legacy (pre-1.0) and Chisa (1.0) versions have now been sunset.

    System Requirements: This application has been tested to work on a variety of devices and emulators running Android 7 to 13. Please note that a significant amount of internal storage space may be taken up by the dictionary database for indexing in order to optimize query speed and performance. Try to give the application around 2GB of storage space.

    A special thanks to suzy and Aaron Marbella for the new logo, and to @dotnest for their continued help with testing the application!

    🎆 Introducing jidoujisho Yuuna

    2.0

    📖 Complete Dictionary Overhaul

    • Dictionary results have received a complete and familiar makeover. You are no longer limited to a single active dictionary and may now view results from multiple dictionaries at once.
    • The dictionary search algorithm has been overhauled, with dramatic improvements to query speed, performance and results.
    • Search term selection with tap-to-select is now performed by selecting the starting character of a word and use of dynamic programming similar to Yomichan, and is no longer dependent of text segmentation results.
    • The dictionary menu now features drag-and-drop reordering to allow easy resorting of preferred dictionaries.
    • An individual dictionary result's entries may be collapsed, expanded, and the default collapse/expand/visibility of a dictionary may be customised in the dictionary menu. Users going through a monolingual transition may use this option to obscure their bilingual dictionaries. See the Expanded Meaning and Collapsed Meaning fields for more.
    • Tapping on the headword now copies it to clipboard.
    • You may now import multiple dictionaries at once.
    • You may now highlight text in dictionary definitions to perform recursive dictionary searches.
    • Furigana now appears over headwords.
    • Pitch accent data is no longer supplied with the application, and in return pitch accent dictionaries such as Kanjium may now be imported and viewed by the app.
    • Frequency lists are now supported and will appear below a headword before the definitions.
    • Deleting a dictionary now completely clears dictionary history. This is necessary as some entries in history may be dependent on a given dictionary's data in order to be viewed.

    ⚡️Quick Actions

    • Quick Actions allows users to quickly perform tasks for a certain dictionary result. These may be set while editing the enhancements of the Card Creator. The new Quick Action system provides developers with a layer of abstraction for easily adding more actions should they wish to do so.
    • Card Creator - Allows users to pick a word, show a dictionary result and then open the Creator with prefilled information corresponding to the word, complete with Reading, Meaning, Image, Audio and more.
    • Instant Export - Allows users to quickly export the word, and have the fields be prefilled according to the word and the user's auto enhancements, without opening the Card Creator.
    • Play Audio - Allows users to play audio for the current word sourced with their current auto audio enhancement.
    • Share - Allows users to quickly share the word, reading and meaning as text.
    • Add To Stash - Allows users to quickly save the headword to the Stash for later card creation.

    📝 Fields

    • Fields that are shown in the Card Creator may now be reordered and enabled according to user preference. The new Field system provides developers with a layer of abstraction should they wish to add a new exportable field that, for example, can be auto-generated upon selecting a certain word.
    • Fields may be hidden away from view and collapsed should the user wish to reduce clutter in the Card Creator.
    • The Notes field is available as a blank field to allow users to write down whatever they wish on the field before exporting it.
    • The Context field lists the title of the current playing media should the user currently have one.
    • The Expanded Meaning, Collapsed Meaning and Hidden Meaning fields allow users to split the Meaning field into content exclusively present in their expanded/collapsed/hidden dictionaries respectively. This is useful for users that wish to separate bilingual and monolingual definitions in Anki, for example.
    • The Pitch Accent Exports enhancement has now been replaced with the Pitch Accent field, which will be prefilled when selecting a word with pitch accent data.

    ⚙️ Profiles

    • Profiles allow users to switch between paradigms, and change Card Creator and Anki export preferences with the tap of a button.
    • Each profile corresponds to a certain Anki model and mapping a user can set.
    • Enhancements, Fields and Quick Actions are tied to Profiles. Users may use this to quickly switch between use cases.
    • Users are no longer limited to using a pre-included jidoujisho Anki model, and may now use their own existing Anki models for card export. Users must map their Card Creator fields to the corresponding field for a given model.
    • Should the user alter their model in Anki and then uses the application, their field mappings will be cleared and they will be prompted to reconfigure them.

    🤖 New Enhancements

    • Stash - Users may now save certain text they highlight in the application for later use and viewing in the Creator. These saved snippets can be viewed with the Stash enhancement.
    • Pop From Stash - Quickly takes the latest word added to the Stash and pops it as the new Term in the Creator. Allow the user to quickly make cards for saved up words.

    🎶 Lyrics

    • Lyrics Media Source - You may now get lyrics for the current song playing in your music app by using this source. This requires an extra permission which the app will ask for once you select the source under the Reader tab.
    • These lyrics are sourced from Google. You may also set a title and artist should the search parameters be difficult. For example, "A Cruel Angel's Thesis - Director's Cut Version" requires the user edit it down to "A Cruel Angel's Thesis" for the lyrics search to work. The title and artist search dialog will prefill text according to your current media to make these changes easier.
    • You may tap to select text, highlight, copy, stash and quickly open to the Card Creator with this media source.

    🎥 Player Improvements

    • The current subtitle's padding now adjusts to whether or not the bottom menu is currently visible.
    • The file picker used for the Local Media source now marquees filenames if it is too long.
    • File paths found in history will be greyed out under the file picker, and the current active media source will be shown as red in the picker.
    • The file picker will now only show video files that end with known video file extensions instead of showing all files.
    • The transcript now includes a back button to assist users that do not use gesture navigation, as well as the current filename or title of the media, should the user be unsure which video they are playing. This text marquees if it is too long.
    • The player has been improved to work with the new dictionary overhaul, allowing for instant exports of media quickly from a selected word without opening the Card Creator.
    • Card export from the Player no longer waits on media to finish exporting before showing the Card Creator.

    📚Reader Improvements

    • ッツ Ebook Reader is now locally run and included with the application. Users are no longer required to have an internet connection in order to use the reader, and will no longer be affected by site updates.
    • Progress, title and cover art of books are now taken directly by interacting directly with the IndexedDB entries saved to by ッツ Ebook Reader. Inaccuracies and progress not saving or metadata being wrong should no longer occur.
    • Users that wish to delete a book should do so directly from within ツ Ebook Reader.
    • Selecting a word with the Instant Export or Card Creator quick action will now include the current sentence, limited by the Japanese full stop or a newline.

    🛠 Miscellaneous Fixes and Improvements

    • Added a new Android context menu action for jidoujisho which opens the app to a dictionary. This is distinct from the action of sharing text to the app, which will open the Card Creator.
    • The Image and Audio previews have been improved and should no longer sporadically jump places. A new loading indicator has been added for the Audio preview.
    • The Card Creator now shows with a blurred, translucent background for all instances, where it was isolated to the Player in the Chisa versions. This is intended to alleviate the disruption caused by switching screens in between perusing media and creating cards.
    • Fixed an issue where after viewing a video, new videos cannot be loaded up unless the application is killed and restarted.
    • The Forvo Audio enhancement has now been fixed to work with this latest version.
    • The Word field is now called the Term field as some dictionary terms are not words.
    • The Camera enhancement, replaced by the Camera source available under the Viewer in the Chisa versions is once again available and allows the user to take a picture to set as their current image in the Card Creator.
    • A toast will now appear to explain certain behaviours the app has that it did not explain before. For example, turning on incognito mode will explain to the user that history will not be recorded, or that searching with the Image field while having its field blank uses the Term field as a fallback search term.
    • Playing audio in the app will now duck the audio of current playing media instead of stop media.

    🌅 Cutting Room Floor

    • The Viewer and features enabled by Google ML Kit's optical character recognition are not present in jidoujisho Yuuna. These features are planned to be revisited at a later time as newer and better optical recognition options for manga are being reviewed.
    • Returning from context and exported dictionary entries has been sunset as the feature caused memory issues in previous versions.
    • Chinese and Korean support have been cut in order to focus and give attention to improving the Japanese support for the application. Supporting more than one language well is a monumental task. If you are a developer interested in supporting a new language for jidoujisho and learning how to work with the codebase, please get in touch. More information on supporting new languages will also be released later as developer documentation.
    • Tagalog localisation support has been cut from this release to make development faster. This may easily be re-added at a later time.

    There are many more stealth changes that may have not been listed above. These release notes may be updated at a later time.

    2.0.1

    • Fixed an issue with Android 32-bit devices (armeabi) showing a black screen and not launching due to the backing database dependency being outdated (Isar).
    • Fixed an issue where the scrollbar in media sources would appear offset below its intended starting position.
    • Added an option at the bottom of the edit profile dialog that allows a user to alter whether or not Image and Audio text would export with HTML/Anki syntax (<img src="filename"> and [sound:filename]).

    2.0.2

    • Added a new field for Sentence Audio which is used specifically for exporting subtitle audio from video, included as part of the default profile (Thanks to @Natsume-197 via #116).
    • Renamed the Audio field to the Term Audio field.
    • Existing users are advised to add the Sentence Audio field as the last field to their default profile in order for the app to not reset the profile every reinstallation. Users that wish to add this field to their cards must edit their card type CSS.
    • Fixed an issue where .ASS subtitles did not change upon importing a first (#115).
    • Fixed an issue where the Forvo Enhancement did not allow for card export (#123).

    🗒 Where I've been, what I've been up to

    I don't have as much time as I used to to develop jidoujisho, not ever since I started full-time work as a software engineer. For that reason, it's been a while since the last release. I simply can't do nightly releases or be nearly as responsive and active I am towards new issues and feature requests.

    Though I am constantly challenged, thankfully I am still happy with how I am progressing with learning Japanese. Deciding to get into visual novels changed the way I used my app, in the sense that if I am not using the Player component of my app daily, naturally it would see some neglect on the development side of things, but that meant side by side use of my app and my trusty PlayStation Vita when I'm looking up words.

    Visual novels are straightforward if you play them on PC (I really want a Steam Deck bad), and I mostly learn on mobile as I see getting away from the desktop as an escape from work and really the seated fatigue that comes packaged with a ribbon when you pursue this career. I guess the point I'm getting to with this paragraph is that starting fate/stay night a few months ago (and finishing recently!) is really the spark of -- Damn. I wish I could do even better lookups and get better results and performance. That, and really many of the things listed under here are huge wants that people have been asking for for a long time, but I could not do without yet another rearchitecture. And with that motivation, I got to work.

    A lot has changed with my life since the year started. If I made myself one or two or three months ago guess where I'd end up at this time presently, I never would have guessed it would be where I am currently at. My mind is swirling, and I would be lying if I said I'm not afraid of what there is in the road ahead. Hopefully, that there are many new things in my life does not mean that I become neglectful, and I mean that not only in the context of this project and of course, Japanese. Regardless of what might happen, I remain grateful that I started this project. I have learned so many things because of it, in code, language and otherwise, and it has been a gateway to many learning and growing experiences for me. I of course direct that gratitude to the language learning community. And so, I believe that is a rightful give and take with how much being part of it has done for me, that I worked and released this build.

    If you're interested in working with the jidoujisho project, to learn how it works under the hood should you have an idea or a motivation to add something, please do get in touch! I'm looking to soon provide user and developer documentation, and encourage contributors to learn what it takes to make new fields, quick actions, enhancements, media sources and even languages to the application.

    Once again, thanks for your continued support.

    📲 Which file should I download?

    The files below are for different device architectures. As a rule of thumb, arm64 should work for most modern mobile devices. armeabi should work on older devices. Generally, desktops and emulators should use x86_64.

    Depending on which device you are using, download the appropriate APK by expanding the Assets drop-down below and install on your mobile phone by launching the APK with your file explorer.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_yuuna_2_0_0-arm64.apk(114.30 MB)
    jidoujisho_yuuna_2_0_0-armeabi-v7a_hotfix1.apk(136.97 MB)
    jidoujisho_yuuna_2_0_0-x86_64.apk(130.76 MB)
    jidoujisho_yuuna_2_0_1-arm64.apk(114.63 MB)
    jidoujisho_yuuna_2_0_1-armeabi-v7a.apk(137.02 MB)
    jidoujisho_yuuna_2_0_1-x86_64.apk(131.12 MB)
    jidoujisho_yuuna_2_0_2-arm64.apk(114.63 MB)
    jidoujisho_yuuna_2_0_2-armeabi-v7a.apk(137.02 MB)
    jidoujisho_yuuna_2_0_2-x86_64.apk(131.12 MB)
  • 1.1(Dec 10, 2021)

    This release introduces several new enhancements: Massif Example Sentences, Tatoeba Example Sentences and Forvo Audio.

    A special thanks to @rsimmons for allowing me to write an enhancement sourcing and making use of Massif, his excellent curation of Japanese sentences. Without him, I would not be able to source example sentences to the extent and quality that I wanted for Japanese. A continued thanks to @dotnest for their continued support and feedback that allows me to have a laser-focused sight on some critical issues.

    System Requirements: This application has been tested to work on a variety of devices and emulators running Android 7 and above.

    The bundling of multiple language resources has ballooned the file size of the application package significantly. If the installation fails, try clearing enough storage space. Please note that a significant amount of internal storage space may be taken up by the dictionary database for indexing in order to optimize query speed and performance. Try to give the application around 2GB of storage space.

    🌱 1.1

    • 📑 (New Enhancement) Massif Example Sentences - Users will now be able to select a curated range of Japanese sentences from Massif. The enhancement can be found in the Word row of the Card Creator.
    • 📃 (New Enhancement) Tatoeba Example Sentences - Users will now be able to find example sentences from Tatoeba, adaptive to their target language. The enhancement can be found in the Word row of the Card Creator.
    • 🔊 (New Enhancement) Forvo Audio - Users will now be able to source word audio from Forvo, adaptive to their target language. The enhancement can be found in the Audio row of the Card Creator. It can also be used as an auto enhancement, and cascades post-search.
    • ℹ️ As commonly requested, error reporting has been implemented in the application. This will enable a faster and more thorough developer response to bugs and device/user-specific issues. To read more about this error reporting solution, see Firebase Crashlytics.
    • 🐎 Many new and existing enhancements now have caching behavior, and will no longer re-query if the same search has been made since startup.
    • ☝️ Unmentioned among the 1.0 hotfixes, tap and drag subtitle selection modes have now been merged and both styles now simultaneously work in the Player.
    • 🎧 Changed the audio player used for the Card Creator, addressing user interface issues with duration and reliability.
    • ➕ The Text Segmentation enhancement is now available for the Meaning field, likely to be of great use when learning words from monolingual dictionaries.
    • 📜 Fixed an issue where all files regardless of extension, having a similar base name were considered as candidate subtitles.
    • 📁 Fixed an issue in the in-app file picker where having the bottom navigation bar present would hide the bottom-most file.

    1.1.1

    • 🗑️ Added an option in the Dictionary tab's search bar to delete all dictionary history.
    • 🔨 Fixed an issue where searching that returns a cached result does not result to it being the most recent search item.

    1.1.2

    • 🔨 Fixed an issue where the Dictionary tab would sometimes show a white screen after clearing history.

    1.1.3

    • 🐎 Performance optimizations included in Flutter 2.8 have been included in this release.

    1.1.4

    • 📶 Massif Example Sentences has been updated to use the site's new JSON parameter rather than HTML web scraping for sourcing the results.
    • 🐇 Updated the project to use Flutter 2.9 in the master branch, and upgraded several dependencies.
    • 🔧 Fixed an issue and improved smoothness related to the clear all dictionary entries function when refreshing the page.
    • 🌐 Fixed an error in localisation with the AnkiDroid creator prompt in Tagalog.
    • 🔨 Fixed an issue where the dictionary pop-up was closing after selecting a different dictionary in the dictionary menu in the Player when dragging.

    1.1.5

    • 🖼️ Fixed an issue related to the Viewer where in text segmentation, if Add was used and items were selected, a search would be performed instead.
    • 📖 Fixed an issue related to the dictionary pop-up when viewing media where refreshing state searched the current dictionary result again.

    1.1.6

    • 🔨 Fixed an issue where some users were unable to open the file picker due to a null-related error (#66).

    1.1.7

    • 🔨 Fixed an issue where searching with the dictionary would prevent the user from using the Resume button in the main menu.

    1.1.8

    • 📖 The ッツ Ebook Reader media source has been updated to adapt to the site's recent refactor.
    • 🗑️ Added an option to clear browser cache and reader history for ッツ Ebook Reader.
    • 🔧 The horizontal hack for ッツ Ebook Reader media source has been deprecated to use the site's new built-in option.
    • 🎨 Deprecated theme adaptiveness in the ッツ Ebook Reader media source, the app will now use the current app theming.

    1.1.9

    • 📖 Using the pop-up dictionary in the Reader no longer invokes the clipboard, particularly for Android 12 users getting notifications.
    • 🔧 Fixed an issue where sometimes an image would not be included in Anki export when using the Bing Image Search enhancement.
    • 🔨 Fixed an issue where searching but not selecting with the Text Segmentation enhancement changed the Word field.
    • 🔧 Fixed an issue where using the full image view to change the image in the Creator would not affect the exported image.

    1.1.10

    • 📷 Fixed a critical issue related to the Camera media source where after taking a picture, the main activity would crash.
    • 🖼️ Deprecated the Camera enhancement from the Creator due to limitations. You may need to remove it before upgrading.
    • 🗑️ Improved the speed of clearing the entire dictionary and reader history.
    • 🔧 Fixed an issue related to the Image Picker enhancement where picking a different image the second time does not change the image.
    • 🔨 Fixed an issue where returning to the app would result in a black screen.
    • 🔧 Hotfix: Fixed an issue where searching from the Text Segmentation enhancement did not work with the Word field empty.

    1.1.11

    This is a maintenance update to keep the app as functional as can be until the next major release is ready. Until then, this major release will continue to receive critical bug fixes.

    • 🎧 (New Enhancement) JapanesePod101 Audio - Users will now be able to get audio recordings from JapanesePod101 as a source. The enhancement can be found in the Audio row of the Card Creator.
    • 🖼️ Fixed an issue where the Bing Images Enhancement did not return proper image results.
    • 🔧 Upgraded the target Android SDK, fixing an issue where the Japanese parser would not work on some later Android devices.
    • 🔨 Upgraded the youtube_explode_dart dependency.

    1.1.12

    • 📖 The ッツ Ebook Reader media source has been updated to adapt to the site's recent refactor.

    ✨ Introducing example sentences and word audio sources

    🍃 A fresh new start

    I worked really hard on 1.0 because I believed that it was a necessary foundation that needed to be built to continue the vision that I have for this application. Now, with this first major update for Chisa, it feels like turning over a new leaf. There are many things in 1.0 that I wanted to include that I had to cut, so naturally this means that there are still a great many things that I have in store.

    These first few enhancements are an appetizer to those upcoming changes. There are many instances in immersion where I simply cannot get ahold of the entire sentence, but still find it quite easy to enter the word that I want to know and just enter it into my deck, like reading a visual novel on a separate handheld device or on the television. The example sentence enhancements that I've included should have you covered if you were ever at a similar situation, when you just knew a word and wanted to find a sentence, but had no media context.

    Additionally, the new audio enhancement should be very helpful for pronunciation when immersing from non-video sources.

    You should also know that I've included Firebase Crashlytics in the application starting with this version. I prefer to work closely with the people that use my applications, but at the scale that I'm taking this app, I am starting to see the necessity of using more thorough tools to tackle the problems that people are experiencing. Naturally, this comes with a concern about what data I'm collecting. Everything I do is to make this app better, and getting the Dart stack trace would give me an ace in the hole when I can't seem to replicate your issue. I collect and use no more than that. If you have any reservations about the error reporting solution, feel free to let me know.

    Thanks once again to @rsimmons. His work on Voracious and Subadub are among the key inspirations for this application, so I am very grateful to be allowed to write an enhancement for Massif.

    And to everyone, thank you for your continued support.

    📲 Which file should I download?

    The files are split between three device architectures. The arm64 download should suffice for most newer mobile devices, with 'armeabi' for older mobile devices. Generally, desktops and emulators should use x86_64.

    Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below and install with your file explorer.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_1_1_11_x86_64.apk(289.71 MB)
    jidoujisho_1_1_12_arm64.apk(263.83 MB)
    jidoujisho_1_1_12_armeabi.apk(267.11 MB)
  • 1.0.0(Nov 27, 2021)

    This release debuts the new jidoujisho, completely rewritten with a modular project architecture, greatly enabling user and developer customization of the application.

    A special thanks to @dotnest for providing the necessary feedback and details to get the hot fixes for this release out as fast as possible.

    Existing Users: You are recommended to migrate to the new version. Both new and legacy versions can be installed at the same time. However, be advised that versions beginning with 1.0.0 will use a different Anki note type, and that support for legacy versions have now been sunset.

    Make sure you set your Pitch Accent Export Diagrams as Auto and your reading dictionary widget as Pitch Accent if you want the old pitch accent functionality back, and also Bing Search as Auto if you want the auto image search back again. Everything is implemented as modular enhancements now, so if you wish to have the legacy implementation back, these will need to be set up.

    System Requirements: This application has been tested to work on a variety of devices and emulators running Android 7 and above.

    For this debut release, the application currently contains assets for three languages all in one package. The bundling of these languages together has ballooned the file size of the application package significantly. If the installation fails, try clearing enough storage space.

    Please note that a significant amount of internal storage space may be taken up by the dictionary database for indexing in order to optimize query speed and performance. Try to give the application around 2GB of storage space.

    🚀 Debuting jidoujisho's landmark release

    • A familiar experience, retouched and refactored. Existing users will feel right at home, though many new concepts are introduced, along with new optimizations made in state management and data structures. New logo by suzy and Aaron Marbella.
    • 🤝 Three languages. One application. The new jidoujisho initially supports Chinese, Japanese and Korean, architectured so that all it takes to introduce a new language or a dictionary is existing resources, and a single developer motivated enough to write its implementation.
    • 🌐 More places to explore. More ways to immerse. Go anywhere on the web with the new Browser media source, intended for a minimal, distraction-free reading experience. Visit sites like Wikipedia and Syosetu and mine your sentences anywhere with your dictionaries.
    • 🤖 Creator extensions. For the people that control their workflow. Advanced users can easily write their own enhancements that appear as buttons on the creator page. Use existing enhancements or write your own, flag them automatic or cascade them together powerfully.
    • 📖 Dictionary formats. For those wanting words from a certain somewhere. The new architecture provides a neat abstraction for implementing your own custom dictionary formats. Implement your own file format or a web source - and even show results in your own custom widget.
    • 📹 Media sources. Broaden your view. The new framework provides abstractions for Player, Reader and Viewer sources. If you think you're up to introducing a new source to get images from, or get videos to watch, you can simply write your own implementation.
    • 🎆 Throwing flashbang. Users can now switch to light mode if they so wish, with the entire application adapting to theme.
    • 🤔 Recall, revisit and reminisce. Cards exported with the new jidoujisho that have been sourced with context include deep links back to the application. If you're having trouble with something vague in your deck, you can simply return to where it was from.
    • 🖼️ Optical character recognition. Built-in. Powered by Google ML Kit's Text Recognition V2, you can now drag a box and get text from images in the Viewer - whether it be in Chinese, Japanese or Korean script, on-device, offline and in-app.
    • 🤳 Run across something. Snap a shot. The new Camera media source allows you to quickly take a picture or upload your own images, and use them in the Viewer to scan and export immediately.
    • ㊙️ View once. Remember never. Go into incognito mode if you want to view a source without it saving in your history. Dictionary history will still be populated by new words you find, but media sources history will not.
    • 👨‍🔧️ Scoped storage support and other fixes. Users running into permission and file picker issues should now have these addressed, and the application now targets Android 12. Follow-ups and compatibility reports are welcome.
    • ⏯️ New features for existing media sources. Set a subtitle to sync to a current dialogue line that just ended, pick another video without exiting. Put ッツ Ebook Reader into horizontal mode, and have its theme adapt to the UI.
    • 🗺️ A language project in a language project. The application is localized in both English and Tagalog. Not a developer, but fluent in a non-supported language? Make your mark by making a pull request for your localization, and introduce language learning to even more people.

    🔭 A look at the new jidoujisho

    📝 On rebuilding and rewriting an entire application

    I have friends, acquaintances, online and off, English-speaking or otherwise, interested and curious in pursuing this hobby of mine. This release is for all of them. I would preface by saying that developing language learning software is not language learning. Time spent developing this application does not get me any better at Japanese, but regardless I felt a strong motivation to start, plan and release this version and see it in the hands of my users.

    jidoujisho has received around 26 major updates. It began as a small experiment with Flutter, when I realized that nobody had properly done a language learning video application for mobile, and particularly Japanese with AnkiDroid export. I didn't know the way forward after that first version, the first time I posted something on Reddit, but I knew that this kind of pet project was something that I wanted to pursue. It was something that I thought aligned well with my other hobbies, and provided some sort of direction for me in my final semesters of university, when I felt like I had lost all passion for code.

    Now I am sitting here, my eyes shot from over just about a month long sprint from having planned this out, white boarding the architectural changes I wanted to make, checking in with what users want and then finally rising to action. I have made a lot of sacrifices in immersion time, my academics, and perhaps a part of my sanity - which I suppose I could gain back with some good hours of sleep - in getting this written and released.

    However it may be explained to me that some things may deserve a higher priority more than just this project, such things simply do not compute in my head. I felt like this was something I had to do, I had an obligation to release this. And I hope that you, dear reader or prospecting user, existing or new, find this, which I have spent over what must have been over one or two hundred hours of development time, some use in your path to learn.

    This new jidoujisho, which I internally named Chisa for repository and documenting purposes, is a complete rewrite of the application which I have already developed for just about under a year, with many major and minor releases. Essentially knowing what the requirements of the software I had to design were already, I was motivated to architecture it in such a way that it would address the roadblocks that would prevent my vision of the existing legacy project from progressing.

    Many components or entities in the application, dictionary formats, creator enhancements, media sources and languages have been abstracted in such a way that you could simply and quickly replace parts. Japanese is a very popular language to learn, and has a very busy developer community. I wanted to make it in such a way that anyone who was interested in implementing something they wanted, big or small, could do it with just about a fundamental level of programming knowledge. Given that isn't really realistic with the actual complexity and scale of different things people want to do, I wanted to give it my best shot to get a prospecting developer who wanted to bodge simply go for it.

    Chisa is written in null-safe Dart code, and while there are some areas that I am more and less proud of, I have learned a lot building this application. I plan to roll out developer documentation for any developers who wish to maintain a language, media source or branch for this application (do get it in touch!), and similarly I am very happy to get interested developers up to speed, and accept contribution and pull requests from the community.

    This project stands on the shoulders of giants, as many of my dependencies do. On top of the spectacular, growing Flutter community, I also leverage a suite of natural language processing tools (which would explain the file size...). I have an admiration for contributors that have a kind of direct involvement in developing language tools, and I hope to be able to give back in this way.

    In any case, there will be a time for later development. For now, I think I'll rest, kick back, enjoy and immerse. I hope with this you'll be able to do the same.

    📲 Which file should I download?

    The files are split between two device architectures. The arm64 download should suffice for mobile devices, and generally desktops and emulators should use x86_64.

    Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below and install with your file explorer.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_chisa-1_0_18-arm64.apk(261.55 MB)
    jidoujisho_chisa-1_0_18-armeabi.apk(264.80 MB)
    jidoujisho_chisa-1_0_18-x86_64.apk(287.90 MB)
  • 0.26.3-beta(Aug 8, 2021)

    This release introduces a manga viewer to the application, opening up opportunities for users that desire to use renowned community tools such as Tachiyomi and Kaku together in a symbiotic manga OCR mining workflow.

    Users are advised that this feature is intended for use in complement with the existing applications listed. The application will load manga from a Tachiyomi directory, which can be set in the main menu drop-down.

    Once a chapter has been loaded in the viewer, the user may use Kaku alongside the application. Users may tap on Kaku's notification shade to hide or show its OCR overlay box. Once results are obtained, holding onto the Kaku results box with the working area unfocused will allow users to append or replace working text towards Anki export or search with their own imported dictionaries.

    Users are highly recommended to review Kaku's tutorial for instructions on how to manage and correct results before piping them into the application. A keyboard with handwriting support will also come in handy for single character corrections.

    Developer Note: This version has yet to be tested for scoped storage support, and Android 11 may prevent access to wherever Tachiyomi stores its manga downloads and block use of this feature on select devices.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 6 and above.

    Features that are enabled by text segmentation are available on Android devices with a version greater or equal to Android 7 (thanks to howalon for testing). Use of custom dictionaries requires Android 7 or above. If the installation fails, try clearing enough storage space. Please note that a significant amount of internal storage space may be taken up by the dictionary database for indexing in order to optimize query speed and performance.

    0.26-beta

    • (New Feature) Manga Viewer - A full featured manga viewer has been added to the application with a familiar menu, continuous scrolling and chapter progress tracking
    • (New Feature) Manga Mining Workflow - Users may use Kaku alongside the application when reading to use the app, allowing for custom dictionaries, Anki export and less friction on handling text results
    • (New Feature) Tachiyomi Library Support - Users may set their Tachiyomi directory to read their manga on jidoujisho complete with covers and chapters
    • (New Feature) Crop Image - Users may now crop their exported image in the Creator in order to better frame images on their cards
    • (New Feature) Set Alias Name and Cover - Users may now set a custom alias name and cover for books and manga to override auto-detected information
    • Player and History tabs have been merged in order to make way for the Viewer tab, and the main menu bottom bar has been reordered
    • Users may set a list of sources to hide from All sources in the main menu Viewer tab when setting their Tachiyomi directory
    • In order to address possible user confusion, Anki templates have now been unified and all exports will use a single jidoujisho template

    0.26.1-beta

    • Local source manga are now include as a source if available in the Viewer tab
    • Quick word select dialogs will now allow selection of more than one item for selection, tapping will toggle an item's inclusion
    • Full screen mode is now disabled in the Viewer to decrease user error among non-gesture navigation users
    • A search button has been added in the Viewer working area for searching the entire working text
    • Fixed an issue where the dictionary widget in the Viewer would flicker or rebuild when changing focus
    • Fixed an issue where recursive dictionary lookups in the Viewer caused the menu from a Kaku result to appear
    • Fixed an issue where sentence and word were not both exported when exporting from the Viewer
    • Fixed an oversight where definitions overflowed when too long and online definitions did not allow for recursive lookups

    0.26.2-beta

    • Added an option to launch Kaku in the Viewer menu allowing users to easily open the OCR overlay within the app
    • Fixed an oversight where manga shown in the Viewer tab was sorted by name disregarding name alias
    • Fixed an issue where swiping topmost to open the notification shade in the Viewer would not hide afterwards
    • Fixed an issue where clicking on the top or bottom bars in the Viewer when invisible would allow focus
    • Fixed an issue where swiping to reveal the notification shade or changing keyboard focus disappeared a custom dictionary definition result

    0.26.3-beta

    • Improved offline results for some words that end with そうに that did not return results and parse incorrectly, i.e. 溢れそうに
    • Fixed an issue where the audio/subtitles menu would not open in the Player for YouTube videos without closed captions preventing users from requesting automatic captions
    • Fixed an issue where an empty manga folder without chapters would not be rendered properly a manga grid item in the Viewer tab
    • Fixed an issue where when the top and bottom bars are invisible in the Viewer, tapping the area will not unhide the bars
    • Fixed an oversight where tapping on the Viewer tab when active would not scroll the tab up like other tabs

    Symbiosis with existing tools for Japanese through jidoujisho's manga mining workflow

    Developer Note: This is a long-requested feature that I've turned down to implement from several users, and now I've figured out how to make this work. What made this possible is the existing abundance of community tools for reading manga on Android. Tachiyomi is renowned as a site-aggregating manga reader, and Kaku is commonly used by Japanese learners for optical character recognition on Android devices.

    Truth be told, I dabbled a bit on implementing the optical character recognition myself in making this. I tried to make use of Tesseract, read through documentation - I soon came to the conclusion that what time I was squandering was essentially reinventing the wheel. These tools are invaluable independent of each other, and my approach in making this workflow happen is not to reinvent the wheel but to find a way to make these things function well together. Rather than emulate features in a subpar capacity, my goal instead was to leverage existing tools and make the best in filling the blanks that were yet to be filled.

    I'm very happy to release this feature after a long sprint, and I hope that this is found to be useful - maybe this will let me give this medium a better chance. I will be resuming my more laid-back development schedule in hiatus as I am a bit busier and want to still be spending time on immersion, so I hope this sates my users for the time being.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Additionally, if you are having issues importing subtitles or dictionaries due to Android Q's enforcement of scoped storage, you may try the scoped storage branch. This branch is for users who are having issues loading external subtitles from the player menu, load by default will not work due to scoped storage limitations.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_26_3_beta-arm64-v8a.apk(77.47 MB)
    jidoujisho_0_26_3_beta-armeabi-v7a.apk(86.50 MB)
    jidoujisho_0_26_3_beta-x86_64.apk(81.50 MB)
    jidoujisho_0_26_3_beta_scopedstorage-arm64-v8a.apk(77.47 MB)
    jidoujisho_0_26_3_beta_scopedstorage-armeabi-v7a.apk(86.50 MB)
    jidoujisho_0_26_3_beta_scopedstorage-x86_64.apk(81.50 MB)
  • 0.25.12-beta(Jul 9, 2021)

    This release implements term and definition tags present in Yomichan format dictionaries and greatly improves the sorting of custom dictionary search results.

    Users will need to reimport their dictionaries or clear their application data in order to effectively see changes in the application. This release doesn't quite cover frequency and pitch accent dictionaries that use Yomichan's term bank meta schema just yet, further support for other non-dictionaries of Yomichan dictionaries will be covered later.

    Developer Note: Custom dictionary support may require more rigorous testing against a broad variety of Yomichan format dictionaries. If there any issues related to import and how the results are parsed or displayed, let me know.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 6 and above.

    Features that are enabled by text segmentation are available on Android devices with a version greater or equal to Android 7 (thanks to howalon for testing). Use of custom dictionaries requires Android 7 or above. If the installation fails, try clearing enough storage space. Please note that a significant amount of internal storage space may be taken up by the dictionary database for indexing in order to optimize query speed and performance.

    0.25-beta

    • (New Feature) Yomichan Dictionary Tag Support - Imported Yomichan dictionaries will now show their tags all across the application, and can be tapped for tag details
    • Custom dictionary definitions with merged results will now separately also show individual definitions and tags
    • Priority of search results has been drastically improved by taking advantage of term and definition tag counts and popularity parameters
    • Improved reliability of tap to select of off-by-one/two text segmentation failures with no search results by omitting last character as a last resort only when using custom dictionaries
    • Searching in any custom dictionary will allow users to see improvements, term tags are shared across all definitions and tags allowing users to take advantage of popular tags from a single imported dictionary
    • Dictionary history and database will be cleared in this version to ensure compatibility with new features, users will need to reimport their dictionaries
    • Vertical swiping on the player or reader pop-up dictionary is now a quick gesture for switching between dictionaries (feature request by Saku)
    • Addressed the critical ballooning of the application's install package and halved its file size
    • The dictionary name is now included among the tags of results to appropriately communicate to the user the source of the result or the current dictionary
    • Various user interface color scheme changes have been made across the application
    • Fixed a layout related issue where if the search term was too long the search result details at the bottom of a dictionary entry would not elegantly wrap and newline
    • Changed import progress messages to indicate number of tags and also to properly give time to communicate to the user that an import has failed
    • (Hotfix) Fixed an issue (#26) where dictionaries with double values for popularity such as JMdict V2 could not be imported as an integer was used (thanks to Feripe-a for the report)

    0.25.1-beta

    • Implemented database indexing for dictionary entries and tags in order to significantly improve query speed when multiple dictionaries are installed, existing users may need to start from a fresh installation
    • Fixed an oversight where the entry number at the bottom of the pop-up dictionary did not change for the pop-up dialog on the dictionary menu
    • (Hotfix) Fixed a long standing issue (#4) with the VLC player where muxing individual YouTube audio and video streams could have issues when seeking, as a best effort for compatibility only AVC1 codec streams will be parsed (thanks to sp3ctum for the report)
    • (Hotfix) Fixed an oversight where the no search results found message would have reversed swipe controls for next and previous dictionary

    0.25.2-beta

    • To allow for partial results when the text selection is greater than expanded as per (#28), the first word found in text segmentation will now be used as a fallback search term if no exact matches are found (feature request by ttu-ttu)
    • Addressed an inconsistency where export message did not show for exporting sentences from the reader and fixed export message to be consistent with the rest of the UI
    • Fixed an issue where backlashes would sometimes appear for newlines in YouTube closed captions
    • Fixed an oversight where Latin Filter Mode did not function and added some additional characters to the filter
    • Fixed some layout issues involving some scrollbars not having the appropriate color

    0.25.3-beta

    • As per (#27), subtitles will now show when pausing in Listening Comprehension Mode (feature request by T1CkShot)
    • The player menus will now be scrolled at the bottom by default in order to ensure that users with very short device widths are always able to access commonly used options at the bottom quickly
    • Fixed some text widget inconsistencies in the casting menu
    • (Hotfix) Fixed an issue where shadowing mode was enabled when starting up a video
    • (Hotfix) Fixed UI inconsistencies involving text edit field prefix icon color

    0.25.4-beta

    • Fixed a critical issue where some subtitles would not import due to regular expression used to parse SRT

    0.25.5-beta

    • Added an option for a regular expression filter under Subtitle Timing and Appearance to allow users to hide Furigana from displays as per (#32) and the Yomichan solution to this similar issue
    • To possibly address (#31), changed the player widget so that it would not be reactive to the current screen size
    • Applied some optimizations to the subtitle widget to address frame drops, this may require more investigation
    • Fixed a UI inconsistency with the sentence text field having a red suffix icon on hover

    0.25.6-beta

    • Videos that have been watched to 90% progress will now save progress at duration zero to allow users to replay easier
    • Tapping and selecting in the reader will result to the search term being copied to clipboard
    • Improved the search responsiveness of tap to select in the player
    • Fixed an issue where the regular expression result was not trimmed on screen and on export after filtering and an inconsistency where the transcript still showed the unfiltered text
    • Fixed an issue where copying text from the creator will result to a search when returning to the reader

    0.25.7-beta

    • Fixed an issue where a grey screen may appear when the tap to select subtitles widget would overflow and become too long

    0.25.8-beta

    • Fixed an oversight where clicking on a YouTube search suggestion did not hide the keyboard
    • Addressing (#34), fixed an issue where embedded subtitles indexed 10 or above could not be switched to and extraction was not performed (thanks to vladz0r for the report)
    • Fixed an issue where external subtitles were included as an option among listed embedded subtitles
    • A .nomedia file is now added to the storage/emulated/0/DCIM/jidoujisho directory where exported image and audio files are stored before Anki export to prevent Google Drive users from finding the exported files uploaded to the cloud (thanks to MaybeMayoi for the report)

    0.25.9-beta

    0.25.10-beta

    • Resolving (#39), fixed an issue where in some videos, audio tracks did not change according to their proper index (thanks to DanTan3Machi for the report)
    • Fixed an issue where forced auto-rotation would result to some devices with gesture navigation to be unable to exit or use the back button after leaving the player
    • Users that preferred landscape right over left will now need to toggle auto-rotate in their quick settings when using the player

    0.25.11-beta

    • Added min parameter supplied by ッツ Ebook Reader in order to hide unnecessary UI elements (thanks to ッツ)
    • Users that have existing books will see the min parameter applied on the second time they revisit the book
    • Updated youtube_explode_dart to latest commit
    • (Hotfix) Fixed an issue where bookmarking would result to the min parameter not being applied to the book's saved URL
    • (Hotfix) Addressed a redundancy with seek friendly labels as YouTube now offers muxing for all video resolutions

    0.25.12-beta

    • Fixed a regression where subtitle loading changes from 0.25.8 were reverted

    Marking jidoujisho's silver jubilee beta release

    Developer Note: It's been some months since I started on this project. I never knew that I would reach this release number so soon. I've received so much reception for the application over the past few days and I couldn't be happier to see my tool put to use by dedicated Japanese learners. Thank you for continually supporting my pet project, either by giving feedback or just giving me company when I'm too out of it to immerse. Which reminds me, I should immerse.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Additionally, if you are having issues importing subtitles or dictionaries due to Android Q's enforcement of scoped storage, you may try the scoped storage branch. This branch is for users who are having issues loading external subtitles from the player menu, load by default will not work due to scoped storage limitations.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_25_12_beta-arm64-v8a.apk(74.52 MB)
    jidoujisho_0_25_12_beta-armeabi-v7a.apk(84.11 MB)
    jidoujisho_0_25_12_beta-x86_64.apk(78.22 MB)
    jidoujisho_0_25_12_beta_scopedstorage-arm64-v8a.apk(74.52 MB)
    jidoujisho_0_25_12_beta_scopedstorage-armeabi-v7a.apk(84.11 MB)
    jidoujisho_0_25_12_beta_scopedstorage-x86_64.apk(78.22 MB)
  • 0.24.5-beta(Jul 4, 2021)

    This release implements offline functionality by reintroducing custom dictionary support with Yomichan archive format dictionaries. Using custom dictionaries in the application enables instant look-ups and use of broadly available community dictionaries.

    The online dictionary APIs will continue to be available for use in the application alongside custom dictionaries for newcomers to have something to play with. In order to import dictionaries, simply use the new Manage dictionaries option in the main menu.

    Developer Note: Custom dictionary support may require more rigorous testing against a broad variety of Yomichan format dictionaries. If there any issues related to import and how the results are parsed or displayed, let me know. I am also aware that the install size of the application has significantly increased and may address it in the future.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 6 and above. Features that are enabled by text segmentation are available on Android devices with a version greater or equal to Android 7 (thanks to howalon for testing). Use of custom dictionaries requires Android 7 or above. If the installation fails, try clearing enough storage space.

    0.24-beta

    • (New Feature) Yomichan Dictionary Support (#24) - Users may now use Yomichan archive dictionaries in the application by importing them in the new Manage dictionaries option in the main menu (feature request by ttu-ttu)
    • Buttons and shortcuts for switching dictionary modes have now been switched to open the new dictionary selection menu
    • Text is now selectable in the player and reader regardless of which dictionary is being used
    • Fixed a critical issue related to the subtitle wrapper widget not parsing and displaying files with subtitles with more than two lines of text (#23)
    • Fixed an issue where the subtitle widget was constantly rebuilding and consuming resources in tap to select mode, performance has been improved but some more investigation may be needed
    • Fixed an issue where search terms containing only Japanese punctuation were not trivially filtered in search as intended and included in the reader merge into main.
    • Fixed an oversight where the on-device subtitle widget did not show when casting to a display device
    • (Hotfix) Fixed a critical oversight where search in the creator did not open the result selection menu

    0.24.1-beta

    • Refined the search results from custom dictionaries, exact matches will show if found, otherwise close matches will be shown, prioritizing headword matches before reading matches
    • Improved the parsing of definition text in imported Yomichan dictionaries, outer brackets will no longer be present and arrayed objects will be appropriately bullet pointed, existing users will need to reimport
    • Definitions in the Dictionary tab are now limited to 10 lines to account for custom dictionaries with extremely long definitions
    • Overflowed text in the dictionary tab will be truncated with ellipsis, users may enter the creator or hold on the entry to read the full definition should they need to
    • Improved UI performance when importing a custom dictionary, by tasking work to a separate isolate and renamed progress messages
    • Animated jumping dots animation has been reinstated in the main menu where they were replaced with ellipsis due to performance issues mentioned and addressed below
    • Fixed a performance issue related to the Trending tab and Channels screen where the main isolate would block and UI would stutter due to the channels query, this workload has been tasked to a separate isolate
    • Fixed a critical issue where font size did not update after setting it in the player
    • (Hotfix) Fixed an oversight where the subscribed channels would show over the Trending tab instead of the trending channels
    • (Hotfix) Adjusted custom dictionary database querying to try search term before parsed term to improve search accuracy

    0.24.2-beta

    • Custom dictionary import and query operations are now performed in a separate isolate, significantly improving UI performance and eliminating stutter
    • Refined custom dictionary search results of exclusively Romaji results to match Kana results
    • Refined custom dictionary search results of exclusively Hiragana and Katakana, making them match each other
    • Fixed a critical oversight where devices running Android 6 were unable to start the application

    0.24.3-beta

    • Improved accurate use of Yomichan imported custom dictionaries by making use of the popularity number field to sort search results and changed order of priority of fallback deconjugated search terms
    • Users need to reimport their dictionaries as the database import did not include this parameter
    • Dropped the number of maximum search result count in the Dictionary tab from 100 to 50
    • (Hotfix) Reverted a change to the subtitle widget which caused listening comprehension mode and latin filter mode to malfunction

    0.24.4-beta

    • Entries with the same meaning and reading are now merged and reduced into one entry in the search results
    • Entries that have duplicate entries are now prioritized on top of popularity in order to improve the accuracy of search results
    • The layout of imported dictionaries has slightly changed (arrayed definitions are now separated with semicolons instead of bullet point and newline) users are advised to reimport their dictionaries
    • Since 0.23.2, users may have noticed having .null filename extensions for their media exports to AnkiDroid (#25), this behavior is cosmetic and harmless

    0.24.5-beta

    • Vertical swiping on the player or reader pop-up dictionary is now a quick gesture for switching between dictionaries (feature request by Saku)
    • This gesture still works if no matches are found, if the definition is too long and becomes a scrollable field, swipe anywhere outside this area on the pop-up

    Reintroducing Yomichan dictionary support for jidoujisho

    Developer Note: Like the White Cliffs of Dover and a great many things, nothing is built to last.

    When I set out to make my application, I knew that at some point that the packages I'm using and the framework I may be betting on may become deprecated and retired. I used online dictionary APIs, committed into providing YouTube support for the application at the cost of having to play catch-up whenever YouTube decides to change something internally. At some point in time, this will all break. But that doesn't mean we can't try to have them last or that there isn't a point in building stuff.

    I first implemented custom dictionary support in 0.4, but it was extremely slow and didn't use a database, I didn't quite have any idea what I was doing at the present and I did not have the tools and functions that I have at my disposal now that makes implementing the feature so trivial. For a persistent data store, I use ObjectBox and I even used some of the old legacy custom dictionary code. For a long time developing this, it seemed at a lot of points that it was amounting to nothing, until finally I made the first query and it all came together.

    I believe this feature may solidify the lifespan of the application heavens forbid the day comes that I can't work on this project like I do at the present, and I hope that it may serve users that will continue to use it as time keeps ticking on. But enough of that, I need to immerse more.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_24_5_beta-arm64-v8a.apk(124.00 MB)
    jidoujisho_0_24_5_beta-armeabi-v7a.apk(139.42 MB)
    jidoujisho_0_24_5_beta-x86_64.apk(139.52 MB)
  • 0.23.2-beta(Jun 30, 2021)

    This release merges reader assistant preview functionality into the main branch, and significantly overhauls the main menu in order to tie the reading experience into feature parity with the rest of the application experience.

    Web reader functionality is enabled by ッツ Ebook Reader, from which users may upload an EPUB file of their choice and start reading (thanks to 忘我).

    Developer Note: Reader functionality may still benefit from rigorous testing against a wide variety of book formats. If there are any issues related to text selection or Furigana persisting in search or export results, please contact me and let me know.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 6 and above. Features that are enabled by text segmentation are available on Android devices with a version greater or equal to Android 7 (thanks to howalon for testing). If the installation fails, try clearing enough storage space.

    0.23-beta

    • (New Feature) Reader Assistant - The reader assistant preview branch has been merged into this main release. For a full list of features included, see the release notes here.
    • (New Feature) Dedicated Reader Tab - The Reader tab now allows the user to pick and launch the reader into any books they have uploaded to ッツ and will now show the name, progress and cover of books (feature request by Lion Hamster)
    • (New Feature) Reader Return to Context - Definitions from books now have the Context option which launches the reader to the exact scroll position where the word was found
    • Users can now set the subtitle font size under the former Subtitle Delay and Audio Allowance (#22)
    • Extended legacy support for Android 6 allowing users wishing to use the app without text segmentation, unsupported features will be omitted from view (thanks to howalon for testing)
    • The application will now launch to the last used tab to allow the user to pick up where they left off
    • The Library has now been renamed as Player to reduce confusion with the new Reader tab
    • The upper-right resume button is now media type agnostic and will now return the user to the last video or book they have used
    • Trending and Channels have been unified to further encourage use of both tab features, intended as an improved gateway for newcomers to test and experiment
    • The Trending tab is now cached and will invalidate at three hours old, greatly increasing startup speed and fluidity
    • Addressed a redundancy where users could select Channel to go to the user's channel when already in the mentioned channel screen
    • Fixed an issue with the reader parsing where paragraph starts had an illegal character that prevented text segmentation
    • Fixed an issue with the reader parsing where \n would not be replaced and properly encoded when selecting text or exporting them to the creator
    • Fixed an issue where a portrait aspect ratio video would overflow past its own box in the menus and did not have an opaque background
    • Fixed an issue on low-end devices where the dictionary may not be ready to show when the pitch accent definitions have not been initialized, the widget will now rebuild appropriately when ready
    • Fixed an issue where the Share YouTube Video Link option was visible for all videos including local videos and network streams
    • Fixed a rare issue where history persistent variables are not properly saved and will result to the History screen being blocked when a video is quit too early
    • (Hotfix) Fixed an oversight where notification bars were not returned after exiting from the reader

    0.23.1-beta

    • Replaced jumping dots animation with ellipsis to some empty screen messages to address possible stutter frustration when menu is initialising
    • Fixed an issue where the resume button did not have the same behavior as the Continue Reading button and would browse to the last book added to ッツ Ebook Reader rather than the last book read
    • Fixed an oversight where the Trending tab did not conform to other tab behavior and did not scroll to top when re-selecting the tab when already shown
    • Fixed an oversight where the Reader tab did not conform to other tab behavior had a fixed button header rather than one that scrolled with the grid view
    • Fixed an oversight where book titles faded when not fitting the widget rather than having ellipsis and set a maximum line length of two, the name box size has also been adjusted
    • Fixed an oversight where the user could start the player with a blank URL field in the Enter network stream URL option
    • (Hotfix) Addressed a critical issue where a user could have a blank reader screen with Continue Watching, unable to open the reader until app data is cleared

    0.23.2-beta

    • Addressed a critical issue where some users were unable to use AnkiDroid scoped storage directories on internal storage and external SD cards as their directory when exporting to the media collection
    • The app can now export to the AnkiDroid media collection when the directory is set to the SD card directory, i.e. /storage/XXXX-XXXX/Android/data/com.ichi2.anki/AnkiDroid
    • Users no longer have to Check Media before syncing their media to AnkiWeb (#6)
    • Deprecated the Set AnkiDroid directory option, the user no longer needs to set it and the app will know the current AnkiDroid directory
    • Fixed some remaining jumping dots animation not being changed into ellipsis in the menu

    A unified language immersion experience for mobile

    Developer Note: This is a release that I thought I could delay a bit so I could rest but I just couldn't resist. I've pondered for a while if it would be better to maintain separate player and reader versions of the application and serve whichever version to whomever interested, but I am so much more satisfied with this.

    A lot of time was spent rethinking how the app would look after the merge. I didn't want to clutter the app with more tabs, and I did not want to cut any features either. So, I had to move a lot of stuff around while making sure that whatever is already possible to do quickly can still be done in the same speed after the makeover. For example, I am certain that many users don't really think much of the Channels tab and probably update from version to version leaving it blank. Yet, I still have a motivation to maintain those features while making room for more.

    The preview branch and this merge has vastly increased the scope and complexity of the application, and I hope to maintain the scale and quality of things as I keep moving forward with development. A huge thanks again to ッツ for allowing me to use their reader. I truly couldn't have done much without it.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_23_2_beta-arm64-v8a.apk(73.78 MB)
    jidoujisho_0_23_2_beta-armeabi-v7a.apk(83.59 MB)
    jidoujisho_0_23_2_beta-x86_64.apk(77.44 MB)
  • 0.16.8-beta-kren(May 11, 2021)

    This pre-release introduces experimental Korean to English bilingual and monolingual dictionary support into jidoujisho as a separate application. The definitions are sourced from the Basic Korean Dictionary hosted by the National Institute of Korean Language. On-device text segmentation is done through Mecab Korean dictionaries.

    This is a fully functional but experimental build. The query times are longer than desirable and the implementation is very simplistic. Extensions for the future include performing more operations on-device in order to improve and cut down the query time. Regardless, the application is ready for use and any feedback on this version would be highly appreciated. This pre-release is mostly in feature parity with the Japanese version of jidoujisho. Video playback, subtitles and automatic captioning and other YouTube supported features are functional and the card creator can be used, albeit with patience.

    Developer Note: Please be aware that I am not a Korean language learner -- I have no awareness of what is a more or less correct definition other than that the results match from the site to the application. If the Korean language learning community could point me in the right direction of how to further improve the language support in this pre-release, I would be happy to do so. This pre-release serves merely as a demonstration of how jidoujisho language support can very easily be extended in a brief amount of time should any developer set their mind to it. Better support will come further down the line.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 7 and above (thanks to Hexavall). If the installation fails, try clearing enough storage space (Cheers to kekkonkinenbi for letting me know).

    0.16-beta-kren

    • (New Feature) Korean-English support - Users can now install this version of the application and use it to query Korean-English dictionary definitions
    • Changed UI labels and theme to be appropriate to the language
    • Changed 'About this app' to have the appropriate attributions

    0.16.3-beta-kren hotfix 1

    • Changed the Android package name to allow installation of Korean version alongside Japanese version
    • Slightly improved query speed
    • Fixed an issue where search did not work out of playback when the last mode used was tap to select

    0.16.3-beta-kren hotfix 2

    • Implemented on-device text segmentation with Mecab Korean dictionaries, tap and drag modes should now have the same query speed
    • The application package file size has significantly increased to include Mecab Korean dictionaries
    • Bilingual search results are now text selectable in the pop-up dictionary, should a word come up with a verb conjugation result, one can copy the search result suggestion to search and get to the root word
    • Drastically improved the parsing of Korean text, disregarding spaces for word parsing
    • The tapped text will now show when searching in tap to select mode and on error
    • Bilingual and monolingual search results are now cached, so queries that have been made won't need to be queried again
    • Changed 'About this app' screen to change attribution details

    0.16.5-beta-kren

    0.16.6-beta-kren

    • Fixed an issue where accent colors were mismatching for some player menu elements

    0.16.7-beta-kren

    • Changed the smart resume conditions on export and on opening the transcript menu
    • Exporting with no subtitles will now export the current duration with respect to bi-directional audio allowance
    • Shadowing mode now works with no subtitles and will work with respect to bi-directional audio allowance

    0.16.8-beta-kren

    A glimpse of jidoujisho's Korean dictionary queries

    Developer Note: My primary motivation for making this version even though I'm quite busy is to encourage more of my friends to engage in this same hobby that I've found my passion in, so this release is a shout out and dedication to Franc Stephen Gloton, who I hope greatly benefits from this application. It's time to get immersing.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_16_8_beta_kren-arm64-v8a.apk(91.64 MB)
    jidoujisho_0_16_8_beta_kren-armeabi-v7a.apk(101.44 MB)
    jidoujisho_0_16_8_beta_kren-x86_64.apk(95.30 MB)
  • 0.23.5-beta-readerpreview(Jun 22, 2021)

    This experimental release debuts a dedicated reader assistant workflow for jidoujisho as a separate standalone application. Depending on the reception of this branch, reader functionality may be merged onto the main application.

    Only two menu tabs are present in this preview, Dictionary and Reader. The new Reader tab launches an in-app WebView accessing Ttu-Ebook, from which users may upload an EPUB file of their choice and start reading (thanks to 忘我). Selected text will have bilingual or monolingual lookup options, with an option to open the creator.

    Developer Note: This release may require more rigorous testing with a wide variety of book formats. If there are any issues related to text selection or Furigana persisting in search or export results, please contact me and let me know.

    System Requirements: This preview release has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 7 and above. If the installation fails, try clearing enough storage space.

    0.23-beta-readerpreview

    • (Preview Feature) Reader Assistant - Users may use the application as a dedicated assistant which allows easy lookup and card creation while reading (feature request by coredump and Rainbowsaur)
    • This preview release is minimal and some features from the main branch have been cut to focus on the preview features

    0.23.1-beta-readerpreview

    • (Preview Feature) Tap to Select for Reading - Tapping on a word will now query the selected text and index for text segmentation (feature request by coredump)
    • The tap to select script encapsulates and affects the entire reader area, and consequently images cannot be tapped to be unblurred, users can circumvent this for now by manually unblurring them in the site options

    0.23.2-beta-readerpreview

    • Fixed an issue where swipe end would count as a tap action and change the word
    • Fixed an issue where images could not be clicked on to be unblurred

    0.23.3-beta-readerpreview

    • Added a filter so that searching for punctuation would not perform redundant dictionary search queries
    • Added padding at the bottom of the pop-up dictionary so that the word count could still neatly be seen below
    • Fixed an issue where newlines in selected text were not properly encoded and were present as \n in the found for text and when passed to the creator
    • Fixed an issue where clicking on the spoiler text ネタバレ in the web reader would result to searching for that word
    • Fixed an issue where having copied something in the creator would result to a search for that word when returning to the web reader
    • Fixed an issue where monolingual search results would not return spaces in the headword
    • Fixed an issue where redundant blank garbage results would return with monolingual results

    0.23.4-beta-readerpreview

    • Fixed a critical issue where Furigana was improperly included in both tap and drag to select results, resulting to kana appearing after each individual kanji in the search and export term (thanks to Lion Hamster for the report).
    • The solution has been tested with several books, but may require further tracking as Furigana syntax may vary between EPUBs

    0.23.5-beta-readerpreview

    • Fixed an issue where some books in Kobo format with span-encapsulated paragraph text did not work with tap to select (thanks to Sena for the report)
    • Fixed an issue where Furigana persisted in span-encapsulated paragraph text in manual drag selection
    • Tightened the condition for bypassing search when clicking on the text ネタバレ in the web reader

    A dedicated in-application workflow for readers

    Developer Note: This is one of the most requested features I've had, and it seems very simple on paper but it was very hard to realize. To start with, extracting content from an EPUB file can be a huge undertaking given all the necessary formatting and how to handle things like Furigana. Existing libraries would not allow the text to be both selectable and well formatted. More than that, there is no easy way to render Flutter text in a vertical orientation, right-to-left scrolling and lazily rendering those individual paragraphs is not a pretty sight in Flutter. One can render it all as RichText spans with a package that takes EPUB converted HTML and renders it as a widget on the Flutter canvas, which is an entirely other rabbit hole of Flutter SDK issues.

    At this point, I had given up and instead made several releases towards making it really easy to share text from any source, but it wasn't exactly a dedicated in-app reading experience. I had my eyes set on Ttu-Ebook, which is my favorite reader to use. It has most of the basics set up to start reading in Japanese. I couldn't initially get it to work due to an issue with flutter_inappwebview which couldn't let me import a file, but thanks to a recent pull request I am now finally able to work on this. I also had to learn a bit of JavaScript to allow the WebView to render the context menu when selecting text properly with horizontal scrolling, as it was overlooked in that package.

    This has been quite the adventure, and I am now very satisfied to finally fulfill this feature request. Any and all feedback is much appreciated. Read, read, read.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_23_5_beta_readerpreview-arm64-v8a.apk(73.27 MB)
    jidoujisho_0_23_5_beta_readerpreview-armeabi-v7a.apk(83.06 MB)
    jidoujisho_0_23_5_beta_readerpreview-x86_64.apk(76.94 MB)
  • 0.22.1-beta(Jun 19, 2021)

    This release introduces a significant number of quality of life and stability improvements, improving existing features as a general health update to the application.

    Major changes include much faster monolingual dictionary querying through the Sora dictionary API, time tracking and resume to duration for all videos in history and easier channel visiting and listing. See the update log below an extensive list of the changes.

    Template Updates: There were template updates in the last major versions. Instructions on how to update the template can be reviewed here.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 6 and above (thanks to howalon). If the installation fails, try clearing enough storage space.

    0.22-beta

    • Migrated from using Goo.ne.jp as a monolingual dictionary source to Sora dictionary API, significantly decreasing query speed and increasing the accuracy and number of returned results (massive thanks to sp3ctum)
    • The History screen will now include the video duration of recently played videos
    • Resuming for playback will now work for all videos in history, consistent with a new progress bar
    • The Channel action when holding onto any selected video in the menu will now redirect directly to the channel to encourage exploration and viewing related content
    • Implemented persistent caching for closed captioning which reduces the redundancy of queries upon restarting the application
    • Added a star button as a List or Unlist button beside the channel when viewing a channel to encourage users to add channels easier
    • Added a new error message to inform the user that loading YouTube videos fail and advises the user to report the issue to replace the grey screen, with an option to try again
    • Changed the width of the video thumbnails to be adaptively proportional to two-fifths of the user device width
    • Changed the definition output of the monolingual dictionary results to increase readability and for more consistency with bilingual dictionary results
    • Removed blink behavior of images searched in the card creator by pre-caching images upon search
    • Removed the option for the term bank directory and deprecated legacy monolingual dictionary functionality (if this significantly affects your workflow, please report it to the tracker)
    • Fixed an issue where cancelling the file picker when using the Library button would result in a permanent black screen
    • Fixed an issue where sharing when the app was not launched did not open the card creator at times
    • Fixed an issue where changing from YouTube subtitles from no subtitles did not work due to an oversight
    • Fixed a critical issue where YouTube playback failed due to a YouTube-sided change breaking youtube_explode_dart (thanks to GenericUsername for the report)

    0.22.1-beta

    • Improved the recursive queries made to Jisho.org, resulting to inflection searches of terms such as できない and 教えて to properly return the proper deinflection
    • Fixed an oversight where audio option was not highlighted until selected in the subtitle/audio menu for YouTube videos
    • Fixed an oversight where menu was not refreshed after returning from video
    • For Android 6, the app now forces drag to select mode and hides the option to change to tap mode as text segmentation does not seem to work consistently under SDK 24 (thanks to howalon for the report)

    A general health update for jidoujisho

    Developer Note: I've been working tirelessly on major feature after feature, so I've taken the recent opportunity finally having some free time to fix a lengthy list of bugs that I've had my eye on for a while now. Later on, I want to do a refactor of the entire codebase and improve the referential transparency of many aspects of the application.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_22_1_beta-arm64-v8a.apk(73.69 MB)
    jidoujisho_0_22_1_beta-armeabi-v7a.apk(83.50 MB)
    jidoujisho_0_22_1_beta-x86_64.apk(77.36 MB)
  • 0.21.2-beta(Jun 14, 2021)

    This release introduces Plex external player support and non-YouTube network streams support to the application, allowing users to stream content from their local area network or Plex library onto their device (feature request by cademcniven).

    Please note that while the application can change through embedded audio tracks, embedded subtitles do not work over network streams. This is due to how the subtitles are muxed across the entire file which would require reading of the entire file over the network stream, as opposed to streaming the audio track on-demand or extracting only a small portion of the video or audio file.

    Users are advised to bank all of their external subtitles onto their device should they desire to make use of this feature.

    Developer Note: Users may face a known Plex issue where the player will be unable to start a stream from their mobile device, particularly using an external player. This is not a jidoujisho issue, as other external players will also not function and refuse to start playback from the network URL. If faced with this issue, users may disable secure server connections as described in the Plex documentation.

    Template Updates: There were template updates in the last major versions. Instructions on how to update the template can be reviewed here.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 7 and above. If the installation fails, try clearing enough storage space.

    0.21-beta

    • (New Feature) Plex External Player Support (#21) - Users are now able to select jidoujisho as an external player for the Plex for Android application and stream from a Plex library
    • The Enter YouTube URL option in the main menu has now been changed to Enter network stream URL, allowing non-YouTube network streams to be played in the application
    • The application will now show as a video player option system-wide, i.e. when selecting files from a file picker and may be set as a default app
    • Slightly improved the loading speed of the player upon file playback
    • Cache is now managed by the application after playing a file from scoped storage in order to save space and reduce file redundancy
    • Fixed an issue where an imported video or non-image file would open the creator

    0.21.1-beta

    • Fixed critical player mode issues which prevented player from playing back
    • As a quality of life feature, if the sentence field is not empty, a reader card will be exported, otherwise a creator card will be used, the export button will communicate this distinction
    • Fixed an issue where playing a video from share or view intent and returning did not terminate or pop the app appropriately in some cases
    • Fixed an issue where network streams changed last played path and duration, as it should not affect resume function
    • Fixed some overflow issues in the main menu which led to clips for the closed captioning row and the version tag

    0.21.2-beta

    • (New Feature) Blur Widget - A new option in the audio/subtitles menu will allow users to blur over hard-coded subtitles, particularly useful over network streams
    • How the widget is positioned and sized will persist in between sessions, as well as blurriness and color, and the position can be reset if ever the widget goes out of bounds

    Introducing Plex support to jidoujisho

    Developer Note: I'm a Plex user myself, so I've desired to implement this feature myself for a while, and I couldn't quite figure out how to do it. Between a lack of documentation of how Plex streaming works and which Android intents were required to get the application to show up on the list of external players, as well as figuring out where to draw the line as ffmpeg could not pull the embedded subtitles in a timely manner, I am happy to have found stability in this feature very quickly and am happy to release it.

    In my development process, I am happy to always put an effort in to eliminate the small extra efforts that users need to make which add up to a sum fatigue, and for myself and many others, I am sure that getting video and managing file storage on your mobile device is a hassle to be unmissed.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_21_2_beta-arm64-v8a.apk(73.70 MB)
    jidoujisho_0_21_2_beta-armeabi-v7a.apk(83.51 MB)
    jidoujisho_0_21_2_beta-x86_64.apk(77.36 MB)
  • 0.20.1-beta(Jun 11, 2021)

    This release implements a Romaji filter that can be enabled in the audio/subtitles menu, which strips and hides away subtitle lines that have Latin characters or English punctuation characters. This feature is useful for practicing reading comprehension for videos that include Romaji subtitles alongside Japanese subtitles or preventing accidental viewing of English subtitles.

    If a line has exclusively Latin characters or English punctuation characters, the line will be hidden overall. Otherwise, if the Latin characters co-exist in a line beside Japanese characters, the characters will be replaced by maru (○) to indicate use of Latin characters.

    Developer Note: The filter has been tested on a variety of Japanese and English subtitles. Should any significant special character artifacts exist in your subtitles when using the filter, please feel free to report it to the issue tracker so that I may improve the filter. I will need to know in particular which Unicode characters are involved.

    Template Updates: The default templates have been updated with 0.20.1. Instructions on how to update the template can be reviewed here.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 7 and above. If the installation fails, try clearing enough storage space.

    0.20-beta

    • (New Feature) Filter Latin Characters - Users are now able to select a new option in the audio/subtitles player menu which will censor out most characters used in English to improve reading comprehension experience for subtitles that contain non-target language text
    • Typography used in the app has changed, fixing a critical issue where Han unification characters were shown in the app rather than using Japanese characters
    • The creator will now not automatically search a photo when opened via a share context (as a quality of life experiment for users who intend to use the app for novel and manga mining), if this significantly affects your workflow, please make an issue
    • If the image search term field is empty when the search button is pressed, the word will now be used as the search term as a quality of life improvement
    • Added a warning to inform a user when they watch a video from scoped storage rather than direct play
    • Fixed a significant player performance issue where the tap subtitle widget would constantly rebuild during playback
    • Fixed an issue where video history would not update once the maximum of 20 videos has been reached
    • (Hotfix) - Added tilde (~) to allowed characters to check only for line striping

    0.20.1-beta

    • The default templates have been slightly changed. Instructions on how to update the template can be reviewed here.
    • A new reader template is used for shared text on the edge case that users desire to have a picture in the front for manga cards and in the back for novel sentence cards
    • The export button will now indicate if the standard creator or reader template is used
    • Reverted a change where a picture was not automatically searched for when sharing text into the app, and selecting a word will now also search a picture once again
    • Doubled the thickness of the pitch accent diagrams in the default templates

    Notes on making a supposedly fairly functional filter

    Developer Note: Every little effort to focus oneself to consuming more target language content rather than native language content is a significant improvement, so I desired to work on this feature. It was an interesting thing to implement, and it reminded me of the Scunthrope problem.

    At first, I got rid of all the English relevant ASCII characters, which left me with a problem for non-English subtitles. I was fortunate to have some Spanish and French subtitles to test at hand. I then had to take an extended alphabet into account to include diacritics and accents. I then realized that punctuation was hit or miss - and sometimes that Japanese subtitles would sometimes use Western punctuation marks. I had to make it so that the punctuation marks only get censored if the rest of the subtitles were mostly those filtered Latin characters.

    Then, I had to decide when to strip away the line completely, and when to just keep a partially censored line around. What I've decided is that if Latin characters existed alongside Japanese, maru or ○ would be shown instead to inform the user that there is censored text that may or may not be of interest to them. They may then turn the filter on or off to their own content.

    It's a very complicated issue, and what results is a filter that I am mostly happy with and probably tailored to perfectly censor what videos I have tested with, but I am sure that some edge cases exist for some videos that simply do not conform to the standards I have observed in subtitles.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_20_1_beta-arm64-v8a.apk(73.64 MB)
    jidoujisho_0_20_1_beta-armeabi-v7a.apk(83.45 MB)
    jidoujisho_0_20_1_beta-x86_64.apk(77.31 MB)
  • 0.19.1-beta(Jun 6, 2021)

    This release introduces Chromecast support to the application, allowing for a second screen experience for sentence mining while casting on wireless displays. Users are now able to start casting with the new Cast to Display Device option in the player menu.

    Casting functionality was tested on a Google Chromecast with Google TV (2020) device, and presumably works with an assortment of Android TV devices. Please note that subtitles do not cast to the selected display device (this is an Android TV limitation), and thus this new feature is only recommended for use to learners that may do without them. The font is larger and centered when casting in order to alleviate this drawback.

    Casting experience may vary based on network performance and the supported formats of the selected display device. In particular, only seek-friendly streams work for casting YouTube videos (the player will switch to the best seek-friendly quality when casting), and videos with AAC are not compatible with the 2020 model that was tested on.

    Template Updates: A reminder that there are template updates from the last two major versions. Instructions on how to update the template can be reviewed here.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 7 and above. If the installation fails, try clearing enough storage space.

    0.19-beta

    • (New Feature) Wireless Casting - Users are now able to select Cast to Display Device in the player menu in order to start streaming to a wireless display.
    • The text is centered on screen and 1.75x larger than normal during casting in order to enhance the second screen experience.
    • When no subtitles are present, rewinding and shadowing will now use the audio allowance.
    • As a quality of life improvement when no subtitles are available, if no audio allowance is set, rewinding, shadowing and audio export will now cover the 10 seconds around the current player position.

    0.19.1-beta

    • Fixed an issue where VLC scan could result to null and critical crashes, this issue may need further monitoring

    A second screen experience for language learning

    Developer Note: This is definitely a very niche feature, given the Venn diagram of users that are dedicated Japanese immersion learners and Google Chromecast owners. So why implement this feature? Because we can. Also, I just got a Chromecast lately, so might as well.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_19_1_beta-arm64-v8a.apk(73.64 MB)
    jidoujisho_0_19_1_beta-armeabi-v7a.apk(83.45 MB)
    jidoujisho_0_19_1_beta-x86_64-.apk(77.30 MB)
  • 0.18.1-beta(May 31, 2021)

    This release introduces significant improvements to the application's share features, enhancing the workflow for readers. Users are now able to select a word much more quickly from an imported sentence and many changes have been made to accelerate use of the app alongside a reader application.

    Developer Note: My first proposition for this kind of update was that I would fork the application into an EPUB reader, and I tried a great number of things to try and make one with Flutter. There were many SDK roadblocks that slowed me down, with no proper selectable text support for EPUB to HTML widgets, no out-of-the-box way to implement vertical text for Japanese without heavy modification of dependencies, no in-line furigana and so on.

    I have decided to go with this route instead, greatly enhancing and making the share workflow much more straightforward and succinct. Rather than reinvent the wheel, I have decided that this application should complement the many readers that users may choose with the unique features that my application has, instead of attempting to replicate what already exists elsewhere.

    Template Updates: There are significant changes to the default creator Anki template. In particular, these include putting the sentence in the front of the card and doing away with the word in the front. This encourages the default template for use by both manga and novel readers straight out of the box. The full template with instructions on how to edit the template can be reviewed here.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 7 and above. If the installation fails, try clearing enough storage space.

    0.18-beta

    • ~~(New Feature) Process Text Action - Users may now select jidoujisho system-wide from selected text in order to import a sentence from any reader application, the share option remains the same~~ (Scrapped in 0.18.1: Too high maintenance and has varying compatibility for different apps and devices, share text action is more compatible for the same functionality)
    • (New Feature) Creator Sentence Segmentation - A new option is available under Sentence in the Creator, allowing users to quickly select a word from an imported sentence
    • When sharing text into the app, if the shared text is a word, it will go to the word field, otherwise it will now go to the sentence field
    • Changed the behavior of the hardware and in-app back button to minimize the application when sharing into the app
    • The app will now minimize after card export after sharing and exporting with the app
    • The bottom navigation bar and upper-right menu actions are now hidden when using the Creator, giving focus and space to other widgets
    • Changed the icon of the image search option and the positioning of the fields in the Creator
    • Fixed an issue where after sharing reopening the app would result to the Creator showing again
    • Fixed an issue where cards would sometimes not export when the word field was left blank
    • Fixed an issue where using the back button from the main menu would result to the application being closed, the app will now be minimized

    0.18.1-beta

    • Removed the system-wide Process Text Action in favor and promotion of the more stable and simpler Share Text Action (Thanks to coredump for a quick report).

    A release for motivated readers

    Developer Note: Slowly, I'm getting faster and faster when reading manga, and lately I've started and picked up novels. It's becoming more and more apparent to me just how much I gain from pleasure reading. It's an amazing way to learn new vocabulary, seeing words that stump you in the beginning show up in later chapters completely leaves spaced repetition systems in the dust. I wish the obvious was branded onto my brain from the very beginning -- the only way to improve reading skill is to read. This update is not only for me, but for my fellow users who are eager to keep learning Japanese through pleasure reading. Read, read, read.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_18_1_beta-arm64-v8a.apk(73.62 MB)
    jidoujisho_0_18_1_beta-armeabi-v7a.apk(83.43 MB)
    jidoujisho_0_18_1_beta-x86_64.apk(77.29 MB)
  • 0.17.4-beta(May 27, 2021)

    This release implements pitch accent, showing pitch accent diagrams in place of the reading where available in the pop-up dictionary, main menu and creator mode. Cards may also be exported with pitch accent diagrams after a required template update. The pitch accent data is sourced from Kanjium, formatted and parsed similarly to Yomichan's functionality.

    Template Updates: In order to make use of the new pitch accent exports, users are required to update their Anki templates. In particular, users will only need to add the following lines to both their video playback and creator CSS card templates. The full template with instructions on how to edit the template can be reviewed here.

    .pitch{
      border-top: solid red 1px;
      padding-top: 1px;
    }
    
    .pitch_end{
      border-color: red;
      border-right: solid red 1px;
      border-top: solid red 1px;  
      line-height: 1px;
      margin-right: 1px;
      padding-right: 1px;
      padding-top:1px;
    }
    

    The new template is backwards compatible and cards from before this release will continue to function. Existing cards generated before this release will not have pitch accent diagrams. If you wish to effortlessly add pitch accent diagrams to your existing deck, you are encouraged to sync your Anki collection to desktop and utilize a third-party add-on.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 7 and above (thanks to Hexavall). If the installation fails, try clearing enough storage space (Cheers to kekkonkinenbi for letting me know).

    0.17-beta

    • (New Feature) Pitch Accent - Readings that have appropriate pitch accent data will now be shown in the pop-up dictionary, main menu and creator mode. Anki cards can now be exported with pitch accent diagrams if available.
    • Changed the default Anki template for both cards in video playback and creator mode to introduce pitch accent exports. Existing users are required to edit their CSS to the new default templates to display the new pitch accent diagram exports.
    • Changed the default Anki template for cards exporting during video playback to only show the sentence to encourage users to improve their reading comprehension.
    • Fixed an issue where the dictionary could not be used to search for words in the main menu if the dictionary was empty unless words were added from video playback or creator mode prior.
    • Application startup may be a bit slower as the pitch accent dictionary needs to initialize with each startup.

    0.17.1-beta

    • Fixed a critical export issue where a mismatch in the dictionary and the export occured, suggesting in export that the starting pitch is always high, resulting in wrong exports for Odaka and Nakadaka readings

    0.17.2-beta

    • Headword and reading results from Goo.ne.jp are now sanitized of artifacts to be consistent with Jisho.org results and to be cleaner.
    • Fixed an issue where in some words (e.g. 学校) small tsu was not parsed as separate mora, which resulted in some wrong patterns
    • Fixed an issue where patterns did not show for some headwords that did not have a reading (e.g. ぐつぐつ)

    0.17.3-beta

    • Initialization of pitch accent data is now asynchronous, returning app launch speed to as it was prior
    • Fixed an issue where partial reading matches would work for some pitch accent entries, changed to use exact matches.

    0.17.4-beta

    • Added scrollbars on most scrollable widgets in the application to inform user of progress and allow quicker bar scrolling
    • Tapping on a tab when it is already highlighted in the main menu will now scroll the tab to the top
    • Removed Cancel from several dialog options which redundantly padded the width of dialog options
    • Fixed an issue where pitch accent exact matches did not work for entries with multiple headwords
    • Fixed an issue where scroll position would jump and not save properly when using the Dictionary tab
    • Fixed an issue where some words like 人 from Jisho.org had some artifacting in the headword

    The pitch accent update

    Developer Note: In response to recent conversations and debates in the language learning community about the importance of studying Japanese pitch accent, I have decided that this is a feature that is absolutely necessary to include in my application. While I myself am not passionate about immediate output or sounding indistinguishable to a native as soon as possible or at all, I believe in supplying the most dedicated Japanese learners with the resources that they want in order to achieve their aims. I hope that this release empowers users to fulfill whatever aim they have in regards to pitch accent.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_17_4_beta-arm64-v8a.apk(73.62 MB)
    jidoujisho_0_17_4_beta-armeabi-v7a.apk(83.42 MB)
    jidoujisho_0_17_4_beta-x86_64.apk(77.28 MB)
  • 0.16.7-beta(May 8, 2021)

    This release implements resume from context and allows users to hold on a definition in the Dictionary tab to resume to the exact subtitle that was clicked on to yield the definition. The intent of the feature is to encourage a feedback loop of understanding words not only from dictionary definitions but also from the context they came from.

    Many of the enhancements and fixes in 0.15's newly introduced card creator has expanded the scope of the application to a card creation toolkit. The Clipboard tab has now aptly been renamed the Dictionary tab, with a new search button to allow use of the application as a standalone dictionary if so desired. In addition, the dictionary history items are now grouped by search query.

    Creator Template Updates: The default creator template has changed since the first release of the card creator. Changes include now including audio and sentence in the default template if users desire to use them, and a default maximum height to account for portrait images too big for the card without bounds. The templates of existing users are backwards compatible and will continue to function. If you desire to update, the updated templates can be found here.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 7 and above (thanks to Hexavall). If the installation fails, try clearing enough storage space (Cheers to kekkonkinenbi for letting me know).

    0.16-beta

    • (New Feature) Resume from Context - Users will now be able to hold onto dictionary definitions in the newly renamed Dictionary tab and may select Context to resume from where the subtitle was sourced for review purposes, definitions that will function with this are labelled with 'from video'
    • Search terms are now trimmed to sanitize how they appear in dictionary history
    • Fixed an issue where whatever screen on the main menu did not update upon returning from video playback
    • Fixed an issue where the search result widget did not look elegant when lengthier than usual
    • Fixed some layout issues related to the pop-up dictionary

    0.16.1-beta

    • Significantly improved the initial load speed and lazy loading performance of videos from listed channels that have a large amount of videos where sometimes the list did not load in at all
    • Removed sorting videos by oldest, users who formerly relied on this are advised to find videos in the official YouTube app and share them into the application instead
    • Dictionary scroll position is now remembered when moving away from the dictionary tab or into the creator
    • Improved the parsing of YouTube automatic captions to flatten duplicate consecutive subtitles
    • Fixed an issue where sometimes subtitles from queried YouTube automatic captions did not appear on screen
    • Changed the labels of some main menu elements

    0.16.2-beta

    • (New Feature) Set Preferred Video Quality - With a new option in the video quality option menu, users can now choose their preferred YouTube quality between last selected and lowest and highest quality (with seek friendly and all streams) options (#19)
    • Player will now appropriately change if a YouTube link is shared while another video is playing (#20)
    • Significantly changed the player menus to have coloring to indicate the current playing audio and subtitle, YouTube resolution and the active immersion modes
    • Reordered and repositioned user interface elements in the player menu
    • The adjust delay and allowance screen now resumes playback if the video was playing beforehand
    • Added an option to toggle shadowing mode in the player menu to make the feature's presence more apparent

    0.16.3-beta

    • Fixed an oversight where 'Subtitle - None' was highlighted when an external subtitle is used

    0.16.4-beta

    • Definitions searched since the start of the application will now be cached, allowing instant back and forths between already searched definitions, particularly useful for switching between bilingual and monolingual modes
    • Monolingual learners may now hold on the word or reading of a definition in the pop-up dictionary as a way to instantly switch between bilingual and monolingual modes
    • Increased the text size of text elements related to definitions
    • Added a return button to go back to the last definition when searching and selecting text recursively in a monolingual definition
    • Removed redundant 'Select all' from selectable text prompt for monolingual definitions
    • Changed ellipsis text elements to an animated jumping dots animation
    • Search results are now always trimmed, no leading or trailing spaces will be passed to dictionary queries
    • When searching words outside of video playback, the search buttons will change color accordingly to indicate when a search query is still on-going or has finished
    • Added an option to share a playing YouTube video's link to other applications, renamed menu option appropriately
    • Changed the smart resume conditions in a possibly confusing scenario for users where opening and closing the transcript in definition focus mode or otherwise might undesirably resume the video or leave the player paused

    0.16.5-beta

    0.16.6-beta

    • Fixed a critical debug artifact and oversight where no audio was exported from any video (does not fix reported issue)

    0.16.7-beta

    • Changed the smart resume conditions on export and on opening the transcript menu
    • Exporting with no subtitles will now export the current duration with respect to bi-directional audio allowance
    • Shadowing mode now works with no subtitles and will work with respect to bi-directional audio allowance

    Strengthening the feedback loop

    Developer Note: This feature might be a strange one, and it's certainly not something that I thought I wanted at first. After all, SRS already exists and exporting cards with image and audio is already a thing. Yet, I've always felt somewhat of a disconnect between SRS and immersion time, even though I knew what words I've been studying. This is a way to turn back time to exactly where you found the word and be able to revisit the video and be able to review the vocabulary in its native habitat. I believe this feature is a great marriage and bridge of the active and passive immersion loop of watching a video and then reviewing the definitions later in the end, and will be useful when you want to go back to a word but can't quite figure out how you stumbled into it.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_16_7_beta-arm64-v8a.apk(72.71 MB)
    jidoujisho_0_16_7_beta-armeabi-v7a.apk(82.51 MB)
    jidoujisho_0_16_7_beta-x86_64.apk(76.37 MB)
  • 0.16.0-beta(May 10, 2021)

  • 0.15.8-beta(May 3, 2021)

    This release implements several share intent related features, a dedicated card creation mode for outside video playback and shadowing mode.

    Card Creator Mode: Users will now be able to use the new Card Creator in the main menu to easily create cards outside of video playback. This is practical for users who are reading manga. In addition, users may now share links, text and images to the application. Sharing an image or text to jidoujisho will open the card creator with the appropriate media imported for the card. The card creator allows for searching of photos (via Bing) and text definitions via the same sources in video playback, with bilingual and monolingual search support.

    Card Creator Exports: Exports in card creator mode have their own Anki template which can be customized. This is because users may desire a different format in their cards from those exported in normal video playback.

    In the default creator template, only the image and word are present in the front of the card. The intention is that the picture replaces the sentence, and the word replaces where the sentence context usually is, with the reading and meaning shown in the back. This makes card creator mode really easy to use out from a fresh installation if reading manga and taking pictures. As always, the template can be customized in AnkiDroid, under the card type jidoujisho (Creator).

    Shadowing Mode: In video playback, users may now tap the video duration to toggle shadowing mode. When the video duration is red, shadowing mode is enabled, indicating the end time of the current subtitle after which the player will seek back to the beginning of the subtitle.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 7 and above (thanks to Hexavall). If the installation fails, try clearing enough storage space (Cheers to kekkonkinenbi for letting me know).

    0.15-beta

    • (New Feature) Card Creator - Users may use the new creator option in the Clipboard to create cards from searched images and definitions, quick cards that can be created include any card in the clipboard and shared photos into the application
    • (New Feature) Shadowing Mode - Clicking on the duration in video playback will toggle shadowing mode, allowing users to follow along a selected subtitle looped (feature request by kekkonkinenbi)
    • (New Feature) Share Intent - YouTube links can now be shared to the application to open a video (#18), photos and text can now be shared to the application for the card creator
    • Copy and paste click action for the clipboard has been changed to open the history item as a card creator preset
    • Rephrased "recent videos" to "latest videos" and fixed several typos
    • Channel screen now has a similar blank screen to the other screens

    0.15.1-beta

    • Shadowing mode now makes use of subtitle delay for timing, audio allowance can also be used to pad the length of loop
    • Using the transcript to seek to a subtitle in shadowing mode will now change the looping subtitle to the picked item

    0.15.2-beta

    • (New Feature) Listening Comprehension Mode - A new option in the menu will allow users to use listening comprehension mode, which will hide on-screen subtitles unless the user flicks to seek the current subtitle.
    • Cleaned up audio/subtitle menu related code

    0.15.3-beta

    • Video will now auto-rotate to landscape right regardless of user auto-rotation preferences
    • Seeking with the transcript in listening comprehension mode will now have the same behavior as flicking horizontally
    • Search, trending, channels and closed captioning will now re-query appropriately on error upon retry instead of requiring relaunching the application
    • Changed the behavior of the AnkiDroid background service prompts to automatically re-perform the export/populate the card creator screen upon returning from AnkiDroid
    • Changed message of the AnkiDroid background service messages

    0.15.4-beta

    • Default creator template has been changed to include audio and sentence in the back, to accommodate users that desire to use those fields, existing users will need to update their templates
    • Search fields for image and word in the creator are now restricted to one line with a submit action
    • Fixed an issue where a card needed an image to be exported
    • Fixed an issue where tapping the search buttons in the creator in succession will make multiple queries
    • Long pressing clipboard entries will now remove the entry from history
    • Sentence field has been moved in the card creator screen to reflect the template
    • Rephrased field descriptions to be front/back agnostic to reflect customizability
    • Changed 'About this app' message and other miscellaneous text changes
    • Fixed an issue from 0.15.3 where exiting playback when finished will result in the 'Exit Playback' prompt

    0.15.5-beta

    • Improved some Jisho.org definition query results (improvements include search results for ねずみ, りんご, 本当 where the appropriate kanji was not returned before)
    • Expanded range of monolingual search results by querying for start matches rather than exact matches
    • Increased clipboard history max entry count from 100 to 200
    • Removing search and clipboard items now has a dialog, to mitigate anxiety in accidentally performing a hold action
    • Fixed an issue where adding a dictionary entry would remove another if they had identical words, regardless of differing reading and meaning
    • YouTube thumbnail quality has been dropped to improve bandwidth, load time and UI consistency
    • In card export for video playback and the creator, if the reading is the same as the word, the reading text field will now be left blank as a redundancy
    • Fixed UI inconsistencies in the creator screen
    • Fixed overflow issues related to multiple definitions/images flick to select widgets
    • Holding onto a video will now produce a Material ripple effect
    • Changed and repositioned several text option labels for consistency

    0.15.6-beta

    • Added a search bar to the root of the clipboard menu to allow cards to be added very quickly
    • Dictionary entries in the clipboard are now grouped by search results and can be swiped left and right rather than piling up the list with each new entry viewed, the last scrolled index will be remembered, existing users will start over with a fresh slate for compatibility
    • Decreased clipboard history max entry count from 200 to back to 100 as search result grouping should mitigate immediate capacity issues
    • The search query should now show at all instances in the 'Looking up...' message
    • Text color changes to swipe to select multiple definitions/images prompts for readability
    • Fixed an issue where sharing and then reopening the application would show the creator again

    0.15.7-beta

    • Clipboard has been renamed to dictionary tab
    • Improved the readability and spacing of monolingual definitions
    • Fixed an issue where a number circle would appear in Jisho.org definitions rather than only at the start of the line
    • Fixed an issue during video playback where the status bar could show sometimes
    • Fixed an issue where wakelock would not enable sometimes
    • Fixed an issue that sometimes displaced the pop-up dictionary when the loading circle shows up in video playback

    0.15.8-beta

    From video player to sentence mining multi-tool

    Developer Note: I have been picking up speed with manga lately, and I noticed that I found myself looking up words when reading physical media, though unable to mine them as efficiently as I would when I watch a video on my own app. That's why I made card creator mode. Not only does it allow super easy sentence mining if you're reading, it also allows you to see images for any words that you've run into that you'd rather assign a photo to. You can also tap on the preview photo to expand and zoom on it if you easily want to use any OCR software alongside the application. Hopefully, this will help users who desire to read more!

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_15_8_beta-arm64-v8a.apk(72.69 MB)
    jidoujisho_0_15_8_beta-armeabi-v7a.apk(82.50 MB)
    jidoujisho_0_15_8_beta-x86_64.apk(76.36 MB)
  • 0.15.7-beta(May 10, 2021)

  • 0.15.6-beta(May 8, 2021)

  • 0.15.5-beta(May 8, 2021)

  • 0.15.4-beta(May 7, 2021)

  • 0.15.3-beta(May 6, 2021)

  • 0.15.2-beta(May 6, 2021)

  • 0.15.1-beta(May 4, 2021)

  • 0.15.0-beta(May 3, 2021)

  • 0.14.2-beta(Apr 29, 2021)

    This release implements monolingual dictionary support for users who desire to use Japanese-to-Japanese dictionary definitions. The dictionary definitions are sourced from Goo.ne.jp. A new option is available in the player menu which will allow users to switch between bilingual and monolingual query modes, between Jisho.org and Goo.ne.jp respectively. The application will use bilingual definitions by default.

    To users who were relying on the custom dictionary support implemented from 0.4, the legacy functionality remains intact: Term banks will override the bilingual dictionary mode if there are term bank files present in the term bank directory which can be set in the main menu. Make sure to move term banks to the new default directory to keep using it.

    Using the built-in monolingual dictionary query mode is faster, grammar-aware, supports returning multiple definitions, does not stutter the video and does not require setting up term banks to get started. Definitions in the pop-up dictionary are selectable to allow for recursive look-ups.

    Milestone: This release also marks 100 stars for the jidoujisho repository. Now, that's just an arbitrary metric, but to someone like me who thought there would not be much demand for this personal tool of mine, it really means a lot! To all users, passersby, lurkers, first-timers and loyal dedicated users - all of you who give feedback, send me private messages just to check in, report issues and reciprocate with my development process, from Reddit, Discord or by e-mail -- Thank you for your support! I'll continue to work hard to make mobile language learning effortless, engaging and foolproof.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 7 and above (thanks to Hexavall). If the installation fails, try clearing enough storage space (Cheers to kekkonkinenbi for letting me know).

    0.14-beta

    • (New Feature) Monolingual Dictionary Support - Users may select an option in the player menu to switch between bilingual and monolingual modes, which will allow the player to query either Jisho.org or Goo.ne.jp respectively.
    • Opening and closing the transcript when a video is playing will resume playback appropriately
    • Exporting from the transcript will now resume the video if the video was playing when export was selected
    • Changed the text of several options in the main menu

    0.14.1-beta

    • Switching between the query modes when pop-up is open will now re-query the dictionary entry for the appropriate mode

    0.14.2-beta

    • Increased number of videos stored in history from 20 to 50
    • Added an option to view channel videos by oldest or latest when holding a channel in the Channels page (#16)

    A glimpse of monolingual dictionary support

    Developer Note: Monolingual dictionary support has been a well requested feature ever since the first release, and this release properly implements it, compared to the experimental placeholder I quickly hacked together in 0.4. I've always been telling myself that sooner or later, I want to undergo a monolingual transition. This should give me the push to go that distance, and I hope that this feature can also help other users to finally take that leap!

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_14_2_beta-arm64-v8a.apk(72.58 MB)
    jidoujisho_0_14_2_beta-armeabi-v7a.apk(82.38 MB)
    jidoujisho_0_14_2_beta-x86_64.apk(76.25 MB)
  • 0.13.7-beta(Apr 23, 2021)

    This release implements several user suggested enhancements, such as subtitle delay adjustment, export of multiple subtitles and focus mode detailed below (feature requests by coredump, Hexavall and sp3ctum). Users may now hold on a subtitle on the transcript later than the current subtitle in order to export an Anki card with an extended audio timing and concatenated subtitles. Users may now also adjust the subtitle delay for their videos.

    These features are an early preview of what I wish to achieve with these features and may change with later minor releases based on user feedback. If exporting a card with multiple subtitles, it may take some time for the card to export the necessary resources.

    System Requirements: This application has been tested by myself and other users to work on a variety of real-world devices and emulators running Android 7 and above (thanks to Hexavall). If the installation fails, try clearing enough storage space (Cheers to kekkonkinenbi for letting me know).

    0.13-beta

    • (New Feature) Multiple Subtitle Export - Users may now hold on a later subtitle in the transcript than the current subtitle to export a card with multiple subtitles
    • (New Feature) Subtitle Delay - Users may now adjust the subtitle delay of the widget by milliseconds in the player menu
    • Channels are now cached as a performance improvement so they will now no longer have to load on initial startup if unchanged
    • Fixed an embarrassing typo in the 'About this app' screen

    0.13.1-beta

    * feature request by sp3ctum

    • (New Feature) Focus Mode* - Users may now choose whether or not making a subtitle selection will pause the player, focus mode will also resume playback on closing the definition if the query was made when playing (#5)
    • (New Feature) Headset Play/Pause* - Users will now be able to play and pause the video with their headset controls (#8)
    • Reinstated an enhancement to make the definitions recursive only for monolingual definitions by making the text selectable*, if there is trouble closing the popup, click on the meaning or reading at the top (#9)
    • Users may now choose to export a range of multiple subtitles by holding on subtitles previous to the current subtitle, as the ending rather than the beginning
    • Exporting multiple subtitles now has an appropriate waiting message and exits the transcript elegantly
    • The player will no longer show the 'End Playback' message if the video has already ended* (#7)
    • Fixed an issue where selecting multiple subtitles was exclusive of the last line, and had one missing character
    • The top and bottom status bar is now shown when not playing a video, shown properly in the same layer as the interface
    • Users may bring up the bottom status bar during video playback by swiping up where it should be
    • Fixed a user interface inconsistency where low resolution video did not fit the width of its half of the export dialog
    • Fixed swipe right gesture to show the start of the subtitle rather than the end
    • Open to browser options for share menu have been moved to their own nested option to declutter the player menu

    0.13.2-beta

    • (New Feature) Image Select for Multiple Subtitle Export - Users may now swipe left or right to pick an image when exporting multiple subtitles, the image is taken from the mean subtitle time, or between start and end time (#10)
    • (New Feature) Audio Allowance - Users may now set a range of milliseconds onto which the exported audio time will be padded in the beginning and end, as a mitigation for poorly timed subtitles
    • Fixed an issue where preview audio was not stopped when the export screen is exited
    • Added an option to set and remember the delay and allowance permanently
    • Repositioned adjust delay and allowance option in the player menu

    0.13.3-beta

    • Significantly reduced the file size of the application package by around 30mb by fixing a redundancy in assets in the text segmentation dependencies
    • Subtitle widget will now be hidden from view if the current player position is not within a 100ms range of the last subtitle viewed (#14)
    • Fixed an issue where switching tasks or changes to the app life cycle invalidating headset controls (#8)
    • Implementing headset controls seems to have allowed the app to have background play, at present headset controls don't seem to work in the background
    • Moved landscape lock earlier from video player screen initialization to give the OS time to adjust the orientation (#12)
    • In focus mode, when clicking on a definition causing the player to pause and then clicking on another, closing the second definition box will now also resume the player
    • Raised the maximum clipboard dictionary entries in the main menu from 50 to 100

    0.13.4-beta

    • The transcript current subtitle marked red should now be accurate to what is displayed on screen
    • Fixed a critical dependency issue where the application would work for upgrades to 0.13.3 but not fresh installs, reverted file size reduction and dependency removal back to prior sizes

    0.13.5-beta

    • Fixed an issue with default ASS/SRT subtitles with the same filename as the video file were loaded as a raw string SRT (#13)
    • Fixed an SRT parsing issue which showed timestamps in the transcript where the line after the timestamp showed up as blank
    • Reorganized WebVTT parsing

    0.13-6-beta

    • Fixed an issue where the subtitles flickered if the delay was set, irrespective of subtitle widget visibility

    0.13-7-beta

    • Subtitle delay is now properly reflected in export and when seeking with swipe left/right and the transcript

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_13_7_beta-arm64-v8a.apk(72.58 MB)
    jidoujisho_0_13_7_beta-armeabi-v7a.apk(82.38 MB)
    jidoujisho_0_13_7_beta-x86_64.apk(76.24 MB)
  • 0.12.4-beta(Apr 17, 2021)

    This release implements support for videos with Japanese automatic captions via youtube-dl (feature request by gimmer123). This new option can be found in the audio/subtitle menu when watching a YouTube video.

    When first attempting to request automatic captions, the app will set up the required dependencies. This may require the user to clear some space on their device. Please do not interrupt this one-time initialization. The automatic captions will then play, if available. A message will indicate if automatic captions could not be queried. Please be advised that the automatic captions are YouTube's best effort, and critical inaccuracies are to be expected.

    On File Size: Users may notice that the app's binary size has grown quite large. This is due to an increasing number of dependencies packaged in the application. It is my aim to not grow this any further as the project looms towards a stable release candidate.

    In the future, I may decide to provide some of the dependencies on-demand as an optional download for users that feel like there are some features they would never really use. For the purposes of this beta and to account for fast iteration, all dependencies and features are included in a single package.

    System Requirements: I have tested this application to work on a variety of real-world devices and emulators running Android 8 and above. If the installation fails, try clearing enough storage space (Cheers to kekkonkinenbi for letting me know).

    0.12-beta

    • (New Feature) Automatic Captions - Users may now select and query automatic captions under the audio/subtitle menu when playing a YouTube video
    • Binary file size has been increased significantly to include necessary dependencies
    • Increased the horizontal padding on the subtitle widget

    0.12.1-beta

    • Fixed an issue where previous subtitles appeared above current captions for automatic captions
    • Fixed an issue where sometimes tap to select subtitles would not newline
    • Removed a redundancy where automatic captions option would appear for videos with Japanese closed captions
    • Added 'List Channel' option for YouTube videos in history
    • Rephrased 'Remove History' option

    0.12.2-beta

    • Fixed an issue where turning subtitles off would not work when YouTube automated captions are used
    • Now applying build number properly to new builds to ensure users aren't faced with downgrades

    0.12.3-beta

    • 'Import/export channels' will now allow users to get and set their channel IDs in case the app must be reinstalled, as well as encourage sharing content among users
    • Added an option to set AnkiDroid directory in the main menu for users that store their Anki collection in an SD card or any other non-default location
    • Codebase significantly refactored and organised, split util.dart into several purposefully named files, global variables emphasised in its own file
    • Updated the 'About this app' message

    0.12.4-beta

    • Now mixing muxed and demuxed streams as a quick mitigation for #4, selecting seek-friendly labelled streams will allow users to confidently seek through YouTube videos

    Automatic captions

    Developer Note: This brings in a lot of potential for study, since a lot of videos are in Japanese but do not provide proper closed captions. However, please be advised that there may be critical errors in these automatically generated captions. A video having automatic captions available is the farthest thing from a statement of quality or correctness.

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_12_4_beta-arm64-v8a.apk(85.74 MB)
    jidoujisho_0_12_4_beta-armeabi-v7a.apk(95.54 MB)
    jidoujisho_0_12_4_beta-x86_64.apk(89.42 MB)
  • 0.11.3-beta(Apr 20, 2021)

    This release fills the bottom navigation bar with some new options, namely a history tab to show the last 20 played videos, local or YouTube, and a clipboard tab that shows the last 50 dictionary entries read.

    Users may now peruse the words they've looked up after their immersion session or go into their history to quickly get back to past videos. More changes are detailed in the release notes below.

    YouTube Functionality: I am aware of an issue with YouTube support that prevents any videos from being played. This is related to a dependency I am waiting on that needs to be patched and may take some time.

    Android 11 users: The versions between Android 11 and below are no longer separate. I have tested changes on an Android 11 emulator that allow use of the app on Android 11 without any additional steps. For testing purposes, here is the workaround to export files on Android 11. In case issues persist, please let me know as soon as possible.

    System Requirements: I have tested this application to work on a variety of real-world devices and emulators running Android 8 and above. If the installation fails, try clearing enough storage space (Cheers to kekkonkinenbi for letting me know).

    0.11-beta

    • (New Feature) History - A dedicated tab in the main menu will now show the last 20 local or YouTube videos played, clicking on any video in the tab will play the video
    • (New Feature) Clipboard - Another tab added in the main menu shows the latest 50 dictionary entries, the text in the fields are selectable and clicking on an entry will copy the word
    • Removed 100 videos limit on channel videos view and added lazy loading to improve performance
    • Channels are now sorted by alphabetical order
    • Fixed an oversight where 'Play Video' option when holding a video did not play the video
    • Upgraded several dependencies in order to get newer flutter_vlc_player features and bug fixes
    • Changed the resume button's icon as a redundancy to the history tab icon

    0.11.1-beta

    • Fixed a critical performance issue that occured when scrolling and requesting engagement metrics in channel videos
    • As a side-effect, no view count and publish date is present in channel videos and the trending subheading has been reinstated
    • Fixed an oversight in displaying video durations for videos with less than one minute of length

    0.11.2-beta

    • Fix significant blank player issues by downgrading flutter_vlc_player dependency (may require further investigation if this does not solve it)

    0.11.3-beta

    • Reduced user friction in case of export message if AnkiDroid service is not found, clicking on it will launch AnkiDroid
    • Fixed an oversight where file thumbnails were kept in app storage once deleted from history
    • If AnkiDroid permissions are not granted, appropriate requests are now added on export

    The jidoujisho main menu

    Developer Note: This release finally brings the main menu to how I originally envisioned it to be when I dreamed of a language learning video player mobile app for Japanese. Great to finally reach this stage!

    Which file should I download?

    The files are split between the different device architectures to save user download bandwidth and storage space. Depending on which device you are using, download the appropriate APK by expanding the "Assets" drop-down menu below.

    Test each APK available for each architecture. If you're not sure, the arm64 download should be suitable for most mobile devices.

    Source code(tar.gz)
    Source code(zip)
    jidoujisho_0_11_3_beta-arm64-v8a.apk(65.69 MB)
    jidoujisho_0_11_3_beta-armeabi-v7a.apk(76.11 MB)
    jidoujisho_0_11_3_beta-x86_64.apk(69.09 MB)
Owner
I make tools that I hope other people find useful. Flutter, Firebase, Android Studio. Dart, Python, Java, C.
null
Munem Sarker 1 Jan 25, 2022
A mobile app for fixing encoding problems in persian subtitles

اصلاح زیرنویس پارسی Persian Subtitle Fixer درباره اپلیکیشن «اصلاح زیرنویس پارسی» با هدف اصلاح رمزگذاری (انکودینگ) فایل های زیرنویس فارسی طراحی شده است

Mohammad Ebrahimi 7 Nov 25, 2022
Flutter Music Player - First Open Source Flutter based material design music player with audio plugin to play local music files.

Flutter Music Player First Open Source Flutter based Beautiful Material Design Music Player(Online Radio will be added soon.) Demo App Play Store BETA

Pawan Kumar 1.5k Jan 8, 2023
A simple Flutter project demonstrating tailored native experiences

Voice Voice is a Flutter application that aims to help spread the awareness of animal rights groups from around the globe. Whilst data is still being

Joe Birch 69 Jun 17, 2021
Real short video app with firebase and pixels API.Where you can create a short video with pixels' stock videos and also merge your audio.

Flutter Short Videos Platform Short videos platform with Flutter and Firebase. About Real short video app with firebase and pixels API.Where you can c

Ansh rathod 55 Dec 26, 2022
Video player-2.2.10 - A Flutter plugin for iOS, Android and Web for playing back video on a Widget surface

Video Player plugin for Flutter A Flutter plugin for iOS, Android and Web for pl

null 2 Sep 29, 2022
Web development for smartgreen's RYO-OHKI Project, should contain: a login page, import, export and visualization of cards (almost a dashboard) it is under construction!

Web development for smartgreen's RYO-OHKI Project, should contain: a login page, import, export and visualization of cards (almost a dashboard) it is under construction!

Beatriz gonçalves 6 Nov 13, 2021
Generate a new file by compressed video, and provide metadata. Get video thumbnail from a video path, supports JPEG/GIF. To reduce app size not using FFmpeg in IOS.

flutter_video_compress Generate a new path by compressed video, Choose to keep the source video or delete it by a parameter. Get video thumbnail from

天海るり 179 Dec 8, 2022
A radio player mobile application which streams audio from Radio Sai Global Harmony.

Sai Voice A radio player which streams audio from Radio Sai Global Harmony. *Special Thanks to Aman Achutan for the logo Om Sri Sai Ram ?? Sai Voice i

Sai Rajendra Immadi 11 Nov 26, 2022
A mobile image uploader in which you can upload image to your personal gallery from either your camera or mobile gallery and it can detect your current geographic location and address using firebase firestore and storage.

Image Uploader In Flutter About It is an Image Uploader gallery which tracks your address from which you're uploading using Flutter and Image picker.

Prahen parija 6 Dec 20, 2022
GJAMAssist is an open source Flutter-based template for a business assistant application.

GJAMAssist is an open source Flutter-based template for a business assistant application. It has been designed to use Google Firebase as ba

Japan Gor 12 Oct 9, 2022
Just audio background - A flutter package plugs into just audio to add background playback support and remote controls

just_audio_background This package plugs into just_audio to add background playb

lonyyy 1 Jan 11, 2022
A test for a position as a mobile engineer at the company Phi. (I did not participate in the selection process, I implemented the application for study purposes only)

Phi Bank Aplicativo desenvolvido baseado num teste para o cargo de desenvolvedor mobile na empresa Phi. (Não participei do processo seletivo, implemen

null 1 Dec 1, 2021
Flutter Package for Easier Creation of Home Screen Widgets

Home Widget HomeWidget is a Plugin to make it easier to create HomeScreen Widgets on Android and iOS. HomeWidget does not allow writing Widgets with F

Anton Borries 405 Dec 31, 2022
Flutter Radio Player, A Plugin to handle streaming audio without a hassle

Flutter radio plugin handles a single streaming media preciously. This plugin was developed with maximum usage in mind. Flutter Radio player enables S

Sithira Munasinghe 104 Dec 27, 2022
Compress videos, remove audio, manipulate thumbnails, and make your video compatible with all platforms through this lightweight and efficient library.

video_compress Compress videos, remove audio, manipulate thumbnails, and make your video compatible with all platforms through this lightweight and ef

Jonny Borges 172 Dec 31, 2022
🎞 Flutter media playback, broadcast & recording library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. (Both audio & video)

dart_vlc Flutter media playback, broadcast, recording & chromecast library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. Install

Hitesh Kumar Saini 417 Dec 29, 2022
An animated flutter UI for E-commerce product variant selection / add to cart developed by nonybrighto and designed by Akram Khalid.

Crate & Barrel - Dark Mobile App Concept Animated An animated flutter UI for E-commerce product variant selection / add to cart developed by nonybrigh

Nony Bright O 47 Mar 28, 2022
Better video player for Flutter, with multiple configuration options. Solving typical use cases!

Better Player Advanced video player based on video_player and Chewie. It's solves many typical use cases and it's easy to run. Introduction This plugi

Jakub 733 Jan 3, 2023