What is a good interface to allow display in multiple languages
I'm working on a website that theoretically should be available in all languages. The interface and content are very simple so this is not a problem. The problem is what internationalization interfaces are usually used to cue the user to the availability of multiple language?
The obvious o开发者_如何学Pythonne is a drop down list. Any other good examples of how this has been done elegantly?
As a side question: are there any books or material dedicated to the topic of i18n and localization, preferably for PHP but any good resources on the topic can help.
I've found that a simple drop down list with two character ISO-639 codes and the language name in the language (i.e. Français for French) works well enough. You could try using the proposed language icon to help mark the menu but that doesn't seem to have gotten a lot of traction. If you put the language selector in the upper right corner then people will probably see it.
You can try to use the Accept-Language HTTP header or the navigator.language
and navigator.userLanguage
properties in JavaScript to choose an initial language.
Don't use flag icons. People in Brazil speak Portuguese but probably don't know what Portugal's flag is, Switzerland has three official languages, people in Québec Canada speak French, Americans won't want to click a UK flag to select English, etc.
Make sure you use UTF-8 front to back and sideways from the start if you're going to be facing any L10N or I18N issues; actually, use UTF-8 everywhere even if you're not expecting to localize your application.
UPS.com isn't terrible. http://www.ups.com/
If you use a content delivery network (like Akamai) they are able to tell the location of the user a lot better than you would be able to and you can default the website to that locale. That will give you a good chance of hitting the correct language. It's a bit of an artform and based on your target audience.
A place like Sony or Microsoft has a targeted audience and can be fairly certain that someone visiting from a specific country found that URL via a support document (or a localized search) so there isn't as much emphasis on allowing the user to change their selection.
UPS, on the other hand, delivers around the globe and shipping to a country means that the business will be much more nuanced and the language of communication is based on the person shipping and the person receiving the package.
A good balance is a global social networking site, like Netlog ( http://www.netlog.com) where they use a combination of both smart filtering of the user's location and an easy way to change (via hyper links at the bottom).
As far as books, start with A Practical Guide to Localization which will teach you the basics. My skillset doesn't include in depth PHP, so I'm not even going to try and answer that part.
Happy Coding
Suggestions:
- Linked flag icons
- Drop down list (which updates on selection)
I read once that offering multiple languages is not the same as internationalization. The key difference being that in the first you "just" translate the same content into different languages and in the former you provide different content specific to a region (typically translated into the regions main language)
That alone should give you a different set of interfaces. The standard flags solution can get annoying in either scenario for the reasons "mu is too short" stated.
sometimes a world map is offered as an option to correct to the right location if the automatic localization failed. most services resort to the standard dropdown.
精彩评论