jidoujisho

A full-featured immersion language learning suite for mobile.

GPL-3.0 License

Stars
954

Bot releases are visible (Hide)

jidoujisho - 2.6.6

Published by lrorpilla over 1 year ago

This is a hotfix release for 2.6 which includes breaking changes for existing users. Please refer to the releases page for a full timeline of changes.

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 2-4GB of storage space. Make sure your Android WebView is updated before use. This will resolve common issues that may occur with ッツ Ebook Reader or Mokuro.

⚠️ Breaking Change

There was a very poor decision with the original jidoujisho Yuuna template to not include the image and sound HTML tags in each card. This version will now make exporting with HTML tags on by default, with an updated default note type.

If you Clear Media, all your media will not be detected by AnkiDroid, and you may end up deleting all your images and audio exported for the app. Do not attempt this if you want to apply the fix to your note type. If you do so, you WILL lose media.

You may continue use of the app if you never use Clear Media. However, if you wish to fix this issue, the steps are as follows. Before doing anything, backup your collection.media folder and export your decks as .apkg. Make sure you back up both.

Do not sync to AnkiWeb until you can confirm everything is working after the migration.

  • Import your backup .apkg to Anki for desktop.
  • Select all jidoujisho Yuuna cards.
  • Find and replace Image field, find (.+) and replace with <img src="${1}"></img>. Use regular expressions.
  • Find and replace Term Audio and Sentence Audio field, find (.+) and [sound:${1}]. Use regular expressions.
  • Remove tags for img and sound from the back of the jidoujisho Yuuna note type.
  • Export from Anki and import the .apkg to AnkiDroid.
  • Using jidoujisho, go to the Standard profile and toggle on Include image/audio HTML tags on export.

If you have been using the jidoujisho Yuuna template, your cards will need the following changes above. However, so long as you do not use Clear Media, you will not require this migration. Exporting with HTML tags will be on by default with every future iteration of the app moving forward. Toggle this off with each fresh install of the app if you don't desire to migrate. If you don't have a jidoujisho Yuuna note type, you will not have HTML tags included with your template, and you will not require the changes above.

Again, so long as you do not use Clear Media, you may simply just update and continue to use the app. It is only when you will require its use that you will need to perform the fix above, as well as toggling off the option to export with HTML tags if fresh installing the app.

Due to this drastic change, this notice will be included moving forward with any future 2.6 releases. I apologise for what this change may cause, as I understand the hard work you have put to make and collect your cards, and I want to be transparent of this issue before this causes anyone any trouble.

2.6.6

  • Added an option that allows searching for a certain term in subtitles.
  • Added an option to hide subtitle timings in the Transcript.
  • Decreased the minimum vertical swipe threshold required to open the Transcript.
  • Decreased the left padding of subtitles in the Transcript.
  • Fixed an issue where popup menu buttons would be inconsistent across the app.
  • Fixed an issue where audio would lag behind and be cut off when resuming the video player.
  • Fixed an issue where some pages in the app did not have safe areas and would have user interface elements obstructed by the device notch.
  • Fixed an issue where pitch accent dictionaries from hidden dictionaries were included by the Pitch Accent field.
  • Fixed an issue where light mode had theming inconsistencies affecting breadcrumbs and the status bar when using the app's built-in file picker.
  • Fixed an issue where directory names would appear incorrectly in breadcrumbs in the app's built-in file picker.

📲 Which file should I download?

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.

jidoujisho - 2.6.5

Published by lrorpilla over 1 year ago

This is a hotfix release for 2.6 which includes breaking changes for existing users. Please refer to the releases page for a full timeline of changes.

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 2-4GB of storage space. Make sure your Android WebView is updated before use. This will resolve common issues that may occur with ッツ Ebook Reader or Mokuro.

⚠️ Breaking Change

There was a very poor decision with the original jidoujisho Yuuna template to not include the image and sound HTML tags in each card. This version will now make exporting with HTML tags on by default, with an updated default note type.

If you Clear Media, all your media will not be detected by AnkiDroid, and you may end up deleting all your images and audio exported for the app. Do not attempt this if you want to apply the fix to your note type. If you do so, you WILL lose media.

You may continue use of the app if you never use Clear Media. However, if you wish to fix this issue, the steps are as follows. Before doing anything, backup your collection.media folder and export your decks as .apkg. Make sure you back up both.

Do not sync to AnkiWeb until you can confirm everything is working after the migration.

  • Import your backup .apkg to Anki for desktop.
  • Select all jidoujisho Yuuna cards.
  • Find and replace Image field, find (.+) and replace with <img src="${1}"></img>. Use regular expressions.
  • Find and replace Term Audio and Sentence Audio field, find (.+) and [sound:${1}]. Use regular expressions.
  • Remove tags for img and sound from the back of the jidoujisho Yuuna note type.
  • Export from Anki and import the .apkg to AnkiDroid.
  • Using jidoujisho, go to the Standard profile and toggle on Include image/audio HTML tags on export.

If you have been using the jidoujisho Yuuna template, your cards will need the following changes above. However, so long as you do not use Clear Media, you will not require this migration. Exporting with HTML tags will be on by default with every future iteration of the app moving forward. Toggle this off with each fresh install of the app if you don't desire to migrate. If you don't have a jidoujisho Yuuna note type, you will not have HTML tags included with your template, and you will not require the changes above.

Again, so long as you do not use Clear Media, you may simply just update and continue to use the app. It is only when you will require its use that you will need to perform the fix above, as well as toggling off the option to export with HTML tags if fresh installing the app.

Due to this drastic change, this notice will be included moving forward with any future 2.6 releases. I apologise for what this change may cause, as I understand the hard work you have put to make and collect your cards, and I want to be transparent of this issue before this causes anyone any trouble.

2.6.5

  • Fixed an issue where a video could not be exited until it has loaded.
  • Fixed an issue where the image carousel in the Card Creator would not always show the first image again upon new image results.
  • Adjusted back the threshold required with the vertical swipe required to open the Transcript in the Player.

📲 Which file should I download?

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.

jidoujisho - 2.6.4

Published by lrorpilla over 1 year ago

This is a hotfix release for 2.6 which includes breaking changes for existing users. Please refer to the releases page for a full timeline of changes.

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 2-4GB of storage space. Make sure your Android WebView is updated before use. This will resolve common issues that may occur with ッツ Ebook Reader or Mokuro.

⚠️ Breaking Change

There was a very poor decision with the original jidoujisho Yuuna template to not include the image and sound HTML tags in each card. This version will now make exporting with HTML tags on by default, with an updated default note type.

If you Clear Media, all your media will not be detected by AnkiDroid, and you may end up deleting all your images and audio exported for the app. Do not attempt this if you want to apply the fix to your note type. If you do so, you WILL lose media.

You may continue use of the app if you never use Clear Media. However, if you wish to fix this issue, the steps are as follows. Before doing anything, backup your collection.media folder and export your decks as .apkg. Make sure you back up both.

Do not sync to AnkiWeb until you can confirm everything is working after the migration.

  • Import your backup .apkg to Anki for desktop.
  • Select all jidoujisho Yuuna cards.
  • Find and replace Image field, find (.+) and replace with <img src="${1}"></img>. Use regular expressions.
  • Find and replace Term Audio and Sentence Audio field, find (.+) and [sound:${1}]. Use regular expressions.
  • Remove tags for img and sound from the back of the jidoujisho Yuuna note type.
  • Export from Anki and import the .apkg to AnkiDroid.
  • Using jidoujisho, go to the Standard profile and toggle on Include image/audio HTML tags on export.

If you have been using the jidoujisho Yuuna template, your cards will need the following changes above. However, so long as you do not use Clear Media, you will not require this migration. Exporting with HTML tags will be on by default with every future iteration of the app moving forward. Toggle this off with each fresh install of the app if you don't desire to migrate. If you don't have a jidoujisho Yuuna note type, you will not have HTML tags included with your template, and you will not require the changes above.

Again, so long as you do not use Clear Media, you may simply just update and continue to use the app. It is only when you will require its use that you will need to perform the fix above, as well as toggling off the option to export with HTML tags if fresh installing the app.

Due to this drastic change, this notice will be included moving forward with any future 2.6 releases. I apologise for what this change may cause, as I understand the hard work you have put to make and collect your cards, and I want to be transparent of this issue before this causes anyone any trouble.

2.6.4

  • Increased the threshold required with the vertical swipe required to open the Transcript in the Player.
  • Increased the threshold required with the horizontal swipe required to repeat the current subtitle in the Player.
  • Fixed an issue where using the Pick Video File option in the bottom bar when using the Local Media source would result in the status bar not being shown when the new video is exited.
  • Fixed an issue where a crash may sometimes occur when changing the video quality for a YouTube video.
  • Fixed an issue where a crash may sometimes occur when exiting videos in the Player.
  • Fixed an issue where an exited Mokuro media item may not reflect its progress immediately upon exit.
  • Fixed an issue where ッツ Ebook Reader would return a 404 when requiring authentication.

📲 Which file should I download?

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.

jidoujisho - 2.6.3

Published by lrorpilla over 1 year ago

This is a hotfix release for 2.6 which includes breaking changes for existing users. Please refer to the releases page for a full timeline of changes.

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 2-4GB of storage space. Make sure your Android WebView is updated before use. This will resolve common issues that may occur with ッツ Ebook Reader or Mokuro.

⚠️ Breaking Change

There was a very poor decision with the original jidoujisho Yuuna template to not include the image and sound HTML tags in each card. This version will now make exporting with HTML tags on by default, with an updated default note type.

If you Clear Media, all your media will not be detected by AnkiDroid, and you may end up deleting all your images and audio exported for the app. Do not attempt this if you want to apply the fix to your note type. If you do so, you WILL lose media.

You may continue use of the app if you never use Clear Media. However, if you wish to fix this issue, the steps are as follows. Before doing anything, backup your collection.media folder and export your decks as .apkg. Make sure you back up both.

Do not sync to AnkiWeb until you can confirm everything is working after the migration.

  • Import your backup .apkg to Anki for desktop.
  • Select all jidoujisho Yuuna cards.
  • Find and replace Image field, find (.+) and replace with <img src="${1}"></img>. Use regular expressions.
  • Find and replace Term Audio and Sentence Audio field, find (.+) and [sound:${1}]. Use regular expressions.
  • Remove tags for img and sound from the back of the jidoujisho Yuuna note type.
  • Export from Anki and import the .apkg to AnkiDroid.
  • Using jidoujisho, go to the Standard profile and toggle on Include image/audio HTML tags on export.

If you have been using the jidoujisho Yuuna template, your cards will need the following changes above. However, so long as you do not use Clear Media, you will not require this migration. Exporting with HTML tags will be on by default with every future iteration of the app moving forward. Toggle this off with each fresh install of the app if you don't desire to migrate. If you don't have a jidoujisho Yuuna note type, you will not have HTML tags included with your template, and you will not require the changes above.

Again, so long as you do not use Clear Media, you may simply just update and continue to use the app. It is only when you will require its use that you will need to perform the fix above, as well as toggling off the option to export with HTML tags if fresh installing the app.

Due to this drastic change, this notice will be included moving forward with any future 2.6 releases. I apologise for what this change may cause, as I understand the hard work you have put to make and collect your cards, and I want to be transparent of this issue before this causes anyone any trouble.

2.6.3

  • Improved the sorting of deinflected search results for Japanese.
  • Fixed an issue where dictionary history would sometimes not clear appropriately.
  • Fixed an issue where messages for the ChatGPT media source would sometimes not clear appropriately.

📲 Which file should I download?

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.

jidoujisho - 2.6.2

Published by lrorpilla over 1 year ago

This is a hotfix release for 2.6 which includes breaking changes for existing users. Please refer to the releases page for a full timeline of changes.

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 2-4GB of storage space. Make sure your Android WebView is updated before use. This will resolve common issues that may occur with ッツ Ebook Reader or Mokuro.

⚠️ Breaking Change

There was a very poor decision with the original jidoujisho Yuuna template to not include the image and sound HTML tags in each card. This version will now make exporting with HTML tags on by default, with an updated default note type.

If you Clear Media, all your media will not be detected by AnkiDroid, and you may end up deleting all your images and audio exported for the app. Do not attempt this if you want to apply the fix to your note type. If you do so, you WILL lose media.

You may continue use of the app if you never use Clear Media. However, if you wish to fix this issue, the steps are as follows. Before doing anything, backup your collection.media folder and export your decks as .apkg. Make sure you back up both.

Do not sync to AnkiWeb until you can confirm everything is working after the migration.

  • Import your backup .apkg to Anki for desktop.
  • Select all jidoujisho Yuuna cards.
  • Find and replace Image field, find (.+) and replace with <img src="${1}"></img>. Use regular expressions.
  • Find and replace Term Audio and Sentence Audio field, find (.+) and [sound:${1}]. Use regular expressions.
  • Remove tags for img and sound from the back of the jidoujisho Yuuna note type.
  • Export from Anki and import the .apkg to AnkiDroid.
  • Using jidoujisho, go to the Standard profile and toggle on Include image/audio HTML tags on export.

If you have been using the jidoujisho Yuuna template, your cards will need the following changes above. However, so long as you do not use Clear Media, you will not require this migration. Exporting with HTML tags will be on by default with every future iteration of the app moving forward. Toggle this off with each fresh install of the app if you don't desire to migrate. If you don't have a jidoujisho Yuuna note type, you will not have HTML tags included with your template, and you will not require the changes above.

Again, so long as you do not use Clear Media, you may simply just update and continue to use the app. It is only when you will require its use that you will need to perform the fix above, as well as toggling off the option to export with HTML tags if fresh installing the app.

Due to this drastic change, this notice will be included moving forward with any future 2.6 releases. I apologise for what this change may cause, as I understand the hard work you have put to make and collect your cards, and I want to be transparent of this issue before this causes anyone any trouble.

🎴 New default template by Salwynn

2.6.2

  • A new front and back HTML and CSS for new users adding the jidoujisho Yuuna note type for the first time (special thanks to Salwynn).
  • Breaking changes for default Standard profile behavior for exporting with HTML tags and using <br> tags instead of newlines by default.
  • Added suffix text to some options in the Player's subtitle options menu.
  • Fixed an issue where exporting a card did not kill the app appropriately in a share intent when close on export is on.

📲 Which file should I download?

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.

jidoujisho - 2.6.1

Published by lrorpilla over 1 year ago

This is a hotfix release for 2.6. Please refer to the releases page for a full timeline of changes.

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 2-4GB of storage space. Make sure your Android WebView is updated before use. This will resolve common issues that may occur with ッツ Ebook Reader or Mokuro.

2.6.1

  • Significantly improved the English search algorithm to handle apostrophes and better starts with results.
  • Improved the loading speed for YouTube videos that have already been seen in a session.
  • Videos in history with progress in the last minute will now always start from the beginning.
  • The app no longer initially overrides ッツ Ebook Reader settings for dark theme and top/bottom padding.
  • Fixed an issue where the Mokuro media source may return a cached image mismatching the actual image in the Card Creator.
  • Fixed an issue where English selected word highlighting would sometimes work incorrectly in ッツ Ebook Reader.
  • Fixed an issue where the Tags field would sometimes not have default enhancements.

📲 Which file should I download?

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.

jidoujisho - 2.6.0

Published by lrorpilla over 1 year ago

This release implements a variety of bug and quality of life improvements to improve the stability and overall consistency of the user experience, and removes non-free dependencies.

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 2-4GB of storage space. Make sure your Android WebView is updated before use. This will resolve common issues that may occur with ッツ Ebook Reader or Mokuro.

🗺️ New directions

2.6

📺 Player Improvements

  • Tuned the conditions for toggling the visibility of the bottom bar to reduce user error when the subtitle position changes.
  • Added a new option for users to adjust background opacity and blur radius, and subtitle outline width.
  • Added network caching for the YouTube and Network Stream media sources, which should significantly improve buffering speed and band-aid issues with seeking.
  • Fixed an issue where subtitle options would persist across sessions even if a user has selected to set instead of save settings.

📖 Reader Improvements

  • Updated ッツ Ebook Reader to include changes from current upstream.
  • Added an appropriate user-facing message to inform the user when the local assets server cannot be started because of ports already in use. The app will also now re-try every five seconds, and has an appropriate screen to handle this scenario.
  • Fixed a critical issue that prevented users from importing new books or a backup if the WebView cache has been cleared.

⚙️ Miscellaneous Improvements

  • The app now preloads for wildcard searches, which should make initial searches faster.
  • Fixed an issue for some devices where the app may not switch to using a fallback directory for image export and will halt on user startup.
  • Fixed a significant number of inconsistencies with dialog padding and scrollbars which are more apparent in landscape mode, especially when using a keyboard.
  • Instant lookup and using the Card Creator quick action in the ChatGPT media source will now constrain within a sentence rather than using the entire message for card export. Users may still select specific text or get the entire text with the Card Creator button.
  • Fixed a possible gray screen when the app shuts down after being launched with a share intent.

🕊️ Free and Open Source

  • Removed Firebase dependencies from the project to meet F-Droid submission requirements.
  • From now on, new releases will be tagged properly per version, and changelogs for hotfix versions will be in their own tagged releases.
  • Telemetry has been removed from the app, and a file-based logging system has been implemented in its place.
  • Should users require developer support, logs can be found in the app's own folder in the Android/data directory.

📝 Some ponderings

Though this list is a sure contrast to what I have ended up doing with the 2.5 changelog despite stating my intent to slow things down, it does reflect what I think is the direction to take with this project. Going through multiple rewrites over the past years, and getting a new media source, enhancement, feature and whatnot one after the other has allowed me to reach this state with the app.

I feel at this point that my app has certainly become a complete package befitting the claim that I've written for this repository's caption. There are still many things that I feel I can do, that I have wanted to do with the project back then at the time, but couldn't due to other non-starter issues.

Now that I am very much happy with things like dictionary performance, and the variety of media that I support, I can start working on other pursuits like better user and developer documentation and so forth. I would like to improve the app in terms of the everyday - it must be stable, capable and future-proof as a personal workflow, as well as a technology project for the long-term.

This app now also removes Firebase dependencies to meet requirements for submission into F-Droid, which I am in the process of doing at the moment. This means that I won't easily get telemetry to fix issues as soon as possible as I would have in the past, but logging is now in its place. I honestly feel like I was able to make tremendous use of the Firebase suite in terms of being able to respond, find and patch out issues quickly, as well as seeing the current user count by country was incredibly motivating - But there are other ways, and I'd like to try them.

I've made a mess uploading version on top of version in the same tag in the past. I've decided to change things up a bit and clean up going forward with new releases, which means that I can't be as frantic as I have been in the past releasing one hotfix after another and re-uploading a lot, which also means that the changelog won't be as busy as it is for each major version. Anyway, I think that's about it! I thought a little about sharing what I have in mind for the future, but I think showing is better than telling in that regard.

Again, thank you for your continued support.

📲 Which file should I download?

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.

jidoujisho - 2.5

Published by lrorpilla over 1 year ago

This release implements ChatGPT support via OpenAI's unofficial REST API and Mokuro HTML support, enabling tap to select reading and mining of pre-processed manga volumes, and a variety of quality of life and stability improvements.

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 2-4GB of storage space. Make sure your Android WebView is updated before use. This will resolve common issues that may occur with ッツ Ebook Reader or Mokuro.

Existing Users: Please note that there are changes to the default card template in order to make duplicate checks work. Existing users will need to set the Term field as the first field if they are using jidoujisho Yuuna card type. Swap the Term field with the Sentence field in AnkiDroid via Manage note types if your card type was made prior to this version. New users will have the new card type field ordering by default.

🃏 Your comprehensive language learning suite

2.5

📚 Mokuro Support

  • 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.
  • 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.
  • 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 Mokuro volumes with the app defaults to portrait mode. The app automatically toggles single and dual page modes when changing orientation.

🤖 ChatGPT Support

  • 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.
  • As the API may change from time to time, the app now relies on Firebase Remote Config, meaning the user will generally not longer be required to update the app if the latest working reverse proxy API URL changes.
  • Note: As of 2.5.14, the app now relies on official API keys from OpenAI.

🎴 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 the Term and Sentence 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.
  • This works on recently exported cards or cards that have been exported with the app after the user has installed this version.

🎈 Quality of Life Features

  • Single Dictionary Select - A new button on the rightmost tag of a dictionary entry allows users to select a single dictionary meaning when opening the Card Creator or use Instant Export. Users using the Expanded and Collapsed Meaning fields will have the single dictionary in the Expanded Meaning and the remaining fields in the Collapsed Meaning if they use this option.
  • Field Locks - Users may select the leftmost icon of a field when using the Card Creator to lock a field. Locked fields will not clear upon export while the Card Creator is open. This is useful if a user wants to export multiple cards from the same field value.
  • Sentence Picker - A new enhancement in the Sentence field will allow users to select sentences delimited by punctuation and spacing.

🛠️ Miscellaneous Changes

  • The Text Segmentation button has been replaced with the Sentence Picker button in the ChatGPT and WebSocket media sources, and YouTube comments.
  • 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.
  • 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.
  • 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.
  • 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.
  • Fixed an issue where selecting the Channel option on a video media item's detail page would sometimes not work.
  • Fixed an issue where the status bar would hide after recursive searching or opening the Creator when viewing YouTube comments.
  • 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 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.
  • Fixed an issue with the Crop enhancement where its dialog may not appear.
  • Fixed an issue where opening the Crop enhancement dialog will show the first image to be cropped even on subsequent attempts to crop.
  • Fixed an issue where searching audio with the JapanesePod101 source would not show an appropriate error toast if a result was not found.
  • 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.
  • Fixed an issue which prevented cached Bing images from being re-exported.
  • 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.
  • Fixed an issue where the expanded/collapsed arrows beside dictionary entries would not change and display correctly.
  • Fixed an issue related to long text using a marquee animation showing unwanted widget rebuilds in the dictionary, profile and catalog menus.
  • Fixed an issue where hidden dictionaries were included in the Meaning field.
  • Fixed an issue where thumbnails in Reader media history would fit width instead of height.
  • Fixed an issue where the application would not proceed to the main menu if there is no internet connection.

2.5.1

  • The player's backing VLC player now uses hybrid composition instead of virtual displays which may improve performance.
  • Fixed an issue where using the app's OS-wide context menu action or sharing to the app would not exit the app and would retain the intent when reopening the app after the action has been dismissed.
  • Fixed an issue where adding to the AnkiDroid media collection would still occur if a file did not exist.

2.5.2

  • Implemented compression for images exported to the AnkiDroid media collection. 70% JPEG quality is used.
  • The Lyrics media source now supports Uta-Net as a fallback source when lyrics cannot be scraped from Google. Uta-Net has many Japanese songs that are not available on Google, and may find songs that do not exactly match the title and artist, but are the right match, but may take longer to scrape from.
  • Fixed an issue where there was extra information included after lyrics scraped from Google.

2.5.3

  • The context menu now works for the Mokuro reader source.
  • Added a Share context menu option across most widgets in the application with text selection controls.
  • Narrowed limited search domain of Uta-Net scrapes and improved headless WebView scrapes by ignoring image loads and enforcing a specific user agent.
  • Fixed an issue where a selection made in the subtitle would hide as the widget would rebuild when the bottom bar's visibility changes.
  • Fixed an issue where long pressing on the subtitle in the Player would keep the text selection toolbar visible. This toolbar has been removed instead. Please use the Share Current Subtitle option to copy or share the subtitle instead.

2.5.4

  • Fixed a fatal crash that may be caused by unsanitised lone surrogates in UTF-8 when making dictionary searches.
  • Fixed an issue where the database did not preload upon reopening the app from the background.
  • Removed emojis from tap to select widgets to mitigate a tap to select issue with text containing emoji.

2.5.5

  • The Lyrics media source will no longer require refreshing media when switching to and from a different Reader media source, and will no longer require the tab to be active to detect media changes.
  • Miscellaneous changes to the Player tab and Licenses page.

2.5.6

  • Added a dark theme toggle for the Mokuro media source. This option needs to be manually toggled on, as it is off by default.
  • The Sentence field will now be used as a fallback for the Word field if it is blank when using the Search Dictionary enhancement.
  • Profiles that do not correspond to existing card types are now deleted upon selection or use in the Card Creator.
  • Changed the opacity of the icon when a quick action is in use to better present its change in state.
  • Fixed a possible fatal crash related to a dependency used by the Lyrics source to detect the current played media.
  • Fixed a possible exception that may be related to unique indexes in the backing database.
  • Fixed an issue where sometimes the orientation would not unlock after exiting a media source.

2.5.7

  • A toast is now shown to inform the user that card export with media is not possible when embedded subtitles are currently processing.
  • Fixed an issue where the gray thumbnail of a video might appear for another video if deleted.
  • Fixed an issue where tapping on kanji to search on dictionary headwords does not show and hide the status bar appropriately in media sources.

2.5.8

  • All audio played within the app will now pause when headphones are disconnected.

2.5.9

  • Upgraded Isar database dependency to 3.1.0. This brings miscellaneous changes and fixes to database operations using libmdbx.

2.5.10

  • Fixed an issue that prevented some devices that did not have access to the public DCIM directory from getting past the splash screen.
  • Fixed an issue which may have caused non-Yomichan dictionaries to possibly be listed separately or be omitted in the pop-up dictionary.
  • Fixed an issue when importing a DSL dictionary that caused an immediate crash when the file is too big which was caused by reading the entire file's bytes when checking its character encoding.
  • Fixed an issue where selecting a drop-down option in the dictionary or profile menu would cause the entire dialog to refresh.
  • Fixed an issue where duration would display with a trailing zero for hours and minutes in some instances.
  • English results will no longer break down search terms into the character level.
  • Japanese results with the same reading will now be compared with frequency tags instead of popularity.
  • Included missing licenses for included software, ッツ Ebook Reader, Ve and ipadic. Please do not hesitate to contact the project author for missing attribution concerns.

2.5.11

  • Users may now toggle Stretch to Fill to allow the video to fill the entire user's device width.
  • Text in the Transcript can now be selected. Tap to select and the dictionary overlay will now show when viewing all subtitles for a video. The behavior will be appropriately different when the Transcript has been opened for subtitle alignment.
  • The option to toggle Shadowing Mode has been removed from the Player Settings in order to make room. Tap on the video duration to toggle this mode instead.
  • Seeking to a different subtitle in the Transcript in Shadowing Mode will change the subtitle to repeat.
  • A new button allows users to toggle Transcript Playback Mode, which will change the behavior of the Transcript to not close on selection and seek of a subtitle. Turning this mode on also shows a play/pause button in the Transcript. Tap to select searches made in this mode will pause the player, and will resume on clear or swipe away.
  • Fixed an issue where played sentence or term audio continued to play after the Card Creator is closed.

2.5.12

  • Added a new button which toggles the video's visibility when the Transcript is on.
  • The video will no longer automatically pause if the Transcript is opened when Transcript Playback Mode is toggled on.
  • Audio files viewed in the Player will now use image enhancements when there is no video to take an image from.
  • Added bottom padding to the Transcript to ensure that bottom-most subtitles will be scrolled to smoothly.
  • Added an assortment of audio file extensions to the filtered list of files viewable by the Player.
  • Fixed an issue where audio export would not work if an image from a video is not available.
  • Fixed an issue where the Transcript sometimes did not align accordingly to subtitle delay.
  • Fixed an issue where the Transcript may not smart pause and resume upon use of the Card Creator.
  • Fixed an issue where the Sentence field may have the wrong value when opening the Card Creator from the Transcript.
  • Fixed an issue where the Play/Pause button in Transcript Playback Mode did not handle Replay state.

2.5.13

  • Tags - Users may export space-separated tags with their exported Anki notes with the Tags field. Existing users will need to assign this field and its enhancements. New users will have it assigned by default as a collapsed field.
  • The Tags field will always populate with its persisted value upon opening the Card Creator or using Instant Export.
  • A fresh card, Clear All and Card Export will reset the value to its persisted value. Using the Clear button as an enhancement will wipe the field blank.
  • Users may assign and use the Save Tags enhancement to persist the value of the field.
  • Fixed an issue where the highlighted subtitle would jump erratically in the Transcript.

2.5.14

  • ChatGPT support no longer relies on an unofficial API and will no longer require logging in with an OpenAI account. Users will now be required to provide their own API key.
  • Users may expect significantly robust uptime as the app now relies on the official ChatGPT API, and turbo chat completion speeds.
  • Users that cannot get a response may check their usage quota.
  • Tokenless methods will be reconsidered for readdition if they are stable and not prone to unexpected downtime.
  • Added a warning toast for users to inform users that import structured content Yomichan dictionaries that some entries may be missing.
  • Added a toast to show the new subtitle delay value when aligning the subtitle with the Transcript.
  • Fixed an issue that may cause a black screen on startup.

2.5.15

  • Removed some unnecessary dependencies from the project.
  • The user's sent message will now be returned to the text field and will not be added to the message log if a chat request does not work.
  • Fixed an issue where the user may remain in landscape orientation when exiting the Player.
  • Fixed an issue where the app may crash upon switching orientation or toggling stretching to fill.

🦢 A swan song of sorts

I know that I've been at it non-stop with the updates lately. Over the last few months since I released 2.0, I have been able to sit with more comfort knowing that my app has matured as of late. There really is so much going on in the codebase that I can't help but reflect on what I could do now knowing better the requirements and optimal project architecture than when I started the Yuuna rewrite.

This version marks the last missing feature that I could not carry over from Chisa, reading manga. The community has done a great job of make looking up, reading and mining manga a very lightweight and straightforward experience on the go. This app, that was a mere video player that queried words from Jisho.org back then is now what it is now because of the variety of learning experiences that I have been through, and it has been a real vehicle for me to learn all kinds of things, both in terms of my fluency in Japanese and Dart.

I'm really just happy I'm able to keep working on this thing, making it work with YouTube, then with novels, lyrics, then visual novels via a WebSocket server, so on and so forth, all while also having to improve my ability to work with language parsers and my aptitude for the data structures and algorithms relevant to the task. I've come to know a lot of people who I share aspirations with, and fellow developers to learn from and work with.

Though there are bumps in the road I've taken, I wouldn't have it any other way. As always I'd like to thank all of my users, most especially the testers that volunteer their time to inform me of any issues that I overlook -- this thing is massive now and I'm not able to discern all of the things going on under the hood myself.

There is still a lot that I want to do, and the app being as stable as it is now is the chance for me to work on user and developer documentation and doing some clean-up. I anticipate in the future that I cannot run as wild as I have in the past few months. I will probably be really busy soon, and I'll probably sit back as an observer -- the perfect opportunity for me to sit back and actually use this thing, so I can get some insight for myself on the best way forward, but I trust that with this version I'll be leaving things in a good place, and with all these new changes and features, you'll be in comfort for the long while to come.

Happy learning and whatever goals you have, I hope this version helps you get to it! Anyway, that's enough from me. I'm off to read some more ROBOTICS;NOTES!

📲 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.

jidoujisho - 2.5-preview

Published by lrorpilla over 1 year ago

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 the Term and Sentence 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 of a dictionary entry allows users to select a single dictionary meaning when opening the Card Creator or use Instant Export. Users using the Expanded and Collapsed Meaning fields will have the single dictionary in the Expanded Meaning and the remaining fields in the Collapsed Meaning if they use this option.
  • Field Locks - Users may select the leftmost icon of a field when using the Card Creator to lock a field. Locked fields will not clear upon export while the Card Creator is open. This is useful if a user wants to export multiple cards from the same field value.
  • The Text Segmentation button has been replaced with the Sentence Picker button in the ChatGPT and WebSocket media sources, and YouTube comments.
  • Fixed an issue where some sentences may be omitted from the sentence picker.
  • Fixed an issue which prevented cached Bing images from being re-exported.
  • Fixed an issue where Instant Export in the Mokuro media source did not work.

📲 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.

jidoujisho - 2.4

Published by lrorpilla over 1 year ago

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 and fi 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 English.
  • Hotfix - Searching with a Hiragana search term will now return Katakana results if available.
  • Hotfix - Tapping on a tag with a dictionary name will now toggle collapse/expand in order to make it easier when a dictionary tag is too long.

2.4.1

  • Updated ッツ Ebook Reader to its latest version (b76206b8). Users may add their own cloud storage sources, but there are none included by default for now.
  • Users may now download files from the Reader WebView, particularly bug reports and book/bookmark data exports, which can be imported by users in case of version migrations.

2.4.2

  • The app will no longer show the home menu when it is launched by an external intent, such as text sharing, using the app as a player for Jellyfin or Plex, using web search or using the app's OS-wide context menu option, and will perform the action faster.
  • Fixed an issue where changing the video quality of a YouTube video shared into the app will close the app.
  • Added scrollbars for all home tab sources that were missing them, such as the Lyrics and WebSocket pages.
  • The current image being exported will now show the full picture at all times and will not appear cropped in the Card Creator.
  • Added back Firebase Analytics, omitted since Chisa. This is used alongside Crashlytics for developer purposes to track and identify issues as they would occur in specific devices, as well as track which build most users are using.
  • Updated various project dependencies.

2.4.3

  • The floating dictionary pop-up that appears in the Reader WebView will now adapt its theme to one of six themes currently selected under the Reader settings, and will no longer rely on global app theme.
  • Deprecated the Character Search quick action in favor of simply selecting now underlined kanji in the headword.
  • As tapping on the term and reading allowed copying the term before, this action is now moved to the new Copy To Clipboard quick action.
  • The app will no longer set a maximum height for the Reader WebView's settings upon initial use.
  • Recursive searches will now reflect the Reader WebView's theme. Note that this theme will no longer take effect for searches performed within the Card Creator.
  • Fixed an issue where deleting a single dictionary would close the dictionary menu.
  • Fixed an issue where some HTML in subtitles were not escaped.
  • Fixed an issue where the device could potentially sleep while using the Player.
  • Fixed instances with a lack of padding at the bottom of scrollables, such as the Player transcript and when viewing all results for a dictionary search result.
  • Fixed an issue where selecting a line in the transcript would sometimes not reveal the subtitle in Listening Comprehension Mode.
  • Fixed an issue where the color of the pitch accent diagram text would mismatch the Reader WebView's theme.

2.4.4

  • Changed the exit behavior of the app when launching the app from external intents to safely exit rather than exit immediately, which may result to corrupting the database and preventing the app from launching.
  • Changes to dictionary import (similar to the old slow import option) will benefit users with low RAM, and prevent crashing when importing dictionaries with a large amount of objects.

2.4.5

  • Added back the toggle for the slow import option.
  • Increased the maximum database size from 4GB to 8GB.

🗒 Thank you

Though I have much to think and ponder on with the almost numbing amount of free time that I have as of late, this update I would simply like to thank all of you who care to report bugs, request new features or simply ask for help. It shows me I have presence in this world, and being given an opportunity to help others with their workflow and learning goals gives me pockets of joy throughout my day.

The preview builds leading up to this release took many hours sitting in front of a computer screen. Working on this project gives me the opportunity to learn and hone my software development and engineering skills in a way and environment that I find enjoyable. It gives me the drive to get better and do better. Thank you for your continued use and 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.

jidoujisho - 2.4-preview

Published by lrorpilla over 1 year ago

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 being added as a batch once all are processed. Target language subtitles are processed first.
  • Fixed an issue with font ligatures where some combination of characters such as ff and fi may display incorrectly in selectable text widgets.
  • A warning is now shown noting to users that embedded subtitles do not work over network media when selecting subtitles.
  • Videos that have been loaded once will now have their subtitles cached, making loading faster on subsequent playback attempts.

📲 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.

jidoujisho - 2.3

Published by lrorpilla almost 2 years ago

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 other than Japanese that are implemented in the app are not second-class in any form and will not face any neglect, and I hope to bring full localizations/translations of the app in time for use by English learners. Thanks again for using my application and best of luck in learning.

📲 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.

jidoujisho - 2.2

Published by lrorpilla almost 2 years ago

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 (thanks to 10tenreader and @mathewthe2 for the fix reference).

2.2.10

  • The old database directory after the breaking change in 2.2.7 will now be deleted to save space.
  • Added an option that will allow the user to turn off auto search when searching the dictionary and to adjust the debounce delay of the search field.
  • Fixed an issue where web images shared to the app would be perceived as images in the file system and could not be shown in the Card Creator.

2.2.11

  • The ImmersionKit, Massif and Tatoeba sentence pickers will now have the Append option in place of the Stash option, which will allow the current sentence to be appended rather than replaced.
  • The ImmersionKit sentence picker now allows multiple sentences to be selected. Please note that only the topmost selection's image and audio will be included on append and select.
  • Added an option that will allow the Card Creator to automatically close on export. This can be found and toggled on the upper-right corner of the Card Creator.
  • Added an option to adjust the font size of text in dictionary search results. This can be found by selecting the Settings button under the Dictionary tab search bar.
  • Entries from kanji term banks in Yomichan dictionaries will now import as dictionary entries.
  • Fixed an issue where dictionary import would include currently unsupported structured content objects within meanings. These will be omitted from import for the time being while support is being considered and planned.
  • The dictionary popup will now display a loading bar before showing results in order to reduce user friction upon dictionary search.
  • Fixed an issue where saving a media item without overriding its thumbnail would clear its override thumbnail.

2.2.12

  • The dictionary search algorithm is no longer reliant on the Jisho parser, and now uses @mathewthe2's Dart implementation of the Yomichan deinflector. The application should now handle deconjugation to the same extent as Yomichan and the sorting of results is significantly improved.
  • Scrolling left before the first image suggestion in the Card Creator will now allow the user to set no image to be exported as an alternative of having to scroll down and clear the field first.
  • Changed the default debounce delay and font size to more reasonable defaults.
  • To reduce user error, the Wrap Image/Audio with Tags option is now enabled for new user-made export profiles by default.
  • Fixed an issue where in some instances, especially with Furigana in the Reader WebView, text would need to be tapped twice in order to show and search with the dictionary popup.
  • ッツ Ebook Reader is now set to avoid page break by default to avoid instances where text selection may result in a glitch in text rendering.

🗒 Personal progress

I know I released the last version just a few days ago, but I didn't realize I would be able to make progress in terms of improving the dictionary search algorithm so soon. As the improvements are significant and contains a new feature, I couldn't make this a hot fix instead.

This version introduces ImmersionKit as a new source for sentences complete with media contexts. A huge thanks to @mathewthe2's public API which made this integration possible. I might take it easy for real with the next version, and I hope you enjoy these new changes.

📲 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.

jidoujisho - 2.1

Published by lrorpilla almost 2 years ago

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.

jidoujisho - 2.0

Published by lrorpilla about 2 years ago

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

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

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

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

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

🎆 Introducing jidoujisho Yuuna

2.0

📖 Complete Dictionary Overhaul

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

⚡️Quick Actions

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

📝 Fields

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

⚙️ Profiles

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

🤖 New Enhancements

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

🎶 Lyrics

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

🎥 Player Improvements

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

📚Reader Improvements

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

🛠 Miscellaneous Fixes and Improvements

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

🌅 Cutting Room Floor

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

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

2.0.1

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

2.0.2

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

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

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

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

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

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

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

Once again, thanks for your continued support.

📲 Which file should I download?

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

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

jidoujisho - 1.1

Published by lrorpilla almost 3 years ago

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

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

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

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

🌱 1.1

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

1.1.1

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

1.1.2

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

1.1.3

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

1.1.4

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

1.1.5

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

1.1.6

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

1.1.7

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

1.1.8

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

1.1.9

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

1.1.10

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

1.1.11

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

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

1.1.12

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

✨ Introducing example sentences and word audio sources

🍃 A fresh new start

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

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

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

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

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

And to everyone, thank you for your continued support.

📲 Which file should I download?

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

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

jidoujisho - 1.0

Published by lrorpilla almost 3 years ago

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

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

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

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

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

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

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

🚀 Debuting jidoujisho's landmark release

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

🔭 A look at the new jidoujisho

📝 On rebuilding and rewriting an entire application

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

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

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

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

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

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

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

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

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

📲 Which file should I download?

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

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

jidoujisho - 0.26.3-beta

Published by lrorpilla about 3 years ago

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.

jidoujisho - 0.25.12-beta

Published by lrorpilla over 3 years ago

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

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

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

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

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

0.25-beta

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

0.25.1-beta

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

0.25.2-beta

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

0.25.3-beta

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

0.25.4-beta

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

0.25.5-beta

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

0.25.6-beta

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

0.25.7-beta

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

0.25.8-beta

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

0.25.9-beta

0.25.10-beta

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

0.25.11-beta

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

0.25.12-beta

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

Marking jidoujisho's silver jubilee beta release

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

Which file should I download?

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

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

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

jidoujisho - 0.24.5-beta

Published by lrorpilla over 3 years ago

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

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

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

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

0.24-beta

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

0.24.1-beta

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

0.24.2-beta

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

0.24.3-beta

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

0.24.4-beta

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

0.24.5-beta

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

Reintroducing Yomichan dictionary support for jidoujisho

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

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

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

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

Which file should I download?

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

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