A full-featured immersion language learning suite for mobile.
GPL-3.0 License
Bot releases are visible (Hide)
Published by lrorpilla over 3 years ago
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.
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)Context
option which launches the reader to the exact scroll position where the word was found
Subtitle Delay
and Audio Allowance
(#22)Library
has now been renamed as Player
to reduce confusion with the new Reader
tabTrending
and Channels
have been unified to further encourage use of both tab features, intended as an improved gateway for newcomers to test and experimentTrending
tab is now cached and will invalidate at three hours old, greatly increasing startup speed and fluidityChannel
to go to the user's channel when already in the mentioned channel screen\n
would not be replaced and properly encoded when selecting text or exporting them to the creatorShare YouTube Video Link
option was visible for all videos including local videos and network streamsHistory
screen being blocked when a video is quit too early
Continue Reading
button and would browse to the last book added to ッツ Ebook Reader rather than the last book read
Trending
tab did not conform to other tab behavior and did not scroll to top when re-selecting the tab when already shownReader
tab did not conform to other tab behavior had a fixed button header rather than one that scrolled with the grid viewEnter network stream URL
optionContinue Watching
, unable to open the reader until app data is cleared/storage/XXXX-XXXX/Android/data/com.ichi2.anki/AnkiDroid
Check Media
before syncing their media to AnkiWeb (#6)Set AnkiDroid directory
option, the user no longer needs to set it and the app will know the current AnkiDroid directory
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.
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.
Published by lrorpilla over 3 years ago
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.
\n
in the found for
text and when passed to the creatorネタバレ
in the web reader would result to searching for that wordネタバレ
in the web readerDeveloper 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.
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.
Published by lrorpilla over 3 years ago
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.
できない
and 教えて
to properly return the proper deinflection
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.
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.
Published by lrorpilla over 3 years ago
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.
jidoujisho
as an external player for the Plex for Android application and stream from a Plex libraryEnter 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
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.
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.
Published by lrorpilla over 3 years ago
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.
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.
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.
Published by lrorpilla over 3 years ago
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.
Cast to Display Device
in the player menu in order to start streaming to a wireless display.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.
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.
Published by lrorpilla over 3 years ago
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.
jidoujisho
system-wide from selected text in order to import a sentence from any reader application, the share option remains the sameSentence
in the Creator, allowing users to quickly select a word from an imported sentence
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.
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.
Published by lrorpilla over 3 years ago
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).
Cancel
from several dialog options which redundantly padded the width of dialog optionsDeveloper 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.
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.
Published by lrorpilla over 3 years ago
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).
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.
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.
Published by lrorpilla over 3 years ago
0.16.1 has been released.
See the updated release notes.
Published by lrorpilla over 3 years ago
0.15.8 has been released.
See the updated release notes.
Published by lrorpilla over 3 years ago
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).
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.
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.
Published by lrorpilla over 3 years ago
0.15.7 has been released.
See the updated release notes.
0.15.6 has been released.
See the updated release notes.
Published by lrorpilla over 3 years ago
0.15.5 has been released.
See the updated release notes.
Published by lrorpilla over 3 years ago
0.15.4 has been released.
See the updated release notes.
Published by lrorpilla over 3 years ago
0.15.3 has been released.
See the updated release notes.
Published by lrorpilla over 3 years ago
0.15.2 has been released.
See the updated release notes.
Published by lrorpilla over 3 years ago
0.15.1 has been released.
See the updated release notes.
Published by lrorpilla over 3 years ago
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).
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!
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.