Extension:Interlanguage/WMF Design Pass

This document describes a proposed user interface design for the Interlanguage extension. This extension adds much greater usability to the inclusion of interlanguage links in Wikipedia pages.

Note: This document describes a more "idealized" interface than currently exists. It may not be possible to implement such an interface given current resourcing.

Accordingly, notes about minimal improvement direction are included where applicable.

Terminology NoteEdit

The idiom interlanguage wiki is used to denote the centralized repository where the interlanguage link editing occurs. The name of this wiki is still being determined (e.g., "data.wikimedia.org", or "interlanguage.wikimedia.org"). For purposes of this design, the location of this wiki is not relevant.

Sidebar BehaviorsEdit

A slight modification must be made to the language links sidebar on all pages. This will allow users to add interlanguage links from any language-specific version of a page.

This is a very simple change. A small control, "Edit Links", will appear at the bottom right of the "language box". A small pencil icon is included.

The link will be greyed until hovered over, whereupon it will turn blue.

Clicking on the link will take the user to the appropriate "edit interlanguage links" page on the interlanguage wiki. (See below for behavior of this page).

Minimal Add Interlanguage Link PageEdit

On the interlanguage wiki, each individual page can be edited to add or remove links.

Currently, the only real "magic" required is a link to the page in question but it appears best practice to include a short message about the link in question:

(en: This is an article about Belgrade, the capital of Serbia.) [[en:Belgrade]]

In an absolute minimal world, this should be displayed within a table, thus:

Language Code Link Text Description
en [[en:Belgrade]] This is an article about Belgrade, the capital of Serbia.
fr [[fr:Belgrade]] Cet article est sur Belgrade, la plus grand ville de Serbie
it [[it:Belgrado]] Questo è un articolo riguardante Belgrado, la capitale della Serbia.
ja [[ja:ベオグラード]] description of the content of the article in Japanese
sr [[sr:Београд]] Београд је главни и највећи град Србије.
I'm not convinced that the descriptions are necessary; there's currently no plan to show them anywhere so there's not a clear use case, and maintaining them separately from the articles could increase the maintenance burden on contributors and make it more likely for information to get out of sync or become subtly vandalized. Jorm suggested a possible use for helping indicate different disambiguations on different languages, but I'm not sure this will be very consistent. It may be better to make sure that information is consistently available in the articles themselves. --brion 21:41, 13 April 2011 (UTC)
Another possibility is to have a "notes" field where edge cases would be marked by maintainers, making it clear that the field is aimed at other interlanguage link maintainers. This might be useful, with a clear escape hatch for "i don't care about this field" :D --brion 21:56, 13 April 2011 (UTC)
I like the idea of a Notes field. One good reason I can see to have definitions is for future transclusion usage, e.g. right now lots of pages on Commons have brief concept descriptions in multiple languages (see commons:British Museum). But since there's no technical support for it yet it may be best to just have internal maintainer notes for now.--Eloquence 22:34, 13 April 2011 (UTC)

Ideal Add Interlanguage Link PageEdit

The user, upon coming to the page, will be shown a table with the current links included. The table has three columns visible (Language code, Page name, and description) and is sortable.

The page can be normally manipulated through the "Edit" link, but it provides a convenience function to add new links, which is likely to be the most common operation.

The user may add additional links by clicking the "Add Link" button at the bottom of the table. This will fire off a modal dialog window with a small form for adding links.

At this point the "Save Changes" button is disabled. When all three elements have values, the "Save Changes" button becomes enabled and changes appearance.

Upon clicking "Save Changes", the interlanguage link is added to the page and the user is finished with this task.

Modal Dialog DismissalEdit

The dialog can be dismissed in one of three ways:

  1. Clicking "Save Changes", which will save the current work and close the dialog
  2. Clicking the "Kill Window" icon in the upper right corner
  3. Clicking anywhere outside of the dialog box

Error HandlingEdit

Ideally, error handling and validation can be handled client side.

See the MediaWiki Style Guide (Error Handling) for more information and assets (if needed).

Help BehaviorEdit

Help behaviors (tooltips) may not be required as this is a very simple form.

See the MediaWiki Style Guide (Help Triggers) for more information and assets (if needed).

The proposed "Add Link" dialog only has a field for the link's ISO language code, and not for the interwiki prefix - is the prefix intended to be included in the page name field, or will it be derived from the provided ISO code? If the latter, keep in mind that there are cases where a language wiki's IW prefix is not the same as the language's ISO code (unless I'm mistaken, there's at least one such prefix that conflicts with another language's ISO code), and there are a number of prefixes with more than three characters. ダイノガイ千?!? · ☎ Dinoguy1000 02:41, 14 April 2011 (UTC)

Long-Term DevelopmentEdit

From an interaction perspective, it will likely be preferable to not require the user to leave the current page and wiki and instead fire open the modal dialog from the local wiki.

This process would operate thus:

  1. The user clicks "Edit Links" on a page in their local wiki (fr, en, de, etc.)
  2. The modal dialog opens directly there
  3. The user adds the link
  4. The dialog posts its data to the interlanguage wiki
  5. The local page is reloaded, showing the new link.

This helps to reduce user confusion by not forcing them to look behind the curtain.