Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add offline capabilities #120

Open
Jackson-Nickk opened this issue Apr 29, 2024 · 7 comments
Open

Add offline capabilities #120

Jackson-Nickk opened this issue Apr 29, 2024 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@Jackson-Nickk
Copy link

Currently the app depends on network connection to fetch word definitions and has some sort of offline cache. But I think if it was to have internet connection people would just search their words on google and get definitions easily, and that makes this app useless.
I suggest to add a download option to the app for uses to download a language package to make offline dictionary available. If the language package would be too big you can break it down to purpose specific categories like: Essential Words, Literature, Science, All the words (complete dictionary), Slang, etc.

@yamin8000
Copy link
Owner

But I think if it was to have internet connection people would just search their words on google and get definitions easily, and that makes this app useless.

Yeah, well, you know, that's just, like, your opinion, man.
Jokes aside, this app is simply what it is, a simple dictionary app, there's not so much benefits using this over a simple google search, I agree with you on that.

I suggest to add a download option to the app for uses to download a language package to make offline dictionary available. If the language package would be too big you can break it down to purpose specific categories like: Essential Words, Literature, Science, All the words (complete dictionary), Slang, etc.

I didn't find any offline dataset available for Free Dictionary API. There's only a list of all words for this API. Technically, one could break down the list of all, 233464 words into different categories by hand or using AI tools. The next stage of the problem is downloading definitions for the words, which can be either delegated to the user or it can be downloaded from another external server, which in itself is another Anti-Feature because now the app depends on yet another possibly non-free network.
Still, it's not a bad idea.

@apprehensions
Copy link

apprehensions commented May 7, 2024

I would like to see this, i don't want my dictionary to depend on an internet connection, this way, it can be more valuable or preferred over a simple google search.

@yamin8000 yamin8000 self-assigned this May 7, 2024
@yamin8000 yamin8000 added the enhancement New feature or request label May 7, 2024
@Jackson-Nickk
Copy link
Author

Jackson-Nickk commented Jun 22, 2024

But I think if it was to have internet connection people would just search their words on google and get definitions easily, and that makes this app useless.

Yeah, well, you know, that's just, like, your opinion, man. Jokes aside, this app is simply what it is, a simple dictionary app, there's not so much benefits using this over a simple google search, I agree with you on that.

I suggest to add a download option to the app for uses to download a language package to make offline dictionary available. If the language package would be too big you can break it down to purpose specific categories like: Essential Words, Literature, Science, All the words (complete dictionary), Slang, etc.

I didn't find any offline dataset available for Free Dictionary API. There's only a list of all words for this API. Technically, one could break down the list of all, 233464 words into different categories by hand or using AI tools. The next stage of the problem is downloading definitions for the words, which can be either delegated to the user or it can be downloaded from another external server, which in itself is another Anti-Feature because now the app depends on yet another possibly non-free network. Still, it's not a bad idea.

Sorry for being late to respond...

Another thing that can be done is using other popular commercial dictionary formats with reading support or a glossary convert system. I got the idea of having categorized word packages from Babylon, they have this kind of word collection for their software. And some programs like GoldenDict can read those Babylon files.

Those dictionaries can be hosted on GitHub so downloading them from the app would be easy I guess (I'm not a programmer myself, I just like open source apps)

I've come across a tool named BabylonToHTML but I don't know if it is suitable for this app.

Another ides is to just add offline dictionary file supporting but make it be up to users to download Babylon dictionary files from the internet (give them some links ?) and use them as they wish.

@Jackson-Nickk
Copy link
Author

Jackson-Nickk commented Jun 22, 2024

@yamin8000 I noticed you are Persian (منم همینطور) !!!
Babylon glossaries are available to download on Iranian websites as well.

@yamin8000
Copy link
Owner

I think relying on other dictionaries for offline capabilities complicates the app in terms of development considering this is an open source app developed and maintained in my spare time and besides that this app is advertised as a front for freeDictionaryApi so showing data from other sources is just misleading.
I can add an option to download and cache definitions for all the words available or at very least most used words in English from the freeDictionaryApi.

@Jackson-Nickk
Copy link
Author

@yamin8000 That would work. I think offline capability is a selling point for people to install a dedicated app just for dictionary. I myself find it annoying to search for words online when I'm reading a book on my phone and suddenly a weird word comes up which I don't know its meaning.

Another killer feature would be definitions in notifications. There is an app called Notification Dictionary which does that. It lives in the selection context menu and opens a notification containing definitions when being called from there. But that app doesn't have online capability and its interface is not as good as your app. I know it's probably not going to happen, but having that convenience would be perfect.

@tareefdev
Copy link

freeDictionaryApi uses Wiktionary as a source of data (meetDeveloper/freeDictionaryAPI#102), so i would say a better option would be to download Wiktionary database (https://softwarerecs.stackexchange.com/questions/18273/download-all-words-from-wiktionary-for-offline-use#26776) for offline using. For me, it does more sense to use the same source of data for both online and offline usage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants