There has been a notable rise in demand for multilingual sites lately here at Selesti. So what better time for us to explore the ways in which to identify a user's locale and language, and appropriately deliver them the best content available - also known as geo-targeting.
Offering Choice and Good User Experience
Firstly, we understand that there must be a choice. It would be a pretty terrible user experience to provide completely the wrong language for the user and not allow them to switch to their preferred one.
We believe the tried and tested country/language drop down menu in a clear but unobtrusive position in the header of the web site is the best solution for this. It is a method that users are familiar with and an area constant throughout the whole website. The choice should also only need to be made on first visit. Upon revisiting a website cookies should allow the system to remember the user's previous language preference and provide the same version.
The Convenience of Multilingual
In our ever more lazy lives it is important for the user to have the correct language directed to them without them having to do a thing.
One of the ways you can do that is through IP geo-targeting - detecting the user's IP address and checking it against a database of IP addresses and locations. There is no shortage of third party solutions to gain access to this information and all it takes is a quick request to an external service and you can tell the user's country. However, relying on a third party does have its downfalls: these services can be expensive and you have no guarantee of 100% uptime.
There are some other criticisms for this method. One is that although we can tell the country from the user's IP we cannot tell their specific language - a user from Belgium could be assigned Dutch but their preferred language may be French. Another problem occurs when users aren't in their native country - If I take my laptop on Holiday to Spain it doesn't mean I am suddenly fluent in Spanish.
Although IP geo-targeting is pretty accurate when it comes to identifying countries it isn't so accurate when trying to identify specific regions within countries. This is because many IP addresses will be associated with the location of the user's Internet Service Provider which will normally be located in the country's larger cities. So the IP method isn't really suitable for assigning language based upon region if a website's specification were to call for this.
[caption id="attachment_1177" align="aligncenter" width="300"] Firefox language and region settings[/caption]
Using Browser Settings
A safer option is to utilize the user's browser settings for geo targeting. When a page is requested by the user a header is sent by the browser specifying the user's language preferences - the Accept-Language header. Not only can this tell us the country but the setting will also contain the user's preferred language. The major benefit here is that the user has complete control over the setting and what priority they rank their spoken languages. Even if the user hasn't modified their browser's language settings it will usually be correct - many browsers obtain the user language on install or from the main system settings on the user's computer. This means that even if a user isn't in their native country they will be able to see content relevant to themselves if they are using their own computer.
Obviously there are always going to be cases when the allocated language isn't suitable, for example if you don't use your own computer abroad, so geo targeting can never be 100% perfect, which is why Mozilla, along with many others, suggests that the user should always have a way to override the choice
[caption id="attachment_1178" align="aligncenter" width="300"] Gap identifies that you aren't in the correct place and gives you a choice for where to go next.[/caption]
Some may prefer to forgo geo-targeting all together and allow the user to choose their language upon first visit to the site. Others might use a mixture of both user selection and geo-targeting. We believe there is no clear cut solution to this important function within a multilingual website and methods should be chosen based upon your user's needs and expectations. Get in touch if you would like to discuss options for your next multilingual project!