Extension:Babel/sdc
Babel Release status: stable |
|
---|---|
Implementation | Parser function |
Description | Adds a parser function to inform other users about language proficiency and categorize users of the same levels and languages. |
Author(s) | Robert Leverington (RobertLdischussioni) |
Latest version | Continuous updates |
Compatibility policy | Master maintains backward compatibility. |
MediaWiki | >= 1.41.0 |
Database changes | Yes |
Composer | mediawiki/babel |
Tables | babel |
License | GNU General Public License 2.0 or later |
Download | Included in Language Extension Bundle |
Example | Translatewiki.net |
|
|
Quarterly downloads | 65 (Ranked 71st) |
Public wikis using | 2,416 (Ranked 192nd) |
Translate the Babel extension if it is available at translatewiki.net | |
Issues | Open tasks · Report a bug |
The Babel extension adds a parser function to replace the old Babel system that completely relied on templates. If an unrecognized language parameter is specified, it will see if there is an existing template with the name and include that.
On Wikimedia projects, 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
- Download and move the extracted
Babel
folder to yourextensions/
directory.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Babel - Add the following code at the bottom of your LocalSettings.php file:
wfLoadExtension( 'Babel' );
- Run the update script which will automatically create the necessary database tables that this extension needs.
- Configure as required.
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
- The CSS is located in the file
resources/ext.babel.css
. You can change the style as desired by overriding them in the pageMediaWiki:Common.css
. - 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.
Usànzia
Syntax for the #babel
parser function is as follows:
{{#babel: babelcode1 | babelcode2 | ... }}
Aggiungi unu di li sighenti còdizi pai dugna linga chi fabeddi o cumprindi, siparaddu pai |
, undi xx
è lu còdizi di linga sigundu MediaWiki, ISO 639-1 o ISO 639-3. L'usu general of each code level is as follows:
xx-0
- Si tu nò cumprindi pa nudda la linga.
xx-1
- Abiridai basiri - abbasthàntzia pà cumprindí materiari ischrittu o prigonti fàtziri in chista linga.
xx-2
- Abiridai mèdia - abbasthàntzia pà mudifiggà o dischussioni.
xx-3
- Libellu abanzaddu - tu poi ischribì be in chista linga, ma calchi ibàgliu minori podarìa occurrì.
xx-4
- Libellu "guasi di linga materna" - nò è la linga di la mamma tóia, parò la tó abiridai è guasi cumenti la cari di un fabeddadori di linga materna.
xx-5
- Abiridai prufissionari.
xx
orxx-N
- Tu fabedda la linga dugna dì e cumenti linga di la mamma.
To include any other template, add the name of the template, e.g., add User CSS
if you want to include Template:User CSS
. A prefix or suffix may be added to template names (e.g., User
at the beginning) depending on the local configuration. This can be used to restrict the selection and reduce the length of parameters; for example, CSS
could include Template:User CSS
if configured in such a way.
Parameters
To remove the header and footer, use plain=1
as the first parameter, e.g., {{#babel: plain=1 | babelcode1 | babelcode2 | ... }}
.
This makes it easier to use Babel with other userboxes.
To hide categories, use the nocat=1
parameter as the first parameter, e.g., {{#babel: nocat=1 | babelcode1 | babelcode2 | ... }}
.
Please note that only one of the parameters above is allowed.
At the moment, it is not possible to use both parameters; for example, {{#babel: nocat=1 | plain=1 | babelcode1 | babelcode2 | ... }}
will not work.
Categorization
If categorization is enabled, the extension creates categories using the Babel AutoCreate bot with the text specified in MediaWiki:babel-autocreate-text-levels and MediaWiki:babel-autocreate-text-main. With basic settings, the categories that the bot creates are not categorized, and to fix this, it is recommended to do the following:
- Create a template {{Babel category }} that will generate categories.
- Replacing text on MediaWiki:babel-autocreate-text-levels with
{{Babel category|level=$1|language=$2|ISO=$3}}
- Replacing text on MediaWiki:babel-autocreate-text-main with
{{Babel category|language=$1|ISO=$2}}
This will allow you to categorize categories automatically, and if something happens, you can simultaneously replace the categorization and text in all categories.
Configuration
Configuration parameters
Babel has several configuration parameters which can be modified in LocalSettings.php
.
$wgBabelLanguageCodesCdb
- (string) the path of the language code database file, the default should suffice.
$wgBabelLanguageNamesCdb
- (string) the path of the language name database file, the default should suffice.
$wgBabelCategoryNames
- (array of string or boolean, indexed by the strings "1", "2", … "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.
Pà esémpiu:
$wgBabelCategoryNames = [
'0' => 'User %code%-0',
'1' => 'User %code%-1',
'2' => 'User %code%-2',
'3' => 'User %code%-3',
'4' => 'User %code%-4',
'5' => 'User %code%-5',
'N' => 'User %code%-N',
];
- will use categories like "Category:User en-0" and "Category:User fr-N". The default is just "Category:Fr-N" and so on.
$wgBabelMainCategory
- (string) Name of the main (non-level) category for each language to which all users of that language are added. Set to false to disable; defaults to format "Category:Fr". It accepts the same format as
$wgBabelCategoryNames
above. Example:$wgBabelMainCategory = 'User %code%';
$wgBabelDefaultLevel
- (string) Default ability level to use when none is specified, should be an index from
$wgBabelCategoryNames
, that is one of the strings "1", "2", … "5", "N". Default is "N". $wgBabelUseUserLanguage
- (boolean) Whether to use the user interface language for the header and footer message. If false (default), it will be in the page content language. This is because using the user interface language may fragment the parser cache.
$wgBabelCategorizeNamespaces
- Array of namespaces to only add automatic categorization to. For example, if
$wgBabelCategorizeNamespaces = [ NS_USER ];
, then Babel will only add categories to pages in the user namespace. The default is null, which means categorizing all namespaces. $wgBabelCategoryOverride
- Whether to allow Babel categories to be overridden on the wiki using MediaWiki:Babel-category-override
$wgBabelAutoCreate
- Whether to auto-create categories.
Imbasciaddi di sisthema
Several customizations can also be made using MediaWiki namespace messages.
- MediaWiki:babel-template "
Template:Utente $1
" - The format of template names when one is being included.
- MediaWiki:babel-portal "
"
- The format of the link's target from the language code. Set to the empty string to not link the language code.
- MediaWiki:Babel-autocreate-user "
Babel AutoCreate
" - Username to be used for auto-creation of Babel related categories
- MediaWiki:babel-autocreate-text-levels "
Utenti in chistha categuria hani cunnisciènzia di lu libellu $1 i' la linga $2.
" - Text to insert into auto-created categories for different language levels. You have to change this if you want them to be auto-categorized in the main category of the respective language (
$wgBabelMainCategory
). - MediaWiki:babel-autocreate-text-main "
Utenti in chistha categuria hani cunnisciènzia di la linga $1.
" - Text to insert into auto-created categories for non-level categories. You have to change this if you want them to be auto-categorized in a parent category for all languages.
- MediaWiki:babel "
Infuimmazioni babel di l'utenti
" - The header of the babel box. Set to
-
to not display a header. - MediaWiki:babel-url "
Project:Babel
" - The page name where information on the babel extension can be found. Set to
-
to display no link in the header. - MediaWiki:Babel-footer "
Utenti pa linga
" - The footer of the babel box. Set to
-
to not display a footer. - MediaWiki:babel-footer-url "
:Category:Babel - Utenti pa linga
" - The page to link to in the footer of the babel box
- MediaWiki:Babel-category-override "
$1
" - Overrides any automatically-generated Babel categories. Parameters:
$1 = the category that would be generated normally.
$2 = the language code
$3 = the babel level.
Any categories overridden using this method will not be auto-created to reduce the risk of vandalism or mistaken edits to that page.
API
meta=babel (bab)
- This module requires read rights.
- Source: Babel
- License: GPL-2.0-or-later
Get information about what languages the user knows
- babuser
User to get information about
- This parameter is required.
- Type: user, by any of username, IP, Temporary user, IP range and interwiki name (e.g. "prefix>ExampleName")
- Get the Babel information for user Example
- api.php?action=query&meta=babel&babuser=Example [open in sandbox]
This extension is being used on one or more Wikimedia projects. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's CommonSettings.php and InitialiseSettings.php configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's Special:Version page. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |