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

Polyglot is EXPERIMENTAL

The Polyglot extension provides automatic redirects based on user language.
This allows for multilingual content to be handeled more easily on a 
single wiki. Polyglot also changes the interlanguage links in the sidebar
to automatically show available localized version of each page.

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

Automatic redirects are performed based on a naming scheme: when visiting
the page Foo with the user language set to de (German), Polyglot would
redirect the user to Foo/de, if it exists. This automatic redirection can 
be bypassed by visiting Foo/, which will always show Foo proper. The base
page (Foo in this example) is considered to be associated with the wiki's
content language ($wgLanguageCode in LocalSettings.php).

Note that Polyglot can not readily be used to localized templates. Instead,
use the Multilang extension for template messages.

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

<http://mediawiki.org/wiki/Extension:Polyglot>

== Installing ==

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

  require_once( "$IP/extensions/Polyglot/Polyglot.php" );

== Configuration ==

You can specify the following settings in your LocalSettings.php (after
including the extension file):

* $wgPolyglotLanguages: Languages to be considered when looking for 
  matching subpages (localized versions). If set th NULL (the default),
  all languages known to MediaWiki (by $wgLanguageNames) are considered.
  If the LanguageSelector extension is installed and
  $wgLanguageSelectorLanguages is set, that value will be used as a fallback.
  Setting $wgPolyglotLanguages to a shorter list may speed things up,
  especially on large wikis.

* $wfPolyglotExcemptNamespaces: namespaces that should not have magic
  redirection applied by Polyglot. Per default, this includes the 
  Category, Image, Template, MediaWiki, Media, and Special namespaces.
  There should be no reason to remove any of those, but you can add more
  namespaces to be left alone.

* $wfPolyglotExcemptTalkPages: wether talk pages should be imune to magic
  redirection by Polyglot. true per default.

* $wfPolyglotFollowRedirects: wether Polyglot should follow redirects it find
  as the target of a magic redirect. This is false per default; setting it to
  true causes an additional database lookup on every magic redirect, but it 
  allows for locaized page titles. For example, Main_Page/de could redirect to 
  Hauptseite, so people with the user language set to "de" (German) would end 
  up on a page called "Hauptseite" instead of the clunky "Main_Page/de".
  NOTE: currently, the magic interlanguage links don't take into consideration
  this type of redirect.

== Todo ==
* allowing users to define page localization links manually, using the standard
  interlanguage link syntax and mechanism. Which links are treated as
  interlanguage links is determiend by the interwiki table. An additional hook
  in Title.php would be needed to solved that. Or dummy entries in the
  interwiki table.

* When following redirects ( base -> local -> target ), make the "redirected
  from" bit show both, the base and the refering page. Would require a skin
  hack.

* When following redirects, look at the redirecting pages subpages and
  siblings, and merge the result with the target page's language links.
