2 ms·
Show HN: I made a mobile video player for Japanese language learners
- lrorpilla 6y agoHi, all! This is not the first HN post I've made on this project - I try to make significant milestones in between. Essentially, this is a video player that will let you watch videos in your local library or on YouTube on your Android device -- and you can tap or drag on subtitles and it will query Jisho.org for dictionary definitions. You can then export the cards to Anki with full image, audio and definition export. You can edit the CSS template and the cards from AnkiDroid from thereon out. It was simple and straightforward. Ever since the initial release, I've since added a lot of features. I've since done since my first release: - Experimental custom dictionary support - Full YouTube support with search and a closed captioning indicator - Having the trending 20 videos in Japan as the default screen means users always have something new to watch and first timers something to play with - Migrated the app to VLCKit (via flutter_vlc_player) to significantly broaden the supported formats - Used the AnkiDroid API so users can instantly add cards instead of sharing each card to AnkiDroid - Ported the Jisho.org parser (Ve linguistic framework) to Dart to implement on-device text segmentation to implement tap to select on words - Channels, search history and suggestions and resume feature lets users get to content they frequent to much faster - Video history so users can get back to what they were watching and a clipboard so users can always review their last 50 queried words in between watch sessions - Automatic captions support which works surprisingly well in podcasts and news shows with clear speakers, and otherwise can be quite terrible At its core, this is a video player with extra sprinkles. I have been working really, really hard to make the app that I was frustrated to find did not exist, at least with mobile solutions. I've been taking feature requests from my own users and I am glad to have more and more Japanese immersion learners use it. When I feel like I've done enough, I'll probably pause at making new features, and just patch and make fixes for bugs. I'm hard at work at a release candidate that I can proudly call stable. For now, I'm really quite happy with what I've made and want to share it to as many users that can find it useful. I also want to try to bring this app to as many languages as I can, but I have to be able to source the necessary definitions from somewhere, and I've really found that there's nothing quite like Jisho.org when it comes to their API.
- yorwba 6y ago> I also want to try to bring this app to as many languages as I can, but I have to be able to source the necessary definitions from somewhere, and I've really found that there's nothing quite like Jisho.org when it comes to their API. Many dictionary projects let you download a dump of all definitions that you can query locally. Actually, even jisho.org is backed by dictionary files sourced elsewhere, as stated on their about page https://jisho.org/about https://jisho.org/about . If you want dictionaries in a single format for as many languages as possible, you can try FreeDict https://freedict.org/downloads/#dictionary-downloads https://freedict.org/downloads/#dictionary-downloads but if you're looking for specific language pairs, they might not be covered there.
- lrorpilla 6y agoI have looked into other sources. From what I've gathered so far, the best thing I could do is to pick a very prominent dictionary format that many other formats can convert into with existing open source tools. Then, I would let users import their custom dictionaries themselves. This would reduce maintenance on my part while ensuring very broad support for a lot of languages. I'm thinking that a format like DSL should work out. Beyond my plans for more language support, I also want to extend the tap to select functionality to the other CJK languages, so I've been looking at text segmentation libraries I could port to Dart for Chinese and Korean. Otherwise, drag to search should work out for most languages, though a lack of deconjugation would get in the way. Jisho.org's deconjugation is why I query their site for definitions rather than just use their data sources -- I actually have a Chinese-English branch already working by scraping MDBG, but the owner explicitly disallows any scripted use of the site, so I can't release it. I really wish the websites for other languages were as scrape friendly.
- yorwba 6y agoMDBG, too, offers their data for download https://www.mdbg.net/chinese/dictionary?page=cc-cedict https://www.mdbg.net/chinese/dictionary?page=cc-cedict I think they prefer paying the one-time cost of a relatively small download over the continuous cost of performing a search every time a user of some other service wants to look up a word.