Universal Language Selector/FAQ

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.

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>translatewiki:CLDR|CLDR for more info) and can be seen on the [http://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html 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 [http://cldr.unicode.org/index/cldr-spec/definitions 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).

Where is Universal Language Selector available
The current planning is to make Universal Language Selector available on all Wikimedia wikis as soon as possible. Check the planning>UniversalLanguageSelector/Deployment/Planning|deployment planning for details.



The language used to display the MediaWiki interface messages can be changed using the Language Settings panel of ULS.

On Wikimedia projects, this feature is only available for logged-in users.

After logging in, you can open the Language Settings panel [on the sidebar or at the top] and navigate to the Language tab of the Display settings.

For quick selection, ULS will display a list of possible languages based on your location. You can click to select the language of your choice.

If the language you are looking for is not on the panel, you can click on the '...' button to open the longer list of languages to search and select.

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.

Do I need to be logged in to be able to change the Display language
Yes. The display language can only be changed by logged-in users.

If I change the Display language, will this change the language of the content on the page I am viewing
No. ULS does not change the language of the content on the page. It can be used to only change the 1>Special:MyLanguage/Manual:Language|interface language of MediaWiki (sometimes called "display language" in this FAQ).

However, the  extension, where installed, may be configured to redirect the user to existing translations of a page in some cases where ULS has changed interface language.

I see boxes in the text when I select my language
We call these boxes 'tofu' and this occurs when there are no fonts for the language that has been selected.

You can install a local font on your system to correct this situation.

But to prevent a similar problem in future we would like to ensure that our web-fonts library has fonts for your language.

Please let us know, preferably through https://phabricator.wikimedia.org

Can I change the font for the language
Font for a language can be changed by the user from the 'Font' tab within the Display settings.

Anonymous users can change the font only for the language that is in use.

Logged-in users can change the font for all languages.

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 ext-eventlogging>Special:MyLanguage/Extension:EventLogging|event logging, see the eventlogging>Extension:UniversalLanguageSelector/EventLogging queries|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 eventlogging>Extension:UniversalLanguageSelector/EventLogging queries|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?
The default font setting can be disabled how-can-i-use>#How can I use Universal Language Selector|in the settings.

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).

There does not seem to be a font for my language. How can I request for a new font to be included in ULS
You can file a bug on [https://phabricator.wikimedia.org</> Phabricator] requesting for a font to be added for your language.

It is expected that you will also provide suggestions about the fonts and point us to where we can find them.

It is advisable to also seek consensus from other members of your language community about inclusion of the new font.

What information will be necessary for a new font to be included into ULS

 * 1) The name of the font
 * 2) URL to the source of the font
 * 3) License for the font that allows it to be freely used, distributed and modified.

This information can be mentioned in Phabricator when requesting for a font to be included.

I would like to write in a different language. How can I change the settings to do so

 * 1) Sidebar: You can go to the 'Input Settings' section in the Language Settings panel and select a language displayed on the buttons or from the 'Language Selection' popup.
 * 2) Keyboard menu: The languages are displayed as a list and a selection can be made from here.

I have chosen a language, but I still cannot write in that language. What could be wrong
When you select a language, you will be presented with a list of input methods for that language. If no input methods exist within ULS for that language the native keyboard on your local computer will be used for input. If input methods are not available through either of the two options, then you will not be able to write in the selected language.

I would like to change the keyboard for the language that I have chosen. How can I do that
The input method/keyboard options within ULS for a language are displayed as a list in both the Language Settings panel as well as in the keyboard menu from a text input box.

A default keyboard is selected for each language. To use a different keyboard, you can make a selection from this list.

I have a keyboard on my computer and I do not want to use the keyboard in ULS. Can I disable the ULS keyboard completely
The ULS input methods can be disabled in 2 ways:


 * 1) From the sidebar: by clicking on the "<tvar|disable-ime></>" button within the input settings option in the Language Settings panel
 * 2) From the Keyboard menu: by clicking on "<tvar|disable-ime></>" from the keyboard menu that is displayed when the user clicks on the keyboard icon from an input field (like the search field)

Can I disable the ULS keyboard for only 1 language, without disabling the ULS keyboard completely
Yes. To do so, please select 'Use Native Keyboard' from the drop-down menu that is displayed in the list of keyboards available for that language.

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


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?
Any change in default input method or fonts must be supported by the eventlogging>Extension:UniversalLanguageSelector/EventLogging queries</>|usage statistics. what-if>#What_if_the_default_font_chosen_is_not_the_best_one_for_the_language.3F_Can_this_be_changed.3F</>| See similar question up page.

Can I set all the Language Settings from within my user preference page
Yes. To configure the language settings, navigate to your user preference page and click on the "<tvar|more-languages></>" option in the "<tvar|i18n></>" section under the "<tvar|profile></>" tab.

Why can anonymous users not use Universal Language Selector to change their interface language
This option is disabled on Wikimedia wikis, because the Wikimedia cache infrastructure currently does not support this. We are looking into making this possible in the future. There is no timeline for this.

See 1>:phab:T134592</>|Allow setting the UI to a language other than English for anonymous users in Phabricator.

How can I disable Universal Language Selector
Only part of the functionality can be disabled.

Input methods can be completely disabled by clicking the keyboard icon and clicking "<tvar|disable-ime></>".

Input methods can also be disabled per input element by adding <tvar|code> </>.

Web fonts can only be disabled per language how-can-i-use>#How can I use Universal Language Selector</>|in the settings.

Can I translate the interface of Universal Language Selector in my language
Yes! You can do this at twn>translatewiki:</>|translatewiki.net. Complete translation of the following two message groups once you are a registered translator:
 * MediaWiki extension
 * jQuery plugin Does not exist any more.

Where can I report a problem
Please how-to-report>Special:MyLanguage/How to report a bug</>|report problems and suggestions in Phabricator. Please ensure to report as much detail as you can.

What fonts are included?
An up-to-date list is in the of Wikimedia’s Git repository (each folder has metadata in the file font.ini). Here is the list, as of 2013-11-22 (v1.4.0-Snapshot):

Are there metrics and statistics on the usage and impact?
Yes. We identified some metrics>Language_tools/Impact_Measurement_and_Metrics#Metrics_for_Universal_Language_Selector</>|metrics for the Universal Language Selector and we are now collecting aggregated data with ext-eventlogging>Special:MyLanguage/Extension:EventLogging</>|EventLogging for a number of actions performed with ULS: see the eventlogging>Special:MyLanguage/Extension:UniversalLanguageSelector/EventLogging queries</>|queries for ULS usage statistics and some data linked from that page.