Translation

This pages summarises how this wiki might be made multi-lingual, and the steps required to achieve that.

When creating a new page, please also create an associated Discussion page based on the one for this page.

Summary

The Restart Project has an aspiration to make this wiki available in as many different lanuages as possible. Mediawiki, the software on which it's based, has extensions to facilitate multi-lingual support and a translation workflow. These are examined in this page, both from a user's and an implementor's point of view.

For the moment, this page comprises a repository of knowledge and implementation suggestions or proposals, but once multilingual support is implemented it will be changed into or replaced by a multilingual and translation guide for users,and hopefully the first page to be translated into any language.

Safety

Warning03.png
There are no safety issues as such, except the risk that a safety warning might be mis-translated, altering its meaning or lessening its force.

Mediawiki Extensions

The MediaWiki Language Extension Bundle (MLEB) comprises 6 individual extensions covering various aspects of multi-lingual support:

  • [[Mediawikiwiki:UniversalLanguageSelector|]UniversalLanguageSelector] is foundational to the other extensions comprising MLEB, and adds a language selector to wiki pages.
  • Babel provides a set of categories by which a user can declare his/her language competencies, and a template to declare them.
  • cldr gives language and currency names against ISO country codes.
  • CleanChanges hides less importnt information in change histories by offering filtering by user and laguage code suffix.
  • LocalisationUpdate allows for updating of localisations for MediaWiki messages at any time, without needing to upgrade the MediaWiki software.
  • Translate provides the framework and workflow for the translation of content.

In addition to MLEB, ContentTranslation provides further facilities over and above Translate for the translation of content, typically for an entire page. (Further detail required.)

A further extension, TranslationNotifications, provides a means by which translators may sign up for notifications about translations within their competance, sent by a Translation Administrator.

The following sections deal with each of these in an order more in line with their visibility to users.

Translate

Translation lifecycle

A page follows thefollowing lifecycle:

  1. The page is created.
  2. Over a number of edits and possibly an extended timescale, the page settles to a fairly steady state with relatively few and infrequent changes.
  3. The page will be marked for translation. Any user can do this if s/he sees a need for a page to betranslated, although most often it will be a Translation Administrator. This results in the entire text of the page being enclosed in .. tags.
  4. A Translation Administrator will prepare the page for translation. This involves breaking it into individual translation units, generally corresponding to single paragraphs and headings. This is initially done automatically, but the Translation Administrator should perform a sanity check.
  5. Users with the Translator privilege can then click on Translate This Page and submit or refine translations for each translation unit.
  6. Changes may be made to the original source page. This will result in translations being marked as requiring update and a return to the previous step.
  7. At all stages, statistics are available showing the state, including % completion, of all translations.

It is anticipated that all users with Editor privilege will also be given Translator priviege. Administrators will also be Translation Administrators.

Permissions

Logged out: Can view pages and page source. Language selector displayed but doesn't seem to do anything. Seems to allow Translation interface!

Autoconfirmed: Special:ImportTranslations enabled. Language selector works - but not on all pages? Special:Translation enabled.

Admin: Import translations, Prepare for Translation, Translation page migration

Autoconfirmed users:

Implementation

ContentTranslation

UniversalLanguageSelector

Babel

CleanChanges

cldr

LocalisationUpdate

External links