Since this is a PHP forum, I was addressing the basic question, what is the best way to look up one word based on another... and for that, I was saying that an array would be inefficient. I was not addressing the larger question about how to translate between languages which is a difficult question and well beyond the scope of these forums. But Mr. Ramjet is correct, with a simple 1:1 word substitution, you are going to end up with some pretty funny translations.
For the project at hand, one table is more than enough. And yes, PHPycho, your sample structure is just fine. With your sample structure, you can convert FROM any language TO any language.
First, make an HTML form that has three fields:
FROM language (select box with options eng, dutch, span, fren)
TO language (select box with options eng, dutch, span, fren)
Word to translate. (text field)
Then build your lookup script like this:
if ($to=="English") { $to_column = "translation_english"; }
if ($to=="Dutch") { $to_column = "translation_dutch"; }
if ($to=="Spanish") { $to_column = "translation_spanish"; }
if ($to=="French") { $to_column = "translation_french"; }
if ($from=="English") { $from_column = "translation_english"; }
if ($from=="Dutch") { $from_column = "translation_dutch"; }
if ($from=="Spanish") { $from_column = "translation_spanish"; }
if ($from=="French") { $from_column = "translation_french"; }
$query = "select " . $to_column . " from translation where " . $from_column . "= '" . $word . "'";
Of course, for security, don't forget to check $word for sql injection attacks.