views:

225

answers:

3

Hi! for a program I am writing I would need a dictionary between Spanish and English words. I googled a while, but I could not find any database freely available. Does anybody know where or how to get such a database (preferably a simple CSV or XML file)?

So far my best idea to create such a dictionary is to create a little program that looks up an English word on Wikipedia, and uses the language links to extract the correct translation. But I don't want to want to make a million requests to Wikipedia just to generate this database...

I don't need anything fancy, just a mapping from one word to one or possibly multiple translations for this word. Just like a regular dictionary.

+1  A: 

Do you need to translate on the fly at runtime, or is this a one-time translation of labels and messages for a UI?

I'd say that runtime translation will be remarkably difficult, because you'll need more than a dictionary of words. Natural language processing is difficult in any language. Most languages need to know something about context to translate smoothly.

If it's a one-time translation of UI elements, I've had good luck using Google Translate to go from Japanese to English.

duffymo
I just want to translate word-for-word, like in a vocabulary trainer, so there is no complicated logic involved. Just a map should be sufficient.
martinus
How are you planning to deal with words that have many meanings?
ceejayoz
+2  A: 

Ask around on the Omega Wiki, formerly known as the Ultimate Wiktionary or Wiktionary Z. They collect translations from all languages into all languages, and their data is available in a relational database.

RegDwight
A: 

To answer your question, I don't have a database like that, sorry.

The problem with natural languages is that they are very context dependent, so the same word in English can mean many things in French. Take the English verb 'to know'. This can be translated into French as either 'savoir' (to know a fact), or connaitre (to know a person, or a town).

I'd be very interested to know if there exists such a database, but I doubt if it exists.

Sites like http://www.reverso.net hedge their bets by showing both results.

MatthieuF