Back

Offline. Monolingual. Dictionaries.

#26
EPWING is wonderful, though the viewers I've tried have left something to be desired. The 電子辞書 versions of the same dictionaries seem to have much better formatting and usability.

So, I'm developing a new EPWING application. I've got the basic functionality working, but I plan on adding better formatting per dictionary to mimic the experience of the 電子辞書, particuarly for Kenkyusha and Genius.

My approach is rather unique. The application will actually be a web server that you run locally on your machine, which provides a JSON interface to your EPWING dictionaries. You'll visit a web site (whether it's local or something online) to view the dictionaries, and the site will hook up with the server you're running to pull down the data. This allows you to still access your dictionaries if you're away from your home computer, and (by way of a public API, and on a per-user authorization basis) other web sites will be able to interface with your data so that you have more options than EDICT. This gets around copyright issues since only you have access to your dictionaries - and the data is all pulled from the browser frontend (via JSONP), without passing through the web server - while providing the benefits of mixing dictionary interfaces with other online content.

This is a little confusing sounding but I have a way to package this so that it's very simple to install and work with. But maybe some techy people can understand.
Reply
#27
Good stuff wahnfrieden, keep it up Smile
Reply
#28
Whoa, sounds good =D
Reply
May 16 - 30 : Pretty Big Deal: Save 31% on all Premium Subscriptions! - Sign up here
JapanesePod101
#29
Hmm. Well, I'm using EBWin for my reader, and it's working perfect Smile
Reply
#30
I don't have Windows so I haven't tried that yet - will soon though.

You'll still have the benefit of using my reader with other services more easily than any existing readers - like to easily import into an SRS, or to use something like Rikai with an EPWING dict (this would be great!)
Reply
#31
wahnfrieden Wrote:I don't have Windows so I haven't tried that yet - will soon though.

You'll still have the benefit of using my reader with other services more easily than any existing readers - like to easily import into an SRS, or to use something like Rikai with an EPWING dict (this would be great!)
Whoa, this sounds REALLY good =D Maybe a button that automatically looks up sentences using the word from smart.fm would be awesome too.

Out of interest, what are you writing this in? Will it be multi-platform?
Reply
#32
The web server that you'll run on your computer to serve your dictionary data is written in Python, with some C for EPWING-specific stuff. But I'll package it up later on so that it's just an executable for whatever platform you're on.

I'm also using UPnP (or Bonjour for OSX) so that you can run the server without configuring your router, etc. You will just have to log in to my web site via the server application, so that my web site can mediate connections between client applications and your home computer. This is just to establish the connection - once they're connected, it's direct, and no data passes through my server.

The server gives out responses with JSON-formatted JSONP calls, but the actual dictionary entries are formatted in XHTML. This makes it very easy to write client applications, especially since I'm developing a fully RESTful API (true REST, to Fielding's specifications).

As for things like smart.fm or Rikai plugins, I'm not planning on doing that sort of thing for now, but it will be easy enough for others to write these additional clients.

Yes it will be multiplatform, but while I am still developing it (pre-production) I will only be supporting Linux (might work with OS X, I don't know now, but I will make sure it does later on).
Reply
#33
this dictionary is pretty darn good: http://nihongo-dekimasu.blogspot.com/200...onary.html
Reply
#34
wahnfrieden Wrote:My approach is rather unique.
there are already standards for network access to dictionaries, and compatible webapp clients. you could just patch a client to get the output formatting you want
Reply
#35
I'm afraid I don't see the point in making this into a webapp.

Modifying an existing opensource EPWING client to give you the desired formatting would seem to be a more obvious thing to do, and would avoid the ridiculous amount of overhead that what you are building will have.
Reply
#36
You could use the DS. It's even super portable.
Reply
#37
cangy Wrote:
wahnfrieden Wrote:My approach is rather unique.
there are already standards for network access to dictionaries, and compatible webapp clients. you could just patch a client to get the output formatting you want
Scraping those web sites which have commercial dictionaries available freely is a very gray legal area. Some of them explicitly forbid it. The problem is that by scraping their content, you're removing their ads. This is fine for personal use, but I can't scrape their sites to get content to display within my own site, for example.

Anyway, some of the best dictionaries (研究者大辞典 etc) aren't available on any free site, that I'm aware of.
Edited: 2009-09-12, 8:08 pm
Reply
#38
Jarvik7 Wrote:I'm afraid I don't see the point in making this into a webapp.

Modifying an existing opensource EPWING client to give you the desired formatting would seem to be a more obvious thing to do, and would avoid the ridiculous amount of overhead that what you are building will have.
I'm aware of existing EPWING clients and libraries. I found it easier to start from scratch with my own client. What I've developed is actually a few layers which build upon each other, but can be used independently. I used a Python library for reading EPWING files, but I developed a MUCH nicer, cleaner, and easier to use API on top of it. Then I used that new API to make the basic viewer client application, which already provides some enhanced functionality over existing clients. Then later I'll add the UPnP stuff to it.

The "ridiculous amount of overhead" is just there for power-users who want the extra functionality. The application will still be usable locally as a simple, standalone client, like other EPWING viewers.
Edited: 2009-09-12, 8:18 pm
Reply
#39
wahnfrieden Wrote:
cangy Wrote:there are already standards for network access to dictionaries, and compatible webapp clients. you could just patch a client to get the output formatting you want
Scraping those web sites which have commercial dictionaries available freely is a very gray legal area. Some of them explicitly forbid it. The problem is that by scraping their content, you're removing their ads. This is fine for personal use, but I can't scrape their sites to get content to display within my own site, for example.

Anyway, some of the best dictionaries (研究者大辞典 etc) aren't available on any free site, that I'm aware of.
actually, I was referring to standard protocols for sharing epwing and other dictionaries over the network and clients that support those protocols, some of which are web-based
Reply
#40
Ah sorry, misread your post. I had looked a little into EBNETD and its associated protocols, but wasn't satisfied. I feel like the client has to do too much with the output for it to be usable. The EBNETD and the DICT (I think that's what it's called?) protocol is a little too close to raw EPWING access via EB Library. There is at least some additional data formatting and API abstraction that most clients, at least within the domain of use I'm interested in, would be happy to leave up to the server, IMO. It will be fairly trivial for a site like Rikai, for example, to make dictionary entry requests to my application instead of whatever they're using internally.

I also need to be able to serve JSONP responses for cross-domain scripting, but maybe ebhttpd or something allows for customizing its output, I'm not sure.
Edited: 2009-09-12, 11:26 pm
Reply
#41
Status update:
I finally have time to put into this project. My plans have changed a lot though, and I've gone with a full desktop application, although I've developed a nice Python lib too that makes EPWING easy.

Here's a screenshot of my progress:
[Image: Screen%20shot%202010-06-17%20at%2010.12.45%20AM.png]
Made w/ Qt (Python) so it's cross-platform.
Reply
#42
Wow wahnfrieden, looking pretty nifty. Can't wait to try it out.
Reply
#43
igordesu Wrote:Does anybody know of any *reliable*, offline, electronic, monolingual dictionaries? I've been considering getting rid of internet access at my house so that i can be more productive while studying offline.
I'm not into kanji / sentence mining that much, so assuming that an offline dictionary is hard to get, I guess online dictionaries work just fine...
Acutally, it never fails to surprise me how people even on these forums are superficial / ignorant about other member's posts, or can't / don't want to read between the lines...
reading your second sentence a question popped in my mind...WTF????
"considering to get rid of the net ACCESS to the house" Yep. I would say that's a pretty radical point... How could others overlook this? Your problem is not offline dictionaries, but internet addiction. It's a real disease, believe me, seeing a doctor is not a joke, you shouldn't take it too lightly, if iternet procastrination is causing issues with your studies / real world life...of course getting rid of the access would work I guess....but hm....that just doesn't seem right.
Edited: 2010-06-18, 5:04 am
Reply
#44
Huh, I just read that as him wanting to squeeze a bit more time out of the day. There are all sorts of things on the internet, and it can be distracting whether you're addicted or not.

Also, that app looks smexy. Will we be able to easily make lists and import them into anki?
Edited: 2010-06-18, 8:44 am
Reply
#45
astendra Wrote:Huh, I just read that as him wanting to squeeze a bit more time out of the day.
Right. And in order to do that, you have to terminate the entire internet connection to the house....why not cut the calbe with a knife? Smile I think he has issues with the net, because terminating the whole connection seems very drastic (to me at least)....
Reply
#46
blackmacros Wrote:
Amset Wrote:
nonpoint Wrote:There are epwing format dictionaries of monolinguals like 大辞林 (the one used by sanseido and goo) on demonoid if you have an account there. Heres some more info and viewers if you dont already have one http://www.hloeffler.info/epwing/epwing_format.html
Exactly, that's what I use for offline dictionaries. I didn't have to have a demonoid account randomly (that site confuses me).

Of course, if you are opposed to downloading things, you have to buy the dictionary, so you might as well get a paper one or one of those electronic dictionaries.
Yeah sometimes it lets me download without an account, and sometimes not. It won't let me at the moment. But if you search "demonoid + *your search term*" (ie. "demonoid 大辞林") you may find that google cache is your friend, hint hint nudge nudge Wink
Google cache is not my friend. In the spirit of recent July 2012 Resources Revival, I urge that the Ancients step forward and once more grace us with their generosity. The great inventor of our time, cb4960, has ushered in a new era with Epwing2Anki. The lost scrolls shall unlock the true potential of Epwing2Anki and bring manna to the peoples of Koohii. Ancients! We await.
Edited: 2012-07-21, 12:27 am
Reply