In Bablic, you can fully customize the policy by which it decides which language will be presented to a user.
When a user navigates between page in your website, it should always remain on the same language that was on the previous page, unless the user explicitly changes the language. This is achieved using Cookie and Local Storage.
Explicitly Select Language
A user can explicitly change the language it views the website in by, the one of following methods:
Click a language in Bablic language widget.
Click a link on a custom language menu, that is implemented using Bablic JS API (i.e bablic.redirectTo('it'); ).
Open a URL which explicitly includes the language. For example ?locale=it is explicit if you are using QueryString, /it/ is explicit when using Sub-Directories, and when using Custom Domains, the domain that was selected for each language is explicit for that language (for example it.example.com or myitalianwebsite.com). Usually users that arrive from search engines will use a URL with an explicit language in it that corresponds to the keywords they searched for.
This feature handles users on their first page view of the website. The language chosen for each user is determined by their browser language preference. This is the lowest priority of the language selection policy, so if this is not the first visit of a user and there is a cookie for a previously selected language, or if an explicit language is selected, the browser language will be ignored.
If you wish to test Auto Detection always use a neutral URL (http://www.example.com/) and test in a new browser session in a private or incognito browser window, otherwise you are likely to see the language that was already selected in your cookies.
You can turn off this feature completely in Dashboard -> Settings -> Language Selection
If the browser language doesn't match any language in the website, a default language will be chosen. By default this is the website original language, but this can be changed in Dashboard -> Settings -> Language Selection