-
-
Notifications
You must be signed in to change notification settings - Fork 63
1. FAQ
No. jidoujisho is powered by Flutter and is written as cross-platform Dart code. This means that with some effort, it is technically possible to port the app to iOS. However, there are blockers to iOS development that would prevent a port from meeting feature parity with the Android app.
These include but are not limited to:
- Platform differences with dependencies: With the app being mainly developed for Android and largely untested for iOS, it is very likely that there are many minor platform differences that will need specific fixes on iOS. This includes the app itself, and its dependencies, such as its video player and WebView dependencies.
- File system permissions: This is a blocker for loading files relative to another file automatically, such as same name subtitles or Mokuro images.
- Third-party services: The application scrapes data from third-party sources, which is likely to violate App Store guidelines.
- Store submission, cost and compliance: Developing for iOS is a great inconvenience for hobbyist projects. Anything that is not making the app Distribution and development on Android incurs relatively no cost and difficulty.
The project is free and open source, and developers are encouraged to make an attempt if they so wish. However, with the very high likelihood that efforts to an iOS port that is fully compliant would result in many compromises and feature cuts, this main project is instead aims towards building the best application possible on Android devices.
Similar to the above, jidoujisho is developed largely as a hobby project aiming to give both users and developers an unconstrained experience. Google Play's content policy makes it very unlikely that certain features that use third-party services such as YouTube would be included.
Rather than split up and confuse users with versions that are missing key features, and make it more difficult for developers to maintain separate branches for a stripped down Google Play version and a complete free and open source version, it is easier and more convenient for all to keep things as is.
jidoujisho has been tested on multiple emulators and real world devices running Android 7.0 and above, but extensive development and personal use has been performed on a OnePlus 6 and a Google Pixel 6 Pro. These do not serve strictly as minimum and recommended requirements by any means, but testing has been done to target a smooth experience on these devices.
The application does not bundle with or include any dictionary data. At the time being, the app supports Yomichan, Migaku and ABBYY Lingvo (DSL) format dictionaries. Users may source dictionaries from community sources that have processed data into dictionary formats that the application supports.
Yomichan dictionaries are common within the Japanese language learning community. Open DSL dictionaries can also be imported for other languages.
jidoujisho is provided as-is, similar to any other video player, e-book reader or web browser. The app is capable of loading media from external sources, such as YouTube, but does not host its own content. Users are to provide any other media by their own means.
At the moment, Japanese and English are officially supported. It is possible to use the application with a supported dictionary format but with an unsupported language, though ultimately it will depend on whether the search algorithm for the user's selected target language works well with the unsupported language.
If you want jidoujisho to officially support your language, you may make a pull request with a proposed implementation or a discussion with the following:
- A specification detailing your language's needs that compassionately explains to non-learners of that language any key concepts necessary for the implementation
- An appropriate common dictionary format that exists for the language
- Suggested implementation for its search algorithm
You may double-tap on words or characters on dictionary definitions. This will smart select the best search match for your currently selected target language. You may then select the option to search the word and open a recursive dictionary page.
This implementation ensures that users get enough screen real estate to read recursive search results, and reduces unintended look-ups or pop-up collapses that occur on alternative workflows on mobile. This explicit gesture is also designed to make users to try to understand before making too many impulse searches.
Installing the app adds a context menu option which you may access anywhere that Android or other applications allow it to be used. Using the context menu option will launch the app and search the selected text.
Additionally, you may share text or images to the app in order to open the Card Creator. Sharing a YouTube video link or stream URL will also launch the app. You may also use the app as an external player for Jellyfin to stream media from your PC.
Please refer to the page for Workflow Setup.
While the project tries to cater to features that it finds are invaluable to learners, there are too many card types and workflows in the wild, and the project cannot be expected to meet feature parity with all possible user customizations.
You may try to make an issue or discussion that proposes your desired feature, but if you really want it implemented, you can do that best by perusing the Development section on how to implement it for yourself. The project will happily accept pull requests for whatever ingenious feature you find missing!
I have this idea for supporting a dictionary format, language, media source, user enhancement and so on. Can you support it?
The jidoujisho project will try with its best effort to reasonably support common language learning community standards and types of media. If you strongly wish to see your suggestion realized, see the Development section to learn what you can do to help.