Jump to content

Universal Language Selector/Compact Language Links

From mediawiki.org

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 OPW project.

How it works

Screenshot of compact language links

Compact language links can be enabled and disabled using a setting that is available under Preferences -> Appearance -> Languages. It can also be disabled in all wikis using Extension:GlobalPreferences . 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, your location, and properties of the article you're reading. You can read more about this selection at this FAQ: How do you decide which languages are shown to me in the initial compact list?.

Screenshot of compact language links language screen which also shows a featured article badge

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 with 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 amongst 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 a user's choice, etc.

Ideas for a global feature of this kind were coming up 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 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 "Use a compact language list" can 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?

Screenshot of preference setting under Appearance to enable Compact Language Links

Please go to Preferences -> Appearance -> Languages. Here you can see a checkbox that says "Use a compact language list". 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.

  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.
  2. The list had to be short enough to be processed quickly and easily, and communicate the idea that this article is available in other languages. While a person's working memory can be different from human to human, "7 ± 2" is a a common design guideline that suggests we may be providing a short enough list for people to process.

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 requires less effort than going through a long 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.

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%.[1] In addition, the "Find in page" feature 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. All these capabilities 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 selections of the user. This means that you can select the languages you want the most by simply clicking on them. If you are interested in reading the 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. Here's the complete and ordered list of the criteria according to which the languages for the initial compact list are selected:

  1. The languages on which the user clicked in the language selector panel previously.
  2. The languages of your web browser. This is configurable by you.
  3. The languages defined in your Babel box.
  4. Geographic information, which is based on the CLDR Territory-Language information. If the information for your country there is not precise, you can contribute to it.
  5. Languages that are used in the page's content with the lang 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, <span lang="cs">Praha</span>).
  6. Featured articles.
  7. 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.

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 {{#babel:}} notation on your user page. See the documentation of the 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 {{#babel:}} 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 {{#babel:}} 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 project talk page.

Technical notes:

  • The BabelMainCategory 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 {{#babel:}} notation in a template. This will work for Compact Language Links, too. This was done, for example, in the {{Babel}} 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 and discriminate against smaller ones?

No, absolutely not. This is neither the intention, nor the effect.

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. Indeed, the clicks on links to all languages, especially the smaller ones, have grown since the feature was made available to anonymous users.

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 2017, over a year has 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, and the traffic to them, have not gone down in any language.

Furthermore, in all the 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.

Month Albanian Czech Danish Esperanto Latvian
June 2016 1,0655% 0,3677% 0,6002% 2,9999% 1,1672%
July 2016 2,4419% 0,4902% 0,9998% 4,4019% 1,8306%
August 2016 3,7557% 0,5454% 0,9916% 4,4966% 2,5281%
June 2017 5,4297% 0,8780% 1.5400% 12.9971% 4.3209%
Growth June 2016–June 2017 409,5970% 138,7526% 156,5756% 333,2539% 270,1848%

How can I change the language settings of my browser?

(Note that browser versions receive updates several times a year, and these instructions may go out of date. If you see that this is done differently in a browser version that is newer than what is indicated here, please feel free to edit this page and update the instructions. )

You can change the language settings of your browser. You might want to consider that this can help browser fingerprinting and can have a negative impact on your privacy.[2] If you want to do so, follow these instructions:

Mozilla Firefox 58

(Three stripes icon) → Options → Languages → Choose → Select a language to add…

Google Chrome 64

(Three dots icon) → Settings → Show advanced settings → Languages → Add languages

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 Legacy

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

Microsoft Edge 79

(Three dots icon) → Settings → Languages → Add Languages

Opera 49

Menu → Settings → Browser → Languages → Preferred languages → Add language

Why are languages grouped by continent?

When the list of languages is long, the list is divided into sections by continent to allow easier visual perception. Otherwise the list would be too long. The division by continent is quite arbitrary; it simply allows a relatively balanced grouping. Division by linguistic family, for example, would be much less balanced, given that some linguistic groups include only one language, while others include several dozens.

Why aren't the languages sorted alphabetically?

Names of languages are written in different scripts. Hence, they cannot be sorted alphabetically.

After the initial grouping by continent, languages are further grouped by writing system, and inside each writing system they are sorted alphabetically.

In any case, design research has shown that users most frequently find the language that they need by using the search box and not by scrolling through the whole list.

Why are names of languages written in the languages themselves and not in the language of the wiki?

Because the primary users of interlanguages are readers who don't necessarily know how the name of their language is written in the language of the wiki.

It is possible to search for the language that you need in your language, or in any other, using the search box at the top of the panel.

Why does the search box and full languages list appear in a separate panel?

We considered that it (a) allowed the user to focus on their languages of interest (the initially visible provides enough room to include the number of languages most of our uses speak), and (b) it allowed us to provide advanced searching capabilities to facilitate the selection. Searching was the most common method for users to find their language during our research, and providing flexible search made it easier to support the cases where the language you are looking for was not in the initial list. You can search for a language based on the name in another language, making typos or using the ISO codes. This allows searching even if you don't know how is the language's name is written in that language and if cannot type in that language on your keyboard. For example, English speakers are often unable to type in Japanese, but they can search for the Japanese language by typing "japanese" and they don't have to type "日本語".

Although the tool does not show initially all the interlanguage links, the access to them is provided through a "continuation" pattern where it is quite clear how to access to the rest of the languages. Our research confirmed that users were able to figure out how to find their language when it was not present in the initial list (something that they need to do only once at most). We are monitoring the volume of inter-language navigation to identify any potential issues.

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.

The average growth in clicks across all languages from June 2016 until June 2017 is 90%. The average growth in traffic that comes using interlanguages into all the languages in the same period is 85%.

You can find more information about this data at the page Universal Language Selector/Compact Language Links/metrics/data .

Is this related to adapting Wikimedia sites to mobile devices?

No. This is a redesign of the interlanguage links only on the desktop website.

The mobile website (MobileFrontend) has its own design for displaying and sorting interlanguage links.

It's possible that the mobile and the desktop design will be brought closer to each other in the future, but there is no concrete plan for this at the moment.

How do you determine my location?

Your IP address is checked on the servers against a database that contains mappings from addresses to approximate locations. The results are stored in a cookie named GeoIP. ULS then reads this information and combines it with a list of languages spoken in each country of the world, which is maintained by the CLDR project of the Unicode Consortium. The page wikitech: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 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 check the entries for their language in the CLDR Language-Territory database and 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.

Doesn't automatic personalization of the languages list make Wikimedia sites similar to commercial websites?

Wikimedia sites, like some other massively multilingual commercial sites, have to deal with the scalability in the number of languages it supports. Unlike how it is with commercial websites, Wikimedia's purpose is not to optimize the profit by market, but to make it possible for every human being to share in the sum of all knowledge, and this includes access to all languages.

Compact Language Links are designed to make access to all languages not only possible, but easier. Unlike how it is done on some commercial websites, no language is ever made inaccessible. Besides, the method for selecting the languages to show in the list is fully and openly documented right here on this page.

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 {{noexternallanglinks}} magic word. This was done in some Wikimedia wikis because there's a main page in all languages so the longest possible list of languages is shown, 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?

Screenshot of Compact Language Links interlanguage list with gray links shown by Content Translation for missing articles

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 project talk page or report issues in Phabricator using the #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:

Known issues and feature requests

See full list on Phabricator.

See also


  1. Do 90% of People Not Use Ctrl+F?, Blog of Metrics, Mozilla
  2. See Fielding, R.; Reschke, J. (June 2014). "Browser Fingerprinting". Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. IETF. p. 85. RFC 7231. Retrieved June 16, 2018.