The "common languages" for a country are hard to determine as well. For this reason, they come from the Milkshake libraries which we aim to maintain with other interested software projects beyond MediaWiki/Wikimedia. Essentially, however, most of the data for it comes from Unicode (see CLDR for more info) and can be seen on the Territory-Language Information table. If you have suggestions to improve the languages currently suggested to you by ULS, first check if that table has the best data; if it can be improved, click "add new" for your country/language and propose changes. Unicode maintainers are helpful and no registration is required.

Keep in mind the CLDR definitions and remember to mention reliable sources for the specific data you propose, like for instance an official statistics bureau or a scientific survey (for literacy figures), or national and local laws (to prove a language can be used to communicate with a national/local administration).

A small popup (technically called "undo popover" or "tipsy") will also appear when ULS changes the language compared to your previous setting, so that you can more easily change again.
In some cases, a tooltip is displayed instead.

How do you decide a default font for a language or script?

A default font will be set if a language or script has a problematic support history on a wide range of desktop computers and other devices. Even though most modern operating systems provide options to support a language or script well, this may require a user to take action first, such as installing software or changing the operating system settings. Our experience shows that a lot of users don't do this and give up, and we want to provide a quick and automatic way to make the text readable.

Universal Language Selector only provides freely licensed fonts. We choose default fonts based on popularity of the fonts (eg: default font for a script in Linux distributions, widely used in portals in the language, etc.) and based on input from potential users. If the default font has a bug that prevents users from using it, we will try to use an alternate font if available. For this a valid bug report is needed in Phabricator with high impact.

What if the default font chosen is not the best one for the language? Can this be changed?

Actions on Universal Language Selector now has event logging, see the queries and data. This will allow developers to analyze user behavior and changes in settings. Based on user behavior and other metrics, certain future changes may surface.

This means that the input tool and font support in WMFs tools need to be integrated with the eventlogging system. Any change in default input method or fonts must be supported by the usage statistics: out of FontA, FontB, for a language LANG, if FontA is usage is greater than FontB, FontB should be the default font for LANG. If system font is mostly preferred for that LANG, then by default we need to disable the webfont. The same logic applies for input methods.

Can I disable the default font that ULS has chosen for my language?

If the language is well supported by Grade A browsers and operating systems, default option for fonts, input methods may be the ones provided by the system. Well supported means, the browsers and operating systems provide a bug free font and input method for that language by default (bundled with OS, not requiring special steps to install).

How do you decide what is the order of input methods?

An example graph where the input method clearly worked

We assess this for each language separately. Preferably it is the most practical and useful for that language, according to a consultation with potential users, to be the first one. If the default input method has a bug that prevents users from using it, it will be disabled as preferred or default input method. For this a valid bug report is needed in Phabricator with high impact. Until the bug is resolved, the next available input method will be presented on top of the list.

What if the default input method is not the best one for the language? Can this be changed?