As an English person living abroad I have become frustrated by many web application's approach to internationalization and have blogged about my frustrations.
My tips would be:
- think about how you show an international version of a page
- using geolocation might work for many users, but as my examples show for many it will not
- why not use the Accept-Language header for determining which language to serve
- if a user accesses a page via a search engine then don't redirect them somewhere else e.g. to a homepage in a different language
- it's extremely annoying to change language and have a different page reload - either serve the same page or warn the user that the current content is not available in a different language before redirecting them
- English is a very common language, so perhaps default to that
- But make sure the change language option is clear on the GUI (I like what Google Maps are doing, as shown in the post)
All I see on the Web is companies getting internalization wrong. Getting it right from a user's perspective is tricky indeed.