Releases: arianneorpilla/jidoujisho
2.5-preview
This preview release implements a new media source which adds ChatGPT support via OpenAI's unofficial REST API and Mokuro HTML support enabling tap to select reading and mining of pre-processed manga volumes.
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.
🌟 New tech, new tools
2.5-preview
🤖 New Media Source
- ChatGPT - Users can now interact with ChatGPT-3.5 by logging into their OpenAI account. Login tokens expire and it is possible that users may need to solve a captcha occasionally.
- Users may chat and may highlight text sent and received in the app, in various languages supported by ChatGPT. Users are advised not to heavily rely on an AI language model if they cannot accurately distinguish its correctness and accuracy.
- Clearing the chat will start a new conversation with ChatGPT.
- Please note that this project is not associated with OpenAI, and that ChatGPT is in active development. As this version's implementation relies on an unofficial REST API, it is possible at some point that support and integration for this feature may require updates to retain its functionality, or may be discontinued.
Preview 2
- Fixed a possible instance where token renewal was not handled correctly.
- Swapped the background colors for chat text for the user and bot in order to reduce eye strain.
- Using the Creator action will now set the selection as the sentence rather than the term in various selectable text widgets. This change has been made to make snipping a sentence from ChatGPT's responses easier, among other use cases.
- Added a toast to indicate to the user if they need to login again or if they are being rate-limited.
Preview 3
- Sentence Picker - A new enhancement in the Sentence field will allow users to select sentences delimited by punctuation and spacing.
- The login page will automatically show up if the access token has expired when using the ChatGPT media source.
- Chat messages and the last conversation will now be persisted across sessions. Clearing messages will clear all persisted messages and start a new chat. Cleared chats may still be viewed in the official ChatGPT client.
Preview 4
- Fixed an issue where the chat log would sometimes jump in a different scroll position when making a different text selection.
- Fixed an issue related to scrolling down to the bottom of the chat log and scroll performance.
- Fixed an issue where using the ImmersionKit enhancement will play audio even if no item has been selected yet.
- Fixed an issue where appending sentences with the ImmersionKit enhancement would replace image and audio.
Preview 5
- Improved the performance of tap to select text spans across various media sources.
- Fixed an issue where English language did not delimit newlines in text segmentation.
Preview 6
- Changed the API URL used to make requests to ChatGPT.
- As the endpoint may change from time to time, the app now relies on Firebase Remote Config, meaning the user will no longer be required to update the app if the latest working reverse proxy API URL changes.
Preview 7
- Launching from Jellyfin will now supply all external subtitles available to a video.
- Fixed an issue when using the app with Jellyfin where the selected subtitle would sometimes not be usable. The current selected subtitle in Jellyfin before launching the app as an external player will be the subtitle that will appear in video playback.
- Fixed an issue where the ChatGPT chat log would scroll starting from the top.
- Fixed an issue where a message sent to ChatGPT would clear if unsent and the user needs to solve a challenge.
Preview 8
📚 New Media Source
- Mokuro - A new reader media source will allow users to view manga volumes pre-processed as single HTML files via Mokuro.
- Users will be able to tap to select and get the current image when mining with the source.
- Users may bookmark and add online catalogs of Mokuro volumes for quick access in between volumes, allowing convenient online access to community repositories.
- Users may also import a local HTML file on their device (note that relative images must also be in the appropriate location in the filesystem) or use a direct URL.
- Users may use volume button scrolling when reading with the Mokuro media source.
- Viewing an online catalog allows the user to browse to a volume. When the WebView loads into a Mokuro HTML file, the media source may take a very brief time before it switches modes to allow the user to mine and highlight text.
- Viewing Mokuro volumes with the app defaults to portrait mode. The app automatically toggles single and dual page modes when changing orientation.
- This feature is highly experimental and is in preview.
🎴 Duplicate Checks
- Existing users will need to set their template that they want to check duplicates for (the Term or Word field) as the first field of their card type for this to function. For users that use the app's provided card type, You may do this via the
Manage note types
option in AnkiDroid and swapping theTerm
andSentence
fields in place. New users will have an updated default card type and template, and no change is necessary from this version onwards. - The app will now show a red icon for the Card Creator and Instant Export quick actions if there are notes in AnkiDroid with the currently selected card type that are found to have the same first field value as a dictionary entry's Term.
- In current testing, this feature appears to work on recently exported cards or cards that have been exported with the app after the user has installed this version.
🔨 Quality of Life Improvements
- Implemented caching for multiple media sources, enhancements and quick actions which fetch online resources, such as images and audio. The app will now use less bandwidth and will not request resources that have already been fetched in the current session, and may also cache in between sessions.
- ChatGPT login and refresh will now make use of dark mode if on.
- Manually using an image or audio enhancement will now scroll up the Creator page to the top to inform and show the user the change.
- Fixed an issue with search results where starts with results would be prioritized over exact matches.
- Fixed an issue with the Crop enhancement where its dialog may not appear.
- Fixed an issue where searching audio with the JapanesePod101 source would not show an appropriate error toast if a result was not found.
Preview 9
- Fixed an issue where the Login page may show multiple times for the ChatGPT source when refreshing a token.
- Fixed an issue where the Open URL option may take some time with the Mokuro media source.
- Fixed an issue where opening the crop dialog will show the first image to be cropped even on subsequent attempts to crop.
- Added Camera, Pick Image and Crop Image as default Image field enhancements on first time use.
- Added Pick Audio and Audio Recorder as default Term Audio enhancements on first time use.
Preview 10
- Fixed an issue where starts with results were prioritized over exact results when searching in media sources. Searching on search bars will prioritize starts with results, while searching in media sources will now prioritize exact results. This addresses an issue that may occur a lot in Mokuro media sources.
Preview 11
- Fixed an issue where the search term in tap to select would be limited to a single line of text.
- Fixed an issue where selecting the Channel option on a video media item's detail page would sometimes not work.
- Fixed an issue where using Instant Export or the Card Creator would not update the other's icon upon export.
- Fixed an issue where the status bar would hide after recursive searching or opening the Creator when viewing YouTube comments.
Preview 12
- Added an option that allows the Reader WebView not to override the app theme.
- Fixed an issue where the Reader WebView would not have options for light mode and forced dark mode themes only.
Preview 13
- Fixed an issue where the collapsed/expanded/hidden preference of a dictionary might not update correctly after the value has been changed.
- Fixed an issue where Jellyfin would display that progress tracking is not supported with the external player. Media will now also track progress if the session is exited back to Jellyfin or the app enters inactive state, and will be marked as done if nearly finished. Videos played from Jellyfin will now also start based on tracked progress.
- Fixed a possible black screen that may occur when switching apps while the Jellyfin media source is in use.
- Fixed an issue related to Android intents that may cause previous intents to fire.
Preview 14
- Single Dictionary Select - A new button on the rightmost tag...
2.4
This release introduces a dictionary schema overhaul, more YouTube features, new enhancements and quick actions, and other quality of life improvements that improve the performance and stability of the application.
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.
Developers: This version of the application needs to be built with a stable release of Flutter 3.7.7.
🌅 A little bit of everything
2.4
📖 Dictionary Improvements
- Dictionary System Overhaul - The internal dictionary schema has been overhauled, with significant improvements to search and import speed, space complexity, as well as sorting of dictionary search results.
- Wildcards Search - Searching with wildcards has now been implemented.
?
or?
will now match exactly a single character, while*
or※
(easily auto-suggested asこめ
) will match zero or any number of characters. - More significant performance tweaks to the dictionary search algorithm for Japanese and English to make searching even faster for users that import a lot of dictionaries.
- Improved the sorting of search results, especially in cases where the best reading would sometimes not be chosen as it would be cut off due to the query limit.
- A new option to remove all dictionary data from the database has been added. The ability to delete a single dictionary is retained, but take note that this operation may take a bit longer than clearing the entire database.
- Searching a single kanji character will now prioritise kanji results. This makes using the new Character Search quick action easier.
- Selecting the same character when using Japanese will now hide dictionary search results. Tapping a selected but different character will change the search start position.
- Selecting the same selection when using English will now hide dictionary search results.
- Removed the option to adjust the query limit for dictionary searches. The maximum number of headwords now significantly affects search speed.
- Different target languages will now have different hidden and collapsed dictionary states. This can be used to easily switch between two languages.
- Double tapping on dictionary meanings now selects the best dictionary search term length rather than only relying on the language's text segmentation guess.
- Improved progress messages related to dictionary imports.
- Slow import has been removed. Please make a new issue if you experience issues related to dictionary import.
- Fixed an issue where some frequency dictionaries would not import correctly. (#157)
- Fixed an issue where search bars in the app may have an indeterminate progress even if search has already completed.
📽️ Player Improvements
- Using the app as an external player for Jellyfin will now pass the selected subtitle of played videos into the application. (#91)
- The app will now show a buffering state upon seek and no duration change has occurred in a second.
- Seeking with a double tap, using the slider or selecting a subtitle in listening comprehension mode will now show subtitles temporarily.
- Embedded subtitles will now be processed and added individually in sequence rather than being added as a batch once all are processed. Target language subtitles are processed first.
- A warning is now shown noting to users that embedded subtitles do not work over network media when selecting subtitles.
📺 YouTube Features and Improvements
- YouTube Automatic Captions - The YouTube media source will now supply automatically generated captions. Users are strongly advised not to use automatic captions if they cannot reliably discern their correctness.
- YouTube Comments - YouTube videos viewed in the application have a new button beside the Change Video Quality button that will allow users to read and mine comments and nested replies.
- YouTube video search will now display whether a caption is automatically generated or not in the search results.
- Opening the Card Creator from text when reading comments and replies will generate the current video's image, but will appropriately not export current audio.
- New YouTube videos searched and persisted from now on will show higher resolution thumbnails.
- Live videos will no longer be shown in search and channel/playlists.
- Significantly improved the loading speed of YouTube videos. Captions information of YouTube videos will now fetch much faster.
- YouTube videos that have been loaded once will now have their subtitles cached, making loading faster on subsequent playback attempts.
- Fixed a slowdown due to the UI isolate being blocked when a YouTube video is loading and during video search when a video is processing its subtitles and required manifests.
- Fixed an issue where YouTube videos would sometimes not play due to failure in preparing subtitles.
- Fixed an issue where YouTube search would not show beyond the first page of results.
- Fixed an issue where some videos would be unresponsive or erratic with certain resolutions and video codecs.
📋 New Media Source
- Clipboard - A new media source under the Reader now allows users to easily select text pasted from the clipboard as users can in similarly in the Lyrics source.
🧰 New Enhancements and Quick Actions
- Audio Recorder - A new enhancement will now allow users to record their own audio recordings in the application. Users will need to enable microphone permissions for this to function.
- Pick Audio - A new enhancement will now allow users to pick their audio file manually for both audio fields. Note that AnkiDroid will only take certain audio formats.
- Character Search - Added a new quick action which allows users to select a single character and quickly search for it.
🛠 Miscellaneous Fixes and Changes
- Tap to select text across the entire application will now hide the dictionary result if tapped again in the same index position. If a selected portion is selected but it is not the start of the selection, tap to select will work for and will search for the tapped text onwards.
- The app holds temporary media to be exported to AnkiDroid in the public Pictures directory. As a fallback, it will attempt to use a directory in the app's internal directory. (#160)
- Fixed an issue where the sentence field would be blank if a played video's media source does not match the currently selected player media source in the home tab.
- Changes to the cache mode of the Reader WebView may prevent data expiration. (#147)
- Fixed an issue related to poly-fills when importing a new book with the Reader WebView. (#153)
- Fixed an issue where having the Dictionary tab selected would result in blank sentences when viewing a video launched by share intent, such as sharing a YouTube link to the app or using Jellyfin or Plex.
- Fixed an issue where making a card from the Lyrics source would not include an appropriate sentence, or prevent opening the Card Creator.
- Fixed an issue with font ligatures where some combination of characters such as
ff
andfi
may display incorrectly in selectable text widgets. - Fixed an issue where the app may exit incorrectly upon completion of a dictionary import operation or media source exit.
- Fixed an issue where viewing a book for the first time would not result in a sentence being populated when opening the Card Creator.
- Reduced the default subtitle font size from 24 to 20.
- The default blur widget color is now transparent.
- The Lyrics source will now parse artists correctly from YouTube song videos uploaded with a channel name pattern
Artist - Topic
. - Removed the scroll left/right gesture in the dictionary history screen. The See More footer at the bottom of a history item has been changed to a button to make its function more apparent.
- Fixed an issue where moving the blur widget did not save its position correctly.
- Reduced maximum number of dictionary history items to 10.
- Reduced the default search debounce delay to 100 milliseconds.
- Incognito mode has been removed.
- Hotfix - Reverted the same character close condition for Japanese as it demands too much precision. Tapping a text selection will close the popup instead, similar to E...
2.4-preview
This preview release implements several fixes and a dictionary schema overhaul. Note that only Japanese language and the Yomichan Dictionary format is available for this preview. This release will require a fresh installation.
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.
2.4-preview
📖 Dictionary Improvements
- Dictionary System Overhaul - The internal dictionary schema has been overhauled, with significant improvements to search and import speed, space complexity, as well as sorting of dictionary search results.
- Wildcards Search - Searching with wildcards has now been implemented.
?
or?
will now match exactly a single character, while*
or※
(easily auto-suggested asこめ
) will match zero or any number of characters. - Improved progress messages related to dictionary imports.
- Fixed an issue where some frequency dictionaries would not import correctly. (#157)
- Single dictionaries can no longer be deleted one by one, instead an option to clear data in the dictionary database has been added.
- Slow import has been removed. Please make a new issue if you experience issues related to dictionary import.
🛠 Miscellaneous Changes
- Using the app as an external player for Jellyfin will now pass the selected subtitle of played videos into the application. (#91)
- Fixed an issue where the sentence field would be blank if a played video's media source does not match the currently selected player media source in the home tab.
- Changes to the cache mode of the Reader WebView may prevent data expiration. (#147)
- Fixed an issue related to poly-fills when importing a new book with the Reader WebView. (#153)
- Incognito mode has been removed.
Preview 2
- Fixed an issue where having the Dictionary tab selected would result in blank sentences when viewing a video launched by share intent, such as sharing a YouTube link to the app or using Jellyfin or Plex.
- Fixed an issue where making a card from the Lyrics source would not include an appropriate sentence, or prevent opening the Card Creator.
Preview 3
- Clipboard - A new media source under the Reader now allows users to easily select text pasted from the clipboard as users can in similarly in the Lyrics source.
- Reduced maximum number of dictionary history items from 60 to 20.
Preview 4
- Fixed an issue where expanded, collapsed and hidden meaning fields did not behave correctly.
Preview 5
- More significant performance tweaks to the dictionary search algorithm to make searching even faster for users that import a lot of dictionaries. Search speed for searching with wildcards is now improved.
- Removed the option to adjust the query limit for dictionary searches. The maximum number of headwords now significantly affects search speed.
- Fixed an issue where the best reading would sometimes not be chosen as it would be cut off due to the query limit.
- Reduced maximum number of dictionary history items from 20 to 10.
- The Lyrics source will now parse artists correctly from YouTube song videos uploaded with a channel name pattern
Artist - Topic
.
Preview 6
- YouTube Automatic Captions - The YouTube media source will now supply automatically generated captions. Users are strongly advised not to use automatic captions if they cannot reliably discern their correctness.
- YouTube video search will now display whether a caption is automatically generated or not in the search results.
- Fixed an issue where a YouTube video would sometimes not play due to failure in preparing subtitles.
- Presently, subtitles have a lot of duplicate entries due to the way that YouTube's automatic subtitles functions. Users are recommended to increase audio allowance to better export audio if they want to make image/audio cards from videos with automatic captions.
- Hotfix - Fixed issue described above. YouTube automatic captions should no longer have duplicate neighbor lines.
Preview 7
- YouTube Comments - YouTube videos viewed in the application have a new button beside the Change Video Quality button that will allow users to read and mine comments and nested replies.
- Opening the Card Creator from text when reading comments and replies will generate the current video's image, but will appropriately not export current audio.
Preview 8
- Picture-in-Picture Dictionary Lookups - This feature is only available on Android 13 as of now, and is highly experimental. Users may now enter PiP mode in order to copy text from native applications. This allows OS-wide text hooking, made possible by leveraging Android System Intelligence functionality and the Accessibility Service API.
- Users will need to enable accessibility permissions in the app when entering PiP mode for the first time. The app will listen for accessibility events that appear when copying text. The app stops listening for these events when it has exited PiP mode.
- Users may pinch to resize the floating window. Play/pause toggles between definition display and character position selection for the last copied text. Previous/next scrolls the definition list up and down, and the character selector left and right.
- For recommended use cases, this new mode can be used to make lookups while using native apps. In Android, text that cannot normally be selected in an app can be captured by attempting text selection when switching between apps.
Preview 9
- Character Search - Added a new quick action which allows users to select a single character and quickly search for it.
- Significantly improved the scrolling experience and performance in the dictionary history and search result screens, and reduced unnecessary rebuilds.
- Removed the scroll left/right gesture in the dictionary history screen. The See More footer at the bottom of a history item has been changed to a button to make its function more apparent.
- Fixed an issue where the maximum number of dictionary history items did not take effect.
Preview 10
- Audio Recorder - A new enhancement will now allow users to record their own audio recordings in the application. Users will need to enable microphone permissions for this to function.
- Pick Audio - A new enhancement will now allow users to pick their audio file manually for both audio fields. Note that AnkiDroid will only take certain audio formats.
- Both new enhancements are available for the Term Audio and Sentence Audio fields.
- Fixed some more performance issues related to dictionary search results and YouTube comments.
- Hotfix - Fixed an issue with pitch accent widgets displaying incorrectly.
- The app now holds temporary media to be exported to Anki in the public DCIM directory rather than the public Pictures directory, as well as ask for camera permissions in order to write to this public directory.
- Removed picture-in-picture mode as it may cause potential instability at the time being.
- Searching a single kanji character will now prioritise kanji results.
Preview 11
- Fixed a possible gray screen issue that appears when searching in the dictionary. Please report the issue with a recording should this happen again.
- Fixed an issue where viewing a book for the first time would not result in a sentence being populated when opening the Card Creator.
- Changed the default subtitle font size and blur widget color.
- Fixed an issue where moving the blur widget did not save its position correctly.
Preview 12
- Tap to select text across the entire application will now hide the dictionary result if tapped again in the same index position. If a selected portion is selected but it is not the start of the selection, tap to select will work for and will search for the tapped text onwards.
- Added back the ability to delete a single dictionary. Note that this operation may take a bit longer than clearing the entire database.
- Fixed an issue where no sentence is pushed to the Card Creator when not opening the Reader with a book tile.
- Fixed an issue where search bars in the app may have an indeterminate progress even if search has already completed.
- Double tapping on dictionary meanings now selects the best dictionary search term length rather than only relying on the language's text segmentation guess.
Preview 13
- Fixed a slowdown due to the UI isolate being blocked when a video is loading and during video search when a video is processing its subtitles and required manifests.
- Captions status of YouTube videos will now fetch much faster.
- Fixed an issue where the app may exit incorrectly upon completion of a dictionary import operation or media source exit.
- Live videos will no longer be shown in search and channel/playlists.
- Seeking with a double tap, using the slider or selecting a subtitle in listening comprehension mode will now show subtitles temporarily.
- New YouTube videos searched and persisted from now on will show higher resolution thumbnails.
- The app will now show a buffering state upon seek and no duration change has occurred in a second.
- The app will now attempt exporting media to an alternative path when export fails before returning an error message. (#160)
- Fixed an issue where YouTube search would not show beyond the first page of results.
- Fixed an issue where some videos would be unresponsive or erratic with certain resolutions and video codecs.
- Significantly improved the loading speed of YouTube videos.
Preview 14
- Embedded subtitles will now be processed and added individually in sequence rather than...
2.3
This release introduces full English target language support, allowing English learners to import ABBYY Lingvo (DSL) dictionaries into the application.
Existing Users: If you are having issues exporting images and audio with the default template, ensure that you have the same card type and HTML/CSS template which can be found here.
The app will automatically add a new card type if you don't already have a jidoujisho Yuuna
card type, but some changes were made after 2.0 that changed the default card type. Existing users that had their card type generated before the change may experience having empty export profiles that prevent card export. Ensuring the card type is the same as the new default will mitigate these issues.
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.
🇺🇸 Debuting English support for jidoujisho Yuuna
2.3
🌐 New Language
- English - Users may now select English as a target language, with existing enhancements such as Tatoeba Example Sentences and Forvo Audio made compatible where possible. The Text Segmentation enhancement for example will omit spaces in display but join words with spaces when making a selection.
- ABBYY Lingvo (DSL) Support - Users may import DSL format dictionaries for use with English. Please note that compressed DZ files will need to be unarchived into DSL for import.
- Player and Reader Support - Being a space-delimited language, word selection will be by space or dash rather than by per character to make use of itself being a space-delimited language when using all existing media sources with English.
- First-Time Setup - New and upgrading users will now be asked to select their target language upon first startup. The default enhancements available and currently selected dictionary format will adjust depending on the language to quickly get users set up regardless of if they are learning English or 日本語.
🛠 Bug Fixes and Miscellaneous Improvements
- The user preferences first set for ッツ Ebook Reader now depend on the language on first use with the media source. For example, when first launched in English, the Reader will be set to be horizontal by default.
- Fixed an issue where a grey screen could occur upon scrolling down when editing the Standard profile at first startup when its number of fields do not match the user's card type in AnkiDroid.
- Users will no longer be able to export a card when all the fields of the current export profile are empty, and will get a message advising them to edit their fields in order to export a card.
- Users will now receive a message when an error has occurred when attempting to add a media file or a note to Anki. The Card Creator will no longer clear values when a note cannot be added to Anki.
- Tweaked the initial default font size and auto search debounce delay values.
- Fixed an issue where the tags on dictionary entries would be wrong and assigned to the wrong dictionary.
2.3.1
- Added an option under a profile to prepend dictionary names to each definition. This option will now be set as true as a sane default.
- Added an option under a profile to use line break tags
<br>
instead of\n
to allow layout cross-compatibility between other language learning workflows.
2.3.2
- Migaku Dictionary Support - The app will now import ZIP archives containing Migaku proprietary format dictionaries. Note that a ZIP file will be needed, you will need to archive JSON files before import.
- The app will now change fonts between Noto Sans JP and Roboto depending on the language to fix issues where some characters were broken in English.
- Fixed an issue where the Tatoeba Example Sentences picker would have a bad height.
- Reverted a change as subtitles in the Player were less accurate and returned a wrong index.
- Improved and reduced the flicker of the loading state of the dictionary widget, and improved its appear on click responsiveness.
- The dismissable threshold of the dictionary widget has been decreased and requires way less of a flick action in order to be hidden.
2.3.3
- Fixed an issue in ッツ Ebook Reader where tapping outside of text would not result in the dictionary pop-up hiding, and can potentially search the nearest text instead.
- Fixed an issue where the dictionary pop-up would potentially be in the wrong position for its initial loading state for a split second.
- Improved the dictionary pop-up so that a refresh would not trigger a rebuild of the current result on another search.
- The app now performs a stealth search in order to keep the database readily in memory for the next search upon resuming use of the app.
2.3.4
- Reader Word Highlight - Added an option enabled by default which allows highlighting of words when tapped in the Reader upon search. The custom context menu will appear only upon manual selection. A best guess by text segmentation is initially highlighted. The length of the text selection may seldom adjust after the search.
- Halved the default number of maximum headwords and entries in a dictionary result to saner defaults.
- Fixed an issue where word highlight in English would sometimes be incorrect and be off by one character.
- Fixed an issue where word highlight when selecting a paragraph with leading whitespace would momentarily show the whitespace selected before the word.
- Fixed an issue where the dictionary cache would not clear appropriately when the target language of the application has been cleared.
- Hotfixed an issue where opening the Card Creator would require two taps from the dictionary pop-up quick action.
2.3.5
- Different languages will now use locally hosted instances of ッツ Ebook Reader on different ports. This allows users to separate settings for ッツ Ebook Reader and use different orientations without switching settings too much. Note the existing port will be used for Japanese. Users will experience a blank library screen upon upgrading, but will see their existing library intact upon opening the media source.
- Hotfixed an issue where English search queries were not shortened when too long and caused prolonged unnecessary searches.
- Hotfixed an issue where Migaku dictionaries were not stripped of HTML and did not have
<br>
replaced with newlines. - Hotfixed an issue where searching an English word while having Japanese as a target language may result in a grey screen related to the Furigana reading widget.
- Hotfixed an issue where starts with results were prioritised over exact results for Japanese.
2.3.6
- Word highlight is now also implemented for the Player media sources and the Lyrics media source.
- Double tapping on a character on a definition will now smart select the word, allowing recursive searches to be much easier.
- The
No lyrics found
message will include show the title and artist of lyrics to help the user decide whether or not to manually tweak the search parameters. - The WebSocket media source now allows tap to select directly on received messages.
- Lyrics will now attempt a search without the artist if one is available but lyrics were not found, and will omit the artist from being displayed if a match was found without the artist. This will allow some false negative matches that did not work due to the artist causing the exact match search to fail, but will result in some false positive hits.
- The lyrics page now has space at the bottom to allow for easier scrolling and searching along the current lyrics.
- Increased the default dictionary font size to saner defaults.
- Hotfixed an issue related to UTF-16 and charset detection where some DSL files would crash upon import.
- English results are now grouped together by term rather than term and reading. The first pronunciation will be returned for entries grouped together by term.
2.3.7
- Added a counter for the current count and total dictionaries being imported when importing multiple dictionaries.
- Breaking Change: Reinstallation may be required. Significantly reduced the number of redundant operations in the search algorithm for Japanese. A significant change to database indexing has occurred and the splash screen may take longer upon version upgrade. If it takes unexpectedly long, a re-installation may be required.
🗒 A dedication
I have come across many people who share the same motivation and passion I have to learn Japanese, particularly Japanese natives and those learning English as a secondary language. That my tool could not be of use to them as they were only doing a different language, in spite of the fact that I am able to do so much for myself is something that I have always pondered. I once said that I could only ever implement supporting another language once I am happy with the existing support for Japanese and all other features, and I am glad to finally reach that state with the updates prior.
I dedicate this update to my friends that are typically on the other side of the table or screen when I do language exchanges. I hope this will be of some use of them. My intent moving forward with this app is to ensure that languages ot...
2.2
This release introduces ImmersionKit as a new source for sentences complete with image and audio contexts, and includes significant performance improvements to the dictionary search experience.
Existing Users: You will need a fresh installation to use this version. If you are having issues exporting images and audio with the default template, ensure that you have the same card type and HTML/CSS template which can be found here.
The app will automatically add a new card type if you don't already have a jidoujisho Yuuna
card type, but some changes were made after 2.0 that changed the default card type. Existing users that had their card type generated before the change may experience having empty export profiles that prevent card export. Ensuring the card type is the same as the new default will mitigate these issues.
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.
⚡ Performance improvements and a new source for sentences
2.2
🤖 New Enhancement
- ImmersionKit - Pick a sentence complete with image and audio from ImmersionKit's collection of example sentences.
📖 Dictionary Improvements
- Significant performance improvements to the dictionary search algorithm and user interface with better indexing and less operations. The application should now handle more dictionaries more gracefully. A full re-installation is needed as data structures relating to imported data has changed.
- Fixed an issue involving dictionary tags and frequency/pitch entries which caused user interface slowdowns when displaying or scrolling through results.
- Increased the maximum size of the database from 2GB to 10GB.
- A new option for slow import has been added for users that experience crashing on older devices so as to not penalize users with faster devices.
🛠 Bug Fixes and Miscellaneous Improvements
- Updated ッツ Ebook Reader to its latest release, including a fix for horizontal page rendering.
- Updated the flutter_inappwebview dependency as a possible fix for users experiencing issues with selecting text within the embedded browser.
2.2.1
- Reverted the flutter_inappwebview dependency update which caused an issue where the Card Creator may render incorrectly above the Reader causing a transparent background and poor performance.
- Fixed an issue where manual text selection in the Reader WebView may have
\n
included when selecting text across paragraphs. - Fixed an issue where selecting an option on the context menu in the Reader WebView may not result to the text being deselected.
- Fixed an issue where changing the term in the Dictionary tab search bar resulted in user interface slowdowns.
- Fixed an issue related to the dictionary history page which resulted in unnecessary widget rebuilds when a search is finished.
- Fixed an issue where fetching YouTube closed caption manifests would potentially continue and cause user interface slowdowns even when the relevant screen is unmounted.
- Changed the ImmersionKit sentence picker dialog to split to 3 columns on landscape orientation.
- Fixed an issue where the ImmersionKit sentence picker dialog did not handle results with no images gracefully.
2.2.2
- Using the volume buttons on the Reader WebView will now result in page turning. Volume Up will go to the next page, and Volume Down will go to the previous page. If this does not work initially or after switching apps, press anywhere once on the Reader.
- When a dictionary search result is open, both Volume Up and Volume Down will close the result. This will return the buttons to their page turning behavior.
- When the Reader WebView is not at the top of the navigation stack, or if the notification tray is open, the player may control their volume and manage their music.
- Fixed an issue where importing KireiCake would completely break and prevent dictionary searches.
2.2.3
- Updated ッツ Ebook Reader again to include its latest change.
- Fixed a regression related to flutter_inappwebview where continuous scrolling mode in the Reader WebView did not track the horizontal coordinate for the custom context menu.
- Fixed an issue where the Reader did not work on some older devices and needed polyfills.
2.2.4
- Added a new settings menu for the Reader WebView which allows turning volume button page turning on or off, inverting the page turn direction and controlling the scrolling speed in the continuous reading layout.
- Some user preferences for ッツ Ebook Reader are now preset when launching for the first time. These include whether or not the Reader WebView is initially in white or black theme, a larger mobile and touch-friendly default font size and a set maximum height which should scale based on the device height in order to eliminate the user's need to set a good height for both tapping topmost words and opening the top bar.
- Tapping the ッツ Ebook Reader bar under the Reader tab will now open the app to the Manage screen of the Reader rather than the last viewed book. Users may now also directly access Settings directly from the tab.
- Fixed another instance where manual text selection in the Reader WebView may have
\n
included when selecting text across paragraphs. - Fixed a regression where selecting text manually with the Reader may result in Furigana being included.
- Added buttons for increasing and decreasing subtitle delay and audio allowance without using a keyboard for ease of use when using adjusting subtitles for the Player.
- The app will now launch in light or dark mode in accordance with the current OS theme.
- The example sentences for Massif and Tatoeba dialog has been updated to have equal sized, variable-height item columns rather than being displayed in a wrap.
- Fixed an issue where editing enhancements or quick actions in the Card Creator results in auto enhancements being initialized.
2.2.5
- Improved the scrolling experience of dictionary search results.
- Reduced use of opacity widgets across the application for performance purposes.
- Fixed some instances where the first scroll of a dictionary search result may result in stuttering.
- Fixed an issue where users could not select text when recursive searching in the Reader WebView.
- Fixed an issue where copying in the Reader WebView would result in no text being copied.
2.2.6
- Removed the fullscreen and set point options from the ッツ Ebook Reader bar to prevent confusion, as the app's user interface cannot be rendered when the former is used.
- Decreased the size taken up by other images in the carousel screen to allow wider aspect ratio images to show more content rather than being limited to a square.
- Added an option that allows the user to expand the Reader WebView behind the system navigation bar.
- Fixed an issue where cancelling the Crop Image enhancement's dialog will result in removing the current image.
- Fixed an issue where dictionary import would include currently unsupported image format definitions. These are now excluded for import for now while image definition support is still being worked on.
- The app will now clear temporary files made by the file picker after dictionary import.
- Increased the number of maximum dictionary entries in a result from 20 to 40.
2.2.7
- Fixed an issue where importing multiple dictionaries could result in import failure.
- Fixed an issue where dictionary import would result in an out of memory issue.
- Fixed a possible startup crash related to the dictionary database running out of memory.
- Changed the maximum database size to 4GB to adjust for mobile virtual memory limitations.
- Increased the number of maximum dictionary entries in a result from 40 to 60.
- Fixed an issue where the background color for the space above the Reader WebView could be white.
2.2.8
- The web search intent is now handled by the application. When in multi-tasking/switching apps, selecting text on an app and selecting Search will now allow the app to be chosen as a default app, allowing OS-wide text selection of text that cannot normally be selected.
- Re-implemented sharing of images to the application which allows the app to open with the shared images in the Card Creator.
- Added caching of results which allows already searched dictionary results to instantly be returned. This cache is cleared when a dictionary is imported or deleted.
- Text Segmentation and Card Creator buttons are now shown in the right-hand side of a recursive search as a supplement to the web search intent addition.
2.2.9
- Fixed an issue where text selection in the Reader WebView would be inaccurate and return the next character when clicked past around three-fourths the extent of a character...
2.1
This release introduces WebSocket client support for texthookers, a new enhancement for picking image search terms and miscellaneous quality of life improvements and bug fixes.
Existing Users: You will need a fresh installation to use this version. If you are having issues exporting images and audio with the default template, ensure that you have the same card type and HTML/CSS template which can be found here.
The app will automatically add a new card type if you don't already have a jidoujisho Yuuna
card type, but some changes were made after 2.0 that changed the default card type. Existing users that had their card type generated before the change may experience having empty export profiles that prevent card export. Ensuring the card type is the same as the new default will mitigate these issues.
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.
🌱 Incremental improvements to jidoujisho Yuuna
2.1
🌐 WebSocket Support
- A new Reader media source will allow a user to receive text and mine words from a WebSocket server, enabling the app for use with visual novel texthookers.
- If you use Textractor and own a Steam Deck, try this extension! Alternatively, I recommend agent if you want to run visual novels with an emulator on a handheld, though it will require some tinkering with scripts to have it start a useful WebSocket server.
🤖 New Enhancement
- Image Search Term Picker - Allows a user to pick a new image search term. May be useful when an image search would get better hits with an English definition.
📖 Dictionary Improvements
- Frequency tags will now be grouped together by dictionary and are displayed in a wrap rather than a vertical list.
- Fixed an issue where frequency tags may be imported and display incorrectly.
- Fixed an issue where the app may crash when importing a dictionary on older devices.
- Minor improvements to search speed and dictionary database operations.
- The keyboard will now hide if shown when tapping a search term in history.
🛠 Bug Fixes and Miscellaneous Improvements
- Fixed an issue where the app may do nothing after making a selection when using a file picker.
- Fixed an issue where the image select carousel in the Card Creator may show a wrong maximum number of searched images.
- Fixed a layout overflow issue particular to jumping dots animations in the
- Changed the default font of the app to
Noto Sans JP
to alleviate an issue where some users had Chinese fonts even though the app and OS locale is Japanese. - Changed the default quick actions and enhancements to include Open Stash, Image Search Term Picker and Add To Stash.
🗒 Personal progress
It's been a while since the last update, and that's mostly because I've been getting by with the app as is and I was taking a much needed hiatus. I've been doing a lot of reading with visual novels, I've actually finished the Arcueid route of 月姫 remake on my new Steam Deck recently (if it's not obvious, my Steam Deck is the reason I've disappeared for a bit) and I started ANONYMOUS;CODE just lately!
I intended this app as a one-stop shop for immersion and wanted a workflow that would work well and allow for easy mining if you had another device at hand, and I have really been enjoying alternating between my handhelds and books, and being able to easily glance and switch to my phone and just mine words if I ever wanted to.
This version includes some new features that will be useful for users who run texthookers and would prefer to mine on a separate device rather than switch tabs on the main device they're playing on.
Use of the WebSocket client will of course require having a server that will send your desired text, and that will need configuration. In the event someone might have such a setup, I'm sure they will find this useful and flexible.
I've tested it to work with Textractor with this extension and it should be useful if you don't want to interrupt and change windows when playing on a Steam Deck!
Ideally, I'd like this version to have included more changes but I haven't touched the project in some time and these changes should really be in an official version rather than a nightly that I distributed obscurely. I'm presently aware of performance hitches with lots of dictionaries, so for the next update, I'd like to improve the query speed and search algorithm of the application even more. Thank you 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.
2.0
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 b...
1.1
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 theCard 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 theCard 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 theCard 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 theMeaning
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 theCard 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](https://massif.l...
1.0
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 a...
0.26.3-beta
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.