The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Well many websites choose to use a cookie on the user’s computer to determine a setting such as the language preference they have. It is probably better then storing it in a database in case a user accidently selects the wrong language. At least they can empty their cookies and reset to the default language.

aside from how to store a user's timezone, what's the best/recommended way to display pages in the chosen language?

Well I would personally give them the option to choose their location, the last thing you want to do is force a user from a certain country to read a language they may know but would prefer to read english. Provide a menu or something so that they can select their preference. And then save that preference as a cookie, and have the website read the cookie and provide the chosen language.

Having a choice is much better. What happens when someone who speaks english visits china and goes in an internet cafe and views your site... will they be forced to read it in chinese just because they are in china?

Unless you have an absolutley massive website like facebook, I do not think it is worth the resources of translating your entire site into multiple languages. But then I think everyone should just learn english anyway. And everyone should use the same currency. This may make me sound like a communist but I think it is just practical.

Having a choice is much better. What happens when someone who speaks english visits china and goes in an internet cafe and views your site... will they be forced to read it in chinese just because they are in china?

Unless you have an absolutley massive website like facebook, I do not think it is worth the resources of translating your entire site into multiple languages. But then I think everyone should just learn english anyway. And everyone should use the same currency. This may make me sound like a communist but I think it is just practical.

Geotargetting has always been a problem. Yet, while creating a page in English makes it more open to general public because it is the language used in business at this time, it is not right to think that eveybody speak English and that they should.

I know not everyone speaks english. I meant it would be a lot easier if everyone did. Not necessarily english, but the same language... english seems better though since it is the most common -sort of. Don't think Im some kind of weird overpatrioic ultra-nationalist britan, because I think my country sucks.

Anyway as I mentioned people on holiday in china might want to use your site in english so you should have a choice. Or better yet -have a choice plus some kind of detection which gives you the option of the local language(highlighted in the option page for example"you are in china -view chinese site... or these other options").

I know not everyone speaks english. I meant it would be a lot easier if everyone did. Not necessarily english, but the same language... english seems better though since it is the most common -sort of. Don't think Im some kind of weird overpatrioic ultra-nationalist britan, because I think my country sucks.

I am not saying that. I am simply stating that sure, it would be great if we all speak the same language, but the truth is that we don't, and that's why we need to adapt our sites to this reality. As you say, even if we try to guess the prefered language of the user, he will need to have the choice of which language to be used.

A cookie is ok to remember the user's choice. The way to translate the page is another issue. It really depends on the market you are targetting on. If you expect a high traffic from all the countries you are targetting, then it would be better to have the full site translated by professionals, if it is going to be a occasional thing but you desperately need a professional image then, again, have the site translated by professionals... if that's not so crucial, use the internet translators instead.

I think it can be worth translating, but it is a pretty big project. Unless you hire professional translators, then it won't work at all. You also have to research the target market, for example there might already be a better website out there in the target language.... so basically for each extra language you want, you have to do the amount of work of researching and building the website completley over -maybe that is an exagerration, but you get the point. I think for most websites it is better to spend your time optimizing your site for your default language, and only when it is really succesful there, can you expand to other countries. The time you spend translating every piece of content might be better spent creating more content for the same target.

Basically you create a complete duplicate of every your site in each language (assuming you can translate into all of them), and on your index page you tell them to select the version they want via a standard menu. Spanish - English - German - etc

So you'd have pages such as topicA, topicB, topicC, then spanish-topicA, spanish-topicb, spansih-topicC, then german-topicA, german-topicB, german-topicC, each with it's own menu in the chosen language (probably each in a folder named after the language).

If you think it's some magic function, sorry, it probably lots of language experts translation things.

no, i know it's not some "magic function". i never said that, either. in my example you'll notice i'm defining the label for a button using a constant. that constant is defined via the value in the database. that way you simply change what's said in certain areas. instead of creating 20 pages for 20 languages you simply refer to the value in the database.

i'm pretty sure this is how facebook handles their multiple languages, but i'm trying to get a consensus from others on what they think. i've not been able to find any good sites out there that describe the best methods in setting up a multilingual website.