11

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.

martinus
  • 17,736
  • 15
  • 72
  • 92
  • Hi, did you found what you were looking for? Because right now I have similar problem. In my case I need spanish - russian, but spanish - english would also be applicable for me. Thanks! – lummycoder Dec 02 '16 at 18:19

3 Answers3

10

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.

ЯegDwight
  • 24,821
  • 10
  • 45
  • 52
  • 1
    This is an incredible resource! and surprisingly difficult to find, thankyou so much! – opsb Oct 06 '12 at 08:33
  • The link is down, does anyone know if they changed domains, or if they'll ever be back up? – 16807 Sep 07 '21 at 16:06
1

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
  • 305,152
  • 44
  • 369
  • 561
  • 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 Feb 22 '09 at 15:50
  • 1
    How are you planning to deal with words that have many meanings? – ceejayoz Feb 22 '09 at 15:53
0

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.

Matthew Farwell
  • 60,889
  • 18
  • 128
  • 171