Yeah, I've done this for clients before. I've never done it with a blog before, though - just static pages. So I can't tell you quite how to implement it with WordPress (I don't know if you want comments enabled or what you're going after in the design phase of the whole thing) - if there were more details I might ba able to. but I *do* know you're looking at a *lot* of work. You at least understand that you'll have to translate each post yourself - and that's good (most clients don't understand why that has to happen!), so you're aware of the work involved.
The good thing is that WordPress is PHP-based, and there are plenty of PHP scripts that can assist you with the whole "language-swapping" issue and setting cookies. I'm no PHP guru by any means, but I have done it before. What I've had to do (and like I said - this is on static sites, so working it in with WordPress is another matter) is #1 - be sure your header character encoding can change based on the cookie that is set by the end user.
For exmaple, most headers begin with something like so:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
See that last line? That says "this site's default language is English"...you'll have to use PHP to alter that line from "xml:lang="en" to "xml:lang:de" (for Dutch) or "xml:lang:es" (for Spanish), for example.
You'll probably need to have the character encoding change, as well, so that special characters can be displayed when the cookie sets the alternate site.
You'll want a button or text link at the top of your page, offering the translated text/altered site (and this is also what will set the cookie for the language choice). I'll have to dig through old client's files to find you a script, but you can google for one, as well - there's plenty of freebies out there that can be used to do what you need to do.
Hope that gets you started!