Ironically, given TFA, it seems to be primarily using the user's IP:
> How does Universal Language Selector determine which languages I may understand
> ULS queries a service that determines your originating country based on your IP address. This is inaccurate in some cases. Based on the country code, most often spoken languages are suggested for you.
> How does Universal Language Selector determine which languages I may understand
> ULS queries a service that determines your originating country based on your IP address. This is inaccurate in some cases. Based on the country code, most often spoken languages are suggested for you.
(from https://www.mediawiki.org/wiki/Universal_Language_Selector/F...)