We are defining a language selector for 400 languages. Given the massive number of languages compared to other websites, we applied several mechanisms to reduce the complexity of the language list. The current design is shown below.
The mechanisms applied are the following: - Provide a short list to anticipate user needs. A list of six languages is provided based on the browser settings, the geographic area of the user, and previous selections. If the language is not in the list, the user can access a larger list of languages with the aids listed below.
Flexible search. The user can type the language he is looking for to reduce the list of possible languages. Search will be flexible so the user can type the language name in a different language.
A map for filtering. A world map divided in three regions is used to filter the language list (with the user region selected by default). The world has been divided in just three regions since defining more regions requires more precision in the selection and geography knowledge.
A list of languages arranged by script type and region. The list of languages has been divided in different geographic zones and languages are arranged by script type (to make it easy for the user to identify zones of interest in the big list). The list also highlights the languages which are likely the user is interested in.
More context information can be obtained from the project website.
Considering that language selection is a mechanism with a transient posture and it should not interfere the main flow of actions from the user. Is there any other mechanism (or combination of such) that can help to reduce a long language list with minimal distraction for the user?