bokane Posted February 7, 2015 at 09:26 PM Report Posted February 7, 2015 at 09:26 PM I'm starting on a couple of projects for which it would be very helpful to be able to create my own dictionaries with entries in a format something along the lines of [Word] [historical pronunciation] [Definition n] [optional source of definition n] [Sentence illustrating definition n] [source of sentence] [optional year/period of source] [optional region of source] [Definition n+1] [etc.] Right now it looks like my least-bad option for this would be either to create my own database in Filemaker Pro or roll my own system using YAML or something. Neither of these is ideal -- FMP looks relatively user-friendly, but I have no experience with database design and am almost guaranteed to screw things up in a way that will be complicated to fix a few months or years down the line, and while YAML is much closer to what I'm looking for, I would dearly love not to have to do any coding myself -- and as far as I can tell there aren't any pre-existing systems that do what I want. Is anyone aware of any flexible dictionary-creation tools (preferably available for Mac OS, but I guess I could always do this in a virtual machine) that do what I'm looking for? 1 Quote
mikelove Posted February 7, 2015 at 09:29 PM Report Posted February 7, 2015 at 09:29 PM You can actually make custom databases for the built-in Mac OS Dictionary.app - having trouble finding recent documentation on this, but there's an old Google Code project for it at https://code.google.com/p/mac-dictionary-kit/. 1 Quote
bokane Posted February 7, 2015 at 09:35 PM Author Report Posted February 7, 2015 at 09:35 PM Yeah, I've used that one with pira^H^H^H freely available StarDict dictionaries. I'll check out the StarDict format and see if there are any apps that'll create dictionaries in it. Quote
mikelove Posted February 7, 2015 at 09:40 PM Report Posted February 7, 2015 at 09:40 PM Here's another one that uses MySQL instead of StarDict: https://code.google.com/p/sqltoappledictionary/ EDIT: also, Wenlin supports custom dictionaries (though they don't draw a lot of attention to that capability), so that might be another option. 1 Quote
bokane Posted February 7, 2015 at 09:48 PM Author Report Posted February 7, 2015 at 09:48 PM Yeah; I'd thought of doing it via Wenlin, since their custom dictionaries/custom entry-editing setup is pretty painless, but portability and future-proofing concerns make me hesitate -- I'd rather have stuff in an easily readable, easily transferrable format. That MySQL setup might be a winner, especially if I move my personal wiki away from Dokuwiki to something that uses a database. Thanks for the link -- will check it out! Quote
Angelina Posted February 10, 2015 at 06:29 AM Report Posted February 10, 2015 at 06:29 AM I have been thinking about this for a while and haven't found anything yet. Unless I manage to do all the coding, it seems impossible. I will try StarDict and MySQL. How easy will it be to transfer content? The last thing I want is to start working on a dictionary and then one day be forced to manually copy all content. Quote
Yang Chuanzhang Posted April 19, 2015 at 10:43 PM Report Posted April 19, 2015 at 10:43 PM I've needed something like this a couple of times now and finally took the time last week to code something up, maybe it's useful to you guys too. It's a web app that can either be run locally on your own computer or on a server. It stores the databases in YAML files and can handle a couple of thousand records. There is little support for querying and searching but data input is quite nice. Download: https://github.com/jsoendermann/PrimloDB Live demo: http://www.primlo.com:8080/ (Don't add your data here, this is just a sandbox.) There is an infinite number of ways in which this app could be expanded. I'll probably add stuff that's important for me at some point in the future like audio file support, multiple accounts with shared editing and maybe having MongoDB as a backend with YAML/json export but I'd also be happy to accept pull requests on github. Let me know if you end up using it 1 Quote
pross Posted April 19, 2015 at 11:48 PM Report Posted April 19, 2015 at 11:48 PM I use an XML file, where pinyin is alphanumeric and type is 名,副,动,etc. Simplified only. <?xml version="1.0" encoding="utf-8"?> <dict> <entry headword="" pinyin=""> <def type="" src=""></def> <def type="" src=""></def> <ex></ex> <ex></ex> </entry> </dict> I populated my dictionary initially with words from the HSK word list using definitions from ADSO and CEDICT. My main use for this: a) recording new words and example sentences. b) displaying relevant words on my character drill flash cards. Quote
Yang Chuanzhang Posted April 20, 2015 at 05:03 PM Report Posted April 20, 2015 at 05:03 PM Interesting, thanks for sharing. I like your card format. Do you edit that XML file by hand using a text editor? Quote
pross Posted April 21, 2015 at 04:30 AM Report Posted April 21, 2015 at 04:30 AM Text editor. I use a javascript function to display the dictionary table. So as I add new dictionary entries, they can appear in my flashcards. When I get to Heisig #750, I will publish my flashcards and the scripts used to create them. Quote
imron Posted April 21, 2015 at 06:45 AM Report Posted April 21, 2015 at 06:45 AM I use a javascript function to display the dictionary table Consider moving to JSON. Far more readable than XML Quote
glu Posted May 4, 2015 at 07:04 PM Report Posted May 4, 2015 at 07:04 PM Just came across this question while browsing around on the forums. Did you find the ideal format/editor? I'm working on something similar to seed a Chinese-Hungarian dictionary and I ended up creating my own tool, but I decided to stick with the CEDICT format. It's a very, very limited formalism, but ultimately I believe that's also its strength if it's to be used in community project with a broad outreach. Anyway, happy to share thoughts or help out with the format if I can, with more of a SW background. Quote
Recommended Posts
Join the conversation
You can post now and select your username and password later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.