Forum Moderators: phranque
You may want to have some solution that has people choose a language on first entry, and that sets a cookie as their preferred language. Then, any time they enter the site they get that lang.
You would offer the ability to choose another lang on the site as well, in case they want to switch.
If they are a search engine (or don't accept cookies) you skip them past the lang choosing step and offer up one of the languages, which links to the alternate language ao everything gets spidered.
These are just ideas, lets see what others have to say...
If they don't like the language they're in, they just have to click back to the default language, and since the referrer is from the same domain, it won't redirect again. Only problem is for users which don't give referrers through; I'm trying to figure out a good solution for this myself! Current idea is to do the redirect part in javascript. Ideas welcome, of course.
From there, all links are to pages in that language tree. Each page also has the three language flags, which brings the user directly to that page in the given language, if available. This is important since these other-language pages are largely automatically generated (just short item descriptions, no tricky grammar) and might have bad translations. I'm often trying to re-find a page in a multi-lingual site when I'm stuck somewhere in a flukey translation and want to see if I can get it in the original language. As you can probably guess, this extra linking structure is a lot of extra work and requires careful planning from the very beginning. But it's of enormous benefit to multi-lingual users, and makes less-than-perfect translations more bearable.
As far as I understand, this kind of content negotiation that you describe is rarely used since search engines can have problems with the same url returning different types of content.