Extension:Babel

The Babel extension adds a parser function to replace the old Babel system that completely relied on templates. The extension is backward compatible, and supports existing templates (they simply override extension functionality).

On Wikipedia, the noun Babel (in reference to the Tower of Babel) refers to the texts on user pages aiding multilingual communication by making it easier to contact someone who speaks a certain language. The idea originated on the Wikimedia Commons and has also been implemented on many other wikis.

Installation

 * 1) Download the latest snapshot and extract it to your extensions directory.
 * 2) Copy the code from   file into your MediaWiki:Common.css&mdash;you can change it as desired. This is not needed from version  forward.
 * 3) Add this to   :
 * 4) Enjoy!
 * 1) Enjoy!

If the CLDR extension is found language names are taken from that (where translations are unavailable), otherwise built in MediaWiki language names and English defaults are used.

Usage
Syntax for the  parser function is as follows:

Add one of the following codes for each language you speak or understand, separated by, where   is the MediaWiki language code, ISO 639-1 code, or ISO 639-3 code for the language. The general usage of each code level is as follows:
 * : If you don't understand the language at all.
 * : Basic ability - enough to understand written material or simple questions in this language.
 * : Intermediate ability - enough for editing or discussions.
 * : Advanced level - though you can write in this language with no problem, some small errors might occur.
 * : 'Near-native' level - although it's not your first language from birth, your ability is something like that of a native speaker.
 * : Professional proficiency.
 * or : Native speakers who use a language every day and have a thorough grasp of it, including colloquialisms and idioms.

To include any other template, simply add the name of the template, e.g. add  if you want to include. A prefix or suffix may be added to template names (e.g.  at the beginning) depending on the local configuration, this can be used to restrict the selection and reduce the length of parameters; for example   could include   if configured in such a way.

Configuration
Babel has five configuration variables which can be modified in.


 * : (string) the path of the language code database file, the default should suffice.
 * : (string) the path of the language name database file, the default should suffice.
 * : (array of string or boolean, indexed by the strings '1, '2', &hellip; '5', 'N') where each entry is the name of a category for the skill level indicated by its index, possible variable elements are: %code% (language code), %wikiname% (the name of the language in the wiki's content language), and %nativename% (the name of the language in its language). To disable adding a category for a particular level, set the corresponding value to false.
 * : (string) Name of the main (non-level) category for each language, set to false to disable. Uses same variables as.
 * : (string) Default ability level to use when none is specified, should be an index from, that is one of the strings '1, '2', &hellip; '5', 'N'

Several customizations can also be made using MediaWiki namespace messages.


 * MediaWiki:babel-template : The format of template names when one is being included.
 * MediaWiki:babel-portal : The format of the target of the link from the language code.
 * MediaWiki:Babel-autocreate-user : Username to be used for autocreation of Babel related categories
 * MediaWiki:babel-autocreate-text-levels : Text to insert into auto-created categories for different language levels.
 * MediaWiki:babel-autocreate-text-main : Text to insert into auto-created categories for non-level categories.
 * MediaWiki:babel : The header of the babel box
 * MediaWiki:babel-url : The pagename where information on the babel extension can be found
 * MediaWiki:Babel-footer : The footer of the babel box
 * MediaWiki:babel-footer-url : The page to link to in the footer of the babel box