When the people visiting your website or using your web application come from diverse countries and speak different languages, it can be interesting to allow your web pages to be displayed in various languages. Implementing such a feature broadens your audience and reassures your prospects.
Even today, there is no automatic translation mechanism that is flawless and generates a perfect version of your pages in another language. The translation must be done manually, and the resulting sentences stored in what is called resource files in your web server. The back-end coding is out of the scope of this article. Still, rest assured that most, if not all, server-side technologies include mechanisms to select sentences from the resource files that correspond to your visitor language and display them to build in the pages to be displayed. Those mechanisms are called Internationalization or Localisation. Once your sentences are translated, and your resources files are correctly organized, you will need to implement a mechanism to detect and select your visitor's language.
We must consider two cases: visitors who arrive on our website for the first time and those returning. For a user arriving on your website for the first time, your website must make his best guess on which language to display. There are two main ways: get the information from your visitor's web browser, or identify from its IP address.
The fastest and cheapest way is to call a real-time IP Geolocation API with the visitor's IP address. The API will match the IP address with the corresponding country, and then you can deduce the language. The quality of detection depends on the precision of the API you will be calling. Abstract provides an accurate IP geolocation service, accessible for free. You only need to create an account, no credit card required, to obtain your API key.
You must provide your users with a system that allows them to manually change the language, such as a list of flags or language names placed in the header of your pages. Note that various flag images, including emojis, are available in Abstract's IP Geolocation API. There are other IP Geolocation API's that you can use for this as well. Once a visitor makes his selection, your website must refresh the current page in the targeted language and memorize it using a cookie. When he returns to your website, the language previously selected will be automatically used for display.