Congratulations! Cool app and nice writeup. Related: what do people use for bilingual (translation) dictionaries (i.e. X-English or English-X)? Most of the apps I have found for the languages I use are full of ads and not very usable. (Translation apps like Google Translate are much better and more usable, but there are some use-cases where a dictionary really is better).
Why I built a dictionary app
71–80 of 187 posts
Re: Why I built a dictionary app
#72You can see a little demo of it here - I'm planning on open sourcing the core soon.
Demo https://www.youtube.com/watch?v=MMpSpaMMdp4
Dictionary https://dictionary.lingdocs.com
Re: Why I built a dictionary app
#73Re: Why I built a dictionary app
#74Congratulations! Cool app and nice writeup. Related: what do people use for bilingual (translation) dictionaries (i.e. X-English or English-X)? Most of the apps I have found for the languages I use are full of ads and not very usable. (Translation apps like Google Translate are much better and more usable, but there are some use-cases where a dictionary really is better).
Re: Why I built a dictionary app
#75https://github.com/vthommeret/glossterm
Specifically it can understand and execute 21 different wiki text templates (e.g. "cog", "borrow", "gloss", "prefix", "qualifier”), e.g. {{inh|es|la|gelātus}}:
https://github.com/vthommeret/glossterm/tree/master/lib/tpl
And eventually parse it into this structure, which has a list of all definitions (distinguished into nouns, adjectives, verbs, adverbs, etc...), etymology, links, and descendants for a given word:
https://github.com/vthommeret/glossterm/blob/master/lib/gt/p...
Further parts of the pipeline turned different relationships into edges that I could stick into a graph database and do certain graph queries. This allowed me to do certain queries like find French, Spanish, and English words that share a Latin root.
I ended up parallelizing this specific query using Apache Beam and then dumping the results into Firestore so they could be queried via a web app. Here's an example for the Spanish word: helado
https://cognate.app/words/es/helado
Under the "Cognates" section, it knows that it comes from the Latin root "gelatus" from which English has borrowed the word "gelato".
I originally started this project when I was learning Spanish. If you just look up the definition of helado (ice cream) it doesn't necessarily help you learn it. But I found that if I could relate it to languages I already knew (e.g. English and French), it was easier to remember. In this case helado is related to gelato, but you won't find that in e.g. Google Translate or SpanishDict.
Ultimately, I found that while the Wiktionary data is amazing, it’s also a bit of a quagmire for finding cognates. I would miss certain etymologies where you had to follow a descendant tree 2 or 3 levels deep. Or a definition would just mention a word it was related to. But if I expanded the query to include these instances, then it significantly increased the amount of non-cognates that showed up in the results.
So I created a useful set of tools (which I never wrote about until now), but I realized the end result of a web UI that showed the relationships between words would require a significant investment in data quality that likely wasn’t possible without changing Wiktionary itself / community investment.
Re: Why I built a dictionary app
#76It used a DICT server for lookups: https://en.wikipedia.org/wiki/DICT
And 14 years ago, some servers still existed. They're hard to find now.
It always struck me as something fantastic to a) learn how to interface with a server b) learn cocoa/objective-c/etc c) redesign a simple app (https://www.omnigroup.com/assets/img/app/graffle-7/mac/full-...). Something you've just described in detail. Well, most of it.
Re: Why I built a dictionary app
#77This brings back so many memories. I was in a same situation (reading a book) and needed on digital offline dictionary. I couldn't find anything for my phone back then. It was a Sony Ericson phone with 64 MB memory and J2ME as development environment. So I wrote a offline dictionary with a friend of mine based on wordnet and J2ME polish. It was my first real world project - http://cornucopia.sourceforge.net/
Re: Why I built a dictionary app
#78Well this is... eerie. I just released Stictionary[1] on Friday. It is an offline, ad free, dictionary that remembers words you look up. It gives a word of the day and provides (admittedly underfeatured atm) flashcards to review your word lists. It includes optional syncing to keep your word lists across devices. I've been holding off posting about it while i complete the website[2]. Love to see someone else had such…
It's very stupid, but I check dictionary definitions in an incognito window because I'm horrified of someday people coming across my browser history and thinking "Wow, he didn't know the definition of that ?! What an idiot!" The idea of a dictionary that tracks my searches horrifies me in a silly way. Ha!