Extension:LanguageSelector
This extension is currently not actively maintained! Although it may still work, any bug reports or feature requests will more than likely be ignored. If you are interested in taking on the task of developing and maintaining this extension, you can request repository ownership. As a courtesy, you may want to contact the author. You should also remove this template and list yourself as maintaining the extension in the page's {{Extension }} infobox. |
LanguageSelector Release status: unmaintained |
|
---|---|
Implementation | MyWiki , Tag , Locale |
Description | Provides a language selector on every page, also for visitors; automatic detection of visitor's language |
Author(s) | |
Latest version | 1.0.0 |
MediaWiki | 1.35+ |
Database changes | No |
License | GNU General Public License 2.0 or later |
Download | README |
Example | translatewiki.net |
|
|
Quarterly downloads | 15 (Ranked 122nd) |
Translate the LanguageSelector extension if it is available at translatewiki.net | |
Issues | Open tasks · Report a bug |
The LanguageSelector extension detects the interface language to use for anonymous visitors and provides a menu for selecting the user language on each page for logged-in users and anonymous visitors. It also provides an additional tag, <languageselector>, for embedding the selector into wiki pages and system messages.
Language detection is based on the Accept-Language header sent by the browser as part of the HTTP request. Users can also set their preferred language explicitly—this is handled by a separate cookie for anonymous visitors and in the user preferences for logged-in users.
For more comprehensive support for multilingual content, LanguageSelector can be combined with the Polyglot extension.
Installing
[edit]- Download and move the extracted
LanguageSelector
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/LanguageSelector - Add the following code at the bottom of your LocalSettings.php file:
wfLoadExtension( 'LanguageSelector' );
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Configuration
[edit]You can specify the following settings in your LocalSettings.php (after including the extension file):
- $wgLanguageSelectorLanguages
- Languages to be offered to the user for selection. If set to NULL (the default), all languages known to MediaWiki (by $wgExtraLanguageNames ) are considered. If the Polyglot extension is installed and $wgPolyglotLanguages is set, that value will be used as a fallback. Setting $wgLanguageSelectorLanguages to a shorter list may be more convenient for users than selecting from a list with more than a hundred mostly useless entries. This variable must be an array so that you can declare it like this:
$wgLanguageSelectorLanguages = [ 'en', 'es', 'pt' ];
The codes "en", "es" and "pt" stand for English, Spanish and Portuguese respectively.
- $wgLanguageSelectorShowCode (since rev:55711)
- whether to show language codes before the native language name. Default is false;
- $wgLanguageSelectorDetectLanguage
- Language detection mode for anonymous visitors. Possible values:
LANGUAGE_SELECTOR_USE_CONTENT_LANG
: do not use detection; always use the wiki's content language (this is MediaWiki's normal behavior).LANGUAGE_SELECTOR_PREFER_CONTENT_LANG
: use the wiki's content language setting if the client accepts.LANGUAGE_SELECTOR_PREFER_CLIENT_LANG
: use the client's preferred language if it is in $wgLanguageSelectorLanguages.
- $wgLanguageSelectorLocation
- where to inject the language selector widget. Note that you will probably have to adjust your CSS styles to adopt the language selector to your wiki's style. Possible values of $wgLanguageSelectorLocation:
LANGUAGE_SELECTOR_MANUAL
: do not show language selector. This can be useful if you only want to use the auto-detection feature, or only want the selector on a few pages, or if you want to place it manually by putting it into an appropriate system message.LANGUAGE_SELECTOR_AT_TOP_OF_TEXT
: inject a dropdown box at the top of page content. This is the default, but it looks ugly without extra CSS rules.LANGUAGE_SELECTOR_IN_TOOLBOX
: inject a dropdown box at the bottom of the toolbox in the sidebar. This only works with the MonoBook skin or skins that explicitly support the MonoBookTemplateToolboxEnd hook.LANGUAGE_SELECTOR_AS_PORTLET
: inject the language selector as a portlet in the sidebar, similar to how interlanguage links are shown. It works with MonoBook skin and may also work with some SkinTemplate-based skins.LANGUAGE_SELECTOR_INTO_SITENOTICE
: inject a dropdown box at the end of the site notice text. Ugly without additional CSS rules applied. It works with MonoBook skin and may also work with some SkinTemplate-based skins.LANGUAGE_SELECTOR_INTO_TITLE
: inject a dropdown box at the end of the page title. Ugly without additional CSS rules applied. It works with MonoBook skin and may also work with some SkinTemplate-based skins.LANGUAGE_SELECTOR_INTO_SUBTITLE
: inject a dropdown box at the end of the subtitle. Ugly without additional CSS rules applied. It works with MonoBook skin and may also work with some SkinTemplate-based skins.LANGUAGE_SELECTOR_INTO_CATLINKS
: inject a dropdown box at the end of the category box. Ugly without additional CSS rules applied. It works with MonoBook skin and may also work with some SkinTemplate-based skins.
- Example
$wgLanguageSelectorDetectLanguage = LANGUAGE_SELECTOR_USE_CONTENT_LANG;
$wgLanguageSelectorLocation = LANGUAGE_SELECTOR_IN_TOOLBOX;
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. |
- Unmaintained extensions
- Personalization extensions
- Tag extensions
- Internationalization extensions
- GPL licensed extensions
- Extensions in Wikimedia version control
- BeforePageDisplay extensions
- GetCacheVaryCookies extensions
- LocalUserCreated extensions
- ParserFirstCallInit extensions
- SkinAfterPortlet extensions
- SkinTemplateOutputPageBeforeExec extensions
- UserGetLanguageObject extensions
- All extensions
- Extensions included in Miraheze
- Extensions included in WikiForge