Page MenuHomePhabricator

Multilingual Wikimedia Space
Closed, ResolvedPublic0 Estimated Story Points


WARNING: This task requires a proper description.


Event Timeline

In our internal testing prior to the release of Wikimedia Space, localized UI was enabled but we decided to turn it off because multilingual testers were confused about the inconsistency in translations (English strings still appearing here and there) and the lack of instructions to contribute missing translations.

I have captured this in the description. These points are likely to become subtasks.

The initial round of work being commissioned for this task is:

  • A site-wide menu of language tags requiring a selection and defaulting to English.
  • A language bar allowing users to see topics available in the language of their choice.
  • Ability for the user to manually set their locale in the sign-up form.
  • A locale switcher for guests.
  • Localisation of tags, category names and category descriptions.
  • A tag-group-specific tag filter to the advanced search page.

Features will either be merged into core Discourse or delivered as a single plugin.


there are plenty of not obviously translatable elements:

  • notices like the “Welcome to the Wikimedia Space prototype!” box
  • fundamental documentation like the terms of use
  • translatable labels, or use of Hungarian labels (which should probably be segregated to the Hungarian category then to not confuse other users)
  • ideally there would be a way to link the Hungarian version, so non-registered users following discussion links do not get the English interface. (That could be language-specific links, browser language autodetection, making the Hungarian subsection default to Hungarian interface…)
  • ideally the navigation bar, site name etc. would be translatable

I'm not entirely sure what I meant by "labels", probably tags.

Another thing that should be translatable is the user profile text, most imoprtantly the part that shows up in the small profile card. I want to be able to click on usernames and see who the person is, and currently users have to choose between making their introduction accessible to their own language community or the larger meta community.

I can even imagine that people using non-latin scripts might want translatable realname fields.

Abuse potential of translations is probably worth a thought. If I put something sensible in the English version but abusive in the local version, and it gets flagged, how easily can moderators see what's going on?

We have started development on these features. We have organized the range of features into two types of improvements: multilingual discovery improvements and multilingual locale improvements.

Multilingual discovery improvements:

  • Create a /tag_group that contains all of the language tags. Require a language tag on every post.
  • Add a “Content Language” setting in the user’s interface settings which allows the user to select one or more tags from the tag group, in order to follow content only in the language(s) of their choice.
  • Add a language filter component next to the standard Discourse navigation which shows the user the current languages set by the “Content Language” setting.
  • Filter all topic lists by the content language filter.

Multilingual locale improvements:

  • A setting to allow a user to manually set their locale in the account creation form. In Wikimedia’s account creation form, this will appear above or below the optional real name input.
  • A localization system for tags, category names and category descriptions. Currently exploring possibilities to use a similar framework to the Universal Language Selector, and to rely on Wikidata where possible.
  • A ‘locale switcher’ for guests (a bar across the bottom or top of the screen with a list of languages). If the guest clicks on a language, the page refreshes changing the locale of the site to the selected language.

The plugin was just released

We will deploy soon on Space for some initial testing, before it is frozen on March 31.

While this task was not fully resolved (there were many more things we wanted to do with multilingual features), I am resolving this task as no further work will be commissioned.