Scott Hale, 07/05/2015 09:51:
The accept-language header is the obvious place to start, but there is amble scope to combine multiple approaches together.
Which is what UniversalLanguageSelector / jquery.uls, used on all Wikimedia projects, exists for. :)
In addition to accept-language and geolocation data, any logged in user will have view/edit history related to multiple editions.
This was proposed at https://www.mediawiki.org/wiki/Talk:Universal_Language_Selector/Design/Inter... . If you can think of a design/algorithm, please file: https://phabricator.wikimedia.org/maniphest/task/create/?parent=66793
Nemo