Forum Moderators: phranque
Another common answer to this kind of question is to let the user select the language by using links, national flag icons, national subdomains, etc. The usual comment being, "Just because the browser is set to a certain language or the ISP resolves to a certain geolocation doesn't mean the user speaks that language." If a user's ISP resolves to Canada, do they want French or English? How about Belgium, or other multilingual countries? Internet cafes and other "public computers" in large cities also come to mind.
So, the common advice is, let the user choose, then offer a cookie to save the setting if the machine is their personal machine.
Jim
Accept-Language header with each request that you can parse to determine which language to serve. You have two possible approaches (both related): the first is to use Apache Content Negotiation [httpd.apache.org] to determine the most appropriate language file to serve. The second approach is to use server-side scripting (PHP, ASP, etc.) to do the content negotiation.
Spiders and older browsers don't usually send an
Accept-Language header, so you will need to specify a default.