Code Monkey home page Code Monkey logo

mediawiki-extensions-languageselector's Introduction

--------------------------------------------------------------------------
README for the LanguageSelector extension
Copyright © 2007 Daniel Kinzler
Licenses: GNU General Public License (GPL)
          GNU Free Documentation License (GFDL)
--------------------------------------------------------------------------

LanguageSelector is EXPERIMENTAL

The LanguageSelector extension provides detection of the language to use for
anonymous visitors, and a menu for selecting the user language on each page,
for logged in users as well as 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.

NOTE: language detection and cookie-based language preferences for anonymous
users will currently not work with page caching (MediaWiki filecache, reverse
HTTP proxies like squid, etc). It may degrade cache performance and make it
useless, and it may lead to people seeing the page in a random language.
Mediawiki's internal caches (parser, link, query, etc) are not effectd.

For more comprehensive support for multilingual content, LanguageSelector can
be combined with the MultiLang and Polyglot extensions.

The LanguageSelector extension was originally written by Daniel Kinzler in 2007
and is released under the GNU General Public License (GPL).

<https://www.mediawiki.org/wiki/Extension:LanguageSelector>

== Installing ==

Copy the LanguageSelector directory into the extensions folder of your
MediaWiki installation. Then add the following line to your
LocalSettings.php file (near the end):

  wfLoadExtension( 'LanguageSelector' );

== Configuration ==

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 $wgLanguageNames) 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.

* $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 accepted by the client.
** 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
   usefull 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 quite ugly without extra CSS
   rules applied.
** LANGUAGE_SELECTOR_IN_TOOLBOX: inject a dropdown box at the bottom of the
   toolbox in the sidebar. This doesn't work in all skins, mostly in skin
   MonoBook, or skins explicitly supporting the SkinTemplateToolboxEnd hook.
** LANGUAGE_SELECTOR_AS_PORTLET: inject the language selector as a portlet
   in the sidebar, similar to how interlanguage-links are shown.
   Works with MonoBook skin, may also work with some SkinTemplate-based skins.
** LANGUAGE_SELECTOR_INTO_SITENOTICE: inject a dropdown box at the end of
   the sitenotice text. Ugly without additional CSS rules applied.
   Works with MonoBook skin, 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.
   Works with MonoBook skin, 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.
   Works with MonoBook skin, 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.
   Works with MonoBook skin, may also work with some SkinTemplate-based skins.

mediawiki-extensions-languageselector's People

Contributors

arumi-s avatar bawolff avatar cscott avatar dannys712 avatar didicodes avatar hashar avatar kghbln avatar kizule avatar ladsgroup avatar paladox avatar reedy avatar siebrand avatar translatewiki avatar umherirrender avatar universal-omega avatar vladsnf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.