Universal Language Selector/Compact Language Links

As the editors of Wikimedia projects write more and more content in more and more languages, the lists of interlanguage links in the sidebar grow longer. Articles such as "Barack Obama" or "Sun" have more than 200 links, and that becomes a problem for users who need to switch among languages. It is not easy to find a specific language in those long lists. With compact language links the list that is shown initially is made shorter by showing a subset of languages the user is most likely interested in and the user may access the rest in a separate panel that allows searching for a language easily.

The Compact language links feature is part of Universal Language Selector (ULS) – the extension that provides language selection and access to various language related settings. ULS has been in use on all Wikimedia wikis since 2013. Compact language links was available as a separate beta-feature since 2014 when it was created in an 1>Universal Language Selector/Design/Interlanguage links/Compact interlanguage links as a beta feature|OPW project.

How does it work


Compact language links can be enabled and disabled using a setting that is available under Preferences -> Appearance -> Languages. This setting is currently being made available for users across all Wikimedia wikis in several stages.

With compact language links a short list of the relevant languages for the user is displayed at first. This selection is based on your previous language selections, your browser settings, and your location. You can read more about this selection at this FAQ: faq>Universal Language Selector/FAQ#How does Universal Language Selector determine which languages I may understand|How does Universal Language Selector determine which languages I may understand?.



At the bottom of the list there will be an indicator of the number of languages for which the page exists. Clicking it will show the rest of the languages. It can be searched by language name in any language, and it can handle spelling mistakes. Searching by language codes is supported, too.

You will also be able to see badges like "Featured article" inside this language dialog.

Why is this feature needed?
The list of interlanguage links in many articles is very long. Even in a list of ten items it is hard for many people to find the language that they need, and in many articles it has much more than a hundred items. Multilingual users that often change among the languages they know are required to locate their languages in the middle of a potentially long list of languages every single time.

Many projects have global or personal customizations for the language list. For example, several Wikipedias asked to put certain languages always at the top, some showed certain languages in a bold font, some had gadgets that prioritize languages according to user's choice, etc.

Ideas for a global feature of this kind were coming up codelink>Special:Code/MediaWiki/67281|at least since 2010.

How can I select which languages are shown to me?
Simply click them in the panel that opens when you click the "X more" button.

Every time you click a language, it will be automatically added to the list of languages that will be shown in the initial compact list.

You can also add the languages that you want to your browser settings.

I have been using Compact Language Links as a beta feature. What is the change I will see?
You are not supposed to see any change in the interlanguage area. You will, however, see that Compact Language Links does no longer appear as a feature under the Beta features section. Instead, you will see a new preference setting under Preferences -> Appearance -> Languages, where the checkbox will be selected.

I tried Compact Language Links earlier and then turned off the beta feature. Now it is enabled again. How do I turn it off?


Please go to Preferences -> Appearance and scroll down to the Languages section. Here you can see a checkbox which says Use compact language links, with languages relevant for you. Deselect this checkbox and save the preferences. (See image)

How many languages are shown in the compact list?
Between 7 and 9 languages are generally shown in the initial compact list. The size of the list was based on two factors.

We wanted the list to be short enough to be processed quickly and easily. While a person's working memory can be different from human to human, the 7 ± 2 seems to be a common guideline that suggests we may be providing a short enough list for people to process.
 * 1) Making enough room for the number of languages people may need. During our research on different language-related projects we have asked participants about the languages they speak and 9 was a limit very rarely exceeded. For example, for Content Translation, from 187 responses 85% of the users spoke 4 languages or less. This also seems consistent with research on multilingual editors.

Isn't it easier to find the needed language when all the languages are shown?
Our research showed that finding a language using a compact list required less effort than going through a longer flat list.

Even if the needed language doesn't appear in the initial list, it is easier to find it using the panel and the search box than to find it in the long list with all the languages.

And after the language is clicked once, it will always be shown with the highest priority in the initial short list. Most users access a small set of languages repeatedly, and the long list requires that they search for them every single time, so having the frequent languages appear automatically saves a lot of time.

Some users find it convenient to search for the language they need using the "Find in page" function that can be found in many browsers, but various estimates put the number of web users who are aware of this feature at about 10—20%. In addition, it can match similar words in the content, it is not able to correct for typos or consider alternative ways to refer to a language including ISO codes, different scripts, etc., and all these features are provided by the search box in the pop-up language selection panel.

How do you decide which languages are shown to me in the initial compact list?
The main factor for choosing the languages are the previous language selections from the user. This means that you can select the languages you want by simply clicking on them. If you are interested in reading an article in Japanese, once you select it, a link to the Japanese language will be surfaced for easier access next time.

The first time, due to the lack of previous choices by yourself, the language selection is based on other factors, in the following order:

If the methods above didn't find 9 languages that would be relevant for the reader, some major world languages will be shown if articles in them are available: Chinese, English, French, Indonesian, etc.
 * 1) The languages of your web browser. This is browser-anchor>#browser|configurable by you.
 * 2) The languages defined in your Babel box.
 * 3) Geographic information, which is based on the CLDR Territory-Language information. If the information for your country there is not precise, faq>Universal Language Selector/FAQ#How does Universal Language Selector determine which languages I may understand|you can contribute to it.
 * 4) Languages that are used in the page's content with the   attribute. This attribute is added by various "lang" templates in Wikipedias in many languages, when mentioning the name of a foreign person or place—for example, in the English Wikipedia article Prague, the Czech name of the city ("Praha") is mentioned using the "lang-cs" template. Using any HTML element with the lang attribute would work as well (for example,  Praha  ).
 * 5) Featured articles.

I have a Babel box on my user page. Why don't I see the languages that I defined in it in the initial compact list?
Please check that you are logged in and that you are using the   notation on your user page. See the documentation of the eb>Extension:Babel|Babel extension. Many wikis have an old template that shows a Babel box, but these templates are implemented differently in each of them and cannot be used by Compact Language Links. The   notation allows adding a Babel box in a uniform way across all wikis, and has a similar appearance in all of them.

If you have a Babel box using the   notation on your user page and you still don't see the languages that you specified in it in the initial compact language list, this may be a software bug. Please report it at the talk>Talk:Universal Language Selector/Compact Language Links|project talk page.

Technical notes:
 * The  </> variable must be set up for your wiki in the InitialiseSettings.php file. It is already set up for many Wikimedia wikis, but not for all of them.
 * It is possible to wrap the <tvar|babelsyntax> </> notation in a template. This will work for Compact Language Links, too. This was done, for example, in the <tvar|rubabel></> template in Russian Wikipedia.

Will the languages that I have in a Babel box on my global user page appear in all the wikis?
Yes, they will appear in every wiki in which you don't have a local user page.

A local user page in a wiki will override your global Babel box.

Does this feature prioritize major world languages on the expense of smaller ones?
No, absolutely not.

The feature makes the best effort to auto-adapt itself to every user. The languages that are shown in the initial short list with the highest priority are taken from each user's previous choices, browser settings and location. Some major world languages are shown only as the last fallback with the lowest priority.

In fact, thanks to respecting user preferences and using geolocation, it may make some smaller languages more prominent when people who speak them are reading pages that have links to these languages.

How about languages that are not tied to any territory, such as Esperanto? Won't this feature hurt the traffic to projects in these languages?
Links to all languages are available, but shown in the panel that appears when you click the "More" button, and our research shows that they are easier to find in this panel than in the long list. A user who clicks any language in the panel once, will see this language in the initial list after that.

We are watching the effect of this feature on the clicks on the links and on the traffic to all the projects. As of late August 2016, several weeks have already passed since the enabling of the feature on some major languages, such as Russian, Spanish and Chinese, and the number of clicks on the links, as well as the traffic to them have not gone down in any language.

Furthermore, in some languages we have observed that the percent of people who entered the project in that language through interlanguage links from other languages has grown considerably, likely because the links are now easier to find. Here are the metrics from some languages. See also the full statistics for all the languages.

How can I change the language settings of my browser?
To change the language settings of your browser, follow these instructions:

Mozilla Firefox 52
(Three stripes icon) -> Options -> Content -> Languages -> Choose -> Select a language to add...

Google Chrome 56
(Three stripes icon) -> Settings -> Show advanced settings -> Languages -> Language and input settings -> Add

Microsoft Internet Explorer 10

 * Windows 7: (Gear icon) -> Internet options -> General -> Languages -> Add
 * Windows 8: (Gear icon) -> Internet options -> General -> Languages -> Set Language Preferences -> Add a language

Microsoft Internet Explorer 11
(Gear icon) -> Internet options -> General -> Languages -> Set Language Preferences -> Add a language

Microsoft Edge
This is not done from the browser itself, but in the operating system. Go to the computer's System settings, and then: Time & Language -> Region & language -> Add a language

Opera 43
Menu -> Settings -> Browser -> Languages -> Preferred languages -> Add language

What are the feature's success metrics?
The essential success metric is that the number of clicks on interlanguage links doesn't go down.

Also, we hope to see that it becomes easier for readers to find languages that are relevant to them.

The developers have started recording the total number of clicks on interlanguage clicks to each language every day in May 2016, before the enabling of the feature to anonymous users started. We are seeing that they started to go up several weeks after the deployment.

As of December 2016, the percent of clicks on interlanguage links out of the number of pageviews in each language is higher than it was in May 2016, in Wikipedia in all languages.

You can find more information about this data at the page <tvar|1></>.

How do you determine my location?
Your IP address is checked on the servers against a database which contains mappings from addresses to approximate locations. The results are stored in a cookie named. ULS then reads this information and combines it with a [<tvar|url>http://www.unicode.org/cldr/charts/29/supplemental/territory_language_information.html</> list languages spoken in each country of the world], which is maintained by the CLDR project of the Unicode Consortium. The page Geolocation has some more information about this.

It is said that geolocation is used to determine the language selection. How important is this criteria?
Geolocation is not perfect, but that is neither the only nor the primary information source. It is used in addition to more reliable sources: your previous selections and browser languages. In any case, our data relies on CLDR and it is expected to improve over time and we faq>Universal Language Selector/FAQ#How does Universal Language Selector determine which languages I may understand</>|encourage users to ask for improvements on it.

With geolocation, are you not enforcing certain languages, which would be contrary to the mission of the Wikimedia Foundation?
Geolocation is only one of the mechanisms used to guess the user's language. In fact, if suggestions include the languages of a region this can bring more visibility to them than the old list.

Besides, emphasizing these languages makes smaller languages more prominent in the areas where they are spoken.

How can I make the data about the languages spoken in my country more precise?
We suggest all people to check the entries for their language in the CLDR Language-Territory database and to update it if needed. All languages, including constructed languages like Esperanto, can be added to it if there is data about the number of speakers in a given country.

I use a VPN most of the time. The geolocation information is useless for me.
Geolocation is only one of the mechanisms used to guess the user's language. Your browser settings and previously selected languages will always be used.

Why do the compact language links seem to work differently on the main page of my wiki?
Most likely this happens because the display of the interlanguage links on the main page of your wiki is customized using the  magic word. This was done in some Wikimedia wikis because there's a main page in all languages and this makes the list of languages particularly long, while the content of the main page itself is usually quite short.

With compact language links this customization shouldn't be needed on the main page, because the list is already compact and the languages are chosen automatically for each user, so the editors community in your wiki should consider removing it.

Why do I see some of the languages listed in the interlanguage links as gray?


The language lists that you see in gray are being shown by Content Translation which is a beta feature that you have enabled. The languages in gray indicate that the article you are viewing is not present in those languages and can be translated via Content Translation by clicking on the gray links.

Where can I provide feedback?
You can use the talk>Talk:Universal Language Selector/Compact Language Links</>|project talk page. Bugs and feature requests will be tracked in Phabricator under the [<tvar|url>https://phabricator.wikimedia.org/project/view/1116/</> #ULS-CompactLinks project].

Some labels in the language selector are not translated to my language. Where can I translate them?
Please go to translatewiki.net, open an account, and complete the translation of the following two groups:


 * Universal Language Selector extension
 * jquery.uls

Known issues and feature requests
See full list on Phabricator.
 * Previous choices are not remembered cross-wiki. The previously selected languages are currently only remembered in the current wiki.